diff --git a/CHANGELOG.long.md b/CHANGELOG.long.md index 46e5f2ab..cd72a703 100644 --- a/CHANGELOG.long.md +++ b/CHANGELOG.long.md @@ -2,7 +2,7 @@ All notable changes to this project will be documented in this file. -937 merges; 124 releases +939 merges; 124 releases @@ -18,6 +18,36 @@ Published tags: +  + +  + +## [Untagged] - 7/1/2022 4:56:32 PM + +Commit [99847f8ef8c60b521c6d3e979bcf07dd60125a56](https://github.com/StoneCypher/jssm/commit/99847f8ef8c60b521c6d3e979bcf07dd60125a56) + +Author: `John Haugeland ` + + * Post global action hook, fixes StoneCypher/fsl#905; post any action hook, fixes StoneCypher/fsl#906 + + + + +  + +  + +## [Untagged] - 7/1/2022 4:03:56 PM + +Commit [e5bfa2acf8edefe9322bd17540307ffb1f9eeb4d](https://github.com/StoneCypher/jssm/commit/e5bfa2acf8edefe9322bd17540307ffb1f9eeb4d) + +Author: `John Haugeland ` + + * Adds call points in set_hook for basic post-hooks, fixes #958 + + + +     diff --git a/CHANGELOG.md b/CHANGELOG.md index 0071ddba..905164f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ All notable changes to this project will be documented in this file. -937 merges; 124 releases; Changlogging the last 10 commits; Full changelog at [CHANGELOG.long.md](CHANGELOG.long.md) +939 merges; 124 releases; Changlogging the last 10 commits; Full changelog at [CHANGELOG.long.md](CHANGELOG.long.md) @@ -18,6 +18,36 @@ Published tags: +  + +  + +## [Untagged] - 7/1/2022 4:56:32 PM + +Commit [99847f8ef8c60b521c6d3e979bcf07dd60125a56](https://github.com/StoneCypher/jssm/commit/99847f8ef8c60b521c6d3e979bcf07dd60125a56) + +Author: `John Haugeland ` + + * Post global action hook, fixes StoneCypher/fsl#905; post any action hook, fixes StoneCypher/fsl#906 + + + + +  + +  + +## [Untagged] - 7/1/2022 4:03:56 PM + +Commit [e5bfa2acf8edefe9322bd17540307ffb1f9eeb4d](https://github.com/StoneCypher/jssm/commit/e5bfa2acf8edefe9322bd17540307ffb1f9eeb4d) + +Author: `John Haugeland ` + + * Adds call points in set_hook for basic post-hooks, fixes #958 + + + +     @@ -150,34 +180,4 @@ Commit [8762d17bd69cdf48f522dbd6ee188f46e29a0c06](https://github.com/StoneCypher Author: `John Haugeland ` - * Hooks can change data, fixes StoneCypher/fsl#932 - - - - -  - -  - -## [Untagged] - 6/25/2022 7:15:46 AM - -Commit [fb82aff27a911a29304c8b7c211e48c1b6ac454e](https://github.com/StoneCypher/jssm/commit/fb82aff27a911a29304c8b7c211e48c1b6ac454e) - -Author: `John Haugeland ` - - * prepping to test main and forced - - - - -  - -  - -## [Untagged] - 6/25/2022 7:05:36 AM - -Commit [3ffc6c2a0b76d1a4870cd80a0f94d745e1c976c9](https://github.com/StoneCypher/jssm/commit/3ffc6c2a0b76d1a4870cd80a0f94d745e1c976c9) - -Author: `John Haugeland ` - - * everything now tested but standard and main \ No newline at end of file + * Hooks can change data, fixes StoneCypher/fsl#932 \ No newline at end of file diff --git a/README.md b/README.md index 956c8ade..c7713d27 100644 --- a/README.md +++ b/README.md @@ -18,14 +18,14 @@ Please edit the file it's derived from, instead: `./src/md/readme_base.md` -* Generated for version 5.74.0 at 7/1/2022, 3:59:15 PM +* Generated for version 5.74.0 at 7/2/2022, 10:57:07 AM --> # jssm Easy. Small. Fast. TS, es6, es5. Node, Browser. 100% coverage. Property tests. Fuzz tests. Language tests for a dozen languages and emoji. Easy to -share online. Easy to embed. ***4,617 tests***. +share online. Easy to embed. ***4,634 tests***. Readable, useful state machines as one-liner strings. diff --git a/dist/es6/jssm.js b/dist/es6/jssm.js index 35f407e4..b02cc903 100644 --- a/dist/es6/jssm.js +++ b/dist/es6/jssm.js @@ -581,7 +581,6 @@ class Machine { this._main_transition_hook = undefined; this._forced_transition_hook = undefined; this._any_transition_hook = undefined; - this._standard_transition_hook = undefined; this._has_post_hooks = false; this._has_post_basic_hooks = false; this._has_post_named_hooks = false; @@ -600,7 +599,6 @@ class Machine { this._post_main_transition_hook = undefined; this._post_forced_transition_hook = undefined; this._post_any_transition_hook = undefined; - this._post_standard_transition_hook = undefined; this._data = data; this._history_length = history || 0; this._history = new circular_buffer(this._history_length); @@ -1274,12 +1272,12 @@ class Machine { case 'post hook': this._post_hooks.set(hook_name(HookDesc.from, HookDesc.to), HookDesc.handler); this._has_post_hooks = true; - this._has_basic_hooks = true; + this._has_post_basic_hooks = true; break; case 'post named': this._post_named_hooks.set(named_hook_name(HookDesc.from, HookDesc.to, HookDesc.action), HookDesc.handler); this._has_post_hooks = true; - this._has_named_hooks = true; + this._has_post_named_hooks = true; break; case 'post global action': this._post_global_action_hooks.set(HookDesc.action, HookDesc.handler); @@ -1291,16 +1289,19 @@ class Machine { this._has_post_hooks = true; break; case 'post standard transition': + console.log(`l1a ${JSON.stringify(HookDesc)}`); this._post_standard_transition_hook = HookDesc.handler; this._has_post_transition_hooks = true; this._has_post_hooks = true; break; case 'post main transition': + console.log(`l1b ${JSON.stringify(HookDesc)}`); this._post_main_transition_hook = HookDesc.handler; this._has_post_transition_hooks = true; this._has_post_hooks = true; break; case 'post forced transition': + console.log(`l1c ${JSON.stringify(HookDesc)}`); this._post_forced_transition_hook = HookDesc.handler; this._has_post_transition_hooks = true; this._has_post_hooks = true; @@ -1443,7 +1444,8 @@ class Machine { action: fromAction, from: this._state, to: newState, - forced: wasForced + forced: wasForced, + trans_type }; if (valid) { if (this._has_hooks) { @@ -1568,11 +1570,70 @@ class Machine { this._post_any_action_hook(hook_args); } // 2. global specific action hook - const pgah = this._post_global_action_hooks.get(newStateOrAction); + const pgah = this._post_global_action_hooks.get(hook_args.action); if (pgah !== undefined) { pgah(hook_args); } } + // 3. any transition hook + if (this._post_any_transition_hook !== undefined) { + this._post_any_transition_hook(hook_args); + } + // 4. exit hook + if (this._has_post_exit_hooks) { + const peh = this._post_exit_hooks.get(hook_args.from); // todo this is probably from instead + if (peh !== undefined) { + peh(hook_args); + } + } + // 5. named transition / action hook + if (this._has_post_named_hooks) { + if (wasAction) { + const nhn = named_hook_name(hook_args.from, hook_args.to, hook_args.action), pnh = this._post_named_hooks.get(nhn); + if (pnh !== undefined) { + pnh(hook_args); + } + } + } + // 6. regular hook + if (this._has_post_basic_hooks) { + const hook = this._post_hooks.get(hook_name(hook_args.from, hook_args.to)); + if (hook !== undefined) { + hook(hook_args); + } + } + // 7. edge type hook + // 7a. standard transition hook + if (trans_type === 'legal') { + console.log(`l2a ${JSON.stringify(hook_args)}`); + if (this._post_standard_transition_hook !== undefined) { + console.log(`l3a ${JSON.stringify(hook_args)} ${JSON.stringify(this._post_standard_transition_hook)}`); + this._post_standard_transition_hook(hook_args); + } + } + // 7b. main type hook + if (trans_type === 'main') { + console.log(`l2b ${JSON.stringify(hook_args)}`); + if (this._post_main_transition_hook !== undefined) { + console.log(`l3b ${JSON.stringify(hook_args)} ${JSON.stringify(this._post_main_transition_hook)}`); + this._post_main_transition_hook(hook_args); + } + } + // 7c. forced transition hook + if (trans_type === 'forced') { + console.log(`l2c ${JSON.stringify(hook_args)}`); + if (this._post_forced_transition_hook !== undefined) { + console.log(`l3c ${JSON.stringify(hook_args)} ${JSON.stringify(this._post_forced_transition_hook)}`); + this._post_forced_transition_hook(hook_args); + } + } + // 8. entry hook + if (this._has_post_entry_hooks) { + const hook = this._post_entry_hooks.get(hook_args.to); + if (hook !== undefined) { + hook(hook_args); + } + } } return true; } diff --git a/dist/jssm.es5.cjs.js b/dist/jssm.es5.cjs.js index 50d68390..ed78ea27 100644 --- a/dist/jssm.es5.cjs.js +++ b/dist/jssm.es5.cjs.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:true});var reductions={abkhazian:"ab","аҧсуа бызшәа, аҧсшәа":"ab",ab:"ab",abk:"ab","аҧсуа бызшәа":"ab","аҧсшәа":"ab",afar:"aa",afaraf:"aa",aa:"aa",aar:"aa",afrikaans:"af",af:"af",afr:"af",akan:"ak",ak:"ak",aka:"ak","aka + 2":"ak",albanian:"sq",shqip:"sq",sq:"sq",sqi:"sq",alb:"sq","sqi + 4":"sq",amharic:"am","አማርኛ":"am",am:"am",amh:"am",arabic:"ar","العربية":"ar",ar:"ar",ara:"ar","ara + 30":"ar",aragonese:"an","aragonés":"an",an:"an",arg:"an",armenian:"hy","հայերեն":"hy",hy:"hy",hye:"hy",arm:"hy",assamese:"as","অসমীয়া":"as",as:"as",asm:"as",avaric:"av","авар мацӏ, магӏарул мацӏ":"av",av:"av",ava:"av","авар мацӏ":"av","магӏарул мацӏ":"av",avestan:"ae",avesta:"ae",ae:"ae",ave:"ae",aymara:"ay","aymar aru":"ay",ay:"ay",aym:"ay","aym + 2":"ay",azerbaijani:"az","azərbaycan dili":"az",az:"az",aze:"az","aze + 2":"az",bambara:"bm",bamanankan:"bm",bm:"bm",bam:"bm",bashkir:"ba","башҡорт теле":"ba",ba:"ba",bak:"ba",basque:"eu","euskara, euskera":"eu",eu:"eu",eus:"eu",baq:"eu",euskara:"eu",euskera:"eu",belarusian:"be","беларуская мова":"be",be:"be",bel:"be",bengali:"bn","বাংলা":"bn",bn:"bn",ben:"bn","bihari languages":"bh","भोजपुरी":"bh",bh:"bh",bih:"bh",bislama:"bi",bi:"bi",bis:"bi",bosnian:"bs","bosanski jezik":"bs",bs:"bs",bos:"bs",breton:"br",brezhoneg:"br",br:"br",bre:"br",bulgarian:"bg","български език":"bg",bg:"bg",bul:"bg",burmese:"my","ဗမာစာ":"my",my:"my",mya:"my",bur:"my","catalan, valencian":"ca","català, valencià":"ca",ca:"ca",cat:"ca","català":"ca","valencià":"ca",chamorro:"ch",chamoru:"ch",ch:"ch",cha:"ch",chechen:"ce","нохчийн мотт":"ce",ce:"ce",che:"ce","chichewa, chewa, nyanja":"ny","chicheŵa, chinyanja":"ny",ny:"ny",nya:"ny","chicheŵa":"ny",chinyanja:"ny",chinese:"zh","中文 (zhōngwén), 汉语, 漢語":"zh",zh:"zh",zho:"zh",chi:"zh","zho + 13":"zh","中文 (zhōngwén)":"zh","汉语":"zh","漢語":"zh",chuvash:"cv","чӑваш чӗлхи":"cv",cv:"cv",chv:"cv",cornish:"kw",kernewek:"kw",kw:"kw",cor:"kw",corsican:"co","corsu, lingua corsa":"co",co:"co",cos:"co",corsu:"co","lingua corsa":"co",cree:"cr","ᓀᐦᐃᔭᐍᐏᐣ":"cr",cr:"cr",cre:"cr","cre + 6":"cr",croatian:"hr","hrvatski jezik":"hr",hr:"hr",hrv:"hr",czech:"cs","čeština, český jazyk":"cs",cs:"cs",ces:"cs",cze:"cs","čeština":"cs","český jazyk":"cs",danish:"da",dansk:"da",da:"da",dan:"da","divehi, dhivehi, maldivian":"dv","ދިވެހި":"dv",dv:"dv",div:"dv","dutch, flemish":"nl","nederlands, vlaams":"nl",nl:"nl",nld:"nl",dut:"nl",nederlands:"nl",vlaams:"nl",dzongkha:"dz","རྫོང་ཁ":"dz",dz:"dz",dzo:"dz",english:"en",en:"en",eng:"en",esperanto:"eo",eo:"eo",epo:"eo",estonian:"et","eesti, eesti keel":"et",et:"et",est:"et","est + 2":"et",eesti:"et","eesti keel":"et",ewe:"ee","eʋegbe":"ee",ee:"ee",faroese:"fo","føroyskt":"fo",fo:"fo",fao:"fo",fijian:"fj","vosa vakaviti":"fj",fj:"fj",fij:"fj",finnish:"fi","suomi, suomen kieli":"fi",fi:"fi",fin:"fi",suomi:"fi","suomen kieli":"fi",french:"fr","français, langue française":"fr",fr:"fr",fra:"fr",fre:"fr","français":"fr","langue française":"fr",fulah:"ff","fulfulde, pulaar, pular":"ff",ff:"ff",ful:"ff","ful + 9":"ff",fulfulde:"ff",pulaar:"ff",pular:"ff",galician:"gl",galego:"gl",gl:"gl",glg:"gl",georgian:"ka","ქართული":"ka",ka:"ka",kat:"ka",geo:"ka",german:"de",deutsch:"de",de:"de",deu:"de",ger:"de","greek (modern)":"el","ελληνικά":"el",el:"el",ell:"el",gre:"el","guaraní":"gn","avañe'ẽ":"gn",gn:"gn",grn:"gn","grn + 5":"gn",gujarati:"gu","ગુજરાતી":"gu",gu:"gu",guj:"gu","haitian, haitian creole":"ht","kreyòl ayisyen":"ht",ht:"ht",hat:"ht",hausa:"ha","(hausa) هَوُسَ":"ha",ha:"ha",hau:"ha","hebrew (modern)":"he","עברית":"he",he:"he",heb:"he",herero:"hz",otjiherero:"hz",hz:"hz",her:"hz",hindi:"hi","हिन्दी, हिंदी":"hi",hi:"hi",hin:"hi","हिन्दी":"hi","हिंदी":"hi","hiri motu":"ho",ho:"ho",hmo:"ho",hungarian:"hu",magyar:"hu",hu:"hu",hun:"hu",interlingua:"ia",ia:"ia",ina:"ia",indonesian:"id","bahasa indonesia":"id",id:"id",ind:"id",interlingue:"ie","originally called occidental; then interlingue after wwii":"ie",ie:"ie",ile:"ie",irish:"ga",gaeilge:"ga",ga:"ga",gle:"ga",igbo:"ig","asụsụ igbo":"ig",ig:"ig",ibo:"ig",inupiaq:"ik","iñupiaq, iñupiatun":"ik",ik:"ik",ipk:"ik","ipk + 2":"ik","iñupiaq":"ik","iñupiatun":"ik",ido:"io",io:"io",icelandic:"is","íslenska":"is",is:"is",isl:"is",ice:"is",italian:"it",italiano:"it",it:"it",ita:"it",inuktitut:"iu","ᐃᓄᒃᑎᑐᑦ":"iu",iu:"iu",iku:"iu","iku + 2":"iu",japanese:"ja","日本語 (にほんご)":"ja",ja:"ja",jpn:"ja",javanese:"jv","ꦧꦱꦗꦮ, basa jawa":"jv",jv:"jv",jav:"jv","ꦧꦱꦗꦮ":"jv","basa jawa":"jv","kalaallisut, greenlandic":"kl","kalaallisut, kalaallit oqaasii":"kl",kl:"kl",kal:"kl",kalaallisut:"kl","kalaallit oqaasii":"kl",kannada:"kn","ಕನ್ನಡ":"kn",kn:"kn",kan:"kn",kanuri:"kr",kr:"kr",kau:"kr","kau + 3":"kr",kashmiri:"ks","कश्मीरी, كشميري‎":"ks",ks:"ks",kas:"ks","कश्मीरी":"ks","كشميري‎":"ks",kazakh:"kk","қазақ тілі":"kk",kk:"kk",kaz:"kk","central khmer":"km","ខ្មែរ, ខេមរភាសា, ភាសាខ្មែរ":"km",km:"km",khm:"km","ខ្មែរ":"km","ខេមរភាសា":"km","ភាសាខ្មែរ":"km","kikuyu, gikuyu":"ki","gĩkũyũ":"ki",ki:"ki",kik:"ki",kinyarwanda:"rw",ikinyarwanda:"rw",rw:"rw",kin:"rw","kirghiz, kyrgyz":"ky","кыргызча, кыргыз тили":"ky",ky:"ky",kir:"ky","кыргызча":"ky","кыргыз тили":"ky",komi:"kv","коми кыв":"kv",kv:"kv",kom:"kv","kom + 2":"kv",kongo:"kg",kikongo:"kg",kg:"kg",kon:"kg","kon + 3":"kg",korean:"ko","한국어":"ko",ko:"ko",kor:"ko",kurdish:"ku","kurdî, كوردی‎":"ku",ku:"ku",kur:"ku","kur + 3":"ku","kurdî":"ku","كوردی‎":"ku","kuanyama, kwanyama":"kj",kuanyama:"kj",kj:"kj",kua:"kj",latin:"la","latine, lingua latina":"la",la:"la",lat:"la",latine:"la","lingua latina":"la","luxembourgish, letzeburgesch":"lb","lëtzebuergesch":"lb",lb:"lb",ltz:"lb",ganda:"lg",luganda:"lg",lg:"lg",lug:"lg","limburgan, limburger, limburgish":"li",limburgs:"li",li:"li",lim:"li",lingala:"ln","lingála":"ln",ln:"ln",lin:"ln",lao:"lo","ພາສາລາວ":"lo",lo:"lo",lithuanian:"lt","lietuvių kalba":"lt",lt:"lt",lit:"lt","luba-katanga":"lu",kiluba:"lu",lu:"lu",lub:"lu",latvian:"lv","latviešu valoda":"lv",lv:"lv",lav:"lv","lav + 2":"lv",manx:"gv","gaelg, gailck":"gv",gv:"gv",glv:"gv",gaelg:"gv",gailck:"gv",macedonian:"mk","македонски јазик":"mk",mk:"mk",mkd:"mk",mac:"mk",malagasy:"mg","fiteny malagasy":"mg",mg:"mg",mlg:"mg","mlg + 10":"mg",malay:"ms","bahasa melayu, بهاس ملايو‎":"ms",ms:"ms",msa:"ms",may:"ms","msa + 13":"ms","bahasa melayu":"ms","بهاس ملايو‎":"ms",malayalam:"ml","മലയാളം":"ml",ml:"ml",mal:"ml",maltese:"mt",malti:"mt",mt:"mt",mlt:"mt",maori:"mi","te reo māori":"mi",mi:"mi",mri:"mi",mao:"mi",marathi:"mr","मराठी":"mr",mr:"mr",mar:"mr",marshallese:"mh","kajin m̧ajeļ":"mh",mh:"mh",mah:"mh",mongolian:"mn","монгол хэл":"mn",mn:"mn",mon:"mn","mon + 2":"mn",nauru:"na","dorerin naoero":"na",na:"na",nau:"na","navajo, navaho":"nv","diné bizaad":"nv",nv:"nv",nav:"nv","north ndebele":"nd",isindebele:"nr",nd:"nd",nde:"nd",nepali:"ne","नेपाली":"ne",ne:"ne",nep:"ne",ndonga:"ng",owambo:"ng",ng:"ng",ndo:"ng","norwegian bokmål":"nb","norsk bokmål":"nb",nb:"nb",nob:"nb","norwegian nynorsk":"nn","norsk nynorsk":"nn",nn:"nn",nno:"nn",norwegian:"no",norsk:"no",no:"no",nor:"no","nor + 2":"no","sichuan yi, nuosu":"ii","ꆈꌠ꒿ nuosuhxop":"ii",ii:"ii",iii:"ii","south ndebele":"nr",nr:"nr",nbl:"nr",occitan:"oc","occitan, lenga d'òc":"oc",oc:"oc",oci:"oc","lenga d'òc":"oc",ojibwa:"oj","ᐊᓂᔑᓈᐯᒧᐎᓐ":"oj",oj:"oj",oji:"oj","oji + 7":"oj","church slavic, church slavonic, old church slavonic, old slavonic, old bulgarian":"cu","ѩзыкъ словѣньскъ":"cu",cu:"cu",chu:"cu",oromo:"om","afaan oromoo":"om",om:"om",orm:"om","orm + 4":"om",oriya:"or","ଓଡ଼ିଆ":"or",or:"or",ori:"or","ossetian, ossetic":"os","ирон æвзаг":"os",os:"os",oss:"os","panjabi, punjabi":"pa","ਪੰਜਾਬੀ":"pa",pa:"pa",pan:"pa",pali:"pi","पाऴि":"pi",pi:"pi",pli:"pi",persian:"fa","فارسی":"fa",fa:"fa",fas:"fa",per:"fa","fas + 2":"fa",polish:"pl","język polski, polszczyzna":"pl",pl:"pl",pol:"pl","język polski":"pl",polszczyzna:"pl","pashto, pushto":"ps","پښتو":"ps",ps:"ps",pus:"ps","pus + 3":"ps",portuguese:"pt","português":"pt",pt:"pt",por:"pt",quechua:"qu","runa simi, kichwa":"qu",qu:"qu",que:"qu","que + 44":"qu","runa simi":"qu",kichwa:"qu",romansh:"rm","rumantsch grischun":"rm",rm:"rm",roh:"rm",rundi:"rn",ikirundi:"rn",rn:"rn",run:"rn","romanian, moldavian, moldovan":"ro","română":"ro",ro:"ro",ron:"ro",rum:"ro",russian:"ru","русский":"ru",ru:"ru",rus:"ru",sanskrit:"sa","संस्कृतम्":"sa",sa:"sa",san:"sa",sardinian:"sc",sardu:"sc",sc:"sc",srd:"sc","srd + 4":"sc",sindhi:"sd","सिन्धी, سنڌي، سندھی‎":"sd",sd:"sd",snd:"sd","सिन्धी":"sd","سنڌي، سندھی‎":"sd","northern sami":"se","davvisámegiella":"se",se:"se",sme:"se",samoan:"sm","gagana fa'a samoa":"sm",sm:"sm",smo:"sm",sango:"sg","yângâ tî sängö":"sg",sg:"sg",sag:"sg",serbian:"sr","српски језик":"sr",sr:"sr",srp:"sr","gaelic, scottish gaelic":"gd","gàidhlig":"gd",gd:"gd",gla:"gd",shona:"sn",chishona:"sn",sn:"sn",sna:"sn","sinhala, sinhalese":"si","සිංහල":"si",si:"si",sin:"si",slovak:"sk","slovenčina, slovenský jazyk":"sk",sk:"sk",slk:"sk",slo:"sk","slovenčina":"sk","slovenský jazyk":"sk",slovenian:"sl","slovenski jezik, slovenščina":"sl",sl:"sl",slv:"sl","slovenski jezik":"sl","slovenščina":"sl",somali:"so","soomaaliga, af soomaali":"so",so:"so",som:"so",soomaaliga:"so","af soomaali":"so","southern sotho":"st",sesotho:"st",st:"st",sot:"st","spanish, castilian":"es","español":"es",es:"es",spa:"es",sundanese:"su","basa sunda":"su",su:"su",sun:"su",swahili:"sw",kiswahili:"sw",sw:"sw",swa:"sw","swa + 2":"sw",swati:"ss",siswati:"ss",ss:"ss",ssw:"ss",swedish:"sv",svenska:"sv",sv:"sv",swe:"sv",tamil:"ta","தமிழ்":"ta",ta:"ta",tam:"ta",telugu:"te","తెలుగు":"te",te:"te",tel:"te",tajik:"tg","тоҷикӣ, toçikī, تاجیکی‎":"tg",tg:"tg",tgk:"tg","тоҷикӣ":"tg","toçikī":"tg","تاجیکی‎":"tg",thai:"th","ไทย":"th",th:"th",tha:"th",tigrinya:"ti","ትግርኛ":"ti",ti:"ti",tir:"ti",tibetan:"bo","བོད་ཡིག":"bo",bo:"bo",bod:"bo",tib:"bo",turkmen:"tk","türkmen, түркмен":"tk",tk:"tk",tuk:"tk","türkmen":"tk","түркмен":"tk",tagalog:"tl","wikang tagalog":"tl",tl:"tl",tgl:"tl",tswana:"tn",setswana:"tn",tn:"tn",tsn:"tn","tonga (tonga islands)":"to","faka tonga":"to",to:"to",ton:"to",turkish:"tr","türkçe":"tr",tr:"tr",tur:"tr",tsonga:"ts",xitsonga:"ts",ts:"ts",tso:"ts",tatar:"tt","татар теле, tatar tele":"tt",tt:"tt",tat:"tt","татар теле":"tt","tatar tele":"tt",twi:"tw",tw:"tw",tahitian:"ty","reo tahiti":"ty",ty:"ty",tah:"ty","uighur, uyghur":"ug","ئۇيغۇرچە‎, uyghurche":"ug",ug:"ug",uig:"ug","ئۇيغۇرچە‎":"ug",uyghurche:"ug",ukrainian:"uk","українська":"uk",uk:"uk",ukr:"uk",urdu:"ur","اردو":"ur",ur:"ur",urd:"ur",uzbek:"uz","oʻzbek, ўзбек, أۇزبېك‎":"uz",uz:"uz",uzb:"uz","uzb + 2":"uz","oʻzbek":"uz","ўзбек":"uz","أۇزبېك‎":"uz",venda:"ve","tshivenḓa":"ve",ve:"ve",ven:"ve",vietnamese:"vi","tiếng việt":"vi",vi:"vi",vie:"vi","volapük":"vo",vo:"vo",vol:"vo",walloon:"wa",walon:"wa",wa:"wa",wln:"wa",welsh:"cy",cymraeg:"cy",cy:"cy",cym:"cy",wel:"cy",wolof:"wo",wollof:"wo",wo:"wo",wol:"wo","western frisian":"fy",frysk:"fy",fy:"fy",fry:"fy",xhosa:"xh",isixhosa:"xh",xh:"xh",xho:"xh",yiddish:"yi","ייִדיש":"yi",yi:"yi",yid:"yi","yid + 2":"yi",yoruba:"yo","yorùbá":"yo",yo:"yo",yor:"yo","zhuang, chuang":"za","saɯ cueŋƅ, saw cuengh":"za",za:"za",zha:"za","zha + 16":"za","saɯ cueŋƅ":"za","saw cuengh":"za",zulu:"zu",isizulu:"zu",zu:"zu",zul:"zu"};function reduce(from){return reductions[from.toLowerCase()]}var reduceTo6391={reduce:reduce,reductions:reductions};class circular_buffer{constructor(uCapacity){if(!Number.isInteger(uCapacity)){throw new RangeError(`Capacity must be an integer, received ${uCapacity}`)}if(uCapacity<0){throw new RangeError(`Capacity must be a non-negative integer, received ${uCapacity}`)}this._values=new Array(uCapacity);this._capacity=uCapacity;this._cursor=0;this._offset=0;this._length=0}get capacity(){return this._capacity}set capacity(newSize){this.resize(newSize)}get length(){return this._length}set length(newLength){if(newLength>this._capacity){throw new RangeError(`Requested new length [${newLength}] exceeds container capacity [${this._capacity}]`)}if(newLength<0){throw new RangeError(`Requested new length [${newLength}] cannot be negative`)}if(!Number.isInteger(newLength)){throw new RangeError(`Requested new length [${newLength}] must be an integer`)}if(this._length<=newLength){return}this._length=newLength}get available(){return this._capacity-this._length}get isEmpty(){return this._length===0}get isFull(){return this._length===this._capacity}get first(){if(this.isEmpty){throw new RangeError("Cannot return first element of an empty container")}return this.at(0)}get last(){if(this.isEmpty){throw new RangeError("Cannot return last element of an empty container")}return this.at(this.length-1)}static from(i,map_fn,t){const new_array=map_fn?Array.from(i,map_fn,t):Array.from(i);const target_length=new_array.length;const ncb=new circular_buffer(target_length);ncb._values=new_array;ncb._length=target_length;return ncb}push(v){if(this.isFull){throw new RangeError(`Cannot push, structure is full to capacity`)}this._values[(this._cursor+this._length++)%this._capacity]=v;return v}shove(v){let shoved;if(this._capacity===0){throw new RangeError(`Cannot shove, structure is zero-capacity`)}if(this.isFull){shoved=this.pop()}this.push(v);return shoved}fill(x){for(let i=0;i=this._capacity){this._cursor-=this._capacity}return cache}at(i){if(i<0){throw new RangeError(`circular_buffer does not support negative traversals; called at(${i})`)}if(!Number.isInteger(i)){throw new RangeError(`Accessors must be non-negative integers; called at(${i})`)}if(i>=this._capacity){throw new RangeError(`Requested cell ${i} exceeds container permanent capacity`)}if(i>=this._length){throw new RangeError(`Requested cell ${i} exceeds container current length`)}return this._values[(this._cursor+i)%this._capacity]}pos(i){return this.at(i-this.offset())}offset(){return this._offset}resize(newSize,preferEnd=false){this._values=this.toArray();this._cursor=0;const oldSize=this._length;this._length=Math.min(this._length,newSize);this._capacity=newSize;if(newSize>=oldSize){this._values.length=newSize}else{if(preferEnd){const tmp=this._values.slice(oldSize-newSize);this._values=tmp}else{this._values.length=newSize}}}toArray(){const startPoint=this._cursor%this._capacity;if(this._capacity>startPoint+this._length){return this._values.slice(startPoint,startPoint+this._length)}else{const base=this._values.slice(startPoint,this._capacity);base.push(...this._values.slice(0,this.length-(this._capacity-startPoint)));return base}}}const array_box_if_string=n=>typeof n==="string"?[n]:n;const weighted_rand_select=(options,probability_property="probability")=>{if(!Array.isArray(options)){throw new TypeError("options must be a non-empty array of objects")}if(!(typeof options[0]==="object")){throw new TypeError("options must be a non-empty array of objects")}const frand=cap=>Math.random()*cap,or_one=item=>item===undefined?1:item,prob_sum=options.reduce(((acc,val)=>acc+or_one(val[probability_property])),0),rnd=frand(prob_sum);let cursor=0,cursor_sum=0;while((cursor_sum+=or_one(options[cursor++][probability_property]))<=rnd){}return options[cursor-1]};function seq(n){if(!Number.isInteger(n)){throw new TypeError("seq/1 takes a non-negative integer n as an argument")}if(n<0){throw new TypeError("seq/1 takes a non-negative integer n as an argument")}return new Array(n).fill(true).map(((_,i)=>i))}const histograph=ar=>ar.sort().reduce(((m,v)=>(m.set(v,m.has(v)?m.get(v)+1:1),m)),new Map);const weighted_sample_select=(n,options,probability_property)=>seq(n).map((_i=>weighted_rand_select(options,probability_property)));const weighted_histo_key=(n,opts,prob_prop,extract)=>histograph(weighted_sample_select(n,opts,prob_prop).map((s=>s[extract])));const hook_name=(from,to)=>JSON.stringify([from,to]);const named_hook_name=(from,to,action)=>JSON.stringify([from,to,action]);const gviz_shapes=["box3d","polygon","ellipse","oval","circle","point","egg","triangle","plaintext","plain","diamond","trapezium","parallelogram","house","pentagon","hexagon","septagon","octagon","doublecircle","doubleoctagon","tripleoctagon","invtriangle","invtrapezium","invhouse","Mdiamond","Msquare","Mcircle","rectangle","rect","square","star","none","underline","cylinder","note","tab","folder","box","component","promoter","cds","terminator","utr","primersite","restrictionsite","fivepoverhang","threepoverhang","noverhang","assembly","signature","insulator","ribosite","rnastab","proteasesite","proteinstab","rpromoter","rarrow","larrow","lpromoter","record"];const shapes=gviz_shapes;const named_colors=["AliceBlue","AntiqueWhite","Aqua","Aquamarine","Azure","Beige","Bisque","Black","BlanchedAlmond","Blue","BlueViolet","Brown","BurlyWood","CadetBlue","Chartreuse","Chocolate","Coral","CornflowerBlue","Cornsilk","Crimson","Cyan","DarkBlue","DarkCyan","DarkGoldenRod","DarkGray","DarkGrey","DarkGreen","DarkKhaki","DarkMagenta","DarkOliveGreen","Darkorange","DarkOrchid","DarkRed","DarkSalmon","DarkSeaGreen","DarkSlateBlue","DarkSlateGray","DarkSlateGrey","DarkTurquoise","DarkViolet","DeepPink","DeepSkyBlue","DimGray","DimGrey","DodgerBlue","FireBrick","FloralWhite","ForestGreen","Fuchsia","Gainsboro","GhostWhite","Gold","GoldenRod","Gray","Grey","Green","GreenYellow","HoneyDew","HotPink","IndianRed","Indigo","Ivory","Khaki","Lavender","LavenderBlush","LawnGreen","LemonChiffon","LightBlue","LightCoral","LightCyan","LightGoldenRodYellow","LightGray","LightGrey","LightGreen","LightPink","LightSalmon","LightSeaGreen","LightSkyBlue","LightSlateGray","LightSlateGrey","LightSteelBlue","LightYellow","Lime","LimeGreen","Linen","Magenta","Maroon","MediumAquaMarine","MediumBlue","MediumOrchid","MediumPurple","MediumSeaGreen","MediumSlateBlue","MediumSpringGreen","MediumTurquoise","MediumVioletRed","MidnightBlue","MintCream","MistyRose","Moccasin","NavajoWhite","Navy","OldLace","Olive","OliveDrab","Orange","OrangeRed","Orchid","PaleGoldenRod","PaleGreen","PaleTurquoise","PaleVioletRed","PapayaWhip","PeachPuff","Peru","Pink","Plum","PowderBlue","Purple","Red","RosyBrown","RoyalBlue","SaddleBrown","Salmon","SandyBrown","SeaGreen","SeaShell","Sienna","Silver","SkyBlue","SlateBlue","SlateGray","SlateGrey","Snow","SpringGreen","SteelBlue","Tan","Teal","Thistle","Tomato","Turquoise","Violet","Wheat","White","WhiteSmoke","Yellow","YellowGreen"];function peg$subclass(child,parent){function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor}function peg$SyntaxError(message,expected,found,location){this.message=message;this.expected=expected;this.found=found;this.location=location;this.name="SyntaxError";if(typeof Error.captureStackTrace==="function"){Error.captureStackTrace(this,peg$SyntaxError)}}peg$subclass(peg$SyntaxError,Error);peg$SyntaxError.buildMessage=function(expected,found){var DESCRIBE_EXPECTATION_FNS={literal:function(expectation){return'"'+literalEscape(expectation.text)+'"'},class:function(expectation){var escapedParts="",i;for(i=0;i0){for(i=1,j=1;i"),peg$c128="->",peg$c129=peg$literalExpectation("->",false),peg$c130="→",peg$c131=peg$literalExpectation("→",false),peg$c132=function(){return"->"},peg$c133=peg$otherExpectation("two way light arrow <->"),peg$c134="<->",peg$c135=peg$literalExpectation("<->",false),peg$c136="↔",peg$c137=peg$literalExpectation("↔",false),peg$c138=function(){return"<->"},peg$c139=peg$otherExpectation("back light arrow <-"),peg$c140="<-",peg$c141=peg$literalExpectation("<-",false),peg$c142="←",peg$c143=peg$literalExpectation("←",false),peg$c144=function(){return"<-"},peg$c145=peg$otherExpectation("forward fat arrow =>"),peg$c146="=>",peg$c147=peg$literalExpectation("=>",false),peg$c148="⇒",peg$c149=peg$literalExpectation("⇒",false),peg$c150=function(){return"=>"},peg$c151=peg$otherExpectation("two way fat arrow <=>"),peg$c152="<=>",peg$c153=peg$literalExpectation("<=>",false),peg$c154="⇔",peg$c155=peg$literalExpectation("⇔",false),peg$c156=function(){return"<=>"},peg$c157=peg$otherExpectation("back fat arrow <="),peg$c158="<=",peg$c159=peg$literalExpectation("<=",false),peg$c160="⇐",peg$c161=peg$literalExpectation("⇐",false),peg$c162=function(){return"<="},peg$c163=peg$otherExpectation("forward tilde arrow ~>"),peg$c164="~>",peg$c165=peg$literalExpectation("~>",false),peg$c166="↛",peg$c167=peg$literalExpectation("↛",false),peg$c168=function(){return"~>"},peg$c169=peg$otherExpectation("two way tilde arrow <~>"),peg$c170="<~>",peg$c171=peg$literalExpectation("<~>",false),peg$c172="↮",peg$c173=peg$literalExpectation("↮",false),peg$c174=function(){return"<~>"},peg$c175=peg$otherExpectation("back tilde arrow <~"),peg$c176="<~",peg$c177=peg$literalExpectation("<~",false),peg$c178="↚",peg$c179=peg$literalExpectation("↚",false),peg$c180=function(){return"<~"},peg$c181=peg$otherExpectation("light fat arrow <-=>"),peg$c182="<-=>",peg$c183=peg$literalExpectation("<-=>",false),peg$c184="←⇒",peg$c185=peg$literalExpectation("←⇒",false),peg$c186=function(){return"<-=>"},peg$c187=peg$otherExpectation("light tilde arrow <-~>"),peg$c188="<-~>",peg$c189=peg$literalExpectation("<-~>",false),peg$c190="←↛",peg$c191=peg$literalExpectation("←↛",false),peg$c192=function(){return"<-~>"},peg$c193=peg$otherExpectation("fat light arrow <=->"),peg$c194="<=->",peg$c195=peg$literalExpectation("<=->",false),peg$c196="⇐→",peg$c197=peg$literalExpectation("⇐→",false),peg$c198=function(){return"<=->"},peg$c199=peg$otherExpectation("fat tilde arrow <=~>"),peg$c200="<=~>",peg$c201=peg$literalExpectation("<=~>",false),peg$c202="⇐↛",peg$c203=peg$literalExpectation("⇐↛",false),peg$c204=function(){return"<=~>"},peg$c205=peg$otherExpectation("tilde light arrow <~->"),peg$c206="<~->",peg$c207=peg$literalExpectation("<~->",false),peg$c208="↚→",peg$c209=peg$literalExpectation("↚→",false),peg$c210=function(){return"<~->"},peg$c211=peg$otherExpectation("tilde fat arrow <~=>"),peg$c212="<~=>",peg$c213=peg$literalExpectation("<~=>",false),peg$c214="↚⇒",peg$c215=peg$literalExpectation("↚⇒",false),peg$c216=function(){return"<~=>"},peg$c217=peg$otherExpectation("light arrow"),peg$c218=peg$otherExpectation("fat arrow"),peg$c219=peg$otherExpectation("tilde arrow"),peg$c220=peg$otherExpectation("mixed arrow"),peg$c221=peg$otherExpectation("arrow"),peg$c222="true",peg$c223=peg$literalExpectation("true",false),peg$c225="false",peg$c226=peg$literalExpectation("false",false),peg$c228="regular",peg$c229=peg$literalExpectation("regular",false),peg$c230="rounded",peg$c231=peg$literalExpectation("rounded",false),peg$c232="lined",peg$c233=peg$literalExpectation("lined",false),peg$c234="solid",peg$c235=peg$literalExpectation("solid",false),peg$c236="dotted",peg$c237=peg$literalExpectation("dotted",false),peg$c238="dashed",peg$c239=peg$literalExpectation("dashed",false),peg$c240=/^[0-9a-fA-F]/,peg$c241=peg$classExpectation([["0","9"],["a","f"],["A","F"]],false,false),peg$c242='"',peg$c243=peg$literalExpectation('"',false),peg$c244="\\",peg$c245=peg$literalExpectation("\\",false),peg$c246="/",peg$c247=peg$literalExpectation("/",false),peg$c248="b",peg$c249=peg$literalExpectation("b",false),peg$c250=function(){return"\b"},peg$c251="f",peg$c252=peg$literalExpectation("f",false),peg$c253=function(){return"\f"},peg$c254="n",peg$c255=peg$literalExpectation("n",false),peg$c256=function(){return"\n"},peg$c257="r",peg$c258=peg$literalExpectation("r",false),peg$c259=function(){return"\r"},peg$c260="t",peg$c261=peg$literalExpectation("t",false),peg$c262=function(){return"\t"},peg$c263="v",peg$c264=peg$literalExpectation("v",false),peg$c265=function(){return"\v"},peg$c266="u",peg$c267=peg$literalExpectation("u",false),peg$c268=function(digits){return String.fromCharCode(parseInt(digits,16))},peg$c269=function(Sequence){return Sequence},peg$c270=/^[ -!#-[\]-\u10FFFF]/,peg$c271=peg$classExpectation([[" ","!"],["#","["],["]","ჿ"],"F","F"],false,false),peg$c272="'",peg$c273=peg$literalExpectation("'",false),peg$c274=/^[ -&(-[\]-\u10FFFF]/,peg$c275=peg$classExpectation([[" ","&"],["(","["],["]","ჿ"],"F","F"],false,false),peg$c276=peg$otherExpectation("action label"),peg$c277=function(chars){return chars.join("")},peg$c278=/^[\n\r\u2028\u2029]/,peg$c279=peg$classExpectation(["\n","\r","\u2028","\u2029"],false,false),peg$c282="*/",peg$c283=peg$literalExpectation("*/",false),peg$c284=peg$anyExpectation(),peg$c285=peg$otherExpectation("block comment"),peg$c286="/*",peg$c287=peg$literalExpectation("/*",false),peg$c288=peg$otherExpectation("line comment"),peg$c289="//",peg$c290=peg$literalExpectation("//",false),peg$c291=peg$otherExpectation("whitespace"),peg$c292=/^[ \t\r\n\x0B]/,peg$c293=peg$classExpectation([" ","\t","\r","\n","\v"],false,false),peg$c294=peg$otherExpectation("string"),peg$c295=/^[0-9a-zA-Z._!$\^*!?,\x80-\uFFFF]/,peg$c296=peg$classExpectation([["0","9"],["a","z"],["A","Z"],".","_","!","$","^","*","!","?",",",["€","￿"]],false,false),peg$c297=/^[0-9a-zA-Z.+=_\^()*&$#@!?,\x80-\uFFFF]/,peg$c298=peg$classExpectation([["0","9"],["a","z"],["A","Z"],".","+","=","_","^","(",")","*","&","$","#","@","!","?",",",["€","￿"]],false,false),peg$c299=peg$otherExpectation("atom"),peg$c300=function(firstletter,text){return firstletter+(text||[]).join("")},peg$c301=peg$otherExpectation("label"),peg$c302="0",peg$c303=peg$literalExpectation("0",false),peg$c304=/^[0-9]/,peg$c305=peg$classExpectation([["0","9"]],false,false),peg$c306=/^[1-9]/,peg$c307=peg$classExpectation([["1","9"]],false,false),peg$c308=peg$otherExpectation("nonneg number"),peg$c309=".",peg$c310=peg$literalExpectation(".",false),peg$c311=function(){return parseFloat(text())},peg$c312=function(major,minor,patch){return{major:parseInt(major,10),minor:parseInt(minor,10),patch:parseInt(patch,10),full:text()}},peg$c323="http://",peg$c324=peg$literalExpectation("http://",false),peg$c325="https://",peg$c326=peg$literalExpectation("https://",false),peg$c327=/^[a-zA-Z0-9!*'():;@&=+$,\/?#[\]_.~\-]/,peg$c328=peg$classExpectation([["a","z"],["A","Z"],["0","9"],"!","*","'","(",")",":",";","@","&","=","+","$",",","/","?","#","[","]","_",".","~","-"],false,false),peg$c329=function(protocol){return text()},peg$c330="aliceblue",peg$c331=peg$literalExpectation("aliceblue",false),peg$c332=function(){return"#f0f8ffff"},peg$c333="AliceBlue",peg$c334=peg$literalExpectation("AliceBlue",false),peg$c335="antiquewhite",peg$c336=peg$literalExpectation("antiquewhite",false),peg$c337=function(){return"#faebd7ff"},peg$c338="AntiqueWhite",peg$c339=peg$literalExpectation("AntiqueWhite",false),peg$c340="aquamarine",peg$c341=peg$literalExpectation("aquamarine",false),peg$c342=function(){return"#7fffd4ff"},peg$c343="Aquamarine",peg$c344=peg$literalExpectation("Aquamarine",false),peg$c345="aqua",peg$c346=peg$literalExpectation("aqua",false),peg$c347=function(){return"#00ffffff"},peg$c348="Aqua",peg$c349=peg$literalExpectation("Aqua",false),peg$c350="azure",peg$c351=peg$literalExpectation("azure",false),peg$c352=function(){return"#f0ffffff"},peg$c353="Azure",peg$c354=peg$literalExpectation("Azure",false),peg$c355="beige",peg$c356=peg$literalExpectation("beige",false),peg$c357=function(){return"#f5f5dcff"},peg$c358="Beige",peg$c359=peg$literalExpectation("Beige",false),peg$c360="bisque",peg$c361=peg$literalExpectation("bisque",false),peg$c362=function(){return"#ffe4c4ff"},peg$c363="Bisque",peg$c364=peg$literalExpectation("Bisque",false),peg$c365="black",peg$c366=peg$literalExpectation("black",false),peg$c367=function(){return"#000000ff"},peg$c368="Black",peg$c369=peg$literalExpectation("Black",false),peg$c370="blanchedalmond",peg$c371=peg$literalExpectation("blanchedalmond",false),peg$c372=function(){return"#ffebcdff"},peg$c373="BlanchedAlmond",peg$c374=peg$literalExpectation("BlanchedAlmond",false),peg$c375="blueviolet",peg$c376=peg$literalExpectation("blueviolet",false),peg$c377=function(){return"#8a2be2ff"},peg$c378="BlueViolet",peg$c379=peg$literalExpectation("BlueViolet",false),peg$c380="blue",peg$c381=peg$literalExpectation("blue",false),peg$c382=function(){return"#0000ffff"},peg$c383="Blue",peg$c384=peg$literalExpectation("Blue",false),peg$c385="brown",peg$c386=peg$literalExpectation("brown",false),peg$c387=function(){return"#a52a2aff"},peg$c388="Brown",peg$c389=peg$literalExpectation("Brown",false),peg$c390="burlywood",peg$c391=peg$literalExpectation("burlywood",false),peg$c392=function(){return"#deb887ff"},peg$c393="BurlyWood",peg$c394=peg$literalExpectation("BurlyWood",false),peg$c395="cadetblue",peg$c396=peg$literalExpectation("cadetblue",false),peg$c397=function(){return"#5f9ea0ff"},peg$c398="CadetBlue",peg$c399=peg$literalExpectation("CadetBlue",false),peg$c400="chartreuse",peg$c401=peg$literalExpectation("chartreuse",false),peg$c402=function(){return"#7fff00ff"},peg$c403="Chartreuse",peg$c404=peg$literalExpectation("Chartreuse",false),peg$c405="chocolate",peg$c406=peg$literalExpectation("chocolate",false),peg$c407=function(){return"#d2691eff"},peg$c408="Chocolate",peg$c409=peg$literalExpectation("Chocolate",false),peg$c410="coral",peg$c411=peg$literalExpectation("coral",false),peg$c412=function(){return"#ff7f50ff"},peg$c413="Coral",peg$c414=peg$literalExpectation("Coral",false),peg$c415="cornflowerblue",peg$c416=peg$literalExpectation("cornflowerblue",false),peg$c417=function(){return"#6495edff"},peg$c418="CornflowerBlue",peg$c419=peg$literalExpectation("CornflowerBlue",false),peg$c420="cornsilk",peg$c421=peg$literalExpectation("cornsilk",false),peg$c422=function(){return"#fff8dcff"},peg$c423="Cornsilk",peg$c424=peg$literalExpectation("Cornsilk",false),peg$c425="crimson",peg$c426=peg$literalExpectation("crimson",false),peg$c427=function(){return"#dc143cff"},peg$c428="Crimson",peg$c429=peg$literalExpectation("Crimson",false),peg$c430="cyan",peg$c431=peg$literalExpectation("cyan",false),peg$c432="Cyan",peg$c433=peg$literalExpectation("Cyan",false),peg$c434="darkblue",peg$c435=peg$literalExpectation("darkblue",false),peg$c436=function(){return"#00008bff"},peg$c437="DarkBlue",peg$c438=peg$literalExpectation("DarkBlue",false),peg$c439="darkcyan",peg$c440=peg$literalExpectation("darkcyan",false),peg$c441=function(){return"#008b8bff"},peg$c442="DarkCyan",peg$c443=peg$literalExpectation("DarkCyan",false),peg$c444="darkgoldenrod",peg$c445=peg$literalExpectation("darkgoldenrod",false),peg$c446=function(){return"#b8860bff"},peg$c447="DarkGoldenRod",peg$c448=peg$literalExpectation("DarkGoldenRod",false),peg$c449="darkgray",peg$c450=peg$literalExpectation("darkgray",false),peg$c451=function(){return"#a9a9a9ff"},peg$c452="DarkGray",peg$c453=peg$literalExpectation("DarkGray",false),peg$c454="darkgrey",peg$c455=peg$literalExpectation("darkgrey",false),peg$c456="DarkGrey",peg$c457=peg$literalExpectation("DarkGrey",false),peg$c458="darkgreen",peg$c459=peg$literalExpectation("darkgreen",false),peg$c460=function(){return"#006400ff"},peg$c461="DarkGreen",peg$c462=peg$literalExpectation("DarkGreen",false),peg$c463="darkkhaki",peg$c464=peg$literalExpectation("darkkhaki",false),peg$c465=function(){return"#bdb76bff"},peg$c466="DarkKhaki",peg$c467=peg$literalExpectation("DarkKhaki",false),peg$c468="darkmagenta",peg$c469=peg$literalExpectation("darkmagenta",false),peg$c470=function(){return"#8b008bff"},peg$c471="DarkMagenta",peg$c472=peg$literalExpectation("DarkMagenta",false),peg$c473="darkolivegreen",peg$c474=peg$literalExpectation("darkolivegreen",false),peg$c475=function(){return"#556b2fff"},peg$c476="DarkOliveGreen",peg$c477=peg$literalExpectation("DarkOliveGreen",false),peg$c478="darkorange",peg$c479=peg$literalExpectation("darkorange",false),peg$c480=function(){return"#ff8c00ff"},peg$c481="Darkorange",peg$c482=peg$literalExpectation("Darkorange",false),peg$c483="darkorchid",peg$c484=peg$literalExpectation("darkorchid",false),peg$c485=function(){return"#9932ccff"},peg$c486="DarkOrchid",peg$c487=peg$literalExpectation("DarkOrchid",false),peg$c488="darkred",peg$c489=peg$literalExpectation("darkred",false),peg$c490=function(){return"#8b0000ff"},peg$c491="DarkRed",peg$c492=peg$literalExpectation("DarkRed",false),peg$c493="darksalmon",peg$c494=peg$literalExpectation("darksalmon",false),peg$c495=function(){return"#e9967aff"},peg$c496="DarkSalmon",peg$c497=peg$literalExpectation("DarkSalmon",false),peg$c498="darkseagreen",peg$c499=peg$literalExpectation("darkseagreen",false),peg$c500=function(){return"#8fbc8fff"},peg$c501="DarkSeaGreen",peg$c502=peg$literalExpectation("DarkSeaGreen",false),peg$c503="darkslateblue",peg$c504=peg$literalExpectation("darkslateblue",false),peg$c505=function(){return"#483d8bff"},peg$c506="DarkSlateBlue",peg$c507=peg$literalExpectation("DarkSlateBlue",false),peg$c508="darkslategray",peg$c509=peg$literalExpectation("darkslategray",false),peg$c510=function(){return"#2f4f4fff"},peg$c511="DarkSlateGray",peg$c512=peg$literalExpectation("DarkSlateGray",false),peg$c513="darkslategrey",peg$c514=peg$literalExpectation("darkslategrey",false),peg$c515="DarkSlateGrey",peg$c516=peg$literalExpectation("DarkSlateGrey",false),peg$c517="darkturquoise",peg$c518=peg$literalExpectation("darkturquoise",false),peg$c519=function(){return"#00ced1ff"},peg$c520="DarkTurquoise",peg$c521=peg$literalExpectation("DarkTurquoise",false),peg$c522="darkviolet",peg$c523=peg$literalExpectation("darkviolet",false),peg$c524=function(){return"#9400d3ff"},peg$c525="DarkViolet",peg$c526=peg$literalExpectation("DarkViolet",false),peg$c527="deeppink",peg$c528=peg$literalExpectation("deeppink",false),peg$c529=function(){return"#ff1493ff"},peg$c530="DeepPink",peg$c531=peg$literalExpectation("DeepPink",false),peg$c532="deepskyblue",peg$c533=peg$literalExpectation("deepskyblue",false),peg$c534=function(){return"#00bfffff"},peg$c535="DeepSkyBlue",peg$c536=peg$literalExpectation("DeepSkyBlue",false),peg$c537="dimgray",peg$c538=peg$literalExpectation("dimgray",false),peg$c539=function(){return"#696969ff"},peg$c540="DimGray",peg$c541=peg$literalExpectation("DimGray",false),peg$c542="dimgrey",peg$c543=peg$literalExpectation("dimgrey",false),peg$c544="DimGrey",peg$c545=peg$literalExpectation("DimGrey",false),peg$c546="dodgerblue",peg$c547=peg$literalExpectation("dodgerblue",false),peg$c548=function(){return"#1e90ffff"},peg$c549="DodgerBlue",peg$c550=peg$literalExpectation("DodgerBlue",false),peg$c551="firebrick",peg$c552=peg$literalExpectation("firebrick",false),peg$c553=function(){return"#b22222ff"},peg$c554="FireBrick",peg$c555=peg$literalExpectation("FireBrick",false),peg$c556="floralwhite",peg$c557=peg$literalExpectation("floralwhite",false),peg$c558=function(){return"#fffaf0ff"},peg$c559="FloralWhite",peg$c560=peg$literalExpectation("FloralWhite",false),peg$c561="forestgreen",peg$c562=peg$literalExpectation("forestgreen",false),peg$c563=function(){return"#228b22ff"},peg$c564="ForestGreen",peg$c565=peg$literalExpectation("ForestGreen",false),peg$c566="fuchsia",peg$c567=peg$literalExpectation("fuchsia",false),peg$c568=function(){return"#ff00ffff"},peg$c569="Fuchsia",peg$c570=peg$literalExpectation("Fuchsia",false),peg$c571="gainsboro",peg$c572=peg$literalExpectation("gainsboro",false),peg$c573=function(){return"#dcdcdcff"},peg$c574="Gainsboro",peg$c575=peg$literalExpectation("Gainsboro",false),peg$c576="ghostwhite",peg$c577=peg$literalExpectation("ghostwhite",false),peg$c578=function(){return"#f8f8ffff"},peg$c579="GhostWhite",peg$c580=peg$literalExpectation("GhostWhite",false),peg$c581="goldenrod",peg$c582=peg$literalExpectation("goldenrod",false),peg$c583=function(){return"#daa520ff"},peg$c584="GoldenRod",peg$c585=peg$literalExpectation("GoldenRod",false),peg$c586="gold",peg$c587=peg$literalExpectation("gold",false),peg$c588=function(){return"#ffd700ff"},peg$c589="Gold",peg$c590=peg$literalExpectation("Gold",false),peg$c591="gray",peg$c592=peg$literalExpectation("gray",false),peg$c593=function(){return"#808080ff"},peg$c594="Gray",peg$c595=peg$literalExpectation("Gray",false),peg$c596="grey",peg$c597=peg$literalExpectation("grey",false),peg$c598="Grey",peg$c599=peg$literalExpectation("Grey",false),peg$c600="greenyellow",peg$c601=peg$literalExpectation("greenyellow",false),peg$c602=function(){return"#adff2fff"},peg$c603="GreenYellow",peg$c604=peg$literalExpectation("GreenYellow",false),peg$c605="green",peg$c606=peg$literalExpectation("green",false),peg$c607=function(){return"#008000ff"},peg$c608="Green",peg$c609=peg$literalExpectation("Green",false),peg$c610="honeydew",peg$c611=peg$literalExpectation("honeydew",false),peg$c612=function(){return"#f0fff0ff"},peg$c613="HoneyDew",peg$c614=peg$literalExpectation("HoneyDew",false),peg$c615="hotpink",peg$c616=peg$literalExpectation("hotpink",false),peg$c617=function(){return"#ff69b4ff"},peg$c618="HotPink",peg$c619=peg$literalExpectation("HotPink",false),peg$c620="indianred",peg$c621=peg$literalExpectation("indianred",false),peg$c622=function(){return"#cd5c5cff"},peg$c623="IndianRed",peg$c624=peg$literalExpectation("IndianRed",false),peg$c625="indigo",peg$c626=peg$literalExpectation("indigo",false),peg$c627=function(){return"#4b0082ff"},peg$c628="Indigo",peg$c629=peg$literalExpectation("Indigo",false),peg$c630="ivory",peg$c631=peg$literalExpectation("ivory",false),peg$c632=function(){return"#fffff0ff"},peg$c633="Ivory",peg$c634=peg$literalExpectation("Ivory",false),peg$c635="khaki",peg$c636=peg$literalExpectation("khaki",false),peg$c637=function(){return"#f0e68cff"},peg$c638="Khaki",peg$c639=peg$literalExpectation("Khaki",false),peg$c640="lavenderblush",peg$c641=peg$literalExpectation("lavenderblush",false),peg$c642=function(){return"#fff0f5ff"},peg$c643="LavenderBlush",peg$c644=peg$literalExpectation("LavenderBlush",false),peg$c645="lavender",peg$c646=peg$literalExpectation("lavender",false),peg$c647=function(){return"#e6e6faff"},peg$c648="Lavender",peg$c649=peg$literalExpectation("Lavender",false),peg$c650="lawngreen",peg$c651=peg$literalExpectation("lawngreen",false),peg$c652=function(){return"#7cfc00ff"},peg$c653="LawnGreen",peg$c654=peg$literalExpectation("LawnGreen",false),peg$c655="lemonchiffon",peg$c656=peg$literalExpectation("lemonchiffon",false),peg$c657=function(){return"#fffacdff"},peg$c658="LemonChiffon",peg$c659=peg$literalExpectation("LemonChiffon",false),peg$c660="lightblue",peg$c661=peg$literalExpectation("lightblue",false),peg$c662=function(){return"#add8e6ff"},peg$c663="LightBlue",peg$c664=peg$literalExpectation("LightBlue",false),peg$c665="lightcoral",peg$c666=peg$literalExpectation("lightcoral",false),peg$c667=function(){return"#f08080ff"},peg$c668="LightCoral",peg$c669=peg$literalExpectation("LightCoral",false),peg$c670="lightcyan",peg$c671=peg$literalExpectation("lightcyan",false),peg$c672=function(){return"#e0ffffff"},peg$c673="LightCyan",peg$c674=peg$literalExpectation("LightCyan",false),peg$c675="lightgoldenrodyellow",peg$c676=peg$literalExpectation("lightgoldenrodyellow",false),peg$c677=function(){return"#fafad2ff"},peg$c678="LightGoldenRodYellow",peg$c679=peg$literalExpectation("LightGoldenRodYellow",false),peg$c680="lightgray",peg$c681=peg$literalExpectation("lightgray",false),peg$c682=function(){return"#d3d3d3ff"},peg$c683="LightGray",peg$c684=peg$literalExpectation("LightGray",false),peg$c685="lightgrey",peg$c686=peg$literalExpectation("lightgrey",false),peg$c687="LightGrey",peg$c688=peg$literalExpectation("LightGrey",false),peg$c689="lightgreen",peg$c690=peg$literalExpectation("lightgreen",false),peg$c691=function(){return"#90ee90ff"},peg$c692="LightGreen",peg$c693=peg$literalExpectation("LightGreen",false),peg$c694="lightpink",peg$c695=peg$literalExpectation("lightpink",false),peg$c696=function(){return"#ffb6c1ff"},peg$c697="LightPink",peg$c698=peg$literalExpectation("LightPink",false),peg$c699="lightsalmon",peg$c700=peg$literalExpectation("lightsalmon",false),peg$c701=function(){return"#ffa07aff"},peg$c702="LightSalmon",peg$c703=peg$literalExpectation("LightSalmon",false),peg$c704="lightseagreen",peg$c705=peg$literalExpectation("lightseagreen",false),peg$c706=function(){return"#20b2aaff"},peg$c707="LightSeaGreen",peg$c708=peg$literalExpectation("LightSeaGreen",false),peg$c709="lightskyblue",peg$c710=peg$literalExpectation("lightskyblue",false),peg$c711=function(){return"#87cefaff"},peg$c712="LightSkyBlue",peg$c713=peg$literalExpectation("LightSkyBlue",false),peg$c714="lightslategray",peg$c715=peg$literalExpectation("lightslategray",false),peg$c716=function(){return"#778899ff"},peg$c717="LightSlateGray",peg$c718=peg$literalExpectation("LightSlateGray",false),peg$c719="lightslategrey",peg$c720=peg$literalExpectation("lightslategrey",false),peg$c721="LightSlateGrey",peg$c722=peg$literalExpectation("LightSlateGrey",false),peg$c723="lightsteelblue",peg$c724=peg$literalExpectation("lightsteelblue",false),peg$c725=function(){return"#b0c4deff"},peg$c726="LightSteelBlue",peg$c727=peg$literalExpectation("LightSteelBlue",false),peg$c728="lightyellow",peg$c729=peg$literalExpectation("lightyellow",false),peg$c730=function(){return"#ffffe0ff"},peg$c731="LightYellow",peg$c732=peg$literalExpectation("LightYellow",false),peg$c733="limegreen",peg$c734=peg$literalExpectation("limegreen",false),peg$c735=function(){return"#32cd32ff"},peg$c736="LimeGreen",peg$c737=peg$literalExpectation("LimeGreen",false),peg$c738="lime",peg$c739=peg$literalExpectation("lime",false),peg$c740=function(){return"#00ff00ff"},peg$c741="Lime",peg$c742=peg$literalExpectation("Lime",false),peg$c743="linen",peg$c744=peg$literalExpectation("linen",false),peg$c745=function(){return"#faf0e6ff"},peg$c746="Linen",peg$c747=peg$literalExpectation("Linen",false),peg$c748="magenta",peg$c749=peg$literalExpectation("magenta",false),peg$c750="Magenta",peg$c751=peg$literalExpectation("Magenta",false),peg$c752="maroon",peg$c753=peg$literalExpectation("maroon",false),peg$c754=function(){return"#800000ff"},peg$c755="Maroon",peg$c756=peg$literalExpectation("Maroon",false),peg$c757="mediumaquamarine",peg$c758=peg$literalExpectation("mediumaquamarine",false),peg$c759=function(){return"#66cdaaff"},peg$c760="MediumAquaMarine",peg$c761=peg$literalExpectation("MediumAquaMarine",false),peg$c762="mediumblue",peg$c763=peg$literalExpectation("mediumblue",false),peg$c764=function(){return"#0000cdff"},peg$c765="MediumBlue",peg$c766=peg$literalExpectation("MediumBlue",false),peg$c767="mediumorchid",peg$c768=peg$literalExpectation("mediumorchid",false),peg$c769=function(){return"#ba55d3ff"},peg$c770="MediumOrchid",peg$c771=peg$literalExpectation("MediumOrchid",false),peg$c772="mediumpurple",peg$c773=peg$literalExpectation("mediumpurple",false),peg$c774=function(){return"#9370d8ff"},peg$c775="MediumPurple",peg$c776=peg$literalExpectation("MediumPurple",false),peg$c777="mediumseagreen",peg$c778=peg$literalExpectation("mediumseagreen",false),peg$c779=function(){return"#3cb371ff"},peg$c780="MediumSeaGreen",peg$c781=peg$literalExpectation("MediumSeaGreen",false),peg$c782="mediumslateblue",peg$c783=peg$literalExpectation("mediumslateblue",false),peg$c784=function(){return"#7b68eeff"},peg$c785="MediumSlateBlue",peg$c786=peg$literalExpectation("MediumSlateBlue",false),peg$c787="mediumspringgreen",peg$c788=peg$literalExpectation("mediumspringgreen",false),peg$c789=function(){return"#00fa9aff"},peg$c790="MediumSpringGreen",peg$c791=peg$literalExpectation("MediumSpringGreen",false),peg$c792="mediumturquoise",peg$c793=peg$literalExpectation("mediumturquoise",false),peg$c794=function(){return"#48d1ccff"},peg$c795="MediumTurquoise",peg$c796=peg$literalExpectation("MediumTurquoise",false),peg$c797="mediumvioletred",peg$c798=peg$literalExpectation("mediumvioletred",false),peg$c799=function(){return"#c71585ff"},peg$c800="MediumVioletRed",peg$c801=peg$literalExpectation("MediumVioletRed",false),peg$c802="midnightblue",peg$c803=peg$literalExpectation("midnightblue",false),peg$c804=function(){return"#191970ff"},peg$c805="MidnightBlue",peg$c806=peg$literalExpectation("MidnightBlue",false),peg$c807="mintcream",peg$c808=peg$literalExpectation("mintcream",false),peg$c809=function(){return"#f5fffaff"},peg$c810="MintCream",peg$c811=peg$literalExpectation("MintCream",false),peg$c812="mistyrose",peg$c813=peg$literalExpectation("mistyrose",false),peg$c814=function(){return"#ffe4e1ff"},peg$c815="MistyRose",peg$c816=peg$literalExpectation("MistyRose",false),peg$c817="moccasin",peg$c818=peg$literalExpectation("moccasin",false),peg$c819=function(){return"#ffe4b5ff"},peg$c820="Moccasin",peg$c821=peg$literalExpectation("Moccasin",false),peg$c822="navajowhite",peg$c823=peg$literalExpectation("navajowhite",false),peg$c824=function(){return"#ffdeadff"},peg$c825="NavajoWhite",peg$c826=peg$literalExpectation("NavajoWhite",false),peg$c827="navy",peg$c828=peg$literalExpectation("navy",false),peg$c829=function(){return"#000080ff"},peg$c830="Navy",peg$c831=peg$literalExpectation("Navy",false),peg$c832="oldlace",peg$c833=peg$literalExpectation("oldlace",false),peg$c834=function(){return"#fdf5e6ff"},peg$c835="OldLace",peg$c836=peg$literalExpectation("OldLace",false),peg$c837="olivedrab",peg$c838=peg$literalExpectation("olivedrab",false),peg$c839=function(){return"#6b8e23ff"},peg$c840="OliveDrab",peg$c841=peg$literalExpectation("OliveDrab",false),peg$c842="olive",peg$c843=peg$literalExpectation("olive",false),peg$c844=function(){return"#808000ff"},peg$c845="Olive",peg$c846=peg$literalExpectation("Olive",false),peg$c847="orangered",peg$c848=peg$literalExpectation("orangered",false),peg$c849=function(){return"#ff4500ff"},peg$c850="OrangeRed",peg$c851=peg$literalExpectation("OrangeRed",false),peg$c852="orange",peg$c853=peg$literalExpectation("orange",false),peg$c854=function(){return"#ffa500ff"},peg$c855="Orange",peg$c856=peg$literalExpectation("Orange",false),peg$c857="orchid",peg$c858=peg$literalExpectation("orchid",false),peg$c859=function(){return"#da70d6ff"},peg$c860="Orchid",peg$c861=peg$literalExpectation("Orchid",false),peg$c862="palegoldenrod",peg$c863=peg$literalExpectation("palegoldenrod",false),peg$c864=function(){return"#eee8aaff"},peg$c865="PaleGoldenRod",peg$c866=peg$literalExpectation("PaleGoldenRod",false),peg$c867="palegreen",peg$c868=peg$literalExpectation("palegreen",false),peg$c869=function(){return"#98fb98ff"},peg$c870="PaleGreen",peg$c871=peg$literalExpectation("PaleGreen",false),peg$c872="paleturquoise",peg$c873=peg$literalExpectation("paleturquoise",false),peg$c874=function(){return"#afeeeeff"},peg$c875="PaleTurquoise",peg$c876=peg$literalExpectation("PaleTurquoise",false),peg$c877="palevioletred",peg$c878=peg$literalExpectation("palevioletred",false),peg$c879=function(){return"#d87093ff"},peg$c880="PaleVioletRed",peg$c881=peg$literalExpectation("PaleVioletRed",false),peg$c882="papayawhip",peg$c883=peg$literalExpectation("papayawhip",false),peg$c884=function(){return"#ffefd5ff"},peg$c885="PapayaWhip",peg$c886=peg$literalExpectation("PapayaWhip",false),peg$c887="peachpuff",peg$c888=peg$literalExpectation("peachpuff",false),peg$c889=function(){return"#ffdab9ff"},peg$c890="PeachPuff",peg$c891=peg$literalExpectation("PeachPuff",false),peg$c892="peru",peg$c893=peg$literalExpectation("peru",false),peg$c894=function(){return"#cd853fff"},peg$c895="Peru",peg$c896=peg$literalExpectation("Peru",false),peg$c897="pink",peg$c898=peg$literalExpectation("pink",false),peg$c899=function(){return"#ffc0cbff"},peg$c900="Pink",peg$c901=peg$literalExpectation("Pink",false),peg$c902="plum",peg$c903=peg$literalExpectation("plum",false),peg$c904=function(){return"#dda0ddff"},peg$c905="Plum",peg$c906=peg$literalExpectation("Plum",false),peg$c907="powderblue",peg$c908=peg$literalExpectation("powderblue",false),peg$c909=function(){return"#b0e0e6ff"},peg$c910="PowderBlue",peg$c911=peg$literalExpectation("PowderBlue",false),peg$c912="purple",peg$c913=peg$literalExpectation("purple",false),peg$c914=function(){return"#800080ff"},peg$c915="Purple",peg$c916=peg$literalExpectation("Purple",false),peg$c917="red",peg$c918=peg$literalExpectation("red",false),peg$c919=function(){return"#ff0000ff"},peg$c920="Red",peg$c921=peg$literalExpectation("Red",false),peg$c922="rosybrown",peg$c923=peg$literalExpectation("rosybrown",false),peg$c924=function(){return"#bc8f8fff"},peg$c925="RosyBrown",peg$c926=peg$literalExpectation("RosyBrown",false),peg$c927="royalblue",peg$c928=peg$literalExpectation("royalblue",false),peg$c929=function(){return"#4169e1ff"},peg$c930="RoyalBlue",peg$c931=peg$literalExpectation("RoyalBlue",false),peg$c932="saddlebrown",peg$c933=peg$literalExpectation("saddlebrown",false),peg$c934=function(){return"#8b4513ff"},peg$c935="SaddleBrown",peg$c936=peg$literalExpectation("SaddleBrown",false),peg$c937="salmon",peg$c938=peg$literalExpectation("salmon",false),peg$c939=function(){return"#fa8072ff"},peg$c940="Salmon",peg$c941=peg$literalExpectation("Salmon",false),peg$c942="sandybrown",peg$c943=peg$literalExpectation("sandybrown",false),peg$c944=function(){return"#f4a460ff"},peg$c945="SandyBrown",peg$c946=peg$literalExpectation("SandyBrown",false),peg$c947="seagreen",peg$c948=peg$literalExpectation("seagreen",false),peg$c949=function(){return"#2e8b57ff"},peg$c950="SeaGreen",peg$c951=peg$literalExpectation("SeaGreen",false),peg$c952="seashell",peg$c953=peg$literalExpectation("seashell",false),peg$c954=function(){return"#fff5eeff"},peg$c955="SeaShell",peg$c956=peg$literalExpectation("SeaShell",false),peg$c957="sienna",peg$c958=peg$literalExpectation("sienna",false),peg$c959=function(){return"#a0522dff"},peg$c960="Sienna",peg$c961=peg$literalExpectation("Sienna",false),peg$c962="silver",peg$c963=peg$literalExpectation("silver",false),peg$c964=function(){return"#c0c0c0ff"},peg$c965="Silver",peg$c966=peg$literalExpectation("Silver",false),peg$c967="skyblue",peg$c968=peg$literalExpectation("skyblue",false),peg$c969=function(){return"#87ceebff"},peg$c970="SkyBlue",peg$c971=peg$literalExpectation("SkyBlue",false),peg$c972="slateblue",peg$c973=peg$literalExpectation("slateblue",false),peg$c974=function(){return"#6a5acdff"},peg$c975="SlateBlue",peg$c976=peg$literalExpectation("SlateBlue",false),peg$c977="slategray",peg$c978=peg$literalExpectation("slategray",false),peg$c979=function(){return"#708090ff"},peg$c980="SlateGray",peg$c981=peg$literalExpectation("SlateGray",false),peg$c982="slategrey",peg$c983=peg$literalExpectation("slategrey",false),peg$c984="SlateGrey",peg$c985=peg$literalExpectation("SlateGrey",false),peg$c986="snow",peg$c987=peg$literalExpectation("snow",false),peg$c988=function(){return"#fffafaff"},peg$c989="Snow",peg$c990=peg$literalExpectation("Snow",false),peg$c991="springgreen",peg$c992=peg$literalExpectation("springgreen",false),peg$c993=function(){return"#00ff7fff"},peg$c994="SpringGreen",peg$c995=peg$literalExpectation("SpringGreen",false),peg$c996="steelblue",peg$c997=peg$literalExpectation("steelblue",false),peg$c998=function(){return"#4682b4ff"},peg$c999="SteelBlue",peg$c1000=peg$literalExpectation("SteelBlue",false),peg$c1001="tan",peg$c1002=peg$literalExpectation("tan",false),peg$c1003=function(){return"#d2b48cff"},peg$c1004="Tan",peg$c1005=peg$literalExpectation("Tan",false),peg$c1006="teal",peg$c1007=peg$literalExpectation("teal",false),peg$c1008=function(){return"#008080ff"},peg$c1009="Teal",peg$c1010=peg$literalExpectation("Teal",false),peg$c1011="thistle",peg$c1012=peg$literalExpectation("thistle",false),peg$c1013=function(){return"#d8bfd8ff"},peg$c1014="Thistle",peg$c1015=peg$literalExpectation("Thistle",false),peg$c1016="tomato",peg$c1017=peg$literalExpectation("tomato",false),peg$c1018=function(){return"#ff6347ff"},peg$c1019="Tomato",peg$c1020=peg$literalExpectation("Tomato",false),peg$c1021="turquoise",peg$c1022=peg$literalExpectation("turquoise",false),peg$c1023=function(){return"#40e0d0ff"},peg$c1024="Turquoise",peg$c1025=peg$literalExpectation("Turquoise",false),peg$c1026="violet",peg$c1027=peg$literalExpectation("violet",false),peg$c1028=function(){return"#ee82eeff"},peg$c1029="Violet",peg$c1030=peg$literalExpectation("Violet",false),peg$c1031="wheat",peg$c1032=peg$literalExpectation("wheat",false),peg$c1033=function(){return"#f5deb3ff"},peg$c1034="Wheat",peg$c1035=peg$literalExpectation("Wheat",false),peg$c1036="whitesmoke",peg$c1037=peg$literalExpectation("whitesmoke",false),peg$c1038=function(){return"#f5f5f5ff"},peg$c1039="WhiteSmoke",peg$c1040=peg$literalExpectation("WhiteSmoke",false),peg$c1041="white",peg$c1042=peg$literalExpectation("white",false),peg$c1043=function(){return"#ffffffff"},peg$c1044="White",peg$c1045=peg$literalExpectation("White",false),peg$c1046="yellowgreen",peg$c1047=peg$literalExpectation("yellowgreen",false),peg$c1048=function(){return"#9acd32ff"},peg$c1049="YellowGreen",peg$c1050=peg$literalExpectation("YellowGreen",false),peg$c1051="yellow",peg$c1052=peg$literalExpectation("yellow",false),peg$c1053=function(){return"#ffff00ff"},peg$c1054="Yellow",peg$c1055=peg$literalExpectation("Yellow",false),peg$c1056=function(lab){return lab},peg$c1057="#",peg$c1058=peg$literalExpectation("#",false),peg$c1059=function(r,g,b){return`#${r}${r}${g}${g}${b}${b}ff`},peg$c1060=function(r1,r2,g1,g2,b1,b2){return`#${r1}${r2}${g1}${g2}${b1}${b2}ff`},peg$c1061=function(r,g,b,a){return`#${r}${r}${g}${g}${b}${b}${a}${a}`},peg$c1062=function(r1,r2,g1,g2,b1,b2,a1,a2){return`#${r1}${r2}${g1}${g2}${b1}${b2}${a1}${a2}`},peg$c1063=peg$otherExpectation("color"),peg$c1064="arc_label",peg$c1065=peg$literalExpectation("arc_label",false),peg$c1066="head_label",peg$c1067=peg$literalExpectation("head_label",false),peg$c1068="tail_label",peg$c1069=peg$literalExpectation("tail_label",false),peg$c1070=":",peg$c1071=peg$literalExpectation(":",false),peg$c1072=";",peg$c1073=peg$literalExpectation(";",false),peg$c1074=function(key,value){return{key:key,value:value}},peg$c1075=peg$otherExpectation("single edge color"),peg$c1076="edge_color",peg$c1077=peg$literalExpectation("edge_color",false),peg$c1078=function(value){return{key:"single_edge_color",value:value}},peg$c1079=peg$otherExpectation("transition line style"),peg$c1080="linestyle",peg$c1081=peg$literalExpectation("linestyle",false),peg$c1082=function(value){return{key:"transition_line_style",value:value}},peg$c1083="{",peg$c1084=peg$literalExpectation("{",false),peg$c1085="}",peg$c1086=peg$literalExpectation("}",false),peg$c1087=function(items){return items},peg$c1088="%",peg$c1089=peg$literalExpectation("%",false),peg$c1090=function(value){return{key:"arrow probability",value:value}},peg$c1091="[",peg$c1092=peg$literalExpectation("[",false),peg$c1093="]",peg$c1094=peg$literalExpectation("]",false),peg$c1095=function(names){return names.map((i=>i[0]))},peg$c1096="+|",peg$c1097=peg$literalExpectation("+|",false),peg$c1098=function(nzd,dd){return{key:"stripe",value:parseInt(`${nzd}${dd}`,10)}},peg$c1099="-|",peg$c1100=peg$literalExpectation("-|",false),peg$c1101=function(nzd,dd){return{key:"stripe",value:-1*parseInt(`${nzd}${dd}`,10)}},peg$c1102="+",peg$c1103=peg$literalExpectation("+",false),peg$c1104=function(nzd,dd){return{key:"cycle",value:parseInt(`${nzd}${dd}`,10)}},peg$c1105="-",peg$c1106=peg$literalExpectation("-",false),peg$c1107=function(nzd,dd){return{key:"cycle",value:-1*parseInt(`${nzd}${dd}`,10)}},peg$c1108="+0",peg$c1109=peg$literalExpectation("+0",false),peg$c1110=function(){return{key:"cycle",value:0}},peg$c1111=function(r_action,r_prob,l_desc,arrow,r_desc,l_prob,l_action,label,tail){const base={kind:arrow,to:label};if(tail&&tail!==[]){base.se=tail}if(l_desc){base.l_desc=l_desc}if(r_desc){base.r_desc=r_desc}if(l_action){base.l_action=l_action}if(r_action){base.r_action=r_action}if(l_prob){base.l_probability=l_prob.value}if(r_prob){base.r_probability=r_prob.value}return base},peg$c1112=function(label,se){const base={key:"transition",from:label};if(se&&se!==[]){base.se=se}return base},peg$c1113="whargarbl",peg$c1114=peg$literalExpectation("whargarbl",false),peg$c1115="todo",peg$c1116=peg$literalExpectation("todo",false),peg$c1117=function(validationkey,value){return{key:validationkey,value:value}},peg$c1118="validation",peg$c1119=peg$literalExpectation("validation",false),peg$c1120="};",peg$c1121=peg$literalExpectation("};",false),peg$c1122=function(validation_items){return{config_kind:"validation",config_items:validation_items||[]}},peg$c1123="dot",peg$c1124=peg$literalExpectation("dot",false),peg$c1125="circo",peg$c1126=peg$literalExpectation("circo",false),peg$c1127="fdp",peg$c1128=peg$literalExpectation("fdp",false),peg$c1129="neato",peg$c1130=peg$literalExpectation("neato",false),peg$c1131="shape",peg$c1132=peg$literalExpectation("shape",false),peg$c1133=function(value){return{key:"shape",value:value}},peg$c1134="state",peg$c1135=peg$literalExpectation("state",false),peg$c1136=function(state_items){return{key:"state_config",value:{config_kind:"state",config_items:state_items||[]}}},peg$c1137="start_state",peg$c1138=peg$literalExpectation("start_state",false),peg$c1139=function(state_items){return{key:"state_config",value:{config_kind:"in_state",config_items:state_items||[]}}},peg$c1140="end_state",peg$c1141=peg$literalExpectation("end_state",false),peg$c1142=function(state_items){return{key:"state_config",value:{config_kind:"out_state",config_items:state_items||[]}}},peg$c1143=function(actionkey,value){return{key:actionkey,value:value}},peg$c1144="action",peg$c1145=peg$literalExpectation("action",false),peg$c1146=function(action_items){return{config_kind:"action",config_items:action_items||[]}},peg$c1147=function(transitionkey,value){return{key:transitionkey,value:value}},peg$c1148=peg$otherExpectation("graph default edge color"),peg$c1149=function(value){return{key:"graph_default_edge_color",value:value}},peg$c1150="transition",peg$c1151=peg$literalExpectation("transition",false),peg$c1152=function(transition_items){return{config_kind:"transition",config_items:transition_items||[]}},peg$c1153="graph_layout",peg$c1154=peg$literalExpectation("graph_layout",false),peg$c1155=function(value){return{key:"graph_layout",value:value}},peg$c1156="start_states",peg$c1157=peg$literalExpectation("start_states",false),peg$c1158=function(value){return{key:"start_states",value:value}},peg$c1159="end_states",peg$c1160=peg$literalExpectation("end_states",false),peg$c1161=function(value){return{key:"end_states",value:value}},peg$c1162="graph_bg_color",peg$c1163=peg$literalExpectation("graph_bg_color",false),peg$c1164=function(value){return{key:"graph_bg_color",value:value}},peg$c1165=peg$otherExpectation("configuration"),peg$c1166="MIT",peg$c1167=peg$literalExpectation("MIT",false),peg$c1168="BSD 2-clause",peg$c1169=peg$literalExpectation("BSD 2-clause",false),peg$c1170="BSD 3-clause",peg$c1171=peg$literalExpectation("BSD 3-clause",false),peg$c1172="Apache 2.0",peg$c1173=peg$literalExpectation("Apache 2.0",false),peg$c1174="Mozilla 2.0",peg$c1175=peg$literalExpectation("Mozilla 2.0",false),peg$c1176="Public domain",peg$c1177=peg$literalExpectation("Public domain",false),peg$c1178="GPL v2",peg$c1179=peg$literalExpectation("GPL v2",false),peg$c1180="GPL v3",peg$c1181=peg$literalExpectation("GPL v3",false),peg$c1182="LGPL v2.1",peg$c1183=peg$literalExpectation("LGPL v2.1",false),peg$c1184="LGPL v3.0",peg$c1185=peg$literalExpectation("LGPL v3.0",false),peg$c1186="Unknown",peg$c1187=peg$literalExpectation("Unknown",false),peg$c1188=peg$otherExpectation("direction"),peg$c1189="up",peg$c1190=peg$literalExpectation("up",false),peg$c1191="right",peg$c1192=peg$literalExpectation("right",false),peg$c1193="down",peg$c1194=peg$literalExpectation("down",false),peg$c1195="left",peg$c1196=peg$literalExpectation("left",false),peg$c1197=peg$otherExpectation("hook definition (open/closed)"),peg$c1198="open",peg$c1199=peg$literalExpectation("open",false),peg$c1200="closed",peg$c1201=peg$literalExpectation("closed",false),peg$c1202="machine_author",peg$c1203=peg$literalExpectation("machine_author",false),peg$c1204=function(value){return{key:"machine_author",value:value}},peg$c1205="machine_contributor",peg$c1206=peg$literalExpectation("machine_contributor",false),peg$c1207=function(value){return{key:"machine_contributor",value:value}},peg$c1208="machine_comment",peg$c1209=peg$literalExpectation("machine_comment",false),peg$c1210=function(value){return{key:"machine_comment",value:value}},peg$c1211="machine_definition",peg$c1212=peg$literalExpectation("machine_definition",false),peg$c1213=function(value){return{key:"machine_definition",value:value}},peg$c1214="machine_name",peg$c1215=peg$literalExpectation("machine_name",false),peg$c1216=function(value){return{key:"machine_name",value:value}},peg$c1220="machine_version",peg$c1221=peg$literalExpectation("machine_version",false),peg$c1222=function(value){return{key:"machine_version",value:value}},peg$c1223="machine_license",peg$c1224=peg$literalExpectation("machine_license",false),peg$c1225=function(value){return{key:"machine_license",value:value}},peg$c1226="machine_language",peg$c1227=peg$literalExpectation("machine_language",false),peg$c1228=function(value){return{key:"machine_language",value:value}},peg$c1229="fsl_version",peg$c1230=peg$literalExpectation("fsl_version",false),peg$c1231=function(value){return{key:"fsl_version",value:value}},peg$c1232="theme",peg$c1233=peg$literalExpectation("theme",false),peg$c1234=function(value){return{key:"theme",value:value}},peg$c1235="flow",peg$c1236=peg$literalExpectation("flow",false),peg$c1237=function(value){return{key:"flow",value:value}},peg$c1238="hooks",peg$c1239=peg$literalExpectation("hooks",false),peg$c1240=function(value){return{key:"hook_definition",value:value}},peg$c1241="dot_preamble",peg$c1242=peg$literalExpectation("dot_preamble",false),peg$c1243=function(value){return{key:"dot_preamble",value:value}},peg$c1244=peg$otherExpectation("machine attribute"),peg$c1245="color",peg$c1246=peg$literalExpectation("color",false),peg$c1247=function(value){return{key:"color",value:value}},peg$c1248=peg$otherExpectation("text color"),peg$c1249="text-color",peg$c1250=peg$literalExpectation("text-color",false),peg$c1251=function(value){return{key:"text-color",value:value}},peg$c1252=peg$otherExpectation("background color"),peg$c1253="background-color",peg$c1254=peg$literalExpectation("background-color",false),peg$c1255=function(value){return{key:"background-color",value:value}},peg$c1256=peg$otherExpectation("border color"),peg$c1257="border-color",peg$c1258=peg$literalExpectation("border-color",false),peg$c1259=function(value){return{key:"border-color",value:value}},peg$c1260=peg$otherExpectation("shape"),peg$c1261=function(value){return{key:"shape",value:value}},peg$c1262=peg$otherExpectation("corners"),peg$c1263="corners",peg$c1264=peg$literalExpectation("corners",false),peg$c1265=function(value){return{key:"corners",value:value}},peg$c1266=peg$otherExpectation("linestyle"),peg$c1267=function(value){return{key:"linestyle",value:value}},peg$c1268=function(name,value){return{key:"state_declaration",name:name,value:value}},peg$c1269="&",peg$c1270=peg$literalExpectation("&",false),peg$c1271=function(name,value){return{key:"named_list",name:name,value:value}},peg$c1272="null",peg$c1273=peg$literalExpectation("null",false),peg$c1274="undefined",peg$c1275=peg$literalExpectation("undefined",false),peg$c1276=function(){return parseFloat(text())},peg$c1277="Infinity",peg$c1278=peg$literalExpectation("Infinity",false),peg$c1279="NegInfinity",peg$c1280=peg$literalExpectation("NegInfinity",false),peg$c1281="NaN",peg$c1282=peg$literalExpectation("NaN",false),peg$c1283="MaxSafeInt",peg$c1284=peg$literalExpectation("MaxSafeInt",false),peg$c1285="MinSafeInt",peg$c1286=peg$literalExpectation("MinSafeInt",false),peg$c1287=function(chars){return chars.join("")},peg$c1288=function(char){return char},peg$c1289=function(sequence){return sequence},peg$c1290=function(){return"\b"},peg$c1291=function(){return"\f"},peg$c1292=function(){return"\n"},peg$c1293=function(){return"\r"},peg$c1294=function(){return"\t"},peg$c1295=function(){return"\v"},peg$c1296="property",peg$c1297=peg$literalExpectation("property",false),peg$c1298=function(name,default_value){return{key:"property_definition",name:name,default_value:default_value}},peg$c1299=function(name){return{key:"property_definition",name:name}},peg$c1300="arrange",peg$c1301=peg$literalExpectation("arrange",false),peg$c1302=function(value){return{key:"arrange_declaration",value:value}},peg$c1303="arrange-start",peg$c1304=peg$literalExpectation("arrange-start",false),peg$c1305=function(value){return{key:"arrange_start_declaration",value:value}},peg$c1306="arrange-end",peg$c1307=peg$literalExpectation("arrange-end",false),peg$c1308=function(value){return{key:"arrange_end_declaration",value:value}},peg$c1309=peg$otherExpectation("arrange declaration"),peg$currPos=0,peg$savedPos=0,peg$posDetailsCache=[{line:1,column:1}],peg$maxFailPos=0,peg$maxFailExpected=[],peg$silentFails=0,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 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],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(ppeg$maxFailPos){peg$maxFailPos=peg$currPos;peg$maxFailExpected=[]}peg$maxFailExpected.push(expected)}function peg$buildStructuredError(expected,found,location){return new peg$SyntaxError(peg$SyntaxError.buildMessage(expected,found),expected,found,location)}function peg$parseDocument(){var s0,s1,s2,s3;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){s2=peg$parseTermList();if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c0(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseTheme(){var s0;if(input.substr(peg$currPos,4)===peg$c1){s0=peg$c1;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c2)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c3){s0=peg$c3;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c4)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c5){s0=peg$c5;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c6)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c7){s0=peg$c7;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c8)}}}}}return s0}function peg$parseGvizShape(){var s0;if(input.substr(peg$currPos,5)===peg$c9){s0=peg$c9;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c10)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c11){s0=peg$c11;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c12)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c13){s0=peg$c13;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c14)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c15){s0=peg$c15;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c16)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c17){s0=peg$c17;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c18)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c19){s0=peg$c19;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c20)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c21){s0=peg$c21;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c22)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c23){s0=peg$c23;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c24)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c25){s0=peg$c25;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c26)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c27){s0=peg$c27;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c28)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c29){s0=peg$c29;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c30)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c31){s0=peg$c31;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c32)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,13)===peg$c33){s0=peg$c33;peg$currPos+=13}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c34)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c35){s0=peg$c35;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c36)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c37){s0=peg$c37;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c38)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c39){s0=peg$c39;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c40)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c41){s0=peg$c41;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c42)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c43){s0=peg$c43;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c44)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,12)===peg$c45){s0=peg$c45;peg$currPos+=12}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c46)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,13)===peg$c47){s0=peg$c47;peg$currPos+=13}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c48)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,13)===peg$c49){s0=peg$c49;peg$currPos+=13}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c50)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,11)===peg$c51){s0=peg$c51;peg$currPos+=11}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c52)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,12)===peg$c53){s0=peg$c53;peg$currPos+=12}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c54)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c55){s0=peg$c55;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c56)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c57){s0=peg$c57;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c58)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c59){s0=peg$c59;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c60)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c61){s0=peg$c61;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c62)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c63){s0=peg$c63;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c64)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c65){s0=peg$c65;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c66)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c67){s0=peg$c67;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c68)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c69){s0=peg$c69;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c70)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1){s0=peg$c1;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c2)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c71){s0=peg$c71;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c72)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c73){s0=peg$c73;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c74)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c75){s0=peg$c75;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c76)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c77){s0=peg$c77;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c78)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c79){s0=peg$c79;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c80)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c81){s0=peg$c81;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c82)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c83){s0=peg$c83;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c84)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c85){s0=peg$c85;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c86)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c87){s0=peg$c87;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c88)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c89){s0=peg$c89;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c90)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c91){s0=peg$c91;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c92)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c93){s0=peg$c93;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c94)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,15)===peg$c95){s0=peg$c95;peg$currPos+=15}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c96)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,13)===peg$c97){s0=peg$c97;peg$currPos+=13}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c98)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,14)===peg$c99){s0=peg$c99;peg$currPos+=14}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c100)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c101){s0=peg$c101;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c102)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c103){s0=peg$c103;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c104)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c105){s0=peg$c105;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c106)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c107){s0=peg$c107;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c108)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c109){s0=peg$c109;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c110)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c111){s0=peg$c111;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c112)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,12)===peg$c113){s0=peg$c113;peg$currPos+=12}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c114)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,11)===peg$c115){s0=peg$c115;peg$currPos+=11}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c116)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c117){s0=peg$c117;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c118)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c119){s0=peg$c119;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c120)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c121){s0=peg$c121;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c122)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c123){s0=peg$c123;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c124)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c125){s0=peg$c125;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c126)}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}return s0}function peg$parseForwardLightArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c128){s0=peg$c128;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c129)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8594){s1=peg$c130;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c131)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c132()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c127)}}return s0}function peg$parseTwoWayLightArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,3)===peg$c134){s0=peg$c134;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c135)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8596){s1=peg$c136;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c137)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c138()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c133)}}return s0}function peg$parseBackLightArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c140){s0=peg$c140;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c141)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8592){s1=peg$c142;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c143)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c144()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c139)}}return s0}function peg$parseForwardFatArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c146){s0=peg$c146;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c147)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8658){s1=peg$c148;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c149)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c150()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c145)}}return s0}function peg$parseTwoWayFatArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,3)===peg$c152){s0=peg$c152;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c153)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8660){s1=peg$c154;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c155)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c156()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c151)}}return s0}function peg$parseBackFatArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c158){s0=peg$c158;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c159)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8656){s1=peg$c160;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c161)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c162()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c157)}}return s0}function peg$parseForwardTildeArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c164){s0=peg$c164;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c165)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8603){s1=peg$c166;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c167)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c168()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c163)}}return s0}function peg$parseTwoWayTildeArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,3)===peg$c170){s0=peg$c170;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c171)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8622){s1=peg$c172;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c173)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c174()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c169)}}return s0}function peg$parseBackTildeArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c176){s0=peg$c176;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c177)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8602){s1=peg$c178;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c179)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c180()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c175)}}return s0}function peg$parseLightFatArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c182){s0=peg$c182;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c183)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c184){s1=peg$c184;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c185)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c186()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c181)}}return s0}function peg$parseLightTildeArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c188){s0=peg$c188;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c189)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c190){s1=peg$c190;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c191)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c192()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c187)}}return s0}function peg$parseFatLightArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c194){s0=peg$c194;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c195)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c196){s1=peg$c196;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c197)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c198()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c193)}}return s0}function peg$parseFatTildeArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c200){s0=peg$c200;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c201)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c202){s1=peg$c202;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c203)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c204()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c199)}}return s0}function peg$parseTildeLightArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c206){s0=peg$c206;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c207)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c208){s1=peg$c208;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c209)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c210()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c205)}}return s0}function peg$parseTildeFatArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c212){s0=peg$c212;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c213)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c214){s1=peg$c214;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c215)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c216()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c211)}}return s0}function peg$parseLightArrow(){var s0;peg$silentFails++;s0=peg$parseForwardLightArrow();if(s0===peg$FAILED){s0=peg$parseTwoWayLightArrow();if(s0===peg$FAILED){s0=peg$parseBackLightArrow()}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c217)}}return s0}function peg$parseFatArrow(){var s0;peg$silentFails++;s0=peg$parseForwardFatArrow();if(s0===peg$FAILED){s0=peg$parseTwoWayFatArrow();if(s0===peg$FAILED){s0=peg$parseBackFatArrow()}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c218)}}return s0}function peg$parseTildeArrow(){var s0;peg$silentFails++;s0=peg$parseForwardTildeArrow();if(s0===peg$FAILED){s0=peg$parseTwoWayTildeArrow();if(s0===peg$FAILED){s0=peg$parseBackTildeArrow()}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c219)}}return s0}function peg$parseMixedArrow(){var s0;peg$silentFails++;s0=peg$parseLightFatArrow();if(s0===peg$FAILED){s0=peg$parseLightTildeArrow();if(s0===peg$FAILED){s0=peg$parseFatLightArrow();if(s0===peg$FAILED){s0=peg$parseFatTildeArrow();if(s0===peg$FAILED){s0=peg$parseTildeLightArrow();if(s0===peg$FAILED){s0=peg$parseTildeFatArrow()}}}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c220)}}return s0}function peg$parseArrow(){var s0;peg$silentFails++;s0=peg$parseMixedArrow();if(s0===peg$FAILED){s0=peg$parseLightArrow();if(s0===peg$FAILED){s0=peg$parseFatArrow();if(s0===peg$FAILED){s0=peg$parseTildeArrow()}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c221)}}return s0}function peg$parseCorners(){var s0;if(input.substr(peg$currPos,7)===peg$c228){s0=peg$c228;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c229)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c230){s0=peg$c230;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c231)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c232){s0=peg$c232;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c233)}}}}return s0}function peg$parseLineStyle(){var s0;if(input.substr(peg$currPos,5)===peg$c234){s0=peg$c234;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c235)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c236){s0=peg$c236;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c237)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c238){s0=peg$c238;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c239)}}}}return s0}function peg$parseHexDigit(){var s0;if(peg$c240.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c241)}}return s0}function peg$parseChar(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$parseUnescaped();if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseEscape();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===34){s2=peg$c242;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c243)}}if(s2===peg$FAILED){if(input.charCodeAt(peg$currPos)===92){s2=peg$c244;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c245)}}if(s2===peg$FAILED){if(input.charCodeAt(peg$currPos)===47){s2=peg$c246;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c247)}}if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===98){s3=peg$c248;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c249)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c250()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===102){s3=peg$c251;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c252)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c253()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===110){s3=peg$c254;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c255)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c256()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===114){s3=peg$c257;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c258)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c259()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===116){s3=peg$c260;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c261)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c262()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===118){s3=peg$c263;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c264)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c265()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===117){s3=peg$c266;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c267)}}if(s3!==peg$FAILED){s4=peg$currPos;s5=peg$currPos;s6=peg$parseHexDigit();if(s6!==peg$FAILED){s7=peg$parseHexDigit();if(s7!==peg$FAILED){s8=peg$parseHexDigit();if(s8!==peg$FAILED){s9=peg$parseHexDigit();if(s9!==peg$FAILED){s6=[s6,s7,s8,s9];s5=s6}else{peg$currPos=s5;s5=peg$FAILED}}else{peg$currPos=s5;s5=peg$FAILED}}else{peg$currPos=s5;s5=peg$FAILED}}else{peg$currPos=s5;s5=peg$FAILED}if(s5!==peg$FAILED){s4=input.substring(s4,peg$currPos)}else{s4=s5}if(s4!==peg$FAILED){peg$savedPos=s2;s3=peg$c268(s4);s2=s3}else{peg$currPos=s2;s2=peg$FAILED}}else{peg$currPos=s2;s2=peg$FAILED}}}}}}}}}}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c269(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseEscape(){var s0;if(input.charCodeAt(peg$currPos)===92){s0=peg$c244;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c245)}}return s0}function peg$parseQuoteMark(){var s0;if(input.charCodeAt(peg$currPos)===34){s0=peg$c242;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c243)}}return s0}function peg$parseUnescaped(){var s0;if(peg$c270.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c271)}}return s0}function peg$parseActionLabelChar(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$parseActionLabelUnescaped();if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseEscape();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===39){s2=peg$c272;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c273)}}if(s2===peg$FAILED){if(input.charCodeAt(peg$currPos)===92){s2=peg$c244;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c245)}}if(s2===peg$FAILED){if(input.charCodeAt(peg$currPos)===47){s2=peg$c246;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c247)}}if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===98){s3=peg$c248;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c249)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c250()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===102){s3=peg$c251;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c252)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c253()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===110){s3=peg$c254;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c255)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c256()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===114){s3=peg$c257;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c258)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c259()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===116){s3=peg$c260;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c261)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c262()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===118){s3=peg$c263;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c264)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c265()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===117){s3=peg$c266;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c267)}}if(s3!==peg$FAILED){s4=peg$currPos;s5=peg$currPos;s6=peg$parseHexDigit();if(s6!==peg$FAILED){s7=peg$parseHexDigit();if(s7!==peg$FAILED){s8=peg$parseHexDigit();if(s8!==peg$FAILED){s9=peg$parseHexDigit();if(s9!==peg$FAILED){s6=[s6,s7,s8,s9];s5=s6}else{peg$currPos=s5;s5=peg$FAILED}}else{peg$currPos=s5;s5=peg$FAILED}}else{peg$currPos=s5;s5=peg$FAILED}}else{peg$currPos=s5;s5=peg$FAILED}if(s5!==peg$FAILED){s4=input.substring(s4,peg$currPos)}else{s4=s5}if(s4!==peg$FAILED){peg$savedPos=s2;s3=peg$c268(s4);s2=s3}else{peg$currPos=s2;s2=peg$FAILED}}else{peg$currPos=s2;s2=peg$FAILED}}}}}}}}}}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c269(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseActionLabelQuoteMark(){var s0;if(input.charCodeAt(peg$currPos)===39){s0=peg$c272;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c273)}}return s0}function peg$parseActionLabelUnescaped(){var s0;if(peg$c274.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c275)}}return s0}function peg$parseActionLabel(){var s0,s1,s2,s3;peg$silentFails++;s0=peg$currPos;s1=peg$parseActionLabelQuoteMark();if(s1!==peg$FAILED){s2=[];s3=peg$parseActionLabelChar();while(s3!==peg$FAILED){s2.push(s3);s3=peg$parseActionLabelChar()}if(s2!==peg$FAILED){s3=peg$parseActionLabelQuoteMark();if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c277(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c276)}}return s0}function peg$parseLineTerminator(){var s0;if(peg$c278.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c279)}}return s0}function peg$parseBlockCommentTail(){var s0,s1,s2;if(input.substr(peg$currPos,2)===peg$c282){s0=peg$c282;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c283)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.length>peg$currPos){s1=input.charAt(peg$currPos);peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c284)}}if(s1!==peg$FAILED){s2=peg$parseBlockCommentTail();if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseBlockComment(){var s0,s1,s2;peg$silentFails++;s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c286){s1=peg$c286;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c287)}}if(s1!==peg$FAILED){s2=peg$parseBlockCommentTail();if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c285)}}return s0}function peg$parseEOF(){var s0,s1;s0=peg$currPos;peg$silentFails++;if(input.length>peg$currPos){s1=input.charAt(peg$currPos);peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c284)}}peg$silentFails--;if(s1===peg$FAILED){s0=void 0}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseLineCommentTail(){var s0,s1,s2;s0=peg$parseLineTerminator();if(s0===peg$FAILED){s0=peg$parseEOF();if(s0===peg$FAILED){s0=peg$currPos;if(input.length>peg$currPos){s1=input.charAt(peg$currPos);peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c284)}}if(s1!==peg$FAILED){s2=peg$parseLineCommentTail();if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}}return s0}function peg$parseLineComment(){var s0,s1,s2;peg$silentFails++;s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c289){s1=peg$c289;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c290)}}if(s1!==peg$FAILED){s2=peg$parseLineCommentTail();if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c288)}}return s0}function peg$parseWS(){var s0,s1,s2;peg$silentFails++;s0=peg$currPos;s1=peg$parseBlockComment();if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseLineComment();if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;s1=[];if(peg$c292.test(input.charAt(peg$currPos))){s2=input.charAt(peg$currPos);peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c293)}}if(s2!==peg$FAILED){while(s2!==peg$FAILED){s1.push(s2);if(peg$c292.test(input.charAt(peg$currPos))){s2=input.charAt(peg$currPos);peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c293)}}}}else{s1=peg$FAILED}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c291)}}return s0}function peg$parseString(){var s0,s1,s2,s3;peg$silentFails++;s0=peg$currPos;s1=peg$parseQuoteMark();if(s1!==peg$FAILED){s2=[];s3=peg$parseChar();while(s3!==peg$FAILED){s2.push(s3);s3=peg$parseChar()}if(s2!==peg$FAILED){s3=peg$parseQuoteMark();if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c277(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c294)}}return s0}function peg$parseAtomFirstLetter(){var s0;if(peg$c295.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c296)}}return s0}function peg$parseAtomLetter(){var s0;if(peg$c297.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c298)}}return s0}function peg$parseAtom(){var s0,s1,s2,s3;peg$silentFails++;s0=peg$currPos;s1=peg$parseAtomFirstLetter();if(s1!==peg$FAILED){s2=[];s3=peg$parseAtomLetter();while(s3!==peg$FAILED){s2.push(s3);s3=peg$parseAtomLetter()}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c300(s1,s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c299)}}return s0}function peg$parseLabel(){var s0;peg$silentFails++;s0=peg$parseAtom();if(s0===peg$FAILED){s0=peg$parseString()}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c301)}}return s0}function peg$parseIntegerLiteral(){var s0,s1,s2,s3;if(input.charCodeAt(peg$currPos)===48){s0=peg$c302;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c303)}}if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseNonZeroDigit();if(s1!==peg$FAILED){s2=[];s3=peg$parseDecimalDigit();while(s3!==peg$FAILED){s2.push(s3);s3=peg$parseDecimalDigit()}if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseDecimalDigit(){var s0;if(peg$c304.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c305)}}return s0}function peg$parseNonZeroDigit(){var s0;if(peg$c306.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c307)}}return s0}function peg$parseNonNegNumber(){var s0,s1,s2,s3,s4;peg$silentFails++;s0=peg$currPos;s1=peg$parseIntegerLiteral();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===46){s2=peg$c309;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c310)}}if(s2!==peg$FAILED){s3=[];s4=peg$parseDecimalDigit();while(s4!==peg$FAILED){s3.push(s4);s4=peg$parseDecimalDigit()}if(s3!==peg$FAILED){s4=peg$parseWS();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){peg$savedPos=s0;s1=peg$c311();s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseIntegerLiteral();if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c311();s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c308)}}return s0}function peg$parseSemVer(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;s1=peg$parseIntegerLiteral();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===46){s2=peg$c309;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c310)}}if(s2!==peg$FAILED){s3=peg$parseIntegerLiteral();if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===46){s4=peg$c309;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c310)}}if(s4!==peg$FAILED){s5=peg$parseIntegerLiteral();if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c312(s1,s3,s5);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseUrlProtocol(){var s0;if(input.substr(peg$currPos,7)===peg$c323){s0=peg$c323;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c324)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c325){s0=peg$c325;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c326)}}}return s0}function peg$parseURL(){var s0,s1,s2,s3;s0=peg$currPos;s1=peg$parseUrlProtocol();if(s1!==peg$FAILED){s2=[];if(peg$c327.test(input.charAt(peg$currPos))){s3=input.charAt(peg$currPos);peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c328)}}if(s3!==peg$FAILED){while(s3!==peg$FAILED){s2.push(s3);if(peg$c327.test(input.charAt(peg$currPos))){s3=input.charAt(peg$currPos);peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c328)}}}}else{s2=peg$FAILED}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c329();s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseSvgColorLabel(){var s0,s1;s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c330){s1=peg$c330;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c331)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c332()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c333){s1=peg$c333;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c334)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c332()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c335){s1=peg$c335;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c336)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c337()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c338){s1=peg$c338;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c339)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c337()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c340){s1=peg$c340;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c341)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c342()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c343){s1=peg$c343;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c344)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c342()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c345){s1=peg$c345;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c346)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c347()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c348){s1=peg$c348;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c349)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c347()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c350){s1=peg$c350;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c351)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c352()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c353){s1=peg$c353;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c354)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c352()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c355){s1=peg$c355;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c356)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c357()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c358){s1=peg$c358;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c359)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c357()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c360){s1=peg$c360;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c361)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c362()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c363){s1=peg$c363;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c364)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c362()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c365){s1=peg$c365;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c366)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c367()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c368){s1=peg$c368;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c369)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c367()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c370){s1=peg$c370;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c371)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c372()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c373){s1=peg$c373;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c374)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c372()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c375){s1=peg$c375;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c376)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c377()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c378){s1=peg$c378;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c379)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c377()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c380){s1=peg$c380;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c381)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c382()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c383){s1=peg$c383;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c384)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c382()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c385){s1=peg$c385;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c386)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c387()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c388){s1=peg$c388;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c389)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c387()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c390){s1=peg$c390;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c391)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c392()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c393){s1=peg$c393;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c394)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c392()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c395){s1=peg$c395;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c396)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c397()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c398){s1=peg$c398;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c399)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c397()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c400){s1=peg$c400;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c401)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c402()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c403){s1=peg$c403;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c404)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c402()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c405){s1=peg$c405;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c406)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c407()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c408){s1=peg$c408;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c409)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c407()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c410){s1=peg$c410;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c411)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c412()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c413){s1=peg$c413;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c414)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c412()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c415){s1=peg$c415;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c416)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c417()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c418){s1=peg$c418;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c419)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c417()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c420){s1=peg$c420;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c421)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c422()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c423){s1=peg$c423;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c424)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c422()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c425){s1=peg$c425;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c426)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c427()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c428){s1=peg$c428;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c429)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c427()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c430){s1=peg$c430;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c431)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c347()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c432){s1=peg$c432;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c433)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c347()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c434){s1=peg$c434;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c435)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c436()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c437){s1=peg$c437;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c438)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c436()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c439){s1=peg$c439;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c440)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c441()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c442){s1=peg$c442;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c443)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c441()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c444){s1=peg$c444;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c445)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c446()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c447){s1=peg$c447;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c448)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c446()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c449){s1=peg$c449;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c450)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c451()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c452){s1=peg$c452;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c453)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c451()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c454){s1=peg$c454;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c455)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c451()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c456){s1=peg$c456;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c457)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c451()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c458){s1=peg$c458;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c459)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c460()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c461){s1=peg$c461;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c462)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c460()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c463){s1=peg$c463;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c464)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c465()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c466){s1=peg$c466;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c467)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c465()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c468){s1=peg$c468;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c469)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c470()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c471){s1=peg$c471;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c472)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c470()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c473){s1=peg$c473;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c474)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c475()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c476){s1=peg$c476;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c477)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c475()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c478){s1=peg$c478;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c479)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c480()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c481){s1=peg$c481;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c482)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c480()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c483){s1=peg$c483;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c484)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c485()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c486){s1=peg$c486;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c487)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c485()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c488){s1=peg$c488;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c489)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c490()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c491){s1=peg$c491;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c492)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c490()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c493){s1=peg$c493;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c494)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c495()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c496){s1=peg$c496;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c497)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c495()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c498){s1=peg$c498;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c499)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c500()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c501){s1=peg$c501;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c502)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c500()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c503){s1=peg$c503;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c504)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c505()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c506){s1=peg$c506;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c507)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c505()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c508){s1=peg$c508;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c509)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c510()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c511){s1=peg$c511;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c512)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c510()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c513){s1=peg$c513;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c514)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c510()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c515){s1=peg$c515;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c516)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c510()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c517){s1=peg$c517;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c518)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c519()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c520){s1=peg$c520;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c521)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c519()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c522){s1=peg$c522;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c523)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c524()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c525){s1=peg$c525;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c526)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c524()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c527){s1=peg$c527;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c528)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c529()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c530){s1=peg$c530;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c531)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c529()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c532){s1=peg$c532;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c533)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c534()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c535){s1=peg$c535;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c536)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c534()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c537){s1=peg$c537;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c538)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c539()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c540){s1=peg$c540;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c541)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c539()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c542){s1=peg$c542;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c543)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c539()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c544){s1=peg$c544;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c545)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c539()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c546){s1=peg$c546;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c547)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c548()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c549){s1=peg$c549;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c550)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c548()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c551){s1=peg$c551;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c552)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c553()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c554){s1=peg$c554;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c555)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c553()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c556){s1=peg$c556;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c557)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c558()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c559){s1=peg$c559;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c560)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c558()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c561){s1=peg$c561;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c562)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c563()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c564){s1=peg$c564;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c565)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c563()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c566){s1=peg$c566;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c567)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c568()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c569){s1=peg$c569;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c570)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c568()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c571){s1=peg$c571;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c572)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c573()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c574){s1=peg$c574;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c575)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c573()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c576){s1=peg$c576;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c577)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c578()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c579){s1=peg$c579;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c580)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c578()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c581){s1=peg$c581;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c582)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c583()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c584){s1=peg$c584;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c585)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c583()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c586){s1=peg$c586;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c587)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c588()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c589){s1=peg$c589;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c590)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c588()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c591){s1=peg$c591;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c592)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c593()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c594){s1=peg$c594;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c595)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c593()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c596){s1=peg$c596;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c597)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c593()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c598){s1=peg$c598;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c599)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c593()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c600){s1=peg$c600;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c601)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c602()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c603){s1=peg$c603;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c604)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c602()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c605){s1=peg$c605;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c606)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c607()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c608){s1=peg$c608;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c609)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c607()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c610){s1=peg$c610;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c611)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c612()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c613){s1=peg$c613;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c614)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c612()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c615){s1=peg$c615;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c616)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c617()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c618){s1=peg$c618;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c619)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c617()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c620){s1=peg$c620;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c621)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c622()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c623){s1=peg$c623;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c624)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c622()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c625){s1=peg$c625;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c626)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c627()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c628){s1=peg$c628;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c629)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c627()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c630){s1=peg$c630;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c631)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c632()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c633){s1=peg$c633;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c634)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c632()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c635){s1=peg$c635;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c636)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c637()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c638){s1=peg$c638;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c639)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c637()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c640){s1=peg$c640;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c641)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c642()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c643){s1=peg$c643;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c644)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c642()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c645){s1=peg$c645;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c646)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c647()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c648){s1=peg$c648;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c649)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c647()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c650){s1=peg$c650;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c651)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c652()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c653){s1=peg$c653;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c654)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c652()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c655){s1=peg$c655;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c656)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c657()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c658){s1=peg$c658;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c659)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c657()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c660){s1=peg$c660;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c661)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c662()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c663){s1=peg$c663;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c664)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c662()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c665){s1=peg$c665;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c666)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c667()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c668){s1=peg$c668;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c669)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c667()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c670){s1=peg$c670;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c671)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c672()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c673){s1=peg$c673;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c674)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c672()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,20)===peg$c675){s1=peg$c675;peg$currPos+=20}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c676)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c677()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,20)===peg$c678){s1=peg$c678;peg$currPos+=20}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c679)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c677()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c680){s1=peg$c680;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c681)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c682()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c683){s1=peg$c683;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c684)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c682()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c685){s1=peg$c685;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c686)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c682()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c687){s1=peg$c687;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c688)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c682()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c689){s1=peg$c689;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c690)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c691()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c692){s1=peg$c692;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c693)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c691()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c694){s1=peg$c694;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c695)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c696()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c697){s1=peg$c697;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c698)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c696()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c699){s1=peg$c699;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c700)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c701()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c702){s1=peg$c702;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c703)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c701()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c704){s1=peg$c704;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c705)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c706()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c707){s1=peg$c707;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c708)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c706()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c709){s1=peg$c709;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c710)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c711()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c712){s1=peg$c712;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c713)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c711()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c714){s1=peg$c714;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c715)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c716()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c717){s1=peg$c717;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c718)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c716()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c719){s1=peg$c719;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c720)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c716()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c721){s1=peg$c721;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c722)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c716()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c723){s1=peg$c723;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c724)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c725()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c726){s1=peg$c726;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c727)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c725()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c728){s1=peg$c728;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c729)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c730()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c731){s1=peg$c731;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c732)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c730()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c733){s1=peg$c733;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c734)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c735()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c736){s1=peg$c736;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c737)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c735()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c738){s1=peg$c738;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c739)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c740()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c741){s1=peg$c741;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c742)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c740()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c743){s1=peg$c743;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c744)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c745()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c746){s1=peg$c746;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c747)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c745()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c748){s1=peg$c748;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c749)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c568()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c750){s1=peg$c750;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c751)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c568()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c752){s1=peg$c752;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c753)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c754()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c755){s1=peg$c755;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c756)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c754()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,16)===peg$c757){s1=peg$c757;peg$currPos+=16}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c758)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c759()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,16)===peg$c760){s1=peg$c760;peg$currPos+=16}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c761)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c759()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c762){s1=peg$c762;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c763)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c764()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c765){s1=peg$c765;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c766)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c764()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c767){s1=peg$c767;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c768)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c769()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c770){s1=peg$c770;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c771)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c769()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c772){s1=peg$c772;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c773)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c774()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c775){s1=peg$c775;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c776)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c774()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c777){s1=peg$c777;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c778)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c779()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c780){s1=peg$c780;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c781)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c779()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c782){s1=peg$c782;peg$currPos+=15}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c783)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c784()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c785){s1=peg$c785;peg$currPos+=15}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c786)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c784()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,17)===peg$c787){s1=peg$c787;peg$currPos+=17}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c788)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c789()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,17)===peg$c790){s1=peg$c790;peg$currPos+=17}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c791)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c789()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c792){s1=peg$c792;peg$currPos+=15}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c793)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c794()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c795){s1=peg$c795;peg$currPos+=15}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c796)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c794()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c797){s1=peg$c797;peg$currPos+=15}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c798)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c799()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c800){s1=peg$c800;peg$currPos+=15}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c801)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c799()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c802){s1=peg$c802;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c803)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c804()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c805){s1=peg$c805;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c806)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c804()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c807){s1=peg$c807;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c808)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c809()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c810){s1=peg$c810;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c811)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c809()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c812){s1=peg$c812;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c813)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c814()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c815){s1=peg$c815;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c816)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c814()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c817){s1=peg$c817;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c818)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c819()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c820){s1=peg$c820;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c821)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c819()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c822){s1=peg$c822;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c823)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c824()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c825){s1=peg$c825;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c826)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c824()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c827){s1=peg$c827;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c828)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c829()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c830){s1=peg$c830;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c831)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c829()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c832){s1=peg$c832;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c833)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c834()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c835){s1=peg$c835;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c836)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c834()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c837){s1=peg$c837;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c838)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c839()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c840){s1=peg$c840;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c841)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c839()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c842){s1=peg$c842;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c843)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c844()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c845){s1=peg$c845;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c846)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c844()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c847){s1=peg$c847;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c848)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c849()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c850){s1=peg$c850;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c851)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c849()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c852){s1=peg$c852;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c853)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c854()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c855){s1=peg$c855;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c856)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c854()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c857){s1=peg$c857;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c858)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c859()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c860){s1=peg$c860;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c861)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c859()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c862){s1=peg$c862;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c863)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c864()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c865){s1=peg$c865;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c866)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c864()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c867){s1=peg$c867;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c868)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c869()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c870){s1=peg$c870;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c871)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c869()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c872){s1=peg$c872;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c873)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c874()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c875){s1=peg$c875;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c876)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c874()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c877){s1=peg$c877;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c878)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c879()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c880){s1=peg$c880;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c881)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c879()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c882){s1=peg$c882;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c883)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c884()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c885){s1=peg$c885;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c886)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c884()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c887){s1=peg$c887;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c888)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c889()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c890){s1=peg$c890;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c891)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c889()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c892){s1=peg$c892;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c893)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c894()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c895){s1=peg$c895;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c896)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c894()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c897){s1=peg$c897;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c898)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c899()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c900){s1=peg$c900;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c901)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c899()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c902){s1=peg$c902;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c903)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c904()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c905){s1=peg$c905;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c906)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c904()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c907){s1=peg$c907;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c908)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c909()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c910){s1=peg$c910;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c911)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c909()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c912){s1=peg$c912;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c913)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c914()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c915){s1=peg$c915;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c916)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c914()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,3)===peg$c917){s1=peg$c917;peg$currPos+=3}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c918)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c919()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,3)===peg$c920){s1=peg$c920;peg$currPos+=3}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c921)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c919()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c922){s1=peg$c922;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c923)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c924()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c925){s1=peg$c925;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c926)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c924()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c927){s1=peg$c927;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c928)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c929()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c930){s1=peg$c930;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c931)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c929()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c932){s1=peg$c932;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c933)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c934()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c935){s1=peg$c935;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c936)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c934()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c937){s1=peg$c937;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c938)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c939()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c940){s1=peg$c940;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c941)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c939()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c942){s1=peg$c942;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c943)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c944()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c945){s1=peg$c945;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c946)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c944()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c947){s1=peg$c947;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c948)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c949()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c950){s1=peg$c950;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c951)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c949()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c952){s1=peg$c952;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c953)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c954()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c955){s1=peg$c955;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c956)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c954()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c957){s1=peg$c957;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c958)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c959()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c960){s1=peg$c960;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c961)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c959()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c962){s1=peg$c962;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c963)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c964()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c965){s1=peg$c965;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c966)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c964()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c967){s1=peg$c967;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c968)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c969()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c970){s1=peg$c970;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c971)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c969()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c972){s1=peg$c972;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c973)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c974()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c975){s1=peg$c975;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c976)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c974()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c977){s1=peg$c977;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c978)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c979()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c980){s1=peg$c980;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c981)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c979()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c982){s1=peg$c982;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c983)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c979()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c984){s1=peg$c984;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c985)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c979()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c986){s1=peg$c986;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c987)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c988()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c989){s1=peg$c989;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c990)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c988()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c991){s1=peg$c991;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c992)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c993()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c994){s1=peg$c994;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c995)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c993()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c996){s1=peg$c996;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c997)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c998()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c999){s1=peg$c999;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1000)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c998()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,3)===peg$c1001){s1=peg$c1001;peg$currPos+=3}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1002)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1003()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,3)===peg$c1004){s1=peg$c1004;peg$currPos+=3}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1005)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1003()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c1006){s1=peg$c1006;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1007)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1008()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c1009){s1=peg$c1009;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1010)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1008()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c1011){s1=peg$c1011;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1012)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1013()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c1014){s1=peg$c1014;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1015)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1013()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c1016){s1=peg$c1016;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1017)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1018()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c1019){s1=peg$c1019;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1020)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1018()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c1021){s1=peg$c1021;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1022)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1023()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c1024){s1=peg$c1024;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1025)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1023()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c1026){s1=peg$c1026;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1027)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1028()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c1029){s1=peg$c1029;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1030)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1028()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c1031){s1=peg$c1031;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1032)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1033()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c1034){s1=peg$c1034;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1035)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1033()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c1036){s1=peg$c1036;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1037)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1038()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c1039){s1=peg$c1039;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1040)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1038()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c1041){s1=peg$c1041;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1042)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1043()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c1044){s1=peg$c1044;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1045)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1043()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c1046){s1=peg$c1046;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1047)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1048()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c1049){s1=peg$c1049;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1050)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1048()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c1051){s1=peg$c1051;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1052)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1053()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c1054){s1=peg$c1054;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1055)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1053()}s0=s1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}return s0}function peg$parseSvgColor(){var s0,s1,s2;s0=peg$currPos;s1=peg$parseSvgColorLabel();if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c1056(s1);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseRgb3(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===35){s1=peg$c1057;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1058)}}if(s1!==peg$FAILED){s2=peg$parseHexDigit();if(s2!==peg$FAILED){s3=peg$parseHexDigit();if(s3!==peg$FAILED){s4=peg$parseHexDigit();if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c1059(s2,s3,s4);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseRgb6(){var s0,s1,s2,s3,s4,s5,s6,s7,s8;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===35){s1=peg$c1057;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1058)}}if(s1!==peg$FAILED){s2=peg$parseHexDigit();if(s2!==peg$FAILED){s3=peg$parseHexDigit();if(s3!==peg$FAILED){s4=peg$parseHexDigit();if(s4!==peg$FAILED){s5=peg$parseHexDigit();if(s5!==peg$FAILED){s6=peg$parseHexDigit();if(s6!==peg$FAILED){s7=peg$parseHexDigit();if(s7!==peg$FAILED){s8=peg$parseWS();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){peg$savedPos=s0;s1=peg$c1060(s2,s3,s4,s5,s6,s7);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseRgba4(){var s0,s1,s2,s3,s4,s5,s6;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===35){s1=peg$c1057;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1058)}}if(s1!==peg$FAILED){s2=peg$parseHexDigit();if(s2!==peg$FAILED){s3=peg$parseHexDigit();if(s3!==peg$FAILED){s4=peg$parseHexDigit();if(s4!==peg$FAILED){s5=peg$parseHexDigit();if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){peg$savedPos=s0;s1=peg$c1061(s2,s3,s4,s5);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseRgba8(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===35){s1=peg$c1057;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1058)}}if(s1!==peg$FAILED){s2=peg$parseHexDigit();if(s2!==peg$FAILED){s3=peg$parseHexDigit();if(s3!==peg$FAILED){s4=peg$parseHexDigit();if(s4!==peg$FAILED){s5=peg$parseHexDigit();if(s5!==peg$FAILED){s6=peg$parseHexDigit();if(s6!==peg$FAILED){s7=peg$parseHexDigit();if(s7!==peg$FAILED){s8=peg$parseHexDigit();if(s8!==peg$FAILED){s9=peg$parseHexDigit();if(s9!==peg$FAILED){s10=peg$parseWS();if(s10===peg$FAILED){s10=null}if(s10!==peg$FAILED){peg$savedPos=s0;s1=peg$c1062(s2,s3,s4,s5,s6,s7,s8,s9);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseColor(){var s0;peg$silentFails++;s0=peg$parseSvgColor();if(s0===peg$FAILED){s0=peg$parseRgba8();if(s0===peg$FAILED){s0=peg$parseRgb6();if(s0===peg$FAILED){s0=peg$parseRgba4();if(s0===peg$FAILED){s0=peg$parseRgb3()}}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c1063)}}return s0}function peg$parseArrowItemKey(){var s0;if(input.substr(peg$currPos,9)===peg$c1064){s0=peg$c1064;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1065)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1066){s0=peg$c1066;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1067)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1068){s0=peg$c1068;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1069)}}}}return s0}function peg$parseArrowItem(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){s2=peg$parseArrowItemKey();if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabel();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1074(s2,s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseSingleEdgeColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1076){s2=peg$c1076;peg$currPos+=10}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1077)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1078(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1075)}}return s0}function peg$parseTransitionLineStyle(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,9)===peg$c1080){s2=peg$c1080;peg$currPos+=9}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1081)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLineStyle();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1082(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1079)}}return s0}function peg$parseArrowItems(){var s0,s1;s0=peg$parseSingleEdgeColor();if(s0===peg$FAILED){s0=peg$parseTransitionLineStyle();if(s0===peg$FAILED){s0=[];s1=peg$parseArrowItem();if(s1!==peg$FAILED){while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseArrowItem()}}else{s0=peg$FAILED}}}return s0}function peg$parseArrowDesc(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===123){s1=peg$c1083;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=peg$parseArrowItems();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){s4=peg$parseWS();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){if(input.charCodeAt(peg$currPos)===125){s5=peg$c1085;peg$currPos++}else{s5=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1086)}}if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c1087(s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseArrowProbability(){var s0,s1,s2;s0=peg$currPos;s1=peg$parseNonNegNumber();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===37){s2=peg$c1088;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1089)}}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c1090(s1);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseLabelList(){var s0,s1,s2,s3,s4,s5,s6;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===91){s1=peg$c1091;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1092)}}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=[];s4=peg$currPos;s5=peg$parseLabel();if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){s5=[s5,s6];s4=s5}else{peg$currPos=s4;s4=peg$FAILED}}else{peg$currPos=s4;s4=peg$FAILED}while(s4!==peg$FAILED){s3.push(s4);s4=peg$currPos;s5=peg$parseLabel();if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){s5=[s5,s6];s4=s5}else{peg$currPos=s4;s4=peg$FAILED}}else{peg$currPos=s4;s4=peg$FAILED}}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===93){s4=peg$c1093;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1094)}}if(s4!==peg$FAILED){peg$savedPos=s0;s1=peg$c1095(s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseLabelOrLabelList(){var s0;s0=peg$parseLabelList();if(s0===peg$FAILED){s0=peg$parseLabel()}return s0}function peg$parseStripe(){var s0,s1,s2,s3,s4;s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c1096){s1=peg$c1096;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1097)}}if(s1!==peg$FAILED){s2=peg$parseNonZeroDigit();if(s2!==peg$FAILED){s3=[];s4=peg$parseDecimalDigit();while(s4!==peg$FAILED){s3.push(s4);s4=peg$parseDecimalDigit()}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c1098(s2,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c1099){s1=peg$c1099;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1100)}}if(s1!==peg$FAILED){s2=peg$parseNonZeroDigit();if(s2!==peg$FAILED){s3=[];s4=peg$parseDecimalDigit();while(s4!==peg$FAILED){s3.push(s4);s4=peg$parseDecimalDigit()}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c1101(s2,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseCycle(){var s0,s1,s2,s3,s4;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===43){s1=peg$c1102;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1103)}}if(s1!==peg$FAILED){s2=peg$parseNonZeroDigit();if(s2!==peg$FAILED){s3=[];s4=peg$parseDecimalDigit();while(s4!==peg$FAILED){s3.push(s4);s4=peg$parseDecimalDigit()}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c1104(s2,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===45){s1=peg$c1105;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1106)}}if(s1!==peg$FAILED){s2=peg$parseNonZeroDigit();if(s2!==peg$FAILED){s3=[];s4=peg$parseDecimalDigit();while(s4!==peg$FAILED){s3.push(s4);s4=peg$parseDecimalDigit()}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c1107(s2,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c1108){s1=peg$c1108;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1109)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1110()}s0=s1}}return s0}function peg$parseArrowTarget(){var s0;s0=peg$parseStripe();if(s0===peg$FAILED){s0=peg$parseCycle();if(s0===peg$FAILED){s0=peg$parseLabelList();if(s0===peg$FAILED){s0=peg$parseLabel()}}}return s0}function peg$parseSubexp(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,s18;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){s2=peg$parseActionLabel();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){s4=peg$parseArrowProbability();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseArrowDesc();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseArrow();if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){s10=peg$parseArrowDesc();if(s10===peg$FAILED){s10=null}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){s12=peg$parseArrowProbability();if(s12===peg$FAILED){s12=null}if(s12!==peg$FAILED){s13=peg$parseWS();if(s13===peg$FAILED){s13=null}if(s13!==peg$FAILED){s14=peg$parseActionLabel();if(s14===peg$FAILED){s14=null}if(s14!==peg$FAILED){s15=peg$parseWS();if(s15===peg$FAILED){s15=null}if(s15!==peg$FAILED){s16=peg$parseArrowTarget();if(s16!==peg$FAILED){s17=peg$parseWS();if(s17===peg$FAILED){s17=null}if(s17!==peg$FAILED){s18=peg$parseSubexp();if(s18===peg$FAILED){s18=null}if(s18!==peg$FAILED){peg$savedPos=s0;s1=peg$c1111(s2,s4,s6,s8,s10,s12,s14,s16,s18);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseExp(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;s1=peg$parseArrowTarget();if(s1!==peg$FAILED){s2=peg$parseSubexp();if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s4=peg$c1072;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c1112(s1,s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseValidationKey(){var s0;if(input.substr(peg$currPos,9)===peg$c1113){s0=peg$c1113;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1114)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1115){s0=peg$c1115;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1116)}}}return s0}function peg$parseValidationItem(){var s0,s1,s2,s3,s4;s0=peg$currPos;s1=peg$parseValidationKey();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s2=peg$c1070;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s2!==peg$FAILED){s3=peg$parseLabel();if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s4=peg$c1072;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s4!==peg$FAILED){peg$savedPos=s0;s1=peg$c1117(s1,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseValidationItems(){var s0,s1;s0=[];s1=peg$parseValidationItem();if(s1!==peg$FAILED){while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseValidationItem()}}else{s0=peg$FAILED}return s0}function peg$parseConfigValidation(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1118){s2=peg$c1118;peg$currPos+=10}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1119)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c1083;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseValidationItems();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c1120){s10=peg$c1120;peg$currPos+=2}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1121)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1122(s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseGvizLayout(){var s0;if(input.substr(peg$currPos,3)===peg$c1123){s0=peg$c1123;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1124)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1125){s0=peg$c1125;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1126)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c1127){s0=peg$c1127;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1128)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1129){s0=peg$c1129;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1130)}}}}}return s0}function peg$parseStateItemShape(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1131){s2=peg$c1131;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1132)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseGvizShape();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1133(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseStateItems(){var s0,s1;s0=[];s1=peg$parseStateItemShape();if(s1!==peg$FAILED){while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseStateItemShape()}}else{s0=peg$FAILED}return s0}function peg$parseConfigState(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1134){s2=peg$c1134;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1135)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c1083;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseStateItems();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c1120){s10=peg$c1120;peg$currPos+=2}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1121)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1136(s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigStartState(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,11)===peg$c1137){s2=peg$c1137;peg$currPos+=11}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1138)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c1083;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseStateItems();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c1120){s10=peg$c1120;peg$currPos+=2}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1121)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1139(s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigEndState(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,9)===peg$c1140){s2=peg$c1140;peg$currPos+=9}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1141)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c1083;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseStateItems();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c1120){s10=peg$c1120;peg$currPos+=2}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1121)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1142(s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigAnyState(){var s0;s0=peg$parseConfigState();if(s0===peg$FAILED){s0=peg$parseConfigStartState();if(s0===peg$FAILED){s0=peg$parseConfigEndState()}}return s0}function peg$parseActionKey(){var s0;if(input.substr(peg$currPos,9)===peg$c1113){s0=peg$c1113;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1114)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1115){s0=peg$c1115;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1116)}}}return s0}function peg$parseActionItem(){var s0,s1,s2,s3,s4;s0=peg$currPos;s1=peg$parseActionKey();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s2=peg$c1070;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s2!==peg$FAILED){s3=peg$parseLabel();if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s4=peg$c1072;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s4!==peg$FAILED){peg$savedPos=s0;s1=peg$c1143(s1,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseActionItems(){var s0,s1;s0=[];s1=peg$parseActionItem();if(s1!==peg$FAILED){while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseActionItem()}}else{s0=peg$FAILED}return s0}function peg$parseConfigAction(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,6)===peg$c1144){s2=peg$c1144;peg$currPos+=6}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1145)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c1083;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseActionItems();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c1120){s10=peg$c1120;peg$currPos+=2}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1121)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1146(s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseTransitionKey(){var s0;if(input.substr(peg$currPos,9)===peg$c1113){s0=peg$c1113;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1114)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1115){s0=peg$c1115;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1116)}}}return s0}function peg$parseTransitionItem(){var s0,s1,s2,s3,s4;s0=peg$currPos;s1=peg$parseTransitionKey();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s2=peg$c1070;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s2!==peg$FAILED){s3=peg$parseLabel();if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s4=peg$c1072;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s4!==peg$FAILED){peg$savedPos=s0;s1=peg$c1147(s1,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseTransitionItems(){var s0,s1;s0=peg$parseGraphDefaultEdgeColor();if(s0===peg$FAILED){s0=[];s1=peg$parseTransitionItem();if(s1!==peg$FAILED){while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseTransitionItem()}}else{s0=peg$FAILED}}return s0}function peg$parseGraphDefaultEdgeColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1076){s2=peg$c1076;peg$currPos+=10}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1077)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1149(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1148)}}return s0}function peg$parseConfigTransition(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1150){s2=peg$c1150;peg$currPos+=10}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1151)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c1083;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseTransitionItems();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c1120){s10=peg$c1120;peg$currPos+=2}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1121)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1152(s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigGraphLayout(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1153){s2=peg$c1153;peg$currPos+=12}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1154)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseGvizLayout();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1155(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigStartNodes(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1156){s2=peg$c1156;peg$currPos+=12}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1157)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabelList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1158(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigEndNodes(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1159){s2=peg$c1159;peg$currPos+=10}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1160)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabelList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1161(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigGraphBgColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,14)===peg$c1162){s2=peg$c1162;peg$currPos+=14}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1163)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1164(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfig(){var s0;peg$silentFails++;s0=peg$parseConfigGraphLayout();if(s0===peg$FAILED){s0=peg$parseConfigStartNodes();if(s0===peg$FAILED){s0=peg$parseConfigEndNodes();if(s0===peg$FAILED){s0=peg$parseConfigTransition();if(s0===peg$FAILED){s0=peg$parseConfigAction();if(s0===peg$FAILED){s0=peg$parseConfigAnyState();if(s0===peg$FAILED){s0=peg$parseConfigValidation();if(s0===peg$FAILED){s0=peg$parseConfigGraphBgColor()}}}}}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c1165)}}return s0}function peg$parseLicenseOrLabelOrList(){var s0;if(input.substr(peg$currPos,3)===peg$c1166){s0=peg$c1166;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1167)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1168){s0=peg$c1168;peg$currPos+=12}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1169)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1170){s0=peg$c1170;peg$currPos+=12}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1171)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1172){s0=peg$c1172;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1173)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,11)===peg$c1174){s0=peg$c1174;peg$currPos+=11}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1175)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,13)===peg$c1176){s0=peg$c1176;peg$currPos+=13}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1177)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c1178){s0=peg$c1178;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1179)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c1180){s0=peg$c1180;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1181)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c1182){s0=peg$c1182;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1183)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c1184){s0=peg$c1184;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1185)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c1186){s0=peg$c1186;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1187)}}if(s0===peg$FAILED){s0=peg$parseLabel();if(s0===peg$FAILED){s0=peg$parseLabelList()}}}}}}}}}}}}return s0}function peg$parseDirection(){var s0;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c1189){s0=peg$c1189;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1190)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1191){s0=peg$c1191;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1192)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1193){s0=peg$c1193;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1194)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1195){s0=peg$c1195;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1196)}}}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c1188)}}return s0}function peg$parseHookDefinition(){var s0;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c1198){s0=peg$c1198;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1199)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c1200){s0=peg$c1200;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1201)}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c1197)}}return s0}function peg$parseMachineAuthor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,14)===peg$c1202){s2=peg$c1202;peg$currPos+=14}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1203)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabelOrLabelList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1204(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineContributor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,19)===peg$c1205){s2=peg$c1205;peg$currPos+=19}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1206)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabelOrLabelList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1207(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineComment(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,15)===peg$c1208){s2=peg$c1208;peg$currPos+=15}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1209)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabelOrLabelList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1210(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineDefinition(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,18)===peg$c1211){s2=peg$c1211;peg$currPos+=18}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1212)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseURL();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1213(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineName(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1214){s2=peg$c1214;peg$currPos+=12}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1215)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabel();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1216(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineVersion(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,15)===peg$c1220){s2=peg$c1220;peg$currPos+=15}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1221)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseSemVer();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1222(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineLicense(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,15)===peg$c1223){s2=peg$c1223;peg$currPos+=15}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1224)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLicenseOrLabelOrList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1225(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineLanguage(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,16)===peg$c1226){s2=peg$c1226;peg$currPos+=16}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1227)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabel();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1228(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseFslVersion(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,11)===peg$c1229){s2=peg$c1229;peg$currPos+=11}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1230)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseSemVer();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1231(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineTheme(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1232){s2=peg$c1232;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1233)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseTheme();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1234(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineFlow(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1235){s2=peg$c1235;peg$currPos+=4}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1236)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseDirection();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1237(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineHookDefinition(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1238){s2=peg$c1238;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1239)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseHookDefinition();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1240(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseDotPreamble(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1241){s2=peg$c1241;peg$currPos+=12}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1242)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseString();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1243(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineAttribute(){var s0;peg$silentFails++;s0=peg$parseFslVersion();if(s0===peg$FAILED){s0=peg$parseMachineName();if(s0===peg$FAILED){s0=peg$parseMachineAuthor();if(s0===peg$FAILED){s0=peg$parseMachineContributor();if(s0===peg$FAILED){s0=peg$parseMachineComment();if(s0===peg$FAILED){s0=peg$parseMachineDefinition();if(s0===peg$FAILED){s0=peg$parseMachineVersion();if(s0===peg$FAILED){s0=peg$parseMachineLicense();if(s0===peg$FAILED){s0=peg$parseMachineLanguage();if(s0===peg$FAILED){s0=peg$parseMachineTheme();if(s0===peg$FAILED){s0=peg$parseDotPreamble();if(s0===peg$FAILED){s0=peg$parseMachineFlow();if(s0===peg$FAILED){s0=peg$parseMachineHookDefinition()}}}}}}}}}}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c1244)}}return s0}function peg$parseSdStateColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1245){s2=peg$c1245;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1246)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1247(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1063)}}return s0}function peg$parseSdStateTextColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1249){s2=peg$c1249;peg$currPos+=10}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1250)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1251(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1248)}}return s0}function peg$parseSdStateBackgroundColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,16)===peg$c1253){s2=peg$c1253;peg$currPos+=16}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1254)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1255(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1252)}}return s0}function peg$parseSdStateBorderColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1257){s2=peg$c1257;peg$currPos+=12}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1258)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1259(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1256)}}return s0}function peg$parseSdStateShape(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1131){s2=peg$c1131;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1132)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseGvizShape();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1261(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1260)}}return s0}function peg$parseSdStateCorners(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,7)===peg$c1263){s2=peg$c1263;peg$currPos+=7}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1264)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseCorners();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1265(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1262)}}return s0}function peg$parseSdStateLineStyle(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,9)===peg$c1080){s2=peg$c1080;peg$currPos+=9}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1081)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLineStyle();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1267(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1266)}}return s0}function peg$parseStateDeclarationItems(){var s0;s0=peg$parseSdStateColor();if(s0===peg$FAILED){s0=peg$parseSdStateTextColor();if(s0===peg$FAILED){s0=peg$parseSdStateBackgroundColor();if(s0===peg$FAILED){s0=peg$parseSdStateBorderColor();if(s0===peg$FAILED){s0=peg$parseSdStateShape();if(s0===peg$FAILED){s0=peg$parseSdStateCorners();if(s0===peg$FAILED){s0=peg$parseSdStateLineStyle()}}}}}}return s0}function peg$parseStateDeclarationDesc(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===123){s1=peg$c1083;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=[];s4=peg$parseStateDeclarationItems();while(s4!==peg$FAILED){s3.push(s4);s4=peg$parseStateDeclarationItems()}if(s3!==peg$FAILED){s4=peg$parseWS();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){if(input.charCodeAt(peg$currPos)===125){s5=peg$c1085;peg$currPos++}else{s5=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1086)}}if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c1087(s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseStateDeclaration(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1134){s2=peg$c1134;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1135)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3!==peg$FAILED){s4=peg$parseLabel();if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s6=peg$c1070;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseStateDeclarationDesc();if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s10=peg$c1072;peg$currPos++}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1268(s4,s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseNamedList(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===38){s2=peg$c1269;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1270)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){s4=peg$parseLabel();if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s6=peg$c1070;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseLabelOrLabelList();if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s10=peg$c1072;peg$currPos++}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1271(s4,s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachinePropertyDefaultNull(){var s0;if(input.substr(peg$currPos,4)===peg$c1272){s0=peg$c1272;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1273)}}return s0}function peg$parseMachinePropertyDefaultUndefined(){var s0;if(input.substr(peg$currPos,9)===peg$c1274){s0=peg$c1274;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1275)}}return s0}function peg$parseMachinePropertyDefaultBoolean(){var s0;if(input.substr(peg$currPos,4)===peg$c222){s0=peg$c222;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c223)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c225){s0=peg$c225;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c226)}}}return s0}function peg$parseMachinePropertyDefaultNumber(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===45){s1=peg$c1105;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1106)}}if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){s2=peg$parseIntegerLiteral();if(s2!==peg$FAILED){if(input.charCodeAt(peg$currPos)===46){s3=peg$c309;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c310)}}if(s3!==peg$FAILED){s4=[];s5=peg$parseDecimalDigit();while(s5!==peg$FAILED){s4.push(s5);s5=peg$parseDecimalDigit()}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c1276();s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===45){s1=peg$c1105;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1106)}}if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){s2=peg$parseIntegerLiteral();if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c1276();s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c1277){s0=peg$c1277;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1278)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,11)===peg$c1279){s0=peg$c1279;peg$currPos+=11}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1280)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c1281){s0=peg$c1281;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1282)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1283){s0=peg$c1283;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1284)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1285){s0=peg$c1285;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1286)}}}}}}}}return s0}function peg$parseMachinePropertyDefaultString(){var s0,s1,s2,s3;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===34){s1=peg$c242;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c243)}}if(s1!==peg$FAILED){s2=[];s3=peg$parseMachinePropertyDefaultStringCharacter();while(s3!==peg$FAILED){s2.push(s3);s3=peg$parseMachinePropertyDefaultStringCharacter()}if(s2!==peg$FAILED){if(input.charCodeAt(peg$currPos)===34){s3=peg$c242;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c243)}}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c1287(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachinePropertyDefaultStringCharacter(){var s0,s1,s2;s0=peg$currPos;s1=peg$currPos;peg$silentFails++;if(input.charCodeAt(peg$currPos)===34){s2=peg$c242;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c243)}}if(s2===peg$FAILED){if(input.charCodeAt(peg$currPos)===92){s2=peg$c244;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c245)}}}peg$silentFails--;if(s2===peg$FAILED){s1=void 0}else{peg$currPos=s1;s1=peg$FAILED}if(s1!==peg$FAILED){if(input.length>peg$currPos){s2=input.charAt(peg$currPos);peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c284)}}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c1288(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===92){s1=peg$c244;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c245)}}if(s1!==peg$FAILED){s2=peg$parseMachinePropertyDefaultStringEscapeSequence();if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c1289(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseMachinePropertyDefaultStringEscapeSequence(){var s0,s1;if(input.charCodeAt(peg$currPos)===39){s0=peg$c272;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c273)}}if(s0===peg$FAILED){if(input.charCodeAt(peg$currPos)===34){s0=peg$c242;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c243)}}if(s0===peg$FAILED){if(input.charCodeAt(peg$currPos)===92){s0=peg$c244;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c245)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===98){s1=peg$c248;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c249)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1290()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===102){s1=peg$c251;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c252)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1291()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===110){s1=peg$c254;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c255)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1292()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===114){s1=peg$c257;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c258)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1293()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===116){s1=peg$c260;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c261)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1294()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===118){s1=peg$c263;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c264)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1295()}s0=s1}}}}}}}}return s0}function peg$parseMachinePropertyDefault(){var s0;s0=peg$parseMachinePropertyDefaultNull();if(s0===peg$FAILED){s0=peg$parseMachinePropertyDefaultUndefined();if(s0===peg$FAILED){s0=peg$parseMachinePropertyDefaultBoolean();if(s0===peg$FAILED){s0=peg$parseMachinePropertyDefaultNumber();if(s0===peg$FAILED){s0=peg$parseMachinePropertyDefaultString()}}}}return s0}function peg$parseMachineProperty(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,8)===peg$c1296){s2=peg$c1296;peg$currPos+=8}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1297)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){s4=peg$parseLabel();if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.substr(peg$currPos,7)===peg$c3){s6=peg$c3;peg$currPos+=7}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c4)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7!==peg$FAILED){s8=peg$parseMachinePropertyDefault();if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s10=peg$c1072;peg$currPos++}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1298(s4,s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,8)===peg$c1296){s2=peg$c1296;peg$currPos+=8}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1297)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){s4=peg$parseLabel();if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s6=peg$c1072;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){peg$savedPos=s0;s1=peg$c1299(s4);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseRegularArrangeDeclaration(){var s0,s1,s2,s3,s4,s5,s6;s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c1300){s1=peg$c1300;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1301)}}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=peg$parseLabelOrLabelList();if(s3!==peg$FAILED){s4=peg$parseWS();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s5=peg$c1072;peg$currPos++}else{s5=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){peg$savedPos=s0;s1=peg$c1302(s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseArrangeStartDeclaration(){var s0,s1,s2,s3,s4,s5,s6;s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c1303){s1=peg$c1303;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1304)}}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=peg$parseLabelOrLabelList();if(s3!==peg$FAILED){s4=peg$parseWS();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s5=peg$c1072;peg$currPos++}else{s5=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){peg$savedPos=s0;s1=peg$c1305(s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseArrangeEndDeclaration(){var s0,s1,s2,s3,s4,s5,s6;s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c1306){s1=peg$c1306;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1307)}}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=peg$parseLabelOrLabelList();if(s3!==peg$FAILED){s4=peg$parseWS();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s5=peg$c1072;peg$currPos++}else{s5=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){peg$savedPos=s0;s1=peg$c1308(s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseArrangeDeclaration(){var s0;peg$silentFails++;s0=peg$parseArrangeStartDeclaration();if(s0===peg$FAILED){s0=peg$parseArrangeEndDeclaration();if(s0===peg$FAILED){s0=peg$parseRegularArrangeDeclaration()}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c1309)}}return s0}function peg$parseTerm(){var s0;s0=peg$parseExp();if(s0===peg$FAILED){s0=peg$parseStateDeclaration();if(s0===peg$FAILED){s0=peg$parseArrangeDeclaration();if(s0===peg$FAILED){s0=peg$parseNamedList();if(s0===peg$FAILED){s0=peg$parseMachineAttribute();if(s0===peg$FAILED){s0=peg$parseMachineProperty();if(s0===peg$FAILED){s0=peg$parseConfig()}}}}}}return s0}function peg$parseTermList(){var s0,s1;s0=[];s1=peg$parseTerm();while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseTerm()}return s0}peg$result=peg$startRuleFunction();if(peg$result!==peg$FAILED&&peg$currPos===input.length){return peg$result}else{if(peg$result!==peg$FAILED&&peg$currPos":case"→":case"=>":case"⇒":case"~>":case"↛":return"right";case"<-":case"←":case"<=":case"⇐":case"<~":case"↚":return"left";case"<->":case"↔":case"<-=>":case"←⇒":case"←=>":case"<-⇒":case"<-~>":case"←↛":case"←~>":case"<-↛":case"<=>":case"⇔":case"<=->":case"⇐→":case"⇐->":case"<=→":case"<=~>":case"⇐↛":case"⇐~>":case"<=↛":case"<~>":case"↮":case"<~->":case"↚→":case"↚->":case"<~→":case"<~=>":case"↚⇒":case"↚=>":case"<~⇒":return"both";default:throw new JssmError(undefined,`arrow_direction: unknown arrow type ${arrow}`)}}function arrow_left_kind(arrow){switch(String(arrow)){case"->":case"→":case"=>":case"⇒":case"~>":case"↛":return"none";case"<-":case"←":case"<->":case"↔":case"<-=>":case"←⇒":case"<-~>":case"←↛":return"legal";case"<=":case"⇐":case"<=>":case"⇔":case"<=->":case"⇐→":case"<=~>":case"⇐↛":return"main";case"<~":case"↚":case"<~>":case"↮":case"<~->":case"↚→":case"<~=>":case"↚⇒":return"forced";default:throw new JssmError(undefined,`arrow_direction: unknown arrow type ${arrow}`)}}function arrow_right_kind(arrow){switch(String(arrow)){case"<-":case"←":case"<=":case"⇐":case"<~":case"↚":return"none";case"->":case"→":case"<->":case"↔":case"<=->":case"⇐→":case"<~->":case"↚→":return"legal";case"=>":case"⇒":case"<=>":case"⇔":case"<-=>":case"←⇒":case"<~=>":case"↚⇒":return"main";case"~>":case"↛":case"<~>":case"↮":case"<-~>":case"←↛":case"<=~>":case"⇐↛":return"forced";default:throw new JssmError(undefined,`arrow_direction: unknown arrow type ${arrow}`)}}function makeTransition(this_se,from,to,isRight,_wasList,_wasIndex){const kind=isRight?arrow_right_kind(this_se.kind):arrow_left_kind(this_se.kind),edge={from:from,to:to,kind:kind,forced_only:kind==="forced",main_path:kind==="main"};const action=isRight?"r_action":"l_action",probability=isRight?"r_probability":"l_probability";if(this_se[action]){edge.action=this_se[action]}if(this_se[probability]){edge.probability=this_se[probability]}return edge}function wrap_parse(input,options){return peg$parse(input,options||{})}function compile_rule_transition_step(acc,from,to,this_se,next_se){const edges=[];const uFrom=Array.isArray(from)?from:[from],uTo=Array.isArray(to)?to:[to];uFrom.map((f=>{uTo.map((t=>{const right=makeTransition(this_se,f,t,true);if(right.kind!=="none"){edges.push(right)}const left=makeTransition(this_se,t,f,false);if(left.kind!=="none"){edges.push(left)}}))}));const new_acc=acc.concat(edges);if(next_se){return compile_rule_transition_step(new_acc,to,next_se.to,next_se,next_se.se)}else{return new_acc}}function compile_rule_handle_transition(rule){return compile_rule_transition_step([],rule.from,rule.se.to,rule.se,rule.se.se)}function compile_rule_handler(rule){if(rule.key==="transition"){return{agg_as:"transition",val:compile_rule_handle_transition(rule)}}if(rule.key==="machine_language"){return{agg_as:"machine_language",val:reduceTo6391.reduce(rule.value)}}if(rule.key==="state_declaration"){if(!rule.name){throw new JssmError(undefined,"State declarations must have a name")}return{agg_as:"state_declaration",val:{state:rule.name,declarations:rule.value}}}if(["arrange_declaration","arrange_start_declaration","arrange_end_declaration"].includes(rule.key)){return{agg_as:rule.key,val:[rule.value]}}const tautologies=["graph_layout","start_states","end_states","machine_name","machine_version","machine_comment","machine_author","machine_contributor","machine_definition","machine_reference","machine_license","fsl_version","state_config","theme","flow","dot_preamble"];if(tautologies.includes(rule.key)){return{agg_as:rule.key,val:rule.value}}throw new JssmError(undefined,`compile_rule_handler: Unknown rule: ${JSON.stringify(rule)}`)}function compile(tree){const results={graph_layout:[],transition:[],start_states:[],end_states:[],state_config:[],state_declaration:[],fsl_version:[],machine_author:[],machine_comment:[],machine_contributor:[],machine_definition:[],machine_language:[],machine_license:[],machine_name:[],machine_reference:[],theme:[],flow:[],dot_preamble:[],arrange_declaration:[],arrange_start_declaration:[],arrange_end_declaration:[],machine_version:[]};tree.map((tr=>{const rule=compile_rule_handler(tr),agg_as=rule.agg_as,val=rule.val;results[agg_as]=results[agg_as].concat(val)}));const assembled_transitions=[].concat(...results["transition"]);const result_cfg={start_states:results.start_states.length?results.start_states:[assembled_transitions[0].from],transitions:assembled_transitions};const oneOnlyKeys=["graph_layout","machine_name","machine_version","machine_comment","fsl_version","machine_license","machine_definition","machine_language","theme","flow","dot_preamble"];oneOnlyKeys.map((oneOnlyKey=>{if(results[oneOnlyKey].length>1){throw new JssmError(undefined,`May only have one ${oneOnlyKey} statement maximum: ${JSON.stringify(results[oneOnlyKey])}`)}else{if(results[oneOnlyKey].length){result_cfg[oneOnlyKey]=results[oneOnlyKey][0]}}}));["arrange_declaration","arrange_start_declaration","arrange_end_declaration","machine_author","machine_contributor","machine_reference","state_declaration"].map((multiKey=>{if(results[multiKey].length){result_cfg[multiKey]=results[multiKey]}}));return result_cfg}function make(plan){return compile(wrap_parse(plan))}function transfer_state_properties(state_decl){state_decl.declarations.map((d=>{switch(d.key){case"shape":state_decl.shape=d.value;break;case"color":state_decl.color=d.value;break;case"corners":state_decl.corners=d.value;break;case"linestyle":state_decl.linestyle=d.value;break;case"text-color":state_decl.textColor=d.value;break;case"background-color":state_decl.backgroundColor=d.value;break;case"border-color":state_decl.borderColor=d.value;break;default:throw new JssmError(undefined,`Unknown state property: '${JSON.stringify(d)}'`)}}));return state_decl}class Machine{constructor({start_states:start_states,complete:complete=[],transitions:transitions,machine_author:machine_author,machine_comment:machine_comment,machine_contributor:machine_contributor,machine_definition:machine_definition,machine_language:machine_language,machine_license:machine_license,machine_name:machine_name,machine_version:machine_version,state_declaration:state_declaration,fsl_version:fsl_version,dot_preamble:dot_preamble=undefined,arrange_declaration:arrange_declaration=[],arrange_start_declaration:arrange_start_declaration=[],arrange_end_declaration:arrange_end_declaration=[],theme:theme="default",flow:flow="down",graph_layout:graph_layout="dot",instance_name:instance_name,history:history,data:data}){this._instance_name=instance_name;this._state=start_states[0];this._states=new Map;this._state_declarations=new Map;this._edges=[];this._edge_map=new Map;this._named_transitions=new Map;this._actions=new Map;this._reverse_actions=new Map;this._reverse_action_targets=new Map;this._machine_author=array_box_if_string(machine_author);this._machine_comment=machine_comment;this._machine_contributor=array_box_if_string(machine_contributor);this._machine_definition=machine_definition;this._machine_language=machine_language;this._machine_license=machine_license;this._machine_name=machine_name;this._machine_version=machine_version;this._raw_state_declaration=state_declaration||[];this._fsl_version=fsl_version;this._arrange_declaration=arrange_declaration;this._arrange_start_declaration=arrange_start_declaration;this._arrange_end_declaration=arrange_end_declaration;this._dot_preamble=dot_preamble;this._theme=theme;this._flow=flow;this._graph_layout=graph_layout;this._has_hooks=false;this._has_basic_hooks=false;this._has_named_hooks=false;this._has_entry_hooks=false;this._has_exit_hooks=false;this._has_global_action_hooks=false;this._has_transition_hooks=true;this._hooks=new Map;this._named_hooks=new Map;this._entry_hooks=new Map;this._exit_hooks=new Map;this._global_action_hooks=new Map;this._any_action_hook=undefined;this._standard_transition_hook=undefined;this._main_transition_hook=undefined;this._forced_transition_hook=undefined;this._any_transition_hook=undefined;this._standard_transition_hook=undefined;this._has_post_hooks=false;this._has_post_basic_hooks=false;this._has_post_named_hooks=false;this._has_post_entry_hooks=false;this._has_post_exit_hooks=false;this._has_post_global_action_hooks=false;this._has_post_transition_hooks=true;this._post_hooks=new Map;this._post_named_hooks=new Map;this._post_entry_hooks=new Map;this._post_exit_hooks=new Map;this._post_global_action_hooks=new Map;this._post_any_action_hook=undefined;this._post_standard_transition_hook=undefined;this._post_main_transition_hook=undefined;this._post_forced_transition_hook=undefined;this._post_any_transition_hook=undefined;this._post_standard_transition_hook=undefined;this._data=data;this._history_length=history||0;this._history=new circular_buffer(this._history_length);if(state_declaration){state_declaration.map((state_decl=>{if(this._state_declarations.has(state_decl.state)){throw new JssmError(this,`Added the same state declaration twice: ${JSON.stringify(state_decl.state)}`)}this._state_declarations.set(state_decl.state,transfer_state_properties(state_decl))}))}transitions.map((tr=>{if(tr.from===undefined){throw new JssmError(this,`transition must define 'from': ${JSON.stringify(tr)}`)}if(tr.to===undefined){throw new JssmError(this,`transition must define 'to': ${JSON.stringify(tr)}`)}const cursor_from=this._states.get(tr.from)||{name:tr.from,from:[],to:[],complete:complete.includes(tr.from)};if(!this._states.has(tr.from)){this._new_state(cursor_from)}const cursor_to=this._states.get(tr.to)||{name:tr.to,from:[],to:[],complete:complete.includes(tr.to)};if(!this._states.has(tr.to)){this._new_state(cursor_to)}if(cursor_from.to.includes(tr.to)){throw new JssmError(this,`already has ${JSON.stringify(tr.from)} to ${JSON.stringify(tr.to)}`)}else{cursor_from.to.push(tr.to);cursor_to.from.push(tr.from)}this._edges.push(tr);const thisEdgeId=this._edges.length-1;if(tr.name){if(this._named_transitions.has(tr.name)){throw new JssmError(this,`named transition "${JSON.stringify(tr.name)}" already created`)}else{this._named_transitions.set(tr.name,thisEdgeId)}}const from_mapping=this._edge_map.get(tr.from)||new Map;if(!this._edge_map.has(tr.from)){this._edge_map.set(tr.from,from_mapping)}from_mapping.set(tr.to,thisEdgeId);if(tr.action){let actionMap=this._actions.get(tr.action);if(!actionMap){actionMap=new Map;this._actions.set(tr.action,actionMap)}if(actionMap.has(tr.from)){throw new JssmError(this,`action ${JSON.stringify(tr.action)} already attached to origin ${JSON.stringify(tr.from)}`)}else{actionMap.set(tr.from,thisEdgeId)}let rActionMap=this._reverse_actions.get(tr.from);if(!rActionMap){rActionMap=new Map;this._reverse_actions.set(tr.from,rActionMap)}rActionMap.set(tr.action,thisEdgeId);if(!this._reverse_action_targets.has(tr.to)){this._reverse_action_targets.set(tr.to,new Map)}}}))}_new_state(state_config){if(this._states.has(state_config.name)){throw new JssmError(this,`state ${JSON.stringify(state_config.name)} already exists`)}this._states.set(state_config.name,state_config);return state_config.name}state(){return this._state}data(){return this._data}state_is_final(whichState){return this.state_is_terminal(whichState)&&this.state_is_complete(whichState)}is_final(){return this.state_is_final(this.state())}graph_layout(){return this._graph_layout}dot_preamble(){return this._dot_preamble}machine_author(){return this._machine_author}machine_comment(){return this._machine_comment}machine_contributor(){return this._machine_contributor}machine_definition(){return this._machine_definition}machine_language(){return this._machine_language}machine_license(){return this._machine_license}machine_name(){return this._machine_name}machine_version(){return this._machine_version}raw_state_declarations(){return this._raw_state_declaration}state_declaration(which){return this._state_declarations.get(which)}state_declarations(){return this._state_declarations}fsl_version(){return this._fsl_version}machine_state(){return{internal_state_impl_version:1,actions:this._actions,edge_map:this._edge_map,edges:this._edges,named_transitions:this._named_transitions,reverse_actions:this._reverse_actions,state:this._state,states:this._states}}states(){return Array.from(this._states.keys())}state_for(whichState){const state=this._states.get(whichState);if(state){return state}else{throw new JssmError(this,"No such state",{requested_state:whichState})}}has_state(whichState){return this._states.get(whichState)!==undefined}list_edges(){return this._edges}list_named_transitions(){return this._named_transitions}list_actions(){return Array.from(this._actions.keys())}theme(){return this._theme}flow(){return this._flow}get_transition_by_state_names(from,to){const emg=this._edge_map.get(from);if(emg){return emg.get(to)}else{return undefined}}lookup_transition_for(from,to){const id=this.get_transition_by_state_names(from,to);return id===undefined||id===null?undefined:this._edges[id]}list_transitions(whichState=this.state()){return{entrances:this.list_entrances(whichState),exits:this.list_exits(whichState)}}list_entrances(whichState=this.state()){return(this._states.get(whichState)||{from:undefined}).from||[]}list_exits(whichState=this.state()){return(this._states.get(whichState)||{to:undefined}).to||[]}probable_exits_for(whichState){const wstate=this._states.get(whichState);if(!wstate){throw new JssmError(this,`No such state ${JSON.stringify(whichState)} in probable_exits_for`)}const wstate_to=wstate.to,wtf=wstate_to.map((ws=>this.lookup_transition_for(this.state(),ws))).filter(Boolean);return wtf}probabilistic_transition(){const selected=weighted_rand_select(this.probable_exits_for(this.state()));return this.transition(selected.to)}probabilistic_walk(n){return seq(n).map((()=>{const state_was=this.state();this.probabilistic_transition();return state_was})).concat([this.state()])}probabilistic_histo_walk(n){return histograph(this.probabilistic_walk(n))}actions(whichState=this.state()){const wstate=this._reverse_actions.get(whichState);if(wstate){return Array.from(wstate.keys())}else{throw new JssmError(this,`No such state ${JSON.stringify(whichState)}`)}}list_states_having_action(whichState){const wstate=this._actions.get(whichState);if(wstate){return Array.from(wstate.keys())}else{throw new JssmError(this,`No such state ${JSON.stringify(whichState)}`)}}list_exit_actions(whichState=this.state()){const ra_base=this._reverse_actions.get(whichState);if(!ra_base){throw new JssmError(this,`No such state ${JSON.stringify(whichState)}`)}return Array.from(ra_base.values()).map((edgeId=>this._edges[edgeId])).filter((o=>o.from===whichState)).map((filtered=>filtered.action))}probable_action_exits(whichState=this.state()){const ra_base=this._reverse_actions.get(whichState);if(!ra_base){throw new JssmError(this,`No such state ${JSON.stringify(whichState)}`)}return Array.from(ra_base.values()).map((edgeId=>this._edges[edgeId])).filter((o=>o.from===whichState)).map((filtered=>({action:filtered.action,probability:filtered.probability})))}is_unenterable(whichState){if(!this.has_state(whichState)){throw new JssmError(this,`No such state ${whichState}`)}return this.list_entrances(whichState).length===0}has_unenterables(){return this.states().some((x=>this.is_unenterable(x)))}is_terminal(){return this.state_is_terminal(this.state())}state_is_terminal(whichState){if(!this.has_state(whichState)){throw new JssmError(this,`No such state ${whichState}`)}return this.list_exits(whichState).length===0}has_terminals(){return this.states().some((x=>this.state_is_terminal(x)))}is_complete(){return this.state_is_complete(this.state())}state_is_complete(whichState){const wstate=this._states.get(whichState);if(wstate){return wstate.complete}else{throw new JssmError(this,`No such state ${JSON.stringify(whichState)}`)}}has_completes(){return this.states().some((x=>this.state_is_complete(x)))}set_hook(HookDesc){switch(HookDesc.kind){case"hook":this._hooks.set(hook_name(HookDesc.from,HookDesc.to),HookDesc.handler);this._has_hooks=true;this._has_basic_hooks=true;break;case"named":this._named_hooks.set(named_hook_name(HookDesc.from,HookDesc.to,HookDesc.action),HookDesc.handler);this._has_hooks=true;this._has_named_hooks=true;break;case"global action":this._global_action_hooks.set(HookDesc.action,HookDesc.handler);this._has_hooks=true;this._has_global_action_hooks=true;break;case"any action":this._any_action_hook=HookDesc.handler;this._has_hooks=true;break;case"standard transition":this._standard_transition_hook=HookDesc.handler;this._has_transition_hooks=true;this._has_hooks=true;break;case"main transition":this._main_transition_hook=HookDesc.handler;this._has_transition_hooks=true;this._has_hooks=true;break;case"forced transition":this._forced_transition_hook=HookDesc.handler;this._has_transition_hooks=true;this._has_hooks=true;break;case"any transition":this._any_transition_hook=HookDesc.handler;this._has_hooks=true;break;case"entry":this._entry_hooks.set(HookDesc.to,HookDesc.handler);this._has_hooks=true;this._has_entry_hooks=true;break;case"exit":this._exit_hooks.set(HookDesc.from,HookDesc.handler);this._has_hooks=true;this._has_exit_hooks=true;break;case"post hook":this._post_hooks.set(hook_name(HookDesc.from,HookDesc.to),HookDesc.handler);this._has_post_hooks=true;this._has_basic_hooks=true;break;case"post named":this._post_named_hooks.set(named_hook_name(HookDesc.from,HookDesc.to,HookDesc.action),HookDesc.handler);this._has_post_hooks=true;this._has_named_hooks=true;break;case"post global action":this._post_global_action_hooks.set(HookDesc.action,HookDesc.handler);this._has_post_hooks=true;this._has_post_global_action_hooks=true;break;case"post any action":this._post_any_action_hook=HookDesc.handler;this._has_post_hooks=true;break;case"post standard transition":this._post_standard_transition_hook=HookDesc.handler;this._has_post_transition_hooks=true;this._has_post_hooks=true;break;case"post main transition":this._post_main_transition_hook=HookDesc.handler;this._has_post_transition_hooks=true;this._has_post_hooks=true;break;case"post forced transition":this._post_forced_transition_hook=HookDesc.handler;this._has_post_transition_hooks=true;this._has_post_hooks=true;break;case"post any transition":this._post_any_transition_hook=HookDesc.handler;this._has_post_hooks=true;break;case"post entry":this._post_entry_hooks.set(HookDesc.to,HookDesc.handler);this._has_post_entry_hooks=true;this._has_post_hooks=true;break;case"post exit":this._post_exit_hooks.set(HookDesc.from,HookDesc.handler);this._has_post_exit_hooks=true;this._has_post_hooks=true;break;default:throw new JssmError(this,`Unknown hook type ${HookDesc.kind}, should be impossible`)}}hook(from,to,handler){this.set_hook({kind:"hook",from:from,to:to,handler:handler});return this}hook_action(from,to,action,handler){this.set_hook({kind:"named",from:from,to:to,action:action,handler:handler});return this}hook_global_action(action,handler){this.set_hook({kind:"global action",action:action,handler:handler});return this}hook_any_action(handler){this.set_hook({kind:"any action",handler:handler});return this}hook_standard_transition(handler){this.set_hook({kind:"standard transition",handler:handler});return this}hook_main_transition(handler){this.set_hook({kind:"main transition",handler:handler});return this}hook_forced_transition(handler){this.set_hook({kind:"forced transition",handler:handler});return this}hook_any_transition(handler){this.set_hook({kind:"any transition",handler:handler});return this}hook_entry(to,handler){this.set_hook({kind:"entry",to:to,handler:handler});return this}hook_exit(from,handler){this.set_hook({kind:"exit",from:from,handler:handler});return this}post_hook(from,to,handler){this.set_hook({kind:"post hook",from:from,to:to,handler:handler});return this}post_hook_action(from,to,action,handler){this.set_hook({kind:"post named",from:from,to:to,action:action,handler:handler});return this}post_hook_global_action(action,handler){this.set_hook({kind:"post global action",action:action,handler:handler});return this}post_hook_any_action(handler){this.set_hook({kind:"post any action",handler:handler});return this}post_hook_standard_transition(handler){this.set_hook({kind:"post standard transition",handler:handler});return this}post_hook_main_transition(handler){this.set_hook({kind:"post main transition",handler:handler});return this}post_hook_forced_transition(handler){this.set_hook({kind:"post forced transition",handler:handler});return this}post_hook_any_transition(handler){this.set_hook({kind:"post any transition",handler:handler});return this}post_hook_entry(to,handler){this.set_hook({kind:"post entry",to:to,handler:handler});return this}post_hook_exit(from,handler){this.set_hook({kind:"post exit",from:from,handler:handler});return this}edges_between(from,to){return this._edges.filter((edge=>edge.from===from&&edge.to===to))}transition_impl(newStateOrAction,newData,wasForced,wasAction){let valid=false,trans_type,newState,fromAction=undefined;if(wasForced){if(this.valid_force_transition(newStateOrAction,newData)){valid=true;trans_type="forced";newState=newStateOrAction}}else if(wasAction){if(this.valid_action(newStateOrAction,newData)){const edge=this.current_action_edge_for(newStateOrAction);valid=true;trans_type=edge.kind;newState=edge.to;fromAction=newStateOrAction}}else{if(this.valid_transition(newStateOrAction,newData)){if(this._has_transition_hooks){trans_type=this.edges_between(this._state,newStateOrAction)[0].kind}valid=true;newState=newStateOrAction}}const hook_args={data:this._data,action:fromAction,from:this._state,to:newState,forced:wasForced};if(valid){if(this._has_hooks){function update_fields(res){if(res.hasOwnProperty("data")){hook_args.data=res.data;data_changed=true}}let data_changed=false;if(wasAction){const outcome=abstract_hook_step(this._any_action_hook,hook_args);if(outcome.pass===false){return false}update_fields(outcome);const outcome2=abstract_hook_step(this._global_action_hooks.get(newStateOrAction),hook_args);if(outcome2.pass===false){return false}update_fields(outcome2)}if(this._any_transition_hook!==undefined){const outcome=abstract_hook_step(this._any_transition_hook,hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(this._has_exit_hooks){const outcome=abstract_hook_step(this._exit_hooks.get(this._state),hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(this._has_named_hooks){if(wasAction){const nhn=named_hook_name(this._state,newState,newStateOrAction),outcome=abstract_hook_step(this._named_hooks.get(nhn),hook_args);if(outcome.pass===false){return false}update_fields(outcome)}}if(this._has_basic_hooks){const hn=hook_name(this._state,newState),outcome=abstract_hook_step(this._hooks.get(hn),hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(trans_type==="legal"){const outcome=abstract_hook_step(this._standard_transition_hook,hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(trans_type==="main"){const outcome=abstract_hook_step(this._main_transition_hook,hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(trans_type==="forced"){const outcome=abstract_hook_step(this._forced_transition_hook,hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(this._has_entry_hooks){const outcome=abstract_hook_step(this._entry_hooks.get(newState),hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(this._history_length){this._history.shove([this._state,this._data])}this._state=newState;if(data_changed){this._data=hook_args.data}}else{if(this._history_length){this._history.shove([this._state,this._data])}this._state=newState}}else{return false}if(this._has_post_hooks){if(wasAction){if(this._post_any_action_hook!==undefined){this._post_any_action_hook(hook_args)}const pgah=this._post_global_action_hooks.get(newStateOrAction);if(pgah!==undefined){pgah(hook_args)}}}return true}get history(){return this._history.toArray()}get history_inclusive(){const ret=this._history.toArray();ret.push([this.state(),this.data()]);return ret}get history_length(){return this._history_length}set history_length(to){this._history_length=to;this._history.resize(to,true)}action(actionName,newData){return this.transition_impl(actionName,newData,false,true)}transition(newState,newData){return this.transition_impl(newState,newData,false,false)}force_transition(newState,newData){return this.transition_impl(newState,newData,true,false)}current_action_for(action){const action_base=this._actions.get(action);return action_base?action_base.get(this.state()):undefined}current_action_edge_for(action){const idx=this.current_action_for(action);if(idx===undefined||idx===null){throw new JssmError(this,`No such action ${JSON.stringify(action)}`)}return this._edges[idx]}valid_action(action,_newData){return this.current_action_for(action)!==undefined}valid_transition(newState,_newData){const transition_for=this.lookup_transition_for(this.state(),newState);if(!transition_for){return false}if(transition_for.forced_only){return false}return true}valid_force_transition(newState,_newData){return this.lookup_transition_for(this.state(),newState)!==undefined}instance_name(){return this._instance_name}sm(template_strings,...remainder){return sm(template_strings,...remainder)}}function sm(template_strings,...remainder){return new Machine(make(template_strings.reduce(((acc,val,idx)=>`${acc}${remainder[idx-1]}${val}`))))}function from(MachineAsString,ExtraConstructorFields){const to_decorate=make(MachineAsString);if(ExtraConstructorFields!==undefined){Object.keys(ExtraConstructorFields).map((key=>to_decorate[key]=ExtraConstructorFields[key]))}return new Machine(to_decorate)}function is_hook_complex_result(hr){if(typeof hr==="object"){if(typeof hr.pass==="boolean"){return true}}return false}function is_hook_rejection(hr){if(hr===true){return false}if(hr===undefined){return false}if(hr===false){return true}if(is_hook_complex_result(hr)){return!hr.pass}throw new TypeError("unknown hook rejection type result")}function abstract_hook_step(maybe_hook,hook_args){if(maybe_hook!==undefined){const result=maybe_hook(hook_args);if(result===undefined){return{pass:true}}if(result===true){return{pass:true}}if(result===false){return{pass:false}}if(is_hook_complex_result(result)){return result}throw new TypeError(`Unknown hook result type ${result}`)}else{return{pass:true}}}exports.Machine=Machine;exports.abstract_hook_step=abstract_hook_step;exports.arrow_direction=arrow_direction;exports.arrow_left_kind=arrow_left_kind;exports.arrow_right_kind=arrow_right_kind;exports.compile=compile;exports.from=from;exports.gviz_shapes=gviz_shapes;exports.histograph=histograph;exports.is_hook_complex_result=is_hook_complex_result;exports.is_hook_rejection=is_hook_rejection;exports.make=make;exports.named_colors=named_colors;exports.parse=wrap_parse;exports.seq=seq;exports.shapes=shapes;exports.sm=sm;exports.transfer_state_properties=transfer_state_properties;exports.version=version;exports.weighted_histo_key=weighted_histo_key;exports.weighted_rand_select=weighted_rand_select;exports.weighted_sample_select=weighted_sample_select; +"use strict";Object.defineProperty(exports,"__esModule",{value:true});var reductions={abkhazian:"ab","аҧсуа бызшәа, аҧсшәа":"ab",ab:"ab",abk:"ab","аҧсуа бызшәа":"ab","аҧсшәа":"ab",afar:"aa",afaraf:"aa",aa:"aa",aar:"aa",afrikaans:"af",af:"af",afr:"af",akan:"ak",ak:"ak",aka:"ak","aka + 2":"ak",albanian:"sq",shqip:"sq",sq:"sq",sqi:"sq",alb:"sq","sqi + 4":"sq",amharic:"am","አማርኛ":"am",am:"am",amh:"am",arabic:"ar","العربية":"ar",ar:"ar",ara:"ar","ara + 30":"ar",aragonese:"an","aragonés":"an",an:"an",arg:"an",armenian:"hy","հայերեն":"hy",hy:"hy",hye:"hy",arm:"hy",assamese:"as","অসমীয়া":"as",as:"as",asm:"as",avaric:"av","авар мацӏ, магӏарул мацӏ":"av",av:"av",ava:"av","авар мацӏ":"av","магӏарул мацӏ":"av",avestan:"ae",avesta:"ae",ae:"ae",ave:"ae",aymara:"ay","aymar aru":"ay",ay:"ay",aym:"ay","aym + 2":"ay",azerbaijani:"az","azərbaycan dili":"az",az:"az",aze:"az","aze + 2":"az",bambara:"bm",bamanankan:"bm",bm:"bm",bam:"bm",bashkir:"ba","башҡорт теле":"ba",ba:"ba",bak:"ba",basque:"eu","euskara, euskera":"eu",eu:"eu",eus:"eu",baq:"eu",euskara:"eu",euskera:"eu",belarusian:"be","беларуская мова":"be",be:"be",bel:"be",bengali:"bn","বাংলা":"bn",bn:"bn",ben:"bn","bihari languages":"bh","भोजपुरी":"bh",bh:"bh",bih:"bh",bislama:"bi",bi:"bi",bis:"bi",bosnian:"bs","bosanski jezik":"bs",bs:"bs",bos:"bs",breton:"br",brezhoneg:"br",br:"br",bre:"br",bulgarian:"bg","български език":"bg",bg:"bg",bul:"bg",burmese:"my","ဗမာစာ":"my",my:"my",mya:"my",bur:"my","catalan, valencian":"ca","català, valencià":"ca",ca:"ca",cat:"ca","català":"ca","valencià":"ca",chamorro:"ch",chamoru:"ch",ch:"ch",cha:"ch",chechen:"ce","нохчийн мотт":"ce",ce:"ce",che:"ce","chichewa, chewa, nyanja":"ny","chicheŵa, chinyanja":"ny",ny:"ny",nya:"ny","chicheŵa":"ny",chinyanja:"ny",chinese:"zh","中文 (zhōngwén), 汉语, 漢語":"zh",zh:"zh",zho:"zh",chi:"zh","zho + 13":"zh","中文 (zhōngwén)":"zh","汉语":"zh","漢語":"zh",chuvash:"cv","чӑваш чӗлхи":"cv",cv:"cv",chv:"cv",cornish:"kw",kernewek:"kw",kw:"kw",cor:"kw",corsican:"co","corsu, lingua corsa":"co",co:"co",cos:"co",corsu:"co","lingua corsa":"co",cree:"cr","ᓀᐦᐃᔭᐍᐏᐣ":"cr",cr:"cr",cre:"cr","cre + 6":"cr",croatian:"hr","hrvatski jezik":"hr",hr:"hr",hrv:"hr",czech:"cs","čeština, český jazyk":"cs",cs:"cs",ces:"cs",cze:"cs","čeština":"cs","český jazyk":"cs",danish:"da",dansk:"da",da:"da",dan:"da","divehi, dhivehi, maldivian":"dv","ދިވެހި":"dv",dv:"dv",div:"dv","dutch, flemish":"nl","nederlands, vlaams":"nl",nl:"nl",nld:"nl",dut:"nl",nederlands:"nl",vlaams:"nl",dzongkha:"dz","རྫོང་ཁ":"dz",dz:"dz",dzo:"dz",english:"en",en:"en",eng:"en",esperanto:"eo",eo:"eo",epo:"eo",estonian:"et","eesti, eesti keel":"et",et:"et",est:"et","est + 2":"et",eesti:"et","eesti keel":"et",ewe:"ee","eʋegbe":"ee",ee:"ee",faroese:"fo","føroyskt":"fo",fo:"fo",fao:"fo",fijian:"fj","vosa vakaviti":"fj",fj:"fj",fij:"fj",finnish:"fi","suomi, suomen kieli":"fi",fi:"fi",fin:"fi",suomi:"fi","suomen kieli":"fi",french:"fr","français, langue française":"fr",fr:"fr",fra:"fr",fre:"fr","français":"fr","langue française":"fr",fulah:"ff","fulfulde, pulaar, pular":"ff",ff:"ff",ful:"ff","ful + 9":"ff",fulfulde:"ff",pulaar:"ff",pular:"ff",galician:"gl",galego:"gl",gl:"gl",glg:"gl",georgian:"ka","ქართული":"ka",ka:"ka",kat:"ka",geo:"ka",german:"de",deutsch:"de",de:"de",deu:"de",ger:"de","greek (modern)":"el","ελληνικά":"el",el:"el",ell:"el",gre:"el","guaraní":"gn","avañe'ẽ":"gn",gn:"gn",grn:"gn","grn + 5":"gn",gujarati:"gu","ગુજરાતી":"gu",gu:"gu",guj:"gu","haitian, haitian creole":"ht","kreyòl ayisyen":"ht",ht:"ht",hat:"ht",hausa:"ha","(hausa) هَوُسَ":"ha",ha:"ha",hau:"ha","hebrew (modern)":"he","עברית":"he",he:"he",heb:"he",herero:"hz",otjiherero:"hz",hz:"hz",her:"hz",hindi:"hi","हिन्दी, हिंदी":"hi",hi:"hi",hin:"hi","हिन्दी":"hi","हिंदी":"hi","hiri motu":"ho",ho:"ho",hmo:"ho",hungarian:"hu",magyar:"hu",hu:"hu",hun:"hu",interlingua:"ia",ia:"ia",ina:"ia",indonesian:"id","bahasa indonesia":"id",id:"id",ind:"id",interlingue:"ie","originally called occidental; then interlingue after wwii":"ie",ie:"ie",ile:"ie",irish:"ga",gaeilge:"ga",ga:"ga",gle:"ga",igbo:"ig","asụsụ igbo":"ig",ig:"ig",ibo:"ig",inupiaq:"ik","iñupiaq, iñupiatun":"ik",ik:"ik",ipk:"ik","ipk + 2":"ik","iñupiaq":"ik","iñupiatun":"ik",ido:"io",io:"io",icelandic:"is","íslenska":"is",is:"is",isl:"is",ice:"is",italian:"it",italiano:"it",it:"it",ita:"it",inuktitut:"iu","ᐃᓄᒃᑎᑐᑦ":"iu",iu:"iu",iku:"iu","iku + 2":"iu",japanese:"ja","日本語 (にほんご)":"ja",ja:"ja",jpn:"ja",javanese:"jv","ꦧꦱꦗꦮ, basa jawa":"jv",jv:"jv",jav:"jv","ꦧꦱꦗꦮ":"jv","basa jawa":"jv","kalaallisut, greenlandic":"kl","kalaallisut, kalaallit oqaasii":"kl",kl:"kl",kal:"kl",kalaallisut:"kl","kalaallit oqaasii":"kl",kannada:"kn","ಕನ್ನಡ":"kn",kn:"kn",kan:"kn",kanuri:"kr",kr:"kr",kau:"kr","kau + 3":"kr",kashmiri:"ks","कश्मीरी, كشميري‎":"ks",ks:"ks",kas:"ks","कश्मीरी":"ks","كشميري‎":"ks",kazakh:"kk","қазақ тілі":"kk",kk:"kk",kaz:"kk","central khmer":"km","ខ្មែរ, ខេមរភាសា, ភាសាខ្មែរ":"km",km:"km",khm:"km","ខ្មែរ":"km","ខេមរភាសា":"km","ភាសាខ្មែរ":"km","kikuyu, gikuyu":"ki","gĩkũyũ":"ki",ki:"ki",kik:"ki",kinyarwanda:"rw",ikinyarwanda:"rw",rw:"rw",kin:"rw","kirghiz, kyrgyz":"ky","кыргызча, кыргыз тили":"ky",ky:"ky",kir:"ky","кыргызча":"ky","кыргыз тили":"ky",komi:"kv","коми кыв":"kv",kv:"kv",kom:"kv","kom + 2":"kv",kongo:"kg",kikongo:"kg",kg:"kg",kon:"kg","kon + 3":"kg",korean:"ko","한국어":"ko",ko:"ko",kor:"ko",kurdish:"ku","kurdî, كوردی‎":"ku",ku:"ku",kur:"ku","kur + 3":"ku","kurdî":"ku","كوردی‎":"ku","kuanyama, kwanyama":"kj",kuanyama:"kj",kj:"kj",kua:"kj",latin:"la","latine, lingua latina":"la",la:"la",lat:"la",latine:"la","lingua latina":"la","luxembourgish, letzeburgesch":"lb","lëtzebuergesch":"lb",lb:"lb",ltz:"lb",ganda:"lg",luganda:"lg",lg:"lg",lug:"lg","limburgan, limburger, limburgish":"li",limburgs:"li",li:"li",lim:"li",lingala:"ln","lingála":"ln",ln:"ln",lin:"ln",lao:"lo","ພາສາລາວ":"lo",lo:"lo",lithuanian:"lt","lietuvių kalba":"lt",lt:"lt",lit:"lt","luba-katanga":"lu",kiluba:"lu",lu:"lu",lub:"lu",latvian:"lv","latviešu valoda":"lv",lv:"lv",lav:"lv","lav + 2":"lv",manx:"gv","gaelg, gailck":"gv",gv:"gv",glv:"gv",gaelg:"gv",gailck:"gv",macedonian:"mk","македонски јазик":"mk",mk:"mk",mkd:"mk",mac:"mk",malagasy:"mg","fiteny malagasy":"mg",mg:"mg",mlg:"mg","mlg + 10":"mg",malay:"ms","bahasa melayu, بهاس ملايو‎":"ms",ms:"ms",msa:"ms",may:"ms","msa + 13":"ms","bahasa melayu":"ms","بهاس ملايو‎":"ms",malayalam:"ml","മലയാളം":"ml",ml:"ml",mal:"ml",maltese:"mt",malti:"mt",mt:"mt",mlt:"mt",maori:"mi","te reo māori":"mi",mi:"mi",mri:"mi",mao:"mi",marathi:"mr","मराठी":"mr",mr:"mr",mar:"mr",marshallese:"mh","kajin m̧ajeļ":"mh",mh:"mh",mah:"mh",mongolian:"mn","монгол хэл":"mn",mn:"mn",mon:"mn","mon + 2":"mn",nauru:"na","dorerin naoero":"na",na:"na",nau:"na","navajo, navaho":"nv","diné bizaad":"nv",nv:"nv",nav:"nv","north ndebele":"nd",isindebele:"nr",nd:"nd",nde:"nd",nepali:"ne","नेपाली":"ne",ne:"ne",nep:"ne",ndonga:"ng",owambo:"ng",ng:"ng",ndo:"ng","norwegian bokmål":"nb","norsk bokmål":"nb",nb:"nb",nob:"nb","norwegian nynorsk":"nn","norsk nynorsk":"nn",nn:"nn",nno:"nn",norwegian:"no",norsk:"no",no:"no",nor:"no","nor + 2":"no","sichuan yi, nuosu":"ii","ꆈꌠ꒿ nuosuhxop":"ii",ii:"ii",iii:"ii","south ndebele":"nr",nr:"nr",nbl:"nr",occitan:"oc","occitan, lenga d'òc":"oc",oc:"oc",oci:"oc","lenga d'òc":"oc",ojibwa:"oj","ᐊᓂᔑᓈᐯᒧᐎᓐ":"oj",oj:"oj",oji:"oj","oji + 7":"oj","church slavic, church slavonic, old church slavonic, old slavonic, old bulgarian":"cu","ѩзыкъ словѣньскъ":"cu",cu:"cu",chu:"cu",oromo:"om","afaan oromoo":"om",om:"om",orm:"om","orm + 4":"om",oriya:"or","ଓଡ଼ିଆ":"or",or:"or",ori:"or","ossetian, ossetic":"os","ирон æвзаг":"os",os:"os",oss:"os","panjabi, punjabi":"pa","ਪੰਜਾਬੀ":"pa",pa:"pa",pan:"pa",pali:"pi","पाऴि":"pi",pi:"pi",pli:"pi",persian:"fa","فارسی":"fa",fa:"fa",fas:"fa",per:"fa","fas + 2":"fa",polish:"pl","język polski, polszczyzna":"pl",pl:"pl",pol:"pl","język polski":"pl",polszczyzna:"pl","pashto, pushto":"ps","پښتو":"ps",ps:"ps",pus:"ps","pus + 3":"ps",portuguese:"pt","português":"pt",pt:"pt",por:"pt",quechua:"qu","runa simi, kichwa":"qu",qu:"qu",que:"qu","que + 44":"qu","runa simi":"qu",kichwa:"qu",romansh:"rm","rumantsch grischun":"rm",rm:"rm",roh:"rm",rundi:"rn",ikirundi:"rn",rn:"rn",run:"rn","romanian, moldavian, moldovan":"ro","română":"ro",ro:"ro",ron:"ro",rum:"ro",russian:"ru","русский":"ru",ru:"ru",rus:"ru",sanskrit:"sa","संस्कृतम्":"sa",sa:"sa",san:"sa",sardinian:"sc",sardu:"sc",sc:"sc",srd:"sc","srd + 4":"sc",sindhi:"sd","सिन्धी, سنڌي، سندھی‎":"sd",sd:"sd",snd:"sd","सिन्धी":"sd","سنڌي، سندھی‎":"sd","northern sami":"se","davvisámegiella":"se",se:"se",sme:"se",samoan:"sm","gagana fa'a samoa":"sm",sm:"sm",smo:"sm",sango:"sg","yângâ tî sängö":"sg",sg:"sg",sag:"sg",serbian:"sr","српски језик":"sr",sr:"sr",srp:"sr","gaelic, scottish gaelic":"gd","gàidhlig":"gd",gd:"gd",gla:"gd",shona:"sn",chishona:"sn",sn:"sn",sna:"sn","sinhala, sinhalese":"si","සිංහල":"si",si:"si",sin:"si",slovak:"sk","slovenčina, slovenský jazyk":"sk",sk:"sk",slk:"sk",slo:"sk","slovenčina":"sk","slovenský jazyk":"sk",slovenian:"sl","slovenski jezik, slovenščina":"sl",sl:"sl",slv:"sl","slovenski jezik":"sl","slovenščina":"sl",somali:"so","soomaaliga, af soomaali":"so",so:"so",som:"so",soomaaliga:"so","af soomaali":"so","southern sotho":"st",sesotho:"st",st:"st",sot:"st","spanish, castilian":"es","español":"es",es:"es",spa:"es",sundanese:"su","basa sunda":"su",su:"su",sun:"su",swahili:"sw",kiswahili:"sw",sw:"sw",swa:"sw","swa + 2":"sw",swati:"ss",siswati:"ss",ss:"ss",ssw:"ss",swedish:"sv",svenska:"sv",sv:"sv",swe:"sv",tamil:"ta","தமிழ்":"ta",ta:"ta",tam:"ta",telugu:"te","తెలుగు":"te",te:"te",tel:"te",tajik:"tg","тоҷикӣ, toçikī, تاجیکی‎":"tg",tg:"tg",tgk:"tg","тоҷикӣ":"tg","toçikī":"tg","تاجیکی‎":"tg",thai:"th","ไทย":"th",th:"th",tha:"th",tigrinya:"ti","ትግርኛ":"ti",ti:"ti",tir:"ti",tibetan:"bo","བོད་ཡིག":"bo",bo:"bo",bod:"bo",tib:"bo",turkmen:"tk","türkmen, түркмен":"tk",tk:"tk",tuk:"tk","türkmen":"tk","түркмен":"tk",tagalog:"tl","wikang tagalog":"tl",tl:"tl",tgl:"tl",tswana:"tn",setswana:"tn",tn:"tn",tsn:"tn","tonga (tonga islands)":"to","faka tonga":"to",to:"to",ton:"to",turkish:"tr","türkçe":"tr",tr:"tr",tur:"tr",tsonga:"ts",xitsonga:"ts",ts:"ts",tso:"ts",tatar:"tt","татар теле, tatar tele":"tt",tt:"tt",tat:"tt","татар теле":"tt","tatar tele":"tt",twi:"tw",tw:"tw",tahitian:"ty","reo tahiti":"ty",ty:"ty",tah:"ty","uighur, uyghur":"ug","ئۇيغۇرچە‎, uyghurche":"ug",ug:"ug",uig:"ug","ئۇيغۇرچە‎":"ug",uyghurche:"ug",ukrainian:"uk","українська":"uk",uk:"uk",ukr:"uk",urdu:"ur","اردو":"ur",ur:"ur",urd:"ur",uzbek:"uz","oʻzbek, ўзбек, أۇزبېك‎":"uz",uz:"uz",uzb:"uz","uzb + 2":"uz","oʻzbek":"uz","ўзбек":"uz","أۇزبېك‎":"uz",venda:"ve","tshivenḓa":"ve",ve:"ve",ven:"ve",vietnamese:"vi","tiếng việt":"vi",vi:"vi",vie:"vi","volapük":"vo",vo:"vo",vol:"vo",walloon:"wa",walon:"wa",wa:"wa",wln:"wa",welsh:"cy",cymraeg:"cy",cy:"cy",cym:"cy",wel:"cy",wolof:"wo",wollof:"wo",wo:"wo",wol:"wo","western frisian":"fy",frysk:"fy",fy:"fy",fry:"fy",xhosa:"xh",isixhosa:"xh",xh:"xh",xho:"xh",yiddish:"yi","ייִדיש":"yi",yi:"yi",yid:"yi","yid + 2":"yi",yoruba:"yo","yorùbá":"yo",yo:"yo",yor:"yo","zhuang, chuang":"za","saɯ cueŋƅ, saw cuengh":"za",za:"za",zha:"za","zha + 16":"za","saɯ cueŋƅ":"za","saw cuengh":"za",zulu:"zu",isizulu:"zu",zu:"zu",zul:"zu"};function reduce(from){return reductions[from.toLowerCase()]}var reduceTo6391={reduce:reduce,reductions:reductions};class circular_buffer{constructor(uCapacity){if(!Number.isInteger(uCapacity)){throw new RangeError(`Capacity must be an integer, received ${uCapacity}`)}if(uCapacity<0){throw new RangeError(`Capacity must be a non-negative integer, received ${uCapacity}`)}this._values=new Array(uCapacity);this._capacity=uCapacity;this._cursor=0;this._offset=0;this._length=0}get capacity(){return this._capacity}set capacity(newSize){this.resize(newSize)}get length(){return this._length}set length(newLength){if(newLength>this._capacity){throw new RangeError(`Requested new length [${newLength}] exceeds container capacity [${this._capacity}]`)}if(newLength<0){throw new RangeError(`Requested new length [${newLength}] cannot be negative`)}if(!Number.isInteger(newLength)){throw new RangeError(`Requested new length [${newLength}] must be an integer`)}if(this._length<=newLength){return}this._length=newLength}get available(){return this._capacity-this._length}get isEmpty(){return this._length===0}get isFull(){return this._length===this._capacity}get first(){if(this.isEmpty){throw new RangeError("Cannot return first element of an empty container")}return this.at(0)}get last(){if(this.isEmpty){throw new RangeError("Cannot return last element of an empty container")}return this.at(this.length-1)}static from(i,map_fn,t){const new_array=map_fn?Array.from(i,map_fn,t):Array.from(i);const target_length=new_array.length;const ncb=new circular_buffer(target_length);ncb._values=new_array;ncb._length=target_length;return ncb}push(v){if(this.isFull){throw new RangeError(`Cannot push, structure is full to capacity`)}this._values[(this._cursor+this._length++)%this._capacity]=v;return v}shove(v){let shoved;if(this._capacity===0){throw new RangeError(`Cannot shove, structure is zero-capacity`)}if(this.isFull){shoved=this.pop()}this.push(v);return shoved}fill(x){for(let i=0;i=this._capacity){this._cursor-=this._capacity}return cache}at(i){if(i<0){throw new RangeError(`circular_buffer does not support negative traversals; called at(${i})`)}if(!Number.isInteger(i)){throw new RangeError(`Accessors must be non-negative integers; called at(${i})`)}if(i>=this._capacity){throw new RangeError(`Requested cell ${i} exceeds container permanent capacity`)}if(i>=this._length){throw new RangeError(`Requested cell ${i} exceeds container current length`)}return this._values[(this._cursor+i)%this._capacity]}pos(i){return this.at(i-this.offset())}offset(){return this._offset}resize(newSize,preferEnd=false){this._values=this.toArray();this._cursor=0;const oldSize=this._length;this._length=Math.min(this._length,newSize);this._capacity=newSize;if(newSize>=oldSize){this._values.length=newSize}else{if(preferEnd){const tmp=this._values.slice(oldSize-newSize);this._values=tmp}else{this._values.length=newSize}}}toArray(){const startPoint=this._cursor%this._capacity;if(this._capacity>startPoint+this._length){return this._values.slice(startPoint,startPoint+this._length)}else{const base=this._values.slice(startPoint,this._capacity);base.push(...this._values.slice(0,this.length-(this._capacity-startPoint)));return base}}}const array_box_if_string=n=>typeof n==="string"?[n]:n;const weighted_rand_select=(options,probability_property="probability")=>{if(!Array.isArray(options)){throw new TypeError("options must be a non-empty array of objects")}if(!(typeof options[0]==="object")){throw new TypeError("options must be a non-empty array of objects")}const frand=cap=>Math.random()*cap,or_one=item=>item===undefined?1:item,prob_sum=options.reduce(((acc,val)=>acc+or_one(val[probability_property])),0),rnd=frand(prob_sum);let cursor=0,cursor_sum=0;while((cursor_sum+=or_one(options[cursor++][probability_property]))<=rnd){}return options[cursor-1]};function seq(n){if(!Number.isInteger(n)){throw new TypeError("seq/1 takes a non-negative integer n as an argument")}if(n<0){throw new TypeError("seq/1 takes a non-negative integer n as an argument")}return new Array(n).fill(true).map(((_,i)=>i))}const histograph=ar=>ar.sort().reduce(((m,v)=>(m.set(v,m.has(v)?m.get(v)+1:1),m)),new Map);const weighted_sample_select=(n,options,probability_property)=>seq(n).map((_i=>weighted_rand_select(options,probability_property)));const weighted_histo_key=(n,opts,prob_prop,extract)=>histograph(weighted_sample_select(n,opts,prob_prop).map((s=>s[extract])));const hook_name=(from,to)=>JSON.stringify([from,to]);const named_hook_name=(from,to,action)=>JSON.stringify([from,to,action]);const gviz_shapes=["box3d","polygon","ellipse","oval","circle","point","egg","triangle","plaintext","plain","diamond","trapezium","parallelogram","house","pentagon","hexagon","septagon","octagon","doublecircle","doubleoctagon","tripleoctagon","invtriangle","invtrapezium","invhouse","Mdiamond","Msquare","Mcircle","rectangle","rect","square","star","none","underline","cylinder","note","tab","folder","box","component","promoter","cds","terminator","utr","primersite","restrictionsite","fivepoverhang","threepoverhang","noverhang","assembly","signature","insulator","ribosite","rnastab","proteasesite","proteinstab","rpromoter","rarrow","larrow","lpromoter","record"];const shapes=gviz_shapes;const named_colors=["AliceBlue","AntiqueWhite","Aqua","Aquamarine","Azure","Beige","Bisque","Black","BlanchedAlmond","Blue","BlueViolet","Brown","BurlyWood","CadetBlue","Chartreuse","Chocolate","Coral","CornflowerBlue","Cornsilk","Crimson","Cyan","DarkBlue","DarkCyan","DarkGoldenRod","DarkGray","DarkGrey","DarkGreen","DarkKhaki","DarkMagenta","DarkOliveGreen","Darkorange","DarkOrchid","DarkRed","DarkSalmon","DarkSeaGreen","DarkSlateBlue","DarkSlateGray","DarkSlateGrey","DarkTurquoise","DarkViolet","DeepPink","DeepSkyBlue","DimGray","DimGrey","DodgerBlue","FireBrick","FloralWhite","ForestGreen","Fuchsia","Gainsboro","GhostWhite","Gold","GoldenRod","Gray","Grey","Green","GreenYellow","HoneyDew","HotPink","IndianRed","Indigo","Ivory","Khaki","Lavender","LavenderBlush","LawnGreen","LemonChiffon","LightBlue","LightCoral","LightCyan","LightGoldenRodYellow","LightGray","LightGrey","LightGreen","LightPink","LightSalmon","LightSeaGreen","LightSkyBlue","LightSlateGray","LightSlateGrey","LightSteelBlue","LightYellow","Lime","LimeGreen","Linen","Magenta","Maroon","MediumAquaMarine","MediumBlue","MediumOrchid","MediumPurple","MediumSeaGreen","MediumSlateBlue","MediumSpringGreen","MediumTurquoise","MediumVioletRed","MidnightBlue","MintCream","MistyRose","Moccasin","NavajoWhite","Navy","OldLace","Olive","OliveDrab","Orange","OrangeRed","Orchid","PaleGoldenRod","PaleGreen","PaleTurquoise","PaleVioletRed","PapayaWhip","PeachPuff","Peru","Pink","Plum","PowderBlue","Purple","Red","RosyBrown","RoyalBlue","SaddleBrown","Salmon","SandyBrown","SeaGreen","SeaShell","Sienna","Silver","SkyBlue","SlateBlue","SlateGray","SlateGrey","Snow","SpringGreen","SteelBlue","Tan","Teal","Thistle","Tomato","Turquoise","Violet","Wheat","White","WhiteSmoke","Yellow","YellowGreen"];function peg$subclass(child,parent){function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor}function peg$SyntaxError(message,expected,found,location){this.message=message;this.expected=expected;this.found=found;this.location=location;this.name="SyntaxError";if(typeof Error.captureStackTrace==="function"){Error.captureStackTrace(this,peg$SyntaxError)}}peg$subclass(peg$SyntaxError,Error);peg$SyntaxError.buildMessage=function(expected,found){var DESCRIBE_EXPECTATION_FNS={literal:function(expectation){return'"'+literalEscape(expectation.text)+'"'},class:function(expectation){var escapedParts="",i;for(i=0;i0){for(i=1,j=1;i"),peg$c128="->",peg$c129=peg$literalExpectation("->",false),peg$c130="→",peg$c131=peg$literalExpectation("→",false),peg$c132=function(){return"->"},peg$c133=peg$otherExpectation("two way light arrow <->"),peg$c134="<->",peg$c135=peg$literalExpectation("<->",false),peg$c136="↔",peg$c137=peg$literalExpectation("↔",false),peg$c138=function(){return"<->"},peg$c139=peg$otherExpectation("back light arrow <-"),peg$c140="<-",peg$c141=peg$literalExpectation("<-",false),peg$c142="←",peg$c143=peg$literalExpectation("←",false),peg$c144=function(){return"<-"},peg$c145=peg$otherExpectation("forward fat arrow =>"),peg$c146="=>",peg$c147=peg$literalExpectation("=>",false),peg$c148="⇒",peg$c149=peg$literalExpectation("⇒",false),peg$c150=function(){return"=>"},peg$c151=peg$otherExpectation("two way fat arrow <=>"),peg$c152="<=>",peg$c153=peg$literalExpectation("<=>",false),peg$c154="⇔",peg$c155=peg$literalExpectation("⇔",false),peg$c156=function(){return"<=>"},peg$c157=peg$otherExpectation("back fat arrow <="),peg$c158="<=",peg$c159=peg$literalExpectation("<=",false),peg$c160="⇐",peg$c161=peg$literalExpectation("⇐",false),peg$c162=function(){return"<="},peg$c163=peg$otherExpectation("forward tilde arrow ~>"),peg$c164="~>",peg$c165=peg$literalExpectation("~>",false),peg$c166="↛",peg$c167=peg$literalExpectation("↛",false),peg$c168=function(){return"~>"},peg$c169=peg$otherExpectation("two way tilde arrow <~>"),peg$c170="<~>",peg$c171=peg$literalExpectation("<~>",false),peg$c172="↮",peg$c173=peg$literalExpectation("↮",false),peg$c174=function(){return"<~>"},peg$c175=peg$otherExpectation("back tilde arrow <~"),peg$c176="<~",peg$c177=peg$literalExpectation("<~",false),peg$c178="↚",peg$c179=peg$literalExpectation("↚",false),peg$c180=function(){return"<~"},peg$c181=peg$otherExpectation("light fat arrow <-=>"),peg$c182="<-=>",peg$c183=peg$literalExpectation("<-=>",false),peg$c184="←⇒",peg$c185=peg$literalExpectation("←⇒",false),peg$c186=function(){return"<-=>"},peg$c187=peg$otherExpectation("light tilde arrow <-~>"),peg$c188="<-~>",peg$c189=peg$literalExpectation("<-~>",false),peg$c190="←↛",peg$c191=peg$literalExpectation("←↛",false),peg$c192=function(){return"<-~>"},peg$c193=peg$otherExpectation("fat light arrow <=->"),peg$c194="<=->",peg$c195=peg$literalExpectation("<=->",false),peg$c196="⇐→",peg$c197=peg$literalExpectation("⇐→",false),peg$c198=function(){return"<=->"},peg$c199=peg$otherExpectation("fat tilde arrow <=~>"),peg$c200="<=~>",peg$c201=peg$literalExpectation("<=~>",false),peg$c202="⇐↛",peg$c203=peg$literalExpectation("⇐↛",false),peg$c204=function(){return"<=~>"},peg$c205=peg$otherExpectation("tilde light arrow <~->"),peg$c206="<~->",peg$c207=peg$literalExpectation("<~->",false),peg$c208="↚→",peg$c209=peg$literalExpectation("↚→",false),peg$c210=function(){return"<~->"},peg$c211=peg$otherExpectation("tilde fat arrow <~=>"),peg$c212="<~=>",peg$c213=peg$literalExpectation("<~=>",false),peg$c214="↚⇒",peg$c215=peg$literalExpectation("↚⇒",false),peg$c216=function(){return"<~=>"},peg$c217=peg$otherExpectation("light arrow"),peg$c218=peg$otherExpectation("fat arrow"),peg$c219=peg$otherExpectation("tilde arrow"),peg$c220=peg$otherExpectation("mixed arrow"),peg$c221=peg$otherExpectation("arrow"),peg$c222="true",peg$c223=peg$literalExpectation("true",false),peg$c225="false",peg$c226=peg$literalExpectation("false",false),peg$c228="regular",peg$c229=peg$literalExpectation("regular",false),peg$c230="rounded",peg$c231=peg$literalExpectation("rounded",false),peg$c232="lined",peg$c233=peg$literalExpectation("lined",false),peg$c234="solid",peg$c235=peg$literalExpectation("solid",false),peg$c236="dotted",peg$c237=peg$literalExpectation("dotted",false),peg$c238="dashed",peg$c239=peg$literalExpectation("dashed",false),peg$c240=/^[0-9a-fA-F]/,peg$c241=peg$classExpectation([["0","9"],["a","f"],["A","F"]],false,false),peg$c242='"',peg$c243=peg$literalExpectation('"',false),peg$c244="\\",peg$c245=peg$literalExpectation("\\",false),peg$c246="/",peg$c247=peg$literalExpectation("/",false),peg$c248="b",peg$c249=peg$literalExpectation("b",false),peg$c250=function(){return"\b"},peg$c251="f",peg$c252=peg$literalExpectation("f",false),peg$c253=function(){return"\f"},peg$c254="n",peg$c255=peg$literalExpectation("n",false),peg$c256=function(){return"\n"},peg$c257="r",peg$c258=peg$literalExpectation("r",false),peg$c259=function(){return"\r"},peg$c260="t",peg$c261=peg$literalExpectation("t",false),peg$c262=function(){return"\t"},peg$c263="v",peg$c264=peg$literalExpectation("v",false),peg$c265=function(){return"\v"},peg$c266="u",peg$c267=peg$literalExpectation("u",false),peg$c268=function(digits){return String.fromCharCode(parseInt(digits,16))},peg$c269=function(Sequence){return Sequence},peg$c270=/^[ -!#-[\]-\u10FFFF]/,peg$c271=peg$classExpectation([[" ","!"],["#","["],["]","ჿ"],"F","F"],false,false),peg$c272="'",peg$c273=peg$literalExpectation("'",false),peg$c274=/^[ -&(-[\]-\u10FFFF]/,peg$c275=peg$classExpectation([[" ","&"],["(","["],["]","ჿ"],"F","F"],false,false),peg$c276=peg$otherExpectation("action label"),peg$c277=function(chars){return chars.join("")},peg$c278=/^[\n\r\u2028\u2029]/,peg$c279=peg$classExpectation(["\n","\r","\u2028","\u2029"],false,false),peg$c282="*/",peg$c283=peg$literalExpectation("*/",false),peg$c284=peg$anyExpectation(),peg$c285=peg$otherExpectation("block comment"),peg$c286="/*",peg$c287=peg$literalExpectation("/*",false),peg$c288=peg$otherExpectation("line comment"),peg$c289="//",peg$c290=peg$literalExpectation("//",false),peg$c291=peg$otherExpectation("whitespace"),peg$c292=/^[ \t\r\n\x0B]/,peg$c293=peg$classExpectation([" ","\t","\r","\n","\v"],false,false),peg$c294=peg$otherExpectation("string"),peg$c295=/^[0-9a-zA-Z._!$\^*!?,\x80-\uFFFF]/,peg$c296=peg$classExpectation([["0","9"],["a","z"],["A","Z"],".","_","!","$","^","*","!","?",",",["€","￿"]],false,false),peg$c297=/^[0-9a-zA-Z.+=_\^()*&$#@!?,\x80-\uFFFF]/,peg$c298=peg$classExpectation([["0","9"],["a","z"],["A","Z"],".","+","=","_","^","(",")","*","&","$","#","@","!","?",",",["€","￿"]],false,false),peg$c299=peg$otherExpectation("atom"),peg$c300=function(firstletter,text){return firstletter+(text||[]).join("")},peg$c301=peg$otherExpectation("label"),peg$c302="0",peg$c303=peg$literalExpectation("0",false),peg$c304=/^[0-9]/,peg$c305=peg$classExpectation([["0","9"]],false,false),peg$c306=/^[1-9]/,peg$c307=peg$classExpectation([["1","9"]],false,false),peg$c308=peg$otherExpectation("nonneg number"),peg$c309=".",peg$c310=peg$literalExpectation(".",false),peg$c311=function(){return parseFloat(text())},peg$c312=function(major,minor,patch){return{major:parseInt(major,10),minor:parseInt(minor,10),patch:parseInt(patch,10),full:text()}},peg$c323="http://",peg$c324=peg$literalExpectation("http://",false),peg$c325="https://",peg$c326=peg$literalExpectation("https://",false),peg$c327=/^[a-zA-Z0-9!*'():;@&=+$,\/?#[\]_.~\-]/,peg$c328=peg$classExpectation([["a","z"],["A","Z"],["0","9"],"!","*","'","(",")",":",";","@","&","=","+","$",",","/","?","#","[","]","_",".","~","-"],false,false),peg$c329=function(protocol){return text()},peg$c330="aliceblue",peg$c331=peg$literalExpectation("aliceblue",false),peg$c332=function(){return"#f0f8ffff"},peg$c333="AliceBlue",peg$c334=peg$literalExpectation("AliceBlue",false),peg$c335="antiquewhite",peg$c336=peg$literalExpectation("antiquewhite",false),peg$c337=function(){return"#faebd7ff"},peg$c338="AntiqueWhite",peg$c339=peg$literalExpectation("AntiqueWhite",false),peg$c340="aquamarine",peg$c341=peg$literalExpectation("aquamarine",false),peg$c342=function(){return"#7fffd4ff"},peg$c343="Aquamarine",peg$c344=peg$literalExpectation("Aquamarine",false),peg$c345="aqua",peg$c346=peg$literalExpectation("aqua",false),peg$c347=function(){return"#00ffffff"},peg$c348="Aqua",peg$c349=peg$literalExpectation("Aqua",false),peg$c350="azure",peg$c351=peg$literalExpectation("azure",false),peg$c352=function(){return"#f0ffffff"},peg$c353="Azure",peg$c354=peg$literalExpectation("Azure",false),peg$c355="beige",peg$c356=peg$literalExpectation("beige",false),peg$c357=function(){return"#f5f5dcff"},peg$c358="Beige",peg$c359=peg$literalExpectation("Beige",false),peg$c360="bisque",peg$c361=peg$literalExpectation("bisque",false),peg$c362=function(){return"#ffe4c4ff"},peg$c363="Bisque",peg$c364=peg$literalExpectation("Bisque",false),peg$c365="black",peg$c366=peg$literalExpectation("black",false),peg$c367=function(){return"#000000ff"},peg$c368="Black",peg$c369=peg$literalExpectation("Black",false),peg$c370="blanchedalmond",peg$c371=peg$literalExpectation("blanchedalmond",false),peg$c372=function(){return"#ffebcdff"},peg$c373="BlanchedAlmond",peg$c374=peg$literalExpectation("BlanchedAlmond",false),peg$c375="blueviolet",peg$c376=peg$literalExpectation("blueviolet",false),peg$c377=function(){return"#8a2be2ff"},peg$c378="BlueViolet",peg$c379=peg$literalExpectation("BlueViolet",false),peg$c380="blue",peg$c381=peg$literalExpectation("blue",false),peg$c382=function(){return"#0000ffff"},peg$c383="Blue",peg$c384=peg$literalExpectation("Blue",false),peg$c385="brown",peg$c386=peg$literalExpectation("brown",false),peg$c387=function(){return"#a52a2aff"},peg$c388="Brown",peg$c389=peg$literalExpectation("Brown",false),peg$c390="burlywood",peg$c391=peg$literalExpectation("burlywood",false),peg$c392=function(){return"#deb887ff"},peg$c393="BurlyWood",peg$c394=peg$literalExpectation("BurlyWood",false),peg$c395="cadetblue",peg$c396=peg$literalExpectation("cadetblue",false),peg$c397=function(){return"#5f9ea0ff"},peg$c398="CadetBlue",peg$c399=peg$literalExpectation("CadetBlue",false),peg$c400="chartreuse",peg$c401=peg$literalExpectation("chartreuse",false),peg$c402=function(){return"#7fff00ff"},peg$c403="Chartreuse",peg$c404=peg$literalExpectation("Chartreuse",false),peg$c405="chocolate",peg$c406=peg$literalExpectation("chocolate",false),peg$c407=function(){return"#d2691eff"},peg$c408="Chocolate",peg$c409=peg$literalExpectation("Chocolate",false),peg$c410="coral",peg$c411=peg$literalExpectation("coral",false),peg$c412=function(){return"#ff7f50ff"},peg$c413="Coral",peg$c414=peg$literalExpectation("Coral",false),peg$c415="cornflowerblue",peg$c416=peg$literalExpectation("cornflowerblue",false),peg$c417=function(){return"#6495edff"},peg$c418="CornflowerBlue",peg$c419=peg$literalExpectation("CornflowerBlue",false),peg$c420="cornsilk",peg$c421=peg$literalExpectation("cornsilk",false),peg$c422=function(){return"#fff8dcff"},peg$c423="Cornsilk",peg$c424=peg$literalExpectation("Cornsilk",false),peg$c425="crimson",peg$c426=peg$literalExpectation("crimson",false),peg$c427=function(){return"#dc143cff"},peg$c428="Crimson",peg$c429=peg$literalExpectation("Crimson",false),peg$c430="cyan",peg$c431=peg$literalExpectation("cyan",false),peg$c432="Cyan",peg$c433=peg$literalExpectation("Cyan",false),peg$c434="darkblue",peg$c435=peg$literalExpectation("darkblue",false),peg$c436=function(){return"#00008bff"},peg$c437="DarkBlue",peg$c438=peg$literalExpectation("DarkBlue",false),peg$c439="darkcyan",peg$c440=peg$literalExpectation("darkcyan",false),peg$c441=function(){return"#008b8bff"},peg$c442="DarkCyan",peg$c443=peg$literalExpectation("DarkCyan",false),peg$c444="darkgoldenrod",peg$c445=peg$literalExpectation("darkgoldenrod",false),peg$c446=function(){return"#b8860bff"},peg$c447="DarkGoldenRod",peg$c448=peg$literalExpectation("DarkGoldenRod",false),peg$c449="darkgray",peg$c450=peg$literalExpectation("darkgray",false),peg$c451=function(){return"#a9a9a9ff"},peg$c452="DarkGray",peg$c453=peg$literalExpectation("DarkGray",false),peg$c454="darkgrey",peg$c455=peg$literalExpectation("darkgrey",false),peg$c456="DarkGrey",peg$c457=peg$literalExpectation("DarkGrey",false),peg$c458="darkgreen",peg$c459=peg$literalExpectation("darkgreen",false),peg$c460=function(){return"#006400ff"},peg$c461="DarkGreen",peg$c462=peg$literalExpectation("DarkGreen",false),peg$c463="darkkhaki",peg$c464=peg$literalExpectation("darkkhaki",false),peg$c465=function(){return"#bdb76bff"},peg$c466="DarkKhaki",peg$c467=peg$literalExpectation("DarkKhaki",false),peg$c468="darkmagenta",peg$c469=peg$literalExpectation("darkmagenta",false),peg$c470=function(){return"#8b008bff"},peg$c471="DarkMagenta",peg$c472=peg$literalExpectation("DarkMagenta",false),peg$c473="darkolivegreen",peg$c474=peg$literalExpectation("darkolivegreen",false),peg$c475=function(){return"#556b2fff"},peg$c476="DarkOliveGreen",peg$c477=peg$literalExpectation("DarkOliveGreen",false),peg$c478="darkorange",peg$c479=peg$literalExpectation("darkorange",false),peg$c480=function(){return"#ff8c00ff"},peg$c481="Darkorange",peg$c482=peg$literalExpectation("Darkorange",false),peg$c483="darkorchid",peg$c484=peg$literalExpectation("darkorchid",false),peg$c485=function(){return"#9932ccff"},peg$c486="DarkOrchid",peg$c487=peg$literalExpectation("DarkOrchid",false),peg$c488="darkred",peg$c489=peg$literalExpectation("darkred",false),peg$c490=function(){return"#8b0000ff"},peg$c491="DarkRed",peg$c492=peg$literalExpectation("DarkRed",false),peg$c493="darksalmon",peg$c494=peg$literalExpectation("darksalmon",false),peg$c495=function(){return"#e9967aff"},peg$c496="DarkSalmon",peg$c497=peg$literalExpectation("DarkSalmon",false),peg$c498="darkseagreen",peg$c499=peg$literalExpectation("darkseagreen",false),peg$c500=function(){return"#8fbc8fff"},peg$c501="DarkSeaGreen",peg$c502=peg$literalExpectation("DarkSeaGreen",false),peg$c503="darkslateblue",peg$c504=peg$literalExpectation("darkslateblue",false),peg$c505=function(){return"#483d8bff"},peg$c506="DarkSlateBlue",peg$c507=peg$literalExpectation("DarkSlateBlue",false),peg$c508="darkslategray",peg$c509=peg$literalExpectation("darkslategray",false),peg$c510=function(){return"#2f4f4fff"},peg$c511="DarkSlateGray",peg$c512=peg$literalExpectation("DarkSlateGray",false),peg$c513="darkslategrey",peg$c514=peg$literalExpectation("darkslategrey",false),peg$c515="DarkSlateGrey",peg$c516=peg$literalExpectation("DarkSlateGrey",false),peg$c517="darkturquoise",peg$c518=peg$literalExpectation("darkturquoise",false),peg$c519=function(){return"#00ced1ff"},peg$c520="DarkTurquoise",peg$c521=peg$literalExpectation("DarkTurquoise",false),peg$c522="darkviolet",peg$c523=peg$literalExpectation("darkviolet",false),peg$c524=function(){return"#9400d3ff"},peg$c525="DarkViolet",peg$c526=peg$literalExpectation("DarkViolet",false),peg$c527="deeppink",peg$c528=peg$literalExpectation("deeppink",false),peg$c529=function(){return"#ff1493ff"},peg$c530="DeepPink",peg$c531=peg$literalExpectation("DeepPink",false),peg$c532="deepskyblue",peg$c533=peg$literalExpectation("deepskyblue",false),peg$c534=function(){return"#00bfffff"},peg$c535="DeepSkyBlue",peg$c536=peg$literalExpectation("DeepSkyBlue",false),peg$c537="dimgray",peg$c538=peg$literalExpectation("dimgray",false),peg$c539=function(){return"#696969ff"},peg$c540="DimGray",peg$c541=peg$literalExpectation("DimGray",false),peg$c542="dimgrey",peg$c543=peg$literalExpectation("dimgrey",false),peg$c544="DimGrey",peg$c545=peg$literalExpectation("DimGrey",false),peg$c546="dodgerblue",peg$c547=peg$literalExpectation("dodgerblue",false),peg$c548=function(){return"#1e90ffff"},peg$c549="DodgerBlue",peg$c550=peg$literalExpectation("DodgerBlue",false),peg$c551="firebrick",peg$c552=peg$literalExpectation("firebrick",false),peg$c553=function(){return"#b22222ff"},peg$c554="FireBrick",peg$c555=peg$literalExpectation("FireBrick",false),peg$c556="floralwhite",peg$c557=peg$literalExpectation("floralwhite",false),peg$c558=function(){return"#fffaf0ff"},peg$c559="FloralWhite",peg$c560=peg$literalExpectation("FloralWhite",false),peg$c561="forestgreen",peg$c562=peg$literalExpectation("forestgreen",false),peg$c563=function(){return"#228b22ff"},peg$c564="ForestGreen",peg$c565=peg$literalExpectation("ForestGreen",false),peg$c566="fuchsia",peg$c567=peg$literalExpectation("fuchsia",false),peg$c568=function(){return"#ff00ffff"},peg$c569="Fuchsia",peg$c570=peg$literalExpectation("Fuchsia",false),peg$c571="gainsboro",peg$c572=peg$literalExpectation("gainsboro",false),peg$c573=function(){return"#dcdcdcff"},peg$c574="Gainsboro",peg$c575=peg$literalExpectation("Gainsboro",false),peg$c576="ghostwhite",peg$c577=peg$literalExpectation("ghostwhite",false),peg$c578=function(){return"#f8f8ffff"},peg$c579="GhostWhite",peg$c580=peg$literalExpectation("GhostWhite",false),peg$c581="goldenrod",peg$c582=peg$literalExpectation("goldenrod",false),peg$c583=function(){return"#daa520ff"},peg$c584="GoldenRod",peg$c585=peg$literalExpectation("GoldenRod",false),peg$c586="gold",peg$c587=peg$literalExpectation("gold",false),peg$c588=function(){return"#ffd700ff"},peg$c589="Gold",peg$c590=peg$literalExpectation("Gold",false),peg$c591="gray",peg$c592=peg$literalExpectation("gray",false),peg$c593=function(){return"#808080ff"},peg$c594="Gray",peg$c595=peg$literalExpectation("Gray",false),peg$c596="grey",peg$c597=peg$literalExpectation("grey",false),peg$c598="Grey",peg$c599=peg$literalExpectation("Grey",false),peg$c600="greenyellow",peg$c601=peg$literalExpectation("greenyellow",false),peg$c602=function(){return"#adff2fff"},peg$c603="GreenYellow",peg$c604=peg$literalExpectation("GreenYellow",false),peg$c605="green",peg$c606=peg$literalExpectation("green",false),peg$c607=function(){return"#008000ff"},peg$c608="Green",peg$c609=peg$literalExpectation("Green",false),peg$c610="honeydew",peg$c611=peg$literalExpectation("honeydew",false),peg$c612=function(){return"#f0fff0ff"},peg$c613="HoneyDew",peg$c614=peg$literalExpectation("HoneyDew",false),peg$c615="hotpink",peg$c616=peg$literalExpectation("hotpink",false),peg$c617=function(){return"#ff69b4ff"},peg$c618="HotPink",peg$c619=peg$literalExpectation("HotPink",false),peg$c620="indianred",peg$c621=peg$literalExpectation("indianred",false),peg$c622=function(){return"#cd5c5cff"},peg$c623="IndianRed",peg$c624=peg$literalExpectation("IndianRed",false),peg$c625="indigo",peg$c626=peg$literalExpectation("indigo",false),peg$c627=function(){return"#4b0082ff"},peg$c628="Indigo",peg$c629=peg$literalExpectation("Indigo",false),peg$c630="ivory",peg$c631=peg$literalExpectation("ivory",false),peg$c632=function(){return"#fffff0ff"},peg$c633="Ivory",peg$c634=peg$literalExpectation("Ivory",false),peg$c635="khaki",peg$c636=peg$literalExpectation("khaki",false),peg$c637=function(){return"#f0e68cff"},peg$c638="Khaki",peg$c639=peg$literalExpectation("Khaki",false),peg$c640="lavenderblush",peg$c641=peg$literalExpectation("lavenderblush",false),peg$c642=function(){return"#fff0f5ff"},peg$c643="LavenderBlush",peg$c644=peg$literalExpectation("LavenderBlush",false),peg$c645="lavender",peg$c646=peg$literalExpectation("lavender",false),peg$c647=function(){return"#e6e6faff"},peg$c648="Lavender",peg$c649=peg$literalExpectation("Lavender",false),peg$c650="lawngreen",peg$c651=peg$literalExpectation("lawngreen",false),peg$c652=function(){return"#7cfc00ff"},peg$c653="LawnGreen",peg$c654=peg$literalExpectation("LawnGreen",false),peg$c655="lemonchiffon",peg$c656=peg$literalExpectation("lemonchiffon",false),peg$c657=function(){return"#fffacdff"},peg$c658="LemonChiffon",peg$c659=peg$literalExpectation("LemonChiffon",false),peg$c660="lightblue",peg$c661=peg$literalExpectation("lightblue",false),peg$c662=function(){return"#add8e6ff"},peg$c663="LightBlue",peg$c664=peg$literalExpectation("LightBlue",false),peg$c665="lightcoral",peg$c666=peg$literalExpectation("lightcoral",false),peg$c667=function(){return"#f08080ff"},peg$c668="LightCoral",peg$c669=peg$literalExpectation("LightCoral",false),peg$c670="lightcyan",peg$c671=peg$literalExpectation("lightcyan",false),peg$c672=function(){return"#e0ffffff"},peg$c673="LightCyan",peg$c674=peg$literalExpectation("LightCyan",false),peg$c675="lightgoldenrodyellow",peg$c676=peg$literalExpectation("lightgoldenrodyellow",false),peg$c677=function(){return"#fafad2ff"},peg$c678="LightGoldenRodYellow",peg$c679=peg$literalExpectation("LightGoldenRodYellow",false),peg$c680="lightgray",peg$c681=peg$literalExpectation("lightgray",false),peg$c682=function(){return"#d3d3d3ff"},peg$c683="LightGray",peg$c684=peg$literalExpectation("LightGray",false),peg$c685="lightgrey",peg$c686=peg$literalExpectation("lightgrey",false),peg$c687="LightGrey",peg$c688=peg$literalExpectation("LightGrey",false),peg$c689="lightgreen",peg$c690=peg$literalExpectation("lightgreen",false),peg$c691=function(){return"#90ee90ff"},peg$c692="LightGreen",peg$c693=peg$literalExpectation("LightGreen",false),peg$c694="lightpink",peg$c695=peg$literalExpectation("lightpink",false),peg$c696=function(){return"#ffb6c1ff"},peg$c697="LightPink",peg$c698=peg$literalExpectation("LightPink",false),peg$c699="lightsalmon",peg$c700=peg$literalExpectation("lightsalmon",false),peg$c701=function(){return"#ffa07aff"},peg$c702="LightSalmon",peg$c703=peg$literalExpectation("LightSalmon",false),peg$c704="lightseagreen",peg$c705=peg$literalExpectation("lightseagreen",false),peg$c706=function(){return"#20b2aaff"},peg$c707="LightSeaGreen",peg$c708=peg$literalExpectation("LightSeaGreen",false),peg$c709="lightskyblue",peg$c710=peg$literalExpectation("lightskyblue",false),peg$c711=function(){return"#87cefaff"},peg$c712="LightSkyBlue",peg$c713=peg$literalExpectation("LightSkyBlue",false),peg$c714="lightslategray",peg$c715=peg$literalExpectation("lightslategray",false),peg$c716=function(){return"#778899ff"},peg$c717="LightSlateGray",peg$c718=peg$literalExpectation("LightSlateGray",false),peg$c719="lightslategrey",peg$c720=peg$literalExpectation("lightslategrey",false),peg$c721="LightSlateGrey",peg$c722=peg$literalExpectation("LightSlateGrey",false),peg$c723="lightsteelblue",peg$c724=peg$literalExpectation("lightsteelblue",false),peg$c725=function(){return"#b0c4deff"},peg$c726="LightSteelBlue",peg$c727=peg$literalExpectation("LightSteelBlue",false),peg$c728="lightyellow",peg$c729=peg$literalExpectation("lightyellow",false),peg$c730=function(){return"#ffffe0ff"},peg$c731="LightYellow",peg$c732=peg$literalExpectation("LightYellow",false),peg$c733="limegreen",peg$c734=peg$literalExpectation("limegreen",false),peg$c735=function(){return"#32cd32ff"},peg$c736="LimeGreen",peg$c737=peg$literalExpectation("LimeGreen",false),peg$c738="lime",peg$c739=peg$literalExpectation("lime",false),peg$c740=function(){return"#00ff00ff"},peg$c741="Lime",peg$c742=peg$literalExpectation("Lime",false),peg$c743="linen",peg$c744=peg$literalExpectation("linen",false),peg$c745=function(){return"#faf0e6ff"},peg$c746="Linen",peg$c747=peg$literalExpectation("Linen",false),peg$c748="magenta",peg$c749=peg$literalExpectation("magenta",false),peg$c750="Magenta",peg$c751=peg$literalExpectation("Magenta",false),peg$c752="maroon",peg$c753=peg$literalExpectation("maroon",false),peg$c754=function(){return"#800000ff"},peg$c755="Maroon",peg$c756=peg$literalExpectation("Maroon",false),peg$c757="mediumaquamarine",peg$c758=peg$literalExpectation("mediumaquamarine",false),peg$c759=function(){return"#66cdaaff"},peg$c760="MediumAquaMarine",peg$c761=peg$literalExpectation("MediumAquaMarine",false),peg$c762="mediumblue",peg$c763=peg$literalExpectation("mediumblue",false),peg$c764=function(){return"#0000cdff"},peg$c765="MediumBlue",peg$c766=peg$literalExpectation("MediumBlue",false),peg$c767="mediumorchid",peg$c768=peg$literalExpectation("mediumorchid",false),peg$c769=function(){return"#ba55d3ff"},peg$c770="MediumOrchid",peg$c771=peg$literalExpectation("MediumOrchid",false),peg$c772="mediumpurple",peg$c773=peg$literalExpectation("mediumpurple",false),peg$c774=function(){return"#9370d8ff"},peg$c775="MediumPurple",peg$c776=peg$literalExpectation("MediumPurple",false),peg$c777="mediumseagreen",peg$c778=peg$literalExpectation("mediumseagreen",false),peg$c779=function(){return"#3cb371ff"},peg$c780="MediumSeaGreen",peg$c781=peg$literalExpectation("MediumSeaGreen",false),peg$c782="mediumslateblue",peg$c783=peg$literalExpectation("mediumslateblue",false),peg$c784=function(){return"#7b68eeff"},peg$c785="MediumSlateBlue",peg$c786=peg$literalExpectation("MediumSlateBlue",false),peg$c787="mediumspringgreen",peg$c788=peg$literalExpectation("mediumspringgreen",false),peg$c789=function(){return"#00fa9aff"},peg$c790="MediumSpringGreen",peg$c791=peg$literalExpectation("MediumSpringGreen",false),peg$c792="mediumturquoise",peg$c793=peg$literalExpectation("mediumturquoise",false),peg$c794=function(){return"#48d1ccff"},peg$c795="MediumTurquoise",peg$c796=peg$literalExpectation("MediumTurquoise",false),peg$c797="mediumvioletred",peg$c798=peg$literalExpectation("mediumvioletred",false),peg$c799=function(){return"#c71585ff"},peg$c800="MediumVioletRed",peg$c801=peg$literalExpectation("MediumVioletRed",false),peg$c802="midnightblue",peg$c803=peg$literalExpectation("midnightblue",false),peg$c804=function(){return"#191970ff"},peg$c805="MidnightBlue",peg$c806=peg$literalExpectation("MidnightBlue",false),peg$c807="mintcream",peg$c808=peg$literalExpectation("mintcream",false),peg$c809=function(){return"#f5fffaff"},peg$c810="MintCream",peg$c811=peg$literalExpectation("MintCream",false),peg$c812="mistyrose",peg$c813=peg$literalExpectation("mistyrose",false),peg$c814=function(){return"#ffe4e1ff"},peg$c815="MistyRose",peg$c816=peg$literalExpectation("MistyRose",false),peg$c817="moccasin",peg$c818=peg$literalExpectation("moccasin",false),peg$c819=function(){return"#ffe4b5ff"},peg$c820="Moccasin",peg$c821=peg$literalExpectation("Moccasin",false),peg$c822="navajowhite",peg$c823=peg$literalExpectation("navajowhite",false),peg$c824=function(){return"#ffdeadff"},peg$c825="NavajoWhite",peg$c826=peg$literalExpectation("NavajoWhite",false),peg$c827="navy",peg$c828=peg$literalExpectation("navy",false),peg$c829=function(){return"#000080ff"},peg$c830="Navy",peg$c831=peg$literalExpectation("Navy",false),peg$c832="oldlace",peg$c833=peg$literalExpectation("oldlace",false),peg$c834=function(){return"#fdf5e6ff"},peg$c835="OldLace",peg$c836=peg$literalExpectation("OldLace",false),peg$c837="olivedrab",peg$c838=peg$literalExpectation("olivedrab",false),peg$c839=function(){return"#6b8e23ff"},peg$c840="OliveDrab",peg$c841=peg$literalExpectation("OliveDrab",false),peg$c842="olive",peg$c843=peg$literalExpectation("olive",false),peg$c844=function(){return"#808000ff"},peg$c845="Olive",peg$c846=peg$literalExpectation("Olive",false),peg$c847="orangered",peg$c848=peg$literalExpectation("orangered",false),peg$c849=function(){return"#ff4500ff"},peg$c850="OrangeRed",peg$c851=peg$literalExpectation("OrangeRed",false),peg$c852="orange",peg$c853=peg$literalExpectation("orange",false),peg$c854=function(){return"#ffa500ff"},peg$c855="Orange",peg$c856=peg$literalExpectation("Orange",false),peg$c857="orchid",peg$c858=peg$literalExpectation("orchid",false),peg$c859=function(){return"#da70d6ff"},peg$c860="Orchid",peg$c861=peg$literalExpectation("Orchid",false),peg$c862="palegoldenrod",peg$c863=peg$literalExpectation("palegoldenrod",false),peg$c864=function(){return"#eee8aaff"},peg$c865="PaleGoldenRod",peg$c866=peg$literalExpectation("PaleGoldenRod",false),peg$c867="palegreen",peg$c868=peg$literalExpectation("palegreen",false),peg$c869=function(){return"#98fb98ff"},peg$c870="PaleGreen",peg$c871=peg$literalExpectation("PaleGreen",false),peg$c872="paleturquoise",peg$c873=peg$literalExpectation("paleturquoise",false),peg$c874=function(){return"#afeeeeff"},peg$c875="PaleTurquoise",peg$c876=peg$literalExpectation("PaleTurquoise",false),peg$c877="palevioletred",peg$c878=peg$literalExpectation("palevioletred",false),peg$c879=function(){return"#d87093ff"},peg$c880="PaleVioletRed",peg$c881=peg$literalExpectation("PaleVioletRed",false),peg$c882="papayawhip",peg$c883=peg$literalExpectation("papayawhip",false),peg$c884=function(){return"#ffefd5ff"},peg$c885="PapayaWhip",peg$c886=peg$literalExpectation("PapayaWhip",false),peg$c887="peachpuff",peg$c888=peg$literalExpectation("peachpuff",false),peg$c889=function(){return"#ffdab9ff"},peg$c890="PeachPuff",peg$c891=peg$literalExpectation("PeachPuff",false),peg$c892="peru",peg$c893=peg$literalExpectation("peru",false),peg$c894=function(){return"#cd853fff"},peg$c895="Peru",peg$c896=peg$literalExpectation("Peru",false),peg$c897="pink",peg$c898=peg$literalExpectation("pink",false),peg$c899=function(){return"#ffc0cbff"},peg$c900="Pink",peg$c901=peg$literalExpectation("Pink",false),peg$c902="plum",peg$c903=peg$literalExpectation("plum",false),peg$c904=function(){return"#dda0ddff"},peg$c905="Plum",peg$c906=peg$literalExpectation("Plum",false),peg$c907="powderblue",peg$c908=peg$literalExpectation("powderblue",false),peg$c909=function(){return"#b0e0e6ff"},peg$c910="PowderBlue",peg$c911=peg$literalExpectation("PowderBlue",false),peg$c912="purple",peg$c913=peg$literalExpectation("purple",false),peg$c914=function(){return"#800080ff"},peg$c915="Purple",peg$c916=peg$literalExpectation("Purple",false),peg$c917="red",peg$c918=peg$literalExpectation("red",false),peg$c919=function(){return"#ff0000ff"},peg$c920="Red",peg$c921=peg$literalExpectation("Red",false),peg$c922="rosybrown",peg$c923=peg$literalExpectation("rosybrown",false),peg$c924=function(){return"#bc8f8fff"},peg$c925="RosyBrown",peg$c926=peg$literalExpectation("RosyBrown",false),peg$c927="royalblue",peg$c928=peg$literalExpectation("royalblue",false),peg$c929=function(){return"#4169e1ff"},peg$c930="RoyalBlue",peg$c931=peg$literalExpectation("RoyalBlue",false),peg$c932="saddlebrown",peg$c933=peg$literalExpectation("saddlebrown",false),peg$c934=function(){return"#8b4513ff"},peg$c935="SaddleBrown",peg$c936=peg$literalExpectation("SaddleBrown",false),peg$c937="salmon",peg$c938=peg$literalExpectation("salmon",false),peg$c939=function(){return"#fa8072ff"},peg$c940="Salmon",peg$c941=peg$literalExpectation("Salmon",false),peg$c942="sandybrown",peg$c943=peg$literalExpectation("sandybrown",false),peg$c944=function(){return"#f4a460ff"},peg$c945="SandyBrown",peg$c946=peg$literalExpectation("SandyBrown",false),peg$c947="seagreen",peg$c948=peg$literalExpectation("seagreen",false),peg$c949=function(){return"#2e8b57ff"},peg$c950="SeaGreen",peg$c951=peg$literalExpectation("SeaGreen",false),peg$c952="seashell",peg$c953=peg$literalExpectation("seashell",false),peg$c954=function(){return"#fff5eeff"},peg$c955="SeaShell",peg$c956=peg$literalExpectation("SeaShell",false),peg$c957="sienna",peg$c958=peg$literalExpectation("sienna",false),peg$c959=function(){return"#a0522dff"},peg$c960="Sienna",peg$c961=peg$literalExpectation("Sienna",false),peg$c962="silver",peg$c963=peg$literalExpectation("silver",false),peg$c964=function(){return"#c0c0c0ff"},peg$c965="Silver",peg$c966=peg$literalExpectation("Silver",false),peg$c967="skyblue",peg$c968=peg$literalExpectation("skyblue",false),peg$c969=function(){return"#87ceebff"},peg$c970="SkyBlue",peg$c971=peg$literalExpectation("SkyBlue",false),peg$c972="slateblue",peg$c973=peg$literalExpectation("slateblue",false),peg$c974=function(){return"#6a5acdff"},peg$c975="SlateBlue",peg$c976=peg$literalExpectation("SlateBlue",false),peg$c977="slategray",peg$c978=peg$literalExpectation("slategray",false),peg$c979=function(){return"#708090ff"},peg$c980="SlateGray",peg$c981=peg$literalExpectation("SlateGray",false),peg$c982="slategrey",peg$c983=peg$literalExpectation("slategrey",false),peg$c984="SlateGrey",peg$c985=peg$literalExpectation("SlateGrey",false),peg$c986="snow",peg$c987=peg$literalExpectation("snow",false),peg$c988=function(){return"#fffafaff"},peg$c989="Snow",peg$c990=peg$literalExpectation("Snow",false),peg$c991="springgreen",peg$c992=peg$literalExpectation("springgreen",false),peg$c993=function(){return"#00ff7fff"},peg$c994="SpringGreen",peg$c995=peg$literalExpectation("SpringGreen",false),peg$c996="steelblue",peg$c997=peg$literalExpectation("steelblue",false),peg$c998=function(){return"#4682b4ff"},peg$c999="SteelBlue",peg$c1000=peg$literalExpectation("SteelBlue",false),peg$c1001="tan",peg$c1002=peg$literalExpectation("tan",false),peg$c1003=function(){return"#d2b48cff"},peg$c1004="Tan",peg$c1005=peg$literalExpectation("Tan",false),peg$c1006="teal",peg$c1007=peg$literalExpectation("teal",false),peg$c1008=function(){return"#008080ff"},peg$c1009="Teal",peg$c1010=peg$literalExpectation("Teal",false),peg$c1011="thistle",peg$c1012=peg$literalExpectation("thistle",false),peg$c1013=function(){return"#d8bfd8ff"},peg$c1014="Thistle",peg$c1015=peg$literalExpectation("Thistle",false),peg$c1016="tomato",peg$c1017=peg$literalExpectation("tomato",false),peg$c1018=function(){return"#ff6347ff"},peg$c1019="Tomato",peg$c1020=peg$literalExpectation("Tomato",false),peg$c1021="turquoise",peg$c1022=peg$literalExpectation("turquoise",false),peg$c1023=function(){return"#40e0d0ff"},peg$c1024="Turquoise",peg$c1025=peg$literalExpectation("Turquoise",false),peg$c1026="violet",peg$c1027=peg$literalExpectation("violet",false),peg$c1028=function(){return"#ee82eeff"},peg$c1029="Violet",peg$c1030=peg$literalExpectation("Violet",false),peg$c1031="wheat",peg$c1032=peg$literalExpectation("wheat",false),peg$c1033=function(){return"#f5deb3ff"},peg$c1034="Wheat",peg$c1035=peg$literalExpectation("Wheat",false),peg$c1036="whitesmoke",peg$c1037=peg$literalExpectation("whitesmoke",false),peg$c1038=function(){return"#f5f5f5ff"},peg$c1039="WhiteSmoke",peg$c1040=peg$literalExpectation("WhiteSmoke",false),peg$c1041="white",peg$c1042=peg$literalExpectation("white",false),peg$c1043=function(){return"#ffffffff"},peg$c1044="White",peg$c1045=peg$literalExpectation("White",false),peg$c1046="yellowgreen",peg$c1047=peg$literalExpectation("yellowgreen",false),peg$c1048=function(){return"#9acd32ff"},peg$c1049="YellowGreen",peg$c1050=peg$literalExpectation("YellowGreen",false),peg$c1051="yellow",peg$c1052=peg$literalExpectation("yellow",false),peg$c1053=function(){return"#ffff00ff"},peg$c1054="Yellow",peg$c1055=peg$literalExpectation("Yellow",false),peg$c1056=function(lab){return lab},peg$c1057="#",peg$c1058=peg$literalExpectation("#",false),peg$c1059=function(r,g,b){return`#${r}${r}${g}${g}${b}${b}ff`},peg$c1060=function(r1,r2,g1,g2,b1,b2){return`#${r1}${r2}${g1}${g2}${b1}${b2}ff`},peg$c1061=function(r,g,b,a){return`#${r}${r}${g}${g}${b}${b}${a}${a}`},peg$c1062=function(r1,r2,g1,g2,b1,b2,a1,a2){return`#${r1}${r2}${g1}${g2}${b1}${b2}${a1}${a2}`},peg$c1063=peg$otherExpectation("color"),peg$c1064="arc_label",peg$c1065=peg$literalExpectation("arc_label",false),peg$c1066="head_label",peg$c1067=peg$literalExpectation("head_label",false),peg$c1068="tail_label",peg$c1069=peg$literalExpectation("tail_label",false),peg$c1070=":",peg$c1071=peg$literalExpectation(":",false),peg$c1072=";",peg$c1073=peg$literalExpectation(";",false),peg$c1074=function(key,value){return{key:key,value:value}},peg$c1075=peg$otherExpectation("single edge color"),peg$c1076="edge_color",peg$c1077=peg$literalExpectation("edge_color",false),peg$c1078=function(value){return{key:"single_edge_color",value:value}},peg$c1079=peg$otherExpectation("transition line style"),peg$c1080="linestyle",peg$c1081=peg$literalExpectation("linestyle",false),peg$c1082=function(value){return{key:"transition_line_style",value:value}},peg$c1083="{",peg$c1084=peg$literalExpectation("{",false),peg$c1085="}",peg$c1086=peg$literalExpectation("}",false),peg$c1087=function(items){return items},peg$c1088="%",peg$c1089=peg$literalExpectation("%",false),peg$c1090=function(value){return{key:"arrow probability",value:value}},peg$c1091="[",peg$c1092=peg$literalExpectation("[",false),peg$c1093="]",peg$c1094=peg$literalExpectation("]",false),peg$c1095=function(names){return names.map((i=>i[0]))},peg$c1096="+|",peg$c1097=peg$literalExpectation("+|",false),peg$c1098=function(nzd,dd){return{key:"stripe",value:parseInt(`${nzd}${dd}`,10)}},peg$c1099="-|",peg$c1100=peg$literalExpectation("-|",false),peg$c1101=function(nzd,dd){return{key:"stripe",value:-1*parseInt(`${nzd}${dd}`,10)}},peg$c1102="+",peg$c1103=peg$literalExpectation("+",false),peg$c1104=function(nzd,dd){return{key:"cycle",value:parseInt(`${nzd}${dd}`,10)}},peg$c1105="-",peg$c1106=peg$literalExpectation("-",false),peg$c1107=function(nzd,dd){return{key:"cycle",value:-1*parseInt(`${nzd}${dd}`,10)}},peg$c1108="+0",peg$c1109=peg$literalExpectation("+0",false),peg$c1110=function(){return{key:"cycle",value:0}},peg$c1111=function(r_action,r_prob,l_desc,arrow,r_desc,l_prob,l_action,label,tail){const base={kind:arrow,to:label};if(tail&&tail!==[]){base.se=tail}if(l_desc){base.l_desc=l_desc}if(r_desc){base.r_desc=r_desc}if(l_action){base.l_action=l_action}if(r_action){base.r_action=r_action}if(l_prob){base.l_probability=l_prob.value}if(r_prob){base.r_probability=r_prob.value}return base},peg$c1112=function(label,se){const base={key:"transition",from:label};if(se&&se!==[]){base.se=se}return base},peg$c1113="whargarbl",peg$c1114=peg$literalExpectation("whargarbl",false),peg$c1115="todo",peg$c1116=peg$literalExpectation("todo",false),peg$c1117=function(validationkey,value){return{key:validationkey,value:value}},peg$c1118="validation",peg$c1119=peg$literalExpectation("validation",false),peg$c1120="};",peg$c1121=peg$literalExpectation("};",false),peg$c1122=function(validation_items){return{config_kind:"validation",config_items:validation_items||[]}},peg$c1123="dot",peg$c1124=peg$literalExpectation("dot",false),peg$c1125="circo",peg$c1126=peg$literalExpectation("circo",false),peg$c1127="fdp",peg$c1128=peg$literalExpectation("fdp",false),peg$c1129="neato",peg$c1130=peg$literalExpectation("neato",false),peg$c1131="shape",peg$c1132=peg$literalExpectation("shape",false),peg$c1133=function(value){return{key:"shape",value:value}},peg$c1134="state",peg$c1135=peg$literalExpectation("state",false),peg$c1136=function(state_items){return{key:"state_config",value:{config_kind:"state",config_items:state_items||[]}}},peg$c1137="start_state",peg$c1138=peg$literalExpectation("start_state",false),peg$c1139=function(state_items){return{key:"state_config",value:{config_kind:"in_state",config_items:state_items||[]}}},peg$c1140="end_state",peg$c1141=peg$literalExpectation("end_state",false),peg$c1142=function(state_items){return{key:"state_config",value:{config_kind:"out_state",config_items:state_items||[]}}},peg$c1143=function(actionkey,value){return{key:actionkey,value:value}},peg$c1144="action",peg$c1145=peg$literalExpectation("action",false),peg$c1146=function(action_items){return{config_kind:"action",config_items:action_items||[]}},peg$c1147=function(transitionkey,value){return{key:transitionkey,value:value}},peg$c1148=peg$otherExpectation("graph default edge color"),peg$c1149=function(value){return{key:"graph_default_edge_color",value:value}},peg$c1150="transition",peg$c1151=peg$literalExpectation("transition",false),peg$c1152=function(transition_items){return{config_kind:"transition",config_items:transition_items||[]}},peg$c1153="graph_layout",peg$c1154=peg$literalExpectation("graph_layout",false),peg$c1155=function(value){return{key:"graph_layout",value:value}},peg$c1156="start_states",peg$c1157=peg$literalExpectation("start_states",false),peg$c1158=function(value){return{key:"start_states",value:value}},peg$c1159="end_states",peg$c1160=peg$literalExpectation("end_states",false),peg$c1161=function(value){return{key:"end_states",value:value}},peg$c1162="graph_bg_color",peg$c1163=peg$literalExpectation("graph_bg_color",false),peg$c1164=function(value){return{key:"graph_bg_color",value:value}},peg$c1165=peg$otherExpectation("configuration"),peg$c1166="MIT",peg$c1167=peg$literalExpectation("MIT",false),peg$c1168="BSD 2-clause",peg$c1169=peg$literalExpectation("BSD 2-clause",false),peg$c1170="BSD 3-clause",peg$c1171=peg$literalExpectation("BSD 3-clause",false),peg$c1172="Apache 2.0",peg$c1173=peg$literalExpectation("Apache 2.0",false),peg$c1174="Mozilla 2.0",peg$c1175=peg$literalExpectation("Mozilla 2.0",false),peg$c1176="Public domain",peg$c1177=peg$literalExpectation("Public domain",false),peg$c1178="GPL v2",peg$c1179=peg$literalExpectation("GPL v2",false),peg$c1180="GPL v3",peg$c1181=peg$literalExpectation("GPL v3",false),peg$c1182="LGPL v2.1",peg$c1183=peg$literalExpectation("LGPL v2.1",false),peg$c1184="LGPL v3.0",peg$c1185=peg$literalExpectation("LGPL v3.0",false),peg$c1186="Unknown",peg$c1187=peg$literalExpectation("Unknown",false),peg$c1188=peg$otherExpectation("direction"),peg$c1189="up",peg$c1190=peg$literalExpectation("up",false),peg$c1191="right",peg$c1192=peg$literalExpectation("right",false),peg$c1193="down",peg$c1194=peg$literalExpectation("down",false),peg$c1195="left",peg$c1196=peg$literalExpectation("left",false),peg$c1197=peg$otherExpectation("hook definition (open/closed)"),peg$c1198="open",peg$c1199=peg$literalExpectation("open",false),peg$c1200="closed",peg$c1201=peg$literalExpectation("closed",false),peg$c1202="machine_author",peg$c1203=peg$literalExpectation("machine_author",false),peg$c1204=function(value){return{key:"machine_author",value:value}},peg$c1205="machine_contributor",peg$c1206=peg$literalExpectation("machine_contributor",false),peg$c1207=function(value){return{key:"machine_contributor",value:value}},peg$c1208="machine_comment",peg$c1209=peg$literalExpectation("machine_comment",false),peg$c1210=function(value){return{key:"machine_comment",value:value}},peg$c1211="machine_definition",peg$c1212=peg$literalExpectation("machine_definition",false),peg$c1213=function(value){return{key:"machine_definition",value:value}},peg$c1214="machine_name",peg$c1215=peg$literalExpectation("machine_name",false),peg$c1216=function(value){return{key:"machine_name",value:value}},peg$c1220="machine_version",peg$c1221=peg$literalExpectation("machine_version",false),peg$c1222=function(value){return{key:"machine_version",value:value}},peg$c1223="machine_license",peg$c1224=peg$literalExpectation("machine_license",false),peg$c1225=function(value){return{key:"machine_license",value:value}},peg$c1226="machine_language",peg$c1227=peg$literalExpectation("machine_language",false),peg$c1228=function(value){return{key:"machine_language",value:value}},peg$c1229="fsl_version",peg$c1230=peg$literalExpectation("fsl_version",false),peg$c1231=function(value){return{key:"fsl_version",value:value}},peg$c1232="theme",peg$c1233=peg$literalExpectation("theme",false),peg$c1234=function(value){return{key:"theme",value:value}},peg$c1235="flow",peg$c1236=peg$literalExpectation("flow",false),peg$c1237=function(value){return{key:"flow",value:value}},peg$c1238="hooks",peg$c1239=peg$literalExpectation("hooks",false),peg$c1240=function(value){return{key:"hook_definition",value:value}},peg$c1241="dot_preamble",peg$c1242=peg$literalExpectation("dot_preamble",false),peg$c1243=function(value){return{key:"dot_preamble",value:value}},peg$c1244=peg$otherExpectation("machine attribute"),peg$c1245="color",peg$c1246=peg$literalExpectation("color",false),peg$c1247=function(value){return{key:"color",value:value}},peg$c1248=peg$otherExpectation("text color"),peg$c1249="text-color",peg$c1250=peg$literalExpectation("text-color",false),peg$c1251=function(value){return{key:"text-color",value:value}},peg$c1252=peg$otherExpectation("background color"),peg$c1253="background-color",peg$c1254=peg$literalExpectation("background-color",false),peg$c1255=function(value){return{key:"background-color",value:value}},peg$c1256=peg$otherExpectation("border color"),peg$c1257="border-color",peg$c1258=peg$literalExpectation("border-color",false),peg$c1259=function(value){return{key:"border-color",value:value}},peg$c1260=peg$otherExpectation("shape"),peg$c1261=function(value){return{key:"shape",value:value}},peg$c1262=peg$otherExpectation("corners"),peg$c1263="corners",peg$c1264=peg$literalExpectation("corners",false),peg$c1265=function(value){return{key:"corners",value:value}},peg$c1266=peg$otherExpectation("linestyle"),peg$c1267=function(value){return{key:"linestyle",value:value}},peg$c1268=function(name,value){return{key:"state_declaration",name:name,value:value}},peg$c1269="&",peg$c1270=peg$literalExpectation("&",false),peg$c1271=function(name,value){return{key:"named_list",name:name,value:value}},peg$c1272="null",peg$c1273=peg$literalExpectation("null",false),peg$c1274="undefined",peg$c1275=peg$literalExpectation("undefined",false),peg$c1276=function(){return parseFloat(text())},peg$c1277="Infinity",peg$c1278=peg$literalExpectation("Infinity",false),peg$c1279="NegInfinity",peg$c1280=peg$literalExpectation("NegInfinity",false),peg$c1281="NaN",peg$c1282=peg$literalExpectation("NaN",false),peg$c1283="MaxSafeInt",peg$c1284=peg$literalExpectation("MaxSafeInt",false),peg$c1285="MinSafeInt",peg$c1286=peg$literalExpectation("MinSafeInt",false),peg$c1287=function(chars){return chars.join("")},peg$c1288=function(char){return char},peg$c1289=function(sequence){return sequence},peg$c1290=function(){return"\b"},peg$c1291=function(){return"\f"},peg$c1292=function(){return"\n"},peg$c1293=function(){return"\r"},peg$c1294=function(){return"\t"},peg$c1295=function(){return"\v"},peg$c1296="property",peg$c1297=peg$literalExpectation("property",false),peg$c1298=function(name,default_value){return{key:"property_definition",name:name,default_value:default_value}},peg$c1299=function(name){return{key:"property_definition",name:name}},peg$c1300="arrange",peg$c1301=peg$literalExpectation("arrange",false),peg$c1302=function(value){return{key:"arrange_declaration",value:value}},peg$c1303="arrange-start",peg$c1304=peg$literalExpectation("arrange-start",false),peg$c1305=function(value){return{key:"arrange_start_declaration",value:value}},peg$c1306="arrange-end",peg$c1307=peg$literalExpectation("arrange-end",false),peg$c1308=function(value){return{key:"arrange_end_declaration",value:value}},peg$c1309=peg$otherExpectation("arrange declaration"),peg$currPos=0,peg$savedPos=0,peg$posDetailsCache=[{line:1,column:1}],peg$maxFailPos=0,peg$maxFailExpected=[],peg$silentFails=0,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 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],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(ppeg$maxFailPos){peg$maxFailPos=peg$currPos;peg$maxFailExpected=[]}peg$maxFailExpected.push(expected)}function peg$buildStructuredError(expected,found,location){return new peg$SyntaxError(peg$SyntaxError.buildMessage(expected,found),expected,found,location)}function peg$parseDocument(){var s0,s1,s2,s3;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){s2=peg$parseTermList();if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c0(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseTheme(){var s0;if(input.substr(peg$currPos,4)===peg$c1){s0=peg$c1;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c2)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c3){s0=peg$c3;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c4)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c5){s0=peg$c5;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c6)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c7){s0=peg$c7;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c8)}}}}}return s0}function peg$parseGvizShape(){var s0;if(input.substr(peg$currPos,5)===peg$c9){s0=peg$c9;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c10)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c11){s0=peg$c11;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c12)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c13){s0=peg$c13;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c14)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c15){s0=peg$c15;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c16)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c17){s0=peg$c17;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c18)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c19){s0=peg$c19;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c20)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c21){s0=peg$c21;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c22)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c23){s0=peg$c23;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c24)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c25){s0=peg$c25;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c26)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c27){s0=peg$c27;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c28)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c29){s0=peg$c29;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c30)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c31){s0=peg$c31;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c32)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,13)===peg$c33){s0=peg$c33;peg$currPos+=13}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c34)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c35){s0=peg$c35;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c36)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c37){s0=peg$c37;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c38)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c39){s0=peg$c39;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c40)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c41){s0=peg$c41;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c42)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c43){s0=peg$c43;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c44)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,12)===peg$c45){s0=peg$c45;peg$currPos+=12}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c46)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,13)===peg$c47){s0=peg$c47;peg$currPos+=13}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c48)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,13)===peg$c49){s0=peg$c49;peg$currPos+=13}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c50)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,11)===peg$c51){s0=peg$c51;peg$currPos+=11}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c52)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,12)===peg$c53){s0=peg$c53;peg$currPos+=12}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c54)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c55){s0=peg$c55;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c56)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c57){s0=peg$c57;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c58)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c59){s0=peg$c59;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c60)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c61){s0=peg$c61;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c62)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c63){s0=peg$c63;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c64)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c65){s0=peg$c65;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c66)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c67){s0=peg$c67;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c68)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c69){s0=peg$c69;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c70)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1){s0=peg$c1;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c2)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c71){s0=peg$c71;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c72)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c73){s0=peg$c73;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c74)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c75){s0=peg$c75;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c76)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c77){s0=peg$c77;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c78)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c79){s0=peg$c79;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c80)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c81){s0=peg$c81;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c82)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c83){s0=peg$c83;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c84)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c85){s0=peg$c85;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c86)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c87){s0=peg$c87;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c88)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c89){s0=peg$c89;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c90)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c91){s0=peg$c91;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c92)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c93){s0=peg$c93;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c94)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,15)===peg$c95){s0=peg$c95;peg$currPos+=15}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c96)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,13)===peg$c97){s0=peg$c97;peg$currPos+=13}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c98)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,14)===peg$c99){s0=peg$c99;peg$currPos+=14}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c100)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c101){s0=peg$c101;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c102)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c103){s0=peg$c103;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c104)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c105){s0=peg$c105;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c106)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c107){s0=peg$c107;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c108)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c109){s0=peg$c109;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c110)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c111){s0=peg$c111;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c112)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,12)===peg$c113){s0=peg$c113;peg$currPos+=12}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c114)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,11)===peg$c115){s0=peg$c115;peg$currPos+=11}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c116)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c117){s0=peg$c117;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c118)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c119){s0=peg$c119;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c120)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c121){s0=peg$c121;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c122)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c123){s0=peg$c123;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c124)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c125){s0=peg$c125;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c126)}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}return s0}function peg$parseForwardLightArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c128){s0=peg$c128;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c129)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8594){s1=peg$c130;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c131)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c132()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c127)}}return s0}function peg$parseTwoWayLightArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,3)===peg$c134){s0=peg$c134;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c135)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8596){s1=peg$c136;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c137)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c138()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c133)}}return s0}function peg$parseBackLightArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c140){s0=peg$c140;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c141)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8592){s1=peg$c142;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c143)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c144()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c139)}}return s0}function peg$parseForwardFatArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c146){s0=peg$c146;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c147)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8658){s1=peg$c148;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c149)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c150()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c145)}}return s0}function peg$parseTwoWayFatArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,3)===peg$c152){s0=peg$c152;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c153)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8660){s1=peg$c154;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c155)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c156()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c151)}}return s0}function peg$parseBackFatArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c158){s0=peg$c158;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c159)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8656){s1=peg$c160;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c161)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c162()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c157)}}return s0}function peg$parseForwardTildeArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c164){s0=peg$c164;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c165)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8603){s1=peg$c166;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c167)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c168()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c163)}}return s0}function peg$parseTwoWayTildeArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,3)===peg$c170){s0=peg$c170;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c171)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8622){s1=peg$c172;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c173)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c174()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c169)}}return s0}function peg$parseBackTildeArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c176){s0=peg$c176;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c177)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8602){s1=peg$c178;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c179)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c180()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c175)}}return s0}function peg$parseLightFatArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c182){s0=peg$c182;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c183)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c184){s1=peg$c184;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c185)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c186()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c181)}}return s0}function peg$parseLightTildeArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c188){s0=peg$c188;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c189)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c190){s1=peg$c190;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c191)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c192()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c187)}}return s0}function peg$parseFatLightArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c194){s0=peg$c194;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c195)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c196){s1=peg$c196;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c197)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c198()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c193)}}return s0}function peg$parseFatTildeArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c200){s0=peg$c200;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c201)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c202){s1=peg$c202;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c203)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c204()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c199)}}return s0}function peg$parseTildeLightArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c206){s0=peg$c206;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c207)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c208){s1=peg$c208;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c209)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c210()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c205)}}return s0}function peg$parseTildeFatArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c212){s0=peg$c212;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c213)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c214){s1=peg$c214;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c215)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c216()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c211)}}return s0}function peg$parseLightArrow(){var s0;peg$silentFails++;s0=peg$parseForwardLightArrow();if(s0===peg$FAILED){s0=peg$parseTwoWayLightArrow();if(s0===peg$FAILED){s0=peg$parseBackLightArrow()}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c217)}}return s0}function peg$parseFatArrow(){var s0;peg$silentFails++;s0=peg$parseForwardFatArrow();if(s0===peg$FAILED){s0=peg$parseTwoWayFatArrow();if(s0===peg$FAILED){s0=peg$parseBackFatArrow()}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c218)}}return s0}function peg$parseTildeArrow(){var s0;peg$silentFails++;s0=peg$parseForwardTildeArrow();if(s0===peg$FAILED){s0=peg$parseTwoWayTildeArrow();if(s0===peg$FAILED){s0=peg$parseBackTildeArrow()}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c219)}}return s0}function peg$parseMixedArrow(){var s0;peg$silentFails++;s0=peg$parseLightFatArrow();if(s0===peg$FAILED){s0=peg$parseLightTildeArrow();if(s0===peg$FAILED){s0=peg$parseFatLightArrow();if(s0===peg$FAILED){s0=peg$parseFatTildeArrow();if(s0===peg$FAILED){s0=peg$parseTildeLightArrow();if(s0===peg$FAILED){s0=peg$parseTildeFatArrow()}}}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c220)}}return s0}function peg$parseArrow(){var s0;peg$silentFails++;s0=peg$parseMixedArrow();if(s0===peg$FAILED){s0=peg$parseLightArrow();if(s0===peg$FAILED){s0=peg$parseFatArrow();if(s0===peg$FAILED){s0=peg$parseTildeArrow()}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c221)}}return s0}function peg$parseCorners(){var s0;if(input.substr(peg$currPos,7)===peg$c228){s0=peg$c228;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c229)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c230){s0=peg$c230;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c231)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c232){s0=peg$c232;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c233)}}}}return s0}function peg$parseLineStyle(){var s0;if(input.substr(peg$currPos,5)===peg$c234){s0=peg$c234;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c235)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c236){s0=peg$c236;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c237)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c238){s0=peg$c238;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c239)}}}}return s0}function peg$parseHexDigit(){var s0;if(peg$c240.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c241)}}return s0}function peg$parseChar(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$parseUnescaped();if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseEscape();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===34){s2=peg$c242;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c243)}}if(s2===peg$FAILED){if(input.charCodeAt(peg$currPos)===92){s2=peg$c244;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c245)}}if(s2===peg$FAILED){if(input.charCodeAt(peg$currPos)===47){s2=peg$c246;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c247)}}if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===98){s3=peg$c248;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c249)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c250()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===102){s3=peg$c251;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c252)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c253()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===110){s3=peg$c254;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c255)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c256()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===114){s3=peg$c257;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c258)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c259()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===116){s3=peg$c260;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c261)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c262()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===118){s3=peg$c263;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c264)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c265()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===117){s3=peg$c266;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c267)}}if(s3!==peg$FAILED){s4=peg$currPos;s5=peg$currPos;s6=peg$parseHexDigit();if(s6!==peg$FAILED){s7=peg$parseHexDigit();if(s7!==peg$FAILED){s8=peg$parseHexDigit();if(s8!==peg$FAILED){s9=peg$parseHexDigit();if(s9!==peg$FAILED){s6=[s6,s7,s8,s9];s5=s6}else{peg$currPos=s5;s5=peg$FAILED}}else{peg$currPos=s5;s5=peg$FAILED}}else{peg$currPos=s5;s5=peg$FAILED}}else{peg$currPos=s5;s5=peg$FAILED}if(s5!==peg$FAILED){s4=input.substring(s4,peg$currPos)}else{s4=s5}if(s4!==peg$FAILED){peg$savedPos=s2;s3=peg$c268(s4);s2=s3}else{peg$currPos=s2;s2=peg$FAILED}}else{peg$currPos=s2;s2=peg$FAILED}}}}}}}}}}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c269(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseEscape(){var s0;if(input.charCodeAt(peg$currPos)===92){s0=peg$c244;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c245)}}return s0}function peg$parseQuoteMark(){var s0;if(input.charCodeAt(peg$currPos)===34){s0=peg$c242;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c243)}}return s0}function peg$parseUnescaped(){var s0;if(peg$c270.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c271)}}return s0}function peg$parseActionLabelChar(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$parseActionLabelUnescaped();if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseEscape();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===39){s2=peg$c272;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c273)}}if(s2===peg$FAILED){if(input.charCodeAt(peg$currPos)===92){s2=peg$c244;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c245)}}if(s2===peg$FAILED){if(input.charCodeAt(peg$currPos)===47){s2=peg$c246;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c247)}}if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===98){s3=peg$c248;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c249)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c250()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===102){s3=peg$c251;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c252)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c253()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===110){s3=peg$c254;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c255)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c256()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===114){s3=peg$c257;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c258)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c259()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===116){s3=peg$c260;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c261)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c262()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===118){s3=peg$c263;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c264)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c265()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===117){s3=peg$c266;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c267)}}if(s3!==peg$FAILED){s4=peg$currPos;s5=peg$currPos;s6=peg$parseHexDigit();if(s6!==peg$FAILED){s7=peg$parseHexDigit();if(s7!==peg$FAILED){s8=peg$parseHexDigit();if(s8!==peg$FAILED){s9=peg$parseHexDigit();if(s9!==peg$FAILED){s6=[s6,s7,s8,s9];s5=s6}else{peg$currPos=s5;s5=peg$FAILED}}else{peg$currPos=s5;s5=peg$FAILED}}else{peg$currPos=s5;s5=peg$FAILED}}else{peg$currPos=s5;s5=peg$FAILED}if(s5!==peg$FAILED){s4=input.substring(s4,peg$currPos)}else{s4=s5}if(s4!==peg$FAILED){peg$savedPos=s2;s3=peg$c268(s4);s2=s3}else{peg$currPos=s2;s2=peg$FAILED}}else{peg$currPos=s2;s2=peg$FAILED}}}}}}}}}}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c269(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseActionLabelQuoteMark(){var s0;if(input.charCodeAt(peg$currPos)===39){s0=peg$c272;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c273)}}return s0}function peg$parseActionLabelUnescaped(){var s0;if(peg$c274.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c275)}}return s0}function peg$parseActionLabel(){var s0,s1,s2,s3;peg$silentFails++;s0=peg$currPos;s1=peg$parseActionLabelQuoteMark();if(s1!==peg$FAILED){s2=[];s3=peg$parseActionLabelChar();while(s3!==peg$FAILED){s2.push(s3);s3=peg$parseActionLabelChar()}if(s2!==peg$FAILED){s3=peg$parseActionLabelQuoteMark();if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c277(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c276)}}return s0}function peg$parseLineTerminator(){var s0;if(peg$c278.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c279)}}return s0}function peg$parseBlockCommentTail(){var s0,s1,s2;if(input.substr(peg$currPos,2)===peg$c282){s0=peg$c282;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c283)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.length>peg$currPos){s1=input.charAt(peg$currPos);peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c284)}}if(s1!==peg$FAILED){s2=peg$parseBlockCommentTail();if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseBlockComment(){var s0,s1,s2;peg$silentFails++;s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c286){s1=peg$c286;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c287)}}if(s1!==peg$FAILED){s2=peg$parseBlockCommentTail();if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c285)}}return s0}function peg$parseEOF(){var s0,s1;s0=peg$currPos;peg$silentFails++;if(input.length>peg$currPos){s1=input.charAt(peg$currPos);peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c284)}}peg$silentFails--;if(s1===peg$FAILED){s0=void 0}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseLineCommentTail(){var s0,s1,s2;s0=peg$parseLineTerminator();if(s0===peg$FAILED){s0=peg$parseEOF();if(s0===peg$FAILED){s0=peg$currPos;if(input.length>peg$currPos){s1=input.charAt(peg$currPos);peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c284)}}if(s1!==peg$FAILED){s2=peg$parseLineCommentTail();if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}}return s0}function peg$parseLineComment(){var s0,s1,s2;peg$silentFails++;s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c289){s1=peg$c289;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c290)}}if(s1!==peg$FAILED){s2=peg$parseLineCommentTail();if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c288)}}return s0}function peg$parseWS(){var s0,s1,s2;peg$silentFails++;s0=peg$currPos;s1=peg$parseBlockComment();if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseLineComment();if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;s1=[];if(peg$c292.test(input.charAt(peg$currPos))){s2=input.charAt(peg$currPos);peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c293)}}if(s2!==peg$FAILED){while(s2!==peg$FAILED){s1.push(s2);if(peg$c292.test(input.charAt(peg$currPos))){s2=input.charAt(peg$currPos);peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c293)}}}}else{s1=peg$FAILED}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c291)}}return s0}function peg$parseString(){var s0,s1,s2,s3;peg$silentFails++;s0=peg$currPos;s1=peg$parseQuoteMark();if(s1!==peg$FAILED){s2=[];s3=peg$parseChar();while(s3!==peg$FAILED){s2.push(s3);s3=peg$parseChar()}if(s2!==peg$FAILED){s3=peg$parseQuoteMark();if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c277(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c294)}}return s0}function peg$parseAtomFirstLetter(){var s0;if(peg$c295.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c296)}}return s0}function peg$parseAtomLetter(){var s0;if(peg$c297.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c298)}}return s0}function peg$parseAtom(){var s0,s1,s2,s3;peg$silentFails++;s0=peg$currPos;s1=peg$parseAtomFirstLetter();if(s1!==peg$FAILED){s2=[];s3=peg$parseAtomLetter();while(s3!==peg$FAILED){s2.push(s3);s3=peg$parseAtomLetter()}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c300(s1,s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c299)}}return s0}function peg$parseLabel(){var s0;peg$silentFails++;s0=peg$parseAtom();if(s0===peg$FAILED){s0=peg$parseString()}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c301)}}return s0}function peg$parseIntegerLiteral(){var s0,s1,s2,s3;if(input.charCodeAt(peg$currPos)===48){s0=peg$c302;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c303)}}if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseNonZeroDigit();if(s1!==peg$FAILED){s2=[];s3=peg$parseDecimalDigit();while(s3!==peg$FAILED){s2.push(s3);s3=peg$parseDecimalDigit()}if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseDecimalDigit(){var s0;if(peg$c304.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c305)}}return s0}function peg$parseNonZeroDigit(){var s0;if(peg$c306.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c307)}}return s0}function peg$parseNonNegNumber(){var s0,s1,s2,s3,s4;peg$silentFails++;s0=peg$currPos;s1=peg$parseIntegerLiteral();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===46){s2=peg$c309;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c310)}}if(s2!==peg$FAILED){s3=[];s4=peg$parseDecimalDigit();while(s4!==peg$FAILED){s3.push(s4);s4=peg$parseDecimalDigit()}if(s3!==peg$FAILED){s4=peg$parseWS();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){peg$savedPos=s0;s1=peg$c311();s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseIntegerLiteral();if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c311();s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c308)}}return s0}function peg$parseSemVer(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;s1=peg$parseIntegerLiteral();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===46){s2=peg$c309;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c310)}}if(s2!==peg$FAILED){s3=peg$parseIntegerLiteral();if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===46){s4=peg$c309;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c310)}}if(s4!==peg$FAILED){s5=peg$parseIntegerLiteral();if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c312(s1,s3,s5);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseUrlProtocol(){var s0;if(input.substr(peg$currPos,7)===peg$c323){s0=peg$c323;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c324)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c325){s0=peg$c325;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c326)}}}return s0}function peg$parseURL(){var s0,s1,s2,s3;s0=peg$currPos;s1=peg$parseUrlProtocol();if(s1!==peg$FAILED){s2=[];if(peg$c327.test(input.charAt(peg$currPos))){s3=input.charAt(peg$currPos);peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c328)}}if(s3!==peg$FAILED){while(s3!==peg$FAILED){s2.push(s3);if(peg$c327.test(input.charAt(peg$currPos))){s3=input.charAt(peg$currPos);peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c328)}}}}else{s2=peg$FAILED}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c329();s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseSvgColorLabel(){var s0,s1;s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c330){s1=peg$c330;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c331)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c332()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c333){s1=peg$c333;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c334)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c332()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c335){s1=peg$c335;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c336)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c337()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c338){s1=peg$c338;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c339)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c337()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c340){s1=peg$c340;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c341)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c342()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c343){s1=peg$c343;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c344)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c342()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c345){s1=peg$c345;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c346)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c347()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c348){s1=peg$c348;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c349)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c347()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c350){s1=peg$c350;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c351)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c352()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c353){s1=peg$c353;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c354)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c352()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c355){s1=peg$c355;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c356)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c357()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c358){s1=peg$c358;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c359)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c357()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c360){s1=peg$c360;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c361)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c362()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c363){s1=peg$c363;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c364)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c362()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c365){s1=peg$c365;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c366)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c367()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c368){s1=peg$c368;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c369)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c367()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c370){s1=peg$c370;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c371)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c372()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c373){s1=peg$c373;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c374)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c372()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c375){s1=peg$c375;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c376)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c377()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c378){s1=peg$c378;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c379)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c377()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c380){s1=peg$c380;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c381)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c382()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c383){s1=peg$c383;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c384)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c382()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c385){s1=peg$c385;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c386)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c387()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c388){s1=peg$c388;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c389)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c387()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c390){s1=peg$c390;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c391)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c392()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c393){s1=peg$c393;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c394)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c392()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c395){s1=peg$c395;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c396)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c397()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c398){s1=peg$c398;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c399)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c397()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c400){s1=peg$c400;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c401)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c402()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c403){s1=peg$c403;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c404)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c402()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c405){s1=peg$c405;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c406)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c407()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c408){s1=peg$c408;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c409)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c407()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c410){s1=peg$c410;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c411)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c412()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c413){s1=peg$c413;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c414)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c412()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c415){s1=peg$c415;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c416)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c417()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c418){s1=peg$c418;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c419)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c417()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c420){s1=peg$c420;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c421)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c422()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c423){s1=peg$c423;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c424)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c422()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c425){s1=peg$c425;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c426)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c427()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c428){s1=peg$c428;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c429)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c427()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c430){s1=peg$c430;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c431)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c347()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c432){s1=peg$c432;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c433)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c347()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c434){s1=peg$c434;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c435)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c436()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c437){s1=peg$c437;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c438)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c436()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c439){s1=peg$c439;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c440)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c441()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c442){s1=peg$c442;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c443)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c441()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c444){s1=peg$c444;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c445)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c446()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c447){s1=peg$c447;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c448)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c446()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c449){s1=peg$c449;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c450)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c451()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c452){s1=peg$c452;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c453)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c451()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c454){s1=peg$c454;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c455)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c451()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c456){s1=peg$c456;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c457)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c451()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c458){s1=peg$c458;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c459)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c460()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c461){s1=peg$c461;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c462)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c460()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c463){s1=peg$c463;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c464)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c465()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c466){s1=peg$c466;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c467)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c465()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c468){s1=peg$c468;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c469)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c470()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c471){s1=peg$c471;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c472)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c470()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c473){s1=peg$c473;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c474)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c475()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c476){s1=peg$c476;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c477)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c475()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c478){s1=peg$c478;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c479)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c480()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c481){s1=peg$c481;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c482)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c480()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c483){s1=peg$c483;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c484)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c485()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c486){s1=peg$c486;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c487)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c485()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c488){s1=peg$c488;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c489)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c490()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c491){s1=peg$c491;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c492)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c490()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c493){s1=peg$c493;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c494)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c495()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c496){s1=peg$c496;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c497)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c495()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c498){s1=peg$c498;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c499)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c500()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c501){s1=peg$c501;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c502)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c500()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c503){s1=peg$c503;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c504)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c505()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c506){s1=peg$c506;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c507)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c505()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c508){s1=peg$c508;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c509)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c510()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c511){s1=peg$c511;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c512)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c510()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c513){s1=peg$c513;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c514)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c510()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c515){s1=peg$c515;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c516)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c510()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c517){s1=peg$c517;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c518)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c519()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c520){s1=peg$c520;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c521)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c519()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c522){s1=peg$c522;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c523)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c524()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c525){s1=peg$c525;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c526)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c524()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c527){s1=peg$c527;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c528)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c529()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c530){s1=peg$c530;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c531)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c529()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c532){s1=peg$c532;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c533)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c534()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c535){s1=peg$c535;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c536)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c534()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c537){s1=peg$c537;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c538)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c539()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c540){s1=peg$c540;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c541)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c539()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c542){s1=peg$c542;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c543)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c539()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c544){s1=peg$c544;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c545)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c539()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c546){s1=peg$c546;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c547)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c548()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c549){s1=peg$c549;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c550)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c548()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c551){s1=peg$c551;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c552)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c553()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c554){s1=peg$c554;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c555)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c553()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c556){s1=peg$c556;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c557)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c558()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c559){s1=peg$c559;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c560)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c558()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c561){s1=peg$c561;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c562)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c563()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c564){s1=peg$c564;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c565)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c563()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c566){s1=peg$c566;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c567)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c568()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c569){s1=peg$c569;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c570)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c568()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c571){s1=peg$c571;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c572)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c573()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c574){s1=peg$c574;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c575)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c573()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c576){s1=peg$c576;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c577)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c578()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c579){s1=peg$c579;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c580)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c578()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c581){s1=peg$c581;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c582)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c583()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c584){s1=peg$c584;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c585)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c583()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c586){s1=peg$c586;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c587)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c588()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c589){s1=peg$c589;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c590)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c588()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c591){s1=peg$c591;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c592)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c593()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c594){s1=peg$c594;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c595)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c593()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c596){s1=peg$c596;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c597)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c593()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c598){s1=peg$c598;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c599)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c593()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c600){s1=peg$c600;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c601)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c602()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c603){s1=peg$c603;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c604)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c602()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c605){s1=peg$c605;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c606)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c607()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c608){s1=peg$c608;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c609)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c607()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c610){s1=peg$c610;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c611)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c612()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c613){s1=peg$c613;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c614)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c612()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c615){s1=peg$c615;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c616)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c617()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c618){s1=peg$c618;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c619)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c617()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c620){s1=peg$c620;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c621)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c622()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c623){s1=peg$c623;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c624)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c622()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c625){s1=peg$c625;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c626)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c627()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c628){s1=peg$c628;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c629)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c627()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c630){s1=peg$c630;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c631)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c632()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c633){s1=peg$c633;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c634)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c632()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c635){s1=peg$c635;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c636)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c637()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c638){s1=peg$c638;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c639)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c637()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c640){s1=peg$c640;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c641)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c642()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c643){s1=peg$c643;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c644)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c642()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c645){s1=peg$c645;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c646)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c647()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c648){s1=peg$c648;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c649)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c647()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c650){s1=peg$c650;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c651)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c652()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c653){s1=peg$c653;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c654)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c652()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c655){s1=peg$c655;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c656)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c657()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c658){s1=peg$c658;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c659)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c657()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c660){s1=peg$c660;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c661)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c662()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c663){s1=peg$c663;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c664)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c662()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c665){s1=peg$c665;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c666)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c667()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c668){s1=peg$c668;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c669)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c667()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c670){s1=peg$c670;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c671)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c672()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c673){s1=peg$c673;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c674)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c672()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,20)===peg$c675){s1=peg$c675;peg$currPos+=20}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c676)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c677()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,20)===peg$c678){s1=peg$c678;peg$currPos+=20}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c679)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c677()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c680){s1=peg$c680;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c681)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c682()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c683){s1=peg$c683;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c684)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c682()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c685){s1=peg$c685;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c686)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c682()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c687){s1=peg$c687;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c688)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c682()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c689){s1=peg$c689;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c690)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c691()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c692){s1=peg$c692;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c693)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c691()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c694){s1=peg$c694;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c695)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c696()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c697){s1=peg$c697;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c698)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c696()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c699){s1=peg$c699;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c700)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c701()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c702){s1=peg$c702;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c703)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c701()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c704){s1=peg$c704;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c705)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c706()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c707){s1=peg$c707;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c708)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c706()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c709){s1=peg$c709;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c710)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c711()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c712){s1=peg$c712;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c713)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c711()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c714){s1=peg$c714;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c715)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c716()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c717){s1=peg$c717;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c718)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c716()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c719){s1=peg$c719;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c720)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c716()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c721){s1=peg$c721;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c722)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c716()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c723){s1=peg$c723;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c724)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c725()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c726){s1=peg$c726;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c727)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c725()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c728){s1=peg$c728;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c729)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c730()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c731){s1=peg$c731;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c732)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c730()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c733){s1=peg$c733;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c734)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c735()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c736){s1=peg$c736;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c737)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c735()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c738){s1=peg$c738;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c739)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c740()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c741){s1=peg$c741;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c742)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c740()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c743){s1=peg$c743;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c744)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c745()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c746){s1=peg$c746;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c747)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c745()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c748){s1=peg$c748;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c749)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c568()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c750){s1=peg$c750;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c751)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c568()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c752){s1=peg$c752;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c753)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c754()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c755){s1=peg$c755;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c756)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c754()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,16)===peg$c757){s1=peg$c757;peg$currPos+=16}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c758)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c759()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,16)===peg$c760){s1=peg$c760;peg$currPos+=16}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c761)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c759()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c762){s1=peg$c762;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c763)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c764()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c765){s1=peg$c765;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c766)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c764()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c767){s1=peg$c767;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c768)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c769()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c770){s1=peg$c770;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c771)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c769()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c772){s1=peg$c772;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c773)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c774()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c775){s1=peg$c775;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c776)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c774()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c777){s1=peg$c777;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c778)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c779()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c780){s1=peg$c780;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c781)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c779()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c782){s1=peg$c782;peg$currPos+=15}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c783)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c784()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c785){s1=peg$c785;peg$currPos+=15}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c786)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c784()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,17)===peg$c787){s1=peg$c787;peg$currPos+=17}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c788)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c789()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,17)===peg$c790){s1=peg$c790;peg$currPos+=17}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c791)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c789()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c792){s1=peg$c792;peg$currPos+=15}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c793)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c794()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c795){s1=peg$c795;peg$currPos+=15}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c796)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c794()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c797){s1=peg$c797;peg$currPos+=15}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c798)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c799()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c800){s1=peg$c800;peg$currPos+=15}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c801)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c799()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c802){s1=peg$c802;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c803)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c804()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c805){s1=peg$c805;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c806)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c804()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c807){s1=peg$c807;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c808)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c809()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c810){s1=peg$c810;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c811)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c809()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c812){s1=peg$c812;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c813)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c814()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c815){s1=peg$c815;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c816)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c814()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c817){s1=peg$c817;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c818)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c819()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c820){s1=peg$c820;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c821)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c819()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c822){s1=peg$c822;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c823)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c824()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c825){s1=peg$c825;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c826)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c824()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c827){s1=peg$c827;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c828)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c829()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c830){s1=peg$c830;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c831)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c829()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c832){s1=peg$c832;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c833)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c834()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c835){s1=peg$c835;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c836)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c834()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c837){s1=peg$c837;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c838)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c839()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c840){s1=peg$c840;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c841)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c839()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c842){s1=peg$c842;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c843)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c844()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c845){s1=peg$c845;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c846)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c844()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c847){s1=peg$c847;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c848)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c849()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c850){s1=peg$c850;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c851)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c849()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c852){s1=peg$c852;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c853)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c854()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c855){s1=peg$c855;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c856)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c854()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c857){s1=peg$c857;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c858)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c859()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c860){s1=peg$c860;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c861)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c859()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c862){s1=peg$c862;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c863)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c864()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c865){s1=peg$c865;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c866)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c864()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c867){s1=peg$c867;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c868)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c869()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c870){s1=peg$c870;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c871)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c869()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c872){s1=peg$c872;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c873)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c874()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c875){s1=peg$c875;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c876)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c874()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c877){s1=peg$c877;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c878)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c879()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c880){s1=peg$c880;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c881)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c879()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c882){s1=peg$c882;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c883)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c884()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c885){s1=peg$c885;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c886)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c884()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c887){s1=peg$c887;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c888)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c889()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c890){s1=peg$c890;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c891)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c889()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c892){s1=peg$c892;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c893)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c894()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c895){s1=peg$c895;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c896)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c894()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c897){s1=peg$c897;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c898)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c899()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c900){s1=peg$c900;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c901)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c899()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c902){s1=peg$c902;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c903)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c904()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c905){s1=peg$c905;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c906)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c904()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c907){s1=peg$c907;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c908)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c909()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c910){s1=peg$c910;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c911)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c909()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c912){s1=peg$c912;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c913)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c914()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c915){s1=peg$c915;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c916)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c914()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,3)===peg$c917){s1=peg$c917;peg$currPos+=3}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c918)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c919()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,3)===peg$c920){s1=peg$c920;peg$currPos+=3}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c921)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c919()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c922){s1=peg$c922;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c923)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c924()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c925){s1=peg$c925;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c926)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c924()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c927){s1=peg$c927;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c928)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c929()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c930){s1=peg$c930;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c931)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c929()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c932){s1=peg$c932;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c933)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c934()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c935){s1=peg$c935;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c936)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c934()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c937){s1=peg$c937;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c938)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c939()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c940){s1=peg$c940;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c941)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c939()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c942){s1=peg$c942;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c943)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c944()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c945){s1=peg$c945;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c946)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c944()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c947){s1=peg$c947;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c948)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c949()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c950){s1=peg$c950;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c951)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c949()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c952){s1=peg$c952;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c953)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c954()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c955){s1=peg$c955;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c956)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c954()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c957){s1=peg$c957;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c958)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c959()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c960){s1=peg$c960;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c961)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c959()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c962){s1=peg$c962;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c963)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c964()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c965){s1=peg$c965;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c966)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c964()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c967){s1=peg$c967;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c968)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c969()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c970){s1=peg$c970;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c971)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c969()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c972){s1=peg$c972;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c973)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c974()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c975){s1=peg$c975;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c976)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c974()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c977){s1=peg$c977;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c978)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c979()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c980){s1=peg$c980;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c981)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c979()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c982){s1=peg$c982;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c983)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c979()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c984){s1=peg$c984;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c985)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c979()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c986){s1=peg$c986;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c987)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c988()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c989){s1=peg$c989;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c990)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c988()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c991){s1=peg$c991;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c992)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c993()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c994){s1=peg$c994;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c995)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c993()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c996){s1=peg$c996;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c997)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c998()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c999){s1=peg$c999;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1000)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c998()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,3)===peg$c1001){s1=peg$c1001;peg$currPos+=3}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1002)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1003()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,3)===peg$c1004){s1=peg$c1004;peg$currPos+=3}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1005)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1003()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c1006){s1=peg$c1006;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1007)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1008()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c1009){s1=peg$c1009;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1010)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1008()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c1011){s1=peg$c1011;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1012)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1013()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c1014){s1=peg$c1014;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1015)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1013()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c1016){s1=peg$c1016;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1017)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1018()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c1019){s1=peg$c1019;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1020)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1018()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c1021){s1=peg$c1021;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1022)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1023()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c1024){s1=peg$c1024;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1025)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1023()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c1026){s1=peg$c1026;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1027)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1028()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c1029){s1=peg$c1029;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1030)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1028()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c1031){s1=peg$c1031;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1032)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1033()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c1034){s1=peg$c1034;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1035)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1033()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c1036){s1=peg$c1036;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1037)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1038()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c1039){s1=peg$c1039;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1040)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1038()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c1041){s1=peg$c1041;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1042)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1043()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c1044){s1=peg$c1044;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1045)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1043()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c1046){s1=peg$c1046;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1047)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1048()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c1049){s1=peg$c1049;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1050)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1048()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c1051){s1=peg$c1051;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1052)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1053()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c1054){s1=peg$c1054;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1055)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1053()}s0=s1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}return s0}function peg$parseSvgColor(){var s0,s1,s2;s0=peg$currPos;s1=peg$parseSvgColorLabel();if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c1056(s1);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseRgb3(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===35){s1=peg$c1057;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1058)}}if(s1!==peg$FAILED){s2=peg$parseHexDigit();if(s2!==peg$FAILED){s3=peg$parseHexDigit();if(s3!==peg$FAILED){s4=peg$parseHexDigit();if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c1059(s2,s3,s4);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseRgb6(){var s0,s1,s2,s3,s4,s5,s6,s7,s8;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===35){s1=peg$c1057;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1058)}}if(s1!==peg$FAILED){s2=peg$parseHexDigit();if(s2!==peg$FAILED){s3=peg$parseHexDigit();if(s3!==peg$FAILED){s4=peg$parseHexDigit();if(s4!==peg$FAILED){s5=peg$parseHexDigit();if(s5!==peg$FAILED){s6=peg$parseHexDigit();if(s6!==peg$FAILED){s7=peg$parseHexDigit();if(s7!==peg$FAILED){s8=peg$parseWS();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){peg$savedPos=s0;s1=peg$c1060(s2,s3,s4,s5,s6,s7);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseRgba4(){var s0,s1,s2,s3,s4,s5,s6;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===35){s1=peg$c1057;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1058)}}if(s1!==peg$FAILED){s2=peg$parseHexDigit();if(s2!==peg$FAILED){s3=peg$parseHexDigit();if(s3!==peg$FAILED){s4=peg$parseHexDigit();if(s4!==peg$FAILED){s5=peg$parseHexDigit();if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){peg$savedPos=s0;s1=peg$c1061(s2,s3,s4,s5);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseRgba8(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===35){s1=peg$c1057;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1058)}}if(s1!==peg$FAILED){s2=peg$parseHexDigit();if(s2!==peg$FAILED){s3=peg$parseHexDigit();if(s3!==peg$FAILED){s4=peg$parseHexDigit();if(s4!==peg$FAILED){s5=peg$parseHexDigit();if(s5!==peg$FAILED){s6=peg$parseHexDigit();if(s6!==peg$FAILED){s7=peg$parseHexDigit();if(s7!==peg$FAILED){s8=peg$parseHexDigit();if(s8!==peg$FAILED){s9=peg$parseHexDigit();if(s9!==peg$FAILED){s10=peg$parseWS();if(s10===peg$FAILED){s10=null}if(s10!==peg$FAILED){peg$savedPos=s0;s1=peg$c1062(s2,s3,s4,s5,s6,s7,s8,s9);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseColor(){var s0;peg$silentFails++;s0=peg$parseSvgColor();if(s0===peg$FAILED){s0=peg$parseRgba8();if(s0===peg$FAILED){s0=peg$parseRgb6();if(s0===peg$FAILED){s0=peg$parseRgba4();if(s0===peg$FAILED){s0=peg$parseRgb3()}}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c1063)}}return s0}function peg$parseArrowItemKey(){var s0;if(input.substr(peg$currPos,9)===peg$c1064){s0=peg$c1064;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1065)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1066){s0=peg$c1066;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1067)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1068){s0=peg$c1068;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1069)}}}}return s0}function peg$parseArrowItem(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){s2=peg$parseArrowItemKey();if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabel();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1074(s2,s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseSingleEdgeColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1076){s2=peg$c1076;peg$currPos+=10}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1077)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1078(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1075)}}return s0}function peg$parseTransitionLineStyle(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,9)===peg$c1080){s2=peg$c1080;peg$currPos+=9}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1081)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLineStyle();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1082(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1079)}}return s0}function peg$parseArrowItems(){var s0,s1;s0=peg$parseSingleEdgeColor();if(s0===peg$FAILED){s0=peg$parseTransitionLineStyle();if(s0===peg$FAILED){s0=[];s1=peg$parseArrowItem();if(s1!==peg$FAILED){while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseArrowItem()}}else{s0=peg$FAILED}}}return s0}function peg$parseArrowDesc(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===123){s1=peg$c1083;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=peg$parseArrowItems();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){s4=peg$parseWS();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){if(input.charCodeAt(peg$currPos)===125){s5=peg$c1085;peg$currPos++}else{s5=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1086)}}if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c1087(s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseArrowProbability(){var s0,s1,s2;s0=peg$currPos;s1=peg$parseNonNegNumber();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===37){s2=peg$c1088;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1089)}}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c1090(s1);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseLabelList(){var s0,s1,s2,s3,s4,s5,s6;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===91){s1=peg$c1091;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1092)}}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=[];s4=peg$currPos;s5=peg$parseLabel();if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){s5=[s5,s6];s4=s5}else{peg$currPos=s4;s4=peg$FAILED}}else{peg$currPos=s4;s4=peg$FAILED}while(s4!==peg$FAILED){s3.push(s4);s4=peg$currPos;s5=peg$parseLabel();if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){s5=[s5,s6];s4=s5}else{peg$currPos=s4;s4=peg$FAILED}}else{peg$currPos=s4;s4=peg$FAILED}}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===93){s4=peg$c1093;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1094)}}if(s4!==peg$FAILED){peg$savedPos=s0;s1=peg$c1095(s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseLabelOrLabelList(){var s0;s0=peg$parseLabelList();if(s0===peg$FAILED){s0=peg$parseLabel()}return s0}function peg$parseStripe(){var s0,s1,s2,s3,s4;s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c1096){s1=peg$c1096;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1097)}}if(s1!==peg$FAILED){s2=peg$parseNonZeroDigit();if(s2!==peg$FAILED){s3=[];s4=peg$parseDecimalDigit();while(s4!==peg$FAILED){s3.push(s4);s4=peg$parseDecimalDigit()}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c1098(s2,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c1099){s1=peg$c1099;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1100)}}if(s1!==peg$FAILED){s2=peg$parseNonZeroDigit();if(s2!==peg$FAILED){s3=[];s4=peg$parseDecimalDigit();while(s4!==peg$FAILED){s3.push(s4);s4=peg$parseDecimalDigit()}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c1101(s2,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseCycle(){var s0,s1,s2,s3,s4;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===43){s1=peg$c1102;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1103)}}if(s1!==peg$FAILED){s2=peg$parseNonZeroDigit();if(s2!==peg$FAILED){s3=[];s4=peg$parseDecimalDigit();while(s4!==peg$FAILED){s3.push(s4);s4=peg$parseDecimalDigit()}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c1104(s2,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===45){s1=peg$c1105;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1106)}}if(s1!==peg$FAILED){s2=peg$parseNonZeroDigit();if(s2!==peg$FAILED){s3=[];s4=peg$parseDecimalDigit();while(s4!==peg$FAILED){s3.push(s4);s4=peg$parseDecimalDigit()}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c1107(s2,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c1108){s1=peg$c1108;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1109)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1110()}s0=s1}}return s0}function peg$parseArrowTarget(){var s0;s0=peg$parseStripe();if(s0===peg$FAILED){s0=peg$parseCycle();if(s0===peg$FAILED){s0=peg$parseLabelList();if(s0===peg$FAILED){s0=peg$parseLabel()}}}return s0}function peg$parseSubexp(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,s18;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){s2=peg$parseActionLabel();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){s4=peg$parseArrowProbability();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseArrowDesc();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseArrow();if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){s10=peg$parseArrowDesc();if(s10===peg$FAILED){s10=null}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){s12=peg$parseArrowProbability();if(s12===peg$FAILED){s12=null}if(s12!==peg$FAILED){s13=peg$parseWS();if(s13===peg$FAILED){s13=null}if(s13!==peg$FAILED){s14=peg$parseActionLabel();if(s14===peg$FAILED){s14=null}if(s14!==peg$FAILED){s15=peg$parseWS();if(s15===peg$FAILED){s15=null}if(s15!==peg$FAILED){s16=peg$parseArrowTarget();if(s16!==peg$FAILED){s17=peg$parseWS();if(s17===peg$FAILED){s17=null}if(s17!==peg$FAILED){s18=peg$parseSubexp();if(s18===peg$FAILED){s18=null}if(s18!==peg$FAILED){peg$savedPos=s0;s1=peg$c1111(s2,s4,s6,s8,s10,s12,s14,s16,s18);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseExp(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;s1=peg$parseArrowTarget();if(s1!==peg$FAILED){s2=peg$parseSubexp();if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s4=peg$c1072;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c1112(s1,s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseValidationKey(){var s0;if(input.substr(peg$currPos,9)===peg$c1113){s0=peg$c1113;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1114)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1115){s0=peg$c1115;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1116)}}}return s0}function peg$parseValidationItem(){var s0,s1,s2,s3,s4;s0=peg$currPos;s1=peg$parseValidationKey();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s2=peg$c1070;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s2!==peg$FAILED){s3=peg$parseLabel();if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s4=peg$c1072;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s4!==peg$FAILED){peg$savedPos=s0;s1=peg$c1117(s1,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseValidationItems(){var s0,s1;s0=[];s1=peg$parseValidationItem();if(s1!==peg$FAILED){while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseValidationItem()}}else{s0=peg$FAILED}return s0}function peg$parseConfigValidation(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1118){s2=peg$c1118;peg$currPos+=10}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1119)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c1083;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseValidationItems();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c1120){s10=peg$c1120;peg$currPos+=2}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1121)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1122(s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseGvizLayout(){var s0;if(input.substr(peg$currPos,3)===peg$c1123){s0=peg$c1123;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1124)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1125){s0=peg$c1125;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1126)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c1127){s0=peg$c1127;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1128)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1129){s0=peg$c1129;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1130)}}}}}return s0}function peg$parseStateItemShape(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1131){s2=peg$c1131;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1132)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseGvizShape();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1133(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseStateItems(){var s0,s1;s0=[];s1=peg$parseStateItemShape();if(s1!==peg$FAILED){while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseStateItemShape()}}else{s0=peg$FAILED}return s0}function peg$parseConfigState(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1134){s2=peg$c1134;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1135)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c1083;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseStateItems();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c1120){s10=peg$c1120;peg$currPos+=2}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1121)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1136(s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigStartState(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,11)===peg$c1137){s2=peg$c1137;peg$currPos+=11}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1138)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c1083;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseStateItems();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c1120){s10=peg$c1120;peg$currPos+=2}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1121)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1139(s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigEndState(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,9)===peg$c1140){s2=peg$c1140;peg$currPos+=9}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1141)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c1083;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseStateItems();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c1120){s10=peg$c1120;peg$currPos+=2}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1121)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1142(s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigAnyState(){var s0;s0=peg$parseConfigState();if(s0===peg$FAILED){s0=peg$parseConfigStartState();if(s0===peg$FAILED){s0=peg$parseConfigEndState()}}return s0}function peg$parseActionKey(){var s0;if(input.substr(peg$currPos,9)===peg$c1113){s0=peg$c1113;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1114)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1115){s0=peg$c1115;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1116)}}}return s0}function peg$parseActionItem(){var s0,s1,s2,s3,s4;s0=peg$currPos;s1=peg$parseActionKey();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s2=peg$c1070;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s2!==peg$FAILED){s3=peg$parseLabel();if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s4=peg$c1072;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s4!==peg$FAILED){peg$savedPos=s0;s1=peg$c1143(s1,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseActionItems(){var s0,s1;s0=[];s1=peg$parseActionItem();if(s1!==peg$FAILED){while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseActionItem()}}else{s0=peg$FAILED}return s0}function peg$parseConfigAction(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,6)===peg$c1144){s2=peg$c1144;peg$currPos+=6}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1145)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c1083;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseActionItems();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c1120){s10=peg$c1120;peg$currPos+=2}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1121)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1146(s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseTransitionKey(){var s0;if(input.substr(peg$currPos,9)===peg$c1113){s0=peg$c1113;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1114)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1115){s0=peg$c1115;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1116)}}}return s0}function peg$parseTransitionItem(){var s0,s1,s2,s3,s4;s0=peg$currPos;s1=peg$parseTransitionKey();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s2=peg$c1070;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s2!==peg$FAILED){s3=peg$parseLabel();if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s4=peg$c1072;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s4!==peg$FAILED){peg$savedPos=s0;s1=peg$c1147(s1,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseTransitionItems(){var s0,s1;s0=peg$parseGraphDefaultEdgeColor();if(s0===peg$FAILED){s0=[];s1=peg$parseTransitionItem();if(s1!==peg$FAILED){while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseTransitionItem()}}else{s0=peg$FAILED}}return s0}function peg$parseGraphDefaultEdgeColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1076){s2=peg$c1076;peg$currPos+=10}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1077)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1149(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1148)}}return s0}function peg$parseConfigTransition(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1150){s2=peg$c1150;peg$currPos+=10}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1151)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c1083;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseTransitionItems();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c1120){s10=peg$c1120;peg$currPos+=2}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1121)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1152(s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigGraphLayout(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1153){s2=peg$c1153;peg$currPos+=12}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1154)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseGvizLayout();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1155(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigStartNodes(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1156){s2=peg$c1156;peg$currPos+=12}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1157)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabelList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1158(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigEndNodes(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1159){s2=peg$c1159;peg$currPos+=10}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1160)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabelList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1161(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigGraphBgColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,14)===peg$c1162){s2=peg$c1162;peg$currPos+=14}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1163)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1164(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfig(){var s0;peg$silentFails++;s0=peg$parseConfigGraphLayout();if(s0===peg$FAILED){s0=peg$parseConfigStartNodes();if(s0===peg$FAILED){s0=peg$parseConfigEndNodes();if(s0===peg$FAILED){s0=peg$parseConfigTransition();if(s0===peg$FAILED){s0=peg$parseConfigAction();if(s0===peg$FAILED){s0=peg$parseConfigAnyState();if(s0===peg$FAILED){s0=peg$parseConfigValidation();if(s0===peg$FAILED){s0=peg$parseConfigGraphBgColor()}}}}}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c1165)}}return s0}function peg$parseLicenseOrLabelOrList(){var s0;if(input.substr(peg$currPos,3)===peg$c1166){s0=peg$c1166;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1167)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1168){s0=peg$c1168;peg$currPos+=12}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1169)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1170){s0=peg$c1170;peg$currPos+=12}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1171)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1172){s0=peg$c1172;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1173)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,11)===peg$c1174){s0=peg$c1174;peg$currPos+=11}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1175)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,13)===peg$c1176){s0=peg$c1176;peg$currPos+=13}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1177)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c1178){s0=peg$c1178;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1179)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c1180){s0=peg$c1180;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1181)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c1182){s0=peg$c1182;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1183)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c1184){s0=peg$c1184;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1185)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c1186){s0=peg$c1186;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1187)}}if(s0===peg$FAILED){s0=peg$parseLabel();if(s0===peg$FAILED){s0=peg$parseLabelList()}}}}}}}}}}}}return s0}function peg$parseDirection(){var s0;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c1189){s0=peg$c1189;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1190)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1191){s0=peg$c1191;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1192)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1193){s0=peg$c1193;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1194)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1195){s0=peg$c1195;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1196)}}}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c1188)}}return s0}function peg$parseHookDefinition(){var s0;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c1198){s0=peg$c1198;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1199)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c1200){s0=peg$c1200;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1201)}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c1197)}}return s0}function peg$parseMachineAuthor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,14)===peg$c1202){s2=peg$c1202;peg$currPos+=14}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1203)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabelOrLabelList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1204(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineContributor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,19)===peg$c1205){s2=peg$c1205;peg$currPos+=19}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1206)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabelOrLabelList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1207(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineComment(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,15)===peg$c1208){s2=peg$c1208;peg$currPos+=15}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1209)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabelOrLabelList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1210(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineDefinition(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,18)===peg$c1211){s2=peg$c1211;peg$currPos+=18}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1212)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseURL();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1213(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineName(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1214){s2=peg$c1214;peg$currPos+=12}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1215)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabel();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1216(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineVersion(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,15)===peg$c1220){s2=peg$c1220;peg$currPos+=15}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1221)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseSemVer();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1222(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineLicense(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,15)===peg$c1223){s2=peg$c1223;peg$currPos+=15}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1224)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLicenseOrLabelOrList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1225(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineLanguage(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,16)===peg$c1226){s2=peg$c1226;peg$currPos+=16}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1227)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabel();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1228(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseFslVersion(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,11)===peg$c1229){s2=peg$c1229;peg$currPos+=11}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1230)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseSemVer();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1231(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineTheme(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1232){s2=peg$c1232;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1233)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseTheme();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1234(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineFlow(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1235){s2=peg$c1235;peg$currPos+=4}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1236)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseDirection();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1237(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineHookDefinition(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1238){s2=peg$c1238;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1239)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseHookDefinition();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1240(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseDotPreamble(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1241){s2=peg$c1241;peg$currPos+=12}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1242)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseString();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1243(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineAttribute(){var s0;peg$silentFails++;s0=peg$parseFslVersion();if(s0===peg$FAILED){s0=peg$parseMachineName();if(s0===peg$FAILED){s0=peg$parseMachineAuthor();if(s0===peg$FAILED){s0=peg$parseMachineContributor();if(s0===peg$FAILED){s0=peg$parseMachineComment();if(s0===peg$FAILED){s0=peg$parseMachineDefinition();if(s0===peg$FAILED){s0=peg$parseMachineVersion();if(s0===peg$FAILED){s0=peg$parseMachineLicense();if(s0===peg$FAILED){s0=peg$parseMachineLanguage();if(s0===peg$FAILED){s0=peg$parseMachineTheme();if(s0===peg$FAILED){s0=peg$parseDotPreamble();if(s0===peg$FAILED){s0=peg$parseMachineFlow();if(s0===peg$FAILED){s0=peg$parseMachineHookDefinition()}}}}}}}}}}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c1244)}}return s0}function peg$parseSdStateColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1245){s2=peg$c1245;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1246)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1247(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1063)}}return s0}function peg$parseSdStateTextColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1249){s2=peg$c1249;peg$currPos+=10}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1250)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1251(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1248)}}return s0}function peg$parseSdStateBackgroundColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,16)===peg$c1253){s2=peg$c1253;peg$currPos+=16}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1254)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1255(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1252)}}return s0}function peg$parseSdStateBorderColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1257){s2=peg$c1257;peg$currPos+=12}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1258)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1259(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1256)}}return s0}function peg$parseSdStateShape(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1131){s2=peg$c1131;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1132)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseGvizShape();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1261(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1260)}}return s0}function peg$parseSdStateCorners(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,7)===peg$c1263){s2=peg$c1263;peg$currPos+=7}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1264)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseCorners();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1265(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1262)}}return s0}function peg$parseSdStateLineStyle(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,9)===peg$c1080){s2=peg$c1080;peg$currPos+=9}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1081)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLineStyle();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1267(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1266)}}return s0}function peg$parseStateDeclarationItems(){var s0;s0=peg$parseSdStateColor();if(s0===peg$FAILED){s0=peg$parseSdStateTextColor();if(s0===peg$FAILED){s0=peg$parseSdStateBackgroundColor();if(s0===peg$FAILED){s0=peg$parseSdStateBorderColor();if(s0===peg$FAILED){s0=peg$parseSdStateShape();if(s0===peg$FAILED){s0=peg$parseSdStateCorners();if(s0===peg$FAILED){s0=peg$parseSdStateLineStyle()}}}}}}return s0}function peg$parseStateDeclarationDesc(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===123){s1=peg$c1083;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=[];s4=peg$parseStateDeclarationItems();while(s4!==peg$FAILED){s3.push(s4);s4=peg$parseStateDeclarationItems()}if(s3!==peg$FAILED){s4=peg$parseWS();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){if(input.charCodeAt(peg$currPos)===125){s5=peg$c1085;peg$currPos++}else{s5=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1086)}}if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c1087(s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseStateDeclaration(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1134){s2=peg$c1134;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1135)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3!==peg$FAILED){s4=peg$parseLabel();if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s6=peg$c1070;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseStateDeclarationDesc();if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s10=peg$c1072;peg$currPos++}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1268(s4,s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseNamedList(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===38){s2=peg$c1269;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1270)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){s4=peg$parseLabel();if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s6=peg$c1070;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseLabelOrLabelList();if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s10=peg$c1072;peg$currPos++}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1271(s4,s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachinePropertyDefaultNull(){var s0;if(input.substr(peg$currPos,4)===peg$c1272){s0=peg$c1272;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1273)}}return s0}function peg$parseMachinePropertyDefaultUndefined(){var s0;if(input.substr(peg$currPos,9)===peg$c1274){s0=peg$c1274;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1275)}}return s0}function peg$parseMachinePropertyDefaultBoolean(){var s0;if(input.substr(peg$currPos,4)===peg$c222){s0=peg$c222;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c223)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c225){s0=peg$c225;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c226)}}}return s0}function peg$parseMachinePropertyDefaultNumber(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===45){s1=peg$c1105;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1106)}}if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){s2=peg$parseIntegerLiteral();if(s2!==peg$FAILED){if(input.charCodeAt(peg$currPos)===46){s3=peg$c309;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c310)}}if(s3!==peg$FAILED){s4=[];s5=peg$parseDecimalDigit();while(s5!==peg$FAILED){s4.push(s5);s5=peg$parseDecimalDigit()}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c1276();s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===45){s1=peg$c1105;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1106)}}if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){s2=peg$parseIntegerLiteral();if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c1276();s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c1277){s0=peg$c1277;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1278)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,11)===peg$c1279){s0=peg$c1279;peg$currPos+=11}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1280)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c1281){s0=peg$c1281;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1282)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1283){s0=peg$c1283;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1284)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1285){s0=peg$c1285;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1286)}}}}}}}}return s0}function peg$parseMachinePropertyDefaultString(){var s0,s1,s2,s3;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===34){s1=peg$c242;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c243)}}if(s1!==peg$FAILED){s2=[];s3=peg$parseMachinePropertyDefaultStringCharacter();while(s3!==peg$FAILED){s2.push(s3);s3=peg$parseMachinePropertyDefaultStringCharacter()}if(s2!==peg$FAILED){if(input.charCodeAt(peg$currPos)===34){s3=peg$c242;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c243)}}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c1287(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachinePropertyDefaultStringCharacter(){var s0,s1,s2;s0=peg$currPos;s1=peg$currPos;peg$silentFails++;if(input.charCodeAt(peg$currPos)===34){s2=peg$c242;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c243)}}if(s2===peg$FAILED){if(input.charCodeAt(peg$currPos)===92){s2=peg$c244;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c245)}}}peg$silentFails--;if(s2===peg$FAILED){s1=void 0}else{peg$currPos=s1;s1=peg$FAILED}if(s1!==peg$FAILED){if(input.length>peg$currPos){s2=input.charAt(peg$currPos);peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c284)}}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c1288(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===92){s1=peg$c244;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c245)}}if(s1!==peg$FAILED){s2=peg$parseMachinePropertyDefaultStringEscapeSequence();if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c1289(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseMachinePropertyDefaultStringEscapeSequence(){var s0,s1;if(input.charCodeAt(peg$currPos)===39){s0=peg$c272;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c273)}}if(s0===peg$FAILED){if(input.charCodeAt(peg$currPos)===34){s0=peg$c242;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c243)}}if(s0===peg$FAILED){if(input.charCodeAt(peg$currPos)===92){s0=peg$c244;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c245)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===98){s1=peg$c248;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c249)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1290()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===102){s1=peg$c251;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c252)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1291()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===110){s1=peg$c254;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c255)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1292()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===114){s1=peg$c257;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c258)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1293()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===116){s1=peg$c260;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c261)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1294()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===118){s1=peg$c263;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c264)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1295()}s0=s1}}}}}}}}return s0}function peg$parseMachinePropertyDefault(){var s0;s0=peg$parseMachinePropertyDefaultNull();if(s0===peg$FAILED){s0=peg$parseMachinePropertyDefaultUndefined();if(s0===peg$FAILED){s0=peg$parseMachinePropertyDefaultBoolean();if(s0===peg$FAILED){s0=peg$parseMachinePropertyDefaultNumber();if(s0===peg$FAILED){s0=peg$parseMachinePropertyDefaultString()}}}}return s0}function peg$parseMachineProperty(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,8)===peg$c1296){s2=peg$c1296;peg$currPos+=8}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1297)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){s4=peg$parseLabel();if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.substr(peg$currPos,7)===peg$c3){s6=peg$c3;peg$currPos+=7}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c4)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7!==peg$FAILED){s8=peg$parseMachinePropertyDefault();if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s10=peg$c1072;peg$currPos++}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1298(s4,s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,8)===peg$c1296){s2=peg$c1296;peg$currPos+=8}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1297)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){s4=peg$parseLabel();if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s6=peg$c1072;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){peg$savedPos=s0;s1=peg$c1299(s4);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseRegularArrangeDeclaration(){var s0,s1,s2,s3,s4,s5,s6;s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c1300){s1=peg$c1300;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1301)}}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=peg$parseLabelOrLabelList();if(s3!==peg$FAILED){s4=peg$parseWS();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s5=peg$c1072;peg$currPos++}else{s5=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){peg$savedPos=s0;s1=peg$c1302(s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseArrangeStartDeclaration(){var s0,s1,s2,s3,s4,s5,s6;s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c1303){s1=peg$c1303;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1304)}}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=peg$parseLabelOrLabelList();if(s3!==peg$FAILED){s4=peg$parseWS();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s5=peg$c1072;peg$currPos++}else{s5=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){peg$savedPos=s0;s1=peg$c1305(s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseArrangeEndDeclaration(){var s0,s1,s2,s3,s4,s5,s6;s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c1306){s1=peg$c1306;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1307)}}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=peg$parseLabelOrLabelList();if(s3!==peg$FAILED){s4=peg$parseWS();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s5=peg$c1072;peg$currPos++}else{s5=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){peg$savedPos=s0;s1=peg$c1308(s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseArrangeDeclaration(){var s0;peg$silentFails++;s0=peg$parseArrangeStartDeclaration();if(s0===peg$FAILED){s0=peg$parseArrangeEndDeclaration();if(s0===peg$FAILED){s0=peg$parseRegularArrangeDeclaration()}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c1309)}}return s0}function peg$parseTerm(){var s0;s0=peg$parseExp();if(s0===peg$FAILED){s0=peg$parseStateDeclaration();if(s0===peg$FAILED){s0=peg$parseArrangeDeclaration();if(s0===peg$FAILED){s0=peg$parseNamedList();if(s0===peg$FAILED){s0=peg$parseMachineAttribute();if(s0===peg$FAILED){s0=peg$parseMachineProperty();if(s0===peg$FAILED){s0=peg$parseConfig()}}}}}}return s0}function peg$parseTermList(){var s0,s1;s0=[];s1=peg$parseTerm();while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseTerm()}return s0}peg$result=peg$startRuleFunction();if(peg$result!==peg$FAILED&&peg$currPos===input.length){return peg$result}else{if(peg$result!==peg$FAILED&&peg$currPos":case"→":case"=>":case"⇒":case"~>":case"↛":return"right";case"<-":case"←":case"<=":case"⇐":case"<~":case"↚":return"left";case"<->":case"↔":case"<-=>":case"←⇒":case"←=>":case"<-⇒":case"<-~>":case"←↛":case"←~>":case"<-↛":case"<=>":case"⇔":case"<=->":case"⇐→":case"⇐->":case"<=→":case"<=~>":case"⇐↛":case"⇐~>":case"<=↛":case"<~>":case"↮":case"<~->":case"↚→":case"↚->":case"<~→":case"<~=>":case"↚⇒":case"↚=>":case"<~⇒":return"both";default:throw new JssmError(undefined,`arrow_direction: unknown arrow type ${arrow}`)}}function arrow_left_kind(arrow){switch(String(arrow)){case"->":case"→":case"=>":case"⇒":case"~>":case"↛":return"none";case"<-":case"←":case"<->":case"↔":case"<-=>":case"←⇒":case"<-~>":case"←↛":return"legal";case"<=":case"⇐":case"<=>":case"⇔":case"<=->":case"⇐→":case"<=~>":case"⇐↛":return"main";case"<~":case"↚":case"<~>":case"↮":case"<~->":case"↚→":case"<~=>":case"↚⇒":return"forced";default:throw new JssmError(undefined,`arrow_direction: unknown arrow type ${arrow}`)}}function arrow_right_kind(arrow){switch(String(arrow)){case"<-":case"←":case"<=":case"⇐":case"<~":case"↚":return"none";case"->":case"→":case"<->":case"↔":case"<=->":case"⇐→":case"<~->":case"↚→":return"legal";case"=>":case"⇒":case"<=>":case"⇔":case"<-=>":case"←⇒":case"<~=>":case"↚⇒":return"main";case"~>":case"↛":case"<~>":case"↮":case"<-~>":case"←↛":case"<=~>":case"⇐↛":return"forced";default:throw new JssmError(undefined,`arrow_direction: unknown arrow type ${arrow}`)}}function makeTransition(this_se,from,to,isRight,_wasList,_wasIndex){const kind=isRight?arrow_right_kind(this_se.kind):arrow_left_kind(this_se.kind),edge={from:from,to:to,kind:kind,forced_only:kind==="forced",main_path:kind==="main"};const action=isRight?"r_action":"l_action",probability=isRight?"r_probability":"l_probability";if(this_se[action]){edge.action=this_se[action]}if(this_se[probability]){edge.probability=this_se[probability]}return edge}function wrap_parse(input,options){return peg$parse(input,options||{})}function compile_rule_transition_step(acc,from,to,this_se,next_se){const edges=[];const uFrom=Array.isArray(from)?from:[from],uTo=Array.isArray(to)?to:[to];uFrom.map((f=>{uTo.map((t=>{const right=makeTransition(this_se,f,t,true);if(right.kind!=="none"){edges.push(right)}const left=makeTransition(this_se,t,f,false);if(left.kind!=="none"){edges.push(left)}}))}));const new_acc=acc.concat(edges);if(next_se){return compile_rule_transition_step(new_acc,to,next_se.to,next_se,next_se.se)}else{return new_acc}}function compile_rule_handle_transition(rule){return compile_rule_transition_step([],rule.from,rule.se.to,rule.se,rule.se.se)}function compile_rule_handler(rule){if(rule.key==="transition"){return{agg_as:"transition",val:compile_rule_handle_transition(rule)}}if(rule.key==="machine_language"){return{agg_as:"machine_language",val:reduceTo6391.reduce(rule.value)}}if(rule.key==="state_declaration"){if(!rule.name){throw new JssmError(undefined,"State declarations must have a name")}return{agg_as:"state_declaration",val:{state:rule.name,declarations:rule.value}}}if(["arrange_declaration","arrange_start_declaration","arrange_end_declaration"].includes(rule.key)){return{agg_as:rule.key,val:[rule.value]}}const tautologies=["graph_layout","start_states","end_states","machine_name","machine_version","machine_comment","machine_author","machine_contributor","machine_definition","machine_reference","machine_license","fsl_version","state_config","theme","flow","dot_preamble"];if(tautologies.includes(rule.key)){return{agg_as:rule.key,val:rule.value}}throw new JssmError(undefined,`compile_rule_handler: Unknown rule: ${JSON.stringify(rule)}`)}function compile(tree){const results={graph_layout:[],transition:[],start_states:[],end_states:[],state_config:[],state_declaration:[],fsl_version:[],machine_author:[],machine_comment:[],machine_contributor:[],machine_definition:[],machine_language:[],machine_license:[],machine_name:[],machine_reference:[],theme:[],flow:[],dot_preamble:[],arrange_declaration:[],arrange_start_declaration:[],arrange_end_declaration:[],machine_version:[]};tree.map((tr=>{const rule=compile_rule_handler(tr),agg_as=rule.agg_as,val=rule.val;results[agg_as]=results[agg_as].concat(val)}));const assembled_transitions=[].concat(...results["transition"]);const result_cfg={start_states:results.start_states.length?results.start_states:[assembled_transitions[0].from],transitions:assembled_transitions};const oneOnlyKeys=["graph_layout","machine_name","machine_version","machine_comment","fsl_version","machine_license","machine_definition","machine_language","theme","flow","dot_preamble"];oneOnlyKeys.map((oneOnlyKey=>{if(results[oneOnlyKey].length>1){throw new JssmError(undefined,`May only have one ${oneOnlyKey} statement maximum: ${JSON.stringify(results[oneOnlyKey])}`)}else{if(results[oneOnlyKey].length){result_cfg[oneOnlyKey]=results[oneOnlyKey][0]}}}));["arrange_declaration","arrange_start_declaration","arrange_end_declaration","machine_author","machine_contributor","machine_reference","state_declaration"].map((multiKey=>{if(results[multiKey].length){result_cfg[multiKey]=results[multiKey]}}));return result_cfg}function make(plan){return compile(wrap_parse(plan))}function transfer_state_properties(state_decl){state_decl.declarations.map((d=>{switch(d.key){case"shape":state_decl.shape=d.value;break;case"color":state_decl.color=d.value;break;case"corners":state_decl.corners=d.value;break;case"linestyle":state_decl.linestyle=d.value;break;case"text-color":state_decl.textColor=d.value;break;case"background-color":state_decl.backgroundColor=d.value;break;case"border-color":state_decl.borderColor=d.value;break;default:throw new JssmError(undefined,`Unknown state property: '${JSON.stringify(d)}'`)}}));return state_decl}class Machine{constructor({start_states:start_states,complete:complete=[],transitions:transitions,machine_author:machine_author,machine_comment:machine_comment,machine_contributor:machine_contributor,machine_definition:machine_definition,machine_language:machine_language,machine_license:machine_license,machine_name:machine_name,machine_version:machine_version,state_declaration:state_declaration,fsl_version:fsl_version,dot_preamble:dot_preamble=undefined,arrange_declaration:arrange_declaration=[],arrange_start_declaration:arrange_start_declaration=[],arrange_end_declaration:arrange_end_declaration=[],theme:theme="default",flow:flow="down",graph_layout:graph_layout="dot",instance_name:instance_name,history:history,data:data}){this._instance_name=instance_name;this._state=start_states[0];this._states=new Map;this._state_declarations=new Map;this._edges=[];this._edge_map=new Map;this._named_transitions=new Map;this._actions=new Map;this._reverse_actions=new Map;this._reverse_action_targets=new Map;this._machine_author=array_box_if_string(machine_author);this._machine_comment=machine_comment;this._machine_contributor=array_box_if_string(machine_contributor);this._machine_definition=machine_definition;this._machine_language=machine_language;this._machine_license=machine_license;this._machine_name=machine_name;this._machine_version=machine_version;this._raw_state_declaration=state_declaration||[];this._fsl_version=fsl_version;this._arrange_declaration=arrange_declaration;this._arrange_start_declaration=arrange_start_declaration;this._arrange_end_declaration=arrange_end_declaration;this._dot_preamble=dot_preamble;this._theme=theme;this._flow=flow;this._graph_layout=graph_layout;this._has_hooks=false;this._has_basic_hooks=false;this._has_named_hooks=false;this._has_entry_hooks=false;this._has_exit_hooks=false;this._has_global_action_hooks=false;this._has_transition_hooks=true;this._hooks=new Map;this._named_hooks=new Map;this._entry_hooks=new Map;this._exit_hooks=new Map;this._global_action_hooks=new Map;this._any_action_hook=undefined;this._standard_transition_hook=undefined;this._main_transition_hook=undefined;this._forced_transition_hook=undefined;this._any_transition_hook=undefined;this._has_post_hooks=false;this._has_post_basic_hooks=false;this._has_post_named_hooks=false;this._has_post_entry_hooks=false;this._has_post_exit_hooks=false;this._has_post_global_action_hooks=false;this._has_post_transition_hooks=true;this._post_hooks=new Map;this._post_named_hooks=new Map;this._post_entry_hooks=new Map;this._post_exit_hooks=new Map;this._post_global_action_hooks=new Map;this._post_any_action_hook=undefined;this._post_standard_transition_hook=undefined;this._post_main_transition_hook=undefined;this._post_forced_transition_hook=undefined;this._post_any_transition_hook=undefined;this._data=data;this._history_length=history||0;this._history=new circular_buffer(this._history_length);if(state_declaration){state_declaration.map((state_decl=>{if(this._state_declarations.has(state_decl.state)){throw new JssmError(this,`Added the same state declaration twice: ${JSON.stringify(state_decl.state)}`)}this._state_declarations.set(state_decl.state,transfer_state_properties(state_decl))}))}transitions.map((tr=>{if(tr.from===undefined){throw new JssmError(this,`transition must define 'from': ${JSON.stringify(tr)}`)}if(tr.to===undefined){throw new JssmError(this,`transition must define 'to': ${JSON.stringify(tr)}`)}const cursor_from=this._states.get(tr.from)||{name:tr.from,from:[],to:[],complete:complete.includes(tr.from)};if(!this._states.has(tr.from)){this._new_state(cursor_from)}const cursor_to=this._states.get(tr.to)||{name:tr.to,from:[],to:[],complete:complete.includes(tr.to)};if(!this._states.has(tr.to)){this._new_state(cursor_to)}if(cursor_from.to.includes(tr.to)){throw new JssmError(this,`already has ${JSON.stringify(tr.from)} to ${JSON.stringify(tr.to)}`)}else{cursor_from.to.push(tr.to);cursor_to.from.push(tr.from)}this._edges.push(tr);const thisEdgeId=this._edges.length-1;if(tr.name){if(this._named_transitions.has(tr.name)){throw new JssmError(this,`named transition "${JSON.stringify(tr.name)}" already created`)}else{this._named_transitions.set(tr.name,thisEdgeId)}}const from_mapping=this._edge_map.get(tr.from)||new Map;if(!this._edge_map.has(tr.from)){this._edge_map.set(tr.from,from_mapping)}from_mapping.set(tr.to,thisEdgeId);if(tr.action){let actionMap=this._actions.get(tr.action);if(!actionMap){actionMap=new Map;this._actions.set(tr.action,actionMap)}if(actionMap.has(tr.from)){throw new JssmError(this,`action ${JSON.stringify(tr.action)} already attached to origin ${JSON.stringify(tr.from)}`)}else{actionMap.set(tr.from,thisEdgeId)}let rActionMap=this._reverse_actions.get(tr.from);if(!rActionMap){rActionMap=new Map;this._reverse_actions.set(tr.from,rActionMap)}rActionMap.set(tr.action,thisEdgeId);if(!this._reverse_action_targets.has(tr.to)){this._reverse_action_targets.set(tr.to,new Map)}}}))}_new_state(state_config){if(this._states.has(state_config.name)){throw new JssmError(this,`state ${JSON.stringify(state_config.name)} already exists`)}this._states.set(state_config.name,state_config);return state_config.name}state(){return this._state}data(){return this._data}state_is_final(whichState){return this.state_is_terminal(whichState)&&this.state_is_complete(whichState)}is_final(){return this.state_is_final(this.state())}graph_layout(){return this._graph_layout}dot_preamble(){return this._dot_preamble}machine_author(){return this._machine_author}machine_comment(){return this._machine_comment}machine_contributor(){return this._machine_contributor}machine_definition(){return this._machine_definition}machine_language(){return this._machine_language}machine_license(){return this._machine_license}machine_name(){return this._machine_name}machine_version(){return this._machine_version}raw_state_declarations(){return this._raw_state_declaration}state_declaration(which){return this._state_declarations.get(which)}state_declarations(){return this._state_declarations}fsl_version(){return this._fsl_version}machine_state(){return{internal_state_impl_version:1,actions:this._actions,edge_map:this._edge_map,edges:this._edges,named_transitions:this._named_transitions,reverse_actions:this._reverse_actions,state:this._state,states:this._states}}states(){return Array.from(this._states.keys())}state_for(whichState){const state=this._states.get(whichState);if(state){return state}else{throw new JssmError(this,"No such state",{requested_state:whichState})}}has_state(whichState){return this._states.get(whichState)!==undefined}list_edges(){return this._edges}list_named_transitions(){return this._named_transitions}list_actions(){return Array.from(this._actions.keys())}theme(){return this._theme}flow(){return this._flow}get_transition_by_state_names(from,to){const emg=this._edge_map.get(from);if(emg){return emg.get(to)}else{return undefined}}lookup_transition_for(from,to){const id=this.get_transition_by_state_names(from,to);return id===undefined||id===null?undefined:this._edges[id]}list_transitions(whichState=this.state()){return{entrances:this.list_entrances(whichState),exits:this.list_exits(whichState)}}list_entrances(whichState=this.state()){return(this._states.get(whichState)||{from:undefined}).from||[]}list_exits(whichState=this.state()){return(this._states.get(whichState)||{to:undefined}).to||[]}probable_exits_for(whichState){const wstate=this._states.get(whichState);if(!wstate){throw new JssmError(this,`No such state ${JSON.stringify(whichState)} in probable_exits_for`)}const wstate_to=wstate.to,wtf=wstate_to.map((ws=>this.lookup_transition_for(this.state(),ws))).filter(Boolean);return wtf}probabilistic_transition(){const selected=weighted_rand_select(this.probable_exits_for(this.state()));return this.transition(selected.to)}probabilistic_walk(n){return seq(n).map((()=>{const state_was=this.state();this.probabilistic_transition();return state_was})).concat([this.state()])}probabilistic_histo_walk(n){return histograph(this.probabilistic_walk(n))}actions(whichState=this.state()){const wstate=this._reverse_actions.get(whichState);if(wstate){return Array.from(wstate.keys())}else{throw new JssmError(this,`No such state ${JSON.stringify(whichState)}`)}}list_states_having_action(whichState){const wstate=this._actions.get(whichState);if(wstate){return Array.from(wstate.keys())}else{throw new JssmError(this,`No such state ${JSON.stringify(whichState)}`)}}list_exit_actions(whichState=this.state()){const ra_base=this._reverse_actions.get(whichState);if(!ra_base){throw new JssmError(this,`No such state ${JSON.stringify(whichState)}`)}return Array.from(ra_base.values()).map((edgeId=>this._edges[edgeId])).filter((o=>o.from===whichState)).map((filtered=>filtered.action))}probable_action_exits(whichState=this.state()){const ra_base=this._reverse_actions.get(whichState);if(!ra_base){throw new JssmError(this,`No such state ${JSON.stringify(whichState)}`)}return Array.from(ra_base.values()).map((edgeId=>this._edges[edgeId])).filter((o=>o.from===whichState)).map((filtered=>({action:filtered.action,probability:filtered.probability})))}is_unenterable(whichState){if(!this.has_state(whichState)){throw new JssmError(this,`No such state ${whichState}`)}return this.list_entrances(whichState).length===0}has_unenterables(){return this.states().some((x=>this.is_unenterable(x)))}is_terminal(){return this.state_is_terminal(this.state())}state_is_terminal(whichState){if(!this.has_state(whichState)){throw new JssmError(this,`No such state ${whichState}`)}return this.list_exits(whichState).length===0}has_terminals(){return this.states().some((x=>this.state_is_terminal(x)))}is_complete(){return this.state_is_complete(this.state())}state_is_complete(whichState){const wstate=this._states.get(whichState);if(wstate){return wstate.complete}else{throw new JssmError(this,`No such state ${JSON.stringify(whichState)}`)}}has_completes(){return this.states().some((x=>this.state_is_complete(x)))}set_hook(HookDesc){switch(HookDesc.kind){case"hook":this._hooks.set(hook_name(HookDesc.from,HookDesc.to),HookDesc.handler);this._has_hooks=true;this._has_basic_hooks=true;break;case"named":this._named_hooks.set(named_hook_name(HookDesc.from,HookDesc.to,HookDesc.action),HookDesc.handler);this._has_hooks=true;this._has_named_hooks=true;break;case"global action":this._global_action_hooks.set(HookDesc.action,HookDesc.handler);this._has_hooks=true;this._has_global_action_hooks=true;break;case"any action":this._any_action_hook=HookDesc.handler;this._has_hooks=true;break;case"standard transition":this._standard_transition_hook=HookDesc.handler;this._has_transition_hooks=true;this._has_hooks=true;break;case"main transition":this._main_transition_hook=HookDesc.handler;this._has_transition_hooks=true;this._has_hooks=true;break;case"forced transition":this._forced_transition_hook=HookDesc.handler;this._has_transition_hooks=true;this._has_hooks=true;break;case"any transition":this._any_transition_hook=HookDesc.handler;this._has_hooks=true;break;case"entry":this._entry_hooks.set(HookDesc.to,HookDesc.handler);this._has_hooks=true;this._has_entry_hooks=true;break;case"exit":this._exit_hooks.set(HookDesc.from,HookDesc.handler);this._has_hooks=true;this._has_exit_hooks=true;break;case"post hook":this._post_hooks.set(hook_name(HookDesc.from,HookDesc.to),HookDesc.handler);this._has_post_hooks=true;this._has_post_basic_hooks=true;break;case"post named":this._post_named_hooks.set(named_hook_name(HookDesc.from,HookDesc.to,HookDesc.action),HookDesc.handler);this._has_post_hooks=true;this._has_post_named_hooks=true;break;case"post global action":this._post_global_action_hooks.set(HookDesc.action,HookDesc.handler);this._has_post_hooks=true;this._has_post_global_action_hooks=true;break;case"post any action":this._post_any_action_hook=HookDesc.handler;this._has_post_hooks=true;break;case"post standard transition":console.log(`l1a ${JSON.stringify(HookDesc)}`);this._post_standard_transition_hook=HookDesc.handler;this._has_post_transition_hooks=true;this._has_post_hooks=true;break;case"post main transition":console.log(`l1b ${JSON.stringify(HookDesc)}`);this._post_main_transition_hook=HookDesc.handler;this._has_post_transition_hooks=true;this._has_post_hooks=true;break;case"post forced transition":console.log(`l1c ${JSON.stringify(HookDesc)}`);this._post_forced_transition_hook=HookDesc.handler;this._has_post_transition_hooks=true;this._has_post_hooks=true;break;case"post any transition":this._post_any_transition_hook=HookDesc.handler;this._has_post_hooks=true;break;case"post entry":this._post_entry_hooks.set(HookDesc.to,HookDesc.handler);this._has_post_entry_hooks=true;this._has_post_hooks=true;break;case"post exit":this._post_exit_hooks.set(HookDesc.from,HookDesc.handler);this._has_post_exit_hooks=true;this._has_post_hooks=true;break;default:throw new JssmError(this,`Unknown hook type ${HookDesc.kind}, should be impossible`)}}hook(from,to,handler){this.set_hook({kind:"hook",from:from,to:to,handler:handler});return this}hook_action(from,to,action,handler){this.set_hook({kind:"named",from:from,to:to,action:action,handler:handler});return this}hook_global_action(action,handler){this.set_hook({kind:"global action",action:action,handler:handler});return this}hook_any_action(handler){this.set_hook({kind:"any action",handler:handler});return this}hook_standard_transition(handler){this.set_hook({kind:"standard transition",handler:handler});return this}hook_main_transition(handler){this.set_hook({kind:"main transition",handler:handler});return this}hook_forced_transition(handler){this.set_hook({kind:"forced transition",handler:handler});return this}hook_any_transition(handler){this.set_hook({kind:"any transition",handler:handler});return this}hook_entry(to,handler){this.set_hook({kind:"entry",to:to,handler:handler});return this}hook_exit(from,handler){this.set_hook({kind:"exit",from:from,handler:handler});return this}post_hook(from,to,handler){this.set_hook({kind:"post hook",from:from,to:to,handler:handler});return this}post_hook_action(from,to,action,handler){this.set_hook({kind:"post named",from:from,to:to,action:action,handler:handler});return this}post_hook_global_action(action,handler){this.set_hook({kind:"post global action",action:action,handler:handler});return this}post_hook_any_action(handler){this.set_hook({kind:"post any action",handler:handler});return this}post_hook_standard_transition(handler){this.set_hook({kind:"post standard transition",handler:handler});return this}post_hook_main_transition(handler){this.set_hook({kind:"post main transition",handler:handler});return this}post_hook_forced_transition(handler){this.set_hook({kind:"post forced transition",handler:handler});return this}post_hook_any_transition(handler){this.set_hook({kind:"post any transition",handler:handler});return this}post_hook_entry(to,handler){this.set_hook({kind:"post entry",to:to,handler:handler});return this}post_hook_exit(from,handler){this.set_hook({kind:"post exit",from:from,handler:handler});return this}edges_between(from,to){return this._edges.filter((edge=>edge.from===from&&edge.to===to))}transition_impl(newStateOrAction,newData,wasForced,wasAction){let valid=false,trans_type,newState,fromAction=undefined;if(wasForced){if(this.valid_force_transition(newStateOrAction,newData)){valid=true;trans_type="forced";newState=newStateOrAction}}else if(wasAction){if(this.valid_action(newStateOrAction,newData)){const edge=this.current_action_edge_for(newStateOrAction);valid=true;trans_type=edge.kind;newState=edge.to;fromAction=newStateOrAction}}else{if(this.valid_transition(newStateOrAction,newData)){if(this._has_transition_hooks){trans_type=this.edges_between(this._state,newStateOrAction)[0].kind}valid=true;newState=newStateOrAction}}const hook_args={data:this._data,action:fromAction,from:this._state,to:newState,forced:wasForced,trans_type:trans_type};if(valid){if(this._has_hooks){function update_fields(res){if(res.hasOwnProperty("data")){hook_args.data=res.data;data_changed=true}}let data_changed=false;if(wasAction){const outcome=abstract_hook_step(this._any_action_hook,hook_args);if(outcome.pass===false){return false}update_fields(outcome);const outcome2=abstract_hook_step(this._global_action_hooks.get(newStateOrAction),hook_args);if(outcome2.pass===false){return false}update_fields(outcome2)}if(this._any_transition_hook!==undefined){const outcome=abstract_hook_step(this._any_transition_hook,hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(this._has_exit_hooks){const outcome=abstract_hook_step(this._exit_hooks.get(this._state),hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(this._has_named_hooks){if(wasAction){const nhn=named_hook_name(this._state,newState,newStateOrAction),outcome=abstract_hook_step(this._named_hooks.get(nhn),hook_args);if(outcome.pass===false){return false}update_fields(outcome)}}if(this._has_basic_hooks){const hn=hook_name(this._state,newState),outcome=abstract_hook_step(this._hooks.get(hn),hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(trans_type==="legal"){const outcome=abstract_hook_step(this._standard_transition_hook,hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(trans_type==="main"){const outcome=abstract_hook_step(this._main_transition_hook,hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(trans_type==="forced"){const outcome=abstract_hook_step(this._forced_transition_hook,hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(this._has_entry_hooks){const outcome=abstract_hook_step(this._entry_hooks.get(newState),hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(this._history_length){this._history.shove([this._state,this._data])}this._state=newState;if(data_changed){this._data=hook_args.data}}else{if(this._history_length){this._history.shove([this._state,this._data])}this._state=newState}}else{return false}if(this._has_post_hooks){if(wasAction){if(this._post_any_action_hook!==undefined){this._post_any_action_hook(hook_args)}const pgah=this._post_global_action_hooks.get(hook_args.action);if(pgah!==undefined){pgah(hook_args)}}if(this._post_any_transition_hook!==undefined){this._post_any_transition_hook(hook_args)}if(this._has_post_exit_hooks){const peh=this._post_exit_hooks.get(hook_args.from);if(peh!==undefined){peh(hook_args)}}if(this._has_post_named_hooks){if(wasAction){const nhn=named_hook_name(hook_args.from,hook_args.to,hook_args.action),pnh=this._post_named_hooks.get(nhn);if(pnh!==undefined){pnh(hook_args)}}}if(this._has_post_basic_hooks){const hook=this._post_hooks.get(hook_name(hook_args.from,hook_args.to));if(hook!==undefined){hook(hook_args)}}if(trans_type==="legal"){console.log(`l2a ${JSON.stringify(hook_args)}`);if(this._post_standard_transition_hook!==undefined){console.log(`l3a ${JSON.stringify(hook_args)} ${JSON.stringify(this._post_standard_transition_hook)}`);this._post_standard_transition_hook(hook_args)}}if(trans_type==="main"){console.log(`l2b ${JSON.stringify(hook_args)}`);if(this._post_main_transition_hook!==undefined){console.log(`l3b ${JSON.stringify(hook_args)} ${JSON.stringify(this._post_main_transition_hook)}`);this._post_main_transition_hook(hook_args)}}if(trans_type==="forced"){console.log(`l2c ${JSON.stringify(hook_args)}`);if(this._post_forced_transition_hook!==undefined){console.log(`l3c ${JSON.stringify(hook_args)} ${JSON.stringify(this._post_forced_transition_hook)}`);this._post_forced_transition_hook(hook_args)}}if(this._has_post_entry_hooks){const hook=this._post_entry_hooks.get(hook_args.to);if(hook!==undefined){hook(hook_args)}}}return true}get history(){return this._history.toArray()}get history_inclusive(){const ret=this._history.toArray();ret.push([this.state(),this.data()]);return ret}get history_length(){return this._history_length}set history_length(to){this._history_length=to;this._history.resize(to,true)}action(actionName,newData){return this.transition_impl(actionName,newData,false,true)}transition(newState,newData){return this.transition_impl(newState,newData,false,false)}force_transition(newState,newData){return this.transition_impl(newState,newData,true,false)}current_action_for(action){const action_base=this._actions.get(action);return action_base?action_base.get(this.state()):undefined}current_action_edge_for(action){const idx=this.current_action_for(action);if(idx===undefined||idx===null){throw new JssmError(this,`No such action ${JSON.stringify(action)}`)}return this._edges[idx]}valid_action(action,_newData){return this.current_action_for(action)!==undefined}valid_transition(newState,_newData){const transition_for=this.lookup_transition_for(this.state(),newState);if(!transition_for){return false}if(transition_for.forced_only){return false}return true}valid_force_transition(newState,_newData){return this.lookup_transition_for(this.state(),newState)!==undefined}instance_name(){return this._instance_name}sm(template_strings,...remainder){return sm(template_strings,...remainder)}}function sm(template_strings,...remainder){return new Machine(make(template_strings.reduce(((acc,val,idx)=>`${acc}${remainder[idx-1]}${val}`))))}function from(MachineAsString,ExtraConstructorFields){const to_decorate=make(MachineAsString);if(ExtraConstructorFields!==undefined){Object.keys(ExtraConstructorFields).map((key=>to_decorate[key]=ExtraConstructorFields[key]))}return new Machine(to_decorate)}function is_hook_complex_result(hr){if(typeof hr==="object"){if(typeof hr.pass==="boolean"){return true}}return false}function is_hook_rejection(hr){if(hr===true){return false}if(hr===undefined){return false}if(hr===false){return true}if(is_hook_complex_result(hr)){return!hr.pass}throw new TypeError("unknown hook rejection type result")}function abstract_hook_step(maybe_hook,hook_args){if(maybe_hook!==undefined){const result=maybe_hook(hook_args);if(result===undefined){return{pass:true}}if(result===true){return{pass:true}}if(result===false){return{pass:false}}if(is_hook_complex_result(result)){return result}throw new TypeError(`Unknown hook result type ${result}`)}else{return{pass:true}}}exports.Machine=Machine;exports.abstract_hook_step=abstract_hook_step;exports.arrow_direction=arrow_direction;exports.arrow_left_kind=arrow_left_kind;exports.arrow_right_kind=arrow_right_kind;exports.compile=compile;exports.from=from;exports.gviz_shapes=gviz_shapes;exports.histograph=histograph;exports.is_hook_complex_result=is_hook_complex_result;exports.is_hook_rejection=is_hook_rejection;exports.make=make;exports.named_colors=named_colors;exports.parse=wrap_parse;exports.seq=seq;exports.shapes=shapes;exports.sm=sm;exports.transfer_state_properties=transfer_state_properties;exports.version=version;exports.weighted_histo_key=weighted_histo_key;exports.weighted_rand_select=weighted_rand_select;exports.weighted_sample_select=weighted_sample_select; diff --git a/dist/jssm.es5.cjs.nonmin.js b/dist/jssm.es5.cjs.nonmin.js index 6b3c0492..bcee8c01 100644 --- a/dist/jssm.es5.cjs.nonmin.js +++ b/dist/jssm.es5.cjs.nonmin.js @@ -17390,7 +17390,6 @@ class Machine { this._main_transition_hook = undefined; this._forced_transition_hook = undefined; this._any_transition_hook = undefined; - this._standard_transition_hook = undefined; this._has_post_hooks = false; this._has_post_basic_hooks = false; this._has_post_named_hooks = false; @@ -17409,7 +17408,6 @@ class Machine { this._post_main_transition_hook = undefined; this._post_forced_transition_hook = undefined; this._post_any_transition_hook = undefined; - this._post_standard_transition_hook = undefined; this._data = data; this._history_length = history || 0; this._history = new circular_buffer(this._history_length); @@ -18083,12 +18081,12 @@ class Machine { case 'post hook': this._post_hooks.set(hook_name(HookDesc.from, HookDesc.to), HookDesc.handler); this._has_post_hooks = true; - this._has_basic_hooks = true; + this._has_post_basic_hooks = true; break; case 'post named': this._post_named_hooks.set(named_hook_name(HookDesc.from, HookDesc.to, HookDesc.action), HookDesc.handler); this._has_post_hooks = true; - this._has_named_hooks = true; + this._has_post_named_hooks = true; break; case 'post global action': this._post_global_action_hooks.set(HookDesc.action, HookDesc.handler); @@ -18100,16 +18098,19 @@ class Machine { this._has_post_hooks = true; break; case 'post standard transition': + console.log(`l1a ${JSON.stringify(HookDesc)}`); this._post_standard_transition_hook = HookDesc.handler; this._has_post_transition_hooks = true; this._has_post_hooks = true; break; case 'post main transition': + console.log(`l1b ${JSON.stringify(HookDesc)}`); this._post_main_transition_hook = HookDesc.handler; this._has_post_transition_hooks = true; this._has_post_hooks = true; break; case 'post forced transition': + console.log(`l1c ${JSON.stringify(HookDesc)}`); this._post_forced_transition_hook = HookDesc.handler; this._has_post_transition_hooks = true; this._has_post_hooks = true; @@ -18252,7 +18253,8 @@ class Machine { action: fromAction, from: this._state, to: newState, - forced: wasForced + forced: wasForced, + trans_type }; if (valid) { if (this._has_hooks) { @@ -18377,11 +18379,70 @@ class Machine { this._post_any_action_hook(hook_args); } // 2. global specific action hook - const pgah = this._post_global_action_hooks.get(newStateOrAction); + const pgah = this._post_global_action_hooks.get(hook_args.action); if (pgah !== undefined) { pgah(hook_args); } } + // 3. any transition hook + if (this._post_any_transition_hook !== undefined) { + this._post_any_transition_hook(hook_args); + } + // 4. exit hook + if (this._has_post_exit_hooks) { + const peh = this._post_exit_hooks.get(hook_args.from); // todo this is probably from instead + if (peh !== undefined) { + peh(hook_args); + } + } + // 5. named transition / action hook + if (this._has_post_named_hooks) { + if (wasAction) { + const nhn = named_hook_name(hook_args.from, hook_args.to, hook_args.action), pnh = this._post_named_hooks.get(nhn); + if (pnh !== undefined) { + pnh(hook_args); + } + } + } + // 6. regular hook + if (this._has_post_basic_hooks) { + const hook = this._post_hooks.get(hook_name(hook_args.from, hook_args.to)); + if (hook !== undefined) { + hook(hook_args); + } + } + // 7. edge type hook + // 7a. standard transition hook + if (trans_type === 'legal') { + console.log(`l2a ${JSON.stringify(hook_args)}`); + if (this._post_standard_transition_hook !== undefined) { + console.log(`l3a ${JSON.stringify(hook_args)} ${JSON.stringify(this._post_standard_transition_hook)}`); + this._post_standard_transition_hook(hook_args); + } + } + // 7b. main type hook + if (trans_type === 'main') { + console.log(`l2b ${JSON.stringify(hook_args)}`); + if (this._post_main_transition_hook !== undefined) { + console.log(`l3b ${JSON.stringify(hook_args)} ${JSON.stringify(this._post_main_transition_hook)}`); + this._post_main_transition_hook(hook_args); + } + } + // 7c. forced transition hook + if (trans_type === 'forced') { + console.log(`l2c ${JSON.stringify(hook_args)}`); + if (this._post_forced_transition_hook !== undefined) { + console.log(`l3c ${JSON.stringify(hook_args)} ${JSON.stringify(this._post_forced_transition_hook)}`); + this._post_forced_transition_hook(hook_args); + } + } + // 8. entry hook + if (this._has_post_entry_hooks) { + const hook = this._post_entry_hooks.get(hook_args.to); + if (hook !== undefined) { + hook(hook_args); + } + } } return true; } diff --git a/dist/jssm.es5.iife.js b/dist/jssm.es5.iife.js index 1b6f3b51..7250f0cb 100644 --- a/dist/jssm.es5.iife.js +++ b/dist/jssm.es5.iife.js @@ -1 +1 @@ -var jssm=function(exports){"use strict";var reductions={abkhazian:"ab","аҧсуа бызшәа, аҧсшәа":"ab",ab:"ab",abk:"ab","аҧсуа бызшәа":"ab","аҧсшәа":"ab",afar:"aa",afaraf:"aa",aa:"aa",aar:"aa",afrikaans:"af",af:"af",afr:"af",akan:"ak",ak:"ak",aka:"ak","aka + 2":"ak",albanian:"sq",shqip:"sq",sq:"sq",sqi:"sq",alb:"sq","sqi + 4":"sq",amharic:"am","አማርኛ":"am",am:"am",amh:"am",arabic:"ar","العربية":"ar",ar:"ar",ara:"ar","ara + 30":"ar",aragonese:"an","aragonés":"an",an:"an",arg:"an",armenian:"hy","հայերեն":"hy",hy:"hy",hye:"hy",arm:"hy",assamese:"as","অসমীয়া":"as",as:"as",asm:"as",avaric:"av","авар мацӏ, магӏарул мацӏ":"av",av:"av",ava:"av","авар мацӏ":"av","магӏарул мацӏ":"av",avestan:"ae",avesta:"ae",ae:"ae",ave:"ae",aymara:"ay","aymar aru":"ay",ay:"ay",aym:"ay","aym + 2":"ay",azerbaijani:"az","azərbaycan dili":"az",az:"az",aze:"az","aze + 2":"az",bambara:"bm",bamanankan:"bm",bm:"bm",bam:"bm",bashkir:"ba","башҡорт теле":"ba",ba:"ba",bak:"ba",basque:"eu","euskara, euskera":"eu",eu:"eu",eus:"eu",baq:"eu",euskara:"eu",euskera:"eu",belarusian:"be","беларуская мова":"be",be:"be",bel:"be",bengali:"bn","বাংলা":"bn",bn:"bn",ben:"bn","bihari languages":"bh","भोजपुरी":"bh",bh:"bh",bih:"bh",bislama:"bi",bi:"bi",bis:"bi",bosnian:"bs","bosanski jezik":"bs",bs:"bs",bos:"bs",breton:"br",brezhoneg:"br",br:"br",bre:"br",bulgarian:"bg","български език":"bg",bg:"bg",bul:"bg",burmese:"my","ဗမာစာ":"my",my:"my",mya:"my",bur:"my","catalan, valencian":"ca","català, valencià":"ca",ca:"ca",cat:"ca","català":"ca","valencià":"ca",chamorro:"ch",chamoru:"ch",ch:"ch",cha:"ch",chechen:"ce","нохчийн мотт":"ce",ce:"ce",che:"ce","chichewa, chewa, nyanja":"ny","chicheŵa, chinyanja":"ny",ny:"ny",nya:"ny","chicheŵa":"ny",chinyanja:"ny",chinese:"zh","中文 (zhōngwén), 汉语, 漢語":"zh",zh:"zh",zho:"zh",chi:"zh","zho + 13":"zh","中文 (zhōngwén)":"zh","汉语":"zh","漢語":"zh",chuvash:"cv","чӑваш чӗлхи":"cv",cv:"cv",chv:"cv",cornish:"kw",kernewek:"kw",kw:"kw",cor:"kw",corsican:"co","corsu, lingua corsa":"co",co:"co",cos:"co",corsu:"co","lingua corsa":"co",cree:"cr","ᓀᐦᐃᔭᐍᐏᐣ":"cr",cr:"cr",cre:"cr","cre + 6":"cr",croatian:"hr","hrvatski jezik":"hr",hr:"hr",hrv:"hr",czech:"cs","čeština, český jazyk":"cs",cs:"cs",ces:"cs",cze:"cs","čeština":"cs","český jazyk":"cs",danish:"da",dansk:"da",da:"da",dan:"da","divehi, dhivehi, maldivian":"dv","ދިވެހި":"dv",dv:"dv",div:"dv","dutch, flemish":"nl","nederlands, vlaams":"nl",nl:"nl",nld:"nl",dut:"nl",nederlands:"nl",vlaams:"nl",dzongkha:"dz","རྫོང་ཁ":"dz",dz:"dz",dzo:"dz",english:"en",en:"en",eng:"en",esperanto:"eo",eo:"eo",epo:"eo",estonian:"et","eesti, eesti keel":"et",et:"et",est:"et","est + 2":"et",eesti:"et","eesti keel":"et",ewe:"ee","eʋegbe":"ee",ee:"ee",faroese:"fo","føroyskt":"fo",fo:"fo",fao:"fo",fijian:"fj","vosa vakaviti":"fj",fj:"fj",fij:"fj",finnish:"fi","suomi, suomen kieli":"fi",fi:"fi",fin:"fi",suomi:"fi","suomen kieli":"fi",french:"fr","français, langue française":"fr",fr:"fr",fra:"fr",fre:"fr","français":"fr","langue française":"fr",fulah:"ff","fulfulde, pulaar, pular":"ff",ff:"ff",ful:"ff","ful + 9":"ff",fulfulde:"ff",pulaar:"ff",pular:"ff",galician:"gl",galego:"gl",gl:"gl",glg:"gl",georgian:"ka","ქართული":"ka",ka:"ka",kat:"ka",geo:"ka",german:"de",deutsch:"de",de:"de",deu:"de",ger:"de","greek (modern)":"el","ελληνικά":"el",el:"el",ell:"el",gre:"el","guaraní":"gn","avañe'ẽ":"gn",gn:"gn",grn:"gn","grn + 5":"gn",gujarati:"gu","ગુજરાતી":"gu",gu:"gu",guj:"gu","haitian, haitian creole":"ht","kreyòl ayisyen":"ht",ht:"ht",hat:"ht",hausa:"ha","(hausa) هَوُسَ":"ha",ha:"ha",hau:"ha","hebrew (modern)":"he","עברית":"he",he:"he",heb:"he",herero:"hz",otjiherero:"hz",hz:"hz",her:"hz",hindi:"hi","हिन्दी, हिंदी":"hi",hi:"hi",hin:"hi","हिन्दी":"hi","हिंदी":"hi","hiri motu":"ho",ho:"ho",hmo:"ho",hungarian:"hu",magyar:"hu",hu:"hu",hun:"hu",interlingua:"ia",ia:"ia",ina:"ia",indonesian:"id","bahasa indonesia":"id",id:"id",ind:"id",interlingue:"ie","originally called occidental; then interlingue after wwii":"ie",ie:"ie",ile:"ie",irish:"ga",gaeilge:"ga",ga:"ga",gle:"ga",igbo:"ig","asụsụ igbo":"ig",ig:"ig",ibo:"ig",inupiaq:"ik","iñupiaq, iñupiatun":"ik",ik:"ik",ipk:"ik","ipk + 2":"ik","iñupiaq":"ik","iñupiatun":"ik",ido:"io",io:"io",icelandic:"is","íslenska":"is",is:"is",isl:"is",ice:"is",italian:"it",italiano:"it",it:"it",ita:"it",inuktitut:"iu","ᐃᓄᒃᑎᑐᑦ":"iu",iu:"iu",iku:"iu","iku + 2":"iu",japanese:"ja","日本語 (にほんご)":"ja",ja:"ja",jpn:"ja",javanese:"jv","ꦧꦱꦗꦮ, basa jawa":"jv",jv:"jv",jav:"jv","ꦧꦱꦗꦮ":"jv","basa jawa":"jv","kalaallisut, greenlandic":"kl","kalaallisut, kalaallit oqaasii":"kl",kl:"kl",kal:"kl",kalaallisut:"kl","kalaallit oqaasii":"kl",kannada:"kn","ಕನ್ನಡ":"kn",kn:"kn",kan:"kn",kanuri:"kr",kr:"kr",kau:"kr","kau + 3":"kr",kashmiri:"ks","कश्मीरी, كشميري‎":"ks",ks:"ks",kas:"ks","कश्मीरी":"ks","كشميري‎":"ks",kazakh:"kk","қазақ тілі":"kk",kk:"kk",kaz:"kk","central khmer":"km","ខ្មែរ, ខេមរភាសា, ភាសាខ្មែរ":"km",km:"km",khm:"km","ខ្មែរ":"km","ខេមរភាសា":"km","ភាសាខ្មែរ":"km","kikuyu, gikuyu":"ki","gĩkũyũ":"ki",ki:"ki",kik:"ki",kinyarwanda:"rw",ikinyarwanda:"rw",rw:"rw",kin:"rw","kirghiz, kyrgyz":"ky","кыргызча, кыргыз тили":"ky",ky:"ky",kir:"ky","кыргызча":"ky","кыргыз тили":"ky",komi:"kv","коми кыв":"kv",kv:"kv",kom:"kv","kom + 2":"kv",kongo:"kg",kikongo:"kg",kg:"kg",kon:"kg","kon + 3":"kg",korean:"ko","한국어":"ko",ko:"ko",kor:"ko",kurdish:"ku","kurdî, كوردی‎":"ku",ku:"ku",kur:"ku","kur + 3":"ku","kurdî":"ku","كوردی‎":"ku","kuanyama, kwanyama":"kj",kuanyama:"kj",kj:"kj",kua:"kj",latin:"la","latine, lingua latina":"la",la:"la",lat:"la",latine:"la","lingua latina":"la","luxembourgish, letzeburgesch":"lb","lëtzebuergesch":"lb",lb:"lb",ltz:"lb",ganda:"lg",luganda:"lg",lg:"lg",lug:"lg","limburgan, limburger, limburgish":"li",limburgs:"li",li:"li",lim:"li",lingala:"ln","lingála":"ln",ln:"ln",lin:"ln",lao:"lo","ພາສາລາວ":"lo",lo:"lo",lithuanian:"lt","lietuvių kalba":"lt",lt:"lt",lit:"lt","luba-katanga":"lu",kiluba:"lu",lu:"lu",lub:"lu",latvian:"lv","latviešu valoda":"lv",lv:"lv",lav:"lv","lav + 2":"lv",manx:"gv","gaelg, gailck":"gv",gv:"gv",glv:"gv",gaelg:"gv",gailck:"gv",macedonian:"mk","македонски јазик":"mk",mk:"mk",mkd:"mk",mac:"mk",malagasy:"mg","fiteny malagasy":"mg",mg:"mg",mlg:"mg","mlg + 10":"mg",malay:"ms","bahasa melayu, بهاس ملايو‎":"ms",ms:"ms",msa:"ms",may:"ms","msa + 13":"ms","bahasa melayu":"ms","بهاس ملايو‎":"ms",malayalam:"ml","മലയാളം":"ml",ml:"ml",mal:"ml",maltese:"mt",malti:"mt",mt:"mt",mlt:"mt",maori:"mi","te reo māori":"mi",mi:"mi",mri:"mi",mao:"mi",marathi:"mr","मराठी":"mr",mr:"mr",mar:"mr",marshallese:"mh","kajin m̧ajeļ":"mh",mh:"mh",mah:"mh",mongolian:"mn","монгол хэл":"mn",mn:"mn",mon:"mn","mon + 2":"mn",nauru:"na","dorerin naoero":"na",na:"na",nau:"na","navajo, navaho":"nv","diné bizaad":"nv",nv:"nv",nav:"nv","north ndebele":"nd",isindebele:"nr",nd:"nd",nde:"nd",nepali:"ne","नेपाली":"ne",ne:"ne",nep:"ne",ndonga:"ng",owambo:"ng",ng:"ng",ndo:"ng","norwegian bokmål":"nb","norsk bokmål":"nb",nb:"nb",nob:"nb","norwegian nynorsk":"nn","norsk nynorsk":"nn",nn:"nn",nno:"nn",norwegian:"no",norsk:"no",no:"no",nor:"no","nor + 2":"no","sichuan yi, nuosu":"ii","ꆈꌠ꒿ nuosuhxop":"ii",ii:"ii",iii:"ii","south ndebele":"nr",nr:"nr",nbl:"nr",occitan:"oc","occitan, lenga d'òc":"oc",oc:"oc",oci:"oc","lenga d'òc":"oc",ojibwa:"oj","ᐊᓂᔑᓈᐯᒧᐎᓐ":"oj",oj:"oj",oji:"oj","oji + 7":"oj","church slavic, church slavonic, old church slavonic, old slavonic, old bulgarian":"cu","ѩзыкъ словѣньскъ":"cu",cu:"cu",chu:"cu",oromo:"om","afaan oromoo":"om",om:"om",orm:"om","orm + 4":"om",oriya:"or","ଓଡ଼ିଆ":"or",or:"or",ori:"or","ossetian, ossetic":"os","ирон æвзаг":"os",os:"os",oss:"os","panjabi, punjabi":"pa","ਪੰਜਾਬੀ":"pa",pa:"pa",pan:"pa",pali:"pi","पाऴि":"pi",pi:"pi",pli:"pi",persian:"fa","فارسی":"fa",fa:"fa",fas:"fa",per:"fa","fas + 2":"fa",polish:"pl","język polski, polszczyzna":"pl",pl:"pl",pol:"pl","język polski":"pl",polszczyzna:"pl","pashto, pushto":"ps","پښتو":"ps",ps:"ps",pus:"ps","pus + 3":"ps",portuguese:"pt","português":"pt",pt:"pt",por:"pt",quechua:"qu","runa simi, kichwa":"qu",qu:"qu",que:"qu","que + 44":"qu","runa simi":"qu",kichwa:"qu",romansh:"rm","rumantsch grischun":"rm",rm:"rm",roh:"rm",rundi:"rn",ikirundi:"rn",rn:"rn",run:"rn","romanian, moldavian, moldovan":"ro","română":"ro",ro:"ro",ron:"ro",rum:"ro",russian:"ru","русский":"ru",ru:"ru",rus:"ru",sanskrit:"sa","संस्कृतम्":"sa",sa:"sa",san:"sa",sardinian:"sc",sardu:"sc",sc:"sc",srd:"sc","srd + 4":"sc",sindhi:"sd","सिन्धी, سنڌي، سندھی‎":"sd",sd:"sd",snd:"sd","सिन्धी":"sd","سنڌي، سندھی‎":"sd","northern sami":"se","davvisámegiella":"se",se:"se",sme:"se",samoan:"sm","gagana fa'a samoa":"sm",sm:"sm",smo:"sm",sango:"sg","yângâ tî sängö":"sg",sg:"sg",sag:"sg",serbian:"sr","српски језик":"sr",sr:"sr",srp:"sr","gaelic, scottish gaelic":"gd","gàidhlig":"gd",gd:"gd",gla:"gd",shona:"sn",chishona:"sn",sn:"sn",sna:"sn","sinhala, sinhalese":"si","සිංහල":"si",si:"si",sin:"si",slovak:"sk","slovenčina, slovenský jazyk":"sk",sk:"sk",slk:"sk",slo:"sk","slovenčina":"sk","slovenský jazyk":"sk",slovenian:"sl","slovenski jezik, slovenščina":"sl",sl:"sl",slv:"sl","slovenski jezik":"sl","slovenščina":"sl",somali:"so","soomaaliga, af soomaali":"so",so:"so",som:"so",soomaaliga:"so","af soomaali":"so","southern sotho":"st",sesotho:"st",st:"st",sot:"st","spanish, castilian":"es","español":"es",es:"es",spa:"es",sundanese:"su","basa sunda":"su",su:"su",sun:"su",swahili:"sw",kiswahili:"sw",sw:"sw",swa:"sw","swa + 2":"sw",swati:"ss",siswati:"ss",ss:"ss",ssw:"ss",swedish:"sv",svenska:"sv",sv:"sv",swe:"sv",tamil:"ta","தமிழ்":"ta",ta:"ta",tam:"ta",telugu:"te","తెలుగు":"te",te:"te",tel:"te",tajik:"tg","тоҷикӣ, toçikī, تاجیکی‎":"tg",tg:"tg",tgk:"tg","тоҷикӣ":"tg","toçikī":"tg","تاجیکی‎":"tg",thai:"th","ไทย":"th",th:"th",tha:"th",tigrinya:"ti","ትግርኛ":"ti",ti:"ti",tir:"ti",tibetan:"bo","བོད་ཡིག":"bo",bo:"bo",bod:"bo",tib:"bo",turkmen:"tk","türkmen, түркмен":"tk",tk:"tk",tuk:"tk","türkmen":"tk","түркмен":"tk",tagalog:"tl","wikang tagalog":"tl",tl:"tl",tgl:"tl",tswana:"tn",setswana:"tn",tn:"tn",tsn:"tn","tonga (tonga islands)":"to","faka tonga":"to",to:"to",ton:"to",turkish:"tr","türkçe":"tr",tr:"tr",tur:"tr",tsonga:"ts",xitsonga:"ts",ts:"ts",tso:"ts",tatar:"tt","татар теле, tatar tele":"tt",tt:"tt",tat:"tt","татар теле":"tt","tatar tele":"tt",twi:"tw",tw:"tw",tahitian:"ty","reo tahiti":"ty",ty:"ty",tah:"ty","uighur, uyghur":"ug","ئۇيغۇرچە‎, uyghurche":"ug",ug:"ug",uig:"ug","ئۇيغۇرچە‎":"ug",uyghurche:"ug",ukrainian:"uk","українська":"uk",uk:"uk",ukr:"uk",urdu:"ur","اردو":"ur",ur:"ur",urd:"ur",uzbek:"uz","oʻzbek, ўзбек, أۇزبېك‎":"uz",uz:"uz",uzb:"uz","uzb + 2":"uz","oʻzbek":"uz","ўзбек":"uz","أۇزبېك‎":"uz",venda:"ve","tshivenḓa":"ve",ve:"ve",ven:"ve",vietnamese:"vi","tiếng việt":"vi",vi:"vi",vie:"vi","volapük":"vo",vo:"vo",vol:"vo",walloon:"wa",walon:"wa",wa:"wa",wln:"wa",welsh:"cy",cymraeg:"cy",cy:"cy",cym:"cy",wel:"cy",wolof:"wo",wollof:"wo",wo:"wo",wol:"wo","western frisian":"fy",frysk:"fy",fy:"fy",fry:"fy",xhosa:"xh",isixhosa:"xh",xh:"xh",xho:"xh",yiddish:"yi","ייִדיש":"yi",yi:"yi",yid:"yi","yid + 2":"yi",yoruba:"yo","yorùbá":"yo",yo:"yo",yor:"yo","zhuang, chuang":"za","saɯ cueŋƅ, saw cuengh":"za",za:"za",zha:"za","zha + 16":"za","saɯ cueŋƅ":"za","saw cuengh":"za",zulu:"zu",isizulu:"zu",zu:"zu",zul:"zu"};function reduce(from){return reductions[from.toLowerCase()]}var reduceTo6391={reduce:reduce,reductions:reductions};class circular_buffer{constructor(uCapacity){if(!Number.isInteger(uCapacity)){throw new RangeError(`Capacity must be an integer, received ${uCapacity}`)}if(uCapacity<0){throw new RangeError(`Capacity must be a non-negative integer, received ${uCapacity}`)}this._values=new Array(uCapacity);this._capacity=uCapacity;this._cursor=0;this._offset=0;this._length=0}get capacity(){return this._capacity}set capacity(newSize){this.resize(newSize)}get length(){return this._length}set length(newLength){if(newLength>this._capacity){throw new RangeError(`Requested new length [${newLength}] exceeds container capacity [${this._capacity}]`)}if(newLength<0){throw new RangeError(`Requested new length [${newLength}] cannot be negative`)}if(!Number.isInteger(newLength)){throw new RangeError(`Requested new length [${newLength}] must be an integer`)}if(this._length<=newLength){return}this._length=newLength}get available(){return this._capacity-this._length}get isEmpty(){return this._length===0}get isFull(){return this._length===this._capacity}get first(){if(this.isEmpty){throw new RangeError("Cannot return first element of an empty container")}return this.at(0)}get last(){if(this.isEmpty){throw new RangeError("Cannot return last element of an empty container")}return this.at(this.length-1)}static from(i,map_fn,t){const new_array=map_fn?Array.from(i,map_fn,t):Array.from(i);const target_length=new_array.length;const ncb=new circular_buffer(target_length);ncb._values=new_array;ncb._length=target_length;return ncb}push(v){if(this.isFull){throw new RangeError(`Cannot push, structure is full to capacity`)}this._values[(this._cursor+this._length++)%this._capacity]=v;return v}shove(v){let shoved;if(this._capacity===0){throw new RangeError(`Cannot shove, structure is zero-capacity`)}if(this.isFull){shoved=this.pop()}this.push(v);return shoved}fill(x){for(let i=0;i=this._capacity){this._cursor-=this._capacity}return cache}at(i){if(i<0){throw new RangeError(`circular_buffer does not support negative traversals; called at(${i})`)}if(!Number.isInteger(i)){throw new RangeError(`Accessors must be non-negative integers; called at(${i})`)}if(i>=this._capacity){throw new RangeError(`Requested cell ${i} exceeds container permanent capacity`)}if(i>=this._length){throw new RangeError(`Requested cell ${i} exceeds container current length`)}return this._values[(this._cursor+i)%this._capacity]}pos(i){return this.at(i-this.offset())}offset(){return this._offset}resize(newSize,preferEnd=false){this._values=this.toArray();this._cursor=0;const oldSize=this._length;this._length=Math.min(this._length,newSize);this._capacity=newSize;if(newSize>=oldSize){this._values.length=newSize}else{if(preferEnd){const tmp=this._values.slice(oldSize-newSize);this._values=tmp}else{this._values.length=newSize}}}toArray(){const startPoint=this._cursor%this._capacity;if(this._capacity>startPoint+this._length){return this._values.slice(startPoint,startPoint+this._length)}else{const base=this._values.slice(startPoint,this._capacity);base.push(...this._values.slice(0,this.length-(this._capacity-startPoint)));return base}}}const array_box_if_string=n=>typeof n==="string"?[n]:n;const weighted_rand_select=(options,probability_property="probability")=>{if(!Array.isArray(options)){throw new TypeError("options must be a non-empty array of objects")}if(!(typeof options[0]==="object")){throw new TypeError("options must be a non-empty array of objects")}const frand=cap=>Math.random()*cap,or_one=item=>item===undefined?1:item,prob_sum=options.reduce(((acc,val)=>acc+or_one(val[probability_property])),0),rnd=frand(prob_sum);let cursor=0,cursor_sum=0;while((cursor_sum+=or_one(options[cursor++][probability_property]))<=rnd){}return options[cursor-1]};function seq(n){if(!Number.isInteger(n)){throw new TypeError("seq/1 takes a non-negative integer n as an argument")}if(n<0){throw new TypeError("seq/1 takes a non-negative integer n as an argument")}return new Array(n).fill(true).map(((_,i)=>i))}const histograph=ar=>ar.sort().reduce(((m,v)=>(m.set(v,m.has(v)?m.get(v)+1:1),m)),new Map);const weighted_sample_select=(n,options,probability_property)=>seq(n).map((_i=>weighted_rand_select(options,probability_property)));const weighted_histo_key=(n,opts,prob_prop,extract)=>histograph(weighted_sample_select(n,opts,prob_prop).map((s=>s[extract])));const hook_name=(from,to)=>JSON.stringify([from,to]);const named_hook_name=(from,to,action)=>JSON.stringify([from,to,action]);const gviz_shapes=["box3d","polygon","ellipse","oval","circle","point","egg","triangle","plaintext","plain","diamond","trapezium","parallelogram","house","pentagon","hexagon","septagon","octagon","doublecircle","doubleoctagon","tripleoctagon","invtriangle","invtrapezium","invhouse","Mdiamond","Msquare","Mcircle","rectangle","rect","square","star","none","underline","cylinder","note","tab","folder","box","component","promoter","cds","terminator","utr","primersite","restrictionsite","fivepoverhang","threepoverhang","noverhang","assembly","signature","insulator","ribosite","rnastab","proteasesite","proteinstab","rpromoter","rarrow","larrow","lpromoter","record"];const shapes=gviz_shapes;const named_colors=["AliceBlue","AntiqueWhite","Aqua","Aquamarine","Azure","Beige","Bisque","Black","BlanchedAlmond","Blue","BlueViolet","Brown","BurlyWood","CadetBlue","Chartreuse","Chocolate","Coral","CornflowerBlue","Cornsilk","Crimson","Cyan","DarkBlue","DarkCyan","DarkGoldenRod","DarkGray","DarkGrey","DarkGreen","DarkKhaki","DarkMagenta","DarkOliveGreen","Darkorange","DarkOrchid","DarkRed","DarkSalmon","DarkSeaGreen","DarkSlateBlue","DarkSlateGray","DarkSlateGrey","DarkTurquoise","DarkViolet","DeepPink","DeepSkyBlue","DimGray","DimGrey","DodgerBlue","FireBrick","FloralWhite","ForestGreen","Fuchsia","Gainsboro","GhostWhite","Gold","GoldenRod","Gray","Grey","Green","GreenYellow","HoneyDew","HotPink","IndianRed","Indigo","Ivory","Khaki","Lavender","LavenderBlush","LawnGreen","LemonChiffon","LightBlue","LightCoral","LightCyan","LightGoldenRodYellow","LightGray","LightGrey","LightGreen","LightPink","LightSalmon","LightSeaGreen","LightSkyBlue","LightSlateGray","LightSlateGrey","LightSteelBlue","LightYellow","Lime","LimeGreen","Linen","Magenta","Maroon","MediumAquaMarine","MediumBlue","MediumOrchid","MediumPurple","MediumSeaGreen","MediumSlateBlue","MediumSpringGreen","MediumTurquoise","MediumVioletRed","MidnightBlue","MintCream","MistyRose","Moccasin","NavajoWhite","Navy","OldLace","Olive","OliveDrab","Orange","OrangeRed","Orchid","PaleGoldenRod","PaleGreen","PaleTurquoise","PaleVioletRed","PapayaWhip","PeachPuff","Peru","Pink","Plum","PowderBlue","Purple","Red","RosyBrown","RoyalBlue","SaddleBrown","Salmon","SandyBrown","SeaGreen","SeaShell","Sienna","Silver","SkyBlue","SlateBlue","SlateGray","SlateGrey","Snow","SpringGreen","SteelBlue","Tan","Teal","Thistle","Tomato","Turquoise","Violet","Wheat","White","WhiteSmoke","Yellow","YellowGreen"];function peg$subclass(child,parent){function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor}function peg$SyntaxError(message,expected,found,location){this.message=message;this.expected=expected;this.found=found;this.location=location;this.name="SyntaxError";if(typeof Error.captureStackTrace==="function"){Error.captureStackTrace(this,peg$SyntaxError)}}peg$subclass(peg$SyntaxError,Error);peg$SyntaxError.buildMessage=function(expected,found){var DESCRIBE_EXPECTATION_FNS={literal:function(expectation){return'"'+literalEscape(expectation.text)+'"'},class:function(expectation){var escapedParts="",i;for(i=0;i0){for(i=1,j=1;i"),peg$c128="->",peg$c129=peg$literalExpectation("->",false),peg$c130="→",peg$c131=peg$literalExpectation("→",false),peg$c132=function(){return"->"},peg$c133=peg$otherExpectation("two way light arrow <->"),peg$c134="<->",peg$c135=peg$literalExpectation("<->",false),peg$c136="↔",peg$c137=peg$literalExpectation("↔",false),peg$c138=function(){return"<->"},peg$c139=peg$otherExpectation("back light arrow <-"),peg$c140="<-",peg$c141=peg$literalExpectation("<-",false),peg$c142="←",peg$c143=peg$literalExpectation("←",false),peg$c144=function(){return"<-"},peg$c145=peg$otherExpectation("forward fat arrow =>"),peg$c146="=>",peg$c147=peg$literalExpectation("=>",false),peg$c148="⇒",peg$c149=peg$literalExpectation("⇒",false),peg$c150=function(){return"=>"},peg$c151=peg$otherExpectation("two way fat arrow <=>"),peg$c152="<=>",peg$c153=peg$literalExpectation("<=>",false),peg$c154="⇔",peg$c155=peg$literalExpectation("⇔",false),peg$c156=function(){return"<=>"},peg$c157=peg$otherExpectation("back fat arrow <="),peg$c158="<=",peg$c159=peg$literalExpectation("<=",false),peg$c160="⇐",peg$c161=peg$literalExpectation("⇐",false),peg$c162=function(){return"<="},peg$c163=peg$otherExpectation("forward tilde arrow ~>"),peg$c164="~>",peg$c165=peg$literalExpectation("~>",false),peg$c166="↛",peg$c167=peg$literalExpectation("↛",false),peg$c168=function(){return"~>"},peg$c169=peg$otherExpectation("two way tilde arrow <~>"),peg$c170="<~>",peg$c171=peg$literalExpectation("<~>",false),peg$c172="↮",peg$c173=peg$literalExpectation("↮",false),peg$c174=function(){return"<~>"},peg$c175=peg$otherExpectation("back tilde arrow <~"),peg$c176="<~",peg$c177=peg$literalExpectation("<~",false),peg$c178="↚",peg$c179=peg$literalExpectation("↚",false),peg$c180=function(){return"<~"},peg$c181=peg$otherExpectation("light fat arrow <-=>"),peg$c182="<-=>",peg$c183=peg$literalExpectation("<-=>",false),peg$c184="←⇒",peg$c185=peg$literalExpectation("←⇒",false),peg$c186=function(){return"<-=>"},peg$c187=peg$otherExpectation("light tilde arrow <-~>"),peg$c188="<-~>",peg$c189=peg$literalExpectation("<-~>",false),peg$c190="←↛",peg$c191=peg$literalExpectation("←↛",false),peg$c192=function(){return"<-~>"},peg$c193=peg$otherExpectation("fat light arrow <=->"),peg$c194="<=->",peg$c195=peg$literalExpectation("<=->",false),peg$c196="⇐→",peg$c197=peg$literalExpectation("⇐→",false),peg$c198=function(){return"<=->"},peg$c199=peg$otherExpectation("fat tilde arrow <=~>"),peg$c200="<=~>",peg$c201=peg$literalExpectation("<=~>",false),peg$c202="⇐↛",peg$c203=peg$literalExpectation("⇐↛",false),peg$c204=function(){return"<=~>"},peg$c205=peg$otherExpectation("tilde light arrow <~->"),peg$c206="<~->",peg$c207=peg$literalExpectation("<~->",false),peg$c208="↚→",peg$c209=peg$literalExpectation("↚→",false),peg$c210=function(){return"<~->"},peg$c211=peg$otherExpectation("tilde fat arrow <~=>"),peg$c212="<~=>",peg$c213=peg$literalExpectation("<~=>",false),peg$c214="↚⇒",peg$c215=peg$literalExpectation("↚⇒",false),peg$c216=function(){return"<~=>"},peg$c217=peg$otherExpectation("light arrow"),peg$c218=peg$otherExpectation("fat arrow"),peg$c219=peg$otherExpectation("tilde arrow"),peg$c220=peg$otherExpectation("mixed arrow"),peg$c221=peg$otherExpectation("arrow"),peg$c222="true",peg$c223=peg$literalExpectation("true",false),peg$c225="false",peg$c226=peg$literalExpectation("false",false),peg$c228="regular",peg$c229=peg$literalExpectation("regular",false),peg$c230="rounded",peg$c231=peg$literalExpectation("rounded",false),peg$c232="lined",peg$c233=peg$literalExpectation("lined",false),peg$c234="solid",peg$c235=peg$literalExpectation("solid",false),peg$c236="dotted",peg$c237=peg$literalExpectation("dotted",false),peg$c238="dashed",peg$c239=peg$literalExpectation("dashed",false),peg$c240=/^[0-9a-fA-F]/,peg$c241=peg$classExpectation([["0","9"],["a","f"],["A","F"]],false,false),peg$c242='"',peg$c243=peg$literalExpectation('"',false),peg$c244="\\",peg$c245=peg$literalExpectation("\\",false),peg$c246="/",peg$c247=peg$literalExpectation("/",false),peg$c248="b",peg$c249=peg$literalExpectation("b",false),peg$c250=function(){return"\b"},peg$c251="f",peg$c252=peg$literalExpectation("f",false),peg$c253=function(){return"\f"},peg$c254="n",peg$c255=peg$literalExpectation("n",false),peg$c256=function(){return"\n"},peg$c257="r",peg$c258=peg$literalExpectation("r",false),peg$c259=function(){return"\r"},peg$c260="t",peg$c261=peg$literalExpectation("t",false),peg$c262=function(){return"\t"},peg$c263="v",peg$c264=peg$literalExpectation("v",false),peg$c265=function(){return"\v"},peg$c266="u",peg$c267=peg$literalExpectation("u",false),peg$c268=function(digits){return String.fromCharCode(parseInt(digits,16))},peg$c269=function(Sequence){return Sequence},peg$c270=/^[ -!#-[\]-\u10FFFF]/,peg$c271=peg$classExpectation([[" ","!"],["#","["],["]","ჿ"],"F","F"],false,false),peg$c272="'",peg$c273=peg$literalExpectation("'",false),peg$c274=/^[ -&(-[\]-\u10FFFF]/,peg$c275=peg$classExpectation([[" ","&"],["(","["],["]","ჿ"],"F","F"],false,false),peg$c276=peg$otherExpectation("action label"),peg$c277=function(chars){return chars.join("")},peg$c278=/^[\n\r\u2028\u2029]/,peg$c279=peg$classExpectation(["\n","\r","\u2028","\u2029"],false,false),peg$c282="*/",peg$c283=peg$literalExpectation("*/",false),peg$c284=peg$anyExpectation(),peg$c285=peg$otherExpectation("block comment"),peg$c286="/*",peg$c287=peg$literalExpectation("/*",false),peg$c288=peg$otherExpectation("line comment"),peg$c289="//",peg$c290=peg$literalExpectation("//",false),peg$c291=peg$otherExpectation("whitespace"),peg$c292=/^[ \t\r\n\x0B]/,peg$c293=peg$classExpectation([" ","\t","\r","\n","\v"],false,false),peg$c294=peg$otherExpectation("string"),peg$c295=/^[0-9a-zA-Z._!$\^*!?,\x80-\uFFFF]/,peg$c296=peg$classExpectation([["0","9"],["a","z"],["A","Z"],".","_","!","$","^","*","!","?",",",["€","￿"]],false,false),peg$c297=/^[0-9a-zA-Z.+=_\^()*&$#@!?,\x80-\uFFFF]/,peg$c298=peg$classExpectation([["0","9"],["a","z"],["A","Z"],".","+","=","_","^","(",")","*","&","$","#","@","!","?",",",["€","￿"]],false,false),peg$c299=peg$otherExpectation("atom"),peg$c300=function(firstletter,text){return firstletter+(text||[]).join("")},peg$c301=peg$otherExpectation("label"),peg$c302="0",peg$c303=peg$literalExpectation("0",false),peg$c304=/^[0-9]/,peg$c305=peg$classExpectation([["0","9"]],false,false),peg$c306=/^[1-9]/,peg$c307=peg$classExpectation([["1","9"]],false,false),peg$c308=peg$otherExpectation("nonneg number"),peg$c309=".",peg$c310=peg$literalExpectation(".",false),peg$c311=function(){return parseFloat(text())},peg$c312=function(major,minor,patch){return{major:parseInt(major,10),minor:parseInt(minor,10),patch:parseInt(patch,10),full:text()}},peg$c323="http://",peg$c324=peg$literalExpectation("http://",false),peg$c325="https://",peg$c326=peg$literalExpectation("https://",false),peg$c327=/^[a-zA-Z0-9!*'():;@&=+$,\/?#[\]_.~\-]/,peg$c328=peg$classExpectation([["a","z"],["A","Z"],["0","9"],"!","*","'","(",")",":",";","@","&","=","+","$",",","/","?","#","[","]","_",".","~","-"],false,false),peg$c329=function(protocol){return text()},peg$c330="aliceblue",peg$c331=peg$literalExpectation("aliceblue",false),peg$c332=function(){return"#f0f8ffff"},peg$c333="AliceBlue",peg$c334=peg$literalExpectation("AliceBlue",false),peg$c335="antiquewhite",peg$c336=peg$literalExpectation("antiquewhite",false),peg$c337=function(){return"#faebd7ff"},peg$c338="AntiqueWhite",peg$c339=peg$literalExpectation("AntiqueWhite",false),peg$c340="aquamarine",peg$c341=peg$literalExpectation("aquamarine",false),peg$c342=function(){return"#7fffd4ff"},peg$c343="Aquamarine",peg$c344=peg$literalExpectation("Aquamarine",false),peg$c345="aqua",peg$c346=peg$literalExpectation("aqua",false),peg$c347=function(){return"#00ffffff"},peg$c348="Aqua",peg$c349=peg$literalExpectation("Aqua",false),peg$c350="azure",peg$c351=peg$literalExpectation("azure",false),peg$c352=function(){return"#f0ffffff"},peg$c353="Azure",peg$c354=peg$literalExpectation("Azure",false),peg$c355="beige",peg$c356=peg$literalExpectation("beige",false),peg$c357=function(){return"#f5f5dcff"},peg$c358="Beige",peg$c359=peg$literalExpectation("Beige",false),peg$c360="bisque",peg$c361=peg$literalExpectation("bisque",false),peg$c362=function(){return"#ffe4c4ff"},peg$c363="Bisque",peg$c364=peg$literalExpectation("Bisque",false),peg$c365="black",peg$c366=peg$literalExpectation("black",false),peg$c367=function(){return"#000000ff"},peg$c368="Black",peg$c369=peg$literalExpectation("Black",false),peg$c370="blanchedalmond",peg$c371=peg$literalExpectation("blanchedalmond",false),peg$c372=function(){return"#ffebcdff"},peg$c373="BlanchedAlmond",peg$c374=peg$literalExpectation("BlanchedAlmond",false),peg$c375="blueviolet",peg$c376=peg$literalExpectation("blueviolet",false),peg$c377=function(){return"#8a2be2ff"},peg$c378="BlueViolet",peg$c379=peg$literalExpectation("BlueViolet",false),peg$c380="blue",peg$c381=peg$literalExpectation("blue",false),peg$c382=function(){return"#0000ffff"},peg$c383="Blue",peg$c384=peg$literalExpectation("Blue",false),peg$c385="brown",peg$c386=peg$literalExpectation("brown",false),peg$c387=function(){return"#a52a2aff"},peg$c388="Brown",peg$c389=peg$literalExpectation("Brown",false),peg$c390="burlywood",peg$c391=peg$literalExpectation("burlywood",false),peg$c392=function(){return"#deb887ff"},peg$c393="BurlyWood",peg$c394=peg$literalExpectation("BurlyWood",false),peg$c395="cadetblue",peg$c396=peg$literalExpectation("cadetblue",false),peg$c397=function(){return"#5f9ea0ff"},peg$c398="CadetBlue",peg$c399=peg$literalExpectation("CadetBlue",false),peg$c400="chartreuse",peg$c401=peg$literalExpectation("chartreuse",false),peg$c402=function(){return"#7fff00ff"},peg$c403="Chartreuse",peg$c404=peg$literalExpectation("Chartreuse",false),peg$c405="chocolate",peg$c406=peg$literalExpectation("chocolate",false),peg$c407=function(){return"#d2691eff"},peg$c408="Chocolate",peg$c409=peg$literalExpectation("Chocolate",false),peg$c410="coral",peg$c411=peg$literalExpectation("coral",false),peg$c412=function(){return"#ff7f50ff"},peg$c413="Coral",peg$c414=peg$literalExpectation("Coral",false),peg$c415="cornflowerblue",peg$c416=peg$literalExpectation("cornflowerblue",false),peg$c417=function(){return"#6495edff"},peg$c418="CornflowerBlue",peg$c419=peg$literalExpectation("CornflowerBlue",false),peg$c420="cornsilk",peg$c421=peg$literalExpectation("cornsilk",false),peg$c422=function(){return"#fff8dcff"},peg$c423="Cornsilk",peg$c424=peg$literalExpectation("Cornsilk",false),peg$c425="crimson",peg$c426=peg$literalExpectation("crimson",false),peg$c427=function(){return"#dc143cff"},peg$c428="Crimson",peg$c429=peg$literalExpectation("Crimson",false),peg$c430="cyan",peg$c431=peg$literalExpectation("cyan",false),peg$c432="Cyan",peg$c433=peg$literalExpectation("Cyan",false),peg$c434="darkblue",peg$c435=peg$literalExpectation("darkblue",false),peg$c436=function(){return"#00008bff"},peg$c437="DarkBlue",peg$c438=peg$literalExpectation("DarkBlue",false),peg$c439="darkcyan",peg$c440=peg$literalExpectation("darkcyan",false),peg$c441=function(){return"#008b8bff"},peg$c442="DarkCyan",peg$c443=peg$literalExpectation("DarkCyan",false),peg$c444="darkgoldenrod",peg$c445=peg$literalExpectation("darkgoldenrod",false),peg$c446=function(){return"#b8860bff"},peg$c447="DarkGoldenRod",peg$c448=peg$literalExpectation("DarkGoldenRod",false),peg$c449="darkgray",peg$c450=peg$literalExpectation("darkgray",false),peg$c451=function(){return"#a9a9a9ff"},peg$c452="DarkGray",peg$c453=peg$literalExpectation("DarkGray",false),peg$c454="darkgrey",peg$c455=peg$literalExpectation("darkgrey",false),peg$c456="DarkGrey",peg$c457=peg$literalExpectation("DarkGrey",false),peg$c458="darkgreen",peg$c459=peg$literalExpectation("darkgreen",false),peg$c460=function(){return"#006400ff"},peg$c461="DarkGreen",peg$c462=peg$literalExpectation("DarkGreen",false),peg$c463="darkkhaki",peg$c464=peg$literalExpectation("darkkhaki",false),peg$c465=function(){return"#bdb76bff"},peg$c466="DarkKhaki",peg$c467=peg$literalExpectation("DarkKhaki",false),peg$c468="darkmagenta",peg$c469=peg$literalExpectation("darkmagenta",false),peg$c470=function(){return"#8b008bff"},peg$c471="DarkMagenta",peg$c472=peg$literalExpectation("DarkMagenta",false),peg$c473="darkolivegreen",peg$c474=peg$literalExpectation("darkolivegreen",false),peg$c475=function(){return"#556b2fff"},peg$c476="DarkOliveGreen",peg$c477=peg$literalExpectation("DarkOliveGreen",false),peg$c478="darkorange",peg$c479=peg$literalExpectation("darkorange",false),peg$c480=function(){return"#ff8c00ff"},peg$c481="Darkorange",peg$c482=peg$literalExpectation("Darkorange",false),peg$c483="darkorchid",peg$c484=peg$literalExpectation("darkorchid",false),peg$c485=function(){return"#9932ccff"},peg$c486="DarkOrchid",peg$c487=peg$literalExpectation("DarkOrchid",false),peg$c488="darkred",peg$c489=peg$literalExpectation("darkred",false),peg$c490=function(){return"#8b0000ff"},peg$c491="DarkRed",peg$c492=peg$literalExpectation("DarkRed",false),peg$c493="darksalmon",peg$c494=peg$literalExpectation("darksalmon",false),peg$c495=function(){return"#e9967aff"},peg$c496="DarkSalmon",peg$c497=peg$literalExpectation("DarkSalmon",false),peg$c498="darkseagreen",peg$c499=peg$literalExpectation("darkseagreen",false),peg$c500=function(){return"#8fbc8fff"},peg$c501="DarkSeaGreen",peg$c502=peg$literalExpectation("DarkSeaGreen",false),peg$c503="darkslateblue",peg$c504=peg$literalExpectation("darkslateblue",false),peg$c505=function(){return"#483d8bff"},peg$c506="DarkSlateBlue",peg$c507=peg$literalExpectation("DarkSlateBlue",false),peg$c508="darkslategray",peg$c509=peg$literalExpectation("darkslategray",false),peg$c510=function(){return"#2f4f4fff"},peg$c511="DarkSlateGray",peg$c512=peg$literalExpectation("DarkSlateGray",false),peg$c513="darkslategrey",peg$c514=peg$literalExpectation("darkslategrey",false),peg$c515="DarkSlateGrey",peg$c516=peg$literalExpectation("DarkSlateGrey",false),peg$c517="darkturquoise",peg$c518=peg$literalExpectation("darkturquoise",false),peg$c519=function(){return"#00ced1ff"},peg$c520="DarkTurquoise",peg$c521=peg$literalExpectation("DarkTurquoise",false),peg$c522="darkviolet",peg$c523=peg$literalExpectation("darkviolet",false),peg$c524=function(){return"#9400d3ff"},peg$c525="DarkViolet",peg$c526=peg$literalExpectation("DarkViolet",false),peg$c527="deeppink",peg$c528=peg$literalExpectation("deeppink",false),peg$c529=function(){return"#ff1493ff"},peg$c530="DeepPink",peg$c531=peg$literalExpectation("DeepPink",false),peg$c532="deepskyblue",peg$c533=peg$literalExpectation("deepskyblue",false),peg$c534=function(){return"#00bfffff"},peg$c535="DeepSkyBlue",peg$c536=peg$literalExpectation("DeepSkyBlue",false),peg$c537="dimgray",peg$c538=peg$literalExpectation("dimgray",false),peg$c539=function(){return"#696969ff"},peg$c540="DimGray",peg$c541=peg$literalExpectation("DimGray",false),peg$c542="dimgrey",peg$c543=peg$literalExpectation("dimgrey",false),peg$c544="DimGrey",peg$c545=peg$literalExpectation("DimGrey",false),peg$c546="dodgerblue",peg$c547=peg$literalExpectation("dodgerblue",false),peg$c548=function(){return"#1e90ffff"},peg$c549="DodgerBlue",peg$c550=peg$literalExpectation("DodgerBlue",false),peg$c551="firebrick",peg$c552=peg$literalExpectation("firebrick",false),peg$c553=function(){return"#b22222ff"},peg$c554="FireBrick",peg$c555=peg$literalExpectation("FireBrick",false),peg$c556="floralwhite",peg$c557=peg$literalExpectation("floralwhite",false),peg$c558=function(){return"#fffaf0ff"},peg$c559="FloralWhite",peg$c560=peg$literalExpectation("FloralWhite",false),peg$c561="forestgreen",peg$c562=peg$literalExpectation("forestgreen",false),peg$c563=function(){return"#228b22ff"},peg$c564="ForestGreen",peg$c565=peg$literalExpectation("ForestGreen",false),peg$c566="fuchsia",peg$c567=peg$literalExpectation("fuchsia",false),peg$c568=function(){return"#ff00ffff"},peg$c569="Fuchsia",peg$c570=peg$literalExpectation("Fuchsia",false),peg$c571="gainsboro",peg$c572=peg$literalExpectation("gainsboro",false),peg$c573=function(){return"#dcdcdcff"},peg$c574="Gainsboro",peg$c575=peg$literalExpectation("Gainsboro",false),peg$c576="ghostwhite",peg$c577=peg$literalExpectation("ghostwhite",false),peg$c578=function(){return"#f8f8ffff"},peg$c579="GhostWhite",peg$c580=peg$literalExpectation("GhostWhite",false),peg$c581="goldenrod",peg$c582=peg$literalExpectation("goldenrod",false),peg$c583=function(){return"#daa520ff"},peg$c584="GoldenRod",peg$c585=peg$literalExpectation("GoldenRod",false),peg$c586="gold",peg$c587=peg$literalExpectation("gold",false),peg$c588=function(){return"#ffd700ff"},peg$c589="Gold",peg$c590=peg$literalExpectation("Gold",false),peg$c591="gray",peg$c592=peg$literalExpectation("gray",false),peg$c593=function(){return"#808080ff"},peg$c594="Gray",peg$c595=peg$literalExpectation("Gray",false),peg$c596="grey",peg$c597=peg$literalExpectation("grey",false),peg$c598="Grey",peg$c599=peg$literalExpectation("Grey",false),peg$c600="greenyellow",peg$c601=peg$literalExpectation("greenyellow",false),peg$c602=function(){return"#adff2fff"},peg$c603="GreenYellow",peg$c604=peg$literalExpectation("GreenYellow",false),peg$c605="green",peg$c606=peg$literalExpectation("green",false),peg$c607=function(){return"#008000ff"},peg$c608="Green",peg$c609=peg$literalExpectation("Green",false),peg$c610="honeydew",peg$c611=peg$literalExpectation("honeydew",false),peg$c612=function(){return"#f0fff0ff"},peg$c613="HoneyDew",peg$c614=peg$literalExpectation("HoneyDew",false),peg$c615="hotpink",peg$c616=peg$literalExpectation("hotpink",false),peg$c617=function(){return"#ff69b4ff"},peg$c618="HotPink",peg$c619=peg$literalExpectation("HotPink",false),peg$c620="indianred",peg$c621=peg$literalExpectation("indianred",false),peg$c622=function(){return"#cd5c5cff"},peg$c623="IndianRed",peg$c624=peg$literalExpectation("IndianRed",false),peg$c625="indigo",peg$c626=peg$literalExpectation("indigo",false),peg$c627=function(){return"#4b0082ff"},peg$c628="Indigo",peg$c629=peg$literalExpectation("Indigo",false),peg$c630="ivory",peg$c631=peg$literalExpectation("ivory",false),peg$c632=function(){return"#fffff0ff"},peg$c633="Ivory",peg$c634=peg$literalExpectation("Ivory",false),peg$c635="khaki",peg$c636=peg$literalExpectation("khaki",false),peg$c637=function(){return"#f0e68cff"},peg$c638="Khaki",peg$c639=peg$literalExpectation("Khaki",false),peg$c640="lavenderblush",peg$c641=peg$literalExpectation("lavenderblush",false),peg$c642=function(){return"#fff0f5ff"},peg$c643="LavenderBlush",peg$c644=peg$literalExpectation("LavenderBlush",false),peg$c645="lavender",peg$c646=peg$literalExpectation("lavender",false),peg$c647=function(){return"#e6e6faff"},peg$c648="Lavender",peg$c649=peg$literalExpectation("Lavender",false),peg$c650="lawngreen",peg$c651=peg$literalExpectation("lawngreen",false),peg$c652=function(){return"#7cfc00ff"},peg$c653="LawnGreen",peg$c654=peg$literalExpectation("LawnGreen",false),peg$c655="lemonchiffon",peg$c656=peg$literalExpectation("lemonchiffon",false),peg$c657=function(){return"#fffacdff"},peg$c658="LemonChiffon",peg$c659=peg$literalExpectation("LemonChiffon",false),peg$c660="lightblue",peg$c661=peg$literalExpectation("lightblue",false),peg$c662=function(){return"#add8e6ff"},peg$c663="LightBlue",peg$c664=peg$literalExpectation("LightBlue",false),peg$c665="lightcoral",peg$c666=peg$literalExpectation("lightcoral",false),peg$c667=function(){return"#f08080ff"},peg$c668="LightCoral",peg$c669=peg$literalExpectation("LightCoral",false),peg$c670="lightcyan",peg$c671=peg$literalExpectation("lightcyan",false),peg$c672=function(){return"#e0ffffff"},peg$c673="LightCyan",peg$c674=peg$literalExpectation("LightCyan",false),peg$c675="lightgoldenrodyellow",peg$c676=peg$literalExpectation("lightgoldenrodyellow",false),peg$c677=function(){return"#fafad2ff"},peg$c678="LightGoldenRodYellow",peg$c679=peg$literalExpectation("LightGoldenRodYellow",false),peg$c680="lightgray",peg$c681=peg$literalExpectation("lightgray",false),peg$c682=function(){return"#d3d3d3ff"},peg$c683="LightGray",peg$c684=peg$literalExpectation("LightGray",false),peg$c685="lightgrey",peg$c686=peg$literalExpectation("lightgrey",false),peg$c687="LightGrey",peg$c688=peg$literalExpectation("LightGrey",false),peg$c689="lightgreen",peg$c690=peg$literalExpectation("lightgreen",false),peg$c691=function(){return"#90ee90ff"},peg$c692="LightGreen",peg$c693=peg$literalExpectation("LightGreen",false),peg$c694="lightpink",peg$c695=peg$literalExpectation("lightpink",false),peg$c696=function(){return"#ffb6c1ff"},peg$c697="LightPink",peg$c698=peg$literalExpectation("LightPink",false),peg$c699="lightsalmon",peg$c700=peg$literalExpectation("lightsalmon",false),peg$c701=function(){return"#ffa07aff"},peg$c702="LightSalmon",peg$c703=peg$literalExpectation("LightSalmon",false),peg$c704="lightseagreen",peg$c705=peg$literalExpectation("lightseagreen",false),peg$c706=function(){return"#20b2aaff"},peg$c707="LightSeaGreen",peg$c708=peg$literalExpectation("LightSeaGreen",false),peg$c709="lightskyblue",peg$c710=peg$literalExpectation("lightskyblue",false),peg$c711=function(){return"#87cefaff"},peg$c712="LightSkyBlue",peg$c713=peg$literalExpectation("LightSkyBlue",false),peg$c714="lightslategray",peg$c715=peg$literalExpectation("lightslategray",false),peg$c716=function(){return"#778899ff"},peg$c717="LightSlateGray",peg$c718=peg$literalExpectation("LightSlateGray",false),peg$c719="lightslategrey",peg$c720=peg$literalExpectation("lightslategrey",false),peg$c721="LightSlateGrey",peg$c722=peg$literalExpectation("LightSlateGrey",false),peg$c723="lightsteelblue",peg$c724=peg$literalExpectation("lightsteelblue",false),peg$c725=function(){return"#b0c4deff"},peg$c726="LightSteelBlue",peg$c727=peg$literalExpectation("LightSteelBlue",false),peg$c728="lightyellow",peg$c729=peg$literalExpectation("lightyellow",false),peg$c730=function(){return"#ffffe0ff"},peg$c731="LightYellow",peg$c732=peg$literalExpectation("LightYellow",false),peg$c733="limegreen",peg$c734=peg$literalExpectation("limegreen",false),peg$c735=function(){return"#32cd32ff"},peg$c736="LimeGreen",peg$c737=peg$literalExpectation("LimeGreen",false),peg$c738="lime",peg$c739=peg$literalExpectation("lime",false),peg$c740=function(){return"#00ff00ff"},peg$c741="Lime",peg$c742=peg$literalExpectation("Lime",false),peg$c743="linen",peg$c744=peg$literalExpectation("linen",false),peg$c745=function(){return"#faf0e6ff"},peg$c746="Linen",peg$c747=peg$literalExpectation("Linen",false),peg$c748="magenta",peg$c749=peg$literalExpectation("magenta",false),peg$c750="Magenta",peg$c751=peg$literalExpectation("Magenta",false),peg$c752="maroon",peg$c753=peg$literalExpectation("maroon",false),peg$c754=function(){return"#800000ff"},peg$c755="Maroon",peg$c756=peg$literalExpectation("Maroon",false),peg$c757="mediumaquamarine",peg$c758=peg$literalExpectation("mediumaquamarine",false),peg$c759=function(){return"#66cdaaff"},peg$c760="MediumAquaMarine",peg$c761=peg$literalExpectation("MediumAquaMarine",false),peg$c762="mediumblue",peg$c763=peg$literalExpectation("mediumblue",false),peg$c764=function(){return"#0000cdff"},peg$c765="MediumBlue",peg$c766=peg$literalExpectation("MediumBlue",false),peg$c767="mediumorchid",peg$c768=peg$literalExpectation("mediumorchid",false),peg$c769=function(){return"#ba55d3ff"},peg$c770="MediumOrchid",peg$c771=peg$literalExpectation("MediumOrchid",false),peg$c772="mediumpurple",peg$c773=peg$literalExpectation("mediumpurple",false),peg$c774=function(){return"#9370d8ff"},peg$c775="MediumPurple",peg$c776=peg$literalExpectation("MediumPurple",false),peg$c777="mediumseagreen",peg$c778=peg$literalExpectation("mediumseagreen",false),peg$c779=function(){return"#3cb371ff"},peg$c780="MediumSeaGreen",peg$c781=peg$literalExpectation("MediumSeaGreen",false),peg$c782="mediumslateblue",peg$c783=peg$literalExpectation("mediumslateblue",false),peg$c784=function(){return"#7b68eeff"},peg$c785="MediumSlateBlue",peg$c786=peg$literalExpectation("MediumSlateBlue",false),peg$c787="mediumspringgreen",peg$c788=peg$literalExpectation("mediumspringgreen",false),peg$c789=function(){return"#00fa9aff"},peg$c790="MediumSpringGreen",peg$c791=peg$literalExpectation("MediumSpringGreen",false),peg$c792="mediumturquoise",peg$c793=peg$literalExpectation("mediumturquoise",false),peg$c794=function(){return"#48d1ccff"},peg$c795="MediumTurquoise",peg$c796=peg$literalExpectation("MediumTurquoise",false),peg$c797="mediumvioletred",peg$c798=peg$literalExpectation("mediumvioletred",false),peg$c799=function(){return"#c71585ff"},peg$c800="MediumVioletRed",peg$c801=peg$literalExpectation("MediumVioletRed",false),peg$c802="midnightblue",peg$c803=peg$literalExpectation("midnightblue",false),peg$c804=function(){return"#191970ff"},peg$c805="MidnightBlue",peg$c806=peg$literalExpectation("MidnightBlue",false),peg$c807="mintcream",peg$c808=peg$literalExpectation("mintcream",false),peg$c809=function(){return"#f5fffaff"},peg$c810="MintCream",peg$c811=peg$literalExpectation("MintCream",false),peg$c812="mistyrose",peg$c813=peg$literalExpectation("mistyrose",false),peg$c814=function(){return"#ffe4e1ff"},peg$c815="MistyRose",peg$c816=peg$literalExpectation("MistyRose",false),peg$c817="moccasin",peg$c818=peg$literalExpectation("moccasin",false),peg$c819=function(){return"#ffe4b5ff"},peg$c820="Moccasin",peg$c821=peg$literalExpectation("Moccasin",false),peg$c822="navajowhite",peg$c823=peg$literalExpectation("navajowhite",false),peg$c824=function(){return"#ffdeadff"},peg$c825="NavajoWhite",peg$c826=peg$literalExpectation("NavajoWhite",false),peg$c827="navy",peg$c828=peg$literalExpectation("navy",false),peg$c829=function(){return"#000080ff"},peg$c830="Navy",peg$c831=peg$literalExpectation("Navy",false),peg$c832="oldlace",peg$c833=peg$literalExpectation("oldlace",false),peg$c834=function(){return"#fdf5e6ff"},peg$c835="OldLace",peg$c836=peg$literalExpectation("OldLace",false),peg$c837="olivedrab",peg$c838=peg$literalExpectation("olivedrab",false),peg$c839=function(){return"#6b8e23ff"},peg$c840="OliveDrab",peg$c841=peg$literalExpectation("OliveDrab",false),peg$c842="olive",peg$c843=peg$literalExpectation("olive",false),peg$c844=function(){return"#808000ff"},peg$c845="Olive",peg$c846=peg$literalExpectation("Olive",false),peg$c847="orangered",peg$c848=peg$literalExpectation("orangered",false),peg$c849=function(){return"#ff4500ff"},peg$c850="OrangeRed",peg$c851=peg$literalExpectation("OrangeRed",false),peg$c852="orange",peg$c853=peg$literalExpectation("orange",false),peg$c854=function(){return"#ffa500ff"},peg$c855="Orange",peg$c856=peg$literalExpectation("Orange",false),peg$c857="orchid",peg$c858=peg$literalExpectation("orchid",false),peg$c859=function(){return"#da70d6ff"},peg$c860="Orchid",peg$c861=peg$literalExpectation("Orchid",false),peg$c862="palegoldenrod",peg$c863=peg$literalExpectation("palegoldenrod",false),peg$c864=function(){return"#eee8aaff"},peg$c865="PaleGoldenRod",peg$c866=peg$literalExpectation("PaleGoldenRod",false),peg$c867="palegreen",peg$c868=peg$literalExpectation("palegreen",false),peg$c869=function(){return"#98fb98ff"},peg$c870="PaleGreen",peg$c871=peg$literalExpectation("PaleGreen",false),peg$c872="paleturquoise",peg$c873=peg$literalExpectation("paleturquoise",false),peg$c874=function(){return"#afeeeeff"},peg$c875="PaleTurquoise",peg$c876=peg$literalExpectation("PaleTurquoise",false),peg$c877="palevioletred",peg$c878=peg$literalExpectation("palevioletred",false),peg$c879=function(){return"#d87093ff"},peg$c880="PaleVioletRed",peg$c881=peg$literalExpectation("PaleVioletRed",false),peg$c882="papayawhip",peg$c883=peg$literalExpectation("papayawhip",false),peg$c884=function(){return"#ffefd5ff"},peg$c885="PapayaWhip",peg$c886=peg$literalExpectation("PapayaWhip",false),peg$c887="peachpuff",peg$c888=peg$literalExpectation("peachpuff",false),peg$c889=function(){return"#ffdab9ff"},peg$c890="PeachPuff",peg$c891=peg$literalExpectation("PeachPuff",false),peg$c892="peru",peg$c893=peg$literalExpectation("peru",false),peg$c894=function(){return"#cd853fff"},peg$c895="Peru",peg$c896=peg$literalExpectation("Peru",false),peg$c897="pink",peg$c898=peg$literalExpectation("pink",false),peg$c899=function(){return"#ffc0cbff"},peg$c900="Pink",peg$c901=peg$literalExpectation("Pink",false),peg$c902="plum",peg$c903=peg$literalExpectation("plum",false),peg$c904=function(){return"#dda0ddff"},peg$c905="Plum",peg$c906=peg$literalExpectation("Plum",false),peg$c907="powderblue",peg$c908=peg$literalExpectation("powderblue",false),peg$c909=function(){return"#b0e0e6ff"},peg$c910="PowderBlue",peg$c911=peg$literalExpectation("PowderBlue",false),peg$c912="purple",peg$c913=peg$literalExpectation("purple",false),peg$c914=function(){return"#800080ff"},peg$c915="Purple",peg$c916=peg$literalExpectation("Purple",false),peg$c917="red",peg$c918=peg$literalExpectation("red",false),peg$c919=function(){return"#ff0000ff"},peg$c920="Red",peg$c921=peg$literalExpectation("Red",false),peg$c922="rosybrown",peg$c923=peg$literalExpectation("rosybrown",false),peg$c924=function(){return"#bc8f8fff"},peg$c925="RosyBrown",peg$c926=peg$literalExpectation("RosyBrown",false),peg$c927="royalblue",peg$c928=peg$literalExpectation("royalblue",false),peg$c929=function(){return"#4169e1ff"},peg$c930="RoyalBlue",peg$c931=peg$literalExpectation("RoyalBlue",false),peg$c932="saddlebrown",peg$c933=peg$literalExpectation("saddlebrown",false),peg$c934=function(){return"#8b4513ff"},peg$c935="SaddleBrown",peg$c936=peg$literalExpectation("SaddleBrown",false),peg$c937="salmon",peg$c938=peg$literalExpectation("salmon",false),peg$c939=function(){return"#fa8072ff"},peg$c940="Salmon",peg$c941=peg$literalExpectation("Salmon",false),peg$c942="sandybrown",peg$c943=peg$literalExpectation("sandybrown",false),peg$c944=function(){return"#f4a460ff"},peg$c945="SandyBrown",peg$c946=peg$literalExpectation("SandyBrown",false),peg$c947="seagreen",peg$c948=peg$literalExpectation("seagreen",false),peg$c949=function(){return"#2e8b57ff"},peg$c950="SeaGreen",peg$c951=peg$literalExpectation("SeaGreen",false),peg$c952="seashell",peg$c953=peg$literalExpectation("seashell",false),peg$c954=function(){return"#fff5eeff"},peg$c955="SeaShell",peg$c956=peg$literalExpectation("SeaShell",false),peg$c957="sienna",peg$c958=peg$literalExpectation("sienna",false),peg$c959=function(){return"#a0522dff"},peg$c960="Sienna",peg$c961=peg$literalExpectation("Sienna",false),peg$c962="silver",peg$c963=peg$literalExpectation("silver",false),peg$c964=function(){return"#c0c0c0ff"},peg$c965="Silver",peg$c966=peg$literalExpectation("Silver",false),peg$c967="skyblue",peg$c968=peg$literalExpectation("skyblue",false),peg$c969=function(){return"#87ceebff"},peg$c970="SkyBlue",peg$c971=peg$literalExpectation("SkyBlue",false),peg$c972="slateblue",peg$c973=peg$literalExpectation("slateblue",false),peg$c974=function(){return"#6a5acdff"},peg$c975="SlateBlue",peg$c976=peg$literalExpectation("SlateBlue",false),peg$c977="slategray",peg$c978=peg$literalExpectation("slategray",false),peg$c979=function(){return"#708090ff"},peg$c980="SlateGray",peg$c981=peg$literalExpectation("SlateGray",false),peg$c982="slategrey",peg$c983=peg$literalExpectation("slategrey",false),peg$c984="SlateGrey",peg$c985=peg$literalExpectation("SlateGrey",false),peg$c986="snow",peg$c987=peg$literalExpectation("snow",false),peg$c988=function(){return"#fffafaff"},peg$c989="Snow",peg$c990=peg$literalExpectation("Snow",false),peg$c991="springgreen",peg$c992=peg$literalExpectation("springgreen",false),peg$c993=function(){return"#00ff7fff"},peg$c994="SpringGreen",peg$c995=peg$literalExpectation("SpringGreen",false),peg$c996="steelblue",peg$c997=peg$literalExpectation("steelblue",false),peg$c998=function(){return"#4682b4ff"},peg$c999="SteelBlue",peg$c1000=peg$literalExpectation("SteelBlue",false),peg$c1001="tan",peg$c1002=peg$literalExpectation("tan",false),peg$c1003=function(){return"#d2b48cff"},peg$c1004="Tan",peg$c1005=peg$literalExpectation("Tan",false),peg$c1006="teal",peg$c1007=peg$literalExpectation("teal",false),peg$c1008=function(){return"#008080ff"},peg$c1009="Teal",peg$c1010=peg$literalExpectation("Teal",false),peg$c1011="thistle",peg$c1012=peg$literalExpectation("thistle",false),peg$c1013=function(){return"#d8bfd8ff"},peg$c1014="Thistle",peg$c1015=peg$literalExpectation("Thistle",false),peg$c1016="tomato",peg$c1017=peg$literalExpectation("tomato",false),peg$c1018=function(){return"#ff6347ff"},peg$c1019="Tomato",peg$c1020=peg$literalExpectation("Tomato",false),peg$c1021="turquoise",peg$c1022=peg$literalExpectation("turquoise",false),peg$c1023=function(){return"#40e0d0ff"},peg$c1024="Turquoise",peg$c1025=peg$literalExpectation("Turquoise",false),peg$c1026="violet",peg$c1027=peg$literalExpectation("violet",false),peg$c1028=function(){return"#ee82eeff"},peg$c1029="Violet",peg$c1030=peg$literalExpectation("Violet",false),peg$c1031="wheat",peg$c1032=peg$literalExpectation("wheat",false),peg$c1033=function(){return"#f5deb3ff"},peg$c1034="Wheat",peg$c1035=peg$literalExpectation("Wheat",false),peg$c1036="whitesmoke",peg$c1037=peg$literalExpectation("whitesmoke",false),peg$c1038=function(){return"#f5f5f5ff"},peg$c1039="WhiteSmoke",peg$c1040=peg$literalExpectation("WhiteSmoke",false),peg$c1041="white",peg$c1042=peg$literalExpectation("white",false),peg$c1043=function(){return"#ffffffff"},peg$c1044="White",peg$c1045=peg$literalExpectation("White",false),peg$c1046="yellowgreen",peg$c1047=peg$literalExpectation("yellowgreen",false),peg$c1048=function(){return"#9acd32ff"},peg$c1049="YellowGreen",peg$c1050=peg$literalExpectation("YellowGreen",false),peg$c1051="yellow",peg$c1052=peg$literalExpectation("yellow",false),peg$c1053=function(){return"#ffff00ff"},peg$c1054="Yellow",peg$c1055=peg$literalExpectation("Yellow",false),peg$c1056=function(lab){return lab},peg$c1057="#",peg$c1058=peg$literalExpectation("#",false),peg$c1059=function(r,g,b){return`#${r}${r}${g}${g}${b}${b}ff`},peg$c1060=function(r1,r2,g1,g2,b1,b2){return`#${r1}${r2}${g1}${g2}${b1}${b2}ff`},peg$c1061=function(r,g,b,a){return`#${r}${r}${g}${g}${b}${b}${a}${a}`},peg$c1062=function(r1,r2,g1,g2,b1,b2,a1,a2){return`#${r1}${r2}${g1}${g2}${b1}${b2}${a1}${a2}`},peg$c1063=peg$otherExpectation("color"),peg$c1064="arc_label",peg$c1065=peg$literalExpectation("arc_label",false),peg$c1066="head_label",peg$c1067=peg$literalExpectation("head_label",false),peg$c1068="tail_label",peg$c1069=peg$literalExpectation("tail_label",false),peg$c1070=":",peg$c1071=peg$literalExpectation(":",false),peg$c1072=";",peg$c1073=peg$literalExpectation(";",false),peg$c1074=function(key,value){return{key:key,value:value}},peg$c1075=peg$otherExpectation("single edge color"),peg$c1076="edge_color",peg$c1077=peg$literalExpectation("edge_color",false),peg$c1078=function(value){return{key:"single_edge_color",value:value}},peg$c1079=peg$otherExpectation("transition line style"),peg$c1080="linestyle",peg$c1081=peg$literalExpectation("linestyle",false),peg$c1082=function(value){return{key:"transition_line_style",value:value}},peg$c1083="{",peg$c1084=peg$literalExpectation("{",false),peg$c1085="}",peg$c1086=peg$literalExpectation("}",false),peg$c1087=function(items){return items},peg$c1088="%",peg$c1089=peg$literalExpectation("%",false),peg$c1090=function(value){return{key:"arrow probability",value:value}},peg$c1091="[",peg$c1092=peg$literalExpectation("[",false),peg$c1093="]",peg$c1094=peg$literalExpectation("]",false),peg$c1095=function(names){return names.map((i=>i[0]))},peg$c1096="+|",peg$c1097=peg$literalExpectation("+|",false),peg$c1098=function(nzd,dd){return{key:"stripe",value:parseInt(`${nzd}${dd}`,10)}},peg$c1099="-|",peg$c1100=peg$literalExpectation("-|",false),peg$c1101=function(nzd,dd){return{key:"stripe",value:-1*parseInt(`${nzd}${dd}`,10)}},peg$c1102="+",peg$c1103=peg$literalExpectation("+",false),peg$c1104=function(nzd,dd){return{key:"cycle",value:parseInt(`${nzd}${dd}`,10)}},peg$c1105="-",peg$c1106=peg$literalExpectation("-",false),peg$c1107=function(nzd,dd){return{key:"cycle",value:-1*parseInt(`${nzd}${dd}`,10)}},peg$c1108="+0",peg$c1109=peg$literalExpectation("+0",false),peg$c1110=function(){return{key:"cycle",value:0}},peg$c1111=function(r_action,r_prob,l_desc,arrow,r_desc,l_prob,l_action,label,tail){const base={kind:arrow,to:label};if(tail&&tail!==[]){base.se=tail}if(l_desc){base.l_desc=l_desc}if(r_desc){base.r_desc=r_desc}if(l_action){base.l_action=l_action}if(r_action){base.r_action=r_action}if(l_prob){base.l_probability=l_prob.value}if(r_prob){base.r_probability=r_prob.value}return base},peg$c1112=function(label,se){const base={key:"transition",from:label};if(se&&se!==[]){base.se=se}return base},peg$c1113="whargarbl",peg$c1114=peg$literalExpectation("whargarbl",false),peg$c1115="todo",peg$c1116=peg$literalExpectation("todo",false),peg$c1117=function(validationkey,value){return{key:validationkey,value:value}},peg$c1118="validation",peg$c1119=peg$literalExpectation("validation",false),peg$c1120="};",peg$c1121=peg$literalExpectation("};",false),peg$c1122=function(validation_items){return{config_kind:"validation",config_items:validation_items||[]}},peg$c1123="dot",peg$c1124=peg$literalExpectation("dot",false),peg$c1125="circo",peg$c1126=peg$literalExpectation("circo",false),peg$c1127="fdp",peg$c1128=peg$literalExpectation("fdp",false),peg$c1129="neato",peg$c1130=peg$literalExpectation("neato",false),peg$c1131="shape",peg$c1132=peg$literalExpectation("shape",false),peg$c1133=function(value){return{key:"shape",value:value}},peg$c1134="state",peg$c1135=peg$literalExpectation("state",false),peg$c1136=function(state_items){return{key:"state_config",value:{config_kind:"state",config_items:state_items||[]}}},peg$c1137="start_state",peg$c1138=peg$literalExpectation("start_state",false),peg$c1139=function(state_items){return{key:"state_config",value:{config_kind:"in_state",config_items:state_items||[]}}},peg$c1140="end_state",peg$c1141=peg$literalExpectation("end_state",false),peg$c1142=function(state_items){return{key:"state_config",value:{config_kind:"out_state",config_items:state_items||[]}}},peg$c1143=function(actionkey,value){return{key:actionkey,value:value}},peg$c1144="action",peg$c1145=peg$literalExpectation("action",false),peg$c1146=function(action_items){return{config_kind:"action",config_items:action_items||[]}},peg$c1147=function(transitionkey,value){return{key:transitionkey,value:value}},peg$c1148=peg$otherExpectation("graph default edge color"),peg$c1149=function(value){return{key:"graph_default_edge_color",value:value}},peg$c1150="transition",peg$c1151=peg$literalExpectation("transition",false),peg$c1152=function(transition_items){return{config_kind:"transition",config_items:transition_items||[]}},peg$c1153="graph_layout",peg$c1154=peg$literalExpectation("graph_layout",false),peg$c1155=function(value){return{key:"graph_layout",value:value}},peg$c1156="start_states",peg$c1157=peg$literalExpectation("start_states",false),peg$c1158=function(value){return{key:"start_states",value:value}},peg$c1159="end_states",peg$c1160=peg$literalExpectation("end_states",false),peg$c1161=function(value){return{key:"end_states",value:value}},peg$c1162="graph_bg_color",peg$c1163=peg$literalExpectation("graph_bg_color",false),peg$c1164=function(value){return{key:"graph_bg_color",value:value}},peg$c1165=peg$otherExpectation("configuration"),peg$c1166="MIT",peg$c1167=peg$literalExpectation("MIT",false),peg$c1168="BSD 2-clause",peg$c1169=peg$literalExpectation("BSD 2-clause",false),peg$c1170="BSD 3-clause",peg$c1171=peg$literalExpectation("BSD 3-clause",false),peg$c1172="Apache 2.0",peg$c1173=peg$literalExpectation("Apache 2.0",false),peg$c1174="Mozilla 2.0",peg$c1175=peg$literalExpectation("Mozilla 2.0",false),peg$c1176="Public domain",peg$c1177=peg$literalExpectation("Public domain",false),peg$c1178="GPL v2",peg$c1179=peg$literalExpectation("GPL v2",false),peg$c1180="GPL v3",peg$c1181=peg$literalExpectation("GPL v3",false),peg$c1182="LGPL v2.1",peg$c1183=peg$literalExpectation("LGPL v2.1",false),peg$c1184="LGPL v3.0",peg$c1185=peg$literalExpectation("LGPL v3.0",false),peg$c1186="Unknown",peg$c1187=peg$literalExpectation("Unknown",false),peg$c1188=peg$otherExpectation("direction"),peg$c1189="up",peg$c1190=peg$literalExpectation("up",false),peg$c1191="right",peg$c1192=peg$literalExpectation("right",false),peg$c1193="down",peg$c1194=peg$literalExpectation("down",false),peg$c1195="left",peg$c1196=peg$literalExpectation("left",false),peg$c1197=peg$otherExpectation("hook definition (open/closed)"),peg$c1198="open",peg$c1199=peg$literalExpectation("open",false),peg$c1200="closed",peg$c1201=peg$literalExpectation("closed",false),peg$c1202="machine_author",peg$c1203=peg$literalExpectation("machine_author",false),peg$c1204=function(value){return{key:"machine_author",value:value}},peg$c1205="machine_contributor",peg$c1206=peg$literalExpectation("machine_contributor",false),peg$c1207=function(value){return{key:"machine_contributor",value:value}},peg$c1208="machine_comment",peg$c1209=peg$literalExpectation("machine_comment",false),peg$c1210=function(value){return{key:"machine_comment",value:value}},peg$c1211="machine_definition",peg$c1212=peg$literalExpectation("machine_definition",false),peg$c1213=function(value){return{key:"machine_definition",value:value}},peg$c1214="machine_name",peg$c1215=peg$literalExpectation("machine_name",false),peg$c1216=function(value){return{key:"machine_name",value:value}},peg$c1220="machine_version",peg$c1221=peg$literalExpectation("machine_version",false),peg$c1222=function(value){return{key:"machine_version",value:value}},peg$c1223="machine_license",peg$c1224=peg$literalExpectation("machine_license",false),peg$c1225=function(value){return{key:"machine_license",value:value}},peg$c1226="machine_language",peg$c1227=peg$literalExpectation("machine_language",false),peg$c1228=function(value){return{key:"machine_language",value:value}},peg$c1229="fsl_version",peg$c1230=peg$literalExpectation("fsl_version",false),peg$c1231=function(value){return{key:"fsl_version",value:value}},peg$c1232="theme",peg$c1233=peg$literalExpectation("theme",false),peg$c1234=function(value){return{key:"theme",value:value}},peg$c1235="flow",peg$c1236=peg$literalExpectation("flow",false),peg$c1237=function(value){return{key:"flow",value:value}},peg$c1238="hooks",peg$c1239=peg$literalExpectation("hooks",false),peg$c1240=function(value){return{key:"hook_definition",value:value}},peg$c1241="dot_preamble",peg$c1242=peg$literalExpectation("dot_preamble",false),peg$c1243=function(value){return{key:"dot_preamble",value:value}},peg$c1244=peg$otherExpectation("machine attribute"),peg$c1245="color",peg$c1246=peg$literalExpectation("color",false),peg$c1247=function(value){return{key:"color",value:value}},peg$c1248=peg$otherExpectation("text color"),peg$c1249="text-color",peg$c1250=peg$literalExpectation("text-color",false),peg$c1251=function(value){return{key:"text-color",value:value}},peg$c1252=peg$otherExpectation("background color"),peg$c1253="background-color",peg$c1254=peg$literalExpectation("background-color",false),peg$c1255=function(value){return{key:"background-color",value:value}},peg$c1256=peg$otherExpectation("border color"),peg$c1257="border-color",peg$c1258=peg$literalExpectation("border-color",false),peg$c1259=function(value){return{key:"border-color",value:value}},peg$c1260=peg$otherExpectation("shape"),peg$c1261=function(value){return{key:"shape",value:value}},peg$c1262=peg$otherExpectation("corners"),peg$c1263="corners",peg$c1264=peg$literalExpectation("corners",false),peg$c1265=function(value){return{key:"corners",value:value}},peg$c1266=peg$otherExpectation("linestyle"),peg$c1267=function(value){return{key:"linestyle",value:value}},peg$c1268=function(name,value){return{key:"state_declaration",name:name,value:value}},peg$c1269="&",peg$c1270=peg$literalExpectation("&",false),peg$c1271=function(name,value){return{key:"named_list",name:name,value:value}},peg$c1272="null",peg$c1273=peg$literalExpectation("null",false),peg$c1274="undefined",peg$c1275=peg$literalExpectation("undefined",false),peg$c1276=function(){return parseFloat(text())},peg$c1277="Infinity",peg$c1278=peg$literalExpectation("Infinity",false),peg$c1279="NegInfinity",peg$c1280=peg$literalExpectation("NegInfinity",false),peg$c1281="NaN",peg$c1282=peg$literalExpectation("NaN",false),peg$c1283="MaxSafeInt",peg$c1284=peg$literalExpectation("MaxSafeInt",false),peg$c1285="MinSafeInt",peg$c1286=peg$literalExpectation("MinSafeInt",false),peg$c1287=function(chars){return chars.join("")},peg$c1288=function(char){return char},peg$c1289=function(sequence){return sequence},peg$c1290=function(){return"\b"},peg$c1291=function(){return"\f"},peg$c1292=function(){return"\n"},peg$c1293=function(){return"\r"},peg$c1294=function(){return"\t"},peg$c1295=function(){return"\v"},peg$c1296="property",peg$c1297=peg$literalExpectation("property",false),peg$c1298=function(name,default_value){return{key:"property_definition",name:name,default_value:default_value}},peg$c1299=function(name){return{key:"property_definition",name:name}},peg$c1300="arrange",peg$c1301=peg$literalExpectation("arrange",false),peg$c1302=function(value){return{key:"arrange_declaration",value:value}},peg$c1303="arrange-start",peg$c1304=peg$literalExpectation("arrange-start",false),peg$c1305=function(value){return{key:"arrange_start_declaration",value:value}},peg$c1306="arrange-end",peg$c1307=peg$literalExpectation("arrange-end",false),peg$c1308=function(value){return{key:"arrange_end_declaration",value:value}},peg$c1309=peg$otherExpectation("arrange declaration"),peg$currPos=0,peg$savedPos=0,peg$posDetailsCache=[{line:1,column:1}],peg$maxFailPos=0,peg$maxFailExpected=[],peg$silentFails=0,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 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],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(ppeg$maxFailPos){peg$maxFailPos=peg$currPos;peg$maxFailExpected=[]}peg$maxFailExpected.push(expected)}function peg$buildStructuredError(expected,found,location){return new peg$SyntaxError(peg$SyntaxError.buildMessage(expected,found),expected,found,location)}function peg$parseDocument(){var s0,s1,s2,s3;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){s2=peg$parseTermList();if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c0(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseTheme(){var s0;if(input.substr(peg$currPos,4)===peg$c1){s0=peg$c1;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c2)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c3){s0=peg$c3;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c4)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c5){s0=peg$c5;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c6)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c7){s0=peg$c7;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c8)}}}}}return s0}function peg$parseGvizShape(){var s0;if(input.substr(peg$currPos,5)===peg$c9){s0=peg$c9;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c10)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c11){s0=peg$c11;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c12)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c13){s0=peg$c13;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c14)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c15){s0=peg$c15;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c16)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c17){s0=peg$c17;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c18)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c19){s0=peg$c19;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c20)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c21){s0=peg$c21;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c22)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c23){s0=peg$c23;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c24)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c25){s0=peg$c25;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c26)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c27){s0=peg$c27;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c28)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c29){s0=peg$c29;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c30)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c31){s0=peg$c31;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c32)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,13)===peg$c33){s0=peg$c33;peg$currPos+=13}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c34)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c35){s0=peg$c35;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c36)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c37){s0=peg$c37;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c38)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c39){s0=peg$c39;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c40)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c41){s0=peg$c41;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c42)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c43){s0=peg$c43;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c44)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,12)===peg$c45){s0=peg$c45;peg$currPos+=12}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c46)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,13)===peg$c47){s0=peg$c47;peg$currPos+=13}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c48)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,13)===peg$c49){s0=peg$c49;peg$currPos+=13}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c50)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,11)===peg$c51){s0=peg$c51;peg$currPos+=11}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c52)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,12)===peg$c53){s0=peg$c53;peg$currPos+=12}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c54)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c55){s0=peg$c55;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c56)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c57){s0=peg$c57;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c58)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c59){s0=peg$c59;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c60)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c61){s0=peg$c61;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c62)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c63){s0=peg$c63;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c64)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c65){s0=peg$c65;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c66)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c67){s0=peg$c67;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c68)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c69){s0=peg$c69;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c70)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1){s0=peg$c1;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c2)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c71){s0=peg$c71;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c72)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c73){s0=peg$c73;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c74)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c75){s0=peg$c75;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c76)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c77){s0=peg$c77;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c78)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c79){s0=peg$c79;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c80)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c81){s0=peg$c81;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c82)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c83){s0=peg$c83;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c84)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c85){s0=peg$c85;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c86)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c87){s0=peg$c87;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c88)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c89){s0=peg$c89;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c90)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c91){s0=peg$c91;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c92)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c93){s0=peg$c93;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c94)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,15)===peg$c95){s0=peg$c95;peg$currPos+=15}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c96)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,13)===peg$c97){s0=peg$c97;peg$currPos+=13}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c98)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,14)===peg$c99){s0=peg$c99;peg$currPos+=14}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c100)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c101){s0=peg$c101;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c102)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c103){s0=peg$c103;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c104)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c105){s0=peg$c105;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c106)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c107){s0=peg$c107;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c108)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c109){s0=peg$c109;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c110)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c111){s0=peg$c111;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c112)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,12)===peg$c113){s0=peg$c113;peg$currPos+=12}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c114)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,11)===peg$c115){s0=peg$c115;peg$currPos+=11}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c116)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c117){s0=peg$c117;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c118)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c119){s0=peg$c119;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c120)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c121){s0=peg$c121;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c122)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c123){s0=peg$c123;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c124)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c125){s0=peg$c125;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c126)}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}return s0}function peg$parseForwardLightArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c128){s0=peg$c128;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c129)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8594){s1=peg$c130;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c131)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c132()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c127)}}return s0}function peg$parseTwoWayLightArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,3)===peg$c134){s0=peg$c134;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c135)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8596){s1=peg$c136;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c137)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c138()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c133)}}return s0}function peg$parseBackLightArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c140){s0=peg$c140;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c141)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8592){s1=peg$c142;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c143)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c144()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c139)}}return s0}function peg$parseForwardFatArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c146){s0=peg$c146;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c147)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8658){s1=peg$c148;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c149)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c150()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c145)}}return s0}function peg$parseTwoWayFatArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,3)===peg$c152){s0=peg$c152;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c153)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8660){s1=peg$c154;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c155)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c156()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c151)}}return s0}function peg$parseBackFatArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c158){s0=peg$c158;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c159)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8656){s1=peg$c160;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c161)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c162()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c157)}}return s0}function peg$parseForwardTildeArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c164){s0=peg$c164;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c165)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8603){s1=peg$c166;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c167)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c168()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c163)}}return s0}function peg$parseTwoWayTildeArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,3)===peg$c170){s0=peg$c170;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c171)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8622){s1=peg$c172;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c173)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c174()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c169)}}return s0}function peg$parseBackTildeArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c176){s0=peg$c176;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c177)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8602){s1=peg$c178;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c179)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c180()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c175)}}return s0}function peg$parseLightFatArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c182){s0=peg$c182;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c183)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c184){s1=peg$c184;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c185)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c186()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c181)}}return s0}function peg$parseLightTildeArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c188){s0=peg$c188;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c189)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c190){s1=peg$c190;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c191)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c192()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c187)}}return s0}function peg$parseFatLightArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c194){s0=peg$c194;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c195)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c196){s1=peg$c196;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c197)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c198()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c193)}}return s0}function peg$parseFatTildeArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c200){s0=peg$c200;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c201)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c202){s1=peg$c202;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c203)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c204()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c199)}}return s0}function peg$parseTildeLightArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c206){s0=peg$c206;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c207)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c208){s1=peg$c208;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c209)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c210()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c205)}}return s0}function peg$parseTildeFatArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c212){s0=peg$c212;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c213)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c214){s1=peg$c214;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c215)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c216()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c211)}}return s0}function peg$parseLightArrow(){var s0;peg$silentFails++;s0=peg$parseForwardLightArrow();if(s0===peg$FAILED){s0=peg$parseTwoWayLightArrow();if(s0===peg$FAILED){s0=peg$parseBackLightArrow()}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c217)}}return s0}function peg$parseFatArrow(){var s0;peg$silentFails++;s0=peg$parseForwardFatArrow();if(s0===peg$FAILED){s0=peg$parseTwoWayFatArrow();if(s0===peg$FAILED){s0=peg$parseBackFatArrow()}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c218)}}return s0}function peg$parseTildeArrow(){var s0;peg$silentFails++;s0=peg$parseForwardTildeArrow();if(s0===peg$FAILED){s0=peg$parseTwoWayTildeArrow();if(s0===peg$FAILED){s0=peg$parseBackTildeArrow()}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c219)}}return s0}function peg$parseMixedArrow(){var s0;peg$silentFails++;s0=peg$parseLightFatArrow();if(s0===peg$FAILED){s0=peg$parseLightTildeArrow();if(s0===peg$FAILED){s0=peg$parseFatLightArrow();if(s0===peg$FAILED){s0=peg$parseFatTildeArrow();if(s0===peg$FAILED){s0=peg$parseTildeLightArrow();if(s0===peg$FAILED){s0=peg$parseTildeFatArrow()}}}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c220)}}return s0}function peg$parseArrow(){var s0;peg$silentFails++;s0=peg$parseMixedArrow();if(s0===peg$FAILED){s0=peg$parseLightArrow();if(s0===peg$FAILED){s0=peg$parseFatArrow();if(s0===peg$FAILED){s0=peg$parseTildeArrow()}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c221)}}return s0}function peg$parseCorners(){var s0;if(input.substr(peg$currPos,7)===peg$c228){s0=peg$c228;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c229)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c230){s0=peg$c230;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c231)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c232){s0=peg$c232;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c233)}}}}return s0}function peg$parseLineStyle(){var s0;if(input.substr(peg$currPos,5)===peg$c234){s0=peg$c234;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c235)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c236){s0=peg$c236;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c237)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c238){s0=peg$c238;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c239)}}}}return s0}function peg$parseHexDigit(){var s0;if(peg$c240.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c241)}}return s0}function peg$parseChar(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$parseUnescaped();if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseEscape();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===34){s2=peg$c242;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c243)}}if(s2===peg$FAILED){if(input.charCodeAt(peg$currPos)===92){s2=peg$c244;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c245)}}if(s2===peg$FAILED){if(input.charCodeAt(peg$currPos)===47){s2=peg$c246;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c247)}}if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===98){s3=peg$c248;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c249)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c250()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===102){s3=peg$c251;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c252)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c253()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===110){s3=peg$c254;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c255)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c256()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===114){s3=peg$c257;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c258)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c259()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===116){s3=peg$c260;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c261)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c262()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===118){s3=peg$c263;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c264)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c265()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===117){s3=peg$c266;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c267)}}if(s3!==peg$FAILED){s4=peg$currPos;s5=peg$currPos;s6=peg$parseHexDigit();if(s6!==peg$FAILED){s7=peg$parseHexDigit();if(s7!==peg$FAILED){s8=peg$parseHexDigit();if(s8!==peg$FAILED){s9=peg$parseHexDigit();if(s9!==peg$FAILED){s6=[s6,s7,s8,s9];s5=s6}else{peg$currPos=s5;s5=peg$FAILED}}else{peg$currPos=s5;s5=peg$FAILED}}else{peg$currPos=s5;s5=peg$FAILED}}else{peg$currPos=s5;s5=peg$FAILED}if(s5!==peg$FAILED){s4=input.substring(s4,peg$currPos)}else{s4=s5}if(s4!==peg$FAILED){peg$savedPos=s2;s3=peg$c268(s4);s2=s3}else{peg$currPos=s2;s2=peg$FAILED}}else{peg$currPos=s2;s2=peg$FAILED}}}}}}}}}}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c269(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseEscape(){var s0;if(input.charCodeAt(peg$currPos)===92){s0=peg$c244;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c245)}}return s0}function peg$parseQuoteMark(){var s0;if(input.charCodeAt(peg$currPos)===34){s0=peg$c242;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c243)}}return s0}function peg$parseUnescaped(){var s0;if(peg$c270.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c271)}}return s0}function peg$parseActionLabelChar(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$parseActionLabelUnescaped();if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseEscape();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===39){s2=peg$c272;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c273)}}if(s2===peg$FAILED){if(input.charCodeAt(peg$currPos)===92){s2=peg$c244;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c245)}}if(s2===peg$FAILED){if(input.charCodeAt(peg$currPos)===47){s2=peg$c246;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c247)}}if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===98){s3=peg$c248;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c249)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c250()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===102){s3=peg$c251;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c252)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c253()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===110){s3=peg$c254;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c255)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c256()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===114){s3=peg$c257;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c258)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c259()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===116){s3=peg$c260;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c261)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c262()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===118){s3=peg$c263;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c264)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c265()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===117){s3=peg$c266;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c267)}}if(s3!==peg$FAILED){s4=peg$currPos;s5=peg$currPos;s6=peg$parseHexDigit();if(s6!==peg$FAILED){s7=peg$parseHexDigit();if(s7!==peg$FAILED){s8=peg$parseHexDigit();if(s8!==peg$FAILED){s9=peg$parseHexDigit();if(s9!==peg$FAILED){s6=[s6,s7,s8,s9];s5=s6}else{peg$currPos=s5;s5=peg$FAILED}}else{peg$currPos=s5;s5=peg$FAILED}}else{peg$currPos=s5;s5=peg$FAILED}}else{peg$currPos=s5;s5=peg$FAILED}if(s5!==peg$FAILED){s4=input.substring(s4,peg$currPos)}else{s4=s5}if(s4!==peg$FAILED){peg$savedPos=s2;s3=peg$c268(s4);s2=s3}else{peg$currPos=s2;s2=peg$FAILED}}else{peg$currPos=s2;s2=peg$FAILED}}}}}}}}}}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c269(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseActionLabelQuoteMark(){var s0;if(input.charCodeAt(peg$currPos)===39){s0=peg$c272;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c273)}}return s0}function peg$parseActionLabelUnescaped(){var s0;if(peg$c274.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c275)}}return s0}function peg$parseActionLabel(){var s0,s1,s2,s3;peg$silentFails++;s0=peg$currPos;s1=peg$parseActionLabelQuoteMark();if(s1!==peg$FAILED){s2=[];s3=peg$parseActionLabelChar();while(s3!==peg$FAILED){s2.push(s3);s3=peg$parseActionLabelChar()}if(s2!==peg$FAILED){s3=peg$parseActionLabelQuoteMark();if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c277(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c276)}}return s0}function peg$parseLineTerminator(){var s0;if(peg$c278.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c279)}}return s0}function peg$parseBlockCommentTail(){var s0,s1,s2;if(input.substr(peg$currPos,2)===peg$c282){s0=peg$c282;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c283)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.length>peg$currPos){s1=input.charAt(peg$currPos);peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c284)}}if(s1!==peg$FAILED){s2=peg$parseBlockCommentTail();if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseBlockComment(){var s0,s1,s2;peg$silentFails++;s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c286){s1=peg$c286;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c287)}}if(s1!==peg$FAILED){s2=peg$parseBlockCommentTail();if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c285)}}return s0}function peg$parseEOF(){var s0,s1;s0=peg$currPos;peg$silentFails++;if(input.length>peg$currPos){s1=input.charAt(peg$currPos);peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c284)}}peg$silentFails--;if(s1===peg$FAILED){s0=void 0}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseLineCommentTail(){var s0,s1,s2;s0=peg$parseLineTerminator();if(s0===peg$FAILED){s0=peg$parseEOF();if(s0===peg$FAILED){s0=peg$currPos;if(input.length>peg$currPos){s1=input.charAt(peg$currPos);peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c284)}}if(s1!==peg$FAILED){s2=peg$parseLineCommentTail();if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}}return s0}function peg$parseLineComment(){var s0,s1,s2;peg$silentFails++;s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c289){s1=peg$c289;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c290)}}if(s1!==peg$FAILED){s2=peg$parseLineCommentTail();if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c288)}}return s0}function peg$parseWS(){var s0,s1,s2;peg$silentFails++;s0=peg$currPos;s1=peg$parseBlockComment();if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseLineComment();if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;s1=[];if(peg$c292.test(input.charAt(peg$currPos))){s2=input.charAt(peg$currPos);peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c293)}}if(s2!==peg$FAILED){while(s2!==peg$FAILED){s1.push(s2);if(peg$c292.test(input.charAt(peg$currPos))){s2=input.charAt(peg$currPos);peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c293)}}}}else{s1=peg$FAILED}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c291)}}return s0}function peg$parseString(){var s0,s1,s2,s3;peg$silentFails++;s0=peg$currPos;s1=peg$parseQuoteMark();if(s1!==peg$FAILED){s2=[];s3=peg$parseChar();while(s3!==peg$FAILED){s2.push(s3);s3=peg$parseChar()}if(s2!==peg$FAILED){s3=peg$parseQuoteMark();if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c277(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c294)}}return s0}function peg$parseAtomFirstLetter(){var s0;if(peg$c295.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c296)}}return s0}function peg$parseAtomLetter(){var s0;if(peg$c297.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c298)}}return s0}function peg$parseAtom(){var s0,s1,s2,s3;peg$silentFails++;s0=peg$currPos;s1=peg$parseAtomFirstLetter();if(s1!==peg$FAILED){s2=[];s3=peg$parseAtomLetter();while(s3!==peg$FAILED){s2.push(s3);s3=peg$parseAtomLetter()}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c300(s1,s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c299)}}return s0}function peg$parseLabel(){var s0;peg$silentFails++;s0=peg$parseAtom();if(s0===peg$FAILED){s0=peg$parseString()}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c301)}}return s0}function peg$parseIntegerLiteral(){var s0,s1,s2,s3;if(input.charCodeAt(peg$currPos)===48){s0=peg$c302;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c303)}}if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseNonZeroDigit();if(s1!==peg$FAILED){s2=[];s3=peg$parseDecimalDigit();while(s3!==peg$FAILED){s2.push(s3);s3=peg$parseDecimalDigit()}if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseDecimalDigit(){var s0;if(peg$c304.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c305)}}return s0}function peg$parseNonZeroDigit(){var s0;if(peg$c306.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c307)}}return s0}function peg$parseNonNegNumber(){var s0,s1,s2,s3,s4;peg$silentFails++;s0=peg$currPos;s1=peg$parseIntegerLiteral();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===46){s2=peg$c309;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c310)}}if(s2!==peg$FAILED){s3=[];s4=peg$parseDecimalDigit();while(s4!==peg$FAILED){s3.push(s4);s4=peg$parseDecimalDigit()}if(s3!==peg$FAILED){s4=peg$parseWS();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){peg$savedPos=s0;s1=peg$c311();s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseIntegerLiteral();if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c311();s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c308)}}return s0}function peg$parseSemVer(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;s1=peg$parseIntegerLiteral();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===46){s2=peg$c309;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c310)}}if(s2!==peg$FAILED){s3=peg$parseIntegerLiteral();if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===46){s4=peg$c309;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c310)}}if(s4!==peg$FAILED){s5=peg$parseIntegerLiteral();if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c312(s1,s3,s5);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseUrlProtocol(){var s0;if(input.substr(peg$currPos,7)===peg$c323){s0=peg$c323;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c324)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c325){s0=peg$c325;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c326)}}}return s0}function peg$parseURL(){var s0,s1,s2,s3;s0=peg$currPos;s1=peg$parseUrlProtocol();if(s1!==peg$FAILED){s2=[];if(peg$c327.test(input.charAt(peg$currPos))){s3=input.charAt(peg$currPos);peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c328)}}if(s3!==peg$FAILED){while(s3!==peg$FAILED){s2.push(s3);if(peg$c327.test(input.charAt(peg$currPos))){s3=input.charAt(peg$currPos);peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c328)}}}}else{s2=peg$FAILED}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c329();s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseSvgColorLabel(){var s0,s1;s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c330){s1=peg$c330;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c331)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c332()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c333){s1=peg$c333;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c334)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c332()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c335){s1=peg$c335;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c336)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c337()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c338){s1=peg$c338;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c339)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c337()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c340){s1=peg$c340;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c341)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c342()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c343){s1=peg$c343;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c344)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c342()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c345){s1=peg$c345;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c346)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c347()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c348){s1=peg$c348;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c349)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c347()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c350){s1=peg$c350;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c351)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c352()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c353){s1=peg$c353;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c354)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c352()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c355){s1=peg$c355;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c356)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c357()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c358){s1=peg$c358;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c359)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c357()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c360){s1=peg$c360;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c361)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c362()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c363){s1=peg$c363;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c364)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c362()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c365){s1=peg$c365;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c366)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c367()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c368){s1=peg$c368;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c369)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c367()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c370){s1=peg$c370;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c371)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c372()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c373){s1=peg$c373;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c374)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c372()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c375){s1=peg$c375;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c376)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c377()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c378){s1=peg$c378;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c379)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c377()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c380){s1=peg$c380;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c381)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c382()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c383){s1=peg$c383;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c384)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c382()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c385){s1=peg$c385;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c386)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c387()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c388){s1=peg$c388;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c389)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c387()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c390){s1=peg$c390;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c391)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c392()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c393){s1=peg$c393;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c394)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c392()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c395){s1=peg$c395;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c396)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c397()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c398){s1=peg$c398;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c399)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c397()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c400){s1=peg$c400;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c401)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c402()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c403){s1=peg$c403;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c404)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c402()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c405){s1=peg$c405;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c406)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c407()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c408){s1=peg$c408;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c409)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c407()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c410){s1=peg$c410;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c411)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c412()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c413){s1=peg$c413;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c414)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c412()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c415){s1=peg$c415;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c416)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c417()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c418){s1=peg$c418;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c419)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c417()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c420){s1=peg$c420;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c421)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c422()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c423){s1=peg$c423;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c424)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c422()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c425){s1=peg$c425;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c426)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c427()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c428){s1=peg$c428;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c429)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c427()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c430){s1=peg$c430;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c431)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c347()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c432){s1=peg$c432;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c433)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c347()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c434){s1=peg$c434;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c435)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c436()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c437){s1=peg$c437;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c438)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c436()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c439){s1=peg$c439;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c440)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c441()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c442){s1=peg$c442;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c443)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c441()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c444){s1=peg$c444;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c445)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c446()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c447){s1=peg$c447;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c448)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c446()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c449){s1=peg$c449;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c450)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c451()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c452){s1=peg$c452;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c453)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c451()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c454){s1=peg$c454;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c455)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c451()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c456){s1=peg$c456;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c457)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c451()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c458){s1=peg$c458;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c459)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c460()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c461){s1=peg$c461;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c462)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c460()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c463){s1=peg$c463;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c464)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c465()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c466){s1=peg$c466;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c467)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c465()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c468){s1=peg$c468;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c469)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c470()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c471){s1=peg$c471;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c472)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c470()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c473){s1=peg$c473;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c474)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c475()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c476){s1=peg$c476;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c477)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c475()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c478){s1=peg$c478;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c479)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c480()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c481){s1=peg$c481;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c482)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c480()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c483){s1=peg$c483;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c484)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c485()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c486){s1=peg$c486;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c487)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c485()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c488){s1=peg$c488;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c489)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c490()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c491){s1=peg$c491;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c492)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c490()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c493){s1=peg$c493;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c494)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c495()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c496){s1=peg$c496;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c497)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c495()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c498){s1=peg$c498;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c499)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c500()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c501){s1=peg$c501;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c502)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c500()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c503){s1=peg$c503;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c504)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c505()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c506){s1=peg$c506;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c507)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c505()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c508){s1=peg$c508;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c509)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c510()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c511){s1=peg$c511;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c512)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c510()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c513){s1=peg$c513;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c514)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c510()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c515){s1=peg$c515;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c516)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c510()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c517){s1=peg$c517;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c518)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c519()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c520){s1=peg$c520;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c521)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c519()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c522){s1=peg$c522;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c523)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c524()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c525){s1=peg$c525;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c526)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c524()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c527){s1=peg$c527;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c528)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c529()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c530){s1=peg$c530;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c531)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c529()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c532){s1=peg$c532;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c533)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c534()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c535){s1=peg$c535;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c536)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c534()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c537){s1=peg$c537;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c538)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c539()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c540){s1=peg$c540;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c541)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c539()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c542){s1=peg$c542;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c543)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c539()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c544){s1=peg$c544;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c545)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c539()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c546){s1=peg$c546;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c547)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c548()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c549){s1=peg$c549;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c550)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c548()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c551){s1=peg$c551;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c552)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c553()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c554){s1=peg$c554;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c555)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c553()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c556){s1=peg$c556;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c557)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c558()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c559){s1=peg$c559;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c560)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c558()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c561){s1=peg$c561;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c562)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c563()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c564){s1=peg$c564;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c565)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c563()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c566){s1=peg$c566;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c567)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c568()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c569){s1=peg$c569;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c570)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c568()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c571){s1=peg$c571;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c572)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c573()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c574){s1=peg$c574;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c575)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c573()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c576){s1=peg$c576;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c577)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c578()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c579){s1=peg$c579;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c580)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c578()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c581){s1=peg$c581;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c582)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c583()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c584){s1=peg$c584;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c585)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c583()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c586){s1=peg$c586;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c587)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c588()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c589){s1=peg$c589;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c590)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c588()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c591){s1=peg$c591;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c592)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c593()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c594){s1=peg$c594;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c595)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c593()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c596){s1=peg$c596;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c597)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c593()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c598){s1=peg$c598;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c599)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c593()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c600){s1=peg$c600;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c601)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c602()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c603){s1=peg$c603;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c604)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c602()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c605){s1=peg$c605;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c606)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c607()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c608){s1=peg$c608;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c609)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c607()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c610){s1=peg$c610;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c611)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c612()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c613){s1=peg$c613;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c614)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c612()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c615){s1=peg$c615;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c616)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c617()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c618){s1=peg$c618;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c619)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c617()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c620){s1=peg$c620;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c621)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c622()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c623){s1=peg$c623;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c624)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c622()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c625){s1=peg$c625;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c626)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c627()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c628){s1=peg$c628;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c629)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c627()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c630){s1=peg$c630;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c631)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c632()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c633){s1=peg$c633;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c634)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c632()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c635){s1=peg$c635;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c636)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c637()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c638){s1=peg$c638;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c639)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c637()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c640){s1=peg$c640;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c641)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c642()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c643){s1=peg$c643;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c644)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c642()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c645){s1=peg$c645;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c646)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c647()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c648){s1=peg$c648;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c649)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c647()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c650){s1=peg$c650;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c651)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c652()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c653){s1=peg$c653;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c654)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c652()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c655){s1=peg$c655;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c656)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c657()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c658){s1=peg$c658;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c659)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c657()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c660){s1=peg$c660;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c661)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c662()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c663){s1=peg$c663;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c664)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c662()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c665){s1=peg$c665;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c666)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c667()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c668){s1=peg$c668;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c669)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c667()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c670){s1=peg$c670;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c671)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c672()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c673){s1=peg$c673;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c674)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c672()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,20)===peg$c675){s1=peg$c675;peg$currPos+=20}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c676)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c677()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,20)===peg$c678){s1=peg$c678;peg$currPos+=20}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c679)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c677()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c680){s1=peg$c680;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c681)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c682()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c683){s1=peg$c683;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c684)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c682()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c685){s1=peg$c685;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c686)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c682()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c687){s1=peg$c687;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c688)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c682()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c689){s1=peg$c689;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c690)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c691()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c692){s1=peg$c692;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c693)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c691()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c694){s1=peg$c694;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c695)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c696()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c697){s1=peg$c697;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c698)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c696()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c699){s1=peg$c699;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c700)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c701()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c702){s1=peg$c702;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c703)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c701()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c704){s1=peg$c704;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c705)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c706()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c707){s1=peg$c707;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c708)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c706()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c709){s1=peg$c709;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c710)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c711()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c712){s1=peg$c712;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c713)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c711()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c714){s1=peg$c714;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c715)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c716()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c717){s1=peg$c717;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c718)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c716()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c719){s1=peg$c719;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c720)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c716()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c721){s1=peg$c721;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c722)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c716()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c723){s1=peg$c723;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c724)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c725()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c726){s1=peg$c726;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c727)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c725()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c728){s1=peg$c728;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c729)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c730()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c731){s1=peg$c731;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c732)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c730()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c733){s1=peg$c733;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c734)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c735()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c736){s1=peg$c736;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c737)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c735()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c738){s1=peg$c738;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c739)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c740()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c741){s1=peg$c741;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c742)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c740()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c743){s1=peg$c743;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c744)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c745()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c746){s1=peg$c746;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c747)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c745()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c748){s1=peg$c748;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c749)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c568()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c750){s1=peg$c750;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c751)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c568()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c752){s1=peg$c752;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c753)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c754()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c755){s1=peg$c755;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c756)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c754()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,16)===peg$c757){s1=peg$c757;peg$currPos+=16}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c758)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c759()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,16)===peg$c760){s1=peg$c760;peg$currPos+=16}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c761)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c759()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c762){s1=peg$c762;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c763)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c764()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c765){s1=peg$c765;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c766)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c764()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c767){s1=peg$c767;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c768)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c769()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c770){s1=peg$c770;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c771)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c769()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c772){s1=peg$c772;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c773)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c774()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c775){s1=peg$c775;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c776)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c774()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c777){s1=peg$c777;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c778)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c779()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c780){s1=peg$c780;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c781)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c779()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c782){s1=peg$c782;peg$currPos+=15}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c783)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c784()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c785){s1=peg$c785;peg$currPos+=15}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c786)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c784()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,17)===peg$c787){s1=peg$c787;peg$currPos+=17}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c788)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c789()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,17)===peg$c790){s1=peg$c790;peg$currPos+=17}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c791)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c789()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c792){s1=peg$c792;peg$currPos+=15}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c793)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c794()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c795){s1=peg$c795;peg$currPos+=15}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c796)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c794()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c797){s1=peg$c797;peg$currPos+=15}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c798)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c799()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c800){s1=peg$c800;peg$currPos+=15}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c801)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c799()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c802){s1=peg$c802;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c803)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c804()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c805){s1=peg$c805;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c806)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c804()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c807){s1=peg$c807;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c808)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c809()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c810){s1=peg$c810;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c811)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c809()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c812){s1=peg$c812;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c813)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c814()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c815){s1=peg$c815;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c816)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c814()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c817){s1=peg$c817;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c818)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c819()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c820){s1=peg$c820;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c821)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c819()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c822){s1=peg$c822;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c823)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c824()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c825){s1=peg$c825;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c826)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c824()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c827){s1=peg$c827;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c828)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c829()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c830){s1=peg$c830;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c831)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c829()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c832){s1=peg$c832;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c833)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c834()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c835){s1=peg$c835;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c836)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c834()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c837){s1=peg$c837;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c838)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c839()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c840){s1=peg$c840;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c841)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c839()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c842){s1=peg$c842;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c843)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c844()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c845){s1=peg$c845;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c846)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c844()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c847){s1=peg$c847;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c848)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c849()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c850){s1=peg$c850;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c851)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c849()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c852){s1=peg$c852;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c853)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c854()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c855){s1=peg$c855;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c856)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c854()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c857){s1=peg$c857;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c858)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c859()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c860){s1=peg$c860;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c861)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c859()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c862){s1=peg$c862;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c863)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c864()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c865){s1=peg$c865;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c866)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c864()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c867){s1=peg$c867;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c868)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c869()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c870){s1=peg$c870;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c871)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c869()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c872){s1=peg$c872;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c873)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c874()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c875){s1=peg$c875;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c876)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c874()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c877){s1=peg$c877;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c878)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c879()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c880){s1=peg$c880;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c881)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c879()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c882){s1=peg$c882;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c883)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c884()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c885){s1=peg$c885;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c886)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c884()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c887){s1=peg$c887;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c888)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c889()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c890){s1=peg$c890;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c891)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c889()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c892){s1=peg$c892;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c893)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c894()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c895){s1=peg$c895;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c896)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c894()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c897){s1=peg$c897;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c898)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c899()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c900){s1=peg$c900;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c901)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c899()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c902){s1=peg$c902;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c903)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c904()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c905){s1=peg$c905;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c906)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c904()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c907){s1=peg$c907;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c908)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c909()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c910){s1=peg$c910;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c911)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c909()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c912){s1=peg$c912;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c913)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c914()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c915){s1=peg$c915;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c916)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c914()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,3)===peg$c917){s1=peg$c917;peg$currPos+=3}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c918)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c919()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,3)===peg$c920){s1=peg$c920;peg$currPos+=3}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c921)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c919()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c922){s1=peg$c922;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c923)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c924()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c925){s1=peg$c925;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c926)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c924()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c927){s1=peg$c927;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c928)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c929()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c930){s1=peg$c930;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c931)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c929()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c932){s1=peg$c932;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c933)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c934()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c935){s1=peg$c935;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c936)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c934()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c937){s1=peg$c937;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c938)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c939()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c940){s1=peg$c940;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c941)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c939()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c942){s1=peg$c942;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c943)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c944()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c945){s1=peg$c945;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c946)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c944()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c947){s1=peg$c947;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c948)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c949()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c950){s1=peg$c950;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c951)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c949()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c952){s1=peg$c952;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c953)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c954()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c955){s1=peg$c955;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c956)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c954()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c957){s1=peg$c957;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c958)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c959()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c960){s1=peg$c960;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c961)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c959()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c962){s1=peg$c962;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c963)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c964()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c965){s1=peg$c965;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c966)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c964()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c967){s1=peg$c967;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c968)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c969()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c970){s1=peg$c970;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c971)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c969()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c972){s1=peg$c972;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c973)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c974()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c975){s1=peg$c975;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c976)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c974()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c977){s1=peg$c977;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c978)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c979()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c980){s1=peg$c980;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c981)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c979()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c982){s1=peg$c982;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c983)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c979()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c984){s1=peg$c984;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c985)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c979()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c986){s1=peg$c986;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c987)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c988()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c989){s1=peg$c989;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c990)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c988()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c991){s1=peg$c991;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c992)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c993()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c994){s1=peg$c994;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c995)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c993()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c996){s1=peg$c996;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c997)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c998()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c999){s1=peg$c999;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1000)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c998()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,3)===peg$c1001){s1=peg$c1001;peg$currPos+=3}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1002)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1003()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,3)===peg$c1004){s1=peg$c1004;peg$currPos+=3}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1005)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1003()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c1006){s1=peg$c1006;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1007)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1008()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c1009){s1=peg$c1009;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1010)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1008()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c1011){s1=peg$c1011;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1012)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1013()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c1014){s1=peg$c1014;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1015)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1013()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c1016){s1=peg$c1016;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1017)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1018()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c1019){s1=peg$c1019;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1020)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1018()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c1021){s1=peg$c1021;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1022)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1023()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c1024){s1=peg$c1024;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1025)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1023()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c1026){s1=peg$c1026;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1027)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1028()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c1029){s1=peg$c1029;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1030)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1028()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c1031){s1=peg$c1031;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1032)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1033()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c1034){s1=peg$c1034;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1035)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1033()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c1036){s1=peg$c1036;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1037)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1038()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c1039){s1=peg$c1039;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1040)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1038()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c1041){s1=peg$c1041;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1042)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1043()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c1044){s1=peg$c1044;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1045)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1043()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c1046){s1=peg$c1046;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1047)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1048()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c1049){s1=peg$c1049;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1050)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1048()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c1051){s1=peg$c1051;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1052)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1053()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c1054){s1=peg$c1054;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1055)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1053()}s0=s1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}return s0}function peg$parseSvgColor(){var s0,s1,s2;s0=peg$currPos;s1=peg$parseSvgColorLabel();if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c1056(s1);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseRgb3(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===35){s1=peg$c1057;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1058)}}if(s1!==peg$FAILED){s2=peg$parseHexDigit();if(s2!==peg$FAILED){s3=peg$parseHexDigit();if(s3!==peg$FAILED){s4=peg$parseHexDigit();if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c1059(s2,s3,s4);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseRgb6(){var s0,s1,s2,s3,s4,s5,s6,s7,s8;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===35){s1=peg$c1057;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1058)}}if(s1!==peg$FAILED){s2=peg$parseHexDigit();if(s2!==peg$FAILED){s3=peg$parseHexDigit();if(s3!==peg$FAILED){s4=peg$parseHexDigit();if(s4!==peg$FAILED){s5=peg$parseHexDigit();if(s5!==peg$FAILED){s6=peg$parseHexDigit();if(s6!==peg$FAILED){s7=peg$parseHexDigit();if(s7!==peg$FAILED){s8=peg$parseWS();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){peg$savedPos=s0;s1=peg$c1060(s2,s3,s4,s5,s6,s7);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseRgba4(){var s0,s1,s2,s3,s4,s5,s6;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===35){s1=peg$c1057;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1058)}}if(s1!==peg$FAILED){s2=peg$parseHexDigit();if(s2!==peg$FAILED){s3=peg$parseHexDigit();if(s3!==peg$FAILED){s4=peg$parseHexDigit();if(s4!==peg$FAILED){s5=peg$parseHexDigit();if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){peg$savedPos=s0;s1=peg$c1061(s2,s3,s4,s5);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseRgba8(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===35){s1=peg$c1057;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1058)}}if(s1!==peg$FAILED){s2=peg$parseHexDigit();if(s2!==peg$FAILED){s3=peg$parseHexDigit();if(s3!==peg$FAILED){s4=peg$parseHexDigit();if(s4!==peg$FAILED){s5=peg$parseHexDigit();if(s5!==peg$FAILED){s6=peg$parseHexDigit();if(s6!==peg$FAILED){s7=peg$parseHexDigit();if(s7!==peg$FAILED){s8=peg$parseHexDigit();if(s8!==peg$FAILED){s9=peg$parseHexDigit();if(s9!==peg$FAILED){s10=peg$parseWS();if(s10===peg$FAILED){s10=null}if(s10!==peg$FAILED){peg$savedPos=s0;s1=peg$c1062(s2,s3,s4,s5,s6,s7,s8,s9);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseColor(){var s0;peg$silentFails++;s0=peg$parseSvgColor();if(s0===peg$FAILED){s0=peg$parseRgba8();if(s0===peg$FAILED){s0=peg$parseRgb6();if(s0===peg$FAILED){s0=peg$parseRgba4();if(s0===peg$FAILED){s0=peg$parseRgb3()}}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c1063)}}return s0}function peg$parseArrowItemKey(){var s0;if(input.substr(peg$currPos,9)===peg$c1064){s0=peg$c1064;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1065)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1066){s0=peg$c1066;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1067)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1068){s0=peg$c1068;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1069)}}}}return s0}function peg$parseArrowItem(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){s2=peg$parseArrowItemKey();if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabel();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1074(s2,s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseSingleEdgeColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1076){s2=peg$c1076;peg$currPos+=10}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1077)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1078(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1075)}}return s0}function peg$parseTransitionLineStyle(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,9)===peg$c1080){s2=peg$c1080;peg$currPos+=9}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1081)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLineStyle();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1082(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1079)}}return s0}function peg$parseArrowItems(){var s0,s1;s0=peg$parseSingleEdgeColor();if(s0===peg$FAILED){s0=peg$parseTransitionLineStyle();if(s0===peg$FAILED){s0=[];s1=peg$parseArrowItem();if(s1!==peg$FAILED){while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseArrowItem()}}else{s0=peg$FAILED}}}return s0}function peg$parseArrowDesc(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===123){s1=peg$c1083;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=peg$parseArrowItems();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){s4=peg$parseWS();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){if(input.charCodeAt(peg$currPos)===125){s5=peg$c1085;peg$currPos++}else{s5=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1086)}}if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c1087(s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseArrowProbability(){var s0,s1,s2;s0=peg$currPos;s1=peg$parseNonNegNumber();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===37){s2=peg$c1088;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1089)}}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c1090(s1);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseLabelList(){var s0,s1,s2,s3,s4,s5,s6;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===91){s1=peg$c1091;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1092)}}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=[];s4=peg$currPos;s5=peg$parseLabel();if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){s5=[s5,s6];s4=s5}else{peg$currPos=s4;s4=peg$FAILED}}else{peg$currPos=s4;s4=peg$FAILED}while(s4!==peg$FAILED){s3.push(s4);s4=peg$currPos;s5=peg$parseLabel();if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){s5=[s5,s6];s4=s5}else{peg$currPos=s4;s4=peg$FAILED}}else{peg$currPos=s4;s4=peg$FAILED}}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===93){s4=peg$c1093;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1094)}}if(s4!==peg$FAILED){peg$savedPos=s0;s1=peg$c1095(s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseLabelOrLabelList(){var s0;s0=peg$parseLabelList();if(s0===peg$FAILED){s0=peg$parseLabel()}return s0}function peg$parseStripe(){var s0,s1,s2,s3,s4;s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c1096){s1=peg$c1096;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1097)}}if(s1!==peg$FAILED){s2=peg$parseNonZeroDigit();if(s2!==peg$FAILED){s3=[];s4=peg$parseDecimalDigit();while(s4!==peg$FAILED){s3.push(s4);s4=peg$parseDecimalDigit()}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c1098(s2,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c1099){s1=peg$c1099;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1100)}}if(s1!==peg$FAILED){s2=peg$parseNonZeroDigit();if(s2!==peg$FAILED){s3=[];s4=peg$parseDecimalDigit();while(s4!==peg$FAILED){s3.push(s4);s4=peg$parseDecimalDigit()}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c1101(s2,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseCycle(){var s0,s1,s2,s3,s4;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===43){s1=peg$c1102;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1103)}}if(s1!==peg$FAILED){s2=peg$parseNonZeroDigit();if(s2!==peg$FAILED){s3=[];s4=peg$parseDecimalDigit();while(s4!==peg$FAILED){s3.push(s4);s4=peg$parseDecimalDigit()}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c1104(s2,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===45){s1=peg$c1105;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1106)}}if(s1!==peg$FAILED){s2=peg$parseNonZeroDigit();if(s2!==peg$FAILED){s3=[];s4=peg$parseDecimalDigit();while(s4!==peg$FAILED){s3.push(s4);s4=peg$parseDecimalDigit()}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c1107(s2,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c1108){s1=peg$c1108;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1109)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1110()}s0=s1}}return s0}function peg$parseArrowTarget(){var s0;s0=peg$parseStripe();if(s0===peg$FAILED){s0=peg$parseCycle();if(s0===peg$FAILED){s0=peg$parseLabelList();if(s0===peg$FAILED){s0=peg$parseLabel()}}}return s0}function peg$parseSubexp(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,s18;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){s2=peg$parseActionLabel();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){s4=peg$parseArrowProbability();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseArrowDesc();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseArrow();if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){s10=peg$parseArrowDesc();if(s10===peg$FAILED){s10=null}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){s12=peg$parseArrowProbability();if(s12===peg$FAILED){s12=null}if(s12!==peg$FAILED){s13=peg$parseWS();if(s13===peg$FAILED){s13=null}if(s13!==peg$FAILED){s14=peg$parseActionLabel();if(s14===peg$FAILED){s14=null}if(s14!==peg$FAILED){s15=peg$parseWS();if(s15===peg$FAILED){s15=null}if(s15!==peg$FAILED){s16=peg$parseArrowTarget();if(s16!==peg$FAILED){s17=peg$parseWS();if(s17===peg$FAILED){s17=null}if(s17!==peg$FAILED){s18=peg$parseSubexp();if(s18===peg$FAILED){s18=null}if(s18!==peg$FAILED){peg$savedPos=s0;s1=peg$c1111(s2,s4,s6,s8,s10,s12,s14,s16,s18);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseExp(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;s1=peg$parseArrowTarget();if(s1!==peg$FAILED){s2=peg$parseSubexp();if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s4=peg$c1072;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c1112(s1,s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseValidationKey(){var s0;if(input.substr(peg$currPos,9)===peg$c1113){s0=peg$c1113;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1114)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1115){s0=peg$c1115;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1116)}}}return s0}function peg$parseValidationItem(){var s0,s1,s2,s3,s4;s0=peg$currPos;s1=peg$parseValidationKey();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s2=peg$c1070;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s2!==peg$FAILED){s3=peg$parseLabel();if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s4=peg$c1072;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s4!==peg$FAILED){peg$savedPos=s0;s1=peg$c1117(s1,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseValidationItems(){var s0,s1;s0=[];s1=peg$parseValidationItem();if(s1!==peg$FAILED){while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseValidationItem()}}else{s0=peg$FAILED}return s0}function peg$parseConfigValidation(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1118){s2=peg$c1118;peg$currPos+=10}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1119)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c1083;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseValidationItems();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c1120){s10=peg$c1120;peg$currPos+=2}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1121)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1122(s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseGvizLayout(){var s0;if(input.substr(peg$currPos,3)===peg$c1123){s0=peg$c1123;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1124)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1125){s0=peg$c1125;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1126)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c1127){s0=peg$c1127;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1128)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1129){s0=peg$c1129;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1130)}}}}}return s0}function peg$parseStateItemShape(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1131){s2=peg$c1131;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1132)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseGvizShape();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1133(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseStateItems(){var s0,s1;s0=[];s1=peg$parseStateItemShape();if(s1!==peg$FAILED){while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseStateItemShape()}}else{s0=peg$FAILED}return s0}function peg$parseConfigState(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1134){s2=peg$c1134;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1135)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c1083;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseStateItems();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c1120){s10=peg$c1120;peg$currPos+=2}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1121)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1136(s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigStartState(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,11)===peg$c1137){s2=peg$c1137;peg$currPos+=11}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1138)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c1083;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseStateItems();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c1120){s10=peg$c1120;peg$currPos+=2}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1121)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1139(s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigEndState(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,9)===peg$c1140){s2=peg$c1140;peg$currPos+=9}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1141)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c1083;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseStateItems();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c1120){s10=peg$c1120;peg$currPos+=2}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1121)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1142(s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigAnyState(){var s0;s0=peg$parseConfigState();if(s0===peg$FAILED){s0=peg$parseConfigStartState();if(s0===peg$FAILED){s0=peg$parseConfigEndState()}}return s0}function peg$parseActionKey(){var s0;if(input.substr(peg$currPos,9)===peg$c1113){s0=peg$c1113;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1114)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1115){s0=peg$c1115;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1116)}}}return s0}function peg$parseActionItem(){var s0,s1,s2,s3,s4;s0=peg$currPos;s1=peg$parseActionKey();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s2=peg$c1070;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s2!==peg$FAILED){s3=peg$parseLabel();if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s4=peg$c1072;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s4!==peg$FAILED){peg$savedPos=s0;s1=peg$c1143(s1,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseActionItems(){var s0,s1;s0=[];s1=peg$parseActionItem();if(s1!==peg$FAILED){while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseActionItem()}}else{s0=peg$FAILED}return s0}function peg$parseConfigAction(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,6)===peg$c1144){s2=peg$c1144;peg$currPos+=6}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1145)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c1083;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseActionItems();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c1120){s10=peg$c1120;peg$currPos+=2}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1121)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1146(s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseTransitionKey(){var s0;if(input.substr(peg$currPos,9)===peg$c1113){s0=peg$c1113;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1114)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1115){s0=peg$c1115;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1116)}}}return s0}function peg$parseTransitionItem(){var s0,s1,s2,s3,s4;s0=peg$currPos;s1=peg$parseTransitionKey();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s2=peg$c1070;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s2!==peg$FAILED){s3=peg$parseLabel();if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s4=peg$c1072;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s4!==peg$FAILED){peg$savedPos=s0;s1=peg$c1147(s1,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseTransitionItems(){var s0,s1;s0=peg$parseGraphDefaultEdgeColor();if(s0===peg$FAILED){s0=[];s1=peg$parseTransitionItem();if(s1!==peg$FAILED){while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseTransitionItem()}}else{s0=peg$FAILED}}return s0}function peg$parseGraphDefaultEdgeColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1076){s2=peg$c1076;peg$currPos+=10}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1077)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1149(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1148)}}return s0}function peg$parseConfigTransition(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1150){s2=peg$c1150;peg$currPos+=10}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1151)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c1083;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseTransitionItems();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c1120){s10=peg$c1120;peg$currPos+=2}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1121)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1152(s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigGraphLayout(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1153){s2=peg$c1153;peg$currPos+=12}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1154)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseGvizLayout();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1155(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigStartNodes(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1156){s2=peg$c1156;peg$currPos+=12}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1157)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabelList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1158(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigEndNodes(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1159){s2=peg$c1159;peg$currPos+=10}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1160)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabelList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1161(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigGraphBgColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,14)===peg$c1162){s2=peg$c1162;peg$currPos+=14}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1163)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1164(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfig(){var s0;peg$silentFails++;s0=peg$parseConfigGraphLayout();if(s0===peg$FAILED){s0=peg$parseConfigStartNodes();if(s0===peg$FAILED){s0=peg$parseConfigEndNodes();if(s0===peg$FAILED){s0=peg$parseConfigTransition();if(s0===peg$FAILED){s0=peg$parseConfigAction();if(s0===peg$FAILED){s0=peg$parseConfigAnyState();if(s0===peg$FAILED){s0=peg$parseConfigValidation();if(s0===peg$FAILED){s0=peg$parseConfigGraphBgColor()}}}}}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c1165)}}return s0}function peg$parseLicenseOrLabelOrList(){var s0;if(input.substr(peg$currPos,3)===peg$c1166){s0=peg$c1166;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1167)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1168){s0=peg$c1168;peg$currPos+=12}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1169)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1170){s0=peg$c1170;peg$currPos+=12}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1171)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1172){s0=peg$c1172;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1173)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,11)===peg$c1174){s0=peg$c1174;peg$currPos+=11}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1175)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,13)===peg$c1176){s0=peg$c1176;peg$currPos+=13}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1177)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c1178){s0=peg$c1178;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1179)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c1180){s0=peg$c1180;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1181)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c1182){s0=peg$c1182;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1183)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c1184){s0=peg$c1184;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1185)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c1186){s0=peg$c1186;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1187)}}if(s0===peg$FAILED){s0=peg$parseLabel();if(s0===peg$FAILED){s0=peg$parseLabelList()}}}}}}}}}}}}return s0}function peg$parseDirection(){var s0;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c1189){s0=peg$c1189;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1190)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1191){s0=peg$c1191;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1192)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1193){s0=peg$c1193;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1194)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1195){s0=peg$c1195;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1196)}}}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c1188)}}return s0}function peg$parseHookDefinition(){var s0;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c1198){s0=peg$c1198;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1199)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c1200){s0=peg$c1200;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1201)}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c1197)}}return s0}function peg$parseMachineAuthor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,14)===peg$c1202){s2=peg$c1202;peg$currPos+=14}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1203)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabelOrLabelList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1204(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineContributor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,19)===peg$c1205){s2=peg$c1205;peg$currPos+=19}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1206)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabelOrLabelList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1207(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineComment(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,15)===peg$c1208){s2=peg$c1208;peg$currPos+=15}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1209)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabelOrLabelList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1210(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineDefinition(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,18)===peg$c1211){s2=peg$c1211;peg$currPos+=18}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1212)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseURL();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1213(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineName(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1214){s2=peg$c1214;peg$currPos+=12}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1215)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabel();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1216(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineVersion(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,15)===peg$c1220){s2=peg$c1220;peg$currPos+=15}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1221)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseSemVer();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1222(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineLicense(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,15)===peg$c1223){s2=peg$c1223;peg$currPos+=15}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1224)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLicenseOrLabelOrList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1225(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineLanguage(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,16)===peg$c1226){s2=peg$c1226;peg$currPos+=16}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1227)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabel();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1228(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseFslVersion(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,11)===peg$c1229){s2=peg$c1229;peg$currPos+=11}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1230)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseSemVer();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1231(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineTheme(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1232){s2=peg$c1232;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1233)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseTheme();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1234(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineFlow(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1235){s2=peg$c1235;peg$currPos+=4}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1236)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseDirection();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1237(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineHookDefinition(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1238){s2=peg$c1238;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1239)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseHookDefinition();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1240(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseDotPreamble(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1241){s2=peg$c1241;peg$currPos+=12}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1242)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseString();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1243(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineAttribute(){var s0;peg$silentFails++;s0=peg$parseFslVersion();if(s0===peg$FAILED){s0=peg$parseMachineName();if(s0===peg$FAILED){s0=peg$parseMachineAuthor();if(s0===peg$FAILED){s0=peg$parseMachineContributor();if(s0===peg$FAILED){s0=peg$parseMachineComment();if(s0===peg$FAILED){s0=peg$parseMachineDefinition();if(s0===peg$FAILED){s0=peg$parseMachineVersion();if(s0===peg$FAILED){s0=peg$parseMachineLicense();if(s0===peg$FAILED){s0=peg$parseMachineLanguage();if(s0===peg$FAILED){s0=peg$parseMachineTheme();if(s0===peg$FAILED){s0=peg$parseDotPreamble();if(s0===peg$FAILED){s0=peg$parseMachineFlow();if(s0===peg$FAILED){s0=peg$parseMachineHookDefinition()}}}}}}}}}}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c1244)}}return s0}function peg$parseSdStateColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1245){s2=peg$c1245;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1246)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1247(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1063)}}return s0}function peg$parseSdStateTextColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1249){s2=peg$c1249;peg$currPos+=10}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1250)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1251(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1248)}}return s0}function peg$parseSdStateBackgroundColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,16)===peg$c1253){s2=peg$c1253;peg$currPos+=16}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1254)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1255(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1252)}}return s0}function peg$parseSdStateBorderColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1257){s2=peg$c1257;peg$currPos+=12}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1258)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1259(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1256)}}return s0}function peg$parseSdStateShape(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1131){s2=peg$c1131;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1132)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseGvizShape();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1261(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1260)}}return s0}function peg$parseSdStateCorners(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,7)===peg$c1263){s2=peg$c1263;peg$currPos+=7}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1264)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseCorners();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1265(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1262)}}return s0}function peg$parseSdStateLineStyle(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,9)===peg$c1080){s2=peg$c1080;peg$currPos+=9}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1081)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLineStyle();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1267(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1266)}}return s0}function peg$parseStateDeclarationItems(){var s0;s0=peg$parseSdStateColor();if(s0===peg$FAILED){s0=peg$parseSdStateTextColor();if(s0===peg$FAILED){s0=peg$parseSdStateBackgroundColor();if(s0===peg$FAILED){s0=peg$parseSdStateBorderColor();if(s0===peg$FAILED){s0=peg$parseSdStateShape();if(s0===peg$FAILED){s0=peg$parseSdStateCorners();if(s0===peg$FAILED){s0=peg$parseSdStateLineStyle()}}}}}}return s0}function peg$parseStateDeclarationDesc(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===123){s1=peg$c1083;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=[];s4=peg$parseStateDeclarationItems();while(s4!==peg$FAILED){s3.push(s4);s4=peg$parseStateDeclarationItems()}if(s3!==peg$FAILED){s4=peg$parseWS();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){if(input.charCodeAt(peg$currPos)===125){s5=peg$c1085;peg$currPos++}else{s5=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1086)}}if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c1087(s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseStateDeclaration(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1134){s2=peg$c1134;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1135)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3!==peg$FAILED){s4=peg$parseLabel();if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s6=peg$c1070;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseStateDeclarationDesc();if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s10=peg$c1072;peg$currPos++}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1268(s4,s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseNamedList(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===38){s2=peg$c1269;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1270)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){s4=peg$parseLabel();if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s6=peg$c1070;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseLabelOrLabelList();if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s10=peg$c1072;peg$currPos++}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1271(s4,s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachinePropertyDefaultNull(){var s0;if(input.substr(peg$currPos,4)===peg$c1272){s0=peg$c1272;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1273)}}return s0}function peg$parseMachinePropertyDefaultUndefined(){var s0;if(input.substr(peg$currPos,9)===peg$c1274){s0=peg$c1274;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1275)}}return s0}function peg$parseMachinePropertyDefaultBoolean(){var s0;if(input.substr(peg$currPos,4)===peg$c222){s0=peg$c222;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c223)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c225){s0=peg$c225;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c226)}}}return s0}function peg$parseMachinePropertyDefaultNumber(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===45){s1=peg$c1105;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1106)}}if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){s2=peg$parseIntegerLiteral();if(s2!==peg$FAILED){if(input.charCodeAt(peg$currPos)===46){s3=peg$c309;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c310)}}if(s3!==peg$FAILED){s4=[];s5=peg$parseDecimalDigit();while(s5!==peg$FAILED){s4.push(s5);s5=peg$parseDecimalDigit()}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c1276();s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===45){s1=peg$c1105;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1106)}}if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){s2=peg$parseIntegerLiteral();if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c1276();s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c1277){s0=peg$c1277;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1278)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,11)===peg$c1279){s0=peg$c1279;peg$currPos+=11}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1280)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c1281){s0=peg$c1281;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1282)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1283){s0=peg$c1283;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1284)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1285){s0=peg$c1285;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1286)}}}}}}}}return s0}function peg$parseMachinePropertyDefaultString(){var s0,s1,s2,s3;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===34){s1=peg$c242;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c243)}}if(s1!==peg$FAILED){s2=[];s3=peg$parseMachinePropertyDefaultStringCharacter();while(s3!==peg$FAILED){s2.push(s3);s3=peg$parseMachinePropertyDefaultStringCharacter()}if(s2!==peg$FAILED){if(input.charCodeAt(peg$currPos)===34){s3=peg$c242;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c243)}}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c1287(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachinePropertyDefaultStringCharacter(){var s0,s1,s2;s0=peg$currPos;s1=peg$currPos;peg$silentFails++;if(input.charCodeAt(peg$currPos)===34){s2=peg$c242;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c243)}}if(s2===peg$FAILED){if(input.charCodeAt(peg$currPos)===92){s2=peg$c244;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c245)}}}peg$silentFails--;if(s2===peg$FAILED){s1=void 0}else{peg$currPos=s1;s1=peg$FAILED}if(s1!==peg$FAILED){if(input.length>peg$currPos){s2=input.charAt(peg$currPos);peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c284)}}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c1288(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===92){s1=peg$c244;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c245)}}if(s1!==peg$FAILED){s2=peg$parseMachinePropertyDefaultStringEscapeSequence();if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c1289(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseMachinePropertyDefaultStringEscapeSequence(){var s0,s1;if(input.charCodeAt(peg$currPos)===39){s0=peg$c272;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c273)}}if(s0===peg$FAILED){if(input.charCodeAt(peg$currPos)===34){s0=peg$c242;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c243)}}if(s0===peg$FAILED){if(input.charCodeAt(peg$currPos)===92){s0=peg$c244;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c245)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===98){s1=peg$c248;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c249)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1290()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===102){s1=peg$c251;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c252)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1291()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===110){s1=peg$c254;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c255)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1292()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===114){s1=peg$c257;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c258)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1293()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===116){s1=peg$c260;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c261)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1294()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===118){s1=peg$c263;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c264)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1295()}s0=s1}}}}}}}}return s0}function peg$parseMachinePropertyDefault(){var s0;s0=peg$parseMachinePropertyDefaultNull();if(s0===peg$FAILED){s0=peg$parseMachinePropertyDefaultUndefined();if(s0===peg$FAILED){s0=peg$parseMachinePropertyDefaultBoolean();if(s0===peg$FAILED){s0=peg$parseMachinePropertyDefaultNumber();if(s0===peg$FAILED){s0=peg$parseMachinePropertyDefaultString()}}}}return s0}function peg$parseMachineProperty(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,8)===peg$c1296){s2=peg$c1296;peg$currPos+=8}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1297)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){s4=peg$parseLabel();if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.substr(peg$currPos,7)===peg$c3){s6=peg$c3;peg$currPos+=7}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c4)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7!==peg$FAILED){s8=peg$parseMachinePropertyDefault();if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s10=peg$c1072;peg$currPos++}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1298(s4,s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,8)===peg$c1296){s2=peg$c1296;peg$currPos+=8}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1297)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){s4=peg$parseLabel();if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s6=peg$c1072;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){peg$savedPos=s0;s1=peg$c1299(s4);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseRegularArrangeDeclaration(){var s0,s1,s2,s3,s4,s5,s6;s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c1300){s1=peg$c1300;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1301)}}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=peg$parseLabelOrLabelList();if(s3!==peg$FAILED){s4=peg$parseWS();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s5=peg$c1072;peg$currPos++}else{s5=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){peg$savedPos=s0;s1=peg$c1302(s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseArrangeStartDeclaration(){var s0,s1,s2,s3,s4,s5,s6;s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c1303){s1=peg$c1303;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1304)}}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=peg$parseLabelOrLabelList();if(s3!==peg$FAILED){s4=peg$parseWS();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s5=peg$c1072;peg$currPos++}else{s5=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){peg$savedPos=s0;s1=peg$c1305(s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseArrangeEndDeclaration(){var s0,s1,s2,s3,s4,s5,s6;s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c1306){s1=peg$c1306;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1307)}}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=peg$parseLabelOrLabelList();if(s3!==peg$FAILED){s4=peg$parseWS();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s5=peg$c1072;peg$currPos++}else{s5=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){peg$savedPos=s0;s1=peg$c1308(s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseArrangeDeclaration(){var s0;peg$silentFails++;s0=peg$parseArrangeStartDeclaration();if(s0===peg$FAILED){s0=peg$parseArrangeEndDeclaration();if(s0===peg$FAILED){s0=peg$parseRegularArrangeDeclaration()}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c1309)}}return s0}function peg$parseTerm(){var s0;s0=peg$parseExp();if(s0===peg$FAILED){s0=peg$parseStateDeclaration();if(s0===peg$FAILED){s0=peg$parseArrangeDeclaration();if(s0===peg$FAILED){s0=peg$parseNamedList();if(s0===peg$FAILED){s0=peg$parseMachineAttribute();if(s0===peg$FAILED){s0=peg$parseMachineProperty();if(s0===peg$FAILED){s0=peg$parseConfig()}}}}}}return s0}function peg$parseTermList(){var s0,s1;s0=[];s1=peg$parseTerm();while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseTerm()}return s0}peg$result=peg$startRuleFunction();if(peg$result!==peg$FAILED&&peg$currPos===input.length){return peg$result}else{if(peg$result!==peg$FAILED&&peg$currPos":case"→":case"=>":case"⇒":case"~>":case"↛":return"right";case"<-":case"←":case"<=":case"⇐":case"<~":case"↚":return"left";case"<->":case"↔":case"<-=>":case"←⇒":case"←=>":case"<-⇒":case"<-~>":case"←↛":case"←~>":case"<-↛":case"<=>":case"⇔":case"<=->":case"⇐→":case"⇐->":case"<=→":case"<=~>":case"⇐↛":case"⇐~>":case"<=↛":case"<~>":case"↮":case"<~->":case"↚→":case"↚->":case"<~→":case"<~=>":case"↚⇒":case"↚=>":case"<~⇒":return"both";default:throw new JssmError(undefined,`arrow_direction: unknown arrow type ${arrow}`)}}function arrow_left_kind(arrow){switch(String(arrow)){case"->":case"→":case"=>":case"⇒":case"~>":case"↛":return"none";case"<-":case"←":case"<->":case"↔":case"<-=>":case"←⇒":case"<-~>":case"←↛":return"legal";case"<=":case"⇐":case"<=>":case"⇔":case"<=->":case"⇐→":case"<=~>":case"⇐↛":return"main";case"<~":case"↚":case"<~>":case"↮":case"<~->":case"↚→":case"<~=>":case"↚⇒":return"forced";default:throw new JssmError(undefined,`arrow_direction: unknown arrow type ${arrow}`)}}function arrow_right_kind(arrow){switch(String(arrow)){case"<-":case"←":case"<=":case"⇐":case"<~":case"↚":return"none";case"->":case"→":case"<->":case"↔":case"<=->":case"⇐→":case"<~->":case"↚→":return"legal";case"=>":case"⇒":case"<=>":case"⇔":case"<-=>":case"←⇒":case"<~=>":case"↚⇒":return"main";case"~>":case"↛":case"<~>":case"↮":case"<-~>":case"←↛":case"<=~>":case"⇐↛":return"forced";default:throw new JssmError(undefined,`arrow_direction: unknown arrow type ${arrow}`)}}function makeTransition(this_se,from,to,isRight,_wasList,_wasIndex){const kind=isRight?arrow_right_kind(this_se.kind):arrow_left_kind(this_se.kind),edge={from:from,to:to,kind:kind,forced_only:kind==="forced",main_path:kind==="main"};const action=isRight?"r_action":"l_action",probability=isRight?"r_probability":"l_probability";if(this_se[action]){edge.action=this_se[action]}if(this_se[probability]){edge.probability=this_se[probability]}return edge}function wrap_parse(input,options){return peg$parse(input,options||{})}function compile_rule_transition_step(acc,from,to,this_se,next_se){const edges=[];const uFrom=Array.isArray(from)?from:[from],uTo=Array.isArray(to)?to:[to];uFrom.map((f=>{uTo.map((t=>{const right=makeTransition(this_se,f,t,true);if(right.kind!=="none"){edges.push(right)}const left=makeTransition(this_se,t,f,false);if(left.kind!=="none"){edges.push(left)}}))}));const new_acc=acc.concat(edges);if(next_se){return compile_rule_transition_step(new_acc,to,next_se.to,next_se,next_se.se)}else{return new_acc}}function compile_rule_handle_transition(rule){return compile_rule_transition_step([],rule.from,rule.se.to,rule.se,rule.se.se)}function compile_rule_handler(rule){if(rule.key==="transition"){return{agg_as:"transition",val:compile_rule_handle_transition(rule)}}if(rule.key==="machine_language"){return{agg_as:"machine_language",val:reduceTo6391.reduce(rule.value)}}if(rule.key==="state_declaration"){if(!rule.name){throw new JssmError(undefined,"State declarations must have a name")}return{agg_as:"state_declaration",val:{state:rule.name,declarations:rule.value}}}if(["arrange_declaration","arrange_start_declaration","arrange_end_declaration"].includes(rule.key)){return{agg_as:rule.key,val:[rule.value]}}const tautologies=["graph_layout","start_states","end_states","machine_name","machine_version","machine_comment","machine_author","machine_contributor","machine_definition","machine_reference","machine_license","fsl_version","state_config","theme","flow","dot_preamble"];if(tautologies.includes(rule.key)){return{agg_as:rule.key,val:rule.value}}throw new JssmError(undefined,`compile_rule_handler: Unknown rule: ${JSON.stringify(rule)}`)}function compile(tree){const results={graph_layout:[],transition:[],start_states:[],end_states:[],state_config:[],state_declaration:[],fsl_version:[],machine_author:[],machine_comment:[],machine_contributor:[],machine_definition:[],machine_language:[],machine_license:[],machine_name:[],machine_reference:[],theme:[],flow:[],dot_preamble:[],arrange_declaration:[],arrange_start_declaration:[],arrange_end_declaration:[],machine_version:[]};tree.map((tr=>{const rule=compile_rule_handler(tr),agg_as=rule.agg_as,val=rule.val;results[agg_as]=results[agg_as].concat(val)}));const assembled_transitions=[].concat(...results["transition"]);const result_cfg={start_states:results.start_states.length?results.start_states:[assembled_transitions[0].from],transitions:assembled_transitions};const oneOnlyKeys=["graph_layout","machine_name","machine_version","machine_comment","fsl_version","machine_license","machine_definition","machine_language","theme","flow","dot_preamble"];oneOnlyKeys.map((oneOnlyKey=>{if(results[oneOnlyKey].length>1){throw new JssmError(undefined,`May only have one ${oneOnlyKey} statement maximum: ${JSON.stringify(results[oneOnlyKey])}`)}else{if(results[oneOnlyKey].length){result_cfg[oneOnlyKey]=results[oneOnlyKey][0]}}}));["arrange_declaration","arrange_start_declaration","arrange_end_declaration","machine_author","machine_contributor","machine_reference","state_declaration"].map((multiKey=>{if(results[multiKey].length){result_cfg[multiKey]=results[multiKey]}}));return result_cfg}function make(plan){return compile(wrap_parse(plan))}function transfer_state_properties(state_decl){state_decl.declarations.map((d=>{switch(d.key){case"shape":state_decl.shape=d.value;break;case"color":state_decl.color=d.value;break;case"corners":state_decl.corners=d.value;break;case"linestyle":state_decl.linestyle=d.value;break;case"text-color":state_decl.textColor=d.value;break;case"background-color":state_decl.backgroundColor=d.value;break;case"border-color":state_decl.borderColor=d.value;break;default:throw new JssmError(undefined,`Unknown state property: '${JSON.stringify(d)}'`)}}));return state_decl}class Machine{constructor({start_states:start_states,complete:complete=[],transitions:transitions,machine_author:machine_author,machine_comment:machine_comment,machine_contributor:machine_contributor,machine_definition:machine_definition,machine_language:machine_language,machine_license:machine_license,machine_name:machine_name,machine_version:machine_version,state_declaration:state_declaration,fsl_version:fsl_version,dot_preamble:dot_preamble=undefined,arrange_declaration:arrange_declaration=[],arrange_start_declaration:arrange_start_declaration=[],arrange_end_declaration:arrange_end_declaration=[],theme:theme="default",flow:flow="down",graph_layout:graph_layout="dot",instance_name:instance_name,history:history,data:data}){this._instance_name=instance_name;this._state=start_states[0];this._states=new Map;this._state_declarations=new Map;this._edges=[];this._edge_map=new Map;this._named_transitions=new Map;this._actions=new Map;this._reverse_actions=new Map;this._reverse_action_targets=new Map;this._machine_author=array_box_if_string(machine_author);this._machine_comment=machine_comment;this._machine_contributor=array_box_if_string(machine_contributor);this._machine_definition=machine_definition;this._machine_language=machine_language;this._machine_license=machine_license;this._machine_name=machine_name;this._machine_version=machine_version;this._raw_state_declaration=state_declaration||[];this._fsl_version=fsl_version;this._arrange_declaration=arrange_declaration;this._arrange_start_declaration=arrange_start_declaration;this._arrange_end_declaration=arrange_end_declaration;this._dot_preamble=dot_preamble;this._theme=theme;this._flow=flow;this._graph_layout=graph_layout;this._has_hooks=false;this._has_basic_hooks=false;this._has_named_hooks=false;this._has_entry_hooks=false;this._has_exit_hooks=false;this._has_global_action_hooks=false;this._has_transition_hooks=true;this._hooks=new Map;this._named_hooks=new Map;this._entry_hooks=new Map;this._exit_hooks=new Map;this._global_action_hooks=new Map;this._any_action_hook=undefined;this._standard_transition_hook=undefined;this._main_transition_hook=undefined;this._forced_transition_hook=undefined;this._any_transition_hook=undefined;this._standard_transition_hook=undefined;this._has_post_hooks=false;this._has_post_basic_hooks=false;this._has_post_named_hooks=false;this._has_post_entry_hooks=false;this._has_post_exit_hooks=false;this._has_post_global_action_hooks=false;this._has_post_transition_hooks=true;this._post_hooks=new Map;this._post_named_hooks=new Map;this._post_entry_hooks=new Map;this._post_exit_hooks=new Map;this._post_global_action_hooks=new Map;this._post_any_action_hook=undefined;this._post_standard_transition_hook=undefined;this._post_main_transition_hook=undefined;this._post_forced_transition_hook=undefined;this._post_any_transition_hook=undefined;this._post_standard_transition_hook=undefined;this._data=data;this._history_length=history||0;this._history=new circular_buffer(this._history_length);if(state_declaration){state_declaration.map((state_decl=>{if(this._state_declarations.has(state_decl.state)){throw new JssmError(this,`Added the same state declaration twice: ${JSON.stringify(state_decl.state)}`)}this._state_declarations.set(state_decl.state,transfer_state_properties(state_decl))}))}transitions.map((tr=>{if(tr.from===undefined){throw new JssmError(this,`transition must define 'from': ${JSON.stringify(tr)}`)}if(tr.to===undefined){throw new JssmError(this,`transition must define 'to': ${JSON.stringify(tr)}`)}const cursor_from=this._states.get(tr.from)||{name:tr.from,from:[],to:[],complete:complete.includes(tr.from)};if(!this._states.has(tr.from)){this._new_state(cursor_from)}const cursor_to=this._states.get(tr.to)||{name:tr.to,from:[],to:[],complete:complete.includes(tr.to)};if(!this._states.has(tr.to)){this._new_state(cursor_to)}if(cursor_from.to.includes(tr.to)){throw new JssmError(this,`already has ${JSON.stringify(tr.from)} to ${JSON.stringify(tr.to)}`)}else{cursor_from.to.push(tr.to);cursor_to.from.push(tr.from)}this._edges.push(tr);const thisEdgeId=this._edges.length-1;if(tr.name){if(this._named_transitions.has(tr.name)){throw new JssmError(this,`named transition "${JSON.stringify(tr.name)}" already created`)}else{this._named_transitions.set(tr.name,thisEdgeId)}}const from_mapping=this._edge_map.get(tr.from)||new Map;if(!this._edge_map.has(tr.from)){this._edge_map.set(tr.from,from_mapping)}from_mapping.set(tr.to,thisEdgeId);if(tr.action){let actionMap=this._actions.get(tr.action);if(!actionMap){actionMap=new Map;this._actions.set(tr.action,actionMap)}if(actionMap.has(tr.from)){throw new JssmError(this,`action ${JSON.stringify(tr.action)} already attached to origin ${JSON.stringify(tr.from)}`)}else{actionMap.set(tr.from,thisEdgeId)}let rActionMap=this._reverse_actions.get(tr.from);if(!rActionMap){rActionMap=new Map;this._reverse_actions.set(tr.from,rActionMap)}rActionMap.set(tr.action,thisEdgeId);if(!this._reverse_action_targets.has(tr.to)){this._reverse_action_targets.set(tr.to,new Map)}}}))}_new_state(state_config){if(this._states.has(state_config.name)){throw new JssmError(this,`state ${JSON.stringify(state_config.name)} already exists`)}this._states.set(state_config.name,state_config);return state_config.name}state(){return this._state}data(){return this._data}state_is_final(whichState){return this.state_is_terminal(whichState)&&this.state_is_complete(whichState)}is_final(){return this.state_is_final(this.state())}graph_layout(){return this._graph_layout}dot_preamble(){return this._dot_preamble}machine_author(){return this._machine_author}machine_comment(){return this._machine_comment}machine_contributor(){return this._machine_contributor}machine_definition(){return this._machine_definition}machine_language(){return this._machine_language}machine_license(){return this._machine_license}machine_name(){return this._machine_name}machine_version(){return this._machine_version}raw_state_declarations(){return this._raw_state_declaration}state_declaration(which){return this._state_declarations.get(which)}state_declarations(){return this._state_declarations}fsl_version(){return this._fsl_version}machine_state(){return{internal_state_impl_version:1,actions:this._actions,edge_map:this._edge_map,edges:this._edges,named_transitions:this._named_transitions,reverse_actions:this._reverse_actions,state:this._state,states:this._states}}states(){return Array.from(this._states.keys())}state_for(whichState){const state=this._states.get(whichState);if(state){return state}else{throw new JssmError(this,"No such state",{requested_state:whichState})}}has_state(whichState){return this._states.get(whichState)!==undefined}list_edges(){return this._edges}list_named_transitions(){return this._named_transitions}list_actions(){return Array.from(this._actions.keys())}theme(){return this._theme}flow(){return this._flow}get_transition_by_state_names(from,to){const emg=this._edge_map.get(from);if(emg){return emg.get(to)}else{return undefined}}lookup_transition_for(from,to){const id=this.get_transition_by_state_names(from,to);return id===undefined||id===null?undefined:this._edges[id]}list_transitions(whichState=this.state()){return{entrances:this.list_entrances(whichState),exits:this.list_exits(whichState)}}list_entrances(whichState=this.state()){return(this._states.get(whichState)||{from:undefined}).from||[]}list_exits(whichState=this.state()){return(this._states.get(whichState)||{to:undefined}).to||[]}probable_exits_for(whichState){const wstate=this._states.get(whichState);if(!wstate){throw new JssmError(this,`No such state ${JSON.stringify(whichState)} in probable_exits_for`)}const wstate_to=wstate.to,wtf=wstate_to.map((ws=>this.lookup_transition_for(this.state(),ws))).filter(Boolean);return wtf}probabilistic_transition(){const selected=weighted_rand_select(this.probable_exits_for(this.state()));return this.transition(selected.to)}probabilistic_walk(n){return seq(n).map((()=>{const state_was=this.state();this.probabilistic_transition();return state_was})).concat([this.state()])}probabilistic_histo_walk(n){return histograph(this.probabilistic_walk(n))}actions(whichState=this.state()){const wstate=this._reverse_actions.get(whichState);if(wstate){return Array.from(wstate.keys())}else{throw new JssmError(this,`No such state ${JSON.stringify(whichState)}`)}}list_states_having_action(whichState){const wstate=this._actions.get(whichState);if(wstate){return Array.from(wstate.keys())}else{throw new JssmError(this,`No such state ${JSON.stringify(whichState)}`)}}list_exit_actions(whichState=this.state()){const ra_base=this._reverse_actions.get(whichState);if(!ra_base){throw new JssmError(this,`No such state ${JSON.stringify(whichState)}`)}return Array.from(ra_base.values()).map((edgeId=>this._edges[edgeId])).filter((o=>o.from===whichState)).map((filtered=>filtered.action))}probable_action_exits(whichState=this.state()){const ra_base=this._reverse_actions.get(whichState);if(!ra_base){throw new JssmError(this,`No such state ${JSON.stringify(whichState)}`)}return Array.from(ra_base.values()).map((edgeId=>this._edges[edgeId])).filter((o=>o.from===whichState)).map((filtered=>({action:filtered.action,probability:filtered.probability})))}is_unenterable(whichState){if(!this.has_state(whichState)){throw new JssmError(this,`No such state ${whichState}`)}return this.list_entrances(whichState).length===0}has_unenterables(){return this.states().some((x=>this.is_unenterable(x)))}is_terminal(){return this.state_is_terminal(this.state())}state_is_terminal(whichState){if(!this.has_state(whichState)){throw new JssmError(this,`No such state ${whichState}`)}return this.list_exits(whichState).length===0}has_terminals(){return this.states().some((x=>this.state_is_terminal(x)))}is_complete(){return this.state_is_complete(this.state())}state_is_complete(whichState){const wstate=this._states.get(whichState);if(wstate){return wstate.complete}else{throw new JssmError(this,`No such state ${JSON.stringify(whichState)}`)}}has_completes(){return this.states().some((x=>this.state_is_complete(x)))}set_hook(HookDesc){switch(HookDesc.kind){case"hook":this._hooks.set(hook_name(HookDesc.from,HookDesc.to),HookDesc.handler);this._has_hooks=true;this._has_basic_hooks=true;break;case"named":this._named_hooks.set(named_hook_name(HookDesc.from,HookDesc.to,HookDesc.action),HookDesc.handler);this._has_hooks=true;this._has_named_hooks=true;break;case"global action":this._global_action_hooks.set(HookDesc.action,HookDesc.handler);this._has_hooks=true;this._has_global_action_hooks=true;break;case"any action":this._any_action_hook=HookDesc.handler;this._has_hooks=true;break;case"standard transition":this._standard_transition_hook=HookDesc.handler;this._has_transition_hooks=true;this._has_hooks=true;break;case"main transition":this._main_transition_hook=HookDesc.handler;this._has_transition_hooks=true;this._has_hooks=true;break;case"forced transition":this._forced_transition_hook=HookDesc.handler;this._has_transition_hooks=true;this._has_hooks=true;break;case"any transition":this._any_transition_hook=HookDesc.handler;this._has_hooks=true;break;case"entry":this._entry_hooks.set(HookDesc.to,HookDesc.handler);this._has_hooks=true;this._has_entry_hooks=true;break;case"exit":this._exit_hooks.set(HookDesc.from,HookDesc.handler);this._has_hooks=true;this._has_exit_hooks=true;break;case"post hook":this._post_hooks.set(hook_name(HookDesc.from,HookDesc.to),HookDesc.handler);this._has_post_hooks=true;this._has_basic_hooks=true;break;case"post named":this._post_named_hooks.set(named_hook_name(HookDesc.from,HookDesc.to,HookDesc.action),HookDesc.handler);this._has_post_hooks=true;this._has_named_hooks=true;break;case"post global action":this._post_global_action_hooks.set(HookDesc.action,HookDesc.handler);this._has_post_hooks=true;this._has_post_global_action_hooks=true;break;case"post any action":this._post_any_action_hook=HookDesc.handler;this._has_post_hooks=true;break;case"post standard transition":this._post_standard_transition_hook=HookDesc.handler;this._has_post_transition_hooks=true;this._has_post_hooks=true;break;case"post main transition":this._post_main_transition_hook=HookDesc.handler;this._has_post_transition_hooks=true;this._has_post_hooks=true;break;case"post forced transition":this._post_forced_transition_hook=HookDesc.handler;this._has_post_transition_hooks=true;this._has_post_hooks=true;break;case"post any transition":this._post_any_transition_hook=HookDesc.handler;this._has_post_hooks=true;break;case"post entry":this._post_entry_hooks.set(HookDesc.to,HookDesc.handler);this._has_post_entry_hooks=true;this._has_post_hooks=true;break;case"post exit":this._post_exit_hooks.set(HookDesc.from,HookDesc.handler);this._has_post_exit_hooks=true;this._has_post_hooks=true;break;default:throw new JssmError(this,`Unknown hook type ${HookDesc.kind}, should be impossible`)}}hook(from,to,handler){this.set_hook({kind:"hook",from:from,to:to,handler:handler});return this}hook_action(from,to,action,handler){this.set_hook({kind:"named",from:from,to:to,action:action,handler:handler});return this}hook_global_action(action,handler){this.set_hook({kind:"global action",action:action,handler:handler});return this}hook_any_action(handler){this.set_hook({kind:"any action",handler:handler});return this}hook_standard_transition(handler){this.set_hook({kind:"standard transition",handler:handler});return this}hook_main_transition(handler){this.set_hook({kind:"main transition",handler:handler});return this}hook_forced_transition(handler){this.set_hook({kind:"forced transition",handler:handler});return this}hook_any_transition(handler){this.set_hook({kind:"any transition",handler:handler});return this}hook_entry(to,handler){this.set_hook({kind:"entry",to:to,handler:handler});return this}hook_exit(from,handler){this.set_hook({kind:"exit",from:from,handler:handler});return this}post_hook(from,to,handler){this.set_hook({kind:"post hook",from:from,to:to,handler:handler});return this}post_hook_action(from,to,action,handler){this.set_hook({kind:"post named",from:from,to:to,action:action,handler:handler});return this}post_hook_global_action(action,handler){this.set_hook({kind:"post global action",action:action,handler:handler});return this}post_hook_any_action(handler){this.set_hook({kind:"post any action",handler:handler});return this}post_hook_standard_transition(handler){this.set_hook({kind:"post standard transition",handler:handler});return this}post_hook_main_transition(handler){this.set_hook({kind:"post main transition",handler:handler});return this}post_hook_forced_transition(handler){this.set_hook({kind:"post forced transition",handler:handler});return this}post_hook_any_transition(handler){this.set_hook({kind:"post any transition",handler:handler});return this}post_hook_entry(to,handler){this.set_hook({kind:"post entry",to:to,handler:handler});return this}post_hook_exit(from,handler){this.set_hook({kind:"post exit",from:from,handler:handler});return this}edges_between(from,to){return this._edges.filter((edge=>edge.from===from&&edge.to===to))}transition_impl(newStateOrAction,newData,wasForced,wasAction){let valid=false,trans_type,newState,fromAction=undefined;if(wasForced){if(this.valid_force_transition(newStateOrAction,newData)){valid=true;trans_type="forced";newState=newStateOrAction}}else if(wasAction){if(this.valid_action(newStateOrAction,newData)){const edge=this.current_action_edge_for(newStateOrAction);valid=true;trans_type=edge.kind;newState=edge.to;fromAction=newStateOrAction}}else{if(this.valid_transition(newStateOrAction,newData)){if(this._has_transition_hooks){trans_type=this.edges_between(this._state,newStateOrAction)[0].kind}valid=true;newState=newStateOrAction}}const hook_args={data:this._data,action:fromAction,from:this._state,to:newState,forced:wasForced};if(valid){if(this._has_hooks){function update_fields(res){if(res.hasOwnProperty("data")){hook_args.data=res.data;data_changed=true}}let data_changed=false;if(wasAction){const outcome=abstract_hook_step(this._any_action_hook,hook_args);if(outcome.pass===false){return false}update_fields(outcome);const outcome2=abstract_hook_step(this._global_action_hooks.get(newStateOrAction),hook_args);if(outcome2.pass===false){return false}update_fields(outcome2)}if(this._any_transition_hook!==undefined){const outcome=abstract_hook_step(this._any_transition_hook,hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(this._has_exit_hooks){const outcome=abstract_hook_step(this._exit_hooks.get(this._state),hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(this._has_named_hooks){if(wasAction){const nhn=named_hook_name(this._state,newState,newStateOrAction),outcome=abstract_hook_step(this._named_hooks.get(nhn),hook_args);if(outcome.pass===false){return false}update_fields(outcome)}}if(this._has_basic_hooks){const hn=hook_name(this._state,newState),outcome=abstract_hook_step(this._hooks.get(hn),hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(trans_type==="legal"){const outcome=abstract_hook_step(this._standard_transition_hook,hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(trans_type==="main"){const outcome=abstract_hook_step(this._main_transition_hook,hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(trans_type==="forced"){const outcome=abstract_hook_step(this._forced_transition_hook,hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(this._has_entry_hooks){const outcome=abstract_hook_step(this._entry_hooks.get(newState),hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(this._history_length){this._history.shove([this._state,this._data])}this._state=newState;if(data_changed){this._data=hook_args.data}}else{if(this._history_length){this._history.shove([this._state,this._data])}this._state=newState}}else{return false}if(this._has_post_hooks){if(wasAction){if(this._post_any_action_hook!==undefined){this._post_any_action_hook(hook_args)}const pgah=this._post_global_action_hooks.get(newStateOrAction);if(pgah!==undefined){pgah(hook_args)}}}return true}get history(){return this._history.toArray()}get history_inclusive(){const ret=this._history.toArray();ret.push([this.state(),this.data()]);return ret}get history_length(){return this._history_length}set history_length(to){this._history_length=to;this._history.resize(to,true)}action(actionName,newData){return this.transition_impl(actionName,newData,false,true)}transition(newState,newData){return this.transition_impl(newState,newData,false,false)}force_transition(newState,newData){return this.transition_impl(newState,newData,true,false)}current_action_for(action){const action_base=this._actions.get(action);return action_base?action_base.get(this.state()):undefined}current_action_edge_for(action){const idx=this.current_action_for(action);if(idx===undefined||idx===null){throw new JssmError(this,`No such action ${JSON.stringify(action)}`)}return this._edges[idx]}valid_action(action,_newData){return this.current_action_for(action)!==undefined}valid_transition(newState,_newData){const transition_for=this.lookup_transition_for(this.state(),newState);if(!transition_for){return false}if(transition_for.forced_only){return false}return true}valid_force_transition(newState,_newData){return this.lookup_transition_for(this.state(),newState)!==undefined}instance_name(){return this._instance_name}sm(template_strings,...remainder){return sm(template_strings,...remainder)}}function sm(template_strings,...remainder){return new Machine(make(template_strings.reduce(((acc,val,idx)=>`${acc}${remainder[idx-1]}${val}`))))}function from(MachineAsString,ExtraConstructorFields){const to_decorate=make(MachineAsString);if(ExtraConstructorFields!==undefined){Object.keys(ExtraConstructorFields).map((key=>to_decorate[key]=ExtraConstructorFields[key]))}return new Machine(to_decorate)}function is_hook_complex_result(hr){if(typeof hr==="object"){if(typeof hr.pass==="boolean"){return true}}return false}function is_hook_rejection(hr){if(hr===true){return false}if(hr===undefined){return false}if(hr===false){return true}if(is_hook_complex_result(hr)){return!hr.pass}throw new TypeError("unknown hook rejection type result")}function abstract_hook_step(maybe_hook,hook_args){if(maybe_hook!==undefined){const result=maybe_hook(hook_args);if(result===undefined){return{pass:true}}if(result===true){return{pass:true}}if(result===false){return{pass:false}}if(is_hook_complex_result(result)){return result}throw new TypeError(`Unknown hook result type ${result}`)}else{return{pass:true}}}exports.Machine=Machine;exports.abstract_hook_step=abstract_hook_step;exports.arrow_direction=arrow_direction;exports.arrow_left_kind=arrow_left_kind;exports.arrow_right_kind=arrow_right_kind;exports.compile=compile;exports.from=from;exports.gviz_shapes=gviz_shapes;exports.histograph=histograph;exports.is_hook_complex_result=is_hook_complex_result;exports.is_hook_rejection=is_hook_rejection;exports.make=make;exports.named_colors=named_colors;exports.parse=wrap_parse;exports.seq=seq;exports.shapes=shapes;exports.sm=sm;exports.transfer_state_properties=transfer_state_properties;exports.version=version;exports.weighted_histo_key=weighted_histo_key;exports.weighted_rand_select=weighted_rand_select;exports.weighted_sample_select=weighted_sample_select;Object.defineProperty(exports,"__esModule",{value:true});return exports}({}); +var jssm=function(exports){"use strict";var reductions={abkhazian:"ab","аҧсуа бызшәа, аҧсшәа":"ab",ab:"ab",abk:"ab","аҧсуа бызшәа":"ab","аҧсшәа":"ab",afar:"aa",afaraf:"aa",aa:"aa",aar:"aa",afrikaans:"af",af:"af",afr:"af",akan:"ak",ak:"ak",aka:"ak","aka + 2":"ak",albanian:"sq",shqip:"sq",sq:"sq",sqi:"sq",alb:"sq","sqi + 4":"sq",amharic:"am","አማርኛ":"am",am:"am",amh:"am",arabic:"ar","العربية":"ar",ar:"ar",ara:"ar","ara + 30":"ar",aragonese:"an","aragonés":"an",an:"an",arg:"an",armenian:"hy","հայերեն":"hy",hy:"hy",hye:"hy",arm:"hy",assamese:"as","অসমীয়া":"as",as:"as",asm:"as",avaric:"av","авар мацӏ, магӏарул мацӏ":"av",av:"av",ava:"av","авар мацӏ":"av","магӏарул мацӏ":"av",avestan:"ae",avesta:"ae",ae:"ae",ave:"ae",aymara:"ay","aymar aru":"ay",ay:"ay",aym:"ay","aym + 2":"ay",azerbaijani:"az","azərbaycan dili":"az",az:"az",aze:"az","aze + 2":"az",bambara:"bm",bamanankan:"bm",bm:"bm",bam:"bm",bashkir:"ba","башҡорт теле":"ba",ba:"ba",bak:"ba",basque:"eu","euskara, euskera":"eu",eu:"eu",eus:"eu",baq:"eu",euskara:"eu",euskera:"eu",belarusian:"be","беларуская мова":"be",be:"be",bel:"be",bengali:"bn","বাংলা":"bn",bn:"bn",ben:"bn","bihari languages":"bh","भोजपुरी":"bh",bh:"bh",bih:"bh",bislama:"bi",bi:"bi",bis:"bi",bosnian:"bs","bosanski jezik":"bs",bs:"bs",bos:"bs",breton:"br",brezhoneg:"br",br:"br",bre:"br",bulgarian:"bg","български език":"bg",bg:"bg",bul:"bg",burmese:"my","ဗမာစာ":"my",my:"my",mya:"my",bur:"my","catalan, valencian":"ca","català, valencià":"ca",ca:"ca",cat:"ca","català":"ca","valencià":"ca",chamorro:"ch",chamoru:"ch",ch:"ch",cha:"ch",chechen:"ce","нохчийн мотт":"ce",ce:"ce",che:"ce","chichewa, chewa, nyanja":"ny","chicheŵa, chinyanja":"ny",ny:"ny",nya:"ny","chicheŵa":"ny",chinyanja:"ny",chinese:"zh","中文 (zhōngwén), 汉语, 漢語":"zh",zh:"zh",zho:"zh",chi:"zh","zho + 13":"zh","中文 (zhōngwén)":"zh","汉语":"zh","漢語":"zh",chuvash:"cv","чӑваш чӗлхи":"cv",cv:"cv",chv:"cv",cornish:"kw",kernewek:"kw",kw:"kw",cor:"kw",corsican:"co","corsu, lingua corsa":"co",co:"co",cos:"co",corsu:"co","lingua corsa":"co",cree:"cr","ᓀᐦᐃᔭᐍᐏᐣ":"cr",cr:"cr",cre:"cr","cre + 6":"cr",croatian:"hr","hrvatski jezik":"hr",hr:"hr",hrv:"hr",czech:"cs","čeština, český jazyk":"cs",cs:"cs",ces:"cs",cze:"cs","čeština":"cs","český jazyk":"cs",danish:"da",dansk:"da",da:"da",dan:"da","divehi, dhivehi, maldivian":"dv","ދިވެހި":"dv",dv:"dv",div:"dv","dutch, flemish":"nl","nederlands, vlaams":"nl",nl:"nl",nld:"nl",dut:"nl",nederlands:"nl",vlaams:"nl",dzongkha:"dz","རྫོང་ཁ":"dz",dz:"dz",dzo:"dz",english:"en",en:"en",eng:"en",esperanto:"eo",eo:"eo",epo:"eo",estonian:"et","eesti, eesti keel":"et",et:"et",est:"et","est + 2":"et",eesti:"et","eesti keel":"et",ewe:"ee","eʋegbe":"ee",ee:"ee",faroese:"fo","føroyskt":"fo",fo:"fo",fao:"fo",fijian:"fj","vosa vakaviti":"fj",fj:"fj",fij:"fj",finnish:"fi","suomi, suomen kieli":"fi",fi:"fi",fin:"fi",suomi:"fi","suomen kieli":"fi",french:"fr","français, langue française":"fr",fr:"fr",fra:"fr",fre:"fr","français":"fr","langue française":"fr",fulah:"ff","fulfulde, pulaar, pular":"ff",ff:"ff",ful:"ff","ful + 9":"ff",fulfulde:"ff",pulaar:"ff",pular:"ff",galician:"gl",galego:"gl",gl:"gl",glg:"gl",georgian:"ka","ქართული":"ka",ka:"ka",kat:"ka",geo:"ka",german:"de",deutsch:"de",de:"de",deu:"de",ger:"de","greek (modern)":"el","ελληνικά":"el",el:"el",ell:"el",gre:"el","guaraní":"gn","avañe'ẽ":"gn",gn:"gn",grn:"gn","grn + 5":"gn",gujarati:"gu","ગુજરાતી":"gu",gu:"gu",guj:"gu","haitian, haitian creole":"ht","kreyòl ayisyen":"ht",ht:"ht",hat:"ht",hausa:"ha","(hausa) هَوُسَ":"ha",ha:"ha",hau:"ha","hebrew (modern)":"he","עברית":"he",he:"he",heb:"he",herero:"hz",otjiherero:"hz",hz:"hz",her:"hz",hindi:"hi","हिन्दी, हिंदी":"hi",hi:"hi",hin:"hi","हिन्दी":"hi","हिंदी":"hi","hiri motu":"ho",ho:"ho",hmo:"ho",hungarian:"hu",magyar:"hu",hu:"hu",hun:"hu",interlingua:"ia",ia:"ia",ina:"ia",indonesian:"id","bahasa indonesia":"id",id:"id",ind:"id",interlingue:"ie","originally called occidental; then interlingue after wwii":"ie",ie:"ie",ile:"ie",irish:"ga",gaeilge:"ga",ga:"ga",gle:"ga",igbo:"ig","asụsụ igbo":"ig",ig:"ig",ibo:"ig",inupiaq:"ik","iñupiaq, iñupiatun":"ik",ik:"ik",ipk:"ik","ipk + 2":"ik","iñupiaq":"ik","iñupiatun":"ik",ido:"io",io:"io",icelandic:"is","íslenska":"is",is:"is",isl:"is",ice:"is",italian:"it",italiano:"it",it:"it",ita:"it",inuktitut:"iu","ᐃᓄᒃᑎᑐᑦ":"iu",iu:"iu",iku:"iu","iku + 2":"iu",japanese:"ja","日本語 (にほんご)":"ja",ja:"ja",jpn:"ja",javanese:"jv","ꦧꦱꦗꦮ, basa jawa":"jv",jv:"jv",jav:"jv","ꦧꦱꦗꦮ":"jv","basa jawa":"jv","kalaallisut, greenlandic":"kl","kalaallisut, kalaallit oqaasii":"kl",kl:"kl",kal:"kl",kalaallisut:"kl","kalaallit oqaasii":"kl",kannada:"kn","ಕನ್ನಡ":"kn",kn:"kn",kan:"kn",kanuri:"kr",kr:"kr",kau:"kr","kau + 3":"kr",kashmiri:"ks","कश्मीरी, كشميري‎":"ks",ks:"ks",kas:"ks","कश्मीरी":"ks","كشميري‎":"ks",kazakh:"kk","қазақ тілі":"kk",kk:"kk",kaz:"kk","central khmer":"km","ខ្មែរ, ខេមរភាសា, ភាសាខ្មែរ":"km",km:"km",khm:"km","ខ្មែរ":"km","ខេមរភាសា":"km","ភាសាខ្មែរ":"km","kikuyu, gikuyu":"ki","gĩkũyũ":"ki",ki:"ki",kik:"ki",kinyarwanda:"rw",ikinyarwanda:"rw",rw:"rw",kin:"rw","kirghiz, kyrgyz":"ky","кыргызча, кыргыз тили":"ky",ky:"ky",kir:"ky","кыргызча":"ky","кыргыз тили":"ky",komi:"kv","коми кыв":"kv",kv:"kv",kom:"kv","kom + 2":"kv",kongo:"kg",kikongo:"kg",kg:"kg",kon:"kg","kon + 3":"kg",korean:"ko","한국어":"ko",ko:"ko",kor:"ko",kurdish:"ku","kurdî, كوردی‎":"ku",ku:"ku",kur:"ku","kur + 3":"ku","kurdî":"ku","كوردی‎":"ku","kuanyama, kwanyama":"kj",kuanyama:"kj",kj:"kj",kua:"kj",latin:"la","latine, lingua latina":"la",la:"la",lat:"la",latine:"la","lingua latina":"la","luxembourgish, letzeburgesch":"lb","lëtzebuergesch":"lb",lb:"lb",ltz:"lb",ganda:"lg",luganda:"lg",lg:"lg",lug:"lg","limburgan, limburger, limburgish":"li",limburgs:"li",li:"li",lim:"li",lingala:"ln","lingála":"ln",ln:"ln",lin:"ln",lao:"lo","ພາສາລາວ":"lo",lo:"lo",lithuanian:"lt","lietuvių kalba":"lt",lt:"lt",lit:"lt","luba-katanga":"lu",kiluba:"lu",lu:"lu",lub:"lu",latvian:"lv","latviešu valoda":"lv",lv:"lv",lav:"lv","lav + 2":"lv",manx:"gv","gaelg, gailck":"gv",gv:"gv",glv:"gv",gaelg:"gv",gailck:"gv",macedonian:"mk","македонски јазик":"mk",mk:"mk",mkd:"mk",mac:"mk",malagasy:"mg","fiteny malagasy":"mg",mg:"mg",mlg:"mg","mlg + 10":"mg",malay:"ms","bahasa melayu, بهاس ملايو‎":"ms",ms:"ms",msa:"ms",may:"ms","msa + 13":"ms","bahasa melayu":"ms","بهاس ملايو‎":"ms",malayalam:"ml","മലയാളം":"ml",ml:"ml",mal:"ml",maltese:"mt",malti:"mt",mt:"mt",mlt:"mt",maori:"mi","te reo māori":"mi",mi:"mi",mri:"mi",mao:"mi",marathi:"mr","मराठी":"mr",mr:"mr",mar:"mr",marshallese:"mh","kajin m̧ajeļ":"mh",mh:"mh",mah:"mh",mongolian:"mn","монгол хэл":"mn",mn:"mn",mon:"mn","mon + 2":"mn",nauru:"na","dorerin naoero":"na",na:"na",nau:"na","navajo, navaho":"nv","diné bizaad":"nv",nv:"nv",nav:"nv","north ndebele":"nd",isindebele:"nr",nd:"nd",nde:"nd",nepali:"ne","नेपाली":"ne",ne:"ne",nep:"ne",ndonga:"ng",owambo:"ng",ng:"ng",ndo:"ng","norwegian bokmål":"nb","norsk bokmål":"nb",nb:"nb",nob:"nb","norwegian nynorsk":"nn","norsk nynorsk":"nn",nn:"nn",nno:"nn",norwegian:"no",norsk:"no",no:"no",nor:"no","nor + 2":"no","sichuan yi, nuosu":"ii","ꆈꌠ꒿ nuosuhxop":"ii",ii:"ii",iii:"ii","south ndebele":"nr",nr:"nr",nbl:"nr",occitan:"oc","occitan, lenga d'òc":"oc",oc:"oc",oci:"oc","lenga d'òc":"oc",ojibwa:"oj","ᐊᓂᔑᓈᐯᒧᐎᓐ":"oj",oj:"oj",oji:"oj","oji + 7":"oj","church slavic, church slavonic, old church slavonic, old slavonic, old bulgarian":"cu","ѩзыкъ словѣньскъ":"cu",cu:"cu",chu:"cu",oromo:"om","afaan oromoo":"om",om:"om",orm:"om","orm + 4":"om",oriya:"or","ଓଡ଼ିଆ":"or",or:"or",ori:"or","ossetian, ossetic":"os","ирон æвзаг":"os",os:"os",oss:"os","panjabi, punjabi":"pa","ਪੰਜਾਬੀ":"pa",pa:"pa",pan:"pa",pali:"pi","पाऴि":"pi",pi:"pi",pli:"pi",persian:"fa","فارسی":"fa",fa:"fa",fas:"fa",per:"fa","fas + 2":"fa",polish:"pl","język polski, polszczyzna":"pl",pl:"pl",pol:"pl","język polski":"pl",polszczyzna:"pl","pashto, pushto":"ps","پښتو":"ps",ps:"ps",pus:"ps","pus + 3":"ps",portuguese:"pt","português":"pt",pt:"pt",por:"pt",quechua:"qu","runa simi, kichwa":"qu",qu:"qu",que:"qu","que + 44":"qu","runa simi":"qu",kichwa:"qu",romansh:"rm","rumantsch grischun":"rm",rm:"rm",roh:"rm",rundi:"rn",ikirundi:"rn",rn:"rn",run:"rn","romanian, moldavian, moldovan":"ro","română":"ro",ro:"ro",ron:"ro",rum:"ro",russian:"ru","русский":"ru",ru:"ru",rus:"ru",sanskrit:"sa","संस्कृतम्":"sa",sa:"sa",san:"sa",sardinian:"sc",sardu:"sc",sc:"sc",srd:"sc","srd + 4":"sc",sindhi:"sd","सिन्धी, سنڌي، سندھی‎":"sd",sd:"sd",snd:"sd","सिन्धी":"sd","سنڌي، سندھی‎":"sd","northern sami":"se","davvisámegiella":"se",se:"se",sme:"se",samoan:"sm","gagana fa'a samoa":"sm",sm:"sm",smo:"sm",sango:"sg","yângâ tî sängö":"sg",sg:"sg",sag:"sg",serbian:"sr","српски језик":"sr",sr:"sr",srp:"sr","gaelic, scottish gaelic":"gd","gàidhlig":"gd",gd:"gd",gla:"gd",shona:"sn",chishona:"sn",sn:"sn",sna:"sn","sinhala, sinhalese":"si","සිංහල":"si",si:"si",sin:"si",slovak:"sk","slovenčina, slovenský jazyk":"sk",sk:"sk",slk:"sk",slo:"sk","slovenčina":"sk","slovenský jazyk":"sk",slovenian:"sl","slovenski jezik, slovenščina":"sl",sl:"sl",slv:"sl","slovenski jezik":"sl","slovenščina":"sl",somali:"so","soomaaliga, af soomaali":"so",so:"so",som:"so",soomaaliga:"so","af soomaali":"so","southern sotho":"st",sesotho:"st",st:"st",sot:"st","spanish, castilian":"es","español":"es",es:"es",spa:"es",sundanese:"su","basa sunda":"su",su:"su",sun:"su",swahili:"sw",kiswahili:"sw",sw:"sw",swa:"sw","swa + 2":"sw",swati:"ss",siswati:"ss",ss:"ss",ssw:"ss",swedish:"sv",svenska:"sv",sv:"sv",swe:"sv",tamil:"ta","தமிழ்":"ta",ta:"ta",tam:"ta",telugu:"te","తెలుగు":"te",te:"te",tel:"te",tajik:"tg","тоҷикӣ, toçikī, تاجیکی‎":"tg",tg:"tg",tgk:"tg","тоҷикӣ":"tg","toçikī":"tg","تاجیکی‎":"tg",thai:"th","ไทย":"th",th:"th",tha:"th",tigrinya:"ti","ትግርኛ":"ti",ti:"ti",tir:"ti",tibetan:"bo","བོད་ཡིག":"bo",bo:"bo",bod:"bo",tib:"bo",turkmen:"tk","türkmen, түркмен":"tk",tk:"tk",tuk:"tk","türkmen":"tk","түркмен":"tk",tagalog:"tl","wikang tagalog":"tl",tl:"tl",tgl:"tl",tswana:"tn",setswana:"tn",tn:"tn",tsn:"tn","tonga (tonga islands)":"to","faka tonga":"to",to:"to",ton:"to",turkish:"tr","türkçe":"tr",tr:"tr",tur:"tr",tsonga:"ts",xitsonga:"ts",ts:"ts",tso:"ts",tatar:"tt","татар теле, tatar tele":"tt",tt:"tt",tat:"tt","татар теле":"tt","tatar tele":"tt",twi:"tw",tw:"tw",tahitian:"ty","reo tahiti":"ty",ty:"ty",tah:"ty","uighur, uyghur":"ug","ئۇيغۇرچە‎, uyghurche":"ug",ug:"ug",uig:"ug","ئۇيغۇرچە‎":"ug",uyghurche:"ug",ukrainian:"uk","українська":"uk",uk:"uk",ukr:"uk",urdu:"ur","اردو":"ur",ur:"ur",urd:"ur",uzbek:"uz","oʻzbek, ўзбек, أۇزبېك‎":"uz",uz:"uz",uzb:"uz","uzb + 2":"uz","oʻzbek":"uz","ўзбек":"uz","أۇزبېك‎":"uz",venda:"ve","tshivenḓa":"ve",ve:"ve",ven:"ve",vietnamese:"vi","tiếng việt":"vi",vi:"vi",vie:"vi","volapük":"vo",vo:"vo",vol:"vo",walloon:"wa",walon:"wa",wa:"wa",wln:"wa",welsh:"cy",cymraeg:"cy",cy:"cy",cym:"cy",wel:"cy",wolof:"wo",wollof:"wo",wo:"wo",wol:"wo","western frisian":"fy",frysk:"fy",fy:"fy",fry:"fy",xhosa:"xh",isixhosa:"xh",xh:"xh",xho:"xh",yiddish:"yi","ייִדיש":"yi",yi:"yi",yid:"yi","yid + 2":"yi",yoruba:"yo","yorùbá":"yo",yo:"yo",yor:"yo","zhuang, chuang":"za","saɯ cueŋƅ, saw cuengh":"za",za:"za",zha:"za","zha + 16":"za","saɯ cueŋƅ":"za","saw cuengh":"za",zulu:"zu",isizulu:"zu",zu:"zu",zul:"zu"};function reduce(from){return reductions[from.toLowerCase()]}var reduceTo6391={reduce:reduce,reductions:reductions};class circular_buffer{constructor(uCapacity){if(!Number.isInteger(uCapacity)){throw new RangeError(`Capacity must be an integer, received ${uCapacity}`)}if(uCapacity<0){throw new RangeError(`Capacity must be a non-negative integer, received ${uCapacity}`)}this._values=new Array(uCapacity);this._capacity=uCapacity;this._cursor=0;this._offset=0;this._length=0}get capacity(){return this._capacity}set capacity(newSize){this.resize(newSize)}get length(){return this._length}set length(newLength){if(newLength>this._capacity){throw new RangeError(`Requested new length [${newLength}] exceeds container capacity [${this._capacity}]`)}if(newLength<0){throw new RangeError(`Requested new length [${newLength}] cannot be negative`)}if(!Number.isInteger(newLength)){throw new RangeError(`Requested new length [${newLength}] must be an integer`)}if(this._length<=newLength){return}this._length=newLength}get available(){return this._capacity-this._length}get isEmpty(){return this._length===0}get isFull(){return this._length===this._capacity}get first(){if(this.isEmpty){throw new RangeError("Cannot return first element of an empty container")}return this.at(0)}get last(){if(this.isEmpty){throw new RangeError("Cannot return last element of an empty container")}return this.at(this.length-1)}static from(i,map_fn,t){const new_array=map_fn?Array.from(i,map_fn,t):Array.from(i);const target_length=new_array.length;const ncb=new circular_buffer(target_length);ncb._values=new_array;ncb._length=target_length;return ncb}push(v){if(this.isFull){throw new RangeError(`Cannot push, structure is full to capacity`)}this._values[(this._cursor+this._length++)%this._capacity]=v;return v}shove(v){let shoved;if(this._capacity===0){throw new RangeError(`Cannot shove, structure is zero-capacity`)}if(this.isFull){shoved=this.pop()}this.push(v);return shoved}fill(x){for(let i=0;i=this._capacity){this._cursor-=this._capacity}return cache}at(i){if(i<0){throw new RangeError(`circular_buffer does not support negative traversals; called at(${i})`)}if(!Number.isInteger(i)){throw new RangeError(`Accessors must be non-negative integers; called at(${i})`)}if(i>=this._capacity){throw new RangeError(`Requested cell ${i} exceeds container permanent capacity`)}if(i>=this._length){throw new RangeError(`Requested cell ${i} exceeds container current length`)}return this._values[(this._cursor+i)%this._capacity]}pos(i){return this.at(i-this.offset())}offset(){return this._offset}resize(newSize,preferEnd=false){this._values=this.toArray();this._cursor=0;const oldSize=this._length;this._length=Math.min(this._length,newSize);this._capacity=newSize;if(newSize>=oldSize){this._values.length=newSize}else{if(preferEnd){const tmp=this._values.slice(oldSize-newSize);this._values=tmp}else{this._values.length=newSize}}}toArray(){const startPoint=this._cursor%this._capacity;if(this._capacity>startPoint+this._length){return this._values.slice(startPoint,startPoint+this._length)}else{const base=this._values.slice(startPoint,this._capacity);base.push(...this._values.slice(0,this.length-(this._capacity-startPoint)));return base}}}const array_box_if_string=n=>typeof n==="string"?[n]:n;const weighted_rand_select=(options,probability_property="probability")=>{if(!Array.isArray(options)){throw new TypeError("options must be a non-empty array of objects")}if(!(typeof options[0]==="object")){throw new TypeError("options must be a non-empty array of objects")}const frand=cap=>Math.random()*cap,or_one=item=>item===undefined?1:item,prob_sum=options.reduce(((acc,val)=>acc+or_one(val[probability_property])),0),rnd=frand(prob_sum);let cursor=0,cursor_sum=0;while((cursor_sum+=or_one(options[cursor++][probability_property]))<=rnd){}return options[cursor-1]};function seq(n){if(!Number.isInteger(n)){throw new TypeError("seq/1 takes a non-negative integer n as an argument")}if(n<0){throw new TypeError("seq/1 takes a non-negative integer n as an argument")}return new Array(n).fill(true).map(((_,i)=>i))}const histograph=ar=>ar.sort().reduce(((m,v)=>(m.set(v,m.has(v)?m.get(v)+1:1),m)),new Map);const weighted_sample_select=(n,options,probability_property)=>seq(n).map((_i=>weighted_rand_select(options,probability_property)));const weighted_histo_key=(n,opts,prob_prop,extract)=>histograph(weighted_sample_select(n,opts,prob_prop).map((s=>s[extract])));const hook_name=(from,to)=>JSON.stringify([from,to]);const named_hook_name=(from,to,action)=>JSON.stringify([from,to,action]);const gviz_shapes=["box3d","polygon","ellipse","oval","circle","point","egg","triangle","plaintext","plain","diamond","trapezium","parallelogram","house","pentagon","hexagon","septagon","octagon","doublecircle","doubleoctagon","tripleoctagon","invtriangle","invtrapezium","invhouse","Mdiamond","Msquare","Mcircle","rectangle","rect","square","star","none","underline","cylinder","note","tab","folder","box","component","promoter","cds","terminator","utr","primersite","restrictionsite","fivepoverhang","threepoverhang","noverhang","assembly","signature","insulator","ribosite","rnastab","proteasesite","proteinstab","rpromoter","rarrow","larrow","lpromoter","record"];const shapes=gviz_shapes;const named_colors=["AliceBlue","AntiqueWhite","Aqua","Aquamarine","Azure","Beige","Bisque","Black","BlanchedAlmond","Blue","BlueViolet","Brown","BurlyWood","CadetBlue","Chartreuse","Chocolate","Coral","CornflowerBlue","Cornsilk","Crimson","Cyan","DarkBlue","DarkCyan","DarkGoldenRod","DarkGray","DarkGrey","DarkGreen","DarkKhaki","DarkMagenta","DarkOliveGreen","Darkorange","DarkOrchid","DarkRed","DarkSalmon","DarkSeaGreen","DarkSlateBlue","DarkSlateGray","DarkSlateGrey","DarkTurquoise","DarkViolet","DeepPink","DeepSkyBlue","DimGray","DimGrey","DodgerBlue","FireBrick","FloralWhite","ForestGreen","Fuchsia","Gainsboro","GhostWhite","Gold","GoldenRod","Gray","Grey","Green","GreenYellow","HoneyDew","HotPink","IndianRed","Indigo","Ivory","Khaki","Lavender","LavenderBlush","LawnGreen","LemonChiffon","LightBlue","LightCoral","LightCyan","LightGoldenRodYellow","LightGray","LightGrey","LightGreen","LightPink","LightSalmon","LightSeaGreen","LightSkyBlue","LightSlateGray","LightSlateGrey","LightSteelBlue","LightYellow","Lime","LimeGreen","Linen","Magenta","Maroon","MediumAquaMarine","MediumBlue","MediumOrchid","MediumPurple","MediumSeaGreen","MediumSlateBlue","MediumSpringGreen","MediumTurquoise","MediumVioletRed","MidnightBlue","MintCream","MistyRose","Moccasin","NavajoWhite","Navy","OldLace","Olive","OliveDrab","Orange","OrangeRed","Orchid","PaleGoldenRod","PaleGreen","PaleTurquoise","PaleVioletRed","PapayaWhip","PeachPuff","Peru","Pink","Plum","PowderBlue","Purple","Red","RosyBrown","RoyalBlue","SaddleBrown","Salmon","SandyBrown","SeaGreen","SeaShell","Sienna","Silver","SkyBlue","SlateBlue","SlateGray","SlateGrey","Snow","SpringGreen","SteelBlue","Tan","Teal","Thistle","Tomato","Turquoise","Violet","Wheat","White","WhiteSmoke","Yellow","YellowGreen"];function peg$subclass(child,parent){function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor}function peg$SyntaxError(message,expected,found,location){this.message=message;this.expected=expected;this.found=found;this.location=location;this.name="SyntaxError";if(typeof Error.captureStackTrace==="function"){Error.captureStackTrace(this,peg$SyntaxError)}}peg$subclass(peg$SyntaxError,Error);peg$SyntaxError.buildMessage=function(expected,found){var DESCRIBE_EXPECTATION_FNS={literal:function(expectation){return'"'+literalEscape(expectation.text)+'"'},class:function(expectation){var escapedParts="",i;for(i=0;i0){for(i=1,j=1;i"),peg$c128="->",peg$c129=peg$literalExpectation("->",false),peg$c130="→",peg$c131=peg$literalExpectation("→",false),peg$c132=function(){return"->"},peg$c133=peg$otherExpectation("two way light arrow <->"),peg$c134="<->",peg$c135=peg$literalExpectation("<->",false),peg$c136="↔",peg$c137=peg$literalExpectation("↔",false),peg$c138=function(){return"<->"},peg$c139=peg$otherExpectation("back light arrow <-"),peg$c140="<-",peg$c141=peg$literalExpectation("<-",false),peg$c142="←",peg$c143=peg$literalExpectation("←",false),peg$c144=function(){return"<-"},peg$c145=peg$otherExpectation("forward fat arrow =>"),peg$c146="=>",peg$c147=peg$literalExpectation("=>",false),peg$c148="⇒",peg$c149=peg$literalExpectation("⇒",false),peg$c150=function(){return"=>"},peg$c151=peg$otherExpectation("two way fat arrow <=>"),peg$c152="<=>",peg$c153=peg$literalExpectation("<=>",false),peg$c154="⇔",peg$c155=peg$literalExpectation("⇔",false),peg$c156=function(){return"<=>"},peg$c157=peg$otherExpectation("back fat arrow <="),peg$c158="<=",peg$c159=peg$literalExpectation("<=",false),peg$c160="⇐",peg$c161=peg$literalExpectation("⇐",false),peg$c162=function(){return"<="},peg$c163=peg$otherExpectation("forward tilde arrow ~>"),peg$c164="~>",peg$c165=peg$literalExpectation("~>",false),peg$c166="↛",peg$c167=peg$literalExpectation("↛",false),peg$c168=function(){return"~>"},peg$c169=peg$otherExpectation("two way tilde arrow <~>"),peg$c170="<~>",peg$c171=peg$literalExpectation("<~>",false),peg$c172="↮",peg$c173=peg$literalExpectation("↮",false),peg$c174=function(){return"<~>"},peg$c175=peg$otherExpectation("back tilde arrow <~"),peg$c176="<~",peg$c177=peg$literalExpectation("<~",false),peg$c178="↚",peg$c179=peg$literalExpectation("↚",false),peg$c180=function(){return"<~"},peg$c181=peg$otherExpectation("light fat arrow <-=>"),peg$c182="<-=>",peg$c183=peg$literalExpectation("<-=>",false),peg$c184="←⇒",peg$c185=peg$literalExpectation("←⇒",false),peg$c186=function(){return"<-=>"},peg$c187=peg$otherExpectation("light tilde arrow <-~>"),peg$c188="<-~>",peg$c189=peg$literalExpectation("<-~>",false),peg$c190="←↛",peg$c191=peg$literalExpectation("←↛",false),peg$c192=function(){return"<-~>"},peg$c193=peg$otherExpectation("fat light arrow <=->"),peg$c194="<=->",peg$c195=peg$literalExpectation("<=->",false),peg$c196="⇐→",peg$c197=peg$literalExpectation("⇐→",false),peg$c198=function(){return"<=->"},peg$c199=peg$otherExpectation("fat tilde arrow <=~>"),peg$c200="<=~>",peg$c201=peg$literalExpectation("<=~>",false),peg$c202="⇐↛",peg$c203=peg$literalExpectation("⇐↛",false),peg$c204=function(){return"<=~>"},peg$c205=peg$otherExpectation("tilde light arrow <~->"),peg$c206="<~->",peg$c207=peg$literalExpectation("<~->",false),peg$c208="↚→",peg$c209=peg$literalExpectation("↚→",false),peg$c210=function(){return"<~->"},peg$c211=peg$otherExpectation("tilde fat arrow <~=>"),peg$c212="<~=>",peg$c213=peg$literalExpectation("<~=>",false),peg$c214="↚⇒",peg$c215=peg$literalExpectation("↚⇒",false),peg$c216=function(){return"<~=>"},peg$c217=peg$otherExpectation("light arrow"),peg$c218=peg$otherExpectation("fat arrow"),peg$c219=peg$otherExpectation("tilde arrow"),peg$c220=peg$otherExpectation("mixed arrow"),peg$c221=peg$otherExpectation("arrow"),peg$c222="true",peg$c223=peg$literalExpectation("true",false),peg$c225="false",peg$c226=peg$literalExpectation("false",false),peg$c228="regular",peg$c229=peg$literalExpectation("regular",false),peg$c230="rounded",peg$c231=peg$literalExpectation("rounded",false),peg$c232="lined",peg$c233=peg$literalExpectation("lined",false),peg$c234="solid",peg$c235=peg$literalExpectation("solid",false),peg$c236="dotted",peg$c237=peg$literalExpectation("dotted",false),peg$c238="dashed",peg$c239=peg$literalExpectation("dashed",false),peg$c240=/^[0-9a-fA-F]/,peg$c241=peg$classExpectation([["0","9"],["a","f"],["A","F"]],false,false),peg$c242='"',peg$c243=peg$literalExpectation('"',false),peg$c244="\\",peg$c245=peg$literalExpectation("\\",false),peg$c246="/",peg$c247=peg$literalExpectation("/",false),peg$c248="b",peg$c249=peg$literalExpectation("b",false),peg$c250=function(){return"\b"},peg$c251="f",peg$c252=peg$literalExpectation("f",false),peg$c253=function(){return"\f"},peg$c254="n",peg$c255=peg$literalExpectation("n",false),peg$c256=function(){return"\n"},peg$c257="r",peg$c258=peg$literalExpectation("r",false),peg$c259=function(){return"\r"},peg$c260="t",peg$c261=peg$literalExpectation("t",false),peg$c262=function(){return"\t"},peg$c263="v",peg$c264=peg$literalExpectation("v",false),peg$c265=function(){return"\v"},peg$c266="u",peg$c267=peg$literalExpectation("u",false),peg$c268=function(digits){return String.fromCharCode(parseInt(digits,16))},peg$c269=function(Sequence){return Sequence},peg$c270=/^[ -!#-[\]-\u10FFFF]/,peg$c271=peg$classExpectation([[" ","!"],["#","["],["]","ჿ"],"F","F"],false,false),peg$c272="'",peg$c273=peg$literalExpectation("'",false),peg$c274=/^[ -&(-[\]-\u10FFFF]/,peg$c275=peg$classExpectation([[" ","&"],["(","["],["]","ჿ"],"F","F"],false,false),peg$c276=peg$otherExpectation("action label"),peg$c277=function(chars){return chars.join("")},peg$c278=/^[\n\r\u2028\u2029]/,peg$c279=peg$classExpectation(["\n","\r","\u2028","\u2029"],false,false),peg$c282="*/",peg$c283=peg$literalExpectation("*/",false),peg$c284=peg$anyExpectation(),peg$c285=peg$otherExpectation("block comment"),peg$c286="/*",peg$c287=peg$literalExpectation("/*",false),peg$c288=peg$otherExpectation("line comment"),peg$c289="//",peg$c290=peg$literalExpectation("//",false),peg$c291=peg$otherExpectation("whitespace"),peg$c292=/^[ \t\r\n\x0B]/,peg$c293=peg$classExpectation([" ","\t","\r","\n","\v"],false,false),peg$c294=peg$otherExpectation("string"),peg$c295=/^[0-9a-zA-Z._!$\^*!?,\x80-\uFFFF]/,peg$c296=peg$classExpectation([["0","9"],["a","z"],["A","Z"],".","_","!","$","^","*","!","?",",",["€","￿"]],false,false),peg$c297=/^[0-9a-zA-Z.+=_\^()*&$#@!?,\x80-\uFFFF]/,peg$c298=peg$classExpectation([["0","9"],["a","z"],["A","Z"],".","+","=","_","^","(",")","*","&","$","#","@","!","?",",",["€","￿"]],false,false),peg$c299=peg$otherExpectation("atom"),peg$c300=function(firstletter,text){return firstletter+(text||[]).join("")},peg$c301=peg$otherExpectation("label"),peg$c302="0",peg$c303=peg$literalExpectation("0",false),peg$c304=/^[0-9]/,peg$c305=peg$classExpectation([["0","9"]],false,false),peg$c306=/^[1-9]/,peg$c307=peg$classExpectation([["1","9"]],false,false),peg$c308=peg$otherExpectation("nonneg number"),peg$c309=".",peg$c310=peg$literalExpectation(".",false),peg$c311=function(){return parseFloat(text())},peg$c312=function(major,minor,patch){return{major:parseInt(major,10),minor:parseInt(minor,10),patch:parseInt(patch,10),full:text()}},peg$c323="http://",peg$c324=peg$literalExpectation("http://",false),peg$c325="https://",peg$c326=peg$literalExpectation("https://",false),peg$c327=/^[a-zA-Z0-9!*'():;@&=+$,\/?#[\]_.~\-]/,peg$c328=peg$classExpectation([["a","z"],["A","Z"],["0","9"],"!","*","'","(",")",":",";","@","&","=","+","$",",","/","?","#","[","]","_",".","~","-"],false,false),peg$c329=function(protocol){return text()},peg$c330="aliceblue",peg$c331=peg$literalExpectation("aliceblue",false),peg$c332=function(){return"#f0f8ffff"},peg$c333="AliceBlue",peg$c334=peg$literalExpectation("AliceBlue",false),peg$c335="antiquewhite",peg$c336=peg$literalExpectation("antiquewhite",false),peg$c337=function(){return"#faebd7ff"},peg$c338="AntiqueWhite",peg$c339=peg$literalExpectation("AntiqueWhite",false),peg$c340="aquamarine",peg$c341=peg$literalExpectation("aquamarine",false),peg$c342=function(){return"#7fffd4ff"},peg$c343="Aquamarine",peg$c344=peg$literalExpectation("Aquamarine",false),peg$c345="aqua",peg$c346=peg$literalExpectation("aqua",false),peg$c347=function(){return"#00ffffff"},peg$c348="Aqua",peg$c349=peg$literalExpectation("Aqua",false),peg$c350="azure",peg$c351=peg$literalExpectation("azure",false),peg$c352=function(){return"#f0ffffff"},peg$c353="Azure",peg$c354=peg$literalExpectation("Azure",false),peg$c355="beige",peg$c356=peg$literalExpectation("beige",false),peg$c357=function(){return"#f5f5dcff"},peg$c358="Beige",peg$c359=peg$literalExpectation("Beige",false),peg$c360="bisque",peg$c361=peg$literalExpectation("bisque",false),peg$c362=function(){return"#ffe4c4ff"},peg$c363="Bisque",peg$c364=peg$literalExpectation("Bisque",false),peg$c365="black",peg$c366=peg$literalExpectation("black",false),peg$c367=function(){return"#000000ff"},peg$c368="Black",peg$c369=peg$literalExpectation("Black",false),peg$c370="blanchedalmond",peg$c371=peg$literalExpectation("blanchedalmond",false),peg$c372=function(){return"#ffebcdff"},peg$c373="BlanchedAlmond",peg$c374=peg$literalExpectation("BlanchedAlmond",false),peg$c375="blueviolet",peg$c376=peg$literalExpectation("blueviolet",false),peg$c377=function(){return"#8a2be2ff"},peg$c378="BlueViolet",peg$c379=peg$literalExpectation("BlueViolet",false),peg$c380="blue",peg$c381=peg$literalExpectation("blue",false),peg$c382=function(){return"#0000ffff"},peg$c383="Blue",peg$c384=peg$literalExpectation("Blue",false),peg$c385="brown",peg$c386=peg$literalExpectation("brown",false),peg$c387=function(){return"#a52a2aff"},peg$c388="Brown",peg$c389=peg$literalExpectation("Brown",false),peg$c390="burlywood",peg$c391=peg$literalExpectation("burlywood",false),peg$c392=function(){return"#deb887ff"},peg$c393="BurlyWood",peg$c394=peg$literalExpectation("BurlyWood",false),peg$c395="cadetblue",peg$c396=peg$literalExpectation("cadetblue",false),peg$c397=function(){return"#5f9ea0ff"},peg$c398="CadetBlue",peg$c399=peg$literalExpectation("CadetBlue",false),peg$c400="chartreuse",peg$c401=peg$literalExpectation("chartreuse",false),peg$c402=function(){return"#7fff00ff"},peg$c403="Chartreuse",peg$c404=peg$literalExpectation("Chartreuse",false),peg$c405="chocolate",peg$c406=peg$literalExpectation("chocolate",false),peg$c407=function(){return"#d2691eff"},peg$c408="Chocolate",peg$c409=peg$literalExpectation("Chocolate",false),peg$c410="coral",peg$c411=peg$literalExpectation("coral",false),peg$c412=function(){return"#ff7f50ff"},peg$c413="Coral",peg$c414=peg$literalExpectation("Coral",false),peg$c415="cornflowerblue",peg$c416=peg$literalExpectation("cornflowerblue",false),peg$c417=function(){return"#6495edff"},peg$c418="CornflowerBlue",peg$c419=peg$literalExpectation("CornflowerBlue",false),peg$c420="cornsilk",peg$c421=peg$literalExpectation("cornsilk",false),peg$c422=function(){return"#fff8dcff"},peg$c423="Cornsilk",peg$c424=peg$literalExpectation("Cornsilk",false),peg$c425="crimson",peg$c426=peg$literalExpectation("crimson",false),peg$c427=function(){return"#dc143cff"},peg$c428="Crimson",peg$c429=peg$literalExpectation("Crimson",false),peg$c430="cyan",peg$c431=peg$literalExpectation("cyan",false),peg$c432="Cyan",peg$c433=peg$literalExpectation("Cyan",false),peg$c434="darkblue",peg$c435=peg$literalExpectation("darkblue",false),peg$c436=function(){return"#00008bff"},peg$c437="DarkBlue",peg$c438=peg$literalExpectation("DarkBlue",false),peg$c439="darkcyan",peg$c440=peg$literalExpectation("darkcyan",false),peg$c441=function(){return"#008b8bff"},peg$c442="DarkCyan",peg$c443=peg$literalExpectation("DarkCyan",false),peg$c444="darkgoldenrod",peg$c445=peg$literalExpectation("darkgoldenrod",false),peg$c446=function(){return"#b8860bff"},peg$c447="DarkGoldenRod",peg$c448=peg$literalExpectation("DarkGoldenRod",false),peg$c449="darkgray",peg$c450=peg$literalExpectation("darkgray",false),peg$c451=function(){return"#a9a9a9ff"},peg$c452="DarkGray",peg$c453=peg$literalExpectation("DarkGray",false),peg$c454="darkgrey",peg$c455=peg$literalExpectation("darkgrey",false),peg$c456="DarkGrey",peg$c457=peg$literalExpectation("DarkGrey",false),peg$c458="darkgreen",peg$c459=peg$literalExpectation("darkgreen",false),peg$c460=function(){return"#006400ff"},peg$c461="DarkGreen",peg$c462=peg$literalExpectation("DarkGreen",false),peg$c463="darkkhaki",peg$c464=peg$literalExpectation("darkkhaki",false),peg$c465=function(){return"#bdb76bff"},peg$c466="DarkKhaki",peg$c467=peg$literalExpectation("DarkKhaki",false),peg$c468="darkmagenta",peg$c469=peg$literalExpectation("darkmagenta",false),peg$c470=function(){return"#8b008bff"},peg$c471="DarkMagenta",peg$c472=peg$literalExpectation("DarkMagenta",false),peg$c473="darkolivegreen",peg$c474=peg$literalExpectation("darkolivegreen",false),peg$c475=function(){return"#556b2fff"},peg$c476="DarkOliveGreen",peg$c477=peg$literalExpectation("DarkOliveGreen",false),peg$c478="darkorange",peg$c479=peg$literalExpectation("darkorange",false),peg$c480=function(){return"#ff8c00ff"},peg$c481="Darkorange",peg$c482=peg$literalExpectation("Darkorange",false),peg$c483="darkorchid",peg$c484=peg$literalExpectation("darkorchid",false),peg$c485=function(){return"#9932ccff"},peg$c486="DarkOrchid",peg$c487=peg$literalExpectation("DarkOrchid",false),peg$c488="darkred",peg$c489=peg$literalExpectation("darkred",false),peg$c490=function(){return"#8b0000ff"},peg$c491="DarkRed",peg$c492=peg$literalExpectation("DarkRed",false),peg$c493="darksalmon",peg$c494=peg$literalExpectation("darksalmon",false),peg$c495=function(){return"#e9967aff"},peg$c496="DarkSalmon",peg$c497=peg$literalExpectation("DarkSalmon",false),peg$c498="darkseagreen",peg$c499=peg$literalExpectation("darkseagreen",false),peg$c500=function(){return"#8fbc8fff"},peg$c501="DarkSeaGreen",peg$c502=peg$literalExpectation("DarkSeaGreen",false),peg$c503="darkslateblue",peg$c504=peg$literalExpectation("darkslateblue",false),peg$c505=function(){return"#483d8bff"},peg$c506="DarkSlateBlue",peg$c507=peg$literalExpectation("DarkSlateBlue",false),peg$c508="darkslategray",peg$c509=peg$literalExpectation("darkslategray",false),peg$c510=function(){return"#2f4f4fff"},peg$c511="DarkSlateGray",peg$c512=peg$literalExpectation("DarkSlateGray",false),peg$c513="darkslategrey",peg$c514=peg$literalExpectation("darkslategrey",false),peg$c515="DarkSlateGrey",peg$c516=peg$literalExpectation("DarkSlateGrey",false),peg$c517="darkturquoise",peg$c518=peg$literalExpectation("darkturquoise",false),peg$c519=function(){return"#00ced1ff"},peg$c520="DarkTurquoise",peg$c521=peg$literalExpectation("DarkTurquoise",false),peg$c522="darkviolet",peg$c523=peg$literalExpectation("darkviolet",false),peg$c524=function(){return"#9400d3ff"},peg$c525="DarkViolet",peg$c526=peg$literalExpectation("DarkViolet",false),peg$c527="deeppink",peg$c528=peg$literalExpectation("deeppink",false),peg$c529=function(){return"#ff1493ff"},peg$c530="DeepPink",peg$c531=peg$literalExpectation("DeepPink",false),peg$c532="deepskyblue",peg$c533=peg$literalExpectation("deepskyblue",false),peg$c534=function(){return"#00bfffff"},peg$c535="DeepSkyBlue",peg$c536=peg$literalExpectation("DeepSkyBlue",false),peg$c537="dimgray",peg$c538=peg$literalExpectation("dimgray",false),peg$c539=function(){return"#696969ff"},peg$c540="DimGray",peg$c541=peg$literalExpectation("DimGray",false),peg$c542="dimgrey",peg$c543=peg$literalExpectation("dimgrey",false),peg$c544="DimGrey",peg$c545=peg$literalExpectation("DimGrey",false),peg$c546="dodgerblue",peg$c547=peg$literalExpectation("dodgerblue",false),peg$c548=function(){return"#1e90ffff"},peg$c549="DodgerBlue",peg$c550=peg$literalExpectation("DodgerBlue",false),peg$c551="firebrick",peg$c552=peg$literalExpectation("firebrick",false),peg$c553=function(){return"#b22222ff"},peg$c554="FireBrick",peg$c555=peg$literalExpectation("FireBrick",false),peg$c556="floralwhite",peg$c557=peg$literalExpectation("floralwhite",false),peg$c558=function(){return"#fffaf0ff"},peg$c559="FloralWhite",peg$c560=peg$literalExpectation("FloralWhite",false),peg$c561="forestgreen",peg$c562=peg$literalExpectation("forestgreen",false),peg$c563=function(){return"#228b22ff"},peg$c564="ForestGreen",peg$c565=peg$literalExpectation("ForestGreen",false),peg$c566="fuchsia",peg$c567=peg$literalExpectation("fuchsia",false),peg$c568=function(){return"#ff00ffff"},peg$c569="Fuchsia",peg$c570=peg$literalExpectation("Fuchsia",false),peg$c571="gainsboro",peg$c572=peg$literalExpectation("gainsboro",false),peg$c573=function(){return"#dcdcdcff"},peg$c574="Gainsboro",peg$c575=peg$literalExpectation("Gainsboro",false),peg$c576="ghostwhite",peg$c577=peg$literalExpectation("ghostwhite",false),peg$c578=function(){return"#f8f8ffff"},peg$c579="GhostWhite",peg$c580=peg$literalExpectation("GhostWhite",false),peg$c581="goldenrod",peg$c582=peg$literalExpectation("goldenrod",false),peg$c583=function(){return"#daa520ff"},peg$c584="GoldenRod",peg$c585=peg$literalExpectation("GoldenRod",false),peg$c586="gold",peg$c587=peg$literalExpectation("gold",false),peg$c588=function(){return"#ffd700ff"},peg$c589="Gold",peg$c590=peg$literalExpectation("Gold",false),peg$c591="gray",peg$c592=peg$literalExpectation("gray",false),peg$c593=function(){return"#808080ff"},peg$c594="Gray",peg$c595=peg$literalExpectation("Gray",false),peg$c596="grey",peg$c597=peg$literalExpectation("grey",false),peg$c598="Grey",peg$c599=peg$literalExpectation("Grey",false),peg$c600="greenyellow",peg$c601=peg$literalExpectation("greenyellow",false),peg$c602=function(){return"#adff2fff"},peg$c603="GreenYellow",peg$c604=peg$literalExpectation("GreenYellow",false),peg$c605="green",peg$c606=peg$literalExpectation("green",false),peg$c607=function(){return"#008000ff"},peg$c608="Green",peg$c609=peg$literalExpectation("Green",false),peg$c610="honeydew",peg$c611=peg$literalExpectation("honeydew",false),peg$c612=function(){return"#f0fff0ff"},peg$c613="HoneyDew",peg$c614=peg$literalExpectation("HoneyDew",false),peg$c615="hotpink",peg$c616=peg$literalExpectation("hotpink",false),peg$c617=function(){return"#ff69b4ff"},peg$c618="HotPink",peg$c619=peg$literalExpectation("HotPink",false),peg$c620="indianred",peg$c621=peg$literalExpectation("indianred",false),peg$c622=function(){return"#cd5c5cff"},peg$c623="IndianRed",peg$c624=peg$literalExpectation("IndianRed",false),peg$c625="indigo",peg$c626=peg$literalExpectation("indigo",false),peg$c627=function(){return"#4b0082ff"},peg$c628="Indigo",peg$c629=peg$literalExpectation("Indigo",false),peg$c630="ivory",peg$c631=peg$literalExpectation("ivory",false),peg$c632=function(){return"#fffff0ff"},peg$c633="Ivory",peg$c634=peg$literalExpectation("Ivory",false),peg$c635="khaki",peg$c636=peg$literalExpectation("khaki",false),peg$c637=function(){return"#f0e68cff"},peg$c638="Khaki",peg$c639=peg$literalExpectation("Khaki",false),peg$c640="lavenderblush",peg$c641=peg$literalExpectation("lavenderblush",false),peg$c642=function(){return"#fff0f5ff"},peg$c643="LavenderBlush",peg$c644=peg$literalExpectation("LavenderBlush",false),peg$c645="lavender",peg$c646=peg$literalExpectation("lavender",false),peg$c647=function(){return"#e6e6faff"},peg$c648="Lavender",peg$c649=peg$literalExpectation("Lavender",false),peg$c650="lawngreen",peg$c651=peg$literalExpectation("lawngreen",false),peg$c652=function(){return"#7cfc00ff"},peg$c653="LawnGreen",peg$c654=peg$literalExpectation("LawnGreen",false),peg$c655="lemonchiffon",peg$c656=peg$literalExpectation("lemonchiffon",false),peg$c657=function(){return"#fffacdff"},peg$c658="LemonChiffon",peg$c659=peg$literalExpectation("LemonChiffon",false),peg$c660="lightblue",peg$c661=peg$literalExpectation("lightblue",false),peg$c662=function(){return"#add8e6ff"},peg$c663="LightBlue",peg$c664=peg$literalExpectation("LightBlue",false),peg$c665="lightcoral",peg$c666=peg$literalExpectation("lightcoral",false),peg$c667=function(){return"#f08080ff"},peg$c668="LightCoral",peg$c669=peg$literalExpectation("LightCoral",false),peg$c670="lightcyan",peg$c671=peg$literalExpectation("lightcyan",false),peg$c672=function(){return"#e0ffffff"},peg$c673="LightCyan",peg$c674=peg$literalExpectation("LightCyan",false),peg$c675="lightgoldenrodyellow",peg$c676=peg$literalExpectation("lightgoldenrodyellow",false),peg$c677=function(){return"#fafad2ff"},peg$c678="LightGoldenRodYellow",peg$c679=peg$literalExpectation("LightGoldenRodYellow",false),peg$c680="lightgray",peg$c681=peg$literalExpectation("lightgray",false),peg$c682=function(){return"#d3d3d3ff"},peg$c683="LightGray",peg$c684=peg$literalExpectation("LightGray",false),peg$c685="lightgrey",peg$c686=peg$literalExpectation("lightgrey",false),peg$c687="LightGrey",peg$c688=peg$literalExpectation("LightGrey",false),peg$c689="lightgreen",peg$c690=peg$literalExpectation("lightgreen",false),peg$c691=function(){return"#90ee90ff"},peg$c692="LightGreen",peg$c693=peg$literalExpectation("LightGreen",false),peg$c694="lightpink",peg$c695=peg$literalExpectation("lightpink",false),peg$c696=function(){return"#ffb6c1ff"},peg$c697="LightPink",peg$c698=peg$literalExpectation("LightPink",false),peg$c699="lightsalmon",peg$c700=peg$literalExpectation("lightsalmon",false),peg$c701=function(){return"#ffa07aff"},peg$c702="LightSalmon",peg$c703=peg$literalExpectation("LightSalmon",false),peg$c704="lightseagreen",peg$c705=peg$literalExpectation("lightseagreen",false),peg$c706=function(){return"#20b2aaff"},peg$c707="LightSeaGreen",peg$c708=peg$literalExpectation("LightSeaGreen",false),peg$c709="lightskyblue",peg$c710=peg$literalExpectation("lightskyblue",false),peg$c711=function(){return"#87cefaff"},peg$c712="LightSkyBlue",peg$c713=peg$literalExpectation("LightSkyBlue",false),peg$c714="lightslategray",peg$c715=peg$literalExpectation("lightslategray",false),peg$c716=function(){return"#778899ff"},peg$c717="LightSlateGray",peg$c718=peg$literalExpectation("LightSlateGray",false),peg$c719="lightslategrey",peg$c720=peg$literalExpectation("lightslategrey",false),peg$c721="LightSlateGrey",peg$c722=peg$literalExpectation("LightSlateGrey",false),peg$c723="lightsteelblue",peg$c724=peg$literalExpectation("lightsteelblue",false),peg$c725=function(){return"#b0c4deff"},peg$c726="LightSteelBlue",peg$c727=peg$literalExpectation("LightSteelBlue",false),peg$c728="lightyellow",peg$c729=peg$literalExpectation("lightyellow",false),peg$c730=function(){return"#ffffe0ff"},peg$c731="LightYellow",peg$c732=peg$literalExpectation("LightYellow",false),peg$c733="limegreen",peg$c734=peg$literalExpectation("limegreen",false),peg$c735=function(){return"#32cd32ff"},peg$c736="LimeGreen",peg$c737=peg$literalExpectation("LimeGreen",false),peg$c738="lime",peg$c739=peg$literalExpectation("lime",false),peg$c740=function(){return"#00ff00ff"},peg$c741="Lime",peg$c742=peg$literalExpectation("Lime",false),peg$c743="linen",peg$c744=peg$literalExpectation("linen",false),peg$c745=function(){return"#faf0e6ff"},peg$c746="Linen",peg$c747=peg$literalExpectation("Linen",false),peg$c748="magenta",peg$c749=peg$literalExpectation("magenta",false),peg$c750="Magenta",peg$c751=peg$literalExpectation("Magenta",false),peg$c752="maroon",peg$c753=peg$literalExpectation("maroon",false),peg$c754=function(){return"#800000ff"},peg$c755="Maroon",peg$c756=peg$literalExpectation("Maroon",false),peg$c757="mediumaquamarine",peg$c758=peg$literalExpectation("mediumaquamarine",false),peg$c759=function(){return"#66cdaaff"},peg$c760="MediumAquaMarine",peg$c761=peg$literalExpectation("MediumAquaMarine",false),peg$c762="mediumblue",peg$c763=peg$literalExpectation("mediumblue",false),peg$c764=function(){return"#0000cdff"},peg$c765="MediumBlue",peg$c766=peg$literalExpectation("MediumBlue",false),peg$c767="mediumorchid",peg$c768=peg$literalExpectation("mediumorchid",false),peg$c769=function(){return"#ba55d3ff"},peg$c770="MediumOrchid",peg$c771=peg$literalExpectation("MediumOrchid",false),peg$c772="mediumpurple",peg$c773=peg$literalExpectation("mediumpurple",false),peg$c774=function(){return"#9370d8ff"},peg$c775="MediumPurple",peg$c776=peg$literalExpectation("MediumPurple",false),peg$c777="mediumseagreen",peg$c778=peg$literalExpectation("mediumseagreen",false),peg$c779=function(){return"#3cb371ff"},peg$c780="MediumSeaGreen",peg$c781=peg$literalExpectation("MediumSeaGreen",false),peg$c782="mediumslateblue",peg$c783=peg$literalExpectation("mediumslateblue",false),peg$c784=function(){return"#7b68eeff"},peg$c785="MediumSlateBlue",peg$c786=peg$literalExpectation("MediumSlateBlue",false),peg$c787="mediumspringgreen",peg$c788=peg$literalExpectation("mediumspringgreen",false),peg$c789=function(){return"#00fa9aff"},peg$c790="MediumSpringGreen",peg$c791=peg$literalExpectation("MediumSpringGreen",false),peg$c792="mediumturquoise",peg$c793=peg$literalExpectation("mediumturquoise",false),peg$c794=function(){return"#48d1ccff"},peg$c795="MediumTurquoise",peg$c796=peg$literalExpectation("MediumTurquoise",false),peg$c797="mediumvioletred",peg$c798=peg$literalExpectation("mediumvioletred",false),peg$c799=function(){return"#c71585ff"},peg$c800="MediumVioletRed",peg$c801=peg$literalExpectation("MediumVioletRed",false),peg$c802="midnightblue",peg$c803=peg$literalExpectation("midnightblue",false),peg$c804=function(){return"#191970ff"},peg$c805="MidnightBlue",peg$c806=peg$literalExpectation("MidnightBlue",false),peg$c807="mintcream",peg$c808=peg$literalExpectation("mintcream",false),peg$c809=function(){return"#f5fffaff"},peg$c810="MintCream",peg$c811=peg$literalExpectation("MintCream",false),peg$c812="mistyrose",peg$c813=peg$literalExpectation("mistyrose",false),peg$c814=function(){return"#ffe4e1ff"},peg$c815="MistyRose",peg$c816=peg$literalExpectation("MistyRose",false),peg$c817="moccasin",peg$c818=peg$literalExpectation("moccasin",false),peg$c819=function(){return"#ffe4b5ff"},peg$c820="Moccasin",peg$c821=peg$literalExpectation("Moccasin",false),peg$c822="navajowhite",peg$c823=peg$literalExpectation("navajowhite",false),peg$c824=function(){return"#ffdeadff"},peg$c825="NavajoWhite",peg$c826=peg$literalExpectation("NavajoWhite",false),peg$c827="navy",peg$c828=peg$literalExpectation("navy",false),peg$c829=function(){return"#000080ff"},peg$c830="Navy",peg$c831=peg$literalExpectation("Navy",false),peg$c832="oldlace",peg$c833=peg$literalExpectation("oldlace",false),peg$c834=function(){return"#fdf5e6ff"},peg$c835="OldLace",peg$c836=peg$literalExpectation("OldLace",false),peg$c837="olivedrab",peg$c838=peg$literalExpectation("olivedrab",false),peg$c839=function(){return"#6b8e23ff"},peg$c840="OliveDrab",peg$c841=peg$literalExpectation("OliveDrab",false),peg$c842="olive",peg$c843=peg$literalExpectation("olive",false),peg$c844=function(){return"#808000ff"},peg$c845="Olive",peg$c846=peg$literalExpectation("Olive",false),peg$c847="orangered",peg$c848=peg$literalExpectation("orangered",false),peg$c849=function(){return"#ff4500ff"},peg$c850="OrangeRed",peg$c851=peg$literalExpectation("OrangeRed",false),peg$c852="orange",peg$c853=peg$literalExpectation("orange",false),peg$c854=function(){return"#ffa500ff"},peg$c855="Orange",peg$c856=peg$literalExpectation("Orange",false),peg$c857="orchid",peg$c858=peg$literalExpectation("orchid",false),peg$c859=function(){return"#da70d6ff"},peg$c860="Orchid",peg$c861=peg$literalExpectation("Orchid",false),peg$c862="palegoldenrod",peg$c863=peg$literalExpectation("palegoldenrod",false),peg$c864=function(){return"#eee8aaff"},peg$c865="PaleGoldenRod",peg$c866=peg$literalExpectation("PaleGoldenRod",false),peg$c867="palegreen",peg$c868=peg$literalExpectation("palegreen",false),peg$c869=function(){return"#98fb98ff"},peg$c870="PaleGreen",peg$c871=peg$literalExpectation("PaleGreen",false),peg$c872="paleturquoise",peg$c873=peg$literalExpectation("paleturquoise",false),peg$c874=function(){return"#afeeeeff"},peg$c875="PaleTurquoise",peg$c876=peg$literalExpectation("PaleTurquoise",false),peg$c877="palevioletred",peg$c878=peg$literalExpectation("palevioletred",false),peg$c879=function(){return"#d87093ff"},peg$c880="PaleVioletRed",peg$c881=peg$literalExpectation("PaleVioletRed",false),peg$c882="papayawhip",peg$c883=peg$literalExpectation("papayawhip",false),peg$c884=function(){return"#ffefd5ff"},peg$c885="PapayaWhip",peg$c886=peg$literalExpectation("PapayaWhip",false),peg$c887="peachpuff",peg$c888=peg$literalExpectation("peachpuff",false),peg$c889=function(){return"#ffdab9ff"},peg$c890="PeachPuff",peg$c891=peg$literalExpectation("PeachPuff",false),peg$c892="peru",peg$c893=peg$literalExpectation("peru",false),peg$c894=function(){return"#cd853fff"},peg$c895="Peru",peg$c896=peg$literalExpectation("Peru",false),peg$c897="pink",peg$c898=peg$literalExpectation("pink",false),peg$c899=function(){return"#ffc0cbff"},peg$c900="Pink",peg$c901=peg$literalExpectation("Pink",false),peg$c902="plum",peg$c903=peg$literalExpectation("plum",false),peg$c904=function(){return"#dda0ddff"},peg$c905="Plum",peg$c906=peg$literalExpectation("Plum",false),peg$c907="powderblue",peg$c908=peg$literalExpectation("powderblue",false),peg$c909=function(){return"#b0e0e6ff"},peg$c910="PowderBlue",peg$c911=peg$literalExpectation("PowderBlue",false),peg$c912="purple",peg$c913=peg$literalExpectation("purple",false),peg$c914=function(){return"#800080ff"},peg$c915="Purple",peg$c916=peg$literalExpectation("Purple",false),peg$c917="red",peg$c918=peg$literalExpectation("red",false),peg$c919=function(){return"#ff0000ff"},peg$c920="Red",peg$c921=peg$literalExpectation("Red",false),peg$c922="rosybrown",peg$c923=peg$literalExpectation("rosybrown",false),peg$c924=function(){return"#bc8f8fff"},peg$c925="RosyBrown",peg$c926=peg$literalExpectation("RosyBrown",false),peg$c927="royalblue",peg$c928=peg$literalExpectation("royalblue",false),peg$c929=function(){return"#4169e1ff"},peg$c930="RoyalBlue",peg$c931=peg$literalExpectation("RoyalBlue",false),peg$c932="saddlebrown",peg$c933=peg$literalExpectation("saddlebrown",false),peg$c934=function(){return"#8b4513ff"},peg$c935="SaddleBrown",peg$c936=peg$literalExpectation("SaddleBrown",false),peg$c937="salmon",peg$c938=peg$literalExpectation("salmon",false),peg$c939=function(){return"#fa8072ff"},peg$c940="Salmon",peg$c941=peg$literalExpectation("Salmon",false),peg$c942="sandybrown",peg$c943=peg$literalExpectation("sandybrown",false),peg$c944=function(){return"#f4a460ff"},peg$c945="SandyBrown",peg$c946=peg$literalExpectation("SandyBrown",false),peg$c947="seagreen",peg$c948=peg$literalExpectation("seagreen",false),peg$c949=function(){return"#2e8b57ff"},peg$c950="SeaGreen",peg$c951=peg$literalExpectation("SeaGreen",false),peg$c952="seashell",peg$c953=peg$literalExpectation("seashell",false),peg$c954=function(){return"#fff5eeff"},peg$c955="SeaShell",peg$c956=peg$literalExpectation("SeaShell",false),peg$c957="sienna",peg$c958=peg$literalExpectation("sienna",false),peg$c959=function(){return"#a0522dff"},peg$c960="Sienna",peg$c961=peg$literalExpectation("Sienna",false),peg$c962="silver",peg$c963=peg$literalExpectation("silver",false),peg$c964=function(){return"#c0c0c0ff"},peg$c965="Silver",peg$c966=peg$literalExpectation("Silver",false),peg$c967="skyblue",peg$c968=peg$literalExpectation("skyblue",false),peg$c969=function(){return"#87ceebff"},peg$c970="SkyBlue",peg$c971=peg$literalExpectation("SkyBlue",false),peg$c972="slateblue",peg$c973=peg$literalExpectation("slateblue",false),peg$c974=function(){return"#6a5acdff"},peg$c975="SlateBlue",peg$c976=peg$literalExpectation("SlateBlue",false),peg$c977="slategray",peg$c978=peg$literalExpectation("slategray",false),peg$c979=function(){return"#708090ff"},peg$c980="SlateGray",peg$c981=peg$literalExpectation("SlateGray",false),peg$c982="slategrey",peg$c983=peg$literalExpectation("slategrey",false),peg$c984="SlateGrey",peg$c985=peg$literalExpectation("SlateGrey",false),peg$c986="snow",peg$c987=peg$literalExpectation("snow",false),peg$c988=function(){return"#fffafaff"},peg$c989="Snow",peg$c990=peg$literalExpectation("Snow",false),peg$c991="springgreen",peg$c992=peg$literalExpectation("springgreen",false),peg$c993=function(){return"#00ff7fff"},peg$c994="SpringGreen",peg$c995=peg$literalExpectation("SpringGreen",false),peg$c996="steelblue",peg$c997=peg$literalExpectation("steelblue",false),peg$c998=function(){return"#4682b4ff"},peg$c999="SteelBlue",peg$c1000=peg$literalExpectation("SteelBlue",false),peg$c1001="tan",peg$c1002=peg$literalExpectation("tan",false),peg$c1003=function(){return"#d2b48cff"},peg$c1004="Tan",peg$c1005=peg$literalExpectation("Tan",false),peg$c1006="teal",peg$c1007=peg$literalExpectation("teal",false),peg$c1008=function(){return"#008080ff"},peg$c1009="Teal",peg$c1010=peg$literalExpectation("Teal",false),peg$c1011="thistle",peg$c1012=peg$literalExpectation("thistle",false),peg$c1013=function(){return"#d8bfd8ff"},peg$c1014="Thistle",peg$c1015=peg$literalExpectation("Thistle",false),peg$c1016="tomato",peg$c1017=peg$literalExpectation("tomato",false),peg$c1018=function(){return"#ff6347ff"},peg$c1019="Tomato",peg$c1020=peg$literalExpectation("Tomato",false),peg$c1021="turquoise",peg$c1022=peg$literalExpectation("turquoise",false),peg$c1023=function(){return"#40e0d0ff"},peg$c1024="Turquoise",peg$c1025=peg$literalExpectation("Turquoise",false),peg$c1026="violet",peg$c1027=peg$literalExpectation("violet",false),peg$c1028=function(){return"#ee82eeff"},peg$c1029="Violet",peg$c1030=peg$literalExpectation("Violet",false),peg$c1031="wheat",peg$c1032=peg$literalExpectation("wheat",false),peg$c1033=function(){return"#f5deb3ff"},peg$c1034="Wheat",peg$c1035=peg$literalExpectation("Wheat",false),peg$c1036="whitesmoke",peg$c1037=peg$literalExpectation("whitesmoke",false),peg$c1038=function(){return"#f5f5f5ff"},peg$c1039="WhiteSmoke",peg$c1040=peg$literalExpectation("WhiteSmoke",false),peg$c1041="white",peg$c1042=peg$literalExpectation("white",false),peg$c1043=function(){return"#ffffffff"},peg$c1044="White",peg$c1045=peg$literalExpectation("White",false),peg$c1046="yellowgreen",peg$c1047=peg$literalExpectation("yellowgreen",false),peg$c1048=function(){return"#9acd32ff"},peg$c1049="YellowGreen",peg$c1050=peg$literalExpectation("YellowGreen",false),peg$c1051="yellow",peg$c1052=peg$literalExpectation("yellow",false),peg$c1053=function(){return"#ffff00ff"},peg$c1054="Yellow",peg$c1055=peg$literalExpectation("Yellow",false),peg$c1056=function(lab){return lab},peg$c1057="#",peg$c1058=peg$literalExpectation("#",false),peg$c1059=function(r,g,b){return`#${r}${r}${g}${g}${b}${b}ff`},peg$c1060=function(r1,r2,g1,g2,b1,b2){return`#${r1}${r2}${g1}${g2}${b1}${b2}ff`},peg$c1061=function(r,g,b,a){return`#${r}${r}${g}${g}${b}${b}${a}${a}`},peg$c1062=function(r1,r2,g1,g2,b1,b2,a1,a2){return`#${r1}${r2}${g1}${g2}${b1}${b2}${a1}${a2}`},peg$c1063=peg$otherExpectation("color"),peg$c1064="arc_label",peg$c1065=peg$literalExpectation("arc_label",false),peg$c1066="head_label",peg$c1067=peg$literalExpectation("head_label",false),peg$c1068="tail_label",peg$c1069=peg$literalExpectation("tail_label",false),peg$c1070=":",peg$c1071=peg$literalExpectation(":",false),peg$c1072=";",peg$c1073=peg$literalExpectation(";",false),peg$c1074=function(key,value){return{key:key,value:value}},peg$c1075=peg$otherExpectation("single edge color"),peg$c1076="edge_color",peg$c1077=peg$literalExpectation("edge_color",false),peg$c1078=function(value){return{key:"single_edge_color",value:value}},peg$c1079=peg$otherExpectation("transition line style"),peg$c1080="linestyle",peg$c1081=peg$literalExpectation("linestyle",false),peg$c1082=function(value){return{key:"transition_line_style",value:value}},peg$c1083="{",peg$c1084=peg$literalExpectation("{",false),peg$c1085="}",peg$c1086=peg$literalExpectation("}",false),peg$c1087=function(items){return items},peg$c1088="%",peg$c1089=peg$literalExpectation("%",false),peg$c1090=function(value){return{key:"arrow probability",value:value}},peg$c1091="[",peg$c1092=peg$literalExpectation("[",false),peg$c1093="]",peg$c1094=peg$literalExpectation("]",false),peg$c1095=function(names){return names.map((i=>i[0]))},peg$c1096="+|",peg$c1097=peg$literalExpectation("+|",false),peg$c1098=function(nzd,dd){return{key:"stripe",value:parseInt(`${nzd}${dd}`,10)}},peg$c1099="-|",peg$c1100=peg$literalExpectation("-|",false),peg$c1101=function(nzd,dd){return{key:"stripe",value:-1*parseInt(`${nzd}${dd}`,10)}},peg$c1102="+",peg$c1103=peg$literalExpectation("+",false),peg$c1104=function(nzd,dd){return{key:"cycle",value:parseInt(`${nzd}${dd}`,10)}},peg$c1105="-",peg$c1106=peg$literalExpectation("-",false),peg$c1107=function(nzd,dd){return{key:"cycle",value:-1*parseInt(`${nzd}${dd}`,10)}},peg$c1108="+0",peg$c1109=peg$literalExpectation("+0",false),peg$c1110=function(){return{key:"cycle",value:0}},peg$c1111=function(r_action,r_prob,l_desc,arrow,r_desc,l_prob,l_action,label,tail){const base={kind:arrow,to:label};if(tail&&tail!==[]){base.se=tail}if(l_desc){base.l_desc=l_desc}if(r_desc){base.r_desc=r_desc}if(l_action){base.l_action=l_action}if(r_action){base.r_action=r_action}if(l_prob){base.l_probability=l_prob.value}if(r_prob){base.r_probability=r_prob.value}return base},peg$c1112=function(label,se){const base={key:"transition",from:label};if(se&&se!==[]){base.se=se}return base},peg$c1113="whargarbl",peg$c1114=peg$literalExpectation("whargarbl",false),peg$c1115="todo",peg$c1116=peg$literalExpectation("todo",false),peg$c1117=function(validationkey,value){return{key:validationkey,value:value}},peg$c1118="validation",peg$c1119=peg$literalExpectation("validation",false),peg$c1120="};",peg$c1121=peg$literalExpectation("};",false),peg$c1122=function(validation_items){return{config_kind:"validation",config_items:validation_items||[]}},peg$c1123="dot",peg$c1124=peg$literalExpectation("dot",false),peg$c1125="circo",peg$c1126=peg$literalExpectation("circo",false),peg$c1127="fdp",peg$c1128=peg$literalExpectation("fdp",false),peg$c1129="neato",peg$c1130=peg$literalExpectation("neato",false),peg$c1131="shape",peg$c1132=peg$literalExpectation("shape",false),peg$c1133=function(value){return{key:"shape",value:value}},peg$c1134="state",peg$c1135=peg$literalExpectation("state",false),peg$c1136=function(state_items){return{key:"state_config",value:{config_kind:"state",config_items:state_items||[]}}},peg$c1137="start_state",peg$c1138=peg$literalExpectation("start_state",false),peg$c1139=function(state_items){return{key:"state_config",value:{config_kind:"in_state",config_items:state_items||[]}}},peg$c1140="end_state",peg$c1141=peg$literalExpectation("end_state",false),peg$c1142=function(state_items){return{key:"state_config",value:{config_kind:"out_state",config_items:state_items||[]}}},peg$c1143=function(actionkey,value){return{key:actionkey,value:value}},peg$c1144="action",peg$c1145=peg$literalExpectation("action",false),peg$c1146=function(action_items){return{config_kind:"action",config_items:action_items||[]}},peg$c1147=function(transitionkey,value){return{key:transitionkey,value:value}},peg$c1148=peg$otherExpectation("graph default edge color"),peg$c1149=function(value){return{key:"graph_default_edge_color",value:value}},peg$c1150="transition",peg$c1151=peg$literalExpectation("transition",false),peg$c1152=function(transition_items){return{config_kind:"transition",config_items:transition_items||[]}},peg$c1153="graph_layout",peg$c1154=peg$literalExpectation("graph_layout",false),peg$c1155=function(value){return{key:"graph_layout",value:value}},peg$c1156="start_states",peg$c1157=peg$literalExpectation("start_states",false),peg$c1158=function(value){return{key:"start_states",value:value}},peg$c1159="end_states",peg$c1160=peg$literalExpectation("end_states",false),peg$c1161=function(value){return{key:"end_states",value:value}},peg$c1162="graph_bg_color",peg$c1163=peg$literalExpectation("graph_bg_color",false),peg$c1164=function(value){return{key:"graph_bg_color",value:value}},peg$c1165=peg$otherExpectation("configuration"),peg$c1166="MIT",peg$c1167=peg$literalExpectation("MIT",false),peg$c1168="BSD 2-clause",peg$c1169=peg$literalExpectation("BSD 2-clause",false),peg$c1170="BSD 3-clause",peg$c1171=peg$literalExpectation("BSD 3-clause",false),peg$c1172="Apache 2.0",peg$c1173=peg$literalExpectation("Apache 2.0",false),peg$c1174="Mozilla 2.0",peg$c1175=peg$literalExpectation("Mozilla 2.0",false),peg$c1176="Public domain",peg$c1177=peg$literalExpectation("Public domain",false),peg$c1178="GPL v2",peg$c1179=peg$literalExpectation("GPL v2",false),peg$c1180="GPL v3",peg$c1181=peg$literalExpectation("GPL v3",false),peg$c1182="LGPL v2.1",peg$c1183=peg$literalExpectation("LGPL v2.1",false),peg$c1184="LGPL v3.0",peg$c1185=peg$literalExpectation("LGPL v3.0",false),peg$c1186="Unknown",peg$c1187=peg$literalExpectation("Unknown",false),peg$c1188=peg$otherExpectation("direction"),peg$c1189="up",peg$c1190=peg$literalExpectation("up",false),peg$c1191="right",peg$c1192=peg$literalExpectation("right",false),peg$c1193="down",peg$c1194=peg$literalExpectation("down",false),peg$c1195="left",peg$c1196=peg$literalExpectation("left",false),peg$c1197=peg$otherExpectation("hook definition (open/closed)"),peg$c1198="open",peg$c1199=peg$literalExpectation("open",false),peg$c1200="closed",peg$c1201=peg$literalExpectation("closed",false),peg$c1202="machine_author",peg$c1203=peg$literalExpectation("machine_author",false),peg$c1204=function(value){return{key:"machine_author",value:value}},peg$c1205="machine_contributor",peg$c1206=peg$literalExpectation("machine_contributor",false),peg$c1207=function(value){return{key:"machine_contributor",value:value}},peg$c1208="machine_comment",peg$c1209=peg$literalExpectation("machine_comment",false),peg$c1210=function(value){return{key:"machine_comment",value:value}},peg$c1211="machine_definition",peg$c1212=peg$literalExpectation("machine_definition",false),peg$c1213=function(value){return{key:"machine_definition",value:value}},peg$c1214="machine_name",peg$c1215=peg$literalExpectation("machine_name",false),peg$c1216=function(value){return{key:"machine_name",value:value}},peg$c1220="machine_version",peg$c1221=peg$literalExpectation("machine_version",false),peg$c1222=function(value){return{key:"machine_version",value:value}},peg$c1223="machine_license",peg$c1224=peg$literalExpectation("machine_license",false),peg$c1225=function(value){return{key:"machine_license",value:value}},peg$c1226="machine_language",peg$c1227=peg$literalExpectation("machine_language",false),peg$c1228=function(value){return{key:"machine_language",value:value}},peg$c1229="fsl_version",peg$c1230=peg$literalExpectation("fsl_version",false),peg$c1231=function(value){return{key:"fsl_version",value:value}},peg$c1232="theme",peg$c1233=peg$literalExpectation("theme",false),peg$c1234=function(value){return{key:"theme",value:value}},peg$c1235="flow",peg$c1236=peg$literalExpectation("flow",false),peg$c1237=function(value){return{key:"flow",value:value}},peg$c1238="hooks",peg$c1239=peg$literalExpectation("hooks",false),peg$c1240=function(value){return{key:"hook_definition",value:value}},peg$c1241="dot_preamble",peg$c1242=peg$literalExpectation("dot_preamble",false),peg$c1243=function(value){return{key:"dot_preamble",value:value}},peg$c1244=peg$otherExpectation("machine attribute"),peg$c1245="color",peg$c1246=peg$literalExpectation("color",false),peg$c1247=function(value){return{key:"color",value:value}},peg$c1248=peg$otherExpectation("text color"),peg$c1249="text-color",peg$c1250=peg$literalExpectation("text-color",false),peg$c1251=function(value){return{key:"text-color",value:value}},peg$c1252=peg$otherExpectation("background color"),peg$c1253="background-color",peg$c1254=peg$literalExpectation("background-color",false),peg$c1255=function(value){return{key:"background-color",value:value}},peg$c1256=peg$otherExpectation("border color"),peg$c1257="border-color",peg$c1258=peg$literalExpectation("border-color",false),peg$c1259=function(value){return{key:"border-color",value:value}},peg$c1260=peg$otherExpectation("shape"),peg$c1261=function(value){return{key:"shape",value:value}},peg$c1262=peg$otherExpectation("corners"),peg$c1263="corners",peg$c1264=peg$literalExpectation("corners",false),peg$c1265=function(value){return{key:"corners",value:value}},peg$c1266=peg$otherExpectation("linestyle"),peg$c1267=function(value){return{key:"linestyle",value:value}},peg$c1268=function(name,value){return{key:"state_declaration",name:name,value:value}},peg$c1269="&",peg$c1270=peg$literalExpectation("&",false),peg$c1271=function(name,value){return{key:"named_list",name:name,value:value}},peg$c1272="null",peg$c1273=peg$literalExpectation("null",false),peg$c1274="undefined",peg$c1275=peg$literalExpectation("undefined",false),peg$c1276=function(){return parseFloat(text())},peg$c1277="Infinity",peg$c1278=peg$literalExpectation("Infinity",false),peg$c1279="NegInfinity",peg$c1280=peg$literalExpectation("NegInfinity",false),peg$c1281="NaN",peg$c1282=peg$literalExpectation("NaN",false),peg$c1283="MaxSafeInt",peg$c1284=peg$literalExpectation("MaxSafeInt",false),peg$c1285="MinSafeInt",peg$c1286=peg$literalExpectation("MinSafeInt",false),peg$c1287=function(chars){return chars.join("")},peg$c1288=function(char){return char},peg$c1289=function(sequence){return sequence},peg$c1290=function(){return"\b"},peg$c1291=function(){return"\f"},peg$c1292=function(){return"\n"},peg$c1293=function(){return"\r"},peg$c1294=function(){return"\t"},peg$c1295=function(){return"\v"},peg$c1296="property",peg$c1297=peg$literalExpectation("property",false),peg$c1298=function(name,default_value){return{key:"property_definition",name:name,default_value:default_value}},peg$c1299=function(name){return{key:"property_definition",name:name}},peg$c1300="arrange",peg$c1301=peg$literalExpectation("arrange",false),peg$c1302=function(value){return{key:"arrange_declaration",value:value}},peg$c1303="arrange-start",peg$c1304=peg$literalExpectation("arrange-start",false),peg$c1305=function(value){return{key:"arrange_start_declaration",value:value}},peg$c1306="arrange-end",peg$c1307=peg$literalExpectation("arrange-end",false),peg$c1308=function(value){return{key:"arrange_end_declaration",value:value}},peg$c1309=peg$otherExpectation("arrange declaration"),peg$currPos=0,peg$savedPos=0,peg$posDetailsCache=[{line:1,column:1}],peg$maxFailPos=0,peg$maxFailExpected=[],peg$silentFails=0,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 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],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(ppeg$maxFailPos){peg$maxFailPos=peg$currPos;peg$maxFailExpected=[]}peg$maxFailExpected.push(expected)}function peg$buildStructuredError(expected,found,location){return new peg$SyntaxError(peg$SyntaxError.buildMessage(expected,found),expected,found,location)}function peg$parseDocument(){var s0,s1,s2,s3;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){s2=peg$parseTermList();if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c0(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseTheme(){var s0;if(input.substr(peg$currPos,4)===peg$c1){s0=peg$c1;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c2)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c3){s0=peg$c3;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c4)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c5){s0=peg$c5;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c6)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c7){s0=peg$c7;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c8)}}}}}return s0}function peg$parseGvizShape(){var s0;if(input.substr(peg$currPos,5)===peg$c9){s0=peg$c9;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c10)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c11){s0=peg$c11;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c12)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c13){s0=peg$c13;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c14)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c15){s0=peg$c15;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c16)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c17){s0=peg$c17;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c18)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c19){s0=peg$c19;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c20)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c21){s0=peg$c21;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c22)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c23){s0=peg$c23;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c24)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c25){s0=peg$c25;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c26)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c27){s0=peg$c27;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c28)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c29){s0=peg$c29;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c30)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c31){s0=peg$c31;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c32)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,13)===peg$c33){s0=peg$c33;peg$currPos+=13}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c34)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c35){s0=peg$c35;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c36)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c37){s0=peg$c37;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c38)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c39){s0=peg$c39;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c40)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c41){s0=peg$c41;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c42)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c43){s0=peg$c43;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c44)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,12)===peg$c45){s0=peg$c45;peg$currPos+=12}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c46)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,13)===peg$c47){s0=peg$c47;peg$currPos+=13}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c48)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,13)===peg$c49){s0=peg$c49;peg$currPos+=13}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c50)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,11)===peg$c51){s0=peg$c51;peg$currPos+=11}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c52)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,12)===peg$c53){s0=peg$c53;peg$currPos+=12}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c54)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c55){s0=peg$c55;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c56)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c57){s0=peg$c57;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c58)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c59){s0=peg$c59;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c60)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c61){s0=peg$c61;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c62)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c63){s0=peg$c63;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c64)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c65){s0=peg$c65;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c66)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c67){s0=peg$c67;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c68)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c69){s0=peg$c69;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c70)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1){s0=peg$c1;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c2)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c71){s0=peg$c71;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c72)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c73){s0=peg$c73;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c74)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c75){s0=peg$c75;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c76)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c77){s0=peg$c77;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c78)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c79){s0=peg$c79;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c80)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c81){s0=peg$c81;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c82)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c83){s0=peg$c83;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c84)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c85){s0=peg$c85;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c86)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c87){s0=peg$c87;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c88)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c89){s0=peg$c89;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c90)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c91){s0=peg$c91;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c92)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c93){s0=peg$c93;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c94)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,15)===peg$c95){s0=peg$c95;peg$currPos+=15}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c96)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,13)===peg$c97){s0=peg$c97;peg$currPos+=13}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c98)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,14)===peg$c99){s0=peg$c99;peg$currPos+=14}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c100)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c101){s0=peg$c101;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c102)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c103){s0=peg$c103;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c104)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c105){s0=peg$c105;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c106)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c107){s0=peg$c107;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c108)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c109){s0=peg$c109;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c110)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c111){s0=peg$c111;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c112)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,12)===peg$c113){s0=peg$c113;peg$currPos+=12}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c114)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,11)===peg$c115){s0=peg$c115;peg$currPos+=11}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c116)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c117){s0=peg$c117;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c118)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c119){s0=peg$c119;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c120)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c121){s0=peg$c121;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c122)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c123){s0=peg$c123;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c124)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c125){s0=peg$c125;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c126)}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}return s0}function peg$parseForwardLightArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c128){s0=peg$c128;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c129)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8594){s1=peg$c130;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c131)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c132()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c127)}}return s0}function peg$parseTwoWayLightArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,3)===peg$c134){s0=peg$c134;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c135)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8596){s1=peg$c136;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c137)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c138()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c133)}}return s0}function peg$parseBackLightArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c140){s0=peg$c140;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c141)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8592){s1=peg$c142;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c143)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c144()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c139)}}return s0}function peg$parseForwardFatArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c146){s0=peg$c146;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c147)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8658){s1=peg$c148;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c149)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c150()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c145)}}return s0}function peg$parseTwoWayFatArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,3)===peg$c152){s0=peg$c152;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c153)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8660){s1=peg$c154;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c155)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c156()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c151)}}return s0}function peg$parseBackFatArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c158){s0=peg$c158;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c159)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8656){s1=peg$c160;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c161)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c162()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c157)}}return s0}function peg$parseForwardTildeArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c164){s0=peg$c164;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c165)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8603){s1=peg$c166;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c167)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c168()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c163)}}return s0}function peg$parseTwoWayTildeArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,3)===peg$c170){s0=peg$c170;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c171)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8622){s1=peg$c172;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c173)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c174()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c169)}}return s0}function peg$parseBackTildeArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c176){s0=peg$c176;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c177)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===8602){s1=peg$c178;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c179)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c180()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c175)}}return s0}function peg$parseLightFatArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c182){s0=peg$c182;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c183)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c184){s1=peg$c184;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c185)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c186()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c181)}}return s0}function peg$parseLightTildeArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c188){s0=peg$c188;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c189)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c190){s1=peg$c190;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c191)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c192()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c187)}}return s0}function peg$parseFatLightArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c194){s0=peg$c194;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c195)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c196){s1=peg$c196;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c197)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c198()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c193)}}return s0}function peg$parseFatTildeArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c200){s0=peg$c200;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c201)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c202){s1=peg$c202;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c203)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c204()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c199)}}return s0}function peg$parseTildeLightArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c206){s0=peg$c206;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c207)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c208){s1=peg$c208;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c209)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c210()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c205)}}return s0}function peg$parseTildeFatArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c212){s0=peg$c212;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c213)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c214){s1=peg$c214;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c215)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c216()}s0=s1}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c211)}}return s0}function peg$parseLightArrow(){var s0;peg$silentFails++;s0=peg$parseForwardLightArrow();if(s0===peg$FAILED){s0=peg$parseTwoWayLightArrow();if(s0===peg$FAILED){s0=peg$parseBackLightArrow()}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c217)}}return s0}function peg$parseFatArrow(){var s0;peg$silentFails++;s0=peg$parseForwardFatArrow();if(s0===peg$FAILED){s0=peg$parseTwoWayFatArrow();if(s0===peg$FAILED){s0=peg$parseBackFatArrow()}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c218)}}return s0}function peg$parseTildeArrow(){var s0;peg$silentFails++;s0=peg$parseForwardTildeArrow();if(s0===peg$FAILED){s0=peg$parseTwoWayTildeArrow();if(s0===peg$FAILED){s0=peg$parseBackTildeArrow()}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c219)}}return s0}function peg$parseMixedArrow(){var s0;peg$silentFails++;s0=peg$parseLightFatArrow();if(s0===peg$FAILED){s0=peg$parseLightTildeArrow();if(s0===peg$FAILED){s0=peg$parseFatLightArrow();if(s0===peg$FAILED){s0=peg$parseFatTildeArrow();if(s0===peg$FAILED){s0=peg$parseTildeLightArrow();if(s0===peg$FAILED){s0=peg$parseTildeFatArrow()}}}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c220)}}return s0}function peg$parseArrow(){var s0;peg$silentFails++;s0=peg$parseMixedArrow();if(s0===peg$FAILED){s0=peg$parseLightArrow();if(s0===peg$FAILED){s0=peg$parseFatArrow();if(s0===peg$FAILED){s0=peg$parseTildeArrow()}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c221)}}return s0}function peg$parseCorners(){var s0;if(input.substr(peg$currPos,7)===peg$c228){s0=peg$c228;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c229)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c230){s0=peg$c230;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c231)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c232){s0=peg$c232;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c233)}}}}return s0}function peg$parseLineStyle(){var s0;if(input.substr(peg$currPos,5)===peg$c234){s0=peg$c234;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c235)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c236){s0=peg$c236;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c237)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c238){s0=peg$c238;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c239)}}}}return s0}function peg$parseHexDigit(){var s0;if(peg$c240.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c241)}}return s0}function peg$parseChar(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$parseUnescaped();if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseEscape();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===34){s2=peg$c242;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c243)}}if(s2===peg$FAILED){if(input.charCodeAt(peg$currPos)===92){s2=peg$c244;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c245)}}if(s2===peg$FAILED){if(input.charCodeAt(peg$currPos)===47){s2=peg$c246;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c247)}}if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===98){s3=peg$c248;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c249)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c250()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===102){s3=peg$c251;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c252)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c253()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===110){s3=peg$c254;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c255)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c256()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===114){s3=peg$c257;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c258)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c259()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===116){s3=peg$c260;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c261)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c262()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===118){s3=peg$c263;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c264)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c265()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===117){s3=peg$c266;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c267)}}if(s3!==peg$FAILED){s4=peg$currPos;s5=peg$currPos;s6=peg$parseHexDigit();if(s6!==peg$FAILED){s7=peg$parseHexDigit();if(s7!==peg$FAILED){s8=peg$parseHexDigit();if(s8!==peg$FAILED){s9=peg$parseHexDigit();if(s9!==peg$FAILED){s6=[s6,s7,s8,s9];s5=s6}else{peg$currPos=s5;s5=peg$FAILED}}else{peg$currPos=s5;s5=peg$FAILED}}else{peg$currPos=s5;s5=peg$FAILED}}else{peg$currPos=s5;s5=peg$FAILED}if(s5!==peg$FAILED){s4=input.substring(s4,peg$currPos)}else{s4=s5}if(s4!==peg$FAILED){peg$savedPos=s2;s3=peg$c268(s4);s2=s3}else{peg$currPos=s2;s2=peg$FAILED}}else{peg$currPos=s2;s2=peg$FAILED}}}}}}}}}}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c269(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseEscape(){var s0;if(input.charCodeAt(peg$currPos)===92){s0=peg$c244;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c245)}}return s0}function peg$parseQuoteMark(){var s0;if(input.charCodeAt(peg$currPos)===34){s0=peg$c242;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c243)}}return s0}function peg$parseUnescaped(){var s0;if(peg$c270.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c271)}}return s0}function peg$parseActionLabelChar(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$parseActionLabelUnescaped();if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseEscape();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===39){s2=peg$c272;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c273)}}if(s2===peg$FAILED){if(input.charCodeAt(peg$currPos)===92){s2=peg$c244;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c245)}}if(s2===peg$FAILED){if(input.charCodeAt(peg$currPos)===47){s2=peg$c246;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c247)}}if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===98){s3=peg$c248;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c249)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c250()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===102){s3=peg$c251;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c252)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c253()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===110){s3=peg$c254;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c255)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c256()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===114){s3=peg$c257;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c258)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c259()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===116){s3=peg$c260;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c261)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c262()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===118){s3=peg$c263;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c264)}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c265()}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===117){s3=peg$c266;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c267)}}if(s3!==peg$FAILED){s4=peg$currPos;s5=peg$currPos;s6=peg$parseHexDigit();if(s6!==peg$FAILED){s7=peg$parseHexDigit();if(s7!==peg$FAILED){s8=peg$parseHexDigit();if(s8!==peg$FAILED){s9=peg$parseHexDigit();if(s9!==peg$FAILED){s6=[s6,s7,s8,s9];s5=s6}else{peg$currPos=s5;s5=peg$FAILED}}else{peg$currPos=s5;s5=peg$FAILED}}else{peg$currPos=s5;s5=peg$FAILED}}else{peg$currPos=s5;s5=peg$FAILED}if(s5!==peg$FAILED){s4=input.substring(s4,peg$currPos)}else{s4=s5}if(s4!==peg$FAILED){peg$savedPos=s2;s3=peg$c268(s4);s2=s3}else{peg$currPos=s2;s2=peg$FAILED}}else{peg$currPos=s2;s2=peg$FAILED}}}}}}}}}}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c269(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseActionLabelQuoteMark(){var s0;if(input.charCodeAt(peg$currPos)===39){s0=peg$c272;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c273)}}return s0}function peg$parseActionLabelUnescaped(){var s0;if(peg$c274.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c275)}}return s0}function peg$parseActionLabel(){var s0,s1,s2,s3;peg$silentFails++;s0=peg$currPos;s1=peg$parseActionLabelQuoteMark();if(s1!==peg$FAILED){s2=[];s3=peg$parseActionLabelChar();while(s3!==peg$FAILED){s2.push(s3);s3=peg$parseActionLabelChar()}if(s2!==peg$FAILED){s3=peg$parseActionLabelQuoteMark();if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c277(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c276)}}return s0}function peg$parseLineTerminator(){var s0;if(peg$c278.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c279)}}return s0}function peg$parseBlockCommentTail(){var s0,s1,s2;if(input.substr(peg$currPos,2)===peg$c282){s0=peg$c282;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c283)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.length>peg$currPos){s1=input.charAt(peg$currPos);peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c284)}}if(s1!==peg$FAILED){s2=peg$parseBlockCommentTail();if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseBlockComment(){var s0,s1,s2;peg$silentFails++;s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c286){s1=peg$c286;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c287)}}if(s1!==peg$FAILED){s2=peg$parseBlockCommentTail();if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c285)}}return s0}function peg$parseEOF(){var s0,s1;s0=peg$currPos;peg$silentFails++;if(input.length>peg$currPos){s1=input.charAt(peg$currPos);peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c284)}}peg$silentFails--;if(s1===peg$FAILED){s0=void 0}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseLineCommentTail(){var s0,s1,s2;s0=peg$parseLineTerminator();if(s0===peg$FAILED){s0=peg$parseEOF();if(s0===peg$FAILED){s0=peg$currPos;if(input.length>peg$currPos){s1=input.charAt(peg$currPos);peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c284)}}if(s1!==peg$FAILED){s2=peg$parseLineCommentTail();if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}}return s0}function peg$parseLineComment(){var s0,s1,s2;peg$silentFails++;s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c289){s1=peg$c289;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c290)}}if(s1!==peg$FAILED){s2=peg$parseLineCommentTail();if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c288)}}return s0}function peg$parseWS(){var s0,s1,s2;peg$silentFails++;s0=peg$currPos;s1=peg$parseBlockComment();if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseLineComment();if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;s1=[];if(peg$c292.test(input.charAt(peg$currPos))){s2=input.charAt(peg$currPos);peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c293)}}if(s2!==peg$FAILED){while(s2!==peg$FAILED){s1.push(s2);if(peg$c292.test(input.charAt(peg$currPos))){s2=input.charAt(peg$currPos);peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c293)}}}}else{s1=peg$FAILED}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c291)}}return s0}function peg$parseString(){var s0,s1,s2,s3;peg$silentFails++;s0=peg$currPos;s1=peg$parseQuoteMark();if(s1!==peg$FAILED){s2=[];s3=peg$parseChar();while(s3!==peg$FAILED){s2.push(s3);s3=peg$parseChar()}if(s2!==peg$FAILED){s3=peg$parseQuoteMark();if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c277(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c294)}}return s0}function peg$parseAtomFirstLetter(){var s0;if(peg$c295.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c296)}}return s0}function peg$parseAtomLetter(){var s0;if(peg$c297.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c298)}}return s0}function peg$parseAtom(){var s0,s1,s2,s3;peg$silentFails++;s0=peg$currPos;s1=peg$parseAtomFirstLetter();if(s1!==peg$FAILED){s2=[];s3=peg$parseAtomLetter();while(s3!==peg$FAILED){s2.push(s3);s3=peg$parseAtomLetter()}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c300(s1,s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c299)}}return s0}function peg$parseLabel(){var s0;peg$silentFails++;s0=peg$parseAtom();if(s0===peg$FAILED){s0=peg$parseString()}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c301)}}return s0}function peg$parseIntegerLiteral(){var s0,s1,s2,s3;if(input.charCodeAt(peg$currPos)===48){s0=peg$c302;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c303)}}if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseNonZeroDigit();if(s1!==peg$FAILED){s2=[];s3=peg$parseDecimalDigit();while(s3!==peg$FAILED){s2.push(s3);s3=peg$parseDecimalDigit()}if(s2!==peg$FAILED){s1=[s1,s2];s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseDecimalDigit(){var s0;if(peg$c304.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c305)}}return s0}function peg$parseNonZeroDigit(){var s0;if(peg$c306.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c307)}}return s0}function peg$parseNonNegNumber(){var s0,s1,s2,s3,s4;peg$silentFails++;s0=peg$currPos;s1=peg$parseIntegerLiteral();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===46){s2=peg$c309;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c310)}}if(s2!==peg$FAILED){s3=[];s4=peg$parseDecimalDigit();while(s4!==peg$FAILED){s3.push(s4);s4=peg$parseDecimalDigit()}if(s3!==peg$FAILED){s4=peg$parseWS();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){peg$savedPos=s0;s1=peg$c311();s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseIntegerLiteral();if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c311();s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c308)}}return s0}function peg$parseSemVer(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;s1=peg$parseIntegerLiteral();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===46){s2=peg$c309;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c310)}}if(s2!==peg$FAILED){s3=peg$parseIntegerLiteral();if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===46){s4=peg$c309;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c310)}}if(s4!==peg$FAILED){s5=peg$parseIntegerLiteral();if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c312(s1,s3,s5);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseUrlProtocol(){var s0;if(input.substr(peg$currPos,7)===peg$c323){s0=peg$c323;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c324)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c325){s0=peg$c325;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c326)}}}return s0}function peg$parseURL(){var s0,s1,s2,s3;s0=peg$currPos;s1=peg$parseUrlProtocol();if(s1!==peg$FAILED){s2=[];if(peg$c327.test(input.charAt(peg$currPos))){s3=input.charAt(peg$currPos);peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c328)}}if(s3!==peg$FAILED){while(s3!==peg$FAILED){s2.push(s3);if(peg$c327.test(input.charAt(peg$currPos))){s3=input.charAt(peg$currPos);peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c328)}}}}else{s2=peg$FAILED}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c329();s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseSvgColorLabel(){var s0,s1;s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c330){s1=peg$c330;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c331)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c332()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c333){s1=peg$c333;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c334)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c332()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c335){s1=peg$c335;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c336)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c337()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c338){s1=peg$c338;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c339)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c337()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c340){s1=peg$c340;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c341)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c342()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c343){s1=peg$c343;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c344)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c342()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c345){s1=peg$c345;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c346)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c347()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c348){s1=peg$c348;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c349)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c347()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c350){s1=peg$c350;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c351)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c352()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c353){s1=peg$c353;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c354)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c352()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c355){s1=peg$c355;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c356)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c357()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c358){s1=peg$c358;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c359)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c357()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c360){s1=peg$c360;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c361)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c362()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c363){s1=peg$c363;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c364)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c362()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c365){s1=peg$c365;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c366)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c367()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c368){s1=peg$c368;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c369)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c367()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c370){s1=peg$c370;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c371)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c372()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c373){s1=peg$c373;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c374)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c372()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c375){s1=peg$c375;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c376)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c377()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c378){s1=peg$c378;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c379)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c377()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c380){s1=peg$c380;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c381)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c382()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c383){s1=peg$c383;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c384)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c382()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c385){s1=peg$c385;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c386)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c387()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c388){s1=peg$c388;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c389)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c387()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c390){s1=peg$c390;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c391)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c392()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c393){s1=peg$c393;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c394)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c392()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c395){s1=peg$c395;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c396)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c397()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c398){s1=peg$c398;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c399)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c397()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c400){s1=peg$c400;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c401)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c402()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c403){s1=peg$c403;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c404)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c402()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c405){s1=peg$c405;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c406)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c407()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c408){s1=peg$c408;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c409)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c407()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c410){s1=peg$c410;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c411)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c412()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c413){s1=peg$c413;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c414)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c412()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c415){s1=peg$c415;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c416)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c417()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c418){s1=peg$c418;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c419)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c417()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c420){s1=peg$c420;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c421)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c422()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c423){s1=peg$c423;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c424)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c422()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c425){s1=peg$c425;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c426)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c427()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c428){s1=peg$c428;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c429)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c427()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c430){s1=peg$c430;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c431)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c347()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c432){s1=peg$c432;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c433)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c347()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c434){s1=peg$c434;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c435)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c436()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c437){s1=peg$c437;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c438)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c436()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c439){s1=peg$c439;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c440)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c441()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c442){s1=peg$c442;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c443)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c441()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c444){s1=peg$c444;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c445)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c446()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c447){s1=peg$c447;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c448)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c446()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c449){s1=peg$c449;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c450)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c451()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c452){s1=peg$c452;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c453)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c451()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c454){s1=peg$c454;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c455)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c451()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c456){s1=peg$c456;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c457)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c451()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c458){s1=peg$c458;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c459)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c460()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c461){s1=peg$c461;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c462)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c460()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c463){s1=peg$c463;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c464)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c465()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c466){s1=peg$c466;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c467)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c465()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c468){s1=peg$c468;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c469)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c470()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c471){s1=peg$c471;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c472)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c470()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c473){s1=peg$c473;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c474)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c475()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c476){s1=peg$c476;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c477)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c475()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c478){s1=peg$c478;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c479)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c480()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c481){s1=peg$c481;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c482)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c480()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c483){s1=peg$c483;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c484)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c485()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c486){s1=peg$c486;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c487)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c485()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c488){s1=peg$c488;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c489)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c490()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c491){s1=peg$c491;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c492)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c490()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c493){s1=peg$c493;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c494)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c495()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c496){s1=peg$c496;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c497)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c495()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c498){s1=peg$c498;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c499)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c500()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c501){s1=peg$c501;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c502)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c500()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c503){s1=peg$c503;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c504)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c505()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c506){s1=peg$c506;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c507)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c505()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c508){s1=peg$c508;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c509)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c510()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c511){s1=peg$c511;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c512)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c510()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c513){s1=peg$c513;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c514)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c510()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c515){s1=peg$c515;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c516)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c510()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c517){s1=peg$c517;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c518)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c519()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c520){s1=peg$c520;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c521)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c519()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c522){s1=peg$c522;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c523)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c524()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c525){s1=peg$c525;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c526)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c524()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c527){s1=peg$c527;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c528)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c529()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c530){s1=peg$c530;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c531)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c529()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c532){s1=peg$c532;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c533)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c534()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c535){s1=peg$c535;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c536)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c534()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c537){s1=peg$c537;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c538)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c539()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c540){s1=peg$c540;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c541)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c539()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c542){s1=peg$c542;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c543)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c539()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c544){s1=peg$c544;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c545)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c539()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c546){s1=peg$c546;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c547)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c548()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c549){s1=peg$c549;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c550)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c548()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c551){s1=peg$c551;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c552)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c553()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c554){s1=peg$c554;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c555)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c553()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c556){s1=peg$c556;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c557)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c558()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c559){s1=peg$c559;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c560)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c558()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c561){s1=peg$c561;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c562)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c563()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c564){s1=peg$c564;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c565)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c563()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c566){s1=peg$c566;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c567)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c568()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c569){s1=peg$c569;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c570)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c568()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c571){s1=peg$c571;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c572)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c573()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c574){s1=peg$c574;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c575)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c573()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c576){s1=peg$c576;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c577)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c578()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c579){s1=peg$c579;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c580)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c578()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c581){s1=peg$c581;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c582)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c583()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c584){s1=peg$c584;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c585)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c583()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c586){s1=peg$c586;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c587)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c588()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c589){s1=peg$c589;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c590)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c588()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c591){s1=peg$c591;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c592)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c593()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c594){s1=peg$c594;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c595)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c593()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c596){s1=peg$c596;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c597)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c593()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c598){s1=peg$c598;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c599)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c593()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c600){s1=peg$c600;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c601)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c602()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c603){s1=peg$c603;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c604)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c602()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c605){s1=peg$c605;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c606)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c607()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c608){s1=peg$c608;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c609)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c607()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c610){s1=peg$c610;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c611)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c612()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c613){s1=peg$c613;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c614)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c612()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c615){s1=peg$c615;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c616)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c617()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c618){s1=peg$c618;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c619)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c617()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c620){s1=peg$c620;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c621)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c622()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c623){s1=peg$c623;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c624)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c622()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c625){s1=peg$c625;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c626)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c627()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c628){s1=peg$c628;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c629)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c627()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c630){s1=peg$c630;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c631)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c632()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c633){s1=peg$c633;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c634)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c632()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c635){s1=peg$c635;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c636)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c637()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c638){s1=peg$c638;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c639)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c637()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c640){s1=peg$c640;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c641)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c642()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c643){s1=peg$c643;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c644)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c642()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c645){s1=peg$c645;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c646)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c647()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c648){s1=peg$c648;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c649)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c647()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c650){s1=peg$c650;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c651)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c652()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c653){s1=peg$c653;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c654)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c652()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c655){s1=peg$c655;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c656)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c657()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c658){s1=peg$c658;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c659)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c657()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c660){s1=peg$c660;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c661)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c662()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c663){s1=peg$c663;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c664)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c662()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c665){s1=peg$c665;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c666)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c667()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c668){s1=peg$c668;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c669)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c667()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c670){s1=peg$c670;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c671)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c672()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c673){s1=peg$c673;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c674)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c672()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,20)===peg$c675){s1=peg$c675;peg$currPos+=20}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c676)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c677()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,20)===peg$c678){s1=peg$c678;peg$currPos+=20}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c679)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c677()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c680){s1=peg$c680;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c681)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c682()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c683){s1=peg$c683;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c684)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c682()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c685){s1=peg$c685;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c686)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c682()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c687){s1=peg$c687;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c688)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c682()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c689){s1=peg$c689;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c690)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c691()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c692){s1=peg$c692;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c693)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c691()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c694){s1=peg$c694;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c695)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c696()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c697){s1=peg$c697;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c698)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c696()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c699){s1=peg$c699;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c700)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c701()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c702){s1=peg$c702;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c703)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c701()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c704){s1=peg$c704;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c705)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c706()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c707){s1=peg$c707;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c708)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c706()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c709){s1=peg$c709;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c710)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c711()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c712){s1=peg$c712;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c713)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c711()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c714){s1=peg$c714;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c715)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c716()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c717){s1=peg$c717;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c718)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c716()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c719){s1=peg$c719;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c720)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c716()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c721){s1=peg$c721;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c722)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c716()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c723){s1=peg$c723;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c724)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c725()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c726){s1=peg$c726;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c727)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c725()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c728){s1=peg$c728;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c729)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c730()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c731){s1=peg$c731;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c732)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c730()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c733){s1=peg$c733;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c734)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c735()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c736){s1=peg$c736;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c737)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c735()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c738){s1=peg$c738;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c739)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c740()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c741){s1=peg$c741;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c742)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c740()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c743){s1=peg$c743;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c744)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c745()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c746){s1=peg$c746;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c747)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c745()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c748){s1=peg$c748;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c749)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c568()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c750){s1=peg$c750;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c751)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c568()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c752){s1=peg$c752;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c753)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c754()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c755){s1=peg$c755;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c756)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c754()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,16)===peg$c757){s1=peg$c757;peg$currPos+=16}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c758)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c759()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,16)===peg$c760){s1=peg$c760;peg$currPos+=16}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c761)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c759()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c762){s1=peg$c762;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c763)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c764()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c765){s1=peg$c765;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c766)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c764()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c767){s1=peg$c767;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c768)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c769()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c770){s1=peg$c770;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c771)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c769()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c772){s1=peg$c772;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c773)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c774()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c775){s1=peg$c775;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c776)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c774()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c777){s1=peg$c777;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c778)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c779()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c780){s1=peg$c780;peg$currPos+=14}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c781)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c779()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c782){s1=peg$c782;peg$currPos+=15}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c783)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c784()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c785){s1=peg$c785;peg$currPos+=15}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c786)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c784()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,17)===peg$c787){s1=peg$c787;peg$currPos+=17}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c788)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c789()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,17)===peg$c790){s1=peg$c790;peg$currPos+=17}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c791)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c789()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c792){s1=peg$c792;peg$currPos+=15}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c793)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c794()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c795){s1=peg$c795;peg$currPos+=15}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c796)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c794()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c797){s1=peg$c797;peg$currPos+=15}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c798)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c799()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c800){s1=peg$c800;peg$currPos+=15}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c801)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c799()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c802){s1=peg$c802;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c803)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c804()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c805){s1=peg$c805;peg$currPos+=12}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c806)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c804()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c807){s1=peg$c807;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c808)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c809()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c810){s1=peg$c810;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c811)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c809()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c812){s1=peg$c812;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c813)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c814()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c815){s1=peg$c815;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c816)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c814()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c817){s1=peg$c817;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c818)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c819()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c820){s1=peg$c820;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c821)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c819()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c822){s1=peg$c822;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c823)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c824()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c825){s1=peg$c825;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c826)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c824()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c827){s1=peg$c827;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c828)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c829()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c830){s1=peg$c830;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c831)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c829()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c832){s1=peg$c832;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c833)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c834()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c835){s1=peg$c835;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c836)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c834()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c837){s1=peg$c837;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c838)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c839()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c840){s1=peg$c840;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c841)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c839()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c842){s1=peg$c842;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c843)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c844()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c845){s1=peg$c845;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c846)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c844()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c847){s1=peg$c847;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c848)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c849()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c850){s1=peg$c850;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c851)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c849()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c852){s1=peg$c852;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c853)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c854()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c855){s1=peg$c855;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c856)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c854()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c857){s1=peg$c857;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c858)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c859()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c860){s1=peg$c860;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c861)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c859()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c862){s1=peg$c862;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c863)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c864()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c865){s1=peg$c865;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c866)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c864()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c867){s1=peg$c867;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c868)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c869()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c870){s1=peg$c870;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c871)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c869()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c872){s1=peg$c872;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c873)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c874()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c875){s1=peg$c875;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c876)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c874()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c877){s1=peg$c877;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c878)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c879()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c880){s1=peg$c880;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c881)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c879()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c882){s1=peg$c882;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c883)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c884()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c885){s1=peg$c885;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c886)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c884()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c887){s1=peg$c887;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c888)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c889()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c890){s1=peg$c890;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c891)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c889()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c892){s1=peg$c892;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c893)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c894()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c895){s1=peg$c895;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c896)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c894()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c897){s1=peg$c897;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c898)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c899()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c900){s1=peg$c900;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c901)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c899()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c902){s1=peg$c902;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c903)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c904()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c905){s1=peg$c905;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c906)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c904()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c907){s1=peg$c907;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c908)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c909()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c910){s1=peg$c910;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c911)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c909()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c912){s1=peg$c912;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c913)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c914()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c915){s1=peg$c915;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c916)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c914()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,3)===peg$c917){s1=peg$c917;peg$currPos+=3}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c918)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c919()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,3)===peg$c920){s1=peg$c920;peg$currPos+=3}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c921)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c919()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c922){s1=peg$c922;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c923)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c924()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c925){s1=peg$c925;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c926)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c924()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c927){s1=peg$c927;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c928)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c929()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c930){s1=peg$c930;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c931)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c929()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c932){s1=peg$c932;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c933)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c934()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c935){s1=peg$c935;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c936)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c934()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c937){s1=peg$c937;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c938)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c939()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c940){s1=peg$c940;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c941)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c939()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c942){s1=peg$c942;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c943)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c944()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c945){s1=peg$c945;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c946)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c944()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c947){s1=peg$c947;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c948)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c949()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c950){s1=peg$c950;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c951)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c949()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c952){s1=peg$c952;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c953)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c954()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c955){s1=peg$c955;peg$currPos+=8}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c956)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c954()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c957){s1=peg$c957;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c958)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c959()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c960){s1=peg$c960;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c961)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c959()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c962){s1=peg$c962;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c963)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c964()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c965){s1=peg$c965;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c966)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c964()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c967){s1=peg$c967;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c968)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c969()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c970){s1=peg$c970;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c971)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c969()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c972){s1=peg$c972;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c973)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c974()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c975){s1=peg$c975;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c976)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c974()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c977){s1=peg$c977;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c978)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c979()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c980){s1=peg$c980;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c981)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c979()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c982){s1=peg$c982;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c983)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c979()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c984){s1=peg$c984;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c985)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c979()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c986){s1=peg$c986;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c987)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c988()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c989){s1=peg$c989;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c990)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c988()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c991){s1=peg$c991;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c992)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c993()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c994){s1=peg$c994;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c995)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c993()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c996){s1=peg$c996;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c997)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c998()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c999){s1=peg$c999;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1000)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c998()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,3)===peg$c1001){s1=peg$c1001;peg$currPos+=3}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1002)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1003()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,3)===peg$c1004){s1=peg$c1004;peg$currPos+=3}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1005)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1003()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c1006){s1=peg$c1006;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1007)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1008()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c1009){s1=peg$c1009;peg$currPos+=4}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1010)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1008()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c1011){s1=peg$c1011;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1012)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1013()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c1014){s1=peg$c1014;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1015)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1013()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c1016){s1=peg$c1016;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1017)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1018()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c1019){s1=peg$c1019;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1020)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1018()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c1021){s1=peg$c1021;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1022)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1023()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c1024){s1=peg$c1024;peg$currPos+=9}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1025)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1023()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c1026){s1=peg$c1026;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1027)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1028()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c1029){s1=peg$c1029;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1030)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1028()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c1031){s1=peg$c1031;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1032)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1033()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c1034){s1=peg$c1034;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1035)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1033()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c1036){s1=peg$c1036;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1037)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1038()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c1039){s1=peg$c1039;peg$currPos+=10}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1040)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1038()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c1041){s1=peg$c1041;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1042)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1043()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c1044){s1=peg$c1044;peg$currPos+=5}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1045)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1043()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c1046){s1=peg$c1046;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1047)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1048()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c1049){s1=peg$c1049;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1050)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1048()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c1051){s1=peg$c1051;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1052)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1053()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c1054){s1=peg$c1054;peg$currPos+=6}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1055)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1053()}s0=s1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}return s0}function peg$parseSvgColor(){var s0,s1,s2;s0=peg$currPos;s1=peg$parseSvgColorLabel();if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c1056(s1);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseRgb3(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===35){s1=peg$c1057;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1058)}}if(s1!==peg$FAILED){s2=peg$parseHexDigit();if(s2!==peg$FAILED){s3=peg$parseHexDigit();if(s3!==peg$FAILED){s4=peg$parseHexDigit();if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c1059(s2,s3,s4);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseRgb6(){var s0,s1,s2,s3,s4,s5,s6,s7,s8;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===35){s1=peg$c1057;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1058)}}if(s1!==peg$FAILED){s2=peg$parseHexDigit();if(s2!==peg$FAILED){s3=peg$parseHexDigit();if(s3!==peg$FAILED){s4=peg$parseHexDigit();if(s4!==peg$FAILED){s5=peg$parseHexDigit();if(s5!==peg$FAILED){s6=peg$parseHexDigit();if(s6!==peg$FAILED){s7=peg$parseHexDigit();if(s7!==peg$FAILED){s8=peg$parseWS();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){peg$savedPos=s0;s1=peg$c1060(s2,s3,s4,s5,s6,s7);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseRgba4(){var s0,s1,s2,s3,s4,s5,s6;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===35){s1=peg$c1057;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1058)}}if(s1!==peg$FAILED){s2=peg$parseHexDigit();if(s2!==peg$FAILED){s3=peg$parseHexDigit();if(s3!==peg$FAILED){s4=peg$parseHexDigit();if(s4!==peg$FAILED){s5=peg$parseHexDigit();if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){peg$savedPos=s0;s1=peg$c1061(s2,s3,s4,s5);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseRgba8(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===35){s1=peg$c1057;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1058)}}if(s1!==peg$FAILED){s2=peg$parseHexDigit();if(s2!==peg$FAILED){s3=peg$parseHexDigit();if(s3!==peg$FAILED){s4=peg$parseHexDigit();if(s4!==peg$FAILED){s5=peg$parseHexDigit();if(s5!==peg$FAILED){s6=peg$parseHexDigit();if(s6!==peg$FAILED){s7=peg$parseHexDigit();if(s7!==peg$FAILED){s8=peg$parseHexDigit();if(s8!==peg$FAILED){s9=peg$parseHexDigit();if(s9!==peg$FAILED){s10=peg$parseWS();if(s10===peg$FAILED){s10=null}if(s10!==peg$FAILED){peg$savedPos=s0;s1=peg$c1062(s2,s3,s4,s5,s6,s7,s8,s9);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseColor(){var s0;peg$silentFails++;s0=peg$parseSvgColor();if(s0===peg$FAILED){s0=peg$parseRgba8();if(s0===peg$FAILED){s0=peg$parseRgb6();if(s0===peg$FAILED){s0=peg$parseRgba4();if(s0===peg$FAILED){s0=peg$parseRgb3()}}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c1063)}}return s0}function peg$parseArrowItemKey(){var s0;if(input.substr(peg$currPos,9)===peg$c1064){s0=peg$c1064;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1065)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1066){s0=peg$c1066;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1067)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1068){s0=peg$c1068;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1069)}}}}return s0}function peg$parseArrowItem(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){s2=peg$parseArrowItemKey();if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabel();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1074(s2,s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseSingleEdgeColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1076){s2=peg$c1076;peg$currPos+=10}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1077)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1078(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1075)}}return s0}function peg$parseTransitionLineStyle(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,9)===peg$c1080){s2=peg$c1080;peg$currPos+=9}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1081)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLineStyle();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1082(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1079)}}return s0}function peg$parseArrowItems(){var s0,s1;s0=peg$parseSingleEdgeColor();if(s0===peg$FAILED){s0=peg$parseTransitionLineStyle();if(s0===peg$FAILED){s0=[];s1=peg$parseArrowItem();if(s1!==peg$FAILED){while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseArrowItem()}}else{s0=peg$FAILED}}}return s0}function peg$parseArrowDesc(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===123){s1=peg$c1083;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=peg$parseArrowItems();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){s4=peg$parseWS();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){if(input.charCodeAt(peg$currPos)===125){s5=peg$c1085;peg$currPos++}else{s5=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1086)}}if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c1087(s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseArrowProbability(){var s0,s1,s2;s0=peg$currPos;s1=peg$parseNonNegNumber();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===37){s2=peg$c1088;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1089)}}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c1090(s1);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseLabelList(){var s0,s1,s2,s3,s4,s5,s6;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===91){s1=peg$c1091;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1092)}}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=[];s4=peg$currPos;s5=peg$parseLabel();if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){s5=[s5,s6];s4=s5}else{peg$currPos=s4;s4=peg$FAILED}}else{peg$currPos=s4;s4=peg$FAILED}while(s4!==peg$FAILED){s3.push(s4);s4=peg$currPos;s5=peg$parseLabel();if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){s5=[s5,s6];s4=s5}else{peg$currPos=s4;s4=peg$FAILED}}else{peg$currPos=s4;s4=peg$FAILED}}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===93){s4=peg$c1093;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1094)}}if(s4!==peg$FAILED){peg$savedPos=s0;s1=peg$c1095(s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseLabelOrLabelList(){var s0;s0=peg$parseLabelList();if(s0===peg$FAILED){s0=peg$parseLabel()}return s0}function peg$parseStripe(){var s0,s1,s2,s3,s4;s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c1096){s1=peg$c1096;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1097)}}if(s1!==peg$FAILED){s2=peg$parseNonZeroDigit();if(s2!==peg$FAILED){s3=[];s4=peg$parseDecimalDigit();while(s4!==peg$FAILED){s3.push(s4);s4=peg$parseDecimalDigit()}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c1098(s2,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c1099){s1=peg$c1099;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1100)}}if(s1!==peg$FAILED){s2=peg$parseNonZeroDigit();if(s2!==peg$FAILED){s3=[];s4=peg$parseDecimalDigit();while(s4!==peg$FAILED){s3.push(s4);s4=peg$parseDecimalDigit()}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c1101(s2,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseCycle(){var s0,s1,s2,s3,s4;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===43){s1=peg$c1102;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1103)}}if(s1!==peg$FAILED){s2=peg$parseNonZeroDigit();if(s2!==peg$FAILED){s3=[];s4=peg$parseDecimalDigit();while(s4!==peg$FAILED){s3.push(s4);s4=peg$parseDecimalDigit()}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c1104(s2,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===45){s1=peg$c1105;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1106)}}if(s1!==peg$FAILED){s2=peg$parseNonZeroDigit();if(s2!==peg$FAILED){s3=[];s4=peg$parseDecimalDigit();while(s4!==peg$FAILED){s3.push(s4);s4=peg$parseDecimalDigit()}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c1107(s2,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c1108){s1=peg$c1108;peg$currPos+=2}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1109)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1110()}s0=s1}}return s0}function peg$parseArrowTarget(){var s0;s0=peg$parseStripe();if(s0===peg$FAILED){s0=peg$parseCycle();if(s0===peg$FAILED){s0=peg$parseLabelList();if(s0===peg$FAILED){s0=peg$parseLabel()}}}return s0}function peg$parseSubexp(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,s18;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){s2=peg$parseActionLabel();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){s4=peg$parseArrowProbability();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseArrowDesc();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseArrow();if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){s10=peg$parseArrowDesc();if(s10===peg$FAILED){s10=null}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){s12=peg$parseArrowProbability();if(s12===peg$FAILED){s12=null}if(s12!==peg$FAILED){s13=peg$parseWS();if(s13===peg$FAILED){s13=null}if(s13!==peg$FAILED){s14=peg$parseActionLabel();if(s14===peg$FAILED){s14=null}if(s14!==peg$FAILED){s15=peg$parseWS();if(s15===peg$FAILED){s15=null}if(s15!==peg$FAILED){s16=peg$parseArrowTarget();if(s16!==peg$FAILED){s17=peg$parseWS();if(s17===peg$FAILED){s17=null}if(s17!==peg$FAILED){s18=peg$parseSubexp();if(s18===peg$FAILED){s18=null}if(s18!==peg$FAILED){peg$savedPos=s0;s1=peg$c1111(s2,s4,s6,s8,s10,s12,s14,s16,s18);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseExp(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;s1=peg$parseArrowTarget();if(s1!==peg$FAILED){s2=peg$parseSubexp();if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s4=peg$c1072;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c1112(s1,s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseValidationKey(){var s0;if(input.substr(peg$currPos,9)===peg$c1113){s0=peg$c1113;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1114)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1115){s0=peg$c1115;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1116)}}}return s0}function peg$parseValidationItem(){var s0,s1,s2,s3,s4;s0=peg$currPos;s1=peg$parseValidationKey();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s2=peg$c1070;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s2!==peg$FAILED){s3=peg$parseLabel();if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s4=peg$c1072;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s4!==peg$FAILED){peg$savedPos=s0;s1=peg$c1117(s1,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseValidationItems(){var s0,s1;s0=[];s1=peg$parseValidationItem();if(s1!==peg$FAILED){while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseValidationItem()}}else{s0=peg$FAILED}return s0}function peg$parseConfigValidation(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1118){s2=peg$c1118;peg$currPos+=10}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1119)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c1083;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseValidationItems();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c1120){s10=peg$c1120;peg$currPos+=2}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1121)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1122(s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseGvizLayout(){var s0;if(input.substr(peg$currPos,3)===peg$c1123){s0=peg$c1123;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1124)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1125){s0=peg$c1125;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1126)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c1127){s0=peg$c1127;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1128)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1129){s0=peg$c1129;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1130)}}}}}return s0}function peg$parseStateItemShape(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1131){s2=peg$c1131;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1132)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseGvizShape();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1133(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseStateItems(){var s0,s1;s0=[];s1=peg$parseStateItemShape();if(s1!==peg$FAILED){while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseStateItemShape()}}else{s0=peg$FAILED}return s0}function peg$parseConfigState(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1134){s2=peg$c1134;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1135)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c1083;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseStateItems();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c1120){s10=peg$c1120;peg$currPos+=2}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1121)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1136(s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigStartState(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,11)===peg$c1137){s2=peg$c1137;peg$currPos+=11}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1138)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c1083;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseStateItems();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c1120){s10=peg$c1120;peg$currPos+=2}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1121)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1139(s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigEndState(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,9)===peg$c1140){s2=peg$c1140;peg$currPos+=9}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1141)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c1083;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseStateItems();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c1120){s10=peg$c1120;peg$currPos+=2}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1121)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1142(s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigAnyState(){var s0;s0=peg$parseConfigState();if(s0===peg$FAILED){s0=peg$parseConfigStartState();if(s0===peg$FAILED){s0=peg$parseConfigEndState()}}return s0}function peg$parseActionKey(){var s0;if(input.substr(peg$currPos,9)===peg$c1113){s0=peg$c1113;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1114)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1115){s0=peg$c1115;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1116)}}}return s0}function peg$parseActionItem(){var s0,s1,s2,s3,s4;s0=peg$currPos;s1=peg$parseActionKey();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s2=peg$c1070;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s2!==peg$FAILED){s3=peg$parseLabel();if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s4=peg$c1072;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s4!==peg$FAILED){peg$savedPos=s0;s1=peg$c1143(s1,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseActionItems(){var s0,s1;s0=[];s1=peg$parseActionItem();if(s1!==peg$FAILED){while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseActionItem()}}else{s0=peg$FAILED}return s0}function peg$parseConfigAction(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,6)===peg$c1144){s2=peg$c1144;peg$currPos+=6}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1145)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c1083;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseActionItems();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c1120){s10=peg$c1120;peg$currPos+=2}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1121)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1146(s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseTransitionKey(){var s0;if(input.substr(peg$currPos,9)===peg$c1113){s0=peg$c1113;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1114)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1115){s0=peg$c1115;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1116)}}}return s0}function peg$parseTransitionItem(){var s0,s1,s2,s3,s4;s0=peg$currPos;s1=peg$parseTransitionKey();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s2=peg$c1070;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s2!==peg$FAILED){s3=peg$parseLabel();if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s4=peg$c1072;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s4!==peg$FAILED){peg$savedPos=s0;s1=peg$c1147(s1,s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseTransitionItems(){var s0,s1;s0=peg$parseGraphDefaultEdgeColor();if(s0===peg$FAILED){s0=[];s1=peg$parseTransitionItem();if(s1!==peg$FAILED){while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseTransitionItem()}}else{s0=peg$FAILED}}return s0}function peg$parseGraphDefaultEdgeColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1076){s2=peg$c1076;peg$currPos+=10}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1077)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1149(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1148)}}return s0}function peg$parseConfigTransition(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1150){s2=peg$c1150;peg$currPos+=10}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1151)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c1083;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseTransitionItems();if(s8===peg$FAILED){s8=null}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c1120){s10=peg$c1120;peg$currPos+=2}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1121)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1152(s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigGraphLayout(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1153){s2=peg$c1153;peg$currPos+=12}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1154)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseGvizLayout();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1155(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigStartNodes(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1156){s2=peg$c1156;peg$currPos+=12}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1157)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabelList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1158(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigEndNodes(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1159){s2=peg$c1159;peg$currPos+=10}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1160)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabelList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1161(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfigGraphBgColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,14)===peg$c1162){s2=peg$c1162;peg$currPos+=14}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1163)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1164(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseConfig(){var s0;peg$silentFails++;s0=peg$parseConfigGraphLayout();if(s0===peg$FAILED){s0=peg$parseConfigStartNodes();if(s0===peg$FAILED){s0=peg$parseConfigEndNodes();if(s0===peg$FAILED){s0=peg$parseConfigTransition();if(s0===peg$FAILED){s0=peg$parseConfigAction();if(s0===peg$FAILED){s0=peg$parseConfigAnyState();if(s0===peg$FAILED){s0=peg$parseConfigValidation();if(s0===peg$FAILED){s0=peg$parseConfigGraphBgColor()}}}}}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c1165)}}return s0}function peg$parseLicenseOrLabelOrList(){var s0;if(input.substr(peg$currPos,3)===peg$c1166){s0=peg$c1166;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1167)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1168){s0=peg$c1168;peg$currPos+=12}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1169)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1170){s0=peg$c1170;peg$currPos+=12}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1171)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1172){s0=peg$c1172;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1173)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,11)===peg$c1174){s0=peg$c1174;peg$currPos+=11}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1175)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,13)===peg$c1176){s0=peg$c1176;peg$currPos+=13}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1177)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c1178){s0=peg$c1178;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1179)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c1180){s0=peg$c1180;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1181)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c1182){s0=peg$c1182;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1183)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c1184){s0=peg$c1184;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1185)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,7)===peg$c1186){s0=peg$c1186;peg$currPos+=7}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1187)}}if(s0===peg$FAILED){s0=peg$parseLabel();if(s0===peg$FAILED){s0=peg$parseLabelList()}}}}}}}}}}}}return s0}function peg$parseDirection(){var s0;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c1189){s0=peg$c1189;peg$currPos+=2}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1190)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1191){s0=peg$c1191;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1192)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1193){s0=peg$c1193;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1194)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1195){s0=peg$c1195;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1196)}}}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c1188)}}return s0}function peg$parseHookDefinition(){var s0;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c1198){s0=peg$c1198;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1199)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c1200){s0=peg$c1200;peg$currPos+=6}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1201)}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c1197)}}return s0}function peg$parseMachineAuthor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,14)===peg$c1202){s2=peg$c1202;peg$currPos+=14}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1203)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabelOrLabelList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1204(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineContributor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,19)===peg$c1205){s2=peg$c1205;peg$currPos+=19}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1206)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabelOrLabelList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1207(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineComment(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,15)===peg$c1208){s2=peg$c1208;peg$currPos+=15}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1209)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabelOrLabelList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1210(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineDefinition(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,18)===peg$c1211){s2=peg$c1211;peg$currPos+=18}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1212)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseURL();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1213(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineName(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1214){s2=peg$c1214;peg$currPos+=12}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1215)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabel();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1216(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineVersion(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,15)===peg$c1220){s2=peg$c1220;peg$currPos+=15}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1221)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseSemVer();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1222(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineLicense(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,15)===peg$c1223){s2=peg$c1223;peg$currPos+=15}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1224)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLicenseOrLabelOrList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1225(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineLanguage(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,16)===peg$c1226){s2=peg$c1226;peg$currPos+=16}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1227)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLabel();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1228(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseFslVersion(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,11)===peg$c1229){s2=peg$c1229;peg$currPos+=11}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1230)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseSemVer();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1231(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineTheme(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1232){s2=peg$c1232;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1233)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseTheme();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1234(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineFlow(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,4)===peg$c1235){s2=peg$c1235;peg$currPos+=4}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1236)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseDirection();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1237(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineHookDefinition(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1238){s2=peg$c1238;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1239)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseHookDefinition();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1240(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseDotPreamble(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1241){s2=peg$c1241;peg$currPos+=12}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1242)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseString();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1243(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachineAttribute(){var s0;peg$silentFails++;s0=peg$parseFslVersion();if(s0===peg$FAILED){s0=peg$parseMachineName();if(s0===peg$FAILED){s0=peg$parseMachineAuthor();if(s0===peg$FAILED){s0=peg$parseMachineContributor();if(s0===peg$FAILED){s0=peg$parseMachineComment();if(s0===peg$FAILED){s0=peg$parseMachineDefinition();if(s0===peg$FAILED){s0=peg$parseMachineVersion();if(s0===peg$FAILED){s0=peg$parseMachineLicense();if(s0===peg$FAILED){s0=peg$parseMachineLanguage();if(s0===peg$FAILED){s0=peg$parseMachineTheme();if(s0===peg$FAILED){s0=peg$parseDotPreamble();if(s0===peg$FAILED){s0=peg$parseMachineFlow();if(s0===peg$FAILED){s0=peg$parseMachineHookDefinition()}}}}}}}}}}}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c1244)}}return s0}function peg$parseSdStateColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1245){s2=peg$c1245;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1246)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1247(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1063)}}return s0}function peg$parseSdStateTextColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1249){s2=peg$c1249;peg$currPos+=10}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1250)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1251(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1248)}}return s0}function peg$parseSdStateBackgroundColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,16)===peg$c1253){s2=peg$c1253;peg$currPos+=16}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1254)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1255(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1252)}}return s0}function peg$parseSdStateBorderColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,12)===peg$c1257){s2=peg$c1257;peg$currPos+=12}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1258)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1259(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1256)}}return s0}function peg$parseSdStateShape(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1131){s2=peg$c1131;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1132)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseGvizShape();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1261(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1260)}}return s0}function peg$parseSdStateCorners(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,7)===peg$c1263){s2=peg$c1263;peg$currPos+=7}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1264)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseCorners();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1265(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1262)}}return s0}function peg$parseSdStateLineStyle(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,9)===peg$c1080){s2=peg$c1080;peg$currPos+=9}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1081)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c1070;peg$currPos++}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){s6=peg$parseLineStyle();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c1072;peg$currPos++}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1267(s6);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1266)}}return s0}function peg$parseStateDeclarationItems(){var s0;s0=peg$parseSdStateColor();if(s0===peg$FAILED){s0=peg$parseSdStateTextColor();if(s0===peg$FAILED){s0=peg$parseSdStateBackgroundColor();if(s0===peg$FAILED){s0=peg$parseSdStateBorderColor();if(s0===peg$FAILED){s0=peg$parseSdStateShape();if(s0===peg$FAILED){s0=peg$parseSdStateCorners();if(s0===peg$FAILED){s0=peg$parseSdStateLineStyle()}}}}}}return s0}function peg$parseStateDeclarationDesc(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===123){s1=peg$c1083;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1084)}}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=[];s4=peg$parseStateDeclarationItems();while(s4!==peg$FAILED){s3.push(s4);s4=peg$parseStateDeclarationItems()}if(s3!==peg$FAILED){s4=peg$parseWS();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){if(input.charCodeAt(peg$currPos)===125){s5=peg$c1085;peg$currPos++}else{s5=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1086)}}if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c1087(s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseStateDeclaration(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1134){s2=peg$c1134;peg$currPos+=5}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1135)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3!==peg$FAILED){s4=peg$parseLabel();if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s6=peg$c1070;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseStateDeclarationDesc();if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s10=peg$c1072;peg$currPos++}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1268(s4,s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseNamedList(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===38){s2=peg$c1269;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1270)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){s4=peg$parseLabel();if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s6=peg$c1070;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1071)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){s8=peg$parseLabelOrLabelList();if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s10=peg$c1072;peg$currPos++}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1271(s4,s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachinePropertyDefaultNull(){var s0;if(input.substr(peg$currPos,4)===peg$c1272){s0=peg$c1272;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1273)}}return s0}function peg$parseMachinePropertyDefaultUndefined(){var s0;if(input.substr(peg$currPos,9)===peg$c1274){s0=peg$c1274;peg$currPos+=9}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1275)}}return s0}function peg$parseMachinePropertyDefaultBoolean(){var s0;if(input.substr(peg$currPos,4)===peg$c222){s0=peg$c222;peg$currPos+=4}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c223)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c225){s0=peg$c225;peg$currPos+=5}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c226)}}}return s0}function peg$parseMachinePropertyDefaultNumber(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===45){s1=peg$c1105;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1106)}}if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){s2=peg$parseIntegerLiteral();if(s2!==peg$FAILED){if(input.charCodeAt(peg$currPos)===46){s3=peg$c309;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c310)}}if(s3!==peg$FAILED){s4=[];s5=peg$parseDecimalDigit();while(s5!==peg$FAILED){s4.push(s5);s5=peg$parseDecimalDigit()}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c1276();s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===45){s1=peg$c1105;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1106)}}if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){s2=peg$parseIntegerLiteral();if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c1276();s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c1277){s0=peg$c1277;peg$currPos+=8}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1278)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,11)===peg$c1279){s0=peg$c1279;peg$currPos+=11}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1280)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c1281){s0=peg$c1281;peg$currPos+=3}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1282)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1283){s0=peg$c1283;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1284)}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c1285){s0=peg$c1285;peg$currPos+=10}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1286)}}}}}}}}return s0}function peg$parseMachinePropertyDefaultString(){var s0,s1,s2,s3;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===34){s1=peg$c242;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c243)}}if(s1!==peg$FAILED){s2=[];s3=peg$parseMachinePropertyDefaultStringCharacter();while(s3!==peg$FAILED){s2.push(s3);s3=peg$parseMachinePropertyDefaultStringCharacter()}if(s2!==peg$FAILED){if(input.charCodeAt(peg$currPos)===34){s3=peg$c242;peg$currPos++}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c243)}}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c1287(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseMachinePropertyDefaultStringCharacter(){var s0,s1,s2;s0=peg$currPos;s1=peg$currPos;peg$silentFails++;if(input.charCodeAt(peg$currPos)===34){s2=peg$c242;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c243)}}if(s2===peg$FAILED){if(input.charCodeAt(peg$currPos)===92){s2=peg$c244;peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c245)}}}peg$silentFails--;if(s2===peg$FAILED){s1=void 0}else{peg$currPos=s1;s1=peg$FAILED}if(s1!==peg$FAILED){if(input.length>peg$currPos){s2=input.charAt(peg$currPos);peg$currPos++}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c284)}}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c1288(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===92){s1=peg$c244;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c245)}}if(s1!==peg$FAILED){s2=peg$parseMachinePropertyDefaultStringEscapeSequence();if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c1289(s2);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseMachinePropertyDefaultStringEscapeSequence(){var s0,s1;if(input.charCodeAt(peg$currPos)===39){s0=peg$c272;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c273)}}if(s0===peg$FAILED){if(input.charCodeAt(peg$currPos)===34){s0=peg$c242;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c243)}}if(s0===peg$FAILED){if(input.charCodeAt(peg$currPos)===92){s0=peg$c244;peg$currPos++}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c245)}}if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===98){s1=peg$c248;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c249)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1290()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===102){s1=peg$c251;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c252)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1291()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===110){s1=peg$c254;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c255)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1292()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===114){s1=peg$c257;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c258)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1293()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===116){s1=peg$c260;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c261)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1294()}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.charCodeAt(peg$currPos)===118){s1=peg$c263;peg$currPos++}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c264)}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c1295()}s0=s1}}}}}}}}return s0}function peg$parseMachinePropertyDefault(){var s0;s0=peg$parseMachinePropertyDefaultNull();if(s0===peg$FAILED){s0=peg$parseMachinePropertyDefaultUndefined();if(s0===peg$FAILED){s0=peg$parseMachinePropertyDefaultBoolean();if(s0===peg$FAILED){s0=peg$parseMachinePropertyDefaultNumber();if(s0===peg$FAILED){s0=peg$parseMachinePropertyDefaultString()}}}}return s0}function peg$parseMachineProperty(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,8)===peg$c1296){s2=peg$c1296;peg$currPos+=8}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1297)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){s4=peg$parseLabel();if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.substr(peg$currPos,7)===peg$c3){s6=peg$c3;peg$currPos+=7}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c4)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7!==peg$FAILED){s8=peg$parseMachinePropertyDefault();if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null}if(s9!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s10=peg$c1072;peg$currPos++}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1298(s4,s8);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null}if(s1!==peg$FAILED){if(input.substr(peg$currPos,8)===peg$c1296){s2=peg$c1296;peg$currPos+=8}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1297)}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null}if(s3!==peg$FAILED){s4=peg$parseLabel();if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s6=peg$c1072;peg$currPos++}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null}if(s7!==peg$FAILED){peg$savedPos=s0;s1=peg$c1299(s4);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}return s0}function peg$parseRegularArrangeDeclaration(){var s0,s1,s2,s3,s4,s5,s6;s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c1300){s1=peg$c1300;peg$currPos+=7}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1301)}}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=peg$parseLabelOrLabelList();if(s3!==peg$FAILED){s4=peg$parseWS();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s5=peg$c1072;peg$currPos++}else{s5=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){peg$savedPos=s0;s1=peg$c1302(s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseArrangeStartDeclaration(){var s0,s1,s2,s3,s4,s5,s6;s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c1303){s1=peg$c1303;peg$currPos+=13}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1304)}}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=peg$parseLabelOrLabelList();if(s3!==peg$FAILED){s4=peg$parseWS();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s5=peg$c1072;peg$currPos++}else{s5=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){peg$savedPos=s0;s1=peg$c1305(s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseArrangeEndDeclaration(){var s0,s1,s2,s3,s4,s5,s6;s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c1306){s1=peg$c1306;peg$currPos+=11}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1307)}}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null}if(s2!==peg$FAILED){s3=peg$parseLabelOrLabelList();if(s3!==peg$FAILED){s4=peg$parseWS();if(s4===peg$FAILED){s4=null}if(s4!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s5=peg$c1072;peg$currPos++}else{s5=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1073)}}if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null}if(s6!==peg$FAILED){peg$savedPos=s0;s1=peg$c1308(s3);s0=s1}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}}else{peg$currPos=s0;s0=peg$FAILED}return s0}function peg$parseArrangeDeclaration(){var s0;peg$silentFails++;s0=peg$parseArrangeStartDeclaration();if(s0===peg$FAILED){s0=peg$parseArrangeEndDeclaration();if(s0===peg$FAILED){s0=peg$parseRegularArrangeDeclaration()}}peg$silentFails--;if(s0===peg$FAILED){if(peg$silentFails===0){peg$fail(peg$c1309)}}return s0}function peg$parseTerm(){var s0;s0=peg$parseExp();if(s0===peg$FAILED){s0=peg$parseStateDeclaration();if(s0===peg$FAILED){s0=peg$parseArrangeDeclaration();if(s0===peg$FAILED){s0=peg$parseNamedList();if(s0===peg$FAILED){s0=peg$parseMachineAttribute();if(s0===peg$FAILED){s0=peg$parseMachineProperty();if(s0===peg$FAILED){s0=peg$parseConfig()}}}}}}return s0}function peg$parseTermList(){var s0,s1;s0=[];s1=peg$parseTerm();while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseTerm()}return s0}peg$result=peg$startRuleFunction();if(peg$result!==peg$FAILED&&peg$currPos===input.length){return peg$result}else{if(peg$result!==peg$FAILED&&peg$currPos":case"→":case"=>":case"⇒":case"~>":case"↛":return"right";case"<-":case"←":case"<=":case"⇐":case"<~":case"↚":return"left";case"<->":case"↔":case"<-=>":case"←⇒":case"←=>":case"<-⇒":case"<-~>":case"←↛":case"←~>":case"<-↛":case"<=>":case"⇔":case"<=->":case"⇐→":case"⇐->":case"<=→":case"<=~>":case"⇐↛":case"⇐~>":case"<=↛":case"<~>":case"↮":case"<~->":case"↚→":case"↚->":case"<~→":case"<~=>":case"↚⇒":case"↚=>":case"<~⇒":return"both";default:throw new JssmError(undefined,`arrow_direction: unknown arrow type ${arrow}`)}}function arrow_left_kind(arrow){switch(String(arrow)){case"->":case"→":case"=>":case"⇒":case"~>":case"↛":return"none";case"<-":case"←":case"<->":case"↔":case"<-=>":case"←⇒":case"<-~>":case"←↛":return"legal";case"<=":case"⇐":case"<=>":case"⇔":case"<=->":case"⇐→":case"<=~>":case"⇐↛":return"main";case"<~":case"↚":case"<~>":case"↮":case"<~->":case"↚→":case"<~=>":case"↚⇒":return"forced";default:throw new JssmError(undefined,`arrow_direction: unknown arrow type ${arrow}`)}}function arrow_right_kind(arrow){switch(String(arrow)){case"<-":case"←":case"<=":case"⇐":case"<~":case"↚":return"none";case"->":case"→":case"<->":case"↔":case"<=->":case"⇐→":case"<~->":case"↚→":return"legal";case"=>":case"⇒":case"<=>":case"⇔":case"<-=>":case"←⇒":case"<~=>":case"↚⇒":return"main";case"~>":case"↛":case"<~>":case"↮":case"<-~>":case"←↛":case"<=~>":case"⇐↛":return"forced";default:throw new JssmError(undefined,`arrow_direction: unknown arrow type ${arrow}`)}}function makeTransition(this_se,from,to,isRight,_wasList,_wasIndex){const kind=isRight?arrow_right_kind(this_se.kind):arrow_left_kind(this_se.kind),edge={from:from,to:to,kind:kind,forced_only:kind==="forced",main_path:kind==="main"};const action=isRight?"r_action":"l_action",probability=isRight?"r_probability":"l_probability";if(this_se[action]){edge.action=this_se[action]}if(this_se[probability]){edge.probability=this_se[probability]}return edge}function wrap_parse(input,options){return peg$parse(input,options||{})}function compile_rule_transition_step(acc,from,to,this_se,next_se){const edges=[];const uFrom=Array.isArray(from)?from:[from],uTo=Array.isArray(to)?to:[to];uFrom.map((f=>{uTo.map((t=>{const right=makeTransition(this_se,f,t,true);if(right.kind!=="none"){edges.push(right)}const left=makeTransition(this_se,t,f,false);if(left.kind!=="none"){edges.push(left)}}))}));const new_acc=acc.concat(edges);if(next_se){return compile_rule_transition_step(new_acc,to,next_se.to,next_se,next_se.se)}else{return new_acc}}function compile_rule_handle_transition(rule){return compile_rule_transition_step([],rule.from,rule.se.to,rule.se,rule.se.se)}function compile_rule_handler(rule){if(rule.key==="transition"){return{agg_as:"transition",val:compile_rule_handle_transition(rule)}}if(rule.key==="machine_language"){return{agg_as:"machine_language",val:reduceTo6391.reduce(rule.value)}}if(rule.key==="state_declaration"){if(!rule.name){throw new JssmError(undefined,"State declarations must have a name")}return{agg_as:"state_declaration",val:{state:rule.name,declarations:rule.value}}}if(["arrange_declaration","arrange_start_declaration","arrange_end_declaration"].includes(rule.key)){return{agg_as:rule.key,val:[rule.value]}}const tautologies=["graph_layout","start_states","end_states","machine_name","machine_version","machine_comment","machine_author","machine_contributor","machine_definition","machine_reference","machine_license","fsl_version","state_config","theme","flow","dot_preamble"];if(tautologies.includes(rule.key)){return{agg_as:rule.key,val:rule.value}}throw new JssmError(undefined,`compile_rule_handler: Unknown rule: ${JSON.stringify(rule)}`)}function compile(tree){const results={graph_layout:[],transition:[],start_states:[],end_states:[],state_config:[],state_declaration:[],fsl_version:[],machine_author:[],machine_comment:[],machine_contributor:[],machine_definition:[],machine_language:[],machine_license:[],machine_name:[],machine_reference:[],theme:[],flow:[],dot_preamble:[],arrange_declaration:[],arrange_start_declaration:[],arrange_end_declaration:[],machine_version:[]};tree.map((tr=>{const rule=compile_rule_handler(tr),agg_as=rule.agg_as,val=rule.val;results[agg_as]=results[agg_as].concat(val)}));const assembled_transitions=[].concat(...results["transition"]);const result_cfg={start_states:results.start_states.length?results.start_states:[assembled_transitions[0].from],transitions:assembled_transitions};const oneOnlyKeys=["graph_layout","machine_name","machine_version","machine_comment","fsl_version","machine_license","machine_definition","machine_language","theme","flow","dot_preamble"];oneOnlyKeys.map((oneOnlyKey=>{if(results[oneOnlyKey].length>1){throw new JssmError(undefined,`May only have one ${oneOnlyKey} statement maximum: ${JSON.stringify(results[oneOnlyKey])}`)}else{if(results[oneOnlyKey].length){result_cfg[oneOnlyKey]=results[oneOnlyKey][0]}}}));["arrange_declaration","arrange_start_declaration","arrange_end_declaration","machine_author","machine_contributor","machine_reference","state_declaration"].map((multiKey=>{if(results[multiKey].length){result_cfg[multiKey]=results[multiKey]}}));return result_cfg}function make(plan){return compile(wrap_parse(plan))}function transfer_state_properties(state_decl){state_decl.declarations.map((d=>{switch(d.key){case"shape":state_decl.shape=d.value;break;case"color":state_decl.color=d.value;break;case"corners":state_decl.corners=d.value;break;case"linestyle":state_decl.linestyle=d.value;break;case"text-color":state_decl.textColor=d.value;break;case"background-color":state_decl.backgroundColor=d.value;break;case"border-color":state_decl.borderColor=d.value;break;default:throw new JssmError(undefined,`Unknown state property: '${JSON.stringify(d)}'`)}}));return state_decl}class Machine{constructor({start_states:start_states,complete:complete=[],transitions:transitions,machine_author:machine_author,machine_comment:machine_comment,machine_contributor:machine_contributor,machine_definition:machine_definition,machine_language:machine_language,machine_license:machine_license,machine_name:machine_name,machine_version:machine_version,state_declaration:state_declaration,fsl_version:fsl_version,dot_preamble:dot_preamble=undefined,arrange_declaration:arrange_declaration=[],arrange_start_declaration:arrange_start_declaration=[],arrange_end_declaration:arrange_end_declaration=[],theme:theme="default",flow:flow="down",graph_layout:graph_layout="dot",instance_name:instance_name,history:history,data:data}){this._instance_name=instance_name;this._state=start_states[0];this._states=new Map;this._state_declarations=new Map;this._edges=[];this._edge_map=new Map;this._named_transitions=new Map;this._actions=new Map;this._reverse_actions=new Map;this._reverse_action_targets=new Map;this._machine_author=array_box_if_string(machine_author);this._machine_comment=machine_comment;this._machine_contributor=array_box_if_string(machine_contributor);this._machine_definition=machine_definition;this._machine_language=machine_language;this._machine_license=machine_license;this._machine_name=machine_name;this._machine_version=machine_version;this._raw_state_declaration=state_declaration||[];this._fsl_version=fsl_version;this._arrange_declaration=arrange_declaration;this._arrange_start_declaration=arrange_start_declaration;this._arrange_end_declaration=arrange_end_declaration;this._dot_preamble=dot_preamble;this._theme=theme;this._flow=flow;this._graph_layout=graph_layout;this._has_hooks=false;this._has_basic_hooks=false;this._has_named_hooks=false;this._has_entry_hooks=false;this._has_exit_hooks=false;this._has_global_action_hooks=false;this._has_transition_hooks=true;this._hooks=new Map;this._named_hooks=new Map;this._entry_hooks=new Map;this._exit_hooks=new Map;this._global_action_hooks=new Map;this._any_action_hook=undefined;this._standard_transition_hook=undefined;this._main_transition_hook=undefined;this._forced_transition_hook=undefined;this._any_transition_hook=undefined;this._has_post_hooks=false;this._has_post_basic_hooks=false;this._has_post_named_hooks=false;this._has_post_entry_hooks=false;this._has_post_exit_hooks=false;this._has_post_global_action_hooks=false;this._has_post_transition_hooks=true;this._post_hooks=new Map;this._post_named_hooks=new Map;this._post_entry_hooks=new Map;this._post_exit_hooks=new Map;this._post_global_action_hooks=new Map;this._post_any_action_hook=undefined;this._post_standard_transition_hook=undefined;this._post_main_transition_hook=undefined;this._post_forced_transition_hook=undefined;this._post_any_transition_hook=undefined;this._data=data;this._history_length=history||0;this._history=new circular_buffer(this._history_length);if(state_declaration){state_declaration.map((state_decl=>{if(this._state_declarations.has(state_decl.state)){throw new JssmError(this,`Added the same state declaration twice: ${JSON.stringify(state_decl.state)}`)}this._state_declarations.set(state_decl.state,transfer_state_properties(state_decl))}))}transitions.map((tr=>{if(tr.from===undefined){throw new JssmError(this,`transition must define 'from': ${JSON.stringify(tr)}`)}if(tr.to===undefined){throw new JssmError(this,`transition must define 'to': ${JSON.stringify(tr)}`)}const cursor_from=this._states.get(tr.from)||{name:tr.from,from:[],to:[],complete:complete.includes(tr.from)};if(!this._states.has(tr.from)){this._new_state(cursor_from)}const cursor_to=this._states.get(tr.to)||{name:tr.to,from:[],to:[],complete:complete.includes(tr.to)};if(!this._states.has(tr.to)){this._new_state(cursor_to)}if(cursor_from.to.includes(tr.to)){throw new JssmError(this,`already has ${JSON.stringify(tr.from)} to ${JSON.stringify(tr.to)}`)}else{cursor_from.to.push(tr.to);cursor_to.from.push(tr.from)}this._edges.push(tr);const thisEdgeId=this._edges.length-1;if(tr.name){if(this._named_transitions.has(tr.name)){throw new JssmError(this,`named transition "${JSON.stringify(tr.name)}" already created`)}else{this._named_transitions.set(tr.name,thisEdgeId)}}const from_mapping=this._edge_map.get(tr.from)||new Map;if(!this._edge_map.has(tr.from)){this._edge_map.set(tr.from,from_mapping)}from_mapping.set(tr.to,thisEdgeId);if(tr.action){let actionMap=this._actions.get(tr.action);if(!actionMap){actionMap=new Map;this._actions.set(tr.action,actionMap)}if(actionMap.has(tr.from)){throw new JssmError(this,`action ${JSON.stringify(tr.action)} already attached to origin ${JSON.stringify(tr.from)}`)}else{actionMap.set(tr.from,thisEdgeId)}let rActionMap=this._reverse_actions.get(tr.from);if(!rActionMap){rActionMap=new Map;this._reverse_actions.set(tr.from,rActionMap)}rActionMap.set(tr.action,thisEdgeId);if(!this._reverse_action_targets.has(tr.to)){this._reverse_action_targets.set(tr.to,new Map)}}}))}_new_state(state_config){if(this._states.has(state_config.name)){throw new JssmError(this,`state ${JSON.stringify(state_config.name)} already exists`)}this._states.set(state_config.name,state_config);return state_config.name}state(){return this._state}data(){return this._data}state_is_final(whichState){return this.state_is_terminal(whichState)&&this.state_is_complete(whichState)}is_final(){return this.state_is_final(this.state())}graph_layout(){return this._graph_layout}dot_preamble(){return this._dot_preamble}machine_author(){return this._machine_author}machine_comment(){return this._machine_comment}machine_contributor(){return this._machine_contributor}machine_definition(){return this._machine_definition}machine_language(){return this._machine_language}machine_license(){return this._machine_license}machine_name(){return this._machine_name}machine_version(){return this._machine_version}raw_state_declarations(){return this._raw_state_declaration}state_declaration(which){return this._state_declarations.get(which)}state_declarations(){return this._state_declarations}fsl_version(){return this._fsl_version}machine_state(){return{internal_state_impl_version:1,actions:this._actions,edge_map:this._edge_map,edges:this._edges,named_transitions:this._named_transitions,reverse_actions:this._reverse_actions,state:this._state,states:this._states}}states(){return Array.from(this._states.keys())}state_for(whichState){const state=this._states.get(whichState);if(state){return state}else{throw new JssmError(this,"No such state",{requested_state:whichState})}}has_state(whichState){return this._states.get(whichState)!==undefined}list_edges(){return this._edges}list_named_transitions(){return this._named_transitions}list_actions(){return Array.from(this._actions.keys())}theme(){return this._theme}flow(){return this._flow}get_transition_by_state_names(from,to){const emg=this._edge_map.get(from);if(emg){return emg.get(to)}else{return undefined}}lookup_transition_for(from,to){const id=this.get_transition_by_state_names(from,to);return id===undefined||id===null?undefined:this._edges[id]}list_transitions(whichState=this.state()){return{entrances:this.list_entrances(whichState),exits:this.list_exits(whichState)}}list_entrances(whichState=this.state()){return(this._states.get(whichState)||{from:undefined}).from||[]}list_exits(whichState=this.state()){return(this._states.get(whichState)||{to:undefined}).to||[]}probable_exits_for(whichState){const wstate=this._states.get(whichState);if(!wstate){throw new JssmError(this,`No such state ${JSON.stringify(whichState)} in probable_exits_for`)}const wstate_to=wstate.to,wtf=wstate_to.map((ws=>this.lookup_transition_for(this.state(),ws))).filter(Boolean);return wtf}probabilistic_transition(){const selected=weighted_rand_select(this.probable_exits_for(this.state()));return this.transition(selected.to)}probabilistic_walk(n){return seq(n).map((()=>{const state_was=this.state();this.probabilistic_transition();return state_was})).concat([this.state()])}probabilistic_histo_walk(n){return histograph(this.probabilistic_walk(n))}actions(whichState=this.state()){const wstate=this._reverse_actions.get(whichState);if(wstate){return Array.from(wstate.keys())}else{throw new JssmError(this,`No such state ${JSON.stringify(whichState)}`)}}list_states_having_action(whichState){const wstate=this._actions.get(whichState);if(wstate){return Array.from(wstate.keys())}else{throw new JssmError(this,`No such state ${JSON.stringify(whichState)}`)}}list_exit_actions(whichState=this.state()){const ra_base=this._reverse_actions.get(whichState);if(!ra_base){throw new JssmError(this,`No such state ${JSON.stringify(whichState)}`)}return Array.from(ra_base.values()).map((edgeId=>this._edges[edgeId])).filter((o=>o.from===whichState)).map((filtered=>filtered.action))}probable_action_exits(whichState=this.state()){const ra_base=this._reverse_actions.get(whichState);if(!ra_base){throw new JssmError(this,`No such state ${JSON.stringify(whichState)}`)}return Array.from(ra_base.values()).map((edgeId=>this._edges[edgeId])).filter((o=>o.from===whichState)).map((filtered=>({action:filtered.action,probability:filtered.probability})))}is_unenterable(whichState){if(!this.has_state(whichState)){throw new JssmError(this,`No such state ${whichState}`)}return this.list_entrances(whichState).length===0}has_unenterables(){return this.states().some((x=>this.is_unenterable(x)))}is_terminal(){return this.state_is_terminal(this.state())}state_is_terminal(whichState){if(!this.has_state(whichState)){throw new JssmError(this,`No such state ${whichState}`)}return this.list_exits(whichState).length===0}has_terminals(){return this.states().some((x=>this.state_is_terminal(x)))}is_complete(){return this.state_is_complete(this.state())}state_is_complete(whichState){const wstate=this._states.get(whichState);if(wstate){return wstate.complete}else{throw new JssmError(this,`No such state ${JSON.stringify(whichState)}`)}}has_completes(){return this.states().some((x=>this.state_is_complete(x)))}set_hook(HookDesc){switch(HookDesc.kind){case"hook":this._hooks.set(hook_name(HookDesc.from,HookDesc.to),HookDesc.handler);this._has_hooks=true;this._has_basic_hooks=true;break;case"named":this._named_hooks.set(named_hook_name(HookDesc.from,HookDesc.to,HookDesc.action),HookDesc.handler);this._has_hooks=true;this._has_named_hooks=true;break;case"global action":this._global_action_hooks.set(HookDesc.action,HookDesc.handler);this._has_hooks=true;this._has_global_action_hooks=true;break;case"any action":this._any_action_hook=HookDesc.handler;this._has_hooks=true;break;case"standard transition":this._standard_transition_hook=HookDesc.handler;this._has_transition_hooks=true;this._has_hooks=true;break;case"main transition":this._main_transition_hook=HookDesc.handler;this._has_transition_hooks=true;this._has_hooks=true;break;case"forced transition":this._forced_transition_hook=HookDesc.handler;this._has_transition_hooks=true;this._has_hooks=true;break;case"any transition":this._any_transition_hook=HookDesc.handler;this._has_hooks=true;break;case"entry":this._entry_hooks.set(HookDesc.to,HookDesc.handler);this._has_hooks=true;this._has_entry_hooks=true;break;case"exit":this._exit_hooks.set(HookDesc.from,HookDesc.handler);this._has_hooks=true;this._has_exit_hooks=true;break;case"post hook":this._post_hooks.set(hook_name(HookDesc.from,HookDesc.to),HookDesc.handler);this._has_post_hooks=true;this._has_post_basic_hooks=true;break;case"post named":this._post_named_hooks.set(named_hook_name(HookDesc.from,HookDesc.to,HookDesc.action),HookDesc.handler);this._has_post_hooks=true;this._has_post_named_hooks=true;break;case"post global action":this._post_global_action_hooks.set(HookDesc.action,HookDesc.handler);this._has_post_hooks=true;this._has_post_global_action_hooks=true;break;case"post any action":this._post_any_action_hook=HookDesc.handler;this._has_post_hooks=true;break;case"post standard transition":console.log(`l1a ${JSON.stringify(HookDesc)}`);this._post_standard_transition_hook=HookDesc.handler;this._has_post_transition_hooks=true;this._has_post_hooks=true;break;case"post main transition":console.log(`l1b ${JSON.stringify(HookDesc)}`);this._post_main_transition_hook=HookDesc.handler;this._has_post_transition_hooks=true;this._has_post_hooks=true;break;case"post forced transition":console.log(`l1c ${JSON.stringify(HookDesc)}`);this._post_forced_transition_hook=HookDesc.handler;this._has_post_transition_hooks=true;this._has_post_hooks=true;break;case"post any transition":this._post_any_transition_hook=HookDesc.handler;this._has_post_hooks=true;break;case"post entry":this._post_entry_hooks.set(HookDesc.to,HookDesc.handler);this._has_post_entry_hooks=true;this._has_post_hooks=true;break;case"post exit":this._post_exit_hooks.set(HookDesc.from,HookDesc.handler);this._has_post_exit_hooks=true;this._has_post_hooks=true;break;default:throw new JssmError(this,`Unknown hook type ${HookDesc.kind}, should be impossible`)}}hook(from,to,handler){this.set_hook({kind:"hook",from:from,to:to,handler:handler});return this}hook_action(from,to,action,handler){this.set_hook({kind:"named",from:from,to:to,action:action,handler:handler});return this}hook_global_action(action,handler){this.set_hook({kind:"global action",action:action,handler:handler});return this}hook_any_action(handler){this.set_hook({kind:"any action",handler:handler});return this}hook_standard_transition(handler){this.set_hook({kind:"standard transition",handler:handler});return this}hook_main_transition(handler){this.set_hook({kind:"main transition",handler:handler});return this}hook_forced_transition(handler){this.set_hook({kind:"forced transition",handler:handler});return this}hook_any_transition(handler){this.set_hook({kind:"any transition",handler:handler});return this}hook_entry(to,handler){this.set_hook({kind:"entry",to:to,handler:handler});return this}hook_exit(from,handler){this.set_hook({kind:"exit",from:from,handler:handler});return this}post_hook(from,to,handler){this.set_hook({kind:"post hook",from:from,to:to,handler:handler});return this}post_hook_action(from,to,action,handler){this.set_hook({kind:"post named",from:from,to:to,action:action,handler:handler});return this}post_hook_global_action(action,handler){this.set_hook({kind:"post global action",action:action,handler:handler});return this}post_hook_any_action(handler){this.set_hook({kind:"post any action",handler:handler});return this}post_hook_standard_transition(handler){this.set_hook({kind:"post standard transition",handler:handler});return this}post_hook_main_transition(handler){this.set_hook({kind:"post main transition",handler:handler});return this}post_hook_forced_transition(handler){this.set_hook({kind:"post forced transition",handler:handler});return this}post_hook_any_transition(handler){this.set_hook({kind:"post any transition",handler:handler});return this}post_hook_entry(to,handler){this.set_hook({kind:"post entry",to:to,handler:handler});return this}post_hook_exit(from,handler){this.set_hook({kind:"post exit",from:from,handler:handler});return this}edges_between(from,to){return this._edges.filter((edge=>edge.from===from&&edge.to===to))}transition_impl(newStateOrAction,newData,wasForced,wasAction){let valid=false,trans_type,newState,fromAction=undefined;if(wasForced){if(this.valid_force_transition(newStateOrAction,newData)){valid=true;trans_type="forced";newState=newStateOrAction}}else if(wasAction){if(this.valid_action(newStateOrAction,newData)){const edge=this.current_action_edge_for(newStateOrAction);valid=true;trans_type=edge.kind;newState=edge.to;fromAction=newStateOrAction}}else{if(this.valid_transition(newStateOrAction,newData)){if(this._has_transition_hooks){trans_type=this.edges_between(this._state,newStateOrAction)[0].kind}valid=true;newState=newStateOrAction}}const hook_args={data:this._data,action:fromAction,from:this._state,to:newState,forced:wasForced,trans_type:trans_type};if(valid){if(this._has_hooks){function update_fields(res){if(res.hasOwnProperty("data")){hook_args.data=res.data;data_changed=true}}let data_changed=false;if(wasAction){const outcome=abstract_hook_step(this._any_action_hook,hook_args);if(outcome.pass===false){return false}update_fields(outcome);const outcome2=abstract_hook_step(this._global_action_hooks.get(newStateOrAction),hook_args);if(outcome2.pass===false){return false}update_fields(outcome2)}if(this._any_transition_hook!==undefined){const outcome=abstract_hook_step(this._any_transition_hook,hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(this._has_exit_hooks){const outcome=abstract_hook_step(this._exit_hooks.get(this._state),hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(this._has_named_hooks){if(wasAction){const nhn=named_hook_name(this._state,newState,newStateOrAction),outcome=abstract_hook_step(this._named_hooks.get(nhn),hook_args);if(outcome.pass===false){return false}update_fields(outcome)}}if(this._has_basic_hooks){const hn=hook_name(this._state,newState),outcome=abstract_hook_step(this._hooks.get(hn),hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(trans_type==="legal"){const outcome=abstract_hook_step(this._standard_transition_hook,hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(trans_type==="main"){const outcome=abstract_hook_step(this._main_transition_hook,hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(trans_type==="forced"){const outcome=abstract_hook_step(this._forced_transition_hook,hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(this._has_entry_hooks){const outcome=abstract_hook_step(this._entry_hooks.get(newState),hook_args);if(outcome.pass===false){return false}update_fields(outcome)}if(this._history_length){this._history.shove([this._state,this._data])}this._state=newState;if(data_changed){this._data=hook_args.data}}else{if(this._history_length){this._history.shove([this._state,this._data])}this._state=newState}}else{return false}if(this._has_post_hooks){if(wasAction){if(this._post_any_action_hook!==undefined){this._post_any_action_hook(hook_args)}const pgah=this._post_global_action_hooks.get(hook_args.action);if(pgah!==undefined){pgah(hook_args)}}if(this._post_any_transition_hook!==undefined){this._post_any_transition_hook(hook_args)}if(this._has_post_exit_hooks){const peh=this._post_exit_hooks.get(hook_args.from);if(peh!==undefined){peh(hook_args)}}if(this._has_post_named_hooks){if(wasAction){const nhn=named_hook_name(hook_args.from,hook_args.to,hook_args.action),pnh=this._post_named_hooks.get(nhn);if(pnh!==undefined){pnh(hook_args)}}}if(this._has_post_basic_hooks){const hook=this._post_hooks.get(hook_name(hook_args.from,hook_args.to));if(hook!==undefined){hook(hook_args)}}if(trans_type==="legal"){console.log(`l2a ${JSON.stringify(hook_args)}`);if(this._post_standard_transition_hook!==undefined){console.log(`l3a ${JSON.stringify(hook_args)} ${JSON.stringify(this._post_standard_transition_hook)}`);this._post_standard_transition_hook(hook_args)}}if(trans_type==="main"){console.log(`l2b ${JSON.stringify(hook_args)}`);if(this._post_main_transition_hook!==undefined){console.log(`l3b ${JSON.stringify(hook_args)} ${JSON.stringify(this._post_main_transition_hook)}`);this._post_main_transition_hook(hook_args)}}if(trans_type==="forced"){console.log(`l2c ${JSON.stringify(hook_args)}`);if(this._post_forced_transition_hook!==undefined){console.log(`l3c ${JSON.stringify(hook_args)} ${JSON.stringify(this._post_forced_transition_hook)}`);this._post_forced_transition_hook(hook_args)}}if(this._has_post_entry_hooks){const hook=this._post_entry_hooks.get(hook_args.to);if(hook!==undefined){hook(hook_args)}}}return true}get history(){return this._history.toArray()}get history_inclusive(){const ret=this._history.toArray();ret.push([this.state(),this.data()]);return ret}get history_length(){return this._history_length}set history_length(to){this._history_length=to;this._history.resize(to,true)}action(actionName,newData){return this.transition_impl(actionName,newData,false,true)}transition(newState,newData){return this.transition_impl(newState,newData,false,false)}force_transition(newState,newData){return this.transition_impl(newState,newData,true,false)}current_action_for(action){const action_base=this._actions.get(action);return action_base?action_base.get(this.state()):undefined}current_action_edge_for(action){const idx=this.current_action_for(action);if(idx===undefined||idx===null){throw new JssmError(this,`No such action ${JSON.stringify(action)}`)}return this._edges[idx]}valid_action(action,_newData){return this.current_action_for(action)!==undefined}valid_transition(newState,_newData){const transition_for=this.lookup_transition_for(this.state(),newState);if(!transition_for){return false}if(transition_for.forced_only){return false}return true}valid_force_transition(newState,_newData){return this.lookup_transition_for(this.state(),newState)!==undefined}instance_name(){return this._instance_name}sm(template_strings,...remainder){return sm(template_strings,...remainder)}}function sm(template_strings,...remainder){return new Machine(make(template_strings.reduce(((acc,val,idx)=>`${acc}${remainder[idx-1]}${val}`))))}function from(MachineAsString,ExtraConstructorFields){const to_decorate=make(MachineAsString);if(ExtraConstructorFields!==undefined){Object.keys(ExtraConstructorFields).map((key=>to_decorate[key]=ExtraConstructorFields[key]))}return new Machine(to_decorate)}function is_hook_complex_result(hr){if(typeof hr==="object"){if(typeof hr.pass==="boolean"){return true}}return false}function is_hook_rejection(hr){if(hr===true){return false}if(hr===undefined){return false}if(hr===false){return true}if(is_hook_complex_result(hr)){return!hr.pass}throw new TypeError("unknown hook rejection type result")}function abstract_hook_step(maybe_hook,hook_args){if(maybe_hook!==undefined){const result=maybe_hook(hook_args);if(result===undefined){return{pass:true}}if(result===true){return{pass:true}}if(result===false){return{pass:false}}if(is_hook_complex_result(result)){return result}throw new TypeError(`Unknown hook result type ${result}`)}else{return{pass:true}}}exports.Machine=Machine;exports.abstract_hook_step=abstract_hook_step;exports.arrow_direction=arrow_direction;exports.arrow_left_kind=arrow_left_kind;exports.arrow_right_kind=arrow_right_kind;exports.compile=compile;exports.from=from;exports.gviz_shapes=gviz_shapes;exports.histograph=histograph;exports.is_hook_complex_result=is_hook_complex_result;exports.is_hook_rejection=is_hook_rejection;exports.make=make;exports.named_colors=named_colors;exports.parse=wrap_parse;exports.seq=seq;exports.shapes=shapes;exports.sm=sm;exports.transfer_state_properties=transfer_state_properties;exports.version=version;exports.weighted_histo_key=weighted_histo_key;exports.weighted_rand_select=weighted_rand_select;exports.weighted_sample_select=weighted_sample_select;Object.defineProperty(exports,"__esModule",{value:true});return exports}({}); diff --git a/dist/jssm.es5.iife.nonmin.js b/dist/jssm.es5.iife.nonmin.js index 54fd48b2..3ccd22ce 100644 --- a/dist/jssm.es5.iife.nonmin.js +++ b/dist/jssm.es5.iife.nonmin.js @@ -17389,7 +17389,6 @@ var jssm = (function (exports) { this._main_transition_hook = undefined; this._forced_transition_hook = undefined; this._any_transition_hook = undefined; - this._standard_transition_hook = undefined; this._has_post_hooks = false; this._has_post_basic_hooks = false; this._has_post_named_hooks = false; @@ -17408,7 +17407,6 @@ var jssm = (function (exports) { this._post_main_transition_hook = undefined; this._post_forced_transition_hook = undefined; this._post_any_transition_hook = undefined; - this._post_standard_transition_hook = undefined; this._data = data; this._history_length = history || 0; this._history = new circular_buffer(this._history_length); @@ -18082,12 +18080,12 @@ var jssm = (function (exports) { case 'post hook': this._post_hooks.set(hook_name(HookDesc.from, HookDesc.to), HookDesc.handler); this._has_post_hooks = true; - this._has_basic_hooks = true; + this._has_post_basic_hooks = true; break; case 'post named': this._post_named_hooks.set(named_hook_name(HookDesc.from, HookDesc.to, HookDesc.action), HookDesc.handler); this._has_post_hooks = true; - this._has_named_hooks = true; + this._has_post_named_hooks = true; break; case 'post global action': this._post_global_action_hooks.set(HookDesc.action, HookDesc.handler); @@ -18099,16 +18097,19 @@ var jssm = (function (exports) { this._has_post_hooks = true; break; case 'post standard transition': + console.log(`l1a ${JSON.stringify(HookDesc)}`); this._post_standard_transition_hook = HookDesc.handler; this._has_post_transition_hooks = true; this._has_post_hooks = true; break; case 'post main transition': + console.log(`l1b ${JSON.stringify(HookDesc)}`); this._post_main_transition_hook = HookDesc.handler; this._has_post_transition_hooks = true; this._has_post_hooks = true; break; case 'post forced transition': + console.log(`l1c ${JSON.stringify(HookDesc)}`); this._post_forced_transition_hook = HookDesc.handler; this._has_post_transition_hooks = true; this._has_post_hooks = true; @@ -18251,7 +18252,8 @@ var jssm = (function (exports) { action: fromAction, from: this._state, to: newState, - forced: wasForced + forced: wasForced, + trans_type }; if (valid) { if (this._has_hooks) { @@ -18376,11 +18378,70 @@ var jssm = (function (exports) { this._post_any_action_hook(hook_args); } // 2. global specific action hook - const pgah = this._post_global_action_hooks.get(newStateOrAction); + const pgah = this._post_global_action_hooks.get(hook_args.action); if (pgah !== undefined) { pgah(hook_args); } } + // 3. any transition hook + if (this._post_any_transition_hook !== undefined) { + this._post_any_transition_hook(hook_args); + } + // 4. exit hook + if (this._has_post_exit_hooks) { + const peh = this._post_exit_hooks.get(hook_args.from); // todo this is probably from instead + if (peh !== undefined) { + peh(hook_args); + } + } + // 5. named transition / action hook + if (this._has_post_named_hooks) { + if (wasAction) { + const nhn = named_hook_name(hook_args.from, hook_args.to, hook_args.action), pnh = this._post_named_hooks.get(nhn); + if (pnh !== undefined) { + pnh(hook_args); + } + } + } + // 6. regular hook + if (this._has_post_basic_hooks) { + const hook = this._post_hooks.get(hook_name(hook_args.from, hook_args.to)); + if (hook !== undefined) { + hook(hook_args); + } + } + // 7. edge type hook + // 7a. standard transition hook + if (trans_type === 'legal') { + console.log(`l2a ${JSON.stringify(hook_args)}`); + if (this._post_standard_transition_hook !== undefined) { + console.log(`l3a ${JSON.stringify(hook_args)} ${JSON.stringify(this._post_standard_transition_hook)}`); + this._post_standard_transition_hook(hook_args); + } + } + // 7b. main type hook + if (trans_type === 'main') { + console.log(`l2b ${JSON.stringify(hook_args)}`); + if (this._post_main_transition_hook !== undefined) { + console.log(`l3b ${JSON.stringify(hook_args)} ${JSON.stringify(this._post_main_transition_hook)}`); + this._post_main_transition_hook(hook_args); + } + } + // 7c. forced transition hook + if (trans_type === 'forced') { + console.log(`l2c ${JSON.stringify(hook_args)}`); + if (this._post_forced_transition_hook !== undefined) { + console.log(`l3c ${JSON.stringify(hook_args)} ${JSON.stringify(this._post_forced_transition_hook)}`); + this._post_forced_transition_hook(hook_args); + } + } + // 8. entry hook + if (this._has_post_entry_hooks) { + const hook = this._post_entry_hooks.get(hook_args.to); + if (hook !== undefined) { + hook(hook_args); + } + } } return true; } diff --git a/docs/assets/TCP IP.png b/docs/assets/TCP IP.png new file mode 100644 index 00000000..93eed8f4 Binary files /dev/null and b/docs/assets/TCP IP.png differ diff --git a/docs/assets/atm quick start tutorial/0_EmptyWaiting.png b/docs/assets/atm quick start tutorial/0_EmptyWaiting.png new file mode 100644 index 00000000..ada6d7a1 Binary files /dev/null and b/docs/assets/atm quick start tutorial/0_EmptyWaiting.png differ diff --git a/docs/assets/atm quick start tutorial/1_EjectCard.png b/docs/assets/atm quick start tutorial/1_EjectCard.png new file mode 100644 index 00000000..b939aff7 Binary files /dev/null and b/docs/assets/atm quick start tutorial/1_EjectCard.png differ diff --git a/docs/assets/atm quick start tutorial/2_InsertCard.png b/docs/assets/atm quick start tutorial/2_InsertCard.png new file mode 100644 index 00000000..4a868614 Binary files /dev/null and b/docs/assets/atm quick start tutorial/2_InsertCard.png differ diff --git a/docs/assets/atm quick start tutorial/3_ReturnCard.png b/docs/assets/atm quick start tutorial/3_ReturnCard.png new file mode 100644 index 00000000..cbc76718 Binary files /dev/null and b/docs/assets/atm quick start tutorial/3_ReturnCard.png differ diff --git a/docs/assets/atm quick start tutorial/4_WrongPin.png b/docs/assets/atm quick start tutorial/4_WrongPin.png new file mode 100644 index 00000000..f9d0f0bd Binary files /dev/null and b/docs/assets/atm quick start tutorial/4_WrongPin.png differ diff --git a/docs/assets/atm quick start tutorial/5_RightPin.png b/docs/assets/atm quick start tutorial/5_RightPin.png new file mode 100644 index 00000000..d22d4bb8 Binary files /dev/null and b/docs/assets/atm quick start tutorial/5_RightPin.png differ diff --git a/docs/assets/atm quick start tutorial/6_CanCheckBalance.png b/docs/assets/atm quick start tutorial/6_CanCheckBalance.png new file mode 100644 index 00000000..b0b68022 Binary files /dev/null and b/docs/assets/atm quick start tutorial/6_CanCheckBalance.png differ diff --git a/docs/assets/atm quick start tutorial/7_CanDepositMoney.png b/docs/assets/atm quick start tutorial/7_CanDepositMoney.png new file mode 100644 index 00000000..1c1f3154 Binary files /dev/null and b/docs/assets/atm quick start tutorial/7_CanDepositMoney.png differ diff --git a/docs/assets/atm quick start tutorial/8_CanWithdrawMoney.png b/docs/assets/atm quick start tutorial/8_CanWithdrawMoney.png new file mode 100644 index 00000000..d22bf283 Binary files /dev/null and b/docs/assets/atm quick start tutorial/8_CanWithdrawMoney.png differ diff --git a/docs/assets/atm quick start tutorial/ncsu atm diagram.gif b/docs/assets/atm quick start tutorial/ncsu atm diagram.gif new file mode 100644 index 00000000..cd8e6e7d Binary files /dev/null and b/docs/assets/atm quick start tutorial/ncsu atm diagram.gif differ diff --git a/docs/assets/bgp.png b/docs/assets/bgp.png new file mode 100644 index 00000000..8bac81aa Binary files /dev/null and b/docs/assets/bgp.png differ diff --git a/docs/assets/compile time claim.png b/docs/assets/compile time claim.png new file mode 100644 index 00000000..5364724f Binary files /dev/null and b/docs/assets/compile time claim.png differ diff --git a/docs/assets/doc light styled.png b/docs/assets/doc light styled.png new file mode 100644 index 00000000..7bf17bf6 Binary files /dev/null and b/docs/assets/doc light styled.png differ diff --git a/docs/assets/doc light unstyled.png b/docs/assets/doc light unstyled.png new file mode 100644 index 00000000..263045b6 Binary files /dev/null and b/docs/assets/doc light unstyled.png differ diff --git a/docs/assets/eMMC transfer mode.png b/docs/assets/eMMC transfer mode.png new file mode 100644 index 00000000..50df963e Binary files /dev/null and b/docs/assets/eMMC transfer mode.png differ diff --git a/docs/assets/editor.png b/docs/assets/editor.png new file mode 100644 index 00000000..0d10be68 Binary files /dev/null and b/docs/assets/editor.png differ diff --git a/docs/assets/http 1.0.png b/docs/assets/http 1.0.png new file mode 100644 index 00000000..72a1111c Binary files /dev/null and b/docs/assets/http 1.0.png differ diff --git a/docs/assets/matter states heat cool.png b/docs/assets/matter states heat cool.png new file mode 100644 index 00000000..da720c61 Binary files /dev/null and b/docs/assets/matter states heat cool.png differ diff --git a/docs/assets/performance 4.5.1 2015 mac.png b/docs/assets/performance 4.5.1 2015 mac.png new file mode 100644 index 00000000..7d690ccb Binary files /dev/null and b/docs/assets/performance 4.5.1 2015 mac.png differ diff --git a/docs/assets/ryg proceed.png b/docs/assets/ryg proceed.png new file mode 100644 index 00000000..1e92ac76 Binary files /dev/null and b/docs/assets/ryg proceed.png differ diff --git a/docs/assets/ryg traffic light console screenshot.png b/docs/assets/ryg traffic light console screenshot.png new file mode 100644 index 00000000..fcd82e98 Binary files /dev/null and b/docs/assets/ryg traffic light console screenshot.png differ diff --git a/docs/assets/ryg.png b/docs/assets/ryg.png new file mode 100644 index 00000000..fad58c96 Binary files /dev/null and b/docs/assets/ryg.png differ diff --git a/docs/assets/sip.png b/docs/assets/sip.png new file mode 100644 index 00000000..0fae4687 Binary files /dev/null and b/docs/assets/sip.png differ diff --git a/docs/assets/speed claim.png b/docs/assets/speed claim.png new file mode 100644 index 00000000..8559162f Binary files /dev/null and b/docs/assets/speed claim.png differ diff --git a/docs/assets/traffic light quick start tutorial/Off To From RGY.png b/docs/assets/traffic light quick start tutorial/Off To From RGY.png new file mode 100644 index 00000000..42cc7c8a Binary files /dev/null and b/docs/assets/traffic light quick start tutorial/Off To From RGY.png differ diff --git a/docs/assets/traffic light quick start tutorial/Off To RGY.png b/docs/assets/traffic light quick start tutorial/Off To RGY.png new file mode 100644 index 00000000..d6220a55 Binary files /dev/null and b/docs/assets/traffic light quick start tutorial/Off To RGY.png differ diff --git a/docs/assets/traffic light quick start tutorial/Off To Red.png b/docs/assets/traffic light quick start tutorial/Off To Red.png new file mode 100644 index 00000000..40911873 Binary files /dev/null and b/docs/assets/traffic light quick start tutorial/Off To Red.png differ diff --git a/docs/docs/.nojekyll b/docs/docs/.nojekyll new file mode 100644 index 00000000..e2ac6616 --- /dev/null +++ b/docs/docs/.nojekyll @@ -0,0 +1 @@ +TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/docs/docs/assets/custom.css b/docs/docs/assets/custom.css new file mode 100644 index 00000000..ddb83006 --- /dev/null +++ b/docs/docs/assets/custom.css @@ -0,0 +1,72 @@ + +.tsd-panel-group > h1, +.tsd-panel-group > h2, +.tsd-panel-group > h3 { padding-left: 0; } +.tsd-panel { border-radius: 0.35em; } + +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon { background-color: #eee; } + +#quicktab td { text-align: right; } +#quicktab td+td { text-align: center; } + +#quicktab th { text-align: right; font-weight: normal; } +#quicktab th+th { text-align: center; } + +pre { border-radius: 0.3em; } + +@media (prefers-color-scheme: light) { + + :root { --color-background: #def; } + + body .tsd-page-title { background-color: #bdf; } + body .tsd-page-toolbar { background-color: #acf; border-bottom-color: #9be; } + body .with-border-bottom { background-color: #acf; border-color: #9be; } + + html body .tsd-panel table td, + html body .tsd-panel table th { border-color: #9be; } + + html body .tsd-panel table tr { background-color: #def; } + html body .tsd-panel table tr:nth-child(even) { background-color: #d0e0f0; } + html body .tsd-panel table tr th { background-color: #bdf; } + + fail { font-style: italic; color: #b00; } + +} + + + +@media (prefers-color-scheme: dark) { + + fail { font-style: italic; color: #f66; } + + html body .tsd-panel table td, + html body .tsd-panel table th { border-color: #335; } + + html body .tsd-panel table tr { background-color: #445; } + html body .tsd-panel table tr:nth-child(even) { background-color: #446; } + html body .tsd-panel table tr th { background-color: #335; } + +} + + + + + +.rot_th_tab { vertical-align: bottom; } +.rot_th_tab th { position: relative; font-weight: normal; } +.rot_th_tab th:first-of-type { height: 7em; vertical-align: bottom; } +.rot_th_tab td:nth-of-type(2), +.rot_th_tab th:nth-of-type(2) { vertical-align: bottom; font-weight: normal; text-align: center; } +.rot_th_tab th+th+th, +.rot_th_tab td+td+td { padding: 6px 4px; min-width: 1.3em; } +.rot { transform-origin: 0 0; transform: rotate(-90deg); display: inline-block; position: absolute; left: 0.25em; bottom: -0.75em; font-weight: 400; } + +html li.pages-entry-depth-0 { padding-left: 15px; } +html li.pages-entry-depth-1 { padding-left: 30px; } +html li.pages-entry-depth-2 { padding-left: 45px; } +html li.pages-entry-depth-3 { padding-left: 60px; } +html li.pages-entry-depth-4 { padding-left: 75px; } +html li.pages-entry-depth-5 { padding-left: 90px; } + +.youtube-embed { position: relative; padding-bottom: 56.25%; /* enforces 16:9 aspect */ } +.youtube-embed iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 1px solid black; } \ No newline at end of file diff --git a/docs/docs/assets/highlight.css b/docs/docs/assets/highlight.css new file mode 100644 index 00000000..9e5d3e1d --- /dev/null +++ b/docs/docs/assets/highlight.css @@ -0,0 +1,134 @@ +:root { + --light-hl-0: #AF00DB; + --dark-hl-0: #C586C0; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #001080; + --dark-hl-2: #9CDCFE; + --light-hl-3: #A31515; + --dark-hl-3: #CE9178; + --light-hl-4: #795E26; + --dark-hl-4: #DCDCAA; + --light-hl-5: #098658; + --dark-hl-5: #B5CEA8; + --light-hl-6: #008000; + --dark-hl-6: #6A9955; + --light-hl-7: #0000FF; + --dark-hl-7: #569CD6; + --light-hl-8: #0070C1; + --dark-hl-8: #4FC1FF; + --light-hl-9: #800000; + --dark-hl-9: #569CD6; + --light-hl-10: #800000; + --dark-hl-10: #808080; + --light-hl-11: #FF0000; + --dark-hl-11: #9CDCFE; + --light-hl-12: #000000FF; + --dark-hl-12: #D4D4D4; + --light-hl-13: #0000FF; + --dark-hl-13: #CE9178; + --light-hl-14: #800000; + --dark-hl-14: #D7BA7D; + --light-hl-15: #0451A5; + --dark-hl-15: #CE9178; + --light-code-background: #F5F5F5; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --hl-12: var(--light-hl-12); + --hl-13: var(--light-hl-13); + --hl-14: var(--light-hl-14); + --hl-15: var(--light-hl-15); + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --hl-12: var(--dark-hl-12); + --hl-13: var(--dark-hl-13); + --hl-14: var(--dark-hl-14); + --hl-15: var(--dark-hl-15); + --code-background: var(--dark-code-background); +} } + +body.light { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --hl-12: var(--light-hl-12); + --hl-13: var(--light-hl-13); + --hl-14: var(--light-hl-14); + --hl-15: var(--light-hl-15); + --code-background: var(--light-code-background); +} + +body.dark { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --hl-12: var(--dark-hl-12); + --hl-13: var(--dark-hl-13); + --hl-14: var(--dark-hl-14); + --hl-15: var(--dark-hl-15); + --code-background: var(--dark-code-background); +} + +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } +.hl-8 { color: var(--hl-8); } +.hl-9 { color: var(--hl-9); } +.hl-10 { color: var(--hl-10); } +.hl-11 { color: var(--hl-11); } +.hl-12 { color: var(--hl-12); } +.hl-13 { color: var(--hl-13); } +.hl-14 { color: var(--hl-14); } +.hl-15 { color: var(--hl-15); } +pre, code { background: var(--code-background); } diff --git a/docs/docs/assets/icons.css b/docs/docs/assets/icons.css new file mode 100644 index 00000000..776a3562 --- /dev/null +++ b/docs/docs/assets/icons.css @@ -0,0 +1,1043 @@ +.tsd-kind-icon { + display: block; + position: relative; + padding-left: 20px; + text-indent: -20px; +} +.tsd-kind-icon:before { + content: ""; + display: inline-block; + vertical-align: middle; + width: 17px; + height: 17px; + margin: 0 3px 2px 0; + background-image: url(./icons.png); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + .tsd-kind-icon:before { + background-image: url(./icons@2x.png); + background-size: 238px 204px; + } +} + +.tsd-signature.tsd-kind-icon:before { + background-position: 0 -153px; +} + +.tsd-kind-object-literal > .tsd-kind-icon:before { + background-position: 0px -17px; +} +.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -17px; +} +.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -17px; +} + +.tsd-kind-class > .tsd-kind-icon:before { + background-position: 0px -34px; +} +.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -34px; +} +.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -34px; +} + +.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -51px; +} +.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -17px -51px; +} +.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -51px; +} + +.tsd-kind-interface > .tsd-kind-icon:before { + background-position: 0px -68px; +} +.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -68px; +} +.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -68px; +} + +.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -85px; +} +.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -17px -85px; +} +.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private + > .tsd-kind-icon:before { + background-position: -34px -85px; +} + +.tsd-kind-namespace > .tsd-kind-icon:before { + background-position: 0px -102px; +} +.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -102px; +} +.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -102px; +} + +.tsd-kind-module > .tsd-kind-icon:before { + background-position: 0px -102px; +} +.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -102px; +} +.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -102px; +} + +.tsd-kind-enum > .tsd-kind-icon:before { + background-position: 0px -119px; +} +.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -119px; +} +.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -119px; +} + +.tsd-kind-enum-member > .tsd-kind-icon:before { + background-position: 0px -136px; +} +.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -136px; +} +.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -136px; +} + +.tsd-kind-signature > .tsd-kind-icon:before { + background-position: 0px -153px; +} +.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -153px; +} +.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -153px; +} + +.tsd-kind-type-alias > .tsd-kind-icon:before { + background-position: 0px -170px; +} +.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -170px; +} +.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -170px; +} + +.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -187px; +} +.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -17px -187px; +} +.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private + > .tsd-kind-icon:before { + background-position: -34px -187px; +} + +.tsd-kind-variable > .tsd-kind-icon:before { + background-position: -136px -0px; +} +.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -0px; +} +.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -0px; +} +.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -0px; +} + +.tsd-kind-property > .tsd-kind-icon:before { + background-position: -136px -0px; +} +.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -0px; +} +.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -0px; +} +.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -0px; +} + +.tsd-kind-get-signature > .tsd-kind-icon:before { + background-position: -136px -17px; +} +.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -17px; +} +.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -17px; +} + +.tsd-kind-set-signature > .tsd-kind-icon:before { + background-position: -136px -34px; +} +.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -34px; +} +.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -34px; +} + +.tsd-kind-accessor > .tsd-kind-icon:before { + background-position: -136px -51px; +} +.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -51px; +} +.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -51px; +} + +.tsd-kind-function > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-method > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-call-signature > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: -136px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -153px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class + > .tsd-kind-icon:before { + background-position: -51px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum + > .tsd-kind-icon:before { + background-position: -170px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -85px; +} + +.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: -136px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -153px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class + > .tsd-kind-icon:before { + background-position: -51px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum + > .tsd-kind-icon:before { + background-position: -170px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -85px; +} + +.tsd-kind-constructor > .tsd-kind-icon:before { + background-position: -136px -102px; +} +.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -102px; +} +.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -102px; +} + +.tsd-kind-constructor-signature > .tsd-kind-icon:before { + background-position: -136px -102px; +} +.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -102px; +} +.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -102px; +} + +.tsd-kind-index-signature > .tsd-kind-icon:before { + background-position: -136px -119px; +} +.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -119px; +} +.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -119px; +} + +.tsd-kind-event > .tsd-kind-icon:before { + background-position: -136px -136px; +} +.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -136px; +} +.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -136px; +} +.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -136px; +} + +.tsd-is-static > .tsd-kind-icon:before { + background-position: -136px -153px; +} +.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -153px; +} +.tsd-is-static.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -153px; +} +.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -153px; +} +.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -153px; +} +.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -153px; +} + +.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class + > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum + > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before { + background-position: -136px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -187px; +} diff --git a/docs/docs/assets/icons.png b/docs/docs/assets/icons.png new file mode 100644 index 00000000..3836d5fe Binary files /dev/null and b/docs/docs/assets/icons.png differ diff --git a/docs/docs/assets/icons@2x.png b/docs/docs/assets/icons@2x.png new file mode 100644 index 00000000..5a209e2f Binary files /dev/null and b/docs/docs/assets/icons@2x.png differ diff --git a/docs/docs/assets/main.js b/docs/docs/assets/main.js new file mode 100644 index 00000000..b13205a3 --- /dev/null +++ b/docs/docs/assets/main.js @@ -0,0 +1,52 @@ +(()=>{var Ce=Object.create;var ue=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,_e=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var De=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Oe(e))!_e.call(t,i)&&i!==r&&ue(t,i,{get:()=>e[i],enumerable:!(n=Pe(e,i))||n.enumerable});return t};var Fe=(t,e,r)=>(r=t!=null?Ce(Re(t)):{},De(e||!t||!t.__esModule?ue(r,"default",{value:t,enumerable:!0}):r,t));var pe=Me((de,fe)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i0){var h=t.utils.clone(r)||{};h.position=[a,l],h.index=s.length,s.push(new t.Token(n.slice(a,o),h))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n1&&(oe&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ou?h+=2:a==u&&(r+=n[l+1]*i[h+1],l+=2,h+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}if(s.str.length==0&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}s.str.length==1&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var h=s.str.charAt(0),p=s.str.charAt(1),v;p in s.node.edges?v=s.node.edges[p]:(v=new t.TokenSet,s.node.edges[p]=v),s.str.length==1&&(v.final=!0),i.push({node:v,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof de=="object"?fe.exports=r():e.lunr=r()}(this,function(){return t})})()});var ce=[];function N(t,e){ce.push({selector:e,constructor:t})}var Y=class{constructor(){this.createComponents(document.body)}createComponents(e){ce.forEach(r=>{e.querySelectorAll(r.selector).forEach(n=>{n.dataset.hasInstance||(new r.constructor({el:n}),n.dataset.hasInstance=String(!0))})})}};var k=class{constructor(e){this.el=e.el}};var J=class{constructor(){this.listeners={}}addEventListener(e,r){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push(r)}removeEventListener(e,r){if(!(e in this.listeners))return;let n=this.listeners[e];for(let i=0,s=n.length;i{let r=Date.now();return(...n)=>{r+e-Date.now()<0&&(t(...n),r=Date.now())}};var ie=class extends J{constructor(){super();this.scrollTop=0;this.lastY=0;this.width=0;this.height=0;this.showToolbar=!0;this.toolbar=document.querySelector(".tsd-page-toolbar"),this.secondaryNav=document.querySelector(".tsd-navigation.secondary"),window.addEventListener("scroll",ne(()=>this.onScroll(),10)),window.addEventListener("resize",ne(()=>this.onResize(),10)),this.onResize(),this.onScroll()}triggerResize(){let r=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(r)}onResize(){this.width=window.innerWidth||0,this.height=window.innerHeight||0;let r=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(r)}onScroll(){this.scrollTop=window.scrollY||0;let r=new CustomEvent("scroll",{detail:{scrollTop:this.scrollTop}});this.dispatchEvent(r),this.hideShowToolbar()}hideShowToolbar(){var n;let r=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||this.scrollTop<=0,r!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),(n=this.secondaryNav)==null||n.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop}},Q=ie;Q.instance=new ie;var X=class extends k{constructor(r){super(r);this.anchors=[];this.index=-1;Q.instance.addEventListener("resize",()=>this.onResize()),Q.instance.addEventListener("scroll",n=>this.onScroll(n)),this.createAnchors()}createAnchors(){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substr(0,r.indexOf("#"))),this.el.querySelectorAll("a").forEach(n=>{let i=n.href;if(i.indexOf("#")==-1||i.substr(0,r.length)!=r)return;let s=i.substr(i.indexOf("#")+1),o=document.querySelector("a.tsd-anchor[name="+s+"]"),a=n.parentNode;!o||!a||this.anchors.push({link:a,anchor:o,position:0})}),this.onResize()}onResize(){let r;for(let i=0,s=this.anchors.length;ii.position-s.position);let n=new CustomEvent("scroll",{detail:{scrollTop:Q.instance.scrollTop}});this.onScroll(n)}onScroll(r){let n=r.detail.scrollTop+5,i=this.anchors,s=i.length-1,o=this.index;for(;o>-1&&i[o].position>n;)o-=1;for(;o-1&&this.anchors[this.index].link.classList.remove("focus"),this.index=o,this.index>-1&&this.anchors[this.index].link.classList.add("focus"))}};var he=(t,e=100)=>{let r;return(...n)=>{clearTimeout(r),r=setTimeout(()=>t(n),e)}};var ge=Fe(pe());function ye(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let r=document.querySelector("#tsd-search input"),n=document.querySelector("#tsd-search .results");if(!r||!n)throw new Error("The input field or the result list wrapper was not found");let i=!1;n.addEventListener("mousedown",()=>i=!0),n.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Ae(t,n,r,s)}function Ae(t,e,r,n){r.addEventListener("input",he(()=>{He(t,e,r,n)},200));let i=!1;r.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?ze(e,r):s.key=="Escape"?r.blur():s.key=="ArrowUp"?me(e,-1):s.key==="ArrowDown"?me(e,1):i=!1}),r.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!r.matches(":focus")&&s.key==="/"&&(r.focus(),s.preventDefault())})}function Ve(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=ge.Index.load(window.searchData.index))}function He(t,e,r,n){if(Ve(n,t),!n.index||!n.data)return;e.textContent="";let i=r.value.trim(),s=i?n.index.search(`*${i}*`):[];for(let o=0,a=Math.min(10,s.length);o${ve(u.parent,i)}.${l}`);let h=document.createElement("li");h.classList.value=u.classes;let p=document.createElement("a");p.href=n.base+u.url,p.classList.add("tsd-kind-icon"),p.innerHTML=l,h.append(p),e.appendChild(h)}}function me(t,e){let r=t.querySelector(".current");if(!r)r=t.querySelector(e==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let n=r;if(e===1)do n=n.nextElementSibling;while(n instanceof HTMLElement&&n.offsetParent==null);else do n=n.previousElementSibling;while(n instanceof HTMLElement&&n.offsetParent==null);n&&(r.classList.remove("current"),n.classList.add("current"))}}function ze(t,e){let r=t.querySelector(".current");if(r||(r=t.querySelector("li:first-child")),r){let n=r.querySelector("a");n&&(window.location.href=n.href),e.blur()}}function ve(t,e){if(e==="")return t;let r=t.toLocaleLowerCase(),n=e.toLocaleLowerCase(),i=[],s=0,o=r.indexOf(n);for(;o!=-1;)i.push(se(t.substring(s,o)),`${se(t.substring(o,o+n.length))}`),s=o+n.length,o=r.indexOf(n,s);return i.push(se(t.substring(s))),i.join("")}var Ne={"&":"&","<":"<",">":">","'":"'",'"':"""};function se(t){return t.replace(/[&<>"'"]/g,e=>Ne[e])}var oe=class{constructor(e,r){this.signature=e,this.description=r}addClass(e){return this.signature.classList.add(e),this.description.classList.add(e),this}removeClass(e){return this.signature.classList.remove(e),this.description.classList.remove(e),this}},Z=class extends k{constructor(r){super(r);this.groups=[];this.index=-1;this.createGroups(),this.container&&(this.el.classList.add("active"),Array.from(this.el.children).forEach(n=>{n.addEventListener("touchstart",i=>this.onClick(i)),n.addEventListener("click",i=>this.onClick(i))}),this.container.classList.add("active"),this.setIndex(0))}setIndex(r){if(r<0&&(r=0),r>this.groups.length-1&&(r=this.groups.length-1),this.index==r)return;let n=this.groups[r];if(this.index>-1){let i=this.groups[this.index];i.removeClass("current").addClass("fade-out"),n.addClass("current"),n.addClass("fade-in"),Q.instance.triggerResize(),setTimeout(()=>{i.removeClass("fade-out"),n.removeClass("fade-in")},300)}else n.addClass("current"),Q.instance.triggerResize();this.index=r}createGroups(){let r=this.el.children;if(r.length<2)return;this.container=this.el.nextElementSibling;let n=this.container.children;this.groups=[];for(let i=0;i{n.signature===r.currentTarget&&this.setIndex(i)})}};var C="mousedown",Le="mousemove",_="mouseup",K={x:0,y:0},xe=!1,ae=!1,je=!1,A=!1,Ee=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(Ee?"is-mobile":"not-mobile");Ee&&"ontouchstart"in document.documentElement&&(je=!0,C="touchstart",Le="touchmove",_="touchend");document.addEventListener(C,t=>{ae=!0,A=!1;let e=C=="touchstart"?t.targetTouches[0]:t;K.y=e.pageY||0,K.x=e.pageX||0});document.addEventListener(Le,t=>{if(!!ae&&!A){let e=C=="touchstart"?t.targetTouches[0]:t,r=K.x-(e.pageX||0),n=K.y-(e.pageY||0);A=Math.sqrt(r*r+n*n)>10}});document.addEventListener(_,()=>{ae=!1});document.addEventListener("click",t=>{xe&&(t.preventDefault(),t.stopImmediatePropagation(),xe=!1)});var ee=class extends k{constructor(r){super(r);this.className=this.el.dataset.toggle||"",this.el.addEventListener(_,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(C,n=>this.onDocumentPointerDown(n)),document.addEventListener(_,n=>this.onDocumentPointerUp(n))}setActive(r){if(this.active==r)return;this.active=r,document.documentElement.classList.toggle("has-"+this.className,r),this.el.classList.toggle("active",r);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(r){A||(this.setActive(!0),r.preventDefault())}onDocumentPointerDown(r){if(this.active){if(r.target.closest(".col-menu, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(r){if(!A&&this.active&&r.target.closest(".col-menu")){let n=r.target.closest("a");if(n){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substr(0,i.indexOf("#"))),n.href.substr(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var te=class{constructor(e,r){this.key=e,this.value=r,this.defaultValue=r,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}initialize(){}setValue(e){if(this.value==e)return;let r=this.value;this.value=e,window.localStorage[this.key]=this.toLocalStorage(e),this.handleValueChange(r,e)}},re=class extends te{initialize(){let r=document.querySelector("#tsd-filter-"+this.key);!r||(this.checkbox=r,this.checkbox.addEventListener("change",()=>{this.setValue(this.checkbox.checked)}))}handleValueChange(r,n){!this.checkbox||(this.checkbox.checked=this.value,document.documentElement.classList.toggle("toggle-"+this.key,this.value!=this.defaultValue))}fromLocalStorage(r){return r=="true"}toLocalStorage(r){return r?"true":"false"}},le=class extends te{initialize(){document.documentElement.classList.add("toggle-"+this.key+this.value);let r=document.querySelector("#tsd-filter-"+this.key);if(!r)return;this.select=r;let n=()=>{this.select.classList.add("active")},i=()=>{this.select.classList.remove("active")};this.select.addEventListener(C,n),this.select.addEventListener("mouseover",n),this.select.addEventListener("mouseleave",i),this.select.querySelectorAll("li").forEach(s=>{s.addEventListener(_,o=>{r.classList.remove("active"),this.setValue(o.target.dataset.value||"")})}),document.addEventListener(C,s=>{this.select.contains(s.target)||this.select.classList.remove("active")})}handleValueChange(r,n){this.select.querySelectorAll("li.selected").forEach(o=>{o.classList.remove("selected")});let i=this.select.querySelector('li[data-value="'+n+'"]'),s=this.select.querySelector(".tsd-select-label");i&&s&&(i.classList.add("selected"),s.textContent=i.textContent),document.documentElement.classList.remove("toggle-"+r),document.documentElement.classList.add("toggle-"+n)}fromLocalStorage(r){return r}toLocalStorage(r){return r}},j=class extends k{constructor(r){super(r);this.optionVisibility=new le("visibility","private"),this.optionInherited=new re("inherited",!0),this.optionExternals=new re("externals",!0)}static isSupported(){try{return typeof window.localStorage!="undefined"}catch{return!1}}};function we(t){let e=localStorage.getItem("tsd-theme")||"os";t.value=e,be(e),t.addEventListener("change",()=>{localStorage.setItem("tsd-theme",t.value),be(t.value)})}function be(t){switch(t){case"os":document.body.classList.remove("light","dark");break;case"light":document.body.classList.remove("dark"),document.body.classList.add("light");break;case"dark":document.body.classList.remove("light"),document.body.classList.add("dark");break}}ye();N(X,".menu-highlight");N(Z,".tsd-signatures");N(ee,"a[data-toggle]");j.isSupported()?N(j,"#tsd-filter"):document.documentElement.classList.add("no-filter");var Te=document.getElementById("theme");Te&&we(Te);var Be=new Y;Object.defineProperty(window,"app",{value:Be});})(); +/*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + */ +/*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + */ +/** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + */ diff --git a/docs/docs/assets/pages.css b/docs/docs/assets/pages.css new file mode 100644 index 00000000..3c339a1d --- /dev/null +++ b/docs/docs/assets/pages.css @@ -0,0 +1,30 @@ +.tsd-typography li > ul { + margin: 0; +} +.tsd-navigation li.pages-entry { + border-left: 2px solid var(--color-text-aside); +} +.tsd-navigation li.pages-entry a { + padding-left: 0!important; +} +.tsd-navigation li.pages-entry.pages-entry-page > a { + color: var(--color-link); +} +li.pages-entry-depth-0 { + padding-left: 10px; +} +li.pages-entry-depth-1 { + padding-left: 20px; +} +li.pages-entry-depth-2 { + padding-left: 30px; +} +li.pages-entry-depth-3 { + padding-left: 40px; +} +li.pages-entry-depth-4 { + padding-left: 50px; +} +.tsd-page-toolbar .table-cell .pages-entry { + white-space: normal; +} \ No newline at end of file diff --git a/docs/docs/assets/search.js b/docs/docs/assets/search.js new file mode 100644 index 00000000..6882b16d --- /dev/null +++ b/docs/docs/assets/search.js @@ -0,0 +1 @@ +window.searchData = JSON.parse("{\"kinds\":{\"32\":\"Variable\",\"64\":\"Function\",\"128\":\"Class\",\"512\":\"Constructor\",\"1024\":\"Property\",\"2048\":\"Method\",\"262144\":\"Accessor\"},\"rows\":[{\"id\":0,\"kind\":64,\"name\":\"transfer_state_properties\",\"url\":\"modules.html#transfer_state_properties\",\"classes\":\"tsd-kind-function\",\"isPage\":false},{\"id\":1,\"kind\":128,\"name\":\"Machine\",\"url\":\"classes/Machine.html\",\"classes\":\"tsd-kind-class tsd-has-type-parameter\",\"isPage\":false},{\"id\":2,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Machine.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":3,\"kind\":1024,\"name\":\"_state\",\"url\":\"classes/Machine.html#_state\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":4,\"kind\":1024,\"name\":\"_states\",\"url\":\"classes/Machine.html#_states\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":5,\"kind\":1024,\"name\":\"_edges\",\"url\":\"classes/Machine.html#_edges\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":6,\"kind\":1024,\"name\":\"_edge_map\",\"url\":\"classes/Machine.html#_edge_map\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":7,\"kind\":1024,\"name\":\"_named_transitions\",\"url\":\"classes/Machine.html#_named_transitions\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":8,\"kind\":1024,\"name\":\"_actions\",\"url\":\"classes/Machine.html#_actions\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":9,\"kind\":1024,\"name\":\"_reverse_actions\",\"url\":\"classes/Machine.html#_reverse_actions\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":10,\"kind\":1024,\"name\":\"_reverse_action_targets\",\"url\":\"classes/Machine.html#_reverse_action_targets\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":11,\"kind\":1024,\"name\":\"_machine_author\",\"url\":\"classes/Machine.html#_machine_author\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":12,\"kind\":1024,\"name\":\"_machine_comment\",\"url\":\"classes/Machine.html#_machine_comment\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":13,\"kind\":1024,\"name\":\"_machine_contributor\",\"url\":\"classes/Machine.html#_machine_contributor\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":14,\"kind\":1024,\"name\":\"_machine_definition\",\"url\":\"classes/Machine.html#_machine_definition\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":15,\"kind\":1024,\"name\":\"_machine_language\",\"url\":\"classes/Machine.html#_machine_language\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":16,\"kind\":1024,\"name\":\"_machine_license\",\"url\":\"classes/Machine.html#_machine_license\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":17,\"kind\":1024,\"name\":\"_machine_name\",\"url\":\"classes/Machine.html#_machine_name\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":18,\"kind\":1024,\"name\":\"_machine_version\",\"url\":\"classes/Machine.html#_machine_version\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":19,\"kind\":1024,\"name\":\"_fsl_version\",\"url\":\"classes/Machine.html#_fsl_version\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":20,\"kind\":1024,\"name\":\"_raw_state_declaration\",\"url\":\"classes/Machine.html#_raw_state_declaration\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":21,\"kind\":1024,\"name\":\"_state_declarations\",\"url\":\"classes/Machine.html#_state_declarations\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":22,\"kind\":1024,\"name\":\"_instance_name\",\"url\":\"classes/Machine.html#_instance_name\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":23,\"kind\":1024,\"name\":\"_data\",\"url\":\"classes/Machine.html#_data\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":24,\"kind\":1024,\"name\":\"_graph_layout\",\"url\":\"classes/Machine.html#_graph_layout\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":25,\"kind\":1024,\"name\":\"_dot_preamble\",\"url\":\"classes/Machine.html#_dot_preamble\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":26,\"kind\":1024,\"name\":\"_arrange_declaration\",\"url\":\"classes/Machine.html#_arrange_declaration\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":27,\"kind\":1024,\"name\":\"_arrange_start_declaration\",\"url\":\"classes/Machine.html#_arrange_start_declaration\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":28,\"kind\":1024,\"name\":\"_arrange_end_declaration\",\"url\":\"classes/Machine.html#_arrange_end_declaration\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":29,\"kind\":1024,\"name\":\"_theme\",\"url\":\"classes/Machine.html#_theme\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":30,\"kind\":1024,\"name\":\"_flow\",\"url\":\"classes/Machine.html#_flow\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":31,\"kind\":1024,\"name\":\"_has_hooks\",\"url\":\"classes/Machine.html#_has_hooks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":32,\"kind\":1024,\"name\":\"_has_basic_hooks\",\"url\":\"classes/Machine.html#_has_basic_hooks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":33,\"kind\":1024,\"name\":\"_has_named_hooks\",\"url\":\"classes/Machine.html#_has_named_hooks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":34,\"kind\":1024,\"name\":\"_has_entry_hooks\",\"url\":\"classes/Machine.html#_has_entry_hooks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":35,\"kind\":1024,\"name\":\"_has_exit_hooks\",\"url\":\"classes/Machine.html#_has_exit_hooks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":36,\"kind\":1024,\"name\":\"_has_global_action_hooks\",\"url\":\"classes/Machine.html#_has_global_action_hooks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":37,\"kind\":1024,\"name\":\"_has_transition_hooks\",\"url\":\"classes/Machine.html#_has_transition_hooks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":38,\"kind\":1024,\"name\":\"_hooks\",\"url\":\"classes/Machine.html#_hooks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":39,\"kind\":1024,\"name\":\"_named_hooks\",\"url\":\"classes/Machine.html#_named_hooks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":40,\"kind\":1024,\"name\":\"_entry_hooks\",\"url\":\"classes/Machine.html#_entry_hooks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":41,\"kind\":1024,\"name\":\"_exit_hooks\",\"url\":\"classes/Machine.html#_exit_hooks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":42,\"kind\":1024,\"name\":\"_global_action_hooks\",\"url\":\"classes/Machine.html#_global_action_hooks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":43,\"kind\":1024,\"name\":\"_any_action_hook\",\"url\":\"classes/Machine.html#_any_action_hook\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":44,\"kind\":1024,\"name\":\"_standard_transition_hook\",\"url\":\"classes/Machine.html#_standard_transition_hook\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":45,\"kind\":1024,\"name\":\"_main_transition_hook\",\"url\":\"classes/Machine.html#_main_transition_hook\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":46,\"kind\":1024,\"name\":\"_forced_transition_hook\",\"url\":\"classes/Machine.html#_forced_transition_hook\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":47,\"kind\":1024,\"name\":\"_any_transition_hook\",\"url\":\"classes/Machine.html#_any_transition_hook\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":48,\"kind\":1024,\"name\":\"_has_post_hooks\",\"url\":\"classes/Machine.html#_has_post_hooks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":49,\"kind\":1024,\"name\":\"_has_post_basic_hooks\",\"url\":\"classes/Machine.html#_has_post_basic_hooks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":50,\"kind\":1024,\"name\":\"_has_post_named_hooks\",\"url\":\"classes/Machine.html#_has_post_named_hooks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":51,\"kind\":1024,\"name\":\"_has_post_entry_hooks\",\"url\":\"classes/Machine.html#_has_post_entry_hooks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":52,\"kind\":1024,\"name\":\"_has_post_exit_hooks\",\"url\":\"classes/Machine.html#_has_post_exit_hooks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":53,\"kind\":1024,\"name\":\"_has_post_global_action_hooks\",\"url\":\"classes/Machine.html#_has_post_global_action_hooks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":54,\"kind\":1024,\"name\":\"_has_post_transition_hooks\",\"url\":\"classes/Machine.html#_has_post_transition_hooks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":55,\"kind\":1024,\"name\":\"_post_hooks\",\"url\":\"classes/Machine.html#_post_hooks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":56,\"kind\":1024,\"name\":\"_post_named_hooks\",\"url\":\"classes/Machine.html#_post_named_hooks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":57,\"kind\":1024,\"name\":\"_post_entry_hooks\",\"url\":\"classes/Machine.html#_post_entry_hooks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":58,\"kind\":1024,\"name\":\"_post_exit_hooks\",\"url\":\"classes/Machine.html#_post_exit_hooks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":59,\"kind\":1024,\"name\":\"_post_global_action_hooks\",\"url\":\"classes/Machine.html#_post_global_action_hooks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":60,\"kind\":1024,\"name\":\"_post_any_action_hook\",\"url\":\"classes/Machine.html#_post_any_action_hook\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":61,\"kind\":1024,\"name\":\"_post_standard_transition_hook\",\"url\":\"classes/Machine.html#_post_standard_transition_hook\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":62,\"kind\":1024,\"name\":\"_post_main_transition_hook\",\"url\":\"classes/Machine.html#_post_main_transition_hook\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":63,\"kind\":1024,\"name\":\"_post_forced_transition_hook\",\"url\":\"classes/Machine.html#_post_forced_transition_hook\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":64,\"kind\":1024,\"name\":\"_post_any_transition_hook\",\"url\":\"classes/Machine.html#_post_any_transition_hook\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":65,\"kind\":1024,\"name\":\"_history\",\"url\":\"classes/Machine.html#_history\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":66,\"kind\":1024,\"name\":\"_history_length\",\"url\":\"classes/Machine.html#_history_length\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":67,\"kind\":2048,\"name\":\"_new_state\",\"url\":\"classes/Machine.html#_new_state\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":68,\"kind\":2048,\"name\":\"state\",\"url\":\"classes/Machine.html#state\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":69,\"kind\":2048,\"name\":\"data\",\"url\":\"classes/Machine.html#data\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":70,\"kind\":2048,\"name\":\"state_is_final\",\"url\":\"classes/Machine.html#state_is_final\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":71,\"kind\":2048,\"name\":\"is_final\",\"url\":\"classes/Machine.html#is_final\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":72,\"kind\":2048,\"name\":\"graph_layout\",\"url\":\"classes/Machine.html#graph_layout\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":73,\"kind\":2048,\"name\":\"dot_preamble\",\"url\":\"classes/Machine.html#dot_preamble\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":74,\"kind\":2048,\"name\":\"machine_author\",\"url\":\"classes/Machine.html#machine_author\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":75,\"kind\":2048,\"name\":\"machine_comment\",\"url\":\"classes/Machine.html#machine_comment\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":76,\"kind\":2048,\"name\":\"machine_contributor\",\"url\":\"classes/Machine.html#machine_contributor\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":77,\"kind\":2048,\"name\":\"machine_definition\",\"url\":\"classes/Machine.html#machine_definition\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":78,\"kind\":2048,\"name\":\"machine_language\",\"url\":\"classes/Machine.html#machine_language\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":79,\"kind\":2048,\"name\":\"machine_license\",\"url\":\"classes/Machine.html#machine_license\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":80,\"kind\":2048,\"name\":\"machine_name\",\"url\":\"classes/Machine.html#machine_name\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":81,\"kind\":2048,\"name\":\"machine_version\",\"url\":\"classes/Machine.html#machine_version\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":82,\"kind\":2048,\"name\":\"raw_state_declarations\",\"url\":\"classes/Machine.html#raw_state_declarations\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":83,\"kind\":2048,\"name\":\"state_declaration\",\"url\":\"classes/Machine.html#state_declaration\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":84,\"kind\":2048,\"name\":\"state_declarations\",\"url\":\"classes/Machine.html#state_declarations\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":85,\"kind\":2048,\"name\":\"fsl_version\",\"url\":\"classes/Machine.html#fsl_version\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":86,\"kind\":2048,\"name\":\"machine_state\",\"url\":\"classes/Machine.html#machine_state\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":87,\"kind\":2048,\"name\":\"states\",\"url\":\"classes/Machine.html#states\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":88,\"kind\":2048,\"name\":\"state_for\",\"url\":\"classes/Machine.html#state_for\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":89,\"kind\":2048,\"name\":\"has_state\",\"url\":\"classes/Machine.html#has_state\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":90,\"kind\":2048,\"name\":\"list_edges\",\"url\":\"classes/Machine.html#list_edges\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":91,\"kind\":2048,\"name\":\"list_named_transitions\",\"url\":\"classes/Machine.html#list_named_transitions\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":92,\"kind\":2048,\"name\":\"list_actions\",\"url\":\"classes/Machine.html#list_actions\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":93,\"kind\":2048,\"name\":\"theme\",\"url\":\"classes/Machine.html#theme\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":94,\"kind\":2048,\"name\":\"flow\",\"url\":\"classes/Machine.html#flow\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":95,\"kind\":2048,\"name\":\"get_transition_by_state_names\",\"url\":\"classes/Machine.html#get_transition_by_state_names\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":96,\"kind\":2048,\"name\":\"lookup_transition_for\",\"url\":\"classes/Machine.html#lookup_transition_for\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":97,\"kind\":2048,\"name\":\"list_transitions\",\"url\":\"classes/Machine.html#list_transitions\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":98,\"kind\":2048,\"name\":\"list_entrances\",\"url\":\"classes/Machine.html#list_entrances\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":99,\"kind\":2048,\"name\":\"list_exits\",\"url\":\"classes/Machine.html#list_exits\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":100,\"kind\":2048,\"name\":\"probable_exits_for\",\"url\":\"classes/Machine.html#probable_exits_for\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":101,\"kind\":2048,\"name\":\"probabilistic_transition\",\"url\":\"classes/Machine.html#probabilistic_transition\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":102,\"kind\":2048,\"name\":\"probabilistic_walk\",\"url\":\"classes/Machine.html#probabilistic_walk\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":103,\"kind\":2048,\"name\":\"probabilistic_histo_walk\",\"url\":\"classes/Machine.html#probabilistic_histo_walk\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":104,\"kind\":2048,\"name\":\"actions\",\"url\":\"classes/Machine.html#actions\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":105,\"kind\":2048,\"name\":\"list_states_having_action\",\"url\":\"classes/Machine.html#list_states_having_action\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":106,\"kind\":2048,\"name\":\"list_exit_actions\",\"url\":\"classes/Machine.html#list_exit_actions\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":107,\"kind\":2048,\"name\":\"probable_action_exits\",\"url\":\"classes/Machine.html#probable_action_exits\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":108,\"kind\":2048,\"name\":\"is_unenterable\",\"url\":\"classes/Machine.html#is_unenterable\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":109,\"kind\":2048,\"name\":\"has_unenterables\",\"url\":\"classes/Machine.html#has_unenterables\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":110,\"kind\":2048,\"name\":\"is_terminal\",\"url\":\"classes/Machine.html#is_terminal\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":111,\"kind\":2048,\"name\":\"state_is_terminal\",\"url\":\"classes/Machine.html#state_is_terminal\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":112,\"kind\":2048,\"name\":\"has_terminals\",\"url\":\"classes/Machine.html#has_terminals\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":113,\"kind\":2048,\"name\":\"is_complete\",\"url\":\"classes/Machine.html#is_complete\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":114,\"kind\":2048,\"name\":\"state_is_complete\",\"url\":\"classes/Machine.html#state_is_complete\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":115,\"kind\":2048,\"name\":\"has_completes\",\"url\":\"classes/Machine.html#has_completes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":116,\"kind\":2048,\"name\":\"set_hook\",\"url\":\"classes/Machine.html#set_hook\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":117,\"kind\":2048,\"name\":\"hook\",\"url\":\"classes/Machine.html#hook\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":118,\"kind\":2048,\"name\":\"hook_action\",\"url\":\"classes/Machine.html#hook_action\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":119,\"kind\":2048,\"name\":\"hook_global_action\",\"url\":\"classes/Machine.html#hook_global_action\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":120,\"kind\":2048,\"name\":\"hook_any_action\",\"url\":\"classes/Machine.html#hook_any_action\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":121,\"kind\":2048,\"name\":\"hook_standard_transition\",\"url\":\"classes/Machine.html#hook_standard_transition\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":122,\"kind\":2048,\"name\":\"hook_main_transition\",\"url\":\"classes/Machine.html#hook_main_transition\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":123,\"kind\":2048,\"name\":\"hook_forced_transition\",\"url\":\"classes/Machine.html#hook_forced_transition\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":124,\"kind\":2048,\"name\":\"hook_any_transition\",\"url\":\"classes/Machine.html#hook_any_transition\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":125,\"kind\":2048,\"name\":\"hook_entry\",\"url\":\"classes/Machine.html#hook_entry\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":126,\"kind\":2048,\"name\":\"hook_exit\",\"url\":\"classes/Machine.html#hook_exit\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":127,\"kind\":2048,\"name\":\"post_hook\",\"url\":\"classes/Machine.html#post_hook\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":128,\"kind\":2048,\"name\":\"post_hook_action\",\"url\":\"classes/Machine.html#post_hook_action\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":129,\"kind\":2048,\"name\":\"post_hook_global_action\",\"url\":\"classes/Machine.html#post_hook_global_action\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":130,\"kind\":2048,\"name\":\"post_hook_any_action\",\"url\":\"classes/Machine.html#post_hook_any_action\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":131,\"kind\":2048,\"name\":\"post_hook_standard_transition\",\"url\":\"classes/Machine.html#post_hook_standard_transition\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":132,\"kind\":2048,\"name\":\"post_hook_main_transition\",\"url\":\"classes/Machine.html#post_hook_main_transition\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":133,\"kind\":2048,\"name\":\"post_hook_forced_transition\",\"url\":\"classes/Machine.html#post_hook_forced_transition\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":134,\"kind\":2048,\"name\":\"post_hook_any_transition\",\"url\":\"classes/Machine.html#post_hook_any_transition\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":135,\"kind\":2048,\"name\":\"post_hook_entry\",\"url\":\"classes/Machine.html#post_hook_entry\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":136,\"kind\":2048,\"name\":\"post_hook_exit\",\"url\":\"classes/Machine.html#post_hook_exit\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":137,\"kind\":2048,\"name\":\"edges_between\",\"url\":\"classes/Machine.html#edges_between\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":138,\"kind\":2048,\"name\":\"transition_impl\",\"url\":\"classes/Machine.html#transition_impl\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":139,\"kind\":262144,\"name\":\"history\",\"url\":\"classes/Machine.html#history\",\"classes\":\"tsd-kind-get-signature tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":140,\"kind\":262144,\"name\":\"history_inclusive\",\"url\":\"classes/Machine.html#history_inclusive\",\"classes\":\"tsd-kind-get-signature tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":141,\"kind\":262144,\"name\":\"history_length\",\"url\":\"classes/Machine.html#history_length\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":142,\"kind\":2048,\"name\":\"action\",\"url\":\"classes/Machine.html#action\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":143,\"kind\":2048,\"name\":\"transition\",\"url\":\"classes/Machine.html#transition\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":144,\"kind\":2048,\"name\":\"force_transition\",\"url\":\"classes/Machine.html#force_transition\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":145,\"kind\":2048,\"name\":\"current_action_for\",\"url\":\"classes/Machine.html#current_action_for\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":146,\"kind\":2048,\"name\":\"current_action_edge_for\",\"url\":\"classes/Machine.html#current_action_edge_for\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":147,\"kind\":2048,\"name\":\"valid_action\",\"url\":\"classes/Machine.html#valid_action\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":148,\"kind\":2048,\"name\":\"valid_transition\",\"url\":\"classes/Machine.html#valid_transition\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":149,\"kind\":2048,\"name\":\"valid_force_transition\",\"url\":\"classes/Machine.html#valid_force_transition\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":150,\"kind\":2048,\"name\":\"instance_name\",\"url\":\"classes/Machine.html#instance_name\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":151,\"kind\":2048,\"name\":\"sm\",\"url\":\"classes/Machine.html#sm\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"isPage\":false,\"parent\":\"Machine\"},{\"id\":152,\"kind\":64,\"name\":\"make\",\"url\":\"modules.html#make\",\"classes\":\"tsd-kind-function tsd-has-type-parameter\",\"isPage\":false},{\"id\":153,\"kind\":64,\"name\":\"parse\",\"url\":\"modules.html#parse\",\"classes\":\"tsd-kind-function\",\"isPage\":false},{\"id\":154,\"kind\":64,\"name\":\"compile\",\"url\":\"modules.html#compile\",\"classes\":\"tsd-kind-function tsd-has-type-parameter\",\"isPage\":false},{\"id\":155,\"kind\":64,\"name\":\"sm\",\"url\":\"modules.html#sm\",\"classes\":\"tsd-kind-function tsd-has-type-parameter\",\"isPage\":false},{\"id\":156,\"kind\":64,\"name\":\"from\",\"url\":\"modules.html#from\",\"classes\":\"tsd-kind-function tsd-has-type-parameter\",\"isPage\":false},{\"id\":157,\"kind\":64,\"name\":\"arrow_direction\",\"url\":\"modules.html#arrow_direction\",\"classes\":\"tsd-kind-function\",\"isPage\":false},{\"id\":158,\"kind\":64,\"name\":\"arrow_left_kind\",\"url\":\"modules.html#arrow_left_kind\",\"classes\":\"tsd-kind-function\",\"isPage\":false},{\"id\":159,\"kind\":64,\"name\":\"arrow_right_kind\",\"url\":\"modules.html#arrow_right_kind\",\"classes\":\"tsd-kind-function\",\"isPage\":false},{\"id\":160,\"kind\":64,\"name\":\"is_hook_rejection\",\"url\":\"modules.html#is_hook_rejection\",\"classes\":\"tsd-kind-function tsd-has-type-parameter\",\"isPage\":false},{\"id\":161,\"kind\":64,\"name\":\"is_hook_complex_result\",\"url\":\"modules.html#is_hook_complex_result\",\"classes\":\"tsd-kind-function tsd-has-type-parameter\",\"isPage\":false},{\"id\":162,\"kind\":64,\"name\":\"abstract_hook_step\",\"url\":\"modules.html#abstract_hook_step\",\"classes\":\"tsd-kind-function tsd-has-type-parameter\",\"isPage\":false},{\"id\":163,\"kind\":32,\"name\":\"version\",\"url\":\"modules.html#version\",\"classes\":\"tsd-kind-variable\",\"isPage\":false},{\"id\":164,\"kind\":64,\"name\":\"seq\",\"url\":\"modules.html#seq\",\"classes\":\"tsd-kind-function\",\"isPage\":false},{\"id\":165,\"kind\":32,\"name\":\"weighted_rand_select\",\"url\":\"modules.html#weighted_rand_select\",\"classes\":\"tsd-kind-variable\",\"isPage\":false},{\"id\":166,\"kind\":32,\"name\":\"histograph\",\"url\":\"modules.html#histograph\",\"classes\":\"tsd-kind-variable\",\"isPage\":false},{\"id\":167,\"kind\":32,\"name\":\"weighted_sample_select\",\"url\":\"modules.html#weighted_sample_select\",\"classes\":\"tsd-kind-variable\",\"isPage\":false},{\"id\":168,\"kind\":32,\"name\":\"weighted_histo_key\",\"url\":\"modules.html#weighted_histo_key\",\"classes\":\"tsd-kind-variable\",\"isPage\":false},{\"id\":169,\"kind\":32,\"name\":\"shapes\",\"url\":\"modules.html#shapes\",\"classes\":\"tsd-kind-variable\",\"isPage\":false},{\"id\":170,\"kind\":32,\"name\":\"gviz_shapes\",\"url\":\"modules.html#gviz_shapes\",\"classes\":\"tsd-kind-variable\",\"isPage\":false},{\"id\":171,\"kind\":32,\"name\":\"named_colors\",\"url\":\"modules.html#named_colors\",\"classes\":\"tsd-kind-variable\",\"isPage\":false},{\"id\":172,\"kind\":2048,\"name\":\"Page: What are state machines?\",\"url\":\"pages\\\\WhatAreStateMachines.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":173,\"kind\":2048,\"name\":\"Page: ☕ Quick Start\",\"url\":\"pages\\\\GettingStarted.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":174,\"kind\":2048,\"name\":\"Page: Language reference\",\"url\":\"pages\\\\LanguageReference.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":175,\"kind\":2048,\"name\":\"Page: API reference\",\"url\":\"pages\\\\todo.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":176,\"kind\":2048,\"name\":\"Page: Example machines\",\"url\":\"pages\\\\ExampleMachines.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":177,\"kind\":2048,\"name\":\"Page: React\",\"url\":\"pages\\\\todo.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":178,\"kind\":2048,\"name\":\"Page: Vue\",\"url\":\"pages\\\\todo.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":179,\"kind\":2048,\"name\":\"Page: Angular\",\"url\":\"pages\\\\todo.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":180,\"kind\":2048,\"name\":\"Page: Node\",\"url\":\"pages\\\\todo.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":181,\"kind\":2048,\"name\":\"Page: Node\",\"url\":\"pages\\\\todo.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":182,\"kind\":2048,\"name\":\"Page: Typescript\",\"url\":\"pages\\\\todo.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":183,\"kind\":2048,\"name\":\"Page: The browser\",\"url\":\"pages\\\\todo.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":184,\"kind\":2048,\"name\":\"Page: Deno\",\"url\":\"pages\\\\todo.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":185,\"kind\":2048,\"name\":\"Page: AWS Lambda\",\"url\":\"pages\\\\todo.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":186,\"kind\":2048,\"name\":\"Page: SQL\",\"url\":\"pages\\\\todo.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":187,\"kind\":2048,\"name\":\"Page: Rollup\",\"url\":\"pages\\\\todo.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":188,\"kind\":2048,\"name\":\"Page: Webpack\",\"url\":\"pages\\\\todo.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":189,\"kind\":2048,\"name\":\"Page: CDN\",\"url\":\"pages\\\\todo.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":190,\"kind\":2048,\"name\":\"Page: Local files\",\"url\":\"pages\\\\todo.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":191,\"kind\":2048,\"name\":\"Page: Let's make a large machine\",\"url\":\"pages\\\\todo.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":192,\"kind\":2048,\"name\":\"Page: Publishing\",\"url\":\"pages\\\\todo.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":193,\"kind\":2048,\"name\":\"Page: Theme, style, color\",\"url\":\"pages\\\\Styling.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":194,\"kind\":2048,\"name\":\"Page: Feature comparison\",\"url\":\"pages\\\\FeatureComparison.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":195,\"kind\":2048,\"name\":\"Page: LOC Shootout\",\"url\":\"pages\\\\Shootout.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":196,\"kind\":2048,\"name\":\"Page: Live Editor\",\"url\":\"pages\\\\live_editor.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":197,\"kind\":2048,\"name\":\"Page: Github Action\",\"url\":\"pages\\\\todo.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":198,\"kind\":2048,\"name\":\"Page: CLI\",\"url\":\"pages\\\\todo.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":199,\"kind\":2048,\"name\":\"Page: Community\",\"url\":\"pages\\\\community.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true},{\"id\":200,\"kind\":2048,\"name\":\"Page: Changelog\",\"url\":\"pages\\\\CHANGELOG.long.html\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited tsd-is-external pages-entry\",\"isPage\":true}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"parent\"],\"fieldVectors\":[[\"name/0\",[0,53.378]],[\"parent/0\",[]],[\"name/1\",[1,3.06]],[\"parent/1\",[]],[\"name/2\",[2,53.378]],[\"parent/2\",[1,0.247]],[\"name/3\",[3,53.378]],[\"parent/3\",[1,0.247]],[\"name/4\",[4,53.378]],[\"parent/4\",[1,0.247]],[\"name/5\",[5,53.378]],[\"parent/5\",[1,0.247]],[\"name/6\",[6,53.378]],[\"parent/6\",[1,0.247]],[\"name/7\",[7,53.378]],[\"parent/7\",[1,0.247]],[\"name/8\",[8,53.378]],[\"parent/8\",[1,0.247]],[\"name/9\",[9,53.378]],[\"parent/9\",[1,0.247]],[\"name/10\",[10,53.378]],[\"parent/10\",[1,0.247]],[\"name/11\",[11,53.378]],[\"parent/11\",[1,0.247]],[\"name/12\",[12,53.378]],[\"parent/12\",[1,0.247]],[\"name/13\",[13,53.378]],[\"parent/13\",[1,0.247]],[\"name/14\",[14,53.378]],[\"parent/14\",[1,0.247]],[\"name/15\",[15,53.378]],[\"parent/15\",[1,0.247]],[\"name/16\",[16,53.378]],[\"parent/16\",[1,0.247]],[\"name/17\",[17,53.378]],[\"parent/17\",[1,0.247]],[\"name/18\",[18,53.378]],[\"parent/18\",[1,0.247]],[\"name/19\",[19,53.378]],[\"parent/19\",[1,0.247]],[\"name/20\",[20,53.378]],[\"parent/20\",[1,0.247]],[\"name/21\",[21,53.378]],[\"parent/21\",[1,0.247]],[\"name/22\",[22,53.378]],[\"parent/22\",[1,0.247]],[\"name/23\",[23,53.378]],[\"parent/23\",[1,0.247]],[\"name/24\",[24,53.378]],[\"parent/24\",[1,0.247]],[\"name/25\",[25,53.378]],[\"parent/25\",[1,0.247]],[\"name/26\",[26,53.378]],[\"parent/26\",[1,0.247]],[\"name/27\",[27,53.378]],[\"parent/27\",[1,0.247]],[\"name/28\",[28,53.378]],[\"parent/28\",[1,0.247]],[\"name/29\",[29,53.378]],[\"parent/29\",[1,0.247]],[\"name/30\",[30,53.378]],[\"parent/30\",[1,0.247]],[\"name/31\",[31,53.378]],[\"parent/31\",[1,0.247]],[\"name/32\",[32,53.378]],[\"parent/32\",[1,0.247]],[\"name/33\",[33,53.378]],[\"parent/33\",[1,0.247]],[\"name/34\",[34,53.378]],[\"parent/34\",[1,0.247]],[\"name/35\",[35,53.378]],[\"parent/35\",[1,0.247]],[\"name/36\",[36,53.378]],[\"parent/36\",[1,0.247]],[\"name/37\",[37,53.378]],[\"parent/37\",[1,0.247]],[\"name/38\",[38,53.378]],[\"parent/38\",[1,0.247]],[\"name/39\",[39,53.378]],[\"parent/39\",[1,0.247]],[\"name/40\",[40,53.378]],[\"parent/40\",[1,0.247]],[\"name/41\",[41,53.378]],[\"parent/41\",[1,0.247]],[\"name/42\",[42,53.378]],[\"parent/42\",[1,0.247]],[\"name/43\",[43,53.378]],[\"parent/43\",[1,0.247]],[\"name/44\",[44,53.378]],[\"parent/44\",[1,0.247]],[\"name/45\",[45,53.378]],[\"parent/45\",[1,0.247]],[\"name/46\",[46,53.378]],[\"parent/46\",[1,0.247]],[\"name/47\",[47,53.378]],[\"parent/47\",[1,0.247]],[\"name/48\",[48,53.378]],[\"parent/48\",[1,0.247]],[\"name/49\",[49,53.378]],[\"parent/49\",[1,0.247]],[\"name/50\",[50,53.378]],[\"parent/50\",[1,0.247]],[\"name/51\",[51,53.378]],[\"parent/51\",[1,0.247]],[\"name/52\",[52,53.378]],[\"parent/52\",[1,0.247]],[\"name/53\",[53,53.378]],[\"parent/53\",[1,0.247]],[\"name/54\",[54,53.378]],[\"parent/54\",[1,0.247]],[\"name/55\",[55,53.378]],[\"parent/55\",[1,0.247]],[\"name/56\",[56,53.378]],[\"parent/56\",[1,0.247]],[\"name/57\",[57,53.378]],[\"parent/57\",[1,0.247]],[\"name/58\",[58,53.378]],[\"parent/58\",[1,0.247]],[\"name/59\",[59,53.378]],[\"parent/59\",[1,0.247]],[\"name/60\",[60,53.378]],[\"parent/60\",[1,0.247]],[\"name/61\",[61,53.378]],[\"parent/61\",[1,0.247]],[\"name/62\",[62,53.378]],[\"parent/62\",[1,0.247]],[\"name/63\",[63,53.378]],[\"parent/63\",[1,0.247]],[\"name/64\",[64,53.378]],[\"parent/64\",[1,0.247]],[\"name/65\",[65,53.378]],[\"parent/65\",[1,0.247]],[\"name/66\",[66,53.378]],[\"parent/66\",[1,0.247]],[\"name/67\",[67,53.378]],[\"parent/67\",[1,0.247]],[\"name/68\",[68,47.816]],[\"parent/68\",[1,0.247]],[\"name/69\",[69,53.378]],[\"parent/69\",[1,0.247]],[\"name/70\",[70,53.378]],[\"parent/70\",[1,0.247]],[\"name/71\",[71,53.378]],[\"parent/71\",[1,0.247]],[\"name/72\",[72,53.378]],[\"parent/72\",[1,0.247]],[\"name/73\",[73,53.378]],[\"parent/73\",[1,0.247]],[\"name/74\",[74,53.378]],[\"parent/74\",[1,0.247]],[\"name/75\",[75,53.378]],[\"parent/75\",[1,0.247]],[\"name/76\",[76,53.378]],[\"parent/76\",[1,0.247]],[\"name/77\",[77,53.378]],[\"parent/77\",[1,0.247]],[\"name/78\",[78,53.378]],[\"parent/78\",[1,0.247]],[\"name/79\",[79,53.378]],[\"parent/79\",[1,0.247]],[\"name/80\",[80,53.378]],[\"parent/80\",[1,0.247]],[\"name/81\",[81,53.378]],[\"parent/81\",[1,0.247]],[\"name/82\",[82,53.378]],[\"parent/82\",[1,0.247]],[\"name/83\",[83,53.378]],[\"parent/83\",[1,0.247]],[\"name/84\",[84,53.378]],[\"parent/84\",[1,0.247]],[\"name/85\",[85,53.378]],[\"parent/85\",[1,0.247]],[\"name/86\",[86,53.378]],[\"parent/86\",[1,0.247]],[\"name/87\",[87,53.378]],[\"parent/87\",[1,0.247]],[\"name/88\",[88,53.378]],[\"parent/88\",[1,0.247]],[\"name/89\",[89,53.378]],[\"parent/89\",[1,0.247]],[\"name/90\",[90,53.378]],[\"parent/90\",[1,0.247]],[\"name/91\",[91,53.378]],[\"parent/91\",[1,0.247]],[\"name/92\",[92,53.378]],[\"parent/92\",[1,0.247]],[\"name/93\",[93,47.816]],[\"parent/93\",[1,0.247]],[\"name/94\",[94,53.378]],[\"parent/94\",[1,0.247]],[\"name/95\",[95,53.378]],[\"parent/95\",[1,0.247]],[\"name/96\",[96,53.378]],[\"parent/96\",[1,0.247]],[\"name/97\",[97,53.378]],[\"parent/97\",[1,0.247]],[\"name/98\",[98,53.378]],[\"parent/98\",[1,0.247]],[\"name/99\",[99,53.378]],[\"parent/99\",[1,0.247]],[\"name/100\",[100,53.378]],[\"parent/100\",[1,0.247]],[\"name/101\",[101,53.378]],[\"parent/101\",[1,0.247]],[\"name/102\",[102,53.378]],[\"parent/102\",[1,0.247]],[\"name/103\",[103,53.378]],[\"parent/103\",[1,0.247]],[\"name/104\",[104,53.378]],[\"parent/104\",[1,0.247]],[\"name/105\",[105,53.378]],[\"parent/105\",[1,0.247]],[\"name/106\",[106,53.378]],[\"parent/106\",[1,0.247]],[\"name/107\",[107,53.378]],[\"parent/107\",[1,0.247]],[\"name/108\",[108,53.378]],[\"parent/108\",[1,0.247]],[\"name/109\",[109,53.378]],[\"parent/109\",[1,0.247]],[\"name/110\",[110,53.378]],[\"parent/110\",[1,0.247]],[\"name/111\",[111,53.378]],[\"parent/111\",[1,0.247]],[\"name/112\",[112,53.378]],[\"parent/112\",[1,0.247]],[\"name/113\",[113,53.378]],[\"parent/113\",[1,0.247]],[\"name/114\",[114,53.378]],[\"parent/114\",[1,0.247]],[\"name/115\",[115,53.378]],[\"parent/115\",[1,0.247]],[\"name/116\",[116,53.378]],[\"parent/116\",[1,0.247]],[\"name/117\",[117,53.378]],[\"parent/117\",[1,0.247]],[\"name/118\",[118,53.378]],[\"parent/118\",[1,0.247]],[\"name/119\",[119,53.378]],[\"parent/119\",[1,0.247]],[\"name/120\",[120,53.378]],[\"parent/120\",[1,0.247]],[\"name/121\",[121,53.378]],[\"parent/121\",[1,0.247]],[\"name/122\",[122,53.378]],[\"parent/122\",[1,0.247]],[\"name/123\",[123,53.378]],[\"parent/123\",[1,0.247]],[\"name/124\",[124,53.378]],[\"parent/124\",[1,0.247]],[\"name/125\",[125,53.378]],[\"parent/125\",[1,0.247]],[\"name/126\",[126,53.378]],[\"parent/126\",[1,0.247]],[\"name/127\",[127,53.378]],[\"parent/127\",[1,0.247]],[\"name/128\",[128,53.378]],[\"parent/128\",[1,0.247]],[\"name/129\",[129,53.378]],[\"parent/129\",[1,0.247]],[\"name/130\",[130,53.378]],[\"parent/130\",[1,0.247]],[\"name/131\",[131,53.378]],[\"parent/131\",[1,0.247]],[\"name/132\",[132,53.378]],[\"parent/132\",[1,0.247]],[\"name/133\",[133,53.378]],[\"parent/133\",[1,0.247]],[\"name/134\",[134,53.378]],[\"parent/134\",[1,0.247]],[\"name/135\",[135,53.378]],[\"parent/135\",[1,0.247]],[\"name/136\",[136,53.378]],[\"parent/136\",[1,0.247]],[\"name/137\",[137,53.378]],[\"parent/137\",[1,0.247]],[\"name/138\",[138,53.378]],[\"parent/138\",[1,0.247]],[\"name/139\",[139,53.378]],[\"parent/139\",[1,0.247]],[\"name/140\",[140,53.378]],[\"parent/140\",[1,0.247]],[\"name/141\",[141,53.378]],[\"parent/141\",[1,0.247]],[\"name/142\",[142,47.816]],[\"parent/142\",[1,0.247]],[\"name/143\",[143,53.378]],[\"parent/143\",[1,0.247]],[\"name/144\",[144,53.378]],[\"parent/144\",[1,0.247]],[\"name/145\",[145,53.378]],[\"parent/145\",[1,0.247]],[\"name/146\",[146,53.378]],[\"parent/146\",[1,0.247]],[\"name/147\",[147,53.378]],[\"parent/147\",[1,0.247]],[\"name/148\",[148,53.378]],[\"parent/148\",[1,0.247]],[\"name/149\",[149,53.378]],[\"parent/149\",[1,0.247]],[\"name/150\",[150,53.378]],[\"parent/150\",[1,0.247]],[\"name/151\",[151,47.816]],[\"parent/151\",[1,0.247]],[\"name/152\",[152,47.816]],[\"parent/152\",[]],[\"name/153\",[153,53.378]],[\"parent/153\",[]],[\"name/154\",[154,53.378]],[\"parent/154\",[]],[\"name/155\",[151,47.816]],[\"parent/155\",[]],[\"name/156\",[155,53.378]],[\"parent/156\",[]],[\"name/157\",[156,53.378]],[\"parent/157\",[]],[\"name/158\",[157,53.378]],[\"parent/158\",[]],[\"name/159\",[158,53.378]],[\"parent/159\",[]],[\"name/160\",[159,53.378]],[\"parent/160\",[]],[\"name/161\",[160,53.378]],[\"parent/161\",[]],[\"name/162\",[161,53.378]],[\"parent/162\",[]],[\"name/163\",[162,53.378]],[\"parent/163\",[]],[\"name/164\",[163,53.378]],[\"parent/164\",[]],[\"name/165\",[164,53.378]],[\"parent/165\",[]],[\"name/166\",[165,53.378]],[\"parent/166\",[]],[\"name/167\",[166,53.378]],[\"parent/167\",[]],[\"name/168\",[167,53.378]],[\"parent/168\",[]],[\"name/169\",[168,53.378]],[\"parent/169\",[]],[\"name/170\",[169,53.378]],[\"parent/170\",[]],[\"name/171\",[170,53.378]],[\"parent/171\",[]],[\"name/172\",[68,197.047,171,86.315,172,219.965,173,219.965,174,197.047]],[\"parent/172\",[]],[\"name/173\",[171,101.187,175,257.865,176,257.865,177,257.865]],[\"parent/173\",[]],[\"name/174\",[171,122.251,178,311.545,179,279.085]],[\"parent/174\",[]],[\"name/175\",[171,122.251,179,279.085,180,311.545]],[\"parent/175\",[]],[\"name/176\",[171,122.251,174,279.085,181,311.545]],[\"parent/176\",[]],[\"name/177\",[171,154.391,182,393.45]],[\"parent/177\",[]],[\"name/178\",[171,154.391,183,393.45]],[\"parent/178\",[]],[\"name/179\",[171,154.391,184,393.45]],[\"parent/179\",[]],[\"name/180\",[171,154.391,185,352.456]],[\"parent/180\",[]],[\"name/181\",[171,154.391,185,352.456]],[\"parent/181\",[]],[\"name/182\",[171,154.391,186,393.45]],[\"parent/182\",[]],[\"name/183\",[171,122.251,187,311.545,188,311.545]],[\"parent/183\",[]],[\"name/184\",[171,154.391,189,393.45]],[\"parent/184\",[]],[\"name/185\",[171,122.251,190,311.545,191,311.545]],[\"parent/185\",[]],[\"name/186\",[171,154.391,192,393.45]],[\"parent/186\",[]],[\"name/187\",[171,154.391,193,393.45]],[\"parent/187\",[]],[\"name/188\",[171,154.391,194,393.45]],[\"parent/188\",[]],[\"name/189\",[171,154.391,195,393.45]],[\"parent/189\",[]],[\"name/190\",[171,122.251,196,311.545,197,311.545]],[\"parent/190\",[]],[\"name/191\",[1,10.996,152,171.796,171,75.254,198,191.778,199,191.778,200,191.778]],[\"parent/191\",[]],[\"name/192\",[171,154.391,201,393.45]],[\"parent/192\",[]],[\"name/193\",[93,230.998,171,101.187,202,257.865,203,257.865]],[\"parent/193\",[]],[\"name/194\",[171,122.251,204,311.545,205,311.545]],[\"parent/194\",[]],[\"name/195\",[171,122.251,206,311.545,207,311.545]],[\"parent/195\",[]],[\"name/196\",[171,122.251,208,311.545,209,311.545]],[\"parent/196\",[]],[\"name/197\",[142,279.085,171,122.251,210,311.545]],[\"parent/197\",[]],[\"name/198\",[171,154.391,211,393.45]],[\"parent/198\",[]],[\"name/199\",[171,154.391,212,393.45]],[\"parent/199\",[]],[\"name/200\",[171,154.391,213,393.45]],[\"parent/200\",[]]],\"invertedIndex\":[[\"\",{\"_index\":175,\"name\":{\"173\":{}},\"parent\":{}}],[\"_actions\",{\"_index\":8,\"name\":{\"8\":{}},\"parent\":{}}],[\"_any_action_hook\",{\"_index\":43,\"name\":{\"43\":{}},\"parent\":{}}],[\"_any_transition_hook\",{\"_index\":47,\"name\":{\"47\":{}},\"parent\":{}}],[\"_arrange_declaration\",{\"_index\":26,\"name\":{\"26\":{}},\"parent\":{}}],[\"_arrange_end_declaration\",{\"_index\":28,\"name\":{\"28\":{}},\"parent\":{}}],[\"_arrange_start_declaration\",{\"_index\":27,\"name\":{\"27\":{}},\"parent\":{}}],[\"_data\",{\"_index\":23,\"name\":{\"23\":{}},\"parent\":{}}],[\"_dot_preamble\",{\"_index\":25,\"name\":{\"25\":{}},\"parent\":{}}],[\"_edge_map\",{\"_index\":6,\"name\":{\"6\":{}},\"parent\":{}}],[\"_edges\",{\"_index\":5,\"name\":{\"5\":{}},\"parent\":{}}],[\"_entry_hooks\",{\"_index\":40,\"name\":{\"40\":{}},\"parent\":{}}],[\"_exit_hooks\",{\"_index\":41,\"name\":{\"41\":{}},\"parent\":{}}],[\"_flow\",{\"_index\":30,\"name\":{\"30\":{}},\"parent\":{}}],[\"_forced_transition_hook\",{\"_index\":46,\"name\":{\"46\":{}},\"parent\":{}}],[\"_fsl_version\",{\"_index\":19,\"name\":{\"19\":{}},\"parent\":{}}],[\"_global_action_hooks\",{\"_index\":42,\"name\":{\"42\":{}},\"parent\":{}}],[\"_graph_layout\",{\"_index\":24,\"name\":{\"24\":{}},\"parent\":{}}],[\"_has_basic_hooks\",{\"_index\":32,\"name\":{\"32\":{}},\"parent\":{}}],[\"_has_entry_hooks\",{\"_index\":34,\"name\":{\"34\":{}},\"parent\":{}}],[\"_has_exit_hooks\",{\"_index\":35,\"name\":{\"35\":{}},\"parent\":{}}],[\"_has_global_action_hooks\",{\"_index\":36,\"name\":{\"36\":{}},\"parent\":{}}],[\"_has_hooks\",{\"_index\":31,\"name\":{\"31\":{}},\"parent\":{}}],[\"_has_named_hooks\",{\"_index\":33,\"name\":{\"33\":{}},\"parent\":{}}],[\"_has_post_basic_hooks\",{\"_index\":49,\"name\":{\"49\":{}},\"parent\":{}}],[\"_has_post_entry_hooks\",{\"_index\":51,\"name\":{\"51\":{}},\"parent\":{}}],[\"_has_post_exit_hooks\",{\"_index\":52,\"name\":{\"52\":{}},\"parent\":{}}],[\"_has_post_global_action_hooks\",{\"_index\":53,\"name\":{\"53\":{}},\"parent\":{}}],[\"_has_post_hooks\",{\"_index\":48,\"name\":{\"48\":{}},\"parent\":{}}],[\"_has_post_named_hooks\",{\"_index\":50,\"name\":{\"50\":{}},\"parent\":{}}],[\"_has_post_transition_hooks\",{\"_index\":54,\"name\":{\"54\":{}},\"parent\":{}}],[\"_has_transition_hooks\",{\"_index\":37,\"name\":{\"37\":{}},\"parent\":{}}],[\"_history\",{\"_index\":65,\"name\":{\"65\":{}},\"parent\":{}}],[\"_history_length\",{\"_index\":66,\"name\":{\"66\":{}},\"parent\":{}}],[\"_hooks\",{\"_index\":38,\"name\":{\"38\":{}},\"parent\":{}}],[\"_instance_name\",{\"_index\":22,\"name\":{\"22\":{}},\"parent\":{}}],[\"_machine_author\",{\"_index\":11,\"name\":{\"11\":{}},\"parent\":{}}],[\"_machine_comment\",{\"_index\":12,\"name\":{\"12\":{}},\"parent\":{}}],[\"_machine_contributor\",{\"_index\":13,\"name\":{\"13\":{}},\"parent\":{}}],[\"_machine_definition\",{\"_index\":14,\"name\":{\"14\":{}},\"parent\":{}}],[\"_machine_language\",{\"_index\":15,\"name\":{\"15\":{}},\"parent\":{}}],[\"_machine_license\",{\"_index\":16,\"name\":{\"16\":{}},\"parent\":{}}],[\"_machine_name\",{\"_index\":17,\"name\":{\"17\":{}},\"parent\":{}}],[\"_machine_version\",{\"_index\":18,\"name\":{\"18\":{}},\"parent\":{}}],[\"_main_transition_hook\",{\"_index\":45,\"name\":{\"45\":{}},\"parent\":{}}],[\"_named_hooks\",{\"_index\":39,\"name\":{\"39\":{}},\"parent\":{}}],[\"_named_transitions\",{\"_index\":7,\"name\":{\"7\":{}},\"parent\":{}}],[\"_new_state\",{\"_index\":67,\"name\":{\"67\":{}},\"parent\":{}}],[\"_post_any_action_hook\",{\"_index\":60,\"name\":{\"60\":{}},\"parent\":{}}],[\"_post_any_transition_hook\",{\"_index\":64,\"name\":{\"64\":{}},\"parent\":{}}],[\"_post_entry_hooks\",{\"_index\":57,\"name\":{\"57\":{}},\"parent\":{}}],[\"_post_exit_hooks\",{\"_index\":58,\"name\":{\"58\":{}},\"parent\":{}}],[\"_post_forced_transition_hook\",{\"_index\":63,\"name\":{\"63\":{}},\"parent\":{}}],[\"_post_global_action_hooks\",{\"_index\":59,\"name\":{\"59\":{}},\"parent\":{}}],[\"_post_hooks\",{\"_index\":55,\"name\":{\"55\":{}},\"parent\":{}}],[\"_post_main_transition_hook\",{\"_index\":62,\"name\":{\"62\":{}},\"parent\":{}}],[\"_post_named_hooks\",{\"_index\":56,\"name\":{\"56\":{}},\"parent\":{}}],[\"_post_standard_transition_hook\",{\"_index\":61,\"name\":{\"61\":{}},\"parent\":{}}],[\"_raw_state_declaration\",{\"_index\":20,\"name\":{\"20\":{}},\"parent\":{}}],[\"_reverse_action_targets\",{\"_index\":10,\"name\":{\"10\":{}},\"parent\":{}}],[\"_reverse_actions\",{\"_index\":9,\"name\":{\"9\":{}},\"parent\":{}}],[\"_standard_transition_hook\",{\"_index\":44,\"name\":{\"44\":{}},\"parent\":{}}],[\"_state\",{\"_index\":3,\"name\":{\"3\":{}},\"parent\":{}}],[\"_state_declarations\",{\"_index\":21,\"name\":{\"21\":{}},\"parent\":{}}],[\"_states\",{\"_index\":4,\"name\":{\"4\":{}},\"parent\":{}}],[\"_theme\",{\"_index\":29,\"name\":{\"29\":{}},\"parent\":{}}],[\"a\",{\"_index\":199,\"name\":{\"191\":{}},\"parent\":{}}],[\"abstract_hook_step\",{\"_index\":161,\"name\":{\"162\":{}},\"parent\":{}}],[\"action\",{\"_index\":142,\"name\":{\"142\":{},\"197\":{}},\"parent\":{}}],[\"actions\",{\"_index\":104,\"name\":{\"104\":{}},\"parent\":{}}],[\"angular\",{\"_index\":184,\"name\":{\"179\":{}},\"parent\":{}}],[\"api\",{\"_index\":180,\"name\":{\"175\":{}},\"parent\":{}}],[\"are\",{\"_index\":173,\"name\":{\"172\":{}},\"parent\":{}}],[\"arrow_direction\",{\"_index\":156,\"name\":{\"157\":{}},\"parent\":{}}],[\"arrow_left_kind\",{\"_index\":157,\"name\":{\"158\":{}},\"parent\":{}}],[\"arrow_right_kind\",{\"_index\":158,\"name\":{\"159\":{}},\"parent\":{}}],[\"aws\",{\"_index\":190,\"name\":{\"185\":{}},\"parent\":{}}],[\"browser\",{\"_index\":188,\"name\":{\"183\":{}},\"parent\":{}}],[\"cdn\",{\"_index\":195,\"name\":{\"189\":{}},\"parent\":{}}],[\"changelog\",{\"_index\":213,\"name\":{\"200\":{}},\"parent\":{}}],[\"cli\",{\"_index\":211,\"name\":{\"198\":{}},\"parent\":{}}],[\"color\",{\"_index\":203,\"name\":{\"193\":{}},\"parent\":{}}],[\"community\",{\"_index\":212,\"name\":{\"199\":{}},\"parent\":{}}],[\"comparison\",{\"_index\":205,\"name\":{\"194\":{}},\"parent\":{}}],[\"compile\",{\"_index\":154,\"name\":{\"154\":{}},\"parent\":{}}],[\"constructor\",{\"_index\":2,\"name\":{\"2\":{}},\"parent\":{}}],[\"current_action_edge_for\",{\"_index\":146,\"name\":{\"146\":{}},\"parent\":{}}],[\"current_action_for\",{\"_index\":145,\"name\":{\"145\":{}},\"parent\":{}}],[\"data\",{\"_index\":69,\"name\":{\"69\":{}},\"parent\":{}}],[\"deno\",{\"_index\":189,\"name\":{\"184\":{}},\"parent\":{}}],[\"dot_preamble\",{\"_index\":73,\"name\":{\"73\":{}},\"parent\":{}}],[\"edges_between\",{\"_index\":137,\"name\":{\"137\":{}},\"parent\":{}}],[\"editor\",{\"_index\":209,\"name\":{\"196\":{}},\"parent\":{}}],[\"example\",{\"_index\":181,\"name\":{\"176\":{}},\"parent\":{}}],[\"feature\",{\"_index\":204,\"name\":{\"194\":{}},\"parent\":{}}],[\"files\",{\"_index\":197,\"name\":{\"190\":{}},\"parent\":{}}],[\"flow\",{\"_index\":94,\"name\":{\"94\":{}},\"parent\":{}}],[\"force_transition\",{\"_index\":144,\"name\":{\"144\":{}},\"parent\":{}}],[\"from\",{\"_index\":155,\"name\":{\"156\":{}},\"parent\":{}}],[\"fsl_version\",{\"_index\":85,\"name\":{\"85\":{}},\"parent\":{}}],[\"get_transition_by_state_names\",{\"_index\":95,\"name\":{\"95\":{}},\"parent\":{}}],[\"github\",{\"_index\":210,\"name\":{\"197\":{}},\"parent\":{}}],[\"graph_layout\",{\"_index\":72,\"name\":{\"72\":{}},\"parent\":{}}],[\"gviz_shapes\",{\"_index\":169,\"name\":{\"170\":{}},\"parent\":{}}],[\"has_completes\",{\"_index\":115,\"name\":{\"115\":{}},\"parent\":{}}],[\"has_state\",{\"_index\":89,\"name\":{\"89\":{}},\"parent\":{}}],[\"has_terminals\",{\"_index\":112,\"name\":{\"112\":{}},\"parent\":{}}],[\"has_unenterables\",{\"_index\":109,\"name\":{\"109\":{}},\"parent\":{}}],[\"histograph\",{\"_index\":165,\"name\":{\"166\":{}},\"parent\":{}}],[\"history\",{\"_index\":139,\"name\":{\"139\":{}},\"parent\":{}}],[\"history_inclusive\",{\"_index\":140,\"name\":{\"140\":{}},\"parent\":{}}],[\"history_length\",{\"_index\":141,\"name\":{\"141\":{}},\"parent\":{}}],[\"hook\",{\"_index\":117,\"name\":{\"117\":{}},\"parent\":{}}],[\"hook_action\",{\"_index\":118,\"name\":{\"118\":{}},\"parent\":{}}],[\"hook_any_action\",{\"_index\":120,\"name\":{\"120\":{}},\"parent\":{}}],[\"hook_any_transition\",{\"_index\":124,\"name\":{\"124\":{}},\"parent\":{}}],[\"hook_entry\",{\"_index\":125,\"name\":{\"125\":{}},\"parent\":{}}],[\"hook_exit\",{\"_index\":126,\"name\":{\"126\":{}},\"parent\":{}}],[\"hook_forced_transition\",{\"_index\":123,\"name\":{\"123\":{}},\"parent\":{}}],[\"hook_global_action\",{\"_index\":119,\"name\":{\"119\":{}},\"parent\":{}}],[\"hook_main_transition\",{\"_index\":122,\"name\":{\"122\":{}},\"parent\":{}}],[\"hook_standard_transition\",{\"_index\":121,\"name\":{\"121\":{}},\"parent\":{}}],[\"instance_name\",{\"_index\":150,\"name\":{\"150\":{}},\"parent\":{}}],[\"is_complete\",{\"_index\":113,\"name\":{\"113\":{}},\"parent\":{}}],[\"is_final\",{\"_index\":71,\"name\":{\"71\":{}},\"parent\":{}}],[\"is_hook_complex_result\",{\"_index\":160,\"name\":{\"161\":{}},\"parent\":{}}],[\"is_hook_rejection\",{\"_index\":159,\"name\":{\"160\":{}},\"parent\":{}}],[\"is_terminal\",{\"_index\":110,\"name\":{\"110\":{}},\"parent\":{}}],[\"is_unenterable\",{\"_index\":108,\"name\":{\"108\":{}},\"parent\":{}}],[\"lambda\",{\"_index\":191,\"name\":{\"185\":{}},\"parent\":{}}],[\"language\",{\"_index\":178,\"name\":{\"174\":{}},\"parent\":{}}],[\"large\",{\"_index\":200,\"name\":{\"191\":{}},\"parent\":{}}],[\"let's\",{\"_index\":198,\"name\":{\"191\":{}},\"parent\":{}}],[\"list_actions\",{\"_index\":92,\"name\":{\"92\":{}},\"parent\":{}}],[\"list_edges\",{\"_index\":90,\"name\":{\"90\":{}},\"parent\":{}}],[\"list_entrances\",{\"_index\":98,\"name\":{\"98\":{}},\"parent\":{}}],[\"list_exit_actions\",{\"_index\":106,\"name\":{\"106\":{}},\"parent\":{}}],[\"list_exits\",{\"_index\":99,\"name\":{\"99\":{}},\"parent\":{}}],[\"list_named_transitions\",{\"_index\":91,\"name\":{\"91\":{}},\"parent\":{}}],[\"list_states_having_action\",{\"_index\":105,\"name\":{\"105\":{}},\"parent\":{}}],[\"list_transitions\",{\"_index\":97,\"name\":{\"97\":{}},\"parent\":{}}],[\"live\",{\"_index\":208,\"name\":{\"196\":{}},\"parent\":{}}],[\"loc\",{\"_index\":206,\"name\":{\"195\":{}},\"parent\":{}}],[\"local\",{\"_index\":196,\"name\":{\"190\":{}},\"parent\":{}}],[\"lookup_transition_for\",{\"_index\":96,\"name\":{\"96\":{}},\"parent\":{}}],[\"machine\",{\"_index\":1,\"name\":{\"1\":{},\"191\":{}},\"parent\":{\"2\":{},\"3\":{},\"4\":{},\"5\":{},\"6\":{},\"7\":{},\"8\":{},\"9\":{},\"10\":{},\"11\":{},\"12\":{},\"13\":{},\"14\":{},\"15\":{},\"16\":{},\"17\":{},\"18\":{},\"19\":{},\"20\":{},\"21\":{},\"22\":{},\"23\":{},\"24\":{},\"25\":{},\"26\":{},\"27\":{},\"28\":{},\"29\":{},\"30\":{},\"31\":{},\"32\":{},\"33\":{},\"34\":{},\"35\":{},\"36\":{},\"37\":{},\"38\":{},\"39\":{},\"40\":{},\"41\":{},\"42\":{},\"43\":{},\"44\":{},\"45\":{},\"46\":{},\"47\":{},\"48\":{},\"49\":{},\"50\":{},\"51\":{},\"52\":{},\"53\":{},\"54\":{},\"55\":{},\"56\":{},\"57\":{},\"58\":{},\"59\":{},\"60\":{},\"61\":{},\"62\":{},\"63\":{},\"64\":{},\"65\":{},\"66\":{},\"67\":{},\"68\":{},\"69\":{},\"70\":{},\"71\":{},\"72\":{},\"73\":{},\"74\":{},\"75\":{},\"76\":{},\"77\":{},\"78\":{},\"79\":{},\"80\":{},\"81\":{},\"82\":{},\"83\":{},\"84\":{},\"85\":{},\"86\":{},\"87\":{},\"88\":{},\"89\":{},\"90\":{},\"91\":{},\"92\":{},\"93\":{},\"94\":{},\"95\":{},\"96\":{},\"97\":{},\"98\":{},\"99\":{},\"100\":{},\"101\":{},\"102\":{},\"103\":{},\"104\":{},\"105\":{},\"106\":{},\"107\":{},\"108\":{},\"109\":{},\"110\":{},\"111\":{},\"112\":{},\"113\":{},\"114\":{},\"115\":{},\"116\":{},\"117\":{},\"118\":{},\"119\":{},\"120\":{},\"121\":{},\"122\":{},\"123\":{},\"124\":{},\"125\":{},\"126\":{},\"127\":{},\"128\":{},\"129\":{},\"130\":{},\"131\":{},\"132\":{},\"133\":{},\"134\":{},\"135\":{},\"136\":{},\"137\":{},\"138\":{},\"139\":{},\"140\":{},\"141\":{},\"142\":{},\"143\":{},\"144\":{},\"145\":{},\"146\":{},\"147\":{},\"148\":{},\"149\":{},\"150\":{},\"151\":{}}}],[\"machine_author\",{\"_index\":74,\"name\":{\"74\":{}},\"parent\":{}}],[\"machine_comment\",{\"_index\":75,\"name\":{\"75\":{}},\"parent\":{}}],[\"machine_contributor\",{\"_index\":76,\"name\":{\"76\":{}},\"parent\":{}}],[\"machine_definition\",{\"_index\":77,\"name\":{\"77\":{}},\"parent\":{}}],[\"machine_language\",{\"_index\":78,\"name\":{\"78\":{}},\"parent\":{}}],[\"machine_license\",{\"_index\":79,\"name\":{\"79\":{}},\"parent\":{}}],[\"machine_name\",{\"_index\":80,\"name\":{\"80\":{}},\"parent\":{}}],[\"machine_state\",{\"_index\":86,\"name\":{\"86\":{}},\"parent\":{}}],[\"machine_version\",{\"_index\":81,\"name\":{\"81\":{}},\"parent\":{}}],[\"machines\",{\"_index\":174,\"name\":{\"172\":{},\"176\":{}},\"parent\":{}}],[\"make\",{\"_index\":152,\"name\":{\"152\":{},\"191\":{}},\"parent\":{}}],[\"named_colors\",{\"_index\":170,\"name\":{\"171\":{}},\"parent\":{}}],[\"node\",{\"_index\":185,\"name\":{\"180\":{},\"181\":{}},\"parent\":{}}],[\"page\",{\"_index\":171,\"name\":{\"172\":{},\"173\":{},\"174\":{},\"175\":{},\"176\":{},\"177\":{},\"178\":{},\"179\":{},\"180\":{},\"181\":{},\"182\":{},\"183\":{},\"184\":{},\"185\":{},\"186\":{},\"187\":{},\"188\":{},\"189\":{},\"190\":{},\"191\":{},\"192\":{},\"193\":{},\"194\":{},\"195\":{},\"196\":{},\"197\":{},\"198\":{},\"199\":{},\"200\":{}},\"parent\":{}}],[\"parse\",{\"_index\":153,\"name\":{\"153\":{}},\"parent\":{}}],[\"post_hook\",{\"_index\":127,\"name\":{\"127\":{}},\"parent\":{}}],[\"post_hook_action\",{\"_index\":128,\"name\":{\"128\":{}},\"parent\":{}}],[\"post_hook_any_action\",{\"_index\":130,\"name\":{\"130\":{}},\"parent\":{}}],[\"post_hook_any_transition\",{\"_index\":134,\"name\":{\"134\":{}},\"parent\":{}}],[\"post_hook_entry\",{\"_index\":135,\"name\":{\"135\":{}},\"parent\":{}}],[\"post_hook_exit\",{\"_index\":136,\"name\":{\"136\":{}},\"parent\":{}}],[\"post_hook_forced_transition\",{\"_index\":133,\"name\":{\"133\":{}},\"parent\":{}}],[\"post_hook_global_action\",{\"_index\":129,\"name\":{\"129\":{}},\"parent\":{}}],[\"post_hook_main_transition\",{\"_index\":132,\"name\":{\"132\":{}},\"parent\":{}}],[\"post_hook_standard_transition\",{\"_index\":131,\"name\":{\"131\":{}},\"parent\":{}}],[\"probabilistic_histo_walk\",{\"_index\":103,\"name\":{\"103\":{}},\"parent\":{}}],[\"probabilistic_transition\",{\"_index\":101,\"name\":{\"101\":{}},\"parent\":{}}],[\"probabilistic_walk\",{\"_index\":102,\"name\":{\"102\":{}},\"parent\":{}}],[\"probable_action_exits\",{\"_index\":107,\"name\":{\"107\":{}},\"parent\":{}}],[\"probable_exits_for\",{\"_index\":100,\"name\":{\"100\":{}},\"parent\":{}}],[\"publishing\",{\"_index\":201,\"name\":{\"192\":{}},\"parent\":{}}],[\"quick\",{\"_index\":176,\"name\":{\"173\":{}},\"parent\":{}}],[\"raw_state_declarations\",{\"_index\":82,\"name\":{\"82\":{}},\"parent\":{}}],[\"react\",{\"_index\":182,\"name\":{\"177\":{}},\"parent\":{}}],[\"reference\",{\"_index\":179,\"name\":{\"174\":{},\"175\":{}},\"parent\":{}}],[\"rollup\",{\"_index\":193,\"name\":{\"187\":{}},\"parent\":{}}],[\"seq\",{\"_index\":163,\"name\":{\"164\":{}},\"parent\":{}}],[\"set_hook\",{\"_index\":116,\"name\":{\"116\":{}},\"parent\":{}}],[\"shapes\",{\"_index\":168,\"name\":{\"169\":{}},\"parent\":{}}],[\"shootout\",{\"_index\":207,\"name\":{\"195\":{}},\"parent\":{}}],[\"sm\",{\"_index\":151,\"name\":{\"151\":{},\"155\":{}},\"parent\":{}}],[\"sql\",{\"_index\":192,\"name\":{\"186\":{}},\"parent\":{}}],[\"start\",{\"_index\":177,\"name\":{\"173\":{}},\"parent\":{}}],[\"state\",{\"_index\":68,\"name\":{\"68\":{},\"172\":{}},\"parent\":{}}],[\"state_declaration\",{\"_index\":83,\"name\":{\"83\":{}},\"parent\":{}}],[\"state_declarations\",{\"_index\":84,\"name\":{\"84\":{}},\"parent\":{}}],[\"state_for\",{\"_index\":88,\"name\":{\"88\":{}},\"parent\":{}}],[\"state_is_complete\",{\"_index\":114,\"name\":{\"114\":{}},\"parent\":{}}],[\"state_is_final\",{\"_index\":70,\"name\":{\"70\":{}},\"parent\":{}}],[\"state_is_terminal\",{\"_index\":111,\"name\":{\"111\":{}},\"parent\":{}}],[\"states\",{\"_index\":87,\"name\":{\"87\":{}},\"parent\":{}}],[\"style\",{\"_index\":202,\"name\":{\"193\":{}},\"parent\":{}}],[\"the\",{\"_index\":187,\"name\":{\"183\":{}},\"parent\":{}}],[\"theme\",{\"_index\":93,\"name\":{\"93\":{},\"193\":{}},\"parent\":{}}],[\"transfer_state_properties\",{\"_index\":0,\"name\":{\"0\":{}},\"parent\":{}}],[\"transition\",{\"_index\":143,\"name\":{\"143\":{}},\"parent\":{}}],[\"transition_impl\",{\"_index\":138,\"name\":{\"138\":{}},\"parent\":{}}],[\"typescript\",{\"_index\":186,\"name\":{\"182\":{}},\"parent\":{}}],[\"valid_action\",{\"_index\":147,\"name\":{\"147\":{}},\"parent\":{}}],[\"valid_force_transition\",{\"_index\":149,\"name\":{\"149\":{}},\"parent\":{}}],[\"valid_transition\",{\"_index\":148,\"name\":{\"148\":{}},\"parent\":{}}],[\"version\",{\"_index\":162,\"name\":{\"163\":{}},\"parent\":{}}],[\"vue\",{\"_index\":183,\"name\":{\"178\":{}},\"parent\":{}}],[\"webpack\",{\"_index\":194,\"name\":{\"188\":{}},\"parent\":{}}],[\"weighted_histo_key\",{\"_index\":167,\"name\":{\"168\":{}},\"parent\":{}}],[\"weighted_rand_select\",{\"_index\":164,\"name\":{\"165\":{}},\"parent\":{}}],[\"weighted_sample_select\",{\"_index\":166,\"name\":{\"167\":{}},\"parent\":{}}],[\"what\",{\"_index\":172,\"name\":{\"172\":{}},\"parent\":{}}]],\"pipeline\":[]}}"); \ No newline at end of file diff --git a/docs/docs/assets/style.css b/docs/docs/assets/style.css new file mode 100644 index 00000000..6127b27c --- /dev/null +++ b/docs/docs/assets/style.css @@ -0,0 +1,1414 @@ +@import url("./icons.css"); + +:root { + /* Light */ + --light-color-background: #fcfcfc; + --light-color-secondary-background: #fff; + --light-color-text: #222; + --light-color-text-aside: #707070; + --light-color-link: #4da6ff; + --light-color-menu-divider: #eee; + --light-color-menu-divider-focus: #000; + --light-color-menu-label: #707070; + --light-color-panel: var(--light-color-secondary-background); + --light-color-panel-divider: #eee; + --light-color-comment-tag: #707070; + --light-color-comment-tag-text: #fff; + --light-color-ts: #9600ff; + --light-color-ts-interface: #647f1b; + --light-color-ts-enum: #937210; + --light-color-ts-class: #0672de; + --light-color-ts-private: #707070; + --light-color-toolbar: #fff; + --light-color-toolbar-text: #333; + --light-icon-filter: invert(0); + --light-external-icon: url("data:image/svg+xml;utf8,"); + + /* Dark */ + --dark-color-background: #36393f; + --dark-color-secondary-background: #2f3136; + --dark-color-text: #ffffff; + --dark-color-text-aside: #e6e4e4; + --dark-color-link: #00aff4; + --dark-color-menu-divider: #eee; + --dark-color-menu-divider-focus: #000; + --dark-color-menu-label: #707070; + --dark-color-panel: var(--dark-color-secondary-background); + --dark-color-panel-divider: #818181; + --dark-color-comment-tag: #dcddde; + --dark-color-comment-tag-text: #2f3136; + --dark-color-ts: #c97dff; + --dark-color-ts-interface: #9cbe3c; + --dark-color-ts-enum: #d6ab29; + --dark-color-ts-class: #3695f3; + --dark-color-ts-private: #e2e2e2; + --dark-color-toolbar: #34373c; + --dark-color-toolbar-text: #ffffff; + --dark-icon-filter: invert(1); + --dark-external-icon: url("data:image/svg+xml;utf8,"); +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-secondary-background: var(--light-color-secondary-background); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + --color-menu-divider: var(--light-color-menu-divider); + --color-menu-divider-focus: var(--light-color-menu-divider-focus); + --color-menu-label: var(--light-color-menu-label); + --color-panel: var(--light-color-panel); + --color-panel-divider: var(--light-color-panel-divider); + --color-comment-tag: var(--light-color-comment-tag); + --color-comment-tag-text: var(--light-color-comment-tag-text); + --color-ts: var(--light-color-ts); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-class: var(--light-color-ts-class); + --color-ts-private: var(--light-color-ts-private); + --color-toolbar: var(--light-color-toolbar); + --color-toolbar-text: var(--light-color-toolbar-text); + --icon-filter: var(--light-icon-filter); + --external-icon: var(--light-external-icon); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-secondary-background: var(--dark-color-secondary-background); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + --color-menu-divider: var(--dark-color-menu-divider); + --color-menu-divider-focus: var(--dark-color-menu-divider-focus); + --color-menu-label: var(--dark-color-menu-label); + --color-panel: var(--dark-color-panel); + --color-panel-divider: var(--dark-color-panel-divider); + --color-comment-tag: var(--dark-color-comment-tag); + --color-comment-tag-text: var(--dark-color-comment-tag-text); + --color-ts: var(--dark-color-ts); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-private: var(--dark-color-ts-private); + --color-toolbar: var(--dark-color-toolbar); + --color-toolbar-text: var(--dark-color-toolbar-text); + --icon-filter: var(--dark-icon-filter); + --external-icon: var(--dark-external-icon); + } +} + +body { + margin: 0; +} + +body.light { + --color-background: var(--light-color-background); + --color-secondary-background: var(--light-color-secondary-background); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + --color-menu-divider: var(--light-color-menu-divider); + --color-menu-divider-focus: var(--light-color-menu-divider-focus); + --color-menu-label: var(--light-color-menu-label); + --color-panel: var(--light-color-panel); + --color-panel-divider: var(--light-color-panel-divider); + --color-comment-tag: var(--light-color-comment-tag); + --color-comment-tag-text: var(--light-color-comment-tag-text); + --color-ts: var(--light-color-ts); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-class: var(--light-color-ts-class); + --color-ts-private: var(--light-color-ts-private); + --color-toolbar: var(--light-color-toolbar); + --color-toolbar-text: var(--light-color-toolbar-text); + --icon-filter: var(--light-icon-filter); + --external-icon: var(--light-external-icon); +} + +body.dark { + --color-background: var(--dark-color-background); + --color-secondary-background: var(--dark-color-secondary-background); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + --color-menu-divider: var(--dark-color-menu-divider); + --color-menu-divider-focus: var(--dark-color-menu-divider-focus); + --color-menu-label: var(--dark-color-menu-label); + --color-panel: var(--dark-color-panel); + --color-panel-divider: var(--dark-color-panel-divider); + --color-comment-tag: var(--dark-color-comment-tag); + --color-comment-tag-text: var(--dark-color-comment-tag-text); + --color-ts: var(--dark-color-ts); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-private: var(--dark-color-ts-private); + --color-toolbar: var(--dark-color-toolbar); + --color-toolbar-text: var(--dark-color-toolbar-text); + --icon-filter: var(--dark-icon-filter); + --external-icon: var(--dark-external-icon); +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +h2 { + font-size: 1.5em; + margin: 0.83em 0; +} + +h3 { + font-size: 1.17em; + margin: 1em 0; +} + +h4, +.tsd-index-panel h3 { + font-size: 1em; + margin: 1.33em 0; +} + +h5 { + font-size: 0.83em; + margin: 1.67em 0; +} + +h6 { + font-size: 0.67em; + margin: 2.33em 0; +} + +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1200px; + margin: 0 auto; + padding: 0 40px; +} +@media (max-width: 640px) { + .container { + padding: 0 20px; + } +} + +.container-main { + padding-bottom: 200px; +} + +.row { + display: flex; + position: relative; + margin: 0 -10px; +} +.row:after { + visibility: hidden; + display: block; + content: ""; + clear: both; + height: 0; +} + +.col-4, +.col-8 { + box-sizing: border-box; + float: left; + padding: 0 10px; +} + +.col-4 { + width: 33.3333333333%; +} +.col-8 { + width: 66.6666666667%; +} + +ul.tsd-descriptions > li > :first-child, +.tsd-panel > :first-child, +.col-8 > :first-child, +.col-4 > :first-child, +ul.tsd-descriptions > li > :first-child > :first-child, +.tsd-panel > :first-child > :first-child, +.col-8 > :first-child > :first-child, +.col-4 > :first-child > :first-child, +ul.tsd-descriptions > li > :first-child > :first-child > :first-child, +.tsd-panel > :first-child > :first-child > :first-child, +.col-8 > :first-child > :first-child > :first-child, +.col-4 > :first-child > :first-child > :first-child { + margin-top: 0; +} +ul.tsd-descriptions > li > :last-child, +.tsd-panel > :last-child, +.col-8 > :last-child, +.col-4 > :last-child, +ul.tsd-descriptions > li > :last-child > :last-child, +.tsd-panel > :last-child > :last-child, +.col-8 > :last-child > :last-child, +.col-4 > :last-child > :last-child, +ul.tsd-descriptions > li > :last-child > :last-child > :last-child, +.tsd-panel > :last-child > :last-child > :last-child, +.col-8 > :last-child > :last-child > :last-child, +.col-4 > :last-child > :last-child > :last-child { + margin-bottom: 0; +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes shift-to-left { + from { + transform: translate(0, 0); + } + to { + transform: translate(-25%, 0); + } +} +@keyframes unshift-to-left { + from { + transform: translate(-25%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 14px; +} + +pre { + padding: 10px; +} +pre code { + padding: 0; + font-size: 100%; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography h4, +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; + margin: 0; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} + +@media (min-width: 901px) and (max-width: 1024px) { + html .col-content { + width: 72%; + } + html .col-menu { + width: 28%; + } + html .tsd-navigation { + padding-left: 10px; + } +} +@media (max-width: 900px) { + html .col-content { + float: none; + width: 100%; + } + html .col-menu { + position: fixed !important; + overflow: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + width: 100%; + padding: 20px 20px 0 0; + max-width: 450px; + visibility: hidden; + background-color: var(--color-panel); + transform: translate(100%, 0); + } + html .col-menu > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu :is(header, footer, .col-content) { + animation: shift-to-left 0.4s; + } + + .to-has-menu .col-menu { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu :is(header, footer, .col-content) { + animation: unshift-to-left 0.4s; + } + + .from-has-menu .col-menu { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu :is(header, footer, .col-content) { + transform: translate(-25%, 0); + } + .has-menu .col-menu { + visibility: visible; + transform: translate(0, 0); + display: grid; + grid-template-rows: auto 1fr; + max-height: 100vh; + } + .has-menu .tsd-navigation { + max-height: 100%; + } +} + +.tsd-page-title { + padding: 70px 0 20px 0; + margin: 0 0 40px 0; + background: var(--color-panel); + box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); +} +.tsd-page-title h1 { + margin: 0; +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +dl.tsd-comment-tags { + overflow: hidden; +} +dl.tsd-comment-tags dt { + float: left; + padding: 1px 5px; + margin: 0 10px 0 0; + border-radius: 4px; + border: 1px solid var(--color-comment-tag); + color: var(--color-comment-tag); + font-size: 0.8em; + font-weight: normal; +} +dl.tsd-comment-tags dd { + margin: 0 0 10px 0; +} +dl.tsd-comment-tags dd:before, +dl.tsd-comment-tags dd:after { + display: table; + content: " "; +} +dl.tsd-comment-tags dd pre, +dl.tsd-comment-tags dd:after { + clear: both; +} +dl.tsd-comment-tags p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.toggle-protected .tsd-is-private { + display: none; +} + +.toggle-public .tsd-is-private, +.toggle-public .tsd-is-protected, +.toggle-public .tsd-is-private-protected { + display: none; +} + +.toggle-inherited .tsd-is-inherited { + display: none; +} + +.toggle-externals .tsd-is-external { + display: none; +} + +#tsd-filter { + position: relative; + display: inline-block; + height: 40px; + vertical-align: bottom; +} +.no-filter #tsd-filter { + display: none; +} +#tsd-filter .tsd-filter-group { + display: inline-block; + height: 40px; + vertical-align: bottom; + white-space: nowrap; +} +#tsd-filter input { + display: none; +} +@media (max-width: 900px) { + #tsd-filter .tsd-filter-group { + display: block; + position: absolute; + top: 40px; + right: 20px; + height: auto; + background-color: var(--color-panel); + visibility: hidden; + transform: translate(50%, 0); + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + } + .has-options #tsd-filter .tsd-filter-group { + visibility: visible; + } + .to-has-options #tsd-filter .tsd-filter-group { + animation: fade-in 0.2s; + } + .from-has-options #tsd-filter .tsd-filter-group { + animation: fade-out 0.2s; + } + #tsd-filter label, + #tsd-filter .tsd-select { + display: block; + padding-right: 20px; + } +} + +footer { + border-top: 1px solid var(--color-panel-divider); + background-color: var(--color-panel); +} +footer:after { + content: ""; + display: table; +} +footer.with-border-bottom { + border-bottom: 1px solid var(--color-panel-divider); +} +footer .tsd-legend-group { + font-size: 0; +} +footer .tsd-legend { + display: inline-block; + width: 25%; + padding: 0; + font-size: 16px; + list-style: none; + line-height: 1.333em; + vertical-align: top; +} +@media (max-width: 900px) { + footer .tsd-legend { + width: 50%; + } +} + +.tsd-hierarchy { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-index-panel .tsd-index-content { + margin-bottom: -30px !important; +} +.tsd-index-panel .tsd-index-section { + margin-bottom: 30px !important; +} +.tsd-index-panel h3 { + margin: 0 -20px 10px -20px; + padding: 0 20px 10px 20px; + border-bottom: 1px solid var(--color-panel-divider); +} +.tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 3; + -moz-column-count: 3; + -ms-column-count: 3; + -o-column-count: 3; + column-count: 3; + -webkit-column-gap: 20px; + -moz-column-gap: 20px; + -ms-column-gap: 20px; + -o-column-gap: 20px; + column-gap: 20px; + padding: 0; + list-style: none; + line-height: 1.333em; +} +@media (max-width: 900px) { + .tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 1; + -moz-column-count: 1; + -ms-column-count: 1; + -o-column-count: 1; + column-count: 1; + } +} +@media (min-width: 901px) and (max-width: 1024px) { + .tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 2; + -moz-column-count: 2; + -ms-column-count: 2; + -o-column-count: 2; + column-count: 2; + } +} +.tsd-index-panel ul.tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} +.tsd-index-panel a, +.tsd-index-panel .tsd-parent-kind-module a { + color: var(--color-ts); +} +.tsd-index-panel .tsd-parent-kind-interface a { + color: var(--color-ts-interface); +} +.tsd-index-panel .tsd-parent-kind-enum a { + color: var(--color-ts-enum); +} +.tsd-index-panel .tsd-parent-kind-class a { + color: var(--color-ts-class); +} +.tsd-index-panel .tsd-kind-module a { + color: var(--color-ts); +} +.tsd-index-panel .tsd-kind-interface a { + color: var(--color-ts-interface); +} +.tsd-index-panel .tsd-kind-enum a { + color: var(--color-ts-enum); +} +.tsd-index-panel .tsd-kind-class a { + color: var(--color-ts-class); +} +.tsd-index-panel .tsd-is-private a { + color: var(--color-ts-private); +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: absolute; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} +.tsd-member [data-tsd-kind] { + color: var(--color-ts); +} +.tsd-member [data-tsd-kind="Interface"] { + color: var(--color-ts-interface); +} +.tsd-member [data-tsd-kind="Enum"] { + color: var(--color-ts-enum); +} +.tsd-member [data-tsd-kind="Class"] { + color: var(--color-ts-class); +} +.tsd-member [data-tsd-kind="Private"] { + color: var(--color-ts-private); +} + +.tsd-navigation { + margin: 0 0 0 40px; +} +.tsd-navigation a { + display: block; + padding-top: 2px; + padding-bottom: 2px; + border-left: 2px solid transparent; + color: var(--color-text); + text-decoration: none; + transition: border-left-color 0.1s; +} +.tsd-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul { + margin: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li { + padding: 0; +} + +.tsd-navigation.primary { + padding-bottom: 40px; +} +.tsd-navigation.primary a { + display: block; + padding-top: 6px; + padding-bottom: 6px; +} +.tsd-navigation.primary ul li a { + padding-left: 5px; +} +.tsd-navigation.primary ul li li a { + padding-left: 25px; +} +.tsd-navigation.primary ul li li li a { + padding-left: 45px; +} +.tsd-navigation.primary ul li li li li a { + padding-left: 65px; +} +.tsd-navigation.primary ul li li li li li a { + padding-left: 85px; +} +.tsd-navigation.primary ul li li li li li li a { + padding-left: 105px; +} +.tsd-navigation.primary > ul { + border-bottom: 1px solid var(--color-panel-divider); +} +.tsd-navigation.primary li { + border-top: 1px solid var(--color-panel-divider); +} +.tsd-navigation.primary li.current > a { + font-weight: bold; +} +.tsd-navigation.primary li.label span { + display: block; + padding: 20px 0 6px 5px; + color: var(--color-menu-label); +} +.tsd-navigation.primary li.globals + li > span, +.tsd-navigation.primary li.globals + li > a { + padding-top: 20px; +} + +.tsd-navigation.secondary { + max-height: calc(100vh - 1rem - 40px); + overflow: auto; + position: sticky; + top: calc(0.5rem + 40px); + transition: 0.3s; +} +.tsd-navigation.secondary.tsd-navigation--toolbar-hide { + max-height: calc(100vh - 1rem); + top: 0.5rem; +} +.tsd-navigation.secondary ul { + transition: opacity 0.2s; +} +.tsd-navigation.secondary ul li a { + padding-left: 25px; +} +.tsd-navigation.secondary ul li li a { + padding-left: 45px; +} +.tsd-navigation.secondary ul li li li a { + padding-left: 65px; +} +.tsd-navigation.secondary ul li li li li a { + padding-left: 85px; +} +.tsd-navigation.secondary ul li li li li li a { + padding-left: 105px; +} +.tsd-navigation.secondary ul li li li li li li a { + padding-left: 125px; +} +.tsd-navigation.secondary ul.current a { + border-left-color: var(--color-panel-divider); +} +.tsd-navigation.secondary li.focus > a, +.tsd-navigation.secondary ul.current li.focus > a { + border-left-color: var(--color-menu-divider-focus); +} +.tsd-navigation.secondary li.current { + margin-top: 20px; + margin-bottom: 20px; + border-left-color: var(--color-panel-divider); +} +.tsd-navigation.secondary li.current > a { + font-weight: bold; +} + +@media (min-width: 901px) { + .menu-sticky-wrap { + position: static; + } +} + +.tsd-panel { + margin: 20px 0; + padding: 20px; + background-color: var(--color-panel); + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5em -20px 10px -20px; + padding: 0 20px 10px 20px; + border-bottom: 1px solid var(--color-panel-divider); +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: 0; +} +.tsd-panel table { + display: block; + width: 100%; + overflow: auto; + margin-top: 10px; + word-break: normal; + word-break: keep-all; + border-collapse: collapse; +} +.tsd-panel table th { + font-weight: bold; +} +.tsd-panel table th, +.tsd-panel table td { + padding: 6px 13px; + border: 1px solid var(--color-panel-divider); +} +.tsd-panel table tr { + background: var(--color-background); +} +.tsd-panel table tr:nth-child(even) { + background: var(--color-secondary-background); +} + +.tsd-panel-group { + margin: 60px 0; +} +.tsd-panel-group > h1, +.tsd-panel-group > h2, +.tsd-panel-group > h3 { + padding-left: 20px; + padding-right: 20px; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 40px; + height: 40px; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + padding: 0 10px; + background-color: var(--color-background); +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-panel); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current, +#tsd-search .results li:hover { + background-color: var(--color-panel-divider); +} +#tsd-search .results a { + display: block; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-panel-divider); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +.tsd-signature { + margin: 0 0 1em 0; + padding: 10px; + border: 1px solid var(--color-panel-divider); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} +.tsd-signature.tsd-kind-icon { + padding-left: 30px; +} +.tsd-signature.tsd-kind-icon:before { + top: 10px; + left: 10px; +} +.tsd-panel > .tsd-signature { + margin-left: -20px; + margin-right: -20px; + border-width: 1px 0; +} +.tsd-panel > .tsd-signature.tsd-kind-icon { + padding-left: 40px; +} +.tsd-panel > .tsd-signature.tsd-kind-icon:before { + left: 20px; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + border: 1px solid var(--color-panel-divider); +} +.tsd-signatures .tsd-signature { + margin: 0; + border-width: 1px 0 0 0; + transition: background-color 0.1s; +} +.tsd-signatures .tsd-signature:first-child { + border-top-width: 0; +} +.tsd-signatures .tsd-signature.current { + background-color: var(--color-panel-divider); +} +.tsd-signatures.active > .tsd-signature { + cursor: pointer; +} +.tsd-panel > .tsd-signatures { + margin-left: -20px; + margin-right: -20px; + border-width: 1px 0; +} +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon { + padding-left: 40px; +} +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before { + left: 20px; +} +.tsd-panel > a.anchor + .tsd-signatures { + border-top-width: 0; + margin-top: -20px; +} + +ul.tsd-descriptions { + position: relative; + overflow: hidden; + padding: 0; + list-style: none; +} +ul.tsd-descriptions.active > .tsd-description { + display: none; +} +ul.tsd-descriptions.active > .tsd-description.current { + display: block; +} +ul.tsd-descriptions.active > .tsd-description.fade-in { + animation: fade-in-delayed 0.3s; +} +ul.tsd-descriptions.active > .tsd-description.fade-out { + animation: fade-out-delayed 0.3s; + position: absolute; + display: block; + top: 0; + left: 0; + right: 0; + opacity: 0; + visibility: hidden; +} +ul.tsd-descriptions h4, +ul.tsd-descriptions .tsd-index-panel h3, +.tsd-index-panel ul.tsd-descriptions h3 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} + +ul.tsd-parameters, +ul.tsd-type-parameters { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameters > li.tsd-parameter-signature, +ul.tsd-type-parameters > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameters h5, +ul.tsd-type-parameters h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +ul.tsd-parameters .tsd-comment, +ul.tsd-type-parameters .tsd-comment { + margin-top: -0.5em; +} + +.tsd-sources { + font-size: 14px; + color: var(--color-text-aside); + margin: 0 0 1em 0; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul, +.tsd-sources p { + margin: 0 !important; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: fixed; + z-index: 1; + top: 0; + left: 0; + width: 100%; + height: 40px; + color: var(--color-toolbar-text); + background: var(--color-toolbar); + border-bottom: 1px solid var(--color-panel-divider); + transition: transform 0.3s linear; +} +.tsd-page-toolbar a { + color: var(--color-toolbar-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .table-wrap { + display: table; + width: 100%; + height: 40px; +} +.tsd-page-toolbar .table-cell { + display: table-cell; + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} + +.tsd-page-toolbar--hide { + transform: translateY(-100%); +} + +.tsd-select .tsd-select-list li:before, +.tsd-select .tsd-select-label:before, +.tsd-widget:before { + content: ""; + display: inline-block; + width: 40px; + height: 40px; + margin: 0 -8px 0 0; + background-image: url(./widgets.png); + background-repeat: no-repeat; + text-indent: -1024px; + vertical-align: bottom; + filter: var(--icon-filter); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + .tsd-select .tsd-select-list li:before, + .tsd-select .tsd-select-label:before, + .tsd-widget:before { + background-image: url(./widgets@2x.png); + background-size: 320px 40px; + } +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-panel-divider); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} +.tsd-widget.search:before { + background-position: 0 0; +} +.tsd-widget.menu:before { + background-position: -40px 0; +} +.tsd-widget.options:before { + background-position: -80px 0; +} +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +@media (max-width: 900px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +.tsd-select { + position: relative; + display: inline-block; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-select .tsd-select-label { + opacity: 0.6; + transition: opacity 0.2s; +} +.tsd-select .tsd-select-label:before { + background-position: -240px 0; +} +.tsd-select.active .tsd-select-label { + opacity: 0.8; +} +.tsd-select.active .tsd-select-list { + visibility: visible; + opacity: 1; + transition-delay: 0s; +} +.tsd-select .tsd-select-list { + position: absolute; + visibility: hidden; + top: 40px; + left: 0; + margin: 0; + padding: 0; + opacity: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + transition: visibility 0s 0.2s, opacity 0.2s; +} +.tsd-select .tsd-select-list li { + padding: 0 20px 0 0; + background-color: var(--color-background); +} +.tsd-select .tsd-select-list li:before { + background-position: 40px 0; +} +.tsd-select .tsd-select-list li:nth-child(even) { + background-color: var(--color-panel); +} +.tsd-select .tsd-select-list li:hover { + background-color: var(--color-panel-divider); +} +.tsd-select .tsd-select-list li.selected:before { + background-position: -200px 0; +} +@media (max-width: 900px) { + .tsd-select .tsd-select-list { + top: 0; + left: auto; + right: 100%; + margin-right: -5px; + } + .tsd-select .tsd-select-label:before { + background-position: -280px 0; + } +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + margin-left: 10px; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} diff --git a/docs/docs/assets/widgets.png b/docs/docs/assets/widgets.png new file mode 100644 index 00000000..c7380532 Binary files /dev/null and b/docs/docs/assets/widgets.png differ diff --git a/docs/docs/assets/widgets@2x.png b/docs/docs/assets/widgets@2x.png new file mode 100644 index 00000000..4bbbd572 Binary files /dev/null and b/docs/docs/assets/widgets@2x.png differ diff --git a/docs/docs/classes/Machine.html b/docs/docs/classes/Machine.html new file mode 100644 index 00000000..0c95205b --- /dev/null +++ b/docs/docs/classes/Machine.html @@ -0,0 +1,130 @@ +Machine | JSSM, a JavaScript state machine - the FSM for FSL
Options
All
  • Public
  • Public/Protected
  • All
Menu

Type parameters

  • mDT

Hierarchy

  • Machine

Index

Constructors

Properties

Accessors

Methods

Constructors

  • new Machine<mDT>(__namedParameters: JssmGenericConfig<mDT>): Machine<mDT>
  • Type parameters

    • mDT

    Parameters

    • __namedParameters: JssmGenericConfig<mDT>

    Returns Machine<mDT>

Properties

_actions: Map<string, Map<string, number>>
_any_action_hook: HookHandler<mDT>
_any_transition_hook: HookHandler<mDT>
_arrange_declaration: string[][]
_arrange_end_declaration: string[][]
_arrange_start_declaration: string[][]
_data?: mDT
_dot_preamble: string
_edge_map: Map<string, Map<string, number>>
_edges: JssmTransition<mDT>[]
_entry_hooks: Map<string, HookHandler<mDT>>
_exit_hooks: Map<string, HookHandler<mDT>>
_flow: FslDirection
_forced_transition_hook: HookHandler<mDT>
_fsl_version?: string
_global_action_hooks: Map<string, HookHandler<mDT>>
_graph_layout: JssmLayout
_has_basic_hooks: boolean
_has_entry_hooks: boolean
_has_exit_hooks: boolean
_has_global_action_hooks: boolean
_has_hooks: boolean
_has_named_hooks: boolean
_has_post_basic_hooks: boolean
_has_post_entry_hooks: boolean
_has_post_exit_hooks: boolean
_has_post_global_action_hooks: boolean
_has_post_hooks: boolean
_has_post_named_hooks: boolean
_has_post_transition_hooks: boolean
_has_transition_hooks: boolean
_history: circular_buffer<[string, mDT]>
_history_length: number
_hooks: Map<string, HookHandler<mDT>>
_instance_name: string
_machine_author?: string[]
_machine_comment?: string
_machine_contributor?: string[]
_machine_definition?: string
_machine_language?: string
_machine_license?: string
_machine_name?: string
_machine_version?: string
_main_transition_hook: HookHandler<mDT>
_named_hooks: Map<string, HookHandler<mDT>>
_named_transitions: Map<string, number>
_post_any_action_hook: HookHandler<mDT>
_post_any_transition_hook: HookHandler<mDT>
_post_entry_hooks: Map<string, HookHandler<mDT>>
_post_exit_hooks: Map<string, HookHandler<mDT>>
_post_forced_transition_hook: HookHandler<mDT>
_post_global_action_hooks: Map<string, HookHandler<mDT>>
_post_hooks: Map<string, HookHandler<mDT>>
_post_main_transition_hook: HookHandler<mDT>
_post_named_hooks: Map<string, HookHandler<mDT>>
_post_standard_transition_hook: HookHandler<mDT>
_raw_state_declaration?: Object[]
_reverse_action_targets: Map<string, Map<string, number>>
_reverse_actions: Map<string, Map<string, number>>
_standard_transition_hook: HookHandler<mDT>
_state: string
_state_declarations: Map<string, JssmStateDeclaration>
_states: Map<string, JssmGenericState>
_theme: FslTheme

Accessors

  • get history(): [string, mDT][]
  • +

    Get a truncated history of the recent states and data of the machine. + Turned off by default; configure with .from('...', {data: 5}) by length, + or set .history_length at runtime.

    +

    History does not contain the current state. If you want that, call + .history_inclusive instead.

    +
    const foo = jssm.from(
    "a 'next' -> b 'next' -> c 'next' -> d 'next' -> e;",
    { history: 3 }
    );

    foo.action('next');
    foo.action('next');
    foo.action('next');
    foo.action('next');

    foo.history; // [ ['b',undefined], ['c',undefined], ['d',undefined] ] +
    +

    Notice that the machine's current state, e, is not in the returned list.

    +

    Returns [string, mDT][]

  • get history_inclusive(): [string, mDT][]
  • +

    Get a truncated history of the recent states and data of the machine, + including the current state. Turned off by default; configure with + .from('...', {data: 5}) by length, or set .history_length at runtime.

    +

    History inclusive contains the current state. If you only want past + states, call .history instead.

    +

    The list returned will be one longer than the history buffer kept, as the + history buffer kept gets the current state added to it to produce this + list.

    +
    const foo = jssm.from(
    "a 'next' -> b 'next' -> c 'next' -> d 'next' -> e;",
    { history: 3 }
    );

    foo.action('next');
    foo.action('next');
    foo.action('next');
    foo.action('next');

    foo.history_inclusive; // [ ['b',undefined], ['c',undefined], ['d',undefined], ['e',undefined] ] +
    +

    Notice that the machine's current state, e, is in the returned list.

    +

    Returns [string, mDT][]

  • get history_length(): number
  • set history_length(to: number): void
  • +

    Find out how long a history this machine is keeping. Defaults to zero. + Settable directly.

    +
    const foo = jssm.from("a -> b;");
    foo.history_length; // 0

    const bar = jssm.from("a -> b;", { history: 3 });
    foo.history_length; // 3
    foo.history_length = 5;
    foo.history_length; // 5 +
    +

    Returns number

  • +

    Find out how long a history this machine is keeping. Defaults to zero. + Settable directly.

    +
    const foo = jssm.from("a -> b;");
    foo.history_length; // 0

    const bar = jssm.from("a -> b;", { history: 3 });
    foo.history_length; // 3
    foo.history_length = 5;
    foo.history_length; // 5 +
    +

    Parameters

    • to: number

    Returns void

Methods

  • _new_state(state_config: JssmGenericState): string
  • +

    Internal method for fabricating states. Not meant for external use.

    +
    internal

    Parameters

    • state_config: JssmGenericState

    Returns string

  • action(actionName: string, newData?: mDT): boolean
  • +

    Instruct the machine to complete an action.

    +
    const light = sm`red 'next' -> green 'next' -> yellow 'next' -> red; [red yellow green] 'shutdown' ~> off 'start' -> red;`;

    light.state(); // 'red'
    light.action('next'); // true
    light.state(); // 'green' +
    +

    Parameters

    • actionName: string
      +

      The action to engage

      +
    • Optional newData: mDT
      +

      The data change to insert during the action

      +

    Returns boolean

  • actions(whichState?: string): string[]
  • +

    List all actions available from this state. Please note that the order of + the actions is not guaranteed.

    +
    import { sm } from 'jssm';

    const machine = sm`
    red 'next' -> green 'next' -> yellow 'next' -> red;
    [red yellow green] 'shutdown' ~> off 'start' -> red;
    `;

    console.log( machine.state() ); // logs 'red'
    console.log( machine.actions() ); // logs ['next', 'shutdown']

    machine.action('next'); // true
    console.log( machine.state() ); // logs 'green'
    console.log( machine.actions() ); // logs ['next', 'shutdown']

    machine.action('shutdown'); // true
    console.log( machine.state() ); // logs 'off'
    console.log( machine.actions() ); // logs ['start']

    machine.action('start'); // true
    console.log( machine.state() ); // logs 'red'
    console.log( machine.actions() ); // logs ['next', 'shutdown'] +
    +

    Parameters

    • whichState: string = ...
      +

      The state whose actions to have listed

      +

    Returns string[]

  • current_action_edge_for(action: string): JssmTransition<mDT>
  • Parameters

    • action: string

    Returns JssmTransition<mDT>

  • current_action_for(action: string): number
  • Parameters

    • action: string

    Returns number

  • data(): mDT
  • +

    Get the current data of a machine.

    +
    import * as jssm from 'jssm';

    const switch = jssm.from('on <=> off;', {data: 1});
    console.log( switch.data() ); // 1 +
    +

    Returns mDT

  • dot_preamble(): string
  • edges_between(from: string, to: string): JssmTransition<mDT>[]
  • Parameters

    • from: string
    • to: string

    Returns JssmTransition<mDT>[]

  • flow(): FslDirection
  • force_transition(newState: string, newData?: mDT): boolean
  • +

    Instruct the machine to complete a forced transition (which will reject if + called with a normal transition call.)

    +
    const light = sm`red -> green -> yellow -> red; [red yellow green] 'shutdown' ~> off 'start' -> red;`;

    light.state(); // 'red'
    light.transition('off'); // false
    light.state(); // 'red'
    light.force_transition('off'); // true
    light.state(); // 'off' +
    +

    Parameters

    • newState: string
      +

      The state to switch to

      +
    • Optional newData: mDT
      +

      The data change to insert during the transition

      +

    Returns boolean

  • fsl_version(): string
  • get_transition_by_state_names(from: string, to: string): number
  • Parameters

    • from: string
    • to: string

    Returns number

  • graph_layout(): string
  • has_completes(): boolean
  • has_state(whichState: string): boolean
  • +

    Check whether the machine knows a given state.

    +
    import * as jssm from 'jssm';

    const switch = jssm.from('on <=> off;');

    console.log( switch.has_state('off') ); // true
    console.log( switch.has_state('dance') ); // false +
    +

    Parameters

    • whichState: string
      +

      The state to be checked for extance

      +

    Returns boolean

  • has_terminals(): boolean
  • has_unenterables(): boolean
  • hook(from: string, to: string, handler: HookHandler<mDT>): Machine<mDT>
  • Parameters

    • from: string
    • to: string
    • handler: HookHandler<mDT>

    Returns Machine<mDT>

  • hook_action(from: string, to: string, action: string, handler: HookHandler<mDT>): Machine<mDT>
  • Parameters

    • from: string
    • to: string
    • action: string
    • handler: HookHandler<mDT>

    Returns Machine<mDT>

  • hook_any_action(handler: HookHandler<mDT>): Machine<mDT>
  • hook_any_transition(handler: HookHandler<mDT>): Machine<mDT>
  • hook_entry(to: string, handler: HookHandler<mDT>): Machine<mDT>
  • hook_exit(from: string, handler: HookHandler<mDT>): Machine<mDT>
  • hook_forced_transition(handler: HookHandler<mDT>): Machine<mDT>
  • hook_global_action(action: string, handler: HookHandler<mDT>): Machine<mDT>
  • hook_main_transition(handler: HookHandler<mDT>): Machine<mDT>
  • hook_standard_transition(handler: HookHandler<mDT>): Machine<mDT>
  • instance_name(): string
  • is_complete(): boolean
  • is_final(): boolean
  • +

    Check whether the current state is final (either has no exits or is marked + complete.)

    +
    import { sm, state_is_final } from 'jssm';

    const final_test = sm`first -> second;`;

    console.log( final_test.is_final() ); // false
    state.transition('second');
    console.log( final_test.is_final() ); // true +
    +

    Returns boolean

  • is_terminal(): boolean
  • is_unenterable(whichState: string): boolean
  • Parameters

    • whichState: string

    Returns boolean

  • list_actions(): string[]
  • list_edges(): JssmTransition<mDT>[]
  • +

    Lists all edges of a machine.

    +
    import { sm } from 'jssm';

    const lswitch = sm`on 'toggle' <=> 'toggle' off;`;

    lswitch.list_edges();
    [
    {
    from: 'on',
    to: 'off',
    kind: 'main',
    forced_only: false,
    main_path: true,
    action: 'toggle'
    },
    {
    from: 'off',
    to: 'on',
    kind: 'main',
    forced_only: false,
    main_path: true,
    action: 'toggle'
    }
    ] +
    +

    Returns JssmTransition<mDT>[]

  • list_entrances(whichState?: string): string[]
  • +

    List all entrances attached to the current state. Please note that the + order of the list is not defined.

    +
    import { sm } from 'jssm';

    const light = sm`red 'next' -> green 'next' -> yellow 'next' -> red; [red yellow green] 'shutdown' ~> off 'start' -> red;`;

    light.state(); // 'red'
    light.list_entrances(); // [ 'yellow', 'off' ] +
    +

    Parameters

    • whichState: string = ...
      +

      The state whose entrances to have listed

      +

    Returns string[]

  • list_exit_actions(whichState?: string): string[]
  • Parameters

    • whichState: string = ...

    Returns string[]

  • list_exits(whichState?: string): string[]
  • +

    List all exits attached to the current state. Please note that the order + of the list is not defined.

    +
    import { sm } from 'jssm';

    const light = sm`red 'next' -> green 'next' -> yellow 'next' -> red; [red yellow green] 'shutdown' ~> off 'start' -> red;`;

    light.state(); // 'red'
    light.list_exits(); // [ 'green', 'off' ] +
    +

    Parameters

    • whichState: string = ...
      +

      The state whose exits to have listed

      +

    Returns string[]

  • list_named_transitions(): Map<string, number>
  • list_states_having_action(whichState: string): string[]
  • +

    List all states that have a specific action attached. Please note that + the order of the states is not guaranteed.

    +
    import { sm } from 'jssm';

    const machine = sm`
    red 'next' -> green 'next' -> yellow 'next' -> red;
    [red yellow green] 'shutdown' ~> off 'start' -> red;
    `;

    console.log( machine.list_states_having_action('next') ); // ['red', 'green', 'yellow']
    console.log( machine.list_states_having_action('start') ); // ['off'] +
    +

    Parameters

    • whichState: string
      +

      The action to be checked for associated states

      +

    Returns string[]

  • list_transitions(whichState?: string): JssmTransitionList
  • +

    List all transitions attached to the current state, sorted by entrance and + exit. The order of each sublist is not defined. A node could appear in + both lists.

    +
    import { sm } from 'jssm';

    const light = sm`red 'next' -> green 'next' -> yellow 'next' -> red; [red yellow green] 'shutdown' ~> off 'start' -> red;`;

    light.state(); // 'red'
    light.list_transitions(); // { entrances: [ 'yellow', 'off' ], exits: [ 'green', 'off' ] } +
    +

    Parameters

    • whichState: string = ...
      +

      The state whose transitions to have listed

      +

    Returns JssmTransitionList

  • lookup_transition_for(from: string, to: string): JssmTransition<mDT>
  • Parameters

    • from: string
    • to: string

    Returns JssmTransition<mDT>

  • machine_author(): string[]
  • machine_comment(): string
  • machine_contributor(): string[]
  • machine_definition(): string
  • machine_language(): string
  • machine_license(): string
  • machine_name(): string
  • machine_state(): JssmMachineInternalState<mDT>
  • Returns JssmMachineInternalState<mDT>

  • machine_version(): string
  • post_hook(from: string, to: string, handler: HookHandler<mDT>): Machine<mDT>
  • Parameters

    • from: string
    • to: string
    • handler: HookHandler<mDT>

    Returns Machine<mDT>

  • post_hook_action(from: string, to: string, action: string, handler: HookHandler<mDT>): Machine<mDT>
  • Parameters

    • from: string
    • to: string
    • action: string
    • handler: HookHandler<mDT>

    Returns Machine<mDT>

  • post_hook_any_action(handler: HookHandler<mDT>): Machine<mDT>
  • post_hook_any_transition(handler: HookHandler<mDT>): Machine<mDT>
  • post_hook_entry(to: string, handler: HookHandler<mDT>): Machine<mDT>
  • post_hook_exit(from: string, handler: HookHandler<mDT>): Machine<mDT>
  • post_hook_forced_transition(handler: HookHandler<mDT>): Machine<mDT>
  • post_hook_global_action(action: string, handler: HookHandler<mDT>): Machine<mDT>
  • post_hook_main_transition(handler: HookHandler<mDT>): Machine<mDT>
  • post_hook_standard_transition(handler: HookHandler<mDT>): Machine<mDT>
  • probabilistic_histo_walk(n: number): Map<string, number>
  • Parameters

    • n: number

    Returns Map<string, number>

  • probabilistic_transition(): boolean
  • probabilistic_walk(n: number): string[]
  • probable_action_exits(whichState?: string): any[]
  • Parameters

    • whichState: string = ...

    Returns any[]

  • probable_exits_for(whichState: string): JssmTransition<mDT>[]
  • Parameters

    • whichState: string

    Returns JssmTransition<mDT>[]

  • raw_state_declarations(): Object[]
  • set_hook(HookDesc: HookDescription<mDT>): void
  • Parameters

    • HookDesc: HookDescription<mDT>

    Returns void

  • sm(template_strings: TemplateStringsArray, ...remainder: any[]): Machine<mDT>
  • Parameters

    • template_strings: TemplateStringsArray
    • Rest ...remainder: any[]

    Returns Machine<mDT>

  • state(): string
  • +

    Get the current state of a machine.

    +
    import * as jssm from 'jssm';

    const switch = jssm.from('on <=> off;');
    console.log( switch.state() ); // 'on'

    switch.transition('off');
    console.log( switch.state() ); // 'off' +
    +

    Returns string

  • state_declaration(which: string): JssmStateDeclaration
  • Parameters

    • which: string

    Returns JssmStateDeclaration

  • state_declarations(): Map<string, JssmStateDeclaration>
  • Returns Map<string, JssmStateDeclaration>

  • state_for(whichState: string): JssmGenericState
  • Parameters

    • whichState: string

    Returns JssmGenericState

  • state_is_complete(whichState: string): boolean
  • Parameters

    • whichState: string

    Returns boolean

  • state_is_final(whichState: string): boolean
  • +

    Check whether a given state is final (either has no exits or is marked + complete.)

    +
    import { sm, state_is_final } from 'jssm';

    const final_test = sm`first -> second;`;

    console.log( final_test.state_is_final('first') ); // false
    console.log( final_test.state_is_final('second') ); // true +
    +

    Parameters

    • whichState: string
      +

      The name of the state to check for finality

      +

    Returns boolean

  • state_is_terminal(whichState: string): boolean
  • Parameters

    • whichState: string

    Returns boolean

  • states(): string[]
  • +

    List all the states known by the machine. Please note that the order of + these states is not guaranteed.

    +
    import * as jssm from 'jssm';

    const switch = jssm.from('on <=> off;');
    console.log( switch.states() ); // ['on', 'off'] +
    +

    Returns string[]

  • theme(): FslTheme
  • transition(newState: string, newData?: mDT): boolean
  • +

    Instruct the machine to complete a transition.

    +
    const light = sm`red -> green -> yellow -> red; [red yellow green] 'shutdown' ~> off 'start' -> red;`;

    light.state(); // 'red'
    light.transition('green'); // true
    light.state(); // 'green' +
    +

    Parameters

    • newState: string
      +

      The state to switch to

      +
    • Optional newData: mDT
      +

      The data change to insert during the transition

      +

    Returns boolean

  • transition_impl(newStateOrAction: string, newData: mDT, wasForced: boolean, wasAction: boolean): boolean
  • Parameters

    • newStateOrAction: string
    • newData: mDT
    • wasForced: boolean
    • wasAction: boolean

    Returns boolean

  • valid_action(action: string, _newData?: mDT): boolean
  • Parameters

    • action: string
    • Optional _newData: mDT

    Returns boolean

  • valid_force_transition(newState: string, _newData?: mDT): boolean
  • Parameters

    • newState: string
    • Optional _newData: mDT

    Returns boolean

  • valid_transition(newState: string, _newData?: mDT): boolean
  • Parameters

    • newState: string
    • Optional _newData: mDT

    Returns boolean

Legend

  • Property
  • Method
  • Accessor

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/docs/index.html b/docs/docs/index.html new file mode 100644 index 00000000..fc8f78ad --- /dev/null +++ b/docs/docs/index.html @@ -0,0 +1,118 @@ +JSSM, a JavaScript state machine - the FSM for FSL
Options
All
  • Public
  • Public/Protected
  • All
Menu

JSSM, a JavaScript state machine - the FSM for FSL

+ +

Welcome to JSSM

+
+

This is the manual for JSSM, an advanced +finite state machine for Javascript.

+

JSSM's goals, in order, are:

+
    +
  1. Extreme correctness
  2. +
  3. Ease of use
  4. +
  5. Very short machines
  6. +
  7. Convenient features
  8. +
  9. High speed
  10. +
+

 

+

 

+ + +

Extreme correctness?

+
+

JSSM has more than three thousand tests, and at time of writing has 100% +coverage and more than eleven coverages per line on average. JSSM also +extensively uses randomized (stochastic / property / fuzz) testing.

+

 

+

 

+ + +

Ease of use?

+
+

Doesn't even really need an explanation.

+
import { sm } from 'jssm';

const TrafficLight = sm`
Off 'start' -> Red 'next' => Green 'next' => Yellow 'next' => Red;
[Red Yellow Green] 'shut down' ~> Off;
`; +
+

And now we have a traffic light. Let's see how easy it is to use.

+
const LogState = () => console.log( TrafficLight.state() );

LogState(); // logs "Off"

TrafficLight.action('start'); // returns true
LogState(); // logs "Red"

TrafficLight.action('next'); // returns true
LogState(); // logs "Green"

TrafficLight.transition('yellow'); // returns true
LogState(); // logs "Yellow"

TrafficLight.transition('blue'); // returns false, as there's no such state
LogState(); // logs "Yellow"

TrafficLight.transition('green'); // returns false, as yellow can only go to red
LogState(); // logs "Yellow" +
+

 

+

 

+ + +

Very short machines?

+
+

To make the point, please consider the light switch from our language, as +compared to the example given by a popular alternative library.

+

If you'd like more detailed comparisons, please see the line-of-code shootout.

+

 

+ + +

JSSM

+
+
const toggler = sm`inactive 'TOGGLE' <=> 'TOGGLE' active;`;
toggler.hook_any_transition( () => console.log( toggler.state() ) ); +
+

 

+ + +

The other library

+
+

Note that this example is drawn from their documentation, not something we +wrote.

+
const toggleMachine = createMachine({
id : 'toggle',
initial : 'inactive',
states : {
inactive : { on: { TOGGLE: 'active' } },
active : { on: { TOGGLE: 'inactive' } }
}
});

const toggleService = interpret(toggleMachine)
.onTransition( (state) => console.log(state.value) )
.start(); +
+

 

+ + +

Is that a fair comparison?

+
+

They're both used roughly the same way.

+
toggler.action('TOGGLE');  // logs "active"
+
+
toggleService.send('TOGGLE');  // logs "active"
+
+

 

+

Given that that's a comparison for just two states, how do you think this might +impact complex machines?

+

 

+

 

+ + +

Convenient features

+
+

There are lots of state machine libraries out there, but they're not all made +equally.

+
    +
  • Machine data (it's a Mealy machine, not just a Moore machine like most)
  • +
  • Typescript support for machine data
  • +
  • Hooks on states, edges, and many other events
  • +
  • JS event broadcaster
  • +
  • Dynamic compiler
  • +
  • Domain-specific language
  • +
  • State properties
  • +
  • Probabilistic edges and random walks
  • +
  • Live visualizations with styling in a system ready for tens of thousands of states
  • +
  • Fully transactional, the way you'd expect from real tools like SQL
  • +
  • Named instances
  • +
  • State stack traces
  • +
  • Deep error objects with tons of context information
  • +
  • High quality debugging tools
  • +
+

But most important? It's easy to use.

+

State machines don't have to be hard.

+

 

+

 

+ + +

High speed

+
+

All these tools don't leave you bleeding out. The author's i7 from 2018 runs +about 25 million transitions a second. You probably have an i9 by now.

+

+

Compilation is similarly fast: 100,000 compilations of the light switch machine +on the same computer takes only 2.5 seconds. As such, JSSM is suitable for +dynamic compilation of completely runtime machines, such as those coming from +databases, networks, other tools, or user input.

+

+

 

+

Correct. Easy. Brief. Powerful. Fast.

+

Meet your new state machine.

+

Next: Let's get started.

+

Legend

  • Property
  • Method
  • Accessor

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/docs/modules.html b/docs/docs/modules.html new file mode 100644 index 00000000..52a2b270 --- /dev/null +++ b/docs/docs/modules.html @@ -0,0 +1,126 @@ +JSSM, a JavaScript state machine - the FSM for FSL
Options
All
  • Public
  • Public/Protected
  • All
Menu

JSSM, a JavaScript state machine - the FSM for FSL

Index

Variables

gviz_shapes: string[] = ...
histograph: Function = ...
+

Returns the histograph of an array as a Map. Makes no attempt to cope + with deep equality; will fail for complex contents, as such.

+
import { histograph } from './jssm';

histograph( [0, 0, 1, 1, 2, 2, 1] ); // Map() +
+
named_colors: string[] = ...
shapes: string[] = gviz_shapes
version: string = "5.74.0"
weighted_histo_key: Function = ...
weighted_rand_select: Function = ...
weighted_sample_select: Function = ...

Functions

  • abstract_hook_step<mDT>(maybe_hook: HookHandler<mDT>, hook_args: HookContext<mDT>): HookComplexResult<mDT>
  • Type parameters

    • mDT

    Parameters

    • maybe_hook: HookHandler<mDT>
    • hook_args: HookContext<mDT>

    Returns HookComplexResult<mDT>

  • arrow_direction(arrow: JssmArrow): JssmArrowDirection
  • +

    Return the direction of an arrow - right, left, or both.

    +
    import { arrow_direction } from 'jssm';

    arrow_direction('->'); // 'right'
    arrow_direction('<~=>'); // 'both' +
    +

    Parameters

    • arrow: JssmArrow
      +

      The arrow to be evaluated

      +

    Returns JssmArrowDirection

  • arrow_left_kind(arrow: JssmArrow): JssmArrowKind
  • +

    Return the direction of an arrow - right, left, or both.

    +
    import { arrow_left_kind } from 'jssm';

    arrow_left_kind('<-'); // 'legal'
    arrow_left_kind('<='); // 'main'
    arrow_left_kind('<~'); // 'forced'
    arrow_left_kind('<->'); // 'legal'
    arrow_left_kind('->'); // 'none' +
    +

    Parameters

    • arrow: JssmArrow
      +

      The arrow to be evaluated

      +

    Returns JssmArrowKind

  • arrow_right_kind(arrow: JssmArrow): JssmArrowKind
  • +

    Return the direction of an arrow - right, left, or both.

    +
    import { arrow_left_kind } from 'jssm';

    arrow_left_kind('->'); // 'legal'
    arrow_left_kind('=>'); // 'main'
    arrow_left_kind('~>'); // 'forced'
    arrow_left_kind('<->'); // 'legal'
    arrow_left_kind('<-'); // 'none' +
    +

    Parameters

    • arrow: JssmArrow
      +

      The arrow to be evaluated

      +

    Returns JssmArrowKind

  • compile<mDT>(tree: JssmParseTree): JssmGenericConfig<mDT>
  • +

    Compile a machine's JSON intermediate representation to a config object. If + you're using this (probably don't,) you're probably also using + parse to get the IR, and the object constructor + {@link Machine.construct} to turn the config object into a workable machine.

    +
    import { parse, compile, Machine } from 'jssm';

    const intermediate = parse('a -> b;');
    // [ {key:'transition', from:'a', se:{kind:'->',to:'b'}} ]

    const cfg = compile(intermediate);
    // { start_states:['a'], transitions: [{ from:'a', to:'b', kind:'legal', forced_only:false, main_path:false }] }

    const machine = new Machine(cfg);
    // Machine { _instance_name: undefined, _state: 'a', ... +
    +

    This method is mostly for plugin and intermediate tool authors, or people + who need to work with the machine's intermediate representation.

    + + +

    Hey!

    +
    +

    Most people looking at this want either the sm operator or method from, + which perform all the steps in the chain. The library's author mostly uses + operator sm, and mostly falls back to .from when needing to parse + strings dynamically instead of from template literals.

    +

    Operator sm:

    +
    import { sm } from 'jssm';

    const switch = sm`on <=> off;`; +
    +

    Method {@link from}:

    +
    import * as jssm from 'jssm';

    const toggle = jssm.from('up <=> down;'); +
    +

    Type parameters

    • mDT

      +

      The type of the machine data member; usually omitted

      +

    Parameters

    • tree: JssmParseTree
      +

      The parse tree to be boiled down into a machine config

      +

    Returns JssmGenericConfig<mDT>

  • from<mDT>(MachineAsString: string, ExtraConstructorFields?: Partial<JssmGenericConfig<mDT>>): Machine<mDT>
  • +

    Create a state machine from an implementation string. This is one of the + two main paths for working with JSSM, alongside sm.

    +

    Use this method when you want to conveniently pull a state machine from a + string dynamically. Use operator sm when you just want to work with a + template expression.

    +
    import * as jssm from 'jssm';

    const switch = jssm.from('on <=> off;'); +
    +

    Type parameters

    • mDT

      +

      The type of the machine data member; usually omitted

      +

    Parameters

    • MachineAsString: string
      +

      The FSL code to evaluate

      +
    • Optional ExtraConstructorFields: Partial<JssmGenericConfig<mDT>>
      +

      Extra non-code configuration to pass at creation time

      +

    Returns Machine<mDT>

  • is_hook_complex_result<mDT>(hr: unknown): hr is HookComplexResult<mDT>
  • Type parameters

    • mDT

    Parameters

    • hr: unknown

    Returns hr is HookComplexResult<mDT>

  • is_hook_rejection<mDT>(hr: HookResult<mDT>): boolean
  • Type parameters

    • mDT

    Parameters

    • hr: HookResult<mDT>

    Returns boolean

  • make<mDT>(plan: string): JssmGenericConfig<mDT>
  • +

    An internal convenience wrapper for parsing then compiling a machine string. + Not generally meant for external use. Please see compile or + sm.

    +

    Type parameters

    • mDT

      +

      The type of the machine data member; usually omitted

      +

    Parameters

    • plan: string
      +

      The FSL code to be evaluated and built into a machine config

      +

    Returns JssmGenericConfig<mDT>

  • parse(input: string, options?: Object): any
  • +

    This method wraps the parser call that comes from the peg grammar, + parse. Generally neither this nor that should be used directly + unless you mean to develop plugins or extensions for the machine.

    +

    Parses the intermediate representation of a compiled string down to a + machine configuration object. If you're using this (probably don't,) you're + probably also using compile and Machine.constructor.

    +
    import { parse, compile, Machine } from 'jssm';

    const intermediate = wrap_parse('a -> b;', {});
    // [ {key:'transition', from:'a', se:{kind:'->',to:'b'}} ]

    const cfg = compile(intermediate);
    // { start_states:['a'], transitions: [{ from:'a', to:'b', kind:'legal', forced_only:false, main_path:false }] }

    const machine = new Machine(cfg);
    // Machine { _instance_name: undefined, _state: 'a', ... +
    +

    This method is mostly for plugin and intermediate tool authors, or people + who need to work with the machine's intermediate representation.

    + + +

    Hey!

    +
    +

    Most people looking at this want either the sm operator or method from, + which perform all the steps in the chain. The library's author mostly uses + operator sm, and mostly falls back to .from when needing to parse + strings dynamically instead of from template literals.

    +

    Operator sm:

    +
    import { sm } from 'jssm';

    const switch = sm`on <=> off;`; +
    +

    Method {@link from}:

    +
    import * as jssm from 'jssm';

    const toggle = jssm.from('up <=> down;'); +
    +

    wrap_parse itself is an internal convenience method for alting out an + object as the options call. Not generally meant for external use.

    +

    Parameters

    • input: string
      +

      The FSL code to be evaluated

      +
    • Optional options: Object
      +

      Things to control about the instance

      +

    Returns any

  • seq(n: number): number[]
  • +

    Returns, for a non-negative integer argument n, the series [0 .. n].

    +
    import { seq } from './jssm';

    seq(5); // [0, 1, 2, 3, 4]
    seq(0); // [] +
    +

    Parameters

    • n: number

    Returns number[]

  • sm<mDT>(template_strings: TemplateStringsArray, ...remainder: any[]): Machine<mDT>
  • +

    Create a state machine from a template string. This is one of the two main + paths for working with JSSM, alongside {@link from}.

    +

    Use this method when you want to work directly and conveniently with a + constant template expression. Use .from when you want to pull from + dynamic strings.

    +
    import * as jssm from 'jssm';

    const switch = jssm.from('on <=> off;'); +
    +

    Type parameters

    • mDT

      +

      The type of the machine data member; usually omitted

      +

    Parameters

    • template_strings: TemplateStringsArray
      +

      The assembled code

      +
    • Rest ...remainder: any[]
      +

      The mechanic for template argument insertion

      +

    Returns Machine<mDT>

  • transfer_state_properties(state_decl: JssmStateDeclaration): JssmStateDeclaration
  • +

    An internal method meant to take a series of declarations and fold them into + a single multi-faceted declaration, in the process of building a state. Not + generally meant for external use.

    +
    internal

    Parameters

    • state_decl: JssmStateDeclaration

    Returns JssmStateDeclaration

Legend

  • Property
  • Method
  • Accessor

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/docs/pages/CHANGELOG.long.html b/docs/docs/pages/CHANGELOG.long.html new file mode 100644 index 00000000..e0544aa5 --- /dev/null +++ b/docs/docs/pages/CHANGELOG.long.html @@ -0,0 +1,10974 @@ +Changelog | JSSM, a JavaScript state machine - the FSM for FSL
Options
All
  • Public
  • Public/Protected
  • All
Menu
+ +

Changelog

+
+

All notable changes to this project will be documented in this file.

+

939 merges; 124 releases

+

 

+

 

+

Published tags:

+

5.73.1, 5.73.0, 5.72.5, 5.72.4, 5.72.3, 5.72.2, 5.72.1, 5.72.0, 5.71.1, 5.71.0, 5.70.36, 5.70.35, 5.70.34, 5.70.33, 5.70.32, 5.70.31, 5.70.30, 5.70.29, 5.70.28, 5.70.27, 5.70.26, 5.70.25, 5.70.24, 5.70.23, 5.70.22, 5.70.21, 5.70.20, 5.70.19, 5.70.18, 5.70.16, 5.70.15, 5.70.14, 5.70.13, 5.70.12, 5.70.11, 5.70.10, 5.70.9, 5.70.8, 5.70.7, 5.70.6, 5.70.5, 5.70.4, 5.70.3, 5.70.2, 5.70.1, 5.70.0, 5.69.4, 5.69.3, 5.69.2, 5.69.0, 5.68.0, 5.67.2, 5.67.0, 5.66.0, 5.65.14, 5.65.12, 5.65.11, 5.65.10, 5.65.9, 5.65.8, 5.65.7, 5.65.5, 5.65.4, 5.65.3, 5.65.2, 5.65.1, 5.65.0, 5.64.2, 5.64.1, 5.64.0, 5.63.0, 5.62.0, 5.61.4, 5.61.3, 5.61.2, 5.61.1, 5.60.4, 5.60.3, 5.60.0, 5.59.1, 5.59.0, 5.58.1, 5.58.0, 5.57.1, 5.57.0, 5.56.2, 5.56.1, 5.55.0, 5.54.0, 5.53.0, 5.52.0, 5.51.0, 5.50.0, 5.49.0, 5.48.0, 5.47.0, 5.46.0, 5.45.2, 5.45.0, 5.44.0, 5.43.2, v5.42.0, 5.42.0, v5.41.15, 5.41.15, v5.41.14, 5.41.14, v5.41.12, 5.41.12, v5.41.10, 5.41.10, v5.41.9, 5.41.9, v5.41.8, 5.41.8, v5.41.7, v5.41.2, v5.41.1, v5.32.14, 5.14.0, 5.12.0, 5.11.12, 5.11.1, 5.11.0

+

 

+

 

+ + +

[Untagged] - 7/1/2022 4:56:32 PM

+
+

Commit 99847f8ef8c60b521c6d3e979bcf07dd60125a56

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Post global action hook, fixes StoneCypher/fsl#905; post any action hook, fixes StoneCypher/fsl#906
  • +
+

 

+

 

+ + +

[Untagged] - 7/1/2022 4:03:56 PM

+
+

Commit e5bfa2acf8edefe9322bd17540307ffb1f9eeb4d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Adds call points in set_hook for basic post-hooks, fixes #958
  • +
+

 

+

 

+ + +

[Untagged] - 6/30/2022 6:03:58 PM

+
+

Commit bb3c0014580c940b1294e19e64ac432c44bb7081

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Adds posthook path; fixes StoneCypher/fsl#956. Clones datastructures; fixes StoneCypher/fsl#957.
  • +
+

 

+

 

+ + + + +

[5.73.1] - 6/27/2022 2:54:25 AM

+
+

Commit 89b9c2cecceee0ea04471c7c406ece82ff115555

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • promote circular_queue_js to dep instead of devdep for downstreams
  • +
+

 

+

 

+ + + + +

[5.73.0] - 6/27/2022 2:36:36 AM

+
+

Commit 39f9a8671a45e1e9a903289431bc3bc7a1e292e5

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [f1a61f1, c494012]

+
    +
  • Merge pull request #504 from StoneCypher/AddHistoryAndCircularBuffer
  • +
  • Working history, fixes StoneCypher/fsl#950, fixes StoneCypher/fsl#951,fixes StoneCypher/fsl#948, fixes StoneCypher/fsl#949, fixes StoneCypher/fsl#947, fixes StoneCypher/fsl#946, fixes StoneCypher/fsl#203
  • +
+

 

+

 

+ + +

[Untagged] - 6/27/2022 2:30:06 AM

+
+

Commit c494012f33a608ae32bc31581549281abc98f120

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Working history, fixes StoneCypher/fsl#950, fixes StoneCypher/fsl#951, fixes StoneCypher/fsl#948, fixes StoneCypher/fsl#949, fixes StoneCypher/fsl#947, fixes StoneCypher/fsl#946, fixes StoneCypher/fsl#203
  • +
+

 

+

 

+ + + + +

[5.72.5] - 6/25/2022 11:07:29 AM

+
+

Commit f1a61f1e967df66b87f2b6b39f75636659f496e9

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [dc3096f, 751c5fd]

+
    +
  • Merge pull request #503 from StoneCypher/AttemptToCaptureTestResults
  • +
  • Captures test results, fixes StoneCypher/fsl#944, tools readme, fixes StoneCypher/fsl#736
  • +
+

 

+

 

+ + +

[Untagged] - 6/25/2022 11:04:20 AM

+
+

Commit 751c5fd0cc8c9751331e664e8f51af34f736ce31

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Captures test results, fixes StoneCypher/fsl#944, tools readme, fixes StoneCypher/fsl#736
  • +
+

 

+

 

+ + + + +

[5.72.4] - 6/25/2022 8:12:11 AM

+
+

Commit dc3096f064e58ea616899b12d3d25c973f326c1c

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [a184324, 8762d17]

+
    +
  • Merge pull request #502 from StoneCypher/AllowHooksToChangeData
  • +
  • Allow hooks to change data
  • +
+

 

+

 

+ + +

[Untagged] - 6/25/2022 8:08:38 AM

+
+

Commit 8762d17bd69cdf48f522dbd6ee188f46e29a0c06

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Hooks can change data, fixes StoneCypher/fsl#932
  • +
+

 

+

 

+ + +

[Untagged] - 6/25/2022 7:15:46 AM

+
+

Commit fb82aff27a911a29304c8b7c211e48c1b6ac454e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • prepping to test main and forced
  • +
+

 

+

 

+ + +

[Untagged] - 6/25/2022 7:05:36 AM

+
+

Commit 3ffc6c2a0b76d1a4870cd80a0f94d745e1c976c9

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • everything now tested but standard and main
  • +
+

 

+

 

+ + +

[Untagged] - 6/25/2022 6:50:50 AM

+
+

Commit e74cb836ae9c06a3261658ee969506c8dd3c9a24

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • six data kinds tested
  • +
+

 

+

 

+ + +

[Untagged] - 6/24/2022 9:24:32 PM

+
+

Commit df34e0fd36d969bcb80488c6609d6bf4140b89a4

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • working test matrix
  • +
+

 

+

 

+ + +

[Untagged] - 6/24/2022 8:34:59 PM

+
+

Commit 8db075dcd9a135e6757a11c5e497130bb3edb6a9

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Hooks now change data on basic transitions, moving to handle the rest
  • +
+

 

+

 

+ + + + +

[5.72.3] - 6/24/2022 7:48:13 PM

+
+

Commit a1843247eb5c063910643f675f0a85764f3f3683

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [b0cbe1c, d52217a]

+
    +
  • Merge pull request #501 from StoneCypher/MovingToAbstractHooks
  • +
  • Moving to abstract hooks
  • +
+

 

+

 

+ + +

[Untagged] - 6/24/2022 7:44:55 PM

+
+

Commit d52217ab9dde2a5746cd0704597d337362057024

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Basic conversion to abstract hooks complete; fixes StoneCypher/fsl#931
  • +
+

 

+

 

+ + +

[Untagged] - 6/24/2022 7:36:27 PM

+
+

Commit adfa9069ba5e78d8a227896a5f7e14a8f4b80117

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • the conversion continues
  • +
+

 

+

 

+ + + + +

[5.72.2] - 6/24/2022 5:49:06 PM

+
+

Commit b0cbe1c1ae0199c8d78a82f624e8ee94b344cf71

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Normalize hook return pattern, fixes StoneCypher/fsl#930
  • +
+

 

+

 

+ + + + +

[5.72.1] - 6/24/2022 4:55:33 PM

+
+

Commit 547e35599ed312bf5300d3f1685e2cb16b80a73e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Can read data from outside, fixes StoneCypher/fsl#929
  • +
+

 

+

 

+ + + + +

[5.72.0] - 6/24/2022 4:08:35 PM

+
+

Commit a1c43e9f65f2fd8e856a2544f7c3056b4c06d9d3

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • First steps towards being a Moore machine - initial data in constructor fixes StoneCypher/fsl#923 , can read in hooks fixes StoneCypher/fsl#924
  • +
+

 

+

 

+ + + + +

[5.71.1] - 6/23/2022 6:34:38 PM

+
+

Commit 1dc7c24bfb651eec57fddc902f78db796f71a6c5

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Small documentation tweaks. First attempt to lodge on deno.land
  • +
+

 

+

 

+ + + + +

[5.71.0] - 6/23/2022 1:41:18 PM

+
+

Commit 67c3240798d31933413aab27db7ea9fbb5de3b2a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Normalize arguments to hooks, fixes StoneCypher/fsl#895; more docs
  • +
+

 

+

 

+ + + + +

[5.70.36] - 6/21/2022 6:53:36 PM

+
+

Commit 093db23b719161e35e477cc0fe7d9f1132bc28b8

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Another trivial build - this one to cause chain publishment
  • +
+

 

+

 

+ + + + +

[5.70.35] - 6/19/2022 10:56:41 AM

+
+

Commit 13ee9eb71ca9ab868699e535abf6ba30c8ad5829

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • new trigger with replaced token - this time with a bump
  • +
+

 

+

 

+ + +

[Untagged] - 6/19/2022 10:37:04 AM

+
+

Commit b3e69d9745b92d845bedcfbc08f342997137af3d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • new trigger with replaced token
  • +
+

 

+

 

+ + + + +

[5.70.34] - 6/18/2022 9:40:31 PM

+
+

Commit a0f295f060c7f08a8b10b2208dd1c95dc7f3c97a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • another trigger commit with mild doc extension
  • +
+

 

+

 

+ + + + +

[5.70.33] - 6/18/2022 8:57:42 PM

+
+

Commit ca254f455f2c19f21e77834e993c310e05272822

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • holy another facile build for triggering, batman
  • +
+

 

+

 

+ + + + +

[5.70.32] - 6/18/2022 8:48:07 PM

+
+

Commit 8115e8b62d8ac1cff3c7eb07afabced097f1be42

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • yet another small commit as a trigger, this time to get the extended diff
  • +
+

 

+

 

+ + + + +

[5.70.31] - 6/18/2022 8:00:06 PM

+
+

Commit de3d8a105aa85045a9f19ed46b4b3c5e5fb1e235

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • another small commit as a trigger, this time to get the diff
  • +
+

 

+

 

+ + + + +

[5.70.30] - 6/18/2022 10:54:02 AM

+
+

Commit 3211f94bb943a63ae07f202eb168916d73f94f90

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • missing closing div tag was breaking examples page
  • +
+

 

+

 

+ + + + +

[5.70.29] - 6/18/2022 8:40:30 AM

+
+

Commit 7373cfa90383dc2adbe0649be86cb89bef1c0518

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • One more build to trigger remote.
  • +
+

 

+

 

+ + + + +

[5.70.28] - 6/18/2022 8:21:21 AM

+
+

Commit 9a95a6b865b1d517859c45f0b525bbebed6af5e3

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Believed to be final triggering build
  • +
+

 

+

 

+ + + + +

[5.70.27] - 6/18/2022 8:05:30 AM

+
+

Commit 5cb795f450f141c3f743b6583d7a22495e945864

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • one more facile doc commit to trigger a remote build, maybe there, definitely close
  • +
+

 

+

 

+ + + + +

[5.70.26] - 6/18/2022 12:30:33 AM

+
+

Commit 58ae08abf0b5f62c375a93a15397d026aa427067

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • still yet another facile doc commit to trigger a build
  • +
+

 

+

 

+ + + + +

[5.70.25] - 6/18/2022 12:13:48 AM

+
+

Commit cbf80320d60307321deeb1ee6c69c99eda0396f4

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • still another facile doc commit to trigger a build
  • +
+

 

+

 

+ + + + +

[5.70.24] - 6/17/2022 11:59:55 PM

+
+

Commit aa94a8998f4e3c06b6dea36af21e6184368db0cd

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • yet another remote build aligned push
  • +
+

 

+

 

+ + + + +

[5.70.23] - 6/17/2022 11:39:28 PM

+
+

Commit 5c39bf1ecfa91af74794b153181c13823ca60806

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • more trivial docs for build triggers
  • +
+

 

+

 

+ + + + +

[5.70.22] - 6/17/2022 11:16:45 PM

+
+

Commit 2d23c3b2fcd31e6a6e9d1744b24cb688f344efb5

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Trigger another build through specious doc updates
  • +
+

 

+

 

+ + + + +

[5.70.21] - 6/17/2022 7:06:38 AM

+
+

Commit 0612e2a46b9701eb2222cdb38bb9c2eb4a9f3e1d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • another facile build to trigger an external push
  • +
+

 

+

 

+ + + + +

[5.70.20] - 6/17/2022 6:08:07 AM

+
+

Commit 70be907be736a36d61efde959249923f47c6db64

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • facile build to trigger an external push
  • +
+

 

+

 

+ + +

[Untagged] - 6/16/2022 8:58:23 PM

+
+

Commit 56ff662bbcdd138c2f8631ff427b921816b0a5f6

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • more docs
  • +
+

 

+

 

+ + + + +

[5.70.19] - 6/14/2022 10:17:50 PM

+
+

Commit 3e9590c7bf93bc04bb474870c6bdd3910b08494d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • more doc stuffs
  • +
+

 

+

 

+ + + + +

[5.70.18] - 6/12/2022 10:23:56 PM

+
+

Commit 1b55b081409efc11ec4b4cfd87f19c46577c0458

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • basic example machines
  • +
+

 

+

 

+ + + + +

[5.70.16] - 6/11/2022 8:33:18 PM

+
+

Commit 17f14450b659277dd0130a633b65b6648209cd34

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • More docs to re-trigger matrix now that auth is in
  • +
+

 

+

 

+ + + + +

[5.70.15] - 6/11/2022 4:45:42 PM

+
+

Commit 3f5440d176bf9b8e52a9aac3d3558b86b00335c5

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • another traunch of docs to trigger matrix builds
  • +
+

 

+

 

+ + + + +

[5.70.14] - 6/11/2022 8:01:44 AM

+
+

Commit fcf214210e8c9ab43176453711db8759d3b13402

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • More documentation to trigger still another matrix build
  • +
+

 

+

 

+ + + + +

[5.70.13] - 6/10/2022 10:47:40 PM

+
+

Commit b6805a6d6f87139839aff6542212fb5176e9859d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Small doc changes to trigger a new matrix build in viz
  • +
+

 

+

 

+ + + + +

[5.70.12] - 6/10/2022 10:25:34 PM

+
+

Commit 0fe3acc4e95251cc359778779af4f114c36442db

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • small doc adds to trigger remote matrix build
  • +
+

 

+

 

+ + + + +

[5.70.11] - 6/10/2022 9:50:31 PM

+
+

Commit c74103eacaf6b256157c29805d36589f1058dbfb

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • okay, re-fetch the codebase and re-establish the tag, I guess
  • +
+

 

+

 

+ + + + +

[5.70.10] - 6/10/2022 9:43:13 PM

+
+

Commit ed49199ea740b7716ca13f5ca81d40fbcac52c18

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Let's see if env.TAG is still there by the next machine or if we have to define it anew
  • +
+

 

+

 

+ + + + +

[5.70.9] - 6/10/2022 9:34:03 PM

+
+

Commit 34ef1e50580606e642dfc88cd34a4237dc0f7548

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Let's try double brace syntax for var env in GH CI
  • +
+

 

+

 

+ + + + +

[5.70.8] - 6/10/2022 8:39:37 AM

+
+

Commit 0cb00f7598bc44c300d69e78e50bc2b1f4d13e88

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • env couldn't be order sensitive, could it?
  • +
+

 

+

 

+ + + + +

[5.70.7] - 6/9/2022 11:53:28 PM

+
+

Commit 20ae8b19fdf9b576d4d81508ab6a0cfa75a9770a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • More doc wireup
  • +
+

 

+

 

+ + + + +

[5.70.6] - 6/9/2022 10:32:05 PM

+
+

Commit 5b8973e584a47b21164d6c75636dc218ac03680f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Another trivial doc change as a trigger
  • +
+

 

+

 

+ + + + +

[5.70.5] - 6/9/2022 10:20:44 PM

+
+

Commit 4bc2a6a73d2709e8ebb6be74fe431b33e250a049

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • more trivial manual pages to trigger a build
  • +
+

 

+

 

+ + + + +

[5.70.4] - 6/9/2022 9:49:04 PM

+
+

Commit f1b76c594ac3c311d2567441f01517b1342a5a1d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • minor notes to trigger a build
  • +
+

 

+

 

+ + +

[Untagged] - 6/9/2022 9:37:46 PM

+
+

Commit f95e2d836dec42e93031a09260447bf1c60c2643

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • reattempting upgrade path, should fail due to no version bump
  • +
+

 

+

 

+ + + + +

[5.70.3] - 6/9/2022 8:29:39 PM

+
+

Commit 9da2770dc47d3c2e99b9b95a56f1ae447d7ee2b7

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [c48f55d, ab559f1]

+
    +
  • Merge pull request #497 from StoneCypher/LanguageReference
  • +
  • More doc stubs, see StoneCypher/fsl#831, see StoneCypher/fsl#832, see StoneCypher/fsl#835, see StoneCypher/fsl#836, see StoneCypher/fsl#837
  • +
+

 

+

 

+ + +

[Untagged] - 6/9/2022 8:15:26 PM

+
+

Commit ab559f18da3ee21500a34aa99d23c0433ea0e226

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [a0db9ad, c48f55d]

+
    +
  • Get the basics of a reference started
  • +
+

 

+

 

+ + + + +

[5.70.2] - 6/8/2022 8:43:12 PM

+
+

Commit c48f55d02b6b52c57bf494549423df60f45bb393

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [e7a09e7, 575db4a]

+
    +
  • Merge pull request #500 from StoneCypher/AttemptInterRepoGhaThroughCurl2
  • +
  • yet another attempt to chain
  • +
+

 

+

 

+ + +

[Untagged] - 6/8/2022 7:57:47 PM

+
+

Commit 575db4a067c163829f33790538858b43c469ea55

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • yet another attempt to chain
  • +
+

 

+

 

+ + + + +

[5.70.1] - 6/7/2022 11:59:22 PM

+
+

Commit e7a09e7cffc7782781843a106789acbeb6ceba12

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [5246c9e, 9bb5cd8]

+
    +
  • Merge pull request #499 from StoneCypher/AttemptInterRepoGhaThroughCurl2
  • +
  • more attempts to tie repos together
  • +
+

 

+

 

+ + +

[Untagged] - 6/7/2022 11:28:45 PM

+
+

Commit 9bb5cd89eccc48f267a5997559998b55fe21ded9

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • more attempts to tie repos together
  • +
+

 

+

 

+ + + + +

[5.70.0] - 6/7/2022 10:53:31 PM

+
+

Commit 5246c9eae2d41efaa49196c24d5a89647c2eae0d

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [fd7acd5, 512332c]

+
    +
  • Merge pull request #498 from StoneCypher/AttemptInterRepoGhaThroughCurl
  • +
  • Another attempt at tying repos together
  • +
+

 

+

 

+ + +

[Untagged] - 6/7/2022 10:49:31 PM

+
+

Commit 512332c813e25ff2c4f5fe21181a0a62743002b2

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Another attempt at tying repos together
  • +
+

 

+

 

+ + +

[Untagged] - 6/7/2022 10:40:17 PM

+
+

Commit a0db9ad15ab9391fd75425d9541b767049964f43

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • More doc stubs, see StoneCypher/fsl#831, see StoneCypher/fsl#832, see StoneCypher/fsl#835, see StoneCypher/fsl#836, see StoneCypher/fsl#837
  • +
+

 

+

 

+ + + + +

[5.69.4] - 6/7/2022 1:13:40 PM

+
+

Commit fd7acd54951bac115616ea74ed61081121aa133b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • fixes dark mode color scheme, had other stuff underway and i forget what, fixes StoneCypher/fsl#848
  • +
+

 

+

 

+ + + + +

[5.69.3] - 6/6/2022 11:00:48 PM

+
+

Commit 379a021325ca39e24e2604d2c79046b89cabac9b

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [445bed8, 737e3f0]

+
    +
  • Merge branch 'main' of github.com:StoneCypher/jssm
  • +
+

 

+

 

+ + +

[Untagged] - 6/6/2022 11:00:09 PM

+
+

Commit 445bed8c7b5f805236cc6999a84f6fd5e11ae29a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • guh, gh
  • +
+

 

+

 

+ + + + +

[5.69.2] - 6/6/2022 10:50:37 PM

+
+

Commit 737e3f0377ae6dfcd1a6c482c90244fe7d4c0eb9

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [b0fe5d4, 9403681]

+
    +
  • Merge pull request #496 from StoneCypher/DocStubs
  • +
  • Doc stubs
  • +
+

 

+

 

+ + +

[Untagged] - 6/6/2022 10:49:00 PM

+
+

Commit 9403681c28a5c55e6fc5e296602ac2d497429bd8

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • attempting the jssm-viz hook again; doc stubs
  • +
+

 

+

 

+ + +

[Untagged] - 6/6/2022 10:39:46 PM

+
+

Commit 19b57adbb571d5b22a843f7d23d4cf9db9eac0c2

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [570555e, b0fe5d4]

+
    +
  • Merge branch 'main' into DocStubs
  • +
+

 

+

 

+ + +

[Untagged] - 6/6/2022 10:39:30 PM

+
+

Commit 570555ea0c4dcc36e50358152401f7055012b011

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • trivial doc stubs
  • +
+

 

+

 

+ + + + +

[5.69.0] - 6/6/2022 10:29:57 PM

+
+

Commit b0fe5d467f6571fa5c9bf19805c3d43cf5a8fc0a

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [ea3e310, 5950672]

+
    +
  • Merge pull request #495 from StoneCypher/ExportFieldsForCdnPkg
  • +
  • export fields in package.json
  • +
+

 

+

 

+ + +

[Untagged] - 6/6/2022 10:26:13 PM

+
+

Commit 5950672faaa4406176b19936974626cc7367f41f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • export fields in package.json
  • +
+

 

+

 

+ + +

[Untagged] - 6/6/2022 10:21:02 PM

+
+

Commit ea3e3102212df5439c10895f01e72c53b1b6b1a2

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update nodejs.yml
  • +
+

 

+

 

+ + +

[Untagged] - 6/6/2022 10:19:45 PM

+
+

Commit da9057d5db5bfc317f5a521073353f295407bf16

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update nodejs.yml
  • +
+

 

+

 

+ + +

[Untagged] - 6/6/2022 10:18:47 PM

+
+

Commit 9a98000ae2a31b25447cb36f2dab1960b086fadf

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update nodejs.yml
  • +
+

 

+

 

+ + +

[Untagged] - 6/6/2022 10:16:17 PM

+
+

Commit c8454ba282de3e45db7e6cce48f09f50f27e9cda

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [45c333b, c9c06ad]

+
    +
  • Merge pull request #494 from StoneCypher/attempt-bump-jssm-viz
  • +
  • Update nodejs.yml
  • +
+

 

+

 

+ + +

[Untagged] - 6/6/2022 10:15:52 PM

+
+

Commit c9c06adef180fc2ecef7fc4ef77f20e991b914bb

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update nodejs.yml
  • +
+

 

+

 

+ + + + +

[5.68.0] - 6/6/2022 9:07:55 PM

+
+

Commit 45c333b9bc363a9052b896f678e6720528b7d41a

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [210a326, 2095310]

+
    +
  • Merge pull request #493 from StoneCypher/BrowserFieldAndWhatAreSmTutScratch
  • +
  • Add browser field, fixes StoneCypher/fsl#827; basics of What Are FSMs tutorial for StoneCypher/fsl#831
  • +
+

 

+

 

+ + +

[Untagged] - 6/6/2022 8:49:29 PM

+
+

Commit 20953101c01e46562b538581d08eeea9822441d6

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Add browser field, fixes StoneCypher/fsl#827; basics of What Are FSMs tutorial for StoneCypher/fsl#831
  • +
+

 

+

 

+ + + + +

[5.67.2] - 6/6/2022 5:58:47 PM

+
+

Commit 210a3261fef18f00a01c52c77e2a4f5eb02a486d

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [cfd38c2, 8379506]

+
    +
  • Merge pull request #492 from StoneCypher/StillMoreShootout
  • +
  • Still more shootout
  • +
+

 

+

 

+ + +

[Untagged] - 6/6/2022 5:39:43 PM

+
+

Commit 837950689491eb333670a9f028b3668351c9bef1

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • moar docs
  • +
+

 

+

 

+ + +

[Untagged] - 6/6/2022 3:41:07 PM

+
+

Commit 91e2c2f27ec0b200380b8871bacd2d6476e1ab4e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • More shootout
  • +
+

 

+

 

+ + + + +

[5.67.0] - 6/6/2022 2:49:25 PM

+
+

Commit cfd38c2d2d3ca7f4e3874cc6cfc71d2cfb5922db

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [ff99397, 7f475f2]

+
    +
  • Merge pull request #491 from StoneCypher/AddShootout
  • +
  • Adds shootout, fixes StoneCypher/fsl#822
  • +
+

 

+

 

+ + +

[Untagged] - 6/6/2022 2:47:14 PM

+
+

Commit 7f475f2a684856889fa56317ce30d5296ca2a47d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Adds shootout, fixes StoneCypher/fsl#822
  • +
+

 

+

 

+ + + + +

[5.66.0] - 6/6/2022 12:31:58 PM

+
+

Commit ff99397e5e6bc96f5fc1e419a44d1382f49923c5

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [bcb1eda, 6f51f09]

+
    +
  • Merge pull request #490 from StoneCypher/FixChangelogAndAddCommunityPage
  • +
  • Adds community page to docs; adds short changelog to address block. fixes StoneCypher/fsl#824, fixes StoneCypher/fsl#825
  • +
+

 

+

 

+ + +

[Untagged] - 6/6/2022 12:24:27 PM

+
+

Commit 6f51f095fc292fc44c8c02daf8d976bdec49d4f0

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Adds community page to docs; adds short changelog to address block. fixes StoneCypher/fsl#824, fixes StoneCypher/fsl#825
  • +
+

 

+

 

+ + +

[Untagged] - 6/6/2022 11:20:01 AM

+
+

Commit bcb1edaf59fbbd0a9fcfbb293d3ba1cfca129aa0

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [d19a094, 966e56b]

+
    +
  • Merge branch 'main' of github.com:StoneCypher/jssm
  • +
+

 

+

 

+ + +

[Untagged] - 6/6/2022 11:19:47 AM

+
+

Commit d19a0949fdb44e76f946cf0f06020e9a497e8732

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Long and short changelogs to un-break GH releases
  • +
+

 

+

 

+ + +

[Untagged] - 6/2/2022 7:14:41 PM

+
+

Commit 966e56b5db15b792ee8efc648f76c279dd1c8b0c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + + + +

[5.65.14] - 5/25/2022 10:01:42 PM

+
+

Commit 1c597f900bb8daa127d1ec490f1277db0dfc822e

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [6a6f1c8, 4c2e830]

+
    +
  • Merge pull request #489 from StoneCypher/ImproveDocumentationLayout
  • +
  • Improve documentation layout
  • +
+

 

+

 

+ + +

[Untagged] - 5/25/2022 9:57:42 PM

+
+

Commit 4c2e830a1a4cfc8f808a67a04cfb0efe7e6993c8

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Needed version bump
  • +
+

 

+

 

+ + +

[Untagged] - 5/25/2022 9:51:54 PM

+
+

Commit 6353caf50948fc5985e1603fc06673add48bc376

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • moar dox
  • +
+

 

+

 

+ + + + +

[5.65.12] - 5/22/2022 4:28:55 PM

+
+

Commit 6a6f1c8a256f2f943c3230ec32dd32d2c2344927

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [e084bf4, f0f3961]

+
    +
  • Merge pull request #488 from StoneCypher/Doc_Action_Transition_ForceTransition
  • +
  • Document action, transition, force_transition; fixes StoneCypher/fsl#801, StoneCypher/fsl#802, StoneCypher/fsl#803
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2022 4:24:24 PM

+
+

Commit f0f3961d25dc11cfb547eca55c7e3a65b9cf3ccf

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Document action, transition, force_transition; fixes StoneCypher/fsl#801, StoneCypher/fsl#802, StoneCypher/fsl#803
  • +
+

 

+

 

+ + + + +

[5.65.11] - 5/22/2022 3:54:12 PM

+
+

Commit e084bf4a0936d419b5a9921e746a707644ad263f

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [a7d9fba, b2558b2]

+
    +
  • Merge pull request #487 from StoneCypher/Doc_ListEdges_ListTransitions_ListEntrances_ListExits
  • +
  • Doc list edges list transitions list entrances list exits
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2022 3:44:19 PM

+
+

Commit b2558b2457dfaf6cb61782d0c758cf1ad043149b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Forgot to update benny labels
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2022 3:41:50 PM

+
+

Commit b3155ba56af766456f250e61906e92e648a44b46

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Bump version, cut benny labor by 80%
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2022 3:38:01 PM

+
+

Commit 86eeb1e7f51e30a7a16da03e697d8630b6a7b10a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Document list_edges, list_transitions, list_entrances, list_exits, fixes StoneCypher/fsl#800, fixes StoneCypher/fsl#801, fixes StoneCypher/fsl#802, fixes StoneCypher/fsl#803
  • +
+

 

+

 

+ + + + +

[5.65.10] - 5/22/2022 3:30:25 PM

+
+

Commit a7d9fba39b0772cc1ff2ab685bfad47c8ce4be2e

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [605f414, 8809458]

+
    +
  • Merge pull request #486 from StoneCypher/Doc_Actions_ListStatesHavingAction
  • +
  • Document actions and list_states_having_action, fixes StoneCypher/fsl#798, fixes StoneCypher/fsl#799
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2022 3:05:26 PM

+
+

Commit 88094584ff08b1ec24dee69ca9ecc7547217c586

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Document actions and list_states_having_action, fixes StoneCypher/fsl#798, fixes StoneCypher/fsl#799
  • +
+

 

+

 

+ + + + +

[5.65.9] - 5/22/2022 2:59:09 PM

+
+

Commit 605f414b3e815e2baaa7f8c7888a0478fec9ff2a

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [48f1e98, 75f33eb]

+
    +
  • Merge pull request #485 from StoneCypher/DocIsFinalAndStateIsFinal
  • +
  • Document is_final and state_is_final, fixes StoneCypher/fsl#796, fixes StoneCypher/fsl#797
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2022 2:44:19 PM

+
+

Commit 75f33ebba2446c48990e268a8a8e5f28bdd62efb

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Document is_final and state_is_final, fixes StoneCypher/fsl#796, fixes StoneCypher/fsl#797
  • +
+

 

+

 

+ + + + +

[5.65.8] - 5/22/2022 1:09:26 PM

+
+

Commit 48f1e984eb79d1b0ebd0cfb91621628d13f4032f

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [7705f10, 022ff38]

+
    +
  • Merge pull request #484 from StoneCypher/DocCss
  • +
  • Doc css
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2022 10:39:40 AM

+
+

Commit 022ff389c8d6fd6791a370acb0b48601a7a103f2

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [d4e8bbb, 7705f10]

+
    +
  • Basic CSS chain for docs, fixes StoneCypher/fsl#794
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2022 10:35:12 AM

+
+

Commit d4e8bbb38e2ed7a42c2eab83d994d43494ea9380

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • underway
  • +
+

 

+

 

+ + + + +

[5.65.7] - 5/22/2022 9:27:34 AM

+
+

Commit 7705f10269f39cab9ee5cbfb28d76cf739c3edb7

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [d486935, 7e3e2e9]

+
    +
  • Merge pull request #483 from StoneCypher/Doc_State_States_HasState
  • +
  • Document state, has_state, states; fixes StoneCypher/fsl#791, fixes StoneCypher/fsl#792, fixes StoneCypher/fsl#793
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2022 9:23:53 AM

+
+

Commit 7e3e2e9e20bdacbf66bf47b971620c595eeacf2c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Document state, has_state, states; fixes StoneCypher/fsl#791, fixes StoneCypher/fsl#792, fixes StoneCypher/fsl#793
  • +
+

 

+

 

+ + + + +

[5.65.5] - 5/22/2022 9:11:05 AM

+
+

Commit d4869358e9fb7b92769020d5c6832c8063201383

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [208ad8e, 7c337af]

+
    +
  • Merge pull request #482 from StoneCypher/DocArrUniqP
  • +
  • Document arr_uniq_p; fix merge mess; fixes StoneCypher/fsl#799
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2022 9:07:03 AM

+
+

Commit 7c337af4305c6947944d09df54356dd72fcdfbd4

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Document arr_uniq_p; fix merge mess; fixes StoneCypher/fsl#799
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2022 9:07:03 AM

+
+

Commit 4dbe3833d503a7f5af7563e487ab6f722b01220f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Document arr_uniq_p; fix merge mess
  • +
+

 

+

 

+ + + + +

[5.65.4] - 5/22/2022 8:52:51 AM

+
+

Commit 208ad8ebb2b315090407b9b4626cfa31b8feac34

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [fdb3369, bc9f107]

+
    +
  • Merge pull request #481 from StoneCypher/MoreDocumentation
  • +
  • Document from and sm, fixes StoneCypher/fsl#784, fixes StoneCypher/fsl#785
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2022 8:52:35 AM

+
+

Commit 9c6982187896ea62e1a7bdc989d4d16e57975f8a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Document hook_name, fixes StoneCypher/#788, and named_hook_name, fixes StoneCypher/#789
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2022 8:43:42 AM

+
+

Commit cc3b7dda265226ef7ca818d387c06628132673ef

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • document seq/1, document histo/1, a little extra testing, fixes StoneCypher/fsl#786, fixes StoneCypher/fsl#787
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2022 8:43:42 AM

+
+

Commit 9dbc57da37b83d3fc2a26c7de17aae8fe976a025

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • document seq/1, document histo/1, a little extra testing
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2022 8:43:42 AM

+
+

Commit 780cc714651030e2a89343620dff20669d317e62

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • seq/1, a little extra testing
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2022 8:41:28 AM

+
+

Commit bc9f10712955eb32f2eff9fda7a5236d877ef02c

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [7473afd, fdb3369]

+
    +
  • Merge branch 'main' into MoreDocumentation
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2022 8:18:43 AM

+
+

Commit fdb3369ce4983580b69fbf80f1bd839e45cc0973

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [eac57da, 22230f0]

+
    +
  • Merge pull request #480 from StoneCypher/DocFromSm
  • +
  • Document .from and sm, fixes StoneCypher/fsl#784, fixes StoneCypher/fsl#785
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2022 8:15:13 AM

+
+

Commit 22230f02097b344f15301e68f1384a4351a2a1a5

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Document .from and sm, fixes StoneCypher/fsl#784, fixes StoneCypher/fsl#785
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2022 7:57:33 AM

+
+

Commit 7473afdf4caa6cc41abcca9fd88b4b718d714ea2

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Document from and sm, fixes StoneCypher/fsl#784, fixes StoneCypher/fsl#785
  • +
+

 

+

 

+ + + + +

[5.65.3] - 5/22/2022 7:33:18 AM

+
+

Commit eac57da67490d9d54ed374cbc6bbf1bb8fc32cce

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [0fd6005, 539f203]

+
    +
  • Merge pull request #479 from StoneCypher/MoreDocumentation
  • +
  • Document make, compile, transfer_state_properties, compile_rule_handler, compile_rule_handle_transition, compile_rule_transition_step
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2022 7:29:57 AM

+
+

Commit 539f203cf4ee7c5cc124152a2c95b4f3696e7e55

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Document make, compile, transfer_state_properties, compile_rule_handler, compile_rule_handle_transition, compile_rule_transition_step
  • +
+

 

+

 

+ + + + +

[5.65.2] - 5/22/2022 6:40:28 AM

+
+

Commit 0fd6005e7e39e3d0b0c6c7789743ca0fbf1e9b79

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [c9b40b1, 63bb525]

+
    +
  • Merge pull request #478 from StoneCypher/DocumentArrowDirection
  • +
  • Document arrow direction fixes StoneCypher/fsl#773, arrow_left_kind fixes StoneCypher/fsl#774, arrow_right_kind fixes StoneCypher/fsl#775, wrap_parse fixes StoneCypher/fsl#776, makeTransition fixes StoneCypher/fsl#777
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2022 6:40:05 AM

+
+

Commit 63bb52566b530ee36c0d8182a32356e45a2533a0

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • forgot version bump
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2022 6:34:53 AM

+
+

Commit 27112f0cb739a4b5a9351369d7c9da61d58df27a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Document arrow direction fixes StoneCypher/fsl#773, arrow_left_kind fixes StoneCypher/fsl#774, arrow_right_kind fixes StoneCypher/fsl#775, wrap_parse fixes StoneCypher/fsl#776, makeTransition fixes StoneCypher/fsl#777
  • +
+

 

+

 

+ + + + +

[5.65.1] - 5/21/2022 9:20:45 PM

+
+

Commit c9b40b1f065690554fabdc1cef6baea5d540a04d

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [e337e6a, d30bbdd]

+
    +
  • Merge pull request #477 from StoneCypher/PropertiesSupportStringDefaults
  • +
  • Add support for string defaults, fixes StoneCypher/fsl#769
  • +
+

 

+

 

+ + +

[Untagged] - 5/21/2022 9:17:31 PM

+
+

Commit d30bbddb3579128f20034ea475880b8293ff8997

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Add support for string defaults, fixes StoneCypher/fsl#769
  • +
+

 

+

 

+ + + + +

[5.65.0] - 5/20/2022 9:16:30 PM

+
+

Commit e337e6aa086b761a9c47cf682f070fb2ec3ad3a7

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [9480ef7, 3a527ad]

+
    +
  • Merge pull request #476 from StoneCypher/PropertiesInGrammar
  • +
  • Properties in grammar
  • +
+

 

+

 

+ + +

[Untagged] - 5/20/2022 6:05:47 PM

+
+

Commit 3a527ada63bc49b5d688805f59f60a8f457a3d7c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Needed a version bump
  • +
+

 

+

 

+ + +

[Untagged] - 5/20/2022 6:00:35 PM

+
+

Commit 2f9c60bc853919cc52b0705cda617caa62b02e00

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Properties are in the grammar; with and without default; numbers, booleans, nulls, undefined. Fixes Stonecypher/fsl#763, fixes Stonecypher/fsl#764, fixes Stonecypher/fsl#765, fixes Stonecypher/fsl#766, fixes Stonecypher/fsl#767, fixes Stonecypher/fsl#768
  • +
+

 

+

 

+ + + + +

[5.64.2] - 5/19/2022 8:40:36 PM

+
+

Commit 9480ef7818a4695100a1742cbcb24f67dc998b7d

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [71d7cc6, aee8181]

+
    +
  • Merge pull request #475 from StoneCypher/ImproveGhActionsParallelism
  • +
  • Improve gh actions parallelism
  • +
+

 

+

 

+ + +

[Untagged] - 5/19/2022 8:37:01 PM

+
+

Commit aee81818bb51a0912e8270973fe8d8cfada195e3

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [8e60b80, 71d7cc6]

+
    +
  • Merge for parallelism cleanup
  • +
+

 

+

 

+ + +

[Untagged] - 5/19/2022 8:01:33 PM

+
+

Commit 8e60b80d62d215ef5ef184f5fff0828644e439d4

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Breaks benny out to distinct step, fixes StoneCypher/fsl#759; unblocks version bump, fixes StoneCypher/fsl#758; chains release on build and version, fixes StoneCypher/fsl#760
  • +
+

 

+

 

+ + + + +

[5.64.1] - 5/19/2022 7:58:31 PM

+
+

Commit 71d7cc69b5afd67fe678472ad68cf8e68b263b00

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [2b72a30, 7424e53]

+
    +
  • Merge pull request #474 from StoneCypher/ExposeColors
  • +
  • Expose colors, fixes StoneCypher/fsl#539
  • +
+

 

+

 

+ + +

[Untagged] - 5/19/2022 7:51:46 PM

+
+

Commit 7424e53deeaf8e7161b442bcaf85b9e7df251fa2

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Expose colors, fixes StoneCypher/fsl#539
  • +
+

 

+

 

+ + + + +

[5.64.0] - 5/19/2022 7:08:49 PM

+
+

Commit 2b72a30cd1d2c49bb6502bebec274544db37c589

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [9cbc5d7, 07cf833]

+
    +
  • Merge pull request #473 from StoneCypher/ExposeShapes
  • +
  • Shapes are now exposed, fixes StoneCypher/fsl#538
  • +
+

 

+

 

+ + +

[Untagged] - 5/19/2022 7:02:53 PM

+
+

Commit 07cf833a15d46a6a5590fedd30d63558a0719dfa

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Shapes are now exposed, fixes StoneCypher/fsl#538
  • +
+

 

+

 

+ + + + +

[5.63.0] - 5/15/2022 10:37:03 PM

+
+

Commit 9cbc5d72246d160c9568abcfcca42db7eb393efb

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [4c208fc, 53e9566]

+
    +
  • Merge pull request #472 from StoneCypher/ErrorObject
  • +
  • Error object
  • +
+

 

+

 

+ + +

[Untagged] - 5/15/2022 10:31:17 PM

+
+

Commit 53e95660d5dd587109acd91c7875192dd443ff57

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • JssmError extension, fixes StoneCypher/fsl#755; instance name on error object, fixes StoneCypher/fsl#746; state at error time, fixes StoneCypher/fsl#742; target state at error time, fixes StoneCypher/fsl#743base message, fixes StoneCypher/fsl#741; materialized error, fixes StoneCypher/fsl#740
  • +
+

 

+

 

+ + +

[Untagged] - 5/15/2022 7:25:27 AM

+
+

Commit 9db9bad5242f635d4a69db3dca4caeeb6013af1e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Base error object, fixes StoneCypher/fsl#752
  • +
+

 

+

 

+ + + + +

[5.62.0] - 5/14/2022 8:23:45 PM

+
+

Commit 4c208fcbdea83eaf336e8c154946dc0d633a7e9c

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [6e2e7f8, 94a26af]

+
    +
  • Merge pull request #471 from StoneCypher/ImproveErrorsAndCreateInstanceNamesAndMakeFrom
  • +
  • Adds instance names, fixes StoneCypher/fsl#428; puts them in errors, fixes StoneCypher/fsl#429; multiplexes errors, fixes StoneCypher/fsl#739; makes .from, fixes StoneCypher/fsl#753
  • +
+

 

+

 

+ + +

[Untagged] - 5/14/2022 8:15:13 PM

+
+

Commit 94a26af4e85c6d39aab1252b588796c02d72c64b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Adds pseudo-constructors to .from, fixes StoneCypher/fsl#754
  • +
+

 

+

 

+ + +

[Untagged] - 5/14/2022 7:54:15 PM

+
+

Commit 2f7e8cb441419f67073b2cf65606469f4e018ff1

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Adds instance names, fixes StoneCypher/fsl#428; puts them in errors, fixes StoneCypher/fsl#429; multiplexes errors, fixes StoneCypher/fsl#739; makes .from, fixes StoneCypher/fsl#753
  • +
+

 

+

 

+ + + + +

[5.61.4] - 5/13/2022 11:20:56 AM

+
+

Commit 6e2e7f84f4e2633eeac53891cc88c6fb61799725

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [cba8919, 2d2385e]

+
    +
  • Merge pull request #470 from StoneCypher/AddHooksToReadme
  • +
  • Adding hooks to the readme, no big
  • +
+

 

+

 

+ + +

[Untagged] - 5/13/2022 11:10:06 AM

+
+

Commit 2d2385e13b83c49185a02991fc7be530e030ddec

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • resolve merge conflict and forgotten bump
  • +
+

 

+

 

+ + +

[Untagged] - 5/13/2022 10:54:54 AM

+
+

Commit 46c5ab4b5e375ddd2b15ee39e5ac5ee4620791cd

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [ee39784, cba8919]

+
    +
  • resolve merge conflict
  • +
+

 

+

 

+ + +

[Untagged] - 5/13/2022 10:46:20 AM

+
+

Commit ee397849215258b5630370c3e6ace9d11678d193

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Adding hooks to the readme, no big
  • +
+

 

+

 

+ + + + +

[5.61.3] - 5/13/2022 8:52:49 AM

+
+

Commit cba89193f5bada368acb6cbe37db9b6f3f7e6263

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [f41d7b6, 0e3e3f4]

+
    +
  • Merge pull request #469 from StoneCypher/AddKitchenSinkBenchmark
  • +
  • Kitchen sink benchmark, fixes StoneCypher/fsl#738
  • +
+

 

+

 

+ + +

[Untagged] - 5/12/2022 9:23:49 PM

+
+

Commit 0e3e3f48d710fb3ad80ce808c05caf00c6c660c0

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • needed bump
  • +
+

 

+

 

+ + +

[Untagged] - 5/12/2022 9:01:05 PM

+
+

Commit 024f2e2944f0b888c6cbd9f287df7296abcaedd4

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Kitchen sink benchmark, fixes StoneCypher/fsl#738
  • +
+

 

+

 

+ + + + +

[5.61.2] - 5/12/2022 6:51:45 PM

+
+

Commit f41d7b68925539eb82141dfe97e7141cd76f6f9b

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [0f1535b, 6dbad3d]

+
    +
  • Merge pull request #468 from StoneCypher/ImproveFlagGatingHooks
  • +
  • Active flag hooks, fixes StoneCypher/fsl#716
  • +
+

 

+

 

+ + +

[Untagged] - 5/12/2022 6:46:05 PM

+
+

Commit 6dbad3d4a1a6e04a7b4ce409f2e3b324dcecdcdc

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • needed bump
  • +
+

 

+

 

+ + +

[Untagged] - 5/12/2022 6:36:24 PM

+
+

Commit 9f3fa470bcccfdee0db090be545f738cc0846b9c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Active flag hooks, fixes StoneCypher/fsl#716
  • +
+

 

+

 

+ + + + +

[5.61.1] - 5/12/2022 5:03:08 PM

+
+

Commit 0f1535bb1d5be22817f6a09da4ae992dd552aa50

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [c61e59e, bca3384]

+
    +
  • Merge pull request #467 from StoneCypher/ImproveBenchmark
  • +
  • Improve benchmark, fixes StoneCypher/fsl#737
  • +
+

 

+

 

+ + +

[Untagged] - 5/12/2022 4:57:37 PM

+
+

Commit bca33843abdc3c360a7b754451f00ffa16458257

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Improve benchmark, fixes StoneCypher/fsl#737
  • +
+

 

+

 

+ + + + +

[5.60.4] - 5/12/2022 2:27:53 PM

+
+

Commit c61e59ecb5a2d75900593b6dfc6bd6481b70105a

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [aab4f29, f2c361e]

+
    +
  • Merge pull request #466 from StoneCypher/FluentTransitionHooks
  • +
  • Fluent transition hooks, fixes StoneCypher/fsl#684, fixes StoneCypher/fsl#685, fixes StoneCypher/fsl#686
  • +
+

 

+

 

+ + +

[Untagged] - 5/12/2022 2:22:30 PM

+
+

Commit f2c361ea7c04fcd22ee37193a2c9b903c46758cc

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Fluent transition hooks, fixes StoneCypher/fsl#684, fixes StoneCypher/fsl#685, fixes StoneCypher/fsl#686
  • +
+

 

+

 

+ + + + +

[5.60.3] - 5/12/2022 2:21:45 PM

+
+

Commit aab4f29a49f8b1d25c5d11aec536ba76e46d4c54

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [bd28733, f7371c9]

+
    +
  • Merge pull request #465 from StoneCypher/ApiForcedTransitionHook
  • +
  • Api forced transition hook
  • +
+

 

+

 

+ + +

[Untagged] - 5/12/2022 2:04:02 PM

+
+

Commit f7371c97fc72d2cd367a958bd014bb8cc048c4fd

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • API forced transition hooks, fixes StoneCypher/fsl#667
  • +
+

 

+

 

+ + +

[Untagged] - 5/12/2022 1:54:55 PM

+
+

Commit ceb93d5920113d309409f75f12ddcfb7fc6ceb90

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • API main transitions, fixes StoneCypher/fsl#660
  • +
+

 

+

 

+ + + + +

[5.60.0] - 5/12/2022 1:42:37 PM

+
+

Commit bd2873347d5c49850979fa686339586e490dc795

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [5f75d87, 3584702]

+
    +
  • Merge pull request #464 from StoneCypher/ApiStandardTransitionHook
  • +
  • Api standard transition hook
  • +
+

 

+

 

+ + +

[Untagged] - 5/12/2022 1:28:16 PM

+
+

Commit 35847022e67dd34ee24dccac6c1d3a44f323bbf5

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • API standard transitions, fixes StoneCypher/fsl#666
  • +
+

 

+

 

+ + +

[Untagged] - 5/12/2022 12:41:29 PM

+
+

Commit 4efc8227a41e3cbf7a9f0e3e1c0b75d169d90cf5

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • badly broken attempt
  • +
+

 

+

 

+ + +

[Untagged] - 5/12/2022 11:30:14 AM

+
+

Commit 56e3433e2a45913a6ea03c07e321c404bd67ce04

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [7c6fff9, 5f75d87]

+
    +
  • Merge branch 'main' into FmtAndCleanup
  • +
+

 

+

 

+ + +

[Untagged] - 5/12/2022 11:29:48 AM

+
+

Commit 7c6fff914710157222e844e68b5aa5f7126f34fe

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Some formatting
  • +
+

 

+

 

+ + + + +

[5.59.1] - 5/12/2022 11:01:20 AM

+
+

Commit 5f75d87f6a114dd2f8d877c432f17c40d17c8465

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [fa860a6, 3c0d18c]

+
    +
  • Merge pull request #463 from StoneCypher/FluentGlobalNamedHooks
  • +
  • Fluent global named hooks, fixes StoneCypher/fsl#687
  • +
+

 

+

 

+ + +

[Untagged] - 5/12/2022 10:55:48 AM

+
+

Commit 3c0d18cade8ea76d5411d15f3a2f1950ad3c4f9d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Fluent global named hooks, fixes StoneCypher/fsl#687
  • +
+

 

+

 

+ + + + +

[5.59.0] - 5/12/2022 10:54:43 AM

+
+

Commit fa860a6b17b256da2550599c5c79445f46b82041

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [1c18d04, d269d66]

+
    +
  • Merge pull request #462 from StoneCypher/ApiGlobalNamedHooks
  • +
  • API global named hooks, fixes StoneCypher/fsl#669
  • +
+

 

+

 

+ + +

[Untagged] - 5/12/2022 10:46:40 AM

+
+

Commit d269d66f287adfeee5bedc8cdcb723e33d78313f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • API global named hooks, fixes StoneCypher/fsl#669
  • +
+

 

+

 

+ + + + +

[5.58.1] - 5/11/2022 9:02:39 PM

+
+

Commit 1c18d04480200ace12515d3ae536d8033bf9c0a0

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [4840482, 1b8acfb]

+
    +
  • Merge pull request #461 from StoneCypher/FluentAllActionHook
  • +
  • Fluent all action hook
  • +
+

 

+

 

+ + + + +

[5.58.0] - 5/11/2022 9:02:22 PM

+
+

Commit 48404829adac76e51a7f1ee6fa1de2fe9cf5bb75

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [3840469, 3b54f74]

+
    +
  • Merge pull request #460 from StoneCypher/ApiAllActionHook
  • +
  • API All-Action hook, fixes StoneCypher/fsl#670
  • +
+

 

+

 

+ + +

[Untagged] - 5/11/2022 8:50:43 PM

+
+

Commit 1b8acfb37f74654c12f266f96f7a2df8aa0b6d8b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Fluent All-Action hook, fixes StoneCypher/fsl#689
  • +
+

 

+

 

+ + +

[Untagged] - 5/11/2022 8:44:51 PM

+
+

Commit 3b54f74d27dbb7199d1b10571b194bf271777c95

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • API All-Action hook, fixes StoneCypher/fsl#670
  • +
+

 

+

 

+ + + + +

[5.57.1] - 5/9/2022 10:10:11 AM

+
+

Commit 3840469f34e4c6075d044d04023520eb4206704e

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [99fccf0, 63d5b33]

+
    +
  • Merge pull request #459 from StoneCypher/FluentExitHooks
  • +
  • Exit fluent hooks, fixes StoneCypher/fsl#682
  • +
+

 

+

 

+ + +

[Untagged] - 5/9/2022 10:04:48 AM

+
+

Commit 63d5b33632a1ab99aafe7058ad3068654d8dd692

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Exit fluent hooks, fixes StoneCypher/fsl#682
  • +
+

 

+

 

+ + + + +

[5.57.0] - 5/9/2022 10:03:44 AM

+
+

Commit 99fccf02531d82d83ff6aceecd2c0c394169fa05

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [e7fdb06, 4ce87db]

+
    +
  • Merge pull request #458 from StoneCypher/ApiExitHooks
  • +
  • API exit hooks, fixes StoneCypher/fsl#664
  • +
+

 

+

 

+ + +

[Untagged] - 5/9/2022 9:56:57 AM

+
+

Commit 4ce87db80807f10fb16a6f9f679223f07a99a6fd

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • API exit hooks, fixes StoneCypher/fsl#664
  • +
+

 

+

 

+ + + + +

[5.56.2] - 5/9/2022 9:31:42 AM

+
+

Commit e7fdb06e01b2e12b7cd275a079856cc22ed5ef17

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [c6438ab, 06f3709]

+
    +
  • Merge pull request #457 from StoneCypher/FluentEntryHooks
  • +
  • Fluent entry hooks
  • +
+

 

+

 

+ + +

[Untagged] - 5/9/2022 9:14:38 AM

+
+

Commit 06f3709f24d082e67fab67f2250fa17533924bbd

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • needed a bump
  • +
+

 

+

 

+ + +

[Untagged] - 5/9/2022 9:07:27 AM

+
+

Commit af441da35ad44264579808e12137acd1e96bcb41

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Fluent entry hooks
  • +
+

 

+

 

+ + + + +

[5.56.1] - 5/9/2022 9:07:22 AM

+
+

Commit c6438ab7b286fc3d7c9b822ca4bc17854d8286a2

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [63736ef, 8e20d05]

+
    +
  • Merge pull request #456 from StoneCypher/ApiEntryHooks
  • +
  • Api entry hooks
  • +
+

 

+

 

+ + +

[Untagged] - 5/9/2022 9:02:21 AM

+
+

Commit 8e20d056aa82a08268fcf32d22b1fe5cb4d559ab

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • needed a build
  • +
+

 

+

 

+ + +

[Untagged] - 5/9/2022 8:59:25 AM

+
+

Commit d965a37532755373e3647e925e8664bd36ae3585

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Working API entry hooks, fixes StoneCypher/fsl#663
  • +
+

 

+

 

+ + +

[Untagged] - 5/8/2022 3:31:19 PM

+
+

Commit 6f68f82516475c74e9ae958b0b9d9d9ea8496742

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Bumps eslint, fixes StoneCypher/fsl#723
  • +
+

 

+

 

+ + +

[Untagged] - 5/8/2022 3:14:51 PM

+
+

Commit 7985afdecc47ec9247357e386efa126a705f6e7b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • was pinned by ts-jest, re-bumped
  • +
+

 

+

 

+ + +

[Untagged] - 5/8/2022 3:09:14 PM

+
+

Commit ee261f9ce626b0df70932c82fe5e599abd4f1225

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Bumps jest, fixes StoneCypher/fsl#719
  • +
+

 

+

 

+ + + + +

[5.55.0] - 5/8/2022 2:52:41 PM

+
+

Commit 63736ef83bb21ac838deca66a334bd82aa66a52a

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [d9853ee, c7b93af]

+
    +
  • Merge pull request #454 from StoneCypher/BumpTsAndTooling
  • +
  • Bump ts and tooling
  • +
+

 

+

 

+ + +

[Untagged] - 5/8/2022 2:46:28 PM

+
+

Commit c7b93afa237222022dc1e24eb8f8f123871d986e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Bumps tscheck, fixes StoneCypher/fsl#722
  • +
+

 

+

 

+ + +

[Untagged] - 5/8/2022 2:43:30 PM

+
+

Commit 7b4c2bad6cb3f3d609ca66b597bbaedef606683c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Bumps typedoc, fixes StoneCypher/fsl#724
  • +
+

 

+

 

+ + +

[Untagged] - 5/8/2022 2:37:53 PM

+
+

Commit 5d08dc6919b53f215b525c5458732b95b1230763

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Bumps terser, fixes StoneCypher/fsl#720
  • +
+

 

+

 

+ + +

[Untagged] - 5/8/2022 2:19:59 PM

+
+

Commit 6bf62167e0b79834f7e0bdffad5af4ff47c60f9d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Bumps rollup and rollup plugins, adds preventAssignment, fixes StoneCypher/fsl#718
  • +
+

 

+

 

+ + +

[Untagged] - 5/8/2022 2:13:51 PM

+
+

Commit 20f2ddbd395d3580a971fcb6512041cc1653f7b4

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Bumps typescript, fixes StoneCypher/fsl#717
  • +
+

 

+

 

+ + + + +

[5.54.0] - 5/8/2022 1:42:23 PM

+
+

Commit d9853ee28881b7ec98648631d168f56a6c3d0446

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [f4c8e35, dc6557f]

+
    +
  • Merge pull request #452 from StoneCypher/CleanUpTsConfig
  • +
  • Adds export map to package.json, fixes StoneCypher/fsl#713; modernize tsconfig, fixes StoneCypher/#715
  • +
+

 

+

 

+ + +

[Untagged] - 5/8/2022 1:38:28 PM

+
+

Commit dc6557f2bbe1c09421f2e0b0a374d0c70f0f4801

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Adds export map to package.json, fixes StoneCypher/fsl#713; modernize tsconfig, fixes StoneCypher/#715
  • +
+

 

+

 

+ + + + +

[5.53.0] - 5/8/2022 3:11:52 AM

+
+

Commit f4c8e35705c7dea556a7f492cbdb9acd000536fc

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [e993d6b, 23c50e2]

+
    +
  • Merge pull request #451 from StoneCypher/AttemptToCorrectQualityDrop2
  • +
  • Re-attempt to correct quality drop (managed to lose .npmignore change,) re- fixes StoneCypher/fsl#711
  • +
+

 

+

 

+ + +

[Untagged] - 5/8/2022 3:09:04 AM

+
+

Commit fbcda324d66dd8b569a4e60b93794af1a3fea8f0

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [23c50e2, e993d6b]

+
    +
  • Merge branch 'main' into AttemptToCorrectQualityDrop2
  • +
+

 

+

 

+ + +

[Untagged] - 5/8/2022 3:07:48 AM

+
+

Commit 23c50e205b2ced7236af859487e1b086ebddd8d7

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Re-attempt to correct quality drop (managed to lose .npmignore change,) re- fixes StoneCypher/fsl#711
  • +
+

 

+

 

+ + + + +

[5.52.0] - 5/8/2022 2:46:51 AM

+
+

Commit e993d6b1f4d0d5ab18d015b88e87674c62e649fe

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [4d31172, 1e3d722]

+
    +
  • Merge pull request #450 from StoneCypher/AttemptToCorrectQualityDrop
  • +
  • Attempt to correct quality drop
  • +
+

 

+

 

+ + +

[Untagged] - 5/8/2022 2:42:42 AM

+
+

Commit 1e3d722ec81ed45e87528b3a993f5e5776ee047d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • forgot version bump
  • +
+

 

+

 

+ + +

[Untagged] - 5/8/2022 2:39:59 AM

+
+

Commit 9be7e046e5918d2bb042b5d2e2f97c82a1d8690c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Attempt to correct quality drop, fixes StoneCypher/fsl#711
  • +
+

 

+

 

+ + + + +

[5.51.0] - 5/8/2022 2:35:14 AM

+
+

Commit 4d311729dc4ec58f0f5a56c7a5ccea91f1799c56

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [7a17ace, ab5836a]

+
    +
  • Merge pull request #449 from StoneCypher/UnifyTransitionAndAction
  • +
  • Unified transition and action, fixes StoneCypher/fsl#709
  • +
+

 

+

 

+ + +

[Untagged] - 5/8/2022 2:28:05 AM

+
+

Commit ab5836a28c5f67eab17dc55c5a3488131b02977b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Unified transition and action, fixes StoneCypher/fsl#709
  • +
+

 

+

 

+ + + + +

[5.50.0] - 5/8/2022 2:05:05 AM

+
+

Commit 7a17acea1058691b3ff925add727f3b77b59f1ec

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [191ce28, 8b8e675]

+
    +
  • Merge pull request #448 from StoneCypher/UnifyTransitionAndForceTransition
  • +
  • Unify transition and force transition
  • +
+

 

+

 

+ + +

[Untagged] - 5/8/2022 1:48:38 AM

+
+

Commit 8b8e675b2175a8bc561f91b254d81a7f8750a77d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Unified transition and force_transition, fixes StoneCypher/fsl#707
  • +
+

 

+

 

+ + +

[Untagged] - 5/8/2022 1:45:27 AM

+
+

Commit c89d67e0d732c6a3ad764d79d5511d6689392c9e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • unified but let's eliminate those fcalls
  • +
+

 

+

 

+ + + + +

[5.49.0] - 5/8/2022 1:09:05 AM

+
+

Commit 191ce281b56673005e6e07572d2a70bfdc0523df

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [c1200b9, ec455c7]

+
    +
  • Merge pull request #447 from StoneCypher/HookAllTransitions
  • +
  • Hook all transitions
  • +
+

 

+

 

+ + +

[Untagged] - 5/8/2022 1:05:27 AM

+
+

Commit ec455c72ef81b7b3977936ea60077e4503a5fa1d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • All-transition hooks, fixes StoneCypher/fsl#665, fixes StoneCypher/fsl#683
  • +
+

 

+

 

+ + +

[Untagged] - 5/8/2022 12:37:39 AM

+
+

Commit d5cc00ee73b211e09f2afc243c76da639cd595d1

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • working implementation of .hook_all_transitions, needs tests
  • +
+

 

+

 

+ + +

[Untagged] - 5/7/2022 10:20:40 PM

+
+

Commit 508a5eb13b7a840de8e615dae860364894944070

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [bdaa94c, c1200b9]

+
    +
  • Merge branch 'main' into HookAllTransitions
  • +
+

 

+

 

+ + + + +

[5.48.0] - 5/7/2022 10:20:00 PM

+
+

Commit c1200b987f345ce9eab936e01a660ee0c5cb2d09

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [29e6d6f, bc63923]

+
    +
  • Merge pull request #446 from StoneCypher/HookActionsConvenienceApi
  • +
  • Fluent hooking API for actions, fixes StoneCypher/fsl#680
  • +
+

 

+

 

+ + +

[Untagged] - 5/7/2022 10:05:00 PM

+
+

Commit bc63923dd19af7fe452c035ec9c90a041590ba95

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Fluent hooking API for actions, fixes StoneCypher/fsl#680
  • +
+

 

+

 

+ + +

[Untagged] - 5/7/2022 10:00:54 PM

+
+

Commit bdaa94cd43af8387833e40ddf8a6c5487306f15e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • underway
  • +
+

 

+

 

+ + + + +

[5.47.0] - 5/5/2022 2:09:38 PM

+
+

Commit 29e6d6fce841cb59180d0915f93e1125c692557b

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [a72652c, 4f44dff]

+
    +
  • Merge pull request #445 from StoneCypher/HookActionsConvenienceApi
  • +
  • Convenience hook action call in fluent api
  • +
+

 

+

 

+ + +

[Untagged] - 5/5/2022 1:59:47 PM

+
+

Commit 4f44dff471dc0e73d6edd110841048adfa87b3b6

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Convenience hook action call in fluent api
  • +
+

 

+

 

+ + + + +

[5.46.0] - 5/5/2022 1:08:00 PM

+
+

Commit a72652c31d93173c454db80328936eae13843b3e

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [bd684b2, fa1bf46]

+
    +
  • Merge pull request #444 from StoneCypher/HooksConvenienceApi
  • +
  • Hooks convenience api
  • +
+

 

+

 

+ + +

[Untagged] - 5/5/2022 1:00:06 PM

+
+

Commit fa1bf463cfe39f0c97e1008faf14f4b6c331b944

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • missed the test updates, oops
  • +
+

 

+

 

+ + +

[Untagged] - 5/5/2022 12:59:23 PM

+
+

Commit 40caf515b66807719e240cb6c778be6461d44fc0

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Here we gooooooo, .hook, fixes StoneCypher/fsl#679
  • +
+

 

+

 

+ + + + +

[5.45.2] - 5/4/2022 1:31:54 PM

+
+

Commit bd684b210c19752665824bea584849db68144ff3

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [b5389e3, c346541]

+
    +
  • Merge pull request #443 from StoneCypher/CleanupStuff
  • +
  • Cleanup stuff
  • +
+

 

+

 

+ + +

[Untagged] - 5/4/2022 1:22:46 PM

+
+

Commit c346541bd314df9edd7dae91b70ee2e80648de20

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • small cleanup stuff
  • +
+

 

+

 

+ + +

[Untagged] - 5/3/2022 8:46:48 PM

+
+

Commit 8ed642e9a90fa04edf1dcd0155b668325270134f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • clean up some source notes
  • +
+

 

+

 

+ + +

[Untagged] - 5/3/2022 8:37:14 PM

+
+

Commit 9531ff4df6308d79fdfa9f5d1e5a45d24c8f9aff

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • remove viz.js, fixes StoneCypher/fsl#650
  • +
+

 

+

 

+ + + + +

[5.45.0] - 5/3/2022 5:51:11 PM

+
+

Commit b5389e3b905559dbdee13cabb2f1b20c6f58298b

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [5e0a801, 3041204]

+
    +
  • Merge pull request #442 from StoneCypher/SetHooksWithExplicitAction
  • +
  • set_hook(...) basics
  • +
+

 

+

 

+ + +

[Untagged] - 5/3/2022 5:40:22 PM

+
+

Commit 30412045f8f1444594a965f18a5140048a11312e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Working external API hooks with rejection, fixes StoneCypher/fsl#701, fixes StoneCypher/fsl#660
  • +
+

 

+

 

+ + +

[Untagged] - 5/3/2022 4:15:27 PM

+
+

Commit 58f4df20b9ca9d24da525a49c231b7cf7e1f048e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Basic working external api hooks, fixes StoneCypher/fsl#661, and api action hooks, fixes StoneCypher/fsl#662
  • +
+

 

+

 

+ + +

[Untagged] - 5/3/2022 12:20:21 PM

+
+

Commit f7e0dd94d368fdbd918b55311e5b53bdf830a2cd

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Add setup support for this._has_hooks, fixes StoneCypher/fsl#657; add performance differentiation tests for hooks, fixes StoneCypher/fsl#656
  • +
+

 

+

 

+ + +

[Untagged] - 5/3/2022 12:01:52 PM

+
+

Commit f1534eeae47b10c7847762f560de25cfee5813e9

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Trivial implementation on just .action; gated off for efficiency fixes StoneCypher/fsl#655
  • +
+

 

+

 

+ + +

[Untagged] - 5/2/2022 10:39:05 PM

+
+

Commit c95411f2a86da0857f7927fa0fc63a7256b0f296

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • underway
  • +
+

 

+

 

+ + +

[Untagged] - 4/26/2022 12:26:11 AM

+
+

Commit 330a670aaf0b8b793ad5d2c10d3321c9b1dd1b43

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • will get started here
  • +
+

 

+

 

+ + +

[Untagged] - 4/25/2022 11:52:03 PM

+
+

Commit 5e0a8011521db098fdbb0d10ec8f741a8b7ac496

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Set theme jekyll-theme-cayman
  • +
+

 

+

 

+ + + + +

[5.44.0] - 4/25/2022 11:38:12 PM

+
+

Commit e282c60fa77e9a48ea0e0b1c8d935587a6bb1c90

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [e0045ef, 4fea20f]

+
    +
  • Merge pull request #441 from StoneCypher/TryBenchingWithBenny
  • +
  • Try benching with benny
  • +
+

 

+

 

+ + +

[Untagged] - 4/25/2022 11:32:19 PM

+
+

Commit 4fea20f7072d64dfcdaf9a71634c06fc204ab41f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • omg that still said flowtype
  • +
+

 

+

 

+ + +

[Untagged] - 4/25/2022 11:29:40 PM

+
+

Commit 35cda8b77fb99a039665f0c33736d6e4d54844e5

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [e2cacd2, e0045ef]

+
    +
  • merged
  • +
+

 

+

 

+ + + + +

[5.43.2] - 4/19/2022 1:21:40 PM

+
+

Commit e0045ef686797f0d49ff7a1e522cb9edf7d15599

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Moved envvar export of tag to correct block; version bump and rebuild
  • +
+

 

+

 

+ + +

[Untagged] - 4/19/2022 1:14:37 PM

+
+

Commit 9933f5d94f899ef251b3175a332f3d8a8dd18179

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [74c9526, c2a50d0]

+
    +
  • Merge pull request #440 from StoneCypher/GateOffBranchDeploy2
  • +
  • Gate off branch deploy2
  • +
+

 

+

 

+ + +

[Untagged] - 4/19/2022 12:52:10 PM

+
+

Commit c2a50d0577e5202c067f1d6d61b12b71343dc3d2

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Cleaned up attribution, staging; version bump
  • +
+

 

+

 

+ + +

[Untagged] - 4/19/2022 12:46:15 PM

+
+

Commit 0c883301122ed58ed7fc5395d9162adbb07315c6

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • forgot to needs-gate vvr
  • +
+

 

+

 

+ + +

[Untagged] - 4/19/2022 12:16:17 PM

+
+

Commit 7d12c2fdd60b152518e1214b79dd2e6a60682f2e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Okay, it can verify the version for whoever, just gate the bump and release
  • +
+

 

+

 

+ + +

[Untagged] - 4/19/2022 11:59:15 AM

+
+

Commit 74c952634a3ed06ff2306e0540714a826f95bc78

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [bf49490, ecffd4f]

+
    +
  • Merge pull request #439 from StoneCypher/GateOffBranchDeploy
  • +
  • Gate off branch deploy. Move main build from 17 to 18.
  • +
+

 

+

 

+ + +

[Untagged] - 4/19/2022 11:54:46 AM

+
+

Commit ecffd4feb56f405862217ecc65288163accf2f24

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Gate off branch deploy. Move main build from 17 to 18.
  • +
+

 

+

 

+ + +

[Untagged] - 4/19/2022 11:50:52 AM

+
+

Commit e2cacd293ccafe98431ecd9ae016703959713498

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • getting ready to diff the benchmarks too
  • +
+

 

+

 

+ + +

[Untagged] - 4/19/2022 11:50:39 AM

+
+

Commit 660d34f48de8139e6593fd941513314e30c3435e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • getting ready to diff the benchmarks too
  • +
+

 

+

 

+ + + + +

[v5.42.0] - 4/19/2022 11:31:40 AM

+
+

Commit 1d15b0c87fd14ef94a7037041cae070c5302b752

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • version bump, straightened up scripts
  • +
+

 

+

 

+ + +

[Untagged] - 4/19/2022 9:31:42 AM

+
+

Commit 32c93dac533547dbce9c30085b431a40657711c8

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • hopefully that fixed the package-lock issue
  • +
+

 

+

 

+ + +

[Untagged] - 4/19/2022 9:26:25 AM

+
+

Commit c0e5d9ea644d6437ce90327d231431cfd830ce31

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Basic benchmarks now on disk
  • +
+

 

+

 

+ + +

[Untagged] - 4/19/2022 9:08:33 AM

+
+

Commit bcbc03e4817178b9c3dfb25f9cce771b9f1d1203

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [fbe88ef, bf49490]

+
    +
  • Pulling the Benny branch back
  • +
+

 

+

 

+ + + + +

[v5.41.15] - 4/18/2022 3:47:38 PM

+
+

Commit bf494900b7b47560ed8dd801fab089a57e743b1d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • another fake bump to try to trigger npm publish step correctly
  • +
+

 

+

 

+ + + + +

[v5.41.14] - 4/18/2022 3:07:01 PM

+
+

Commit e4992995d55f1d640f31bfdefc337ad3c9a32629

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • rephrase the token
  • +
+

 

+

 

+ + + + +

[v5.41.12] - 4/18/2022 3:00:51 PM

+
+

Commit b20c3da50d6c69d2af0a1e3e3883767d4d6d9d67

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • forgot the version bump
  • +
+

 

+

 

+ + +

[Untagged] - 4/18/2022 2:55:31 PM

+
+

Commit e155cd8eb6494ff37387561d800355a3118496ce

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • a different source advises npmrc (committed too early)
  • +
+

 

+

 

+ + +

[Untagged] - 4/18/2022 2:53:44 PM

+
+

Commit 7887a77c6c65be7363ea889268e6947a4cec7b3a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • a different source advises npmrc
  • +
+

 

+

 

+ + + + +

[v5.41.10] - 4/18/2022 1:36:02 PM

+
+

Commit b7265f28765b21ce3def37470ba2517fb33e7ff8

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • another facile commit to trigger first attempt at automatic NPM publish
  • +
+

 

+

 

+ + + + +

[v5.41.9] - 4/18/2022 1:27:16 PM

+
+

Commit 515b271be5011f31abf570d464f55d4a8f98ca7e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • facile commit to trigger first attempt at automatic NPM publish
  • +
+

 

+

 

+ + + + +

[v5.41.8] - 4/18/2022 1:04:47 PM

+
+

Commit 6cd5b8bbf4d0eb515c6989859f2b8e70ae5f4afa

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Trying to push package version into env from cli in ci/cd for auto release; rebuild and version bump
  • +
+

 

+

 

+ + + + +

[v5.41.7] - 4/18/2022 12:10:47 PM

+
+

Commit 3d8f9e47c6816cd80ea120a0456338f6c7b8c85f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • you need checkout v2 to commit
  • +
+

 

+

 

+ + +

[Untagged] - 4/18/2022 11:42:43 AM

+
+

Commit 10003babdd88b4c50f5706f416d008ba6499b0d9

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • ok maybe you don't commit tags
  • +
+

 

+

 

+ + +

[Untagged] - 4/18/2022 11:38:55 AM

+
+

Commit 583762c2b1244a46c80969b75e57b8b49aaea6bb

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • let's see what the error was in attempt 5 full automatic release, attempt 3
  • +
+

 

+

 

+ + +

[Untagged] - 4/18/2022 11:32:10 AM

+
+

Commit 775829affb743e82172667eb1afeabe907aaef62

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • let's see what the error was in attempt 5 full automatic release, attempt 2
  • +
+

 

+

 

+ + +

[Untagged] - 4/18/2022 11:05:22 AM

+
+

Commit 4e5a72ede9184c7d02f49c67b70a1edaacebded7

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • let's see what the error was in attempt 5 full automatic release
  • +
+

 

+

 

+ + +

[Untagged] - 4/18/2022 11:00:05 AM

+
+

Commit 14cf8f85ffab48e386664f2e9686a986f4e98e04

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • attempt 5 full automatic release
  • +
+

 

+

 

+ + +

[Untagged] - 4/18/2022 12:03:21 AM

+
+

Commit 1fc7bea94aac655098944f69c6b43c2ef1b6a3c8

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • attempt 4 full automatic release
  • +
+

 

+

 

+ + +

[Untagged] - 4/17/2022 11:59:35 PM

+
+

Commit 91b66521f9b2ba8cbf9154a6616f2134e6bfcc0b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • attempt 3 full automatic release
  • +
+

 

+

 

+ + +

[Untagged] - 4/17/2022 11:43:22 PM

+
+

Commit 26879647120567e37c932c55eafb536d572a4264

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • attempt 2 full automatic release
  • +
+

 

+

 

+ + +

[Untagged] - 4/17/2022 11:38:15 PM

+
+

Commit 8aba7402976218bb634a18cb75d4ff612d818d7e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • attempted full automatic release
  • +
+

 

+

 

+ + +

[Untagged] - 4/17/2022 11:29:48 PM

+
+

Commit bcc126d9ff7ea1a31d57a961dcf74d669a087ce7

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • need a 2nd pass install, derp
  • +
+

 

+

 

+ + +

[Untagged] - 4/17/2022 11:27:19 PM

+
+

Commit 824475829668b88c1cc87fb9014d5da11cca314d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • first attempt at an automatic tag and release in CI
  • +
+

 

+

 

+ + + + +

[v5.41.2] - 4/17/2022 10:59:56 PM

+
+

Commit aeaf6a5ff73b8d268fc440f2493125ea6a66a43a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • first steps towards automating tags, releases, and npm publishes
  • +
+

 

+

 

+ + +

[Untagged] - 4/17/2022 10:15:25 PM

+
+

Commit 5454fdba5cc0a4f0cd493766331ede43be8c71bd

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update packages; remove dying tsdoc theme
  • +
+

 

+

 

+ + +

[Untagged] - 4/17/2022 10:06:25 PM

+
+

Commit d50ba6895529b9fd7f30a4e1ba8c233b6691c4f2

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [e94598e, 1b9f4a0]

+
    +
  • Merge branch 'UpdateTime'
  • +
+

 

+

 

+ + +

[Untagged] - 4/17/2022 10:05:35 PM

+
+

Commit 1b9f4a01143e2e7bcea1c4b88fedb1b0d9ac1427

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • before updates pulled
  • +
+

 

+

 

+ + +

[Untagged] - 4/15/2022 7:34:18 PM

+
+

Commit e94598e5478a12da748a28860ff6862e74103dd7

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [06f486f, 40c22f0]

+
    +
  • Merge pull request #438 from StoneCypher/dependabot/npm_and_yarn/node-fetch-2.6.7
  • +
  • Bump node-fetch from 2.6.5 to 2.6.7
  • +
+

 

+

 

+ + +

[Untagged] - 4/15/2022 7:34:10 PM

+
+

Commit 06f486f49aa5756810038bdc94d58806d9860aa5

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [f4d79c3, db72fff]

+
    +
  • Merge pull request #435 from StoneCypher/dependabot/npm_and_yarn/minimist-1.2.6
  • +
  • Bump minimist from 1.2.5 to 1.2.6
  • +
+

 

+

 

+ + +

[Untagged] - 4/15/2022 7:18:10 PM

+
+

Commit f4d79c38e5d09b446afc015475453cee4cc09bcc

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [ea88820, 81b3226]

+
    +
  • Merge pull request #437 from StoneCypher/dependabot/npm_and_yarn/shelljs-0.8.5
  • +
  • Bump shelljs from 0.8.4 to 0.8.5
  • +
+

 

+

 

+ + +

[Untagged] - 4/15/2022 1:06:24 PM

+
+

Commit 40c22f0a3218fc5475f20fd1c20eff17a124f106

+

Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

+
    +
  • Bump node-fetch from 2.6.5 to 2.6.7
  • +
  • Bumps node-fetch from 2.6.5 to 2.6.7.
  • +
+ +

 

+

 

+ + +

[Untagged] - 4/15/2022 1:06:18 PM

+
+

Commit 81b322645cf6b15dfba36829f7d2b817a01a9214

+

Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

+
    +
  • Bump shelljs from 0.8.4 to 0.8.5
  • +
  • Bumps shelljs from 0.8.4 to 0.8.5.
  • +
+ +

 

+

 

+ + +

[Untagged] - 4/15/2022 1:05:45 PM

+
+

Commit ea888208e6a78d80aca2cdaba96f46a3c992aee8

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [0c9eb40, 1e63533]

+
    +
  • Merge pull request #436 from StoneCypher/dependabot/npm_and_yarn/async-3.2.3
  • +
  • Bump async from 3.2.1 to 3.2.3
  • +
+

 

+

 

+ + +

[Untagged] - 4/12/2022 5:06:48 PM

+
+

Commit 1e6353393a08be0528c312c247c4e0b1e13bab79

+

Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

+
    +
  • Bump async from 3.2.1 to 3.2.3
  • +
  • Bumps async from 3.2.1 to 3.2.3.
  • +
+ +

 

+

 

+ + +

[Untagged] - 4/8/2022 3:31:10 PM

+
+

Commit db72fffa827ed106b115b67ff78d9e3bf917eb55

+

Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

+
    +
  • Bump minimist from 1.2.5 to 1.2.6
  • +
  • Bumps minimist from 1.2.5 to 1.2.6.
  • +
+ +

 

+

 

+ + +

[Untagged] - 3/15/2022 10:17:01 AM

+
+

Commit 0c9eb403afe116744b4fbe3b42845b0db7b97fc2

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • the discord banner wasn't a link
  • +
+

 

+

 

+ + +

[Untagged] - 11/28/2021 12:11:34 PM

+
+

Commit 4be74ac799167a2f79df3e6785a042608dd23166

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [50ea9f6, 952072e]

+
    +
  • Merge pull request #433 from StoneCypher/HooksOpenHooksClosedInGrammar
  • +
  • Hooks open and hooks closed are in grammar; tests suppressed because they still throw in the compiler. Fixes StoneCypher/fsl#644
  • +
+

 

+

 

+ + +

[Untagged] - 11/13/2021 10:38:04 AM

+
+

Commit 50ea9f66f3a6cd4a55cdeba18d274ab89ce52fe0

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • redo because the widget was off and the number got cached
  • +
+

 

+

 

+ + +

[Untagged] - 11/13/2021 10:37:38 AM

+
+

Commit efc9c99ec88c0fbcba5e4b5baface91e225a529b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 11/13/2021 10:36:43 AM

+
+

Commit 88e03669004b61d1541442e7c2d8d2279397c474

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • ok try the other way
  • +
+

 

+

 

+ + +

[Untagged] - 11/13/2021 10:36:09 AM

+
+

Commit f23e0de7ccf6069dbfe63b4b33feae51eab5354c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • update discord link, add widget
  • +
+

 

+

 

+ + +

[Untagged] - 10/29/2021 1:47:58 PM

+
+

Commit 952072e8ce281bedf6ad2042fe888db7af2352b8

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Hooks open and hooks closed are in grammar; tests suppressed because they still throw in the compiler. Fixes StoneCypher/fsl#644
  • +
+

 

+

 

+ + +

[Untagged] - 10/29/2021 12:04:11 AM

+
+

Commit 302646ac3039a8b3ad43db7f8befa2b97efe6719

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [d078888, f0869e0]

+
    +
  • Merge pull request #432 from StoneCypher/AddEmptyStateForbiddanceTests
  • +
  • Tests to ensure empty state names are forbidden in string and datastr…
  • +
+

 

+

 

+ + +

[Untagged] - 10/28/2021 11:55:21 PM

+
+

Commit f0869e0de60bd5711144c132063aa42f396b6a2e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Tests to ensure empty state names are forbidden in string and datastructure, fixes StoneCypher/fsl#598
  • +
+

 

+

 

+ + +

[Untagged] - 10/20/2021 1:48:21 PM

+
+

Commit d07888857d95df81fac0f3d039a39dde2812874e

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [50eb6f8, 8ee2796]

+
    +
  • Merge pull request #431 from StoneCypher/UpdateToClearSecurityIssues
  • +
  • Update to clear security issues
  • +
+

 

+

 

+ + +

[Untagged] - 10/20/2021 1:44:13 PM

+
+

Commit 8ee279641b6bf9ce587c2ad4a4c5fa50ce62c6ee

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • remove double test process; remove docs and site from ci build
  • +
+

 

+

 

+ + +

[Untagged] - 10/20/2021 1:38:02 PM

+
+

Commit e4d3752f4b8f2fee5813e5a61a299a797af1dd76

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • recreate package lock; regen docs
  • +
+

 

+

 

+ + +

[Untagged] - 10/19/2021 11:20:03 AM

+
+

Commit 6809964ac88c82808d285864dd1f5db5f98d8072

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Audit fix automatic, no force; will continue
  • +
+

 

+

 

+ + +

[Untagged] - 10/19/2021 11:07:09 AM

+
+

Commit 50eb6f8c06d937c04b8b76e79883251a405ccb4f

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [dd472db, cdedc1e]

+
    +
  • Merge branch 'BumpTypedocAndBumpCiNodeVersion'
  • +
+

 

+

 

+ + +

[Untagged] - 10/19/2021 11:07:02 AM

+
+

Commit dd472db88e66f3093cd29b1de86dbb2f1caaff10

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [53f01ab, 15d06a6]

+
    +
  • Merge branch 'main' of github.com:StoneCypher/jssm
  • +
+

 

+

 

+ + +

[Untagged] - 10/19/2021 10:55:51 AM

+
+

Commit cdedc1e270b9ad678f16e54d1b0f4357b500f764

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Bump Typedoc; bump CI to node 17
  • +
+

 

+

 

+ + +

[Untagged] - 10/19/2021 12:11:56 AM

+
+

Commit 15d06a6e9541c0cfdaf8075e1b8dbe9841e281ce

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 8/29/2021 10:55:57 AM

+
+

Commit 53f01abed397540a31c14d131e32a2ebf2cc0ce9

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • merge nonsense
  • +
+

 

+

 

+ + +

[Untagged] - 8/29/2021 10:52:38 AM

+
+

Commit ea4767de2a309ddd9977295fb872ae6b92ef8231

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [f74f12c, 7b72373]

+
    +
  • Merge pull request #430 from StoneCypher/AddLineStyleTests
  • +
  • adds tests for line styles
  • +
+

 

+

 

+ + +

[Untagged] - 8/29/2021 10:49:30 AM

+
+

Commit 7b723733ad86de55e9ca93854114932f4d4a98c8

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • adds tests for line styles
  • +
+

 

+

 

+ + +

[Untagged] - 4/27/2021 1:04:27 PM

+
+

Commit f74f12cbcc6355a73239ef6e6e3a401a0ec37f97

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • update node polyhead to 16 in ci, add 15 to fallbacks
  • +
+

 

+

 

+ + +

[Untagged] - 4/18/2021 3:51:46 PM

+
+

Commit 871753e71ccaf49682b6fa4b5d5f45c251c5dbae

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [1d0e38e, 0fd677b]

+
    +
  • Merge pull request #429 from machinshin/name-theory
  • +
  • Punjabi Name Theory;closes StoneCypher/fsl#607
  • +
+

 

+

 

+ + +

[Untagged] - 4/18/2021 3:32:09 PM

+
+

Commit 0fd677b8c0a62c568017e0109affcef050b5fd20

+

Author: Vat Raghavan <machinshin@gmail.com>

+
    +
  • Punjabi Name Theory;closes StoneCypher/fsl#607
  • +
+

 

+

 

+ + +

[Untagged] - 4/14/2021 3:26:21 PM

+
+

Commit 1d0e38e4cb945e67631880246a07cbb705b8fe37

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [b557a87, 49415ad]

+
    +
  • Merge pull request #428 from machinshin/why_because_analysis
  • +
  • Why-because analysis
  • +
+

 

+

 

+ + +

[Untagged] - 4/14/2021 3:22:27 PM

+
+

Commit 49415ad91484d21637e81014019285b3f2827d84

+

Author: Vat Raghavan <machinshin@gmail.com>

+
    +
  • Why-because analysis, closes StoneCypher/fsl#49
  • +
+

 

+

 

+ + +

[Untagged] - 4/14/2021 3:21:52 PM

+
+

Commit e391c46259380cdf6ac7f2d97fc0cf8415a8ece2

+

Author: Vat Raghavan <machinshin@gmail.com>

+
    +
  • typo fix
  • +
+

 

+

 

+ + +

[Untagged] - 4/12/2021 3:24:40 PM

+
+

Commit b557a87ec0148da47ae232797a96234e89012b5a

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [24ce4f1, bc2ca51]

+
    +
  • Merge pull request #426 from machinshin/think_rhino
  • +
  • Unprisoning your Think Rhino; cloes StoneCypher/fsl#502
  • +
+

 

+

 

+ + +

[Untagged] - 4/12/2021 3:23:42 PM

+
+

Commit bc2ca51e2313195ed80e3296cb06507b18025178

+

Author: Vat Raghavan <machinshin@gmail.com>

+
    +
  • CR1
  • +
+

 

+

 

+ + +

[Untagged] - 4/12/2021 3:11:37 PM

+
+

Commit 24ce4f1c7d8685485a559643570f7617e2a6c06a

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [715a1b4, c1c1cff]

+
    +
  • Merge pull request #427 from machinshin/unit_chains
  • +
  • Unit Chains, closes StoneCypher/fsl#520
  • +
+

 

+

 

+ + +

[Untagged] - 4/12/2021 2:56:38 PM

+
+

Commit c1c1cff6face8dc212b6aef0630ac41500bfc333

+

Author: Vat Raghavan <machinshin@gmail.com>

+
    +
  • Unit Chains, closes StoneCypher/fsl#520
  • +
+

 

+

 

+ + +

[Untagged] - 4/12/2021 2:09:01 PM

+
+

Commit 990363e32a7d27877f17ffe0a8057f8fbf1ce6d5

+

Author: Vat Raghavan <machinshin@gmail.com>

+
    +
  • Unprisoning your Think Rhino; cloes StoneCypher/fsl#502
  • +
+

 

+

 

+ + +

[Untagged] - 4/8/2021 3:07:34 PM

+
+

Commit 715a1b461f232541c38aeaecbbdb11c6f4cacdb5

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [b69d705, c149f25]

+
    +
  • Merge pull request #424 from machinshin/seq_function_chart
  • +
  • closes StoneCypher/fsl#41
  • +
+

 

+

 

+ + +

[Untagged] - 4/7/2021 2:43:24 PM

+
+

Commit c149f259fa6d8dc112c01cf921cb9b1bb58e0cf0

+

Author: Vat Raghavan <machinshin@gmail.com>

+
    +
  • closes StoneCypher/fsl#41
  • +
+

 

+

 

+ + +

[Untagged] - 4/7/2021 1:23:39 PM

+
+

Commit b69d70575742a22956c3bbe374cb870214a33ea4

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [8c3d261, c7da077]

+
    +
  • Merge pull request #423 from machinshin/comedy-flowcharts
  • +
  • closes StoneCypher/fsl#48
  • +
+

 

+

 

+ + +

[Untagged] - 4/7/2021 11:59:01 AM

+
+

Commit c7da077acbca0d2b071125a334a244f0b7a1c43c

+

Author: Vat Raghavan <machinshin@gmail.com>

+
    +
  • CR1
  • +
+

 

+

 

+ + +

[Untagged] - 4/7/2021 11:10:11 AM

+
+

Commit 31b5f5b9e71acebe02facd2039d25111004c0f1d

+

Author: Vat Raghavan <machinshin@gmail.com>

+
    +
  • closes StoneCypher/fsl#48
  • +
+

 

+

 

+ + +

[Untagged] - 4/6/2021 11:37:31 PM

+
+

Commit 8c3d26196f78e4c300fd8531cb7233d7b572a771

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [5a4f8b7, ef5b954]

+
    +
  • Merge pull request #422 from machinshin/main
  • +
  • partially fixes StoneCypher/fsl#48
  • +
+

 

+

 

+ + +

[Untagged] - 4/6/2021 11:24:05 PM

+
+

Commit ef5b954e0604ab5f63f9fcafeb457d7b77e522a5

+

Author: Vat Raghavan <machinshin@gmail.com>

+
    +
  • partially fixes StoneCypher/fsl#48
  • +
+

 

+

 

+ + +

[Untagged] - 3/4/2021 7:30:38 AM

+
+

Commit fbe88ef08bb9880cb0f4edd810993656c8f496bb

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • underway
  • +
+

 

+

 

+ + +

[Untagged] - 1/24/2021 4:02:23 PM

+
+

Commit 5a4f8b7d898b52bc4680aa49dd466dcb40ab86e9

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [909ccaf, 5e9b93d]

+
    +
  • Merge pull request #421 from StoneCypher/SetUpFastCheck
  • +
  • running stoch tests for seq, but not yet part of the mainline build
  • +
+

 

+

 

+ + +

[Untagged] - 1/23/2021 6:45:06 PM

+
+

Commit 5e9b93d0ccf1c0a87833461bab26586cd1d80fb2

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • running stoch tests for seq, but not yet part of the mainline build
  • +
+

 

+

 

+ + +

[Untagged] - 1/21/2021 12:36:47 PM

+
+

Commit 909ccaf6f0e88cafa66c8790edcd2ca3abcc6b41

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • notes touch-up
  • +
+

 

+

 

+ + +

[Untagged] - 1/19/2021 11:56:13 AM

+
+

Commit 2e4f599175c0cce540bae3427d94ccacb5dca4cc

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Moar docs
  • +
+

 

+

 

+ + +

[Untagged] - 1/19/2021 11:02:53 AM

+
+

Commit 19cd4a3b69fd9fe54dcf0f79803848a2a3bcbea1

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • minor readme touchup
  • +
+

 

+

 

+ + +

[Untagged] - 1/19/2021 10:23:37 AM

+
+

Commit baf1ff610f7ccf248f7aef2387a33beae5ccf905

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [32a4e2b, 90efa97]

+
    +
  • Merge pull request #420 from StoneCypher/ReadmeImprovementsAgain
  • +
  • Some small readme improvements
  • +
+

 

+

 

+ + +

[Untagged] - 1/19/2021 10:22:37 AM

+
+

Commit 90efa977049dd8c0b4bd817e9773c57a6bbe5e2c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Some small readme improvements
  • +
+

 

+

 

+ + +

[Untagged] - 1/19/2021 9:22:31 AM

+
+

Commit 32a4e2b66b36a49c9505aa5a5b26329920509c1c

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [3db22c2, 5f1d7b6]

+
    +
  • Merge pull request #419 from StoneCypher/AddTypeDoc
  • +
  • Put docgen back in automation, fixes @stonecypher/fsl#544
  • +
+

 

+

 

+ + +

[Untagged] - 1/19/2021 8:57:49 AM

+
+

Commit 5f1d7b63c37b4fe014787379e7e564d08e4d6246

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Put docgen back in automation, fixes @stonecypher/fsl#544
  • +
+

 

+

 

+ + +

[Untagged] - 1/19/2021 8:49:01 AM

+
+

Commit 3db22c2d28ed21590b3f8b6b36a7543039414899

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [18b0113, bbd99f5]

+
    +
  • Merge pull request #418 from StoneCypher/AddTypeDoc
  • +
  • Better docs with TypeDoc
  • +
+

 

+

 

+ + +

[Untagged] - 1/19/2021 8:32:39 AM

+
+

Commit bbd99f50e2281fd1b4d3d9a3d77973eaf0f8cbb7

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Better docs with TypeDoc
  • +
+

 

+

 

+ + +

[Untagged] - 1/19/2021 8:16:22 AM

+
+

Commit 18b0113f0f79ffbf5b2edf8649c1d9ee56df35a5

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Reacquire 100% coverage, fixes #555
  • +
+

 

+

 

+ + +

[Untagged] - 1/18/2021 11:45:05 PM

+
+

Commit fe14695a0cefbb1caa6421c9d64c7221c38a1868

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [99bd09e, f8016ad]

+
    +
  • Merge pull request #417 from StoneCypher/MoveFromAvaToJest
  • +
  • Move from ava to jest
  • +
+

 

+

 

+ + +

[Untagged] - 1/18/2021 11:44:42 PM

+
+

Commit f8016ad1e280169f1f7013df852da308e78c4dbc

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [a92e1df, 99bd09e]

+
    +
  • resolve gh action, remove node14 macos and node14 windows build
  • +
+

 

+

 

+ + +

[Untagged] - 1/18/2021 11:34:15 PM

+
+

Commit a92e1df97011c344568b0d83f825034e52c3c098

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • point coveralls at new spec directory
  • +
+

 

+

 

+ + +

[Untagged] - 1/18/2021 11:26:47 PM

+
+

Commit 7487820c1732737d08e6719ead015dc43d17669c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • maybe tests repaired? fixes @stonecypher/fsl#546, fixes @stonecypher/fsl#262, fixes @stonecypher/fsl#140, fixes @stonecypher/fsl#170
  • +
+

 

+

 

+ + +

[Untagged] - 1/18/2021 11:12:29 PM

+
+

Commit 640e85da092d82be2458ea513b05baf23af90426

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • re-enable cross-platform testing now that the jest stuff is maybe fixed, fixes @stonecypher/jest#552
  • +
+

 

+

 

+ + +

[Untagged] - 1/18/2021 11:08:49 PM

+
+

Commit f96c7ec7193a5964019b60d1eef7c7eacd2a786a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • arrange, actions, touch up text_audit fixes @stonecypher/fsl#549, fixes @stonecypher/fsl#550, fixes @stonecypher/fsl#551
  • +
+

 

+

 

+ + +

[Untagged] - 1/18/2021 10:56:36 PM

+
+

Commit 6c88875931c10f7a77e1ab52499ea254e7c6bc55

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • update actions, general, probability, sample_select
  • +
+

 

+

 

+ + +

[Untagged] - 1/16/2021 4:51:24 PM

+
+

Commit a5de9cb06582f302a6da48bbc57aff8c33dc0c60

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • all but five specs converted now
  • +
+

 

+

 

+ + +

[Untagged] - 1/16/2021 3:53:05 PM

+
+

Commit 2965bff17a8396b03fdf3ea10d7c7e8727d612d8

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Remove some obsolete eslint stuff, upgrade more testsets
  • +
+

 

+

 

+ + +

[Untagged] - 1/16/2021 3:30:29 PM

+
+

Commit 17c16604962c573975f848e3831186a03d28fa0e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • remove eslint-plugin-ava; nyc; documentation
  • +
+

 

+

 

+ + +

[Untagged] - 1/16/2021 3:29:11 PM

+
+

Commit 0f3d5ec140980bc124a3d1d9c5c01a610eca2ee6

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • remove ava; remove ava-spec; fix embedded_sm
  • +
+

 

+

 

+ + +

[Untagged] - 1/16/2021 2:45:29 PM

+
+

Commit 516499488cd6854b121369b8f931628ad1179ca3

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • remove ava test cases :D
  • +
+

 

+

 

+ + +

[Untagged] - 1/16/2021 2:45:11 PM

+
+

Commit 24a08b2402e52a379fb4a5db451b10a82718cbf8

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • change eslint to point at new tests on .ts; fix minor issues; disable unused detection because ts already does it and it's buggy
  • +
+

 

+

 

+ + +

[Untagged] - 1/16/2021 1:39:26 PM

+
+

Commit fa8385cb70a48095b0a1b9d0ad2ae6d0caa03f06

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Wrap parse(any, any) in parse(string, Object), fixes #543
  • +
+

 

+

 

+ + +

[Untagged] - 1/16/2021 11:30:28 AM

+
+

Commit d625d360882d4fbd42e2abfd01fe41979a39b7e1

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Does converting machine_attributes.spec.ts from require to import fix just that one?
  • +
+

 

+

 

+ + +

[Untagged] - 1/16/2021 8:12:57 AM

+
+

Commit e625face346bbb9ab35f559e60e59ba73ca284eb

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • let's see if the difference is my machine or windows
  • +
+

 

+

 

+ + +

[Untagged] - 1/16/2021 8:12:06 AM

+
+

Commit 99bd09ecbd4c2a12435a235098aeba6698fbdae8

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • let's see if the difference is my machine or windows
  • +
+

 

+

 

+ + +

[Untagged] - 1/15/2021 8:14:56 PM

+
+

Commit 9152701bd8ae10af59d81d8d2040aa7c21baafe6

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • get the runner too, duh
  • +
+

 

+

 

+ + +

[Untagged] - 1/15/2021 8:14:29 PM

+
+

Commit 0915833bf1c004a161b42056343264c24e562454

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • apparently jest doesn't support node8. 8 went eol years ago, so, meh
  • +
+

 

+

 

+ + +

[Untagged] - 1/15/2021 5:52:13 PM

+
+

Commit 54a51fdfc2482d688ab880594d5f4819a0fc0ac3

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • switched to Jest
  • +
+

 

+

 

+ + +

[Untagged] - 1/15/2021 4:20:23 PM

+
+

Commit f3def9813c824a7a9ce9fdb56e7b464fc8b364bf

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • array_box_if_string, embedded_sm, probability, sample_select, state_declaration; about to switch
  • +
+

 

+

 

+ + +

[Untagged] - 1/15/2021 2:10:03 PM

+
+

Commit 185f17805fc604d7e4e442a28aa2840d78214324

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • machine attributes (oof)
  • +
+

 

+

 

+ + +

[Untagged] - 1/15/2021 1:38:26 PM

+
+

Commit 0f8674df71a410bbfe632f373686a04aadb69a21

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • the large 'general' spec, parse, stop light
  • +
+

 

+

 

+ + +

[Untagged] - 1/14/2021 6:53:10 PM

+
+

Commit f8442a20dfabd3467ebfc7136567682e8863c328

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • add layout, machine_name, named lists, nominated states, parse actions, r639, seq, shapes, sm_tag, special characters, and state_style
  • +
+

 

+

 

+ + +

[Untagged] - 1/14/2021 6:11:10 PM

+
+

Commit bdc5a4b29b73d0c89c3427cd466d308ae2571c05

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • add forced transitions, graph node lists, histo, stripes, theme, weighted histo key, weighted rand select, weighted sample select
  • +
+

 

+

 

+ + +

[Untagged] - 1/14/2021 5:31:08 PM

+
+

Commit 833ccdaaa84e10e8dbefef80e1ff06bcaf07c790

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • add comment, compile, cycles, dot_preamble, flow
  • +
+

 

+

 

+ + +

[Untagged] - 1/14/2021 4:51:01 PM

+
+

Commit dd8b528d3cfcdc1cf9b7761b2c4ca561acc5b157

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • convert arrow, arrow unicode, colors, constants, language
  • +
+

 

+

 

+ + +

[Untagged] - 1/14/2021 4:03:08 PM

+
+

Commit a2b70f9f0ce3543bd49c087400029998d17df823

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • convert actions to spec. convert array_transitions to spec.
  • +
+

 

+

 

+ + +

[Untagged] - 1/14/2021 3:25:05 PM

+
+

Commit fb301b6e1c987cebce479de59016b3a4c55ecd1c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Working func and stoch paths for jest, fixes fsl/#537
  • +
+

 

+

 

+ + +

[Untagged] - 1/14/2021 3:18:25 PM

+
+

Commit 54e44a47b4ee17a8b4ef6f155c2376d61894e23d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • suppress documentation (fixes #534), moves source to ts (fixes #535)
  • +
+

 

+

 

+ + +

[Untagged] - 1/14/2021 2:41:54 PM

+
+

Commit 35de413b4da3228cdf82894eb5d246ab1f018fbc

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [8559a76, 77c5fb9]

+
    +
  • Merge pull request #413 from StoneCypher/RemoveUglify
  • +
  • stray old version minifier was still being installed incorrectly
  • +
+

 

+

 

+ + +

[Untagged] - 1/14/2021 2:41:44 PM

+
+

Commit 8559a768c9eb9ce4ecf81b44bc83ccb811c820fc

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [262f795, 58c9a84]

+
    +
  • Merge pull request #414 from StoneCypher/UpdateCiVersionClaim
  • +
  • Update ci version claim
  • +
+

 

+

 

+ + +

[Untagged] - 1/14/2021 2:34:38 PM

+
+

Commit 58c9a8458cebc8f3403bf2651a8f9f2320a05583

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • alternate sparse matrix notation
  • +
+

 

+

 

+ + +

[Untagged] - 1/14/2021 2:31:56 PM

+
+

Commit e3d8652eb9de73acea49ebe82d72db0dfca1a545

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Node 6 doesn't support some of the language constructs in use, eg spread. Remove it from runner and update minimum claim to 8
  • +
+

 

+

 

+ + +

[Untagged] - 1/14/2021 2:30:49 PM

+
+

Commit a58272fa6facf7908e80ae5badf7a2cfe0f6c87d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Version claim was missing windows. Attempt sparse matrix
  • +
+

 

+

 

+ + +

[Untagged] - 1/14/2021 2:25:14 PM

+
+

Commit 3364804edaefd4e3a43fa867fd07c2aa8fd0af34

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Version claim was at 13, but node 15 exists. Also, if min node is 6, we should test 6.
  • +
+

 

+

 

+ + +

[Untagged] - 1/14/2021 2:19:25 PM

+
+

Commit 77c5fb9cde854ab644f5eabe2f3a791171f508be

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • stray old version minifier was still being installed incorrectly
  • +
+

 

+

 

+ + +

[Untagged] - 1/14/2021 2:16:48 PM

+
+

Commit 262f7951481f4f1994f5d15ae6dd70e1330f195d

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [40616d1, 87e6ee0]

+
    +
  • Merge pull request #412 from StoneCypher/MoveToTS4
  • +
  • Move to ts4
  • +
+

 

+

 

+ + +

[Untagged] - 1/14/2021 2:09:10 PM

+
+

Commit 87e6ee0286314acab087a892e83e6e12ebe77ca6

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • c'mon dep
  • +
+

 

+

 

+ + +

[Untagged] - 1/14/2021 2:05:42 PM

+
+

Commit 5ebff61ecdf3aed91a5d993dcfcd27a92b2541e0

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • merge conflict
  • +
+

 

+

 

+ + +

[Untagged] - 1/14/2021 2:02:41 PM

+
+

Commit 309af55c98d912d8c14382c31b3fa28fc82aa4f6

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [f19deb1, 40616d1]

+
    +
  • Merge branch 'master' into MoveToTS4
  • +
+

 

+

 

+ + +

[Untagged] - 1/14/2021 1:59:21 PM

+
+

Commit f19deb1e0583fffc52890801e6d5771b71a7c6a9

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Move to TS4
  • +
+

 

+

 

+ + +

[Untagged] - 1/14/2021 1:14:47 PM

+
+

Commit 78a99337c1e690abeac5c9c03c745f50393c43ae

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • fix 531 soon
  • +
+

 

+

 

+ + +

[Untagged] - 12/12/2020 12:12:47 AM

+
+

Commit 40616d156e4a26e4f84e01984fcaf5487754e696

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [52c6b10, 965ee9e]

+
    +
  • Merge pull request #409 from StoneCypher/dependabot/npm_and_yarn/highlight.js-9.18.5
  • +
  • Bump highlight.js from 9.18.1 to 9.18.5
  • +
+

 

+

 

+ + +

[Untagged] - 12/12/2020 12:12:33 AM

+
+

Commit 52c6b10ec64938bf3ea3c088eb642aa62394bddd

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [542f2b9, e7fe1b6]

+
    +
  • Merge pull request #408 from StoneCypher/dependabot/npm_and_yarn/bl-1.2.3
  • +
  • Bump bl from 1.2.2 to 1.2.3
  • +
+

 

+

 

+ + +

[Untagged] - 12/11/2020 11:39:24 PM

+
+

Commit e7fe1b6d96fe53a85128d20a98c1aad8dba71ca4

+

Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

+
    +
  • Bump bl from 1.2.2 to 1.2.3
  • +
  • Bumps bl from 1.2.2 to 1.2.3.
  • +
+ +

 

+

 

+ + +

[Untagged] - 12/11/2020 11:38:26 PM

+
+

Commit 542f2b9f5ef41c46dddc2cd95fec0a0290e41b38

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [8e844fa, 681ff85]

+
    +
  • Merge pull request #407 from StoneCypher/dependabot/npm_and_yarn/dot-prop-4.2.1
  • +
  • Bump dot-prop from 4.2.0 to 4.2.1
  • +
+

 

+

 

+ + +

[Untagged] - 12/11/2020 11:38:17 PM

+
+

Commit 8e844fabf8ba02e8b8f8975cd158d229b693c5d4

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [081372b, 5ab1d44]

+
    +
  • Merge pull request #403 from StoneCypher/dependabot/npm_and_yarn/websocket-extensions-0.1.4
  • +
  • Bump websocket-extensions from 0.1.3 to 0.1.4
  • +
+

 

+

 

+ + +

[Untagged] - 12/11/2020 11:20:09 PM

+
+

Commit 081372bf499b751f504a03bf2eba355d059733cd

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [9befda9, 5bf6c07]

+
    +
  • Merge pull request #405 from StoneCypher/dependabot/npm_and_yarn/lodash-4.17.19
  • +
  • Bump lodash from 4.17.15 to 4.17.19
  • +
+

 

+

 

+ + +

[Untagged] - 12/11/2020 11:18:35 PM

+
+

Commit 9befda958152b1b15791cb3bf94d679debcb26b7

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [bc81825, e4ea71d]

+
    +
  • Merge pull request #410 from StoneCypher/dependabot/npm_and_yarn/ini-1.3.7
  • +
  • Bump ini from 1.3.5 to 1.3.7
  • +
+

 

+

 

+ + +

[Untagged] - 12/10/2020 9:23:46 AM

+
+

Commit e4ea71d6fdf1b3c92e1bb1e64894b0ce03b517b7

+

Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

+
    +
  • Bump ini from 1.3.5 to 1.3.7
  • +
  • Bumps ini from 1.3.5 to 1.3.7.
  • +
+ +

 

+

 

+ + +

[Untagged] - 11/24/2020 3:10:57 PM

+
+

Commit 965ee9e06b19594140bca2873e3b4e366a008cd8

+

Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

+
    +
  • Bump highlight.js from 9.18.1 to 9.18.5
  • +
  • Bumps highlight.js from 9.18.1 to 9.18.5.
  • +
+ +

 

+

 

+ + +

[Untagged] - 11/1/2020 3:01:48 PM

+
+

Commit bc81825847eea5d03bcd353a074feadaac3542c2

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 11/1/2020 2:59:02 PM

+
+

Commit cb8dfc477f3b11ad401507cf2508fc07587b893f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 11/1/2020 2:53:03 PM

+
+

Commit b0ac58a8542619ef6d65f87fee89afb01eac62ea

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 11/1/2020 2:52:55 PM

+
+

Commit 681ff85350f19317eab3d2db3029fc47cfa19521

+

Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

+
    +
  • Bump dot-prop from 4.2.0 to 4.2.1
  • +
  • Bumps dot-prop from 4.2.0 to 4.2.1.
  • +
+ +

 

+

 

+ + +

[Untagged] - 11/1/2020 2:52:31 PM

+
+

Commit b2c0dabfce6625efbc45243b6022656c7b9770a2

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • star chart
  • +
+

 

+

 

+ + +

[Untagged] - 11/1/2020 2:52:07 PM

+
+

Commit 147efd39c45fa6172cdfda1b167e9c32a530d792

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Looks like David Dependency Manager doesn't exist anymore
  • +
+

 

+

 

+ + +

[Untagged] - 9/16/2020 11:52:15 PM

+
+

Commit 230864ac6115f0f256d3c934e004a3d0d257f5f9

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [bc60d8c, 17a8b4f]

+
    +
  • Merge pull request #406 from kraln/patch-1
  • +
  • Fix: Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 8/19/2020 10:29:50 AM

+
+

Commit 17a8b4f3b8e67e409a7fe9e7e812b5c72882f803

+

Author: Jeff Katz <github@kraln.com>

+
    +
  • Fix: Update README.md
  • +
  • Fix link to Jeff Katz in README.md
  • +
+

 

+

 

+ + +

[Untagged] - 7/15/2020 2:06:07 PM

+
+

Commit 5bf6c0736fc4a91924575e068f40b35b07896979

+

Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

+
    +
  • Bump lodash from 4.17.15 to 4.17.19
  • +
  • Bumps lodash from 4.17.15 to 4.17.19.
  • +
+ +

 

+

 

+ + +

[Untagged] - 6/5/2020 11:51:54 PM

+
+

Commit 5ab1d444fd4e33c32516ffc8f760e7d4248e7ad0

+

Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

+ + +

 

+

 

+ + +

[Untagged] - 4/24/2020 9:44:34 PM

+
+

Commit bc60d8cf68d1ed7cf465384afd72ed69933e4770

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • TS has a type for template string arrays apparently
  • +
+

 

+

 

+ + +

[Untagged] - 4/24/2020 1:38:50 PM

+
+

Commit e8fa0b0a9e93cfc0b91a798b5e823e54a0b6fad5

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • maybe it needs to be written as a local expr?
  • +
+

 

+

 

+ + +

[Untagged] - 4/24/2020 1:31:35 PM

+
+

Commit a252cfc3fe8fc3a849ce84af5d77607a2aea6298

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Types aren't in dist, they're in root
  • +
+

 

+

 

+ + +

[Untagged] - 4/24/2020 1:21:01 PM

+
+

Commit b6783c37f32bb74ac54d5399b22873d0624669af

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Apparently the .d.ts wasn't exposed
  • +
+

 

+

 

+ + +

[Untagged] - 4/12/2020 8:25:50 PM

+
+

Commit 476072553d8eba0389a0fdbae4c9ea7791f1881b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Add images to readme that npm can show
  • +
+

 

+

 

+ + +

[Untagged] - 4/12/2020 7:36:02 PM

+
+

Commit 9ee168039607290669289ac6c2c76e2911697444

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • 639 to 1 being a devdep was breaking es6 builds downstream
  • +
+

 

+

 

+ + + + +

[v5.32.14] - 4/12/2020 6:04:39 PM

+
+

Commit 74cec294bb969cef454e197896cfa39a507d64c2

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Okay let's try doing this through .npmignore only
  • +
+

 

+

 

+ + +

[Untagged] - 4/12/2020 5:52:20 PM

+
+

Commit 1c51d966c3ca60db51d18026f8c9e5d9eebe5afb

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • could it be faulting me for having both a files and an npmignore?
  • +
+

 

+

 

+ + +

[Untagged] - 4/12/2020 5:45:45 PM

+
+

Commit de64553c1a6a4f646380fd467818f174226bb08e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • adding nyc output in hopes of raising q again
  • +
+

 

+

 

+ + +

[Untagged] - 4/12/2020 5:44:07 PM

+
+

Commit 47107ac1f73cb43527338cc18c20b5add457f7bf

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • dropped back to 65. try adding nyc output
  • +
+

 

+

 

+ + +

[Untagged] - 4/12/2020 5:32:11 PM

+
+

Commit 01258132c016fed2a793966e89720a633a3c3549

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • re-add files section containing tests and certain residues, hoping to keep npm q high
  • +
+

 

+

 

+ + +

[Untagged] - 4/12/2020 4:57:46 PM

+
+

Commit f4224bde89559fb3a0492d0f5c4599b2e83d6830

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • remove files section to see if it caused the quality drop
  • +
+

 

+

 

+ + +

[Untagged] - 4/12/2020 4:36:17 PM

+
+

Commit 607f8b1c197cd8b05d0db5edf4dd95c906b25a9d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • all packages upgraded-within-major
  • +
+

 

+

 

+ + +

[Untagged] - 4/12/2020 4:05:18 PM

+
+

Commit 6e8c0d55e60734f04c66a421807e3cb2fa9881a7

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • packages upgraded
  • +
+

 

+

 

+ + +

[Untagged] - 4/12/2020 4:03:32 PM

+
+

Commit d64fe65ebe9de3390ddd15991de0dc1f35ca9315

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [642fd8a, f22d422]

+
    +
  • Merge pull request #402 from StoneCypher/LetsDoSomeUpgrades
  • +
  • Lets do some upgrades
  • +
+

 

+

 

+ + +

[Untagged] - 4/12/2020 4:02:22 PM

+
+

Commit f22d422dcf2899a72549c119d6c200ece9c98be1

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • had to remove and re-add ava and documentation together to get around the last one
  • +
+

 

+

 

+ + +

[Untagged] - 4/12/2020 3:36:32 PM

+
+

Commit 430161f5c61f3b459530ef40e01316891cf3393f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • round 2
  • +
+

 

+

 

+ + +

[Untagged] - 4/12/2020 3:33:34 PM

+
+

Commit 520658963bc2061462db2800301a27b507645fa6

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • round 1
  • +
+

 

+

 

+ + +

[Untagged] - 4/12/2020 2:38:31 PM

+
+

Commit 642fd8a9b49350c8c3b8170c4a26198c16a172a2

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • update readme a bit
  • +
+

 

+

 

+ + +

[Untagged] - 4/12/2020 1:50:16 PM

+
+

Commit ed2d21b8a597371b9b81bbadf445e16e4b2726f6

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • missing comma in package
  • +
+

 

+

 

+ + +

[Untagged] - 4/12/2020 1:46:41 PM

+
+

Commit 59a47b5fccf80603bb0af8ed1ebfb45f0473d4da

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • uh, get the file list right, john. 6 isn't bundled
  • +
+

 

+

 

+ + +

[Untagged] - 4/12/2020 1:44:33 PM

+
+

Commit 42f6af2a29d224ef86ff9434eb44fd254ad78671

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Let's slim this thing way down. All that's in the package now are two builds, the .d.ts, and a changelog
  • +
+

 

+

 

+ + +

[Untagged] - 4/11/2020 11:01:35 PM

+
+

Commit dd529cd78d17fd2dea654d0912396bbecfffacb4

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • honestly the iife shouldn't be in the npm repo
  • +
+

 

+

 

+ + +

[Untagged] - 4/11/2020 10:56:02 PM

+
+

Commit fae52c7b8a524a6d589002ca6855b2b3108c4ace

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • remove build products. push only minified to npm, but retain in a local build process. reintroduce iife
  • +
+

 

+

 

+ + +

[Untagged] - 4/11/2020 10:13:39 PM

+
+

Commit b946832d139a7b49dc755b8f1d34e5bae769ec9b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • remove es5 prebuild from npm; make it a build product only.
  • +
+

 

+

 

+ + +

[Untagged] - 4/11/2020 9:25:36 PM

+
+

Commit a27de349c4cb14daf75613dc3efd6f1fe25e32f5

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Remove the maps
  • +
+

 

+

 

+ + +

[Untagged] - 4/11/2020 9:08:07 PM

+
+

Commit a45f4f00b31948beac8a4b7dfd64fe686ea720cd

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [360aff6, 2c1b541]

+
    +
  • Merge branch 'master' of github.com:StoneCypher/jssm
  • +
+

 

+

 

+ + +

[Untagged] - 4/11/2020 9:07:41 PM

+
+

Commit 360aff67bb69a07a9a1c8c9a1218befe750a8ad2

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • First attempt to slim the package down
  • +
+

 

+

 

+ + +

[Untagged] - 2/17/2020 2:43:25 PM

+
+

Commit 2c1b54182af3f20ca56d69a6126de279953e85d3

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 2/17/2020 2:42:35 PM

+
+

Commit 554a15b8cdbcea4f35f345f015650f92071f78e1

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 2/17/2020 2:36:36 PM

+
+

Commit 4ffea7539f2a4d4976744f21b9b1c6a4d94c76fe

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • CodeClimate can't eat tslint
  • +
+

 

+

 

+ + +

[Untagged] - 2/2/2020 5:30:45 PM

+
+

Commit 0b7f120c18dc0c56be00fc938aff61e6d8a44b2d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update fixparser.js
  • +
+

 

+

 

+ + +

[Untagged] - 2/1/2020 3:10:16 PM

+
+

Commit 2c72b3c2d1390dc62170f9226c17449a269adf60

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [3047b38, b797c1e]

+
    +
  • Merge pull request #399 from StoneCypher/AddDTsFiles
  • +
  • looks like we have .d.ts
  • +
+

 

+

 

+ + +

[Untagged] - 2/1/2020 3:06:51 PM

+
+

Commit b797c1ec3f5734d474594a9ef91b276b9cead382

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • looks like we have .d.ts
  • +
+

 

+

 

+ + +

[Untagged] - 2/1/2020 2:28:17 PM

+
+

Commit 3047b388b97ffbb853054207e8b9d38fe0a07c33

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [cc39df4, 44c69de]

+
    +
  • Merge pull request #398 from StoneCypher/InvertRollupAndTypescript
  • +
  • Invert rollup and typescript
  • +
+

 

+

 

+ + +

[Untagged] - 2/1/2020 2:24:37 PM

+
+

Commit 44c69de2cdacddb72bdb37a9e6e8e1141db281c6

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • other small cleanup
  • +
+

 

+

 

+ + +

[Untagged] - 2/1/2020 2:21:04 PM

+
+

Commit f528dafa9fb1afe69a47783e3df780f671a93f3d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • save and push the package too, john
  • +
+

 

+

 

+ + +

[Untagged] - 2/1/2020 2:18:56 PM

+
+

Commit 8a535bfc471c973c58ba9143213a70d274000d4d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • move shell surgery to node to get through mac
  • +
+

 

+

 

+ + +

[Untagged] - 2/1/2020 2:08:05 PM

+
+

Commit 7f6f5970444465fad42a4ffe7f6ab9aad07d48cc

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • fixing coverage, es6 package.json surgery
  • +
+

 

+

 

+ + +

[Untagged] - 2/1/2020 1:59:47 PM

+
+

Commit 76352f8fc86de10d9adb3a4ecf27d0f3741379d7

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • inversion appears to work
  • +
+

 

+

 

+ + +

[Untagged] - 2/1/2020 11:22:58 AM

+
+

Commit a3ebea3dc6e1a1d100ddbb37977fab34d33af3c5

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • geohot's bug confirmed. typescript now building independently on stricter config
  • +
+

 

+

 

+ + +

[Untagged] - 1/28/2020 8:54:08 PM

+
+

Commit c7335a9e9915a566e9b0b68427d5418ed91c5e1a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • simple guards on non-states for is_unenterable and state_is_terminal
  • +
+

 

+

 

+ + +

[Untagged] - 1/28/2020 8:30:23 PM

+
+

Commit cc39df41a5002c7200a601e498cb5080fb8fbb9f

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [de1fea7, 751cde5]

+
    +
  • Merge pull request #397 from StoneCypher/ArrangeStartAndEnd
  • +
  • Arrange start and end
  • +
+

 

+

 

+ + +

[Untagged] - 1/28/2020 8:23:27 PM

+
+

Commit 751cde589f17eb03072ceb9f98447c7e82ec1acc

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • arrange-start and arrange-end
  • +
+

 

+

 

+ + +

[Untagged] - 1/28/2020 7:50:46 PM

+
+

Commit 92ecbf90777430ab2db1de3d0595c3150368ba6d

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [1fa2e0b, 307ecf2]

+
    +
  • WIP on LetsSimplifyTheTautologies: 1fa2e0b first steps: centralize the constants
  • +
+

 

+

 

+ + +

[Untagged] - 1/28/2020 7:50:44 PM

+
+

Commit 307ecf2d66dc79fb6c6576641696a97b917d1b61

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • index on LetsSimplifyTheTautologies: 1fa2e0b first steps: centralize the constants
  • +
+

 

+

 

+ + +

[Untagged] - 1/28/2020 7:11:13 PM

+
+

Commit 1fa2e0be1bbfdbb4e2627bd4154d9e02da61e377

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • first steps: centralize the constants
  • +
+

 

+

 

+ + +

[Untagged] - 1/28/2020 6:29:42 PM

+
+

Commit f96df2623dbf62da492622514be5f3a3bd909750

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • arrange-start and arrange-end
  • +
+

 

+

 

+ + +

[Untagged] - 1/26/2020 9:49:48 PM

+
+

Commit de1fea7329cb2c68cd7078b7b4ffcc2f1f19196b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • add support for line styles, fixes StoneCypher/fsl#367
  • +
+

 

+

 

+ + +

[Untagged] - 1/26/2020 9:38:23 PM

+
+

Commit e0a395bb33909afde3c65734d29a100535acf694

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • vastly superior implementation of corners
  • +
+

 

+

 

+ + +

[Untagged] - 1/26/2020 9:09:57 PM

+
+

Commit 3aa55887b66ab05714fb5734330082bc5eb7e5f6

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [7e9d25a, 7345a14]

+
    +
  • Merge pull request #396 from StoneCypher/AddArrange
  • +
  • Add arrange, fixes StoneCypher/fsl#267
  • +
+

 

+

 

+ + +

[Untagged] - 1/26/2020 8:51:57 PM

+
+

Commit 7345a14e1457bd39b78c93c5c43560dcbf6c9ee0

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Add arrange, fixes StoneCypher/fsl#267
  • +
+

 

+

 

+ + +

[Untagged] - 1/26/2020 7:56:06 PM

+
+

Commit 7e9d25aea17d91e3ee07362c6fd6dd325e37457b

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [4b42bd5, de75a04]

+
    +
  • Merge pull request #395 from StoneCypher/AddRoundingAndDiagonals
  • +
  • Adds support for rounding (fixes StoneCypher/fsl#362) and diagonals (fixes StoneCypher/fsl#361)
  • +
+

 

+

 

+ + +

[Untagged] - 1/26/2020 7:46:21 PM

+
+

Commit de75a0417dee9d0bc6d3b7fa60578a08094f4bbe

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Adds support for rounding (fixes StoneCypher/fsl#362) and diagonals (fixes StoneCypher/fsl#361)
  • +
+

 

+

 

+ + +

[Untagged] - 1/26/2020 4:14:44 PM

+
+

Commit 4b42bd549337d746aae532490e04e14c888924cd

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [28d9b10, c0456fe]

+
    +
  • Merge pull request #394 from StoneCypher/FixOctothorpeBug
  • +
  • Fix octothorpe bug
  • +
+

 

+

 

+ + +

[Untagged] - 1/26/2020 4:06:03 PM

+
+

Commit c0456fefed177e86c700661f12f54983c6187dd2

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • fixes StoneCypher/fsl#354 octothorpe bug on direct colors; fixes StoneCypher/fsl/issues/359 rgb order decl
  • +
+

 

+

 

+ + +

[Untagged] - 1/26/2020 3:46:11 PM

+
+

Commit e4e3c2569777ff0fd718fdd4c6727073e029d553

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • improve error message for directions. much better testing on named colors
  • +
+

 

+

 

+ + +

[Untagged] - 1/26/2020 1:14:41 PM

+
+

Commit 28d9b1022a7687038aa7a4505abec9465ac2ef29

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [0c05c76, 48bbea4]

+
    +
  • Merge branch 'master' of github.com:StoneCypher/jssm
  • +
+

 

+

 

+ + +

[Untagged] - 1/26/2020 1:13:39 PM

+
+

Commit 0c05c761008347f479ddd481a950434c2415c2bf

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • version bump; parser does colors and shapes on node now, fixes #339, fixes #340, fixes #341
  • +
+

 

+

 

+ + +

[Untagged] - 1/26/2020 1:04:49 PM

+
+

Commit cf2e912cd29a6130c83a3c509045a348cd932a37

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • parser support for text-color, background-color, border-color for #339, #340, #341
  • +
+

 

+

 

+ + +

[Untagged] - 1/26/2020 1:04:41 PM

+
+

Commit fcaf9b73bab6f65953a157646da65d10de8a4b2f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • parser support for text-color, background-color, border-color for #339, #340, #341
  • +
+

 

+

 

+ + +

[Untagged] - 1/26/2020 9:41:29 AM

+
+

Commit 48bbea4944c2f9c66bb1718b89fc56907400c861

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [45ac5ae, 906a6ea]

+ +

 

+

 

+ + +

[Untagged] - 1/25/2020 10:53:28 PM

+
+

Commit 45ac5ae743333d169abe4a00d9e1874c2fb17143

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • incomplete commit
  • +
+

 

+

 

+ + +

[Untagged] - 1/25/2020 10:47:22 PM

+
+

Commit f3e54b99991d1629adaa2b139bb22e41a1345d69

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [76422f5, 2c9f568]

+
    +
  • Merge branch 'master' of github.com:StoneCypher/jssm
  • +
+

 

+

 

+ + +

[Untagged] - 1/25/2020 10:47:12 PM

+
+

Commit 76422f54e741172bba0a054b885169475ff79e64

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • dot prelude in compiler, grammar, parser, tests
  • +
+

 

+

 

+ + +

[Untagged] - 1/23/2020 7:50:07 PM

+
+

Commit 906a6ea8628e508c7b913eb51c34a63565d96f76

+

Author: Vat Raghavan <machinshin@gmail.com>

+ +

 

+

 

+ + +

[Untagged] - 1/16/2020 6:37:32 PM

+
+

Commit 2c9f568be4bde0dcc1136af71d8a67140238dc12

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Turn azure pipelines off
  • +
+

 

+

 

+ + +

[Untagged] - 1/16/2020 6:36:22 PM

+
+

Commit 298cb1c13d66b8bd4b3274ac0191b476d5c6af86

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Temporarily remove windows from test matrix
  • +
  • It's not clear what's failing
  • +
  • Re-add after #290 is fixed
  • +
+

 

+

 

+ + +

[Untagged] - 1/16/2020 6:18:52 PM

+
+

Commit 8c20f9dde73080238ebffd54a82fa9b6b8f9aebf

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • it's macos-, not mac-
  • +
+

 

+

 

+ + +

[Untagged] - 1/16/2020 6:17:22 PM

+
+

Commit 07f502f29f9998614f744dcd18c2a37defd933d4

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Reduce the number of nodes in test (now 8,12,13); add oses (windows, mac)
  • +
+

 

+

 

+ + +

[Untagged] - 1/12/2020 9:41:32 PM

+
+

Commit eb3669a23701b082a493c6c3948ebaf5b2e1d225

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • rebuild and bump
  • +
+

 

+

 

+ + +

[Untagged] - 1/12/2020 9:38:45 PM

+
+

Commit 3b730895558bf3d04d31d49b2154944488b7aa15

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • constants tie-up
  • +
+

 

+

 

+ + +

[Untagged] - 1/11/2020 10:39:26 AM

+
+

Commit de88e4d6474512f38975b0b2a50d625440f8e7dd

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • last several added flow, closes #278 and thus closes #286
  • +
+

 

+

 

+ + +

[Untagged] - 1/10/2020 10:51:25 PM

+
+

Commit 920c8622c266379762b86606e511460af055412f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • add flow direction to parser; tests
  • +
+

 

+

 

+ + +

[Untagged] - 1/10/2020 9:52:45 PM

+
+

Commit e6653bd93050097a7a66c45635cfdf0ab3901dea

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • better tests for themes, incl checking and negative
  • +
+

 

+

 

+ + +

[Untagged] - 1/10/2020 9:10:13 PM

+
+

Commit c2c345f2a2cd947e0fd1ac8cc48bd1098c05b2f6

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • theme support achieved in machine
  • +
+

 

+

 

+ + +

[Untagged] - 1/10/2020 8:52:55 PM

+
+

Commit 7dce5fe051628fb6104ade0de0b0e6eabbe48e7e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • working grammar passthrough
  • +
+

 

+

 

+ + +

[Untagged] - 1/10/2020 8:44:51 PM

+
+

Commit e18d4913e0d2bab62c6d44b171cc063a99c7a5b1

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • first steps in theme support - grammar and tests
  • +
+

 

+

 

+ + +

[Untagged] - 1/9/2020 8:54:22 PM

+
+

Commit aa350a8305026b867af86cee3bba045b71a18c61

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • rule cleanup
  • +
+

 

+

 

+ + +

[Untagged] - 1/9/2020 8:43:37 PM

+
+

Commit d248df76eefea8f419a3515bc585f6c2408dd795

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • first steps for theme support. change instate / outstate to startstate / endstate
  • +
+

 

+

 

+ + +

[Untagged] - 1/8/2020 10:04:27 PM

+
+

Commit 635e9809527ca1e37019262baf242c5981e9d24a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • version bump because published with things not merged
  • +
+

 

+

 

+ + +

[Untagged] - 1/8/2020 10:01:58 PM

+
+

Commit 15d72028c725d3d8c27672d391df00140d23feae

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [dce8174, ae2b2fc]

+
    +
  • Merge pull request #391 from StoneCypher/LetsMakeNodesStyleable
  • +
  • Lets make nodes styleable
  • +
+

 

+

 

+ + +

[Untagged] - 1/8/2020 9:23:39 PM

+
+

Commit ae2b2fcfd89989a9e679045cbf312edfd8704839

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • finalize in_state:, out_state:, state: ; add state keyword to state declarations
  • +
+

 

+

 

+ + +

[Untagged] - 1/8/2020 7:53:51 PM

+
+

Commit 6bc16b6cff1a8bc39fd65ca19bb92071e8961d4f

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [9f9d02d, dce8174]

+
    +
  • merge and fix resulting eslint mess
  • +
+

 

+

 

+ + +

[Untagged] - 1/4/2020 5:16:11 PM

+
+

Commit 9f9d02d22867a77d95be2ea40d2d5ae779372cd6

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Added state, in_state, out_state top level properties w/ vat; repaired shape w/ vat; tests
  • +
+

 

+

 

+ + +

[Untagged] - 1/4/2020 5:15:36 PM

+
+

Commit f99017834df0f0c31c5fa59f03fdfc9a2c0c116c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Added state, in_state, out_state top level properties w/ vat; repaired shape w/ vat; tests
  • +
+

 

+

 

+ + +

[Untagged] - 1/4/2020 4:41:31 PM

+
+

Commit 134c18638997a1fc45ba6082a9ed439a26449aed

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • extensive repair node shape -> state shape w/ vat
  • +
+

 

+

 

+ + +

[Untagged] - 12/28/2019 1:27:23 PM

+
+

Commit dce81744353bbd7d6b59fa8525f1c49ab2cd3b60

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 12/28/2019 12:24:50 PM

+
+

Commit 3fb6134b80ccf84dd5df49dfbccbe2d672bd3b2f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • update eslint
  • +
+

 

+

 

+ + +

[Untagged] - 12/28/2019 11:40:27 AM

+
+

Commit 7845b0f62c3050a9100923489be718b8bc34d8f9

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • roll back opencollective image thing
  • +
  • needs a subscription, wah
  • +
+

 

+

 

+ + +

[Untagged] - 12/28/2019 11:39:03 AM

+
+

Commit afbd96094e20cfea569cf56f58f15c8259d17b02

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 12/24/2019 1:09:32 PM

+
+

Commit b45738cea7ef36586bff0e6cd5d9b5bbf12a62bf

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • support for module field and thus importing from es6 version, should improve tree shaking significantly
  • +
+

 

+

 

+ + +

[Untagged] - 12/24/2019 12:08:08 PM

+
+

Commit 71148158e100d7dd5afd5b1dc38eb13c5bc68b1c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • bump nyc over security issue
  • +
+

 

+

 

+ + +

[Untagged] - 10/18/2019 1:30:16 AM

+
+

Commit c39ec14c04674b9907b48c0144d6532bb1ab37c3

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • rebuild and bump to .16 prior to publish
  • +
+

 

+

 

+ + +

[Untagged] - 10/18/2019 1:09:40 AM

+
+

Commit 5ba3f2244062c1b2173075bdee77c9dd061ce5b7

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • right, coverage is outside build in the ci action, so, make one for gh
  • +
+

 

+

 

+ + +

[Untagged] - 10/18/2019 1:03:48 AM

+
+

Commit 518be0962dd166ce4ad1f74b7ed606b7fa776d15

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • node 13 and 14 may not exist
  • +
+

 

+

 

+ + +

[Untagged] - 10/18/2019 1:00:37 AM

+
+

Commit c9601c843ccacf0e913bcd320652c814e64e263e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • fix gh credential. expand gh actions coverage from 8/10/12 to 8-14
  • +
+

 

+

 

+ + +

[Untagged] - 10/18/2019 12:55:24 AM

+
+

Commit fd231d5fcca5f7b2303a207d6293d6a5e2473b7b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • try adding coveralls to github actions
  • +
+

 

+

 

+ + +

[Untagged] - 10/18/2019 12:50:26 AM

+
+

Commit 5f615d37882367586c0cbd1faa4f71bbd7a77aef

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • remove node 6/7 from azure pipeline
  • +
+

 

+

 

+ + +

[Untagged] - 10/18/2019 12:00:30 AM

+
+

Commit dd4649930b512837b6014d7b98f7c2b1af979b7a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • major updates to package versions
  • +
+

 

+

 

+ + +

[Untagged] - 10/17/2019 11:56:17 PM

+
+

Commit c6dd3d9ac99c59effe4b18d8d079a3fb8cb60254

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • uh ci should npm install
  • +
+

 

+

 

+ + +

[Untagged] - 10/17/2019 11:50:46 PM

+
+

Commit 71ab9d7a44184629a5480335f897a247ec0ad00c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • eslint thing was for for workflows v1, not v2; didn't work
  • +
+

 

+

 

+ + +

[Untagged] - 10/16/2019 7:00:19 PM

+
+

Commit 633dc03e4cf31557ac80a42930674e45d92846ee

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Let's try setting up annotated eslint as a github action
  • +
+

 

+

 

+ + +

[Untagged] - 7/3/2019 7:13:53 PM

+
+

Commit ef5ac209f314b8eabc99970b68cd61b44f46870e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • put the coveralls repo token in the yaml because i'm tired of this
  • +
+

 

+

 

+ + +

[Untagged] - 7/3/2019 6:50:30 PM

+
+

Commit 599632e2baea1bda13b6797fa6a0f4dc59663436

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • trying azure coveralls again
  • +
+

 

+

 

+ + +

[Untagged] - 7/3/2019 6:15:52 PM

+
+

Commit 24918e96dabc00c997ab5879a7924a209647937e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • bump documentation.js to cope with diff gh warning
  • +
+

 

+

 

+ + +

[Untagged] - 7/3/2019 6:08:50 PM

+
+

Commit bda3d652f0d92fdcdaf8867b477fbee54c54f0c9

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [943f5f4, 3e88f7a]

+
    +
  • Merge branch 'master' of github.com:StoneCypher/jssm
  • +
+

 

+

 

+ + +

[Untagged] - 7/3/2019 6:08:38 PM

+
+

Commit 943f5f4b24fc7c55f82635e2272ccbea887f288d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Oh coveralls...
  • +
+

 

+

 

+ + +

[Untagged] - 6/6/2019 10:57:56 AM

+
+

Commit 3e88f7a40560f9e2dbe06a37df7ba2685177cebc

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [c2d4d36, 9c5f203]

+
    +
  • Merge pull request #379 from StoneCypher/StoneCypher-azure-pipelines-nodever-6-7
  • +
  • Add node 6, fix 7, open as PR to test GH interface
  • +
+

 

+

 

+ + +

[Untagged] - 6/6/2019 10:48:19 AM

+
+

Commit 9c5f20341711b396829cdebbea93b881620091f2

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Add node 6, fix 7, open as PR to test GH interface
  • +
+

 

+

 

+ + +

[Untagged] - 6/5/2019 7:11:53 PM

+
+

Commit c2d4d36669e37fc4e5ed231d31b3f35e159f1c54

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • try to get azure pipelines running various node versions
  • +
+

 

+

 

+ + +

[Untagged] - 6/5/2019 7:06:41 PM

+
+

Commit a4d0851f240ac513308c05aaf903d10558f42827

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [8b70968, 922d679]

+
    +
  • Merge pull request #378 from StoneCypher/azure-pipelines
  • +
  • Set up CI with Azure Pipelines
  • +
+

 

+

 

+ + +

[Untagged] - 6/5/2019 5:15:09 PM

+
+

Commit 922d679b5fbdd1b80343ea38ee7afa8ba7acb38a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Set up CI with Azure Pipelines
  • +
  • [skip ci]
  • +
+

 

+

 

+ + +

[Untagged] - 5/14/2019 10:27:58 PM

+
+

Commit 8b70968de3ade3a7404223d5457199fde53fd4ba

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [4707898, 0b96d72]

+
    +
  • Merge pull request #375 from StoneCypher/ModernizeAva
  • +
  • Modernize ava
  • +
+

 

+

 

+ + +

[Untagged] - 5/14/2019 10:21:26 PM

+
+

Commit 0b96d7294954a6a44b12f7c06cd924f86607950b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • bump ava-spec
  • +
+

 

+

 

+ + +

[Untagged] - 5/14/2019 10:18:00 PM

+
+

Commit ed19cf1ad16f725d980c238499083f96ae19b2f1

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • fix parse
  • +
+

 

+

 

+ + +

[Untagged] - 5/14/2019 10:17:51 PM

+
+

Commit 7d9963c6cbb5e79c7a9691b332fd413cf9879687

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • fix forced transitions
  • +
+

 

+

 

+ + +

[Untagged] - 5/14/2019 10:13:35 PM

+
+

Commit 1686b13815db01ffdb6f9945d671e6406499b955

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • fix comment
  • +
+

 

+

 

+ + +

[Untagged] - 5/14/2019 10:08:44 PM

+
+

Commit 3b976fdfe647813dd8fdd599ffd549be4a5d02a9

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • fix state_declaration
  • +
+

 

+

 

+ + +

[Untagged] - 5/14/2019 10:04:31 PM

+
+

Commit 92525f3a38cfd0defc5775c88254e72242a4f4ab

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • fix stop light
  • +
+

 

+

 

+ + +

[Untagged] - 5/14/2019 10:04:20 PM

+
+

Commit 92c8c3cab778f0623eaa5624cfdab1877d0bdf7d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • fix parse actions
  • +
+

 

+

 

+ + +

[Untagged] - 5/14/2019 10:04:08 PM

+
+

Commit 0ac15b8ee6cc6732ab11611452e091f6738d1c34

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • fix machine_attributes
  • +
+

 

+

 

+ + +

[Untagged] - 5/14/2019 10:03:54 PM

+
+

Commit 8c8475febfb7dfef40775918032bc924a8df5843

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • fix language
  • +
+

 

+

 

+ + +

[Untagged] - 5/14/2019 10:03:44 PM

+
+

Commit 651135022a90deb48c26c34bc9005205ab8d1664

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • fix histo
  • +
+

 

+

 

+ + +

[Untagged] - 5/14/2019 10:03:33 PM

+
+

Commit 4eb004322fbf192633ebf7fc92176ed1a07d4bf4

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • fix general
  • +
+

 

+

 

+ + +

[Untagged] - 5/14/2019 10:03:10 PM

+
+

Commit 6bf3770fa316eff74812d34eec2a9344b8a67993

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • minor bump for audit, caused name conflicts though
  • +
+

 

+

 

+ + +

[Untagged] - 5/14/2019 1:51:12 PM

+
+

Commit 47078983d97d9ef2fdfdd87561ad81403bade5bf

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [cd090aa, ef03698]

+
    +
  • Merge pull request #373 from StoneCypher/AttemptTsAndRollup
  • +
  • Attempt ts and rollup
  • +
+

 

+

 

+ + +

[Untagged] - 5/14/2019 1:39:46 PM

+
+

Commit ef03698b33a18a71bc1695ef2cf0fab1681f4b1a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • cleanup
  • +
+

 

+

 

+ + +

[Untagged] - 5/14/2019 1:34:48 PM

+
+

Commit 8a701c147cd3a6f59e8dddaef7a32484d60feabd

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • um ok nyc works now?
  • +
+

 

+

 

+ + +

[Untagged] - 5/6/2019 9:11:54 PM

+
+

Commit 6a6dee46986db783cebbb6d7f7df9be594f61be6

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [816a498, e98824f]

+
    +
  • WIP on (no branch): 816a498 attempt to surgery the lcov directly :|
  • +
+

 

+

 

+ + +

[Untagged] - 5/6/2019 9:11:54 PM

+
+

Commit e98824f54254cd8b32a755def3a5e0e6d936f842

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • index on (no branch): 816a498 attempt to surgery the lcov directly :|
  • +
+

 

+

 

+ + +

[Untagged] - 5/5/2019 9:29:11 PM

+
+

Commit be99cf81c1f8881c00cb0d12add0c4e40eca643b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • okay maybe it's order sensitive
  • +
+

 

+

 

+ + +

[Untagged] - 5/5/2019 9:11:28 PM

+
+

Commit 816a498d1ed209ca81e086b59217774c664fdf60

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • attempt to surgery the lcov directly :|
  • +
+

 

+

 

+ + +

[Untagged] - 5/5/2019 3:20:39 PM

+
+

Commit 226e3f028e73c9dd2a99b4943185031a9745c3c8

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Progress; may exclude DOT from coverage because of those deep dives
  • +
+

 

+

 

+ + +

[Untagged] - 5/5/2019 2:10:50 PM

+
+

Commit b55dee6874a28faba5bf2773e6e8b715bc6fef96

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Shapes now tracked. Drove out another order bug (box prevented box3d, rect prevented rectangle)
  • +
+

 

+

 

+ + +

[Untagged] - 5/5/2019 2:01:40 PM

+
+

Commit 0a346f3406172f652165cca34d63e5870efb9013

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Shapes now tracked. Drove out another order bug (box prevented box3d, rect prevented rectangle)
  • +
+

 

+

 

+ + +

[Untagged] - 5/5/2019 1:08:51 PM

+
+

Commit 01e9b842297c3805e90d64e274efaf698a7d7669

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • reorder color rules so that colors that are prefixes of other colors don't snipe each other. fixes fsl/185
  • +
+

 

+

 

+ + +

[Untagged] - 5/5/2019 12:37:38 PM

+
+

Commit f2670db4601997f49b182e9c34721900174f18ff

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • All green, but with DOT included, coverage has fallen badly
  • +
+

 

+

 

+ + +

[Untagged] - 5/5/2019 11:32:48 AM

+
+

Commit c537441bc665fe63ac47ff1c8db88c0c41cedde0

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Babel and browserify removed. eslint moved to typescript
  • +
+

 

+

 

+ + +

[Untagged] - 5/5/2019 11:23:24 AM

+
+

Commit 3f1e2fc8cc316275ca5253e3225028a9a6fd6595

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Everything but a small language bug now
  • +
+

 

+

 

+ + +

[Untagged] - 5/5/2019 10:43:04 AM

+
+

Commit 83d9e0990a9a2230019ea90ee2c990190398599c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • TS appears to be dropping an appropriate package
  • +
+

 

+

 

+ + +

[Untagged] - 5/5/2019 6:34:52 AM

+
+

Commit 25cb01aefe0920bc35115ea61cadfaf4be016304

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Considering taking out the type generalization
  • +
+

 

+

 

+ + +

[Untagged] - 5/4/2019 9:37:05 PM

+
+

Commit c9fdc96049ce0ee6297c85758ad3c55bbc53579c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • type file converted. next the js
  • +
+

 

+

 

+ + +

[Untagged] - 5/4/2019 9:34:19 PM

+
+

Commit abecdf18c27d81637cd2c90b58771f950e135c4b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • type file converted. next the js
  • +
+

 

+

 

+ + +

[Untagged] - 5/4/2019 9:27:52 PM

+
+

Commit c557553bb7a34974a4406b714cfc1bfde585dc4b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • progress
  • +
+

 

+

 

+ + +

[Untagged] - 5/4/2019 9:19:39 PM

+
+

Commit 5c821f85c7ffd3c59d6d4e478b398604411ebd28

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • first steps
  • +
+

 

+

 

+ + +

[Untagged] - 5/4/2019 5:37:28 PM

+
+

Commit cd090aa0d041aeaad142f0653152a4bb95184845

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [c9bb9e6, b76211e]

+
    +
  • Merge pull request #372 from StoneCypher/Cleanup
  • +
  • Cleanup
  • +
+

 

+

 

+ + +

[Untagged] - 5/4/2019 5:23:00 PM

+
+

Commit b76211e7b7abb79ca2556841ab78d4833bf3ed8d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • reorder steps for ci/cd
  • +
+

 

+

 

+ + +

[Untagged] - 5/4/2019 5:07:52 PM

+
+

Commit 20f66d87679b9df3bb59c75a71dbeae1fe603f20

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Let's reinstrument Travis
  • +
+

 

+

 

+ + +

[Untagged] - 5/4/2019 4:55:50 PM

+
+

Commit 7b92287e8921d023a1510553ca655ad712c6c7d2

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Remove flow typechecking step
  • +
+

 

+

 

+ + +

[Untagged] - 5/4/2019 4:53:15 PM

+
+

Commit 4d4538e894b15d5501392ddb0a8eef91d4d9f104

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • 5.14.1 let's start cleaning up
  • +
+

 

+

 

+ + +

[Untagged] - 2/10/2019 9:46:18 PM

+
+

Commit c9bb9e669342f905f6672911c3b396a91174c240

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • .editorconfig
  • +
+

 

+

 

+ + +

[Untagged] - 12/10/2018 12:27:43 PM

+
+

Commit c1fd26c41e2a5d25b54a00da6f9bc4fe62e4d685

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [618d9fd, 2942661]

+
    +
  • Merge pull request #371 from StoneCypher/fsl.tools-mention
  • +
  • fsl.tools mention
  • +
+

 

+

 

+ + +

[Untagged] - 12/10/2018 12:27:31 PM

+
+

Commit 294266131b6cf7c6a49ff943ab85c6c514df398a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • fsl.tools mention
  • +
+

 

+

 

+ + +

[Untagged] - 12/5/2018 10:05:46 AM

+
+

Commit 618d9fdf97a8ad28826fd41cc130cd26b3ab7107

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [3dac8f2, 43e19cd]

+
    +
  • Merge pull request #370 from StoneCypher/nsp-badge-removal
  • +
  • Looks like NSP badges are gone
  • +
+

 

+

 

+ + +

[Untagged] - 12/5/2018 9:50:21 AM

+
+

Commit 43e19cda25f324b5efc069438360d8bffdcb8f4a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Looks like NSP badges are gone
  • +
+

 

+

 

+ + +

[Untagged] - 5/19/2018 5:09:49 PM

+
+

Commit 3dac8f22fe90f68a27a312795dc3a779d45d2325

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update issue templates
  • +
+

 

+

 

+ + +

[Untagged] - 5/19/2018 5:08:14 PM

+
+

Commit 06f3d985b8c26adcf599fae2fa4ccf9adad56e92

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update issue templates
  • +
+

 

+

 

+ + +

[Untagged] - 5/19/2018 5:02:15 PM

+
+

Commit 5d9a3b6d43cc138a8e9eb1815ec1ea7d20696fe0

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update issue templates
  • +
+

 

+

 

+ + +

[Untagged] - 5/19/2018 2:13:41 PM

+
+

Commit b9efaf88890d2dfd419b1dbc769314c1d7a30ae9

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update issue template for bug reports
  • +
+

 

+

 

+ + +

[Untagged] - 1/20/2018 9:10:14 PM

+
+

Commit d4bd4356fb77f559fd188cb1aa8e426a072fdd91

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update do want.md
  • +
+

 

+

 

+ + +

[Untagged] - 11/20/2017 4:41:04 PM

+
+

Commit a117a2206d501ed10b410b8c0b18146eedfe8009

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [cb31bb5, 9c47476]

+
    +
  • rebased
  • +
+

 

+

 

+ + +

[Untagged] - 11/20/2017 4:40:11 PM

+
+

Commit cb31bb54e5a01e0aa7ded8a940a34c2a95628afb

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • simple publish instructions
  • +
+

 

+

 

+ + +

[Untagged] - 11/18/2017 10:06:02 PM

+
+

Commit e7b86352c5283f24f0ef899a394011783ad3be0c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • update all jssm code fences to say fsl instead
  • +
+

 

+

 

+ + +

[Untagged] - 11/17/2017 11:06:04 PM

+
+

Commit 0a89da995b722feaf7475b6baac4a60fb085c6b6

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • text touch-up
  • +
+

 

+

 

+ + +

[Untagged] - 11/16/2017 7:30:18 PM

+
+

Commit e3cb9f82f6e4d6b5a3b231ed4bf33de4edbb9e82

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • FSL note
  • +
+

 

+

 

+ + + + +

[5.14.0] - 10/30/2017 8:45:15 AM

+
+

Commit 9c4747636ed814ace14b18ec4fc9628467395d9c

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [5967544, de83f77]

+
    +
  • Merge first steps of cycles and stripes
  • +
+

 

+

 

+ + +

[Untagged] - 10/30/2017 8:19:09 AM

+
+

Commit de83f7761b9557e72e7e7b3f44c588150236f6a8

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • baseline for cycles and stripes
  • +
+

 

+

 

+ + +

[Untagged] - 10/29/2017 3:56:21 PM

+
+

Commit 0f4e6520a053cf34f32ce860217e14406a540f8d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • tests passing again
  • +
+

 

+

 

+ + +

[Untagged] - 10/29/2017 3:05:13 PM

+
+

Commit 59675442e3308c0d7ba74f33fe79947f176ff27a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • add comma to bump badges
  • +
+

 

+

 

+ + +

[Untagged] - 10/29/2017 3:03:59 PM

+
+

Commit 1adc251876a2ef8691b26b4ac5d4e8b6049bd37e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • More towards cycles. Also started on mixed-unicode arrows
  • +
+

 

+

 

+ + +

[Untagged] - 10/28/2017 8:55:40 PM

+
+

Commit 04c514f1d127950ecac3ac134d8f8bab4269c347

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [12186d9, 80416cc]

+
    +
  • Post-merge and mostly done
  • +
+

 

+

 

+ + + + +

[5.12.0] - 10/27/2017 1:25:34 AM

+
+

Commit 80416ccdd5417512ddebe5b5780b938c08f1618d

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [8ac6b35, 38157ab]

+
    +
  • Merge branch 'master' of github.com:StoneCypher/jssm
  • +
+

 

+

 

+ + +

[Untagged] - 10/27/2017 1:25:05 AM

+
+

Commit 8ac6b354097d51e8827f0f32ae3c00d02d6e4f08

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • State declarations
  • +
+

 

+

 

+ + +

[Untagged] - 10/26/2017 11:19:54 PM

+
+

Commit ef6a3e01de6edfa320bd08e1681085662aaf1989

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • get coverage back
  • +
+

 

+

 

+ + +

[Untagged] - 10/26/2017 11:18:26 PM

+
+

Commit c628ae06ac7aa81ce52b17284171389421622f51

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [b33aea2, 11fa8ce]

+
    +
  • intermediate status before merge
  • +
+

 

+

 

+ + +

[Untagged] - 10/25/2017 10:12:06 PM

+
+

Commit 38157ab7e3f3d55667755c63b48d7fed41c4f5fb

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [15578fa, 11fa8ce]

+
    +
  • more phrasing
  • +
+

 

+

 

+ + +

[Untagged] - 10/24/2017 10:10:54 PM

+
+

Commit 15578fab9b7b286d4a4f45aa0c1a05e19cfa5ba0

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • phrasing
  • +
+

 

+

 

+ + +

[Untagged] - 10/22/2017 8:09:55 PM

+
+

Commit 11fa8ce1ee098b1f8b9d1d21fe7e0901175bc061

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • minor build improvements
  • +
+

 

+

 

+ + +

[Untagged] - 10/16/2017 2:03:39 PM

+
+

Commit f56b0b9f4f25f49ff2418b98cdc517e83957c714

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • bump again for scoring
  • +
+

 

+

 

+ + +

[Untagged] - 10/16/2017 12:55:03 PM

+
+

Commit 80ed40e7ec24fa5b88894b4f6725a62d0e2806f0

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Stray punctuation in readme. Bumping to see what happens to scores
  • +
+

 

+

 

+ + +

[Untagged] - 10/16/2017 12:00:06 PM

+
+

Commit 4bfe33809cb75fc5f5090c16408941bcb37d1226

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • let's see if a commit with a published bump changes things
  • +
+

 

+

 

+ + +

[Untagged] - 10/16/2017 11:45:52 AM

+
+

Commit 12f221b9b66b1fa5b72a4688b9a958fcc9fef196

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • let's see if a commit changes things
  • +
+

 

+

 

+ + +

[Untagged] - 10/16/2017 11:44:58 AM

+
+

Commit b33aea269efa18f6ccbfd94902168dbc97c5b0e0

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [36cd824, 4e2593a]

+
    +
  • underway; committing to see if a mainstream commit changes my testing score
  • +
+

 

+

 

+ + + + +

[5.11.12] - 10/15/2017 8:15:34 PM

+
+

Commit 4e2593a3c51dd92e889cacd6ebe129ef1c326c2f

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [58c0c19, 2a65fbc]

+
    +
  • Merge branch 'master' of github.com:StoneCypher/jssm
  • +
+

 

+

 

+ + +

[Untagged] - 10/15/2017 8:15:24 PM

+
+

Commit 58c0c19f952ebf89409ba2c2c0aafdb224368b64

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Set up autoupdate block in prep for CDN
  • +
+

 

+

 

+ + +

[Untagged] - 10/15/2017 8:14:06 PM

+
+

Commit 36cd824acbd6583631073ed8cc0a5aee54b9f235

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • cleanup
  • +
+

 

+

 

+ + +

[Untagged] - 10/15/2017 7:50:05 PM

+
+

Commit 7df77bc142914ebc6baeedc8bdeb7971da7c193e

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [4bf74b9, 881bba0]

+
    +
  • merge from upstream
  • +
+

 

+

 

+ + +

[Untagged] - 10/15/2017 7:45:26 PM

+
+

Commit 2a65fbc8416260da85c1e3e9265954145967a6b1

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 10/15/2017 7:44:33 PM

+
+

Commit f8b994b2cbb0e36e70e1d35a7cf40c8cb438e17b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + + + +

[5.11.1] - 10/15/2017 7:31:54 PM

+
+

Commit 881bba05e3fefa1beffee72eb868b1c6088815a0

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Add explicitly unknown license; fixed all of the badges except cdnjs
  • +
+

 

+

 

+ + +

[Untagged] - 10/15/2017 6:26:29 PM

+
+

Commit d0f8c673057e61a99f815c88584521b5a95d7b6e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • shield should point to master
  • +
+

 

+

 

+ + +

[Untagged] - 10/15/2017 6:25:50 PM

+
+

Commit 4bf74b912c6efec41f6ee641d833b094b21bcd9a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • progress
  • +
+

 

+

 

+ + +

[Untagged] - 10/15/2017 5:19:49 PM

+
+

Commit 8cc09988f82f18c6538e99707b763e4de384ecbc

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • underway
  • +
+

 

+

 

+ + +

[Untagged] - 10/15/2017 4:24:34 PM

+
+

Commit de4e409ee8b0ad891c801a234ce4ca99d825aa6f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • basics of a test set
  • +
+

 

+

 

+ + +

[Untagged] - 10/15/2017 4:26:34 PM

+
+

Commit 6fdf7aa4c2b983f1f0d8ce70d6592e97f7bcb4af

+

Author: John Haugeland <stonecypher@gmail.com>

+ +

 

+

 

+ + + + +

[5.11.0] - 10/14/2017 11:05:37 PM

+
+

Commit f529dd05d80927a44f33b3971f62650c7bc9f6f3

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 10/11/2017 11:58:05 PM

+
+

Commit 17b9d18031a2b8b7f44cbcb55dcf07fe1c32e053

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 10/8/2017 5:27:11 PM

+
+

Commit 90dc197268968e1c3d8676bb91ddfdddb9aa8fa0

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • General housecleaning. Fix the audit line finally
  • +
+

 

+

 

+ + +

[Untagged] - 10/2/2017 11:54:59 PM

+
+

Commit f0144e00d50a0e0c7137c3fd152ebb56512cdd0d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 10/1/2017 9:21:17 PM

+
+

Commit d08392bc341a01aeea00739b6f52e812eebe19c4

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 9/27/2017 8:37:58 PM

+
+

Commit 9277224ca26e2e1d700081c481a9d1736bc7febc

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • notes on testing
  • +
+

 

+

 

+ + +

[Untagged] - 9/26/2017 1:42:09 PM

+
+

Commit 9c9d052ee8eba006417dbaba51cebbc08ec4e212

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • grammar for named ordered lists and for nominated states
  • +
+

 

+

 

+ + +

[Untagged] - 9/24/2017 1:32:01 PM

+
+

Commit 12186d91983ef8fb96a57a2bfb5b0fa635bd1128

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Move errthang to exact objects. Continued juggling around cycles and stripes.
  • +
+

 

+

 

+ + +

[Untagged] - 9/23/2017 6:01:33 PM

+
+

Commit d2cc76503087b91b714d906c63d2bc500a76203d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • extracted transition creation in prep for cycles/stripes
  • +
+

 

+

 

+ + +

[Untagged] - 9/22/2017 11:17:01 PM

+
+

Commit c794f7ba5c0773f9518e15e51748e13748199416

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • oh wow travis marks failing for branches?
  • +
+

 

+

 

+ + +

[Untagged] - 9/22/2017 11:10:27 PM

+
+

Commit d1abf9799bb4133599cb56dfc4c2660a5ae6f897

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • underway
  • +
+

 

+

 

+ + +

[Untagged] - 9/22/2017 9:14:39 PM

+
+

Commit 4ba92631ff5c637609b198e1aeb3aa07728a016e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • +0 bugfix, parse tests
  • +
+

 

+

 

+ + +

[Untagged] - 9/19/2017 8:34:01 AM

+
+

Commit 994bfdf2244a98ac5ff71395eaecc0844867d2c4

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • underway
  • +
+

 

+

 

+ + +

[Untagged] - 9/18/2017 10:37:28 AM

+
+

Commit ed78d312f19187f05779404df2994cc70d004f67

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • package bumps
  • +
+

 

+

 

+ + +

[Untagged] - 9/18/2017 10:30:49 AM

+
+

Commit a6a0748357f279fb9367a7d035a642ffa279e79f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • machine_language
  • +
+

 

+

 

+ + +

[Untagged] - 9/16/2017 7:49:23 PM

+
+

Commit b20fc79410591947e06f8d066f1309c196eb7728

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 9/11/2017 5:24:19 PM

+
+

Commit cf7fccd0626da8b42120a068dd4b7ad29343d14b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • readme improvements
  • +
+

 

+

 

+ + +

[Untagged] - 9/11/2017 10:55:14 AM

+
+

Commit 8c592ae448ed63857e1a5a37873bf231e783e40b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • More translations woooo
  • +
+

 

+

 

+ + +

[Untagged] - 9/10/2017 4:17:44 PM

+
+

Commit 7113970c70f7b0ef0a313016391aa9e9f2e5d038

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [b026e00, 7f4f13a]

+
    +
  • Merge pull request #328 from tanvirrb/master
  • +
  • added Bengali by Tanvir Islam
  • +
+

 

+

 

+ + +

[Untagged] - 9/10/2017 3:59:57 PM

+
+

Commit 7f4f13a1d30e5743e839033a989f48d981307750

+

Author: tanvirrb <tanvir.rb@outlook.com>

+
    +
  • added Bengali by Tanvir Islam
  • +
+

 

+

 

+ + +

[Untagged] - 9/10/2017 1:35:24 PM

+
+

Commit b026e0071a33f6fd79065a1183b821a5fe6853d9

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [302f451, c106194]

+
    +
  • Merge pull request #327 from daviddelapena/master
  • +
  • French data json language created
  • +
+

 

+

 

+ + +

[Untagged] - 9/10/2017 1:28:53 PM

+
+

Commit c106194087ce8a1e7c5355f9b81842e2c00f71ed

+

Author: daviddelapena <david@delapena.eu>

+
    +
  • French data json language created
  • +
+

 

+

 

+ + +

[Untagged] - 9/10/2017 12:35:42 PM

+
+

Commit 302f451cd32472951706e16919365ab340e3d4fb

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Belorussian by Mikhail Les
  • +
+

 

+

 

+ + +

[Untagged] - 9/10/2017 12:18:30 PM

+
+

Commit c5ebbc271400fe48354dd96fc421374a629723f8

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Added Russian and Ukrainian by Mikhail Les
  • +
+

 

+

 

+ + +

[Untagged] - 9/10/2017 10:55:34 AM

+
+

Commit 46353c1a9db166dd7c9abb8e4754fc03da8073b6

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [2d966c5, 7bb8aa9]

+
    +
  • Merge pull request #326 from technophile77/master
  • +
  • spanish
  • +
+

 

+

 

+ + +

[Untagged] - 9/10/2017 10:54:49 AM

+
+

Commit 7bb8aa96aa2bedb8d371fcf72ac08b1c00ffcd35

+

Author: Alex Cresswell <alex@cresswell.org>

+
    +
  • commas
  • +
+

 

+

 

+ + +

[Untagged] - 9/10/2017 10:52:08 AM

+
+

Commit ddc1fc6c7a5a5d66e2b1180322cde90e9bf6c96d

+

Author: Alex Cresswell <alex@cresswell.org>

+
    +
  • spanish
  • +
+

 

+

 

+ + +

[Untagged] - 9/10/2017 10:26:17 AM

+
+

Commit 2d966c53f33c9692f897dbef23ed1948bd0c855c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • german improvements from jeff; hebrew improvements from dvir
  • +
+

 

+

 

+ + +

[Untagged] - 9/10/2017 10:18:00 AM

+
+

Commit c63cf2eb0e9cc59eb341430e3dca37ad291d2c9a

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [978458a, 689c733]

+
    +
  • Merge pull request #325 from cohendvir/patch-1
  • +
  • Create hebrew.json
  • +
+

 

+

 

+ + +

[Untagged] - 9/10/2017 10:03:38 AM

+
+

Commit 689c7336b8a402173deebe9293a8454489eb62c4

+

Author: Dvir Cohen <dvir@honeybook.com>

+
    +
  • Update hebrew.json
  • +
+

 

+

 

+ + +

[Untagged] - 9/10/2017 10:01:29 AM

+
+

Commit fefacccf6473c24885a092a70e92e193abf474c6

+

Author: Dvir Cohen <dvir@honeybook.com>

+
    +
  • Create hebrew.json
  • +
+

 

+

 

+ + +

[Untagged] - 9/10/2017 8:24:57 AM

+
+

Commit 978458a9b7b99871fcbcc324492fff31736366d1

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • let's get basic language tests running. english, emoji, and german
  • +
+

 

+

 

+ + +

[Untagged] - 9/9/2017 5:53:22 PM

+
+

Commit 387da4f427a7c5c6100ec347e2023b7dcb647136

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • basic internationalization prep complete. unicode arrows
  • +
+

 

+

 

+ + +

[Untagged] - 9/9/2017 4:10:53 PM

+
+

Commit 51f594446a104428b639f1a09efbaea75286ab42

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • prepping for internationalization and unicode operators
  • +
+

 

+

 

+ + +

[Untagged] - 9/9/2017 12:24:28 PM

+
+

Commit fea6f7b909ae062a3450c10885040befeaa7407f

+

Author: John Haugeland <stonecypher@gmail.com>

+ +

 

+

 

+ + +

[Untagged] - 9/9/2017 10:42:15 AM

+
+

Commit f2890e47937493e2c936a8bb0eb72abca1a64fc7

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • modifications to atoms in preparation for sigils - fixes #320 fixes #321 fixes #322 fixes #323 fixes #324
  • +
+

 

+

 

+ + +

[Untagged] - 9/9/2017 10:12:39 AM

+
+

Commit e85442bcf2da0c9d16890b2cda65cc0e7c752fa2

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • removing essentially unused rules from PEG in preparation for redoing them, fixes #314 fixes #315 fixes #316 fixes #317 fixes #318
  • +
+

 

+

 

+ + +

[Untagged] - 9/8/2017 3:15:14 PM

+
+

Commit 15bfb56849895d1f12d55e6ae89701c4d53f13f6

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • eight machine attributes now fully passed through and exposed - author(s), contributor(s), comment, definition, version, license, name, reference, and fsl version
  • +
+

 

+

 

+ + +

[Untagged] - 9/5/2017 10:29:02 PM

+
+

Commit c2d7f1e5a2a7f0600c79069a2155ca27d9f89f62

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • description change to see if my gh setup is borked
  • +
+

 

+

 

+ + +

[Untagged] - 9/4/2017 6:26:39 PM

+
+

Commit aa43171c64000b2c00dbc6c8b8d48b475023424b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Code climate was looking at build/
  • +
+

 

+

 

+ + +

[Untagged] - 9/4/2017 6:13:04 PM

+
+

Commit 4305f3633939b7e2d25fec55a13b9c83e9873d2a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • small notes, stuff for auth/contrib
  • +
+

 

+

 

+ + +

[Untagged] - 9/3/2017 9:38:26 PM

+
+

Commit f5c9f6a3630dad363616404965cc43771659244b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • all the attributes are now parsed
  • +
+

 

+

 

+ + +

[Untagged] - 9/3/2017 7:06:58 PM

+
+

Commit 631c5c6e6ccf6bf011e19e9811e75b8b4d355355

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • 5.5.0 comment fixes and minor trash
  • +
+

 

+

 

+ + +

[Untagged] - 9/3/2017 7:05:46 PM

+
+

Commit 25a9bb839143f790a728a3e1a3281b06fcd75d41

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • comment testing
  • +
+

 

+

 

+ + +

[Untagged] - 9/3/2017 6:29:26 PM

+
+

Commit 124c2654c79103f328649ecf835e6a4177c4b7c1

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [d1cac9b, 8fc2911]

+
    +
  • Merge pull request #304 from msmorgan/bugfix/comment-grammar
  • +
  • grammar: Fix whitespace and comment rules
  • +
+

 

+

 

+ + +

[Untagged] - 9/3/2017 6:17:55 PM

+
+

Commit 8fc29115f581b51986b20064d8c079b6d516a5c4

+

Author: Michael Morgan <morgan.michael@me.com>

+
    +
  • grammar: Fix whitespace and comment rules
  • +
+

 

+

 

+ + +

[Untagged] - 9/3/2017 5:39:49 PM

+
+

Commit d1cac9b592d742181e9356f1e768b4cd7a8f118a

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [e87f48c, 406d01d]

+
    +
  • Merge branch 'master' of github.com:StoneCypher/jssm
  • +
+

 

+

 

+ + +

[Untagged] - 9/3/2017 5:39:40 PM

+
+

Commit e87f48c1a1fca247e685b09b2768ad1eb9510ed7

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • tooling bumps, example code, eslint stuff
  • +
+

 

+

 

+ + +

[Untagged] - 9/2/2017 8:53:22 PM

+
+

Commit 406d01dff7b1f31cb1ffcbcda8f14aa1fbcd97ff

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 8/31/2017 9:08:12 PM

+
+

Commit 3e34c40ce4f2537ff68c7c8306fdff089bdc6102

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • update tests
  • +
+

 

+

 

+ + +

[Untagged] - 8/31/2017 8:23:44 PM

+
+

Commit b31b7b3a891d103e2a29b0835f04941d8c46f536

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • fsl version, author contributor comment definition license, license types, urls, filename changes
  • +
+

 

+

 

+ + +

[Untagged] - 8/31/2017 8:22:05 PM

+
+

Commit b96cda04cc7611fe1e2e85f670c101aa20a205cb

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • rename fsl files
  • +
+

 

+

 

+ + +

[Untagged] - 8/28/2017 11:29:37 PM

+
+

Commit ad162ed3d320c93ef0153b0652a2cdf561af2c1e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • put experimentation link at the top of the readme
  • +
+

 

+

 

+ + +

[Untagged] - 8/20/2017 10:11:23 PM

+
+

Commit 7fdbf0b3f6708cafc24b674ff3c3e77ce549763c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • add all the machines
  • +
+

 

+

 

+ + +

[Untagged] - 8/20/2017 9:18:40 PM

+
+

Commit 5a4be411bd39cc61043d567dab34ddf4360d76c4

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Add build to repo, remove from postinstall, add to travis, fixes #300
  • +
+

 

+

 

+ + +

[Untagged] - 8/20/2017 8:54:53 PM

+
+

Commit 5d672bfee59f43d1ca46d14c65ec60afc2ee4822

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Set up proper colors. Rename all machines to .jssm. Significant README improvements. fixes #292 #293 #294 #295 #296
  • +
+

 

+

 

+ + +

[Untagged] - 8/20/2017 6:19:07 PM

+
+

Commit ae27c896c7474b0a61c17d291aee34bd24620964

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • move *.edges to *.jssm
  • +
+

 

+

 

+ + +

[Untagged] - 8/20/2017 3:10:47 PM

+
+

Commit b71c0bb642d1790e1d0cbd1e29323d010077000c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • more url fixes
  • +
+

 

+

 

+ + +

[Untagged] - 8/20/2017 3:08:26 PM

+
+

Commit e2c91f3f4885258513eb22f6399391fcfe9d0c99

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • url fixes
  • +
+

 

+

 

+ + +

[Untagged] - 8/20/2017 3:07:24 PM

+
+

Commit 829128488dc1e555feabff1f47c9a38fe8237b1f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Moar tutorial
  • +
+

 

+

 

+ + +

[Untagged] - 8/20/2017 2:43:05 PM

+
+

Commit d374aa08d5667f29f5bd5b3a1d9ed39b5c8ccf9a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • readme notation
  • +
+

 

+

 

+ + +

[Untagged] - 8/20/2017 2:12:58 PM

+
+

Commit 83a7ae4e7f7a626f1b85f0715e716fecd789b59c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • readme improvements - building an atm tutorial
  • +
+

 

+

 

+ + +

[Untagged] - 8/20/2017 12:08:46 PM

+
+

Commit 167c11697c779f5d164cfbe9ff0a12e9272e072b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • First steps in ATM quickstart tutorial
  • +
+

 

+

 

+ + +

[Untagged] - 8/20/2017 10:09:10 AM

+
+

Commit dc02895bc4e294fa3b45e28510463c9b44aa0eb3

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • reduce testing redundancy in travis
  • +
+

 

+

 

+ + +

[Untagged] - 8/20/2017 9:52:06 AM

+
+

Commit 2da94f73fdb95bc7384f96a7d08f9cf0d8c7cb11

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • tweak to fix flow
  • +
+

 

+

 

+ + +

[Untagged] - 8/20/2017 9:51:16 AM

+
+

Commit 0c6083f06aa94851e48da070f25fef5ebda98f45

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • obsoleted build step removing generated source was firing early, borking flow
  • +
+

 

+

 

+ + +

[Untagged] - 8/20/2017 9:38:02 AM

+
+

Commit 096e1b28213ed52eec356555250ed465379e425c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • semver rules require a major because i changed the linking in package.json, lol. fixes #291 fixes #290
  • +
+

 

+

 

+ + +

[Untagged] - 8/20/2017 9:22:40 AM

+
+

Commit 5f69be243b8bbdcce1ff531de06a5afed364d445

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • lel bad build script
  • +
+

 

+

 

+ + +

[Untagged] - 8/20/2017 9:19:29 AM

+
+

Commit 4a9409eaddce79778116b35a64d5bb666ab9fe5b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • gargantuan change: npm now exposes build tree, postinstall qbuilds
  • +
+

 

+

 

+ + +

[Untagged] - 8/19/2017 9:40:24 PM

+
+

Commit 35f33d63bbf98ffd7def1a9d3a6bf6851dd72df3

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • minor package error pointing main to wrong file
  • +
+

 

+

 

+ + +

[Untagged] - 8/19/2017 9:03:07 PM

+
+

Commit 8b3c43fd830dd8caa3dc83d3eea5913b76f451d5

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • oh lol the test script was borqued
  • +
+

 

+

 

+ + +

[Untagged] - 8/19/2017 8:48:30 PM

+
+

Commit 74d8484e595efc44b35e229e320807ec968f4d16

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • formatting changes to tests to see if changelog is working
  • +
+

 

+

 

+ + +

[Untagged] - 8/19/2017 8:32:47 PM

+
+

Commit 5180b36c6441957c96af38dc5846eb04d5f71bd5

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • .npmignore, changelog.md
  • +
+

 

+

 

+ + +

[Untagged] - 8/19/2017 5:25:15 PM

+
+

Commit f32d2feae136ea4c0dbdf4d52defa6a01106e53e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Support for machine names and machine versions, as well as basic semver
  • +
+

 

+

 

+ + +

[Untagged] - 8/19/2017 3:13:27 PM

+
+

Commit c50f83a94d1e81f00f94ff651771938a6e0df7c6

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • push image
  • +
+

 

+

 

+ + +

[Untagged] - 8/19/2017 1:44:51 PM

+
+

Commit cc45d91e23ebe102dc57e90ced3b75070742b179

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • probabilities in compiler and dsl. remove percent sign from atoms
  • +
+

 

+

 

+ + +

[Untagged] - 8/19/2017 12:15:42 PM

+
+

Commit 5c1d171fe6be3f2af2b55352a6fd2e2a1c6ecf26

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • properties that enforce that probabilism is working, as is lack of
  • +
+

 

+

 

+ + +

[Untagged] - 8/19/2017 9:37:40 AM

+
+

Commit 18c4a310dc89b9a5129c333123f2b182e7f1324a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • repair weighted_rand_select/2, fixes #284
  • +
+

 

+

 

+ + +

[Untagged] - 8/18/2017 8:24:18 PM

+
+

Commit c6993532a3e2bb6e0c9293a8025a2e197b63debb

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • lots of small changes; comment improvements
  • +
+

 

+

 

+ + +

[Untagged] - 8/18/2017 5:14:15 PM

+
+

Commit 71b24113727e1d1c63d5428b569e363352462021

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [c681d54, 6ecd6fc]

+
    +
  • Merge branch 'master' of github.com:StoneCypher/jssm
  • +
+

 

+

 

+ + +

[Untagged] - 8/17/2017 10:44:03 PM

+
+

Commit c681d54102dadca431889bde7731bf73f96fd1eb

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Phases of matter show bidi actions
  • +
+

 

+

 

+ + +

[Untagged] - 8/16/2017 8:09:11 PM

+
+

Commit 1c0222bfb1e9bbdcba7b15948295c72b15d9dc04

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Improved light, second light w/ off, basic intersection
  • +
+

 

+

 

+ + +

[Untagged] - 8/16/2017 8:04:14 PM

+
+

Commit e7568de1070b074e6b8a0a24d2e4963c7da0bb9f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Let's start writing some example machines
  • +
+

 

+

 

+ + +

[Untagged] - 8/15/2017 5:24:41 PM

+
+

Commit 6ecd6fca990205f3a9ccc378dd7c6868ce4ca9dc

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [98d2f79, b7ebe2b]

+
    +
  • Merge branch 'master' of github.com:StoneCypher/jssm
  • +
+

 

+

 

+ + +

[Untagged] - 8/15/2017 5:24:29 PM

+
+

Commit 98d2f796c072eb5d3bcb7ba76847ea9a032b0246

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • start nodes in compiler fixes #279, end nodes in compiler fixes #280, better initial state fixes #278
  • +
+

 

+

 

+ + +

[Untagged] - 8/15/2017 5:09:28 PM

+
+

Commit 2e5b697c84e911f32649d8b403fdf198781a4a8b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • move simple rules to tautologies; support start_nodes, end_nodes
  • +
+

 

+

 

+ + +

[Untagged] - 8/15/2017 4:36:00 PM

+
+

Commit e40b9f3bf5ca9de4989369803e22e0de35ea9f44

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • add comments
  • +
+

 

+

 

+ + +

[Untagged] - 8/15/2017 4:16:10 PM

+
+

Commit 2ddb9efa39920b9c3d17cc90ed8f694e96730b5f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • move graph_bg to top, rename; remove min/max transitions per node
  • +
+

 

+

 

+ + +

[Untagged] - 8/15/2017 4:14:07 PM

+
+

Commit b4bfb10e7fdfc6286fe8d526d4e7e3c0a5dd37df

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • move start_nodes and end_nodes to top-level. remove inputs and outputs
  • +
+

 

+

 

+ + +

[Untagged] - 8/14/2017 11:40:05 AM

+
+

Commit b7ebe2b4aef4aa12b6ba059d487c6716d6e87773

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 8/14/2017 11:36:35 AM

+
+

Commit 506a7dd1db5c3ec7340798c322b219698760f0e3

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 8/14/2017 10:32:07 AM

+
+

Commit 6d4164da8fe0d2a27f976cb2c29c0a357b23c355

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 8/14/2017 10:30:19 AM

+
+

Commit cba6cd9ff59671bfb20aaafa8fc6067b88281e41

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 8/14/2017 2:18:18 AM

+
+

Commit 434171eef634b569e7268ec063cd4a8ca87b84c9

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • minor type failure
  • +
+

 

+

 

+ + +

[Untagged] - 8/14/2017 1:57:49 AM

+
+

Commit 846c773e8804e76b3b8496dd9c563575159e1935

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • support for layout engines
  • +
+

 

+

 

+ + +

[Untagged] - 8/14/2017 12:41:20 AM

+
+

Commit 71ec5e4271153695f4a4d151dd598149585cdcd4

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • graph layouts
  • +
+

 

+

 

+ + +

[Untagged] - 8/14/2017 12:17:58 AM

+
+

Commit 7f30b4c527ce2c995fa33c538ef56e6b38b8f21a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • graph layout is not a subform of state
  • +
+

 

+

 

+ + +

[Untagged] - 8/13/2017 9:29:32 PM

+
+

Commit b1373bb674008e3bb9d53bd11b2a3052a560f9c1

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • make/1
  • +
+

 

+

 

+ + +

[Untagged] - 8/13/2017 9:16:42 PM

+
+

Commit 12c2e5193717b37174d182abf021fe28f2f5ef72

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • minor testing improvements
  • +
+

 

+

 

+ + +

[Untagged] - 8/13/2017 9:01:58 PM

+
+

Commit dcf8d0a0a6671aa80c7c5ae6e26273220a1699cf

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Actions are now supported fully through the stack
  • +
+

 

+

 

+ + +

[Untagged] - 8/13/2017 3:02:48 PM

+
+

Commit f8c96eb3545a701de317f39b7b57044f26940586

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • forced transitions re-enabled. put dsl in readme.
  • +
+

 

+

 

+ + +

[Untagged] - 8/13/2017 1:30:30 PM

+
+

Commit c8ac664bd6224b0fc7f720d7b0adcf18d5dd9351

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • support for array targets and array destinations in transitions
  • +
+

 

+

 

+ + +

[Untagged] - 8/13/2017 12:53:04 PM

+
+

Commit 305e9a002b1a8425a3ff102ed5050bfaa8bdd1e9

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • drive out use of any in compiler
  • +
+

 

+

 

+ + +

[Untagged] - 8/12/2017 1:44:58 PM

+
+

Commit 674cd27b61ead12f427411e8a0c023f6aaac065c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • full arrow support, scratch on readme, testing
  • +
+

 

+

 

+ + +

[Untagged] - 8/12/2017 1:04:47 PM

+
+

Commit 729be43c41aaae5d7cdd6d900a08277acf704330

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • compiler support for bidi, arrow kinds
  • +
+

 

+

 

+ + +

[Untagged] - 8/12/2017 12:21:22 PM

+
+

Commit 79e5f5c7e79726e38e231f6e223a8bb3a636985b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • full coverage restored. unnecessary throws evicted. constancy established
  • +
+

 

+

 

+ + +

[Untagged] - 8/10/2017 11:11:40 PM

+
+

Commit 85dcf04d0b1ecfbeebfff05b5333a2cba00990e8

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 8/8/2017 11:38:04 PM

+
+

Commit d5f78e0075f6b1add67ffeb13afef4b3760465bb

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 8/6/2017 5:41:29 PM

+
+

Commit bfbaa451c14af472551082025aa9b8be3908ef3f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • simplify travis a little
  • +
+

 

+

 

+ + +

[Untagged] - 8/6/2017 5:33:42 PM

+
+

Commit 5de0202bdc0cb99a0cbe5e1cbce6cc29d74f51d7

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • silencing flow cost me coverage :/
  • +
+

 

+

 

+ + +

[Untagged] - 8/6/2017 2:59:39 PM

+
+

Commit 11971c97238e3da0fb7595ea0f20f7cfe0747606

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • many more flow improvements
  • +
+

 

+

 

+ + +

[Untagged] - 8/6/2017 2:16:45 PM

+
+

Commit 49a36b6f018bb668d5a198067ee817e8ddc46fd5

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • arrow stuff; fix a buncha flow
  • +
+

 

+

 

+ + +

[Untagged] - 8/5/2017 3:38:35 PM

+
+

Commit 794170264da608eb96d49bcd2c8965d2c57f5353

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • flow and destructuring :/
  • +
+

 

+

 

+ + +

[Untagged] - 8/5/2017 3:34:13 PM

+
+

Commit 0b8715a777aae672508ad45e653ca9340fb0fb4d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • linting stuff and html stuff
  • +
+

 

+

 

+ + +

[Untagged] - 8/5/2017 11:49:21 AM

+
+

Commit 1753f363e548e5b75d1d1923481d015c396aa7e2

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • coverage back to 100
  • +
+

 

+

 

+ + +

[Untagged] - 8/5/2017 11:15:52 AM

+
+

Commit 4b465630afdb7be4758d5c842fcd9b2c67f7b338

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • coverage improvements
  • +
+

 

+

 

+ + +

[Untagged] - 8/5/2017 10:24:33 AM

+
+

Commit 87303334e5a5b97f91e5c90251f6f62d304eecb1

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • rudimentary tests for sm
  • +
+

 

+

 

+ + +

[Untagged] - 8/5/2017 10:19:23 AM

+
+

Commit 1f59199db6effa174a186f32e00fdd98b05445a2

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • trivial compile test; html improvements
  • +
+

 

+

 

+ + +

[Untagged] - 8/1/2017 11:31:31 AM

+
+

Commit e5bec864cb6facebcdc9c6764b7dff3d156e185f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • compile now returns a machine config like it ought to
  • +
+

 

+

 

+ + +

[Untagged] - 8/1/2017 10:46:25 AM

+
+

Commit 0d9f1db0fef4f06410fe00ef2bb69eb71887c1f4

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • tagged template notation
  • +
+

 

+

 

+ + +

[Untagged] - 7/30/2017 9:08:43 PM

+
+

Commit 2e947ded155da7e1751b15aeb00d96c79be74cb4

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • 4.0.1 - attempt to restore travis
  • +
+

 

+

 

+ + +

[Untagged] - 7/30/2017 9:00:35 PM

+
+

Commit e79331235aaa2361b614af01e52af1fb74f201f3

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • 4.0.0 - rudimentary compiler
  • +
+

 

+

 

+ + +

[Untagged] - 7/30/2017 11:24:53 AM

+
+

Commit 5a1806d4068203ffb78427cb92a47b42e3cbecc9

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • State group definitions; machine names
  • +
+

 

+

 

+ + +

[Untagged] - 7/30/2017 10:57:46 AM

+
+

Commit 1f4f0303f2c4bf40f3f096da86f1d9d1f9cfdb1d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • convert actions from backticks to single quotes
  • +
+

 

+

 

+ + +

[Untagged] - 7/30/2017 8:33:58 AM

+
+

Commit 724ac7d82c7ebedcbadbce42ae3405f372b7db41

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • just remove commits-since badge. never got it working
  • +
+

 

+

 

+ + +

[Untagged] - 7/30/2017 8:32:56 AM

+
+

Commit 3343b90d9c787efdd444f25be63cffca6696a312

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • try bumping commits-since to first published version, which iirc was 0.1.0
  • +
+

 

+

 

+ + +

[Untagged] - 7/30/2017 8:31:34 AM

+
+

Commit a0619c160986982a1687910ea2a210759267a0d3

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [84e0bc3, 1f7be82]

+
    +
  • Merge branch 'master' of github.com:StoneCypher/jssm
  • +
+

 

+

 

+ + +

[Untagged] - 7/29/2017 6:30:49 PM

+
+

Commit 84e0bc30465f538c9b4566d7e04e0e3079ee34b3

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • readme notes
  • +
+

 

+

 

+ + +

[Untagged] - 7/28/2017 5:03:14 PM

+
+

Commit 1f7be825f9981decd56e796bf810fbc251c55aae

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • linter rule cleanup
  • +
+

 

+

 

+ + +

[Untagged] - 7/28/2017 4:43:19 PM

+
+

Commit 012930fe96396c90cb52427fe5249334d9b9cfc6

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • various
  • +
+

 

+

 

+ + +

[Untagged] - 7/28/2017 4:16:07 PM

+
+

Commit d2f630296c606c6909fd7a7c0fc4596fc67d2a08

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • commit finalized eslint config
  • +
+

 

+

 

+ + +

[Untagged] - 7/28/2017 4:11:22 PM

+
+

Commit 9f425bef1f2a0dd36e400004604dd930e03cf5a2

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • missing plugin
  • +
+

 

+

 

+ + +

[Untagged] - 7/28/2017 3:44:12 PM

+
+

Commit 5ba390de76cb88a8bae60ad98c57b37dc6bf4645

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • eslint-plugin-ava
  • +
+

 

+

 

+ + +

[Untagged] - 7/28/2017 3:05:18 PM

+
+

Commit 4cdfcabeb241dd5a42e621b5f94e6c2d8178de6e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • update deps
  • +
+

 

+

 

+ + +

[Untagged] - 7/24/2017 11:08:51 AM

+
+

Commit 0093cc87c78dc78d5e99cfb08969bd3b5828f5a8

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [0f44ceb, d637155]

+
    +
  • Merge pull request #232 from StoneCypher/CrapThereWasUnpushedWork
  • +
  • Crap there was unpushed work
  • +
+

 

+

 

+ + +

[Untagged] - 7/24/2017 10:59:13 AM

+
+

Commit d63715516f7c099df0264181da13993383ed08e1

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [e51924d, 0f44ceb]

+
    +
  • okay is that a merge maybe
  • +
+

 

+

 

+ + +

[Untagged] - 7/24/2017 10:36:56 AM

+
+

Commit e51924d3361db2605980c425a19626b9a1ae0541

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • sigh, merge ahead
  • +
+

 

+

 

+ + +

[Untagged] - 7/23/2017 5:09:55 PM

+
+

Commit 0f44cebc4a5f3c90a503aa4d86cb587c6af646d5

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • some more repairs to eslint satisfaction
  • +
+

 

+

 

+ + +

[Untagged] - 7/23/2017 5:06:16 PM

+
+

Commit 292c6c89dab9cce99b15975c9dd9c504fcdfe5d0

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • some repairs to eslint satisfaction
  • +
+

 

+

 

+ + +

[Untagged] - 7/23/2017 5:03:20 PM

+
+

Commit 025e3ef6279e702ea8360f5e64136dfad6cbf5fc

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • some eslint satisfaction
  • +
+

 

+

 

+ + +

[Untagged] - 7/23/2017 4:34:20 PM

+
+

Commit f0ebac3b0a836b5825567465ff431614d2d749e6

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • fix and modernize linter
  • +
+

 

+

 

+ + +

[Untagged] - 7/23/2017 12:47:06 PM

+
+

Commit 8443ed0b59363e4201cd7248e3172f8e5afef5f6

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [c14cde2, 78b891b]

+
    +
  • Merge branch 'master' of github.com:StoneCypher/jssm
  • +
+

 

+

 

+ + +

[Untagged] - 7/23/2017 12:46:13 PM

+
+

Commit c14cde2064a7ba4c0c6fe6394abce6b730c54e34

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • fat arrows, tilde arrows, node lists
  • +
+

 

+

 

+ + +

[Untagged] - 7/12/2017 7:41:04 PM

+
+

Commit 78b891bdb8e20e835a484935e3dcbf7366d24760

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • peg grammar for start and end nodes
  • +
+

 

+

 

+ + +

[Untagged] - 7/12/2017 7:11:40 PM

+
+

Commit 2b97049ea32d7c19ff63eee61a9246868e70d266

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • trying to work with travis here
  • +
+

 

+

 

+ + +

[Untagged] - 7/12/2017 7:00:35 PM

+
+

Commit 1d732102fddb79b944424009fd951df8b76ed4fb

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • fix travis build error; update linter to cover all but es6 and stylistic
  • +
+

 

+

 

+ + +

[Untagged] - 7/12/2017 5:48:17 PM

+
+

Commit f4e1bab59ef222f6f126791435ddb3bff0e0273e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • added site build process; dropped pre-publish build
  • +
+

 

+

 

+ + +

[Untagged] - 7/12/2017 5:34:11 PM

+
+

Commit 840d83de7cecf845c9be9622addf2b98999ae9fb

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • linter back to enforcement
  • +
+

 

+

 

+ + +

[Untagged] - 7/12/2017 5:17:55 PM

+
+

Commit bca7a3906150c7e9da10b6d3fb1b4d2c744b4675

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • bump, enable a few more rules, set missing keyword
  • +
+

 

+

 

+ + +

[Untagged] - 7/12/2017 4:46:18 PM

+
+

Commit f4491acc1ce7cc6a3b692283e4e41949637d3757

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • node qualities
  • +
+

 

+

 

+ + +

[Untagged] - 7/12/2017 4:44:56 PM

+
+

Commit 79b6d286bb5bc79f15138cfcb0b4f0b7fc6864b8

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • edge colors and default edge colors
  • +
+

 

+

 

+ + +

[Untagged] - 7/11/2017 9:16:07 PM

+
+

Commit b2d63ad058e362514334538f93d4fcd6fa631d5f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • 3.2.0 is full test coverage
  • +
+

 

+

 

+ + +

[Untagged] - 7/11/2017 5:38:06 PM

+
+

Commit 93b2432ff35cd273db0b38581fd9a750a349832b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • okay, what if we leave them devdeps and just remove the build from the install, since we have dist
  • +
+

 

+

 

+ + +

[Untagged] - 7/11/2017 4:59:14 PM

+
+

Commit a1d9e7c0055e6694bde4928d749906fa92486591

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • let's see if just moving things to deps wholesale solves the downstream build problem
  • +
+

 

+

 

+ + +

[Untagged] - 7/5/2017 3:39:24 PM

+
+

Commit 4748e3751a62089949d280a23d9c8115e2a6cfc5

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • three lines of coverage left :D :D
  • +
+

 

+

 

+ + +

[Untagged] - 7/5/2017 2:33:31 PM

+
+

Commit ea9fe406dddb497d53a07da4a67b5ac3355c3717

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • lol all that drama around throwing a string, huh
  • +
+

 

+

 

+ + +

[Untagged] - 7/5/2017 9:07:19 AM

+
+

Commit 6f22cc476a2a24476a10f6d5c8f75bead619f48e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • what about with no lockfile
  • +
+

 

+

 

+ + +

[Untagged] - 7/5/2017 8:54:14 AM

+
+

Commit 0ca33e3a612475859aff6eb602b721e7fa56bbc6

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • the lockfile shouldn't cause a build fail on 8, should it?
  • +
+

 

+

 

+ + +

[Untagged] - 7/5/2017 8:26:36 AM

+
+

Commit 9b461f1052aeba47f5a9958d235ae608fc199eab

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • improve coverage; retrigger build because of npm mess from this morning
  • +
+

 

+

 

+ + +

[Untagged] - 7/5/2017 7:50:51 AM

+
+

Commit 7e74b21ef0cf5cb2ae479ef80ac0f27d79157d04

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [1c8f98e, e8b68ad]

+
    +
  • closing in on full coverage :D
  • +
+

 

+

 

+ + +

[Untagged] - 7/4/2017 11:33:11 PM

+
+

Commit 1c8f98ed0eda80ed727a72bb0439aa91018dbae5

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • flip spread with new obj to throw on list_exit_actions and probable_action_exits
  • +
+

 

+

 

+ + +

[Untagged] - 7/4/2017 11:33:11 PM

+
+

Commit e8b68adc7047111876d805b53341f07153554078

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • flip spread with new obj to throw on list_exit_actions and probable_action_exits
  • +
+

 

+

 

+ + +

[Untagged] - 7/4/2017 11:21:01 PM

+
+

Commit 9b30e347cdf0cf205d6241a15f6d8dae987674d9

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • negative coverage tests for actions/0,1 and list_states_having_action
  • +
+

 

+

 

+ + +

[Untagged] - 7/4/2017 11:17:26 PM

+
+

Commit 391b6a5962fff128ee75173177de0ab3045b0806

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • list states having action coverage
  • +
+

 

+

 

+ + +

[Untagged] - 7/4/2017 11:09:14 PM

+
+

Commit 4c09b8d40de563142999c7118522507210d77a9a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • cover actions/0,1
  • +
+

 

+

 

+ + +

[Untagged] - 7/4/2017 10:55:46 PM

+
+

Commit 876168689c8e1768ed836a32036c3a7fd2ff5c6c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • probabilistic_histo_walk coverage
  • +
+

 

+

 

+ + +

[Untagged] - 7/4/2017 10:43:21 PM

+
+

Commit 99c4fc746cdbcb6cae724c07f6f7fb5f0853b8d4

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • coverage, probabilistic walk bugfix
  • +
+

 

+

 

+ + +

[Untagged] - 7/4/2017 10:27:40 PM

+
+

Commit ed3771d93ded350182c7d712fc29d2fb44a62de6

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • coverage, small tweaks, testing
  • +
+

 

+

 

+ + +

[Untagged] - 7/4/2017 9:35:21 PM

+
+

Commit ebc092d9dc7011757051f88f6933cfa9de918c6e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • rearrangement and coverage
  • +
+

 

+

 

+ + +

[Untagged] - 7/4/2017 9:09:09 PM

+
+

Commit f9795799f4c98632e5944dcacd1162c91d06e3b9

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • coverage of probable_exits_for
  • +
+

 

+

 

+ + +

[Untagged] - 7/4/2017 8:43:42 PM

+
+

Commit 20ef6b74fd7f317a9614563bff0c6d84f6fa7dd8

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • basic parser complete (declaring inputs and outputs)
  • +
+

 

+

 

+ + +

[Untagged] - 7/4/2017 7:43:23 PM

+
+

Commit b4844b59761a2fffe09a1a065a0b8e6f5b7fe7fb

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • suppress load_machine_state while we're at it
  • +
+

 

+

 

+ + +

[Untagged] - 7/4/2017 7:42:21 PM

+
+

Commit 9fedbd272860529e752a23156081fb98f1c04c7e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • temporarily suppress load_machine_state/1
  • +
+

 

+

 

+ + +

[Untagged] - 7/4/2017 7:38:34 PM

+
+

Commit f6c188352dd1c06c366b472d6050dee9cb57b752

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • temporarily suppress force_transition/2 and valid_force_transition/2
  • +
+

 

+

 

+ + +

[Untagged] - 7/4/2017 7:19:10 PM

+
+

Commit f27f7b6dd4e8f6cfb02dd518e74f45bd59380339

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • remove is_changing/0 for now; up coverage
  • +
+

 

+

 

+ + +

[Untagged] - 7/4/2017 6:42:18 PM

+
+

Commit e3212a8f7d72462ce49cf3de6499d93cd8cf82cd

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • coverage for _new_state/1 and machine_state/0
  • +
+

 

+

 

+ + +

[Untagged] - 7/4/2017 6:37:30 PM

+
+

Commit 09ed3ccb9a18c55486f998391c4c6a2c4f64ba2e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • remove redundant insertion test
  • +
+

 

+

 

+ + +

[Untagged] - 7/4/2017 6:30:22 PM

+
+

Commit 3bbc7681d19bd654fd8515bd136a41acec752850

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • rephrase action/raction map gen for coverage
  • +
+

 

+

 

+ + +

[Untagged] - 7/4/2017 12:06:45 PM

+
+

Commit 3fd12b6e299e5cee3aaeab62529ff35b2e729c99

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • guess who's working on coverage
  • +
+

 

+

 

+ + +

[Untagged] - 7/4/2017 9:14:52 AM

+
+

Commit b724796e5e37c55c2db5b1739df393ca7d147d6d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • stiiiillllllll working on coverage
  • +
+

 

+

 

+ + +

[Untagged] - 7/4/2017 8:55:57 AM

+
+

Commit 93af4fef22d1c8103dff3dece4eb2e3edee5ef7f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • more coverage pls
  • +
+

 

+

 

+ + +

[Untagged] - 7/3/2017 5:52:04 PM

+
+

Commit 1a2d0c9924708cf9c0fc3bf29f0c54e8dd8d784f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • fix two context bugs; more test coverage
  • +
+

 

+

 

+ + +

[Untagged] - 7/3/2017 5:27:33 PM

+
+

Commit a1bd797a8106a4955c3fd8eb93d44e6e171deab6

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • some fix on several; context fix on has_unenterables/0; many more tests
  • +
+

 

+

 

+ + +

[Untagged] - 7/3/2017 4:42:45 PM

+
+

Commit bad6b32a87aa3bc3293a1cd1172dc6c27cb55f54

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • nyc and del-cli were out of date
  • +
+

 

+

 

+ + +

[Untagged] - 7/3/2017 4:35:40 PM

+
+

Commit 79c2e85bdf7cd57877e14b8d088f4a45af9ee1c1

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • even better testing coverage
  • +
+

 

+

 

+ + +

[Untagged] - 7/3/2017 4:03:15 PM

+
+

Commit a6076529e180da2f1134ba71bef72637d4a90a89

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • still better testing coverage
  • +
+

 

+

 

+ + +

[Untagged] - 7/3/2017 4:00:31 PM

+
+

Commit b60e95c4fe492dda39f575deedc91e021943120b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • better testing coverage
  • +
+

 

+

 

+ + +

[Untagged] - 7/3/2017 3:36:23 PM

+
+

Commit bf3a538be37e3d6d47252ad011a522ed915883e4

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • ok let's bump ava then
  • +
+

 

+

 

+ + +

[Untagged] - 7/3/2017 3:31:06 PM

+
+

Commit 5f18f74b0bca117e939cff0fb342014bd0000e64

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • actually maybe it's a legit flow error
  • +
+

 

+

 

+ + +

[Untagged] - 7/3/2017 3:18:21 PM

+
+

Commit 64821cd52de55a50b9e11e191b974a1dcba7f8fe

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • ok let's try the install first
  • +
+

 

+

 

+ + +

[Untagged] - 7/3/2017 3:16:59 PM

+
+

Commit fe58795dfc9cd8450f7618c54441cad1d1b919d2

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • why is flow erroring in the way i'd expect for a prior version though
  • +
+

 

+

 

+ + +

[Untagged] - 7/3/2017 2:49:47 PM

+
+

Commit 27db55f8d8e693841f95e3ef59e36f85f1a16069

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • ah, it's because i locked flow then didn't update it, lawl
  • +
+

 

+

 

+ + +

[Untagged] - 7/3/2017 2:45:40 PM

+
+

Commit c15c66e7f015b4d1df0901c757bae9c6ad5e649f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • meaningless change to get travis to trigger
  • +
+

 

+

 

+ + +

[Untagged] - 7/3/2017 1:56:54 PM

+
+

Commit 11dd41da13e6c69d7cf84c403b5304e0bf19ca70

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • remove viz (in favor of new package jssm-viz)
  • +
+

 

+

 

+ + +

[Untagged] - 6/27/2017 8:10:16 PM

+
+

Commit 02dcc6c6106355ca3cbf9d96dae4a6a6f6fffa93

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • attempt to LCOV_EXCL_LINE to cope with spurious flow throws
  • +
+

 

+

 

+ + +

[Untagged] - 6/27/2017 8:04:37 PM

+
+

Commit 73e40d9080de9727274e2c96a9671d516c0f327c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • modernize the tests for fixed labels; make them more data driven
  • +
+

 

+

 

+ + +

[Untagged] - 6/27/2017 6:55:06 PM

+
+

Commit c4e5fb82c97176b1e8bbeb5ad9bab5846903852e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • full coverage of jssm-util
  • +
+

 

+

 

+ + +

[Untagged] - 6/27/2017 6:31:59 PM

+
+

Commit 2561a66c6f25046e70307c46a80822308988785c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • rearrangement, comments, and a shoddy test for weighted_rand_select
  • +
+

 

+

 

+ + +

[Untagged] - 6/27/2017 6:12:48 PM

+
+

Commit fbc4f0bfc9c89a97e5ddb27dda7593159fbad2f0

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [834e385, ac9afdb]

+
    +
  • Merge branch 'master' of github.com:StoneCypher/jssm
  • +
+

 

+

 

+ + +

[Untagged] - 6/27/2017 6:12:40 PM

+
+

Commit 834e385aef9b685f40d4be0502dcd625e032a1fb

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • action labels as backticks; readmitting docs formally; bump to 2.7.0
  • +
+

 

+

 

+ + +

[Untagged] - 6/27/2017 5:10:06 PM

+
+

Commit ac9afdba70924b1506d99f93be08fbf05c85fd16

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 6/27/2017 2:47:07 PM

+
+

Commit c2de4d46405ad9936303e6f446187c051b00e2e4

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • some name clarifications. readding the docs dir to see if codeclimate chokes. one fake test.
  • +
+

 

+

 

+ + +

[Untagged] - 6/27/2017 2:20:05 PM

+
+

Commit c8bfce82a2c4f832c48bd87b0536076d35b51b35

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • guess i should add the tests directory, huh
  • +
+

 

+

 

+ + +

[Untagged] - 6/27/2017 2:18:53 PM

+
+

Commit 85b3f164777084e2d257db2aa061a86d0f0363cf

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • okay let's try one of their sourced ymls
  • +
+

 

+

 

+ + +

[Untagged] - 6/27/2017 11:38:53 AM

+
+

Commit 0ec645313d499681ea1f307a3fd0ca2ced6f8b86

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • fix whitespace in graph items as a pretext to trigger codeclimate
  • +
+

 

+

 

+ + +

[Untagged] - 6/27/2017 11:32:43 AM

+
+

Commit 0400c95dbed8b0e486601d93a796a161bf2f1410

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • What happens to CodeClimate if I just nuke the entire docs directory
  • +
+

 

+

 

+ + +

[Untagged] - 6/27/2017 11:24:56 AM

+
+

Commit f40c6de57989d861033dbdfd66a0e8deaaa54c1a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • does removing the .yml retrigger analysis?
  • +
+

 

+

 

+ + +

[Untagged] - 6/26/2017 2:56:49 PM

+
+

Commit b2806aa785303af098d76828eb7ae2bb8916b62c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • wow, it was. trying a simpler .yml
  • +
+

 

+

 

+ + +

[Untagged] - 6/26/2017 2:55:10 PM

+
+

Commit 1c1963a7929ede9ada26b453bd6f53a4afe57793

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • is the .codeclimate.yml why codeclimate isn't firing anymore?
  • +
+

 

+

 

+ + +

[Untagged] - 6/26/2017 1:28:21 PM

+
+

Commit f3578f5ac47e6b4c49ef4d472a915c30a1e00c51

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • add graph layout to peg
  • +
+

 

+

 

+ + +

[Untagged] - 6/26/2017 8:24:43 AM

+
+

Commit f6da593f33025989aff68f5bed829fa91b45fa13

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • it's .yml, not .yaml
  • +
+

 

+

 

+ + +

[Untagged] - 6/26/2017 8:22:39 AM

+
+

Commit dac225f0802e0f6f0ffdacdfd6b7189c2a22bbde

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • ok try a different notation. also should be removing tests
  • +
+

 

+

 

+ + +

[Untagged] - 6/26/2017 8:21:07 AM

+
+

Commit 33b7e45359e5727d1db796bd03fd77fef607006b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • remove docs/ from codeclimate coverage
  • +
+

 

+

 

+ + +

[Untagged] - 6/25/2017 11:10:13 PM

+
+

Commit 693bb54b7736250a1d73681af85ad6cd8e1b15e5

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Min transitions per state; max transitions per state; more cleanup
  • +
+

 

+

 

+ + +

[Untagged] - 6/25/2017 10:57:54 PM

+
+

Commit e7e2637bb0e02b496981c3af00209a0ce47755aa

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • ditch hexo
  • +
+

 

+

 

+ + +

[Untagged] - 6/25/2017 10:46:49 PM

+
+

Commit 1b53038953d21768d286d632fd50c026eccf179a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • rebuild
  • +
+

 

+

 

+ + +

[Untagged] - 6/25/2017 10:35:20 PM

+
+

Commit c9d6f57b9ac422ca852d61f86393f8137b1ac184

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • bit of rearranging
  • +
+

 

+

 

+ + +

[Untagged] - 6/25/2017 10:27:01 PM

+
+

Commit c8fbe9c4ce7355e92db1d6d28e15e15fa8dc7416

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • start making the config items explicit; introduce a node shape type
  • +
+

 

+

 

+ + +

[Untagged] - 6/25/2017 10:25:49 PM

+
+

Commit b3781473907c05fb72eb51082f7456fc56e90cf3

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • start making the config items explicit; introduce a node shape type
  • +
+

 

+

 

+ + +

[Untagged] - 6/25/2017 10:08:30 PM

+
+

Commit 534a698fb1c2e1470701a6fe037048a8bab73af9

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • add node_shape to graph config types
  • +
+

 

+

 

+ + +

[Untagged] - 6/24/2017 9:49:12 PM

+
+

Commit aa875d6f239bc14fe87dfa67edde5738ee317cd4

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • eslint still down in v4 :/
  • +
+

 

+

 

+ + +

[Untagged] - 6/10/2017 4:25:36 PM

+
+

Commit 2f0420717ad4026445d97e0579f3298362162451

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [4144c1f, d9b1050]

+
    +
  • Merge branch 'master' of github.com:StoneCypher/jssm
  • +
+

 

+

 

+ + +

[Untagged] - 6/7/2017 11:17:10 AM

+
+

Commit d9b10500fba99ad6305e6b7a16e7c3c77a4e442a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update .nycrc
  • +
  • lol fucking what? screw you tabs
  • +
+

 

+

 

+ + +

[Untagged] - 6/6/2017 4:59:39 PM

+
+

Commit 4144c1f902e21909f9590521d743331226baba57

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • differentiated token paths for direct config parsing
  • +
+

 

+

 

+ + +

[Untagged] - 6/4/2017 9:44:19 PM

+
+

Commit e5029748bd3d00003fda5cbb10547cbf730812b5

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • test double arrows, sequences, and chains; bump to 2.4
  • +
+

 

+

 

+ + +

[Untagged] - 6/4/2017 8:11:40 PM

+
+

Commit fe1528c9062f6b03815ea33f695c2b606ef7c452

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • clean up spurious .se; bring tests into line
  • +
+

 

+

 

+ + +

[Untagged] - 6/4/2017 7:47:47 PM

+
+

Commit e7e9cb051296893f9ede67742fe156768c5341a1

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • remove optionals
  • +
+

 

+

 

+ + +

[Untagged] - 6/4/2017 7:43:14 PM

+
+

Commit 35a961fca7935982e2bc142675f33af07da0076f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • support for descitems
  • +
+

 

+

 

+ + +

[Untagged] - 6/4/2017 7:39:04 PM

+
+

Commit 43729ef9a3d5103b2e56835a9a4976e2f686f717

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • bump ver; better single item description tests
  • +
+

 

+

 

+ + +

[Untagged] - 6/4/2017 7:36:59 PM

+
+

Commit 0676f1f16bfe8f5333b7170b83151886a0e586ed

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • add atoms; remove useless subexpitem; remove < > from atoms; add tests for empty arrow descriptions and single item descriptions
  • +
+

 

+

 

+ + +

[Untagged] - 6/4/2017 7:12:10 PM

+
+

Commit 687bbacea1ba6a53eea6ed20707190235c4c4a78

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • fix atom parsing; get basic tests up and running for parser
  • +
+

 

+

 

+ + +

[Untagged] - 6/4/2017 6:23:26 PM

+
+

Commit 64e3e31f2351244e861f7e1e0f6c1922f2611530

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • dot now produced again; modified build w/o flow, eslint, audit
  • +
+

 

+

 

+ + +

[Untagged] - 6/4/2017 6:10:57 PM

+
+

Commit 607222fec6240066ccce19a1776e1c08ae8c9ffe

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • sigh portability and node
  • +
+

 

+

 

+ + +

[Untagged] - 5/30/2017 2:40:15 PM

+
+

Commit b33c5731f6347a4f0581a94edc8dc6647fcc8ea5

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • add 8 to travis; also remove site again because reasons
  • +
+

 

+

 

+ + +

[Untagged] - 5/29/2017 7:36:26 PM

+
+

Commit 74e32314828b7cbbdf38a789e7b8c00eca1c31bc

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • re-remove hexo from build
  • +
+

 

+

 

+ + +

[Untagged] - 5/29/2017 6:21:19 PM

+
+

Commit 3c9acb6566471effb6e16f543cb5db46ecdef15c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • maybe i explicitly need a local copy? honestly :/
  • +
+

 

+

 

+ + +

[Untagged] - 5/29/2017 6:16:47 PM

+
+

Commit c410f2773724a8db47fb8478ff27d154163563e7

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • maybe i need hexo-cli too
  • +
+

 

+

 

+ + +

[Untagged] - 5/29/2017 6:12:04 PM

+
+

Commit 324fd613e41f7c1f811ad970d69d367a894e85bc

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • maybe i need to ginstall hexo first?
  • +
+

 

+

 

+ + +

[Untagged] - 5/29/2017 6:07:37 PM

+
+

Commit d4e08dbf17b22492f18fe9985182fbcd76796352

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • remove site from build until we know more about hexo and travis
  • +
+

 

+

 

+ + +

[Untagged] - 5/28/2017 2:41:08 AM

+
+

Commit 28d56136bd5d5b41959b05baa6a73405c1660742

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Style improvements; trying to fix hexo on travis
  • +
+

 

+

 

+ + +

[Untagged] - 5/28/2017 2:26:12 AM

+
+

Commit 2afa4a5f509aabffed25d168dea0f09cc8cdcf1e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • missing dep
  • +
+

 

+

 

+ + +

[Untagged] - 5/28/2017 2:12:13 AM

+
+

Commit d4b050823cdc6ec5b9114bd9100dcd836218ad4c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • site builds automatically now
  • +
+

 

+

 

+ + +

[Untagged] - 5/28/2017 1:18:13 AM

+
+

Commit 06cc19bdcca9ec58d543b928e1c9532d23370351

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • public site works
  • +
+

 

+

 

+ + +

[Untagged] - 5/28/2017 1:12:17 AM

+
+

Commit 2c1def6dffce10ba1b99497812dccee7afe6160c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • alt path in readme
  • +
+

 

+

 

+ + +

[Untagged] - 5/28/2017 1:09:14 AM

+
+

Commit daf36bd05a7caeaaaf5a2ab8798d7c9ca76806d7

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • build && version bump
  • +
+

 

+

 

+ + +

[Untagged] - 5/28/2017 1:07:46 AM

+
+

Commit b2f8bd01f14fabe1ebcb718aec53481799a2c501

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • placement mistake
  • +
+

 

+

 

+ + +

[Untagged] - 5/28/2017 1:06:50 AM

+
+

Commit 413e40d804d498257b581ba49589840c9a62ba6c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • ugh, the things we do for urls on gh pages
  • +
+

 

+

 

+ + +

[Untagged] - 5/28/2017 12:47:45 AM

+
+

Commit 6303be6df8e896b1e933e6669053b8187dc30788

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • omitted the hexo dep
  • +
+

 

+

 

+ + +

[Untagged] - 5/28/2017 12:41:53 AM

+
+

Commit e16ba533fb86b9ed9307c0119492d8b1233ec9e1

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • lawl there was a second themes directory
  • +
+

 

+

 

+ + +

[Untagged] - 5/28/2017 12:36:31 AM

+
+

Commit fca89d668ba9ea532fa63ff4b03e68f1a9473f08

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Version bump to attempt to recycle gh pages cache
  • +
+

 

+

 

+ + +

[Untagged] - 5/28/2017 12:23:36 AM

+
+

Commit 239044f2a2391dd71c4059371b746242afb27e45

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • config bumps
  • +
+

 

+

 

+ + +

[Untagged] - 5/28/2017 12:19:02 AM

+
+

Commit 3bb4f908e033767ca193592736efb403795095a5

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Trying pushing the main README into the default theme
  • +
+

 

+

 

+ + +

[Untagged] - 5/28/2017 12:10:21 AM

+
+

Commit 65d106b656e387bb90365eb6043fd2e53ee0461b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • theme change attempt
  • +
+

 

+

 

+ + +

[Untagged] - 5/27/2017 11:57:14 PM

+
+

Commit 70efba8235137b4390016a389622318126c98574

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • maybe better site?
  • +
+

 

+

 

+ + +

[Untagged] - 5/27/2017 11:52:27 PM

+
+

Commit 43d0b6bbb73225f91fc68518714d6e7ccab340f9

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • attempting a hexo site
  • +
+

 

+

 

+ + +

[Untagged] - 5/27/2017 10:24:21 PM

+
+

Commit add7e0c89d7dbc43e822d234b9fa753bcd1ebe22

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [80d09be, 33c8b96]

+
    +
  • Merge branch 'master' of github.com:StoneCypher/jssm
  • +
+

 

+

 

+ + +

[Untagged] - 5/27/2017 10:24:12 PM

+
+

Commit 80d09be177bc59d76d5f9ee1e835170dc2d54c9e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Prepping for Jekyll site
  • +
+

 

+

 

+ + +

[Untagged] - 5/27/2017 10:22:37 PM

+
+

Commit 33c8b96b3afe7f0d132d835fc845c96abcb11d43

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Set theme jekyll-theme-dinky
  • +
+

 

+

 

+ + +

[Untagged] - 5/27/2017 10:15:02 PM

+
+

Commit 249cbc2be75abbcef4ba7061af4d18ce19aa309a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • documentation generation ahoy
  • +
+

 

+

 

+ + +

[Untagged] - 5/27/2017 9:49:13 PM

+
+

Commit 335e0f73a4a34ce470c133279e1b8c2fb8e199c1

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • dist folder; minification with uglify 3
  • +
+

 

+

 

+ + +

[Untagged] - 5/27/2017 9:19:28 PM

+
+

Commit ba0632b1bc1315d2a3c21c8c7b4a23b8a965dd60

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • get generated peg parsing code out of coverage analysis
  • +
+

 

+

 

+ + +

[Untagged] - 5/27/2017 7:06:07 PM

+
+

Commit 3b3bbd0ee4f1545468bf21160a15f2564c105c3a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • api name changes; defaults; peg in the build chain
  • +
+

 

+

 

+ + +

[Untagged] - 5/27/2017 4:45:48 PM

+
+

Commit f5c32a06da15268305c17a60dac5ce7cdea2fa31

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • audit step, improved api, tweaks, more tests
  • +
+

 

+

 

+ + +

[Untagged] - 5/27/2017 4:31:39 PM

+
+

Commit 31aafd1c424329ef19fc699543f7b9aea987f8c5

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • update build, oops
  • +
+

 

+

 

+ + +

[Untagged] - 5/27/2017 4:30:43 PM

+
+

Commit 7a9ec4789485368aca9b6ee3331a8c9c4d2f1608

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • naming improvements; starting to break util functions out into pure module; testing improvements
  • +
+

 

+

 

+ + +

[Untagged] - 5/27/2017 3:01:13 PM

+
+

Commit 7dd738f4a8d87ef5b93098dbe7acec7f8c0fdd25

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [1a246fa, a9b0e97]

+
    +
  • Merge branch 'master' of github.com:StoneCypher/jssm
  • +
+

 

+

 

+ + +

[Untagged] - 5/27/2017 3:00:10 PM

+
+

Commit 1a246fa315f496797c326e42459e90f344b7b3fd

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [2f80399, 79e07b7]

+
    +
  • Merge branch 'master' of github.com:StoneCypher/jssm
  • +
+

 

+

 

+ + +

[Untagged] - 5/27/2017 3:00:10 PM

+
+

Commit a9b0e975392ba6d022f72f45d9402b8c9396fee3

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [2f80399, 79e07b7]

+
    +
  • Merge branch 'master' of github.com:StoneCypher/jssm
  • +
+

 

+

 

+ + +

[Untagged] - 5/27/2017 2:23:23 PM

+
+

Commit 2f8039952f57f428e2d684ebb0681eddb104bae0

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • improvements to DOT-like PEG; move viz/1 to jssm-viz.js
  • +
+

 

+

 

+ + +

[Untagged] - 5/27/2017 2:23:23 PM

+
+

Commit 79e07b7f0830ac317a6b50768e8dff34bb104a31

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • improvements to DOT-like PEG; move viz/1 to jssm-viz.js
  • +
+

 

+

 

+ + +

[Untagged] - 5/25/2017 11:55:59 PM

+
+

Commit c8ff548ada40adbf0bee4681976100bb4c7e995a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • wait that was the old one
  • +
+

 

+

 

+ + +

[Untagged] - 5/25/2017 11:54:42 PM

+
+

Commit d92e6efbf0c2df599cbc1d5988fa800ecdf5c037

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [0b78992, 738b546]

+
    +
  • Merge branch 'master' of github.com:StoneCypher/jssm
  • +
+

 

+

 

+ + +

[Untagged] - 5/25/2017 11:52:45 PM

+
+

Commit 0b78992d755002fbda486c380f282e41e239b360

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • ok it was the spaces. simple cleanup
  • +
+

 

+

 

+ + +

[Untagged] - 5/25/2017 11:52:45 PM

+
+

Commit 738b546654ed003aa03d53f6580963038ed923d3

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • ok it was the spaces. simple cleanup
  • +
+

 

+

 

+ + +

[Untagged] - 5/25/2017 11:45:57 PM

+
+

Commit 9e4b298a4693b6718d083b3d2e567b59a14ed137

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • do i have to urlencode the spaces?
  • +
+

 

+

 

+ + +

[Untagged] - 5/25/2017 11:44:05 PM

+
+

Commit c9bfc57ee5fd87fd9a705fec0671fff134d1fd73

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • maybe with double-embed notation?
  • +
+

 

+

 

+ + +

[Untagged] - 5/25/2017 11:43:03 PM

+
+

Commit 658f96dedbdf852109cb78132a57debcf6ca8b4f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • maybe it wants text before the header?
  • +
+

 

+

 

+ + +

[Untagged] - 5/25/2017 11:42:01 PM

+
+

Commit 7811884f27a667a3085bb61dd57c3583088fc144

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • maybe it wants a relative path?
  • +
+

 

+

 

+ + +

[Untagged] - 5/24/2017 9:26:42 PM

+
+

Commit 5534309fddc4506e4df26047f1f18b040020e798

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • does it need interstitial text to render?
  • +
+

 

+

 

+ + +

[Untagged] - 5/23/2017 11:39:53 PM

+
+

Commit bb9ba2bedf3571e4b2bbd826a7d2db50c00f325d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • transitions in readme
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2017 2:16:11 PM

+
+

Commit 9b869557fe80241a11fcfd4628baeb2f27086aa3

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2017 12:36:48 PM

+
+

Commit da562b43b97bac4c6fe725f46f312d7debd5be58

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • fix empties, wraps
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2017 12:21:36 PM

+
+

Commit 8861742bdc89e62e638e9cd65da2ee1b2c461adb

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • move desc values to strings
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2017 11:31:40 AM

+
+

Commit d1fb4d935a1b85d9cb440d87d4b06926805e20ce

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • apparently nyc runs in stages
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2017 11:23:01 AM

+
+

Commit f81b77c00a84cd5617c194175378e1b39b08cdad

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • distinguish nyc tests from ava
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2017 11:14:15 AM

+
+

Commit a1552251d96e50a49fe207261650727e78ded6bb

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • guess pwd should be before the run
  • +
+

 

+

 

+ + +

[Untagged] - 5/22/2017 11:08:56 AM

+
+

Commit 7419df9467631b9e1015a8bf971cc01aa12134a4

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • add arrow descriptions; increase relevant label characterset
  • +
+

 

+

 

+ + +

[Untagged] - 5/21/2017 4:33:15 PM

+
+

Commit f676303648014be511ae0ad8a46606a5a7156302

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • labels joined, wrong arrays removed
  • +
+

 

+

 

+ + +

[Untagged] - 5/21/2017 4:08:36 PM

+
+

Commit 21600eb25e328919dfc1d30a6c1f81625a349b04

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • basic recursive parser
  • +
+

 

+

 

+ + +

[Untagged] - 5/21/2017 3:29:51 PM

+
+

Commit 18d4cf244eaf81a45b359021d7cfd5258db5a79e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • add pwd in hope to diagnose weird problem
  • +
+

 

+

 

+ + +

[Untagged] - 5/21/2017 3:25:26 PM

+
+

Commit 0f284572ed7f655e1bfad45c421039c1ccd374e5

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • attempt to move coverage exclusively to CI/CD
  • +
+

 

+

 

+ + +

[Untagged] - 5/21/2017 2:56:51 PM

+
+

Commit 36273e946c2a32d5f69bea15e34b44022e5d3ef7

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • sourcemaps and sourcemap removal from cjs; better badges; node minimum
  • +
+

 

+

 

+ + +

[Untagged] - 5/18/2017 9:23:16 PM

+
+

Commit 40848f2444ebcd299904e140ccee6b6a4037f643

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • We apparently do need no steenkeng badges
  • +
+

 

+

 

+ + +

[Untagged] - 5/18/2017 9:06:56 PM

+
+

Commit 030c22f18b49143ff9bcc16b3f791d05acf6cf7f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • remove io.js from travis
  • +
+

 

+

 

+ + +

[Untagged] - 5/18/2017 9:01:59 PM

+
+

Commit 32bc6688d251935e9eeeb6f414a0a18ef328769e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • specify min node; first try at a .travis.yml
  • +
+

 

+

 

+ + +

[Untagged] - 5/18/2017 8:40:35 PM

+
+

Commit 41235c5d10a2d4a948f7cd245c5f3cdd2f8edd64

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [dd7b5f6, cb2a6b0]

+
    +
  • Merge branch 'master' of github.com:StoneCypher/jssm
  • +
+

 

+

 

+ + +

[Untagged] - 5/18/2017 8:40:31 PM

+
+

Commit dd7b5f6878b10ef450ed4b00834ac909de4bfeee

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • More NPM tags
  • +
+

 

+

 

+ + +

[Untagged] - 5/18/2017 8:37:01 PM

+
+

Commit cb2a6b0742e36fa40ea69dce993ebadf634d73a4

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [058398c, edb9906]

+
    +
  • Merge branch 'master' of github.com:StoneCypher/jssm
  • +
+

 

+

 

+ + +

[Untagged] - 5/18/2017 8:36:54 PM

+
+

Commit 058398c443f4d429df518f57e4c8593aa9e77f3f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • screenshot add
  • +
+

 

+

 

+ + +

[Untagged] - 5/18/2017 8:30:30 PM

+
+

Commit edb9906ab5649fe359d918dd137a327e706f9d01

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 5/17/2017 9:15:03 AM

+
+

Commit e59ef17d786f02cf2eeb68ea3696366559580e3b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • small bits in do want
  • +
+

 

+

 

+ + +

[Untagged] - 5/17/2017 7:27:58 AM

+
+

Commit 3b0bdcaa2b1191cefbf8164361cc3b636b3ff47d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • probabilistic histo walk, histograph, histo_key
  • +
+

 

+

 

+ + +

[Untagged] - 5/13/2017 11:45:38 PM

+
+

Commit dd98d63091801242dc46d7ebaf5adad28fc8d055

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • slightly nicer impl
  • +
+

 

+

 

+ + +

[Untagged] - 5/13/2017 11:39:27 PM

+
+

Commit 39955f3c8f6f2f0a521f0dbf293cbb0f8f3bf689

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • bugfix: yeah, that shouldn't be the empty string liter
  • +
+

 

+

 

+ + +

[Untagged] - 5/10/2017 1:56:16 AM

+
+

Commit e0b64b645d083a023d27d1b3d936eb59ae8ec35e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • probabilistics
  • +
+

 

+

 

+ + +

[Untagged] - 5/10/2017 12:00:06 AM

+
+

Commit a5e6e608d85f7b997b397deb671cb1dbedb4f29a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • random action exits, bugfixes, tests, formatting
  • +
+

 

+

 

+ + +

[Untagged] - 5/9/2017 11:39:50 PM

+
+

Commit 2f9eb45b25369595c87a695ebcad159a627966b9

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • action and transition/action tests
  • +
+

 

+

 

+ + +

[Untagged] - 5/9/2017 11:11:17 PM

+
+

Commit 3d9abb3b9b8cf0e900592da3c506a3775dbd0592

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • actions!
  • +
+

 

+

 

+ + +

[Untagged] - 5/9/2017 10:15:35 PM

+
+

Commit b2f1cb050d46be5bcb5917f921071bb0f7407297

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • wildly improved graphing
  • +
+

 

+

 

+ + +

[Untagged] - 5/9/2017 6:14:13 PM

+
+

Commit 88bd317312a43e05744c1a199dc970a5e0503c35

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • much improved visualizations
  • +
+

 

+

 

+ + +

[Untagged] - 5/9/2017 4:33:52 PM

+
+

Commit be73cbb6721276b224cfc01a8e3695cc473db8b9

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • basic transitions working
  • +
+

 

+

 

+ + +

[Untagged] - 5/9/2017 3:30:04 PM

+
+

Commit a1bc086ba148dce17d7bcad07c55c2da09059229

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • state saving
  • +
+

 

+

 

+ + +

[Untagged] - 5/9/2017 3:11:23 PM

+
+

Commit 899fef29cbbb3e0ba1d161c855ebe2b524444133

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • state machine completeness; improved checklist; more type stuff; bump
  • +
+

 

+

 

+ + +

[Untagged] - 5/9/2017 2:28:17 PM

+
+

Commit 94e7405e3b055f7b3b2129cf542e31d7b99f52ed

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • tests, types, bump
  • +
+

 

+

 

+ + +

[Untagged] - 5/9/2017 1:57:47 PM

+
+

Commit 69ed67457c08822c24e569fe57970f1607a9126f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • this type situation is getting rapidly better
  • +
+

 

+

 

+ + +

[Untagged] - 5/9/2017 1:51:55 PM

+
+

Commit 048649ba2cbd3dfc8874b8a2035fe9f7297b7aca

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • and yet more type shenanigans
  • +
+

 

+

 

+ + +

[Untagged] - 5/9/2017 1:50:58 PM

+
+

Commit e7f178275ec2e879a124ea8ae2faf745e1886ebb

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • and yet more type shenanigans
  • +
+

 

+

 

+ + +

[Untagged] - 5/9/2017 1:48:43 PM

+
+

Commit 08ae3b87e062f29d32de9f0cfaa295dfca933523

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • still more type shenanigans
  • +
+

 

+

 

+ + +

[Untagged] - 5/9/2017 1:10:06 PM

+
+

Commit 6a801ef06e00716f301b4b5c17565930f946077e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • more type repair
  • +
+

 

+

 

+ + +

[Untagged] - 5/9/2017 12:45:03 PM

+
+

Commit 5aee8dbc8a9f7591165c747d4af489b2a04a0123

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • start fixing the flowtype types
  • +
+

 

+

 

+ + +

[Untagged] - 5/9/2017 12:44:28 PM

+
+

Commit f29e2ed218367d37904e0326ed9fe31b3fe3b176

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • start fixing the flowtype types
  • +
+

 

+

 

+ + +

[Untagged] - 5/8/2017 10:58:24 AM

+
+

Commit 926f42f799938d49e3828a62c768a126bdfa331c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • comments
  • +
+

 

+

 

+ + +

[Untagged] - 5/7/2017 11:12:02 PM

+
+

Commit 827aac37c4c0f44b8fd3849b20f7c79db1d911d9

+

Author: John Haugeland <stonecypher@gmail.com>

+

Merges [571d8e1, 691169c]

+
    +
  • Merge branch 'master' of github.com:StoneCypher/jssm
  • +
+

 

+

 

+ + +

[Untagged] - 5/7/2017 11:11:54 PM

+
+

Commit 571d8e1a044d428a7b4c84097874a6b10052cb54

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • now makes fairly reasonable SVGs in viz.js online thing
  • +
+

 

+

 

+ + +

[Untagged] - 5/7/2017 9:44:25 PM

+
+

Commit 691169c27185612069ef923b8761a88ad6fd291a

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update do want.md
  • +
+

 

+

 

+ + +

[Untagged] - 5/7/2017 9:40:25 PM

+
+

Commit d13fb5d94d69c749440ed0b191c59682bc6cdd2d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update do want.md
  • +
+

 

+

 

+ + +

[Untagged] - 5/7/2017 9:37:45 PM

+
+

Commit eb8bd8a238d8c4cc245d31f5cddb876c7c698140

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update do want.md
  • +
+

 

+

 

+ + +

[Untagged] - 5/7/2017 9:36:44 PM

+
+

Commit 997d82e960b1e225e697629bd51390275da0e91c

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update do want.md
  • +
+

 

+

 

+ + +

[Untagged] - 5/7/2017 9:01:31 PM

+
+

Commit dce8d966b50abeb95036d48ff2f44cde0f733932

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • catchup and cleanup
  • +
+

 

+

 

+ + +

[Untagged] - 5/7/2017 8:37:33 PM

+
+

Commit afad873c277f2d5cfeab29245b797977d1178eae

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • fixed up throws; better naming scheme; ava-spec; npm run audit
  • +
+

 

+

 

+ + +

[Untagged] - 5/7/2017 7:35:41 PM

+
+

Commit c2f9e34f2046d0fa481ef6ff2e463cb0fbba0166

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • remove the forced parallelism stuff
  • +
+

 

+

 

+ + +

[Untagged] - 5/7/2017 7:35:15 PM

+
+

Commit 07234cadc15e0afa249d3eeb781e820b3abc393e

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • first test
  • +
+

 

+

 

+ + +

[Untagged] - 5/7/2017 7:19:11 PM

+
+

Commit 543aeebec77a3f9d6502b8c92808d58f2991f4b7

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • improved build assembly
  • +
+

 

+

 

+ + +

[Untagged] - 5/7/2017 6:13:43 PM

+
+

Commit 236586cc1d175ba6978326f272a7c593aab24493

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • too much of a hassle to maintain, downgrading
  • +
+

 

+

 

+ + +

[Untagged] - 5/7/2017 3:44:02 PM

+
+

Commit eebc78841fafa4774f862ebe4bce77a075ca1ff7

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • history in config, rename jssm internal instance to machine
  • +
+

 

+

 

+ + +

[Untagged] - 5/7/2017 3:25:38 PM

+
+

Commit 791328b08dbc0fce25435adef4fdd1d3212ecfbc

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Rudimentary demo page in place. Browserify now exporting. Basic API.
  • +
+

 

+

 

+ + +

[Untagged] - 5/7/2017 12:13:55 PM

+
+

Commit c1c78f659a04824d0c12e5c00b1b20e6b9e4b3e0

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 5/7/2017 12:13:40 PM

+
+

Commit 8e6051d53b584221b1a44a4787bf83c4b560a214

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update README.md
  • +
+

 

+

 

+ + +

[Untagged] - 5/6/2017 9:58:44 AM

+
+

Commit 9cd518f43a3be77adf010203c4f636ce48307b28

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • test parallelism in place
  • +
+

 

+

 

+ + +

[Untagged] - 5/3/2017 9:36:12 AM

+
+

Commit 288e21b858b0591a7728cba8abc1dac8733b03b7

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update initial plan.md
  • +
+

 

+

 

+ + +

[Untagged] - 5/3/2017 1:59:56 AM

+
+

Commit 05a7ba646cc62143c899432c3e92f874a205fd20

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • modest cleanup, type extension
  • +
+

 

+

 

+ + +

[Untagged] - 5/3/2017 1:33:11 AM

+
+

Commit 42fbd576f201d1e108e420429d379173b931c319

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • flow, flow-aware eslint
  • +
+

 

+

 

+ + +

[Untagged] - 5/2/2017 11:54:50 PM

+
+

Commit 9721c4ef7427c5c3e47395963f6be9a138b00ffa

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • flow checking and stripping now both working parts of build
  • +
+

 

+

 

+ + +

[Untagged] - 5/2/2017 11:28:46 PM

+
+

Commit 35992a5cef36fc8080a1ac9d21d808f602ed5462

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • simple testing in place
  • +
+

 

+

 

+ + +

[Untagged] - 5/2/2017 11:17:16 PM

+
+

Commit 28f9a2f12c43e0deef5babcb94f026da4b6a0c8f

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • simple build chain
  • +
+

 

+

 

+ + +

[Untagged] - 5/2/2017 10:04:51 PM

+
+

Commit 8b8451d476a0b698538fe369c3d057cd8bbdd7ac

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • initial plan
  • +
+

 

+

 

+ + +

[Untagged] - 5/2/2017 10:03:34 PM

+
+

Commit fe7538c312aa3e105ad7de8459d31216f76be54d

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • npm project
  • +
+

 

+

 

+ + +

[Untagged] - 5/2/2017 9:58:37 PM

+
+

Commit 82b83dcc8d5a5aae34e293dc44b69a9a3e59d3c1

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Create README.md
  • +
+

 

+

 

+ + +

[Untagged] - 5/2/2017 9:58:20 PM

+
+

Commit dc63c392c1395b81a9c0bd2fe3d45b059ee1250b

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update LICENSE.md
  • +
+

 

+

 

+ + +

[Untagged] - 5/2/2017 9:58:10 PM

+
+

Commit 2fffc7dcb41621a6fed1cffc8972c14b10489453

+

Author: John Haugeland <stonecypher@gmail.com>

+
    +
  • Update .gitignore
  • +
+

Legend

  • Property
  • Method
  • Accessor

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/docs/pages/ExampleMachines.html b/docs/docs/pages/ExampleMachines.html new file mode 100644 index 00000000..5c998623 --- /dev/null +++ b/docs/docs/pages/ExampleMachines.html @@ -0,0 +1,1324 @@ +Example machines | JSSM, a JavaScript state machine - the FSM for FSL
Options
All
  • Public
  • Public/Protected
  • All
Menu
+ +

Example Machines

+
+

These are tables of example machines.

+

If a cell is marked with a star ⭐, it is considered the preferred machine for that +specific example. So, you can see from the star on "edge kinds" that Traffic light is the preferred machine for that example, in Useful Machines.

+

If a machine has a coffee cup ☕, that machine uses that feature.

+

 

+

 

+
+ + + +

Hardware machines

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Name#Edge kindsActionsHooksPropertiesDataSensorsAfterRandom edgesInput tape
Light switch2
Traffic light4
Traffic intersection7
Practical intersection-
Intersection classifier-
Mealy vending machine-
Moore vending machine-
Locking door3
Sally trap3
Car door locks-
Hand counter-
Dishwasher control-
Autodialler-
Trivial CPU-
Usable CPU-
Voicemail-
Solaris USB State-
+
+ + + + + +

 

+

 

+
+ + + +

WWW machines

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Name#Edge kindsActionsHooksPropertiesDataSensorsAfterRandom edgesInput tape
Login-
Anon/Ident UI-
Trivial routed UI-
Complex routed UI-
Submit a form-
Music sampler-
+
+ + + + + +

 

+

 

+
+ + + +

Parsers

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Name#Edge kindsActionsHooksPropertiesDataSensorsAfterRandom edgesInput tape
ABAB-
Number-
Arithmetic-
Markdown-
JSON-
Javascript ES3-
SGML-
HTML-
CSS-
Lisp-
Forth-
+
+ + + + + +

 

+

 

+
+ + + +

Protocols

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Name#Edge kindsActionsHooksPropertiesDataSensorsAfterRandom edgesInput tape
TCP/IP12
BGP-
SIP-
eMMC Transfer Mode-
HTTP (Color for 0.9/1.0/1.1/2/3)-
+
+ + + + + +

 

+

 

+
+ + + +

Documentary machines

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Name#Edge kindsActionsHooksPropertiesDataSensorsAfterRandom edgesInput tape
States of matter4
Water phases4
Pseudoscience generator18
Heartbeat (Little John)-
+
+ + + + + +

 

+

 

+
+ + + +

Game machines

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Name#Edge kindsActionsHooksPropertiesDataSensorsAfterRandom edgesInput tape
Pair of Dice-
Deck of Cards-
Tic Tac Toe-
Connect 4-
Pong AI-
Roguelike Troll-
Play Craps-
Play Skunk-
Blackjack player-
Blackjack dealer-
Blackjack 1 on 1-
Tamagatchi-
Konami Code Detector-
Seal AI stick balance-
1v1 Poker-
N-Player Poker-
Nim opponent-
1v1 Matchmaker-
N-Player Matchmaker-
+
+ + + + + +

 

+

 

+
+ + + +

Status machines

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Name#Edge kindsActionsHooksPropertiesDataSensorsAfterRandom edgesInput tape
User verification state-
Physical shipping-
Game achievements-
+
+ + + + + +

 

+

 

+
+ + + +

Conceptual machines

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Name#Edge kindsActionsHooksPropertiesDataSensorsAfterRandom edgesInput tape
Decision tree-
Random model-
Markhov chain-
Collatz conjecture-
+
+ + + + + +

 

+

 

+
+ + + +

Comedy machines

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Name#Edge kindsActionsHooksPropertiesDataSensorsAfterRandom edgesInput tape
Is It Broke?-
Punjabi name theory-
Unprison your Think Rhino-
Plugging in USB-
+
+ + + + + +

 

+

 

+

 

+ + +

Useful Machines

+
+

Back to top

+

 

+ + +

Light switch

+
+

+

Pretty obvious two-stater. Starts in Off; switches back and forth on +toggle.

+
Off 'toggle' <=> 'toggle' On;
+
+

 

+

 

+ + +

Traffic light

+
+

+

Pretty obvious two-stater. Starts in Off; turns on with enable; when on, +cycles on next, or back to Off with disable. Does not offer enable or +disable when not appropriate.

+
Off 'enable' -> Red;
Red 'next' => Green 'next' => Yellow 'next' => Red;
[Red Yellow Green] 'disable' ~> Off; +
+

 

+

 

+ + +

Traffic intersection

+
+

+

Offers six states - red yellow green for north, and the same for east. Shows +red in the unnamed direction. Guarantees four-light sync at all times.

+
Off 'enable' -> GreenNorth;

GreenNorth 'next' => YellowNorth 'next' => RedNorth 'next' =>
GreenEast 'next' => YellowEast 'next' => RedEast 'next' =>
GreenNorth;

[GreenNorth YellowNorth RedNorth GreenEast YellowEast RedEast] 'disable' ~> Off; +
+

 

+

 

+ + +

TCP/IP

+
+

+

TCP/IP, essentially the foundation of the internet, is fundamentally defined as +a state machine and currently codified on +page 22 of RFC793.

+

A TCP/IP socket both starts and ends in Closed.

+
Closed 'Passive open'      -> Listen;
Closed 'Active Open / SYN' -> SynSent;

Listen 'Close' -> Closed;
Listen 'Send / SYN' -> SynSent;
Listen 'SYN / SYN+ACK' -> SynRcvd;

SynSent 'Close' -> Closed;
SynSent 'SYN / SYN+ACK' -> SynRcvd;
SynSent 'SYN+ACK / ACK' -> Established;

SynRcvd 'Timeout / RST' -> Closed;
SynRcvd 'Close / FIN' -> FinWait1;
SynRcvd 'ACK' -> Established;

Established 'Close / FIN' -> FinWait1;
Established 'FIN / ACK' -> CloseWait;

FinWait1 'FIN / ACK' -> Closing;
FinWait1 'FIN+ACK / ACK' -> TimeWait;
FinWait1 'ACK / Nothing' -> FinWait2;

FinWait2 'FIN / ACK' -> TimeWait;
Closing 'ACK' -> TimeWait;
TimeWait 'Up to 2*MSL' -> Closed;
CloseWait 'Close / FIN' -> LastAck;

LastAck 'ACK' -> Closed; +
+

If you want to play golf, you can get that down to seven lines using lists and +chaining:

+
Closed 'Passive open' -> Listen 'Send / SYN' -> SynSent;
[Listen SynSent] 'Close' -> Closed 'Active Open / SYN' -> SynSent 'SYN+ACK / ACK' -> Established 'FIN / ACK' -> CloseWait 'Close / FIN' -> LastAck 'ACK' -> Closed;
[SynRcvd Established] 'Close / FIN' -> FinWait1 'FIN / ACK' -> Closing 'ACK' -> TimeWait
[Listen SynSent] 'SYN / SYN+ACK' -> SynRcvd 'Timeout / RST' -> Closed;
FinWait1 'FIN+ACK / ACK' -> TimeWait 'Up to 2*MSL' -> Closed;
FinWait1 'ACK / Nothing' -> FinWait2 'FIN / ACK' -> TimeWait;
SynRcvd 'ACK' -> Established; +
+

 

+

 

+

 

+ + +

Comedy Machines

+
+

Back to top

+

 

+ + +

Is it broke?

+
+

+ + +

Punjabi Name Theory

+
+

+ + +

Unprison Your Think Rhino

+
+

+ + +

Pluggging In USB

+
+

+

Legend

  • Property
  • Method
  • Accessor

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/docs/pages/FeatureComparison.html b/docs/docs/pages/FeatureComparison.html new file mode 100644 index 00000000..8adf90f6 --- /dev/null +++ b/docs/docs/pages/FeatureComparison.html @@ -0,0 +1,10 @@ +Feature comparison | JSSM, a JavaScript state machine - the FSM for FSL
Options
All
  • Public
  • Public/Protected
  • All
Menu

Legend

  • Property
  • Method
  • Accessor

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/docs/pages/GettingStarted.html b/docs/docs/pages/GettingStarted.html new file mode 100644 index 00000000..fb22f3af --- /dev/null +++ b/docs/docs/pages/GettingStarted.html @@ -0,0 +1,136 @@ +☕ Quick Start | JSSM, a JavaScript state machine - the FSM for FSL
Options
All
  • Public
  • Public/Protected
  • All
Menu
+ +

Getting Started

+
+

There's a tutorial on what state machines are +elsewhere; this page is on using this library.

+

Like many modern Javascript libraries, JSSM is available in many builds, on NPM, +on Github Packages, and from CDN. JSSM is packaged as an es6 module for +modern node, modern browsers, and packagers; as a commonjs module for node +back to 2018 and older bundlers; and as an iife for classic browsers. JSSM +also ships with typescript support, and full documentation.

+

Generally, you should be able to use the system you're used to, in whatever +environment you're used to - be that include or require or a <script> tag, +in node, browser, typescript, deno, es6 environments, es5 environments, modern +stuff, ancient stuff, whatever - and it should Just Work ™.

+

This tutorial works from CDN. The next tutorial goes over how to work with +various environments, builds, and so on.

+

 

+

 

+ + +

Just getting going from CDN

+
+

To start with, let's do things the sloppy, "just run already" way. We'll load +the library directly in the HTML, from CDN.

+
<!doctype html>
<html>

<head>

<script type="text/javascript"
src="https://cdn.jsdelivr.net/npm/jssm/dist/jssm.es5.iife.min.js">
</script>

</head>

</html> +
+

At this point, you can already play with the library, in the developer console.

+
+ + + + + +

 

+

 

+ + +

Let's make it visible

+
+

First, we need a toy traffic light. Here's some HTML structure:

+
<!doctype html>
<html>

<head>
<title>Traffic light example</title>
</head>

<body>

<table id="light" class="light_off">
<tr><td id="red"><span></span></td></tr>
<tr><td id="yellow"><span></span></td></tr>
<tr><td id="green"><span></span></td></tr>
</table>

</body>

</html> +
+

And a bit of CSS to get it to look just so:

+
    <style type="text/css">

#light { border-collapse: collapse; } /* don't separate cells */
#light td { border: 2px solid #e3a31d; } /* mildly darker orange border around cells */

#light span {
height : 4em; /* size the lightbulb */
width : 4em; /* size the lightbulb */
border : 2px solid black; /* looks weird without an edge */
border-radius : 50%; /* make it round */
display : inline-block; /* so that it will lay out margins correctly */
margin : 0.5em; /* space around bulb */
}

#red span { background-color: #300; } /* very dark when not lit */
#yellow span { background-color: #220; }
#green span { background-color: #030; }

.light_red #red span { background-color: #F00; } /* bright when lit */
.light_yellow #yellow span { background-color: #EE0; }
.light_green #green span { background-color: #0F0; }

td { background-color: #FCC550; } /* that yellow-slightly-orange frame */

</style> +
+

We'll also add a bit of Javascript to make it usable.

+
<script type="text/javascript">

function light(what) {
if (['red','yellow','green','off'].includes(what)) {
document.getElementById('light').className = `light_${what}`;
}
}

</script> +
+

End result should look a bit like this:

+
+ + + + + +

 

+

 

+ + +

Wiring up the machine to the UI

+
+

Next, let's have the machine and the UI interact a bit.

+

If you pull the CSS out from the previous example into a file called tl.css +and otherwise assume it hasn't changed, you're left with this:

+
<!doctype html>
<html>

<head>

<link rel="stylesheet" type="text/css" href="tl.css" />

<script type="text/javascript"
src="./jssm.es5.iife.js"></script>

<script type="text/javascript">

function set_color(what) {
if (['red','yellow','green','off'].includes(what)) {
document.getElementById('light').className = `light_${what}`;
}
}

window.onload = () => {

const traffic_light = sm`
Red 'next' => Green 'next' => Yellow 'next' => Red;
`;

};

</script>

</head>

</html> +
+

We'll add a simple "hook," which means the state machine will call functions you +provide when things happen. In this case, we'll call the hook whenever any +state is entered.

+

Hooks take an object which includes, among other things, the state being +transitioned from and the state being transitioned to. In this example, the +latter is exactly what we want, so, we'll just destructure it right off.

+
traffic_light.hook_any_transition( ({ to }) => set_color(to) );
+
+

We will also, since we're working in the console for now, we'll export the +variable onto window so that we can use it easily in the console.

+
window.tl = traffic_light;
+
+

Both these lines go at the end of onload, which now looks like this:

+
window.onload = () => {

const traffic_light = window.jssm.sm`
red 'next' => green 'next' => yellow 'next' => red;
`;

traffic_light.hook_any_transition( ({to}) => set_color(to) );
window.tl = traffic_light;

}; +
+

And now, they're linked.

+
+ + + + + +

 

+

 

+ + +

Adding buttons to the UI

+
+

Of course, we wouldn't have users use the console; let's have some widgets wired +up. Also, while we're at it, let's decide what to do about the light being +off.

+

Realistically, a light can turn off - the power can go out, they can down it for +maintenance, it might be new, et cetera; so, a practical machine should cover +being turned off. Let's also.

+

Our new machine:

+
const traffic_light = sm`
off 'enable' -> red;
red 'next' => green 'next' => yellow 'next' => red;
[red yellow green] 'disable' -> off;
`; +
+

We've a convention here. Putting several names in [] square brackets makes a +"list," and when we make an arrow from the list, it actually makes a distinct +arrow for each element in the list. So, the line

+
[red yellow green] 'disable' -> off;
+
+

actually makes three transitions, and gives them all the same action.

+

The state machine will now start in off, because unless you specify otherwise, +the first named state is assumed to be the starting state.

+

We'll need to add two labelled containers to our UI - one for the available +actions, and one for the available transitions. Those might initially just be +empty <div>s, and look like this:

+
<div id="avail_actions"></div>
<div id="avail_transitions"></div> +
+

Which actions and transitions are available at any given time on this machine +change, and we don't want to have to manage knowing what's going on, so we'll +just dynamically create and destroy whatever the machine says is available +currently, on each transition.

+

To update the action buttons, list the actions exiting the current state with +machine.list_exit_actions():

+
function update_action_buttons() {

const container = document.getElementById('avail_actions');
container.innerHTML = '';

traffic_light.list_exit_actions().forEach( ea => {
const newButton = document.createElement('button');
newButton.innerHTML = ea;
newButton.onclick = () => traffic_light.action(ea);
container.appendChild(newButton);
} );

} +
+

And almost identical, to update the transition buttons, list the relevant +exiting transitions with machine.list_exits():

+
function update_transition_buttons() {

const container = document.getElementById('avail_transitions');
container.innerHTML = '';

traffic_light.list_exits().forEach( et => {
const newButton = document.createElement('button');
newButton.innerHTML = et;
newButton.onclick = () => traffic_light.action(et);
container.appendChild(newButton);
} );

} +
+

Finally, we call both updates in an entry hook, as well as when the +webpage is being set up initially:

+
  traffic_light.hook_entry( () => {
update_action_buttons();
update_transition_buttons();
} ); +
+
window.onload = () => {
// ...
update_action_buttons();
update_transition_buttons();
}; +
+

Legend

  • Property
  • Method
  • Accessor

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/docs/pages/LanguageReference.html b/docs/docs/pages/LanguageReference.html new file mode 100644 index 00000000..af88aff0 --- /dev/null +++ b/docs/docs/pages/LanguageReference.html @@ -0,0 +1,75 @@ +Language reference | JSSM, a JavaScript state machine - the FSM for FSL
Options
All
  • Public
  • Public/Protected
  • All
Menu
+ +

Language Reference

+
+

This document is still underway.

+

If you're new to state machines, please read What +Are State Machines instead. This document is a tutorial for the language, at +high speed, for people who are already familiar with state machines; a full +tutorial on state machines is over there, instead.

+

 

+

 

+ + +

Quick start

+
+

FSL generally has states, transitions, actions, data, and hooks, +plus the various minor concepts.

+

Write states by their names, separated by arrows. Chains are valid. Finish +with a semicolon.

+

The basic traffic light example looks like this:

+
Red -> Green -> Yellow -> Red;
+
+

With actions:

+
Red 'next' -> Green 'next' -> Yellow 'next' -> Red;
+
+

Writing three links to an off state using a list:

+
Red 'next' -> Green 'next' -> Yellow 'next' -> Red;
[Red Yellow Green] 'shut down' -> Off 'start' -> Red; +
+

Hooking an edge, a state, and an action:

+
const TL = sm`
Red 'next' -> Green 'next' -> Yellow 'next' -> Red;
[Red Yellow Green] 'shut down' -> Off 'start' -> Red;
`;

TL.hook('Red', 'Green', () =>
console.log('Go go go!'));

TL.hook_entry('Off', () =>
console.log('Where did the power go?'));

TL.hook_global_action('next', () =>
console.log('next color now')); +
+

It's honestly actually that easy. Let's get into the details.

+

 

+

 

+ + +

Terminology

+
+

FSL is a string-based domain-specific language for finite state machines. +It's oriented towards brevity, readability, and expressive power.

+

jssm is a parser and executing machine for FSL language machines. It's +oriented towards heavy testing, speed, and ease of installation.

+

This document expresses the FSL language in its current state.

+

Legend

  • Property
  • Method
  • Accessor

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/docs/pages/Shootout.html b/docs/docs/pages/Shootout.html new file mode 100644 index 00000000..b6cd9e90 --- /dev/null +++ b/docs/docs/pages/Shootout.html @@ -0,0 +1,587 @@ +LOC Shootout | JSSM, a JavaScript state machine - the FSM for FSL
Options
All
  • Public
  • Public/Protected
  • All
Menu
+ +

Lines of Code shootout

+
+

FSL's biggest benefit is ease of use, from short machines. However, it's not +much value to just say that; instead, we should see what the actual difference +is, by comparisons.

+

When possible, all of these comparisons are taken from the comparison product's +documentation, and are generally unchanged; when not, by following something +that was; and sometimes to add include or require to make runnable code. +Sometimes details like labels or constancy will be altered to match for +comparison; if so, this will be pointed out.

+

The JSSM examples are not golfed. For example, on the states of matter machine, +one could hook all actions, and print from an object whose property names were +the state names, to get that down to two lines; this is the expected "natural" +way to write it, instead.

+

All code samples are formatted with prettier for fairness.

+

Numbers in bold represent official code; numbers not in bold are examples I +wrote, and despite good faith, may not represent ideal notation. If the text +is red and italic, that state machine library could not implement +that comparative test correctly due to a missing feature.

+

Libraries are sorted shortest-average first, with failing libraries sorted to +the end.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LibraryTogTrafMattAvg
jssm1252.66
state-machine58149
faste4142410.66
javascript-state-machine7132314.33
finity7102815
stately8182416.66
robot17243124
xstate16363328.33
nanostate8121511.66
machina20263627.33
+
+ +

 

+

 

+

 

+ + +

Toggle machine

+
+

In essence, a simple light switch. Just shows the basics of making states, and +linking them with actions.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
liblength
jssm1
faste4
state-machine5
finity7
javascript-state-machine7
stately8
nanostate8
xstate16
robot17
machina20
+

 

+ + +

jssm toggle machine, 1 line

+
+
export const toggleMachine = sm`active 'TOGGLE' <=> 'TOGGLE' inactive;`;
+
+

 

+ + +

xstate toggle machine, 16 lines

+
+

From their documentation

+
export const toggleMachine = createMachine({
id: "toggle",
initial: "inactive",
states: {
inactive: {
on: {
TOGGLE: "active",
},
},
active: {
on: {
TOGGLE: "inactive",
},
},
},
}); +
+

 

+ + +

javascript-state-machine toggle machine, 7 lines

+
+

Exported and consted.

+
export const toggleMachine = new StateMachine({
init: "inactive",
transitions: [
{ name: "toggle", from: "inactive", to: "active" },
{ name: "toggle", from: "active", to: "inactive" },
]
}); +
+

 

+ + +

(created) finity toggle machine, 7 lines

+
+

Finity did not have a light switch example. I made this, following this +unrelated machine +as a style guide.

+

I don't format finity with prettier because prettier does an unreasonably +bad job with the oddly nested callback structure. This isn't finity's fault.

+
export const toggleMachine = Finity
.configure()
.initialState('inactive')
.on('toggle').transitionTo('active')
.state('active')
.on('toggle').transitionTo('inactive')
.start(); +
+

 

+ + +

(created) stately toggle machine, 8 lines

+
+

Stately did not have a light switch example. I made this, following this +unrelated machine as a style +guide.

+
export const toggleMachine = Stately.machine({
inactive: {
toggle: "active",
},
active: {
toggle: "inactive",
},
}); +
+

 

+ + +

nanostate toggle machine, 8 lines

+
+

Robot did not have a toggle example. I made this, following this unrelated +machine as a style +guide.

+
export const toggleMachine = nanostate("inactive", {
inactive: {
toggle: "active",
},
active: {
toggle: "inactive",
},
}); +
+

 

+ + +

(created) robot toggle machine, 17 lines

+
+

Robot did not have a toggle example. I made this, following this unrelated +machine as a style guide.

+
const toggleMachine = createMachine(
{
inactive: state(
transition(
"toggle",
"active"
)
),
active: state(
transition(
"toggle",
"inactive"
)
),
},
() => true
); +
+

 

+ + +

faste toggle machine, 4 lines

+
+

Taken from the readme. +Renamed, bound, and exported the machine result; changed the labels.

+
onClick = () => this.setState( state => ({ enabled: !state.enabled}));

export const toggleMachine = faste()
.on('toggle', 'inactive', ({transitTo}) => transitTo('enabled'))
.on('toggle', 'active', ({transitTo}) => transitTo('disabled')) +
+

 

+ + +

state-machine toggle machine, 5 lines

+
+

No toggle machine was available; wrote from scratch and used the docs +for usage guidelines.

+
var toggleMachine = new StateMachine({
transitions: [
'toggle : inactive > active > inactive'
]
}); +
+

 

+ + +

machina toggle machine, 20 lines

+
+

No toggle machine example was available; wrote from scratch and used the +pedestrianSignal example in their landing page +for usage guidelines.

+
export const matter = new machina.Fsm({
initialState: "inactive",
states: {
uninitialized: {
"*": function () {
this.deferUntilTransition();
this.transition("inactive");
},
},
inactive: {
_toggle: "active",
},
active: {
_toggle: "inactive",
},
},
toggle: function () {
this.handle("_toggle");
},
}); +
+

 

+

 

+

 

+ + +

Traffic light

+
+

Three state, no off, no flashing red. Emit a console log of 'Red light!' +whenever the red state is entered.

+

Shows the basics, as well as putting a hook on a state (or a node in some +systems' lingo.)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
liblength
jssm2
state-machine8
finity10
javascript-state-machine13
nanostate12
faste14
stately18
robot24
xstate36
machina26
+

 

+ + +

jssm traffic light, 2 lines

+
+
export const trafficLight = sm`red 'next' => green 'next' => yellow 'next' => red;`;
trafficLight.hook_global_action("next", () => console.log("Red light!")); +
+

 

+ + +

(created) xstate traffic light, 36 lines

+
+

There's most of a traffic light between their documentation here +and also here, +and it seems to piece together into this:

+
export const trafficLight = createMachine(
{
initial: "green",
states: {
green: {
on: {
next: {
target: "yellow",
},
},
},
yellow: {
on: {
next: {
target: "red",
},
},
},
red: {
entry: "alertRed",
on: {
next: {
target: "green",
},
},
},
},
},
{
actions: {
alertGreen: (context, event) => {
alert("Green!");
},
},
}
); +
+

 

+ + +

(created) finity traffic light, 10 lines

+
+

finity did not have a traffic light example. I made this, following this +unrelated machine +as a style guide.

+

Finity does not appear to support hooking specific transitions, but instead +offers a single global transition hook.

+

I didn't format this with prettier, because prettier does a really bad job +with the chain .state().on().transitionTo(); the length doubles and this +becomes unreadable, and that isn't finity's fault.

+
const matter = Finity
.configure()
.initialState('red')
.onEnter(() => console.log('Red light!'))
.on('next').transitionTo('green')
.state('green')
.on('next').transitionTo('yellow')
.state('yellow')
.on('next').transitionTo('red')
.start(); +
+

 

+ + +

(created) stately traffic light, 18 lines

+
+

stately did not have a traffic light example. I made this, following this +unrelated machine as a style +guide.

+
export const matter = Stately.machine({
red: {
onEnter: () => console.log("Red light!"),
next: () => {
return this.green;
},
},
green: {
next: () => {
return this.yellow;
},
},
gas: {
next: () => {
return this.red;
},
},
}); +
+

 

+ + +

javascript-state-machine traffic light, 13 lines

+
+

javascript-state-machine did not have a traffic light example. I made this, +from scratch.

+
export const matter = new StateMachine({
init: "red",
transitions: [
{ name: "next", from: "red", to: "green" },
{ name: "next", from: "green", to: "yellow" },
{ name: "next", from: "yellow", to: "red" },
],
methods: {
onRed: function () {
console.log("Red light!");
},
},
}); +
+

 

+ + +

nanostate traffic light, 12 lines

+
+

Taken from the readme:

+

Changed the name of the event from timer to next; exported and consted. +Reordered to start in red, instead of to start in green.

+

Added a red light hook with .on.

+
export const trafficLight = nanostate("red", {
red: {
next: "green",
},
green: {
next: "yellow",
},
yellow: {
next: "red",
},
});

trafficLight.on('red', () => console.log('Red light!')); +
+

 

+ + +

(created) robot traffic light, 24 lines

+
+

Robot did not have a traffic light example. I made this, following this +unrelated machine as a style +guide.

+

Robot does not appear to support hooks on nodes, so we've faked it with hooks +on transitions.

+
export const trafficLight = createMachine(
{
red: state(
transition(
"next",
"green"
)
),
green: state(
transition(
"next",
"yellow"
)
),
yellow: state(
transition(
"next",
"red",
action(() => console.log("Red light!"))
)
),
},
() => true
); +
+

 

+ + +

faste traffic light, 14 lines

+
+

Taken from the readme. Only +change was to rename and export the variable.

+
export const trafficLight = faste()
.withPhases(["red", "yellow", "green"])
.withTransitions({
green: ["yellow"],
yellow: ["red"],
red: ["green"],
})
.withMessages(["switch"])
.on("switch", ["red"], ({ transitTo }) => transitTo("green"))
.on("switch", ["green"], ({ transitTo }) => transitTo("yellow"))
.on("switch", ["yellow"], ({ transitTo }) => {
console.log("Red light!");
transitTo("red");
}); +
+

 

+ + +

state-machine traffic light, 8 lines

+
+

No traffic light was available; wrote from scratch and used the docs +for usage guidelines.

+
export const trafficLight = new StateMachine({
transitions: [
'next : red > green > yellow > red'
],
handlers: {
'red' : () => console.log('Red light!')
}
}); +
+

 

+ + +

machina traffic light, 26 lines

+
+

Adapted from the pedestrianSignal example in their landing page.

+
export const trafficLight = new machina.Fsm({
initialState: "red",
states: {
uninitialized: {
"*": function () {
this.deferUntilTransition();
this.transition("red");
},
},
green: {
_next: "yellow",
},
yellow: {
_next: "red",
},
red: {
_next: "green",
_onEnter: function () {
console.log("Red light!");
},
},
},
next: function () {
this.handle("_next");
},
}); +
+

 

+

 

+

 

+ + +

States of Matter

+
+

Three basic states of matter. Hook each of the four transitions with chatter on +follow.

+

In addition to the basics, shows how to put a hook on a transition (or an action +or an edge, in other machines' terminology.)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
liblength
jssm5
state-machine14
nanostate15
javascript-state-machine23
stately24
faste24
finity28
robot31
xstate35
machina36
+

 

+ + +

jssm states of matter, 5 lines

+
+
export const matter = sm`solid 'melt' <=> 'freeze' liquid 'vaporize' <=> 'condense' gas`;
trafficLight.hook_global_action('melt', () => console.log('I melted'));
trafficLight.hook_global_action('freeze', () => console.log('I froze'));
trafficLight.hook_global_action('vaporize', () => console.log('I vaporized'));
trafficLight.hook_global_action('condense', () => console.log('I condensed')); +
+

 

+ + +

(created) xstate traffic light, 33 lines

+
+

xstate did not have a states of matter example. I made this, following this +unrelated machine +and this one, +and also this one as style guides.

+
export const matter = createMachine({
initial: "solid",
states: {
solid: {
on: {
melt: {
target: "liquid",
actions: () => console.log("I melted"),
},
},
},
liquid: {
on: {
freeze: {
target: "solid",
actions: () => console.log("I froze"),
},
vaporize: {
target: "gas",
actions: () => console.log("I vaporized"),
},
},
},
gas: {
on: {
condense: {
target: "liquid",
actions: () => console.log("I condensed"),
},
},
},
},
}); +
+

 

+ + +

javascript-state-machine states of matter, 23 lines

+
+

Used the example found here.

+

Changed the variable name, exported, and consted.

+
export const matter = new StateMachine({
init: "solid",
transitions: [
{ name: "melt", from: "solid", to: "liquid" },
{ name: "freeze", from: "liquid", to: "solid" },
{ name: "vaporize", from: "liquid", to: "gas" },
{ name: "condense", from: "gas", to: "liquid" },
],
methods: {
onMelt: function () {
console.log("I melted");
},
onFreeze: function () {
console.log("I froze");
},
onVaporize: function () {
console.log("I vaporized");
},
onCondense: function () {
console.log("I condensed");
},
},
}); +
+

 

+ + +

(created) finity states of matter, 28 lines

+
+

finity did not have a states of matter example. I made this, following this +unrelated machine +as a style guide.

+

Finity does not appear to support hooking specific transitions, but instead +offers a single global transition hook.

+

I didn't format this with prettier, because prettier does a really bad job +with the chain .state().on().transitionTo(); the length doubles and this +becomes unreadable, and that isn't finity's fault.

+
const matter = Finity
.configure()
.initialState('solid')
.on('melt').transitionTo('liquid')
.state('liquid')
.on('vaporize').transitionTo('gas')
.on('freeze').transitionTo('solid')
.state('gas')
.on('condense').transitionTo('liquid')
.global()
.onTransition( (fromState, toState) => {
switch (fromState) {
case 'solid':
console.log('I melted');
break;
case 'liquid':
if (toState === solid) {
console.log('I froze');
} else if (toState === gas) {
console.log('I vaporized');
}
break;
case 'gas':
console.log('I condensed');
break;
}
})
.start(); +
+

 

+ + +

(created) stately states of matter, 24 lines

+
+

stately did not have a states of matter example. I made this, following this +unrelated machine as a style +guide.

+
export const matter = Stately.machine({
solid: {
melt: () => {
console.log("I melted");
return this.liquid;
},
},
liquid: {
freeze: () => {
console.log("I froze");
return this.solid;
},
vaporize: () => {
console.log("I vaporized");
return this.gas;
},
},
gas: {
condense: () => {
console.log("I condensed");
return this.liquid;
},
},
}); +
+

 

+ + +

nanostate states of matter, 15 lines, ❌ cannot implement

+
+

nanostate did not have a states of matter example. I made this, following +this unrelated machine +as a style guide.

+

nanostate does not appear to support on-action hooks, and does not appear to +pass the previous state when calling its global enter hook. Therefore there is +no way to correctly implement the hooks leading to liquid - condense and melt - +because you can't tell whether they're coming from solid or gas. On these +grounds, nanostate cannot implement this machine correctly.

+
export const trafficLight = nanostate("solid", {
solid: {
melt: "liquid",
},
liquid: {
freeze: "solid",
vaporize: "gas",
},
gas: {
condense: "liquid",
},
});

trafficLight.on("solid", () => console.log("I froze"));
trafficLight.on("gas", () => console.log("I vaporized"));

trafficLight.on("liquid", () =>
console.log("❌ FAIL: cannot tell if melt or condense")
); +
+

 

+ + +

(created) robot states of matter, 31 lines

+
+

robot did not have a states of matter example. I made this, following this +unrelated machine as a style +guide.

+
const matter = createMachine(
{
solid: state(
transition(
"melt",
"liquid",
action(() => console.log("I melted"))
)
),
liquid: state(
transition(
"freeze",
"solid",
action(() => console.log("I froze"))
),
transition(
"vaporize",
"gas",
action(() => console.log("I vaporized"))
)
),
gas: state(
transition(
"condense",
"liquid",
action(() => console.log("I condensed"))
)
),
},
() => true
); +
+

 

+ + +

(created) faste states of matter, 24 lines

+
+

faste did not have a states of matter example. I made this, following this +unrelated machine as a style +guide.

+
export const matter = faste()
.withPhases(["solid", "liquid", "gas"])
.withTransitions({
solid: ["liquid"],
liquid: ["solid", "gas"],
gas: ["liquid"],
})
.withMessages(["melt", "freeze", "vaporize", "condense"])
.on("melt", ["solid"], ({ transitTo }) => {
console.log("I melted");
transitTo("liquid");
})
.on("freeze", ["liquid"], ({ transitTo }) => {
console.log("I froze");
transitTo("solid");
})
.on("vaporize", ["liquid"], ({ transitTo }) => {
console.log("I vaporized");
transitTo("gas");
})
.on("condense", ["gas"], ({ transitTo }) => {
console.log("I condensed");
transitTo("liquid");
}); +
+

 

+ + +

state-machine states of matter, 14 lines

+
+

No states of matter example was available; wrote from scratch and used the docs +for usage guidelines.

+
export const matter = new StateMachine({
transitions: [
"melt : solid > liquid",
"freeze : solid < liquid",
"vaporize : liquid > gas",
"condense : liquid < gas",
],
handlers: {
"@melt": () => console.log("I melted"),
"@freeze": () => console.log("I froze"),
"@vaporize": () => console.log("I vaporized"),
"@condense": () => console.log("I condensed"),
},
}); +
+

 

+ + +

machina states of matter, 36 lines, ❌ cannot implement

+
+

No states of matter example was available; wrote from scratch and used the +pedestrianSignal example in their landing page +for usage guidelines.

+

machina does not appear to support on-action hooks, and does not appear to +pass the previous state when calling its global enter hook. Therefore there is +no way to correctly implement the hooks leading to liquid - condense and melt - +because you can't tell whether they're coming from solid or gas. On these +grounds, machina cannot implement this machine correctly.

+
export const matter = new machina.Fsm({
initialState: "solid",
states: {
uninitialized: {
"*": function () {
this.deferUntilTransition();
this.transition("solid");
},
},
solid: {
_melt: "liquid",
},
liquid: {
_freeze: "solid",
_vaporize: "gas",
},
gas: {
_condense: "liquid",
_onEnter: function () {
console.log("Red light!");
},
},
},
melt: function () {
this.handle("_melt");
},
freeze: function () {
this.handle("_freeze");
},
vaporize: function () {
this.handle("_vaporize");
},
condense: function () {
this.handle("_condense");
},
}); +
+

Legend

  • Property
  • Method
  • Accessor

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/docs/pages/Styling.html b/docs/docs/pages/Styling.html new file mode 100644 index 00000000..c01a0f49 --- /dev/null +++ b/docs/docs/pages/Styling.html @@ -0,0 +1,6 @@ +Theme, style, color | JSSM, a JavaScript state machine - the FSM for FSL
Options
All
  • Public
  • Public/Protected
  • All
Menu

Theme, style, color

Legend

  • Property
  • Method
  • Accessor

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/docs/pages/WhatAreStateMachines.html b/docs/docs/pages/WhatAreStateMachines.html new file mode 100644 index 00000000..f256e4dd --- /dev/null +++ b/docs/docs/pages/WhatAreStateMachines.html @@ -0,0 +1,109 @@ +What are state machines? | JSSM, a JavaScript state machine - the FSM for FSL
Options
All
  • Public
  • Public/Protected
  • All
Menu
+ +

What are Finite State Machines?

+
+

Finite State Machines are a classic tool from the 1950s, meant to allow a +system to be better defined. In formal and high safety systems they are a +critical tool. FSL, the Finite State Language, exists to make them easier to +write, debug, and maintain.

+

Most likely, you're already pretty familiar with a lot of state machines. On +those grounds, we teach state machines by example.

+

 

+

 

+ + +

The light switch

+
+

An easy starting example is the idealized light switch: it's either turned On, +or turned Off. When the switch is On, it can be turned Off, but when it's +On, it can't be turned On again; the rules are similar for Off.

+

In FSL, we write states as just their names, and then connections as arrows +->; as such, we would write a light switch this way:

+
On -> Off -> On;
+
+

Or, to save time, we can use a double-sided arrow <->:

+
On <-> Off;
+
+

It might also be reasonable to say that to toggle is to switch from either +state to the other, without needing to know ahead of time. We call that an +action, and write it in single quotes ', inbetween the state and the +relevant arrow.

+
On 'toggle' -> Off 'toggle' -> On;
+
+

The placement of the action on double-sided arrows matches the arrow itself:

+
On 'toggle' <-> 'toggle' Off;
+
+

And were we to graph this, it might look like so:

+

+

But, a light switch is hardly convincing, or much worth paying attention to.

+

 

+

 

+ + +

The traffic light

+
+

The traffic light is maybe the smallest useful state machine. It's three states +(or four if you count Off,) and there's a good reason for it to be there: it's +important that a traffic light doesn't "go backwards."

+

Traffic lights are directional in several ways. The important one is color: a +traffic light that's Yellow must next go to Red. If the wrong thing +happens, and the light goes from Yellow to Green instead, an accident might +happen. People could die.

+

In code, you'd need to do something like this:

+
const allowed = {
'green' : ['yellow', 'off'],
'yellow' : ['red', 'off'],
'red' : ['green', 'off'],
'off' : ['red']
};

let state = 'off';

function switch_to(next) {

if (allowed[state].includes(next)) {
state = next;
return true;
} else {
return false;
}

}

switch_to('red'); +
+

And that is a rudimentary state machine.

+

Of course, we're in a state machine programming language and library whose +design is meant to make them simple, so, we'd write this, instead:

+
const TrafficLight = sm`
Off -> Red -> Green -> Yellow -> Red;
[Red Yellow Green] -> Off;
`;

TrafficLight.transition('Red'); +
+

It's implied that, unless you say otherwise, the first mentioned state is the +state the machine starts in, so, this traffic light starts in Off.

+

For purposes of the tutorial, we'll just focus on the language part:

+
Off -> Red -> Green -> Yellow -> Red;
[Red Yellow Green] -> Off; +
+

What's important here is that we've taught the machine light color order. If +it's in Yellow, it knows that it isn't allowed to go to Green, and if you +tell it to do that, it'll refuse.

+

This is, roughly, the value of type systems, check constraints, proof systems, +some kinds of constraint programming, and arguably of testing and even linting: +teaching the machine what wrong is, so that it can support you.

+

State machines are an extremely powerful tool for machine auditing and machine +self-diagnosis. They can also, however, be supportive and convenient. By +example, the previous state machine requires a user to know what color it's +currently in to proceed. This seems undesirable. Let's teach it to accept an +instruction next to proeed to whatever the next correct color is:

+
Off -> Red;
Red 'next' -> Green 'next' -> Yellow 'next' -> Red;
[Red Yellow Green] -> Off; +
+

We didn't have to break off the opening Off -> Red that way; the author just +thinks it's cleaner looking (indeed, this machine can be a one-liner if you +don't much care about readability.)

+

Now, we can interact with the machine as such:

+
TrafficLight.action('next');
+
+

 

+

 

+ + +

More simple machines

+
+

And, already, a bunch of other simple machines are accessable. Some examples:

+

 

+

Three brightness lamp is pretty similar to a traffic light, except that Off is +part of the main loop instead of an extra state:

+
Off 'touch' -> Bright 'touch' -> Medium 'touch' -> Dim 'touch' -> Off;
+
+

+

 

+

A locking door, by contrast, might have a state for Unlocked which responds to +open by switching to Opened, but a state Locked which responds to open +by going to itself (or perhaps just not expressing the action at all.)

+
Opened 'close' <-> 'open' Closed 'lock' <-> 'unlock' Locked;
Locked 'open' -> Locked; +
+

+

 

+

The basic four states of matter on Earth:

+
 Solid      'melt' <-> 'freeze'    Liquid;
Liquid 'vaporize' <-> 'condense' Gas;
Gas 'ionize' <-> 'recombine' Plasma;
Solid 'sublimate' <-> 'deposit' Gas; +
+

+

Legend

  • Property
  • Method
  • Accessor

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/docs/pages/community.html b/docs/docs/pages/community.html new file mode 100644 index 00000000..51e6f119 --- /dev/null +++ b/docs/docs/pages/community.html @@ -0,0 +1,14 @@ +Community | JSSM, a JavaScript state machine - the FSM for FSL
Options
All
  • Public
  • Public/Protected
  • All
Menu

Legend

  • Property
  • Method
  • Accessor

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/docs/pages/live_editor.html b/docs/docs/pages/live_editor.html new file mode 100644 index 00000000..836824e7 --- /dev/null +++ b/docs/docs/pages/live_editor.html @@ -0,0 +1,9 @@ +Live Editor | JSSM, a JavaScript state machine - the FSM for FSL
Options
All
  • Public
  • Public/Protected
  • All
Menu

Legend

  • Property
  • Method
  • Accessor

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/docs/pages/todo.html b/docs/docs/pages/todo.html new file mode 100644 index 00000000..fbc563c6 --- /dev/null +++ b/docs/docs/pages/todo.html @@ -0,0 +1,6 @@ +CLI | JSSM, a JavaScript state machine - the FSM for FSL
Options
All
  • Public
  • Public/Protected
  • All
Menu

Legend

  • Property
  • Method
  • Accessor

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 00000000..30b9fef5 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + +

JSSM repo site

+ +

There isn't actually anything here. You're probably looking for:

+ + + +

+ +

Less commonly, you might be looking for

+ + + + + + \ No newline at end of file diff --git a/docs/typedoc-addon.css b/docs/typedoc-addon.css new file mode 100644 index 00000000..ddb83006 --- /dev/null +++ b/docs/typedoc-addon.css @@ -0,0 +1,72 @@ + +.tsd-panel-group > h1, +.tsd-panel-group > h2, +.tsd-panel-group > h3 { padding-left: 0; } +.tsd-panel { border-radius: 0.35em; } + +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon { background-color: #eee; } + +#quicktab td { text-align: right; } +#quicktab td+td { text-align: center; } + +#quicktab th { text-align: right; font-weight: normal; } +#quicktab th+th { text-align: center; } + +pre { border-radius: 0.3em; } + +@media (prefers-color-scheme: light) { + + :root { --color-background: #def; } + + body .tsd-page-title { background-color: #bdf; } + body .tsd-page-toolbar { background-color: #acf; border-bottom-color: #9be; } + body .with-border-bottom { background-color: #acf; border-color: #9be; } + + html body .tsd-panel table td, + html body .tsd-panel table th { border-color: #9be; } + + html body .tsd-panel table tr { background-color: #def; } + html body .tsd-panel table tr:nth-child(even) { background-color: #d0e0f0; } + html body .tsd-panel table tr th { background-color: #bdf; } + + fail { font-style: italic; color: #b00; } + +} + + + +@media (prefers-color-scheme: dark) { + + fail { font-style: italic; color: #f66; } + + html body .tsd-panel table td, + html body .tsd-panel table th { border-color: #335; } + + html body .tsd-panel table tr { background-color: #445; } + html body .tsd-panel table tr:nth-child(even) { background-color: #446; } + html body .tsd-panel table tr th { background-color: #335; } + +} + + + + + +.rot_th_tab { vertical-align: bottom; } +.rot_th_tab th { position: relative; font-weight: normal; } +.rot_th_tab th:first-of-type { height: 7em; vertical-align: bottom; } +.rot_th_tab td:nth-of-type(2), +.rot_th_tab th:nth-of-type(2) { vertical-align: bottom; font-weight: normal; text-align: center; } +.rot_th_tab th+th+th, +.rot_th_tab td+td+td { padding: 6px 4px; min-width: 1.3em; } +.rot { transform-origin: 0 0; transform: rotate(-90deg); display: inline-block; position: absolute; left: 0.25em; bottom: -0.75em; font-weight: 400; } + +html li.pages-entry-depth-0 { padding-left: 15px; } +html li.pages-entry-depth-1 { padding-left: 30px; } +html li.pages-entry-depth-2 { padding-left: 45px; } +html li.pages-entry-depth-3 { padding-left: 60px; } +html li.pages-entry-depth-4 { padding-left: 75px; } +html li.pages-entry-depth-5 { padding-left: 90px; } + +.youtube-embed { position: relative; padding-bottom: 56.25%; /* enforces 16:9 aspect */ } +.youtube-embed iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 1px solid black; } \ No newline at end of file diff --git a/src/doc_md/CHANGELOG.long.md b/src/doc_md/CHANGELOG.long.md index 46e5f2ab..cd72a703 100644 --- a/src/doc_md/CHANGELOG.long.md +++ b/src/doc_md/CHANGELOG.long.md @@ -2,7 +2,7 @@ All notable changes to this project will be documented in this file. -937 merges; 124 releases +939 merges; 124 releases @@ -18,6 +18,36 @@ Published tags: +  + +  + +## [Untagged] - 7/1/2022 4:56:32 PM + +Commit [99847f8ef8c60b521c6d3e979bcf07dd60125a56](https://github.com/StoneCypher/jssm/commit/99847f8ef8c60b521c6d3e979bcf07dd60125a56) + +Author: `John Haugeland ` + + * Post global action hook, fixes StoneCypher/fsl#905; post any action hook, fixes StoneCypher/fsl#906 + + + + +  + +  + +## [Untagged] - 7/1/2022 4:03:56 PM + +Commit [e5bfa2acf8edefe9322bd17540307ffb1f9eeb4d](https://github.com/StoneCypher/jssm/commit/e5bfa2acf8edefe9322bd17540307ffb1f9eeb4d) + +Author: `John Haugeland ` + + * Adds call points in set_hook for basic post-hooks, fixes #958 + + + +     diff --git a/src/doc_md/CHANGELOG.md b/src/doc_md/CHANGELOG.md index 0071ddba..905164f6 100644 --- a/src/doc_md/CHANGELOG.md +++ b/src/doc_md/CHANGELOG.md @@ -2,7 +2,7 @@ All notable changes to this project will be documented in this file. -937 merges; 124 releases; Changlogging the last 10 commits; Full changelog at [CHANGELOG.long.md](CHANGELOG.long.md) +939 merges; 124 releases; Changlogging the last 10 commits; Full changelog at [CHANGELOG.long.md](CHANGELOG.long.md) @@ -18,6 +18,36 @@ Published tags: +  + +  + +## [Untagged] - 7/1/2022 4:56:32 PM + +Commit [99847f8ef8c60b521c6d3e979bcf07dd60125a56](https://github.com/StoneCypher/jssm/commit/99847f8ef8c60b521c6d3e979bcf07dd60125a56) + +Author: `John Haugeland ` + + * Post global action hook, fixes StoneCypher/fsl#905; post any action hook, fixes StoneCypher/fsl#906 + + + + +  + +  + +## [Untagged] - 7/1/2022 4:03:56 PM + +Commit [e5bfa2acf8edefe9322bd17540307ffb1f9eeb4d](https://github.com/StoneCypher/jssm/commit/e5bfa2acf8edefe9322bd17540307ffb1f9eeb4d) + +Author: `John Haugeland ` + + * Adds call points in set_hook for basic post-hooks, fixes #958 + + + +     @@ -150,34 +180,4 @@ Commit [8762d17bd69cdf48f522dbd6ee188f46e29a0c06](https://github.com/StoneCypher Author: `John Haugeland ` - * Hooks can change data, fixes StoneCypher/fsl#932 - - - - -  - -  - -## [Untagged] - 6/25/2022 7:15:46 AM - -Commit [fb82aff27a911a29304c8b7c211e48c1b6ac454e](https://github.com/StoneCypher/jssm/commit/fb82aff27a911a29304c8b7c211e48c1b6ac454e) - -Author: `John Haugeland ` - - * prepping to test main and forced - - - - -  - -  - -## [Untagged] - 6/25/2022 7:05:36 AM - -Commit [3ffc6c2a0b76d1a4870cd80a0f94d745e1c976c9](https://github.com/StoneCypher/jssm/commit/3ffc6c2a0b76d1a4870cd80a0f94d745e1c976c9) - -Author: `John Haugeland ` - - * everything now tested but standard and main \ No newline at end of file + * Hooks can change data, fixes StoneCypher/fsl#932 \ No newline at end of file diff --git a/src/ts/jssm.ts b/src/ts/jssm.ts index 403af355..afd78eeb 100644 --- a/src/ts/jssm.ts +++ b/src/ts/jssm.ts @@ -844,7 +844,6 @@ class Machine { this._main_transition_hook = undefined; this._forced_transition_hook = undefined; this._any_transition_hook = undefined; - this._standard_transition_hook = undefined; this._has_post_hooks = false; this._has_post_basic_hooks = false; @@ -865,7 +864,6 @@ class Machine { this._post_main_transition_hook = undefined; this._post_forced_transition_hook = undefined; this._post_any_transition_hook = undefined; - this._post_standard_transition_hook = undefined; this._data = data; @@ -1743,14 +1741,14 @@ class Machine { case 'post hook': this._post_hooks.set(hook_name(HookDesc.from, HookDesc.to), HookDesc.handler); - this._has_post_hooks = true; - this._has_basic_hooks = true; + this._has_post_hooks = true; + this._has_post_basic_hooks = true; break; case 'post named': this._post_named_hooks.set(named_hook_name(HookDesc.from, HookDesc.to, HookDesc.action), HookDesc.handler); - this._has_post_hooks = true; - this._has_named_hooks = true; + this._has_post_hooks = true; + this._has_post_named_hooks = true; break; case 'post global action': @@ -1765,18 +1763,21 @@ class Machine { break; case 'post standard transition': + console.log(`l1a ${JSON.stringify(HookDesc)}`); this._post_standard_transition_hook = HookDesc.handler; this._has_post_transition_hooks = true; this._has_post_hooks = true; break; case 'post main transition': + console.log(`l1b ${JSON.stringify(HookDesc)}`); this._post_main_transition_hook = HookDesc.handler; this._has_post_transition_hooks = true; this._has_post_hooks = true; break; case 'post forced transition': + console.log(`l1c ${JSON.stringify(HookDesc)}`); this._post_forced_transition_hook = HookDesc.handler; this._has_post_transition_hooks = true; this._has_post_hooks = true; @@ -2043,7 +2044,8 @@ class Machine { action : fromAction, from : this._state, to : newState, - forced : wasForced + forced : wasForced, + trans_type }; if (valid) { @@ -2181,10 +2183,72 @@ class Machine { if (this._post_any_action_hook !== undefined) { this._post_any_action_hook(hook_args); } // 2. global specific action hook - const pgah = this._post_global_action_hooks.get(newStateOrAction) + const pgah = this._post_global_action_hooks.get(hook_args.action) if (pgah !== undefined) { pgah(hook_args); } } + // 3. any transition hook + if (this._post_any_transition_hook !== undefined) { + this._post_any_transition_hook(hook_args); + } + + // 4. exit hook + if (this._has_post_exit_hooks) { + const peh = this._post_exit_hooks.get(hook_args.from); // todo this is probably from instead + if (peh !== undefined) { peh(hook_args); } + } + + // 5. named transition / action hook + if (this._has_post_named_hooks) { + if (wasAction) { + const nhn: string = named_hook_name(hook_args.from, hook_args.to, hook_args.action), + pnh = this._post_named_hooks.get(nhn); + + if (pnh !== undefined) { pnh(hook_args); } + } + } + + // 6. regular hook + if (this._has_post_basic_hooks) { + const hook = this._post_hooks.get(hook_name(hook_args.from, hook_args.to)); + if (hook !== undefined) { hook(hook_args); } + } + + // 7. edge type hook + + // 7a. standard transition hook + if (trans_type === 'legal') { + console.log(`l2a ${JSON.stringify(hook_args)}`); + if (this._post_standard_transition_hook !== undefined) { + console.log(`l3a ${JSON.stringify(hook_args)} ${JSON.stringify(this._post_standard_transition_hook)}`); + this._post_standard_transition_hook(hook_args); + } + } + + // 7b. main type hook + if (trans_type === 'main') { + console.log(`l2b ${JSON.stringify(hook_args)}`); + if (this._post_main_transition_hook !== undefined) { + console.log(`l3b ${JSON.stringify(hook_args)} ${JSON.stringify(this._post_main_transition_hook)}`); + this._post_main_transition_hook(hook_args); + } + } + + // 7c. forced transition hook + if (trans_type === 'forced') { + console.log(`l2c ${JSON.stringify(hook_args)}`); + if (this._post_forced_transition_hook !== undefined) { + console.log(`l3c ${JSON.stringify(hook_args)} ${JSON.stringify(this._post_forced_transition_hook)}`); + this._post_forced_transition_hook(hook_args); + } + } + + // 8. entry hook + if (this._has_post_entry_hooks) { + const hook = this._post_entry_hooks.get(hook_args.to); + if (hook !== undefined) { hook(hook_args); } + } + } return true; diff --git a/src/ts/tests/posthooks.spec.ts b/src/ts/tests/posthooks.spec.ts new file mode 100644 index 00000000..328ed09a --- /dev/null +++ b/src/ts/tests/posthooks.spec.ts @@ -0,0 +1,290 @@ + +import * as jssm from '../jssm'; +const sm = jssm.sm; + + + + + +describe('Basic posthooks on API callpoint', () => { + + + test('Setting a regular posthook doesn\'t throw', () => { + + expect( () => { + const _foo = sm`a -> b;`; + _foo.set_hook({ from: 'a', to: 'b', handler: () => console.log('hi'), kind: 'post hook' }) + }) + .not.toThrow(); + + } ); + + + test('Setting a named posthook doesn\'t throw', () => { + + expect( () => { + const _foo = sm`a 'foo' -> b;`; + _foo.set_hook({ from: 'a', to: 'b', handler: () => console.log('hi'), kind: 'post named', action: 'foo' }) + }) + .not.toThrow(); + + } ); + + + test('Setting an global action posthook doesn\'t throw', () => { + + expect( () => { + const _foo = sm`a 'foo' -> b;`; + _foo.set_hook({ handler: () => console.log('hi'), action: 'foo', kind: 'post global action' }) + }) + .not.toThrow(); + + }); + + + test('Setting an any-action posthook doesn\'t throw', () => { + + expect( () => { + const _foo = sm`a 'foo' -> b;`; + _foo.set_hook({ handler: () => console.log('hi'), kind: 'post any action' }) + }) + .not.toThrow(); + + }); + + + test('Setting an any-transition posthook doesn\'t throw', () => { + + expect( () => { + const _foo = sm`a 'foo' -> b;`; + _foo.set_hook({ handler: () => console.log('hi'), kind: 'post any transition' }) + }) + .not.toThrow(); + + }); + + + test('Setting an entry posthook doesn\'t throw', () => { + + expect( () => { + const _foo = sm`a 'foo' -> b;`; + _foo.set_hook({ to: 'b', handler: () => console.log('hi'), kind: 'post entry' }) + }) + .not.toThrow(); + + }); + + + test('Setting an exit posthook doesn\'t throw', () => { + + expect( () => { + const _foo = sm`a 'foo' -> b;`; + _foo.set_hook({ from: 'a', handler: () => console.log('hi'), kind: 'post exit' }) + }) + .not.toThrow(); + + }); + + +}); + + + + + +describe('Basic posthooks on API callpoint', () => { + + + + test('Basic posthooks call their handler', () => { + + const handler = jest.fn(x => true), + uncalled = jest.fn(x => true); + + expect( () => { + const _foo = sm`a -> b -> c;`; + _foo.set_hook({ from: 'a', to: 'b', handler, kind: 'post hook' }); + _foo.set_hook({ from: 'b', to: 'a', handler: uncalled, kind: 'post hook' }); + _foo.set_hook({ from: 'b', to: 'c', handler: uncalled, kind: 'post hook' }); + _foo.transition('b'); + }) + .not.toThrow(); + + // should hook from first, but not from second + expect(handler.mock.calls.length).toBe(1); + expect(uncalled.mock.calls.length).toBe(0); + + } ); + + + + test('Named hooks call their handler', () => { + + const handler = jest.fn(x => true), + uncalled = jest.fn(x => true); + + expect( () => { + const _foo = sm`a 'next' -> b 'next' -> c;`; + _foo.set_hook({ from: 'a', to: 'b', handler, kind: 'post named', action: 'next' }); + _foo.set_hook({ from: 'a', to: 'b', handler: uncalled, kind: 'post named', action: 'borg' }); + _foo.set_hook({ from: 'b', to: 'a', handler: uncalled, kind: 'post named', action: 'next' }); + _foo.action('next'); + _foo.action('next'); + }) + .not.toThrow(); + + // should hook from first, but not from second + expect(handler.mock.calls.length).toBe(1); + expect(uncalled.mock.calls.length).toBe(0); + + } ); + + + + test('Basic and named hooks on same transition both fire when action is called', () => { + + const basic = jest.fn(x => true), + named = jest.fn(x => true); + + expect( () => { + const _foo = sm`a 'next' -> b;`; + _foo.post_hook('a', 'b', basic); + _foo.post_hook_action('a', 'b', 'next', named); + _foo.action('next'); + }) + .not.toThrow(); + + // should hook from first, but not from second + expect(basic.mock.calls.length).toBe(1); + expect(named.mock.calls.length).toBe(1); + + } ); + + + + test('Only basic hook is called with named on same transition when transition is called', () => { + + const basic = jest.fn(x => true), + named = jest.fn(x => true); + + expect( () => { + const _foo = sm`a 'next' -> b;`; + _foo.post_hook('a', 'b', basic); + _foo.post_hook_action('a', 'b', 'next', named); + _foo.transition('b'); + }) + .not.toThrow(); + + // should hook from first, but not from second + expect(basic.mock.calls.length).toBe(1); + expect(named.mock.calls.length).toBe(0); + + } ); + + + + test('Standard posthooks call their handler', () => { + + const handler = jest.fn(x => true); + + expect( () => { + const _foo = sm`a -> b -> c;`; + _foo.set_hook({ handler, kind: 'post standard transition' }); + _foo.transition('b'); + }) + .not.toThrow(); + + expect(handler.mock.calls.length).toBe(1); + + } ); + + + + test('Main posthooks call their handler', () => { + + const handler = jest.fn(x => true); + + expect( () => { + const _foo = sm`a => b => c;`; + _foo.set_hook({ handler, kind: 'post main transition' }); + _foo.transition('b'); + }) + .not.toThrow(); + + expect(handler.mock.calls.length).toBe(1); + + } ); + + + + test('Forced posthooks call their handler', () => { + + const handler = jest.fn(x => true); + + expect( () => { + const _foo = sm`a ~> b ~> c;`; + _foo.set_hook({ handler, kind: 'post forced transition' }); + _foo.force_transition('b'); + }) + .not.toThrow(); + + expect(handler.mock.calls.length).toBe(1); + + } ); + + + + test('Any transition posthooks call their handler', () => { + + const handler = jest.fn(x => true); + + expect( () => { + const _foo = sm`a -> b => c ~> d;`; + _foo.set_hook({ handler, kind: 'post any transition' }); + _foo.transition('b'); + _foo.transition('c'); + _foo.force_transition('d'); + }) + .not.toThrow(); + + expect(handler.mock.calls.length).toBe(3); + + } ); + + + + test('Exit posthooks call their handler', () => { + + const handler = jest.fn(x => true); + + expect( () => { + const _foo = sm`a -> b;`; + _foo.set_hook({ handler, from: 'a', kind: 'post exit' }); + _foo.transition('b'); + }) + .not.toThrow(); + + expect(handler.mock.calls.length).toBe(1); + + } ); + + + + test('Entry posthooks call their handler', () => { + + const handler = jest.fn(x => true); + + expect( () => { + const _foo = sm`a -> b;`; + _foo.set_hook({ handler, to: 'b', kind: 'post entry' }); + _foo.transition('b'); + }) + .not.toThrow(); + + expect(handler.mock.calls.length).toBe(1); + + } ); + + + +});