From 436b668125b5cad26a2eab813d28c718fb1aa5e2 Mon Sep 17 00:00:00 2001 From: Frederik Tilkin Date: Wed, 11 Jun 2014 12:17:55 +0200 Subject: [PATCH 1/4] Added some functionality to allow for other languages like IcedCoffeeScript and LiveScript. Their code will be saved in different properties of the OFunction object, and the language will still be 'Javascript'. At this time, it is assumed that the proper Hook is enabled that will compile code in either the icecoffeescript or livescript property to javascript before saving, but this could easily be changed such that the Studio itself compiles the javascript before saving the function. This is a TODO, but I want some feedback first from other people who are interested in this feature about what the best solution would be: create a 'studio-only' solution, or require the hook, such that anyone who tries to save an OFunction document with an extra property like livescript or icedcoffeescript will be sure that the code property will get updated automatically with the compiled javascript code... --- .../controllers/function-controller.js | 93 ++++++++++++++++++- app/views/database/functions.html | 4 +- bower.json | 71 +++++++------- 3 files changed, 128 insertions(+), 40 deletions(-) diff --git a/app/scripts/controllers/function-controller.js b/app/scripts/controllers/function-controller.js index 5f4062ee..c9da0f25 100644 --- a/app/scripts/controllers/function-controller.js +++ b/app/scripts/controllers/function-controller.js @@ -19,13 +19,35 @@ schemaModule.controller("FunctionController", ['$scope', '$routeParams', '$locat $scope.createNewFunction(); } }; - Database.setWiki("https://github.com/orientechnologies/orientdb-studio/wiki/Functions"); + $scope.icedcoffeescriptEditorOptions = $scope.editorOptions; + $scope.icedcoffeescriptEditorOptions.mode = 'coffeescript'; + delete( $scope.icedcoffeescriptEditorOptions.onLoad ); + + $scope.livescriptEditorOptions = $scope.editorOptions; + $scope.livescriptEditorOptions.mode = 'livescript'; + delete( $scope.livescriptEditorOptions.onLoad ); + + + Database.setWiki("https://github.com/orientechnologies/orientdb-studio/wiki/Functions"); $scope.functions = new Array; + $scope.enableIcedCoffeeScript = true; + $scope.enableLiveScript = true; + $scope.consoleValue = ''; //code of the function $scope.nameFunction = ''; //name of the function $scope.selectedLanguage = ''; //language of the function - $scope.languages = ['SQL', 'Javascript']; + $scope.languages = [ 'SQL', 'Javascript' ]; + $scope.precompiledLanguageToPropertyNameMapping = {}; + if ( $scope.enableIcedCoffeeScript ) { + $scope.languages.push( 'IcedCoffeeScript' ); + $scope.precompiledLanguageToPropertyNameMapping[ 'IcedCoffeeScript' ] = 'icedcoffeescript'; + } + if ( $scope.enableLiveScript ) { + $scope.languages.push( 'LiveScript' ); + $scope.precompiledLanguageToPropertyNameMapping[ 'LiveScript' ] = 'livescript'; + } + $scope.functionToExecute = undefined; $scope.resultExecute = undefined; @@ -36,6 +58,49 @@ schemaModule.controller("FunctionController", ['$scope', '$routeParams', '$locat var sqlText = 'select * from oFunction order by name'; + $scope.fixFunctionToExecuteForPrecompiledLanguages = function() { + if ( $scope.functionToExecute ) { + var debugString = ""; + var isPrecompiledLanguage = false; + for ( var precompiledLanguageName in $scope.precompiledLanguageToPropertyNameMapping ) { + if ( precompiledLanguageName !== $scope.functionToExecute[ 'language' ] ) { + if ( $scope.functionToExecute[ 'language' ] == 'Javascript' && $scope.functionToExecute[ $scope.precompiledLanguageToPropertyNameMapping[ precompiledLanguageName ] ] ) { + debugString += "Has property " + $scope.precompiledLanguageToPropertyNameMapping[ precompiledLanguageName ] + " so we will assume this is the language...\n"; + isPrecompiledLanguage = true; + $scope.functionToExecute[ 'language' ] = precompiledLanguageName; + } + else { + delete( $scope.functionToExecute[ $scope.precompiledLanguageToPropertyNameMapping[ precompiledLanguageName ] ] ); + debugString += "Deleting property " + $scope.precompiledLanguageToPropertyNameMapping[ precompiledLanguageName ] + "\n"; + } + } + else { + isPrecompiledLanguage = true; + debugString += "language " + $scope.precompiledLanguageToPropertyNameMapping[ precompiledLanguageName ] + "\n"; + } + } + + if ( isPrecompiledLanguage ) { + //make sure it has the right property + var propertyName = $scope.precompiledLanguageToPropertyNameMapping[ $scope.functionToExecute[ 'language' ] ]; + if ( ! $scope.functionToExecute.hasOwnProperty( propertyName ) ) { + $scope.functionToExecute[ propertyName ] = ""; + debugString += "Adding property " + propertyName + "\n"; + } + + //language should be javascript, NOT IcedCoffeeScript or LiveScript + debugString += "Resetting language from " + $scope.functionToExecute[ 'language' ] + " to Javascript..." + "\n"; + $scope.functionToExecute[ 'language' ] = 'Javascript'; + } + + console.log( debugString ); + + } + else { + console.log( "Not fixing functionToExecute, because it is not defined..." ); + } + + } $scope.getListFunction = function () { $scope.functions = new Array; @@ -58,6 +123,8 @@ schemaModule.controller("FunctionController", ['$scope', '$routeParams', '$locat } $scope.clearConsole = function () { $scope.functionToExecute['code'] = ''; + + $scope.fixFunctionToExecuteForPrecompiledLanguages(); } $scope.getListFunction(); @@ -77,7 +144,15 @@ schemaModule.controller("FunctionController", ['$scope', '$routeParams', '$locat var newFunc = JSON.parse(JSON.stringify($scope.functionToExecute)); newFunc['name'] = $scope.functionToExecute['name'] + "_clone"; - newFunc['code'] = newFunc['code'] + ' ' + newFunc['code'] = newFunc['code'] + ' '; + if ( $scope.enableIcedCoffeeScript && $scope.functionToExecute.hasOwnProperty( 'icedcoffeescript' ) ) { + newFunc['icedcoffeescript'] = newFunc['icedcoffeescript'] + ' '; + } + if ( $scope.enableliveScript && $scope.functionToExecute.hasOwnProperty( 'livescript' ) ) { + newFunc['livescript'] = newFunc['livescript'] + ' '; + } + $scope.fixFunctionToExecuteForPrecompiledLanguages(); + newFunc['$$hashKey'] = ''; $scope.functions.push(newFunc); @@ -161,10 +236,20 @@ schemaModule.controller("FunctionController", ['$scope', '$routeParams', '$locat $scope.consoleValue = selectedFunction['code']; $scope.nameFunction = selectedFunction['name']; $scope.selectedLanguage = selectedFunction['language']; + if ( $scope.enableIcedCoffeeScript && selectedFunction.hasOwnProperty( 'icedcoffeescript' ) ) { + $scope.selectedLanguage = 'IcedCoffeeScript'; + $scope.consoleValue = selectedFunction[ 'icedcoffeescript' ]; + } + else if ( $scope.enableLiveScript && selectedFunction.hasOwnProperty( 'livescript' ) ) { + $scope.selectedLanguage = 'LiveScript'; + $scope.consoleValue = selectedFunction[ 'livescript' ]; + } + $scope.functionToExecute = selectedFunction; $scope.inParams = $scope.functionToExecute['parameters']; //$scope.vcm.setValue($scope.consoleValue != null ? $scope.consoleValue : ""); + $scope.fixFunctionToExecuteForPrecompiledLanguages(); } $scope.showInConsole = function (selectedFunction) { @@ -187,6 +272,8 @@ schemaModule.controller("FunctionController", ['$scope', '$routeParams', '$locat $scope.modifiedLanguage = function (lang) { $scope.functionToExecute['language'] = lang; + $scope.fixFunctionToExecuteForPrecompiledLanguages(); + } $scope.createNewFunction = function () { diff --git a/app/views/database/functions.html b/app/views/database/functions.html index ddc832b2..b9c3dacc 100644 --- a/app/views/database/functions.html +++ b/app/views/database/functions.html @@ -73,7 +73,9 @@
-
+
+
+
diff --git a/bower.json b/bower.json index 84802901..70bb2ed3 100644 --- a/bower.json +++ b/bower.json @@ -1,38 +1,37 @@ { - "name": "orientdbstudio", - "version": "0.0.0", - "dependencies": { - "angular": "1.2.16", - "json3": "~3.2.4", - "es5-shim": "~2.0.8", - "angular-resource": "1.2.16", - "angular-cookies": "1.2.16", - "angular-sanitize": "1.2.16", - "angular-route": "1.2.16", - "angular-animate": "1.2.16", - "angular-strap": "~0.7.4", - "angular-scroll": "0.2.8", - "js-base64": "~2.1.2", - "angular-ui-codemirror": "~0.1.0", - "codemirror": "3.19.0", - "angular-local-storage": "~0.0.1", - "bootstrap-datepicker": "1.0.2", - "moment": "latest", - "moment-jdateformatparser": "latest", - "angular-ui-bootstrap-bower": "0.10.0", - "spin.js": "2.0.0", - "bootstrap-datetimepicker": "0.0.11", - "angular-ui-select2": "~0.0.5", - "stringjs": "1.5.1", - "ng-table": "0.3.1", - "animate.css": "3.1.1" - }, - "devDependencies": { - "angular-mocks": "~1.0.5", - "angular-scenario": "~1.0.5" - }, - "resolutions": { - "angular": "1.2.16", - "bootstrap": ">=2.0.4 <3.0" - } + "name": "orientdbstudio", + "version": "0.0.0", + "dependencies": { + "angular": "1.2.16", + "json3": "~3.2.4", + "es5-shim": "~2.0.8", + "angular-resource": "1.2.16", + "angular-cookies": "1.2.16", + "angular-sanitize": "1.2.16", + "angular-route": "1.2.16", + "angular-animate": "1.2.16", + "angular-strap": "~0.7.4", + "angular-scroll": "0.2.8", + "js-base64": "~2.1.2", + "angular-ui-codemirror": "~0.1.0", + "codemirror": "3.19.0", + "angular-local-storage": "~0.0.1", + "bootstrap-datepicker": "1.0.2", + "moment": "latest", + "moment-jdateformatparser": "latest", + "angular-ui-bootstrap-bower": "0.10.0", + "spin.js": "2.0.0", + "bootstrap-datetimepicker": "0.0.11", + "angular-ui-select2": "~0.0.5", + "stringjs": "1.5.1", + "ng-table": "0.3.1", + "animate.css": "3.1.1" + }, + "devDependencies": { + "angular-mocks": "~1.0.5", + "angular-scenario": "~1.0.5" + }, + "resolutions": { + "angular": "1.2.16" + } } From 8fdebbf0977f62ce77fb430adf3bbab958a66cc4 Mon Sep 17 00:00:00 2001 From: Frederik Tilkin Date: Thu, 12 Jun 2014 18:36:27 +0200 Subject: [PATCH 2/4] The Studio itself now compiles CoffeeScript and LiveScript to javascript before saving the function! This means that it will work even when the hook is not installed in OrientDB... --- app/index.html | 2 + app/scripts/3d_party/icedcoffeescript.js | 12 + app/scripts/3d_party/livescript.js | 14407 ++++++++++++++++ .../controllers/function-controller.js | 95 +- 4 files changed, 14503 insertions(+), 13 deletions(-) create mode 100644 app/scripts/3d_party/icedcoffeescript.js create mode 100644 app/scripts/3d_party/livescript.js diff --git a/app/index.html b/app/index.html index 83965793..c69e1c6c 100644 --- a/app/index.html +++ b/app/index.html @@ -113,6 +113,8 @@ + + diff --git a/app/scripts/3d_party/icedcoffeescript.js b/app/scripts/3d_party/icedcoffeescript.js new file mode 100644 index 00000000..91fbe56a --- /dev/null +++ b/app/scripts/3d_party/icedcoffeescript.js @@ -0,0 +1,12 @@ +/** + * IcedCoffeeScript Compiler v1.6.3-f + * http://iced-coffee-script.github.io/iced-coffee-script + * + * Copyright 2011, Jeremy Ashkenas, Maxwell Krohn + * Released under the MIT License + */ +(function(root){var CoffeeScript=function(){function require(e){return require[e]}return require["./helpers"]=function(){var e={},t={exports:e};return function(){var t,n,i,s,r,o;e.starts=function(e,t,n){return t===e.substr(n,t.length)},e.ends=function(e,t,n){var i;return i=t.length,t===e.substr(e.length-i-(n||0),i)},e.repeat=r=function(e,t){var n;for(n="";t>0;)1&t&&(n+=e),t>>>=1,e+=e;return n},e.compact=function(e){var t,n,i,s;for(s=[],n=0,i=e.length;i>n;n++)t=e[n],t&&s.push(t);return s},e.count=function(e,t){var n,i;if(n=i=0,!t.length)return 1/0;for(;i=1+e.indexOf(t,i);)n++;return n},e.merge=function(e,t){return n(n({},e),t)},n=e.extend=function(e,t){var n,i;for(n in t)i=t[n],e[n]=i;return e},e.flatten=i=function(e){var t,n,s,r;for(n=[],s=0,r=e.length;r>s;s++)t=e[s],t instanceof Array?n=n.concat(i(t)):n.push(t);return n},e.del=function(e,t){var n;return n=e[t],delete e[t],n},e.last=s=function(e,t){return e[e.length-(t||0)-1]},e.some=null!=(o=Array.prototype.some)?o:function(e){var t,n,i;for(n=0,i=this.length;i>n;n++)if(t=this[n],e(t))return!0;return!1},e.invertLiterate=function(e){var t,n,i;return i=!0,n=function(){var n,s,r,o;for(r=e.split("\n"),o=[],n=0,s=r.length;s>n;n++)t=r[n],i&&/^([ ]{4}|[ ]{0,3}\t)/.test(t)?o.push(t):(i=/^\s*$/.test(t))?o.push(t):o.push("# "+t);return o}(),n.join("\n")},t=function(e,t){return t?{first_line:e.first_line,first_column:e.first_column,last_line:t.last_line,last_column:t.last_column}:e},e.addLocationDataFn=function(e,n){return function(i){return"object"==typeof i&&i.updateLocationDataIfMissing&&i.updateLocationDataIfMissing(t(e,n)),i}},e.locationDataToString=function(e){var t;return"2"in e&&"first_line"in e[2]?t=e[2]:"first_line"in e&&(t=e),t?""+(t.first_line+1)+":"+(t.first_column+1)+"-"+(""+(t.last_line+1)+":"+(t.last_column+1)):"No location data"},e.baseFileName=function(e,t,n){var i,s;return null==t&&(t=!1),null==n&&(n=!1),s=n?/\\|\//:/\//,i=e.split(s),e=i[i.length-1],t?(i=e.split("."),i.pop(),"coffee"===i[i.length-1]&&i.length>1&&i.pop(),i.join(".")):e},e.isCoffee=function(e){return/\.((lit)?coffee|coffee\.md|iced)$/.test(e)},e.isLiterate=function(e){return/\.(litcoffee|coffee\.md)$/.test(e)},e.throwSyntaxError=function(e,t){var n;throw null==t.last_line&&(t.last_line=t.first_line),null==t.last_column&&(t.last_column=t.first_column),n=new SyntaxError(e),n.location=t,n},e.prettyErrorMessage=function(e,t,n,i){var s,o,a,c,u,h,l,p,d,f,m;return e.location?(t=e.filename||t,n=e.code||n,m=e.location,u=m.first_line,c=m.first_column,l=m.last_line,h=m.last_column,s=n.split("\n")[u],f=c,a=u===l?h+1:s.length,p=r(" ",f)+r("^",a-f),i&&(o=function(e){return""+e+""},s=s.slice(0,f)+o(s.slice(f,a))+s.slice(a),p=o(p)),d=""+t+":"+(u+1)+":"+(c+1)+": error: "+e.message+"\n"+s+"\n"+p):e.stack||""+e}}.call(this),t.exports}(),require["./rewriter"]=function(){var e={},t={exports:e};return function(){var t,n,i,s,r,o,a,c,u,h,l,p,d,f,m,w,g,b,v=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1},y=[].slice;for(d=function(e,t){var n;return n=[e,t],n.generated=!0,n},e.Rewriter=function(){function e(){}return e.prototype.rewrite=function(e){return this.tokens=e,this.removeLeadingNewlines(),this.removeMidExpressionNewlines(),this.closeOpenCalls(),this.closeOpenIndexes(),this.addImplicitIndentation(),this.tagPostfixConditionals(),this.addImplicitBracesAndParens(),this.addLocationDataToGeneratedTokens(),this.tokens},e.prototype.scanTokens=function(e){var t,n,i;for(i=this.tokens,t=0;n=i[t];)t+=e.call(this,n,t,i);return!0},e.prototype.detectEnd=function(e,t,n){var r,o,a,c,u;for(a=this.tokens,r=0;o=a[e];){if(0===r&&t.call(this,o,e))return n.call(this,o,e);if(!o||0>r)return n.call(this,o,e-1);c=o[0],v.call(s,c)>=0?r+=1:(u=o[0],v.call(i,u)>=0&&(r-=1)),e+=1}return e-1},e.prototype.removeLeadingNewlines=function(){var e,t,n,i,s;for(s=this.tokens,e=n=0,i=s.length;i>n&&(t=s[e][0],"TERMINATOR"===t);e=++n);return e?this.tokens.splice(0,e):void 0},e.prototype.removeMidExpressionNewlines=function(){return this.scanTokens(function(e,t,i){var s;return"TERMINATOR"===e[0]&&(s=this.tag(t+1),v.call(n,s)>=0)?(i.splice(t,1),0):1})},e.prototype.closeOpenCalls=function(){var e,t;return t=function(e,t){var n;return")"===(n=e[0])||"CALL_END"===n||"OUTDENT"===e[0]&&")"===this.tag(t-1)},e=function(e,t){return this.tokens["OUTDENT"===e[0]?t-1:t][0]="CALL_END"},this.scanTokens(function(n,i){return"CALL_START"===n[0]&&this.detectEnd(i+1,t,e),1})},e.prototype.closeOpenIndexes=function(){var e,t;return t=function(e){var t;return"]"===(t=e[0])||"INDEX_END"===t},e=function(e){return e[0]="INDEX_END"},this.scanTokens(function(n,i){return"INDEX_START"===n[0]&&this.detectEnd(i+1,t,e),1})},e.prototype.matchTags=function(){var e,t,n,i,s,r,o;for(t=arguments[0],i=arguments.length>=2?y.call(arguments,1):[],e=0,n=s=0,r=i.length;r>=0?r>s:s>r;n=r>=0?++s:--s){for(;"HERECOMMENT"===this.tag(t+n+e);)e+=2;if(null!=i[n]&&("string"==typeof i[n]&&(i[n]=[i[n]]),o=this.tag(t+n+e),0>v.call(i[n],o)))return!1}return!0},e.prototype.looksObjectish=function(e){return this.matchTags(e,"@",null,":")||this.matchTags(e,null,":")},e.prototype.findTagsBackwards=function(e,t){var n,r,o,a,c,u,l;for(n=[];e>=0&&(n.length||(a=this.tag(e),0>v.call(t,a)&&(c=this.tag(e),0>v.call(s,c)||this.tokens[e].generated)&&(u=this.tag(e),0>v.call(h,u))));)r=this.tag(e),v.call(i,r)>=0&&n.push(this.tag(e)),o=this.tag(e),v.call(s,o)>=0&&n.length&&n.pop(),e-=1;return l=this.tag(e),v.call(t,l)>=0},e.prototype.addImplicitBracesAndParens=function(){var e;return e=[],this.scanTokens(function(t,n,u){var l,p,f,m,w,g,b,y,k,_,C,F,T,L,x,N,D,E,A,S,I,R,$,O,P,j,B;if(I=t[0],_=(n>0?u[n-1]:[])[0],y=(u.length-1>n?u[n+1]:[])[0],N=function(){return e[e.length-1]},D=n,f=function(e){return n-D+e},m=function(){var e,t;return null!=(e=N())?null!=(t=e[2])?t.ours:void 0:void 0},w=function(){var e;return m()&&"("===(null!=(e=N())?e[0]:void 0)},b=function(){var e;return m()&&"{"===(null!=(e=N())?e[0]:void 0)},g=function(){var e;return m&&"CONTROL"===(null!=(e=N())?e[0]:void 0)},E=function(t){var i;return i=null!=t?t:n,e.push(["(",i,{ours:!0}]),u.splice(i,0,d("CALL_START","(")),null==t?n+=1:void 0},l=function(){return e.pop(),u.splice(n,0,d("CALL_END",")")),n+=1},A=function(t,i){var s;return null==i&&(i=!0),s=null!=t?t:n,e.push(["{",s,{sameLine:!0,startsLine:i,ours:!0}]),u.splice(s,0,d("{",d(new String("{")))),null==t?n+=1:void 0},p=function(t){return t=null!=t?t:n,e.pop(),u.splice(t,0,d("}","}")),n+=1},w()&&("IF"===I||"TRY"===I||"FINALLY"===I||"CATCH"===I||"CLASS"===I||"SWITCH"===I))return e.push(["CONTROL",n,{ours:!0}]),f(1);if("INDENT"===I&&m()){if("=>"!==_&&"->"!==_&&"["!==_&&"("!==_&&","!==_&&"{"!==_&&"TRY"!==_&&"ELSE"!==_&&"="!==_)for(;w();)l();return g()&&e.pop(),e.push([I,n]),f(1)}if(v.call(s,I)>=0)return e.push([I,n]),f(1);if(v.call(i,I)>=0){for(;m();)w()?l():b()?p():e.pop();e.pop()}if((v.call(a,I)>=0&&t.spaced&&!t.stringEnd||"?"===I&&n>0&&!u[n-1].spaced)&&(v.call(r,y)>=0||v.call(c,y)>=0&&!(null!=(R=u[n+1])?R.spaced:void 0)&&!(null!=($=u[n+1])?$.newLine:void 0)))return"?"===I&&(I=t[0]="FUNC_EXIST"),E(n+1),C=f(2);if(v.call(a,I)>=0&&this.matchTags(n+1,"INDENT",null,":")&&!this.findTagsBackwards(n,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return E(n+1),e.push(["INDENT",n+2]),f(3);if(":"===I){for(F="@"===this.tag(n-2)?n-2:n-1;"HERECOMMENT"===this.tag(F-2);)F-=2;return S=0===F||(O=this.tag(F-1),v.call(h,O)>=0)||u[F-1].newLine,N()&&(P=N(),x=P[0],L=P[1],("{"===x||"INDENT"===x&&"{"===this.tag(L-1))&&(S||","===this.tag(F-1)||"{"===this.tag(F-1)))?f(1):(A(F,!!S),f(2))}if("OUTDENT"===_&&w()&&("."===I||"?."===I||"::"===I||"?::"===I))return l(),f(1);if(b()&&v.call(h,I)>=0&&(N()[2].sameLine=!1),v.call(o,I)>=0)for(;m();)if(j=N(),x=j[0],L=j[1],B=j[2],T=B.sameLine,S=B.startsLine,w()&&","!==_)l();else if(b()&&T&&!S)p();else{if(!b()||"TERMINATOR"!==I||","===_||S&&this.looksObjectish(n+1))break;p()}if(","===I&&!this.looksObjectish(n+1)&&b()&&("TERMINATOR"!==y||!this.looksObjectish(n+2)))for(k="OUTDENT"===y?1:0;b();)p(n+k);return f(1)})},e.prototype.addLocationDataToGeneratedTokens=function(){return this.scanTokens(function(e,t,n){var i,s,r,o,a,c;return e[2]?1:e.generated||e.explicit?("{"===e[0]&&(r=null!=(a=n[t+1])?a[2]:void 0)?(s=r.first_line,i=r.first_column):(o=null!=(c=n[t-1])?c[2]:void 0)?(s=o.last_line,i=o.last_column):s=i=0,e[2]={first_line:s,first_column:i,last_line:s,last_column:i},1):1})},e.prototype.addImplicitIndentation=function(){var e,t,n,i,s;return s=n=i=null,t=function(e){var t,n;return";"!==e[1]&&(t=e[0],v.call(l,t)>=0)&&!("ELSE"===e[0]&&"THEN"!==s)&&!!("CATCH"!==(n=e[0])&&"FINALLY"!==n||"->"!==s&&"=>"!==s)},e=function(e,t){return this.tokens.splice(","===this.tag(t-1)?t-1:t,0,i)},this.scanTokens(function(r,o,a){var c,u,h,l,d;if(u=r[0],"TERMINATOR"===u&&"THEN"===this.tag(o+1))return a.splice(o,1),0;if("ELSE"===u&&"OUTDENT"!==this.tag(o-1))return a.splice.apply(a,[o,0].concat(y.call(this.indentation()))),2;if("CATCH"===u)for(c=h=1;2>=h;c=++h)if("OUTDENT"===(l=this.tag(o+c))||"TERMINATOR"===l||"FINALLY"===l)return a.splice.apply(a,[o+c,0].concat(y.call(this.indentation()))),2+c;return v.call(p,u)>=0&&"INDENT"!==this.tag(o+1)&&("ELSE"!==u||"IF"!==this.tag(o+1))?(s=u,d=this.indentation(!0),n=d[0],i=d[1],"THEN"===s&&(n.fromThen=!0),a.splice(o+1,0,n),this.detectEnd(o+2,t,e),"THEN"===u&&a.splice(o,1),1):1})},e.prototype.tagPostfixConditionals=function(){var e,t,n;return n=null,t=function(e,t){var n,i;return i=e[0],n=this.tokens[t-1][0],"TERMINATOR"===i||"INDENT"===i&&0>v.call(p,n)},e=function(e){return"INDENT"!==e[0]||e.generated&&!e.fromThen?n[0]="POST_"+n[0]:void 0},this.scanTokens(function(i,s){return"IF"!==i[0]?1:(n=i,this.detectEnd(s+1,t,e),1)})},e.prototype.indentation=function(e){var t,n;return null==e&&(e=!1),t=["INDENT",2],n=["OUTDENT",2],e&&(t.generated=n.generated=!0),e||(t.explicit=n.explicit=!0),[t,n]},e.prototype.generate=d,e.prototype.tag=function(e){var t;return null!=(t=this.tokens[e])?t[0]:void 0},e}(),t=[["(",")"],["[","]"],["{","}"],["INDENT","OUTDENT"],["CALL_START","CALL_END"],["PARAM_START","PARAM_END"],["INDEX_START","INDEX_END"]],e.INVERSES=u={},s=[],i=[],w=0,g=t.length;g>w;w++)b=t[w],f=b[0],m=b[1],s.push(u[m]=f),i.push(u[f]=m);n=["CATCH","WHEN","ELSE","FINALLY"].concat(i),a=["IDENTIFIER","SUPER",")","CALL_END","]","INDEX_END","@","THIS"],r=["IDENTIFIER","NUMBER","STRING","JS","REGEX","NEW","PARAM_START","CLASS","IF","TRY","SWITCH","THIS","BOOL","NULL","UNDEFINED","UNARY","SUPER","THROW","@","->","=>","[","(","{","--","++"],c=["+","-"],o=["POST_IF","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR"],p=["ELSE","->","=>","TRY","FINALLY","THEN"],l=["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"],h=["TERMINATOR","INDENT","OUTDENT"],a.push("DEFER"),r.push("DEFER"),o.push("AWAIT")}.call(this),t.exports}(),require["./lexer"]=function(){var e={},t={exports:e};return function(){var t,n,i,s,r,o,a,c,u,h,l,p,d,f,m,w,g,b,v,y,k,_,C,F,T,L,x,N,D,E,A,S,I,R,$,O,P,j,B,V,M,H,U,W,q,G,X,Y,z,K,J,Q,Z,et=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1};Q=require("./rewriter"),O=Q.Rewriter,b=Q.INVERSES,Z=require("./helpers"),W=Z.count,K=Z.starts,U=Z.compact,X=Z.last,z=Z.repeat,q=Z.invertLiterate,Y=Z.locationDataToString,J=Z.throwSyntaxError,e.Lexer=T=function(){function e(){}return e.prototype.tokenize=function(e,t){var n,i,s,r;for(null==t&&(t={}),this.literate=t.literate,this.indent=0,this.baseIndent=0,this.indebt=0,this.outdebt=0,this.indents=[],this.ends=[],this.tokens=[],this.chunkLine=t.line||0,this.chunkColumn=t.column||0,e=this.clean(e),i=0;this.chunk=e.slice(i);)n=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.heredocToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken(),r=this.getLineAndColumnFromChunk(n),this.chunkLine=r[0],this.chunkColumn=r[1],i+=n;return this.closeIndentation(),(s=this.ends.pop())&&this.error("missing "+s),t.rewrite===!1?this.tokens:(new O).rewrite(this.tokens)},e.prototype.clean=function(e){return e.charCodeAt(0)===t&&(e=e.slice(1)),e=e.replace(/\r/g,"").replace(V,""),H.test(e)&&(e="\n"+e,this.chunkLine--),this.literate&&(e=q(e)),e},e.prototype.identifierToken=function(){var e,t,n,i,s,c,u,h,l,p,d,f,m,g;return(u=w.exec(this.chunk))?(c=u[0],i=u[1],e=u[2],s=i.length,h=void 0,"own"===i&&"FOR"===this.tag()?(this.token("OWN",i),i.length):(n=e||(l=X(this.tokens))&&("."===(f=l[0])||"?."===f||"::"===f||"?::"===f||!l.spaced&&"@"===l[0])&&"defer"!==i,p="IDENTIFIER",!n&&(et.call(k,i)>=0||et.call(a,i)>=0)&&(p=i.toUpperCase(),"WHEN"===p&&(m=this.tag(),et.call(_,m)>=0)?p="LEADING_WHEN":"FOR"===p?this.seenFor=!0:"UNLESS"===p?p="IF":et.call(M,p)>=0?p="UNARY":et.call(R,p)>=0&&("INSTANCEOF"!==p&&this.seenFor?(p="FOR"+p,this.seenFor=!1):(p="RELATION","!"===this.value()&&(h=this.tokens.pop(),i="!"+i)))),et.call(y,i)>=0&&(n?(p="IDENTIFIER",i=new String(i),i.reserved=!0):et.call($,i)>=0&&this.error('reserved word "'+i+'"')),n||(et.call(r,i)>=0&&(i=o[i]),p=function(){switch(i){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"&&":case"||":return"LOGIC";case"true":case"false":return"BOOL";case"break":case"continue":return"STATEMENT";default:return p}}()),d=this.token(p,i,0,s),h&&(g=[h[2].first_line,h[2].first_column],d[2].first_line=g[0],d[2].first_column=g[1]),e&&(t=c.lastIndexOf(":"),this.token(":",":",t,e.length)),c.length)):0},e.prototype.numberToken=function(){var e,t,n,i,s;return(n=A.exec(this.chunk))?(i=n[0],/^0[BOX]/.test(i)?this.error("radix prefix '"+i+"' must be lowercase"):/E/.test(i)&&!/^0x/.test(i)?this.error("exponential notation '"+i+"' must be indicated with a lowercase 'e'"):/^0\d*[89]/.test(i)?this.error("decimal literal '"+i+"' must not be prefixed with '0'"):/^0\d+/.test(i)&&this.error("octal literal '"+i+"' must be prefixed with '0o'"),t=i.length,(s=/^0o([0-7]+)/.exec(i))&&(i="0x"+parseInt(s[1],8).toString(16)),(e=/^0b([01]+)/.exec(i))&&(i="0x"+parseInt(e[1],2).toString(16)),this.token("NUMBER",i,0,t),t):0},e.prototype.stringToken=function(){var e,t,n;switch(this.chunk.charAt(0)){case"'":if(!(e=j.exec(this.chunk)))return 0;n=e[0],this.token("STRING",n.replace(x,"\\\n"),0,n.length);break;case'"':if(!(n=this.balancedString(this.chunk,'"')))return 0;n.indexOf("#{",1)>0?this.interpolateString(n.slice(1,-1),{strOffset:1,lexedLength:n.length}):this.token("STRING",this.escapeLines(n,0,n.length));break;default:return 0}return(t=/^(?:\\.|[^\\])*\\(?:0[0-7]|[1-7])/.test(n))&&this.error("octal escape sequences "+n+" are not allowed"),n.length},e.prototype.heredocToken=function(){var e,t,n,i;return(n=l.exec(this.chunk))?(t=n[0],i=t.charAt(0),e=this.sanitizeHeredoc(n[2],{quote:i,indent:null}),'"'===i&&e.indexOf("#{")>=0?this.interpolateString(e,{heredoc:!0,strOffset:3,lexedLength:t.length}):this.token("STRING",this.makeString(e,i,!0),0,t.length),t.length):0},e.prototype.commentToken=function(){var e,t,n;return(n=this.chunk.match(c))?(e=n[0],t=n[1],t&&this.token("HERECOMMENT",this.sanitizeHeredoc(t,{herecomment:!0,indent:z(" ",this.indent)}),0,e.length),e.length):0},e.prototype.jsToken=function(){var e,t;return"`"===this.chunk.charAt(0)&&(e=v.exec(this.chunk))?(this.token("JS",(t=e[0]).slice(1,-1),0,t.length),t.length):0},e.prototype.regexToken=function(){var e,t,n,i,s,r,o;return"/"!==this.chunk.charAt(0)?0:(n=f.exec(this.chunk))?t=this.heregexToken(n):(i=X(this.tokens),i&&(r=i[0],et.call(i.spaced?D:E,r)>=0)?0:(n=I.exec(this.chunk))?(o=n,n=o[0],s=o[1],e=o[2],"/*"===s.slice(0,2)&&this.error("regular expressions cannot begin with `*`"),"//"===s&&(s="/(?:)/"),this.token("REGEX",""+s+e,0,n.length),n.length):0)},e.prototype.heregexToken=function(e){var t,n,i,s,r,o,a,c,u,h,l,p,d,f,w,g;if(s=e[0],t=e[1],n=e[2],0>t.indexOf("#{"))return a=t.replace(m,"").replace(/\//g,"\\/"),a.match(/^\*/)&&this.error("regular expressions cannot begin with `*`"),this.token("REGEX","/"+(a||"(?:)")+"/"+n,0,s.length),s.length;for(this.token("IDENTIFIER","RegExp",0,0),this.token("CALL_START","(",0,0),h=[],f=this.interpolateString(t,{regex:!0}),p=0,d=f.length;d>p;p++){if(u=f[p],c=u[0],l=u[1],"TOKENS"===c)h.push.apply(h,l);else if("NEOSTRING"===c){if(!(l=l.replace(m,"")))continue;l=l.replace(/\\/g,"\\\\"),u[0]="STRING",u[1]=this.makeString(l,'"',!0),h.push(u)}else this.error("Unexpected "+c);o=X(this.tokens),r=["+","+"],r[2]=o[2],h.push(r)}return h.pop(),"STRING"!==(null!=(w=h[0])?w[0]:void 0)&&(this.token("STRING",'""',0,0),this.token("+","+",0,0)),(g=this.tokens).push.apply(g,h),n&&(i=s.lastIndexOf(n),this.token(",",",",i,0),this.token("STRING",'"'+n+'"',i,n.length)),this.token(")",")",s.length-1,0),s.length},e.prototype.lineToken=function(){var e,t,n,i,s;if(!(n=N.exec(this.chunk)))return 0;if(t=n[0],this.seenFor=!1,s=t.length-1-t.lastIndexOf("\n"),i=this.unfinished(),s-this.indebt===this.indent)return i?this.suppressNewlines():this.newlineToken(0),t.length;if(s>this.indent){if(i)return this.indebt=s-this.indent,this.suppressNewlines(),t.length;if(!this.tokens.length)return this.baseIndent=this.indent=s,t.length;e=s-this.indent+this.outdebt,this.token("INDENT",e,t.length-s,s),this.indents.push(e),this.ends.push("OUTDENT"),this.outdebt=this.indebt=0}else this.baseIndent>s?this.error("missing indentation",t.length):(this.indebt=0,this.outdentToken(this.indent-s,i,t.length));return this.indent=s,t.length},e.prototype.outdentToken=function(e,t,n){for(var i,s;e>0;)s=this.indents.length-1,void 0===this.indents[s]?e=0:this.indents[s]===this.outdebt?(e-=this.outdebt,this.outdebt=0):this.indents[s]=0)&&this.error('reserved word "'+this.value()+"\" can't be assigned"),"||"===(a=t[1])||"&&"===a))return t[0]="COMPOUND_ASSIGN",t[1]+="=",r.length;if(";"===r)this.seenFor=!1,n="TERMINATOR";else if(et.call(L,r)>=0)n="MATH";else if(et.call(u,r)>=0)n="COMPARE";else if(et.call(h,r)>=0)n="COMPOUND_ASSIGN";else if(et.call(M,r)>=0)n="UNARY";else if(et.call(P,r)>=0)n="SHIFT";else if(et.call(F,r)>=0||"?"===r&&(null!=t?t.spaced:void 0))n="LOGIC";else if(t&&!t.spaced)if("("===r&&(c=t[0],et.call(i,c)>=0))"?"===t[0]&&(t[0]="FUNC_EXIST"),n="CALL_START";else if("["===r&&(l=t[0],et.call(g,l)>=0))switch(n="INDEX_START",t[0]){case"?":t[0]="INDEX_SOAK"}switch(r){case"(":case"{":case"[":this.ends.push(b[r]);break;case")":case"}":case"]":this.pair(r)}return this.token(n,r),r.length},e.prototype.sanitizeHeredoc=function(e,t){var n,i,s,r,o;if(s=t.indent,i=t.herecomment){if(p.test(e)&&this.error('block comment cannot contain "*/", starting'),0>e.indexOf("\n"))return e}else for(;r=d.exec(e);)n=r[1],(null===s||(o=n.length)>0&&s.length>o)&&(s=n);return s&&(e=e.replace(RegExp("\\n"+s,"g"),"\n")),i||(e=e.replace(/^\n/,"")),e},e.prototype.tagParameters=function(){var e,t,n,i;if(")"!==this.tag())return this;for(t=[],i=this.tokens,e=i.length,i[--e][0]="PARAM_END";n=i[--e];)switch(n[0]){case")":t.push(n);break;case"(":case"CALL_START":if(!t.length)return"("===n[0]?(n[0]="PARAM_START",this):this;t.pop()}return this},e.prototype.closeIndentation=function(){return this.outdentToken(this.indent)},e.prototype.balancedString=function(e,t){var n,i,s,r,o,a,c,u;for(n=0,a=[t],i=c=1,u=e.length;u>=1?u>c:c>u;i=u>=1?++c:--c)if(n)--n;else{switch(s=e.charAt(i)){case"\\":++n;continue;case t:if(a.pop(),!a.length)return e.slice(0,+i+1||9e9);t=a[a.length-1];continue}"}"!==t||'"'!==s&&"'"!==s?"}"===t&&"/"===s&&(r=f.exec(e.slice(i))||I.exec(e.slice(i)))?n+=r[0].length-1:"}"===t&&"{"===s?a.push(t="}"):'"'===t&&"#"===o&&"{"===s&&a.push(t="}"):a.push(t=s),o=s}return this.error("missing "+a.pop()+", starting")},e.prototype.interpolateString=function(t,n){var i,s,r,o,a,c,u,h,l,p,d,f,m,w,g,b,v,y,k,_,C,F,T,L,x,N,D,E;for(null==n&&(n={}),r=n.heredoc,v=n.regex,m=n.offsetInChunk,k=n.strOffset,l=n.lexedLength,m=m||0,k=k||0,l=l||t.length,r&&t.length>0&&"\n"===t[0]&&(t=t.slice(1),k++),F=[],w=0,o=-1;h=t.charAt(o+=1);)"\\"!==h?"#"===h&&"{"===t.charAt(o+1)&&(s=this.balancedString(t.slice(o+1),"}"))&&(o>w&&F.push(this.makeToken("NEOSTRING",t.slice(w,o),k+w)),a=s.slice(1,-1),a.length&&(N=this.getLineAndColumnFromChunk(k+o+1),p=N[0],i=N[1],f=(new e).tokenize(a,{line:p,column:i,rewrite:!1}),b=f.pop(),"TERMINATOR"===(null!=(D=f[0])?D[0]:void 0)&&(b=f.shift()),(u=f.length)&&(u>1&&(f.unshift(this.makeToken("(","(",k+o+1,0)),f.push(this.makeToken(")",")",k+o+1+a.length,0))),F.push(["TOKENS",f]))),o+=s.length,w=o+1):o+=1;if(o>w&&t.length>w&&F.push(this.makeToken("NEOSTRING",t.slice(w),k+w)),v)return F;if(!F.length)return this.token("STRING",'""',m,l);for("NEOSTRING"!==F[0][0]&&F.unshift(this.makeToken("NEOSTRING","",m)),(c=F.length>1)&&this.token("(","(",m,0),o=L=0,x=F.length;x>L;o=++L)C=F[o],_=C[0],T=C[1],o&&(o&&(g=this.token("+","+")),d="TOKENS"===_?T[0]:C,g[2]={first_line:d[2].first_line,first_column:d[2].first_column,last_line:d[2].first_line,last_column:d[2].first_column}),"TOKENS"===_?(E=this.tokens).push.apply(E,T):"NEOSTRING"===_?(C[0]="STRING",C[1]=this.makeString(T,'"',r),this.tokens.push(C)):this.error("Unexpected "+_);return c&&(y=this.makeToken(")",")",m+l,0),y.stringEnd=!0,this.tokens.push(y)),F},e.prototype.pair=function(e){var t,n;return e!==(n=X(this.ends))?("OUTDENT"!==n&&this.error("unmatched "+e),this.indent-=t=X(this.indents),this.outdentToken(t,!0),this.pair(e)):this.ends.pop()},e.prototype.getLineAndColumnFromChunk=function(e){var t,n,i,s;return 0===e?[this.chunkLine,this.chunkColumn]:(s=e>=this.chunk.length?this.chunk:this.chunk.slice(0,+(e-1)+1||9e9),n=W(s,"\n"),t=this.chunkColumn,n>0?(i=s.split("\n"),t=X(i).length):t+=s.length,[this.chunkLine+n,t])},e.prototype.makeToken=function(e,t,n,i){var s,r,o,a,c;return null==n&&(n=0),null==i&&(i=t.length),r={},a=this.getLineAndColumnFromChunk(n),r.first_line=a[0],r.first_column=a[1],s=Math.max(0,i-1),c=this.getLineAndColumnFromChunk(n+s),r.last_line=c[0],r.last_column=c[1],o=[e,t,r]},e.prototype.token=function(e,t,n,i){var s;return s=this.makeToken(e,t,n,i),this.tokens.push(s),s},e.prototype.tag=function(e,t){var n;return(n=X(this.tokens,e))&&(t?n[0]=t:n[0])},e.prototype.value=function(e,t){var n;return(n=X(this.tokens,e))&&(t?n[1]=t:n[1])},e.prototype.unfinished=function(){var e;return C.test(this.chunk)||"\\"===(e=this.tag())||"."===e||"?."===e||"?::"===e||"UNARY"===e||"MATH"===e||"+"===e||"-"===e||"SHIFT"===e||"RELATION"===e||"COMPARE"===e||"LOGIC"===e||"THROW"===e||"EXTENDS"===e},e.prototype.escapeLines=function(e,t){return e.replace(x,t?"\\n":"")},e.prototype.makeString=function(e,t,n){return e?(e=e.replace(/\\([\s\S])/g,function(e,n){return"\n"===n||n===t?n:e}),e=e.replace(RegExp(""+t,"g"),"\\$&"),t+this.escapeLines(e,n)+t):t+t},e.prototype.error=function(e,t){var n,i,s;return null==t&&(t=0),s=this.getLineAndColumnFromChunk(t),i=s[0],n=s[1],J(e,{first_line:i,first_column:n})},e}(),k=["true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","if","else","switch","for","while","do","try","catch","finally","class","extends","super"],a=["undefined","then","unless","until","loop","of","by","when"],a=a.concat(["await","defer"]),o={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},r=function(){var e;e=[];for(G in o)e.push(G);return e}(),a=a.concat(r),$=["case","default","function","var","void","with","const","let","enum","export","import","native","__hasProp","__extends","__slice","__bind","__indexOf","implements","interface","package","private","protected","public","static","yield"],B=["arguments","eval"],y=k.concat($).concat(B),e.RESERVED=$.concat(k).concat(a).concat(B),e.STRICT_PROSCRIBED=B,t=65279,w=/^([$A-Za-z_\x7f-\uffff][$\w\x7f-\uffff]*)([^\n\S]*:(?!:))?/,A=/^0b[01]+|^0o[0-7]+|^0x[\da-f]+|^\d*\.?\d+(?:e[+-]?\d+)?/i,l=/^("""|''')([\s\S]*?)(?:\n[^\n\S]*)?\1/,S=/^(?:[-=]>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>])\2=?|\?(\.|::)|\.{2,3})/,H=/^[^\n\S]+/,c=/^###([^#][\s\S]*?)(?:###[^\n\S]*|(?:###)$)|^(?:\s*#(?!##[^#]).*)+/,s=/^[-=]>/,N=/^(?:\n[^\n\S]*)+/,j=/^'[^\\']*(?:\\.[^\\']*)*'/,v=/^`[^\\`]*(?:\\.[^\\`]*)*`/,I=/^(\/(?![\s=])[^[\/\n\\]*(?:(?:\\[\s\S]|\[[^\]\n\\]*(?:\\[\s\S][^\]\n\\]*)*])[^[\/\n\\]*)*\/)([imgy]{0,4})(?!\w)/,f=/^\/{3}([\s\S]+?)\/{3}([imgy]{0,4})(?!\w)/,m=/\s+(?:#.*)?/g,x=/\n/g,d=/\n+([^\n\S]*)/g,p=/\*\//,C=/^\s*(?:,|\??\.(?![.\d])|::)/,V=/\s+$/,h=["-=","+=","/=","*=","%=","||=","&&=","?=","<<=",">>=",">>>=","&=","^=","|="],M=["!","~","NEW","TYPEOF","DELETE","DO"],F=["&&","||","&","|","^"],P=["<<",">>",">>>"],u=["==","!=","<",">","<=",">="],L=["*","/","%"],R=["IN","OF","INSTANCEOF"],n=["TRUE","FALSE"],D=["NUMBER","REGEX","BOOL","NULL","UNDEFINED","++","--"],E=D.concat(")","}","THIS","IDENTIFIER","STRING","]"),i=["IDENTIFIER","STRING","REGEX",")","]","}","?","::","@","THIS","SUPER"],g=i.concat("NUMBER","BOOL","NULL","UNDEFINED"),_=["INDENT","OUTDENT","TERMINATOR"],i.push("DEFER")}.call(this),t.exports}(),require["./parser"]=function(){var e={},t={exports:e},n=function(){function e(){this.yy={}}var t={trace:function(){},yy:{},symbols_:{error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,Statement:8,Return:9,Comment:10,STATEMENT:11,Await:12,AWAIT:13,Block:14,Value:15,Invocation:16,Code:17,Operation:18,Assign:19,If:20,Try:21,While:22,For:23,Switch:24,Class:25,Throw:26,Defer:27,INDENT:28,OUTDENT:29,Identifier:30,IDENTIFIER:31,AlphaNumeric:32,NUMBER:33,STRING:34,Literal:35,JS:36,REGEX:37,DEBUGGER:38,UNDEFINED:39,NULL:40,BOOL:41,Assignable:42,"=":43,AssignObj:44,ObjAssignable:45,":":46,ThisProperty:47,RETURN:48,HERECOMMENT:49,PARAM_START:50,ParamList:51,PARAM_END:52,FuncGlyph:53,"->":54,"=>":55,OptComma:56,",":57,Param:58,ParamVar:59,"...":60,Array:61,Object:62,Splat:63,SimpleAssignable:64,Accessor:65,Parenthetical:66,Range:67,This:68,".":69,"?.":70,"::":71,"?::":72,Index:73,INDEX_START:74,IndexValue:75,INDEX_END:76,INDEX_SOAK:77,Slice:78,"{":79,AssignList:80,"}":81,CLASS:82,EXTENDS:83,OptFuncExist:84,Arguments:85,SUPER:86,DEFER:87,FUNC_EXIST:88,CALL_START:89,CALL_END:90,ArgList:91,THIS:92,"@":93,"[":94,"]":95,RangeDots:96,"..":97,Arg:98,SimpleArgs:99,TRY:100,Catch:101,FINALLY:102,CATCH:103,THROW:104,"(":105,")":106,WhileSource:107,WHILE:108,WHEN:109,UNTIL:110,Loop:111,LOOP:112,ForBody:113,FOR:114,ForStart:115,ForSource:116,ForVariables:117,OWN:118,ForValue:119,FORIN:120,FOROF:121,BY:122,SWITCH:123,Whens:124,ELSE:125,When:126,LEADING_WHEN:127,IfBlock:128,IF:129,POST_IF:130,UNARY:131,"-":132,"+":133,"--":134,"++":135,"?":136,MATH:137,SHIFT:138,COMPARE:139,LOGIC:140,RELATION:141,COMPOUND_ASSIGN:142,$accept:0,$end:1},terminals_:{2:"error",6:"TERMINATOR",11:"STATEMENT",13:"AWAIT",28:"INDENT",29:"OUTDENT",31:"IDENTIFIER",33:"NUMBER",34:"STRING",36:"JS",37:"REGEX",38:"DEBUGGER",39:"UNDEFINED",40:"NULL",41:"BOOL",43:"=",46:":",48:"RETURN",49:"HERECOMMENT",50:"PARAM_START",52:"PARAM_END",54:"->",55:"=>",57:",",60:"...",69:".",70:"?.",71:"::",72:"?::",74:"INDEX_START",76:"INDEX_END",77:"INDEX_SOAK",79:"{",81:"}",82:"CLASS",83:"EXTENDS",86:"SUPER",87:"DEFER",88:"FUNC_EXIST",89:"CALL_START",90:"CALL_END",92:"THIS",93:"@",94:"[",95:"]",97:"..",100:"TRY",102:"FINALLY",103:"CATCH",104:"THROW",105:"(",106:")",108:"WHILE",109:"WHEN",110:"UNTIL",112:"LOOP",114:"FOR",118:"OWN",120:"FORIN",121:"FOROF",122:"BY",123:"SWITCH",125:"ELSE",127:"LEADING_WHEN",129:"IF",130:"POST_IF",131:"UNARY",132:"-",133:"+",134:"--",135:"++",136:"?",137:"MATH",138:"SHIFT",139:"COMPARE",140:"LOGIC",141:"RELATION",142:"COMPOUND_ASSIGN"},productions_:[0,[3,0],[3,1],[4,1],[4,3],[4,2],[5,1],[5,1],[8,1],[8,1],[8,1],[8,1],[12,2],[12,2],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[14,2],[14,3],[30,1],[32,1],[32,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[19,3],[19,4],[19,5],[44,1],[44,3],[44,5],[44,1],[45,1],[45,1],[45,1],[9,2],[9,1],[10,1],[17,5],[17,2],[53,1],[53,1],[56,0],[56,1],[51,0],[51,1],[51,3],[51,4],[51,6],[58,1],[58,2],[58,3],[59,1],[59,1],[59,1],[59,1],[63,2],[64,1],[64,2],[64,2],[64,1],[42,1],[42,1],[42,1],[15,1],[15,1],[15,1],[15,1],[15,1],[65,2],[65,2],[65,2],[65,2],[65,2],[65,1],[65,1],[73,3],[73,2],[75,1],[75,1],[62,4],[80,0],[80,1],[80,3],[80,4],[80,6],[25,1],[25,2],[25,3],[25,4],[25,2],[25,3],[25,4],[25,5],[16,3],[16,3],[16,1],[16,2],[27,2],[84,0],[84,1],[85,2],[85,4],[68,1],[68,1],[47,2],[61,2],[61,4],[96,1],[96,1],[67,5],[78,3],[78,2],[78,2],[78,1],[91,1],[91,3],[91,4],[91,4],[91,6],[98,1],[98,1],[99,1],[99,3],[21,2],[21,3],[21,4],[21,5],[101,3],[101,3],[101,2],[26,2],[66,3],[66,5],[107,2],[107,4],[107,2],[107,4],[22,2],[22,2],[22,2],[22,1],[111,2],[111,2],[23,2],[23,2],[23,2],[113,2],[113,2],[115,2],[115,3],[119,1],[119,1],[119,1],[119,1],[117,1],[117,3],[116,2],[116,2],[116,4],[116,4],[116,4],[116,6],[116,6],[24,5],[24,7],[24,4],[24,6],[124,1],[124,2],[126,3],[126,4],[128,3],[128,5],[20,1],[20,3],[20,3],[20,3],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,5],[18,4],[18,3]],performAction:function(e,t,n,i,s,r,o){var a=r.length-1;switch(s){case 1:return this.$=i.addLocationDataFn(o[a],o[a])(new i.Block);case 2:return this.$=r[a];case 3:this.$=i.addLocationDataFn(o[a],o[a])(i.Block.wrap([r[a]]));break;case 4:this.$=i.addLocationDataFn(o[a-2],o[a])(r[a-2].push(r[a]));break;case 5:this.$=r[a-1];break;case 6:this.$=r[a];break;case 7:this.$=r[a];break;case 8:this.$=r[a];break;case 9:this.$=r[a];break;case 10:this.$=i.addLocationDataFn(o[a],o[a])(new i.Literal(r[a]));break;case 11:this.$=r[a];break;case 12:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Await(r[a]));break;case 13:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Await(i.Block.wrap([r[a]])));break;case 14:this.$=r[a];break;case 15:this.$=r[a];break;case 16:this.$=r[a];break;case 17:this.$=r[a];break;case 18:this.$=r[a];break;case 19:this.$=r[a];break;case 20:this.$=r[a];break;case 21:this.$=r[a];break;case 22:this.$=r[a];break;case 23:this.$=r[a];break;case 24:this.$=r[a];break;case 25:this.$=r[a];break;case 26:this.$=r[a];break;case 27:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Block);break;case 28:this.$=i.addLocationDataFn(o[a-2],o[a])(r[a-1]);break;case 29:this.$=i.addLocationDataFn(o[a],o[a])(new i.Literal(r[a]));break;case 30:this.$=i.addLocationDataFn(o[a],o[a])(new i.Literal(r[a]));break;case 31:this.$=i.addLocationDataFn(o[a],o[a])(new i.Literal(r[a]));break;case 32:this.$=r[a];break;case 33:this.$=i.addLocationDataFn(o[a],o[a])(new i.Literal(r[a]));break;case 34:this.$=i.addLocationDataFn(o[a],o[a])(new i.Literal(r[a]));break;case 35:this.$=i.addLocationDataFn(o[a],o[a])(new i.Literal(r[a]));break;case 36:this.$=i.addLocationDataFn(o[a],o[a])(new i.Undefined);break;case 37:this.$=i.addLocationDataFn(o[a],o[a])(new i.Null);break;case 38:this.$=i.addLocationDataFn(o[a],o[a])(new i.Bool(r[a]));break;case 39:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Assign(r[a-2],r[a]));break;case 40:this.$=i.addLocationDataFn(o[a-3],o[a])(new i.Assign(r[a-3],r[a]));break;case 41:this.$=i.addLocationDataFn(o[a-4],o[a])(new i.Assign(r[a-4],r[a-1]));break;case 42:this.$=i.addLocationDataFn(o[a],o[a])(new i.Value(r[a]));break;case 43:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Assign(i.addLocationDataFn(o[a-2])(new i.Value(r[a-2])),r[a],"object")); +break;case 44:this.$=i.addLocationDataFn(o[a-4],o[a])(new i.Assign(i.addLocationDataFn(o[a-4])(new i.Value(r[a-4])),r[a-1],"object"));break;case 45:this.$=r[a];break;case 46:this.$=r[a];break;case 47:this.$=r[a];break;case 48:this.$=r[a];break;case 49:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Return(r[a]));break;case 50:this.$=i.addLocationDataFn(o[a],o[a])(new i.Return);break;case 51:this.$=i.addLocationDataFn(o[a],o[a])(new i.Comment(r[a]));break;case 52:this.$=i.addLocationDataFn(o[a-4],o[a])(new i.Code(r[a-3],r[a],r[a-1]));break;case 53:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Code([],r[a],r[a-1]));break;case 54:this.$=i.addLocationDataFn(o[a],o[a])("func");break;case 55:this.$=i.addLocationDataFn(o[a],o[a])("boundfunc");break;case 56:this.$=r[a];break;case 57:this.$=r[a];break;case 58:this.$=i.addLocationDataFn(o[a],o[a])([]);break;case 59:this.$=i.addLocationDataFn(o[a],o[a])([r[a]]);break;case 60:this.$=i.addLocationDataFn(o[a-2],o[a])(r[a-2].concat(r[a]));break;case 61:this.$=i.addLocationDataFn(o[a-3],o[a])(r[a-3].concat(r[a]));break;case 62:this.$=i.addLocationDataFn(o[a-5],o[a])(r[a-5].concat(r[a-2]));break;case 63:this.$=i.addLocationDataFn(o[a],o[a])(new i.Param(r[a]));break;case 64:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Param(r[a-1],null,!0));break;case 65:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Param(r[a-2],r[a]));break;case 66:this.$=r[a];break;case 67:this.$=r[a];break;case 68:this.$=r[a];break;case 69:this.$=r[a];break;case 70:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Splat(r[a-1]));break;case 71:this.$=i.addLocationDataFn(o[a],o[a])(new i.Value(r[a]));break;case 72:this.$=i.addLocationDataFn(o[a-1],o[a])(r[a-1].add(r[a]));break;case 73:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Value(r[a-1],[].concat(r[a])));break;case 74:this.$=r[a];break;case 75:this.$=r[a];break;case 76:this.$=i.addLocationDataFn(o[a],o[a])(new i.Value(r[a]));break;case 77:this.$=i.addLocationDataFn(o[a],o[a])(new i.Value(r[a]));break;case 78:this.$=r[a];break;case 79:this.$=i.addLocationDataFn(o[a],o[a])(new i.Value(r[a]));break;case 80:this.$=i.addLocationDataFn(o[a],o[a])(new i.Value(r[a]));break;case 81:this.$=i.addLocationDataFn(o[a],o[a])(new i.Value(r[a]));break;case 82:this.$=r[a];break;case 83:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Access(r[a]));break;case 84:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Access(r[a].setCustom()));break;case 85:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Access(r[a],"soak"));break;case 86:this.$=i.addLocationDataFn(o[a-1],o[a])([i.addLocationDataFn(o[a-1])(new i.Access(new i.Literal("prototype"))),i.addLocationDataFn(o[a])(new i.Access(r[a]))]);break;case 87:this.$=i.addLocationDataFn(o[a-1],o[a])([i.addLocationDataFn(o[a-1])(new i.Access(new i.Literal("prototype"),"soak")),i.addLocationDataFn(o[a])(new i.Access(r[a]))]);break;case 88:this.$=i.addLocationDataFn(o[a],o[a])(new i.Access(new i.Literal("prototype")));break;case 89:this.$=r[a];break;case 90:this.$=i.addLocationDataFn(o[a-2],o[a])(r[a-1]);break;case 91:this.$=i.addLocationDataFn(o[a-1],o[a])(i.extend(r[a],{soak:!0}));break;case 92:this.$=i.addLocationDataFn(o[a],o[a])(new i.Index(r[a]));break;case 93:this.$=i.addLocationDataFn(o[a],o[a])(new i.Slice(r[a]));break;case 94:this.$=i.addLocationDataFn(o[a-3],o[a])(new i.Obj(r[a-2],r[a-3].generated));break;case 95:this.$=i.addLocationDataFn(o[a],o[a])([]);break;case 96:this.$=i.addLocationDataFn(o[a],o[a])([r[a]]);break;case 97:this.$=i.addLocationDataFn(o[a-2],o[a])(r[a-2].concat(r[a]));break;case 98:this.$=i.addLocationDataFn(o[a-3],o[a])(r[a-3].concat(r[a]));break;case 99:this.$=i.addLocationDataFn(o[a-5],o[a])(r[a-5].concat(r[a-2]));break;case 100:this.$=i.addLocationDataFn(o[a],o[a])(new i.Class);break;case 101:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Class(null,null,r[a]));break;case 102:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Class(null,r[a]));break;case 103:this.$=i.addLocationDataFn(o[a-3],o[a])(new i.Class(null,r[a-1],r[a]));break;case 104:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Class(r[a]));break;case 105:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Class(r[a-1],null,r[a]));break;case 106:this.$=i.addLocationDataFn(o[a-3],o[a])(new i.Class(r[a-2],r[a]));break;case 107:this.$=i.addLocationDataFn(o[a-4],o[a])(new i.Class(r[a-3],r[a-1],r[a]));break;case 108:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Call(r[a-2],r[a],r[a-1]));break;case 109:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Call(r[a-2],r[a],r[a-1]));break;case 110:this.$=i.addLocationDataFn(o[a],o[a])(new i.Call("super",[new i.Splat(new i.Literal("arguments"))]));break;case 111:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Call("super",r[a]));break;case 112:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Defer(r[a],n));break;case 113:this.$=i.addLocationDataFn(o[a],o[a])(!1);break;case 114:this.$=i.addLocationDataFn(o[a],o[a])(!0);break;case 115:this.$=i.addLocationDataFn(o[a-1],o[a])([]);break;case 116:this.$=i.addLocationDataFn(o[a-3],o[a])(r[a-2]);break;case 117:this.$=i.addLocationDataFn(o[a],o[a])(new i.Value(new i.Literal("this")));break;case 118:this.$=i.addLocationDataFn(o[a],o[a])(new i.Value(new i.Literal("this")));break;case 119:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Value(i.addLocationDataFn(o[a-1])(new i.Literal("this")),[i.addLocationDataFn(o[a])(new i.Access(r[a]))],"this"));break;case 120:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Arr([]));break;case 121:this.$=i.addLocationDataFn(o[a-3],o[a])(new i.Arr(r[a-2]));break;case 122:this.$=i.addLocationDataFn(o[a],o[a])("inclusive");break;case 123:this.$=i.addLocationDataFn(o[a],o[a])("exclusive");break;case 124:this.$=i.addLocationDataFn(o[a-4],o[a])(new i.Range(r[a-3],r[a-1],r[a-2]));break;case 125:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Range(r[a-2],r[a],r[a-1]));break;case 126:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Range(r[a-1],null,r[a]));break;case 127:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Range(null,r[a],r[a-1]));break;case 128:this.$=i.addLocationDataFn(o[a],o[a])(new i.Range(null,null,r[a]));break;case 129:this.$=i.addLocationDataFn(o[a],o[a])([r[a]]);break;case 130:this.$=i.addLocationDataFn(o[a-2],o[a])(r[a-2].concat(r[a]));break;case 131:this.$=i.addLocationDataFn(o[a-3],o[a])(r[a-3].concat(r[a]));break;case 132:this.$=i.addLocationDataFn(o[a-3],o[a])(r[a-2]);break;case 133:this.$=i.addLocationDataFn(o[a-5],o[a])(r[a-5].concat(r[a-2]));break;case 134:this.$=r[a];break;case 135:this.$=r[a];break;case 136:this.$=r[a];break;case 137:this.$=i.addLocationDataFn(o[a-2],o[a])([].concat(r[a-2],r[a]));break;case 138:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Try(r[a]));break;case 139:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Try(r[a-1],r[a][0],r[a][1]));break;case 140:this.$=i.addLocationDataFn(o[a-3],o[a])(new i.Try(r[a-2],null,null,r[a]));break;case 141:this.$=i.addLocationDataFn(o[a-4],o[a])(new i.Try(r[a-3],r[a-2][0],r[a-2][1],r[a]));break;case 142:this.$=i.addLocationDataFn(o[a-2],o[a])([r[a-1],r[a]]);break;case 143:this.$=i.addLocationDataFn(o[a-2],o[a])([i.addLocationDataFn(o[a-1])(new i.Value(r[a-1])),r[a]]);break;case 144:this.$=i.addLocationDataFn(o[a-1],o[a])([null,r[a]]);break;case 145:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Throw(r[a]));break;case 146:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Parens(r[a-1]));break;case 147:this.$=i.addLocationDataFn(o[a-4],o[a])(new i.Parens(r[a-2]));break;case 148:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.While(r[a]));break;case 149:this.$=i.addLocationDataFn(o[a-3],o[a])(new i.While(r[a-2],{guard:r[a]}));break;case 150:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.While(r[a],{invert:!0}));break;case 151:this.$=i.addLocationDataFn(o[a-3],o[a])(new i.While(r[a-2],{invert:!0,guard:r[a]}));break;case 152:this.$=i.addLocationDataFn(o[a-1],o[a])(r[a-1].addBody(r[a]));break;case 153:this.$=i.addLocationDataFn(o[a-1],o[a])(r[a].addBody(i.addLocationDataFn(o[a-1])(i.Block.wrap([r[a-1]]))));break;case 154:this.$=i.addLocationDataFn(o[a-1],o[a])(r[a].addBody(i.addLocationDataFn(o[a-1])(i.Block.wrap([r[a-1]]))));break;case 155:this.$=i.addLocationDataFn(o[a],o[a])(r[a]);break;case 156:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.While(i.addLocationDataFn(o[a-1])(new i.Literal("true"))).addBody(r[a]));break;case 157:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.While(i.addLocationDataFn(o[a-1])(new i.Literal("true"))).addBody(i.addLocationDataFn(o[a])(i.Block.wrap([r[a]]))));break;case 158:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.For(r[a-1],r[a]));break;case 159:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.For(r[a-1],r[a]));break;case 160:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.For(r[a],r[a-1]));break;case 161:this.$=i.addLocationDataFn(o[a-1],o[a])({source:i.addLocationDataFn(o[a])(new i.Value(r[a]))});break;case 162:this.$=i.addLocationDataFn(o[a-1],o[a])(function(){return r[a].own=r[a-1].own,r[a].name=r[a-1][0],r[a].index=r[a-1][1],r[a]}());break;case 163:this.$=i.addLocationDataFn(o[a-1],o[a])(r[a]);break;case 164:this.$=i.addLocationDataFn(o[a-2],o[a])(function(){return r[a].own=!0,r[a]}());break;case 165:this.$=r[a];break;case 166:this.$=r[a];break;case 167:this.$=i.addLocationDataFn(o[a],o[a])(new i.Value(r[a]));break;case 168:this.$=i.addLocationDataFn(o[a],o[a])(new i.Value(r[a]));break;case 169:this.$=i.addLocationDataFn(o[a],o[a])([r[a]]);break;case 170:this.$=i.addLocationDataFn(o[a-2],o[a])([r[a-2],r[a]]);break;case 171:this.$=i.addLocationDataFn(o[a-1],o[a])({source:r[a]});break;case 172:this.$=i.addLocationDataFn(o[a-1],o[a])({source:r[a],object:!0});break;case 173:this.$=i.addLocationDataFn(o[a-3],o[a])({source:r[a-2],guard:r[a]});break;case 174:this.$=i.addLocationDataFn(o[a-3],o[a])({source:r[a-2],guard:r[a],object:!0});break;case 175:this.$=i.addLocationDataFn(o[a-3],o[a])({source:r[a-2],step:r[a]});break;case 176:this.$=i.addLocationDataFn(o[a-5],o[a])({source:r[a-4],guard:r[a-2],step:r[a]});break;case 177:this.$=i.addLocationDataFn(o[a-5],o[a])({source:r[a-4],step:r[a-2],guard:r[a]});break;case 178:this.$=i.addLocationDataFn(o[a-4],o[a])(new i.Switch(r[a-3],r[a-1]));break;case 179:this.$=i.addLocationDataFn(o[a-6],o[a])(new i.Switch(r[a-5],r[a-3],r[a-1]));break;case 180:this.$=i.addLocationDataFn(o[a-3],o[a])(new i.Switch(null,r[a-1]));break;case 181:this.$=i.addLocationDataFn(o[a-5],o[a])(new i.Switch(null,r[a-3],r[a-1]));break;case 182:this.$=r[a];break;case 183:this.$=i.addLocationDataFn(o[a-1],o[a])(r[a-1].concat(r[a]));break;case 184:this.$=i.addLocationDataFn(o[a-2],o[a])([[r[a-1],r[a]]]);break;case 185:this.$=i.addLocationDataFn(o[a-3],o[a])([[r[a-2],r[a-1]]]);break;case 186:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.If(r[a-1],r[a],{type:r[a-2]}));break;case 187:this.$=i.addLocationDataFn(o[a-4],o[a])(r[a-4].addElse(i.addLocationDataFn(o[a-2],o[a])(new i.If(r[a-1],r[a],{type:r[a-2]}))));break;case 188:this.$=r[a];break;case 189:this.$=i.addLocationDataFn(o[a-2],o[a])(r[a-2].addElse(r[a]));break;case 190:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.If(r[a],i.addLocationDataFn(o[a-2])(i.Block.wrap([r[a-2]])),{type:r[a-1],statement:!0}));break;case 191:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.If(r[a],i.addLocationDataFn(o[a-2])(i.Block.wrap([r[a-2]])),{type:r[a-1],statement:!0}));break;case 192:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Op(r[a-1],r[a]));break;case 193:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Op("-",r[a]));break;case 194:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Op("+",r[a]));break;case 195:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Op("--",r[a]));break;case 196:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Op("++",r[a]));break;case 197:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Op("--",r[a-1],null,!0));break;case 198:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Op("++",r[a-1],null,!0));break;case 199:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Existence(r[a-1]));break;case 200:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Op("+",r[a-2],r[a]));break;case 201:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Op("-",r[a-2],r[a]));break;case 202:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Op(r[a-1],r[a-2],r[a]));break;case 203:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Op(r[a-1],r[a-2],r[a]));break;case 204:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Op(r[a-1],r[a-2],r[a]));break;case 205:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Op(r[a-1],r[a-2],r[a]));break;case 206:this.$=i.addLocationDataFn(o[a-2],o[a])(function(){return"!"===r[a-1].charAt(0)?new i.Op(r[a-1].slice(1),r[a-2],r[a]).invert():new i.Op(r[a-1],r[a-2],r[a])}());break;case 207:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Assign(r[a-2],r[a],r[a-1]));break;case 208:this.$=i.addLocationDataFn(o[a-4],o[a])(new i.Assign(r[a-4],r[a-1],r[a-3]));break;case 209:this.$=i.addLocationDataFn(o[a-3],o[a])(new i.Assign(r[a-3],r[a],r[a-2]));break;case 210:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Extends(r[a-2],r[a]))}},table:[{1:[2,1],3:1,4:2,5:3,7:4,8:5,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{1:[3]},{1:[2,2],6:[1,76]},{1:[2,3],6:[2,3],29:[2,3],106:[2,3]},{1:[2,6],6:[2,6],29:[2,6],106:[2,6],107:86,108:[1,67],110:[1,68],113:87,114:[1,70],115:71,130:[1,85],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{1:[2,7],6:[2,7],29:[2,7],106:[2,7],107:89,108:[1,67],110:[1,68],113:90,114:[1,70],115:71,130:[1,88]},{1:[2,14],6:[2,14],28:[2,14],29:[2,14],52:[2,14],57:[2,14],60:[2,14],65:92,69:[1,94],70:[1,95],71:[1,96],72:[1,97],73:98,74:[1,99],76:[2,14],77:[1,100],81:[2,14],84:91,88:[1,93],89:[2,113],90:[2,14],95:[2,14],97:[2,14],106:[2,14],108:[2,14],109:[2,14],110:[2,14],114:[2,14],122:[2,14],130:[2,14],132:[2,14],133:[2,14],136:[2,14],137:[2,14],138:[2,14],139:[2,14],140:[2,14],141:[2,14]},{1:[2,15],6:[2,15],28:[2,15],29:[2,15],52:[2,15],57:[2,15],60:[2,15],65:102,69:[1,94],70:[1,95],71:[1,96],72:[1,97],73:98,74:[1,99],76:[2,15],77:[1,100],81:[2,15],84:101,88:[1,93],89:[2,113],90:[2,15],95:[2,15],97:[2,15],106:[2,15],108:[2,15],109:[2,15],110:[2,15],114:[2,15],122:[2,15],130:[2,15],132:[2,15],133:[2,15],136:[2,15],137:[2,15],138:[2,15],139:[2,15],140:[2,15],141:[2,15]},{1:[2,16],6:[2,16],28:[2,16],29:[2,16],52:[2,16],57:[2,16],60:[2,16],76:[2,16],81:[2,16],90:[2,16],95:[2,16],97:[2,16],106:[2,16],108:[2,16],109:[2,16],110:[2,16],114:[2,16],122:[2,16],130:[2,16],132:[2,16],133:[2,16],136:[2,16],137:[2,16],138:[2,16],139:[2,16],140:[2,16],141:[2,16]},{1:[2,17],6:[2,17],28:[2,17],29:[2,17],52:[2,17],57:[2,17],60:[2,17],76:[2,17],81:[2,17],90:[2,17],95:[2,17],97:[2,17],106:[2,17],108:[2,17],109:[2,17],110:[2,17],114:[2,17],122:[2,17],130:[2,17],132:[2,17],133:[2,17],136:[2,17],137:[2,17],138:[2,17],139:[2,17],140:[2,17],141:[2,17]},{1:[2,18],6:[2,18],28:[2,18],29:[2,18],52:[2,18],57:[2,18],60:[2,18],76:[2,18],81:[2,18],90:[2,18],95:[2,18],97:[2,18],106:[2,18],108:[2,18],109:[2,18],110:[2,18],114:[2,18],122:[2,18],130:[2,18],132:[2,18],133:[2,18],136:[2,18],137:[2,18],138:[2,18],139:[2,18],140:[2,18],141:[2,18]},{1:[2,19],6:[2,19],28:[2,19],29:[2,19],52:[2,19],57:[2,19],60:[2,19],76:[2,19],81:[2,19],90:[2,19],95:[2,19],97:[2,19],106:[2,19],108:[2,19],109:[2,19],110:[2,19],114:[2,19],122:[2,19],130:[2,19],132:[2,19],133:[2,19],136:[2,19],137:[2,19],138:[2,19],139:[2,19],140:[2,19],141:[2,19]},{1:[2,20],6:[2,20],28:[2,20],29:[2,20],52:[2,20],57:[2,20],60:[2,20],76:[2,20],81:[2,20],90:[2,20],95:[2,20],97:[2,20],106:[2,20],108:[2,20],109:[2,20],110:[2,20],114:[2,20],122:[2,20],130:[2,20],132:[2,20],133:[2,20],136:[2,20],137:[2,20],138:[2,20],139:[2,20],140:[2,20],141:[2,20]},{1:[2,21],6:[2,21],28:[2,21],29:[2,21],52:[2,21],57:[2,21],60:[2,21],76:[2,21],81:[2,21],90:[2,21],95:[2,21],97:[2,21],106:[2,21],108:[2,21],109:[2,21],110:[2,21],114:[2,21],122:[2,21],130:[2,21],132:[2,21],133:[2,21],136:[2,21],137:[2,21],138:[2,21],139:[2,21],140:[2,21],141:[2,21]},{1:[2,22],6:[2,22],28:[2,22],29:[2,22],52:[2,22],57:[2,22],60:[2,22],76:[2,22],81:[2,22],90:[2,22],95:[2,22],97:[2,22],106:[2,22],108:[2,22],109:[2,22],110:[2,22],114:[2,22],122:[2,22],130:[2,22],132:[2,22],133:[2,22],136:[2,22],137:[2,22],138:[2,22],139:[2,22],140:[2,22],141:[2,22]},{1:[2,23],6:[2,23],28:[2,23],29:[2,23],52:[2,23],57:[2,23],60:[2,23],76:[2,23],81:[2,23],90:[2,23],95:[2,23],97:[2,23],106:[2,23],108:[2,23],109:[2,23],110:[2,23],114:[2,23],122:[2,23],130:[2,23],132:[2,23],133:[2,23],136:[2,23],137:[2,23],138:[2,23],139:[2,23],140:[2,23],141:[2,23]},{1:[2,24],6:[2,24],28:[2,24],29:[2,24],52:[2,24],57:[2,24],60:[2,24],76:[2,24],81:[2,24],90:[2,24],95:[2,24],97:[2,24],106:[2,24],108:[2,24],109:[2,24],110:[2,24],114:[2,24],122:[2,24],130:[2,24],132:[2,24],133:[2,24],136:[2,24],137:[2,24],138:[2,24],139:[2,24],140:[2,24],141:[2,24]},{1:[2,25],6:[2,25],28:[2,25],29:[2,25],52:[2,25],57:[2,25],60:[2,25],76:[2,25],81:[2,25],90:[2,25],95:[2,25],97:[2,25],106:[2,25],108:[2,25],109:[2,25],110:[2,25],114:[2,25],122:[2,25],130:[2,25],132:[2,25],133:[2,25],136:[2,25],137:[2,25],138:[2,25],139:[2,25],140:[2,25],141:[2,25]},{1:[2,26],6:[2,26],28:[2,26],29:[2,26],52:[2,26],57:[2,26],60:[2,26],76:[2,26],81:[2,26],90:[2,26],95:[2,26],97:[2,26],106:[2,26],108:[2,26],109:[2,26],110:[2,26],114:[2,26],122:[2,26],130:[2,26],132:[2,26],133:[2,26],136:[2,26],137:[2,26],138:[2,26],139:[2,26],140:[2,26],141:[2,26]},{1:[2,8],6:[2,8],29:[2,8],106:[2,8],108:[2,8],110:[2,8],114:[2,8],130:[2,8]},{1:[2,9],6:[2,9],29:[2,9],106:[2,9],108:[2,9],110:[2,9],114:[2,9],130:[2,9]},{1:[2,10],6:[2,10],29:[2,10],106:[2,10],108:[2,10],110:[2,10],114:[2,10],130:[2,10]},{1:[2,11],6:[2,11],29:[2,11],106:[2,11],108:[2,11],110:[2,11],114:[2,11],130:[2,11]},{1:[2,78],6:[2,78],28:[2,78],29:[2,78],43:[1,103],52:[2,78],57:[2,78],60:[2,78],69:[2,78],70:[2,78],71:[2,78],72:[2,78],74:[2,78],76:[2,78],77:[2,78],81:[2,78],88:[2,78],89:[2,78],90:[2,78],95:[2,78],97:[2,78],106:[2,78],108:[2,78],109:[2,78],110:[2,78],114:[2,78],122:[2,78],130:[2,78],132:[2,78],133:[2,78],136:[2,78],137:[2,78],138:[2,78],139:[2,78],140:[2,78],141:[2,78]},{1:[2,79],6:[2,79],28:[2,79],29:[2,79],52:[2,79],57:[2,79],60:[2,79],69:[2,79],70:[2,79],71:[2,79],72:[2,79],74:[2,79],76:[2,79],77:[2,79],81:[2,79],88:[2,79],89:[2,79],90:[2,79],95:[2,79],97:[2,79],106:[2,79],108:[2,79],109:[2,79],110:[2,79],114:[2,79],122:[2,79],130:[2,79],132:[2,79],133:[2,79],136:[2,79],137:[2,79],138:[2,79],139:[2,79],140:[2,79],141:[2,79]},{1:[2,80],6:[2,80],28:[2,80],29:[2,80],52:[2,80],57:[2,80],60:[2,80],69:[2,80],70:[2,80],71:[2,80],72:[2,80],74:[2,80],76:[2,80],77:[2,80],81:[2,80],88:[2,80],89:[2,80],90:[2,80],95:[2,80],97:[2,80],106:[2,80],108:[2,80],109:[2,80],110:[2,80],114:[2,80],122:[2,80],130:[2,80],132:[2,80],133:[2,80],136:[2,80],137:[2,80],138:[2,80],139:[2,80],140:[2,80],141:[2,80]},{1:[2,81],6:[2,81],28:[2,81],29:[2,81],52:[2,81],57:[2,81],60:[2,81],69:[2,81],70:[2,81],71:[2,81],72:[2,81],74:[2,81],76:[2,81],77:[2,81],81:[2,81],88:[2,81],89:[2,81],90:[2,81],95:[2,81],97:[2,81],106:[2,81],108:[2,81],109:[2,81],110:[2,81],114:[2,81],122:[2,81],130:[2,81],132:[2,81],133:[2,81],136:[2,81],137:[2,81],138:[2,81],139:[2,81],140:[2,81],141:[2,81]},{1:[2,82],6:[2,82],28:[2,82],29:[2,82],52:[2,82],57:[2,82],60:[2,82],69:[2,82],70:[2,82],71:[2,82],72:[2,82],74:[2,82],76:[2,82],77:[2,82],81:[2,82],88:[2,82],89:[2,82],90:[2,82],95:[2,82],97:[2,82],106:[2,82],108:[2,82],109:[2,82],110:[2,82],114:[2,82],122:[2,82],130:[2,82],132:[2,82],133:[2,82],136:[2,82],137:[2,82],138:[2,82],139:[2,82],140:[2,82],141:[2,82]},{1:[2,110],6:[2,110],28:[2,110],29:[2,110],52:[2,110],57:[2,110],60:[2,110],69:[2,110],70:[2,110],71:[2,110],72:[2,110],74:[2,110],76:[2,110],77:[2,110],81:[2,110],85:104,88:[2,110],89:[1,105],90:[2,110],95:[2,110],97:[2,110],106:[2,110],108:[2,110],109:[2,110],110:[2,110],114:[2,110],122:[2,110],130:[2,110],132:[2,110],133:[2,110],136:[2,110],137:[2,110],138:[2,110],139:[2,110],140:[2,110],141:[2,110]},{6:[2,58],28:[2,58],30:109,31:[1,75],47:110,51:106,52:[2,58],57:[2,58],58:107,59:108,61:111,62:112,79:[1,72],93:[1,113],94:[1,114]},{14:115,28:[1,116]},{7:117,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{7:119,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{7:120,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{15:122,16:123,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:124,47:65,61:49,62:50,64:121,66:25,67:26,68:27,79:[1,72],86:[1,28],92:[1,60],93:[1,61],94:[1,59],105:[1,58]},{15:122,16:123,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:124,47:65,61:49,62:50,64:125,66:25,67:26,68:27,79:[1,72],86:[1,28],92:[1,60],93:[1,61],94:[1,59],105:[1,58]},{1:[2,75],6:[2,75],28:[2,75],29:[2,75],43:[2,75],52:[2,75],57:[2,75],60:[2,75],69:[2,75],70:[2,75],71:[2,75],72:[2,75],74:[2,75],76:[2,75],77:[2,75],81:[2,75],83:[1,129],88:[2,75],89:[2,75],90:[2,75],95:[2,75],97:[2,75],106:[2,75],108:[2,75],109:[2,75],110:[2,75],114:[2,75],122:[2,75],130:[2,75],132:[2,75],133:[2,75],134:[1,126],135:[1,127],136:[2,75],137:[2,75],138:[2,75],139:[2,75],140:[2,75],141:[2,75],142:[1,128]},{1:[2,188],6:[2,188],28:[2,188],29:[2,188],52:[2,188],57:[2,188],60:[2,188],76:[2,188],81:[2,188],90:[2,188],95:[2,188],97:[2,188],106:[2,188],108:[2,188],109:[2,188],110:[2,188],114:[2,188],122:[2,188],125:[1,130],130:[2,188],132:[2,188],133:[2,188],136:[2,188],137:[2,188],138:[2,188],139:[2,188],140:[2,188],141:[2,188]},{14:131,28:[1,116]},{14:132,28:[1,116]},{1:[2,155],6:[2,155],28:[2,155],29:[2,155],52:[2,155],57:[2,155],60:[2,155],76:[2,155],81:[2,155],90:[2,155],95:[2,155],97:[2,155],106:[2,155],108:[2,155],109:[2,155],110:[2,155],114:[2,155],122:[2,155],130:[2,155],132:[2,155],133:[2,155],136:[2,155],137:[2,155],138:[2,155],139:[2,155],140:[2,155],141:[2,155]},{14:133,28:[1,116]},{7:134,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:[1,135],30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{1:[2,100],6:[2,100],14:136,15:122,16:123,28:[1,116],29:[2,100],30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:124,47:65,52:[2,100],57:[2,100],60:[2,100],61:49,62:50,64:138,66:25,67:26,68:27,76:[2,100],79:[1,72],81:[2,100],83:[1,137],86:[1,28],90:[2,100],92:[1,60],93:[1,61],94:[1,59],95:[2,100],97:[2,100],105:[1,58],106:[2,100],108:[2,100],109:[2,100],110:[2,100],114:[2,100],122:[2,100],130:[2,100],132:[2,100],133:[2,100],136:[2,100],137:[2,100],138:[2,100],139:[2,100],140:[2,100],141:[2,100]},{7:139,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{85:140,89:[1,105]},{1:[2,50],6:[2,50],7:141,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,29:[2,50],30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],106:[2,50],107:39,108:[2,50],110:[2,50],111:40,112:[1,69],113:41,114:[2,50],115:71,123:[1,42],128:37,129:[1,66],130:[2,50],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{1:[2,51],6:[2,51],28:[2,51],29:[2,51],57:[2,51],81:[2,51],106:[2,51],108:[2,51],110:[2,51],114:[2,51],130:[2,51]},{7:143,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],14:142,15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:[1,116],30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{1:[2,76],6:[2,76],28:[2,76],29:[2,76],43:[2,76],52:[2,76],57:[2,76],60:[2,76],69:[2,76],70:[2,76],71:[2,76],72:[2,76],74:[2,76],76:[2,76],77:[2,76],81:[2,76],88:[2,76],89:[2,76],90:[2,76],95:[2,76],97:[2,76],106:[2,76],108:[2,76],109:[2,76],110:[2,76],114:[2,76],122:[2,76],130:[2,76],132:[2,76],133:[2,76],136:[2,76],137:[2,76],138:[2,76],139:[2,76],140:[2,76],141:[2,76]},{1:[2,77],6:[2,77],28:[2,77],29:[2,77],43:[2,77],52:[2,77],57:[2,77],60:[2,77],69:[2,77],70:[2,77],71:[2,77],72:[2,77],74:[2,77],76:[2,77],77:[2,77],81:[2,77],88:[2,77],89:[2,77],90:[2,77],95:[2,77],97:[2,77],106:[2,77],108:[2,77],109:[2,77],110:[2,77],114:[2,77],122:[2,77],130:[2,77],132:[2,77],133:[2,77],136:[2,77],137:[2,77],138:[2,77],139:[2,77],140:[2,77],141:[2,77]},{1:[2,32],6:[2,32],28:[2,32],29:[2,32],52:[2,32],57:[2,32],60:[2,32],69:[2,32],70:[2,32],71:[2,32],72:[2,32],74:[2,32],76:[2,32],77:[2,32],81:[2,32],88:[2,32],89:[2,32],90:[2,32],95:[2,32],97:[2,32],106:[2,32],108:[2,32],109:[2,32],110:[2,32],114:[2,32],122:[2,32],130:[2,32],132:[2,32],133:[2,32],136:[2,32],137:[2,32],138:[2,32],139:[2,32],140:[2,32],141:[2,32]},{1:[2,33],6:[2,33],28:[2,33],29:[2,33],52:[2,33],57:[2,33],60:[2,33],69:[2,33],70:[2,33],71:[2,33],72:[2,33],74:[2,33],76:[2,33],77:[2,33],81:[2,33],88:[2,33],89:[2,33],90:[2,33],95:[2,33],97:[2,33],106:[2,33],108:[2,33],109:[2,33],110:[2,33],114:[2,33],122:[2,33],130:[2,33],132:[2,33],133:[2,33],136:[2,33],137:[2,33],138:[2,33],139:[2,33],140:[2,33],141:[2,33]},{1:[2,34],6:[2,34],28:[2,34],29:[2,34],52:[2,34],57:[2,34],60:[2,34],69:[2,34],70:[2,34],71:[2,34],72:[2,34],74:[2,34],76:[2,34],77:[2,34],81:[2,34],88:[2,34],89:[2,34],90:[2,34],95:[2,34],97:[2,34],106:[2,34],108:[2,34],109:[2,34],110:[2,34],114:[2,34],122:[2,34],130:[2,34],132:[2,34],133:[2,34],136:[2,34],137:[2,34],138:[2,34],139:[2,34],140:[2,34],141:[2,34]},{1:[2,35],6:[2,35],28:[2,35],29:[2,35],52:[2,35],57:[2,35],60:[2,35],69:[2,35],70:[2,35],71:[2,35],72:[2,35],74:[2,35],76:[2,35],77:[2,35],81:[2,35],88:[2,35],89:[2,35],90:[2,35],95:[2,35],97:[2,35],106:[2,35],108:[2,35],109:[2,35],110:[2,35],114:[2,35],122:[2,35],130:[2,35],132:[2,35],133:[2,35],136:[2,35],137:[2,35],138:[2,35],139:[2,35],140:[2,35],141:[2,35]},{1:[2,36],6:[2,36],28:[2,36],29:[2,36],52:[2,36],57:[2,36],60:[2,36],69:[2,36],70:[2,36],71:[2,36],72:[2,36],74:[2,36],76:[2,36],77:[2,36],81:[2,36],88:[2,36],89:[2,36],90:[2,36],95:[2,36],97:[2,36],106:[2,36],108:[2,36],109:[2,36],110:[2,36],114:[2,36],122:[2,36],130:[2,36],132:[2,36],133:[2,36],136:[2,36],137:[2,36],138:[2,36],139:[2,36],140:[2,36],141:[2,36]},{1:[2,37],6:[2,37],28:[2,37],29:[2,37],52:[2,37],57:[2,37],60:[2,37],69:[2,37],70:[2,37],71:[2,37],72:[2,37],74:[2,37],76:[2,37],77:[2,37],81:[2,37],88:[2,37],89:[2,37],90:[2,37],95:[2,37],97:[2,37],106:[2,37],108:[2,37],109:[2,37],110:[2,37],114:[2,37],122:[2,37],130:[2,37],132:[2,37],133:[2,37],136:[2,37],137:[2,37],138:[2,37],139:[2,37],140:[2,37],141:[2,37]},{1:[2,38],6:[2,38],28:[2,38],29:[2,38],52:[2,38],57:[2,38],60:[2,38],69:[2,38],70:[2,38],71:[2,38],72:[2,38],74:[2,38],76:[2,38],77:[2,38],81:[2,38],88:[2,38],89:[2,38],90:[2,38],95:[2,38],97:[2,38],106:[2,38],108:[2,38],109:[2,38],110:[2,38],114:[2,38],122:[2,38],130:[2,38],132:[2,38],133:[2,38],136:[2,38],137:[2,38],138:[2,38],139:[2,38],140:[2,38],141:[2,38]},{4:144,5:3,7:4,8:5,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:[1,145],30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{7:146,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:[1,150],30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,63:151,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],91:148,92:[1,60],93:[1,61],94:[1,59],95:[1,147],98:149,100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{1:[2,117],6:[2,117],28:[2,117],29:[2,117],52:[2,117],57:[2,117],60:[2,117],69:[2,117],70:[2,117],71:[2,117],72:[2,117],74:[2,117],76:[2,117],77:[2,117],81:[2,117],88:[2,117],89:[2,117],90:[2,117],95:[2,117],97:[2,117],106:[2,117],108:[2,117],109:[2,117],110:[2,117],114:[2,117],122:[2,117],130:[2,117],132:[2,117],133:[2,117],136:[2,117],137:[2,117],138:[2,117],139:[2,117],140:[2,117],141:[2,117]},{1:[2,118],6:[2,118],28:[2,118],29:[2,118],30:152,31:[1,75],52:[2,118],57:[2,118],60:[2,118],69:[2,118],70:[2,118],71:[2,118],72:[2,118],74:[2,118],76:[2,118],77:[2,118],81:[2,118],88:[2,118],89:[2,118],90:[2,118],95:[2,118],97:[2,118],106:[2,118],108:[2,118],109:[2,118],110:[2,118],114:[2,118],122:[2,118],130:[2,118],132:[2,118],133:[2,118],136:[2,118],137:[2,118],138:[2,118],139:[2,118],140:[2,118],141:[2,118]},{28:[2,54]},{28:[2,55]},{1:[2,71],6:[2,71],28:[2,71],29:[2,71],43:[2,71],52:[2,71],57:[2,71],60:[2,71],69:[2,71],70:[2,71],71:[2,71],72:[2,71],74:[2,71],76:[2,71],77:[2,71],81:[2,71],83:[2,71],88:[2,71],89:[2,71],90:[2,71],95:[2,71],97:[2,71],106:[2,71],108:[2,71],109:[2,71],110:[2,71],114:[2,71],122:[2,71],130:[2,71],132:[2,71],133:[2,71],134:[2,71],135:[2,71],136:[2,71],137:[2,71],138:[2,71],139:[2,71],140:[2,71],141:[2,71],142:[2,71]},{1:[2,74],6:[2,74],28:[2,74],29:[2,74],43:[2,74],52:[2,74],57:[2,74],60:[2,74],69:[2,74],70:[2,74],71:[2,74],72:[2,74],74:[2,74],76:[2,74],77:[2,74],81:[2,74],83:[2,74],88:[2,74],89:[2,74],90:[2,74],95:[2,74],97:[2,74],106:[2,74],108:[2,74],109:[2,74],110:[2,74],114:[2,74],122:[2,74],130:[2,74],132:[2,74],133:[2,74],134:[2,74],135:[2,74],136:[2,74],137:[2,74],138:[2,74],139:[2,74],140:[2,74],141:[2,74],142:[2,74]},{7:153,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{7:154,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{7:155,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{7:157,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],14:156,15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:[1,116],30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{30:162,31:[1,75],47:163,61:164,62:165,67:158,79:[1,72],93:[1,113],94:[1,59],117:159,118:[1,160],119:161},{116:166,120:[1,167],121:[1,168]},{6:[2,95],10:172,28:[2,95],30:173,31:[1,75],32:174,33:[1,73],34:[1,74],44:170,45:171,47:175,49:[1,47],57:[2,95],80:169,81:[2,95],93:[1,113]},{1:[2,30],6:[2,30],28:[2,30],29:[2,30],46:[2,30],52:[2,30],57:[2,30],60:[2,30],69:[2,30],70:[2,30],71:[2,30],72:[2,30],74:[2,30],76:[2,30],77:[2,30],81:[2,30],88:[2,30],89:[2,30],90:[2,30],95:[2,30],97:[2,30],106:[2,30],108:[2,30],109:[2,30],110:[2,30],114:[2,30],122:[2,30],130:[2,30],132:[2,30],133:[2,30],136:[2,30],137:[2,30],138:[2,30],139:[2,30],140:[2,30],141:[2,30]},{1:[2,31],6:[2,31],28:[2,31],29:[2,31],46:[2,31],52:[2,31],57:[2,31],60:[2,31],69:[2,31],70:[2,31],71:[2,31],72:[2,31],74:[2,31],76:[2,31],77:[2,31],81:[2,31],88:[2,31],89:[2,31],90:[2,31],95:[2,31],97:[2,31],106:[2,31],108:[2,31],109:[2,31],110:[2,31],114:[2,31],122:[2,31],130:[2,31],132:[2,31],133:[2,31],136:[2,31],137:[2,31],138:[2,31],139:[2,31],140:[2,31],141:[2,31]},{1:[2,29],6:[2,29],28:[2,29],29:[2,29],43:[2,29],46:[2,29],52:[2,29],57:[2,29],60:[2,29],69:[2,29],70:[2,29],71:[2,29],72:[2,29],74:[2,29],76:[2,29],77:[2,29],81:[2,29],83:[2,29],88:[2,29],89:[2,29],90:[2,29],95:[2,29],97:[2,29],106:[2,29],108:[2,29],109:[2,29],110:[2,29],114:[2,29],120:[2,29],121:[2,29],122:[2,29],130:[2,29],132:[2,29],133:[2,29],134:[2,29],135:[2,29],136:[2,29],137:[2,29],138:[2,29],139:[2,29],140:[2,29],141:[2,29],142:[2,29]},{1:[2,5],5:176,6:[2,5],7:4,8:5,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,29:[2,5],30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],106:[2,5],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{1:[2,199],6:[2,199],28:[2,199],29:[2,199],52:[2,199],57:[2,199],60:[2,199],76:[2,199],81:[2,199],90:[2,199],95:[2,199],97:[2,199],106:[2,199],108:[2,199],109:[2,199],110:[2,199],114:[2,199],122:[2,199],130:[2,199],132:[2,199],133:[2,199],136:[2,199],137:[2,199],138:[2,199],139:[2,199],140:[2,199],141:[2,199]},{7:177,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{7:178,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{7:179,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{7:180,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{7:181,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{7:182,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{7:183,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{7:184,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{1:[2,154],6:[2,154],28:[2,154],29:[2,154],52:[2,154],57:[2,154],60:[2,154],76:[2,154],81:[2,154],90:[2,154],95:[2,154],97:[2,154],106:[2,154],108:[2,154],109:[2,154],110:[2,154],114:[2,154],122:[2,154],130:[2,154],132:[2,154],133:[2,154],136:[2,154],137:[2,154],138:[2,154],139:[2,154],140:[2,154],141:[2,154]},{1:[2,159],6:[2,159],28:[2,159],29:[2,159],52:[2,159],57:[2,159],60:[2,159],76:[2,159],81:[2,159],90:[2,159],95:[2,159],97:[2,159],106:[2,159],108:[2,159],109:[2,159],110:[2,159],114:[2,159],122:[2,159],130:[2,159],132:[2,159],133:[2,159],136:[2,159],137:[2,159],138:[2,159],139:[2,159],140:[2,159],141:[2,159]},{7:185,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{1:[2,153],6:[2,153],28:[2,153],29:[2,153],52:[2,153],57:[2,153],60:[2,153],76:[2,153],81:[2,153],90:[2,153],95:[2,153],97:[2,153],106:[2,153],108:[2,153],109:[2,153],110:[2,153],114:[2,153],122:[2,153],130:[2,153],132:[2,153],133:[2,153],136:[2,153],137:[2,153],138:[2,153],139:[2,153],140:[2,153],141:[2,153]},{1:[2,158],6:[2,158],28:[2,158],29:[2,158],52:[2,158],57:[2,158],60:[2,158],76:[2,158],81:[2,158],90:[2,158],95:[2,158],97:[2,158],106:[2,158],108:[2,158],109:[2,158],110:[2,158],114:[2,158],122:[2,158],130:[2,158],132:[2,158],133:[2,158],136:[2,158],137:[2,158],138:[2,158],139:[2,158],140:[2,158],141:[2,158]},{85:186,89:[1,105]},{1:[2,72],6:[2,72],28:[2,72],29:[2,72],43:[2,72],52:[2,72],57:[2,72],60:[2,72],69:[2,72],70:[2,72],71:[2,72],72:[2,72],74:[2,72],76:[2,72],77:[2,72],81:[2,72],83:[2,72],88:[2,72],89:[2,72],90:[2,72],95:[2,72],97:[2,72],106:[2,72],108:[2,72],109:[2,72],110:[2,72],114:[2,72],122:[2,72],130:[2,72],132:[2,72],133:[2,72],134:[2,72],135:[2,72],136:[2,72],137:[2,72],138:[2,72],139:[2,72],140:[2,72],141:[2,72],142:[2,72]},{89:[2,114]},{27:188,30:187,31:[1,75],87:[1,45]},{30:189,31:[1,75]},{1:[2,88],6:[2,88],28:[2,88],29:[2,88],30:190,31:[1,75],43:[2,88],52:[2,88],57:[2,88],60:[2,88],69:[2,88],70:[2,88],71:[2,88],72:[2,88],74:[2,88],76:[2,88],77:[2,88],81:[2,88],83:[2,88],88:[2,88],89:[2,88],90:[2,88],95:[2,88],97:[2,88],106:[2,88],108:[2,88],109:[2,88],110:[2,88],114:[2,88],122:[2,88],130:[2,88],132:[2,88],133:[2,88],134:[2,88],135:[2,88],136:[2,88],137:[2,88],138:[2,88],139:[2,88],140:[2,88],141:[2,88],142:[2,88]},{30:191,31:[1,75]},{1:[2,89],6:[2,89],28:[2,89],29:[2,89],43:[2,89],52:[2,89],57:[2,89],60:[2,89],69:[2,89],70:[2,89],71:[2,89],72:[2,89],74:[2,89],76:[2,89],77:[2,89],81:[2,89],83:[2,89],88:[2,89],89:[2,89],90:[2,89],95:[2,89],97:[2,89],106:[2,89],108:[2,89],109:[2,89],110:[2,89],114:[2,89],122:[2,89],130:[2,89],132:[2,89],133:[2,89],134:[2,89],135:[2,89],136:[2,89],137:[2,89],138:[2,89],139:[2,89],140:[2,89],141:[2,89],142:[2,89]},{7:193,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],60:[1,197],61:49,62:50,64:36,66:25,67:26,68:27,75:192,78:194,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],96:195,97:[1,196],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{73:198,74:[1,99],77:[1,100]},{85:199,89:[1,105]},{1:[2,73],6:[2,73],28:[2,73],29:[2,73],43:[2,73],52:[2,73],57:[2,73],60:[2,73],69:[2,73],70:[2,73],71:[2,73],72:[2,73],74:[2,73],76:[2,73],77:[2,73],81:[2,73],83:[2,73],88:[2,73],89:[2,73],90:[2,73],95:[2,73],97:[2,73],106:[2,73],108:[2,73],109:[2,73],110:[2,73],114:[2,73],122:[2,73],130:[2,73],132:[2,73],133:[2,73],134:[2,73],135:[2,73],136:[2,73],137:[2,73],138:[2,73],139:[2,73],140:[2,73],141:[2,73],142:[2,73]},{6:[1,201],7:200,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:[1,202],30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{1:[2,111],6:[2,111],28:[2,111],29:[2,111],52:[2,111],57:[2,111],60:[2,111],69:[2,111],70:[2,111],71:[2,111],72:[2,111],74:[2,111],76:[2,111],77:[2,111],81:[2,111],88:[2,111],89:[2,111],90:[2,111],95:[2,111],97:[2,111],106:[2,111],108:[2,111],109:[2,111],110:[2,111],114:[2,111],122:[2,111],130:[2,111],132:[2,111],133:[2,111],136:[2,111],137:[2,111],138:[2,111],139:[2,111],140:[2,111],141:[2,111]},{7:205,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:[1,150],30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,63:151,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],90:[1,203],91:204,92:[1,60],93:[1,61],94:[1,59],98:149,100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{6:[2,56],28:[2,56],52:[1,206],56:208,57:[1,207]},{6:[2,59],28:[2,59],29:[2,59],52:[2,59],57:[2,59]},{6:[2,63],28:[2,63],29:[2,63],43:[1,210],52:[2,63],57:[2,63],60:[1,209]},{6:[2,66],28:[2,66],29:[2,66],43:[2,66],52:[2,66],57:[2,66],60:[2,66]},{6:[2,67],28:[2,67],29:[2,67],43:[2,67],52:[2,67],57:[2,67],60:[2,67]},{6:[2,68],28:[2,68],29:[2,68],43:[2,68],52:[2,68],57:[2,68],60:[2,68]},{6:[2,69],28:[2,69],29:[2,69],43:[2,69],52:[2,69],57:[2,69],60:[2,69]},{30:152,31:[1,75]},{7:205,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:[1,150],30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,63:151,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],91:148,92:[1,60],93:[1,61],94:[1,59],95:[1,147],98:149,100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{1:[2,53],6:[2,53],28:[2,53],29:[2,53],52:[2,53],57:[2,53],60:[2,53],76:[2,53],81:[2,53],90:[2,53],95:[2,53],97:[2,53],106:[2,53],108:[2,53],109:[2,53],110:[2,53],114:[2,53],122:[2,53],130:[2,53],132:[2,53],133:[2,53],136:[2,53],137:[2,53],138:[2,53],139:[2,53],140:[2,53],141:[2,53]},{4:212,5:3,7:4,8:5,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,29:[1,211],30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{1:[2,192],6:[2,192],28:[2,192],29:[2,192],52:[2,192],57:[2,192],60:[2,192],76:[2,192],81:[2,192],90:[2,192],95:[2,192],97:[2,192],106:[2,192],107:86,108:[2,192],109:[2,192],110:[2,192],113:87,114:[2,192],115:71,122:[2,192],130:[2,192],132:[2,192],133:[2,192],136:[1,77],137:[2,192],138:[2,192],139:[2,192],140:[2,192],141:[2,192]},{107:89,108:[1,67],110:[1,68],113:90,114:[1,70],115:71,130:[1,88]},{1:[2,193],6:[2,193],28:[2,193],29:[2,193],52:[2,193],57:[2,193],60:[2,193],76:[2,193],81:[2,193],90:[2,193],95:[2,193],97:[2,193],106:[2,193],107:86,108:[2,193],109:[2,193],110:[2,193],113:87,114:[2,193],115:71,122:[2,193],130:[2,193],132:[2,193],133:[2,193],136:[1,77],137:[2,193],138:[2,193],139:[2,193],140:[2,193],141:[2,193]},{1:[2,194],6:[2,194],28:[2,194],29:[2,194],52:[2,194],57:[2,194],60:[2,194],76:[2,194],81:[2,194],90:[2,194],95:[2,194],97:[2,194],106:[2,194],107:86,108:[2,194],109:[2,194],110:[2,194],113:87,114:[2,194],115:71,122:[2,194],130:[2,194],132:[2,194],133:[2,194],136:[1,77],137:[2,194],138:[2,194],139:[2,194],140:[2,194],141:[2,194]},{1:[2,195],6:[2,195],28:[2,195],29:[2,195],52:[2,195],57:[2,195],60:[2,195],69:[2,75],70:[2,75],71:[2,75],72:[2,75],74:[2,75],76:[2,195],77:[2,75],81:[2,195],88:[2,75],89:[2,75],90:[2,195],95:[2,195],97:[2,195],106:[2,195],108:[2,195],109:[2,195],110:[2,195],114:[2,195],122:[2,195],130:[2,195],132:[2,195],133:[2,195],136:[2,195],137:[2,195],138:[2,195],139:[2,195],140:[2,195],141:[2,195]},{65:92,69:[1,94],70:[1,95],71:[1,96],72:[1,97],73:98,74:[1,99],77:[1,100],84:91,88:[1,93],89:[2,113]},{65:102,69:[1,94],70:[1,95],71:[1,96],72:[1,97],73:98,74:[1,99],77:[1,100],84:101,88:[1,93],89:[2,113]},{69:[2,78],70:[2,78],71:[2,78],72:[2,78],74:[2,78],77:[2,78],88:[2,78],89:[2,78]},{1:[2,196],6:[2,196],28:[2,196],29:[2,196],52:[2,196],57:[2,196],60:[2,196],69:[2,75],70:[2,75],71:[2,75],72:[2,75],74:[2,75],76:[2,196],77:[2,75],81:[2,196],88:[2,75],89:[2,75],90:[2,196],95:[2,196],97:[2,196],106:[2,196],108:[2,196],109:[2,196],110:[2,196],114:[2,196],122:[2,196],130:[2,196],132:[2,196],133:[2,196],136:[2,196],137:[2,196],138:[2,196],139:[2,196],140:[2,196],141:[2,196]},{1:[2,197],6:[2,197],28:[2,197],29:[2,197],52:[2,197],57:[2,197],60:[2,197],76:[2,197],81:[2,197],90:[2,197],95:[2,197],97:[2,197],106:[2,197],108:[2,197],109:[2,197],110:[2,197],114:[2,197],122:[2,197],130:[2,197],132:[2,197],133:[2,197],136:[2,197],137:[2,197],138:[2,197],139:[2,197],140:[2,197],141:[2,197]},{1:[2,198],6:[2,198],28:[2,198],29:[2,198],52:[2,198],57:[2,198],60:[2,198],76:[2,198],81:[2,198],90:[2,198],95:[2,198],97:[2,198],106:[2,198],108:[2,198],109:[2,198],110:[2,198],114:[2,198],122:[2,198],130:[2,198],132:[2,198],133:[2,198],136:[2,198],137:[2,198],138:[2,198],139:[2,198],140:[2,198],141:[2,198]},{6:[1,215],7:213,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:[1,214],30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{7:216,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{14:217,28:[1,116],129:[1,218]},{1:[2,138],6:[2,138],28:[2,138],29:[2,138],52:[2,138],57:[2,138],60:[2,138],76:[2,138],81:[2,138],90:[2,138],95:[2,138],97:[2,138],101:219,102:[1,220],103:[1,221],106:[2,138],108:[2,138],109:[2,138],110:[2,138],114:[2,138],122:[2,138],130:[2,138],132:[2,138],133:[2,138],136:[2,138],137:[2,138],138:[2,138],139:[2,138],140:[2,138],141:[2,138]},{1:[2,152],6:[2,152],28:[2,152],29:[2,152],52:[2,152],57:[2,152],60:[2,152],76:[2,152],81:[2,152],90:[2,152],95:[2,152],97:[2,152],106:[2,152],108:[2,152],109:[2,152],110:[2,152],114:[2,152],122:[2,152],130:[2,152],132:[2,152],133:[2,152],136:[2,152],137:[2,152],138:[2,152],139:[2,152],140:[2,152],141:[2,152]},{1:[2,160],6:[2,160],28:[2,160],29:[2,160],52:[2,160],57:[2,160],60:[2,160],76:[2,160],81:[2,160],90:[2,160],95:[2,160],97:[2,160],106:[2,160],108:[2,160],109:[2,160],110:[2,160],114:[2,160],122:[2,160],130:[2,160],132:[2,160],133:[2,160],136:[2,160],137:[2,160],138:[2,160],139:[2,160],140:[2,160],141:[2,160]},{28:[1,222],107:86,108:[1,67],110:[1,68],113:87,114:[1,70],115:71,130:[1,85],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{124:223,126:224,127:[1,225]},{1:[2,101],6:[2,101],28:[2,101],29:[2,101],52:[2,101],57:[2,101],60:[2,101],76:[2,101],81:[2,101],90:[2,101],95:[2,101],97:[2,101],106:[2,101],108:[2,101],109:[2,101],110:[2,101],114:[2,101],122:[2,101],130:[2,101],132:[2,101],133:[2,101],136:[2,101],137:[2,101],138:[2,101],139:[2,101],140:[2,101],141:[2,101]},{7:226,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{1:[2,104],6:[2,104],14:227,28:[1,116],29:[2,104],52:[2,104],57:[2,104],60:[2,104],69:[2,75],70:[2,75],71:[2,75],72:[2,75],74:[2,75],76:[2,104],77:[2,75],81:[2,104],83:[1,228],88:[2,75],89:[2,75],90:[2,104],95:[2,104],97:[2,104],106:[2,104],108:[2,104],109:[2,104],110:[2,104],114:[2,104],122:[2,104],130:[2,104],132:[2,104],133:[2,104],136:[2,104],137:[2,104],138:[2,104],139:[2,104],140:[2,104],141:[2,104]},{1:[2,145],6:[2,145],28:[2,145],29:[2,145],52:[2,145],57:[2,145],60:[2,145],76:[2,145],81:[2,145],90:[2,145],95:[2,145],97:[2,145],106:[2,145],107:86,108:[2,145],109:[2,145],110:[2,145],113:87,114:[2,145],115:71,122:[2,145],130:[2,145],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{1:[2,112],6:[2,112],28:[2,112],29:[2,112],43:[2,112],52:[2,112],57:[2,112],60:[2,112],69:[2,112],70:[2,112],71:[2,112],72:[2,112],74:[2,112],76:[2,112],77:[2,112],81:[2,112],83:[2,112],88:[2,112],89:[2,112],90:[2,112],95:[2,112],97:[2,112],106:[2,112],108:[2,112],109:[2,112],110:[2,112],114:[2,112],122:[2,112],130:[2,112],132:[2,112],133:[2,112],134:[2,112],135:[2,112],136:[2,112],137:[2,112],138:[2,112],139:[2,112],140:[2,112],141:[2,112],142:[2,112]},{1:[2,49],6:[2,49],29:[2,49],106:[2,49],107:86,108:[2,49],110:[2,49],113:87,114:[2,49],115:71,130:[2,49],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{1:[2,12],6:[2,12],29:[2,12],106:[2,12],108:[2,12],110:[2,12],114:[2,12],130:[2,12]},{1:[2,13],6:[2,13],29:[2,13],106:[2,13],107:86,108:[1,67],110:[1,68],113:87,114:[1,70],115:71,130:[2,13],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{6:[1,76],106:[1,229]},{4:230,5:3,7:4,8:5,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{6:[2,134],28:[2,134],57:[2,134],60:[1,232],95:[2,134],96:231,97:[1,196],107:86,108:[1,67],110:[1,68],113:87,114:[1,70],115:71,130:[1,85],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{1:[2,120],6:[2,120],28:[2,120],29:[2,120],43:[2,120],52:[2,120],57:[2,120],60:[2,120],69:[2,120],70:[2,120],71:[2,120],72:[2,120],74:[2,120],76:[2,120],77:[2,120],81:[2,120],88:[2,120],89:[2,120],90:[2,120],95:[2,120],97:[2,120],106:[2,120],108:[2,120],109:[2,120],110:[2,120],114:[2,120],120:[2,120],121:[2,120],122:[2,120],130:[2,120],132:[2,120],133:[2,120],136:[2,120],137:[2,120],138:[2,120],139:[2,120],140:[2,120],141:[2,120]},{6:[2,56],28:[2,56],56:233,57:[1,234],95:[2,56]},{6:[2,129],28:[2,129],29:[2,129],57:[2,129],90:[2,129],95:[2,129]},{7:205,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:[1,150],30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,63:151,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],91:235,92:[1,60],93:[1,61],94:[1,59],98:149,100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{6:[2,135],28:[2,135],29:[2,135],57:[2,135],90:[2,135],95:[2,135]},{1:[2,119],6:[2,119],28:[2,119],29:[2,119],43:[2,119],46:[2,119],52:[2,119],57:[2,119],60:[2,119],69:[2,119],70:[2,119],71:[2,119],72:[2,119],74:[2,119],76:[2,119],77:[2,119],81:[2,119],83:[2,119],88:[2,119],89:[2,119],90:[2,119],95:[2,119],97:[2,119],106:[2,119],108:[2,119],109:[2,119],110:[2,119],114:[2,119],120:[2,119],121:[2,119],122:[2,119],130:[2,119],132:[2,119],133:[2,119],134:[2,119],135:[2,119],136:[2,119],137:[2,119],138:[2,119],139:[2,119],140:[2,119],141:[2,119],142:[2,119]},{14:236,28:[1,116],107:86,108:[1,67],110:[1,68],113:87,114:[1,70],115:71,130:[1,85],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{1:[2,148],6:[2,148],28:[2,148],29:[2,148],52:[2,148],57:[2,148],60:[2,148],76:[2,148],81:[2,148],90:[2,148],95:[2,148],97:[2,148],106:[2,148],107:86,108:[1,67],109:[1,237],110:[1,68],113:87,114:[1,70],115:71,122:[2,148],130:[2,148],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{1:[2,150],6:[2,150],28:[2,150],29:[2,150],52:[2,150],57:[2,150],60:[2,150],76:[2,150],81:[2,150],90:[2,150],95:[2,150],97:[2,150],106:[2,150],107:86,108:[1,67],109:[1,238],110:[1,68],113:87,114:[1,70],115:71,122:[2,150],130:[2,150],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{1:[2,156],6:[2,156],28:[2,156],29:[2,156],52:[2,156],57:[2,156],60:[2,156],76:[2,156],81:[2,156],90:[2,156],95:[2,156],97:[2,156],106:[2,156],108:[2,156],109:[2,156],110:[2,156],114:[2,156],122:[2,156],130:[2,156],132:[2,156],133:[2,156],136:[2,156],137:[2,156],138:[2,156],139:[2,156],140:[2,156],141:[2,156]},{1:[2,157],6:[2,157],28:[2,157],29:[2,157],52:[2,157],57:[2,157],60:[2,157],76:[2,157],81:[2,157],90:[2,157],95:[2,157],97:[2,157],106:[2,157],107:86,108:[1,67],109:[2,157],110:[1,68],113:87,114:[1,70],115:71,122:[2,157],130:[2,157],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{1:[2,161],6:[2,161],28:[2,161],29:[2,161],52:[2,161],57:[2,161],60:[2,161],76:[2,161],81:[2,161],90:[2,161],95:[2,161],97:[2,161],106:[2,161],108:[2,161],109:[2,161],110:[2,161],114:[2,161],122:[2,161],130:[2,161],132:[2,161],133:[2,161],136:[2,161],137:[2,161],138:[2,161],139:[2,161],140:[2,161],141:[2,161]},{120:[2,163],121:[2,163]},{30:162,31:[1,75],47:163,61:164,62:165,79:[1,72],93:[1,113],94:[1,114],117:239,119:161},{57:[1,240],120:[2,169],121:[2,169]},{57:[2,165],120:[2,165],121:[2,165]},{57:[2,166],120:[2,166],121:[2,166]},{57:[2,167],120:[2,167],121:[2,167]},{57:[2,168],120:[2,168],121:[2,168]},{1:[2,162],6:[2,162],28:[2,162],29:[2,162],52:[2,162],57:[2,162],60:[2,162],76:[2,162],81:[2,162],90:[2,162],95:[2,162],97:[2,162],106:[2,162],108:[2,162],109:[2,162],110:[2,162],114:[2,162],122:[2,162],130:[2,162],132:[2,162],133:[2,162],136:[2,162],137:[2,162],138:[2,162],139:[2,162],140:[2,162],141:[2,162]},{7:241,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{7:242,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{6:[2,56],28:[2,56],56:243,57:[1,244],81:[2,56]},{6:[2,96],28:[2,96],29:[2,96],57:[2,96],81:[2,96]},{6:[2,42],28:[2,42],29:[2,42],46:[1,245],57:[2,42],81:[2,42]},{6:[2,45],28:[2,45],29:[2,45],57:[2,45],81:[2,45]},{6:[2,46],28:[2,46],29:[2,46],46:[2,46],57:[2,46],81:[2,46]},{6:[2,47],28:[2,47],29:[2,47],46:[2,47],57:[2,47],81:[2,47]},{6:[2,48],28:[2,48],29:[2,48],46:[2,48],57:[2,48],81:[2,48]},{1:[2,4],6:[2,4],29:[2,4],106:[2,4]},{1:[2,200],6:[2,200],28:[2,200],29:[2,200],52:[2,200],57:[2,200],60:[2,200],76:[2,200],81:[2,200],90:[2,200],95:[2,200],97:[2,200],106:[2,200],107:86,108:[2,200],109:[2,200],110:[2,200],113:87,114:[2,200],115:71,122:[2,200],130:[2,200],132:[2,200],133:[2,200],136:[1,77],137:[1,80],138:[2,200],139:[2,200],140:[2,200],141:[2,200]},{1:[2,201],6:[2,201],28:[2,201],29:[2,201],52:[2,201],57:[2,201],60:[2,201],76:[2,201],81:[2,201],90:[2,201],95:[2,201],97:[2,201],106:[2,201],107:86,108:[2,201],109:[2,201],110:[2,201],113:87,114:[2,201],115:71,122:[2,201],130:[2,201],132:[2,201],133:[2,201],136:[1,77],137:[1,80],138:[2,201],139:[2,201],140:[2,201],141:[2,201]},{1:[2,202],6:[2,202],28:[2,202],29:[2,202],52:[2,202],57:[2,202],60:[2,202],76:[2,202],81:[2,202],90:[2,202],95:[2,202],97:[2,202],106:[2,202],107:86,108:[2,202],109:[2,202],110:[2,202],113:87,114:[2,202],115:71,122:[2,202],130:[2,202],132:[2,202],133:[2,202],136:[1,77],137:[2,202],138:[2,202],139:[2,202],140:[2,202],141:[2,202]},{1:[2,203],6:[2,203],28:[2,203],29:[2,203],52:[2,203],57:[2,203],60:[2,203],76:[2,203],81:[2,203],90:[2,203],95:[2,203],97:[2,203],106:[2,203],107:86,108:[2,203],109:[2,203],110:[2,203],113:87,114:[2,203],115:71,122:[2,203],130:[2,203],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[2,203],139:[2,203],140:[2,203],141:[2,203]},{1:[2,204],6:[2,204],28:[2,204],29:[2,204],52:[2,204],57:[2,204],60:[2,204],76:[2,204],81:[2,204],90:[2,204],95:[2,204],97:[2,204],106:[2,204],107:86,108:[2,204],109:[2,204],110:[2,204],113:87,114:[2,204],115:71,122:[2,204],130:[2,204],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[2,204],140:[2,204],141:[1,84]},{1:[2,205],6:[2,205],28:[2,205],29:[2,205],52:[2,205],57:[2,205],60:[2,205],76:[2,205],81:[2,205],90:[2,205],95:[2,205],97:[2,205],106:[2,205],107:86,108:[2,205],109:[2,205],110:[2,205],113:87,114:[2,205],115:71,122:[2,205],130:[2,205],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[2,205],141:[1,84]},{1:[2,206],6:[2,206],28:[2,206],29:[2,206],52:[2,206],57:[2,206],60:[2,206],76:[2,206],81:[2,206],90:[2,206],95:[2,206],97:[2,206],106:[2,206],107:86,108:[2,206],109:[2,206],110:[2,206],113:87,114:[2,206],115:71,122:[2,206],130:[2,206],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[2,206],140:[2,206],141:[2,206]},{1:[2,191],6:[2,191],28:[2,191],29:[2,191],52:[2,191],57:[2,191],60:[2,191],76:[2,191],81:[2,191],90:[2,191],95:[2,191],97:[2,191],106:[2,191],107:86,108:[1,67],109:[2,191],110:[1,68],113:87,114:[1,70],115:71,122:[2,191],130:[1,85],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{1:[2,190],6:[2,190],28:[2,190],29:[2,190],52:[2,190],57:[2,190],60:[2,190],76:[2,190],81:[2,190],90:[2,190],95:[2,190],97:[2,190],106:[2,190],107:86,108:[1,67],109:[2,190],110:[1,68],113:87,114:[1,70],115:71,122:[2,190],130:[1,85],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{1:[2,108],6:[2,108],28:[2,108],29:[2,108],52:[2,108],57:[2,108],60:[2,108],69:[2,108],70:[2,108],71:[2,108],72:[2,108],74:[2,108],76:[2,108],77:[2,108],81:[2,108],88:[2,108],89:[2,108],90:[2,108],95:[2,108],97:[2,108],106:[2,108],108:[2,108],109:[2,108],110:[2,108],114:[2,108],122:[2,108],130:[2,108],132:[2,108],133:[2,108],136:[2,108],137:[2,108],138:[2,108],139:[2,108],140:[2,108],141:[2,108]},{1:[2,83],6:[2,83],28:[2,83],29:[2,83],43:[2,83],52:[2,83],57:[2,83],60:[2,83],69:[2,83],70:[2,83],71:[2,83],72:[2,83],74:[2,83],76:[2,83],77:[2,83],81:[2,83],83:[2,83],88:[2,83],89:[2,83],90:[2,83],95:[2,83],97:[2,83],106:[2,83],108:[2,83],109:[2,83],110:[2,83],114:[2,83],122:[2,83],130:[2,83],132:[2,83],133:[2,83],134:[2,83],135:[2,83],136:[2,83],137:[2,83],138:[2,83],139:[2,83],140:[2,83],141:[2,83],142:[2,83]},{1:[2,84],6:[2,84],28:[2,84],29:[2,84],43:[2,84],52:[2,84],57:[2,84],60:[2,84],69:[2,84],70:[2,84],71:[2,84],72:[2,84],74:[2,84],76:[2,84],77:[2,84],81:[2,84],83:[2,84],88:[2,84],89:[2,84],90:[2,84],95:[2,84],97:[2,84],106:[2,84],108:[2,84],109:[2,84],110:[2,84],114:[2,84],122:[2,84],130:[2,84],132:[2,84],133:[2,84],134:[2,84],135:[2,84],136:[2,84],137:[2,84],138:[2,84],139:[2,84],140:[2,84],141:[2,84],142:[2,84]},{1:[2,85],6:[2,85],28:[2,85],29:[2,85],43:[2,85],52:[2,85],57:[2,85],60:[2,85],69:[2,85],70:[2,85],71:[2,85],72:[2,85],74:[2,85],76:[2,85],77:[2,85],81:[2,85],83:[2,85],88:[2,85],89:[2,85],90:[2,85],95:[2,85],97:[2,85],106:[2,85],108:[2,85],109:[2,85],110:[2,85],114:[2,85],122:[2,85],130:[2,85],132:[2,85],133:[2,85],134:[2,85],135:[2,85],136:[2,85],137:[2,85],138:[2,85],139:[2,85],140:[2,85],141:[2,85],142:[2,85]},{1:[2,86],6:[2,86],28:[2,86],29:[2,86],43:[2,86],52:[2,86],57:[2,86],60:[2,86],69:[2,86],70:[2,86],71:[2,86],72:[2,86],74:[2,86],76:[2,86],77:[2,86],81:[2,86],83:[2,86],88:[2,86],89:[2,86],90:[2,86],95:[2,86],97:[2,86],106:[2,86],108:[2,86],109:[2,86],110:[2,86],114:[2,86],122:[2,86],130:[2,86],132:[2,86],133:[2,86],134:[2,86],135:[2,86],136:[2,86],137:[2,86],138:[2,86],139:[2,86],140:[2,86],141:[2,86],142:[2,86]},{1:[2,87],6:[2,87],28:[2,87],29:[2,87],43:[2,87],52:[2,87],57:[2,87],60:[2,87],69:[2,87],70:[2,87],71:[2,87],72:[2,87],74:[2,87],76:[2,87],77:[2,87],81:[2,87],83:[2,87],88:[2,87],89:[2,87],90:[2,87],95:[2,87],97:[2,87],106:[2,87],108:[2,87],109:[2,87],110:[2,87],114:[2,87],122:[2,87],130:[2,87],132:[2,87],133:[2,87],134:[2,87],135:[2,87],136:[2,87],137:[2,87],138:[2,87],139:[2,87],140:[2,87],141:[2,87],142:[2,87]},{76:[1,246]},{60:[1,197],76:[2,92],96:247,97:[1,196],107:86,108:[1,67],110:[1,68],113:87,114:[1,70],115:71,130:[1,85],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{76:[2,93]},{7:248,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,76:[2,128],79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{11:[2,122],13:[2,122],31:[2,122],33:[2,122],34:[2,122],36:[2,122],37:[2,122],38:[2,122],39:[2,122],40:[2,122],41:[2,122],48:[2,122],49:[2,122],50:[2,122],54:[2,122],55:[2,122],76:[2,122],79:[2,122],82:[2,122],86:[2,122],87:[2,122],92:[2,122],93:[2,122],94:[2,122],100:[2,122],104:[2,122],105:[2,122],108:[2,122],110:[2,122],112:[2,122],114:[2,122],123:[2,122],129:[2,122],131:[2,122],132:[2,122],133:[2,122],134:[2,122],135:[2,122]},{11:[2,123],13:[2,123],31:[2,123],33:[2,123],34:[2,123],36:[2,123],37:[2,123],38:[2,123],39:[2,123],40:[2,123],41:[2,123],48:[2,123],49:[2,123],50:[2,123],54:[2,123],55:[2,123],76:[2,123],79:[2,123],82:[2,123],86:[2,123],87:[2,123],92:[2,123],93:[2,123],94:[2,123],100:[2,123],104:[2,123],105:[2,123],108:[2,123],110:[2,123],112:[2,123],114:[2,123],123:[2,123],129:[2,123],131:[2,123],132:[2,123],133:[2,123],134:[2,123],135:[2,123]},{1:[2,91],6:[2,91],28:[2,91],29:[2,91],43:[2,91],52:[2,91],57:[2,91],60:[2,91],69:[2,91],70:[2,91],71:[2,91],72:[2,91],74:[2,91],76:[2,91],77:[2,91],81:[2,91],83:[2,91],88:[2,91],89:[2,91],90:[2,91],95:[2,91],97:[2,91],106:[2,91],108:[2,91],109:[2,91],110:[2,91],114:[2,91],122:[2,91],130:[2,91],132:[2,91],133:[2,91],134:[2,91],135:[2,91],136:[2,91],137:[2,91],138:[2,91],139:[2,91],140:[2,91],141:[2,91],142:[2,91]},{1:[2,109],6:[2,109],28:[2,109],29:[2,109],52:[2,109],57:[2,109],60:[2,109],69:[2,109],70:[2,109],71:[2,109],72:[2,109],74:[2,109],76:[2,109],77:[2,109],81:[2,109],88:[2,109],89:[2,109],90:[2,109],95:[2,109],97:[2,109],106:[2,109],108:[2,109],109:[2,109],110:[2,109],114:[2,109],122:[2,109],130:[2,109],132:[2,109],133:[2,109],136:[2,109],137:[2,109],138:[2,109],139:[2,109],140:[2,109],141:[2,109]},{1:[2,39],6:[2,39],28:[2,39],29:[2,39],52:[2,39],57:[2,39],60:[2,39],76:[2,39],81:[2,39],90:[2,39],95:[2,39],97:[2,39],106:[2,39],107:86,108:[2,39],109:[2,39],110:[2,39],113:87,114:[2,39],115:71,122:[2,39],130:[2,39],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{7:249,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{7:250,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{1:[2,115],6:[2,115],28:[2,115],29:[2,115],43:[2,115],52:[2,115],57:[2,115],60:[2,115],69:[2,115],70:[2,115],71:[2,115],72:[2,115],74:[2,115],76:[2,115],77:[2,115],81:[2,115],83:[2,115],88:[2,115],89:[2,115],90:[2,115],95:[2,115],97:[2,115],106:[2,115],108:[2,115],109:[2,115],110:[2,115],114:[2,115],122:[2,115],130:[2,115],132:[2,115],133:[2,115],134:[2,115],135:[2,115],136:[2,115],137:[2,115],138:[2,115],139:[2,115],140:[2,115],141:[2,115],142:[2,115]},{6:[2,56],28:[2,56],56:251,57:[1,234],90:[2,56]},{6:[2,134],28:[2,134],29:[2,134],57:[2,134],60:[1,252],90:[2,134],95:[2,134],107:86,108:[1,67],110:[1,68],113:87,114:[1,70],115:71,130:[1,85],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{53:253,54:[1,62],55:[1,63]},{6:[2,57],28:[2,57],29:[2,57],30:109,31:[1,75],47:110,58:254,59:108,61:111,62:112,79:[1,72],93:[1,113],94:[1,114]},{6:[1,255],28:[1,256]},{6:[2,64],28:[2,64],29:[2,64],52:[2,64],57:[2,64]},{7:257,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{1:[2,27],6:[2,27],28:[2,27],29:[2,27],52:[2,27],57:[2,27],60:[2,27],76:[2,27],81:[2,27],90:[2,27],95:[2,27],97:[2,27],102:[2,27],103:[2,27],106:[2,27],108:[2,27],109:[2,27],110:[2,27],114:[2,27],122:[2,27],125:[2,27],127:[2,27],130:[2,27],132:[2,27],133:[2,27],136:[2,27],137:[2,27],138:[2,27],139:[2,27],140:[2,27],141:[2,27]},{6:[1,76],29:[1,258]},{1:[2,207],6:[2,207],28:[2,207],29:[2,207],52:[2,207],57:[2,207],60:[2,207],76:[2,207],81:[2,207],90:[2,207],95:[2,207],97:[2,207],106:[2,207],107:86,108:[2,207],109:[2,207],110:[2,207],113:87,114:[2,207],115:71,122:[2,207],130:[2,207],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{7:259,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{7:260,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{1:[2,210],6:[2,210],28:[2,210],29:[2,210],52:[2,210],57:[2,210],60:[2,210],76:[2,210],81:[2,210],90:[2,210],95:[2,210],97:[2,210],106:[2,210],107:86,108:[2,210],109:[2,210],110:[2,210],113:87,114:[2,210],115:71,122:[2,210],130:[2,210],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{1:[2,189],6:[2,189],28:[2,189],29:[2,189],52:[2,189],57:[2,189],60:[2,189],76:[2,189],81:[2,189],90:[2,189],95:[2,189],97:[2,189],106:[2,189],108:[2,189],109:[2,189],110:[2,189],114:[2,189],122:[2,189],130:[2,189],132:[2,189],133:[2,189],136:[2,189],137:[2,189],138:[2,189],139:[2,189],140:[2,189],141:[2,189]},{7:261,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{1:[2,139],6:[2,139],28:[2,139],29:[2,139],52:[2,139],57:[2,139],60:[2,139],76:[2,139],81:[2,139],90:[2,139],95:[2,139],97:[2,139],102:[1,262],106:[2,139],108:[2,139],109:[2,139],110:[2,139],114:[2,139],122:[2,139],130:[2,139],132:[2,139],133:[2,139],136:[2,139],137:[2,139],138:[2,139],139:[2,139],140:[2,139],141:[2,139]},{14:263,28:[1,116]},{14:266,28:[1,116],30:264,31:[1,75],62:265,79:[1,72]},{124:267,126:224,127:[1,225]},{29:[1,268],125:[1,269],126:270,127:[1,225]},{29:[2,182],125:[2,182],127:[2,182]},{7:272,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],99:271,100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{1:[2,102],6:[2,102],14:273,28:[1,116],29:[2,102],52:[2,102],57:[2,102],60:[2,102],76:[2,102],81:[2,102],90:[2,102],95:[2,102],97:[2,102],106:[2,102],107:86,108:[1,67],109:[2,102],110:[1,68],113:87,114:[1,70],115:71,122:[2,102],130:[2,102],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{1:[2,105],6:[2,105],28:[2,105],29:[2,105],52:[2,105],57:[2,105],60:[2,105],76:[2,105],81:[2,105],90:[2,105],95:[2,105],97:[2,105],106:[2,105],108:[2,105],109:[2,105],110:[2,105],114:[2,105],122:[2,105],130:[2,105],132:[2,105],133:[2,105],136:[2,105],137:[2,105],138:[2,105],139:[2,105],140:[2,105],141:[2,105]},{7:274,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{1:[2,146],6:[2,146],28:[2,146],29:[2,146],52:[2,146],57:[2,146],60:[2,146],69:[2,146],70:[2,146],71:[2,146],72:[2,146],74:[2,146],76:[2,146],77:[2,146],81:[2,146],88:[2,146],89:[2,146],90:[2,146],95:[2,146],97:[2,146],106:[2,146],108:[2,146],109:[2,146],110:[2,146],114:[2,146],122:[2,146],130:[2,146],132:[2,146],133:[2,146],136:[2,146],137:[2,146],138:[2,146],139:[2,146],140:[2,146],141:[2,146]},{6:[1,76],29:[1,275]},{7:276,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{6:[2,70],11:[2,123],13:[2,123],28:[2,70],31:[2,123],33:[2,123],34:[2,123],36:[2,123],37:[2,123],38:[2,123],39:[2,123],40:[2,123],41:[2,123],48:[2,123],49:[2,123],50:[2,123],54:[2,123],55:[2,123],57:[2,70],79:[2,123],82:[2,123],86:[2,123],87:[2,123],92:[2,123],93:[2,123],94:[2,123],95:[2,70],100:[2,123],104:[2,123],105:[2,123],108:[2,123],110:[2,123],112:[2,123],114:[2,123],123:[2,123],129:[2,123],131:[2,123],132:[2,123],133:[2,123],134:[2,123],135:[2,123]},{6:[1,278],28:[1,279],95:[1,277]},{6:[2,57],7:205,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:[2,57],29:[2,57],30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,63:151,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],90:[2,57],92:[1,60],93:[1,61],94:[1,59],95:[2,57],98:280,100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{6:[2,56],28:[2,56],29:[2,56],56:281,57:[1,234]},{1:[2,186],6:[2,186],28:[2,186],29:[2,186],52:[2,186],57:[2,186],60:[2,186],76:[2,186],81:[2,186],90:[2,186],95:[2,186],97:[2,186],106:[2,186],108:[2,186],109:[2,186],110:[2,186],114:[2,186],122:[2,186],125:[2,186],130:[2,186],132:[2,186],133:[2,186],136:[2,186],137:[2,186],138:[2,186],139:[2,186],140:[2,186],141:[2,186]},{7:282,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{7:283,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{120:[2,164],121:[2,164]},{30:162,31:[1,75],47:163,61:164,62:165,79:[1,72],93:[1,113],94:[1,114],119:284},{1:[2,171],6:[2,171],28:[2,171],29:[2,171],52:[2,171],57:[2,171],60:[2,171],76:[2,171],81:[2,171],90:[2,171],95:[2,171],97:[2,171],106:[2,171],107:86,108:[2,171],109:[1,285],110:[2,171],113:87,114:[2,171],115:71,122:[1,286],130:[2,171],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{1:[2,172],6:[2,172],28:[2,172],29:[2,172],52:[2,172],57:[2,172],60:[2,172],76:[2,172],81:[2,172],90:[2,172],95:[2,172],97:[2,172],106:[2,172],107:86,108:[2,172],109:[1,287],110:[2,172],113:87,114:[2,172],115:71,122:[2,172],130:[2,172],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{6:[1,289],28:[1,290],81:[1,288]},{6:[2,57],10:172,28:[2,57],29:[2,57],30:173,31:[1,75],32:174,33:[1,73],34:[1,74],44:291,45:171,47:175,49:[1,47],81:[2,57],93:[1,113]},{7:292,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:[1,293],30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{1:[2,90],6:[2,90],28:[2,90],29:[2,90],43:[2,90],52:[2,90],57:[2,90],60:[2,90],69:[2,90],70:[2,90],71:[2,90],72:[2,90],74:[2,90],76:[2,90],77:[2,90],81:[2,90],83:[2,90],88:[2,90],89:[2,90],90:[2,90],95:[2,90],97:[2,90],106:[2,90],108:[2,90],109:[2,90],110:[2,90],114:[2,90],122:[2,90],130:[2,90],132:[2,90],133:[2,90],134:[2,90],135:[2,90],136:[2,90],137:[2,90],138:[2,90],139:[2,90],140:[2,90],141:[2,90],142:[2,90]},{7:294,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,76:[2,126],79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{76:[2,127],107:86,108:[1,67],110:[1,68],113:87,114:[1,70],115:71,130:[1,85],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{1:[2,40],6:[2,40],28:[2,40],29:[2,40],52:[2,40],57:[2,40],60:[2,40],76:[2,40],81:[2,40],90:[2,40],95:[2,40],97:[2,40],106:[2,40],107:86,108:[2,40],109:[2,40],110:[2,40],113:87,114:[2,40],115:71,122:[2,40],130:[2,40],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{29:[1,295],107:86,108:[1,67],110:[1,68],113:87,114:[1,70],115:71,130:[1,85],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{6:[1,278],28:[1,279],90:[1,296]},{6:[2,70],28:[2,70],29:[2,70],57:[2,70],90:[2,70],95:[2,70]},{14:297,28:[1,116]},{6:[2,60],28:[2,60],29:[2,60],52:[2,60],57:[2,60]},{30:109,31:[1,75],47:110,58:298,59:108,61:111,62:112,79:[1,72],93:[1,113],94:[1,114]},{6:[2,58],28:[2,58],29:[2,58],30:109,31:[1,75],47:110,51:299,57:[2,58],58:107,59:108,61:111,62:112,79:[1,72],93:[1,113],94:[1,114]},{6:[2,65],28:[2,65],29:[2,65],52:[2,65],57:[2,65],107:86,108:[1,67],110:[1,68],113:87,114:[1,70],115:71,130:[1,85],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{1:[2,28],6:[2,28],28:[2,28],29:[2,28],52:[2,28],57:[2,28],60:[2,28],76:[2,28],81:[2,28],90:[2,28],95:[2,28],97:[2,28],102:[2,28],103:[2,28],106:[2,28],108:[2,28],109:[2,28],110:[2,28],114:[2,28],122:[2,28],125:[2,28],127:[2,28],130:[2,28],132:[2,28],133:[2,28],136:[2,28],137:[2,28],138:[2,28],139:[2,28],140:[2,28],141:[2,28]},{29:[1,300],107:86,108:[1,67],110:[1,68],113:87,114:[1,70],115:71,130:[1,85],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{1:[2,209],6:[2,209],28:[2,209],29:[2,209],52:[2,209],57:[2,209],60:[2,209],76:[2,209],81:[2,209],90:[2,209],95:[2,209],97:[2,209],106:[2,209],107:86,108:[2,209],109:[2,209],110:[2,209],113:87,114:[2,209],115:71,122:[2,209],130:[2,209],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{14:301,28:[1,116],107:86,108:[1,67],110:[1,68],113:87,114:[1,70],115:71,130:[1,85],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{14:302,28:[1,116]},{1:[2,140],6:[2,140],28:[2,140],29:[2,140],52:[2,140],57:[2,140],60:[2,140],76:[2,140],81:[2,140],90:[2,140],95:[2,140],97:[2,140],106:[2,140],108:[2,140],109:[2,140],110:[2,140],114:[2,140],122:[2,140],130:[2,140],132:[2,140],133:[2,140],136:[2,140],137:[2,140],138:[2,140],139:[2,140],140:[2,140],141:[2,140]},{14:303,28:[1,116]},{14:304,28:[1,116]},{1:[2,144],6:[2,144],28:[2,144],29:[2,144],52:[2,144],57:[2,144],60:[2,144],76:[2,144],81:[2,144],90:[2,144],95:[2,144],97:[2,144],102:[2,144],106:[2,144],108:[2,144],109:[2,144],110:[2,144],114:[2,144],122:[2,144],130:[2,144],132:[2,144],133:[2,144],136:[2,144],137:[2,144],138:[2,144],139:[2,144],140:[2,144],141:[2,144]},{29:[1,305],125:[1,306],126:270,127:[1,225]},{1:[2,180],6:[2,180],28:[2,180],29:[2,180],52:[2,180],57:[2,180],60:[2,180],76:[2,180],81:[2,180],90:[2,180],95:[2,180],97:[2,180],106:[2,180],108:[2,180],109:[2,180],110:[2,180],114:[2,180],122:[2,180],130:[2,180],132:[2,180],133:[2,180],136:[2,180],137:[2,180],138:[2,180],139:[2,180],140:[2,180],141:[2,180]},{14:307,28:[1,116]},{29:[2,183],125:[2,183],127:[2,183]},{14:308,28:[1,116],57:[1,309]},{28:[2,136],57:[2,136],107:86,108:[1,67],110:[1,68],113:87,114:[1,70],115:71,130:[1,85],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{1:[2,103],6:[2,103],28:[2,103],29:[2,103],52:[2,103],57:[2,103],60:[2,103],76:[2,103],81:[2,103],90:[2,103],95:[2,103],97:[2,103],106:[2,103],108:[2,103],109:[2,103],110:[2,103],114:[2,103],122:[2,103],130:[2,103],132:[2,103],133:[2,103],136:[2,103],137:[2,103],138:[2,103],139:[2,103],140:[2,103],141:[2,103]},{1:[2,106],6:[2,106],14:310,28:[1,116],29:[2,106],52:[2,106],57:[2,106],60:[2,106],76:[2,106],81:[2,106],90:[2,106],95:[2,106],97:[2,106],106:[2,106],107:86,108:[1,67],109:[2,106],110:[1,68],113:87,114:[1,70],115:71,122:[2,106],130:[2,106],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{106:[1,311]},{95:[1,312],107:86,108:[1,67],110:[1,68],113:87,114:[1,70],115:71,130:[1,85],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{1:[2,121],6:[2,121],28:[2,121],29:[2,121],43:[2,121],52:[2,121],57:[2,121],60:[2,121],69:[2,121],70:[2,121],71:[2,121],72:[2,121],74:[2,121],76:[2,121],77:[2,121],81:[2,121],88:[2,121],89:[2,121],90:[2,121],95:[2,121],97:[2,121],106:[2,121],108:[2,121],109:[2,121],110:[2,121],114:[2,121],120:[2,121],121:[2,121],122:[2,121],130:[2,121],132:[2,121],133:[2,121],136:[2,121],137:[2,121],138:[2,121],139:[2,121],140:[2,121],141:[2,121]},{7:205,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,63:151,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],98:313,100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{7:205,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:[1,150],30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,63:151,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],91:314,92:[1,60],93:[1,61],94:[1,59],98:149,100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{6:[2,130],28:[2,130],29:[2,130],57:[2,130],90:[2,130],95:[2,130]},{6:[1,278],28:[1,279],29:[1,315]},{1:[2,149],6:[2,149],28:[2,149],29:[2,149],52:[2,149],57:[2,149],60:[2,149],76:[2,149],81:[2,149],90:[2,149],95:[2,149],97:[2,149],106:[2,149],107:86,108:[1,67],109:[2,149],110:[1,68],113:87,114:[1,70],115:71,122:[2,149],130:[2,149],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{1:[2,151],6:[2,151],28:[2,151],29:[2,151],52:[2,151],57:[2,151],60:[2,151],76:[2,151],81:[2,151],90:[2,151],95:[2,151],97:[2,151],106:[2,151],107:86,108:[1,67],109:[2,151],110:[1,68],113:87,114:[1,70],115:71,122:[2,151],130:[2,151],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{120:[2,170],121:[2,170]},{7:316,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{7:317,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{7:318,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{1:[2,94],6:[2,94],28:[2,94],29:[2,94],43:[2,94],52:[2,94],57:[2,94],60:[2,94],69:[2,94],70:[2,94],71:[2,94],72:[2,94],74:[2,94],76:[2,94],77:[2,94],81:[2,94],88:[2,94],89:[2,94],90:[2,94],95:[2,94],97:[2,94],106:[2,94],108:[2,94],109:[2,94],110:[2,94],114:[2,94],120:[2,94],121:[2,94],122:[2,94],130:[2,94],132:[2,94],133:[2,94],136:[2,94],137:[2,94],138:[2,94],139:[2,94],140:[2,94],141:[2,94]},{10:172,30:173,31:[1,75],32:174,33:[1,73],34:[1,74],44:319,45:171,47:175,49:[1,47],93:[1,113]},{6:[2,95],10:172,28:[2,95],29:[2,95],30:173,31:[1,75],32:174,33:[1,73],34:[1,74],44:170,45:171,47:175,49:[1,47],57:[2,95],80:320,93:[1,113]},{6:[2,97],28:[2,97],29:[2,97],57:[2,97],81:[2,97]},{6:[2,43],28:[2,43],29:[2,43],57:[2,43],81:[2,43],107:86,108:[1,67],110:[1,68],113:87,114:[1,70],115:71,130:[1,85],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{7:321,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{76:[2,125],107:86,108:[1,67],110:[1,68],113:87,114:[1,70],115:71,130:[1,85],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{1:[2,41],6:[2,41],28:[2,41],29:[2,41],52:[2,41],57:[2,41],60:[2,41],76:[2,41],81:[2,41],90:[2,41],95:[2,41],97:[2,41],106:[2,41],108:[2,41],109:[2,41],110:[2,41],114:[2,41],122:[2,41],130:[2,41],132:[2,41],133:[2,41],136:[2,41],137:[2,41],138:[2,41],139:[2,41],140:[2,41],141:[2,41]},{1:[2,116],6:[2,116],28:[2,116],29:[2,116],43:[2,116],52:[2,116],57:[2,116],60:[2,116],69:[2,116],70:[2,116],71:[2,116],72:[2,116],74:[2,116],76:[2,116],77:[2,116],81:[2,116],83:[2,116],88:[2,116],89:[2,116],90:[2,116],95:[2,116],97:[2,116],106:[2,116],108:[2,116],109:[2,116],110:[2,116],114:[2,116],122:[2,116],130:[2,116],132:[2,116],133:[2,116],134:[2,116],135:[2,116],136:[2,116],137:[2,116],138:[2,116],139:[2,116],140:[2,116],141:[2,116],142:[2,116]},{1:[2,52],6:[2,52],28:[2,52],29:[2,52],52:[2,52],57:[2,52],60:[2,52],76:[2,52],81:[2,52],90:[2,52],95:[2,52],97:[2,52],106:[2,52],108:[2,52],109:[2,52],110:[2,52],114:[2,52],122:[2,52],130:[2,52],132:[2,52],133:[2,52],136:[2,52],137:[2,52],138:[2,52],139:[2,52],140:[2,52],141:[2,52]},{6:[2,61],28:[2,61],29:[2,61],52:[2,61],57:[2,61]},{6:[2,56],28:[2,56],29:[2,56],56:322,57:[1,207]},{1:[2,208],6:[2,208],28:[2,208],29:[2,208],52:[2,208],57:[2,208],60:[2,208],76:[2,208],81:[2,208],90:[2,208],95:[2,208],97:[2,208],106:[2,208],108:[2,208],109:[2,208],110:[2,208],114:[2,208],122:[2,208],130:[2,208],132:[2,208],133:[2,208],136:[2,208],137:[2,208],138:[2,208],139:[2,208],140:[2,208],141:[2,208]},{1:[2,187],6:[2,187],28:[2,187],29:[2,187],52:[2,187],57:[2,187],60:[2,187],76:[2,187],81:[2,187],90:[2,187],95:[2,187],97:[2,187],106:[2,187],108:[2,187],109:[2,187],110:[2,187],114:[2,187],122:[2,187],125:[2,187],130:[2,187],132:[2,187],133:[2,187],136:[2,187],137:[2,187],138:[2,187],139:[2,187],140:[2,187],141:[2,187]},{1:[2,141],6:[2,141],28:[2,141],29:[2,141],52:[2,141],57:[2,141],60:[2,141],76:[2,141],81:[2,141],90:[2,141],95:[2,141],97:[2,141],106:[2,141],108:[2,141],109:[2,141],110:[2,141],114:[2,141],122:[2,141],130:[2,141],132:[2,141],133:[2,141],136:[2,141],137:[2,141],138:[2,141],139:[2,141],140:[2,141],141:[2,141]},{1:[2,142],6:[2,142],28:[2,142],29:[2,142],52:[2,142],57:[2,142],60:[2,142],76:[2,142],81:[2,142],90:[2,142],95:[2,142],97:[2,142],102:[2,142],106:[2,142],108:[2,142],109:[2,142],110:[2,142],114:[2,142],122:[2,142],130:[2,142],132:[2,142],133:[2,142],136:[2,142],137:[2,142],138:[2,142],139:[2,142],140:[2,142],141:[2,142]},{1:[2,143],6:[2,143],28:[2,143],29:[2,143],52:[2,143],57:[2,143],60:[2,143],76:[2,143],81:[2,143],90:[2,143],95:[2,143],97:[2,143],102:[2,143],106:[2,143],108:[2,143],109:[2,143],110:[2,143],114:[2,143],122:[2,143],130:[2,143],132:[2,143],133:[2,143],136:[2,143],137:[2,143],138:[2,143],139:[2,143],140:[2,143],141:[2,143]},{1:[2,178],6:[2,178],28:[2,178],29:[2,178],52:[2,178],57:[2,178],60:[2,178],76:[2,178],81:[2,178],90:[2,178],95:[2,178],97:[2,178],106:[2,178],108:[2,178],109:[2,178],110:[2,178],114:[2,178],122:[2,178],130:[2,178],132:[2,178],133:[2,178],136:[2,178],137:[2,178],138:[2,178],139:[2,178],140:[2,178],141:[2,178]},{14:323,28:[1,116]},{29:[1,324]},{6:[1,325],29:[2,184],125:[2,184],127:[2,184]},{7:326,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{1:[2,107],6:[2,107],28:[2,107],29:[2,107],52:[2,107],57:[2,107],60:[2,107],76:[2,107],81:[2,107],90:[2,107],95:[2,107],97:[2,107],106:[2,107],108:[2,107],109:[2,107],110:[2,107],114:[2,107],122:[2,107],130:[2,107],132:[2,107],133:[2,107],136:[2,107],137:[2,107],138:[2,107],139:[2,107],140:[2,107],141:[2,107]},{1:[2,147],6:[2,147],28:[2,147],29:[2,147],52:[2,147],57:[2,147],60:[2,147],69:[2,147],70:[2,147],71:[2,147],72:[2,147],74:[2,147],76:[2,147],77:[2,147],81:[2,147],88:[2,147],89:[2,147],90:[2,147],95:[2,147],97:[2,147],106:[2,147],108:[2,147],109:[2,147],110:[2,147],114:[2,147],122:[2,147],130:[2,147],132:[2,147],133:[2,147],136:[2,147],137:[2,147],138:[2,147],139:[2,147],140:[2,147],141:[2,147]},{1:[2,124],6:[2,124],28:[2,124],29:[2,124],52:[2,124],57:[2,124],60:[2,124],69:[2,124],70:[2,124],71:[2,124],72:[2,124],74:[2,124],76:[2,124],77:[2,124],81:[2,124],88:[2,124],89:[2,124],90:[2,124],95:[2,124],97:[2,124],106:[2,124],108:[2,124],109:[2,124],110:[2,124],114:[2,124],122:[2,124],130:[2,124],132:[2,124],133:[2,124],136:[2,124],137:[2,124],138:[2,124],139:[2,124],140:[2,124],141:[2,124]},{6:[2,131],28:[2,131],29:[2,131],57:[2,131],90:[2,131],95:[2,131]},{6:[2,56],28:[2,56],29:[2,56],56:327,57:[1,234]},{6:[2,132],28:[2,132],29:[2,132],57:[2,132],90:[2,132],95:[2,132]},{1:[2,173],6:[2,173],28:[2,173],29:[2,173],52:[2,173],57:[2,173],60:[2,173],76:[2,173],81:[2,173],90:[2,173],95:[2,173],97:[2,173],106:[2,173],107:86,108:[2,173],109:[2,173],110:[2,173],113:87,114:[2,173],115:71,122:[1,328],130:[2,173],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{1:[2,175],6:[2,175],28:[2,175],29:[2,175],52:[2,175],57:[2,175],60:[2,175],76:[2,175],81:[2,175],90:[2,175],95:[2,175],97:[2,175],106:[2,175],107:86,108:[2,175],109:[1,329],110:[2,175],113:87,114:[2,175],115:71,122:[2,175],130:[2,175],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{1:[2,174],6:[2,174],28:[2,174],29:[2,174],52:[2,174],57:[2,174],60:[2,174],76:[2,174],81:[2,174],90:[2,174],95:[2,174],97:[2,174],106:[2,174],107:86,108:[2,174],109:[2,174],110:[2,174],113:87,114:[2,174],115:71,122:[2,174],130:[2,174],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{6:[2,98],28:[2,98],29:[2,98],57:[2,98],81:[2,98]},{6:[2,56],28:[2,56],29:[2,56],56:330,57:[1,244]},{29:[1,331],107:86,108:[1,67],110:[1,68],113:87,114:[1,70],115:71,130:[1,85],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{6:[1,255],28:[1,256],29:[1,332]},{29:[1,333]},{1:[2,181],6:[2,181],28:[2,181],29:[2,181],52:[2,181],57:[2,181],60:[2,181],76:[2,181],81:[2,181],90:[2,181],95:[2,181],97:[2,181],106:[2,181],108:[2,181],109:[2,181],110:[2,181],114:[2,181],122:[2,181],130:[2,181],132:[2,181],133:[2,181],136:[2,181],137:[2,181],138:[2,181],139:[2,181],140:[2,181],141:[2,181]},{29:[2,185],125:[2,185],127:[2,185]},{28:[2,137],57:[2,137],107:86,108:[1,67],110:[1,68],113:87,114:[1,70],115:71,130:[1,85],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{6:[1,278],28:[1,279],29:[1,334]},{7:335,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{7:336,8:118,9:19,10:20,11:[1,21],12:22,13:[1,48],15:6,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,30:64,31:[1,75],32:51,33:[1,73],34:[1,74],35:24,36:[1,52],37:[1,53],38:[1,54],39:[1,55],40:[1,56],41:[1,57],42:23,47:65,48:[1,46],49:[1,47],50:[1,29],53:30,54:[1,62],55:[1,63],61:49,62:50,64:36,66:25,67:26,68:27,79:[1,72],82:[1,43],86:[1,28],87:[1,45],92:[1,60],93:[1,61],94:[1,59],100:[1,38],104:[1,44],105:[1,58],107:39,108:[1,67],110:[1,68],111:40,112:[1,69],113:41,114:[1,70],115:71,123:[1,42],128:37,129:[1,66],131:[1,31],132:[1,32],133:[1,33],134:[1,34],135:[1,35]},{6:[1,289],28:[1,290],29:[1,337]},{6:[2,44],28:[2,44],29:[2,44],57:[2,44],81:[2,44]},{6:[2,62],28:[2,62],29:[2,62],52:[2,62],57:[2,62]},{1:[2,179],6:[2,179],28:[2,179],29:[2,179],52:[2,179],57:[2,179],60:[2,179],76:[2,179],81:[2,179],90:[2,179],95:[2,179],97:[2,179],106:[2,179],108:[2,179],109:[2,179],110:[2,179],114:[2,179],122:[2,179],130:[2,179],132:[2,179],133:[2,179],136:[2,179],137:[2,179],138:[2,179],139:[2,179],140:[2,179],141:[2,179]},{6:[2,133],28:[2,133],29:[2,133],57:[2,133],90:[2,133],95:[2,133]},{1:[2,176],6:[2,176],28:[2,176],29:[2,176],52:[2,176],57:[2,176],60:[2,176],76:[2,176],81:[2,176],90:[2,176],95:[2,176],97:[2,176],106:[2,176],107:86,108:[2,176],109:[2,176],110:[2,176],113:87,114:[2,176],115:71,122:[2,176],130:[2,176],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{1:[2,177],6:[2,177],28:[2,177],29:[2,177],52:[2,177],57:[2,177],60:[2,177],76:[2,177],81:[2,177],90:[2,177],95:[2,177],97:[2,177],106:[2,177],107:86,108:[2,177],109:[2,177],110:[2,177],113:87,114:[2,177],115:71,122:[2,177],130:[2,177],132:[1,79],133:[1,78],136:[1,77],137:[1,80],138:[1,81],139:[1,82],140:[1,83],141:[1,84]},{6:[2,99],28:[2,99],29:[2,99],57:[2,99],81:[2,99]}],defaultActions:{62:[2,54],63:[2,55],93:[2,114],194:[2,93]},parseError:function(e,t){if(!t.recoverable)throw Error(e); +this.trace(e)},parse:function(e){function t(){var e;return e=n.lexer.lex()||p,"number"!=typeof e&&(e=n.symbols_[e]||e),e}var n=this,i=[0],s=[null],r=[],o=this.table,a="",c=0,u=0,h=0,l=2,p=1;this.lexer.setInput(e),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,this.lexer.yylloc===void 0&&(this.lexer.yylloc={});var d=this.lexer.yylloc;r.push(d);var f=this.lexer.options&&this.lexer.options.ranges;this.parseError="function"==typeof this.yy.parseError?this.yy.parseError:Object.getPrototypeOf(this).parseError;for(var m,w,g,b,v,y,k,_,C,F={};;){if(g=i[i.length-1],this.defaultActions[g]?b=this.defaultActions[g]:((null===m||m===void 0)&&(m=t()),b=o[g]&&o[g][m]),b===void 0||!b.length||!b[0]){var T="";C=[];for(y in o[g])this.terminals_[y]&&y>l&&C.push("'"+this.terminals_[y]+"'");T=this.lexer.showPosition?"Parse error on line "+(c+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(c+1)+": Unexpected "+(m==p?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(T,{text:this.lexer.match,token:this.terminals_[m]||m,line:this.lexer.yylineno,loc:d,expected:C})}if(b[0]instanceof Array&&b.length>1)throw Error("Parse Error: multiple actions possible at state: "+g+", token: "+m);switch(b[0]){case 1:i.push(m),s.push(this.lexer.yytext),r.push(this.lexer.yylloc),i.push(b[1]),m=null,w?(m=w,w=null):(u=this.lexer.yyleng,a=this.lexer.yytext,c=this.lexer.yylineno,d=this.lexer.yylloc,h>0&&h--);break;case 2:if(k=this.productions_[b[1]][1],F.$=s[s.length-k],F._$={first_line:r[r.length-(k||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(k||1)].first_column,last_column:r[r.length-1].last_column},f&&(F._$.range=[r[r.length-(k||1)].range[0],r[r.length-1].range[1]]),v=this.performAction.call(F,a,u,c,this.yy,b[1],s,r),v!==void 0)return v;k&&(i=i.slice(0,2*-1*k),s=s.slice(0,-1*k),r=r.slice(0,-1*k)),i.push(this.productions_[b[1]][0]),s.push(F.$),r.push(F._$),_=o[i[i.length-2]][i[i.length-1]],i.push(_);break;case 3:return!0}}return!0}};return e.prototype=t,t.Parser=e,new e}();return require!==void 0&&e!==void 0&&(e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=require("fs").readFileSync(require("path").normalize(t[1]),"utf8");return e.parser.parse(n)},t!==void 0&&require.main===t&&e.main(process.argv.slice(1))),t.exports}(),require["./iced"]=function(){var e={},t={exports:e};return function(){var t,n=[].slice;e.generator=t=function(e,t,i){var s,r,o,a,c,u;return t.transform=function(e,t){return e.icedTransform(t)},t["const"]=s={k:"__iced_k",k_noop:"__iced_k_noop",param:"__iced_p_",ns:"iced",runtime:"runtime",Deferrals:"Deferrals",deferrals:"__iced_deferrals",fulfill:"_fulfill",b_while:"_break",t_while:"_while",c_while:"_continue",n_while:"_next",n_arg:"__iced_next_arg",context:"context",defer_method:"defer",slot:"__slot",assign_fn:"assign_fn",autocb:"autocb",retslot:"ret",trace:"__iced_trace",passed_deferral:"__iced_passed_deferral",findDeferral:"findDeferral",lineno:"lineno",parent:"parent",filename:"filename",funcname:"funcname",catchExceptions:"catchExceptions",runtime_modes:["node","inline","window","none","browserify"],trampoline:"trampoline"},e.makeDeferReturn=function(t,i,r,o,a){var c,u,h,l;h={};for(c in o)l=o[c],h[c]=l;return h[s.lineno]=null!=i?i[s.lineno]:void 0,u=function(){var s,o,c;return s=arguments.length>=1?n.call(arguments,0):[],null!=i&&null!=(c=i.assign_fn)&&c.apply(null,s),t?(o=t,a||(t=null),o._fulfill(r,h)):e._warn("overused deferral at "+e._trace_to_string(h))},u[s.trace]=h,u},e.__c=0,e.tickCounter=function(t){return e.__c++,0===e.__c%t?(e.__c=0,!0):!1},e.__active_trace=null,e._trace_to_string=function(e){var t;return t=e[s.funcname]||"",""+t+" ("+e[s.filename]+":"+(e[s.lineno]+1)+")"},e._warn=function(e){return"undefined"!=typeof console&&null!==console?console.log("ICED warning: "+e):void 0},i.trampoline=function(t){return e.tickCounter(500)?"undefined"!=typeof process&&null!==process?process.nextTick(t):setTimeout(t):t()},i.Deferrals=r=function(){function t(e,t){this.trace=t,this.continuation=e,this.count=1,this.ret=null}return t.prototype._call=function(t){var n;return this.continuation?(e.__active_trace=t,n=this.continuation,this.continuation=null,n(this.ret)):e._warn("Entered dead await at "+e._trace_to_string(t))},t.prototype._fulfill=function(e,t){var n=this;return--this.count>0?void 0:i.trampoline(function(){return n._call(t)})},t.prototype.defer=function(t){var n;return this.count++,n=this,e.makeDeferReturn(n,t,null,this.trace)},t.prototype._defer=function(e){return this.defer(e)},t}(),i.findDeferral=c=function(e){var t,n,i;for(n=0,i=e.length;i>n;n++)if(t=e[n],null!=t?t[s.trace]:void 0)return t;return null},i.Rendezvous=o=function(){function t(){this.completed=[],this.waiters=[],this.defer_id=0}var n;return n=function(){function e(e,t,n){this.rv=e,this.id=t,this.multi=n}return e.prototype.defer=function(e){return this.rv._deferWithId(this.id,e,this.multi)},e}(),t.prototype.wait=function(e){var t;return this.completed.length?(t=this.completed.shift(),e(t)):this.waiters.push(e)},t.prototype.defer=function(e){var t;return t=this.defer_id++,this.deferWithId(t,e)},t.prototype.id=function(e,t){return null==t&&(t=!1),new n(this,e,t)},t.prototype._fulfill=function(e){var t;return this.waiters.length?(t=this.waiters.shift(),t(e)):this.completed.push(e)},t.prototype._deferWithId=function(t,n,i){return this.count++,e.makeDeferReturn(this,n,t,{},i)},t}(),i.stackWalk=u=function(t){var n,i,r,o;for(i=[],r=t?t[s.trace]:e.__active_trace;r;)n=" at "+e._trace_to_string(r),i.push(n),r=null!=r?null!=(o=r[s.parent])?o[s.trace]:void 0:void 0;return i},i.exceptionHandler=a=function(e,t){var n;return t||(t=console.log),t(e.stack),n=u(),n.length?(t("Iced callback trace:"),t(n.join("\n"))):void 0},i.catchExceptions=function(e){return"undefined"!=typeof process&&null!==process?process.on("uncaughtException",function(t){return a(t,e),process.exit(1)}):void 0}},e.runtime={},t(this,e,e.runtime)}.call(this),t.exports}(),require["./scope"]=function(){var e={},t={exports:e};return function(){var t,n,i,s,r;r=require("./helpers"),n=r.extend,s=r.last,i=require("./iced"),e.Scope=t=function(){function e(t,n,i){this.parent=t,this.expressions=n,this.method=i,this.variables=[{name:"arguments",type:"arguments"}],this.positions={},this.parent||(e.root=this)}return e.root=null,e.prototype.add=function(e,t,n){return this.shared&&!n?this.parent.add(e,t,n):Object.prototype.hasOwnProperty.call(this.positions,e)?this.variables[this.positions[e]].type=t:this.positions[e]=this.variables.push({name:e,type:t})-1},e.prototype.namedMethod=function(){var e;return(null!=(e=this.method)?e.name:void 0)||!this.parent?this.method:this.parent.namedMethod()},e.prototype.find=function(e){return this.check(e)?!0:(this.add(e,"var"),!1)},e.prototype.parameter=function(e){return this.shared&&this.parent.check(e,!0)?void 0:this.add(e,"param")},e.prototype.check=function(e){var t;return!!(this.type(e)||(null!=(t=this.parent)?t.check(e):void 0))},e.prototype.temporary=function(e,t){return e.length>1?"_"+e+(t>1?t-1:""):"_"+(t+parseInt(e,36)).toString(36).replace(/\d/g,"a")},e.prototype.type=function(e){var t,n,i,s;for(s=this.variables,n=0,i=s.length;i>n;n++)if(t=s[n],t.name===e)return t.type;return null},e.prototype.freeVariable=function(e,t){var n,i;for(null==t&&(t=!0),n=0;this.check(i=this.temporary(e,n));)n++;return t&&this.add(i,"var",!0),i},e.prototype.assign=function(e,t){return this.add(e,{value:t,assigned:!0},!0),this.hasAssignments=!0},e.prototype.hasDeclarations=function(){return!!this.declaredVariables().length},e.prototype.declaredVariables=function(){var e,t,n,s,r,o;for(e=[],t=[],o=this.variables,s=0,r=o.length;r>s;s++)n=o[s],("var"===n.type||"param"===n.type&&n.name===i["const"].k)&&("_"===n.name.charAt(0)?t:e).push(n.name);return e.sort().concat(t.sort())},e.prototype.assignedVariables=function(){var e,t,n,i,s;for(i=this.variables,s=[],t=0,n=i.length;n>t;t++)e=i[t],e.type.assigned&&s.push(""+e.name+" = "+e.type.value);return s},e}()}.call(this),t.exports}(),require["./nodes"]=function(){var e={},t={exports:e};return function(){var t,n,i,s,r,o,a,c,u,h,l,p,d,f,m,w,g,b,v,y,k,_,C,F,T,L,x,N,D,E,A,S,I,R,$,O,P,j,B,V,M,H,U,W,q,G,X,Y,z,K,J,Q,Z,et,tt,nt,it,st,rt,ot,at,ct,ut,ht,lt,pt,dt,ft,mt,wt,gt,bt,vt,yt,kt,_t,Ct,Ft,Tt,Lt,xt,Nt={}.hasOwnProperty,Dt=function(e,t){function n(){this.constructor=e}for(var i in t)Nt.call(t,i)&&(e[i]=t[i]);return n.prototype=t.prototype,e.prototype=new n,e.__super__=t.prototype,e},Et=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1},At=[].slice;Error.stackTraceLimit=1/0,Y=require("./scope").Scope,Ft=require("./lexer"),U=Ft.RESERVED,X=Ft.STRICT_PROSCRIBED,ft=require("./iced"),Tt=require("./helpers"),ct=Tt.compact,pt=Tt.flatten,lt=Tt.extend,gt=Tt.merge,ut=Tt.del,yt=Tt.starts,ht=Tt.ends,mt=Tt.last,vt=Tt.some,at=Tt.addLocationDataFn,wt=Tt.locationDataToString,kt=Tt.throwSyntaxError,e.extend=lt,e.addLocationDataFn=at,ot=function(){return!0},P=function(){return!1},et=function(){return this},O=function(){return this.negated=!this.negated,this},j=function(){return new st(new R("null"))},e.CodeFragment=l=function(){function e(e,t){var n;this.code=""+t,this.locationData=null!=e?e.locationData:void 0,this.type=(null!=e?null!=(n=e.constructor)?n.name:void 0:void 0)||"unknown"}return e.prototype.toString=function(){return""+this.code+(this.locationData?": "+wt(this.locationData):"")},e}(),dt=function(e){var t;return function(){var n,i,s;for(s=[],n=0,i=e.length;i>n;n++)t=e[n],s.push(t.code);return s}().join("")},e.Base=r=function(){function e(){this.icedContinuationBlock=null,this.icedLoopFlag=!1,this.icedNodeFlag=!1,this.icedGotCpsSplitFlag=!1,this.icedCpsPivotFlag=!1,this.icedHasAutocbFlag=!1,this.icedFoundArguments=!1,this.icedParentAwait=null,this.icedCallContinuationFlag=!1}return e.prototype.compile=function(e,t){return dt(this.compileToFragments(e,t))},e.prototype.compileToFragments=function(e,t){var n;return e=lt({},e),t&&(e.level=t),n=this.unfoldSoak(e)||this,n.tab=e.indent,n.icedHasContinuation()&&!n.icedGotCpsSplitFlag?n.icedCompileCps(e):e.level!==I&&n.isStatement(e)?n.compileClosure(e):n.compileNode(e)},e.prototype.compileClosure=function(e){var t;return(t=this.jumps())&&t.error("cannot use a pure statement in an expression"),e.sharedScope=!0,this.icedClearAutocbFlags(),u.wrap(this).compileNode(e)},e.prototype.cache=function(e,t,n){var s,r;return this.isComplex()?(s=new R(n||e.scope.freeVariable("ref")),r=new i(s,this),t?[r.compileToFragments(e,t),[this.makeCode(s.value)]]:[r,s]):(s=t?this.compileToFragments(e,t):this,[s,s])},e.prototype.cacheToCodeFragments=function(e){return[dt(e[0]),dt(e[1])]},e.prototype.makeReturn=function(e){var t;return t=this.unwrapAll(),e?new a(new R(""+e+".push"),[t]):new q(t,this.icedHasAutocbFlag)},e.prototype.contains=function(e){var t;return t=void 0,this.traverseChildren(!1,function(n){return e(n)?(t=n,!1):void 0}),t},e.prototype.lastNonComment=function(e){var t;for(t=e.length;t--;)if(!(e[t]instanceof p))return e[t];return null},e.prototype.toString=function(e,t){var n,i;return null==e&&(e=""),null==t&&(t=this.constructor.name),n=[],this.icedNodeFlag&&n.push("A"),this.icedLoopFlag&&n.push("L"),this.icedCpsPivotFlag&&n.push("P"),this.icedHasAutocbFlag&&n.push("C"),this.icedParentAwait&&n.push("D"),this.icedFoundArguments&&n.push("G"),n.length&&(n=" ("+n.join("")+")"),i="\n"+e+t,i="\n"+e+t,this.soak&&(i+="?"),i+=n,this.eachChild(function(t){return i+=t.toString(e+Z)}),this.icedContinuationBlock&&(e+=Z,i+="\n"+e+"Continuation",i+=this.icedContinuationBlock.toString(e+Z)),i},e.prototype.eachChild=function(e){var t,n,i,s,r,o,a,c;if(!this.children)return this;for(a=this.children,i=0,r=a.length;r>i;i++)if(t=a[i],this[t])for(c=pt([this[t]]),s=0,o=c.length;o>s;s++)if(n=c[s],e(n)===!1)return this;return this},e.prototype.traverseChildren=function(e,t){return this.eachChild(function(n){var i;return i=t(n),i!==!1?n.traverseChildren(e,t):void 0})},e.prototype.invert=function(){return new V("!",this)},e.prototype.unwrapAll=function(){var e;for(e=this;e!==(e=e.unwrap()););return e},e.prototype.flattenChildren=function(){var e,t,n,i,s,r,o,a,c;for(n=[],a=this.children,i=0,r=a.length;r>i;i++)if(e=a[i],this[e])for(c=pt([this[e]]),s=0,o=c.length;o>s;s++)t=c[s],n.push(t);return n},e.prototype.icedCompileCps=function(e){var t;return this.icedGotCpsSplitFlag=!0,t=d.wrap(this,this.icedContinuationBlock,null,e),t.compileNode(e)},e.prototype.icedWalkAst=function(e,t){var n,i,s,r;for(this.icedParentAwait=e,this.icedHasAutocbFlag=t.foundAutocb,r=this.flattenChildren(),i=0,s=r.length;s>i;i++)n=r[i],n.icedWalkAst(e,t)&&(this.icedNodeFlag=!0);return this.icedNodeFlag},e.prototype.icedWalkAstLoops=function(e){var t,n,i,s;for(this.isLoop()&&this.icedNodeFlag&&(e=!0),this.isLoop()&&!this.icedNodeFlag&&(e=!1),this.icedLoopFlag=e,s=this.flattenChildren(),n=0,i=s.length;i>n;n++)t=s[n],t.icedWalkAstLoops(e)&&(this.icedLoopFlag=!0);return this.icedLoopFlag},e.prototype.icedWalkCpsPivots=function(){var e,t,n,i;for((this.icedNodeFlag||this.icedLoopFlag&&this.icedIsJump())&&(this.icedCpsPivotFlag=!0),i=this.flattenChildren(),t=0,n=i.length;n>t;t++)e=i[t],e.icedWalkCpsPivots()&&(this.icedCpsPivotFlag=!0);return this.icedCpsPivotFlag},e.prototype.icedClearAutocbFlags=function(){return this.icedHasAutocbFlag=!1,this.traverseChildren(!1,function(e){return e.icedHasAutocbFlag=!1,!0})},e.prototype.icedCpsRotate=function(){var e,t,n,i;for(i=this.flattenChildren(),t=0,n=i.length;n>t;t++)e=i[t],e.icedCpsRotate();return this},e.prototype.icedIsCpsPivot=function(){return this.icedCpsPivotFlag},e.prototype.icedNestContinuationBlock=function(e){return this.icedContinuationBlock=e},e.prototype.icedHasContinuation=function(){return!!this.icedContinuationBlock},e.prototype.icedCallContinuation=function(){return this.icedCallContinuationFlag=!0},e.prototype.icedWrapContinuation=P,e.prototype.icedIsJump=P,e.prototype.icedUnwrap=function(e){return e.icedHasContinuation()&&this.icedHasContinuation()?this:(this.icedHasContinuation()&&(e.icedContinuationBlock=this.icedContinuationBlock),e)},e.prototype.icedStatementAssertion=function(){return this.icedIsCpsPivot()?this.error("await'ed statements can't act as expressions"):void 0},e.prototype.children=[],e.prototype.isStatement=P,e.prototype.jumps=P,e.prototype.isComplex=ot,e.prototype.isChainable=P,e.prototype.isAssignable=P,e.prototype.isLoop=P,e.prototype.unwrap=et,e.prototype.unfoldSoak=P,e.prototype.assigns=P,e.prototype.updateLocationDataIfMissing=function(e){return this.locationData?this:(this.locationData=e,this.eachChild(function(t){return t.updateLocationDataIfMissing(e)}))},e.prototype.error=function(e){return kt(e,this.locationData)},e.prototype.makeCode=function(e){return new l(this,e)},e.prototype.wrapInBraces=function(e){return[].concat(this.makeCode("("),e,this.makeCode(")"))},e.prototype.joinFragmentArrays=function(e,t){var n,i,s,r,o;for(n=[],s=r=0,o=e.length;o>r;s=++r)i=e[s],s&&n.push(this.makeCode(t)),n=n.concat(i);return n},e}(),e.Block=o=function(e){function t(e){t.__super__.constructor.call(this),this.expressions=ct(pt(e||[]))}return Dt(t,e),t.prototype.children=["expressions"],t.prototype.push=function(e){return this.expressions.push(e),this},t.prototype.pop=function(){return this.expressions.pop()},t.prototype.unshift=function(e){return this.expressions.unshift(e),this},t.prototype.unwrap=function(){return 1===this.expressions.length?this.icedUnwrap(this.expressions[0]):this},t.prototype.isEmpty=function(){return!this.expressions.length},t.prototype.isStatement=function(e){var t,n,i,s;for(s=this.expressions,n=0,i=s.length;i>n;n++)if(t=s[n],t.isStatement(e))return!0;return!1},t.prototype.jumps=function(e){var t,n,i,s;for(s=this.expressions,n=0,i=s.length;i>n;n++)if(t=s[n],t.jumps(e))return t},t.prototype.makeReturn=function(e){var t,n,i;for(i=this.expressions.length,n=!1;i--;)if(t=this.expressions[i],!(t instanceof p)){this.expressions[i]=t.makeReturn(e),t instanceof q&&!t.expression&&!t.icedHasAutocbFlag?(this.expressions.splice(i,1),n=!0):t instanceof F&&!t.elseBody||(n=!0);break}return!this.icedHasAutocbFlag||this.icedNodeFlag||n||this.expressions.push(new q(null,!0)),this},t.prototype.compileToFragments=function(e,n){return null==e&&(e={}),e.scope?t.__super__.compileToFragments.call(this,e,n):this.compileRoot(e)},t.prototype.compileNode=function(e){var n,i,s,r,o,a,c,u,h;for(this.tab=e.indent,a=e.level===I,i=[],h=this.expressions,r=c=0,u=h.length;u>c;r=++c)o=h[r],o=o.unwrapAll(),o=o.unfoldSoak(e)||o,o instanceof t?i.push(o.compileNode(e)):a?(o.front=!0,s=o.compileToFragments(e),o.isStatement(e)||(s.unshift(this.makeCode(""+this.tab)),s.push(this.makeCode(";"))),i.push(s)):i.push(o.compileToFragments(e,E));return a?this.spaced?[].concat(this.joinFragmentArrays(i,"\n\n"),this.makeCode("\n")):this.joinFragmentArrays(i,"\n"):(n=i.length?this.joinFragmentArrays(i,", "):[this.makeCode("void 0")],i.length>1&&e.level>=E?this.wrapInBraces(n):n)},t.prototype.compileRoot=function(e){var t,n,i,s,r,o,a,c,u,h;for(e.indent=e.bare?"":Z,e.level=I,this.spaced=!0,e.scope=new Y(null,this,null),h=e.locals||[],c=0,u=h.length;u>c;c++)s=h[c],e.scope.parameter(s);return r=[],e.bare||(o=function(){var e,n,s,r;for(s=this.expressions,r=[],i=e=0,n=s.length;n>e&&(t=s[i],t.unwrap()instanceof p);i=++e)r.push(t);return r}.call(this),a=this.expressions.slice(o.length),this.expressions=o,o.length&&(r=this.compileNode(gt(e,{indent:""})),r.push(this.makeCode("\n"))),this.expressions=a),n=this.compileWithDeclarations(e),e.bare?n:[].concat(r,this.makeCode("(function() {\n"),n,this.makeCode("\n}).call(this);\n"))},t.prototype.compileWithDeclarations=function(e){var t,n,i,s,r,o,a,c,u,h,l,d,f,m;for(s=[],o=[],d=this.expressions,r=h=0,l=d.length;l>h&&(i=d[r],i=i.unwrap(),i instanceof p||i instanceof R);r=++h);return e=gt(e,{level:I}),r&&(a=this.expressions.splice(r,9e9),f=[this.spaced,!1],u=f[0],this.spaced=f[1],m=[this.compileNode(e),u],s=m[0],this.spaced=m[1],this.expressions=a),o=this.compileNode(e),c=e.scope,c.expressions===this&&(n=e.scope.hasDeclarations(),t=c.hasAssignments,n||t?(r&&s.push(this.makeCode("\n")),s.push(this.makeCode(""+this.tab+"var ")),n&&s.push(this.makeCode(c.declaredVariables().join(", "))),t&&(n&&s.push(this.makeCode(",\n"+(this.tab+Z))),s.push(this.makeCode(c.assignedVariables().join(",\n"+(this.tab+Z))))),s.push(this.makeCode(";\n"+(this.spaced?"\n":"")))):s.length&&o.length&&s.push(this.makeCode("\n"))),s.concat(o)},t.wrap=function(e){return 1===e.length&&e[0]instanceof t?e[0]:new t(e)},t.prototype.icedThreadReturn=function(e){var t,n;for(e=e||new C,n=this.expressions.length;n--&&(t=this.expressions[n],!t.isStatement());)if(!(t instanceof p||t instanceof q))return e.assignValue(t),this.expressions[n]=e,void 0;return this.expressions.push(e)},t.prototype.icedCompileCps=function(e){return this.icedGotCpsSplitFlag=!0,this.expressions.length>1?t.__super__.icedCompileCps.call(this,e):this.compileNode(e)},t.prototype.icedCpsRotate=function(){var e,n,i,s,r,o,a,c,u,h;for(s=null,h=this.expressions,i=o=0,c=h.length;c>o&&(n=h[i],n.icedIsCpsPivot()&&(s=n,s.icedCallContinuation()),n.icedCpsRotate(),!s);i=++o);if(!s)return this;if(s.icedContinuationBlock)throw SyntaxError("unexpected continuation block in node");if(r=this.expressions.slice(i+1),this.expressions=this.expressions.slice(0,i+1),r.length){for(e=new t(r),s.icedNestContinuationBlock(e),a=0,u=r.length;u>a;a++)n=r[a],n.icedNodeFlag&&(e.icedNodeFlag=!0),n.icedLoopFlag&&(e.icedLoopFlag=!0),n.icedCpsPivotFlag&&(e.icedCpsPivotFlag=!0),n.icedHasAutocbFlag&&(e.icedHasAutocbFlag=!0);e.icedCpsRotate()}return this},t.prototype.icedAddRuntime=function(e,t){var n,i;for(n=0;(i=this.expressions[n])&&i instanceof p||i instanceof st&&i.isString();)n++;return this.expressions.splice(n,0,new _(e,t))},t.prototype.icedTransform=function(e){var t;return t={},this.icedWalkAst(null,t),(null!=e?e.repl:void 0)||this.icedAddRuntime(t.foundDefer,t.foundAwait),t.foundAwait&&(this.icedWalkAstLoops(!1),this.icedWalkCpsPivots(),this.icedCpsRotate()),this},t.prototype.icedGetSingle=function(){return 1===this.expressions.length?this.expressions[0]:null},t}(r),e.Literal=R=function(e){function t(e){this.value=e,t.__super__.constructor.call(this)}return Dt(t,e),t.prototype.makeReturn=function(){return this.isStatement()?this:t.__super__.makeReturn.apply(this,arguments)},t.prototype.isAssignable=function(){return b.test(this.value)},t.prototype.isStatement=function(){var e;return"break"===(e=this.value)||"continue"===e||"debugger"===e},t.prototype.isComplex=P,t.prototype.assigns=function(e){return e===this.value},t.prototype.jumps=function(e){return"break"!==this.value||(null!=e?e.loop:void 0)||(null!=e?e.block:void 0)?"continue"!==this.value||(null!=e?e.loop:void 0)?void 0:this:this},t.prototype.compileNode=function(e){var t,n,i;return this.icedLoopFlag&&this.icedIsJump()?this.icedCompileIced(e):(n="this"===this.value?(null!=(i=e.scope.method)?i.bound:void 0)?e.scope.method.context:this.value:this.value.reserved?'"'+this.value+'"':this.value,t=this.isStatement()?""+this.tab+n+";":n,[this.makeCode(t)])},t.prototype.toString=function(){return' "'+this.value+'"'},t.prototype.icedWalkAst=function(e,t){return"arguments"===this.value&&t.foundAwaitFunc&&(t.foundArguments=!0,this.value="_arguments"),!1},t.prototype.icedIsJump=function(){return this.isStatement()},t.prototype.icedCompileIced=function(e){var n,i,s,r;return i={"continue":ft["const"].c_while,"break":ft["const"].b_while},r=i[this.value],s=new st(new t(r)),n=new a(s,[]),n.compileNode(e)},t}(r),e.Undefined=function(e){function t(){return Lt=t.__super__.constructor.apply(this,arguments)}return Dt(t,e),t.prototype.isAssignable=P,t.prototype.isComplex=P,t.prototype.compileNode=function(e){return[this.makeCode(e.level>=N?"(void 0)":"void 0")]},t}(r),e.Null=function(e){function t(){return xt=t.__super__.constructor.apply(this,arguments)}return Dt(t,e),t.prototype.isAssignable=P,t.prototype.isComplex=P,t.prototype.compileNode=function(){return[this.makeCode("null")]},t}(r),e.Bool=function(e){function t(e){this.val=e}return Dt(t,e),t.prototype.isAssignable=P,t.prototype.isComplex=P,t.prototype.compileNode=function(){return[this.makeCode(this.val)]},t}(r),e.Return=q=function(e){function t(e,n){t.__super__.constructor.call(this),this.icedHasAutocbFlag=n,e&&!e.unwrap().isUndefined&&(this.expression=e)}return Dt(t,e),t.prototype.children=["expression"],t.prototype.isStatement=ot,t.prototype.makeReturn=et,t.prototype.jumps=et,t.prototype.compileToFragments=function(e,n){var i,s;return i=null!=(s=this.expression)?s.makeReturn():void 0,!i||i instanceof t?t.__super__.compileToFragments.call(this,e,n):i.compileToFragments(e,n)},t.prototype.compileNode=function(e){var t;return this.icedHasAutocbFlag?this.icedCompileIced(e):(t=[],t.push(this.makeCode(this.tab+("return"+(this.expression?" ":"")))),this.expression&&(t=t.concat(this.expression.compileToFragments(e,S))),t.push(this.makeCode(";")),t)},t.prototype.icedCompileIced=function(e){var t,n,i,s,r;return s=new st(new R(ft["const"].autocb)),t=this.expression?[this.expression]:[],i=new a(s,t),r=new R("return"),n=new o([i,r]),n.compileNode(e)},t}(r),e.Value=st=function(e){function s(e,t,n){return s.__super__.constructor.call(this),!t&&e instanceof s?e:(this.base=e,this.properties=t||[],n&&(this[n]=!0),this)}return Dt(s,e),s.prototype.children=["base","properties"],s.prototype.copy=function(){return new s(this.base,this.properties)},s.prototype.add=function(e){return this.properties=this.properties.concat(e),this},s.prototype.hasProperties=function(){return!!this.properties.length},s.prototype.isArray=function(){return!this.properties.length&&this.base instanceof n},s.prototype.isComplex=function(){return this.hasProperties()||this.base.isComplex()},s.prototype.isAssignable=function(){return this.hasProperties()||this.base.isAssignable()},s.prototype.isSimpleNumber=function(){return this.base instanceof R&&G.test(this.base.value)},s.prototype.isString=function(){return this.base instanceof R&&y.test(this.base.value)},s.prototype.isAtomic=function(){var e,t,n,i;for(i=this.properties.concat(this.base),t=0,n=i.length;n>t;t++)if(e=i[t],e.soak||e instanceof a)return!1;return!0},s.prototype.isStatement=function(e){return!this.properties.length&&this.base.isStatement(e)},s.prototype.assigns=function(e){return!this.properties.length&&this.base.assigns(e)},s.prototype.jumps=function(e){return!this.properties.length&&this.base.jumps(e)},s.prototype.isObject=function(e){return this.properties.length?!1:this.base instanceof B&&(!e||this.base.generated)},s.prototype.isSplice=function(){return mt(this.properties)instanceof z},s.prototype.unwrap=function(){return this.properties.length?this:this.base},s.prototype.cacheReference=function(e){var t,n,r,o;return r=mt(this.properties),2>this.properties.length&&!this.base.isComplex()&&!(null!=r?r.isComplex():void 0)?[this,this]:(t=new s(this.base,this.properties.slice(0,-1)),t.isComplex()&&(n=new R(e.scope.freeVariable("base")),t=new s(new H(new i(n,t)))),r?(r.isComplex()&&(o=new R(e.scope.freeVariable("name")),r=new L(new i(o,r.index)),o=new L(o)),[t.add(r),new s(n||t.base,[o||r])]):[t,n])},s.prototype.compileNode=function(e){var t,n,i,s,r;for(this.base.front=this.front,i=this.properties,t=this.base.compileToFragments(e,i.length?N:null),(this.base instanceof H||i.length)&&G.test(dt(t))&&t.push(this.makeCode(".")),s=0,r=i.length;r>s;s++)n=i[s],t.push.apply(t,n.compileToFragments(e));return t},s.prototype.unfoldSoak=function(e){var t=this;return null!=this.unfoldedSoak?this.unfoldedSoak:this.unfoldedSoak=function(){var n,r,o,a,c,u,h,l,p,d;if(o=t.base.unfoldSoak(e))return(p=o.body.properties).push.apply(p,t.properties),o;for(d=t.properties,r=h=0,l=d.length;l>h;r=++h)if(a=d[r],a.soak)return a.soak=!1,n=new s(t.base,t.properties.slice(0,r)),u=new s(t.base,t.properties.slice(r)),n.isComplex()&&(c=new R(e.scope.freeVariable("ref")),n=new H(new i(c,n)),u.base=c),new F(new m(n),u,{soak:!0});return!1}()},s.prototype.icedToSlot=function(e){var t,n;return this.base instanceof B?this.base.icedToSlot(e):(t=null,this.properties&&this.properties.length&&(n=this.properties.pop()),new K(e,this,n))},s.prototype.icedToSlotAccess=function(){return this["this"]?this.properties[0]:new t(this)},s}(r),e.Comment=p=function(e){function t(e){this.comment=e,t.__super__.constructor.call(this)}return Dt(t,e),t.prototype.isStatement=ot,t.prototype.makeReturn=et,t.prototype.compileNode=function(e,t){var n;return n="/*"+bt(this.comment,this.tab)+(Et.call(this.comment,"\n")>=0?"\n"+this.tab:"")+"*/",(t||e.level)===I&&(n=e.indent+n),[this.makeCode("\n"),this.makeCode(n)]},t}(r),e.Call=a=function(e){function n(e,t,i){this.args=null!=t?t:[],this.soak=i,n.__super__.constructor.call(this),this.isNew=!1,this.isSuper="super"===e,this.variable=this.isSuper?null:e}return Dt(n,e),n.prototype.children=["variable","args"],n.prototype.newInstance=function(){var e,t;return e=(null!=(t=this.variable)?t.base:void 0)||this.variable,e instanceof n&&!e.isNew?e.newInstance():this.isNew=!0,this},n.prototype.superReference=function(e){var n,i;return i=e.scope.namedMethod(),(null!=i?i.klass:void 0)?(n=[new t(new R("__super__"))],i["static"]&&n.push(new t(new R("constructor"))),n.push(new t(new R(i.name))),new st(new R(i.klass),n).compile(e)):(null!=i?i.ctor:void 0)?""+i.name+".__super__.constructor":this.error("cannot call super outside of an instance method.")},n.prototype.superThis=function(e){var t;return e.scope.icedgen?"_this":(t=e.scope.method,t&&!t.klass&&t.context||"this")},n.prototype.unfoldSoak=function(e){var t,i,s,r,o,a,c,u,h;if(this.soak){if(this.variable){if(i=_t(e,this,"variable"))return i;u=new st(this.variable).cacheReference(e),s=u[0],o=u[1]}else s=new R(this.superReference(e)),o=new st(s);return o=new n(o,this.args),o.isNew=this.isNew,s=new R("typeof "+s.compile(e)+' === "function"'),new F(s,new st(o),{soak:!0})}for(t=this,r=[];;)if(t.variable instanceof n)r.push(t),t=t.variable;else{if(!(t.variable instanceof st))break;if(r.push(t),!((t=t.variable.base)instanceof n))break}for(h=r.reverse(),a=0,c=h.length;c>a;a++)t=h[a],i&&(t.variable instanceof n?t.variable=i:t.variable.base=i),i=_t(e,t,"variable");return i},n.prototype.compileNode=function(e){var t,n,i,s,r,o,a,c,u,h;if(null!=(u=this.variable)&&(u.front=this.front),s=J.compileSplattedArray(e,this.args,!0),s.length)return this.compileSplat(e,s);for(i=[],h=this.args,n=a=0,c=h.length;c>a;n=++a)t=h[n],t.icedStatementAssertion(),n&&i.push(this.makeCode(", ")),i.push.apply(i,t.compileToFragments(e,E));return r=[],this.isSuper?(o=this.superReference(e)+(".call("+this.superThis(e)),i.length&&(o+=", "),r.push(this.makeCode(o))):(this.isNew&&r.push(this.makeCode("new ")),r.push.apply(r,this.variable.compileToFragments(e,N)),r.push(this.makeCode("("))),r.push.apply(r,i),r.push(this.makeCode(")")),r},n.prototype.compileSplat=function(e,t){var n,i,s,r,o,a;return this.isSuper?[].concat(this.makeCode(""+this.superReference(e)+".apply("+this.superThis(e)+", "),t,this.makeCode(")")):this.isNew?(r=this.tab+Z,[].concat(this.makeCode("(function(func, args, ctor) {\n"+r+"ctor.prototype = func.prototype;\n"+r+"var child = new ctor, result = func.apply(child, args);\n"+r+"return Object(result) === result ? result : child;\n"+this.tab+"})("),this.variable.compileToFragments(e,E),this.makeCode(", "),t,this.makeCode(", function(){})"))):(n=[],i=new st(this.variable),(o=i.properties.pop())&&i.isComplex()?(a=e.scope.freeVariable("ref"),n=n.concat(this.makeCode("("+a+" = "),i.compileToFragments(e,E),this.makeCode(")"),o.compileToFragments(e))):(s=i.compileToFragments(e,N),G.test(dt(s))&&(s=this.wrapInBraces(s)),o?(a=dt(s),s.push.apply(s,o.compileToFragments(e))):a="null",n=n.concat(s)),n=n.concat(this.makeCode(".apply("+a+", "),t,this.makeCode(")")))},n}(r),e.Extends=w=function(e){function t(e,n){this.child=e,this.parent=n,t.__super__.constructor.call(this)}return Dt(t,e),t.prototype.children=["child","parent"],t.prototype.compileToFragments=function(e){return new a(new st(new R(Ct("extends"))),[this.child,this.parent]).compileToFragments(e)},t}(r),e.Access=t=function(e){function t(e,n){this.name=e,t.__super__.constructor.call(this),this.name.asKey=!0,this.soak="soak"===n}return Dt(t,e),t.prototype.children=["name"],t.prototype.compileToFragments=function(e){var t;return t=this.name.compileToFragments(e),b.test(dt(t))||this.name instanceof f?t.unshift(this.makeCode(".")):(t.unshift(this.makeCode("[")),t.push(this.makeCode("]"))),t},t.prototype.isComplex=P,t}(r),e.Index=L=function(e){function t(e){this.index=e,t.__super__.constructor.call(this)}return Dt(t,e),t.prototype.children=["index"],t.prototype.compileToFragments=function(e){return[].concat(this.makeCode("["),this.index.compileToFragments(e,S),this.makeCode("]"))},t.prototype.isComplex=function(){return this.index.isComplex()},t}(r),e.Range=W=function(e){function t(e,n,i){this.from=e,this.to=n,t.__super__.constructor.call(this),this.exclusive="exclusive"===i,this.equals=this.exclusive?"":"="}return Dt(t,e),t.prototype.children=["from","to"],t.prototype.compileVariables=function(e){var t,n,i,s,r;return e=gt(e,{top:!0}),n=this.cacheToCodeFragments(this.from.cache(e,E)),this.fromC=n[0],this.fromVar=n[1],i=this.cacheToCodeFragments(this.to.cache(e,E)),this.toC=i[0],this.toVar=i[1],(t=ut(e,"step"))&&(s=this.cacheToCodeFragments(t.cache(e,E)),this.step=s[0],this.stepVar=s[1]),r=[this.fromVar.match(G),this.toVar.match(G)],this.fromNum=r[0],this.toNum=r[1],this.stepVar?this.stepNum=this.stepVar.match(G):void 0},t.prototype.compileNode=function(e){var t,n,i,s,r,o,a,c,u,h,l,p,d,f;return this.fromVar||this.compileVariables(e),e.index?(a=this.fromNum&&this.toNum,r=ut(e,"index"),o=ut(e,"name"),u=o&&o!==r,p=""+r+" = "+this.fromC,this.toC!==this.toVar&&(p+=", "+this.toC),this.step!==this.stepVar&&(p+=", "+this.step),d=[""+r+" <"+this.equals,""+r+" >"+this.equals],c=d[0],s=d[1],n=this.stepNum?+this.stepNum>0?""+c+" "+this.toVar:""+s+" "+this.toVar:a?(f=[+this.fromNum,+this.toNum],i=f[0],l=f[1],f,l>=i?""+c+" "+l:""+s+" "+l):(t=this.stepVar?""+this.stepVar+" > 0":""+this.fromVar+" <= "+this.toVar,""+t+" ? "+c+" "+this.toVar+" : "+s+" "+this.toVar),h=this.stepVar?""+r+" += "+this.stepVar:a?u?l>=i?"++"+r:"--"+r:l>=i?""+r+"++":""+r+"--":u?""+t+" ? ++"+r+" : --"+r:""+t+" ? "+r+"++ : "+r+"--",u&&(p=""+o+" = "+p),u&&(h=""+o+" = "+h),[this.makeCode(""+p+"; "+n+"; "+h)]):this.compileArray(e) +},t.prototype.compileArray=function(e){var t,n,i,s,r,o,a,c,u,h,l,p,d;return this.fromNum&&this.toNum&&20>=Math.abs(this.fromNum-this.toNum)?(u=function(){d=[];for(var e=p=+this.fromNum,t=+this.toNum;t>=p?t>=e:e>=t;t>=p?e++:e--)d.push(e);return d}.apply(this),this.exclusive&&u.pop(),[this.makeCode("["+u.join(", ")+"]")]):(o=this.tab+Z,r=e.scope.freeVariable("i"),h=e.scope.freeVariable("results"),c="\n"+o+h+" = [];",this.fromNum&&this.toNum?(e.index=r,n=dt(this.compileNode(e))):(l=""+r+" = "+this.fromC+(this.toC!==this.toVar?", "+this.toC:""),i=""+this.fromVar+" <= "+this.toVar,n="var "+l+"; "+i+" ? "+r+" <"+this.equals+" "+this.toVar+" : "+r+" >"+this.equals+" "+this.toVar+"; "+i+" ? "+r+"++ : "+r+"--"),a="{ "+h+".push("+r+"); }\n"+o+"return "+h+";\n"+e.indent,s=function(e){return null!=e?e.contains(function(e){return e instanceof R&&"arguments"===e.value&&!e.asKey}):void 0},(s(this.from)||s(this.to))&&(t=", arguments"),[this.makeCode("(function() {"+c+"\n"+o+"for ("+n+")"+a+"}).apply(this"+(null!=t?t:"")+")")])},t}(r),e.Slice=z=function(e){function t(e){this.range=e,t.__super__.constructor.call(this)}return Dt(t,e),t.prototype.children=["range"],t.prototype.compileNode=function(e){var t,n,i,s,r,o,a;return a=this.range,r=a.to,i=a.from,s=i&&i.compileToFragments(e,S)||[this.makeCode("0")],r&&(t=r.compileToFragments(e,S),n=dt(t),(this.range.exclusive||-1!==+n)&&(o=", "+(this.range.exclusive?n:G.test(n)?""+(+n+1):(t=r.compileToFragments(e,N),"+"+dt(t)+" + 1 || 9e9")))),[this.makeCode(".slice("+dt(s)+(o||"")+")")]},t}(r),e.Obj=B=function(e){function t(e,n){this.generated=null!=n?n:!1,this.objects=this.properties=e||[],t.__super__.constructor.call(this)}return Dt(t,e),t.prototype.children=["properties"],t.prototype.compileNode=function(e){var t,n,s,r,o,a,c,u,h,l,d,f,m;if(h=this.properties,!h.length)return[this.makeCode(this.front?"({})":"{}")];if(this.generated)for(l=0,f=h.length;f>l;l++)c=h[l],c instanceof st&&c.error("cannot have an implicit value in an implicit object");for(s=e.indent+=Z,a=this.lastNonComment(this.properties),t=[],n=d=0,m=h.length;m>d;n=++d)u=h[n],o=n===h.length-1?"":u===a||u instanceof p?"\n":",\n",r=u instanceof p?"":s,u instanceof i&&u.variable instanceof st&&u.variable.hasProperties()&&u.variable.error("Invalid object key"),u instanceof st&&u["this"]&&(u=new i(u.properties[0].name,u,"object")),u instanceof p||(u instanceof i||(u=new i(u,u,"object")),(u.variable.base||u.variable).asKey=!0),r&&t.push(this.makeCode(r)),t.push.apply(t,u.compileToFragments(e,I)),o&&t.push(this.makeCode(o));return t.unshift(this.makeCode("{"+(h.length&&"\n"))),t.push(this.makeCode(""+(h.length&&"\n"+this.tab)+"}")),this.front?this.wrapInBraces(t):t},t.prototype.assigns=function(e){var t,n,i,s;for(s=this.properties,n=0,i=s.length;i>n;n++)if(t=s[n],t.assigns(e))return!0;return!1},t.prototype.icedToSlot=function(e){var t,n,s,r,o,a;for(o=this.properties,a=[],s=0,r=o.length;r>s;s++)n=o[s],n instanceof i?a.push(n.value.icedToSlot(e).addAccess(n.variable.icedToSlotAccess())):n instanceof st?(t=n.icedToSlotAccess(),a.push(n.icedToSlot(e).addAccess(t))):a.push(void 0);return a},t}(r),e.Arr=n=function(e){function t(e){this.objects=e||[],t.__super__.constructor.call(this)}return Dt(t,e),t.prototype.children=["objects"],t.prototype.compileNode=function(e){var t,n,i,s,r,o,a;if(!this.objects.length)return[this.makeCode("[]")];if(e.indent+=Z,t=J.compileSplattedArray(e,this.objects),t.length)return t;for(t=[],n=function(){var t,n,i,s;for(i=this.objects,s=[],t=0,n=i.length;n>t;t++)r=i[t],s.push(r.compileToFragments(e,E));return s}.call(this),s=o=0,a=n.length;a>o;s=++o)i=n[s],s&&t.push(this.makeCode(", ")),t.push.apply(t,i);return dt(t).indexOf("\n")>=0?(t.unshift(this.makeCode("[\n"+e.indent)),t.push(this.makeCode("\n"+this.tab+"]"))):(t.unshift(this.makeCode("[")),t.push(this.makeCode("]"))),t},t.prototype.assigns=function(e){var t,n,i,s;for(s=this.objects,n=0,i=s.length;i>n;n++)if(t=s[n],t.assigns(e))return!0;return!1},t}(r),e.Class=c=function(e){function n(e,t,i){this.variable=e,this.parent=t,this.body=null!=i?i:new o,n.__super__.constructor.call(this),this.boundFuncs=[],this.body.classBody=!0}return Dt(n,e),n.prototype.children=["variable","parent","body"],n.prototype.determineName=function(){var e,n;return this.variable?(e=(n=mt(this.variable.properties))?n instanceof t&&n.name.value:this.variable.base.value,Et.call(X,e)>=0&&this.variable.error("class variable name may not be "+e),e&&(e=b.test(e)&&e)):null},n.prototype.setContext=function(e){return this.body.traverseChildren(!1,function(t){return t.classBody?!1:t instanceof R&&"this"===t.value?t.value=e:t instanceof h&&(t.klass=e,t.bound)?t.context=e:void 0})},n.prototype.addBoundFunctions=function(e){var n,i,s,r,o;for(o=this.boundFuncs,s=0,r=o.length;r>s;s++)n=o[s],i=new st(new R("this"),[new t(n)]).compile(e),this.ctor.body.unshift(new R(""+i+" = "+Ct("bind")+"("+i+", this)"))},n.prototype.addProperties=function(e,n,s){var r,o,a,c,u;return u=e.base.properties.slice(0),a=function(){var e;for(e=[];r=u.shift();)r instanceof i&&(o=r.variable.base,delete r.context,c=r.value,"constructor"===o.value?(this.ctor&&r.error("cannot define more than one constructor in a class"),c.bound&&r.error("cannot define a constructor as a bound function"),c instanceof h?r=this.ctor=c:(this.externalCtor=s.scope.freeVariable("class"),r=new i(new R(this.externalCtor),c))):r.variable["this"]?(c["static"]=!0,c.bound&&(c.context=n)):(r.variable=new st(new R(n),[new t(new R("prototype")),new t(o)]),c instanceof h&&c.bound&&(this.boundFuncs.push(o),c.bound=!1))),e.push(r);return e}.call(this),ct(a)},n.prototype.walkBody=function(e,t){var i=this;return this.traverseChildren(!1,function(s){var r,a,c,u,h,l,p;if(r=!0,s instanceof n)return!1;if(s instanceof o){for(p=a=s.expressions,c=h=0,l=p.length;l>h;c=++h)u=p[c],u instanceof st&&u.isObject(!0)&&(r=!1,a[c]=i.addProperties(u,e,t));s.expressions=a=pt(a)}return r&&!(s instanceof n)})},n.prototype.hoistDirectivePrologue=function(){var e,t,n;for(t=0,e=this.body.expressions;(n=e[t])&&n instanceof p||n instanceof st&&n.isString();)++t;return this.directives=e.splice(0,t)},n.prototype.ensureConstructor=function(e,t){var n,s,r;return n=!this.ctor,this.ctor||(this.ctor=new h),this.ctor.ctor=this.ctor.name=e,this.ctor.klass=null,this.ctor.noReturn=!0,n?(this.parent&&(r=new R(""+e+".__super__.constructor.apply(this, arguments)")),this.externalCtor&&(r=new R(""+this.externalCtor+".apply(this, arguments)")),r&&(s=new R(t.scope.freeVariable("ref")),this.ctor.body.unshift(new i(s,r))),this.addBoundFunctions(t),r&&(this.ctor.body.push(s),this.ctor.body.makeReturn()),this.body.expressions.unshift(this.ctor)):this.addBoundFunctions(t)},n.prototype.compileNode=function(e){var t,n,s,r,o,a,c;return n=this.determineName(),o=n||"_Class",o.reserved&&(o="_"+o),r=new R(o),this.hoistDirectivePrologue(),this.setContext(o),this.walkBody(o,e),this.ensureConstructor(o,e),this.body.spaced=!0,this.ctor instanceof h||this.body.expressions.unshift(this.ctor),this.body.expressions.push(r),(c=this.body.expressions).unshift.apply(c,this.directives),t=u.wrap(this.body),this.parent&&(this.superClass=new R(e.scope.freeVariable("super",!1)),this.body.expressions.unshift(new w(r,this.superClass)),t.args.push(this.parent),a=t.variable.params||t.variable.base.params,a.push(new M(this.superClass))),s=new H(t,!0),this.variable&&(s=new i(this.variable,s)),s.compileToFragments(e)},n}(r),e.Assign=i=function(e){function n(e,t,i,s){var r,o,a;this.variable=e,this.value=t,this.context=i,n.__super__.constructor.call(this),this.param=s&&s.param,this.subpattern=s&&s.subpattern,a=o=this.variable.unwrapAll().value,r=Et.call(X,a)>=0,r&&"object"!==this.context&&this.variable.error('variable name may not be "'+o+'"'),this.icedlocal=s&&s.icedlocal}return Dt(n,e),n.prototype.children=["variable","value"],n.prototype.isStatement=function(e){return(null!=e?e.level:void 0)===I&&null!=this.context&&Et.call(this.context,"?")>=0},n.prototype.assigns=function(e){return this["object"===this.context?"value":"variable"].assigns(e)},n.prototype.unfoldSoak=function(e){return _t(e,this,"variable")},n.prototype.compileNode=function(e){var t,n,i,s,r,o,a,c,u,l,p;if(this.value.icedStatementAssertion(),i=this.variable instanceof st){if(this.variable.isArray()||this.variable.isObject())return this.compilePatternMatch(e);if(this.variable.isSplice())return this.compileSplice(e);if("||="===(c=this.context)||"&&="===c||"?="===c)return this.compileConditional(e)}return n=this.variable.compileToFragments(e,E),r=dt(n),this.context||(a=this.variable.unwrapAll(),a.isAssignable()||this.variable.error('"'+this.variable.compile(e)+'" cannot be assigned'),("function"==typeof a.hasProperties?a.hasProperties():void 0)||(this.param||this.icedlocal?e.scope.add(r,"var",this.icedlocal):e.scope.find(r))),this.value instanceof h&&(s=$.exec(r))&&(s[1]&&(this.value.klass=s[1]),this.value.name=null!=(u=null!=(l=null!=(p=s[2])?p:s[3])?l:s[4])?u:s[5]),o=this.value.compileToFragments(e,E),"object"===this.context?n.concat(this.makeCode(": "),o):(t=n.concat(this.makeCode(" "+(this.context||"=")+" "),o),E>=e.level?t:this.wrapInBraces(t))},n.prototype.compilePatternMatch=function(e){var i,s,r,o,a,c,u,h,l,p,d,f,m,w,g,v,y,k,_,C,F,T,x,N,D,S,$,O;if(v=e.level===I,k=this.value,d=this.variable.base.objects,!(f=d.length))return r=k.compileToFragments(e),e.level>=A?this.wrapInBraces(r):r;if(u=this.variable.isObject(),v&&1===f&&!((p=d[0])instanceof J))return p instanceof n?(x=p,N=x.variable,c=N.base,p=x.value):c=u?p["this"]?p.properties[0].name:p:new R(0),i=b.test(c.unwrap().value||0),k=new st(k),k.properties.push(new(i?t:L)(c)),D=p.unwrap().value,Et.call(U,D)>=0&&p.error("assignment to a reserved word: "+p.compile(e)),new n(p,k,null,{param:this.param}).compileToFragments(e,I);for(_=k.compileToFragments(e,E),C=dt(_),s=[],g=!1,(!b.test(C)||this.variable.assigns(C))&&(s.push([this.makeCode(""+(m=e.scope.freeVariable("ref"))+" = ")].concat(At.call(_))),_=[this.makeCode(m)],C=m),a=F=0,T=d.length;T>F;a=++F)p=d[a],c=a,u&&(p instanceof n?(S=p,$=S.variable,c=$.base,p=S.value):p.base instanceof H?(O=new st(p.unwrapAll()).cacheReference(e),p=O[0],c=O[1]):c=p["this"]?p.properties[0].name:p),!g&&p instanceof J?(l=p.name.unwrap().value,p=p.unwrap(),y=""+f+" <= "+C+".length ? "+Ct("slice")+".call("+C+", "+a,(w=f-a-1)?(h=e.scope.freeVariable("i"),y+=", "+h+" = "+C+".length - "+w+") : ("+h+" = "+a+", [])"):y+=") : []",y=new R(y),g=""+h+"++"):(l=p.unwrap().value,p instanceof J&&p.error("multiple splats are disallowed in an assignment"),"number"==typeof c?(c=new R(g||c),i=!1):i=u&&b.test(c.unwrap().value||0),y=new st(new R(C),[new(i?t:L)(c)])),null!=l&&Et.call(U,l)>=0&&p.error("assignment to a reserved word: "+p.compile(e)),s.push(new n(p,y,null,{param:this.param,subpattern:!0}).compileToFragments(e,E));return v||this.subpattern||s.push(_),o=this.joinFragmentArrays(s,", "),E>e.level?o:this.wrapInBraces(o)},n.prototype.compileConditional=function(e){var t,i,s;return s=this.variable.cacheReference(e),t=s[0],i=s[1],!t.properties.length&&t.base instanceof R&&"this"!==t.base.value&&!e.scope.check(t.base.value)&&this.variable.error('the variable "'+t.base.value+"\" can't be assigned with "+this.context+" because it has not been declared before"),Et.call(this.context,"?")>=0&&(e.isExistentialEquals=!0),new V(this.context.slice(0,-1),t,new n(i,this.value,"=")).compileToFragments(e)},n.prototype.compileSplice=function(e){var t,n,i,s,r,o,a,c,u,h,l,p;return h=this.variable.properties.pop().range,i=h.from,a=h.to,n=h.exclusive,o=this.variable.compile(e),i?(l=this.cacheToCodeFragments(i.cache(e,A)),s=l[0],r=l[1]):s=r="0",a?(null!=i?i.isSimpleNumber():void 0)&&a.isSimpleNumber()?(a=+a.compile(e)-+r,n||(a+=1)):(a=a.compile(e,N)+" - "+r,n||(a+=" + 1")):a="9e9",p=this.value.cache(e,E),c=p[0],u=p[1],t=[].concat(this.makeCode("[].splice.apply("+o+", ["+s+", "+a+"].concat("),c,this.makeCode(")), "),u),e.level>I?this.wrapInBraces(t):t},n}(r),e.Code=h=function(e){function s(e,t,n){s.__super__.constructor.call(this),this.params=e||[],this.body=t||new o,this.icedgen="icedgen"===n,this.bound="boundfunc"===n||this.icedgen,(this.bound||this.icedgen)&&(this.context="_this"),this.icedPassedDeferral=null}return Dt(s,e),s.prototype.children=["params","body"],s.prototype.isStatement=function(){return!!this.ctor},s.prototype.jumps=P,s.prototype.compileNode=function(e){var t,s,r,o,a,c,u,h,l,p,d,f,m,w,g,b,v,y,k,_,C,T,L,x,D,E,A,S,I;for(e.scope=new Y(e.scope,this.body,this),e.scope.shared=ut(e,"sharedScope")||this.icedgen,e.scope.icedgen=this.icedgen,e.indent+=Z,delete e.bare,delete e.isExistentialEquals,l=[],r=[],this.eachParamName(function(t){return e.scope.check(t)?void 0:e.scope.parameter(t)}),D=this.params,g=0,k=D.length;k>g;g++)if(h=D[g],h.splat){for(E=this.params,b=0,_=E.length;_>b;b++)u=E[b].name,u["this"]&&(u=u.properties[0].name),u.value&&e.scope.add(u.value,"var",!0);d=new i(new st(new n(function(){var t,n,i,s;for(i=this.params,s=[],t=0,n=i.length;n>t;t++)u=i[t],s.push(u.asReference(e));return s}.call(this))),new st(new R("arguments")));break}for(A=this.params,v=0,C=A.length;C>v;v++)h=A[v],h.isComplex()?(m=p=h.asReference(e),h.value&&(m=new V("?",p,h.value)),r.push(new i(new st(h.name),m,"=",{param:!0}))):(p=h,h.value&&(c=new R(p.name.value+" == null"),m=new i(new st(h.name),h.value,"="),r.push(new F(c,m)))),d||l.push(p);for(w=this.body.isEmpty(),d&&r.unshift(d),r.length&&(S=this.body.expressions).unshift.apply(S,r),o=y=0,T=l.length;T>y;o=++y)u=l[o],l[o]=u.compileToFragments(e),e.scope.parameter(dt(l[o]));for(f=[],this.eachParamName(function(e,t){return Et.call(f,e)>=0&&t.error("multiple parameters named '"+e+"'"),f.push(e)}),this.icedHasAutocbFlag&&(w=!1),w||this.noReturn||this.body.makeReturn(),this.bound&&((null!=(I=e.scope.parent.method)?I.bound:void 0)?this.bound=this.context=e.scope.parent.method.context:this["static"]||e.scope.parent.assign("_this","this")),a=e.indent,s="function",this.ctor&&(s+=" "+this.name),s+="(",t=[this.makeCode(s)],o=x=0,L=l.length;L>x;o=++x)u=l[o],o&&t.push(this.makeCode(", ")),t.push.apply(t,u);return t.push(this.makeCode(") {")),this.icedPatchBody(e),this.body.isEmpty()||(t=t.concat(this.makeCode("\n"),this.body.compileWithDeclarations(e),this.makeCode("\n"+this.tab))),t.push(this.makeCode("}")),this.ctor?[this.makeCode(this.tab)].concat(At.call(t)):this.front||e.level>=N?this.wrapInBraces(t):t},s.prototype.eachParamName=function(e){var t,n,i,s,r;for(s=this.params,r=[],n=0,i=s.length;i>n;n++)t=s[n],r.push(t.eachName(e));return r},s.prototype.traverseChildren=function(e,t){return e?s.__super__.traverseChildren.call(this,e,t):void 0},s.prototype.icedPatchBody=function(e){var n,s,r,o;return this.icedFoundArguments&&this.icedNodeFlag&&e.scope.assign("_arguments","arguments"),this.icedNodeFlag&&!this.icedgen&&(this.icedPassedDeferral=e.scope.freeVariable(ft["const"].passed_deferral),s=new st(new R(this.icedPassedDeferral)),n=new st(new R(ft["const"].ns)),n.add(new t(new st(new R(ft["const"].findDeferral)))),o=new a(n,[new st(new R("arguments"))]),this.body.unshift(new i(s,o))),this.icedNodeFlag&&!this.icedgen?(r=this.icedHasAutocbFlag?ft["const"].autocb:ft["const"].k_noop,o=new st(new R(r)),s=new st(new R(ft["const"].k)),this.body.unshift(new i(s,o,null,{icedlocal:!0}))):void 0},s.prototype.icedWalkAst=function(e,t){var n,i,r,o,a,c,u,h;for(this.icedParentAwait=e,i=t.foundAutocb,n=t.currFunc,o=t.foundArguments,r=t.foundAwaitFunc,t.foundAutocb=!1,t.foundArguments=!1,t.foundAwaitFunc=!1,t.currFunc=this,h=this.params,c=0,u=h.length;u>c;c++)if(a=h[c],a.name instanceof R&&a.name.value===ft["const"].autocb){t.foundAutocb=!0;break}return this.icedHasAutocbFlag=t.foundAutocb,s.__super__.icedWalkAst.call(this,e,t),this.icedFoundArguments=t.foundArguments,t.foundAwaitFunc=r,t.foundArguments=o,t.foundAutocb=i,t.currFunc=n,!1},s.prototype.icedWalkAstLoops=function(){return s.__super__.icedWalkAstLoops.call(this,!1)&&(this.icedLoopFlag=!0),!1},s.prototype.icedWalkCpsPivots=function(){return s.__super__.icedWalkCpsPivots.call(this),this.icedCpsPivotFlag=!1},s.prototype.icedTraceName=function(){var e;return e=[],this.klass&&e.push(this.klass),this.name&&e.push(this.name),e.join(".")},s}(r),e.Param=M=function(e){function t(e,n,i){var s;this.name=e,this.value=n,this.splat=i,t.__super__.constructor.call(this),s=e=this.name.unwrapAll().value,Et.call(X,s)>=0&&this.name.error('parameter name "'+e+'" is not allowed')}return Dt(t,e),t.prototype.children=["name","value"],t.prototype.compileToFragments=function(e){return this.name.compileToFragments(e,E)},t.prototype.asReference=function(e){var t;return this.reference?this.reference:(t=this.name,t["this"]?(t=t.properties[0].name,t.value.reserved&&(t=new R(e.scope.freeVariable(t.value)))):t.isComplex()&&(t=new R(e.scope.freeVariable("arg"))),t=new st(t),this.splat&&(t=new J(t)),this.reference=t)},t.prototype.isComplex=function(){return this.name.isComplex()},t.prototype.eachName=function(e,t){var n,s,r,o,a,c;if(null==t&&(t=this.name),n=function(t){var n;return n=t.properties[0].name,n.value.reserved?void 0:e(n.value,n)},t instanceof R)return e(t.value,t);if(t instanceof st)return n(t);for(c=t.objects,o=0,a=c.length;a>o;o++)r=c[o],r instanceof i?this.eachName(e,r.value.unwrap()):r instanceof J?(s=r.name.unwrap(),e(s.value,s)):r instanceof st?r.isArray()||r.isObject()?this.eachName(e,r.base):r["this"]?n(r):e(r.base.value,r.base):r.error("illegal parameter "+r.compile())},t}(r),e.Splat=J=function(e){function t(e){t.__super__.constructor.call(this),this.name=e.compile?e:new R(e)}return Dt(t,e),t.prototype.children=["name"],t.prototype.isAssignable=ot,t.prototype.assigns=function(e){return this.name.assigns(e)},t.prototype.compileToFragments=function(e){return this.name.compileToFragments(e)},t.prototype.unwrap=function(){return this.name},t.compileSplattedArray=function(e,n,i){var s,r,o,a,c,u,h,l,p,d;for(h=-1;(l=n[++h])&&!(l instanceof t););if(h>=n.length)return[];if(1===n.length)return l=n[0],c=l.compileToFragments(e,E),i?c:[].concat(l.makeCode(""+Ct("slice")+".call("),c,l.makeCode(")"));for(s=n.slice(h),u=p=0,d=s.length;d>p;u=++p)l=s[u],o=l.compileToFragments(e,E),s[u]=l instanceof t?[].concat(l.makeCode(""+Ct("slice")+".call("),o,l.makeCode(")")):[].concat(l.makeCode("["),o,l.makeCode("]"));return 0===h?(l=n[0],a=l.joinFragmentArrays(s.slice(1),", "),s[0].concat(l.makeCode(".concat("),a,l.makeCode(")"))):(r=function(){var t,i,s,r;for(s=n.slice(0,h),r=[],t=0,i=s.length;i>t;t++)l=s[t],r.push(l.compileToFragments(e,E));return r}(),r=n[0].joinFragmentArrays(r,", "),a=n[h].joinFragmentArrays(s,", "),[].concat(n[0].makeCode("["),r,n[h].makeCode("].concat("),a,mt(n).makeCode(")")))},t.prototype.icedToSlot=function(e){return new K(e,new st(this.name),null,!0)},t}(r),e.While=rt=function(e){function s(e,t){this.condition=(null!=t?t.invert:void 0)?e.invert():e,this.guard=null!=t?t.guard:void 0}return Dt(s,e),s.prototype.children=["condition","guard","body"],s.prototype.isStatement=ot,s.prototype.isLoop=ot,s.prototype.makeReturn=function(e){return e?s.__super__.makeReturn.apply(this,arguments):(this.returns=!this.jumps({loop:!0}),this)},s.prototype.addBody=function(e){return this.body=e,this},s.prototype.jumps=function(){var e,t,n,i;if(e=this.body.expressions,!e.length)return!1;for(n=0,i=e.length;i>n;n++)if(t=e[n],t.jumps({loop:!0}))return t;return!1},s.prototype.compileNode=function(e){var t,n,i,s;return this.condition.icedStatementAssertion(),this.icedNodeFlag?this.icedCompileIced(e):(e.indent+=Z,s="",n=this.body,n.isEmpty()?n=this.makeCode(""):(this.returns&&(n.makeReturn(i=e.scope.freeVariable("results")),s=""+this.tab+i+" = [];\n"),this.guard&&(n.expressions.length>1?n.expressions.unshift(new F(new H(this.guard).invert(),new R("continue"))):this.guard&&(n=o.wrap([new F(this.guard,n)]))),n=[].concat(this.makeCode("\n"),n.compileToFragments(e,I),this.makeCode("\n"+this.tab))),t=[].concat(this.makeCode(s+this.tab+"while ("),this.condition.compileToFragments(e,S),this.makeCode(") {"),n,this.makeCode("}")),this.returns&&(this.icedHasAutocbFlag?(t.push(this.makeCode("\n"+this.tab+ft["const"].autocb+"("+i+");")),t.push(this.makeCode("\n"+this.tab+"return;"))):t.push(this.makeCode("\n"+this.tab+"return "+i+";"))),t)},s.prototype.icedWrap=function(e){var s,r,c,u,l,p,d,f,m,w,g,b,v,y,k,_,C,T,L,x,N,D,E,A,S,I,$,O,P,j,B,V,H,U,W,q,G;return w=e.condition,s=e.body,$=e.rvar,I=[],$&&(P=new st(new R($))),W=new st(new R(ft["const"].t_while)),L=new st(new R(ft["const"].k)),x=new M(new R(ft["const"].k)),p=new st(new R(ft["const"].b_while)),$?(l=new a(L,[P]),c=new o([l]),u=new h([],c,"icedgen"),r=new i(p,u,null,{icedlocal:!0})):r=new i(p,L,null,{icedlocal:!0}),_=new st(new R(ft["const"].c_while)),v=new o([new a(W,[L])]),e.step&&v.unshift(e.step),k=new h([],v),G=new st(new R(ft["const"].ns)),G.add(new t(new st(new R(ft["const"].trampoline)))),b=new o([new a(G,[k])]),y=new h([],b,"icedgen"),g=new i(_,y,null,{icedlocal:!0}),S=new st(new R(ft["const"].n_while)),$?(N=new M(new R(ft["const"].n_arg)),C=P.copy(),C.add(new t(new st(new R("push")))),d=new a(C,[N]),f=new a(_,[]),E=new o([d,f]),A=new h([N],E,"icedgen"),D=new i(S,A,null,{icedlocal:!0})):D=new i(S,_),m=new F(w.invert(),new o([new a(p,[])])),e.guard?(b=new o([new a(_,[])]),T=new F(e.guard,s),T.addElse(b),m.addElse(new o([e.pre_body,T]))):m.addElse(new o([e.pre_body,s])),V=new o([r,g,D,m]),U=new h([x],V,"icedgen"),j=new i(W,U,null,{icedlocal:!0}),H=new a(W,[L]),q=[],e.init&&(q=q.concat(e.init)),$&&(O=new i(P,new n),q.push(O)),q=q.concat([j,H]),B=new o(q)},s.prototype.icedCallContinuation=function(){return this.body.icedThreadReturn(new C(ft["const"].n_while))},s.prototype.icedCompileIced=function(e){var t,n;return n={condition:this.condition,body:this.body,guard:this.guard},this.returns&&(n.rvar=e.scope.freeVariable("results")),t=this.icedWrap(n),t.compileNode(e)},s}(r),e.Op=V=function(e){function t(e,i,s,r){if(t.__super__.constructor.call(this),"in"===e)return new T(i,s);if("do"===e)return this.generateDo(i);if("new"===e){if(i instanceof a&&!i["do"]&&!i.isNew)return i.newInstance();(i instanceof h&&i.bound||i["do"])&&(i=new H(i))}return this.operator=n[e]||e,this.first=i,this.second=s,this.flip=!!r,this}var n,s;return Dt(t,e),n={"==":"===","!=":"!==",of:"in"},s={"!==":"===","===":"!=="},t.prototype.children=["first","second"],t.prototype.isSimpleNumber=P,t.prototype.isUnary=function(){return!this.second},t.prototype.isComplex=function(){var e;return!(this.isUnary()&&("+"===(e=this.operator)||"-"===e))||this.first.isComplex()},t.prototype.isChainable=function(){var e;return"<"===(e=this.operator)||">"===e||">="===e||"<="===e||"==="===e||"!=="===e},t.prototype.invert=function(){var e,n,i,r,o;if(this.isChainable()&&this.first.isChainable()){for(e=!0,n=this;n&&n.operator;)e&&(e=n.operator in s),n=n.first;if(!e)return new H(this).invert();for(n=this;n&&n.operator;)n.invert=!n.invert,n.operator=s[n.operator],n=n.first;return this}return(r=s[this.operator])?(this.operator=r,this.first.unwrap()instanceof t&&this.first.invert(),this):this.second?new H(this).invert():"!"===this.operator&&(i=this.first.unwrap())instanceof t&&("!"===(o=i.operator)||"in"===o||"instanceof"===o)?i:new t("!",this)},t.prototype.unfoldSoak=function(e){var t;return("++"===(t=this.operator)||"--"===t||"delete"===t)&&_t(e,this,"first")},t.prototype.generateDo=function(e){var t,n,s,r,o,c,u,l;for(r=[],n=e instanceof i&&(o=e.value.unwrap())instanceof h?o:e,l=n.params||[],c=0,u=l.length;u>c;c++)s=l[c],s.value?(r.push(s.value),delete s.value):r.push(s);return t=new a(e,r),t["do"]=!0,t},t.prototype.compileNode=function(e){var t,n,i,s;return n=this.isChainable()&&this.first.isChainable(),n||(this.first.front=this.front),"delete"===this.operator&&e.scope.check(this.first.unwrapAll().value)&&this.error("delete operand may not be argument or var"),("--"===(i=this.operator)||"++"===i)&&(s=this.first.unwrapAll().value,Et.call(X,s)>=0)&&this.error('cannot increment/decrement "'+this.first.unwrapAll().value+'"'),this.isUnary()?this.compileUnary(e):n?this.compileChain(e):"?"===this.operator?this.compileExistence(e):(t=[].concat(this.first.compileToFragments(e,A),this.makeCode(" "+this.operator+" "),this.second.compileToFragments(e,A)),A>=e.level?t:this.wrapInBraces(t))},t.prototype.compileChain=function(e){var t,n,i,s;return s=this.first.second.cache(e),this.first.second=s[0],i=s[1],n=this.first.compileToFragments(e,A),t=n.concat(this.makeCode(" "+(this.invert?"&&":"||")+" "),i.compileToFragments(e),this.makeCode(" "+this.operator+" "),this.second.compileToFragments(e,A)),this.wrapInBraces(t)},t.prototype.compileExistence=function(e){var t,n;return!e.isExistentialEquals&&this.first.isComplex()?(n=new R(e.scope.freeVariable("ref")),t=new H(new i(n,this.first))):(t=this.first,n=t),new F(new m(t),n,{type:"if"}).addElse(this.second).compileToFragments(e)},t.prototype.compileUnary=function(e){var n,i,s;return i=[],n=this.operator,i.push([this.makeCode(n)]),"!"===n&&this.first instanceof m?(this.first.negated=!this.first.negated,this.first.compileToFragments(e)):e.level>=N?new H(this).compileToFragments(e):(s="+"===n||"-"===n,("new"===n||"typeof"===n||"delete"===n||s&&this.first instanceof t&&this.first.operator===n)&&i.push([this.makeCode(" ")]),(s&&this.first instanceof t||"new"===n&&this.first.isStatement(e))&&(this.first=new H(this.first)),i.push(this.first.compileToFragments(e,A)),this.flip&&i.reverse(),this.joinFragmentArrays(i,""))},t.prototype.toString=function(e){return t.__super__.toString.call(this,e,this.constructor.name+" "+this.operator)},t.prototype.icedWrapContinuation=function(){return this.icedCallContinuationFlag},t}(r),e.In=T=function(e){function t(e,n){this.object=e,this.array=n,t.__super__.constructor.call(this)}return Dt(t,e),t.prototype.children=["object","array"],t.prototype.invert=O,t.prototype.compileNode=function(e){var t,n,i,s,r;if(this.array instanceof st&&this.array.isArray()){for(r=this.array.base.objects,i=0,s=r.length;s>i;i++)if(n=r[i],n instanceof J){t=!0;break}if(!t)return this.compileOrTest(e)}return this.compileLoopTest(e)},t.prototype.compileOrTest=function(e){var t,n,i,s,r,o,a,c,u,h,l,p;if(0===this.array.base.objects.length)return[this.makeCode(""+!!this.negated)];for(h=this.object.cache(e,A),o=h[0],r=h[1],l=this.negated?[" !== "," && "]:[" === "," || "],t=l[0],n=l[1],a=[],p=this.array.base.objects,i=c=0,u=p.length;u>c;i=++c)s=p[i],i&&a.push(this.makeCode(n)),a=a.concat(i?r:o,this.makeCode(t),s.compileToFragments(e,N));return A>e.level?a:this.wrapInBraces(a)},t.prototype.compileLoopTest=function(e){var t,n,i,s;return s=this.object.cache(e,E),i=s[0],n=s[1],t=[].concat(this.makeCode(Ct("indexOf")+".call("),this.array.compileToFragments(e,E),this.makeCode(", "),n,this.makeCode(") "+(this.negated?"< 0":">= 0"))),dt(i)===dt(n)?t:(t=i.concat(this.makeCode(", "),t),E>e.level?t:this.wrapInBraces(t))},t.prototype.toString=function(e){return t.__super__.toString.call(this,e,this.constructor.name+(this.negated?"!":""))},t}(r),e.Slot=K=function(e){function t(e,n,i,s){t.__super__.constructor.call(this),this.index=e,this.value=n,this.suffix=i,this.splat=s,this.access=null}return Dt(t,e),t.prototype.addAccess=function(e){return this.access=e,this},t.prototype.children=["value","suffix"],t}(r),e.Defer=f=function(e){function n(e,t){var i,s;this.lineno=t,n.__super__.constructor.call(this),this.slots=pt(function(){var t,n,r;for(r=[],s=t=0,n=e.length;n>t;s=++t)i=e[s],r.push(i.icedToSlot(s));return r}()),this.params=[],this.vars=[],this.custom=!1}return Dt(n,e),n.prototype.children=["slots"],n.prototype.setCustom=function(){return this.custom=!0,this},n.prototype.newParam=function(){var e;return e=""+ft["const"].slot+"_"+(this.params.length+1),this.params.push(new M(new R(e))),new st(new R(e))},n.prototype.makeAssignFn=function(e){var n,s,r,c,u,l,p,d,f,m,w,g,b,v,y,k,_,C,F;if(0===this.slots.length)return null;for(c=[],s=[],d=0,F=this.slots,_=0,C=F.length;C>_;_++)y=F[_],d=y.index,n=new st(new R("arguments")),f=new st(new R(d)),y.splat?(p=new st(new R(Ct("slice"))),p.add(new t(new st(new R("call")))),l=new a(p,[n,f]),k=y.value,this.vars.push(k),r=new i(k,l)):(n.add(new L(f)),y.access&&n.add(y.access),y.suffix?(s.push(y.value),k=this.newParam(),y.suffix instanceof L?(v=new L(this.newParam()),s.push(y.suffix.index)):v=y.suffix,k.add(v)):(w=y.value.compile(e,I),"_"===w?(k=new st(new R(ft["const"].deferrals)),k.add(new t(new st(new R(ft["const"].retslot))))):(k=y.value,this.vars.push(k))),r=new i(k,n)),c.push(r);return u=new o(c),m=new h([],u,"icedgen"),g=new o([new q(m)]),b=new h(this.params,g,"icedgen"),l=new a(b,s)},n.prototype.transform=function(e){var n,s,r,o,c,u,h,l,p,d;return d=new st(new R(ft["const"].defer_method)),this.custom?u=d:(u=new st(new R(ft["const"].deferrals)),u.add(new t(d))),s=[],(n=this.makeAssignFn(e))&&s.push(new i(new st(new R(ft["const"].assign_fn)),n,"object")),l=new st(new R(ft["const"].lineno)),p=new st(new R(this.lineno)),h=new i(l,p,"object"),s.push(h),this.custom&&(o=new st(new R(ft["const"].context)),c=new st(new R(ft["const"].deferrals)),r=new i(o,c,"object"),s.push(r)),e=new B(s),new a(u,[new st(e)])},n.prototype.compileNode=function(e){var t,n,i,s,r,o,a;for(t=this.transform(e),a=this.vars,r=0,o=a.length;o>r;r++)s=a[r],n=s.compile(e,E),i=e.scope,i.add(n,"var");return t.compileNode(e)},n.prototype.icedWalkAst=function(e,t){return this.icedHasAutocbFlag=t.foundAutocb,t.foundDefer=!0,this.parentFunc=t.currFunc,n.__super__.icedWalkAst.call(this,e,t)},n}(r),e.Await=s=function(e){function n(e){this.body=e,n.__super__.constructor.call(this)}return Dt(n,e),n.prototype.transform=function(e){var n,s,r,o,c,u,h,l,p,d,f,m,w,g,b,v,y,k,_,C,F,T;return r=this.body,k=ft["const"].deferrals,e.scope.add(k,"var"),b=new st(new R(k)),l=new st(new R(ft["const"].ns)),l.add(new t(new st(new R(ft["const"].Deferrals)))),s=[],(y=null!=(F=this.parentFunc)?F.icedPassedDeferral:void 0)&&(u=new st(new R(ft["const"].parent)),h=new st(new R(y)),c=new i(u,h,"object"),s.push(c)),null!=e.filename&&(d=new st(new R(ft["const"].filename)),f=new st(new R('"'+e.filename.replace("\\","\\\\")+'"')),p=new i(d,f,"object"),s.push(p)),(y=null!=(T=this.parentFunc)?T.icedTraceName():void 0)&&(w=new st(new R(ft["const"].funcname)),g=new st(new R('"'+y+'"')),m=new i(w,g,"object"),s.push(m)),C=new B(s,!0),o=new a(l,[new st(new R(ft["const"].k)),C]),_=new V("new",o),n=new i(b,_),r.unshift(n),v=b.copy().add(new t(new st(new R(ft["const"].fulfill)))),o=new a(v,[]),r.push(o),this.body=r},n.prototype.children=["body"],n.prototype.isStatement=function(){return ot},n.prototype.makeReturn=et,n.prototype.compileNode=function(e){return this.transform(e),this.body.compileNode(e)},n.prototype.icedWalkAst=function(e,t){return this.icedHasAutocbFlag=t.foundAutocb,this.parentFunc=t.currFunc,e=e||this,this.icedParentAwait=e,n.__super__.icedWalkAst.call(this,e,t),this.icedNodeFlag=t.foundAwaitFunc=t.foundAwait=!0},n}(r),_=function(e){function n(e,t){this.foundDefer=e,this.foundAwait=t,n.__super__.constructor.call(this)}return Dt(n,e),n.prototype.compileNode=function(e){var s,r,c,u,l,p,d,f,m,w,g,b,v,y,k,_,C,F,T,L,N,D,E;if(this.expressions=[],k=e.runtime?e.runtime:e.bare?"none":this.foundDefer?"node":"none",!e.runtime||this.foundDefer||e.runforce||(k="none"),C=!1,F=null,d=null,d=function(){switch(k){case"inline":case"window":return"window"===k&&(C=!0),C&&(F=new st(new R(k))),x.generate(F?F.copy():null);case"node":case"browserify":return"browserify"===k?(g="iced-coffee-script/lib/coffee-script/iced",r=ft["const"].runtime):(g="iced-coffee-script",r=ft["const"].ns),p=new R("'"+g+"'"),s=new t(new R(r)),v=new st(new R("require")),u=new a(v,[p]),l=new st(u),l.add(s),b=new st(new R(ft["const"].ns)),new i(b,l);case"none":return null;default:throw SyntaxError("unexpected flag IcedRuntime "+k)}}(),d&&this.push(d),this.foundAwait){for(y=new h([],new o([])),w=[],E=[ft["const"].k_noop,ft["const"].k],T=0,N=E.length;N>T;T++)f=E[T],_=new st(new R(f)),F&&(m=F.copy(),m.add(new t(_)),_=m),w.push(_);for(c=y,L=0,D=w.length;D>L;L++)k=w[L],c=new i(k,c); +this.push(c)}return this.isEmpty()?[]:n.__super__.compileNode.call(this,e)},n.prototype.icedWalkAst=function(e,t){return this.icedHasAutocbFlag=t.foundAutocb,n.__super__.icedWalkAst.call(this,e,t)},n}(o),e.Try=nt=function(e){function t(e,t,n,i){this.attempt=e,this.errorVariable=t,this.recovery=n,this.ensure=i}return Dt(t,e),t.prototype.children=["attempt","recovery","ensure"],t.prototype.isStatement=ot,t.prototype.jumps=function(e){var t;return this.attempt.jumps(e)||(null!=(t=this.recovery)?t.jumps(e):void 0)},t.prototype.makeReturn=function(e){return this.attempt&&(this.attempt=this.attempt.makeReturn(e)),this.recovery&&(this.recovery=this.recovery.makeReturn(e)),this},t.prototype.compileNode=function(e){var t,n,s,r;return e.indent+=Z,r=this.attempt.compileToFragments(e,I),t=this.recovery?(s=new R("_error"),this.errorVariable?this.recovery.unshift(new i(this.errorVariable,s)):void 0,[].concat(this.makeCode(" catch ("),s.compileToFragments(e),this.makeCode(") {\n"),this.recovery.compileToFragments(e,I),this.makeCode("\n"+this.tab+"}"))):this.ensure||this.recovery?[]:[this.makeCode(" catch (_error) {}")],n=this.ensure?[].concat(this.makeCode(" finally {\n"),this.ensure.compileToFragments(e,I),this.makeCode("\n"+this.tab+"}")):[],[].concat(this.makeCode(""+this.tab+"try {\n"),r,this.makeCode("\n"+this.tab+"}"),t,n)},t}(r),e.Throw=tt=function(e){function t(e){this.expression=e,t.__super__.constructor.call(this)}return Dt(t,e),t.prototype.children=["expression"],t.prototype.isStatement=ot,t.prototype.jumps=P,t.prototype.makeReturn=et,t.prototype.compileNode=function(e){return[].concat(this.makeCode(this.tab+"throw "),this.expression.compileToFragments(e),this.makeCode(";"))},t}(r),e.Existence=m=function(e){function t(e){this.expression=e,t.__super__.constructor.call(this)}return Dt(t,e),t.prototype.children=["expression"],t.prototype.invert=O,t.prototype.compileNode=function(e){var t,n,i,s;return this.expression.front=this.front,i=this.expression.compile(e,A),b.test(i)&&!e.scope.check(i)?(s=this.negated?["===","||"]:["!==","&&"],t=s[0],n=s[1],i="typeof "+i+" "+t+' "undefined" '+n+" "+i+" "+t+" null"):i=""+i+" "+(this.negated?"==":"!=")+" null",[this.makeCode(D>=e.level?i:"("+i+")")]},t}(r),e.Parens=H=function(e){function t(e){this.body=e,t.__super__.constructor.call(this)}return Dt(t,e),t.prototype.children=["body"],t.prototype.unwrap=function(){return this.body},t.prototype.isComplex=function(){return this.body.isComplex()},t.prototype.compileNode=function(e){var t,n,i;return n=this.body.unwrap(),n instanceof st&&n.isAtomic()?(n.front=this.front,n.compileToFragments(e)):(i=n.compileToFragments(e,S),t=A>e.level&&(n instanceof V||n instanceof a||n instanceof g&&n.returns),t?i:this.wrapInBraces(i))},t}(r),e.For=g=function(e){function s(e,t){var n;s.__super__.constructor.call(this),this.source=t.source,this.guard=t.guard,this.step=t.step,this.name=t.name,this.index=t.index,this.body=o.wrap([e]),this.own=!!t.own,this.object=!!t.object,this.object&&(n=[this.index,this.name],this.name=n[0],this.index=n[1]),this.index instanceof st&&this.index.error("index cannot be a pattern matching expression"),this.range=this.source instanceof st&&this.source.base instanceof W&&!this.source.properties.length,this.pattern=this.name instanceof st,this.range&&this.index&&this.index.error("indexes do not apply to range loops"),this.range&&this.pattern&&this.name.error("cannot pattern match over range loops"),this.own&&!this.object&&this.index.error("cannot use own with for-in"),this.returns=!1}return Dt(s,e),s.prototype.children=["body","source","guard","step"],s.prototype.compileNode=function(e){var t,n,s,r,a,c,u,h,l,p,d,f,m,w,g,v,y,k,_,C,T,L,x,N,D,A,S,$,O,P,j,B,V,M;return t=o.wrap([this.body]),k=null!=(V=mt(t.expressions))?V.jumps():void 0,k&&k instanceof q&&(this.returns=!1),S=this.range?this.source.base:this.source,A=e.scope,C=this.name&&this.name.compile(e,E),w=this.index&&this.index.compile(e,E),C&&!this.pattern&&A.find(C),w&&A.find(w),this.returns&&(D=A.freeVariable("results")),g=this.object&&w||A.freeVariable("i"),v=this.range&&C||w||g,y=v!==g?""+v+" = ":"",this.step&&!this.range&&(M=this.cacheToCodeFragments(this.step.cache(e,E)),$=M[0],P=M[1],O=P.match(G)),this.pattern&&(C=g),B="",d="",u="",f=this.tab+Z,S.icedStatementAssertion(),this.icedNodeFlag?this.icedCompileIced(e,{stepVar:P,body:t,rvar:D,kvar:v,guard:this.guard}):(this.range?p=S.compileToFragments(gt(e,{index:g,name:C,step:this.step})):(j=this.source.compile(e,E),!C&&!this.own||b.test(j)||(u+=""+this.tab+(L=A.freeVariable("ref"))+" = "+j+";\n",j=L),C&&!this.pattern&&(T=""+C+" = "+j+"["+v+"]"),this.object||($!==P&&(u+=""+this.tab+$+";\n"),this.step&&O&&(l=0>+O)||(_=A.freeVariable("len")),a=""+y+g+" = 0, "+_+" = "+j+".length",c=""+y+g+" = "+j+".length - 1",s=""+g+" < "+_,r=""+g+" >= 0",this.step?(O?l&&(s=r,a=c):(s=""+P+" > 0 ? "+s+" : "+r,a="("+P+" > 0 ? ("+a+") : "+c+")"),m=""+g+" += "+P):m=""+(v!==g?"++"+g:""+g+"++"),p=[this.makeCode(""+a+"; "+s+"; "+y+m)])),this.returns&&(x=""+this.tab+D+" = [];\n",N=this.icedHasAutocbFlag?"\n"+this.tab+ft["const"].autocb+"("+D+"); return;":"\n"+this.tab+"return "+D+";",t.makeReturn(D)),this.guard&&(t.expressions.length>1?t.expressions.unshift(new F(new H(this.guard).invert(),new R("continue"))):this.guard&&(t=o.wrap([new F(this.guard,t)]))),this.pattern&&t.expressions.unshift(new i(this.name,new R(""+j+"["+v+"]"))),h=[].concat(this.makeCode(u),this.pluckDirectCall(e,t)),T&&(B="\n"+f+T+";"),this.object&&(p=[this.makeCode(""+v+" in "+j)],this.own&&(d="\n"+f+"if (!"+Ct("hasProp")+".call("+j+", "+v+")) continue;")),n=t.compileToFragments(gt(e,{indent:f}),I),n&&n.length>0&&(n=[].concat(this.makeCode("\n"),n,this.makeCode("\n"))),[].concat(h,this.makeCode(""+(x||"")+this.tab+"for ("),p,this.makeCode(") {"+d+B),n,this.makeCode(""+this.tab+"}"+(N||""))))},s.prototype.pluckDirectCall=function(e,t){var n,s,r,o,c,u,l,p,d,f,m,w,g,b,v;for(s=[],f=t.expressions,c=p=0,d=f.length;d>p;c=++p)r=f[c],r=r.unwrapAll(),r instanceof a&&(l=r.variable.unwrapAll(),(l instanceof h||l instanceof st&&(null!=(m=l.base)?m.unwrapAll():void 0)instanceof h&&1===l.properties.length&&("call"===(w=null!=(g=l.properties[0].name)?g.value:void 0)||"apply"===w))&&(o=(null!=(b=l.base)?b.unwrapAll():void 0)||l,u=new R(e.scope.freeVariable("fn")),n=new st(u),l.base&&(v=[n,l],l.base=v[0],n=v[1]),t.expressions[c]=new a(n,r.args),s=s.concat(this.makeCode(this.tab),new i(u,o).compileToFragments(e,I),this.makeCode(";\n"))));return s},s.prototype.icedCompileIced=function(e,r){var a,c,u,h,l,p,d,f,m,w,g,b,v,y,k,_,C,F,T,x,N,D,E,A,S,I,$,O,P,j,B,M,H,U,W,q;return d=r.body,f=null,b=[],q=null,U=e.scope,O=new o([]),this.object?(P=U.freeVariable("ref"),j=new st(new R(P)),a=new i(j,this.source),C=U.freeVariable("keys"),x=new st(new R(C)),y=U.freeVariable("k"),k=new R(y),_=new st(k),m=new st(new n),S=new o([_]),$={object:!0,name:k,source:j},I=new s(S,$),c=new i(x,I),g=U.freeVariable("i"),v=new st(new R(g)),u=new i(v,new st(new R(0))),b=[a,c,u],T=x.copy(),T.add(new t(new st(new R("length")))),f=new V("<",v,T),q=new V("++",v),this.name&&(W=j.copy(),W.add(new L(this.index)),l=new i(this.name,W),O.unshift(l)),F=x.copy(),F.add(new L(v)),h=new i(this.index,F),O.unshift(h)):this.range&&this.name?(M=this.source.base.exclusive?"<":"<=",f=new V(M,this.name,this.source.base.to),b=[new i(this.name,this.source.base.from)],q=null!=this.step?new V("+=",this.name,this.step):new V("++",this.name)):!this.range&&this.name&&(N=new st(new R(r.kvar)),D=U.freeVariable("len"),P=U.freeVariable("ref"),j=new st(new R(P)),A=new st(new R(D)),a=new i(j,this.source),E=j.copy().add(new t(new st(new R("length")))),c=new i(A,E),u=new i(N,new st(new R(0))),b=[a,c,u],f=new V("<",N,A),q=new V("++",N),B=j.copy(),B.add(new L(N)),h=new i(this.name,B),O.unshift(h)),H=r.rvar,w=r.guard,p=this.icedWrap({condition:f,body:d,init:b,step:q,rvar:H,guard:w,pre_body:O}),p.compileNode(e)},s}(rt),e.Switch=Q=function(e){function t(e,n,i){this.subject=e,this.cases=n,this.otherwise=i,t.__super__.constructor.call(this)}return Dt(t,e),t.prototype.children=["subject","cases","otherwise"],t.prototype.isStatement=ot,t.prototype.jumps=function(e){var t,n,i,s,r,o,a;for(null==e&&(e={block:!0}),r=this.cases,i=0,s=r.length;s>i;i++)if(o=r[i],n=o[0],t=o[1],t.jumps(e))return t;return null!=(a=this.otherwise)?a.jumps(e):void 0},t.prototype.makeReturn=function(e){var t,n,i,s,r;for(s=this.cases,n=0,i=s.length;i>n;n++)t=s[n],t[1].makeReturn(e);return e&&(this.otherwise||(this.otherwise=new o([new R("void 0")]))),null!=(r=this.otherwise)&&r.makeReturn(e),this},t.prototype.compileNode=function(e){var t,n,i,s,r,o,a,c,u,h,l,p,d,f,m,w;for(this.subject&&this.subject.icedStatementAssertion(),c=e.indent+Z,u=e.indent=c+Z,o=[].concat(this.makeCode(this.tab+"switch ("),this.subject?this.subject.compileToFragments(e,S):this.makeCode("false"),this.makeCode(") {\n")),f=this.cases,a=h=0,p=f.length;p>h;a=++h){for(m=f[a],s=m[0],t=m[1],w=pt([s]),l=0,d=w.length;d>l;l++)i=w[l],this.subject||(i=i.invert()),o=o.concat(this.makeCode(c+"case "),i.compileToFragments(e,S),this.makeCode(":\n"));if((n=t.compileToFragments(e,I)).length>0&&(o=o.concat(n,this.makeCode("\n"))),a===this.cases.length-1&&!this.otherwise)break;r=this.lastNonComment(t.expressions),r instanceof q||r instanceof R&&r.jumps()&&"debugger"!==r.value||o.push(i.makeCode(u+"break;\n"))}return this.otherwise&&this.otherwise.expressions.length&&o.push.apply(o,[this.makeCode(c+"default:\n")].concat(At.call(this.otherwise.compileToFragments(e,I)),[this.makeCode("\n")])),o.push(this.makeCode(this.tab+"}")),o},t.prototype.icedCallContinuation=function(){var e,t,n,i,s,r;for(s=this.cases,n=0,i=s.length;i>n;n++)r=s[n],t=r[0],e=r[1],e.icedThreadReturn();return null!=this.otherwise?this.otherwise.icedThreadReturn():this.otherwise=new o([new C])},t}(r),e.If=F=function(e){function t(e,n,i){this.body=n,null==i&&(i={}),t.__super__.constructor.call(this),this.condition="unless"===i.type?e.invert():e,this.elseBody=null,this.isChain=!1,this.soak=i.soak}return Dt(t,e),t.prototype.children=["condition","body","elseBody"],t.prototype.bodyNode=function(){var e;return null!=(e=this.body)?e.unwrap():void 0},t.prototype.elseBodyNode=function(){var e;return null!=(e=this.elseBody)?e.unwrap():void 0},t.prototype.addElse=function(e){return this.isChain?this.elseBodyNode().addElse(e):(this.isChain=e instanceof t,this.elseBody=this.ensureBlock(e),this.elseBody.updateLocationDataIfMissing(e.locationData)),this},t.prototype.isStatement=function(e){var t;return(null!=e?e.level:void 0)===I||this.bodyNode().isStatement(e)||(null!=(t=this.elseBodyNode())?t.isStatement(e):void 0)},t.prototype.jumps=function(e){var t;return this.body.jumps(e)||(null!=(t=this.elseBody)?t.jumps(e):void 0)},t.prototype.compileNode=function(e){return this.condition.icedStatementAssertion(),this.isStatement(e||this.icedIsCpsPivot())?this.compileStatement(e):this.compileExpression(e)},t.prototype.makeReturn=function(e){return e&&(this.elseBody||(this.elseBody=new o([new R("void 0")]))),this.body&&(this.body=new o([this.body.makeReturn(e)])),this.elseBody&&(this.elseBody=new o([this.elseBody.makeReturn(e)])),this},t.prototype.ensureBlock=function(e){return e instanceof o?e:new o([e])},t.prototype.compileStatement=function(e){var n,i,s,r,o,a,c;return s=ut(e,"chainChild"),(o=ut(e,"isExistentialEquals"))?new t(this.condition.invert(),this.elseBodyNode(),{type:"if"}).compileToFragments(e):(c=e.indent+Z,r=this.condition.compileToFragments(e,S),i=this.ensureBlock(this.body).compileToFragments(gt(e,{indent:c})),a=[].concat(this.makeCode("if ("),r,this.makeCode(") {\n"),i,this.makeCode("\n"+this.tab+"}")),s||a.unshift(this.makeCode(this.tab)),this.elseBody?(n=a.concat(this.makeCode(" else ")),this.isChain?(e.chainChild=!0,n=n.concat(this.elseBody.unwrap().compileToFragments(e,I))):n=n.concat(this.makeCode("{\n"),this.elseBody.compileToFragments(gt(e,{indent:c}),I),this.makeCode("\n"+this.tab+"}")),n):a)},t.prototype.compileExpression=function(e){var t,n,i,s;return i=this.condition.compileToFragments(e,D),n=this.bodyNode().compileToFragments(e,E),t=this.elseBodyNode()?this.elseBodyNode().compileToFragments(e,E):[this.makeCode("void 0")],s=i.concat(this.makeCode(" ? "),n,this.makeCode(" : "),t),e.level>=D?this.wrapInBraces(s):s},t.prototype.unfoldSoak=function(){return this.soak&&this},t.prototype.icedCallContinuation=function(){return this.elseBody?(this.elseBody.icedThreadReturn(),this.isChain=!1):this.addElse(new C),this.body.icedThreadReturn()},t}(r),u={wrap:function(e,n,i){var s,r,c,u,l;return e.jumps()?e:(u=new h([],o.wrap([e])),s=[],r=e.contains(this.isLiteralArguments),r&&e.classBody&&r.error("Class bodies shouldn't reference arguments"),(r||e.contains(this.isLiteralThis))&&(l=new R(r?"apply":"call"),s=[new R("this")],r&&s.push(new R("arguments")),u=new st(u,[new t(l)])),u.noReturn=i,c=new a(u,s),n?o.wrap([c]):c)},isLiteralArguments:function(e){return e instanceof R&&"arguments"===e.value&&!e.asKey},isLiteralThis:function(e){return e instanceof R&&"this"===e.value&&!e.asKey||e instanceof h&&e.bound||e instanceof a&&e.isSuper}},_t=function(e,t,n){var i;if(i=t[n].unfoldSoak(e))return t[n]=i.body,i.body=new st(t),i},d={wrap:function(e,t,n,i){var s,r,c,u,l,p;return p=new h([new M(new R(ft["const"].k))],o.wrap([e]),"icedgen"),s=[],n&&(n.bindName(i),s.push(n)),r=o.wrap([t]),u=(l=r.icedGetSingle())&&l instanceof C&&l.canInline()?l.extractFunc():new h(s,r,"icedgen"),c=new a(p,[u]),new o([c])}},C=function(e){function t(e,n){this.func=e,null==n&&(n=null),t.__super__.constructor.call(this),this.func||(this.func=ft["const"].k),this.value=n}return Dt(t,e),t.prototype.children=["value"],t.prototype.assignValue=function(e){return this.value=e},t.prototype.canInline=function(){return!this.value||this.value instanceof k},t.prototype.literalFunc=function(){return new R(this.func)},t.prototype.extractFunc=function(){return new st(this.literalFunc())},t.prototype.compileNode=function(e){var t,n,i;return n=this.literalFunc(),i=e.level===I?this.value?new o([this.value,new a(n)]):new a(n):(t=this.value?[this.value]:[],new a(n,t)),i.compileNode(e)},t}(r),k=function(e){function t(){t.__super__.constructor.call(this,null,null,!1)}return Dt(t,e),t.counter=0,t.prototype.bindName=function(e){var n;return n=""+e.scope.freeVariable(ft["const"].param,!1)+"_"+t.counter++,this.name=new R(n)},t.prototype.compile=function(e){return this.name||this.bindName(e),t.__super__.compile.call(this,e)},t}(M),x={generate:function(e){var n,s,r,u,l,p,d,f,m,w,g,b,v,y,k,_,C,T,L,x,N,D,E,A,S,I,$,O,P,H,U,W,q,G,X,Y,z,K,J,Q,Z,et,tt,nt,it,rt,ot,at,ct,ut,ht,lt,pt,dt,mt,wt,gt,bt,vt,yt;return Y=new R("continuation"),m=new R("count"),f=new st(new R(ft["const"].Deferrals)),tt=new st(new R(ft["const"].ns)),e&&(e.add(new t(tt)),tt=e),z=new st(new R("this")),z.add(new t(Y)),at=new M(z),w=new st(new R("this")),w.add(new t(m)),ct=new st(new R("this")),ct.add(new t(new st(new R(ft["const"].retslot)))),n=new i(w,new st(new R(1))),s=new i(ct,j()),k=[at],b=new o([n,s]),v=new h(k,b),y=new st(new R("constructor")),g=new i(y,v),H=new a(z,[ct]),O=new o([H]),_=new V("--",w),P=new V("!",_),Z=new F(P,O),wt=new o([Z]),bt=new h([],wt),yt=new st(new R(ft["const"].fulfill)),mt=new i(yt,bt),U=new V("++",w),X=new R("inner_params"),D=new R("defer_params"),E=new st(D),d=new st(D),r=new R(ft["const"].assign_fn),d.add(new t(r,"soak")),Q=new R("apply"),d.add(new t(Q,"soak")),et=j(),u=new a(d,[et,new st(X)]),vt=new st(new R("this")),vt.add(new t(new R(ft["const"].fulfill))),gt=new a(vt,[]),W=new o([u,gt]),G=[new M(X,null,!0)],q=new h(G,W,"boundfunc"),T=new o([U,q]),N=[new M(D)],L=new h(N,T),x=new st(new R(ft["const"].defer_method)),C=new i(x,L),l=[g,mt,C],rt=new B(l,!0),p=new o([new st(rt)]),K=new c(null,null,p),J=new i(f,K,"object"),ot=new o([j()]),I=new h([],ot),$=new st(new R(ft["const"].findDeferral)),S=new i($,I,"object"),A=new R("_fn"),ht=new o([new a(new st(A),[])]),dt=[new M(A)],lt=new h(dt,ht),pt=new st(new R(ft["const"].trampoline)),ut=new i(pt,lt,"object"),nt=new B([J,S,ut],!0),it=new st(nt),new i(tt,it)}},it={"extends":function(){return"function(child, parent) { for (var key in parent) { if ("+Ct("hasProp")+".call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }"},bind:function(){return"function(fn, me){ return function(){ return fn.apply(me, arguments); }; }"},indexOf:function(){return"[].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }"},hasProp:function(){return"{}.hasOwnProperty"},slice:function(){return"[].slice"}},I=1,S=2,E=3,D=4,A=5,N=6,Z=" ",v="[$A-Za-z_\\x7f-\\uffff][$\\w\\x7f-\\uffff]*",b=RegExp("^"+v+"$"),G=/^[+-]?\d+$/,$=RegExp("^(?:("+v+")\\.prototype(?:\\.("+v+")|\\[(\"(?:[^\\\\\"\\r\\n]|\\\\.)*\"|'(?:[^\\\\'\\r\\n]|\\\\.)*')\\]|\\[(0x[\\da-fA-F]+|\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\]))|("+v+")$"),y=/^['"]/,Ct=function(e){var t;return t="__"+e,Y.root.assign(t,it[e]()),t},bt=function(e,t){return e=e.replace(/\n/g,"$&"+t),e.replace(/\s+$/,"")}}.call(this),t.exports}(),require["./sourcemap"]=function(){var e={},t={exports:e};return function(){var t,n;t=function(){function e(e){this.line=e,this.columns=[]}return e.prototype.add=function(e,t,n){var i,s;return s=t[0],i=t[1],null==n&&(n={}),this.columns[e]&&n.noReplace?void 0:this.columns[e]={line:this.line,column:e,sourceLine:s,sourceColumn:i}},e.prototype.sourceLocation=function(e){for(var t;!((t=this.columns[e])||0>=e);)e--;return t&&[t.sourceLine,t.sourceColumn]},e}(),n=function(){function e(){this.lines=[]}var n,i,s,r;return e.prototype.add=function(e,n,i){var s,r,o,a;return null==i&&(i={}),r=n[0],s=n[1],o=(a=this.lines)[r]||(a[r]=new t(r)),o.add(s,e,i)},e.prototype.sourceLocation=function(e){var t,n,i;for(n=e[0],t=e[1];!((i=this.lines[n])||0>=n);)n--;return i&&i.sourceLocation(t)},e.prototype.generate=function(e,t){var n,i,s,r,o,a,c,u,h,l,p,d,f,m,w,g;for(null==e&&(e={}),null==t&&(t=null),l=0,i=0,r=0,s=0,u=!1,n="",w=this.lines,a=p=0,f=w.length;f>p;a=++p)if(o=w[a])for(g=o.columns,d=0,m=g.length;m>d;d++)if(c=g[d]){for(;c.line>l;)i=0,u=!1,n+=";",l++;u&&(n+=",",u=!1),n+=this.encodeVlq(c.column-i),i=c.column,n+=this.encodeVlq(0),n+=this.encodeVlq(c.sourceLine-r),r=c.sourceLine,n+=this.encodeVlq(c.sourceColumn-s),s=c.sourceColumn,u=!0}return h={version:3,file:e.generatedFile||"",sourceRoot:e.sourceRoot||"",sources:e.sourceFiles||[""],names:[],mappings:n},e.inline&&(h.sourcesContent=[t]),JSON.stringify(h,null,2)},s=5,i=1<e?1:0,a=(Math.abs(e)<<1)+o;a||!t;)n=a&r,a>>=s,a&&(n|=i),t+=this.encodeBase64(n);return t},n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",e.prototype.encodeBase64=function(e){return n[e]||function(){throw Error("Cannot Base64 encode value: "+e)}()},e}(),e.SourceMap=n}.call(this),t.exports}(),require["./coffee-script"]=function(){var e={},t={exports:e};return function(){var t,n,i,s,r,o,a,c,u,h,l,p,d,f,m,w,g,b,v,y,k,_,C,F={}.hasOwnProperty,T=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1};if(p=require("fs"),k=require("vm"),v=require("path"),s=require("child_process"),t=require("./lexer").Lexer,b=require("./parser").parser,f=require("./helpers"),i=require("./sourcemap").SourceMap,m=require("./iced"),e.VERSION="1.6.3-f",c=[".coffee",".litcoffee",".coffee.md",".iced"],e.helpers=f,e.compile=r=function(e,t){var n,s,r,o,a,c,u,h,l,p,d,g;for(null==t&&(t={}),l=f.merge,t.sourceMap&&(h=new i),a=m.transform(b.parse(w.tokenize(e,t))).compileToFragments(t),r=0,t.header&&(r+=1),t.shiftLine&&(r+=1),s=0,u="",d=0,g=a.length;g>d;d++)o=a[d],t.sourceMap&&(o.locationData&&h.add([o.locationData.first_line,o.locationData.first_column],[r,s],{noReplace:!0}),p=f.count(o.code,"\n"),r+=p,s=o.code.length-(p?o.code.lastIndexOf("\n"):0)),u+=o.code;return t.header&&(c="Generated by IcedCoffeeScript "+this.VERSION,u="// "+c+"\n"+u),t.sourceMap?(n={js:u},n.sourceMap=h,n.v3SourceMap=h.generate(t,e),n):u},e.tokens=function(e,t){return w.tokenize(e,t)},e.nodes=function(e,t){return"string"==typeof e?m.transform(b.parse(w.tokenize(e,t)),t):m.transform(b.parse(e),t)},e.run=function(e,t){var n,i,s;return null==t&&(t={}),i=require.main,i.filename=process.argv[1]=t.filename?p.realpathSync(t.filename):".",i.moduleCache&&(i.moduleCache={}),i.paths=require("module")._nodeModulePaths(v.dirname(p.realpathSync(t.filename||"."))),(!f.isCoffee(i.filename)||require.extensions)&&(n=r(e,t),e=null!=(s=n.js)?s:n),i._compile(e,i.filename)},e.eval=function(e,t){var n,i,s,o,a,c,u,h,l,p,d,f,m,w;if(null==t&&(t={}),e=e.trim()){if(i=k.Script){if(null!=t.sandbox){if(t.sandbox instanceof i.createContext().constructor)u=t.sandbox;else{u=i.createContext(),f=t.sandbox;for(o in f)F.call(f,o)&&(h=f[o],u[o]=h)}u.global=u.root=u.GLOBAL=u}else u=global;if(u.__filename=t.filename||"eval",u.__dirname=v.dirname(u.__filename),u===global&&!u.module&&!u.require){for(n=require("module"),u.module=d=new n(t.modulename||"eval"),u.require=w=function(e){return n._load(e,d,!0)},d.filename=u.__filename,m=Object.getOwnPropertyNames(require),l=0,p=m.length;p>l;l++)c=m[l],"paths"!==c&&(w[c]=require[c]);w.paths=d.paths=n._nodeModulePaths(process.cwd()),w.resolve=function(e){return n._resolveFilename(e,d)}}}a={};for(o in t)F.call(t,o)&&(h=t[o],a[o]=h);return a.bare=!0,s=r(e,a),u===global?k.runInThisContext(s):k.runInContext(s,u)}},o=function(e,t){var n,i,s,o;s=p.readFileSync(e,"utf8"),o=65279===s.charCodeAt(0)?s.substring(1):s;try{n=r(o,{filename:e,sourceMap:t,literate:f.isLiterate(e)})}catch(a){throw i=a,i.filename=e,i.code=o,i}return n},g=function(e,t){var n;return n=o(t,!1),e._compile(n,t)},require.extensions){for(_=0,C=c.length;C>_;_++)a=c[_],require.extensions[a]=g;n=require("module"),u=function(e){var t,i;for(i=v.basename(e).split("."),""===i[0]&&i.shift();i.shift();)if(t="."+i.join("."),n._extensions[t])return t;return".js"},n.prototype.load=function(e){var t;return this.filename=e,this.paths=n._nodeModulePaths(v.dirname(e)),t=u(e),n._extensions[t](this,e),this.loaded=!0}}s&&(h=s.fork,s.fork=function(e,t,n){var i;return null==t&&(t=[]),null==n&&(n={}),i=f.isCoffee(e)?"coffee":null,Array.isArray(t)||(t=[],n=t||{}),n.execPath||(n.execPath=i),h(e,t,n)}),w=new t,b.lexer={lex:function(){var e,t;return t=this.tokens[this.pos++],t?(e=t[0],this.yytext=t[1],this.yylloc=t[2],this.yylineno=this.yylloc.first_line):e="",e},setInput:function(e){return this.tokens=e,this.pos=0},upcomingInput:function(){return""}},b.yy=require("./nodes"),e.iced=m.runtime,b.yy.parseError=function(e,t){var n;return n=t.token,e="unexpected "+(1===n?"end of input":n),f.throwSyntaxError(e,b.lexer.yylloc)},l=function(e,t){var n,i,s,r,o,a,c,u,h,l,p,d;return r=void 0,s="",e.isNative()?s="native":(e.isEval()?(r=e.getScriptNameOrSourceURL(),r||(s=""+e.getEvalOrigin()+", ")):r=e.getFileName(),r||(r=""),u=e.getLineNumber(),i=e.getColumnNumber(),l=t(r,u,i),s=l?""+r+":"+l[0]+":"+l[1]:""+r+":"+u+":"+i),o=e.getFunctionName(),a=e.isConstructor(),c=!(e.isToplevel()||a),c?(h=e.getMethodName(),d=e.getTypeName(),o?(p=n="",d&&o.indexOf(d)&&(p=""+d+"."),h&&o.indexOf("."+h)!==o.length-h.length-1&&(n=" [as "+h+"]"),""+p+o+n+" ("+s+")"):""+d+"."+(h||"")+" ("+s+")"):a?"new "+(o||"")+" ("+s+")":o?""+o+" ("+s+")":s},y={},d=function(e){var t,n;if(y[e])return y[e];if(n=null!=v?v.extname(e):void 0,!(0>T.call(c,n)))return t=o(e,!0),y[e]=t.sourceMap},Error.prepareStackTrace=function(t,n){var i,s,r,o;return r=function(e,t,n){var i,s;return s=d(e),s&&(i=s.sourceLocation([t-1,n-1])),i?[i[0]+1,i[1]+1]:null},s=function(){var t,s,o;for(o=[],t=0,s=n.length;s>t&&(i=n[t],i.getFunction()!==e.run);t++)o.push(" at "+l(i,r));return o}(),""+t.name+": "+(null!=(o=t.message)?o:"")+"\n"+s.join("\n")+"\n"}}.call(this),t.exports}(),require["./browser"]=function(){var exports={},module={exports:exports};return function(){var CoffeeScript,compile,runScripts,__indexOf=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1};CoffeeScript=require("./coffee-script"),CoffeeScript.require=require,compile=CoffeeScript.compile,CoffeeScript.eval=function(code,options){return null==options&&(options={}),null==options.bare&&(options.bare=!0),eval(compile(code,options))},CoffeeScript.run=function(e,t){return null==t&&(t={}),t.bare=!0,t.shiftLine=!0,Function(compile(e,t))()},"undefined"!=typeof window&&null!==window&&("undefined"!=typeof btoa&&null!==btoa&&"undefined"!=typeof JSON&&null!==JSON&&"undefined"!=typeof unescape&&null!==unescape&&"undefined"!=typeof encodeURIComponent&&null!==encodeURIComponent&&(compile=function(e,t){var n,i,s;return null==t&&(t={}),t.sourceMap=!0,t.inline=!0,s=CoffeeScript.compile(e,t),n=s.js,i=s.v3SourceMap,""+n+"\n//# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(i)))+"\n//# sourceURL=coffeescript"}),CoffeeScript.load=function(e,t,n){var i;return null==n&&(n={}),n.sourceFiles=[e],i=window.ActiveXObject?new window.ActiveXObject("Microsoft.XMLHTTP"):new window.XMLHttpRequest,i.open("GET",e,!0),"overrideMimeType"in i&&i.overrideMimeType("text/plain"),i.onreadystatechange=function(){var s;if(4===i.readyState){if(0!==(s=i.status)&&200!==s)throw Error("Could not load "+e);if(CoffeeScript.run(i.responseText,n),t)return t()}},i.send(null)},runScripts=function(){var e,t,n,i,s,r,o;return o=window.document.getElementsByTagName("script"),t=["text/coffeescript","text/literate-coffeescript"],e=function(){var e,n,i,s;for(s=[],e=0,n=o.length;n>e;e++)r=o[e],i=r.type,__indexOf.call(t,i)>=0&&s.push(r);return s}(),i=0,s=e.length,(n=function(){var s,r,o;return o=e[i++],s=null!=o?o.type:void 0,__indexOf.call(t,s)>=0?(r={literate:"text/literate-coffeescript"===s},o.src?CoffeeScript.load(o.src,n,r):(r.sourceFiles=["embedded"],CoffeeScript.run(o.innerHTML,r),n())):void 0})(),null},window.addEventListener?window.addEventListener("DOMContentLoaded",runScripts,!1):window.attachEvent("onload",runScripts))}.call(this),module.exports}(),require["./icedlib"]=function(){var e={},t={exports:e};return function(){var t,n,i,s,r,o,a,c,u=[].slice;s=r=function(){},i=require("./iced"),e.iced=n=i.runtime,c=function(e,t,i,s){var o,a,c,h,l,p;p=r,h=n.findDeferral(arguments),a=new n.Rendezvous,s[0]=a.id(!0).defer({assign_fn:function(){return function(){return o=u.call(arguments,0)}}(),lineno:17,context:l}),setTimeout(a.id(!1).defer({lineno:18,context:l}),t),function(e){l=new n.Deferrals(e,{parent:h,filename:"src/icedlib.coffee",funcname:"_timeout"}),a.wait(l.defer({assign_fn:function(){return function(){return c=arguments[0]}}(),lineno:19})),l._fulfill()}(function(){return i&&(i[0]=c),e.apply(null,o)})},e.timeout=function(e,t,n){var i;return i=[],c(e,t,n,i),i[0]},o=function(e,t,i){var s,o,a,c;c=r,o=n.findDeferral(arguments),function(e){a=new n.Deferrals(e,{parent:o,filename:"src/icedlib.coffee",funcname:"_iand"}),i[0]=a.defer({assign_fn:function(){return function(){return s=arguments[0]}}(),lineno:34}),a._fulfill()}(function(){return s||(t[0]=!1),e()})},e.iand=function(e,t){var n;return n=[],o(e,t,n),n[0]},a=function(e,t,i){var s,o,a,c;c=r,o=n.findDeferral(arguments),function(e){a=new n.Deferrals(e,{parent:o,filename:"src/icedlib.coffee",funcname:"_ior"}),i[0]=a.defer({assign_fn:function(){return function(){return s=arguments[0]}}(),lineno:51}),a._fulfill()}(function(){return s&&(t[0]=!0),e()})},e.ior=function(e,t){var n;return n=[],a(e,t,n),n[0]},e.Pipeliner=t=function(){function e(e,t){this.window=e||1,this.delay=t||0,this.queue=[],this.n_out=0,this.cb=null,this[i["const"].deferrals]=this,this.defer=this._defer}return e.prototype.waitInQueue=function(e){var t,i,s,o=this;s=r,t=n.findDeferral(arguments),function(e){var s,r;s=[],r=function(e){var a,c,u;return a=function(){return e(s)},c=function(){return n.trampoline(function(){return r(e)})},u=function(e){return s.push(e),c()},o.n_out>=o.window?(function(e){i=new n.Deferrals(e,{parent:t,filename:"src/icedlib.coffee",funcname:"Pipeliner.waitInQueue"}),o.cb=i.defer({lineno:88}),i._fulfill()}(u),void 0):a()},r(e)}(function(){o.n_out++,function(e){return o.delay?(function(e){i=new n.Deferrals(e,{parent:t,filename:"src/icedlib.coffee",funcname:"Pipeliner.waitInQueue"}),setTimeout(i.defer({lineno:96}),o.delay),i._fulfill()}(e),void 0):e()}(function(){return e()})})},e.prototype.__defer=function(e,t){var i,s,o,a,c,h=this;c=r,o=n.findDeferral(arguments),function(i){a=new n.Deferrals(i,{parent:o,filename:"src/icedlib.coffee",funcname:"Pipeliner.__defer"}),s=a.defer({lineno:109}),e[0]=function(){var e,n;return e=arguments.length>=1?u.call(arguments,0):[],null!=(n=t.assign_fn)&&n.apply(null,e),s()},a._fulfill()}(function(){return h.n_out--,h.cb?(i=h.cb,h.cb=null,i()):void 0})},e.prototype._defer=function(e){var t;return t=[],this.__defer(t,e),t[0]},e.prototype.flush=function(e){var t,i,s,r,o,a=this;s=e,t=n.findDeferral(arguments),r=[],o=function(e){var s,c,u;return s=function(){return e(r)},c=function(){return n.trampoline(function(){return o(e)})},u=function(e){return r.push(e),c()},a.n_out?(function(e){i=new n.Deferrals(e,{parent:t,filename:"src/icedlib.coffee",funcname:"Pipeliner.flush"}),a.cb=i.defer({lineno:136}),i._fulfill()}(u),void 0):s()},o(s)},e}()}.call(this),t.exports}(),require["./coffee-script"]}();"function"==typeof define&&define.amd?(define(function(){return CoffeeScript}),define(function(){return CoffeeScript.iced})):(root.CoffeeScript=CoffeeScript,root.iced=CoffeeScript.iced)})(this); \ No newline at end of file diff --git a/app/scripts/3d_party/livescript.js b/app/scripts/3d_party/livescript.js new file mode 100644 index 00000000..5394bcb0 --- /dev/null +++ b/app/scripts/3d_party/livescript.js @@ -0,0 +1,14407 @@ +// LiveScript 1.2.0 +// Copyright (c) 2013 Jeremy Ashkenas, Satoshi Murakami, George Zahariev +// Released under the MIT License +// raw.github.com/gkz/LiveScript/master/LICENSE +this.LiveScript = function () { + function e(t) { + return e[t] + } + + function i(e) { + function t() {} + return t.prototype = e, new t + } + + function s(e, t) { + var n = -1, + r = t.length >>> 0; + while (++n < r) + if (e === t[n]) return !0; + return !1 + } + + function o(e, t) { + var n = {}.hasOwnProperty; + for (var r in t) n.call(t, r) && (e[r] = t[r]); + return e + } + + function u(e, t) { + function n() {} + return n.prototype = (e.superclass = t).prototype, (e.prototype = new n).constructor = e, typeof t.extended == "function" && t.extended(e), e + } + + function a(e, t) { + for (var n = ""; t > 0; + (t >>= 1) && (e += e)) t & 1 && (n += e); + return n + } + + function f(e, t) { + for (var n in t) e[n] = t[n]; + return e + } + var t = e["./parser"] = {}; + t.parser = { + trace: function () {}, + yy: {}, + symbols_: { + error: 2, + Chain: 3, + ID: 4, + Parenthetical: 5, + List: 6, + STRNUM: 7, + LITERAL: 8, + DOT: 9, + Key: 10, + "CALL(": 11, + ArgList: 12, + OptComma: 13, + ")CALL": 14, + "?": 15, + LET: 16, + Block: 17, + "[": 18, + Expression: 19, + LoopHeads: 20, + "]": 21, + DEDENT: 22, + "{": 23, + "}": 24, + "(": 25, + BIOP: 26, + ")": 27, + BIOPR: 28, + BIOPBP: 29, + BIOPP: 30, + "PARAM(": 31, + ")PARAM": 32, + UNARY: 33, + CREMENT: 34, + BACKTICK: 35, + TO: 36, + BY: 37, + WITH: 38, + FOR: 39, + Properties: 40, + LABEL: 41, + KeyBase: 42, + Arg: 43, + ",": 44, + NEWLINE: 45, + INDENT: 46, + "...": 47, + Lines: 48, + Line: 49, + "<-": 50, + COMMENT: 51, + REQUIRE: 52, + CLONEPORT: 53, + ASSIGN: 54, + IMPORT: 55, + "+-": 56, + CLONE: 57, + COMPARE: 58, + LOGIC: 59, + MATH: 60, + POWER: 61, + SHIFT: 62, + BITWISE: 63, + CONCAT: 64, + COMPOSE: 65, + RELATION: 66, + PIPE: 67, + BACKPIPE: 68, + "!?": 69, + "->": 70, + FUNCTION: 71, + IF: 72, + Else: 73, + POST_IF: 74, + LoopHead: 75, + DO: 76, + WHILE: 77, + CASE: 78, + HURL: 79, + JUMP: 80, + SWITCH: 81, + Exprs: 82, + Cases: 83, + DEFAULT: 84, + ELSE: 85, + TRY: 86, + CATCH: 87, + FINALLY: 88, + CLASS: 89, + OptExtends: 90, + OptImplements: 91, + EXTENDS: 92, + DECL: 93, + KeyValue: 94, + Property: 95, + ":": 96, + Body: 97, + IN: 98, + OF: 99, + FROM: 100, + IMPLEMENTS: 101, + Root: 102, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: "error", + 4: "ID", + 7: "STRNUM", + 8: "LITERAL", + 9: "DOT", + 11: "CALL(", + 14: ")CALL", + 15: "?", + 16: "LET", + 18: "[", + 21: "]", + 22: "DEDENT", + 23: "{", + 24: "}", + 25: "(", + 26: "BIOP", + 27: ")", + 28: "BIOPR", + 29: "BIOPBP", + 30: "BIOPP", + 31: "PARAM(", + 32: ")PARAM", + 33: "UNARY", + 34: "CREMENT", + 35: "BACKTICK", + 36: "TO", + 37: "BY", + 38: "WITH", + 39: "FOR", + 41: "LABEL", + 44: ",", + 45: "NEWLINE", + 46: "INDENT", + 47: "...", + 50: "<-", + 51: "COMMENT", + 52: "REQUIRE", + 53: "CLONEPORT", + 54: "ASSIGN", + 55: "IMPORT", + 56: "+-", + 57: "CLONE", + 58: "COMPARE", + 59: "LOGIC", + 60: "MATH", + 61: "POWER", + 62: "SHIFT", + 63: "BITWISE", + 64: "CONCAT", + 65: "COMPOSE", + 66: "RELATION", + 67: "PIPE", + 68: "BACKPIPE", + 69: "!?", + 70: "->", + 71: "FUNCTION", + 72: "IF", + 74: "POST_IF", + 76: "DO", + 77: "WHILE", + 78: "CASE", + 79: "HURL", + 80: "JUMP", + 81: "SWITCH", + 84: "DEFAULT", + 85: "ELSE", + 86: "TRY", + 87: "CATCH", + 88: "FINALLY", + 89: "CLASS", + 92: "EXTENDS", + 93: "DECL", + 96: ":", + 98: "IN", + 99: "OF", + 100: "FROM", + 101: "IMPLEMENTS" + }, + productions_: [0, [3, 1], + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [3, 3], + [3, 3], + [3, 5], + [3, 2], + [3, 6], + [3, 4], + [3, 5], + [3, 7], + [3, 3], + [3, 4], + [3, 4], + [3, 3], + [3, 4], + [3, 4], + [3, 3], + [3, 7], + [3, 3], + [3, 7], + [3, 3], + [3, 3], + [3, 5], + [3, 6], + [3, 6], + [3, 5], + [3, 7], + [3, 4], + [3, 6], + [3, 7], + [3, 6], + [3, 6], + [3, 5], + [3, 3], + [3, 3], + [6, 4], + [6, 4], + [6, 5], + [6, 5], + [10, 1], + [10, 1], + [42, 1], + [42, 1], + [12, 0], + [12, 1], + [12, 3], + [12, 4], + [12, 6], + [43, 1], + [43, 2], + [43, 1], + [13, 0], + [13, 1], + [48, 0], + [48, 1], + [48, 3], + [48, 2], + [49, 1], + [49, 2], + [49, 6], + [49, 1], + [49, 1], + [49, 2], + [17, 3], + [19, 3], + [19, 3], + [19, 5], + [19, 1], + [19, 3], + [19, 6], + [19, 3], + [19, 6], + [19, 2], + [19, 2], + [19, 3], + [19, 3], + [19, 3], + [19, 2], + [19, 2], + [19, 2], + [19, 5], + [19, 3], + [19, 3], + [19, 3], + [19, 3], + [19, 3], + [19, 3], + [19, 3], + [19, 3], + [19, 3], + [19, 3], + [19, 3], + [19, 3], + [19, 2], + [19, 6], + [19, 6], + [19, 4], + [19, 3], + [19, 3], + [19, 4], + [19, 6], + [19, 2], + [19, 5], + [19, 1], + [19, 1], + [19, 2], + [19, 3], + [19, 5], + [19, 5], + [19, 2], + [19, 4], + [19, 4], + [19, 2], + [19, 2], + [19, 4], + [19, 6], + [19, 5], + [19, 7], + [19, 4], + [19, 5], + [19, 4], + [19, 3], + [19, 2], + [19, 2], + [19, 5], + [82, 1], + [82, 3], + [94, 1], + [94, 1], + [94, 3], + [94, 3], + [94, 5], + [94, 5], + [95, 3], + [95, 6], + [95, 1], + [95, 3], + [95, 3], + [95, 2], + [95, 2], + [95, 2], + [95, 1], + [40, 0], + [40, 1], + [40, 3], + [40, 4], + [40, 4], + [5, 3], + [97, 1], + [97, 1], + [97, 3], + [73, 0], + [73, 2], + [73, 5], + [75, 4], + [75, 6], + [75, 6], + [75, 8], + [75, 2], + [75, 4], + [75, 4], + [75, 6], + [75, 4], + [75, 6], + [75, 6], + [75, 8], + [75, 6], + [75, 5], + [75, 8], + [75, 7], + [75, 8], + [75, 10], + [75, 10], + [75, 2], + [75, 4], + [75, 4], + [75, 6], + [20, 1], + [20, 2], + [20, 3], + [20, 3], + [83, 3], + [83, 4], + [90, 2], + [90, 0], + [91, 2], + [91, 0], + [102, 1] + ], + performAction: function (t, n, r, i, s, o) { + var u = o.length - 1; + switch (s) { + case 1: + this.$ = i.Chain(i.L(r, i.Var(o[u]))); + break; + case 2: + case 3: + this.$ = i.Chain(o[u]); + break; + case 4: + case 5: + this.$ = i.Chain(i.L(r, i.Literal(o[u]))); + break; + case 6: + case 7: + this.$ = o[u - 2].add(i.Index(o[u], o[u - 1], !0)); + break; + case 8: + this.$ = o[u - 4].add(i.Call(o[u - 2])); + break; + case 9: + this.$ = i.Chain(i.Existence(o[u - 1].unwrap())); + break; + case 10: + this.$ = i.Chain(i.Call.letFunc(o[u - 3], o[u])); + break; + case 11: + this.$ = i.Chain(o[u - 1][0].makeComprehension(o[u - 2], o[u - 1].slice(1))); + break; + case 12: + this.$ = i.Chain(o[u - 2][0].makeComprehension(o[u - 3], o[u - 2].slice(1))); + break; + case 13: + this.$ = i.Chain(o[u - 1][0].addObjComp().makeComprehension(i.L(r, i.Arr(o[u - 4])), o[u - 1].slice(1))); + break; + case 14: + this.$ = i.Chain(i.Binary(o[u - 1])); + break; + case 15: + this.$ = i.Chain(i.Binary(o[u - 2], void 8, o[u - 1])); + break; + case 16: + this.$ = i.Chain(i.Binary(o[u - 1], o[u - 2])); + break; + case 17: + this.$ = i.Chain("!" === o[u - 1].charAt(0) ? i.Binary(o[u - 1].slice(1)).invertIt() : i.Binary(o[u - 1])); + break; + case 18: + this.$ = i.Chain("!" === o[u - 2].charAt(0) ? i.Binary(o[u - 2].slice(1), void 8, o[u - 1]).invertIt() : i.Binary(o[u - 2], void 8, o[u - 1])); + break; + case 19: + this.$ = i.Chain("!" === o[u - 1].charAt(0) ? i.Binary(o[u - 1].slice(1), o[u - 2]).invertIt() : i.Binary(o[u - 1], o[u - 2])); + break; + case 20: + this.$ = i.Chain(i.Binary(o[u - 1])); + break; + case 21: + this.$ = i.Chain(i.Binary(o[u - 5], void 8, o[u - 3])); + break; + case 22: + this.$ = i.Chain(i.Binary(o[u - 1])); + break; + case 23: + this.$ = i.Chain(i.Binary(o[u - 1], o[u - 4])); + break; + case 24: + case 25: + this.$ = i.Chain(i.Unary(o[u - 1])); + break; + case 26: + this.$ = i.Chain(o[u - 2]); + break; + case 27: + this.$ = i.Chain(o[u - 2].add(i.Call([o[u - 4]]))); + break; + case 28: + this.$ = i.Chain(i.Chain(i.Var("flip$")).add(i.Call([o[u - 3]]))).flipIt().add(i.Call([o[u - 1]])); + break; + case 29: + this.$ = i.Chain(new i.For({ + from: o[u - 3], + op: o[u - 2], + to: o[u - 1], + inComprehension: !0 + })); + break; + case 30: + this.$ = i.Chain(new i.For({ + from: o[u - 5], + op: o[u - 4], + to: o[u - 3], + step: o[u - 1], + inComprehension: !0 + })); + break; + case 31: + this.$ = i.Chain(new i.For({ + from: i.Chain(i.Literal(0)), + op: o[u - 2], + to: o[u - 1], + inComprehension: !0 + })); + break; + case 32: + this.$ = i.Chain(new i.For({ + from: i.Chain(i.Literal(0)), + op: o[u - 4], + to: o[u - 3], + step: o[u - 1], + inComprehension: !0 + })); + break; + case 33: + this.$ = i.Chain(i.Slice({ + type: o[u - 2], + target: o[u - 6], + from: o[u - 3], + to: o[u - 1] + })); + break; + case 34: + this.$ = i.Chain(i.Slice({ + type: o[u - 1], + target: o[u - 5], + from: o[u - 2] + })); + break; + case 35: + this.$ = i.Chain(i.Slice({ + type: o[u - 2], + target: o[u - 5], + to: o[u - 1] + })); + break; + case 36: + this.$ = i.Chain(i.Slice({ + type: o[u - 1], + target: o[u - 4] + })); + break; + case 37: + this.$ = i.Chain(i.Cascade(o[u - 1], o[u], "with")); + break; + case 38: + this.$ = i.Chain((new i.For({ + kind: o[u - 2], + source: o[u - 1], + body: o[u], + ref: !0 + })).addBody(o[u])); + break; + case 39: + this.$ = i.L(r, i.Arr(o[u - 2])); + break; + case 40: + this.$ = i.L(r, i.Obj(o[u - 2])); + break; + case 41: + this.$ = i.L(r, i.Arr(o[u - 3])).named(o[u]); + break; + case 42: + this.$ = i.L(r, i.Obj(o[u - 3])).named(o[u]); + break; + case 45: + this.$ = i.L(r, i.Key(o[u])); + break; + case 46: + this.$ = i.L(r, i.Literal(o[u])); + break; + case 47: + this.$ = []; + break; + case 48: + this.$ = [o[u]]; + break; + case 49: + this.$ = o[u - 2].concat(o[u]); + break; + case 50: + this.$ = o[u - 3].concat(o[u]); + break; + case 51: + this.$ = o[u - 5].concat(o[u - 2]); + break; + case 53: + this.$ = i.Splat(o[u]); + break; + case 54: + this.$ = i.Splat(i.L(r, i.Arr()), !0); + break; + case 57: + this.$ = i.L(r, i.Block()); + break; + case 58: + this.$ = i.Block(o[u]); + break; + case 59: + this.$ = o[u - 2].add(o[u]); + break; + case 62: + this.$ = i.Cascade(o[u - 1], o[u], "cascade"); + break; + case 63: + this.$ = i.Call.back(o[u - 4], o[u], o[u - 1].charAt(1) === "~", o[u - 1].length === 3); + break; + case 64: + this.$ = i.L(r, i.JS(o[u], !0, !0)); + break; + case 65: + this.$ = i.L(r, i.Throw(i.JS("Error('unimplemented')"))); + break; + case 66: + this.$ = i.Require(o[u].unwrap()); + break; + case 67: + this.$ = o[u - 1]; + break; + case 68: + this.$ = i.Import(i.Unary("^^", o[u - 2], { + prec: "yy.UNARY" + }), o[u], !1); + break; + case 69: + this.$ = i.Import(i.Unary("^^", o[u - 2], { + prec: "yy.UNARY" + }), o[u].unwrap(), !1); + break; + case 70: + this.$ = o[u - 2].add(i.Call([o[u - 4], o[u]])); + break; + case 71: + this.$ = o[u].unwrap(); + break; + case 72: + this.$ = i.Assign(o[u - 2].unwrap(), o[u], o[u - 1]); + break; + case 73: + this.$ = i.Assign(o[u - 5].unwrap(), i.Arr.maybe(o[u - 2]), o[u - 4]); + break; + case 74: + this.$ = i.Import(o[u - 2], o[u], o[u - 1] === "<<<<"); + break; + case 75: + this.$ = i.Import(o[u - 5], i.Arr.maybe(o[u - 2]), o[u - 4] === "<<<<"); + break; + case 76: + this.$ = i.Unary(o[u - 1], o[u].unwrap()); + break; + case 77: + this.$ = i.Unary(o[u], o[u - 1].unwrap(), !0); + break; + case 78: + case 79: + case 80: + this.$ = i.Assign(o[u].unwrap(), [o[u - 2]], o[u - 1]); + break; + case 81: + case 82: + case 83: + this.$ = i.Unary(o[u - 1], o[u]); + break; + case 84: + this.$ = i.Unary(o[u - 4], i.Arr.maybe(o[u - 2])); + break; + case 85: + case 86: + case 87: + case 88: + case 89: + case 90: + case 91: + case 92: + case 93: + this.$ = i.Binary(o[u - 1], o[u - 2], o[u]); + break; + case 94: + this.$ = "!" === o[u - 1].charAt(0) ? i.Binary(o[u - 1].slice(1), o[u - 2], o[u]).invert() : i.Binary(o[u - 1], o[u - 2], o[u]); + break; + case 95: + this.$ = i.Block(o[u - 2]).pipe(o[u], o[u - 1]); + break; + case 96: + this.$ = i.Block(o[u - 2]).pipe([o[u]], o[u - 1]); + break; + case 97: + this.$ = i.Existence(o[u - 1].unwrap(), !0); + break; + case 98: + this.$ = i.L(r, i.Fun(o[u - 4], o[u], /~/.test(o[u - 1]), /--|~~/.test(o[u - 1]), /!/.test(o[u - 1]))); + break; + case 99: + this.$ = i.L(r, i.Fun(o[u - 3], o[u]).named(o[u - 5])); + break; + case 100: + this.$ = i.If(o[u - 2], o[u - 1], o[u - 3] === "unless").addElse(o[u]); + break; + case 101: + this.$ = i.If(o[u], o[u - 2], o[u - 1] === "unless"); + break; + case 102: + this.$ = o[u - 2].addBody(o[u - 1]).addElse(o[u]); + break; + case 103: + this.$ = (new i.While(o[u], o[u - 1] === "until", !0)).addBody(o[u - 2]); + break; + case 104: + this.$ = (new i.While(o[u - 2], o[u - 3] === "until", !0)).addGuard(o[u]).addBody(o[u - 4]); + break; + case 105: + this.$ = i.Jump[o[u - 1]](o[u]); + break; + case 106: + this.$ = i.Jump[o[u - 4]](i.Arr.maybe(o[u - 2])); + break; + case 107: + this.$ = i.L(r, i.Jump[o[u]]()); + break; + case 108: + this.$ = i.L(r, new i.Jump(o[u])); + break; + case 109: + this.$ = i.L(r, new i.Jump(o[u - 1], o[u])); + break; + case 110: + this.$ = new i.Switch(o[u - 2], o[u - 1], o[u]); + break; + case 111: + case 112: + this.$ = new i.Switch(o[u - 4], o[u - 3], o[u - 2], o[u]); + break; + case 113: + this.$ = new i.Switch(o[u - 1], null, o[u]); + break; + case 114: + case 115: + this.$ = new i.Switch(o[u - 3], null, o[u - 2], o[u]); + break; + case 116: + this.$ = new i.Switch(o[u - 1], null, [], o[u]); + break; + case 117: + this.$ = new i.Try(o[u]); + break; + case 118: + this.$ = new i.Try(o[u - 2], void 8, o[u]); + break; + case 119: + this.$ = new i.Try(o[u - 4], void 8, o[u - 2], o[u]); + break; + case 120: + this.$ = new i.Try(o[u - 3], o[u - 1], o[u]); + break; + case 121: + this.$ = new i.Try(o[u - 5], o[u - 3], o[u - 2], o[u]); + break; + case 122: + this.$ = new i.Try(o[u - 2], void 8, void 8, o[u]); + break; + case 123: + this.$ = new i.Class({ + title: o[u - 3].unwrap(), + sup: o[u - 2], + mixins: o[u - 1], + body: o[u] + }); + break; + case 124: + this.$ = new i.Class({ + sup: o[u - 2], + mixins: o[u - 1], + body: o[u] + }); + break; + case 125: + this.$ = i.Util.Extends(o[u - 2].unwrap(), o[u]); + break; + case 126: + case 127: + this.$ = new i.Label(o[u - 1], o[u]); + break; + case 128: + this.$ = i.Decl(o[u - 4], o[u - 2], r + 1); + break; + case 129: + this.$ = [o[u]]; + break; + case 130: + this.$ = o[u - 2].concat(o[u]); + break; + case 132: + this.$ = i.Prop(i.L(r, i.Key(o[u], o[u] !== "arguments" && o[u] !== "eval")), i.L(r, i.Literal(o[u]))); + break; + case 133: + this.$ = i.Prop(o[u], i.Chain(o[u - 2], [i.Index(o[u], o[u - 1])])); + break; + case 134: + this.$ = i.Prop(o[u], i.Chain(i.L(r, i.Literal(o[u - 2])), [i.Index(o[u], o[u - 1])])); + break; + case 135: + this.$ = i.Prop(i.L(r, i.Key(o[u])), i.L(r, i.Obj(o[u - 3]).named(o[u]))); + break; + case 136: + this.$ = i.Prop(i.L(r, i.Key(o[u])), i.L(r, i.Arr(o[u - 3]).named(o[u]))); + break; + case 137: + this.$ = i.Prop(o[u - 2], o[u]); + break; + case 138: + this.$ = i.Prop(o[u - 5], i.Arr.maybe(o[u - 2])); + break; + case 140: + this.$ = i.Binary(o[u - 1], o[u - 2], o[u]); + break; + case 141: + this.$ = i.Binary(o[u - 1], o[u - 2], o[u], !0); + break; + case 142: + this.$ = i.Prop(o[u].maybeKey(), i.L(r, i.Literal(o[u - 1] === "+"))); + break; + case 143: + this.$ = i.Prop(i.L(r, i.Key(o[u], !0)), i.L(r, i.Literal(o[u - 1] === "+"))); + break; + case 144: + this.$ = i.Splat(o[u]); + break; + case 145: + this.$ = i.L(r, i.JS(o[u], !0, !0)); + break; + case 146: + this.$ = []; + break; + case 147: + this.$ = [o[u]]; + break; + case 148: + this.$ = o[u - 2].concat(o[u]); + break; + case 149: + this.$ = o[u - 3].concat(o[u]); + break; + case 150: + this.$ = o[u - 2]; + break; + case 151: + this.$ = i.Parens(o[u - 1].chomp().unwrap(), !1, o[u - 2] === '"'); + break; + case 154: + this.$ = o[u - 2].add(o[u]); + break; + case 155: + this.$ = null; + break; + case 156: + this.$ = o[u]; + break; + case 157: + this.$ = i.If(o[u - 2], o[u - 1], o[u - 3] === "unless").addElse(o[u]); + break; + case 158: + this.$ = new i.For({ + kind: o[u - 3], + item: o[u - 2].unwrap(), + index: o[u - 1], + source: o[u] + }); + break; + case 159: + this.$ = new i.For({ + kind: o[u - 5], + item: o[u - 4].unwrap(), + index: o[u - 3], + source: o[u - 2], + guard: o[u] + }); + break; + case 160: + this.$ = new i.For({ + kind: o[u - 5], + item: o[u - 4].unwrap(), + index: o[u - 3], + source: o[u - 2], + step: o[u] + }); + break; + case 161: + this.$ = new i.For({ + kind: o[u - 7], + item: o[u - 6].unwrap(), + index: o[u - 5], + source: o[u - 4], + step: o[u - 2], + guard: o[u] + }); + break; + case 162: + this.$ = new i.For({ + kind: o[u - 1], + source: o[u], + ref: !0 + }); + break; + case 163: + this.$ = new i.For({ + kind: o[u - 3], + source: o[u - 2], + ref: !0, + guard: o[u] + }); + break; + case 164: + this.$ = new i.For({ + kind: o[u - 3], + source: o[u - 2], + ref: !0, + step: o[u] + }); + break; + case 165: + this.$ = new i.For({ + kind: o[u - 5], + source: o[u - 4], + ref: !0, + step: o[u - 2], + guard: o[u] + }); + break; + case 166: + this.$ = new i.For({ + object: !0, + kind: o[u - 3], + index: o[u - 2], + source: o[u] + }); + break; + case 167: + this.$ = new i.For({ + object: !0, + kind: o[u - 5], + index: o[u - 4], + source: o[u - 2], + guard: o[u] + }); + break; + case 168: + this.$ = new i.For({ + object: !0, + kind: o[u - 5], + index: o[u - 4], + item: o[u - 2].unwrap(), + source: o[u] + }); + break; + case 169: + this.$ = new i.For({ + object: !0, + kind: o[u - 7], + index: o[u - 6], + item: o[u - 4].unwrap(), + source: o[u - 2], + guard: o[u] + }); + break; + case 170: + this.$ = new i.For({ + kind: o[u - 5], + index: o[u - 4], + from: o[u - 2], + op: o[u - 1], + to: o[u] + }); + break; + case 171: + this.$ = new i.For({ + kind: o[u - 4], + from: o[u - 2], + op: o[u - 1], + to: o[u] + }); + break; + case 172: + this.$ = new i.For({ + kind: o[u - 7], + index: o[u - 6], + from: o[u - 4], + op: o[u - 3], + to: o[u - 2], + guard: o[u] + }); + break; + case 173: + this.$ = new i.For({ + kind: o[u - 6], + from: o[u - 4], + op: o[u - 3], + to: o[u - 2], + guard: o[u] + }); + break; + case 174: + this.$ = new i.For({ + kind: o[u - 7], + index: o[u - 6], + from: o[u - 4], + op: o[u - 3], + to: o[u - 2], + step: o[u] + }); + break; + case 175: + this.$ = new i.For({ + kind: o[u - 9], + index: o[u - 8], + from: o[u - 6], + op: o[u - 5], + to: o[u - 4], + step: o[u - 2], + guard: o[u] + }); + break; + case 176: + this.$ = new i.For({ + kind: o[u - 9], + index: o[u - 8], + from: o[u - 6], + op: o[u - 5], + to: o[u - 4], + guard: o[u - 2], + step: o[u] + }); + break; + case 177: + this.$ = new i.While(o[u], o[u - 1] === "until"); + break; + case 178: + this.$ = (new i.While(o[u - 2], o[u - 3] === "until")).addGuard(o[u]); + break; + case 179: + this.$ = new i.While(o[u - 2], o[u - 3] === "until", o[u]); + break; + case 180: + this.$ = (new i.While(o[u - 4], o[u - 5] === "until", o[u - 2])).addGuard(o[u]); + break; + case 181: + this.$ = [o[u]]; + break; + case 182: + this.$ = o[u - 1].concat(o[u]); + break; + case 183: + case 184: + this.$ = o[u - 2].concat(o[u]); + break; + case 185: + this.$ = [new i.Case(o[u - 1], o[u])]; + break; + case 186: + this.$ = o[u - 3].concat(new i.Case(o[u - 1], o[u])); + break; + case 187: + this.$ = o[u]; + break; + case 188: + this.$ = null; + break; + case 189: + this.$ = o[u]; + break; + case 190: + this.$ = null; + break; + case 191: + return this.$ + } + }, + table: [{ + 1: [2, 57], + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 17: 4, + 18: [1, 34], + 19: 7, + 23: [1, 35], + 25: [1, 36], + 31: [1, 8], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 45: [2, 57], + 46: [1, 6], + 47: [1, 10], + 48: 3, + 49: 5, + 51: [1, 9], + 52: [1, 11], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27], + 97: 2, + 102: 1 + }, { + 1: [3] + }, { + 1: [2, 191] + }, { + 1: [2, 152], + 27: [2, 152], + 45: [1, 40] + }, { + 1: [2, 153], + 27: [2, 153], + 45: [1, 41] + }, { + 1: [2, 58], + 22: [2, 58], + 27: [2, 58], + 45: [2, 58] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 7, + 22: [2, 57], + 23: [1, 35], + 25: [1, 36], + 31: [1, 8], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 45: [2, 57], + 47: [1, 10], + 48: 42, + 49: 5, + 51: [1, 9], + 52: [1, 11], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 1: [2, 61], + 17: 43, + 22: [2, 61], + 27: [2, 61], + 35: [1, 44], + 45: [2, 61], + 46: [1, 6], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 12: 59, + 16: [1, 33], + 18: [1, 34], + 19: 61, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 32: [2, 47], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 43: 60, + 44: [2, 47], + 45: [2, 47], + 46: [2, 47], + 47: [1, 62], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 1: [2, 64], + 22: [2, 64], + 27: [2, 64], + 45: [2, 64] + }, { + 1: [2, 65], + 22: [2, 65], + 27: [2, 65], + 45: [2, 65] + }, { + 3: 64, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 23: [1, 35], + 25: [1, 36], + 38: [1, 37], + 39: [1, 65] + }, { + 1: [2, 71], + 9: [1, 71], + 11: [1, 72], + 14: [2, 71], + 15: [1, 73], + 21: [2, 71], + 22: [2, 71], + 24: [2, 71], + 26: [2, 71], + 27: [2, 71], + 28: [2, 71], + 32: [2, 71], + 34: [1, 68], + 35: [2, 71], + 36: [2, 71], + 37: [2, 71], + 39: [2, 71], + 44: [2, 71], + 45: [2, 71], + 46: [2, 71], + 53: [1, 66], + 54: [1, 67], + 55: [2, 71], + 56: [2, 71], + 58: [2, 71], + 59: [2, 71], + 60: [2, 71], + 61: [2, 71], + 62: [2, 71], + 63: [2, 71], + 64: [2, 71], + 65: [2, 71], + 66: [2, 71], + 67: [2, 71], + 68: [2, 71], + 69: [1, 69], + 74: [2, 71], + 77: [2, 71], + 78: [2, 71], + 92: [1, 70], + 101: [2, 71] + }, { + 3: 74, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 23: [1, 35], + 25: [1, 36], + 38: [1, 37], + 39: [1, 65] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 76, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 46: [1, 77], + 54: [1, 75], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 79, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 54: [1, 78], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 81, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 54: [1, 80], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 11: [1, 82] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 83, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 17: 84, + 46: [1, 6] + }, { + 17: 85, + 46: [1, 6] + }, { + 1: [2, 107], + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 14: [2, 107], + 16: [1, 33], + 18: [1, 34], + 19: 86, + 21: [2, 107], + 22: [2, 107], + 23: [1, 35], + 24: [2, 107], + 25: [1, 36], + 26: [2, 107], + 27: [2, 107], + 28: [2, 107], + 31: [1, 63], + 32: [2, 107], + 33: [1, 14], + 34: [1, 13], + 35: [2, 107], + 36: [2, 107], + 37: [2, 107], + 38: [1, 37], + 39: [2, 107], + 41: [1, 26], + 44: [2, 107], + 45: [2, 107], + 46: [1, 87], + 55: [2, 107], + 56: [1, 15], + 57: [1, 16], + 58: [2, 107], + 59: [2, 107], + 60: [2, 107], + 61: [2, 107], + 62: [2, 107], + 63: [2, 107], + 64: [2, 107], + 65: [2, 107], + 66: [2, 107], + 67: [2, 107], + 68: [2, 107], + 71: [1, 17], + 72: [1, 18], + 74: [2, 107], + 75: 19, + 76: [1, 20], + 77: [2, 107], + 78: [2, 107], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27], + 101: [2, 107] + }, { + 1: [2, 108], + 4: [1, 88], + 14: [2, 108], + 21: [2, 108], + 22: [2, 108], + 24: [2, 108], + 26: [2, 108], + 27: [2, 108], + 28: [2, 108], + 32: [2, 108], + 35: [2, 108], + 36: [2, 108], + 37: [2, 108], + 39: [2, 108], + 44: [2, 108], + 45: [2, 108], + 46: [2, 108], + 55: [2, 108], + 56: [2, 108], + 58: [2, 108], + 59: [2, 108], + 60: [2, 108], + 61: [2, 108], + 62: [2, 108], + 63: [2, 108], + 64: [2, 108], + 65: [2, 108], + 66: [2, 108], + 67: [2, 108], + 68: [2, 108], + 74: [2, 108], + 77: [2, 108], + 78: [2, 108], + 101: [2, 108] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 17: 91, + 18: [1, 34], + 19: 92, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 46: [1, 6], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 78: [1, 93], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 82: 89, + 83: 90, + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 17: 94, + 46: [1, 6] + }, { + 3: 95, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 23: [1, 35], + 25: [1, 36], + 38: [1, 37], + 39: [1, 65], + 46: [2, 188], + 90: 96, + 92: [1, 97], + 101: [2, 188] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 17: 99, + 18: [1, 34], + 19: 98, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 46: [1, 6], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 46: [1, 100] + }, { + 1: [2, 1], + 9: [2, 1], + 11: [2, 1], + 14: [2, 1], + 15: [2, 1], + 21: [2, 1], + 22: [2, 1], + 24: [2, 1], + 26: [2, 1], + 27: [2, 1], + 28: [2, 1], + 32: [2, 1], + 34: [2, 1], + 35: [2, 1], + 36: [2, 1], + 37: [2, 1], + 39: [2, 1], + 44: [2, 1], + 45: [2, 1], + 46: [2, 1], + 53: [2, 1], + 54: [2, 1], + 55: [2, 1], + 56: [2, 1], + 58: [2, 1], + 59: [2, 1], + 60: [2, 1], + 61: [2, 1], + 62: [2, 1], + 63: [2, 1], + 64: [2, 1], + 65: [2, 1], + 66: [2, 1], + 67: [2, 1], + 68: [2, 1], + 69: [2, 1], + 74: [2, 1], + 77: [2, 1], + 78: [2, 1], + 92: [2, 1], + 99: [2, 1], + 101: [2, 1] + }, { + 1: [2, 2], + 9: [2, 2], + 11: [2, 2], + 14: [2, 2], + 15: [2, 2], + 21: [2, 2], + 22: [2, 2], + 24: [2, 2], + 26: [2, 2], + 27: [2, 2], + 28: [2, 2], + 32: [2, 2], + 34: [2, 2], + 35: [2, 2], + 36: [2, 2], + 37: [2, 2], + 39: [2, 2], + 44: [2, 2], + 45: [2, 2], + 46: [2, 2], + 53: [2, 2], + 54: [2, 2], + 55: [2, 2], + 56: [2, 2], + 58: [2, 2], + 59: [2, 2], + 60: [2, 2], + 61: [2, 2], + 62: [2, 2], + 63: [2, 2], + 64: [2, 2], + 65: [2, 2], + 66: [2, 2], + 67: [2, 2], + 68: [2, 2], + 69: [2, 2], + 74: [2, 2], + 77: [2, 2], + 78: [2, 2], + 92: [2, 2], + 98: [2, 2], + 99: [2, 2], + 101: [2, 2] + }, { + 1: [2, 3], + 9: [2, 3], + 11: [2, 3], + 14: [2, 3], + 15: [2, 3], + 21: [2, 3], + 22: [2, 3], + 24: [2, 3], + 26: [2, 3], + 27: [2, 3], + 28: [2, 3], + 32: [2, 3], + 34: [2, 3], + 35: [2, 3], + 36: [2, 3], + 37: [2, 3], + 39: [2, 3], + 44: [2, 3], + 45: [2, 3], + 46: [2, 3], + 53: [2, 3], + 54: [2, 3], + 55: [2, 3], + 56: [2, 3], + 58: [2, 3], + 59: [2, 3], + 60: [2, 3], + 61: [2, 3], + 62: [2, 3], + 63: [2, 3], + 64: [2, 3], + 65: [2, 3], + 66: [2, 3], + 67: [2, 3], + 68: [2, 3], + 69: [2, 3], + 74: [2, 3], + 77: [2, 3], + 78: [2, 3], + 92: [2, 3], + 98: [2, 3], + 99: [2, 3], + 101: [2, 3] + }, { + 1: [2, 4], + 9: [2, 4], + 11: [2, 4], + 14: [2, 4], + 15: [2, 4], + 21: [2, 4], + 22: [2, 4], + 24: [2, 4], + 26: [2, 4], + 27: [2, 4], + 28: [2, 4], + 32: [2, 4], + 34: [2, 4], + 35: [2, 4], + 36: [2, 4], + 37: [2, 4], + 39: [2, 4], + 44: [2, 4], + 45: [2, 4], + 46: [2, 4], + 53: [2, 4], + 54: [2, 4], + 55: [2, 4], + 56: [2, 4], + 58: [2, 4], + 59: [2, 4], + 60: [2, 4], + 61: [2, 4], + 62: [2, 4], + 63: [2, 4], + 64: [2, 4], + 65: [2, 4], + 66: [2, 4], + 67: [2, 4], + 68: [2, 4], + 69: [2, 4], + 74: [2, 4], + 77: [2, 4], + 78: [2, 4], + 92: [2, 4], + 98: [2, 4], + 99: [2, 4], + 101: [2, 4] + }, { + 1: [2, 5], + 9: [2, 5], + 11: [2, 5], + 14: [2, 5], + 15: [2, 5], + 21: [2, 5], + 22: [2, 5], + 24: [2, 5], + 26: [2, 5], + 27: [2, 5], + 28: [2, 5], + 32: [2, 5], + 34: [2, 5], + 35: [2, 5], + 36: [2, 5], + 37: [2, 5], + 39: [2, 5], + 44: [2, 5], + 45: [2, 5], + 46: [2, 5], + 53: [2, 5], + 54: [2, 5], + 55: [2, 5], + 56: [2, 5], + 58: [2, 5], + 59: [2, 5], + 60: [2, 5], + 61: [2, 5], + 62: [2, 5], + 63: [2, 5], + 64: [2, 5], + 65: [2, 5], + 66: [2, 5], + 67: [2, 5], + 68: [2, 5], + 69: [2, 5], + 74: [2, 5], + 77: [2, 5], + 78: [2, 5], + 92: [2, 5], + 98: [2, 5], + 99: [2, 5], + 101: [2, 5] + }, { + 11: [1, 101] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 12: 104, + 16: [1, 33], + 18: [1, 34], + 19: 102, + 21: [2, 47], + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 36: [1, 103], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 43: 60, + 44: [2, 47], + 45: [2, 47], + 46: [2, 47], + 47: [1, 62], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 4: [1, 118], + 5: 115, + 7: [1, 119], + 8: [1, 116], + 10: 109, + 18: [1, 105], + 23: [1, 117], + 24: [2, 146], + 25: [1, 120], + 40: 106, + 42: 114, + 44: [2, 146], + 45: [2, 146], + 46: [1, 108], + 47: [1, 112], + 51: [1, 113], + 56: [1, 111], + 94: 110, + 95: 107 + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 17: 4, + 18: [1, 34], + 19: 122, + 23: [1, 35], + 25: [1, 36], + 26: [1, 121], + 27: [2, 57], + 28: [1, 123], + 29: [1, 124], + 30: [1, 125], + 31: [1, 126], + 33: [1, 127], + 34: [1, 128], + 35: [1, 129], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 45: [2, 57], + 46: [1, 6], + 47: [1, 10], + 48: 3, + 49: 5, + 51: [1, 9], + 52: [1, 11], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27], + 97: 130 + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 131, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 133, + 4: [1, 134], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 132, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27], + 100: [1, 135] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 136, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 1: [2, 60], + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 7, + 22: [2, 60], + 23: [1, 35], + 25: [1, 36], + 27: [2, 60], + 31: [1, 8], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 45: [2, 60], + 47: [1, 10], + 49: 137, + 51: [1, 9], + 52: [1, 11], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 1: [2, 57], + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 7, + 23: [1, 35], + 25: [1, 36], + 27: [2, 57], + 31: [1, 8], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 45: [2, 57], + 47: [1, 10], + 48: 138, + 49: 5, + 51: [1, 9], + 52: [1, 11], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 22: [1, 139], + 45: [1, 40] + }, { + 1: [2, 62], + 22: [2, 62], + 27: [2, 62], + 45: [2, 62] + }, { + 3: 140, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 23: [1, 35], + 25: [1, 36], + 38: [1, 37], + 39: [1, 65] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 141, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 46: [1, 142], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 143, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 144, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 145, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 146, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 147, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 148, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 149, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 150, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 151, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 152, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 153, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 154, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 155, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 13: 156, + 32: [2, 55], + 44: [1, 157], + 45: [2, 55], + 46: [2, 55] + }, { + 14: [2, 48], + 21: [2, 48], + 22: [2, 48], + 32: [2, 48], + 44: [2, 48], + 45: [2, 48], + 46: [2, 48] + }, { + 14: [2, 52], + 21: [2, 52], + 22: [2, 52], + 32: [2, 52], + 35: [1, 44], + 44: [2, 52], + 45: [2, 52], + 46: [2, 52], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 14: [2, 54], + 16: [1, 33], + 18: [1, 34], + 19: 158, + 21: [2, 54], + 22: [2, 54], + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 32: [2, 54], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 44: [2, 54], + 45: [2, 54], + 46: [2, 54], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 12: 159, + 16: [1, 33], + 18: [1, 34], + 19: 61, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 32: [2, 47], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 43: 60, + 44: [2, 47], + 45: [2, 47], + 46: [2, 47], + 47: [1, 62], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 1: [2, 66], + 9: [1, 71], + 11: [1, 72], + 15: [1, 73], + 22: [2, 66], + 27: [2, 66], + 45: [2, 66] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 160, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 17: 162, + 18: [1, 34], + 19: 161, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 46: [1, 6], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 163, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 46: [1, 164], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 1: [2, 77], + 14: [2, 77], + 21: [2, 77], + 22: [2, 77], + 24: [2, 77], + 26: [2, 77], + 27: [2, 77], + 28: [2, 77], + 32: [2, 77], + 35: [2, 77], + 36: [2, 77], + 37: [2, 77], + 39: [2, 77], + 44: [2, 77], + 45: [2, 77], + 46: [2, 77], + 55: [2, 77], + 56: [2, 77], + 58: [2, 77], + 59: [2, 77], + 60: [2, 77], + 61: [2, 77], + 62: [2, 77], + 63: [2, 77], + 64: [2, 77], + 65: [2, 77], + 66: [2, 77], + 67: [2, 77], + 68: [2, 77], + 74: [2, 77], + 77: [2, 77], + 78: [2, 77], + 101: [2, 77] + }, { + 1: [2, 97], + 14: [2, 97], + 21: [2, 97], + 22: [2, 97], + 24: [2, 97], + 26: [2, 97], + 27: [2, 97], + 28: [2, 97], + 32: [2, 97], + 35: [2, 97], + 36: [2, 97], + 37: [2, 97], + 39: [2, 97], + 44: [2, 97], + 45: [2, 97], + 46: [2, 97], + 55: [2, 97], + 56: [2, 97], + 58: [2, 97], + 59: [2, 97], + 60: [2, 97], + 61: [2, 97], + 62: [2, 97], + 63: [2, 97], + 64: [2, 97], + 65: [2, 97], + 66: [2, 97], + 67: [2, 97], + 68: [2, 97], + 74: [2, 97], + 77: [2, 97], + 78: [2, 97], + 101: [2, 97] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 165, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 4: [1, 118], + 5: 115, + 6: 167, + 7: [1, 119], + 10: 166, + 18: [1, 168], + 23: [1, 169], + 25: [1, 120], + 42: 114 + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 12: 170, + 14: [2, 47], + 16: [1, 33], + 18: [1, 34], + 19: 61, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 43: 60, + 44: [2, 47], + 45: [2, 47], + 46: [2, 47], + 47: [1, 62], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 1: [2, 9], + 9: [2, 9], + 11: [2, 9], + 14: [2, 9], + 15: [2, 9], + 21: [2, 9], + 22: [2, 9], + 24: [2, 9], + 26: [2, 9], + 27: [2, 9], + 28: [2, 9], + 32: [2, 9], + 34: [2, 9], + 35: [2, 9], + 36: [2, 9], + 37: [2, 9], + 39: [2, 9], + 44: [2, 9], + 45: [2, 9], + 46: [2, 9], + 53: [2, 9], + 54: [2, 9], + 55: [2, 9], + 56: [2, 9], + 58: [2, 9], + 59: [2, 9], + 60: [2, 9], + 61: [2, 9], + 62: [2, 9], + 63: [2, 9], + 64: [2, 9], + 65: [2, 9], + 66: [2, 9], + 67: [2, 9], + 68: [2, 9], + 69: [2, 9], + 74: [2, 9], + 77: [2, 9], + 78: [2, 9], + 92: [2, 9], + 98: [2, 9], + 99: [2, 9], + 101: [2, 9] + }, { + 1: [2, 76], + 9: [1, 71], + 11: [1, 72], + 14: [2, 76], + 15: [1, 73], + 21: [2, 76], + 22: [2, 76], + 24: [2, 76], + 26: [2, 76], + 27: [2, 76], + 28: [2, 76], + 32: [2, 76], + 35: [2, 76], + 36: [2, 76], + 37: [2, 76], + 39: [2, 76], + 44: [2, 76], + 45: [2, 76], + 46: [2, 76], + 55: [2, 76], + 56: [2, 76], + 58: [2, 76], + 59: [2, 76], + 60: [2, 76], + 61: [2, 76], + 62: [2, 76], + 63: [2, 76], + 64: [2, 76], + 65: [2, 76], + 66: [2, 76], + 67: [2, 76], + 68: [2, 76], + 74: [2, 76], + 77: [2, 76], + 78: [2, 76], + 101: [2, 76] + }, { + 3: 171, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 23: [1, 35], + 25: [1, 36], + 38: [1, 37], + 39: [1, 65] + }, { + 1: [2, 81], + 14: [2, 81], + 21: [2, 81], + 22: [2, 81], + 24: [2, 81], + 26: [2, 81], + 27: [2, 81], + 28: [2, 81], + 32: [2, 81], + 35: [1, 44], + 36: [2, 81], + 37: [2, 81], + 39: [2, 81], + 44: [2, 81], + 45: [2, 81], + 46: [2, 81], + 55: [2, 81], + 56: [2, 81], + 58: [2, 81], + 59: [2, 81], + 60: [2, 81], + 61: [1, 50], + 62: [2, 81], + 63: [2, 81], + 64: [2, 81], + 65: [1, 54], + 66: [2, 81], + 67: [2, 81], + 68: [2, 81], + 74: [2, 81], + 77: [2, 81], + 78: [2, 81], + 101: [2, 81] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 12: 172, + 16: [1, 33], + 18: [1, 34], + 19: 61, + 22: [2, 47], + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 43: 60, + 44: [2, 47], + 45: [2, 47], + 46: [2, 47], + 47: [1, 62], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 173, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 23: [1, 35], + 25: [1, 36], + 38: [1, 37], + 39: [1, 65] + }, { + 1: [2, 82], + 14: [2, 82], + 21: [2, 82], + 22: [2, 82], + 24: [2, 82], + 26: [2, 82], + 27: [2, 82], + 28: [2, 82], + 32: [2, 82], + 35: [1, 44], + 36: [2, 82], + 37: [2, 82], + 39: [2, 82], + 44: [2, 82], + 45: [2, 82], + 46: [2, 82], + 55: [2, 82], + 56: [2, 82], + 58: [2, 82], + 59: [2, 82], + 60: [2, 82], + 61: [1, 50], + 62: [2, 82], + 63: [2, 82], + 64: [2, 82], + 65: [1, 54], + 66: [2, 82], + 67: [2, 82], + 68: [2, 82], + 74: [2, 82], + 77: [2, 82], + 78: [2, 82], + 101: [2, 82] + }, { + 3: 174, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 23: [1, 35], + 25: [1, 36], + 38: [1, 37], + 39: [1, 65] + }, { + 1: [2, 83], + 14: [2, 83], + 21: [2, 83], + 22: [2, 83], + 24: [2, 83], + 26: [2, 83], + 27: [2, 83], + 28: [2, 83], + 32: [2, 83], + 35: [1, 44], + 36: [2, 83], + 37: [2, 83], + 39: [2, 83], + 44: [2, 83], + 45: [2, 83], + 46: [2, 83], + 55: [2, 83], + 56: [2, 83], + 58: [2, 83], + 59: [2, 83], + 60: [2, 83], + 61: [1, 50], + 62: [2, 83], + 63: [2, 83], + 64: [2, 83], + 65: [1, 54], + 66: [2, 83], + 67: [2, 83], + 68: [2, 83], + 74: [2, 83], + 77: [2, 83], + 78: [2, 83], + 101: [2, 83] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 12: 175, + 14: [2, 47], + 16: [1, 33], + 18: [1, 34], + 19: 61, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 43: 60, + 44: [2, 47], + 45: [2, 47], + 46: [2, 47], + 47: [1, 62], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 17: 176, + 35: [1, 44], + 46: [1, 6], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58] + }, { + 1: [2, 155], + 14: [2, 155], + 21: [2, 155], + 22: [2, 155], + 24: [2, 155], + 26: [2, 155], + 27: [2, 155], + 28: [2, 155], + 32: [2, 155], + 35: [2, 155], + 36: [2, 155], + 37: [2, 155], + 39: [2, 155], + 44: [2, 155], + 45: [2, 155], + 46: [2, 155], + 55: [2, 155], + 56: [2, 155], + 58: [2, 155], + 59: [2, 155], + 60: [2, 155], + 61: [2, 155], + 62: [2, 155], + 63: [2, 155], + 64: [2, 155], + 65: [2, 155], + 66: [2, 155], + 67: [2, 155], + 68: [2, 155], + 73: 177, + 74: [2, 155], + 77: [2, 155], + 78: [2, 155], + 85: [1, 178], + 101: [2, 155] + }, { + 77: [1, 179] + }, { + 1: [2, 105], + 14: [2, 105], + 21: [2, 105], + 22: [2, 105], + 24: [2, 105], + 26: [2, 105], + 27: [2, 105], + 28: [2, 105], + 32: [2, 105], + 35: [1, 44], + 36: [2, 105], + 37: [2, 105], + 39: [2, 105], + 44: [2, 105], + 45: [2, 105], + 46: [2, 105], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [2, 105], + 74: [2, 105], + 77: [2, 105], + 78: [2, 105], + 101: [2, 105] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 12: 180, + 16: [1, 33], + 18: [1, 34], + 19: 61, + 22: [2, 47], + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 43: 60, + 44: [2, 47], + 45: [2, 47], + 46: [2, 47], + 47: [1, 62], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 1: [2, 109], + 14: [2, 109], + 21: [2, 109], + 22: [2, 109], + 24: [2, 109], + 26: [2, 109], + 27: [2, 109], + 28: [2, 109], + 32: [2, 109], + 35: [2, 109], + 36: [2, 109], + 37: [2, 109], + 39: [2, 109], + 44: [2, 109], + 45: [2, 109], + 46: [2, 109], + 55: [2, 109], + 56: [2, 109], + 58: [2, 109], + 59: [2, 109], + 60: [2, 109], + 61: [2, 109], + 62: [2, 109], + 63: [2, 109], + 64: [2, 109], + 65: [2, 109], + 66: [2, 109], + 67: [2, 109], + 68: [2, 109], + 74: [2, 109], + 77: [2, 109], + 78: [2, 109], + 101: [2, 109] + }, { + 44: [1, 182], + 78: [1, 93], + 83: 181 + }, { + 1: [2, 113], + 14: [2, 113], + 21: [2, 113], + 22: [2, 113], + 24: [2, 113], + 26: [2, 113], + 27: [2, 113], + 28: [2, 113], + 32: [2, 113], + 35: [2, 113], + 36: [2, 113], + 37: [2, 113], + 39: [2, 113], + 44: [2, 113], + 45: [2, 113], + 46: [2, 113], + 55: [2, 113], + 56: [2, 113], + 58: [2, 113], + 59: [2, 113], + 60: [2, 113], + 61: [2, 113], + 62: [2, 113], + 63: [2, 113], + 64: [2, 113], + 65: [2, 113], + 66: [2, 113], + 67: [2, 113], + 68: [2, 113], + 74: [2, 113], + 77: [2, 113], + 78: [1, 185], + 84: [1, 183], + 85: [1, 184], + 101: [2, 113] + }, { + 1: [2, 116], + 14: [2, 116], + 21: [2, 116], + 22: [2, 116], + 24: [2, 116], + 26: [2, 116], + 27: [2, 116], + 28: [2, 116], + 32: [2, 116], + 35: [2, 116], + 36: [2, 116], + 37: [2, 116], + 39: [2, 116], + 44: [2, 116], + 45: [2, 116], + 46: [2, 116], + 55: [2, 116], + 56: [2, 116], + 58: [2, 116], + 59: [2, 116], + 60: [2, 116], + 61: [2, 116], + 62: [2, 116], + 63: [2, 116], + 64: [2, 116], + 65: [2, 116], + 66: [2, 116], + 67: [2, 116], + 68: [2, 116], + 74: [2, 116], + 77: [2, 116], + 78: [2, 116], + 101: [2, 116] + }, { + 35: [1, 44], + 44: [2, 129], + 46: [2, 129], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 78: [2, 129] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 92, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 82: 186, + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 1: [2, 117], + 14: [2, 117], + 21: [2, 117], + 22: [2, 117], + 24: [2, 117], + 26: [2, 117], + 27: [2, 117], + 28: [2, 117], + 32: [2, 117], + 35: [2, 117], + 36: [2, 117], + 37: [2, 117], + 39: [2, 117], + 44: [2, 117], + 45: [2, 117], + 46: [2, 117], + 55: [2, 117], + 56: [2, 117], + 58: [2, 117], + 59: [2, 117], + 60: [2, 117], + 61: [2, 117], + 62: [2, 117], + 63: [2, 117], + 64: [2, 117], + 65: [2, 117], + 66: [2, 117], + 67: [2, 117], + 68: [2, 117], + 74: [2, 117], + 77: [2, 117], + 78: [2, 117], + 87: [1, 187], + 88: [1, 188], + 101: [2, 117] + }, { + 9: [1, 71], + 11: [1, 72], + 15: [1, 73], + 46: [2, 188], + 90: 189, + 92: [1, 97], + 101: [2, 188] + }, { + 46: [2, 190], + 91: 190, + 101: [1, 191] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 192, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 1: [2, 126], + 14: [2, 126], + 21: [2, 126], + 22: [2, 126], + 24: [2, 126], + 26: [2, 126], + 27: [2, 126], + 28: [2, 126], + 32: [2, 126], + 35: [1, 44], + 36: [2, 126], + 37: [2, 126], + 39: [2, 126], + 44: [2, 126], + 45: [2, 126], + 46: [2, 126], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [2, 126], + 74: [2, 126], + 77: [2, 126], + 78: [2, 126], + 101: [2, 126] + }, { + 1: [2, 127], + 14: [2, 127], + 21: [2, 127], + 22: [2, 127], + 24: [2, 127], + 26: [2, 127], + 27: [2, 127], + 28: [2, 127], + 32: [2, 127], + 35: [2, 127], + 36: [2, 127], + 37: [2, 127], + 39: [2, 127], + 44: [2, 127], + 45: [2, 127], + 46: [2, 127], + 55: [2, 127], + 56: [2, 127], + 58: [2, 127], + 59: [2, 127], + 60: [2, 127], + 61: [2, 127], + 62: [2, 127], + 63: [2, 127], + 64: [2, 127], + 65: [2, 127], + 66: [2, 127], + 67: [2, 127], + 68: [2, 127], + 74: [2, 127], + 77: [2, 127], + 78: [2, 127], + 101: [2, 127] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 12: 193, + 16: [1, 33], + 18: [1, 34], + 19: 61, + 22: [2, 47], + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 43: 60, + 44: [2, 47], + 45: [2, 47], + 46: [2, 47], + 47: [1, 62], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 12: 194, + 14: [2, 47], + 16: [1, 33], + 18: [1, 34], + 19: 61, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 43: 60, + 44: [2, 47], + 45: [2, 47], + 46: [2, 47], + 47: [1, 62], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 20: 195, + 21: [2, 52], + 35: [1, 44], + 36: [1, 196], + 39: [1, 198], + 44: [2, 52], + 45: [2, 52], + 46: [2, 52], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 75: 197, + 77: [1, 39] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 199, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 13: 200, + 21: [2, 55], + 44: [1, 157], + 45: [2, 55], + 46: [2, 55] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 12: 201, + 16: [1, 33], + 18: [1, 34], + 19: 61, + 21: [2, 47], + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 43: 60, + 44: [2, 47], + 45: [2, 47], + 46: [2, 47], + 47: [1, 62], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 13: 202, + 24: [2, 55], + 44: [1, 203], + 45: [2, 55] + }, { + 22: [2, 147], + 24: [2, 147], + 44: [2, 147], + 45: [2, 147] + }, { + 4: [1, 118], + 5: 115, + 7: [1, 119], + 8: [1, 116], + 10: 109, + 18: [1, 205], + 22: [2, 146], + 23: [1, 117], + 25: [1, 120], + 40: 204, + 42: 114, + 44: [2, 146], + 45: [2, 146], + 46: [1, 108], + 47: [1, 112], + 51: [1, 113], + 56: [1, 111], + 94: 110, + 95: 107 + }, { + 9: [1, 207], + 22: [2, 131], + 24: [2, 131], + 44: [2, 131], + 45: [2, 131], + 54: [2, 131], + 59: [2, 131], + 96: [1, 206] + }, { + 22: [2, 139], + 24: [2, 139], + 44: [2, 139], + 45: [2, 139], + 54: [1, 209], + 59: [1, 208] + }, { + 4: [1, 118], + 5: 115, + 7: [1, 119], + 8: [1, 211], + 10: 210, + 25: [1, 120], + 42: 114 + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 212, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 22: [2, 145], + 24: [2, 145], + 44: [2, 145], + 45: [2, 145] + }, { + 1: [2, 43], + 9: [2, 43], + 11: [2, 43], + 14: [2, 43], + 15: [2, 43], + 21: [2, 43], + 22: [2, 43], + 24: [2, 43], + 26: [2, 43], + 27: [2, 43], + 28: [2, 43], + 32: [2, 43], + 34: [2, 43], + 35: [2, 43], + 36: [2, 43], + 37: [2, 43], + 39: [2, 43], + 44: [2, 43], + 45: [2, 43], + 46: [2, 43], + 53: [2, 43], + 54: [2, 43], + 55: [2, 43], + 56: [2, 43], + 58: [2, 43], + 59: [2, 43], + 60: [2, 43], + 61: [2, 43], + 62: [2, 43], + 63: [2, 43], + 64: [2, 43], + 65: [2, 43], + 66: [2, 43], + 67: [2, 43], + 68: [2, 43], + 69: [2, 43], + 74: [2, 43], + 77: [2, 43], + 78: [2, 43], + 92: [2, 43], + 96: [2, 43], + 98: [2, 43], + 99: [2, 43], + 101: [2, 43] + }, { + 1: [2, 44], + 9: [2, 44], + 11: [2, 44], + 14: [2, 44], + 15: [2, 44], + 21: [2, 44], + 22: [2, 44], + 24: [2, 44], + 26: [2, 44], + 27: [2, 44], + 28: [2, 44], + 32: [2, 44], + 34: [2, 44], + 35: [2, 44], + 36: [2, 44], + 37: [2, 44], + 39: [2, 44], + 44: [2, 44], + 45: [2, 44], + 46: [2, 44], + 53: [2, 44], + 54: [2, 44], + 55: [2, 44], + 56: [2, 44], + 58: [2, 44], + 59: [2, 44], + 60: [2, 44], + 61: [2, 44], + 62: [2, 44], + 63: [2, 44], + 64: [2, 44], + 65: [2, 44], + 66: [2, 44], + 67: [2, 44], + 68: [2, 44], + 69: [2, 44], + 74: [2, 44], + 77: [2, 44], + 78: [2, 44], + 92: [2, 44], + 96: [2, 44], + 98: [2, 44], + 99: [2, 44], + 101: [2, 44] + }, { + 9: [1, 213], + 22: [2, 132], + 24: [2, 132], + 44: [2, 132], + 45: [2, 132], + 54: [2, 132], + 59: [2, 132] + }, { + 4: [1, 118], + 5: 115, + 7: [1, 119], + 8: [1, 116], + 10: 109, + 18: [1, 205], + 23: [1, 117], + 24: [2, 146], + 25: [1, 120], + 40: 214, + 42: 114, + 44: [2, 146], + 45: [2, 146], + 46: [1, 108], + 47: [1, 112], + 51: [1, 113], + 56: [1, 111], + 94: 110, + 95: 107 + }, { + 1: [2, 45], + 9: [2, 45], + 11: [2, 45], + 14: [2, 45], + 15: [2, 45], + 21: [2, 45], + 22: [2, 45], + 24: [2, 45], + 26: [2, 45], + 27: [2, 45], + 28: [2, 45], + 32: [2, 45], + 34: [2, 45], + 35: [2, 45], + 36: [2, 45], + 37: [2, 45], + 39: [2, 45], + 44: [2, 45], + 45: [2, 45], + 46: [2, 45], + 53: [2, 45], + 54: [2, 45], + 55: [2, 45], + 56: [2, 45], + 58: [2, 45], + 59: [2, 45], + 60: [2, 45], + 61: [2, 45], + 62: [2, 45], + 63: [2, 45], + 64: [2, 45], + 65: [2, 45], + 66: [2, 45], + 67: [2, 45], + 68: [2, 45], + 69: [2, 45], + 74: [2, 45], + 77: [2, 45], + 78: [2, 45], + 92: [2, 45], + 96: [2, 45], + 98: [2, 45], + 99: [2, 45], + 101: [2, 45] + }, { + 1: [2, 46], + 9: [2, 46], + 11: [2, 46], + 14: [2, 46], + 15: [2, 46], + 21: [2, 46], + 22: [2, 46], + 24: [2, 46], + 26: [2, 46], + 27: [2, 46], + 28: [2, 46], + 32: [2, 46], + 34: [2, 46], + 35: [2, 46], + 36: [2, 46], + 37: [2, 46], + 39: [2, 46], + 44: [2, 46], + 45: [2, 46], + 46: [2, 46], + 53: [2, 46], + 54: [2, 46], + 55: [2, 46], + 56: [2, 46], + 58: [2, 46], + 59: [2, 46], + 60: [2, 46], + 61: [2, 46], + 62: [2, 46], + 63: [2, 46], + 64: [2, 46], + 65: [2, 46], + 66: [2, 46], + 67: [2, 46], + 68: [2, 46], + 69: [2, 46], + 74: [2, 46], + 77: [2, 46], + 78: [2, 46], + 92: [2, 46], + 96: [2, 46], + 98: [2, 46], + 99: [2, 46], + 101: [2, 46] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 17: 4, + 18: [1, 34], + 19: 7, + 23: [1, 35], + 25: [1, 36], + 27: [2, 57], + 31: [1, 8], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 45: [2, 57], + 46: [1, 6], + 47: [1, 10], + 48: 3, + 49: 5, + 51: [1, 9], + 52: [1, 11], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27], + 97: 130 + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 216, + 23: [1, 35], + 25: [1, 36], + 27: [1, 215], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 17: 43, + 26: [1, 217], + 27: [2, 61], + 28: [1, 218], + 35: [1, 219], + 45: [2, 61], + 46: [1, 6], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 221, + 23: [1, 35], + 25: [1, 36], + 27: [1, 220], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 11: [1, 223], + 27: [1, 222] + }, { + 27: [1, 224] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 12: 225, + 16: [1, 33], + 18: [1, 34], + 19: 61, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 32: [2, 47], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 43: 60, + 44: [2, 47], + 45: [2, 47], + 46: [2, 47], + 47: [1, 62], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 76, + 23: [1, 35], + 25: [1, 36], + 27: [1, 226], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 46: [1, 77], + 54: [1, 75], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 74, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 23: [1, 35], + 25: [1, 36], + 27: [1, 227], + 38: [1, 37], + 39: [1, 65] + }, { + 3: 228, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 23: [1, 35], + 25: [1, 36], + 38: [1, 37], + 39: [1, 65] + }, { + 27: [1, 229] + }, { + 17: 230, + 35: [1, 44], + 46: [1, 6], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58] + }, { + 17: 231, + 35: [1, 44], + 37: [1, 233], + 46: [1, 6], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 78: [1, 232] + }, { + 9: [1, 71], + 11: [1, 72], + 15: [1, 73], + 21: [2, 71], + 22: [2, 71], + 24: [2, 71], + 34: [1, 68], + 35: [2, 71], + 37: [2, 71], + 39: [2, 71], + 45: [2, 71], + 46: [2, 71], + 53: [1, 66], + 54: [1, 67], + 55: [2, 71], + 56: [2, 71], + 58: [2, 71], + 59: [2, 71], + 60: [2, 71], + 61: [2, 71], + 62: [2, 71], + 63: [2, 71], + 64: [2, 71], + 65: [2, 71], + 66: [2, 71], + 67: [2, 71], + 68: [2, 71], + 69: [1, 69], + 74: [2, 71], + 77: [2, 71], + 78: [2, 71], + 92: [1, 70], + 98: [1, 234] + }, { + 9: [2, 1], + 11: [2, 1], + 15: [2, 1], + 21: [2, 1], + 22: [2, 1], + 24: [2, 1], + 34: [2, 1], + 35: [2, 1], + 37: [2, 1], + 39: [2, 1], + 44: [1, 236], + 45: [2, 1], + 46: [2, 1], + 53: [2, 1], + 54: [2, 1], + 55: [2, 1], + 56: [2, 1], + 58: [2, 1], + 59: [2, 1], + 60: [2, 1], + 61: [2, 1], + 62: [2, 1], + 63: [2, 1], + 64: [2, 1], + 65: [2, 1], + 66: [2, 1], + 67: [2, 1], + 68: [2, 1], + 69: [2, 1], + 74: [2, 1], + 77: [2, 1], + 78: [2, 1], + 92: [2, 1], + 98: [2, 1], + 99: [1, 235], + 100: [1, 237] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 238, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 21: [2, 177], + 22: [2, 177], + 24: [2, 177], + 35: [1, 44], + 39: [2, 177], + 44: [1, 240], + 45: [2, 177], + 46: [2, 177], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 77: [2, 177], + 78: [1, 239] + }, { + 1: [2, 59], + 22: [2, 59], + 27: [2, 59], + 45: [2, 59] + }, { + 1: [2, 154], + 27: [2, 154], + 45: [1, 40] + }, { + 1: [2, 67], + 9: [2, 67], + 11: [2, 67], + 14: [2, 67], + 15: [2, 67], + 21: [2, 67], + 22: [2, 67], + 24: [2, 67], + 26: [2, 67], + 27: [2, 67], + 28: [2, 67], + 32: [2, 67], + 34: [2, 67], + 35: [2, 67], + 36: [2, 67], + 37: [2, 67], + 39: [2, 67], + 44: [2, 67], + 45: [2, 67], + 46: [2, 67], + 53: [2, 67], + 54: [2, 67], + 55: [2, 67], + 56: [2, 67], + 58: [2, 67], + 59: [2, 67], + 60: [2, 67], + 61: [2, 67], + 62: [2, 67], + 63: [2, 67], + 64: [2, 67], + 65: [2, 67], + 66: [2, 67], + 67: [2, 67], + 68: [2, 67], + 69: [2, 67], + 74: [2, 67], + 77: [2, 67], + 78: [2, 67], + 84: [2, 67], + 85: [2, 67], + 87: [2, 67], + 88: [2, 67], + 92: [2, 67], + 98: [2, 67], + 99: [2, 67], + 101: [2, 67] + }, { + 9: [1, 71], + 11: [1, 72], + 15: [1, 73], + 35: [1, 241] + }, { + 1: [2, 74], + 14: [2, 74], + 21: [2, 74], + 22: [2, 74], + 24: [2, 74], + 26: [2, 74], + 27: [2, 74], + 28: [2, 74], + 32: [2, 74], + 35: [1, 44], + 36: [2, 74], + 37: [2, 74], + 39: [2, 74], + 44: [2, 74], + 45: [2, 74], + 46: [2, 74], + 55: [2, 74], + 56: [1, 46], + 58: [2, 74], + 59: [2, 74], + 60: [1, 49], + 61: [1, 50], + 62: [2, 74], + 63: [2, 74], + 64: [2, 74], + 65: [1, 54], + 66: [2, 74], + 67: [2, 74], + 68: [2, 74], + 74: [2, 74], + 77: [2, 74], + 78: [2, 74], + 101: [2, 74] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 12: 242, + 16: [1, 33], + 18: [1, 34], + 19: 61, + 22: [2, 47], + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 43: 60, + 44: [2, 47], + 45: [2, 47], + 46: [2, 47], + 47: [1, 62], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 1: [2, 85], + 14: [2, 85], + 21: [2, 85], + 22: [2, 85], + 24: [2, 85], + 26: [2, 85], + 27: [2, 85], + 28: [2, 85], + 32: [2, 85], + 35: [1, 44], + 36: [2, 85], + 37: [2, 85], + 39: [2, 85], + 44: [2, 85], + 45: [2, 85], + 46: [2, 85], + 55: [2, 85], + 56: [2, 85], + 58: [2, 85], + 59: [2, 85], + 60: [1, 49], + 61: [1, 50], + 62: [2, 85], + 63: [2, 85], + 64: [2, 85], + 65: [1, 54], + 66: [2, 85], + 67: [2, 85], + 68: [2, 85], + 74: [2, 85], + 77: [2, 85], + 78: [2, 85], + 101: [2, 85] + }, { + 1: [2, 86], + 14: [2, 86], + 21: [2, 86], + 22: [2, 86], + 24: [2, 86], + 26: [2, 86], + 27: [2, 86], + 28: [2, 86], + 32: [2, 86], + 35: [1, 44], + 36: [2, 86], + 37: [2, 86], + 39: [2, 86], + 44: [2, 86], + 45: [2, 86], + 46: [2, 86], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [2, 86], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [2, 86], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [2, 86], + 68: [2, 86], + 74: [2, 86], + 77: [2, 86], + 78: [2, 86], + 101: [2, 86] + }, { + 1: [2, 87], + 14: [2, 87], + 21: [2, 87], + 22: [2, 87], + 24: [2, 87], + 26: [2, 87], + 27: [2, 87], + 28: [2, 87], + 32: [2, 87], + 35: [1, 44], + 36: [2, 87], + 37: [2, 87], + 39: [2, 87], + 44: [2, 87], + 45: [2, 87], + 46: [2, 87], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [2, 87], + 68: [2, 87], + 74: [2, 87], + 77: [2, 87], + 78: [2, 87], + 101: [2, 87] + }, { + 1: [2, 88], + 14: [2, 88], + 21: [2, 88], + 22: [2, 88], + 24: [2, 88], + 26: [2, 88], + 27: [2, 88], + 28: [2, 88], + 32: [2, 88], + 35: [1, 44], + 36: [2, 88], + 37: [2, 88], + 39: [2, 88], + 44: [2, 88], + 45: [2, 88], + 46: [2, 88], + 55: [2, 88], + 56: [2, 88], + 58: [2, 88], + 59: [2, 88], + 60: [2, 88], + 61: [1, 50], + 62: [2, 88], + 63: [2, 88], + 64: [2, 88], + 65: [1, 54], + 66: [2, 88], + 67: [2, 88], + 68: [2, 88], + 74: [2, 88], + 77: [2, 88], + 78: [2, 88], + 101: [2, 88] + }, { + 1: [2, 89], + 14: [2, 89], + 21: [2, 89], + 22: [2, 89], + 24: [2, 89], + 26: [2, 89], + 27: [2, 89], + 28: [2, 89], + 32: [2, 89], + 35: [1, 44], + 36: [2, 89], + 37: [2, 89], + 39: [2, 89], + 44: [2, 89], + 45: [2, 89], + 46: [2, 89], + 55: [2, 89], + 56: [2, 89], + 58: [2, 89], + 59: [2, 89], + 60: [2, 89], + 61: [1, 50], + 62: [2, 89], + 63: [2, 89], + 64: [2, 89], + 65: [1, 54], + 66: [2, 89], + 67: [2, 89], + 68: [2, 89], + 74: [2, 89], + 77: [2, 89], + 78: [2, 89], + 101: [2, 89] + }, { + 1: [2, 90], + 14: [2, 90], + 21: [2, 90], + 22: [2, 90], + 24: [2, 90], + 26: [2, 90], + 27: [2, 90], + 28: [2, 90], + 32: [2, 90], + 35: [1, 44], + 36: [2, 90], + 37: [2, 90], + 39: [2, 90], + 44: [2, 90], + 45: [2, 90], + 46: [2, 90], + 55: [2, 90], + 56: [1, 46], + 58: [2, 90], + 59: [2, 90], + 60: [1, 49], + 61: [1, 50], + 62: [2, 90], + 63: [2, 90], + 64: [2, 90], + 65: [1, 54], + 66: [2, 90], + 67: [2, 90], + 68: [2, 90], + 74: [2, 90], + 77: [2, 90], + 78: [2, 90], + 101: [2, 90] + }, { + 1: [2, 91], + 14: [2, 91], + 21: [2, 91], + 22: [2, 91], + 24: [2, 91], + 26: [2, 91], + 27: [2, 91], + 28: [2, 91], + 32: [2, 91], + 35: [1, 44], + 36: [2, 91], + 37: [2, 91], + 39: [2, 91], + 44: [2, 91], + 45: [2, 91], + 46: [2, 91], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [2, 91], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [2, 91], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [2, 91], + 68: [2, 91], + 74: [2, 91], + 77: [2, 91], + 78: [2, 91], + 101: [2, 91] + }, { + 1: [2, 92], + 14: [2, 92], + 21: [2, 92], + 22: [2, 92], + 24: [2, 92], + 26: [2, 92], + 27: [2, 92], + 28: [2, 92], + 32: [2, 92], + 35: [1, 44], + 36: [2, 92], + 37: [2, 92], + 39: [2, 92], + 44: [2, 92], + 45: [2, 92], + 46: [2, 92], + 55: [1, 45], + 56: [1, 46], + 58: [2, 92], + 59: [2, 92], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [2, 92], + 64: [1, 53], + 65: [1, 54], + 66: [2, 92], + 67: [2, 92], + 68: [2, 92], + 74: [2, 92], + 77: [2, 92], + 78: [2, 92], + 101: [2, 92] + }, { + 1: [2, 93], + 14: [2, 93], + 21: [2, 93], + 22: [2, 93], + 24: [2, 93], + 26: [2, 93], + 27: [2, 93], + 28: [2, 93], + 32: [2, 93], + 35: [1, 44], + 36: [2, 93], + 37: [2, 93], + 39: [2, 93], + 44: [2, 93], + 45: [2, 93], + 46: [2, 93], + 55: [2, 93], + 56: [2, 93], + 58: [2, 93], + 59: [2, 93], + 60: [2, 93], + 61: [2, 93], + 62: [2, 93], + 63: [2, 93], + 64: [2, 93], + 65: [1, 54], + 66: [2, 93], + 67: [2, 93], + 68: [2, 93], + 74: [2, 93], + 77: [2, 93], + 78: [2, 93], + 101: [2, 93] + }, { + 1: [2, 94], + 14: [2, 94], + 21: [2, 94], + 22: [2, 94], + 24: [2, 94], + 26: [2, 94], + 27: [2, 94], + 28: [2, 94], + 32: [2, 94], + 35: [1, 44], + 36: [2, 94], + 37: [2, 94], + 39: [2, 94], + 44: [2, 94], + 45: [2, 94], + 46: [2, 94], + 55: [1, 45], + 56: [1, 46], + 58: [2, 94], + 59: [2, 94], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [2, 94], + 64: [1, 53], + 65: [1, 54], + 66: [2, 94], + 67: [2, 94], + 68: [2, 94], + 74: [2, 94], + 77: [2, 94], + 78: [2, 94], + 101: [2, 94] + }, { + 1: [2, 95], + 14: [2, 95], + 21: [2, 95], + 22: [2, 95], + 24: [2, 95], + 26: [2, 95], + 27: [2, 95], + 28: [2, 95], + 32: [2, 95], + 35: [1, 44], + 36: [2, 95], + 37: [2, 95], + 39: [2, 95], + 44: [2, 95], + 45: [2, 95], + 46: [2, 95], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [2, 95], + 68: [2, 95], + 74: [2, 95], + 77: [2, 95], + 78: [2, 95], + 101: [2, 95] + }, { + 1: [2, 96], + 14: [2, 96], + 21: [2, 96], + 22: [2, 96], + 24: [2, 96], + 26: [2, 96], + 27: [2, 96], + 28: [2, 96], + 32: [2, 96], + 35: [1, 44], + 36: [2, 96], + 37: [2, 96], + 39: [2, 96], + 44: [2, 96], + 45: [2, 96], + 46: [2, 96], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [2, 96], + 77: [2, 96], + 78: [2, 96], + 101: [2, 96] + }, { + 1: [2, 101], + 14: [2, 101], + 21: [2, 101], + 22: [2, 101], + 24: [2, 101], + 26: [2, 101], + 27: [2, 101], + 28: [2, 101], + 32: [2, 101], + 35: [1, 44], + 36: [2, 101], + 37: [2, 101], + 39: [2, 101], + 44: [2, 101], + 45: [2, 101], + 46: [2, 101], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [2, 101], + 77: [2, 101], + 78: [2, 101], + 101: [2, 101] + }, { + 32: [1, 243], + 45: [1, 244], + 46: [1, 245] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 14: [2, 56], + 16: [1, 33], + 18: [1, 34], + 19: 61, + 21: [2, 56], + 22: [2, 56], + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 32: [2, 56], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 43: 246, + 45: [2, 56], + 46: [2, 56], + 47: [1, 62], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 14: [2, 53], + 21: [2, 53], + 22: [2, 53], + 32: [2, 53], + 35: [1, 44], + 44: [2, 53], + 45: [2, 53], + 46: [2, 53], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58] + }, { + 13: 247, + 32: [2, 55], + 44: [1, 157], + 45: [2, 55], + 46: [2, 55] + }, { + 17: 231, + 35: [1, 44], + 46: [1, 6], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58] + }, { + 1: [2, 68], + 14: [2, 68], + 21: [2, 68], + 22: [2, 68], + 24: [2, 68], + 26: [2, 68], + 27: [2, 68], + 28: [2, 68], + 32: [2, 68], + 35: [1, 44], + 36: [2, 68], + 37: [2, 68], + 39: [2, 68], + 44: [2, 68], + 45: [2, 68], + 46: [2, 68], + 55: [2, 68], + 56: [1, 46], + 58: [2, 68], + 59: [2, 68], + 60: [1, 49], + 61: [1, 50], + 62: [2, 68], + 63: [2, 68], + 64: [2, 68], + 65: [1, 54], + 66: [2, 68], + 67: [2, 68], + 68: [2, 68], + 74: [2, 68], + 77: [2, 68], + 78: [2, 68], + 101: [2, 68] + }, { + 1: [2, 69], + 14: [2, 69], + 21: [2, 69], + 22: [2, 69], + 24: [2, 69], + 26: [2, 69], + 27: [2, 69], + 28: [2, 69], + 32: [2, 69], + 35: [2, 69], + 36: [2, 69], + 37: [2, 69], + 39: [2, 69], + 44: [2, 69], + 45: [2, 69], + 46: [2, 69], + 55: [2, 69], + 56: [2, 69], + 58: [2, 69], + 59: [2, 69], + 60: [2, 69], + 61: [2, 69], + 62: [2, 69], + 63: [2, 69], + 64: [2, 69], + 65: [2, 69], + 66: [2, 69], + 67: [2, 69], + 68: [2, 69], + 74: [2, 69], + 77: [2, 69], + 78: [2, 69], + 101: [2, 69] + }, { + 1: [2, 72], + 14: [2, 72], + 21: [2, 72], + 22: [2, 72], + 24: [2, 72], + 26: [2, 72], + 27: [2, 72], + 28: [2, 72], + 32: [2, 72], + 35: [1, 44], + 36: [2, 72], + 37: [2, 72], + 39: [2, 72], + 44: [2, 72], + 45: [2, 72], + 46: [2, 72], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [2, 72], + 74: [2, 72], + 77: [2, 72], + 78: [2, 72], + 101: [2, 72] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 12: 248, + 16: [1, 33], + 18: [1, 34], + 19: 61, + 22: [2, 47], + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 43: 60, + 44: [2, 47], + 45: [2, 47], + 46: [2, 47], + 47: [1, 62], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 1: [2, 125], + 14: [2, 125], + 21: [2, 125], + 22: [2, 125], + 24: [2, 125], + 26: [2, 125], + 27: [2, 125], + 28: [2, 125], + 32: [2, 125], + 35: [1, 44], + 36: [2, 125], + 37: [2, 125], + 39: [2, 125], + 44: [2, 125], + 45: [2, 125], + 46: [2, 125], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [2, 125], + 74: [2, 125], + 77: [2, 125], + 78: [2, 125], + 101: [2, 125] + }, { + 1: [2, 6], + 9: [2, 6], + 11: [2, 6], + 14: [2, 6], + 15: [2, 6], + 21: [2, 6], + 22: [2, 6], + 24: [2, 6], + 26: [2, 6], + 27: [2, 6], + 28: [2, 6], + 32: [2, 6], + 34: [2, 6], + 35: [2, 6], + 36: [2, 6], + 37: [2, 6], + 39: [2, 6], + 44: [2, 6], + 45: [2, 6], + 46: [2, 6], + 53: [2, 6], + 54: [2, 6], + 55: [2, 6], + 56: [2, 6], + 58: [2, 6], + 59: [2, 6], + 60: [2, 6], + 61: [2, 6], + 62: [2, 6], + 63: [2, 6], + 64: [2, 6], + 65: [2, 6], + 66: [2, 6], + 67: [2, 6], + 68: [2, 6], + 69: [2, 6], + 74: [2, 6], + 77: [2, 6], + 78: [2, 6], + 92: [2, 6], + 98: [2, 6], + 99: [2, 6], + 101: [2, 6] + }, { + 1: [2, 7], + 9: [2, 7], + 11: [2, 7], + 14: [2, 7], + 15: [2, 7], + 21: [2, 7], + 22: [2, 7], + 24: [2, 7], + 26: [2, 7], + 27: [2, 7], + 28: [2, 7], + 32: [2, 7], + 34: [2, 7], + 35: [2, 7], + 36: [2, 7], + 37: [2, 7], + 39: [2, 7], + 44: [2, 7], + 45: [2, 7], + 46: [2, 7], + 53: [2, 7], + 54: [2, 7], + 55: [2, 7], + 56: [2, 7], + 58: [2, 7], + 59: [2, 7], + 60: [2, 7], + 61: [2, 7], + 62: [2, 7], + 63: [2, 7], + 64: [2, 7], + 65: [2, 7], + 66: [2, 7], + 67: [2, 7], + 68: [2, 7], + 69: [2, 7], + 74: [2, 7], + 77: [2, 7], + 78: [2, 7], + 92: [2, 7], + 98: [2, 7], + 99: [2, 7], + 101: [2, 7] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 12: 104, + 16: [1, 33], + 18: [1, 34], + 19: 249, + 21: [2, 47], + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 36: [1, 250], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 43: 60, + 44: [2, 47], + 45: [2, 47], + 46: [2, 47], + 47: [1, 62], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 4: [1, 118], + 5: 115, + 7: [1, 119], + 8: [1, 116], + 10: 109, + 18: [1, 205], + 23: [1, 117], + 24: [2, 146], + 25: [1, 120], + 40: 106, + 42: 114, + 44: [2, 146], + 45: [2, 146], + 46: [1, 108], + 47: [1, 112], + 51: [1, 113], + 56: [1, 111], + 94: 110, + 95: 107 + }, { + 13: 251, + 14: [2, 55], + 44: [1, 157], + 45: [2, 55], + 46: [2, 55] + }, { + 1: [2, 78], + 9: [1, 71], + 11: [1, 72], + 14: [2, 78], + 15: [1, 73], + 21: [2, 78], + 22: [2, 78], + 24: [2, 78], + 26: [2, 78], + 27: [2, 78], + 28: [2, 78], + 32: [2, 78], + 35: [2, 78], + 36: [2, 78], + 37: [2, 78], + 39: [2, 78], + 44: [2, 78], + 45: [2, 78], + 46: [2, 78], + 55: [2, 78], + 56: [2, 78], + 58: [2, 78], + 59: [2, 78], + 60: [2, 78], + 61: [2, 78], + 62: [2, 78], + 63: [2, 78], + 64: [2, 78], + 65: [2, 78], + 66: [2, 78], + 67: [2, 78], + 68: [2, 78], + 74: [2, 78], + 77: [2, 78], + 78: [2, 78], + 101: [2, 78] + }, { + 13: 252, + 22: [2, 55], + 44: [1, 157], + 45: [2, 55], + 46: [2, 55] + }, { + 1: [2, 79], + 9: [1, 71], + 11: [1, 72], + 14: [2, 79], + 15: [1, 73], + 21: [2, 79], + 22: [2, 79], + 24: [2, 79], + 26: [2, 79], + 27: [2, 79], + 28: [2, 79], + 32: [2, 79], + 35: [2, 79], + 36: [2, 79], + 37: [2, 79], + 39: [2, 79], + 44: [2, 79], + 45: [2, 79], + 46: [2, 79], + 55: [2, 79], + 56: [2, 79], + 58: [2, 79], + 59: [2, 79], + 60: [2, 79], + 61: [2, 79], + 62: [2, 79], + 63: [2, 79], + 64: [2, 79], + 65: [2, 79], + 66: [2, 79], + 67: [2, 79], + 68: [2, 79], + 74: [2, 79], + 77: [2, 79], + 78: [2, 79], + 101: [2, 79] + }, { + 1: [2, 80], + 9: [1, 71], + 11: [1, 72], + 14: [2, 80], + 15: [1, 73], + 21: [2, 80], + 22: [2, 80], + 24: [2, 80], + 26: [2, 80], + 27: [2, 80], + 28: [2, 80], + 32: [2, 80], + 35: [2, 80], + 36: [2, 80], + 37: [2, 80], + 39: [2, 80], + 44: [2, 80], + 45: [2, 80], + 46: [2, 80], + 55: [2, 80], + 56: [2, 80], + 58: [2, 80], + 59: [2, 80], + 60: [2, 80], + 61: [2, 80], + 62: [2, 80], + 63: [2, 80], + 64: [2, 80], + 65: [2, 80], + 66: [2, 80], + 67: [2, 80], + 68: [2, 80], + 74: [2, 80], + 77: [2, 80], + 78: [2, 80], + 101: [2, 80] + }, { + 13: 253, + 14: [2, 55], + 44: [1, 157], + 45: [2, 55], + 46: [2, 55] + }, { + 1: [2, 155], + 14: [2, 155], + 21: [2, 155], + 22: [2, 155], + 24: [2, 155], + 26: [2, 155], + 27: [2, 155], + 28: [2, 155], + 32: [2, 155], + 35: [2, 155], + 36: [2, 155], + 37: [2, 155], + 39: [2, 155], + 44: [2, 155], + 45: [2, 155], + 46: [2, 155], + 55: [2, 155], + 56: [2, 155], + 58: [2, 155], + 59: [2, 155], + 60: [2, 155], + 61: [2, 155], + 62: [2, 155], + 63: [2, 155], + 64: [2, 155], + 65: [2, 155], + 66: [2, 155], + 67: [2, 155], + 68: [2, 155], + 73: 254, + 74: [2, 155], + 77: [2, 155], + 78: [2, 155], + 85: [1, 178], + 101: [2, 155] + }, { + 1: [2, 102], + 14: [2, 102], + 21: [2, 102], + 22: [2, 102], + 24: [2, 102], + 26: [2, 102], + 27: [2, 102], + 28: [2, 102], + 32: [2, 102], + 35: [2, 102], + 36: [2, 102], + 37: [2, 102], + 39: [2, 102], + 44: [2, 102], + 45: [2, 102], + 46: [2, 102], + 55: [2, 102], + 56: [2, 102], + 58: [2, 102], + 59: [2, 102], + 60: [2, 102], + 61: [2, 102], + 62: [2, 102], + 63: [2, 102], + 64: [2, 102], + 65: [2, 102], + 66: [2, 102], + 67: [2, 102], + 68: [2, 102], + 74: [2, 102], + 77: [2, 102], + 78: [2, 102], + 101: [2, 102] + }, { + 17: 255, + 46: [1, 6], + 72: [1, 256] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 257, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 13: 258, + 22: [2, 55], + 44: [1, 157], + 45: [2, 55], + 46: [2, 55] + }, { + 1: [2, 110], + 14: [2, 110], + 21: [2, 110], + 22: [2, 110], + 24: [2, 110], + 26: [2, 110], + 27: [2, 110], + 28: [2, 110], + 32: [2, 110], + 35: [2, 110], + 36: [2, 110], + 37: [2, 110], + 39: [2, 110], + 44: [2, 110], + 45: [2, 110], + 46: [2, 110], + 55: [2, 110], + 56: [2, 110], + 58: [2, 110], + 59: [2, 110], + 60: [2, 110], + 61: [2, 110], + 62: [2, 110], + 63: [2, 110], + 64: [2, 110], + 65: [2, 110], + 66: [2, 110], + 67: [2, 110], + 68: [2, 110], + 74: [2, 110], + 77: [2, 110], + 78: [1, 185], + 84: [1, 259], + 85: [1, 260], + 101: [2, 110] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 261, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 17: 262, + 46: [1, 6] + }, { + 17: 263, + 46: [1, 6] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 92, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 82: 264, + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 17: 265, + 44: [1, 182], + 46: [1, 6] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 17: 266, + 18: [1, 34], + 19: 61, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 43: 267, + 46: [1, 6], + 47: [1, 62], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 17: 268, + 46: [1, 6] + }, { + 46: [2, 190], + 91: 269, + 101: [1, 191] + }, { + 17: 270, + 46: [1, 6] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 92, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 82: 271, + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 35: [1, 44], + 46: [2, 187], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 101: [2, 187] + }, { + 13: 272, + 22: [2, 55], + 44: [1, 157], + 45: [2, 55], + 46: [2, 55] + }, { + 13: 273, + 14: [2, 55], + 44: [1, 157], + 45: [2, 55], + 46: [2, 55] + }, { + 21: [1, 274], + 22: [1, 275], + 39: [1, 198], + 45: [1, 277], + 46: [1, 278], + 75: 276, + 77: [1, 39] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 279, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 21: [2, 181], + 22: [2, 181], + 24: [2, 181], + 39: [2, 181], + 45: [2, 181], + 46: [2, 181], + 77: [2, 181] + }, { + 3: 133, + 4: [1, 134], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 280, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27], + 100: [1, 135] + }, { + 21: [1, 281], + 35: [1, 44], + 37: [1, 282], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58] + }, { + 21: [1, 283], + 45: [1, 244], + 46: [1, 245] + }, { + 13: 284, + 21: [2, 55], + 44: [1, 157], + 45: [2, 55], + 46: [2, 55] + }, { + 24: [1, 285], + 45: [1, 286] + }, { + 4: [1, 118], + 5: 115, + 7: [1, 119], + 8: [1, 116], + 10: 109, + 18: [1, 205], + 22: [2, 56], + 23: [1, 117], + 24: [2, 56], + 25: [1, 120], + 42: 114, + 45: [2, 56], + 47: [1, 112], + 51: [1, 113], + 56: [1, 111], + 94: 110, + 95: 287 + }, { + 13: 288, + 22: [2, 55], + 44: [1, 203], + 45: [2, 55] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 12: 289, + 16: [1, 33], + 18: [1, 34], + 19: 61, + 21: [2, 47], + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 43: 60, + 44: [2, 47], + 45: [2, 47], + 46: [2, 47], + 47: [1, 62], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 290, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 46: [1, 291], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 4: [1, 118], + 7: [1, 119], + 42: 292 + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 293, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 294, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 22: [2, 142], + 24: [2, 142], + 44: [2, 142], + 45: [2, 142] + }, { + 22: [2, 143], + 24: [2, 143], + 44: [2, 143], + 45: [2, 143] + }, { + 22: [2, 144], + 24: [2, 144], + 35: [1, 44], + 44: [2, 144], + 45: [2, 144], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58] + }, { + 4: [1, 118], + 7: [1, 119], + 42: 295 + }, { + 13: 296, + 24: [2, 55], + 44: [1, 203], + 45: [2, 55] + }, { + 1: [2, 14], + 9: [2, 14], + 11: [2, 14], + 14: [2, 14], + 15: [2, 14], + 21: [2, 14], + 22: [2, 14], + 24: [2, 14], + 26: [2, 14], + 27: [2, 14], + 28: [2, 14], + 32: [2, 14], + 34: [2, 14], + 35: [2, 14], + 36: [2, 14], + 37: [2, 14], + 39: [2, 14], + 44: [2, 14], + 45: [2, 14], + 46: [2, 14], + 53: [2, 14], + 54: [2, 14], + 55: [2, 14], + 56: [2, 14], + 58: [2, 14], + 59: [2, 14], + 60: [2, 14], + 61: [2, 14], + 62: [2, 14], + 63: [2, 14], + 64: [2, 14], + 65: [2, 14], + 66: [2, 14], + 67: [2, 14], + 68: [2, 14], + 69: [2, 14], + 74: [2, 14], + 77: [2, 14], + 78: [2, 14], + 92: [2, 14], + 98: [2, 14], + 99: [2, 14], + 101: [2, 14] + }, { + 27: [1, 297], + 35: [1, 44], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58] + }, { + 27: [1, 298] + }, { + 27: [1, 299] + }, { + 3: 300, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 23: [1, 35], + 25: [1, 36], + 38: [1, 37], + 39: [1, 65] + }, { + 1: [2, 17], + 9: [2, 17], + 11: [2, 17], + 14: [2, 17], + 15: [2, 17], + 21: [2, 17], + 22: [2, 17], + 24: [2, 17], + 26: [2, 17], + 27: [2, 17], + 28: [2, 17], + 32: [2, 17], + 34: [2, 17], + 35: [2, 17], + 36: [2, 17], + 37: [2, 17], + 39: [2, 17], + 44: [2, 17], + 45: [2, 17], + 46: [2, 17], + 53: [2, 17], + 54: [2, 17], + 55: [2, 17], + 56: [2, 17], + 58: [2, 17], + 59: [2, 17], + 60: [2, 17], + 61: [2, 17], + 62: [2, 17], + 63: [2, 17], + 64: [2, 17], + 65: [2, 17], + 66: [2, 17], + 67: [2, 17], + 68: [2, 17], + 69: [2, 17], + 74: [2, 17], + 77: [2, 17], + 78: [2, 17], + 92: [2, 17], + 98: [2, 17], + 99: [2, 17], + 101: [2, 17] + }, { + 27: [1, 301], + 35: [1, 44], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58] + }, { + 1: [2, 20], + 9: [2, 20], + 11: [2, 20], + 14: [2, 20], + 15: [2, 20], + 21: [2, 20], + 22: [2, 20], + 24: [2, 20], + 26: [2, 20], + 27: [2, 20], + 28: [2, 20], + 32: [2, 20], + 34: [2, 20], + 35: [2, 20], + 36: [2, 20], + 37: [2, 20], + 39: [2, 20], + 44: [2, 20], + 45: [2, 20], + 46: [2, 20], + 53: [2, 20], + 54: [2, 20], + 55: [2, 20], + 56: [2, 20], + 58: [2, 20], + 59: [2, 20], + 60: [2, 20], + 61: [2, 20], + 62: [2, 20], + 63: [2, 20], + 64: [2, 20], + 65: [2, 20], + 66: [2, 20], + 67: [2, 20], + 68: [2, 20], + 69: [2, 20], + 74: [2, 20], + 77: [2, 20], + 78: [2, 20], + 92: [2, 20], + 98: [2, 20], + 99: [2, 20], + 101: [2, 20] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 12: 302, + 14: [2, 47], + 16: [1, 33], + 18: [1, 34], + 19: 61, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 43: 60, + 44: [2, 47], + 45: [2, 47], + 46: [2, 47], + 47: [1, 62], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 1: [2, 22], + 9: [2, 22], + 11: [2, 22], + 14: [2, 22], + 15: [2, 22], + 21: [2, 22], + 22: [2, 22], + 24: [2, 22], + 26: [2, 22], + 27: [2, 22], + 28: [2, 22], + 32: [2, 22], + 34: [2, 22], + 35: [2, 22], + 36: [2, 22], + 37: [2, 22], + 39: [2, 22], + 44: [2, 22], + 45: [2, 22], + 46: [2, 22], + 53: [2, 22], + 54: [2, 22], + 55: [2, 22], + 56: [2, 22], + 58: [2, 22], + 59: [2, 22], + 60: [2, 22], + 61: [2, 22], + 62: [2, 22], + 63: [2, 22], + 64: [2, 22], + 65: [2, 22], + 66: [2, 22], + 67: [2, 22], + 68: [2, 22], + 69: [2, 22], + 74: [2, 22], + 77: [2, 22], + 78: [2, 22], + 92: [2, 22], + 98: [2, 22], + 99: [2, 22], + 101: [2, 22] + }, { + 13: 303, + 32: [2, 55], + 44: [1, 157], + 45: [2, 55], + 46: [2, 55] + }, { + 1: [2, 24], + 9: [2, 24], + 11: [2, 24], + 14: [2, 24], + 15: [2, 24], + 21: [2, 24], + 22: [2, 24], + 24: [2, 24], + 26: [2, 24], + 27: [2, 24], + 28: [2, 24], + 32: [2, 24], + 34: [2, 24], + 35: [2, 24], + 36: [2, 24], + 37: [2, 24], + 39: [2, 24], + 44: [2, 24], + 45: [2, 24], + 46: [2, 24], + 53: [2, 24], + 54: [2, 24], + 55: [2, 24], + 56: [2, 24], + 58: [2, 24], + 59: [2, 24], + 60: [2, 24], + 61: [2, 24], + 62: [2, 24], + 63: [2, 24], + 64: [2, 24], + 65: [2, 24], + 66: [2, 24], + 67: [2, 24], + 68: [2, 24], + 69: [2, 24], + 74: [2, 24], + 77: [2, 24], + 78: [2, 24], + 92: [2, 24], + 98: [2, 24], + 99: [2, 24], + 101: [2, 24] + }, { + 1: [2, 25], + 9: [2, 25], + 11: [2, 25], + 14: [2, 25], + 15: [2, 25], + 21: [2, 25], + 22: [2, 25], + 24: [2, 25], + 26: [2, 25], + 27: [2, 25], + 28: [2, 25], + 32: [2, 25], + 34: [2, 25], + 35: [2, 25], + 36: [2, 25], + 37: [2, 25], + 39: [2, 25], + 44: [2, 25], + 45: [2, 25], + 46: [2, 25], + 53: [2, 25], + 54: [2, 25], + 55: [2, 25], + 56: [2, 25], + 58: [2, 25], + 59: [2, 25], + 60: [2, 25], + 61: [2, 25], + 62: [2, 25], + 63: [2, 25], + 64: [2, 25], + 65: [2, 25], + 66: [2, 25], + 67: [2, 25], + 68: [2, 25], + 69: [2, 25], + 74: [2, 25], + 77: [2, 25], + 78: [2, 25], + 92: [2, 25], + 98: [2, 25], + 99: [2, 25], + 101: [2, 25] + }, { + 9: [1, 71], + 11: [1, 72], + 15: [1, 73], + 35: [1, 304] + }, { + 1: [2, 151], + 9: [2, 151], + 11: [2, 151], + 14: [2, 151], + 15: [2, 151], + 21: [2, 151], + 22: [2, 151], + 24: [2, 151], + 26: [2, 151], + 27: [2, 151], + 28: [2, 151], + 32: [2, 151], + 34: [2, 151], + 35: [2, 151], + 36: [2, 151], + 37: [2, 151], + 39: [2, 151], + 44: [2, 151], + 45: [2, 151], + 46: [2, 151], + 53: [2, 151], + 54: [2, 151], + 55: [2, 151], + 56: [2, 151], + 58: [2, 151], + 59: [2, 151], + 60: [2, 151], + 61: [2, 151], + 62: [2, 151], + 63: [2, 151], + 64: [2, 151], + 65: [2, 151], + 66: [2, 151], + 67: [2, 151], + 68: [2, 151], + 69: [2, 151], + 74: [2, 151], + 77: [2, 151], + 78: [2, 151], + 92: [2, 151], + 96: [2, 151], + 98: [2, 151], + 99: [2, 151], + 101: [2, 151] + }, { + 1: [2, 37], + 9: [2, 37], + 11: [2, 37], + 14: [2, 37], + 15: [2, 37], + 21: [2, 37], + 22: [2, 37], + 24: [2, 37], + 26: [2, 37], + 27: [2, 37], + 28: [2, 37], + 32: [2, 37], + 34: [2, 37], + 35: [2, 37], + 36: [2, 37], + 37: [2, 37], + 39: [2, 37], + 44: [2, 37], + 45: [2, 37], + 46: [2, 37], + 53: [2, 37], + 54: [2, 37], + 55: [2, 37], + 56: [2, 37], + 58: [2, 37], + 59: [2, 37], + 60: [2, 37], + 61: [2, 37], + 62: [2, 37], + 63: [2, 37], + 64: [2, 37], + 65: [2, 37], + 66: [2, 37], + 67: [2, 37], + 68: [2, 37], + 69: [2, 37], + 74: [2, 37], + 77: [2, 37], + 78: [2, 37], + 92: [2, 37], + 98: [2, 37], + 99: [2, 37], + 101: [2, 37] + }, { + 1: [2, 38], + 9: [2, 38], + 11: [2, 38], + 14: [2, 38], + 15: [2, 38], + 21: [2, 38], + 22: [2, 38], + 24: [2, 38], + 26: [2, 38], + 27: [2, 38], + 28: [2, 38], + 32: [2, 38], + 34: [2, 38], + 35: [2, 38], + 36: [2, 38], + 37: [2, 38], + 39: [2, 38], + 44: [2, 38], + 45: [2, 38], + 46: [2, 38], + 53: [2, 38], + 54: [2, 38], + 55: [2, 38], + 56: [2, 38], + 58: [2, 38], + 59: [2, 38], + 60: [2, 38], + 61: [2, 38], + 62: [2, 38], + 63: [2, 38], + 64: [2, 38], + 65: [2, 38], + 66: [2, 38], + 67: [2, 38], + 68: [2, 38], + 69: [2, 38], + 74: [2, 38], + 77: [2, 38], + 78: [2, 38], + 92: [2, 38], + 98: [2, 38], + 99: [2, 38], + 101: [2, 38] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 305, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 306, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 307, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 308, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 309, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 23: [1, 35], + 25: [1, 36], + 38: [1, 37], + 39: [1, 65] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 310, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 35: [1, 44], + 36: [1, 311], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 312, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 313, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 314, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 13: 315, + 22: [2, 55], + 44: [1, 157], + 45: [2, 55], + 46: [2, 55] + }, { + 50: [1, 316], + 70: [1, 317] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 61, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 43: 318, + 47: [1, 62], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 12: 319, + 16: [1, 33], + 18: [1, 34], + 19: 61, + 22: [2, 47], + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 43: 60, + 44: [2, 47], + 45: [2, 47], + 46: [2, 47], + 47: [1, 62], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 14: [2, 49], + 21: [2, 49], + 22: [2, 49], + 32: [2, 49], + 44: [2, 49], + 45: [2, 49], + 46: [2, 49] + }, { + 32: [1, 320], + 45: [1, 244], + 46: [1, 245] + }, { + 13: 321, + 22: [2, 55], + 44: [1, 157], + 45: [2, 55], + 46: [2, 55] + }, { + 21: [2, 52], + 35: [1, 44], + 36: [1, 322], + 44: [2, 52], + 45: [2, 52], + 46: [2, 52], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 323, + 21: [1, 324], + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 14: [1, 325], + 45: [1, 244], + 46: [1, 245] + }, { + 22: [1, 326], + 45: [1, 244], + 46: [1, 245] + }, { + 14: [1, 327], + 45: [1, 244], + 46: [1, 245] + }, { + 1: [2, 100], + 14: [2, 100], + 21: [2, 100], + 22: [2, 100], + 24: [2, 100], + 26: [2, 100], + 27: [2, 100], + 28: [2, 100], + 32: [2, 100], + 35: [2, 100], + 36: [2, 100], + 37: [2, 100], + 39: [2, 100], + 44: [2, 100], + 45: [2, 100], + 46: [2, 100], + 55: [2, 100], + 56: [2, 100], + 58: [2, 100], + 59: [2, 100], + 60: [2, 100], + 61: [2, 100], + 62: [2, 100], + 63: [2, 100], + 64: [2, 100], + 65: [2, 100], + 66: [2, 100], + 67: [2, 100], + 68: [2, 100], + 74: [2, 100], + 77: [2, 100], + 78: [2, 100], + 101: [2, 100] + }, { + 1: [2, 156], + 14: [2, 156], + 21: [2, 156], + 22: [2, 156], + 24: [2, 156], + 26: [2, 156], + 27: [2, 156], + 28: [2, 156], + 32: [2, 156], + 35: [2, 156], + 36: [2, 156], + 37: [2, 156], + 39: [2, 156], + 44: [2, 156], + 45: [2, 156], + 46: [2, 156], + 55: [2, 156], + 56: [2, 156], + 58: [2, 156], + 59: [2, 156], + 60: [2, 156], + 61: [2, 156], + 62: [2, 156], + 63: [2, 156], + 64: [2, 156], + 65: [2, 156], + 66: [2, 156], + 67: [2, 156], + 68: [2, 156], + 74: [2, 156], + 77: [2, 156], + 78: [2, 156], + 101: [2, 156] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 328, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 1: [2, 103], + 14: [2, 103], + 21: [2, 103], + 22: [2, 103], + 24: [2, 103], + 26: [2, 103], + 27: [2, 103], + 28: [2, 103], + 32: [2, 103], + 35: [1, 44], + 36: [2, 103], + 37: [2, 103], + 39: [2, 103], + 44: [2, 103], + 45: [2, 103], + 46: [2, 103], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [2, 103], + 77: [2, 103], + 78: [1, 329], + 101: [2, 103] + }, { + 22: [1, 330], + 45: [1, 244], + 46: [1, 245] + }, { + 17: 331, + 46: [1, 6] + }, { + 17: 332, + 46: [1, 6] + }, { + 35: [1, 44], + 44: [2, 130], + 46: [2, 130], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 78: [2, 130] + }, { + 1: [2, 114], + 14: [2, 114], + 21: [2, 114], + 22: [2, 114], + 24: [2, 114], + 26: [2, 114], + 27: [2, 114], + 28: [2, 114], + 32: [2, 114], + 35: [2, 114], + 36: [2, 114], + 37: [2, 114], + 39: [2, 114], + 44: [2, 114], + 45: [2, 114], + 46: [2, 114], + 55: [2, 114], + 56: [2, 114], + 58: [2, 114], + 59: [2, 114], + 60: [2, 114], + 61: [2, 114], + 62: [2, 114], + 63: [2, 114], + 64: [2, 114], + 65: [2, 114], + 66: [2, 114], + 67: [2, 114], + 68: [2, 114], + 74: [2, 114], + 77: [2, 114], + 78: [2, 114], + 101: [2, 114] + }, { + 1: [2, 115], + 14: [2, 115], + 21: [2, 115], + 22: [2, 115], + 24: [2, 115], + 26: [2, 115], + 27: [2, 115], + 28: [2, 115], + 32: [2, 115], + 35: [2, 115], + 36: [2, 115], + 37: [2, 115], + 39: [2, 115], + 44: [2, 115], + 45: [2, 115], + 46: [2, 115], + 55: [2, 115], + 56: [2, 115], + 58: [2, 115], + 59: [2, 115], + 60: [2, 115], + 61: [2, 115], + 62: [2, 115], + 63: [2, 115], + 64: [2, 115], + 65: [2, 115], + 66: [2, 115], + 67: [2, 115], + 68: [2, 115], + 74: [2, 115], + 77: [2, 115], + 78: [2, 115], + 101: [2, 115] + }, { + 17: 333, + 44: [1, 182], + 46: [1, 6] + }, { + 1: [2, 185], + 14: [2, 185], + 21: [2, 185], + 22: [2, 185], + 24: [2, 185], + 26: [2, 185], + 27: [2, 185], + 28: [2, 185], + 32: [2, 185], + 35: [2, 185], + 36: [2, 185], + 37: [2, 185], + 39: [2, 185], + 44: [2, 185], + 45: [2, 185], + 46: [2, 185], + 55: [2, 185], + 56: [2, 185], + 58: [2, 185], + 59: [2, 185], + 60: [2, 185], + 61: [2, 185], + 62: [2, 185], + 63: [2, 185], + 64: [2, 185], + 65: [2, 185], + 66: [2, 185], + 67: [2, 185], + 68: [2, 185], + 74: [2, 185], + 77: [2, 185], + 78: [2, 185], + 84: [2, 185], + 85: [2, 185], + 101: [2, 185] + }, { + 1: [2, 118], + 14: [2, 118], + 21: [2, 118], + 22: [2, 118], + 24: [2, 118], + 26: [2, 118], + 27: [2, 118], + 28: [2, 118], + 32: [2, 118], + 35: [2, 118], + 36: [2, 118], + 37: [2, 118], + 39: [2, 118], + 44: [2, 118], + 45: [2, 118], + 46: [2, 118], + 55: [2, 118], + 56: [2, 118], + 58: [2, 118], + 59: [2, 118], + 60: [2, 118], + 61: [2, 118], + 62: [2, 118], + 63: [2, 118], + 64: [2, 118], + 65: [2, 118], + 66: [2, 118], + 67: [2, 118], + 68: [2, 118], + 74: [2, 118], + 77: [2, 118], + 78: [2, 118], + 88: [1, 334], + 101: [2, 118] + }, { + 17: 335, + 46: [1, 6] + }, { + 1: [2, 122], + 14: [2, 122], + 21: [2, 122], + 22: [2, 122], + 24: [2, 122], + 26: [2, 122], + 27: [2, 122], + 28: [2, 122], + 32: [2, 122], + 35: [2, 122], + 36: [2, 122], + 37: [2, 122], + 39: [2, 122], + 44: [2, 122], + 45: [2, 122], + 46: [2, 122], + 55: [2, 122], + 56: [2, 122], + 58: [2, 122], + 59: [2, 122], + 60: [2, 122], + 61: [2, 122], + 62: [2, 122], + 63: [2, 122], + 64: [2, 122], + 65: [2, 122], + 66: [2, 122], + 67: [2, 122], + 68: [2, 122], + 74: [2, 122], + 77: [2, 122], + 78: [2, 122], + 101: [2, 122] + }, { + 17: 336, + 46: [1, 6] + }, { + 1: [2, 124], + 14: [2, 124], + 21: [2, 124], + 22: [2, 124], + 24: [2, 124], + 26: [2, 124], + 27: [2, 124], + 28: [2, 124], + 32: [2, 124], + 35: [2, 124], + 36: [2, 124], + 37: [2, 124], + 39: [2, 124], + 44: [2, 124], + 45: [2, 124], + 46: [2, 124], + 55: [2, 124], + 56: [2, 124], + 58: [2, 124], + 59: [2, 124], + 60: [2, 124], + 61: [2, 124], + 62: [2, 124], + 63: [2, 124], + 64: [2, 124], + 65: [2, 124], + 66: [2, 124], + 67: [2, 124], + 68: [2, 124], + 74: [2, 124], + 77: [2, 124], + 78: [2, 124], + 101: [2, 124] + }, { + 44: [1, 182], + 46: [2, 189] + }, { + 22: [1, 337], + 45: [1, 244], + 46: [1, 245] + }, { + 14: [1, 338], + 45: [1, 244], + 46: [1, 245] + }, { + 1: [2, 11], + 9: [2, 11], + 11: [2, 11], + 14: [2, 11], + 15: [2, 11], + 21: [2, 11], + 22: [2, 11], + 24: [2, 11], + 26: [2, 11], + 27: [2, 11], + 28: [2, 11], + 32: [2, 11], + 34: [2, 11], + 35: [2, 11], + 36: [2, 11], + 37: [2, 11], + 39: [2, 11], + 44: [2, 11], + 45: [2, 11], + 46: [2, 11], + 53: [2, 11], + 54: [2, 11], + 55: [2, 11], + 56: [2, 11], + 58: [2, 11], + 59: [2, 11], + 60: [2, 11], + 61: [2, 11], + 62: [2, 11], + 63: [2, 11], + 64: [2, 11], + 65: [2, 11], + 66: [2, 11], + 67: [2, 11], + 68: [2, 11], + 69: [2, 11], + 74: [2, 11], + 77: [2, 11], + 78: [2, 11], + 92: [2, 11], + 98: [2, 11], + 99: [2, 11], + 101: [2, 11] + }, { + 21: [1, 339] + }, { + 21: [2, 182], + 22: [2, 182], + 24: [2, 182], + 39: [2, 182], + 45: [2, 182], + 46: [2, 182], + 77: [2, 182] + }, { + 39: [1, 198], + 75: 340, + 77: [1, 39] + }, { + 39: [1, 198], + 75: 341, + 77: [1, 39] + }, { + 21: [1, 342], + 35: [1, 44], + 37: [1, 343], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58] + }, { + 21: [2, 162], + 22: [2, 162], + 24: [2, 162], + 35: [1, 44], + 37: [1, 233], + 39: [2, 162], + 45: [2, 162], + 46: [2, 162], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 77: [2, 162], + 78: [1, 232] + }, { + 1: [2, 31], + 9: [2, 31], + 11: [2, 31], + 14: [2, 31], + 15: [2, 31], + 21: [2, 31], + 22: [2, 31], + 24: [2, 31], + 26: [2, 31], + 27: [2, 31], + 28: [2, 31], + 32: [2, 31], + 34: [2, 31], + 35: [2, 31], + 36: [2, 31], + 37: [2, 31], + 39: [2, 31], + 44: [2, 31], + 45: [2, 31], + 46: [2, 31], + 53: [2, 31], + 54: [2, 31], + 55: [2, 31], + 56: [2, 31], + 58: [2, 31], + 59: [2, 31], + 60: [2, 31], + 61: [2, 31], + 62: [2, 31], + 63: [2, 31], + 64: [2, 31], + 65: [2, 31], + 66: [2, 31], + 67: [2, 31], + 68: [2, 31], + 69: [2, 31], + 74: [2, 31], + 77: [2, 31], + 78: [2, 31], + 92: [2, 31], + 98: [2, 31], + 99: [2, 31], + 101: [2, 31] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 344, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 1: [2, 39], + 9: [2, 39], + 11: [2, 39], + 14: [2, 39], + 15: [2, 39], + 21: [2, 39], + 22: [2, 39], + 24: [2, 39], + 26: [2, 39], + 27: [2, 39], + 28: [2, 39], + 32: [2, 39], + 34: [2, 39], + 35: [2, 39], + 36: [2, 39], + 37: [2, 39], + 39: [2, 39], + 41: [1, 345], + 44: [2, 39], + 45: [2, 39], + 46: [2, 39], + 53: [2, 39], + 54: [2, 39], + 55: [2, 39], + 56: [2, 39], + 58: [2, 39], + 59: [2, 39], + 60: [2, 39], + 61: [2, 39], + 62: [2, 39], + 63: [2, 39], + 64: [2, 39], + 65: [2, 39], + 66: [2, 39], + 67: [2, 39], + 68: [2, 39], + 69: [2, 39], + 74: [2, 39], + 77: [2, 39], + 78: [2, 39], + 92: [2, 39], + 98: [2, 39], + 99: [2, 39], + 101: [2, 39] + }, { + 21: [1, 346], + 45: [1, 244], + 46: [1, 245] + }, { + 1: [2, 40], + 9: [2, 40], + 11: [2, 40], + 14: [2, 40], + 15: [2, 40], + 21: [2, 40], + 22: [2, 40], + 24: [2, 40], + 26: [2, 40], + 27: [2, 40], + 28: [2, 40], + 32: [2, 40], + 34: [2, 40], + 35: [2, 40], + 36: [2, 40], + 37: [2, 40], + 39: [2, 40], + 41: [1, 347], + 44: [2, 40], + 45: [2, 40], + 46: [2, 40], + 53: [2, 40], + 54: [2, 40], + 55: [2, 40], + 56: [2, 40], + 58: [2, 40], + 59: [2, 40], + 60: [2, 40], + 61: [2, 40], + 62: [2, 40], + 63: [2, 40], + 64: [2, 40], + 65: [2, 40], + 66: [2, 40], + 67: [2, 40], + 68: [2, 40], + 69: [2, 40], + 74: [2, 40], + 77: [2, 40], + 78: [2, 40], + 92: [2, 40], + 98: [2, 40], + 99: [2, 40], + 101: [2, 40] + }, { + 4: [1, 118], + 5: 115, + 7: [1, 119], + 8: [1, 116], + 10: 109, + 18: [1, 205], + 23: [1, 117], + 25: [1, 120], + 42: 114, + 47: [1, 112], + 51: [1, 113], + 56: [1, 111], + 94: 110, + 95: 348 + }, { + 22: [2, 148], + 24: [2, 148], + 44: [2, 148], + 45: [2, 148] + }, { + 22: [1, 349], + 45: [1, 286] + }, { + 13: 350, + 21: [2, 55], + 44: [1, 157], + 45: [2, 55], + 46: [2, 55] + }, { + 22: [2, 137], + 24: [2, 137], + 35: [1, 44], + 44: [2, 137], + 45: [2, 137], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 12: 351, + 16: [1, 33], + 18: [1, 34], + 19: 61, + 22: [2, 47], + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 43: 60, + 44: [2, 47], + 45: [2, 47], + 46: [2, 47], + 47: [1, 62], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 22: [2, 133], + 24: [2, 133], + 44: [2, 133], + 45: [2, 133], + 54: [2, 133], + 59: [2, 133] + }, { + 22: [2, 140], + 24: [2, 140], + 35: [1, 44], + 44: [2, 140], + 45: [2, 140], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58] + }, { + 22: [2, 141], + 24: [2, 141], + 35: [1, 44], + 44: [2, 141], + 45: [2, 141], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58] + }, { + 22: [2, 134], + 24: [2, 134], + 44: [2, 134], + 45: [2, 134], + 54: [2, 134], + 59: [2, 134] + }, { + 24: [1, 352], + 45: [1, 286] + }, { + 1: [2, 15], + 9: [2, 15], + 11: [2, 15], + 14: [2, 15], + 15: [2, 15], + 21: [2, 15], + 22: [2, 15], + 24: [2, 15], + 26: [2, 15], + 27: [2, 15], + 28: [2, 15], + 32: [2, 15], + 34: [2, 15], + 35: [2, 15], + 36: [2, 15], + 37: [2, 15], + 39: [2, 15], + 44: [2, 15], + 45: [2, 15], + 46: [2, 15], + 53: [2, 15], + 54: [2, 15], + 55: [2, 15], + 56: [2, 15], + 58: [2, 15], + 59: [2, 15], + 60: [2, 15], + 61: [2, 15], + 62: [2, 15], + 63: [2, 15], + 64: [2, 15], + 65: [2, 15], + 66: [2, 15], + 67: [2, 15], + 68: [2, 15], + 69: [2, 15], + 74: [2, 15], + 77: [2, 15], + 78: [2, 15], + 92: [2, 15], + 98: [2, 15], + 99: [2, 15], + 101: [2, 15] + }, { + 1: [2, 16], + 9: [2, 16], + 11: [2, 16], + 14: [2, 16], + 15: [2, 16], + 21: [2, 16], + 22: [2, 16], + 24: [2, 16], + 26: [2, 16], + 27: [2, 16], + 28: [2, 16], + 32: [2, 16], + 34: [2, 16], + 35: [2, 16], + 36: [2, 16], + 37: [2, 16], + 39: [2, 16], + 44: [2, 16], + 45: [2, 16], + 46: [2, 16], + 53: [2, 16], + 54: [2, 16], + 55: [2, 16], + 56: [2, 16], + 58: [2, 16], + 59: [2, 16], + 60: [2, 16], + 61: [2, 16], + 62: [2, 16], + 63: [2, 16], + 64: [2, 16], + 65: [2, 16], + 66: [2, 16], + 67: [2, 16], + 68: [2, 16], + 69: [2, 16], + 74: [2, 16], + 77: [2, 16], + 78: [2, 16], + 92: [2, 16], + 98: [2, 16], + 99: [2, 16], + 101: [2, 16] + }, { + 1: [2, 19], + 9: [2, 19], + 11: [2, 19], + 14: [2, 19], + 15: [2, 19], + 21: [2, 19], + 22: [2, 19], + 24: [2, 19], + 26: [2, 19], + 27: [2, 19], + 28: [2, 19], + 32: [2, 19], + 34: [2, 19], + 35: [2, 19], + 36: [2, 19], + 37: [2, 19], + 39: [2, 19], + 44: [2, 19], + 45: [2, 19], + 46: [2, 19], + 53: [2, 19], + 54: [2, 19], + 55: [2, 19], + 56: [2, 19], + 58: [2, 19], + 59: [2, 19], + 60: [2, 19], + 61: [2, 19], + 62: [2, 19], + 63: [2, 19], + 64: [2, 19], + 65: [2, 19], + 66: [2, 19], + 67: [2, 19], + 68: [2, 19], + 69: [2, 19], + 74: [2, 19], + 77: [2, 19], + 78: [2, 19], + 92: [2, 19], + 98: [2, 19], + 99: [2, 19], + 101: [2, 19] + }, { + 9: [1, 71], + 11: [1, 72], + 15: [1, 73], + 35: [1, 353] + }, { + 1: [2, 18], + 9: [2, 18], + 11: [2, 18], + 14: [2, 18], + 15: [2, 18], + 21: [2, 18], + 22: [2, 18], + 24: [2, 18], + 26: [2, 18], + 27: [2, 18], + 28: [2, 18], + 32: [2, 18], + 34: [2, 18], + 35: [2, 18], + 36: [2, 18], + 37: [2, 18], + 39: [2, 18], + 44: [2, 18], + 45: [2, 18], + 46: [2, 18], + 53: [2, 18], + 54: [2, 18], + 55: [2, 18], + 56: [2, 18], + 58: [2, 18], + 59: [2, 18], + 60: [2, 18], + 61: [2, 18], + 62: [2, 18], + 63: [2, 18], + 64: [2, 18], + 65: [2, 18], + 66: [2, 18], + 67: [2, 18], + 68: [2, 18], + 69: [2, 18], + 74: [2, 18], + 77: [2, 18], + 78: [2, 18], + 92: [2, 18], + 98: [2, 18], + 99: [2, 18], + 101: [2, 18] + }, { + 13: 354, + 14: [2, 55], + 44: [1, 157], + 45: [2, 55], + 46: [2, 55] + }, { + 32: [1, 355], + 45: [1, 244], + 46: [1, 245] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 357, + 23: [1, 35], + 25: [1, 36], + 27: [1, 356], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 21: [2, 163], + 22: [2, 163], + 24: [2, 163], + 35: [1, 44], + 39: [2, 163], + 45: [2, 163], + 46: [2, 163], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 77: [2, 163] + }, { + 21: [2, 164], + 22: [2, 164], + 24: [2, 164], + 35: [1, 44], + 39: [2, 164], + 45: [2, 164], + 46: [2, 164], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 77: [2, 164], + 78: [1, 358] + }, { + 21: [2, 158], + 22: [2, 158], + 24: [2, 158], + 35: [1, 44], + 37: [1, 360], + 39: [2, 158], + 45: [2, 158], + 46: [2, 158], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 77: [2, 158], + 78: [1, 359] + }, { + 21: [2, 166], + 22: [2, 166], + 24: [2, 166], + 35: [1, 44], + 39: [2, 166], + 45: [2, 166], + 46: [2, 166], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 77: [2, 166], + 78: [1, 361] + }, { + 9: [1, 71], + 11: [1, 72], + 15: [1, 73], + 99: [1, 362] + }, { + 35: [1, 44], + 36: [1, 363], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 364, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 21: [2, 178], + 22: [2, 178], + 24: [2, 178], + 35: [1, 44], + 39: [2, 178], + 45: [2, 178], + 46: [2, 178], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 77: [2, 178] + }, { + 21: [2, 179], + 22: [2, 179], + 24: [2, 179], + 35: [1, 44], + 39: [2, 179], + 45: [2, 179], + 46: [2, 179], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 77: [2, 179], + 78: [1, 365] + }, { + 1: [2, 70], + 14: [2, 70], + 21: [2, 70], + 22: [2, 70], + 24: [2, 70], + 26: [2, 70], + 27: [2, 70], + 28: [2, 70], + 32: [2, 70], + 35: [2, 70], + 36: [2, 70], + 37: [2, 70], + 39: [2, 70], + 44: [2, 70], + 45: [2, 70], + 46: [2, 70], + 55: [2, 70], + 56: [2, 70], + 58: [2, 70], + 59: [2, 70], + 60: [2, 70], + 61: [2, 70], + 62: [2, 70], + 63: [2, 70], + 64: [2, 70], + 65: [2, 70], + 66: [2, 70], + 67: [2, 70], + 68: [2, 70], + 74: [2, 70], + 77: [2, 70], + 78: [2, 70], + 101: [2, 70] + }, { + 22: [1, 366], + 45: [1, 244], + 46: [1, 245] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 367, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 17: 368, + 46: [1, 6] + }, { + 14: [2, 50], + 21: [2, 50], + 22: [2, 50], + 32: [2, 50], + 44: [2, 50], + 45: [2, 50], + 46: [2, 50] + }, { + 13: 369, + 22: [2, 55], + 44: [1, 157], + 45: [2, 55], + 46: [2, 55] + }, { + 70: [1, 317] + }, { + 22: [1, 370], + 45: [1, 244], + 46: [1, 245] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 371, + 21: [1, 372], + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 21: [1, 373], + 35: [1, 44], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58] + }, { + 1: [2, 36], + 9: [2, 36], + 11: [2, 36], + 14: [2, 36], + 15: [2, 36], + 21: [2, 36], + 22: [2, 36], + 24: [2, 36], + 26: [2, 36], + 27: [2, 36], + 28: [2, 36], + 32: [2, 36], + 34: [2, 36], + 35: [2, 36], + 36: [2, 36], + 37: [2, 36], + 39: [2, 36], + 44: [2, 36], + 45: [2, 36], + 46: [2, 36], + 53: [2, 36], + 54: [2, 36], + 55: [2, 36], + 56: [2, 36], + 58: [2, 36], + 59: [2, 36], + 60: [2, 36], + 61: [2, 36], + 62: [2, 36], + 63: [2, 36], + 64: [2, 36], + 65: [2, 36], + 66: [2, 36], + 67: [2, 36], + 68: [2, 36], + 69: [2, 36], + 74: [2, 36], + 77: [2, 36], + 78: [2, 36], + 92: [2, 36], + 98: [2, 36], + 99: [2, 36], + 101: [2, 36] + }, { + 1: [2, 8], + 9: [2, 8], + 11: [2, 8], + 14: [2, 8], + 15: [2, 8], + 21: [2, 8], + 22: [2, 8], + 24: [2, 8], + 26: [2, 8], + 27: [2, 8], + 28: [2, 8], + 32: [2, 8], + 34: [2, 8], + 35: [2, 8], + 36: [2, 8], + 37: [2, 8], + 39: [2, 8], + 44: [2, 8], + 45: [2, 8], + 46: [2, 8], + 53: [2, 8], + 54: [2, 8], + 55: [2, 8], + 56: [2, 8], + 58: [2, 8], + 59: [2, 8], + 60: [2, 8], + 61: [2, 8], + 62: [2, 8], + 63: [2, 8], + 64: [2, 8], + 65: [2, 8], + 66: [2, 8], + 67: [2, 8], + 68: [2, 8], + 69: [2, 8], + 74: [2, 8], + 77: [2, 8], + 78: [2, 8], + 92: [2, 8], + 98: [2, 8], + 99: [2, 8], + 101: [2, 8] + }, { + 1: [2, 84], + 14: [2, 84], + 21: [2, 84], + 22: [2, 84], + 24: [2, 84], + 26: [2, 84], + 27: [2, 84], + 28: [2, 84], + 32: [2, 84], + 35: [2, 84], + 36: [2, 84], + 37: [2, 84], + 39: [2, 84], + 44: [2, 84], + 45: [2, 84], + 46: [2, 84], + 55: [2, 84], + 56: [2, 84], + 58: [2, 84], + 59: [2, 84], + 60: [2, 84], + 61: [2, 84], + 62: [2, 84], + 63: [2, 84], + 64: [2, 84], + 65: [2, 84], + 66: [2, 84], + 67: [2, 84], + 68: [2, 84], + 74: [2, 84], + 77: [2, 84], + 78: [2, 84], + 101: [2, 84] + }, { + 17: 374, + 46: [1, 6] + }, { + 17: 375, + 35: [1, 44], + 46: [1, 6], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 376, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 1: [2, 106], + 14: [2, 106], + 21: [2, 106], + 22: [2, 106], + 24: [2, 106], + 26: [2, 106], + 27: [2, 106], + 28: [2, 106], + 32: [2, 106], + 35: [2, 106], + 36: [2, 106], + 37: [2, 106], + 39: [2, 106], + 44: [2, 106], + 45: [2, 106], + 46: [2, 106], + 55: [2, 106], + 56: [2, 106], + 58: [2, 106], + 59: [2, 106], + 60: [2, 106], + 61: [2, 106], + 62: [2, 106], + 63: [2, 106], + 64: [2, 106], + 65: [2, 106], + 66: [2, 106], + 67: [2, 106], + 68: [2, 106], + 74: [2, 106], + 77: [2, 106], + 78: [2, 106], + 101: [2, 106] + }, { + 1: [2, 111], + 14: [2, 111], + 21: [2, 111], + 22: [2, 111], + 24: [2, 111], + 26: [2, 111], + 27: [2, 111], + 28: [2, 111], + 32: [2, 111], + 35: [2, 111], + 36: [2, 111], + 37: [2, 111], + 39: [2, 111], + 44: [2, 111], + 45: [2, 111], + 46: [2, 111], + 55: [2, 111], + 56: [2, 111], + 58: [2, 111], + 59: [2, 111], + 60: [2, 111], + 61: [2, 111], + 62: [2, 111], + 63: [2, 111], + 64: [2, 111], + 65: [2, 111], + 66: [2, 111], + 67: [2, 111], + 68: [2, 111], + 74: [2, 111], + 77: [2, 111], + 78: [2, 111], + 101: [2, 111] + }, { + 1: [2, 112], + 14: [2, 112], + 21: [2, 112], + 22: [2, 112], + 24: [2, 112], + 26: [2, 112], + 27: [2, 112], + 28: [2, 112], + 32: [2, 112], + 35: [2, 112], + 36: [2, 112], + 37: [2, 112], + 39: [2, 112], + 44: [2, 112], + 45: [2, 112], + 46: [2, 112], + 55: [2, 112], + 56: [2, 112], + 58: [2, 112], + 59: [2, 112], + 60: [2, 112], + 61: [2, 112], + 62: [2, 112], + 63: [2, 112], + 64: [2, 112], + 65: [2, 112], + 66: [2, 112], + 67: [2, 112], + 68: [2, 112], + 74: [2, 112], + 77: [2, 112], + 78: [2, 112], + 101: [2, 112] + }, { + 1: [2, 186], + 14: [2, 186], + 21: [2, 186], + 22: [2, 186], + 24: [2, 186], + 26: [2, 186], + 27: [2, 186], + 28: [2, 186], + 32: [2, 186], + 35: [2, 186], + 36: [2, 186], + 37: [2, 186], + 39: [2, 186], + 44: [2, 186], + 45: [2, 186], + 46: [2, 186], + 55: [2, 186], + 56: [2, 186], + 58: [2, 186], + 59: [2, 186], + 60: [2, 186], + 61: [2, 186], + 62: [2, 186], + 63: [2, 186], + 64: [2, 186], + 65: [2, 186], + 66: [2, 186], + 67: [2, 186], + 68: [2, 186], + 74: [2, 186], + 77: [2, 186], + 78: [2, 186], + 84: [2, 186], + 85: [2, 186], + 101: [2, 186] + }, { + 17: 377, + 46: [1, 6] + }, { + 1: [2, 120], + 14: [2, 120], + 21: [2, 120], + 22: [2, 120], + 24: [2, 120], + 26: [2, 120], + 27: [2, 120], + 28: [2, 120], + 32: [2, 120], + 35: [2, 120], + 36: [2, 120], + 37: [2, 120], + 39: [2, 120], + 44: [2, 120], + 45: [2, 120], + 46: [2, 120], + 55: [2, 120], + 56: [2, 120], + 58: [2, 120], + 59: [2, 120], + 60: [2, 120], + 61: [2, 120], + 62: [2, 120], + 63: [2, 120], + 64: [2, 120], + 65: [2, 120], + 66: [2, 120], + 67: [2, 120], + 68: [2, 120], + 74: [2, 120], + 77: [2, 120], + 78: [2, 120], + 88: [1, 378], + 101: [2, 120] + }, { + 1: [2, 123], + 14: [2, 123], + 21: [2, 123], + 22: [2, 123], + 24: [2, 123], + 26: [2, 123], + 27: [2, 123], + 28: [2, 123], + 32: [2, 123], + 35: [2, 123], + 36: [2, 123], + 37: [2, 123], + 39: [2, 123], + 44: [2, 123], + 45: [2, 123], + 46: [2, 123], + 55: [2, 123], + 56: [2, 123], + 58: [2, 123], + 59: [2, 123], + 60: [2, 123], + 61: [2, 123], + 62: [2, 123], + 63: [2, 123], + 64: [2, 123], + 65: [2, 123], + 66: [2, 123], + 67: [2, 123], + 68: [2, 123], + 74: [2, 123], + 77: [2, 123], + 78: [2, 123], + 101: [2, 123] + }, { + 1: [2, 128], + 14: [2, 128], + 21: [2, 128], + 22: [2, 128], + 24: [2, 128], + 26: [2, 128], + 27: [2, 128], + 28: [2, 128], + 32: [2, 128], + 35: [2, 128], + 36: [2, 128], + 37: [2, 128], + 39: [2, 128], + 44: [2, 128], + 45: [2, 128], + 46: [2, 128], + 55: [2, 128], + 56: [2, 128], + 58: [2, 128], + 59: [2, 128], + 60: [2, 128], + 61: [2, 128], + 62: [2, 128], + 63: [2, 128], + 64: [2, 128], + 65: [2, 128], + 66: [2, 128], + 67: [2, 128], + 68: [2, 128], + 74: [2, 128], + 77: [2, 128], + 78: [2, 128], + 101: [2, 128] + }, { + 17: 379, + 46: [1, 6] + }, { + 1: [2, 12], + 9: [2, 12], + 11: [2, 12], + 14: [2, 12], + 15: [2, 12], + 21: [2, 12], + 22: [2, 12], + 24: [2, 12], + 26: [2, 12], + 27: [2, 12], + 28: [2, 12], + 32: [2, 12], + 34: [2, 12], + 35: [2, 12], + 36: [2, 12], + 37: [2, 12], + 39: [2, 12], + 44: [2, 12], + 45: [2, 12], + 46: [2, 12], + 53: [2, 12], + 54: [2, 12], + 55: [2, 12], + 56: [2, 12], + 58: [2, 12], + 59: [2, 12], + 60: [2, 12], + 61: [2, 12], + 62: [2, 12], + 63: [2, 12], + 64: [2, 12], + 65: [2, 12], + 66: [2, 12], + 67: [2, 12], + 68: [2, 12], + 69: [2, 12], + 74: [2, 12], + 77: [2, 12], + 78: [2, 12], + 92: [2, 12], + 98: [2, 12], + 99: [2, 12], + 101: [2, 12] + }, { + 21: [2, 183], + 22: [2, 183], + 24: [2, 183], + 39: [2, 183], + 45: [2, 183], + 46: [2, 183], + 77: [2, 183] + }, { + 21: [2, 184], + 22: [2, 184], + 24: [2, 184], + 39: [2, 184], + 45: [2, 184], + 46: [2, 184], + 77: [2, 184] + }, { + 1: [2, 29], + 9: [2, 29], + 11: [2, 29], + 14: [2, 29], + 15: [2, 29], + 21: [2, 29], + 22: [2, 29], + 24: [2, 29], + 26: [2, 29], + 27: [2, 29], + 28: [2, 29], + 32: [2, 29], + 34: [2, 29], + 35: [2, 29], + 36: [2, 29], + 37: [2, 29], + 39: [2, 29], + 44: [2, 29], + 45: [2, 29], + 46: [2, 29], + 53: [2, 29], + 54: [2, 29], + 55: [2, 29], + 56: [2, 29], + 58: [2, 29], + 59: [2, 29], + 60: [2, 29], + 61: [2, 29], + 62: [2, 29], + 63: [2, 29], + 64: [2, 29], + 65: [2, 29], + 66: [2, 29], + 67: [2, 29], + 68: [2, 29], + 69: [2, 29], + 74: [2, 29], + 77: [2, 29], + 78: [2, 29], + 92: [2, 29], + 98: [2, 29], + 99: [2, 29], + 101: [2, 29] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 380, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 21: [1, 381], + 35: [1, 44], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58] + }, { + 1: [2, 41], + 9: [2, 41], + 11: [2, 41], + 14: [2, 41], + 15: [2, 41], + 21: [2, 41], + 22: [2, 41], + 24: [2, 41], + 26: [2, 41], + 27: [2, 41], + 28: [2, 41], + 32: [2, 41], + 34: [2, 41], + 35: [2, 41], + 36: [2, 41], + 37: [2, 41], + 39: [2, 41], + 44: [2, 41], + 45: [2, 41], + 46: [2, 41], + 53: [2, 41], + 54: [2, 41], + 55: [2, 41], + 56: [2, 41], + 58: [2, 41], + 59: [2, 41], + 60: [2, 41], + 61: [2, 41], + 62: [2, 41], + 63: [2, 41], + 64: [2, 41], + 65: [2, 41], + 66: [2, 41], + 67: [2, 41], + 68: [2, 41], + 69: [2, 41], + 74: [2, 41], + 77: [2, 41], + 78: [2, 41], + 92: [2, 41], + 98: [2, 41], + 99: [2, 41], + 101: [2, 41] + }, { + 20: 382, + 39: [1, 198], + 41: [1, 383], + 75: 197, + 77: [1, 39] + }, { + 1: [2, 42], + 9: [2, 42], + 11: [2, 42], + 14: [2, 42], + 15: [2, 42], + 21: [2, 42], + 22: [2, 42], + 24: [2, 42], + 26: [2, 42], + 27: [2, 42], + 28: [2, 42], + 32: [2, 42], + 34: [2, 42], + 35: [2, 42], + 36: [2, 42], + 37: [2, 42], + 39: [2, 42], + 44: [2, 42], + 45: [2, 42], + 46: [2, 42], + 53: [2, 42], + 54: [2, 42], + 55: [2, 42], + 56: [2, 42], + 58: [2, 42], + 59: [2, 42], + 60: [2, 42], + 61: [2, 42], + 62: [2, 42], + 63: [2, 42], + 64: [2, 42], + 65: [2, 42], + 66: [2, 42], + 67: [2, 42], + 68: [2, 42], + 69: [2, 42], + 74: [2, 42], + 77: [2, 42], + 78: [2, 42], + 92: [2, 42], + 98: [2, 42], + 99: [2, 42], + 101: [2, 42] + }, { + 22: [2, 149], + 24: [2, 149], + 44: [2, 149], + 45: [2, 149] + }, { + 22: [2, 150], + 24: [2, 150], + 44: [2, 150], + 45: [2, 150] + }, { + 21: [1, 384], + 45: [1, 244], + 46: [1, 245] + }, { + 13: 385, + 22: [2, 55], + 44: [1, 157], + 45: [2, 55], + 46: [2, 55] + }, { + 41: [1, 386] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 314, + 23: [1, 35], + 25: [1, 36], + 27: [1, 387], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 14: [1, 388], + 45: [1, 244], + 46: [1, 245] + }, { + 30: [1, 389], + 50: [1, 316], + 70: [1, 317] + }, { + 1: [2, 26], + 9: [2, 26], + 11: [2, 26], + 14: [2, 26], + 15: [2, 26], + 21: [2, 26], + 22: [2, 26], + 24: [2, 26], + 26: [2, 26], + 27: [2, 26], + 28: [2, 26], + 32: [2, 26], + 34: [2, 26], + 35: [2, 26], + 36: [2, 26], + 37: [2, 26], + 39: [2, 26], + 44: [2, 26], + 45: [2, 26], + 46: [2, 26], + 53: [2, 26], + 54: [2, 26], + 55: [2, 26], + 56: [2, 26], + 58: [2, 26], + 59: [2, 26], + 60: [2, 26], + 61: [2, 26], + 62: [2, 26], + 63: [2, 26], + 64: [2, 26], + 65: [2, 26], + 66: [2, 26], + 67: [2, 26], + 68: [2, 26], + 69: [2, 26], + 74: [2, 26], + 77: [2, 26], + 78: [2, 26], + 92: [2, 26], + 98: [2, 26], + 99: [2, 26], + 101: [2, 26] + }, { + 27: [1, 390], + 35: [1, 44], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 391, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 392, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 393, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 394, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 395, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 396, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 21: [2, 171], + 22: [2, 171], + 24: [2, 171], + 35: [1, 44], + 39: [2, 171], + 45: [2, 171], + 46: [2, 171], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 77: [2, 171], + 78: [1, 397] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 398, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 1: [2, 75], + 14: [2, 75], + 21: [2, 75], + 22: [2, 75], + 24: [2, 75], + 26: [2, 75], + 27: [2, 75], + 28: [2, 75], + 32: [2, 75], + 35: [2, 75], + 36: [2, 75], + 37: [2, 75], + 39: [2, 75], + 44: [2, 75], + 45: [2, 75], + 46: [2, 75], + 55: [2, 75], + 56: [2, 75], + 58: [2, 75], + 59: [2, 75], + 60: [2, 75], + 61: [2, 75], + 62: [2, 75], + 63: [2, 75], + 64: [2, 75], + 65: [2, 75], + 66: [2, 75], + 67: [2, 75], + 68: [2, 75], + 74: [2, 75], + 77: [2, 75], + 78: [2, 75], + 101: [2, 75] + }, { + 1: [2, 63], + 22: [2, 63], + 27: [2, 63], + 35: [1, 44], + 45: [2, 63], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58] + }, { + 1: [2, 98], + 14: [2, 98], + 21: [2, 98], + 22: [2, 98], + 24: [2, 98], + 26: [2, 98], + 27: [2, 98], + 28: [2, 98], + 32: [2, 98], + 35: [2, 98], + 36: [2, 98], + 37: [2, 98], + 39: [2, 98], + 44: [2, 98], + 45: [2, 98], + 46: [2, 98], + 55: [2, 98], + 56: [2, 98], + 58: [2, 98], + 59: [2, 98], + 60: [2, 98], + 61: [2, 98], + 62: [2, 98], + 63: [2, 98], + 64: [2, 98], + 65: [2, 98], + 66: [2, 98], + 67: [2, 98], + 68: [2, 98], + 74: [2, 98], + 77: [2, 98], + 78: [2, 98], + 101: [2, 98] + }, { + 22: [1, 399], + 45: [1, 244], + 46: [1, 245] + }, { + 1: [2, 73], + 14: [2, 73], + 21: [2, 73], + 22: [2, 73], + 24: [2, 73], + 26: [2, 73], + 27: [2, 73], + 28: [2, 73], + 32: [2, 73], + 35: [2, 73], + 36: [2, 73], + 37: [2, 73], + 39: [2, 73], + 44: [2, 73], + 45: [2, 73], + 46: [2, 73], + 55: [2, 73], + 56: [2, 73], + 58: [2, 73], + 59: [2, 73], + 60: [2, 73], + 61: [2, 73], + 62: [2, 73], + 63: [2, 73], + 64: [2, 73], + 65: [2, 73], + 66: [2, 73], + 67: [2, 73], + 68: [2, 73], + 74: [2, 73], + 77: [2, 73], + 78: [2, 73], + 101: [2, 73] + }, { + 21: [1, 400], + 35: [1, 44], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58] + }, { + 1: [2, 34], + 9: [2, 34], + 11: [2, 34], + 14: [2, 34], + 15: [2, 34], + 21: [2, 34], + 22: [2, 34], + 24: [2, 34], + 26: [2, 34], + 27: [2, 34], + 28: [2, 34], + 32: [2, 34], + 34: [2, 34], + 35: [2, 34], + 36: [2, 34], + 37: [2, 34], + 39: [2, 34], + 44: [2, 34], + 45: [2, 34], + 46: [2, 34], + 53: [2, 34], + 54: [2, 34], + 55: [2, 34], + 56: [2, 34], + 58: [2, 34], + 59: [2, 34], + 60: [2, 34], + 61: [2, 34], + 62: [2, 34], + 63: [2, 34], + 64: [2, 34], + 65: [2, 34], + 66: [2, 34], + 67: [2, 34], + 68: [2, 34], + 69: [2, 34], + 74: [2, 34], + 77: [2, 34], + 78: [2, 34], + 92: [2, 34], + 98: [2, 34], + 99: [2, 34], + 101: [2, 34] + }, { + 1: [2, 35], + 9: [2, 35], + 11: [2, 35], + 14: [2, 35], + 15: [2, 35], + 21: [2, 35], + 22: [2, 35], + 24: [2, 35], + 26: [2, 35], + 27: [2, 35], + 28: [2, 35], + 32: [2, 35], + 34: [2, 35], + 35: [2, 35], + 36: [2, 35], + 37: [2, 35], + 39: [2, 35], + 44: [2, 35], + 45: [2, 35], + 46: [2, 35], + 53: [2, 35], + 54: [2, 35], + 55: [2, 35], + 56: [2, 35], + 58: [2, 35], + 59: [2, 35], + 60: [2, 35], + 61: [2, 35], + 62: [2, 35], + 63: [2, 35], + 64: [2, 35], + 65: [2, 35], + 66: [2, 35], + 67: [2, 35], + 68: [2, 35], + 69: [2, 35], + 74: [2, 35], + 77: [2, 35], + 78: [2, 35], + 92: [2, 35], + 98: [2, 35], + 99: [2, 35], + 101: [2, 35] + }, { + 1: [2, 99], + 14: [2, 99], + 21: [2, 99], + 22: [2, 99], + 24: [2, 99], + 26: [2, 99], + 27: [2, 99], + 28: [2, 99], + 32: [2, 99], + 35: [2, 99], + 36: [2, 99], + 37: [2, 99], + 39: [2, 99], + 44: [2, 99], + 45: [2, 99], + 46: [2, 99], + 55: [2, 99], + 56: [2, 99], + 58: [2, 99], + 59: [2, 99], + 60: [2, 99], + 61: [2, 99], + 62: [2, 99], + 63: [2, 99], + 64: [2, 99], + 65: [2, 99], + 66: [2, 99], + 67: [2, 99], + 68: [2, 99], + 74: [2, 99], + 77: [2, 99], + 78: [2, 99], + 101: [2, 99] + }, { + 1: [2, 155], + 14: [2, 155], + 21: [2, 155], + 22: [2, 155], + 24: [2, 155], + 26: [2, 155], + 27: [2, 155], + 28: [2, 155], + 32: [2, 155], + 35: [2, 155], + 36: [2, 155], + 37: [2, 155], + 39: [2, 155], + 44: [2, 155], + 45: [2, 155], + 46: [2, 155], + 55: [2, 155], + 56: [2, 155], + 58: [2, 155], + 59: [2, 155], + 60: [2, 155], + 61: [2, 155], + 62: [2, 155], + 63: [2, 155], + 64: [2, 155], + 65: [2, 155], + 66: [2, 155], + 67: [2, 155], + 68: [2, 155], + 73: 401, + 74: [2, 155], + 77: [2, 155], + 78: [2, 155], + 85: [1, 178], + 101: [2, 155] + }, { + 1: [2, 104], + 14: [2, 104], + 21: [2, 104], + 22: [2, 104], + 24: [2, 104], + 26: [2, 104], + 27: [2, 104], + 28: [2, 104], + 32: [2, 104], + 35: [1, 44], + 36: [2, 104], + 37: [2, 104], + 39: [2, 104], + 44: [2, 104], + 45: [2, 104], + 46: [2, 104], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [2, 104], + 77: [2, 104], + 78: [2, 104], + 101: [2, 104] + }, { + 1: [2, 119], + 14: [2, 119], + 21: [2, 119], + 22: [2, 119], + 24: [2, 119], + 26: [2, 119], + 27: [2, 119], + 28: [2, 119], + 32: [2, 119], + 35: [2, 119], + 36: [2, 119], + 37: [2, 119], + 39: [2, 119], + 44: [2, 119], + 45: [2, 119], + 46: [2, 119], + 55: [2, 119], + 56: [2, 119], + 58: [2, 119], + 59: [2, 119], + 60: [2, 119], + 61: [2, 119], + 62: [2, 119], + 63: [2, 119], + 64: [2, 119], + 65: [2, 119], + 66: [2, 119], + 67: [2, 119], + 68: [2, 119], + 74: [2, 119], + 77: [2, 119], + 78: [2, 119], + 101: [2, 119] + }, { + 17: 402, + 46: [1, 6] + }, { + 1: [2, 10], + 9: [2, 10], + 11: [2, 10], + 14: [2, 10], + 15: [2, 10], + 21: [2, 10], + 22: [2, 10], + 24: [2, 10], + 26: [2, 10], + 27: [2, 10], + 28: [2, 10], + 32: [2, 10], + 34: [2, 10], + 35: [2, 10], + 36: [2, 10], + 37: [2, 10], + 39: [2, 10], + 44: [2, 10], + 45: [2, 10], + 46: [2, 10], + 53: [2, 10], + 54: [2, 10], + 55: [2, 10], + 56: [2, 10], + 58: [2, 10], + 59: [2, 10], + 60: [2, 10], + 61: [2, 10], + 62: [2, 10], + 63: [2, 10], + 64: [2, 10], + 65: [2, 10], + 66: [2, 10], + 67: [2, 10], + 68: [2, 10], + 69: [2, 10], + 74: [2, 10], + 77: [2, 10], + 78: [2, 10], + 92: [2, 10], + 98: [2, 10], + 99: [2, 10], + 101: [2, 10] + }, { + 21: [1, 403], + 35: [1, 44], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58] + }, { + 1: [2, 32], + 9: [2, 32], + 11: [2, 32], + 14: [2, 32], + 15: [2, 32], + 21: [2, 32], + 22: [2, 32], + 24: [2, 32], + 26: [2, 32], + 27: [2, 32], + 28: [2, 32], + 32: [2, 32], + 34: [2, 32], + 35: [2, 32], + 36: [2, 32], + 37: [2, 32], + 39: [2, 32], + 44: [2, 32], + 45: [2, 32], + 46: [2, 32], + 53: [2, 32], + 54: [2, 32], + 55: [2, 32], + 56: [2, 32], + 58: [2, 32], + 59: [2, 32], + 60: [2, 32], + 61: [2, 32], + 62: [2, 32], + 63: [2, 32], + 64: [2, 32], + 65: [2, 32], + 66: [2, 32], + 67: [2, 32], + 68: [2, 32], + 69: [2, 32], + 74: [2, 32], + 77: [2, 32], + 78: [2, 32], + 92: [2, 32], + 98: [2, 32], + 99: [2, 32], + 101: [2, 32] + }, { + 24: [1, 404], + 39: [1, 198], + 45: [1, 277], + 46: [1, 278], + 75: 276, + 77: [1, 39] + }, { + 22: [2, 136], + 24: [2, 136], + 44: [2, 136], + 45: [2, 136], + 54: [2, 136], + 59: [2, 136] + }, { + 41: [1, 383] + }, { + 22: [1, 405], + 45: [1, 244], + 46: [1, 245] + }, { + 22: [2, 135], + 24: [2, 135], + 44: [2, 135], + 45: [2, 135], + 54: [2, 135], + 59: [2, 135] + }, { + 1: [2, 27], + 9: [2, 27], + 11: [2, 27], + 14: [2, 27], + 15: [2, 27], + 21: [2, 27], + 22: [2, 27], + 24: [2, 27], + 26: [2, 27], + 27: [2, 27], + 28: [2, 27], + 32: [2, 27], + 34: [2, 27], + 35: [2, 27], + 36: [2, 27], + 37: [2, 27], + 39: [2, 27], + 44: [2, 27], + 45: [2, 27], + 46: [2, 27], + 53: [2, 27], + 54: [2, 27], + 55: [2, 27], + 56: [2, 27], + 58: [2, 27], + 59: [2, 27], + 60: [2, 27], + 61: [2, 27], + 62: [2, 27], + 63: [2, 27], + 64: [2, 27], + 65: [2, 27], + 66: [2, 27], + 67: [2, 27], + 68: [2, 27], + 69: [2, 27], + 74: [2, 27], + 77: [2, 27], + 78: [2, 27], + 92: [2, 27], + 98: [2, 27], + 99: [2, 27], + 101: [2, 27] + }, { + 27: [1, 406] + }, { + 27: [1, 407] + }, { + 1: [2, 28], + 9: [2, 28], + 11: [2, 28], + 14: [2, 28], + 15: [2, 28], + 21: [2, 28], + 22: [2, 28], + 24: [2, 28], + 26: [2, 28], + 27: [2, 28], + 28: [2, 28], + 32: [2, 28], + 34: [2, 28], + 35: [2, 28], + 36: [2, 28], + 37: [2, 28], + 39: [2, 28], + 44: [2, 28], + 45: [2, 28], + 46: [2, 28], + 53: [2, 28], + 54: [2, 28], + 55: [2, 28], + 56: [2, 28], + 58: [2, 28], + 59: [2, 28], + 60: [2, 28], + 61: [2, 28], + 62: [2, 28], + 63: [2, 28], + 64: [2, 28], + 65: [2, 28], + 66: [2, 28], + 67: [2, 28], + 68: [2, 28], + 69: [2, 28], + 74: [2, 28], + 77: [2, 28], + 78: [2, 28], + 92: [2, 28], + 98: [2, 28], + 99: [2, 28], + 101: [2, 28] + }, { + 21: [2, 165], + 22: [2, 165], + 24: [2, 165], + 35: [1, 44], + 39: [2, 165], + 45: [2, 165], + 46: [2, 165], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 77: [2, 165] + }, { + 21: [2, 159], + 22: [2, 159], + 24: [2, 159], + 35: [1, 44], + 39: [2, 159], + 45: [2, 159], + 46: [2, 159], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 77: [2, 159] + }, { + 21: [2, 160], + 22: [2, 160], + 24: [2, 160], + 35: [1, 44], + 39: [2, 160], + 45: [2, 160], + 46: [2, 160], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 77: [2, 160], + 78: [1, 408] + }, { + 21: [2, 167], + 22: [2, 167], + 24: [2, 167], + 35: [1, 44], + 39: [2, 167], + 45: [2, 167], + 46: [2, 167], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 77: [2, 167] + }, { + 21: [2, 168], + 22: [2, 168], + 24: [2, 168], + 35: [1, 44], + 39: [2, 168], + 45: [2, 168], + 46: [2, 168], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 77: [2, 168], + 78: [1, 409] + }, { + 21: [2, 170], + 22: [2, 170], + 24: [2, 170], + 35: [1, 44], + 37: [1, 411], + 39: [2, 170], + 45: [2, 170], + 46: [2, 170], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 77: [2, 170], + 78: [1, 410] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 412, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 21: [2, 180], + 22: [2, 180], + 24: [2, 180], + 35: [1, 44], + 39: [2, 180], + 45: [2, 180], + 46: [2, 180], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 77: [2, 180] + }, { + 14: [2, 51], + 21: [2, 51], + 22: [2, 51], + 32: [2, 51], + 44: [2, 51], + 45: [2, 51], + 46: [2, 51] + }, { + 1: [2, 33], + 9: [2, 33], + 11: [2, 33], + 14: [2, 33], + 15: [2, 33], + 21: [2, 33], + 22: [2, 33], + 24: [2, 33], + 26: [2, 33], + 27: [2, 33], + 28: [2, 33], + 32: [2, 33], + 34: [2, 33], + 35: [2, 33], + 36: [2, 33], + 37: [2, 33], + 39: [2, 33], + 44: [2, 33], + 45: [2, 33], + 46: [2, 33], + 53: [2, 33], + 54: [2, 33], + 55: [2, 33], + 56: [2, 33], + 58: [2, 33], + 59: [2, 33], + 60: [2, 33], + 61: [2, 33], + 62: [2, 33], + 63: [2, 33], + 64: [2, 33], + 65: [2, 33], + 66: [2, 33], + 67: [2, 33], + 68: [2, 33], + 69: [2, 33], + 74: [2, 33], + 77: [2, 33], + 78: [2, 33], + 92: [2, 33], + 98: [2, 33], + 99: [2, 33], + 101: [2, 33] + }, { + 1: [2, 157], + 14: [2, 157], + 21: [2, 157], + 22: [2, 157], + 24: [2, 157], + 26: [2, 157], + 27: [2, 157], + 28: [2, 157], + 32: [2, 157], + 35: [2, 157], + 36: [2, 157], + 37: [2, 157], + 39: [2, 157], + 44: [2, 157], + 45: [2, 157], + 46: [2, 157], + 55: [2, 157], + 56: [2, 157], + 58: [2, 157], + 59: [2, 157], + 60: [2, 157], + 61: [2, 157], + 62: [2, 157], + 63: [2, 157], + 64: [2, 157], + 65: [2, 157], + 66: [2, 157], + 67: [2, 157], + 68: [2, 157], + 74: [2, 157], + 77: [2, 157], + 78: [2, 157], + 101: [2, 157] + }, { + 1: [2, 121], + 14: [2, 121], + 21: [2, 121], + 22: [2, 121], + 24: [2, 121], + 26: [2, 121], + 27: [2, 121], + 28: [2, 121], + 32: [2, 121], + 35: [2, 121], + 36: [2, 121], + 37: [2, 121], + 39: [2, 121], + 44: [2, 121], + 45: [2, 121], + 46: [2, 121], + 55: [2, 121], + 56: [2, 121], + 58: [2, 121], + 59: [2, 121], + 60: [2, 121], + 61: [2, 121], + 62: [2, 121], + 63: [2, 121], + 64: [2, 121], + 65: [2, 121], + 66: [2, 121], + 67: [2, 121], + 68: [2, 121], + 74: [2, 121], + 77: [2, 121], + 78: [2, 121], + 101: [2, 121] + }, { + 1: [2, 30], + 9: [2, 30], + 11: [2, 30], + 14: [2, 30], + 15: [2, 30], + 21: [2, 30], + 22: [2, 30], + 24: [2, 30], + 26: [2, 30], + 27: [2, 30], + 28: [2, 30], + 32: [2, 30], + 34: [2, 30], + 35: [2, 30], + 36: [2, 30], + 37: [2, 30], + 39: [2, 30], + 44: [2, 30], + 45: [2, 30], + 46: [2, 30], + 53: [2, 30], + 54: [2, 30], + 55: [2, 30], + 56: [2, 30], + 58: [2, 30], + 59: [2, 30], + 60: [2, 30], + 61: [2, 30], + 62: [2, 30], + 63: [2, 30], + 64: [2, 30], + 65: [2, 30], + 66: [2, 30], + 67: [2, 30], + 68: [2, 30], + 69: [2, 30], + 74: [2, 30], + 77: [2, 30], + 78: [2, 30], + 92: [2, 30], + 98: [2, 30], + 99: [2, 30], + 101: [2, 30] + }, { + 1: [2, 13], + 9: [2, 13], + 11: [2, 13], + 14: [2, 13], + 15: [2, 13], + 21: [2, 13], + 22: [2, 13], + 24: [2, 13], + 26: [2, 13], + 27: [2, 13], + 28: [2, 13], + 32: [2, 13], + 34: [2, 13], + 35: [2, 13], + 36: [2, 13], + 37: [2, 13], + 39: [2, 13], + 44: [2, 13], + 45: [2, 13], + 46: [2, 13], + 53: [2, 13], + 54: [2, 13], + 55: [2, 13], + 56: [2, 13], + 58: [2, 13], + 59: [2, 13], + 60: [2, 13], + 61: [2, 13], + 62: [2, 13], + 63: [2, 13], + 64: [2, 13], + 65: [2, 13], + 66: [2, 13], + 67: [2, 13], + 68: [2, 13], + 69: [2, 13], + 74: [2, 13], + 77: [2, 13], + 78: [2, 13], + 92: [2, 13], + 98: [2, 13], + 99: [2, 13], + 101: [2, 13] + }, { + 22: [2, 138], + 24: [2, 138], + 44: [2, 138], + 45: [2, 138] + }, { + 1: [2, 21], + 9: [2, 21], + 11: [2, 21], + 14: [2, 21], + 15: [2, 21], + 21: [2, 21], + 22: [2, 21], + 24: [2, 21], + 26: [2, 21], + 27: [2, 21], + 28: [2, 21], + 32: [2, 21], + 34: [2, 21], + 35: [2, 21], + 36: [2, 21], + 37: [2, 21], + 39: [2, 21], + 44: [2, 21], + 45: [2, 21], + 46: [2, 21], + 53: [2, 21], + 54: [2, 21], + 55: [2, 21], + 56: [2, 21], + 58: [2, 21], + 59: [2, 21], + 60: [2, 21], + 61: [2, 21], + 62: [2, 21], + 63: [2, 21], + 64: [2, 21], + 65: [2, 21], + 66: [2, 21], + 67: [2, 21], + 68: [2, 21], + 69: [2, 21], + 74: [2, 21], + 77: [2, 21], + 78: [2, 21], + 92: [2, 21], + 98: [2, 21], + 99: [2, 21], + 101: [2, 21] + }, { + 1: [2, 23], + 9: [2, 23], + 11: [2, 23], + 14: [2, 23], + 15: [2, 23], + 21: [2, 23], + 22: [2, 23], + 24: [2, 23], + 26: [2, 23], + 27: [2, 23], + 28: [2, 23], + 32: [2, 23], + 34: [2, 23], + 35: [2, 23], + 36: [2, 23], + 37: [2, 23], + 39: [2, 23], + 44: [2, 23], + 45: [2, 23], + 46: [2, 23], + 53: [2, 23], + 54: [2, 23], + 55: [2, 23], + 56: [2, 23], + 58: [2, 23], + 59: [2, 23], + 60: [2, 23], + 61: [2, 23], + 62: [2, 23], + 63: [2, 23], + 64: [2, 23], + 65: [2, 23], + 66: [2, 23], + 67: [2, 23], + 68: [2, 23], + 69: [2, 23], + 74: [2, 23], + 77: [2, 23], + 78: [2, 23], + 92: [2, 23], + 98: [2, 23], + 99: [2, 23], + 101: [2, 23] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 413, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 414, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 415, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 416, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 21: [2, 173], + 22: [2, 173], + 24: [2, 173], + 35: [1, 44], + 39: [2, 173], + 45: [2, 173], + 46: [2, 173], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 77: [2, 173] + }, { + 21: [2, 161], + 22: [2, 161], + 24: [2, 161], + 35: [1, 44], + 39: [2, 161], + 45: [2, 161], + 46: [2, 161], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 77: [2, 161] + }, { + 21: [2, 169], + 22: [2, 169], + 24: [2, 169], + 35: [1, 44], + 39: [2, 169], + 45: [2, 169], + 46: [2, 169], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 77: [2, 169] + }, { + 21: [2, 172], + 22: [2, 172], + 24: [2, 172], + 35: [1, 44], + 37: [1, 417], + 39: [2, 172], + 45: [2, 172], + 46: [2, 172], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 77: [2, 172] + }, { + 21: [2, 174], + 22: [2, 174], + 24: [2, 174], + 35: [1, 44], + 39: [2, 174], + 45: [2, 174], + 46: [2, 174], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 77: [2, 174], + 78: [1, 418] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 419, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 3: 12, + 4: [1, 28], + 5: 29, + 6: 30, + 7: [1, 31], + 8: [1, 32], + 16: [1, 33], + 18: [1, 34], + 19: 420, + 23: [1, 35], + 25: [1, 36], + 31: [1, 63], + 33: [1, 14], + 34: [1, 13], + 38: [1, 37], + 39: [1, 38], + 41: [1, 26], + 56: [1, 15], + 57: [1, 16], + 71: [1, 17], + 72: [1, 18], + 75: 19, + 76: [1, 20], + 77: [1, 39], + 79: [1, 21], + 80: [1, 22], + 81: [1, 23], + 86: [1, 24], + 89: [1, 25], + 93: [1, 27] + }, { + 21: [2, 176], + 22: [2, 176], + 24: [2, 176], + 35: [1, 44], + 39: [2, 176], + 45: [2, 176], + 46: [2, 176], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 77: [2, 176] + }, { + 21: [2, 175], + 22: [2, 175], + 24: [2, 175], + 35: [1, 44], + 39: [2, 175], + 45: [2, 175], + 46: [2, 175], + 55: [1, 45], + 56: [1, 46], + 58: [1, 47], + 59: [1, 48], + 60: [1, 49], + 61: [1, 50], + 62: [1, 51], + 63: [1, 52], + 64: [1, 53], + 65: [1, 54], + 66: [1, 55], + 67: [1, 56], + 68: [1, 57], + 74: [1, 58], + 77: [2, 175] + }], + defaultActions: { + 2: [2, 191] + }, + parseError: function (t, n) { + throw new Error(t) + }, + parse: function (t) { + function h(e) { + r.length = r.length - 2 * e, i.length = i.length - e + } + + function p() { + var e; + return e = n.lexer.lex() || 1, typeof e != "number" && (e = n.symbols_[e] || e), e + } + var n = this, + r = [0], + i = [null], + s = this.table, + o = "", + u = 0, + a = 0, + f = 0, + l = 2, + c = 1; + this.lexer.setInput(t), this.lexer.yy = this.yy, this.yy.lexer = this.lexer, typeof this.yy.parseError == "function" && (this.parseError = this.yy.parseError); + var d, v, m, g, y, b, w = {}, + E, S, x, T; + for (;;) { + m = r[r.length - 1], this.defaultActions[m] ? g = this.defaultActions[m] : (d == null && (d = p()), g = s[m] && s[m][d]); + if (typeof g == "undefined" || !g.length || !g[0]) { + if (!f) { + T = []; + for (E in s[m]) this.terminals_[E] && E > 2 && T.push("'" + this.terminals_[E] + "'"); + var N = ""; + this.lexer.showPosition ? N = "Parse error on line " + (u + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + T.join(", ") : N = "Parse error on line " + (u + 1) + ": Unexpected " + (d == 1 ? "end of input" : "'" + (this.terminals_[d] || d) + "'"), this.parseError(N, { + text: this.lexer.match, + token: this.terminals_[d] || d, + line: this.lexer.yylineno, + expected: T + }) + } + if (f == 3) { + if (d == c) throw new Error(N || "Parsing halted."); + a = this.lexer.yyleng, o = this.lexer.yytext, u = this.lexer.yylineno, d = p() + } + for (;;) { + if (l.toString() in s[m]) break; + if (m == 0) throw new Error(N || "Parsing halted."); + h(1), m = r[r.length - 1] + } + v = d, d = l, m = r[r.length - 1], g = s[m] && s[m][l], f = 3 + } + if (g[0] instanceof Array && g.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + m + ", token: " + d); + switch (g[0]) { + case 1: + r.push(d), i.push(this.lexer.yytext), r.push(g[1]), d = null, v ? (d = v, v = null) : (a = this.lexer.yyleng, o = this.lexer.yytext, u = this.lexer.yylineno, f > 0 && f--); + break; + case 2: + S = this.productions_[g[1]][1], w.$ = i[i.length - S], b = this.performAction.call(w, o, a, u, this.yy, g[1], i); + if (typeof b != "undefined") return b; + S && (r = r.slice(0, -1 * S * 2), i = i.slice(0, -1 * S)), r.push(this.productions_[g[1]][0]), i.push(w.$), x = s[r[r.length - 2]][r[r.length - 1]], r.push(x); + break; + case 3: + return !0 + } + } + return !0 + } + }; + var n = [].slice, + r = {}.toString; + return function (e) { + function q(e, t) { + throw SyntaxError(e + " on line " + -~t) + } + + function R(e, t, n) { + var r, i; + return t == null && (t = e.length), i = (r = e[t - 1])[0], i === "ID" || i === "]" || i === "?" || (n ? r.callable || (i === ")" || i === ")CALL" || i === "BIOPBP") && r[1] : i === "}" || i === ")" || i === ")CALL" || i === "STRNUM" || i === "LITERAL" || i === "WORDS") + } + + function U(e) { + var t, n, i; + t = 0 / 0; + while (n = r.exec(e)) t <= (i = n[0].length - 1) || (t = i); + return t + } + + function z(e, t) { + return t ? e.replace(z[t] || (z[t] = RegExp("\\n[^\\n\\S]{1," + t + "}", "g")), "\n") : e + } + + function W(e, t) { + return function (n) { + return n.replace(e, t) + } + } + + function X(e) { + return e.slice(1 + e.lastIndexOf("\n", 0)) + } + + function V(e, t) { + return isNaN(e) ? (e = e.length > 8 ? "ng" : Function("return " + e)(), e.length === 1 || q("bad string in range", t), [e.charCodeAt(), !0]) : [+e] + } + + function $(e) { + return '"\\u' + ("000" + e.toString(16)).slice(-4) + '"' + } + + function J(e) { + var t, n, r, i, o, u, a, f, l, c, h; + t = ["NEWLINE", "\n", 0], n = 0; + while (r = e[++n]) { + i = r[0], o = r[1], u = r[2]; + switch (!1) { + case i !== "ASSIGN" || !s(t[1], m) || e[n - 2][0] === "DOT": + q('cannot assign to reserved word "' + t[1] + '"', u); + break; + case i !== "DOT" || t[0] !== "]" || e[n - 2][0] !== "[" || e[n - 3][0] !== "DOT": + e.splice(n - 2, 3), e[n - 3][1] = "[]"; + break; + case i !== "DOT" || t[0] !== "}" || e[n - 2][0] !== "{" || e[n - 3][0] !== "DOT": + e.splice(n - 2, 3), e[n - 3][1] = "{}"; + break; + case o !== "." || !r.spaced || !t.spaced: + e[n] = ["COMPOSE", "<<", u]; + break; + case o !== "++": + if (!(a = e[n + 1])) break; + f = ["ID", "LITERAL", "STRNUM"]; + if (t.spaced && r.spaced || !t.spaced && !r.spaced && s(t[0], f) && s(a[0], f)) e[n][0] = "CONCAT"; + if (t[0] === "(" && a[0] === ")" || t[0] === "(" && r.spaced || a[0] === ")" && t.spaced) e[n][0] = "BIOP"; + break; + case i !== "DOT" || o !== ".": + a = e[n + 1]; + if (t[0] === "(" && a[0] === ")") e[n][0] = "BIOP"; + else if (t[0] === "(") e.splice(n, 0, ["PARAM(", "(", u], [")PARAM", ")", u], ["->", "->", u], ["ID", "it", u]); + else if (a[0] === ")") { + e.splice(n + 1, 0, ["[", "[", u], ["ID", "it", u], ["]", "]", u]), l = 1; + e: for (c = n + 1; c >= 0; --c) { + h = c; + switch (e[h][0]) { + case ")": + ++l; + break; + case "(": + if (--l === 0) { + e.splice(h + 1, 0, ["PARAM(", "(", u], ["ID", "it", u], [")PARAM", ")", u], ["->", "->", u]); + break e + } + } + } + } + } + t = r; + continue + } + } + + function K(e) { + function u(e) { + var t; + return (t = e[0]) === "NEWLINE" || t === "INDENT" + } + + function a(t, n) { + var r; + if (o === "IF") { + if (t[0] !== "INDENT" || !t[1] && !t.then || s(e[n - 1][0], I)) i[0] = "POST_IF" + } else t[0] !== "INDENT" && e.splice(n, 0, ["INDENT", 0, r = e[n - 1][2]], ["DEDENT", 0, r]) + } + var t, n, r, i, o; + for (t = 0, n = e.length; t < n; ++t) r = t, i = e[t], o = i[0], (o === "IF" || o === "CLASS" || o === "CATCH") && et(e, r + 1, u, a) + } + + function Q(e) { + function f(t, n) { + var i, s; + i = t[0], s = r; + if (r === i || r === "THEN" && i === "SWITCH") r = ""; + switch (i) { + case "NEWLINE": + return t[1] !== ";"; + case "DOT": + case "?": + case ",": + case "PIPE": + case "BACKPIPE": + return e[n - 1].eol; + case "ELSE": + return s === "THEN"; + case "CATCH": + return s === "TRY"; + case "FINALLY": + return s === "TRY" || s === "CATCH" || s === "THEN"; + case "CASE": + case "DEFAULT": + return s === "CASE" || s === "THEN" + } + } + + function l(t, n) { + var r; + r = e[n - 1], e.splice(r[0] === "," ? n - 1 : n, 0, (o[2] = r[2], o)) + } + var t, n, r, i, s, o, u, a; + t = 0; + while (n = e[++t]) { + r = n[0]; + if (r !== "->" && r !== "THEN" && r !== "ELSE" && r !== "DEFAULT" && r !== "TRY" && r !== "FINALLY" && r !== "DECL") continue; + switch (i = e[t + 1][0]) { + case "IF": + if (r === "ELSE") continue; + break; + case "INDENT": + case "THEN": + r === "THEN" && e.splice(t--, 1); + continue + } + s = ["INDENT", 0, n[2]], o = ["DEDENT", 0], r === "THEN" ? (e[t] = s).then = !0 : e.splice(++t, 0, s); + switch (!1) { + case r !== "DECL": + break; + case i !== "DOT" && i !== "?" && i !== "," && i !== "PIPE" && i !== "BACKPIPE": + --t; + case i !== "ID" && i !== "STRNUM" && i !== "LITERAL" || "," !== ((u = e[t + 2]) != null ? u[0] : void 8): + l(0, t += 2), ++t; + continue; + case i !== "(" && i !== "[" && i !== "{" || "," !== ((u = e[a = 1 + tt(e, t + 1)]) != null ? u[0] : void 8): + l(0, a), ++t; + continue + } + et(e, t + 1, f, l) + } + } + + function G(e) { + function h(e) { + var t; + return t = e[0], s(t, F) || !e.spaced && (t === "+-" || t === "CLONE") + } + + function p(t, n) { + var r, i, o; + r = t[0]; + if (r === "POST_IF" || r === "PIPE" || r === "BACKPIPE") return !0; + if (!l) + if (t.alias && ((i = t[1]) === "&&" || i === "||" || i === "xor") || r === "TO" || r === "BY" || r === "IMPLEMENTS") return !0; + o = e[n - 1]; + switch (r) { + case "NEWLINE": + return o[0] !== ","; + case "DOT": + case "?": + return !l && (o.spaced || o[0] === "DEDENT"); + case "SWITCH": + c = !0; + case "IF": + case "CLASS": + case "FUNCTION": + case "LET": + case "WITH": + case "CATCH": + l = !0; + break; + case "CASE": + if (!c) return !0; + l = !0; + break; + case "INDENT": + if (l) return l = !1; + return !s(o[0], I); + case "WHILE": + if (t.done) return !1; + case "FOR": + return l = !0, R(e, n) || o[0] === "CREMENT" || o[0] === "..." && o.spaced + } + return !1 + } + + function d(t, n) { + e.splice(n, 0, [")CALL", "", e[n - 1][2]]) + } + var t, n, r, i, o, u, a, f, l, c; + t = 0, n = []; + while (r = e[++t]) { + r[1] === "do" && e[t + 1][0] === "INDENT" && (i = tt(e, t + 1), e[i + 1][0] === "NEWLINE" && ((o = e[i + 2]) != null ? o[0] : void 8) === "WHILE" ? (r[0] = "DO", e[i + 2].done = !0, e.splice(i + 1, 1)) : ((r = e[1 + t])[0] = "(", (u = e[i])[0] = ")", r.doblock = !0, e.splice(t, 1))), a = r[0], f = e[t - 1], a === "[" && n.push(f[0] === "DOT"); + if (f[0] === "]") { + if (!n.pop()) continue; + f.index = !0 + } + if (!((o = f[0]) === "FUNCTION" || o === "LET" || o === "WHERE" || f.spaced && R(e, t, !0))) continue; + if (r.doblock) { + r[0] = "CALL(", u[0] = ")CALL"; + continue + } + if (!h(r)) continue; + if (a === "CREMENT") + if (r.spaced || !s((o = e[t + 1]) != null ? o[0] : void 8, j)) continue; + l = c = !1, e.splice(t++, 0, ["CALL(", "", r[2]]), et(e, t, p, d) + } + } + + function Y(e) { + function h(t, n) { + var r, i, s; + switch (r = t[0]) { + case ",": + break; + case "NEWLINE": + if (c) return !0; + break; + case "DEDENT": + return !0; + case "POST_IF": + case "FOR": + case "WHILE": + return c; + default: + return !1 + } + return i = (s = e[n + 1]) != null ? s[0] : void 8, i !== (r === "," ? "NEWLINE" : "COMMENT") && ":" !== ((s = e[i === "(" ? 1 + tt(e, n + 1) : n + 2]) != null ? s[0] : void 8) + } + + function p(t, n) { + e.splice(n, 0, ["}", "", t[2]]) + } + var t, n, r, i, o, u, a, f, l, c; + t = [], n = 0; + while (r = e[++n]) { + if (":" !== (i = r[0])) { + switch (!1) { + case !s(i, _): + o = t.pop(); + break; + case !s(i, M): + i === "INDENT" && e[n - 1][0] === "{" && (i = "{"), t.push([i, n]) + } + continue + } + u = e[n - 1][0] === ")", a = u ? o[1] : n - 1, f = e[a - 1]; + if ((l = f[0]) !== ":" && l !== "ASSIGN" && l !== "IMPORT" && ((l = t[t.length - 1]) != null ? l[0] : void 8) === "{") continue; + t.push(["{"]), c = !f.doblock && (l = f[0]) !== "NEWLINE" && l !== "INDENT"; + while (((l = e[a - 2]) != null ? l[0] : void 8) === "COMMENT") a -= 2; + e.splice(a, 0, ["{", "{", e[a][2]]), et(e, ++n + 1, h, p) + } + } + + function Z(e) { + function T() { + 65536 < m.push(["STRNUM", g(w), f], [",", ",", f]) && q("range limit exceeded", f) + } + var r, i, o, u, a, f, l, c, p, d, v, m, g, y, b, w, E, S, x; + r = 0; + while (o = e[++r]) { + switch (o[0]) { + case "STRNUM": + ~"-+".indexOf(u = o[1].charAt(0)) && (o[1] = o[1].slice(1), e.splice(r++, 0, ["+-", u, o[2]])); + if (o.callable) continue; + break; + case "TO": + case "TIL": + if (e[r - 1][0] !== "[" || !(e[r + 2][0] === "]" && ((a = e[r + 1][1].charAt(0)) === "'" || a === '"' || +e[r + 1][1] >= 0) || e[r + 2][0] === "BY" && ((a = e[r + 3]) != null ? a[0] : void 8) === "STRNUM" && ((a = e[r + 4]) != null ? a[0] : void 8) === "]")) continue; + e[r + 2][0] === "BY" && (e[r + 2][0] = "RANGE_BY"), o.op = o[1], i = 0; + case "RANGE": + f = o[2]; + if (i != null || e[r - 1][0] === "[" && e[r + 1][0] === "STRNUM" && (e[r + 2][0] === "]" && ((a = e[r + 1][1].charAt(0)) === "'" || a === '"' || +e[r + 1][1] >= 0) || e[r + 2][0] === "RANGE_BY" && ((a = e[r + 3]) != null ? a[0] : void 8) === "STRNUM" && ((a = e[r + 4]) != null ? a[0] : void 8) === "]")) { + i == null && (a = V(o[1], f), i = a[0], l = a[1]), a = V(e[r + 1][1], f), c = a[0], p = a[1], (c == null || l ^ p) && q('bad "to" in range', f), d = 1, (v = ((a = e[r + 2]) != null ? a[0] : void 8) === "RANGE_BY") ? (d = +((a = e[r + 3]) != null ? a[1] : void 8)) || q('bad "by" in range', e[r + 2][2]) : i > c && (d = -1), m = [], g = l ? h : String, y = T; + if (o.op === "to") + for (b = i; d < 0 ? b >= c : b <= c; b += d) w = b, y(); + else + for (b = i; d < 0 ? b > c : b < c; b += d) w = b, y(); + m.pop() || q("empty range", f), e.splice.apply(e, [r, 2 + 2 * v].concat(n.call(m))), r += m.length - 1 + } else o[0] = "STRNUM", ((a = e[r + 2]) != null ? a[0] : void 8) === "RANGE_BY" && e.splice(r + 2, 1, ["BY", "by", f]), e.splice(r + 1, 0, ["TO", o.op, f]); + i = null; + break; + case "WORDS": + m = [ + ["[", "[", f = o[2]] + ]; + for (b = 0, E = (a = o[1].match(/\S+/g) || "").length; b < E; ++b) S = a[b], m.push(["STRNUM", t("'", S, f), f], [",", ",", f]); + e.splice.apply(e, [r, 1].concat(n.call(m), [ + ["]", "]", f] + ])), r += m.length; + break; + case "INDENT": + if (x = e[r - 1]) + if (x[1] === "new") e.splice(r++, 0, ["PARAM(", "", o[2]], [")PARAM", "", o[2]], ["->", "", o[2]]); + else if ((a = x[0]) === "FUNCTION" || a === "LET") e.splice(r, 0, ["CALL(", "", o[2]], [")CALL", "", o[2]]), r += 2; + continue; + case "LITERAL": + case "}": + break; + case ")": + case ")CALL": + if (o[1]) continue; + break; + case "]": + if (o.index) continue; + break; + case "CREMENT": + if (!R(e, r)) continue; + break; + case "BIOP": + !o.spaced && ((a = o[1]) === "+" || a === "-") && e[r + 1][0] !== ")" && (e[r][0] = "+-"); + continue; + default: + continue + } + o.spaced && s(e[r + 1][0], F) && e.splice(++r, 0, [",", ",", o[2]]) + } + } + + function et(e, t, n, r) { + var i, o, u; + i = 0; + for (; o = e[t]; ++t) { + if (!i && n(o, t)) return r(o, t); + u = o[0]; + if (0 > (i += s(u, M) || -s(u, _))) return r(o, t) + } + } + + function tt(e, t) { + var n, r, i, s; + n = 1, r = D[i = e[t][0]]; + while (s = e[++t]) switch (s[0]) { + case i: + ++n; + break; + case r: + if (!--n) return t + } + return -1 + } + var t, r, u, a, f, l, c, h, p, d, v, m, g, y, b, w, E, S, x, T, N, C, k, L, A, O, M, _, D, P, H, B, j, F, I; + e.lex = function (t, n) { + return i(e).tokenize(t || "", n || {}) + }, e.rewrite = function (e) { + var t; + return e || (e = this.tokens), J(e), Q(e), K(e), G(e), Y(e), Z(e), ((t = e[0]) != null ? t[0] : void 8) === "NEWLINE" && e.shift(), e + }, e.tokenize = function (e, t) { + var n, r, i; + this.inter || (e = e.replace(/[\r\u2028\u2029\uFEFF]/g, "")), e = "\n" + e, this.tokens = [this.last = ["NEWLINE", "\n", 0]], this.line = ~-t.line, this.dents = [], this.closes = [], this.parens = [], this.flags = [], n = 0; + while (r = e.charAt(n)) switch (r) { + case " ": + n += this.doSpace(e, n); + break; + case "\n": + n += this.doLine(e, n); + break; + case "\\": + n += this.doBackslash(e, n); + break; + case "'": + case '"': + n += this.doString(e, n, r); + break; + case "0": + case "1": + case "2": + case "3": + case "4": + case "5": + case "6": + case "7": + case "8": + case "9": + n += this.doNumber(e, n); + break; + case "/": + switch (e.charAt(n + 1)) { + case "*": + n += this.doComment(e, n); + break; + case "/": + n += this.doHeregex(e, n); + break; + default: + n += this.doRegex(e, n) || this.doLiteral(e, n) + } + break; + case "`": + "`" === e.charAt(n + 1) ? n += this.doJS(e, n) : n += this.doLiteral(e, n); + break; + default: + n += this.doID(e, n) || this.doLiteral(e, n) || this.doSpace(e, n) + } + return this.dedent(this.dent), (i = this.closes.pop()) && this.carp("missing `" + i + "`"), this.inter ? this.rest == null && this.carp("unterminated interpolation") : (this.last.spaced = !0, this.newline()), t.raw || this.rewrite(), this.tokens + }, e.dent = 0, e.identifiers = {}, e.hasOwn = Object.prototype.hasOwnProperty, e.checkConsistency = function (e, t) { + if (this.hasOwn.call(this.identifiers, e) && this.identifiers[e] !== t) throw new ReferenceError("Inconsistent use of " + e + " as " + t + " on line " + -~this.line); + return this.identifiers[e] = t + }, e.doID = function (e, t) { + var n, r, i, o, u, a, f, l, h; + r = (n = (g.lastIndex = t, g).exec(e))[0]; + if (!r) return 0; + i = c(n[1]), /-/.test(n[1]) && this.checkConsistency(i, n[1]); + if (O.test(i)) try { + Function("var " + i) + } catch (m) { + o = m, this.carp('invalid identifier "' + i + '"') + } + u = this.last; + if (n[2] || u[0] === "DOT" || this.adi()) return this.token("ID", s(i, v) ? (a = Object(i), a.reserved = !0, a) : i), n[2] && this.token(":", ":"), r.length; + switch (i) { + case "true": + case "false": + case "on": + case "off": + case "yes": + case "no": + case "null": + case "void": + case "arguments": + case "debugger": + f = "LITERAL"; + break; + case "new": + case "do": + case "typeof": + case "delete": + f = "UNARY"; + break; + case "return": + case "throw": + f = "HURL"; + break; + case "break": + case "continue": + f = "JUMP"; + break; + case "this": + case "eval": + case "super": + return this.token("LITERAL", i, !0).length; + case "for": + i = [], this.fset("for", !0), this.fset("to", !1); + break; + case "then": + this.fset("for", !1), this.fset("to", !1); + break; + case "catch": + case "function": + i = ""; + break; + case "in": + case "of": + if (this.fget("for")) { + this.fset("for", !1), i === "in" && (this.fset("by", !0), i = "", u[0] === "ID" && ((a = (l = this.tokens)[l.length - 2][0]) === "," || a === "]" || a === "}") && (i = this.tokens.pop()[1], (a = this.tokens)[a.length - 1][0] === "," && this.tokens.pop())); + break + }; + case "instanceof": + u[1] === "!" && (i = this.tokens.pop()[1] + i), f = (a = this.tokens)[a.length - 1][0] === "(" ? "BIOPR" : "RELATION"; + break; + case "not": + if (u.alias && u[1] === "===") return u[1] = "!==", 3; + f = "UNARY", i = "!"; + break; + case "and": + case "or": + case "xor": + case "is": + case "isnt": + return this.unline(), f = i === "is" || i === "isnt" ? "COMPARE" : "LOGIC", u[0] === "(" && (f = "BIOP"), this.token(f, function () { + switch (i) { + case "is": + return "==="; + case "isnt": + return "!=="; + case "or": + return "||"; + case "and": + return "&&"; + case "xor": + return "xor" + } + }()), this.last.alias = !0, i.length; + case "unless": + f = "IF"; + break; + case "until": + f = "WHILE"; + break; + case "import": + u[0] === "(" ? (i = "<<<", f = "BIOP") : R(this.tokens) ? i = "<<<" : f = "DECL"; + break; + case "export": + case "const": + case "var": + f = "DECL"; + break; + case "with": + f = function () { + switch (!1) { + case !R(this.tokens): + return "CLONEPORT"; + case u[0] !== "(": + return "BIOP"; + default: + return "WITH" + } + }.call(this); + break; + case "when": + this.fset("for", !1), f = "CASE"; + case "case": + if (this.doCase()) return r.length; + break; + case "match": + f = "SWITCH"; + break; + case "loop": + return this.token("WHILE", i), this.token("LITERAL", "true"), r.length; + case "let": + case "own": + if (u[0] === "FOR" && !s(i, u[1])) return u[1].push(i), 3; + default: + if (s(i, p)) break; + s(i, d) && this.carp('reserved word "' + i + '"'); + if (!u[1] && ((a = u[0]) === "FUNCTION" || a === "LABEL")) return u[1] = i, u.spaced = !1, r.length; + f = "ID"; + switch (i) { + case "otherwise": + if ((a = u[0]) === "CASE" || a === "|") return u[0] = "DEFAULT", i.length; + break; + case "all": + if (h = u[1] === "<<<" && "<" || u[1] === "import" && "All") return u[1] += h, 3; + break; + case "from": + this.forange() && (f = "FROM"); + break; + case "to": + case "til": + this.forange() && this.tokens.push(["FROM", "", this.line], ["STRNUM", "0", this.line]); + if (this.fget("from")) this.fset("from", !1), this.fset("by", !0), f = "TO"; + else { + if (!u.callable && u[0] === "STRNUM" && (a = this.tokens)[a.length - 2][0] === "[") return u[0] = "RANGE", u.op = i, i.length; + if (s("]", this.closes)) return this.token("TO", i), i.length + } + break; + case "by": + u[0] === "STRNUM" && (a = this.tokens)[a.length - 2][0] === "RANGE" && (a = this.tokens)[a.length - 3][0] === "[" ? f = "RANGE_BY" : s("]", this.closes) ? f = "BY" : this.fget("by") && (f = "BY", this.fset("by", !1)); + break; + case "ever": + u[0] === "FOR" && (this.fset("for", !1), u[0] = "WHILE", f = "LITERAL", i = "true") + } + } + f || (f = n[1].toUpperCase()), (f === "COMPARE" || f === "LOGIC" || f === "RELATION") && u[0] === "(" && (f = f === "RELATION" ? "BIOPR" : "BIOP"); + if (f === "THEN" || f === "IF" || f === "WHILE") this.fset("for", !1), this.fset("by", !1); + return (f === "RELATION" || f === "THEN" || f === "ELSE" || f === "CASE" || f === "DEFAULT" || f === "CATCH" || f === "FINALLY" || f === "IN" || f === "OF" || f === "FROM" || f === "TO" || f === "BY" || f === "EXTENDS" || f === "IMPLEMENTS" || f === "WHERE") && this.unline(), this.token(f, i), r.length + }, e.doNumber = function (e, t) { + var n, r, i, s, o, u, a, f; + T.lastIndex = t; + if (!(n = (r = T.exec(e))[0])) return 0; + i = this.last; + if (r[5] && (i[0] === "DOT" || this.adi())) return this.token("STRNUM", r[4].replace(N, "")), r[4].length; + if (s = r[1]) { + o = parseInt(u = r[2].replace(N, ""), s), a = !1; + if (s > 36 || s < 2) /[0-9]/.exec(u) ? this.carp("invalid number base " + s + " (with number " + u + "),base must be from 2 to 36") : a = !0; + if (isNaN(o) || o === parseInt(u.slice(0, -1), s)) return this.strnum(r[1]), this.token("DOT", ".~"), this.token("ID", r[2]), n.length; + o += "" + } else o = (r[3] || n).replace(N, ""), r[3] && o.charAt() === "0" && (f = o.charAt(1)) !== "" && f !== "." && this.carp("deprecated octal literal " + r[4]); + return !i.spaced && i[0] === "+-" ? (i[0] = "STRNUM", i[1] += o, n.length) : (this.strnum(o), n.length) + }, e.doString = function (e, t, n) { + var r, i; + return n === e.charAt(t + 1) ? n === e.charAt(t + 2) ? this.doHeredoc(e, t, n) : (this.strnum(n + n), 2) : n === '"' ? (r = this.interpolate(e, t, n), this.addInterpolated(r, u), 1 + r.size) : (i = (E.lastIndex = t, E).exec(e)[0] || this.carp("unterminated string"), this.strnum(u(this.string(n, i.slice(1, -1)))), this.countLines(i).length) + }, e.doHeredoc = function (e, t, n) { + var r, i, s, o, u, f, l, c, h; + if (n === "'") return~ (r = e.indexOf(n + n + n, t + 3)) || this.carp("unterminated heredoc"), i = e.slice(t + 3, r), s = i.replace(L, ""), this.strnum(a(this.string(n, X(z(s, U(s)))))), this.countLines(i).length + 6; + o = this.interpolate(e, t, n + n + n), u = U(e.slice(t + 3, t + o.size).replace(L, "")); + for (f = 0, l = o.length; f < l; ++f) c = f, h = o[f], h[0] === "S" && (c + 1 === o.length && (h[1] = h[1].replace(L, "")), h[1] = z(h[1], u), c === 0 && (h[1] = X(h[1]))); + return this.addInterpolated(o, a), 3 + o.size + }, e.doComment = function (e, t) { + var n, r, i; + n = ~ (r = e.indexOf("*/", t + 2)) ? e.slice(t, r + 2) : e.slice(t) + "*/"; + if ((i = this.last[0]) === "NEWLINE" || i === "INDENT" || i === "THEN") this.token("COMMENT", z(n, this.dent)), this.token("NEWLINE", "\n"); + return this.countLines(n).length + }, e.doJS = function (e, t) { + var n, r; + return S.lastIndex = t, n = S.exec(e)[0] || this.carp("unterminated JS literal"), this.token("LITERAL", (r = Object(z(n.slice(2, -2), this.dent)), r.js = !0, r), !0), this.countLines(n).length + }, e.doRegex = function (e, t) { + var n, r, i, s, o; + if (n = R(this.tokens) || this.last[0] === "CREMENT") + if (!this.last.spaced || (r = e.charAt(t + 1)) === " " || r === "=") return 0; + return r = (C.lastIndex = t, C).exec(e), i = r[0], s = r[1], o = r[2], i ? this.regex(s, o) : !n && this.last[0] !== "(" && this.carp("unterminated regex"), i.length + }, e.doHeregex = function (e, t) { + var n, r, i, s, o, u, a, c, h, p, d, v; + n = this.tokens, r = this.last, i = this.interpolate(e, t, "//"), s = e.slice(t + 2 + i.size), o = this.validate(/^(?:[gimy]{1,4}|[?$]?)/.exec(s)[0]); + if (i[1]) { + if (o === "$") this.adi(), this.token("(", '"'); + else { + n.push(["ID", "RegExp", r[2]], ["CALL(", "", r[2]]); + if (o === "?") + for (u = i.length - 1; u >= 0; --u) { + a = u, c = i[u]; + if (c[0] === "TOKENS") { + h = i.splice(a, 1)[0][1]; + break + } + } + } + for (u = 0, p = i.length; u < p; ++u) { + a = u, c = i[u]; + if (c[0] === "TOKENS") n.push.apply(n, c[1]); + else { + d = c[1].replace(k, ""); + if (v && !d) continue; + v = n.push((c[0] = "STRNUM", c[1] = this.string("'", f(d)), c)) + } + n.push(["+-", "+", n[n.length - 1][2]]) + }--n.length; + if (h || o >= "g") this.token(",", ","), h ? n.push.apply(n, h) : this.token("STRNUM", "'" + o + "'"); + this.token(o === "$" ? ")" : ")CALL", "") + } else this.regex(l(i[0][1].replace(k, "")), o); + return 2 + i.size + o.length + }, e.doBackslash = function (e, t) { + var n, r, i; + return x.lastIndex = t, n = x.exec(e), r = n[0], i = n[1], i ? this.strnum(this.string("'", i)) : this.countLines(r), r.length + }, e.doLine = function (e, t) { + var n, r, i, s, o, u, a, f, l; + n = (w.lastIndex = t, w).exec(e), r = n[0], i = n[1], s = this.countLines(r).length, o = this.last, o.eol = !0, o.spaced = !0; + if (t + s >= e.length) return s; + (u = i && (this.emender || (this.emender = RegExp("[^" + i.charAt() + "]"))).exec(i)) && this.carp("contaminated indent " + escape(u)); + if (0 > (a = i.length - this.dent)) this.dedent(-a), this.newline(); + else { + f = o[0], l = o[1]; + if (f === "ASSIGN" && (n = l + "") !== "=" && n !== ":=" && n !== "+=" || f === "+-" || f === "PIPE" || f === "BACKPIPE" || f === "DOT" || f === "LOGIC" || f === "MATH" || f === "COMPARE" || f === "RELATION" || f === "SHIFT" || f === "IN" || f === "OF" || f === "TO" || f === "BY" || f === "FROM" || f === "EXTENDS" || f === "IMPLEMENTS") return s; + a ? this.indent(a) : this.newline() + } + return this.fset("for", !1), this.fset("by", !1), s + }, e.doSpace = function (e, t) { + var n; + b.lastIndex = t; + if (n = b.exec(e)[0]) this.last.spaced = !0; + return n.length + }, e.doCase = function () { + var e, t; + this.seenFor = !1; + if ((e = this.last[0]) === "ASSIGN" || e === "->" || e === ":" || this.last[0] === "INDENT" && ((e = (t = this.tokens)[t.length - 2][0]) === "ASSIGN" || e === "->" || e === ":")) return this.token("SWITCH", "switch"), this.line++, this.token("CASE", "case") + }, e.doLiteral = function (e, t) { + var n, r, i, s, o, u; + if (!(n = (y.lastIndex = t, y).exec(e)[0])) return 0; + switch (r = i = n) { + case "|": + r = "CASE"; + if (this.doCase()) return n.length; + break; + case "|>": + r = "PIPE"; + break; + case "`": + r = "BACKTICK"; + break; + case "<<": + case ">>": + r = "COMPOSE"; + break; + case "<|": + r = "BACKPIPE"; + break; + case "+": + case "-": + r = "+-"; + break; + case "&&": + case "||": + r = "LOGIC"; + break; + case ".&.": + case ".|.": + case ".^.": + r = "BITWISE"; + break; + case "^^": + r = "CLONE"; + break; + case "**": + case "^": + r = "POWER"; + break; + case "?": + this.last[0] === "(" ? (this.token("PARAM(", "("), this.token(")PARAM", ")"), this.token("->", "->"), this.token("ID", "it")) : this.last.spaced && (r = "LOGIC"); + break; + case "/": + case "%": + case "%%": + r = "MATH"; + break; + case "++": + case "--": + r = "CREMENT"; + break; + case "<<<": + case "<<<<": + r = "IMPORT"; + break; + case ";": + r = "NEWLINE", this.fset("by", !1); + break; + case "..": + return this.token("LITERAL", "..", !0), 2; + case ".": + this.last[1] === "?" && (this.last[0] = "?"), r = "DOT"; + break; + case ",": + switch (this.last[0]) { + case ",": + case "[": + case "(": + case "CALL(": + this.token("LITERAL", "void"); + break; + case "FOR": + case "OWN": + this.token("ID", "") + } + break; + case "!=": + case "~=": + if (!R(this.tokens) && (s = this.last[0]) !== "(" && s !== "CREMENT") return this.tokens.push(i === "!=" ? ["UNARY", "!", this.line] : ["UNARY", "~", this.line], ["ASSIGN", "=", this.line]), 2; + case "!~=": + case "==": + i = function () { + switch (i) { + case "~=": + return "=="; + case "!~=": + return "!="; + case "==": + return "==="; + case "!=": + return "!==" + } + }(), r = "COMPARE"; + break; + case "===": + case "!==": + i += "="; + case "<": + case ">": + case "<=": + case ">=": + case "<==": + case ">==": + case ">>=": + case "<<=": + r = "COMPARE"; + break; + case ".<<.": + case ".>>.": + case ".>>>.": + case "?": + r = "SHIFT"; + break; + case "(": + if ((s = this.last[0]) !== "FUNCTION" && s !== "LET" && !this.able(!0) && this.last[1] !== ".@") return this.token("(", "("), this.closes.push(")"), this.parens.push(this.last), 1; + r = "CALL(", this.closes.push(")CALL"); + break; + case "[": + case "{": + this.adi(), this.closes.push("]}".charAt(i === "{")); + break; + case "}": + if (this.inter && i !== (s = this.closes)[s.length - 1]) return this.rest = e.slice(t + 1), 9e9; + case "]": + case ")": + r === ")" && ((s = this.last[0]) === "+-" || s === "COMPARE" || s === "LOGIC" || s === "MATH" || s === "POWER" || s === "SHIFT" || s === "BITWISE" || s === "CONCAT" || s === "COMPOSE" || s === "RELATION" || s === "PIPE" || s === "BACKPIPE" || s === "IMPORT" || s === "CLONEPORT" || s === "ASSIGN") && ((s = this.tokens)[s.length - 1][0] = function () { + switch (this.last[0]) { + case "RELATION": + return "BIOPR"; + case "PIPE": + return this.parameters(!1, -1), "BIOPP"; + default: + return "BIOP" + } + }.call(this)), ")" === (r = i = this.pair(i)) && (this.lpar = this.parens.pop()); + break; + case "=": + case ":": + if (i === ":") { + switch (this.last[0]) { + case "ID": + case "STRNUM": + case ")": + break; + case "...": + this.last[0] = "STRNUM"; + break; + default: + r = "LABEL", i = "" + } + return this.token(r, i), n.length + }; + case ":=": + case "+=": + case "-=": + case "*=": + case "/=": + case "%=": + case "%%=": + case "?=": + case "**=": + case "^=": + case ".&.=": + case ".|.=": + case ".^.=": + case ".<<.=": + case ".>>.=": + case ".>>>.=": + case "++=": + if (this.last[1] === "." || this.last[0] === "?" && this.adi()) return this.last[1] += i, i.length; + this.last[0] === "LOGIC" ? (i = Object(i)).logic = this.tokens.pop()[1] : (i === "+=" || i === "-=") && !R(this.tokens) && (s = this.last[0]) !== "+-" && s !== "UNARY" && s !== "LABEL" && (this.token("UNARY", i.charAt()), i = "="), r = "ASSIGN"; + break; + case "::=": + return this.token("DOT", "."), this.token("ID", "prototype"), this.token("IMPORT", "<<"), n.length; + case "*": + if (o = ((s = this.last[0]) === "NEWLINE" || s === "INDENT" || s === "THEN" || s === "=>") && (A.lastIndex = t + 1, A).exec(e)[0].length) return this.tokens.push(["LITERAL", "void", this.line], ["ASSIGN", "=", this.line]), this.indent(t + o - 1 - this.dent - e.lastIndexOf("\n", t - 1)), o; + r = R(this.tokens) || this.last[0] === "CREMENT" && R(this.tokens, this.tokens.length - 1) || this.last[0] === "(" ? "MATH" : "STRNUM"; + break; + case "@": + return this.adi(), this.last[0] === "DOT" && this.last[1] === "." && (s = this.tokens)[s.length - 2][0] === "ID" && (s = this.tokens)[s.length - 2][1] === "constructor" ? (this.tokens.pop(), this.tokens.pop(), this.token("LITERAL", "this", !0), this.adi(), this.token("ID", "constructor", !0)) : this.token("LITERAL", "this", !0), 1; + case "@@": + return this.adi(), this.token("ID", "constructor", !0), 2; + case "&": + return this.token("LITERAL", "arguments"), 1; + case "!": + switch (!1) { + default: if (!this.last.spaced) { + if (this.last[1] === "require") this.last[0] = "REQUIRE", this.last[1] = "require!"; + else if (R(this.tokens, null, !0)) this.token("CALL(", "!"), this.token(")CALL", ")"); + else if (this.last[1] === "typeof") this.last[1] = "classof"; + else { + if (this.last[1] !== "delete") break; + this.last[1] = "jsdelete" + } + return 1 + } + } + r = "UNARY"; + break; + case "&": + R(this.tokens) || (r = "LITERAL"); + break; + case "|": + r = "BITWISE"; + break; + case "~": + if (this.dotcat(i)) return 1; + r = "UNARY"; + break; + case "->": + case "~>": + case "-->": + case "~~>": + case "!->": + case "!~>": + case "!-->": + case "!~~>": + u = "->"; + case "<-": + case "<~": + case "<--": + case "<~~": + this.parameters(r = u || "<-"); + break; + case "::": + this.adi(), i = "prototype", r = "ID"; + break; + case "=>": + this.unline(), this.fset("for", !1), r = "THEN"; + break; + default: + switch (i.charAt(0)) { + case "(": + this.token("CALL(", "("), r = ")CALL", i = ")"; + break; + case "<": + return i.length < 4 && this.carp("unterminated words"), this.token("WORDS", i.slice(2, -2), this.adi()), i.length + } + } + return (r === "+-" || r === "COMPARE" || r === "LOGIC" || r === "MATH" || r === "POWER" || r === "SHIFT" || r === "BITWISE" || r === "CONCAT" || r === "COMPOSE" || r === "RELATION" || r === "PIPE" || r === "BACKPIPE" || r === "IMPORT") && this.last[0] === "(" && (r = r === "BACKPIPE" ? "BIOPBP" : "BIOP"), (r === "," || r === "CASE" || r === "PIPE" || r === "BACKPIPE" || r === "DOT" || r === "LOGIC" || r === "COMPARE" || r === "MATH" || r === "POWER" || r === "IMPORT" || r === "SHIFT" || r === "BITWISE") && this.unline(), this.token(r, i), n.length + }, e.token = function (e, t, n) { + return this.tokens.push(this.last = [e, t, this.line]), n && (this.last.callable = !0), t + }, e.indent = function (e) { + this.dent += e, this.dents.push(this.token("INDENT", e)), this.closes.push("DEDENT") + }, e.dedent = function (e) { + var t; + this.dent -= e; + while (e > 0 && (t = this.dents.pop())) e < t && !this.inter && this.carp("unmatched dedent (" + e + " for " + t + ")"), this.pair("DEDENT"), e -= typeof t == "number" ? this.token("DEDENT", t) : t + }, e.newline = function () { + var e; + this.last[1] === "\n" || this.tokens.push(this.last = (e = ["NEWLINE", "\n", this.line], e.spaced = !0, e)) + }, e.unline = function () { + var e; + if (!this.tokens[1]) return; + switch (this.last[0]) { + case "INDENT": + (e = this.dents)[e.length - 1] += ""; + case "NEWLINE": + this.tokens.length-- + } + }, e.parameters = function (e, t) { + var n, r, i, s, o; + if (this.last[0] === ")" && ")" === this.last[1]) { + this.lpar[0] = "PARAM(", this.last[0] = ")PARAM"; + return + } + if (e === "->") this.token("PARAM(", ""); + else { + for (n = (r = this.tokens).length - 1; n >= 0; --n) { + i = n, s = r[n]; + if ((o = s[0]) === "NEWLINE" || o === "INDENT" || o === "THEN" || o === "=>" || o === "(") break + } + this.tokens.splice(i + 1, 0, ["PARAM(", "", s[2]]) + } + t ? this.tokens.splice(this.tokens.length + t, 0, [")PARAM", "", s[2]]) : this.token(")PARAM", "") + }, e.interpolate = function (t, n, r) { + var o, u, a, f, l, h, p, d, v, m, y, b, w, E, S; + o = [], u = r.charAt(0), a = 0, f = -1, t = t.slice(n + r.length); + while (l = t.charAt(++f)) { + switch (l) { + case u: + if (r !== t.slice(f, f + r.length)) continue; + return o.push(["S", this.countLines(t.slice(0, f)), this.line]), o.size = a + f + r.length, o; + case "#": + h = t.charAt(f + 1), p = s(h, ["@"]) && h || (g.lastIndex = f + 1, g).exec(t)[1]; + if (!p && h !== "{") continue; + break; + case "\\": + ++f; + default: + continue + } + if (f || w && !d) d = o.push(["S", this.countLines(t.slice(0, f)), this.line]); + if (p) { + v = p.length, p === "@" && (p = "this"); + if (s(p, ["this"])) m = "LITERAL"; + else { + p = c(p); + try { + Function("'use strict'; var " + p) + } catch (x) { + y = x, this.carp('invalid variable interpolation "' + p + '"') + } + m = "ID" + } + t = t.slice(b = f + 1 + v), o.push(["TOKENS", w = [ + [m, p, this.line] + ]]) + } else { + E = (S = i(e), S.inter = !0, S.emender = this.emender, S), w = E.tokenize(t.slice(f + 2), { + line: this.line, + raw: !0 + }), b = t.length - E.rest.length, t = E.rest, this.line = E.line; + while (((S = w[0]) != null ? S[0] : void 8) === "NEWLINE") w.shift(); + w.length && (w.unshift(["(", "(", w[0][2]]), w.push([")", ")", this.line]), o.push(["TOKENS", w])) + } + a += b, f = -1 + } + this.carp("missing `" + r + "`") + }, e.addInterpolated = function (e, t) { + var n, r, i, s, o, u, a, f, l, c, h; + if (!e[1]) return this.strnum(t(this.string('"', e[0][1]))); + n = this.tokens, r = this.last, i = !r.spaced && r[1] === "%" ? (--n.length, this.last = r = n[n.length - 1], ["[", "]", [",", ","]]) : ["(", ")", ["+-", "+"]], s = i[0], o = i[1], u = i[2], a = this.adi(), n.push([s, '"', r[2]]); + for (f = 0, l = e.length; f < l; ++f) { + c = f, h = e[f]; + if (h[0] === "TOKENS") n.push.apply(n, h[1]); + else { + if (c > 1 && !h[1]) continue; + n.push(["STRNUM", t(this.string('"', h[1])), h[2]]) + } + n.push(u.concat(n[n.length - 1][2])) + }--n.length, this.token(o, "", a) + }, e.strnum = function (e) { + this.token("STRNUM", e, this.adi() || this.last[0] === "DOT") + }, e.regex = function (e, t) { + var n; + try { + RegExp(e) + } catch (r) { + n = r, this.carp(n.message) + } + return t === "$" ? this.strnum(this.string("'", f(e))) : this.token("LITERAL", "/" + (e || "(?:)") + "/" + this.validate(t)) + }, e.adi = function () { + if (this.last.spaced) return; + if (!R(this.tokens)) return; + return this.token("DOT", ".") + }, e.dotcat = function (e) { + if (this.last[1] === "." || this.adi()) return this.last[1] += e + }, e.pair = function (e) { + var t, n; + return e === (t = (n = this.closes)[n.length - 1]) || ")CALL" === t && e === ")" ? (this.unline(), this.closes.pop()) : ("DEDENT" !== t && this.carp("unmatched `" + e + "`"), this.dedent((n = this.dents)[n.length - 1]), this.pair(e)) + }, e.able = function (e) { + return !this.last.spaced && R(this.tokens, null, e) + }, e.countLines = function (e) { + var t; + while (t = 1 + e.indexOf("\n", t))++this.line; + return e + }, e.forange = function () { + var e, t, n; + return ((e = (t = this.tokens)[t.length - 2 - ((n = this.last[0]) === "NEWLINE" || n === "INDENT")]) != null ? e[0] : void 8) === "FOR" || this.last[0] === "FOR" ? (this.fset("for", !1), this.fset("from", !0), !0) : !1 + }, e.validate = function (e) { + var t; + return (t = e && /(.).*\1/.exec(e)) && this.carp("duplicate regex flag `" + t[1] + "`"), e + }, e.fget = function (e) { + var t; + return (t = this.flags[this.closes.length]) != null ? t[e] : void 8 + }, e.fset = function (e, t) { + var n, r; + ((n = this.flags)[r = this.closes.length] || (n[r] = {}))[e] = t + }, e.carp = function (e) { + q(e, this.line) + }, e.string = function (e, n) { + return t(e, n, this.line) + }, t = function (e) { + return function (t, n, r) { + return n = n.replace(e, function (e, n, i, s) { + return e === t || e === "\\" ? "\\" + e : n ? "\\x" + (256 + parseInt(n, 8)).toString(16).slice(1) : (i && q("malformed character escape sequence", r), !s || t === s ? e : s) + }), t + n + t + } + }.call(this, /['"]|\\(?:([0-3]?[0-7]{2}|[1-7]|0(?=[89]))|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|([xu])|[\\0bfnrtv]|[^\n\S]|([\w\W]))?/g), r = /\n(?!$)[^\n\S]*/mg, u = W(/\n[^\n\S]*/g, ""), a = W(/\n/g, "\\n"), f = W(/\\/g, "\\\\"), l = W(/(\\.)|\//g, function () { + return arguments[1] || "\\/" + }), c = W(/-[a-z]/ig, function (e) { + return e.charAt(1).toUpperCase() + }), h = typeof JSON == "undefined" || JSON === null ? $ : function (e) { + switch (e) { + case 8232: + case 8233: + return $(e); + default: + return JSON.stringify(String.fromCharCode(e)) + } + }, p = ["true", "false", "null", "this", "void", "super", "return", "throw", "break", "continue", "if", "else", "for", "while", "switch", "case", "default", "try", "catch", "finally", "function", "class", "extends", "implements", "new", "do", "delete", "typeof", "in", "instanceof", "let", "with", "var", "const", "import", "export", "debugger"], d = ["enum", "interface", "package", "private", "protected", "public", "static", "yield"], v = p.concat(d), m = ["xor", "match", "where"], g = /((?!\s)[a-z_$\xAA-\uFFDC](?:(?!\s)[\w$\xAA-\uFFDC]|-[a-z])*)([^\n\S]*:(?![:=]))?|/ig, y = /[-\/^]=|[%+:*]{1,2}=|\.(?:[&\|\^]|<<|>>>?)\.=?|\.{1,3}|\^\^|!?-->|!?~~>|<--|<~~|([-+&|:])\1|%%|&|\([^\n\S]*\)|!?[-~]>|<[-~]|[!=]==?|!?\~=|@@?|<\[(?:[\s\S]*?\]>)?|<<<]==|<<=|>>=|<<|>>|[<>]\??=?|\|>|\||=>|\*\*|\^|`|[^\s#]?/g, b = /[^\n\S]*(?:#.*)?/g, w = /(?:\s*#.*)*(?:\n([^\n\S]*))*/g, E = /'[^\\']*(?:\\[\s\S][^\\']*)*'|/g, S = /``[^\\`]*(?:\\[\s\S][^\\`]*)*``|/g, x = /\\(?:(\S[^\s,;)}\]]*)|\s*)/g, T = /0x[\dA-Fa-f][\dA-Fa-f_]*|(\d*)~([\dA-Za-z]\w*)|((\d[\d_]*)(\.\d[\d_]*)?(?:e[+-]?\d[\d_]*)?)[$\w]*|/g, N = /_+/g, C = /\/([^[\/\n\\]*(?:(?:\\.|\[[^\]\n\\]*(?:\\.[^\]\n\\]*)*\])[^[\/\n\\]*)*)\/([gimy]{1,4}|\$?)|/g, k = /\s+(?:#.*)?/g, L = /\n[^\n\S]*$/, A = /[^\n\S]*[^#\s]?/g, O = /[\x80-\uFFFF]/, M = ["(", "[", "{", "CALL(", "PARAM(", "INDENT"], _ = [")", "]", "}", ")CALL", ")PARAM", "DEDENT"], D = o(function () { + var e, t, n, r = {}; + for (e = 0, n = (t = M).length; e < n; ++e) P = e, H = t[e], r[H] = _[P]; + return r + }(), function () { + var e, t, n, r = {}; + for (e = 0, n = (t = _).length; e < n; ++e) P = e, B = t[e], r[B] = M[P]; + return r + }()), j = ["(", "{", "[", "ID", "STRNUM", "LITERAL", "LET", "WITH", "WORDS"], F = j.concat(["...", "UNARY", "CREMENT", "PARAM(", "FUNCTION", "IF", "SWITCH", "TRY", "CLASS", "RANGE", "LABEL", "DECL", "DO", "BIOPBP"]), I = [",", ":", "->", "ELSE", "ASSIGN", "IMPORT", "UNARY", "DEFAULT", "TRY", "FINALLY", "HURL", "DECL", "DO", "LET", "FUNCTION"] + }.call(this, e["./lexer"] = {}), + function (e) { + function ft(e, t) { + this.parent = e, this.shared = t, this.variables = {} + } + + function lt() { + return !0 + } + + function ct() { + return !1 + } + + function ht() { + return this + } + + function pt() {} + + function dt(e) { + return ft.root.assign(e + "$", Y[e]) + } + + function vt(e, t) { + return e.replace(/\n/g, "\n" + t) + } + + function mt(e, t, n) { + var r, i, s; + for (r = 0, i = n.length; r < i; ++r) s = n[r], t = e(t, s); + return t + } + var t, l, c, h, p, d, v, m, g, y, b, w, E, S, x, T, N, C, k, L, A, O, M, _, D, P, H, B, j, F, I, q, R, U, z, W, X, V, $, J, K, Q, G, Y, Z, et, tt, nt, rt, it, st, ot, ut, at; + (t = function () { + throw Error("unimplemented") + }).prototype = { + compile: function (e, t) { + var n, r, i, s, u, a, f; + n = o({}, e), t != null && (n.level = t), r = this.unfoldSoak(n) || this; + if (n.level && r.isStatement()) return r.compileClosure(n); + i = (r.tab = n.indent, r).compileNode(n); + if (s = r.temps) + for (u = 0, a = s.length; u < a; ++u) f = s[u], n.scope.free(f); + return i + }, + compileClosure: function (e) { + var t, n, r, i, s; + return (t = this.getJump()) && t.carp("inconvertible statement"), n = O([], c(this)), r = b(), this.traverseChildren(function (e) { + switch (e.value) { + case "this": + s = !0; + break; + case "arguments": + i = e.value = "args$" + } + }), s && (r.args.push(p("this")), r.method = ".call"), i && (r.args.push(p("arguments")), n.params.push(d("args$"))), D(y((n.wrapper = !0, n["void"] = this["void"], n), [r]), !0).compile(e) + }, + compileBlock: function (e, t) { + var n; + return (n = t != null ? t.compile(e, Z) : void 8) ? "{\n" + n + "\n" + this.tab + "}" : "{}" + }, + cache: function (e, t, n) { + var r, i, s; + return this.isComplex() ? (i = C(s = d(e.scope.temporary()), this), n != null ? (i = i.compile(e, n), t && e.scope.free(s.value), [i, s.value]) : t ? [i, (s.temp = !0, s)] : [i, s, [s.value]]) : [r = n != null ? this.compile(e, n) : this, r] + }, + compileLoopReference: function (e, t, n) { + var r, i, s; + return this instanceof d && e.scope.check(this.value) || this instanceof T && ((r = this.op) === "+" || r === "-") && -1 / 0 < (r = +this.it.value) && r < 1 / 0 || this instanceof p && !this.isComplex() ? [r = this.compile(e), r] : (i = C(d(s = e.scope.temporary(t)), this), n || (i["void"] = !0), [s, i.compile(e, n ? it : et)]) + }, + eachChild: function (e) { + var t, n, r, i, s, o, u, a, f, l; + for (t = 0, r = (n = this.children).length; t < r; ++t) { + i = n[t]; + if (s = this[i]) + if ("length" in s) + for (o = 0, u = s.length; o < u; ++o) { + a = o, f = s[o]; + if (l = e(f, i, a)) return l + } else if ((l = e(s, i)) != null) return l + } + }, + traverseChildren: function (e, t) { + var n = this; + return this.eachChild(function (r, i, s) { + var o; + return (o = e(r, n, i, s)) != null ? o : r.traverseChildren(e, t) + }) + }, + anaphorize: function () { + function r(e) { + var t; + return e.value === "that" || ((t = e.aSource) ? (t = e[t]) ? r(t) : void 8 : e.eachChild(r)) + } + var e, t, n; + return this.children = this.aTargets, this.eachChild(r) && ((e = this)[t = this.aSource] instanceof A && (e = e[t], t = "it"), e[t].value !== "that" && (e[t] = C(d("that"), e[t]))), delete this.children, n = this[this.aSource], n.cond = !0, n + }, + carp: function (e, t) { + throw t == null && (t = SyntaxError), t(e + " on line " + (this.line || this.traverseChildren(function (e) { + return e.line + }))) + }, + delegate: function (e, t) { + function s(e) { + this[e] = function (n) { + return t.call(this, e, n) + } + } + var n, r, i; + for (n = 0, r = e.length; n < r; ++n) i = e[n], s.call(this, i) + }, + children: [], + terminator: ";", + isComplex: lt, + isStatement: ct, + isAssignable: ct, + isCallable: ct, + isEmpty: ct, + isArray: ct, + isString: ct, + isRegex: ct, + isMatcher: function () { + return this.isString() || this.isRegex() + }, + assigns: ct, + ripName: pt, + unfoldSoak: pt, + unfoldAssign: pt, + unparen: ht, + unwrap: ht, + maybeKey: ht, + expandSlice: ht, + varName: String, + getAccessors: pt, + getCall: pt, + getDefault: pt, + getJump: pt, + invert: function () { + return T("!", this, !0) + }, + invertCheck: function (e) { + return e.inverted ? this.invert() : this + }, + addElse: function (e) { + return this["else"] = e, this + }, + makeReturn: function (e) { + return e ? b.make(V(e + ".push"), [this]) : j(this) + }, + makeObjReturn: function (e) { + var t, n; + return e ? (t = this.lines[0], this.lines[0] instanceof z && (t = t.then.lines[0]), n = t.items, (n[0] == null || n[1] == null) && this.carp("must specify both key and value for object comprehension"), C(y(d(e)).add(m(n[0], ".", !0)), n[1])) : j(this) + }, + show: String, + toString: function (e) { + var t, n; + e || (e = ""), t = "\n" + e + this.constructor.displayName; + if (n = this.show()) t += " " + n; + return this.eachChild(function (n) { + t += n.toString(e + ot) + }), t + }, + stringify: function (e) { + return JSON.stringify(this, null, e) + }, + toJSON: function () { + return o({ + type: this.constructor.displayName + }, this) + } + }, e.parse = function (t) { + return e.fromJSON(JSON.parse(t)) + }, e.fromJSON = function () { + function t(n) { + var r, s, o, u, a, f, l, c = []; + if (!n || typeof n != "object") return n; + if (r = n.type) { + s = i(e[r].prototype); + for (o in n) u = n[o], s[o] = t(u); + return s + } + if (n.length != null) { + for (a = 0, f = n.length; a < f; ++a) l = n[a], c.push(t(l)); + return c + } + return n + } + return t + }(), l = { + show: function () { + return this.negated && "!" + }, + invert: function () { + return this.negated = !this.negated, this + } + }, e.Block = c = function (e) { + function s(e) { + var t = this instanceof a ? this : new a; + return e || (e = []), "length" in e ? t.lines = e : (t.lines = [], t.add(e)), t + } + + function a() {} + var t = u((o(s, e).displayName = "Block", s), e).prototype, + i = s; + return a.prototype = t, t.children = ["lines"], t.toJSON = function () { + return delete this.back, e.prototype.toJSON.call(this) + }, t.add = function (e) { + var t, n; + e = e.unparen(); + switch (!1) { + case !(t = this.back): + t.add(e); + break; + case !(t = e.lines): + (n = this.lines).push.apply(n, t); + break; + default: + this.lines.push(e); + if (t = (n = e.back, delete e.back, n)) this.back = t + } + return this + }, t.prepend = function () { + var e; + return (e = this.lines).splice.apply(e, [this.neck(), 0].concat(n.call(arguments))), this + }, t.pipe = function (e, t) { + var n; + n = t === "|>" ? this.lines.pop() : e, r.call(n).slice(8, -1) !== "Array" && (n = [n]); + switch (t) { + case "|>": + this.lines.push(b.make(e, n, { + pipe: !0 + })); + break; + case "<|": + this.lines.push(b.make(this.lines.pop(), n)) + } + return this + }, t.unwrap = function () { + return this.lines.length === 1 ? this.lines[0] : this + }, t.chomp = function () { + var e, t, n; + e = this.lines, t = e.length; + while (n = e[--t]) + if (!n.comment) break; + return e.length = t + 1, this + }, t.neck = function () { + var e, t, n, r, i; + e = 0; + for (t = 0, r = (n = this.lines).length; t < r; ++t) { + i = n[t]; + if (!(i.comment || i instanceof p)) break; + ++e + } + return e + }, t.isComplex = function () { + var e; + return this.lines.length > 1 || ((e = this.lines[0]) != null ? e.isComplex() : void 8) + }, t.delegate(["isCallable", "isArray", "isString", "isRegex"], function (e) { + var t, n; + return (t = (n = this.lines)[n.length - 1]) != null ? t[e]() : void 8 + }), t.getJump = function (e) { + var t, n, r, i, s; + for (t = 0, r = (n = this.lines).length; t < r; ++t) { + i = n[t]; + if (s = i.getJump(e)) return s + } + }, t.makeReturn = function (e) { + var t, n, r, i; + return this.chomp(), (t = (i = n = this.lines)[r = i.length - 1] != null ? n[r] = n[r].makeReturn(e) : void 8) && t instanceof j && !t.it && --this.lines.length, this + }, t.compile = function (e, t) { + var n, r, i, s, o, u, a, f; + t == null && (t = e.level); + if (t) return this.compileExpressions(e, t); + e.block = this, n = e.indent, i = []; + for (s = 0, u = (o = this.lines).length; s < u; ++s) { + a = o[s], a = a.unfoldSoak(e) || a; + if (!(f = (a.front = !0, a).compile(e, t))) continue; + a.isStatement() || (f += a.terminator), i.push(n + f) + } + return r = i, r.join("\n") + }, t.compileRoot = function (e) { + var t, n, r, i, s, u; + t = o({ + level: Z, + scope: this.scope = ft.root = new ft + }, e); + if (n = (r = t.saveScope, delete t.saveScope, r)) t.scope = n.savedScope || (n.savedScope = t.scope); + return delete t.filename, t.indent = (i = (r = t.bare, delete t.bare, r)) ? "" : ot, /^\s*(?:[/#]|javascript:)/.test((r = this.lines[0]) != null ? r.code : void 8) && (s = this.lines.shift().code + "\n"), (r = t.eval, delete t.eval, r) && this.chomp().lines.length && (i ? this.lines.push(D(this.lines.pop())) : this.makeReturn()), u = this.compileWithDeclarations(t), i || (u = "(function(){\n" + u + "\n}).call(this);\n"), [s] + u + }, t.compileWithDeclarations = function (e) { + var t, n, r, i, s; + e.level = Z, t = ""; + if (n = this.neck()) r = this.lines.splice(n, 9e9), t = this.compile(e), this.lines = r; + return (i = this.compile(e)) ? (t && t + "\n") + ((s = this.scope) ? s.emit(i, e.indent) : i) : t + }, t.compileExpressions = function (e, t) { + var n, r, i, s, o, u, a, f; + n = this.chomp().lines, r = -1; + while (i = n[++r]) i.comment && n.splice(r--, 1); + n.length || n.push(p("void")), n[0].front = this.front, n[n.length - 1]["void"] = this["void"]; + if (!n[1]) return n[0].compile(e, t); + s = "", o = n.pop(); + for (u = 0, a = n.length; u < a; ++u) f = n[u], s += (f["void"] = !0, f).compile(e, et) + ", "; + return s += o.compile(e, et), t < tt ? s : "(" + s + ")" + }, s + }(t), h = function (e) { + function r() { + r.superclass.apply(this, arguments) + } + var t = u((o(r, e).displayName = "Atom", r), e).prototype, + n = r; + return t.show = function () { + return this.value + }, t.isComplex = ct, r + }(t), e.Literal = p = function (e) { + function r(e) { + var t = this instanceof i ? this : new i; + return t.value = e, e.js ? V(e + "", !0) : e === "super" ? new _ : t + } + + function i() {} + var t = u((o(r, e).displayName = "Literal", r), e).prototype, + n = r; + return i.prototype = t, t.isEmpty = function () { + var e; + return (e = this.value) === "void" || e === "null" + }, t.isCallable = function () { + var e; + return (e = this.value) === "this" || e === "eval" || e === ".." + }, t.isString = function () { + return 0 <= "'\"".indexOf((this.value + "").charAt()) + }, t.isRegex = function () { + return (this.value + "").charAt() === "/" + }, t.isComplex = function () { + return this.isRegex() || this.value === "debugger" + }, t.isWhat = function () { + switch (!1) { + case !this.isEmpty(): + return "empty"; + case !this.isCallable(): + return "callable"; + case !this.isString(): + return "string"; + case !this.isRegex(): + return "regex"; + case !this.isComplex(): + return "complex" + } + }, t.varName = function () { + return /^\w+$/.test(this.value) ? "$" + this.value : "" + }, t.compile = function (e, t) { + var n, r; + t == null && (t = e.level); + switch (n = this.value + "") { + case "this": + return ((r = e.scope.fun) != null ? r.bound : void 8) || n; + case "void": + if (!t) return ""; + n += " 8"; + case "null": + t === it && this.carp("invalid use of " + this.value); + break; + case "on": + case "yes": + n = "true"; + break; + case "off": + case "no": + n = "false"; + break; + case "*": + this.carp("stray star"); + break; + case "..": + (n = e.ref) || this.carp("stray reference"), this.cascadee || (n.erred = !0); + break; + case "debugger": + if (t) return "(function(){\n" + ot + e.indent + "debugger;\n" + e.indent + "}())" + } + return n + }, r + }(h), e.Var = d = function (e) { + function r(e) { + var t = this instanceof i ? this : new i; + return t.value = e, t + } + + function i() {} + var t = u((o(r, e).displayName = "Var", r), e).prototype, + n = r; + return i.prototype = t, t.isAssignable = t.isCallable = lt, t.assigns = function (e) { + return e === this.value + }, t.maybeKey = function () { + var e; + return e = v(this.value), e.line = this.line, e + }, t.varName = t.show, t.compile = function (e) { + return this.temp ? e.scope.free(this.value) : this.value + }, r + }(h), e.Key = v = function (e) { + function r(e, t) { + var n = this instanceof i ? this : new i; + return n.reserved = t || e.reserved, n.name = "" + e, n + } + + function i() {} + var t = u((o(r, e).displayName = "Key", r), e).prototype, + n = r; + return i.prototype = t, t.isComplex = ct, t.assigns = function (e) { + return e === this.name + }, t.varName = function () { + var e; + return e = this.name, this.reserved || e === "arguments" || e === "eval" ? "$" + e : e + }, t.compile = t.show = function () { + return this.reserved ? "'" + this.name + "'" : this.name + }, r + }(t), e.Index = m = function (e) { + function r(e, t, n) { + var r, s = this instanceof i ? this : new i; + t || (t = "."); + if (n && e instanceof x) switch (e.items.length) { + case 1: + (r = e.items[0]) instanceof P || (e = D(r)) + } + switch (t) { + case "[]": + s.vivify = x; + break; + case "{}": + s.vivify = E; + break; + default: + "=" === t.slice(-1) && (s.assign = t.slice(1)) + } + return s.key = e, s.symbol = t, s + } + + function i() {} + var t = u((o(r, e).displayName = "Index", r), e).prototype, + n = r; + return i.prototype = t, t.children = ["key"], t.show = function () { + return [this.soak ? "?" : void 8] + this.symbol + }, t.isComplex = function () { + return this.key.isComplex() + }, t.varName = function () { + var e; + return ((e = this.key) instanceof v || e instanceof p) && this.key.varName() + }, t.compile = function (e) { + var t; + return t = this.key.compile(e, et), this.key instanceof v && "'" !== t.charAt(0) ? "." + t : "[" + t + "]" + }, r + }(t), e.Slice = g = function (e) { + function r(e) { + var t = this instanceof i ? this : new i; + return t.type = e.type, t.target = e.target, t.from = e.from, t.to = e.to, t.from == null && (t.from = p(0)), t.to && t.type === "to" && (t.to = N("+", t.to, p("1"))), t + } + + function i() {} + var t = u((o(r, e).displayName = "Slice", r), e).prototype, + n = r; + return i.prototype = t, t.children = ["target", "from", "to"], t.show = function () { + return this.type + }, t.compileNode = function (e) { + var t; + return this.to && this.type === "to" && (this.to = N("||", this.to, p("9e9"))), t = [this.target, this.from], this.to && t.push(this.to), y(d(dt("slice"))).add(m(v("call"), ".", !0)).add(b(t)).compile(e) + }, r + }(t), e.Chain = y = function (e) { + function i(e, t) { + var n = this instanceof a ? this : new a; + return !t && e instanceof i ? e : (n.head = e, n.tails = t || [], n) + } + + function a() {} + var t = u((o(i, e).displayName = "Chain", i), e).prototype, + r = i; + return a.prototype = t, t.children = ["head", "tails"], t.add = function (e) { + var t, n, r, o, u, a, f, l; + if (this.tails.length) { + t = (n = this.tails)[n.length - 1]; + if (t instanceof b && ((n = t.partialized) != null ? n.length : void 8) === 1 && e.args.length === 1) return r = t.partialized[0].head.value, delete t.partialized, t.args[r] = e.args[0], this + } + this.head instanceof A && (n = i(this.head.it), this.head = n.head, this.tails = n.tails, e.soak = !0), this.tails.push(e), o = this.head instanceof D && this.head.it instanceof N && !this.head.it.partial ? this.head.it : this.head instanceof N && !this.head.partial ? this.head : void 8; + if (this.head instanceof _)!this.head.called && e instanceof b && !e.method ? (e.method = ".call", e.args.unshift(p("this")), this.head.called = !0) : !this.tails[1] && ((n = e.key) != null ? n.name : void 8) === "prototype" && (this.head.sproto = !0); + else if (u = (n = e.vivify, delete e.vivify, n)) this.head = C(i(this.head, this.tails.splice(0, 9e9)), u(), "=", "||"); + else if (e instanceof b && this.tails.length === 1 && o && s(o.op, a = ["&&", "||", "xor"])) return f = e, l = function (e, t) { + var n; + return n = e[t], n instanceof N && s(n.op, a) ? (l(n, "first"), l(n, "second")) : e[t] = i(n).autoCompare(f.args) + }, l(o, "first"), l(o, "second"), o; + return this + }, t.autoCompare = function (e) { + var t; + t = this.head; + switch (!1) { + case !(t instanceof p): + return N("===", t, e[0]); + case !(t instanceof T && t.it instanceof p): + return N("===", t, e[0]); + case !(t instanceof x || t instanceof E): + return N("====", t, e[0]); + case !(t instanceof d && t.value === "_"): + return p("true"); + default: + return this.add(b(e)) || [] + } + }, t.flipIt = function () { + return this.flip = !0, this + }, t.unwrap = function () { + return this.tails.length ? this : this.head + }, t.delegate(["getJump", "assigns", "isStatement", "isString"], function (e, t) { + return !this.tails.length && this.head[e](t) + }), t.isComplex = function () { + return this.tails.length || this.head.isComplex() + }, t.isCallable = function () { + var e, t; + return (e = (t = this.tails)[t.length - 1]) ? (t = e.key) == null || !t.items : this.head.isCallable() + }, t.isArray = function () { + var e, t; + return (e = (t = this.tails)[t.length - 1]) ? e.key instanceof x : this.head.isArray() + }, t.isRegex = function () { + return this.head.value === "RegExp" && !this.tails[1] && this.tails[0] instanceof b + }, t.isAssignable = function () { + var e, t, n, r; + if (!(e = (t = this.tails)[t.length - 1])) return this.head.isAssignable(); + if (!(e instanceof m) || e.key instanceof w || e.symbol === ".~") return !1; + for (n = 0, r = (t = this.tails).length; n < r; ++n) { + e = t[n]; + if (e.assign) return !1 + } + return !0 + }, t.isSimpleAccess = function () { + return this.tails.length === 1 && !this.head.isComplex() && !this.tails[0].isComplex() + }, t.makeReturn = function (t) { + return this.tails.length ? e.prototype.makeReturn.apply(this, arguments) : this.head.makeReturn(t) + }, t.getCall = function () { + var e, t; + return (e = (t = this.tails)[t.length - 1]) instanceof b && e + }, t.varName = function () { + var e, t; + return (e = (t = this.tails)[t.length - 1]) != null ? e.varName() : void 8 + }, t.cacheReference = function (e) { + var t, n, r, s, o, u; + return t = (n = this.tails)[n.length - 1], t instanceof b ? this.cache(e, !0) : this.tails.length < 2 && !this.head.isComplex() && (t == null || !t.isComplex()) ? [this, this] : (r = i(this.head, this.tails.slice(0, -1)), r.isComplex() && (s = e.scope.temporary(), r = i(C(d(s), r)), o = (n = d(s), n.temp = !0, n)), t ? (t.isComplex() && (s = e.scope.temporary("key"), t = m(C(d(s), t.key)), u = m((n = d(s), n.temp = !0, n))), [r.add(t), i(o || r.head, [u || t])]) : [r, o]) + }, t.compileNode = function (e) { + var t, r, s, o, u, a, f, l, c, h, g, y, w, E, S, T, N, C; + this.flip && (dt("flip"), dt("curry")), t = this.head, r = this.tails, t.front = this.front, t.newed = this.newed; + if (!r.length) return t.compile(e); + if (s = this.unfoldAssign(e)) return s.compile(e); + for (o = 0, u = r.length; o < u; ++o) { + a = r[o]; + if (a.partialized) { + f = !0; + break + } + } + if (f) { + dt("slice"), l = [], c = []; + for (o = 0, u = r.length; o < u; ++o) a = r[o], h = h || a.partialized != null, h ? c.push(a) : l.push(a); + return c != null && (g = c[0], y = n.call(c, 1)), this.tails = l, w = l.length ? i(t, n.call(l, 0, -1)) : p("this"), i(i(d(dt("partialize"))).add(m(v("apply"))).add(b([w, x([this, x(g.args), x(g.partialized)])])), y).compile(e) + } + r[0] instanceof b && !t.isCallable() && this.carp("invalid callee"), this.expandSlice(e), this.expandBind(e), this.expandSplat(e), this.expandStar(e); + if (this.splattedNewArgs) return E = e.indent + ot, S = i(this.head, r.slice(0, -1)), "(function(func, args, ctor) {\n" + E + "ctor.prototype = func.prototype;\n" + E + "var child = new ctor, result = func.apply(child, args), t;\n" + E + 'return (t = typeof result) == "object" || t == "function" ? result || child : child;\n' + ot + "})(" + S.compile(e) + ", " + this.splattedNewArgs + ", function(){})"; + if (!this.tails.length) return this.head.compile(e); + T = this.head.compile(e, it), N = c = ""; + for (o = 0, u = (C = this.tails).length; o < u; ++o) a = C[o], a["new"] && (N += "new "), c += a.compile(e); + return "." === c.charAt(0) && at.test(T) && (T += " "), N + T + c + }, t.unfoldSoak = function (e) { + var t, n, r, s, o, u, a, f, l; + if (t = this.head.unfoldSoak(e)) return (n = t.then.tails).push.apply(n, this.tails), t; + for (r = 0, s = (n = this.tails).length; r < s; ++r) { + o = r, u = n[r]; + if (a = u.soak, delete u.soak, a) return f = i(this.head, this.tails.splice(0, o)), u.assign && !f.isAssignable() && u.carp("invalid accessign"), l = u instanceof b ? (a = f.cacheReference(e), l = a[0], this.head = a[1], V("typeof " + l.compile(e, rt) + " === 'function'")) : (o && u.assign ? (a = f.cacheReference(e), l = a[0], f = a[1], this.head = f.head, (a = this.tails).unshift.apply(a, f.tails)) : (a = f.unwrap().cache(e, !0), l = a[0], this.head = a[1]), A(l)), a = z(l, this), a.soak = !0, a.cond = this.cond, a["void"] = this["void"], a + } + }, t.unfoldAssign = function (e) { + var t, n, r, s, o, u, a, f, l, c, h, p, d, v; + if (t = this.head.unfoldAssign(e)) return (n = t.right.tails).push.apply(n, this.tails), t; + for (r = 0, s = (n = this.tails).length; r < s; ++r) { + o = r, u = n[r]; + if (a = u.assign) { + u.assign = "", f = i(this.head, this.tails.splice(0, o)).expandSlice(e).unwrap(); + if (f instanceof x) { + l = f.items, c = (this.head = x()).items; + for (h = 0, p = l.length; h < p; ++h) o = h, d = l[h], v = i(d).cacheReference(e), c[o] = v[0], l[o] = v[1] + } else v = i(f).cacheReference(e), f = v[0], this.head = v[1]; + return a === "=" && (a = ":="), v = C(f, this, a), v.access = !0, v + } + } + }, t.expandSplat = function (e) { + var t, n, r, s, o, u; + t = this.tails, n = -1; + while (r = t[++n]) { + if (!(s = r.args)) continue; + o = r.method === ".call" && (s = s.concat()).shift(); + if (!(s = P.compileArray(e, s, !0))) continue; + r["new"] ? this.splattedNewArgs = s : (!o && t[n - 1] instanceof m && (u = i(this.head, t.splice(0, n - 1)).cache(e, !0), this.head = u[0], o = u[1], n = 0), r.method = ".apply", r.args = [o || p("null"), V(s)]) + } + }, t.expandBind = function (e) { + var t, n, r, s, o, u; + t = this.tails, n = -1; + while (r = t[++n]) { + if (r.symbol !== ".~") continue; + r.symbol = "", s = i(this.head, t.splice(0, n)).unwrap(), o = t.shift().key, u = b.make(J("bind"), [s, (o.reserved = !0, o)]), this.head = this.newed ? D(u, !0) : u, n = -1 + } + }, t.expandStar = function (e) { + function d(e) { + e.value === "*" ? s.push(e) : e instanceof m || e.eachChild(d) + } + var t, n, r, s, o, u, a, f, l, c, h, p; + t = this.tails, n = -1; + while (r = t[++n]) { + if (r.args || r.stars || r.key instanceof v) continue; + s = r.stars = [], r.eachChild(d); + if (!s.length) continue; + o = i(this.head, t.splice(0, n)).unwrap().cache(e), u = o[0], a = o[1], f = o[2], l = i(a, [m(v("length"))]).compile(e); + for (c = 0, h = s.length; c < h; ++c) p = s[c], p.value = l, p.isAssignable = lt; + this.head = V(u.compile(e, it) + t.shift().compile(e)), f && e.scope.free(f[0]), n = -1 + } + }, t.expandSlice = function (e, t) { + var n, r, s, o, u; + n = this.tails, r = -1; + while (s = n[++r])(o = s.key) != null && o.items && (n[r + 1] instanceof b && s.carp("calling a slice"), u = n.splice(0, r + 1), u = u.pop().key.toSlice(e, i(this.head, u).unwrap(), s.symbol, t), this.head = (u.front = this.front, u), r = -1); + return this + }, i + }(t), e.Call = b = function (e) { + function r(e) { + var t, n, r, s, o, u, a = this instanceof i ? this : new i; + e || (e = []); + if (e.length === 1 && (t = e[0]) instanceof P) t.filler ? (a.method = ".call", e[0] = p("this"), e[1] = P(p("arguments"))) : t.it instanceof x && (e = t.it.items); + else + for (n = 0, r = e.length; n < r; ++n) s = n, o = e[n], o.value === "_" && (e[s] = y(p("void")), e[s].placeholder = !0, ((u = a.partialized) != null ? u : a.partialized = []).push(y(p(s)))); + return a.args = e, a + } + + function i() {} + var t = u((o(r, e).displayName = "Call", r), e).prototype, + n = r; + return i.prototype = t, t.children = ["args"], t.show = function () { + return [this["new"]] + [this.method] + [this.soak ? "?" : void 8] + }, t.compile = function (e) { + var t, n, r, i, s, o; + t = (this.method || "") + "(" + (this.pipe ? "\n" + e.indent : ""); + for (n = 0, i = (r = this.args).length; n < i; ++n) s = n, o = r[n], t += (s ? ", " : "") + o.compile(e, tt); + return t + ")" + }, r.make = function (e, t, n) { + var i; + return i = r(t), n && o(i, n), y(e).add(i) + }, r.block = function (e, t, n) { + var i, s; + return i = D(y(e, [(s = r(t), s.method = n, s)]), !0), i.calling = !0, i + }, r.back = function (e, t, n, i) { + var s, o, u, a, f, l, c; + s = O(e, void 8, n, i); + if (s.hushed = t.op === "!") t = t.it; + t instanceof W && (s.name = t.label, s.labeled = !0, t = t.it), !s.hushed && (s.hushed = t.op === "!") && (t = t.it), (o = t.getCall()) != null && (o.partialized = null), u = (t.getCall() || (t = y(t).add(r())).getCall()).args, a = 0; + for (f = 0, l = u.length; f < l; ++f) { + c = u[f]; + if (c.placeholder) break; + ++a + } + return t.back = (u[a] = s).body, t + }, r.letFunc = function (e, t) { + var n, r, i, s, o, u, a, f; + r = []; + for (i = 0, s = e.length; i < s; ++i) { + o = i, u = e[i]; + if (a = u.op === "=" && !u.logic && u.right) { + e[o] = a; + if (o === 0 && (f = u.left.value === "this")) continue; + r.push(u.left) + } else r.push(d(u.varName() || u.carp('invalid "let" argument'))) + } + return n = r, f || e.unshift(p("this")), this.block(O(n, t), e, ".call") + }, r + }(t), w = function (e) { + function r() { + r.superclass.apply(this, arguments) + } + var t = u((o(r, e).displayName = "List", r), e).prototype, + n = r; + return t.children = ["items"], t.show = function () { + return this.name + }, t.named = function (e) { + return this.name = e, this + }, t.isEmpty = function () { + return !this.items.length + }, t.assigns = function (e) { + var t, n, r, i; + for (t = 0, r = (n = this.items).length; t < r; ++t) { + i = n[t]; + if (i.assigns(e)) return !0 + } + }, r.compile = function (e, t, n) { + var r, i, s, o, u, a; + switch (t.length) { + case 0: + return ""; + case 1: + return t[0].compile(e, tt) + } + r = e.indent, i = e.level, e.indent = r + ot, e.level = tt, s = t[o = 0].compile(e); + while (u = t[++o]) { + s += ", ", a = u; + if (n) + if (a instanceof d && a.value === "_") a = E([S(v("__placeholder__"), p(!0))]); + else if (a instanceof E || a instanceof x) a.deepEq = !0; + s += a.compile(e) + } + return~ s.indexOf("\n") && (s = "\n" + e.indent + s + "\n" + r), e.indent = r, e.level = i, s + }, r + }(t), e.Obj = E = function (e) { + function r(e) { + var t = this instanceof i ? this : new i; + return t.items = e || [], t + } + + function i() {} + var t = u((o(r, e).displayName = "Obj", r), e).prototype, + n = r; + return i.prototype = t, t.asObj = ht, t.toSlice = function (e, t, n, r) { + var i, s, o, u, a, f, l, c, h, p, v, g, b; + i = this.items, i.length > 1 ? (s = t.cache(e), t = s[0], o = s[1], u = s[2]) : o = t; + for (a = 0, f = i.length; a < f; ++a) { + l = a, c = i[a]; + if (c.comment) continue; + if (c instanceof S || c instanceof P) c[h = (s = c.children)[s.length - 1]] = p = y(t, [m(c[h].maybeKey())]); + else { + if (v = c.getDefault()) c = c.first; + c instanceof D ? (s = c.cache(e, !0), g = s[0], c = s[1], r && (s = [c, g], g = s[0], c = s[1]), g = D(g)) : g = c, b = p = y(t, [m(c.maybeKey(), n)]), v && (b = (v.first = b, v)), i[l] = S(g, b) + } + t = o + } + return p || this.carp("empty slice"), u && ((p.head = d(u[0])).temp = !0), this + }, t.compileNode = function (e) { + var t, n, i, s, o, u, a, f, l, c, h, m, g, y; + t = this.items; + if (!t.length) return this.front ? "({})" : "{}"; + n = "", i = "\n" + (e.indent += ot), s = {}; + for (o = 0, u = t.length; o < u; ++o) { + a = o, f = t[o]; + if (f.comment) { + n += i + f.compile(e); + continue + } + if (l = f.getDefault()) f = f.first; + if (f instanceof P || (f.key || f) instanceof D) { + c = t.slice(a); + break + } + l && (f instanceof S ? f.val = (l.first = f.val, l) : f = S(f, (l.first = f, l))); + if (this.deepEq && f instanceof S) + if (f.val instanceof d && f.val.value === "_") f.val = r([S(v("__placeholder__"), p(!0))]); + else if ((h = f.val) instanceof r || h instanceof x) f.val.deepEq = !0; + m ? n += "," : m = !0, n += i + (f instanceof S ? (g = f.key, y = f.val, f.accessor ? f.compileAccessor(e, g = g.compile(e)) : (y.ripName(g), (g = g.compile(e)) + ": " + y.compile(e, tt))) : (g = f.compile(e)) + ": " + g), ut.test(g) || (g = Function("return " + g)()), (s[g + "."] ^= 1) || f.carp('duplicate property "' + g + '"') + } + return n = "{" + (n && n + "\n" + this.tab) + "}", c && (n = k(V(n), r(c)).compile((e.indent = this.tab, e))), this.front && "{" === n.charAt() ? "(" + n + ")" : n + }, r + }(w), e.Prop = S = function (e) { + function r(e, t) { + var n, r, s, o, u = this instanceof i ? this : new i; + u.key = e, u.val = t; + if (e.value === "...") return P(u.val); + if (n = t.getAccessors()) { + u.val = n; + for (r = 0, s = n.length; r < s; ++r) o = n[r], o.x = (o.hushed = o.params.length) ? "s" : "g"; + u.accessor = "accessor" + } + return u + } + + function i() {} + var t = u((o(r, e).displayName = "Prop", r), e).prototype, + n = r; + return i.prototype = t, t.children = ["key", "val"], t.show = function () { + return this.accessor + }, t.assigns = function (e) { + var t; + return typeof (t = this.val).assigns == "function" ? t.assigns(e) : void 8 + }, t.compileAccessor = function (e, t) { + var n, r; + return n = this.val, n[1] && n[0].params.length + n[1].params.length !== 1 && n[0].carp("invalid accessor parameter"), + function () { + var i, s, o, u = []; + for (i = 0, o = (s = n).length; i < o; ++i) r = s[i], r.accessor = !0, u.push(r.x + "et " + t + r.compile(e, tt).slice(8)); + return u + }().join(",\n" + e.indent) + }, t.compileDescriptor = function (e) { + var t, n, i, s, o; + t = E(); + for (n = 0, s = (i = this.val).length; n < s; ++n) o = i[n], t.items.push(r(v(o.x + "et"), o)); + return t.items.push(r(v("configurable"), p(!0))), t.items.push(r(v("enumerable"), p(!0))), t.compile(e) + }, r + }(t), e.Arr = x = function (e) { + function r(e) { + var t = this instanceof i ? this : new i; + return t.items = e || [], t + } + + function i() {} + var t = u((o(r, e).displayName = "Arr", r), e).prototype, + n = r; + return i.prototype = t, t.isArray = lt, t.asObj = function () { + var e, t; + return E(function () { + var n, r, i, s = []; + for (n = 0, i = (r = this.items).length; n < i; ++n) e = n, t = r[n], s.push(S(p(e), t)); + return s + }.call(this)) + }, t.toSlice = function (e, t, n) { + var r, i, s, o, u, a, f, l, c; + r = this.items, r.length > 1 ? (i = t.cache(e), t = i[0], s = i[1]) : s = t; + for (o = 0, u = r.length; o < u; ++o) { + a = o, f = r[o]; + if (l = f instanceof P) f = f.it; + if (f.isEmpty()) continue; + c = y(t, [m(f, n)]), r[a] = l ? P(c) : c, t = s + } + return c || this.carp("empty slice"), this + }, t.compile = function (e) { + var t, n; + return t = this.items, t.length ? (n = P.compileArray(e, t)) ? this.newed ? "(" + n + ")" : n : "[" + w.compile(e, t, this.deepEq) + "]" : "[]" + }, r.maybe = function (e) { + return e.length !== 1 || e[0] instanceof P ? n(e) : e[0] + }, r.wrap = function (e) { + return n([P((e.isArray = lt, e))]) + }, r + }(w), e.Unary = T = function (e) { + function r(e, t, n) { + var r, s, o, u, a, f = this instanceof i ? this : new i; + if (t != null) { + if (r = !n && t.unaries) return r.push(e), t; + switch (e) { + case "!": + if (n) break; + if (t instanceof O && !t.hushed) return t.hushed = !0, t; + return t.invert(); + case "++": + case "--": + n && (f.post = !0); + break; + case "new": + t instanceof A && !t.negated && (t = y(t).add(b())), t.newed = !0; + for (s = 0, u = (o = t.tails || "").length; s < u; ++s) { + a = o[s]; + if (a instanceof b && !a["new"]) return a.method === ".call" && a.args.shift(), a["new"] = "new", a.method = "", t + } + break; + case "~": + if (t instanceof O && t.statement && !t.bound) return t.bound = "this$", t + } + } + return f.op = e, f.it = t, f + } + + function i() {} + + function s(e) { + return { + "++": "in", + "--": "de" + }[e] + "crement" + } + var t = u((o(r, e).displayName = "Unary", r), e).prototype, + n = r; + return i.prototype = t, t.children = ["it"], t.show = function () { + return [this.post ? "@" : void 8] + this.op + }, t.isCallable = function () { + var e; + return (e = this.op) === "do" || e === "new" || e === "delete" || this.it == null + }, t.isArray = function () { + return this.it instanceof x && this.it.items.length || this.it instanceof y && this.it.isArray() + }, t.isString = function () { + var e; + return (e = this.op) === "typeof" || e === "classof" + }, t.invert = function () { + var e; + return this.op !== "!" || (e = this.it.op) !== "!" && e !== "<" && e !== ">" && e !== "<=" && e !== ">=" && e !== "of" && e !== "instanceof" ? n("!", this, !0) : this.it + }, t.unfoldSoak = function (e) { + var t; + return ((t = this.op) === "++" || t === "--" || t === "delete") && this.it != null && z.unfoldSoak(e, this, "it") + }, t.getAccessors = function () { + var e; + if (this.op !== "~") return; + if (this.it instanceof O) return [this.it]; + if (this.it instanceof x) { + e = this.it.items; + if (!e[2] && e[0] instanceof O && e[1] instanceof O) return e + } + }, t.compileNode = function (e) { + var t, n, i, o, u; + if (this.it == null) return this.compileAsFunc(e); + if (t = this.compileSpread(e)) return t; + n = this.op, i = this.it; + switch (n) { + case "!": + i.cond = !0; + break; + case "new": + i.isCallable() || i.carp("invalid constructor"); + break; + case "do": + if (e.level === Z && i instanceof O && i.isStatement()) return i.compile(e) + " " + r("do", d(i.name)).compile(e); + return o = D(i instanceof A && !i.negated ? y(i).add(b()) : b.make(i)), (o.front = this.front, o.newed = this.newed, o).compile(e); + case "delete": + (i instanceof d || !i.isAssignable()) && this.carp("invalid delete"); + if (e.level && !this["void"]) return this.compilePluck(e); + break; + case "++": + case "--": + i.isAssignable() || this.carp("invalid " + s(n)), (t = i instanceof d && e.scope.checkReadOnly(i.value)) && this.carp(s(n) + " of " + t + ' "' + i.value + '"', ReferenceError), this.post && (i.front = this.front); + break; + case "^^": + return dt("clone") + "(" + i.compile(e, tt) + ")"; + case "jsdelete": + return "delete " + i.compile(e, tt); + case "classof": + return dt("toString") + ".call(" + i.compile(e, tt) + ").slice(8, -1)" + } + u = i.compile(e, rt + st.unary); + if (this.post) u += n; + else { + if (n === "new" || n === "typeof" || n === "delete" || (n === "+" || n === "-") && n === u.charAt()) n += " "; + u = n + u + } + return e.level < it ? u : "(" + u + ")" + }, t.compileSpread = function (e) { + var t, r, i, s, o, u, a, f, l, h, p, d; + t = this.it, r = [this]; + for (; t instanceof n; t = t.it) r.push(t); + if (!((t = t.expandSlice(e).unwrap()) instanceof x && (i = t.items).length)) return ""; + for (s = 0, o = i.length; s < o; ++s) { + u = s, a = i[s]; + if (f = a instanceof P) a = a.it; + for (l = r.length - 1; l >= 0; --l) h = r[l], a = n(h.op, a, h.post); + i[u] = f ? p = P(a) : a + } + return !p && (this["void"] || !e.level) && (t = (d = c(i), d.front = this.front, d["void"] = !0, d)), t.compile(e, et) + }, t.compilePluck = function (e) { + var t, n, r, i, s; + return t = y(this.it).cacheReference(e), n = t[0], r = t[1], i = (s = e.scope.temporary()) + " = " + n.compile(e, tt) + ", delete " + r.compile(e, tt) + ", " + e.scope.free(s), e.level < tt ? i : "(" + i + ")" + }, t.compileAsFunc = function (e) { + return this.op === "!" ? dt("not") : "(" + O([], c(r(this.op, y(d("it"))))).compile(e) + ")" + }, r + }(t), e.Binary = N = function (e) { + function f(e, t, n, i) { + var s, o, u, a = this instanceof l ? this : new l; + i && (s = e.logic, r.call(i).slice(8, -1) === "String" && (s = i), e = function () { + switch (!1) { + case !(o = s): + return o; + case e !== "=": + return "?"; + default: + return "=" + } + }()), a.partial = t == null || n == null; + if (!a.partial) { + if ("=" === e.charAt(e.length - 1) && (u = e.charAt(e.length - 2)) !== "=" && u !== "<" && u !== ">" && u !== "!") return C(t.unwrap(), n, e); + switch (e) { + case "in": + return new L(t, n); + case "with": + return new k(T("^^", t), n, !1); + case "<<<": + case "<<<<": + return k(t, n, e === "<<<<"); + case "<|": + return c(t).pipe(n, e); + case "|>": + return c(n).pipe(t, "<|"); + case ".": + return y(t).add(m(n)) + } + } + return a.op = e, a.first = t, a.second = n, a + } + + function l() {} + var t, n, i = u((o(f, e).displayName = "Binary", f), e).prototype, + s = f; + return l.prototype = i, i.children = ["first", "second"], i.show = function () { + return this.op + }, i.isCallable = function () { + var e; + return this.partial || ((e = this.op) === "&&" || e === "||" || e === "?" || e === "<<" || e === ">>") && this.first.isCallable() && this.second.isCallable() + }, i.isArray = function () { + switch (this.op) { + case "*": + return this.first.isArray(); + case "/": + return this.second.isMatcher() + } + }, i.isString = function () { + switch (this.op) { + case "+": + case "*": + return this.first.isString() || this.second.isString(); + case "-": + return this.second.isMatcher() + } + }, t = /^(?:[!=]=|[<>])=?$/, n = { + "===": "!==", + "!==": "===", + "==": "!=", + "!=": "==" + }, i.invert = function () { + var e; + return (e = !t.test(this.second.op) && n[this.op]) ? (this.op = e, this.wasInverted = !0, this) : T("!", D(this), !0) + }, i.invertIt = function () { + return this.inverted = !0, this + }, i.getDefault = function () { + switch (this.op) { + case "?": + case "||": + case "&&": + return this + } + }, i.xorChildren = function (e) { + var t, n, r; + return !(t = r = e(this.first)) == !(n = e(this.second)) || !t && !n ? !1 : r ? [this.first, this.second] : [this.second, this.first] + }, i.compileNode = function (e) { + var n, r, i, s, o, u, a; + if (this.partial) return this.compilePartial(e); + switch (this.op) { + case "?": + return this.compileExistence(e); + case "*": + if (this.second.isString()) return this.compileJoin(e); + if (this.first.isString() || this.first.isArray()) return this.compileRepeat(e); + break; + case "-": + if (this.second.isMatcher()) return this.compileRemove(e); + break; + case "/": + if (this.second.isMatcher()) return this.compileSplit(e); + break; + case "**": + case "^": + return this.compilePow(e); + case "?": + return this.compileMinMax(e); + case "<<": + case ">>": + return this.compileCompose(e); + case "++": + return this.compileConcat(e); + case "%%": + return this.compileMod(e); + case "xor": + return this.compileXor(e); + case "&&": + case "||": + if (n = this["void"] || !e.level) this.second["void"] = !0; + if (n || this.cond) this.first.cond = !0, this.second.cond = !0; + break; + case "instanceof": + r = this.second.expandSlice(e).unwrap(), i = r.items; + if (r instanceof x) { + if (i[1]) return this.compileAnyInstanceOf(e, i); + this.second = i[0] || r + } + this.second.isCallable() || this.second.carp("invalid instanceof operand"); + break; + case "====": + case "!===": + this.op = this.op.slice(0, 3); + case "<==": + case ">==": + case "<<=": + case ">>=": + return this.compileDeepEq(e); + default: + if (t.test(this.op)) { + if (s = ((o = this.op) === "===" || o === "!==") && this.xorChildren(function (e) { + return e.isRegex() + })) return this.compileRegexEquals(e, s); + this.op === "===" && this.first instanceof p && this.second instanceof p && this.first.isWhat() !== this.second.isWhat() && typeof console != "undefined" && console !== null && console.warn("WARNING: strict comparison of two different types will always be false: " + this.first.value + " == " + this.second.value) + } + if (t.test(this.op) && t.test(this.second.op)) return this.compileChain(e) + } + return this.first.front = this.front, u = this.first.compile(e, a = rt + st[this.op]) + " " + this.mapOp(this.op) + " " + this.second.compile(e, a), e.level <= a ? u : "(" + u + ")" + }, i.mapOp = function (e) { + var t; + switch (!1) { + case !(t = e.match(/\.([&\|\^]|<<|>>>?)\./)): + return t[1]; + case e !== "of": + return "in"; + default: + return e + } + }, i.compileChain = function (e) { + var t, n, r, i; + return t = this.first.compile(e, n = rt + st[this.op]), r = this.second.first.cache(e, !0), i = r[0], this.second.first = r[1], t += " " + this.op + " " + i.compile(e, n) + " && " + this.second.compile(e, rt), e.level <= rt ? t : "(" + t + ")" + }, i.compileExistence = function (e) { + var t; + return this["void"] || !e.level ? (t = f("&&", A(this.first, !0), this.second), (t["void"] = !0, t).compileNode(e)) : (t = this.first.cache(e, !0), z(A(t[0]), t[1]).addElse(this.second).compileExpression(e)) + }, i.compileAnyInstanceOf = function (e, t) { + var n, r, i, s, o, u, a; + n = this.first.cache(e), r = n[0], i = n[1], this.temps = n[2], s = f("instanceof", r, t.shift()); + for (o = 0, u = t.length; o < u; ++o) a = t[o], s = f("||", s, f("instanceof", i, a)); + return D(s).compile(e) + }, i.compileMinMax = function (e) { + var t, n, r; + return t = this.first.cache(e, !0), n = this.second.cache(e, !0), r = f(this.op.charAt(), t[0], n[0]), z(r, t[1]).addElse(n[1]).compileExpression(e) + }, i.compileMethod = function (e, t, n, r) { + var i; + return i = [this.second].concat(r || []), this.first["is" + t]() ? y(this.first, [m(v(n)), b(i)]).compile(e) : (i.unshift(this.first), b.make(V(dt(n) + ".call"), i).compile(e)) + }, i.compileJoin = function (e) { + return this.compileMethod(e, "Array", "join") + }, i.compileRemove = function (e) { + return this.compileMethod(e, "String", "replace", V("''")) + }, i.compileSplit = function (e) { + return this.compileMethod(e, "String", "split") + }, i.compileRepeat = function (e) { + var t, n, r, i, s, o, u, f, l, h, d, v; + t = this.first, n = this.second, r = (t = t.expandSlice(e).unwrap()).items, i = t.isArray() && "Array"; + if (s = r && P.compileArray(e, r)) t = V(s), r = null; + if (i && !r || !(n instanceof p && n.value < 32)) return b.make(J("repeat" + (i || "String")), [t, n]).compile(e); + n = +n.value; + if (1 <= n && n < 2) return t.compile(e); + if (r) { + if (n < 1) return c(r).add(V("[]")).compile(e); + o = []; + for (u = 0, f = r.length; u < f; ++u) l = u, h = r[u], d = h.cache(e, 1), r[l] = d[0], o[o.length] = d[1]; + return r.push((d = V(), d.compile = function () { + return a(", " + w.compile(e, o), n - 1).slice(2) + }, d)), t.compile(e) + } + return t instanceof p ? (v = (t = t.compile(e)).charAt()) + a(t.slice(1, -1) + "", n) + v : n < 1 ? c(t.it).add(V("''")).compile(e) : (t = (o = t.cache(e, 1, rt))[0] + a(" + " + o[1], n - 1), e.level < rt + st["+"] ? t : "(" + t + ")") + }, i.compilePow = function (e) { + return b.make(V("Math.pow"), [this.first, this.second]).compile(e) + }, i.compileConcat = function (e) { + var t; + return t = function (e) { + switch (!1) { + case !(e instanceof f && e.op === "++"): + return t(e.first).concat(t(e.second)); + default: + return [e] + } + }, y(this.first).add(m(v("concat"), ".", !0)).add(b(t(this.second))).compile(e) + }, i.compileCompose = function (e) { + var t, n, r, i, s, o, u, a; + t = this.op, n = [this.first], r = this.second; + while (r instanceof f && r.op === t) n.push(r.first), r = r.second; + n.push(r), t === "<<" && n.reverse(), i = n.shift(), s = y(i).add(m(v("apply"))).add(b([p("this"), p("arguments")])); + for (o = 0, u = n.length; o < u; ++o) a = n[o], s = y(a).add(b([s])); + return O([], c([s])).compile(e) + }, i.compileMod = function (e) { + var t, n; + return t = e.scope.temporary(), n = "((" + this.first.compile(e) + ") % (" + t + " = " + this.second.compile(e) + ") + " + t + ") % " + t, e.scope.free(t), n + }, i.compilePartial = function (e) { + var t, n, r; + t = d("it"); + switch (!1) { + case this.first != null || this.second != null: + return n = d("x$"), r = d("y$"), O([n, r], c(f(this.op, n, r).invertCheck(this)), !1, !0).compile(e); + case this.first == null: + return "(" + O([t], c(f(this.op, this.first, t).invertCheck(this))).compile(e) + ")"; + default: + return "(" + O([t], c(f(this.op, t, this.second).invertCheck(this))).compile(e) + ")" + } + }, i.compileRegexEquals = function (e, t) { + var n, r, i; + return n = t[0], r = t[1], this.op === "===" ? (i = this.wasInverted ? "test" : "exec", y(n).add(m(v(i))).add(b([r])).compile(e)) : T("!", y(n).add(m(v("test"))).add(b([r]))).compile(e) + }, i.compileDeepEq = function (e) { + var t, n, r, i, s, o; + if ((t = this.op) === ">==" || t === ">>=") t = [this.second, this.first], this.first = t[0], this.second = t[1], this.op = this.op === ">==" ? "<==" : "<<="; + this.op === "!==" && (this.op = "===", n = !0); + for (r = 0, i = (t = [this.first, this.second]).length; r < i; ++r) { + s = t[r]; + if (s instanceof E || s instanceof x) s.deepEq = !0 + } + return o = y(d(dt("deepEq"))).add(b([this.first, this.second, p("'" + this.op + "'")])), (n ? T("!", o) : o).compile(e) + }, i.compileXor = function (e) { + var t, n; + return t = y(this.first).cacheReference(e), n = y(this.second).cacheReference(e), f("&&", f("!==", T("!", t[0]), T("!", n[0])), D(f("||", t[1], n[1]))).compile(e) + }, f + }(t), e.Assign = C = function (e) { + function f(e, n, r, i, s) { + var o = this instanceof l ? this : new l; + return o.left = e, o.op = r || "=", o.logic = i || o.op.logic, o.defParam = s, o.op += "", o[n instanceof t ? "right" : "unaries"] = n, o + } + + function l() {} + var r = u((o(f, e).displayName = "Assign", f), e).prototype, + a = f; + return l.prototype = r, r.children = ["left", "right"], r.show = function () { + return [void 8].concat(this.unaries).reverse().join(" ") + [this.logic] + this.op + }, r.assigns = function (e) { + return this.left.assigns(e) + }, r.delegate(["isCallable", "isRegex"], function (e) { + var t; + return ((t = this.op) === "=" || t === ":=") && this.right[e]() + }), r.isArray = function () { + switch (this.op) { + case "=": + case ":=": + return this.right.isArray(); + case "/=": + return this.right.isMatcher() + } + }, r.isString = function () { + switch (this.op) { + case "=": + case ":=": + case "+=": + case "*=": + return this.right.isString(); + case "-=": + return this.right.isMatcher() + } + }, r.unfoldSoak = function (e) { + var t, n, r, i, s; + return this.left instanceof A ? ((t = (r = (n = this.left = this.left.it).name, delete n.name, r)) ? (i = this.right, i = f(this.right = d(t), i)) : (n = this.right.cache(e), i = n[0], this.right = n[1], s = n[2]), n = z(A(i), this), n.temps = s, n.cond = this.cond, n["void"] = this["void"], n) : z.unfoldSoak(e, this, "left") + }, r.unfoldAssign = function () { + return this.access && this + }, r.compileNode = function (e) { + var t, r, i, s, o, u, a, f, l, c, h, p, v, m, b, w; + if (this.left instanceof g && this.op === "=") return this.compileSplice(e); + t = this.left.expandSlice(e, !0).unwrap(); + if (!this.right) { + t.isAssignable() || t.carp("invalid unary assign"), r = y(t).cacheReference(e), t = r[0], this.right = r[1]; + for (i = 0, s = (r = this.unaries).length; i < s; ++i) o = r[i], this.right = T(o, this.right) + } + if (t.isEmpty()) return (r = D(this.right), r.front = this.front, r.newed = this.newed, r).compile(e); + t.getDefault() && (this.right = N(t.op, this.right, t.second), t = t.first); + if (t.items) return this.compileDestructuring(e, t); + t.isAssignable() || t.carp("invalid assign"); + if (this.logic) return this.compileConditional(e, t); + o = this.op, u = this.right; + if (o === "?=") return this.compileMinMax(e, t, u); + if (o === "**=" || o === "^=" || o === "%%=" || o === "++=" || o === "*=" && u.isString() || (o === "-=" || o === "/=") && u.isMatcher()) r = y(t).cacheReference(e), t = r[0], a = r[1], u = N(o.slice(0, -1), a, u), o = ":="; + if (o === ".&.=" || o === ".|.=" || o === ".^.=" || o === ".<<.=" || o === ".>>.=" || o === ".>>>.=") o = o.slice(1, -2) + "="; + (u = u.unparen()).ripName(t = t.unwrap()), f = o.replace(":", ""), l = (t.front = !0, t).compile(e, tt); + if (c = t instanceof d) o === "=" ? e.scope.declare(l, t, this["const"] || !this.defParam && e["const"] && "$" !== l.slice(-1)) : (h = e.scope.checkReadOnly(l)) && t.carp("assignment to " + h + ' "' + l + '"', ReferenceError); + return t instanceof y && u instanceof O && (p = l.split(".prototype."), v = l.split("."), p.length > 1 ? u.inClass = p[0] : v.length > 1 && (u.inClassStatic = n.call(v, 0, -1).join(""))), m = !e.level && u instanceof F && !u["else"] && (c || t instanceof y && t.isSimpleAccess()) ? (b = u.objComp ? "{}" : "[]", (w = e.scope.temporary("res")) + " = " + b + ";\n" + this.tab + u.makeReturn(w).compile(e) + "\n" + this.tab + l + " " + f + " " + e.scope.free(w)) : l + " " + f + " " + u.compile(e, tt), e.level > tt && (m = "(" + m + ")"), m + }, r.compileConditional = function (e, t) { + var n, r; + return t instanceof d && s(this.logic, ["?"]) && this.op === "=" && e.scope.declare(t.value, t), n = y(t).cacheReference(e), e.level += rt < e.level, r = N(this.logic, n[0], (this.logic = !1, this.left = n[1], this)), (r["void"] = this["void"], r).compileNode(e) + }, r.compileMinMax = function (e, t, n) { + var r, i, s, o, u; + return r = y(t).cacheReference(e), i = n.cache(e, !0), s = N(this.op.replace("?", ""), r[0], i[0]), o = f(r[1], i[1], ":="), this["void"] || !e.level ? D(N("||", s, o)).compile(e) : (u = s.first.cache(e, !0), s.first = u[0], t = u[1], z(s, t).addElse(o).compileExpression(e)) + }, r.compileDestructuring = function (e, t) { + var n, r, i, s, o, u, a, f, l; + return n = t.items, r = n.length, i = e.level && !this["void"], s = this.right.compile(e, r === 1 ? it : tt), (o = t.name) ? (u = o + " = " + s, e.scope.declare(s = o, t)) : (i || r > 1) && (!ut.test(s) || t.assigns(s)) && (u = (a = e.scope.temporary()) + " = " + s, s = a), f = this["rend" + t.constructor.displayName](e, n, s), a && e.scope.free(a), u && f.unshift(u), (i || !f.length) && f.push(s), l = f.join(", "), f.length < 2 || e.level < tt ? l : "(" + l + ")" + }, r.compileSplice = function (e) { + var t, n, r, i, s, o; + return t = y(this.left.from).cacheReference(e), n = t[0], r = t[1], t = y(this.right).cacheReference(e), i = t[0], s = t[1], o = N("-", this.left.to, r), c([y(d(dt("splice"))).add(m(v("apply"), ".", !0)).add(b([this.left.target, y(x([n, o])).add(m(v("concat"), ".", !0)).add(b([i]))])), s]).compile(e, tt) + }, r.rendArr = function (e, t, n) { + var r, s, o, u, a, l, c, h, v, g, b, w, E = []; + for (r = 0, s = t.length; r < s; ++r) { + o = r, u = t[r]; + if (u.isEmpty()) continue; + if (u instanceof P) { + l && u.carp("multiple splat in an assignment"), a = (u = u.it).isEmpty(); + if (o + 1 === (l = t.length)) { + if (a) break; + c = x.wrap(V(dt("slice") + ".call(" + n + (o ? ", " + o + ")" : ")"))) + } else { + c = h = n + ".length - " + (l - o - 1); + if (a && o + 2 === l) continue; + v = o + 1, this.temps = [h = e.scope.temporary("i")], c = a ? (u = d(h), d(c)) : x.wrap(V(o + " < (" + h + " = " + c + ") ? " + dt("slice") + ".call(" + n + ", " + o + ", " + h + ") : (" + h + " = " + o + ", [])")) + } + } else(g = h) && v < o && (g += " + " + (o - v)), c = y(b || (b = p(n)), [m(V(g || o))]); + u instanceof f && (u = N(u.op, u.left, u.right, u.logic || !0)), E.push((w = i(this), w.left = u, w.right = c, w["void"] = !0, w).compile(e, et)) + } + return E + }, r.rendObj = function (e, t, n) { + var r, s, o, u, a, f, l, c, h, p = []; + for (r = 0, s = t.length; r < s; ++r) { + o = t[r]; + if (u = o instanceof P) o = o.it; + if (a = o.getDefault()) o = o.first; + o instanceof D ? (f = y(o.it).cacheReference(e), o = f[0], l = f[1]) : o instanceof S ? o = (l = o.key, o).val : l = o, o instanceof v && (o = d(o.name)), a && (o = (a.first = o, a)), c = y(h || (h = d(n)), [m(l.maybeKey())]), u && (c = k(E(), c)), p.push((f = i(this), f.left = o, f.right = c, f["void"] = !0, f).compile(e, et)) + } + return p + }, f + }(t), e.Import = k = function (e) { + function r(e, t, n) { + var r = this instanceof i ? this : new i; + return r.left = e, r.right = t, r.all = n && "All", !n && e instanceof E && t.items ? E(e.items.concat(t.asObj().items)) : r + } + + function i() {} + var t = u((o(r, e).displayName = "Import", r), e).prototype, + n = r; + return i.prototype = t, t.children = ["left", "right"], t.show = function () { + return this.all + }, t.delegate(["isCallable", "isArray"], function (e) { + return this.left[e]() + }), t.unfoldSoak = function (e) { + var t, n, r, i; + return t = this.left, t instanceof A && !t.negated ? ((t = t.it) instanceof d ? (n = (this.left = t).value, e.scope.check(n, !0) || (t = V("typeof " + n + " != 'undefined' && " + n))) : (r = t.cache(e), t = r[0], this.left = r[1], i = r[2]), r = z(t, this), r.temps = i, r.soak = !0, r.cond = this.cond, r["void"] = this["void"], r) : z.unfoldSoak(e, this, "left") || (this["void"] || !e.level) && z.unfoldSoak(e, this, "right") + }, t.compileNode = function (e) { + var t; + t = this.right; + if (!this.all) { + t instanceof y && (t = t.unfoldSoak(e) || t.unfoldAssign(e) || t.expandSlice(e).unwrap()); + if (t instanceof w) return this.compileAssign(e, t.asObj().items) + } + return b.make(J("import" + (this.all || "")), [this.left, t]).compileNode(e) + }, t.compileAssign = function (e, t) { + var n, i, s, o, u, a, f, l, c, h, p, d, g, b, w, E; + if (!t.length) return this.left.compile(e); + n = !e.level, t.length < 2 && (n || this["void"] || t[0] instanceof P) ? (i = this.left, i.isComplex() && (i = D(i))) : (s = this.left.cache(e), o = s[0], i = s[1], this.temps = s[2]), s = n ? [";", "\n" + this.tab] : [",", " "], u = s[0], a = s[1], u += a, f = this.temps ? o.compile(e, et) + u : ""; + for (l = 0, c = t.length; l < c; ++l) { + h = l, p = t[l], h && (f += d ? a : u); + if (d = p.comment) { + f += p.compile(e); + continue + } + if (p instanceof P) { + f += r(i, p.it).compile(e); + continue + } + if (g = p.getDefault()) p = p.first; + if (b = p instanceof D) s = p.it.cache(e, !0), w = s[0], E = s[1]; + else if (p instanceof S) { + w = p.key, E = p.val; + if (p.accessor) { + w instanceof v && (w = V("'" + w.name + "'")), f += "Object.defineProperty(" + i.compile(e, tt) + ", " + w.compile(e, tt) + ", " + p.compileDescriptor(e) + ")"; + continue + } + } else w = E = p; + b || (w = w.maybeKey()), g && (E = (g.first = E, g)), f += C(y(i, [m(w)]), E).compile(e, et) + } + return n ? f : (this["void"] || p instanceof P || (f += (d ? " " : ", ") + i.compile(e, et)), e.level < tt ? f : "(" + f + ")") + }, r + }(t), e.In = L = function (e) { + function r(e, t) { + this.item = e, this.array = t + } + var t = u((o(r, e).displayName = "In", r), e).prototype, + n = r; + return f(t, arguments[1]), t.children = ["item", "array"], t.compileNode = function (e) { + var t, n, i, s, o, u, a, f, l, c, h, p; + n = (t = this.array.expandSlice(e).unwrap()).items; + if (!(t instanceof x) || n.length < 2) return (this.negated ? "!" : "") + "" + dt("in") + "(" + this.item.compile(e, tt) + ", " + t.compile(e, tt) + ")"; + i = "", s = this.item.cache(e, !1, et), o = s[0], u = s[1], s = this.negated ? [" !== ", " && "] : [" === ", " || "], a = s[0], f = s[1]; + for (l = 0, c = n.length; l < c; ++l) h = l, p = n[l], i && (i += f), p instanceof P ? (i += (s = new r(d(u), p.it), s.negated = this.negated, s).compile(e, Z), !h && o !== u && (i = "(" + o + ", " + i + ")")) : i += (h || o === u ? u : "(" + o + ")") + a + p.compile(e, rt + st["=="]); + return o === u || e.scope.free(u), e.level < rt + st["||"] ? i : "(" + i + ")" + }, r + }(t, l), e.Existence = A = function (e) { + function r(e, t) { + var n = this instanceof i ? this : new i; + return n.it = e, n.negated = t, n + } + + function i() {} + var t = u((o(r, e).displayName = "Existence", r), e).prototype, + n = r; + return f(t, arguments[1]), i.prototype = t, t.children = ["it"], t.compileNode = function (e) { + var t, n, r, i, s; + return t = (n = this.it.unwrap(), n.front = this.front, n), r = t.compile(e, rt + st["=="]), t instanceof d && !e.scope.check(r, !0) ? (n = this.negated ? ["||", "="] : ["&&", "!"], i = n[0], s = n[1], r = "typeof " + r + " " + s + "= 'undefined' " + i + " " + r + " " + s + "== null") : r += " " + (i = this.negated ? "==" : "!=") + " null", e.level < rt + st[i] ? r : "(" + r + ")" + }, r + }(t, l), e.Fun = O = function (e) { + function r(e, t, n, r, s) { + var o = this instanceof i ? this : new i; + return o.params = e || [], o.body = t || c(), o.bound = n && "this$", o.curried = r || !1, o.hushed = s != null ? s : !1, o + } + + function i() {} + var t = u((o(r, e).displayName = "Fun", r), e).prototype, + n = r; + return i.prototype = t, t.children = ["params", "body"], t.show = function () { + var e; + return [this.name] + [(e = this.bound) ? "~" + e : void 8] + }, t.named = function (e) { + return this.name = e, this.statement = !0, this + }, t.isCallable = lt, t.isStatement = function () { + return !!this.statement + }, t.traverseChildren = function (t, n) { + if (n) return e.prototype.traverseChildren.apply(this, arguments) + }, t.makeReturn = function () { + return this.statement ? (this.returns = !0, this) : e.prototype.makeReturn.apply(this, arguments) + }, t.ripName = function (e) { + this.name || (this.name = e.varName()) + }, t.compileNode = function (e) { + var t, n, r, i, s, o, u, a, f, l, c, h = this; + t = e.scope, n = t.shared || t, r = e.scope = this.body.scope = new ft(this.wrapper ? t : n, this.wrapper && n), r.fun = this, (i = this.proto) && r.assign("prototype", i.compile(e) + ".prototype"), (i = this.cname) && r.assign("constructor", i); + if (s = (o = e.loop, delete e.loop, o)) e.indent = this.tab = ""; + e.indent += ot, u = this.body, a = this.name, f = this.tab, l = "function", this.bound === "this$" && (this.ctor ? (r.assign("this$", "this instanceof ctor$ ? this : new ctor$"), u.lines.push(j(p("this$")))) : (i = (o = n.fun) != null ? o.bound : void 8) ? this.bound = i : n.assign("this$", "this")), this.statement && (a || this.carp("nameless function declaration"), t === e.block.scope || this.carp("misplaced function declaration"), this.accessor && this.carp("named accessor"), t.add(a, "function", this)); + if (this.statement || a && this.labeled) l += " " + r.add(a, "function", this); + this.hushed || this.ctor || this.newed || u.makeReturn(), l += "(" + this.compileParams(e, r) + "){"; + if (i = u.compileWithDeclarations(e)) l += "\n" + i + "\n" + f; + return l += "}", c = function () { + return h.curried && h.hasSplats && h.carp("cannot curry a function with a variable number of arguments"), h.curried && h.params.length > 1 ? dt("curry") + "" + (h.bound || h.classBound ? "((" + l + "), true)" : "(" + l + ")") : l + }, s ? t.assign(t.temporary("fn"), c()) : (this.returns ? l += "\n" + f + "return " + a + ";" : this.bound && this.ctor && (l += " function ctor$(){} ctor$.prototype = prototype;"), l = c(), this.front && !this.statement ? "(" + l + ")" : l) + }, t.compileParams = function (e, t) { + function L() { + switch (!1) { + case !y: + return N(o.op, E, o.second); + case !w: + return mt(function (e, t) { + return t.it = e, t + }, E, b.reverse()); + default: + return E + } + } + var n, r, i, s, o, u, a, f, l, c, h, v, m, g, y, b, w, E, S, k; + n = this.params, r = n.length, i = this.body; + for (s = n.length - 1; s >= 0; --s) { + o = n[s]; + if (!o.isEmpty() && !o.filler) break; + --n.length + } + for (s = 0, u = n.length; s < u; ++s) a = s, o = n[s], o instanceof P ? (this.hasSplats = !0, f = a) : o.op === "=" && (n[a] = N(o.logic || "?", o.left, o.right)); + f != null ? l = n.splice(f, 9e9) : this.accessor ? (c = n[1]) && c.carp("excess accessor parameter") : !r && !this.wrapper && i.traverseChildren(function (e) { + return e.value === "it" || null + }) && (n[0] = d("it")), h = [], v = []; + if (n.length) { + m = {}; + for (s = 0, u = n.length; s < u; ++s) { + o = n[s], g = o; + if (y = g.getDefault()) g = g.first; + if (g.isEmpty()) g = d(t.temporary("arg")); + else if (g.value === "..") g = d(e.ref = t.temporary()); + else if (g instanceof d) y && v.push(C(g, o.second, "=", o.op, !0)); + else { + b = []; + while (g instanceof T) w = !0, b.push(g), g = g.it; + E = d((k = (S = g.it || g).name, delete S.name, k) || g.varName() || t.temporary("arg")), v.push(C(g, L())), g = E + } + h.push(t.add(g.value, "arg", o)) + } + } + if (l) { + while (f--) l.unshift(x()); + v.push(C(x(l), p("arguments"))) + } + return v.length && (S = this.body).prepend.apply(S, v), h.join(", ") + }, r + }(t), e.Class = M = function (e) { + function r(e) { + var t; + this.title = e.title, this.sup = e.sup, this.mixins = e.mixins, t = e.body, this.fun = O([], t) + } + var t = u((o(r, e).displayName = "Class", r), e).prototype, + n = r; + return t.children = ["title", "sup", "mixins", "fun"], t.isCallable = lt, t.ripName = function (e) { + this.name = e.varName() + }, t.compile = function (e, t) { + function R(e) { + var t, n, r, i, s; + if (e instanceof c) + for (t = 0, r = (n = e.lines).length; t < r; ++t) i = t, s = n[t], s instanceof E && (e.lines[i] = w(s, T)) + } + var n, r, i, s, o, u, a, f, l, h, g, w, S, x, T, N, L, A, M, H, B, F, I, q; + n = this.fun, r = n.body, i = r.lines, s = this.title, o = [], u = s != null ? s.varName() : void 8, a = u || this.name, ut.test(a || "") ? n.cname = a : a = "constructor", f = d("prototype"), l = "constructor$$", w = function (t, n) { + var r, i, s, u, a, c, m; + r = 0; + for (; r < t.items.length; r++) { + i = t.items[r], s = i.key; + if (s instanceof v && s.name === l || s instanceof p && s.value === "'" + l + "'") h && t.carp("redundant constructor"), h = i.val, t.items.splice(r--, 1), g = n; + if (!(i.val instanceof O || i.accessor)) continue; + s.isComplex() && (s = d(e.scope.temporary("key")), i.key = C(s, i.key)), i.val.bound && (o.push(i.key), i.val.bound = !1, i.val.classBound = !0); + for (u = 0, c = (a = [].concat(i.val)).length; u < c; ++u) m = a[u], m.meth = s + } + return t.items.length ? k(f, t) : p("void") + }; + for (S = 0, x = i.length; S < x; ++S) T = S, N = i[S], N instanceof E ? i[T] = w(N, T) : N instanceof O && !N.statement ? (h && N.carp("redundant constructor"), h = N) : N instanceof C && N.left instanceof y && N.left.head.value === "this" && N.right instanceof O ? N.right.stat = N.left.tails[0].key : N.traverseChildren(R); + h || (h = i[i.length] = this.sup ? O([], c(y(new _).add(b([P(p("arguments"))])))) : O()), h instanceof O || (i.splice(g + 1, 0, C(d(l), h)), i.unshift(h = O([], c(j(y(d(l)).add(b([P("arguments", !0)]))))))), h.name = a, h.ctor = !0, h.statement = !0; + for (S = 0, x = o.length; S < x; ++S) L = o[S], h.body.lines.unshift(C(y(p("this")).add(m(L)), y(d(dt("bind"))).add(b([p("this"), p("'" + L.name + "'"), d("prototype")])))); + i.push(A = n.proto = d(n.bound = a)), M = []; + if (H = this.sup) M.push(H), B = y(k(p("this"), d("superclass"))), n.proto = J.Extends(n.cname ? c([C(B.add(m(v("displayName"))), p("'" + a + "'")), p(a)]) : B, (F = n.params)[F.length] = d("superclass")); + if (H = this.mixins) { + I = []; + for (S = 0, x = H.length; S < x; ++S) M[M.length] = H[S], I.push(k(f, V("arguments[" + (M.length - 1) + "]"), !0)); + B = I, r.prepend.apply(r, B) + } + return n.cname && !this.sup && r.prepend(p(a + ".displayName = '" + a + "'")), q = D(b.make(n, M), !0), u && s.isComplex() && (q = C(A, q)), s && (q = C(s, q)), q.compile(e, t) + }, r + }(t), e.Super = _ = function (e) { + function r() {} + var t = u((o(r, e).displayName = "Super", r), e).prototype, + n = r; + return t.isCallable = lt, t.compile = function (e) { + var t, n, r, i; + t = e.scope; + if (!this.sproto) { + for (; n = !t.get("superclass") && t.fun; t = t.parent) { + r = n; + if (n = r.meth) return "superclass.prototype" + m(n).compile(e); + if (n = r.stat) return "superclass" + m(n).compile(e); + if (n = t.fun.inClass) return n + ".superclass.prototype." + t.fun.name; + if (n = t.fun.inClassStatic) return n + ".superclass." + t.fun.name + } + if (n = (i = e.scope.fun) != null ? i.name : void 8) return n + ".superclass" + } + return "superclass" + }, r + }(t), e.Parens = D = function (e) { + function r(e, t, n) { + var r = this instanceof i ? this : new i; + return r.it = e, r.keep = t, r.string = n, r + } + + function i() {} + var t = u((o(r, e).displayName = "Parens", r), e).prototype, + n = r; + return i.prototype = t, t.children = ["it"], t.show = function () { + return this.string && '""' + }, t.delegate(["isComplex", "isCallable", "isArray", "isRegex"], function (e) { + return this.it[e]() + }), t.isString = function () { + return this.string || this.it.isString() + }, t.unparen = function () { + return this.keep ? this : this.it.unparen() + }, t.compile = function (e, t) { + var n; + return t == null && (t = e.level), n = this.it, n.cond || (n.cond = this.cond), n["void"] || (n["void"] = this["void"]), this.calling && (!t || this["void"]) && (n.head.hushed = !0), this.keep || this.newed || t >= rt + st[n.op] ? n.isStatement() ? n.compileClosure(e) : "(" + n.compile(e, et) + ")" : (n.front = this.front, n).compile(e, t || et) + }, r + }(t), e.Splat = P = function (e) { + function s(e, t) { + var n = this instanceof a ? this : new a; + return n.it = e, n.filler = t, n + } + + function a() {} + + function f(e) { + var t, r, i; + t = -1; + while (r = e[++t]) r instanceof s && (i = r.it, i.isEmpty() ? e.splice(t--, 1) : i instanceof x && (e.splice.apply(e, [t, 1].concat(n.call(f(i.items)))), t += i.items.length - 1)); + return e + } + + function l(e) { + return e.isArray() ? e : b.make(V(dt("slice") + ".call"), [e]) + } + var t, r = u((o(s, e).displayName = "Splat", s), e).prototype, + i = s; + return a.prototype = r, t = D.prototype, r.children = t.children, r.isComplex = t.isComplex, r.isAssignable = lt, r.assigns = function (e) { + return this.it.assigns(e) + }, r.compile = function () { + return this.carp("invalid splat") + }, s.compileArray = function (e, t, n) { + var r, i, o, u, a, c, h; + f(t), r = 0; + for (i = 0, o = t.length; i < o; ++i) { + u = t[i]; + if (u instanceof s) break; + ++r + } + if (r >= t.length) return ""; + if (!t[1]) return (n ? Object : l)(t[0].it).compile(e, tt); + a = [], c = []; + for (i = 0, o = (h = t.splice(r, 9e9)).length; i < o; ++i) u = h[i], u instanceof s ? (c.length && a.push(x(c.splice(0, 9e9))), a.push(l(u.it))) : c.push(u); + return c.length && a.push(x(c)), (r ? x(t) : a.shift()).compile(e, it) + (".concat(" + w.compile(e, a) + ")") + }, s + }(t), e.Jump = H = function (e) { + function r(e, t) { + this.verb = e, this.label = t + } + var t = u((o(r, e).displayName = "Jump", r), e).prototype, + n = r; + return t.show = function () { + var e; + return (this.verb || "") + ((e = this.label) ? " " + e : "") + }, t.isStatement = lt, t.makeReturn = ht, t.getJump = function (e) { + var t, n; + e || (e = {}); + if (!e[this.verb]) return this; + if (t = this.label) return !s(t, (n = e.labels) != null ? n : e.labels = []) && this + }, t.compileNode = function (e) { + var t, n; + return (t = this.label) ? s(t, (n = e.labels) != null ? n : e.labels = []) || this.carp('unknown label "' + t + '"') : e[this.verb] || this.carp("stray " + this.verb), this.show() + ";" + }, r.extended = function (e) { + e.prototype.children = ["it"], this[e.displayName.toLowerCase()] = e + }, r + }(t), e.Throw = B = function (e) { + function r(e) { + var t = this instanceof i ? this : new i; + return t.it = e, t + } + + function i() {} + var t = u((o(r, e).displayName = "Throw", r), e).prototype, + n = r; + return i.prototype = t, t.getJump = pt, t.compileNode = function (e) { + var t; + return "throw " + (((t = this.it) != null ? t.compile(e, et) : void 8) || "null") + ";" + }, r + }(H), e.Return = j = function (e) { + function r(e) { + var t = this instanceof i ? this : new i; + return e && e.value !== "void" && (t.it = e), t + } + + function i() {} + var t = u((o(r, e).displayName = "Return", r), e).prototype, + n = r; + return i.prototype = t, t.getJump = ht, t.compileNode = function (e) { + var t; + return "return" + ((t = this.it) ? " " + t.compile(e, et) : "") + ";" + }, r + }(H), e.While = F = function (e) { + function i(e, n, r) { + this.un = n, r && (r instanceof t ? this.update = r : this.post = !0); + if (this.post || e.value !== "" + !n) this.test = e + } + var n = u((o(i, e).displayName = "While", i), e).prototype, + r = i; + return n.children = ["test", "body", "update", "else"], n.aSource = "test", n.aTargets = ["body", "update"], n.show = function () { + return [this.un ? "!" : void 8, this.post ? "do" : void 8].join("") + }, n.isStatement = n.isArray = lt, n.makeComprehension = function (e, t) { + this.isComprehension = !0; + while (t.length) e = t.pop().addBody(c(e)), e.isComprehension || (e.inComprehension = !0); + return this.addBody(c(e)) + }, n.getJump = function (e) { + var t, n, r, i, s; + e || (e = {}), e["continue"] = !0, e["break"] = !0; + for (t = 0, i = (n = ((r = this.body) != null ? r.lines : void 8) || []).length; t < i; ++t) { + s = n[t]; + if (s.getJump(e)) return s + } + }, n.addBody = function (e) { + var t; + return this.body = e, this.guard && (this.body = c(z(this.guard, this.body))), t = this.body.lines[0], (t != null ? t.verb : void 8) === "continue" && !t.label && (this.body.lines.length = 0), this + }, n.addGuard = function (e) { + return this.guard = e, this + }, n.addObjComp = function (e) { + return this.objComp = e != null ? e : !0, this + }, n.makeReturn = function (e) { + var t, n; + return this.hasReturned ? this : (e ? this.objComp ? (this.body = c(this.body.makeObjReturn(e)), this.guard && (this.body = z(this.guard, this.body))) : (!this.body && !this.index && this.addBody(c(d(this.index = "ridx$"))), t = (n = this.body.lines) != null ? n[n.length - 1] : void 8, !this.isComprehension && !this.inComprehension || t != null && !!t.isComprehension ? (this.resVar = e, (n = this["else"]) != null && n.makeReturn(e)) : (this.body.makeReturn(e), (n = this["else"]) != null && n.makeReturn(e), this.hasReturned = !0)) : this.getJump() || (this.returns = !0), this) + }, n.compileNode = function (e) { + var t, n, r, i; + e.loop = !0, this.test && (this.un ? this.test = this.test.invert() : this.anaphorize()); + if (this.post) return "do {" + this.compileBody((e.indent += ot, e)); + t = ((n = this.test) != null ? n.compile(e, et) : void 8) || ""; + if (!this.update && !this["else"]) r = t ? "while (" + t : "for (;;"; + else { + r = "for (", this["else"] && (r += (this.yet = e.scope.temporary("yet")) + " = true"), r += ";" + (t && " " + t) + ";"; + if (i = this.update) r += " " + i.compile(e, et) + } + return r + ") {" + this.compileBody((e.indent += ot, e)) + }, n.compileBody = function (e) { + var t, n, r, s, o, u, a, f, l, h, p, g, w, E; + e["break"] = e["continue"] = !0, t = this.body.lines, n = this.yet, r = this.tab, s = o = u = "", a = this.objComp ? "{}" : "[]", f = t != null ? t[t.length - 1] : void 8; + if (!this.isComprehension && !this.inComprehension || f != null && !!f.isComprehension) f != null && f.traverseChildren(function (e) { + var t; + e instanceof c && (t = e.lines)[t.length - 1] instanceof i && (l = !0) + }), this.returns && !this.resVar && (this.resVar = h = e.scope.assign("results$", a)), this.resVar && (f instanceof i || l) ? (p = e.scope.temporary("lresult"), t.unshift(C(d(p), x(), "=")), t[g = t.length - 1] != null && (t[g] = t[g].makeReturn(p)), u += ot + "" + y(d(this.resVar)).add(m(v("push"), ".", !0)).add(b([y(d(p))])).compile(e) + ";\n" + this.tab) : (this.hasReturned = !0, this.resVar && this.body.makeReturn(this.resVar)); + this.returns && (this.objComp && (this.body = c(this.body.makeObjReturn("results$"))), this.guard && this.objComp && (this.body = z(this.guard, this.body)), (!f instanceof i && !this.hasReturned || this.isComprehension || this.inComprehension) && t[g = t.length - 1] != null && (t[g] = t[g].makeReturn(h = e.scope.assign("results$", a))), o += "\n" + this.tab + "return " + (h || a) + ";", (w = this["else"]) != null && w.makeReturn()), n && t.unshift(V(n + " = false;")); + if (E = this.body.compile(e, Z)) s += "\n" + E + "\n" + r; + return s += u, s += "}", this.post && (s += " while (" + this.test.compile((e.tab = r, e), et) + ");"), n && (s += " if (" + n + ") " + this.compileBlock(e, c(this["else"])), e.scope.free(n)), s + o + }, i + }(t), e.For = I = function (e) { + function r(e) { + var t, n, r, i; + f(this, e), this.item instanceof d && !this.item.value && (this.item = null); + for (t = 0, i = (r = this.kind || []).length; t < i; ++t) n = r[t], this[n] = !0; + this.own && !this.object && this.carp("`for own` requires `of`") + } + var t = u((o(r, e).displayName = "For", r), e).prototype, + n = r; + return t.children = ["item", "source", "from", "to", "step", "body"], t.aSource = null, t.show = function () { + return this.kind.concat(this.index).join(" ") + }, t.addBody = function (t) { + var n, r, i, s = this; + if (this.letFunc) { + if (n = this.ref, delete this.ref, n) this.item = p(".."); + t = c(b.letFunc((r = [], (i = this.index) && r.push(C(d(i), p("index$$"))), (i = this.item) && r.push(C(i, p("item$$"))), r), t)) + } + return e.prototype.addBody.call(this, t), this.guard && this.letFunc && (this.index || this.item) && this.body.lines[0]["if"].traverseChildren(function (e) { + e instanceof d && (s.index && e.value === s.index && (e.value = "index$$"), s.item && e.value === s.item.value && (e.value = "item$$")) + }), this.letFunc && (delete this.index, delete this.item), this + }, t.compileNode = function (e) { + var t, n, r, i, s, o, u, a, f, l, h, v, m, g, y, b, w; + e.loop = !0, t = this.temps = [], this.object && this.index ? e.scope.declare(n = this.index) : t.push(n = e.scope.temporary("i")), this.body || this.addBody(c(d(n))), this.object || (r = (this.step || p(1)).compileLoopReference(e, "step"), i = r[0], s = r[1], i === s || t.push(i)), this.from ? (r = this.to.compileLoopReference(e, "to"), o = r[0], u = r[1], a = this.from.compile(e, tt), f = n + " = " + a, u !== o && (f += ", " + u, t.push(o)), !this.step && +a > +o && (i = s = -1), l = this.op === "til" ? "" : "=", h = +i ? n + " " + "<>".charAt(i < 0) + l + " " + o : i + " < 0 ? " + n + " >" + l + " " + o + " : " + n + " <" + l + " " + o) : (this.ref && (this.item = d(e.scope.temporary("x"))), this.item || this.object && this.own ? (r = this.source.compileLoopReference(e, "ref", !this.object), v = r[0], m = r[1], v === m || t.push(v)) : v = m = this.source.compile(e, et), this.object || (0 > i && ~~i === +i ? (f = n + " = " + m + ".length - 1", h = n + " >= 0") : (t.push(g = e.scope.temporary("len")), f = n + " = 0, " + g + " = " + m + ".length", h = n + " < " + g))), this["else"] && (this.yet = e.scope.temporary("yet")), y = "for (", this.object && (y += n + " in "); + if (b = this.yet) y += b + " = true, "; + return this.object ? y += m : (s === i || (f += ", " + s), y += f + "; " + h + "; " + (1 == Math.abs(i) ? (i < 0 ? "--" : "++") + n : n + (i < 0 ? " -= " + i.slice(1) : " += " + i))), this.own && (y += ") if (" + e.scope.assign("own$", "{}.hasOwnProperty") + ".call(" + v + ", " + n + ")"), y += ") {", this.letFunc ? this.body.traverseChildren(function (e) { + switch (e.value) { + case "index$$": + e.value = n; + break; + case "item$$": + e.value = v + "[" + n + "]" + } + }) : this.infuseIIFE(), e.indent += ot, this.index && !this.object && (y += "\n" + e.indent + C(d(this.index), V(n)).compile(e, Z) + ";"), this.item && !this.item.isEmpty() && (y += "\n" + e.indent + C(this.item, V(v + "[" + n + "]")).compile(e, Z) + ";"), this.ref && (e.ref = this.item.value), w = this.compileBody(e), (this.item || this.index && !this.object) && "}" === w.charAt(0) && (y += "\n" + this.tab), y + w + }, t.infuseIIFE = function () { + function t(e, t) { + var n, r, i; + if (t) + for (n = 0, r = e.length; n < r; ++n) { + i = e[n]; + if (t === i.value) return !0 + } + } + var e = this; + this.body.traverseChildren(function (n) { + var r, i, s, o, u, a; + if (!(n.calling || n.op === "new" && (r = n.it).params)) return; + r ? n.it = b.make((r["void"] = !0, r)) : r = n.it.head, i = r.params, s = n.it.tails[0]; + if (i.length ^ s.args.length - !!s.method) return; + o = e.index, u = e.item, o && !t(i, o) && s.args.push(i[i.length] = d(o)); + if (a = u instanceof w && u.name) u = d(a); + u instanceof d && !t(i, u.value) && s.args.push(i[i.length] = u) + }) + }, r + }(F), e.Try = q = function (e) { + function r(e, t, n, r) { + var i; + this.attempt = e, this.thrown = t, this.recovery = n, this.ensure = r, (i = this.recovery) != null && i.lines.unshift(C(this.thrown || d("e"), d("e$"))) + } + var t = u((o(r, e).displayName = "Try", r), e).prototype, + n = r; + return t.children = ["attempt", "recovery", "ensure"], t.show = function () { + return this.thrown + }, t.isStatement = lt, t.isCallable = function () { + var e; + return ((e = this.recovery) != null ? e.isCallable() : void 8) && this.attempt.isCallable() + }, t.getJump = function (e) { + var t; + return this.attempt.getJump(e) || ((t = this.recovery) != null ? t.getJump(e) : void 8) + }, t.makeReturn = function (e) { + return this.attempt = this.attempt.makeReturn(e), this.recovery != null && (this.recovery = this.recovery.makeReturn(e)), this + }, t.compileNode = function (e) { + var t, n; + e.indent += ot, t = "try " + this.compileBlock(e, this.attempt); + if (n = this.recovery || !this.ensure && V("")) t += " catch (e$) " + this.compileBlock(e, n); + if (n = this.ensure) t += " finally " + this.compileBlock(e, n); + return t + }, r + }(t), e.Switch = R = function (e) { + function r(e, t, n, r) { + var i, s; + this.type = e, this.topic = t, this.cases = n, this["default"] = r; + if (e === "match") t && (this.target = x(t)), this.topic = null; + else if (t) { + if (t.length > 1) throw "can't have more than one topic in switch statement"; + this.topic = this.topic[0] + } + this.cases.length && (i = (s = this.cases)[s.length - 1]).tests.length === 1 && i.tests[0] instanceof d && i.tests[0].value === "_" && (this.cases.pop(), this["default"] = i.body) + } + var t = u((o(r, e).displayName = "Switch", r), e).prototype, + n = r; + return t.children = ["topic", "cases", "default"], t.aSource = "topic", t.aTargets = ["cases"], t.show = function () { + return this.type + }, t.isStatement = lt, t.isCallable = function () { + var e, t, n, r; + for (e = 0, n = (t = this.cases).length; e < n; ++e) { + r = t[e]; + if (!r.isCallable()) return !1 + } + return this["default"] ? this["default"].isCallable() : !0 + }, t.getJump = function (e) { + var t, n, r, i, s; + e || (e = {}), e["break"] = !0; + for (t = 0, r = (n = this.cases).length; t < r; ++t) { + i = n[t]; + if (s = i.body.getJump(e)) return s + } + return (n = this["default"]) != null ? n.getJump(e) : void 8 + }, t.makeReturn = function (e) { + var t, n, r, i; + for (t = 0, r = (n = this.cases).length; t < r; ++t) i = n[t], i.makeReturn(e); + return (n = this["default"]) != null && n.makeReturn(e), this + }, t.compileNode = function (e) { + var t, n, r, i, s, o, u, a, f, l, h, d, v; + t = this.tab, this.target && (n = y(this.target).cacheReference(e), r = n[0], i = n[1]), s = this.type === "match" ? (o = i ? [r] : [], c(o.concat([p("false")])).compile(e, et)) : !!this.topic && this.anaphorize().compile(e, et), u = "switch (" + s + ") {\n", a = this["default"] || this.cases.length - 1, e["break"] = !0; + for (f = 0, l = (n = this.cases).length; f < l; ++f) h = f, d = n[f], u += d.compileCase(e, t, h === a, this.type === "match" || !s, this.type, i); + if (this["default"]) { + e.indent = t + ot; + if (v = this["default"].compile(e, Z)) u += t + ("default:\n" + v + "\n") + } + return u + t + "}" + }, r + }(t), e.Case = U = function (e) { + function r(e, t) { + this.tests = e, this.body = t + } + var t = u((o(r, e).displayName = "Case", r), e).prototype, + n = r; + return t.children = ["tests", "body"], t.isCallable = function () { + return this.body.isCallable() + }, t.makeReturn = function (e) { + var t, n; + return ((t = (n = this.body.lines)[n.length - 1]) != null ? t.value : void 8) !== "fallthrough" && this.body.makeReturn(e), this + }, t.compileCase = function (e, t, n, r, i, s) { + var o, u, a, f, l, c, h, d, v, g, b, w, E, S, T, C, k; + o = []; + for (u = 0, f = (a = this.tests).length; u < f; ++u) { + l = a[u], l = l.expandSlice(e).unwrap(); + if (l instanceof x && i !== "match") + for (c = 0, d = (h = l.items).length; c < d; ++c) v = h[c], o.push(v); + else o.push(l) + } + o.length || o.push(p("void")); + if (i === "match") + for (u = 0, f = o.length; u < f; ++u) g = u, l = o[u], b = y(s).add(m(p(g), ".", !0)), o[g] = y(l).autoCompare(s ? [b] : null); + if (r) { + w = i === "match" ? "&&" : "||", v = o[0], g = 0; + while (E = o[++g]) v = N(w, v, E); + o = [(this.t = v, this.aSource = "t", this.aTargets = ["body"], this).anaphorize().invert()] + } + S = ""; + for (u = 0, f = o.length; u < f; ++u) v = o[u], S += t + ("case " + v.compile(e, et) + ":\n"); + T = this.body.lines, C = T[T.length - 1]; + if (k = (C != null ? C.value : void 8) === "fallthrough") T[T.length - 1] = V("// fallthrough"); + e.indent = t += ot; + if (E = this.body.compile(e, Z)) S += E + "\n"; + return n || k || C instanceof H || (S += t + "break;\n"), S + }, r + }(t), e.If = z = function (e) { + function r(e, t, n) { + var r = this instanceof i ? this : new i; + return r["if"] = e, r.then = t, r.un = n, r + } + + function i() {} + var t = u((o(r, e).displayName = "If", r), e).prototype, + n = r; + return i.prototype = t, t.children = ["if", "then", "else"], t.aSource = "if", t.aTargets = ["then"], t.show = function () { + return this.un && "!" + }, t.terminator = "", t.delegate(["isCallable", "isArray", "isString", "isRegex"], function (e) { + var t; + return ((t = this["else"]) != null ? t[e]() : void 8) && this.then[e]() + }), t.getJump = function (e) { + var t; + return this.then.getJump(e) || ((t = this["else"]) != null ? t.getJump(e) : void 8) + }, t.makeReturn = function (e) { + return this.then = this.then.makeReturn(e), this["else"] != null && (this["else"] = this["else"].makeReturn(e)), this + }, t.compileNode = function (e) { + return this.un ? this["if"] = this["if"].invert() : this.soak || this.anaphorize(), e.level ? this.compileExpression(e) : this.compileStatement(e) + }, t.compileStatement = function (e) { + var t, r; + return t = "if (" + this["if"].compile(e, et) + ") ", e.indent += ot, t += this.compileBlock(e, c(this.then)), (r = this["else"]) ? t + " else " + (r instanceof n ? r.compile((e.indent = this.tab, e), Z) : this.compileBlock(e, r)) : t + }, t.compileExpression = function (e) { + var t, n, r, i; + return t = this.then, n = this["else"] || p("void"), this["void"] && (t["void"] = n["void"] = !0), !this["else"] && (this.cond || this["void"]) ? D(N("&&", this["if"], t)).compile(e) : (r = this["if"].compile(e, nt), i = n.isComplex() ? "\n" + (e.indent += ot) : " ", r += i + "? " + t.compile(e, tt) + "" + i + ": " + n.compile(e, tt), e.level < nt ? r : "(" + r + ")") + }, r.unfoldSoak = function (e, t, n) { + var r; + if (r = t[n].unfoldSoak(e)) return t[n] = r.then, r.cond = t.cond, r["void"] = t["void"], r.then = y(t), r + }, r + }(t), e.Label = W = function (e) { + function a(e, t) { + var n; + this.label = e || "_", this.it = t; + if (n = (t instanceof O || t instanceof M) && t || t.calling && t.it.head) return n.name || (n.name = this.label, n.labeled = !0), t + } + var t, r = u((o(a, e).displayName = "Label", a), e).prototype, + i = a; + return t = D.prototype, r.children = t.children, r.isCallable = t.isCallable, r.isArray = t.isArray, r.show = function () { + return this.label + }, r.isStatement = lt, r.getJump = function (e) { + var t; + return e || (e = {}), ((t = e.labels) != null ? t : e.labels = []).push(this.label), this.it.getJump((e["break"] = !0, e)) + }, r.makeReturn = function (e) { + return this.it = this.it.makeReturn(e), this + }, r.compileNode = function (e) { + var t, r, i; + return t = this.label, r = this.it, i = e.labels = n.call(e.labels || []), s(t, i) && this.carp('duplicate label "' + t + '"'), i.push(t), r.isStatement() || (r = c(r)), t + ": " + (r instanceof c ? (e.indent += ot, this.compileBlock(e, r)) : r.compile(e)) + }, a + }(t), e.Cascade = X = function (e) { + function r(e, t, n) { + var r = this instanceof i ? this : new i; + return r.input = e, r.output = t, r.prog1 = n, r + } + + function i() {} + var t = u((o(r, e).displayName = "Cascade", r), e).prototype, + n = r; + return i.prototype = t, t.show = function () { + return this.prog1 + }, t.children = ["input", "output"], t.terminator = "", t.delegate(["isCallable", "isArray", "isString", "isRegex"], function (e) { + return this[this.prog1 ? "input" : "output"][e]() + }), t.getJump = function (e) { + return this.output.getJump(e) + }, t.makeReturn = function (e) { + return this.ret = e, this + }, t.compileNode = function (e) { + var t, n, i, s, o, u, a, f; + return t = e.level, n = this.input, i = this.output, s = this.prog1, o = this.ref, s && ("ret" in this || t && !this["void"]) && i.add((u = p(".."), u.cascadee = !0, u)), "ret" in this && (i = i.makeReturn(this.ret)), o ? s || (i = C(d(o), i)) : o = e.scope.temporary("x"), n instanceof r ? n.ref = o : n && (n = C(d(o), n)), e.level && (e.level = et), a = n.compile(e), f = c(i).compile((e.ref = new String(o), e)), s === "cascade" && !e.ref.erred && this.carp("unreferred cascadee"), t ? (a += ", " + f, t > et ? "(" + a + ")" : a) : a + "" + n.terminator + "\n" + f + }, r + }(t), e.JS = V = function (e) { + function r(e, t, n) { + var r = this instanceof i ? this : new i; + return r.code = e, r.literal = t, r.comment = n, r + } + + function i() {} + var t = u((o(r, e).displayName = "JS", r), e).prototype, + n = r; + return i.prototype = t, t.show = function () { + return this.comment ? this.code : "`" + this.code + "`" + }, t.terminator = "", t.isAssignable = t.isCallable = function () { + return !this.comment + }, t.compile = function (e) { + return this.literal ? vt(this.code, e.indent) : this.code + }, r + }(t), e.Require = $ = function (e) { + function r(e) { + var t = this instanceof i ? this : new i; + return t.body = e, t + } + + function i() {} + var t = u((o(r, e).displayName = "Require", r), e).prototype, + n = r; + return i.prototype = t, t.children = ["body"], t.compile = function (e) { + var t, n, r, i, s, o, u = this; + return n = function (e) { + var t; + return (t = /^['"](.*)['"]$/.exec(e)) ? t[1] : e + }, r = function (e) { + var t; + return (t = n(e).split("/"))[t.length - 1].split(".")[0].replace(/-[a-z]/ig, function (e) { + return e.charAt(1).toUpperCase() + }) + }, i = function (e) { + var n; + switch (!1) { + case !(e instanceof v): + return e.name; + case !(e instanceof d): + return e.value; + case !(e instanceof p): + return e.value; + case !(e instanceof m): + return i(e.key); + case !(e instanceof y): + return (n = e.tails) != null && n.length && (t = e.tails), i(e.head); + default: + return e + } + }, s = function (s) { + var o, u, a, f; + return t = null, o = function () { + var e; + switch (!1) { + case !(s instanceof S): + return [i(s.key), s.val]; + case !(s instanceof y): + return (e = s.tails) != null && e.length ? (t = s.tails, [(e = s.tails)[e.length - 1], s.head]) : [s.head, s.head]; + default: + return [s, s] + } + }(), u = o[0], a = o[1], u = r(i(u)), a = n(i(a)), f = y(d("require")).add(b([p("'" + a + "'")])), C(d(u), t ? y(f, t) : f).compile(e) + }, this.body.items != null ? function () { + var e, t, n, r = []; + for (e = 0, n = (t = this.body.items).length; e < n; ++e) o = t[e], r.push(s(o)); + return r + }.call(this).join(";\n" + e.indent) : s(this.body) + }, r + }(t), e.Util = J = function (e) { + function r(e) { + var t = this instanceof i ? this : new i; + return t.verb = e, t + } + + function i() {} + var t = u((o(r, e).displayName = "Util", r), e).prototype, + n = r; + return i.prototype = t, t.show = H.prototype.show, t.isCallable = lt, t.compile = function () { + return dt(this.verb) + }, r.Extends = function () { + return b.make(r("extend"), [arguments[0], arguments[1]]) + }, r + }(t), e.Vars = K = function (e) { + function r(e) { + var t = this instanceof i ? this : new i; + return t.vars = e, t + } + + function i() {} + var t = u((o(r, e).displayName = "Vars", r), e).prototype, + n = r; + return i.prototype = t, t.children = ["vars"], t.makeReturn = ht, t.compile = function (e, t) { + var n, r, i, s, o; + for (n = 0, i = (r = this.vars).length; n < i; ++n) s = r[n], o = s.value, s instanceof d || s.carp("invalid variable declaration"), e.scope.check(o) && s.carp('redeclaration of "' + o + '"'), e.scope.declare(o, s); + return p("void").compile(e, t) + }, r + }(t), e.L = function (e, t) { + return t.line = e + 1, t + }, e.Decl = function (e, t, n) { + if (!t[0]) throw SyntaxError("empty " + e + " on line " + n); + return Q[e](t) + }, Q = { + "export": function (e) { + var t, r, i, s, o; + t = -1, r = J("out"); + while (i = e[++t]) { + if (i instanceof c) { + e.splice.apply(e, [t--, 1].concat(n.call(i.lines))); + continue + } + if (s = i instanceof O && i.name) { + e.splice(t++, 0, C(y(r, [m(v(s))]), d(s))); + continue + } + e[t] = (s = i.varName() || i instanceof C && i.left.varName() || i instanceof M && ((o = i.title) != null ? o.varName() : void 8)) ? C(y(r, [m(v(s))]), i) : k(r, i) + } + return c(e) + }, + "import": function (e, t) { + var n, r, i, s; + for (n = 0, r = e.length; n < r; ++n) i = n, s = e[n], e[i] = k(p("this"), s, t); + return c(e) + }, + importAll: function (e) { + return this["import"](e, !0) + }, + "const": function (e) { + var t, n, r; + for (t = 0, n = e.length; t < n; ++t) r = e[t], r.op === "=" || r.carp("invalid constant variable declaration"), r["const"] = !0; + return c(e) + }, + "var": K + }, G = ft.prototype, G.READ_ONLY = { + "const": "constant", + "function": "function", + "undefined": "undeclared" + }, G.add = function (e, t, n) { + var r, i; + if (n && (r = this.variables[e + "."])) { + (i = this.READ_ONLY[r] || this.READ_ONLY[t]) ? n.carp("redeclaration of " + i + ' "' + e + '"') : r === t && t === "arg" ? n.carp('duplicate parameter "' + e + '"') : r === "upvar" && n.carp('accidental shadow of "' + e + '"'); + if (r === "arg" || r === "function") return e + } + return this.variables[e + "."] = t, e + }, G.get = function (e) { + return this.variables[e + "."] + }, G.declare = function (e, t, n) { + var r, i; + if (r = this.shared) { + if (this.check(e)) return; + i = r + } else i = this; + return i.add(e, n ? "const" : "var", t) + }, G.assign = function (e, t) { + return this.add(e, { + value: t + }) + }, G.temporary = function (e) { + function n(e) { + return ++e + } + var t; + e || (e = "ref"); + while ((t = this.variables[e + "$."]) !== "reuse" && t !== void 8) e = e.length < 2 && e < "z" ? String.fromCharCode(e.charCodeAt() + 1) : e.replace(/\d*$/, n); + return this.add(e + "$", "var") + }, G.free = function (e) { + return this.add(e, "reuse") + }, G.check = function (e, t) { + var n, r; + return (n = this.variables[e + "."]) || !t ? n : (r = this.parent) != null ? r.check(e, t) : void 8 + }, G.checkReadOnly = function (e) { + var t, n, r; + return (t = this.READ_ONLY[this.check(e, !0)]) ? t : ((n = this.variables)[r = e + "."] || (n[r] = "upvar"), "") + }, G.emit = function (e, t) { + var n, r, i, s, o, u, a, f; + n = [], r = [], i = []; + for (s in o = this.variables) { + u = o[s], s = s.slice(0, -1); + if (u === "var" || u === "const" || u === "reuse") n.push(s); + else if (a = u.value)~(f = vt(a, t)).lastIndexOf("function(", 0) ? i.push("function " + s + f.slice(8)) : r.push(s + " = " + f) + } + if (a = n.concat(r).join(", ")) e = t + "var " + a + ";\n" + e; + return (a = i.join("\n" + t)) ? e + "\n" + t + a : e + }, Y = { + clone: "function(it){\n function fun(){} fun.prototype = it;\n return new fun;\n}", + extend: "function(sub, sup){\n function fun(){} fun.prototype = (sub.superclass = sup).prototype;\n (sub.prototype = new fun).constructor = sub;\n if (typeof sup.extended == 'function') sup.extended(sub);\n return sub;\n}", + bind: "function(obj, key, target){\n return function(){ return (target || obj)[key].apply(obj, arguments) };\n}", + "import": "function(obj, src){\n var own = {}.hasOwnProperty;\n for (var key in src) if (own.call(src, key)) obj[key] = src[key];\n return obj;\n}", + importAll: "function(obj, src){\n for (var key in src) obj[key] = src[key];\n return obj;\n}", + repeatString: "function(str, n){\n for (var r = ''; n > 0; (n >>= 1) && (str += str)) if (n & 1) r += str;\n return r;\n}", + repeatArray: "function(arr, n){\n for (var r = []; n > 0; (n >>= 1) && (arr = arr.concat(arr)))\n if (n & 1) r.push.apply(r, arr);\n return r;\n}", + "in": "function(x, xs){\n var i = -1, l = xs.length >>> 0;\n while (++i < l) if (x === xs[i]) return true;\n return false;\n}", + out: "typeof exports != 'undefined' && exports || this", + curry: "function(f, bound){\n var context,\n _curry = function(args) {\n return f.length > 1 ? function(){\n var params = args ? args.concat() : [];\n context = bound ? context || this : this;\n return params.push.apply(params, arguments) <\n f.length && arguments.length ?\n _curry.call(context, params) : f.apply(context, params);\n } : f;\n };\n return _curry();\n}", + flip: "function(f){\n return curry$(function (x, y) { return f(y, x); });\n}", + partialize: "function(f, args, where){\n var context = this;\n return function(){\n var params = slice$.call(arguments), i,\n len = params.length, wlen = where.length,\n ta = args ? args.concat() : [], tw = where ? where.concat() : [];\n for(i = 0; i < len; ++i) { ta[tw[0]] = params[i]; tw.shift(); }\n return len < wlen && len ?\n partialize$.apply(context, [f, ta, tw]) : f.apply(context, ta);\n };\n}", + not: "function(x){ return !x; }", + deepEq: "function(x, y, type){\n var toString = {}.toString, hasOwnProperty = {}.hasOwnProperty,\n has = function (obj, key) { return hasOwnProperty.call(obj, key); };\n var first = true;\n return eq(x, y, []);\n function eq(a, b, stack) {\n var className, length, size, result, alength, blength, r, key, ref, sizeB;\n if (a == null || b == null) { return a === b; }\n if (a.__placeholder__ || b.__placeholder__) { return true; }\n if (a === b) { return a !== 0 || 1 / a == 1 / b; }\n className = toString.call(a);\n if (toString.call(b) != className) { return false; }\n switch (className) {\n case '[object String]': return a == String(b);\n case '[object Number]':\n return a != +a ? b != +b : (a == 0 ? 1 / a == 1 / b : a == +b);\n case '[object Date]':\n case '[object Boolean]':\n return +a == +b;\n case '[object RegExp]':\n return a.source == b.source &&\n a.global == b.global &&\n a.multiline == b.multiline &&\n a.ignoreCase == b.ignoreCase;\n }\n if (typeof a != 'object' || typeof b != 'object') { return false; }\n length = stack.length;\n while (length--) { if (stack[length] == a) { return true; } }\n stack.push(a);\n size = 0;\n result = true;\n if (className == '[object Array]') {\n alength = a.length;\n blength = b.length;\n if (first) { \n switch (type) {\n case '===': result = alength === blength; break;\n case '<==': result = alength <= blength; break;\n case '<<=': result = alength < blength; break;\n }\n size = alength;\n first = false;\n } else {\n result = alength === blength;\n size = alength;\n }\n if (result) {\n while (size--) {\n if (!(result = size in a == size in b && eq(a[size], b[size], stack))){ break; }\n }\n }\n } else {\n if ('constructor' in a != 'constructor' in b || a.constructor != b.constructor) {\n return false;\n }\n for (key in a) {\n if (has(a, key)) {\n size++;\n if (!(result = has(b, key) && eq(a[key], b[key], stack))) { break; }\n }\n }\n if (result) {\n sizeB = 0;\n for (key in b) {\n if (has(b, key)) { ++sizeB; }\n }\n if (first) {\n if (type === '<<=') {\n result = size < sizeB;\n } else if (type === '<==') {\n result = size <= sizeB\n } else {\n result = size === sizeB;\n }\n } else {\n first = false;\n result = size === sizeB;\n }\n }\n }\n stack.pop();\n return result;\n }\n}", + split: "''.split", + replace: "''.replace", + toString: "{}.toString", + join: "[].join", + slice: "[].slice", + splice: "[].splice" + }, Z = 0, et = 1, tt = 2, nt = 3, rt = 4, it = 5, + function () { + this["&&"] = this["||"] = this.xor = .2, this[".&."] = this[".^."] = this[".|."] = .3, this["=="] = this["!="] = this["~="] = this["!~="] = this["==="] = this["!=="] = .4, this["<"] = this[">"] = this["<="] = this[">="] = this.of = this["instanceof"] = .5, this["<<="] = this[">>="] = this["<=="] = this[">=="] = this["++"] = .5, this[".<<."] = this[".>>."] = this[".>>>."] = .6, this["+"] = this["-"] = .7, this["*"] = this["/"] = this["%"] = .8 + }.call(st = { + unary: .9 + }), ot = " ", ut = /^(?!\d)[\w$\xAA-\uFFDC]+$/, at = /^\d+$/ + }.call(this, e["./ast"] = {}), + function (t) { + var n, r; + n = e("./lexer"), r = e("./parser").parser, r.yy = e("./ast"), r.lexer = { + lex: function () { + var e, t; + return e = this.tokens[++this.pos] || [""], t = e[0], this.yytext = e[1], this.yylineno = e[2], t + }, + setInput: function (e) { + return this.pos = -1, this.tokens = e + }, + upcomingInput: function () { + return "" + } + }, t.VERSION = "1.2.0", t.compile = function (e, t) { + var i, s; + try { + return r.parse(n.lex(e)).compileRoot(t) + } catch (o) { + i = o; + if (s = t != null ? t.filename : void 8) i.message += "\nat " + s; + throw i + } + }, t.ast = function (e) { + return r.parse(typeof e == "string" ? n.lex(e) : e) + }, t.tokens = n.lex, t.lex = function (e) { + return n.lex(e, { + raw: !0 + }) + }, t.run = function (e, n) { + var r; + return Function(t.compile(e, (r = {}, o(r, n), r.bare = !0, r)))() + }, t.tokens.rewrite = n.rewrite, f(t.ast, r.yy), e.extensions ? e("./node")(t) : (t.require = e, "" + this == "[object BackstagePass]" && (this.EXPORTED_SYMBOLS = ["LiveScript"])) + }.call(this, e["./livescript"] = {}), e["./livescript"] +}(), this.window && function () { + function u(e, t) { + var n = -1, + r = t.length >>> 0; + while (++n < r) + if (e === t[n]) return !0; + return !1 + } + var e, t, n, r, i, s, o; + LiveScript.stab = function (e, t, n, r) { + var i; + try { + LiveScript.run(e, { + filename: n + }) + } catch (s) { + i = s, r + } + return typeof t == "function" ? t(r) : void 8 + }, LiveScript.load = function (e, t) { + var n; + return n = new XMLHttpRequest, n.open("GET", e, !0), u("overrideMimeType", n) && n.overrideMimeType("text/plain"), n.onreadystatechange = function () { + var r; + n.readyState === 4 && ((r = n.status) === 200 || r === 0 ? LiveScript.stab(n.responseText, t, e) : typeof t == "function" && t(Error(e + ": " + n.status + " " + n.statusText))) + }, n.send(null), n + }, e = /^(?:text\/|application\/)?ls$/i, t = function (e) { + e && setTimeout(function () { + throw e + }) + }; + for (n = 0, i = (r = document.getElementsByTagName("script")).length; n < i; ++n) s = r[n], e.test(s.type) && ((o = s.src) ? LiveScript.load(o, t) : LiveScript.stab(s.innerHTML, t, s.id)) +}(), this.LiveScript; \ No newline at end of file diff --git a/app/scripts/controllers/function-controller.js b/app/scripts/controllers/function-controller.js index c9da0f25..c61277d2 100644 --- a/app/scripts/controllers/function-controller.js +++ b/app/scripts/controllers/function-controller.js @@ -58,25 +58,94 @@ schemaModule.controller("FunctionController", ['$scope', '$routeParams', '$locat var sqlText = 'select * from oFunction order by name'; + $scope.precompileFunction = function( f ) { + //console.log( "[precompileFunction]" ); + + if ( f.icedcoffeescript !== undefined ) { + //console.log( "[precompileFunction] parameters are " + JSON.stringify( f[ 'parameters' ] ) ); + var scriptParamsPart = "("; + for ( var p in f[ 'parameters' ] ) { + if ( f[ 'parameters' ].hasOwnProperty( p ) ) { + scriptParamsPart += ( scriptParamsPart.length > 1 ? ", " : " " ) + f[ 'parameters' ][ p ]; + } + } + scriptParamsPart += " )"; + + var script = "functionBody = " + scriptParamsPart + " -> \n" + + var lines = f.icedcoffeescript.split( "\n" ); + for ( var l in lines ) { + script += "\n\t" + lines[ l ]; + } + + //console.log( "[precompileFunction] Trying to compile:\n" + script ); + + var compiledScript = ""; + try { + compiledScript = CoffeeScript.compile( script ); + + compiledScript = compiledScript.slice( 13, -15 ); + compiledScript += "\nreturn functionBody" + scriptParamsPart + ";"; + } + catch (e) { + compiledScript = ' return "' + e + '";'; + } + + f.code = compiledScript; + //console.log( "[precompileFunction] Compiled script =\n" + compiledScript ); + } + else if ( f.livescript !== undefined ) { + //console.log( "[precompileFunction] parameters are " + JSON.stringify( f[ 'parameters' ] ) ); + var scriptParamsPart = ""; + for ( var p in f[ 'parameters' ] ) { + if ( f[ 'parameters' ].hasOwnProperty( p ) ) { + scriptParamsPart += ( scriptParamsPart.length > 0 ? ", " : "(" ) + f[ 'parameters' ][ p ]; + } + } + if ( scriptParamsPart.length > 0 ) + scriptParamsPart += ")"; + + var script = "functionBody = " + scriptParamsPart + " --> \n" + + var lines = f.livescript.split( "\n" ); + for ( var l in lines ) { + script += "\n\t" + lines[ l ]; + } + + //console.log( "[precompileFunction] Trying to compile:\n" + script ); + + var compiledScript = ""; + try { + compiledScript = LiveScript.compile( script ); + + compiledScript = compiledScript.slice( 13, -15 ); + compiledScript += "\nreturn functionBody" + ( scriptParamsPart.length > 0 ? scriptParamsPart : "()" ) + ";"; + } + catch (e) { + compiledScript = ' return "' + e + '";'; + } + + f.code = compiledScript; + //console.log( "[precompileFunction] Compiled script =\n" + compiledScript ); + } + } + + $scope.fixFunctionToExecuteForPrecompiledLanguages = function() { if ( $scope.functionToExecute ) { - var debugString = ""; var isPrecompiledLanguage = false; for ( var precompiledLanguageName in $scope.precompiledLanguageToPropertyNameMapping ) { if ( precompiledLanguageName !== $scope.functionToExecute[ 'language' ] ) { if ( $scope.functionToExecute[ 'language' ] == 'Javascript' && $scope.functionToExecute[ $scope.precompiledLanguageToPropertyNameMapping[ precompiledLanguageName ] ] ) { - debugString += "Has property " + $scope.precompiledLanguageToPropertyNameMapping[ precompiledLanguageName ] + " so we will assume this is the language...\n"; isPrecompiledLanguage = true; $scope.functionToExecute[ 'language' ] = precompiledLanguageName; } else { delete( $scope.functionToExecute[ $scope.precompiledLanguageToPropertyNameMapping[ precompiledLanguageName ] ] ); - debugString += "Deleting property " + $scope.precompiledLanguageToPropertyNameMapping[ precompiledLanguageName ] + "\n"; } } else { isPrecompiledLanguage = true; - debugString += "language " + $scope.precompiledLanguageToPropertyNameMapping[ precompiledLanguageName ] + "\n"; } } @@ -85,20 +154,17 @@ schemaModule.controller("FunctionController", ['$scope', '$routeParams', '$locat var propertyName = $scope.precompiledLanguageToPropertyNameMapping[ $scope.functionToExecute[ 'language' ] ]; if ( ! $scope.functionToExecute.hasOwnProperty( propertyName ) ) { $scope.functionToExecute[ propertyName ] = ""; - debugString += "Adding property " + propertyName + "\n"; } //language should be javascript, NOT IcedCoffeeScript or LiveScript - debugString += "Resetting language from " + $scope.functionToExecute[ 'language' ] + " to Javascript..." + "\n"; $scope.functionToExecute[ 'language' ] = 'Javascript'; - } - console.log( debugString ); - - } - else { - console.log( "Not fixing functionToExecute, because it is not defined..." ); + $scope.precompileFunction( $scope.functionToExecute ); + } } +// else { +// console.log( "Not fixing functionToExecute, because it is not defined..." ); +// } } @@ -285,7 +351,10 @@ schemaModule.controller("FunctionController", ['$scope', '$routeParams', '$locat $scope.saveFunction = function () { $scope.resultExecute = ''; if ($scope.functionToExecute['language'] != undefined && $scope.functionToExecute['name'] != undefined && $scope.functionToExecute['name'] != '') { - if ($scope.isNewFunction == true) { + + $scope.fixFunctionToExecuteForPrecompiledLanguages(); + + if ($scope.isNewFunction == true) { DocumentApi.createDocument($scope.database.getName(), $scope.functionToExecute['@rid'], $scope.functionToExecute, function (data) { $scope.getListFunction(); From 80c808587a57c8bb0ec6351fe65e6e796f5d7938 Mon Sep 17 00:00:00 2001 From: Frederik Tilkin Date: Tue, 24 Jun 2014 12:15:40 +0200 Subject: [PATCH 3/4] Added some functionality to allow for other languages like IcedCoffeeScript and LiveScript. Their code will be saved in different properties of the OFunction object, and the language will still be 'Javascript'. At this time, it is assumed that the proper Hook is enabled that will compile code in either the icecoffeescript or livescript property to javascript before saving, but this could easily be changed such that the Studio itself compiles the javascript before saving the function. This is a TODO, but I want some feedback first from other people who are interested in this feature about what the best solution would be: create a 'studio-only' solution, or require the hook, such that anyone who tries to save an OFunction document with an extra property like livescript or icedcoffeescript will be sure that the code property will get updated automatically with the compiled javascript code... --- .../controllers/function-controller.js | 77 +++++++++++++++++-- app/views/database/functions.html | 22 +++++- 2 files changed, 88 insertions(+), 11 deletions(-) diff --git a/app/scripts/controllers/function-controller.js b/app/scripts/controllers/function-controller.js index c61277d2..5f07b554 100644 --- a/app/scripts/controllers/function-controller.js +++ b/app/scripts/controllers/function-controller.js @@ -15,22 +15,52 @@ schemaModule.controller("FunctionController", ['$scope', '$routeParams', '$locat } }, onLoad: function (_cm) { + //store the codemirror instance in the scope, so we can manipulate it later on if required ( for instance hiding it with $scope.codemirrorCode.getWrapperElement().style.display = 'none' ) $scope.vcm = _cm; + $scope.codemirrorCode = _cm; $scope.createNewFunction(); } }; - $scope.icedcoffeescriptEditorOptions = $scope.editorOptions; - $scope.icedcoffeescriptEditorOptions.mode = 'coffeescript'; - delete( $scope.icedcoffeescriptEditorOptions.onLoad ); - $scope.livescriptEditorOptions = $scope.editorOptions; - $scope.livescriptEditorOptions.mode = 'livescript'; - delete( $scope.livescriptEditorOptions.onLoad ); + $scope.icedcoffeescriptEditorOptions = { + lineWrapping: true, + lineNumbers: true, + readOnly: false, + mode: 'javascript', //'coffeescript' doesn't seem to do any code highligting? + extraKeys: { + "Ctrl-Enter": function (instance) { + $scope.executeFunction(); + + } + }, + onLoad: function (_cm) { + //store the codemirror instance in the scope, so we can manipulate it later on if required ( for instance hiding it with $scope.codemirrorIcedCoffeeScript.getWrapperElement().style.display = 'none' ) + $scope.codemirrorIcedCoffeeScript = _cm; + } + }; + + $scope.livescriptEditorOptions = { + lineWrapping: true, + lineNumbers: true, + readOnly: false, + mode: 'javascript', //'livescript' doesn't seem to do any code highligting? + extraKeys: { + "Ctrl-Enter": function (instance) { + $scope.executeFunction(); + + } + }, + onLoad: function (_cm) { + //store the codemirror instance in the scope, so we can manipulate it later on if required ( for instance hiding it with $scope.codemirrorLiveScript.getWrapperElement().style.display = 'none' ) + $scope.codemirrorLiveScript = _cm; + } + }; Database.setWiki("https://github.com/orientechnologies/orientdb-studio/wiki/Functions"); $scope.functions = new Array; + // You can easily disable support for the 'extra' script languages here $scope.enableIcedCoffeeScript = true; $scope.enableLiveScript = true; @@ -61,7 +91,7 @@ schemaModule.controller("FunctionController", ['$scope', '$routeParams', '$locat $scope.precompileFunction = function( f ) { //console.log( "[precompileFunction]" ); - if ( f.icedcoffeescript !== undefined ) { + if (f.icedcoffeescript !== undefined ) { //console.log( "[precompileFunction] parameters are " + JSON.stringify( f[ 'parameters' ] ) ); var scriptParamsPart = "("; for ( var p in f[ 'parameters' ] ) { @@ -168,7 +198,38 @@ schemaModule.controller("FunctionController", ['$scope', '$routeParams', '$locat } - $scope.getListFunction = function () { + + /** + * When functionToExecute changes, make sure all the right comdemirror editors are visible and hidden + */ + $scope.$watch( 'functionToExecute', function ( f2Exec ) { + //console.log( "selectedFunction has changed ! " + JSON.stringify( data ) ); + + var codeVisible = true; + var coffeescriptVisible = false; + var livescriptVisible = false; + + //BY DEFAULT 'CODE' is visible, show a different editor in some cases (compile-to-JS languages) + if ( $scope.functionToExecute.language == 'Javascript' ) { + if ( $scope.enableIcedCoffeeScript && $scope.functionToExecute.hasOwnProperty( 'icedcoffeescript' ) ) { + codeVisible = false; + coffeescriptVisible = true; + livescriptVisible = false; + } + else if ( $scope.enableLiveScript && $scope.functionToExecute.hasOwnProperty( 'livescript' ) ) { + codeVisible = false; + coffeescriptVisible = false; + livescriptVisible = true; + } + } + + $scope.codemirrorCode.getWrapperElement().style.display = codeVisible ? "block" : "none"; + $scope.codemirrorIcedCoffeeScript.getWrapperElement().style.display = coffeescriptVisible ? "block" : "none"; + $scope.codemirrorLiveScript.getWrapperElement().style.display = livescriptVisible ? "block" : "none"; + } ); + + + $scope.getListFunction = function () { $scope.functions = new Array; $scope.functionsrid = new Array; CommandApi.queryText({database: $routeParams.database, language: 'sql', verbose: false, text: sqlText, limit: $scope.limit, shallow: false}, function (data) { diff --git a/app/views/database/functions.html b/app/views/database/functions.html index b9c3dacc..04dffb34 100644 --- a/app/views/database/functions.html +++ b/app/views/database/functions.html @@ -73,9 +73,25 @@
-
-
-
+ + + + +
+ + + + +
+ + + +
From 708a5e36f67a1dc6faf49f9dc16e2ca9d131d9a4 Mon Sep 17 00:00:00 2001 From: Frederik Tilkin Date: Tue, 24 Jun 2014 13:04:32 +0200 Subject: [PATCH 4/4] Removed some useless comments from the html. --- app/views/database/functions.html | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/app/views/database/functions.html b/app/views/database/functions.html index 04dffb34..4da10ac2 100644 --- a/app/views/database/functions.html +++ b/app/views/database/functions.html @@ -73,24 +73,8 @@
- - - -
- - - -
- - -