packages/miew-cli/dist/miew-cli.min.js.map
{"version":3,"file":"miew-cli.min.js","sources":["../../../node_modules/@babel/runtime/helpers/typeof.js","../../../node_modules/@babel/runtime/helpers/classCallCheck.js","../../../node_modules/@babel/runtime/helpers/createClass.js","../src/MiewCLIParser.js","../src/MiewCLIHelp.js","../src/EventDispatcher.js","../src/logger.js","../../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../../node_modules/@babel/runtime/helpers/inherits.js","../../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../../../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../../../node_modules/@babel/runtime/helpers/isNativeFunction.js","../../../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","../../../node_modules/@babel/runtime/helpers/construct.js","../../../node_modules/@babel/runtime/helpers/wrapNativeSuper.js","../../../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../../../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../../../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../../../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../../../node_modules/@babel/runtime/helpers/nonIterableRest.js","../../../node_modules/@babel/runtime/helpers/slicedToArray.js","../src/utils.js","../src/Miew-cli.js"],"sourcesContent":["function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\n\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/* eslint-disable */\r\n// DO NOT EDIT! Automatically generated from .jison\r\n/* parser generated by jison 0.4.18 */\r\n/*\r\n Returns a Parser object of the following structure:\r\n\r\n Parser: {\r\n yy: {}\r\n }\r\n\r\n Parser.prototype: {\r\n yy: {},\r\n trace: function(),\r\n symbols_: {associative list: name ==> number},\r\n terminals_: {associative list: number ==> name},\r\n productions_: [...],\r\n performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$),\r\n table: [...],\r\n defaultActions: {...},\r\n parseError: function(str, hash),\r\n parse: function(input),\r\n\r\n lexer: {\r\n EOF: 1,\r\n parseError: function(str, hash),\r\n setInput: function(input),\r\n input: function(),\r\n unput: function(str),\r\n more: function(),\r\n less: function(n),\r\n pastInput: function(),\r\n upcomingInput: function(),\r\n showPosition: function(),\r\n test_match: function(regex_match_array, rule_index),\r\n next: function(),\r\n lex: function(),\r\n begin: function(condition),\r\n popState: function(),\r\n _currentRules: function(),\r\n topState: function(),\r\n pushState: function(condition),\r\n\r\n options: {\r\n ranges: boolean (optional: true ==> token location info will include a .range[] member)\r\n flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match)\r\n backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code)\r\n },\r\n\r\n performAction: function(yy, yy_, $avoiding_name_collisions, YY_START),\r\n rules: [...],\r\n conditions: {associative list: name ==> set},\r\n }\r\n }\r\n\r\n\r\n token location info (@$, _$, etc.): {\r\n first_line: n,\r\n last_line: n,\r\n first_column: n,\r\n last_column: n,\r\n range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based)\r\n }\r\n\r\n\r\n the parseError function receives a 'hash' object with these members for lexer and parser errors: {\r\n text: (matched text)\r\n token: (the produced terminal token, if any)\r\n line: (yylineno)\r\n }\r\n while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: {\r\n loc: (yylloc)\r\n expected: (string describing the set of expected tokens)\r\n recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error)\r\n }\r\n*/\r\nvar parser = (function () {\r\n var o = function (k, v, o, l) {\r\n for (o = o || {}, l = k.length; l--; o[k[l]] = v);\r\n return o\r\n },\r\n $V0 = [1, 60],\r\n $V1 = [1, 62],\r\n $V2 = [1, 63],\r\n $V3 = [1, 65],\r\n $V4 = [1, 66],\r\n $V5 = [1, 67],\r\n $V6 = [1, 68],\r\n $V7 = [1, 69],\r\n $V8 = [1, 80],\r\n $V9 = [1, 72],\r\n $Va = [1, 73],\r\n $Vb = [1, 74],\r\n $Vc = [1, 75],\r\n $Vd = [1, 99],\r\n $Ve = [1, 76],\r\n $Vf = [1, 100],\r\n $Vg = [1, 79],\r\n $Vh = [1, 51],\r\n $Vi = [1, 81],\r\n $Vj = [1, 82],\r\n $Vk = [1, 84],\r\n $Vl = [1, 83],\r\n $Vm = [1, 85],\r\n $Vn = [1, 96],\r\n $Vo = [1, 97],\r\n $Vp = [1, 98],\r\n $Vq = [1, 86],\r\n $Vr = [1, 87],\r\n $Vs = [1, 64],\r\n $Vt = [1, 70],\r\n $Vu = [1, 71],\r\n $Vv = [1, 77],\r\n $Vw = [1, 78],\r\n $Vx = [1, 53],\r\n $Vy = [1, 54],\r\n $Vz = [1, 55],\r\n $VA = [1, 61],\r\n $VB = [1, 88],\r\n $VC = [1, 89],\r\n $VD = [1, 90],\r\n $VE = [1, 91],\r\n $VF = [1, 92],\r\n $VG = [1, 93],\r\n $VH = [1, 94],\r\n $VI = [1, 95],\r\n $VJ = [1, 101],\r\n $VK = [1, 102],\r\n $VL = [1, 103],\r\n $VM = [1, 104],\r\n $VN = [1, 105],\r\n $VO = [1, 56],\r\n $VP = [1, 57],\r\n $VQ = [1, 58],\r\n $VR = [1, 59],\r\n $VS = [1, 115],\r\n $VT = [1, 111],\r\n $VU = [1, 114],\r\n $VV = [1, 112],\r\n $VW = [1, 113],\r\n $VX = [1, 118],\r\n $VY = [1, 117],\r\n $VZ = [1, 134],\r\n $V_ = [1, 149],\r\n $V$ = [1, 150],\r\n $V01 = [1, 157],\r\n $V11 = [\r\n 5, 6, 7, 9, 13, 14, 15, 17, 18, 19, 20, 23, 25, 26, 27, 30, 33, 34, 35,\r\n 37, 38, 41, 43, 45, 46, 49, 52, 54, 55, 56, 58, 59, 62, 64, 65, 66, 70,\r\n 72, 74, 77, 78, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,\r\n 96, 97, 98, 99, 101\r\n ],\r\n $V21 = [\r\n 5, 6, 7, 9, 13, 14, 15, 17, 18, 19, 20, 23, 25, 26, 27, 30, 33, 34, 35,\r\n 37, 38, 41, 43, 45, 46, 49, 52, 54, 55, 56, 58, 59, 62, 64, 65, 66, 70,\r\n 71, 72, 74, 77, 78, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,\r\n 95, 96, 97, 98, 99, 101\r\n ],\r\n $V31 = [\r\n 5, 6, 7, 9, 13, 15, 17, 18, 19, 20, 23, 25, 26, 27, 30, 33, 34, 37, 38,\r\n 41, 43, 45, 46, 49, 52, 54, 55, 56, 58, 59, 62, 64, 65, 66, 70, 72, 82,\r\n 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95\r\n ],\r\n $V41 = [5, 70, 72],\r\n $V51 = [5, 74],\r\n $V61 = [71, 101]\r\n var parser = {\r\n trace: function trace() {},\r\n yy: {},\r\n symbols_: {\r\n error: 2,\r\n Program: 3,\r\n Command: 4,\r\n EOF: 5,\r\n RESET: 6,\r\n BUILD: 7,\r\n ALL: 8,\r\n HELP: 9,\r\n Path: 10,\r\n MOTM: 11,\r\n OneArgCommand: 12,\r\n GET: 13,\r\n STRING: 14,\r\n SET: 15,\r\n Value: 16,\r\n SET_SAVE: 17,\r\n SET_RESTORE: 18,\r\n SET_RESET: 19,\r\n PRESET: 20,\r\n AddRepresentation: 21,\r\n EditRepresentation: 22,\r\n REMOVE: 23,\r\n RepresentationReference: 24,\r\n HIDE: 25,\r\n SHOW: 26,\r\n LIST: 27,\r\n EXPAND_KEY: 28,\r\n SELECTOR_KEY: 29,\r\n SELECT: 30,\r\n AS: 31,\r\n WordAll: 32,\r\n SELECTOR: 33,\r\n WITHIN: 34,\r\n NUMBER: 35,\r\n OF: 36,\r\n MATERIAL: 37,\r\n IDENTIFIER: 38,\r\n ModeCMD: 39,\r\n ColorCMD: 40,\r\n VIEW: 41,\r\n BASE_64: 42,\r\n UNIT: 43,\r\n DSSP: 44,\r\n SCALE: 45,\r\n ROTATE: 46,\r\n AxesList: 47,\r\n TRANSLATE: 48,\r\n CENTER: 49,\r\n GetURLBranch: 50,\r\n Screenshot: 51,\r\n LINE: 52,\r\n ArgList: 53,\r\n LISTOBJ: 54,\r\n REMOVEOBJ: 55,\r\n URL: 56,\r\n VIEW_KEY: 57,\r\n SCREENSHOT: 58,\r\n LOAD: 59,\r\n Url: 60,\r\n FILE_KEY: 61,\r\n ADD: 62,\r\n Description: 63,\r\n REP: 64,\r\n MODE: 65,\r\n COLOR: 66,\r\n Descriptor: 67,\r\n RepresentationOwnProperty: 68,\r\n RepresentationOwnPropertyOpts: 69,\r\n DESC_KEY: 70,\r\n '=': 71,\r\n DESC_KEY_OPTS: 72,\r\n AxesArg: 73,\r\n DESC_KEY_AXES: 74,\r\n Arg: 75,\r\n PathWoDescKey: 76,\r\n HEX: 77,\r\n BOOL: 78,\r\n Word: 79,\r\n CommandSetWoDESC_KEY: 80,\r\n DescKeys: 81,\r\n CLEAR: 82,\r\n FILE_LIST: 83,\r\n FILE_REGISTER: 84,\r\n FILE_DELETE: 85,\r\n PRESET_ADD: 86,\r\n PRESET_DELETE: 87,\r\n PRESET_UPDATE: 88,\r\n PRESET_RENAME: 89,\r\n PRESET_OPEN: 90,\r\n CREATE_SCENARIO: 91,\r\n RESET_SCENARIO: 92,\r\n DELETE_SCENARIO: 93,\r\n ADD_SCENARIO_ITEM: 94,\r\n LIST_SCENARIO: 95,\r\n PDB_KEY: 96,\r\n DELAY_KEY: 97,\r\n PRST_KEY: 98,\r\n DESCRIPTION_KEY: 99,\r\n CommandSet: 100,\r\n '.': 101,\r\n PresetPath: 102,\r\n '/': 103,\r\n HexOrNumber: 104,\r\n $accept: 0,\r\n $end: 1\r\n },\r\n terminals_: {\r\n 2: 'error',\r\n 5: 'EOF',\r\n 6: 'RESET',\r\n 7: 'BUILD',\r\n 8: 'ALL',\r\n 9: 'HELP',\r\n 11: 'MOTM',\r\n 13: 'GET',\r\n 14: 'STRING',\r\n 15: 'SET',\r\n 17: 'SET_SAVE',\r\n 18: 'SET_RESTORE',\r\n 19: 'SET_RESET',\r\n 20: 'PRESET',\r\n 23: 'REMOVE',\r\n 25: 'HIDE',\r\n 26: 'SHOW',\r\n 27: 'LIST',\r\n 28: 'EXPAND_KEY',\r\n 29: 'SELECTOR_KEY',\r\n 30: 'SELECT',\r\n 31: 'AS',\r\n 33: 'SELECTOR',\r\n 34: 'WITHIN',\r\n 35: 'NUMBER',\r\n 36: 'OF',\r\n 37: 'MATERIAL',\r\n 38: 'IDENTIFIER',\r\n 41: 'VIEW',\r\n 42: 'BASE_64',\r\n 43: 'UNIT',\r\n 44: 'DSSP',\r\n 45: 'SCALE',\r\n 46: 'ROTATE',\r\n 48: 'TRANSLATE',\r\n 49: 'CENTER',\r\n 52: 'LINE',\r\n 54: 'LISTOBJ',\r\n 55: 'REMOVEOBJ',\r\n 56: 'URL',\r\n 57: 'VIEW_KEY',\r\n 58: 'SCREENSHOT',\r\n 59: 'LOAD',\r\n 61: 'FILE_KEY',\r\n 62: 'ADD',\r\n 64: 'REP',\r\n 65: 'MODE',\r\n 66: 'COLOR',\r\n 70: 'DESC_KEY',\r\n 71: '=',\r\n 72: 'DESC_KEY_OPTS',\r\n 74: 'DESC_KEY_AXES',\r\n 77: 'HEX',\r\n 78: 'BOOL',\r\n 82: 'CLEAR',\r\n 83: 'FILE_LIST',\r\n 84: 'FILE_REGISTER',\r\n 85: 'FILE_DELETE',\r\n 86: 'PRESET_ADD',\r\n 87: 'PRESET_DELETE',\r\n 88: 'PRESET_UPDATE',\r\n 89: 'PRESET_RENAME',\r\n 90: 'PRESET_OPEN',\r\n 91: 'CREATE_SCENARIO',\r\n 92: 'RESET_SCENARIO',\r\n 93: 'DELETE_SCENARIO',\r\n 94: 'ADD_SCENARIO_ITEM',\r\n 95: 'LIST_SCENARIO',\r\n 96: 'PDB_KEY',\r\n 97: 'DELAY_KEY',\r\n 98: 'PRST_KEY',\r\n 99: 'DESCRIPTION_KEY',\r\n 101: '.',\r\n 103: '/'\r\n },\r\n productions_: [\r\n 0,\r\n [3, 2],\r\n [3, 1],\r\n [4, 1],\r\n [4, 1],\r\n [4, 2],\r\n [4, 1],\r\n [4, 2],\r\n [4, 1],\r\n [4, 1],\r\n [4, 2],\r\n [4, 2],\r\n [4, 3],\r\n [4, 3],\r\n [4, 1],\r\n [4, 1],\r\n [4, 1],\r\n [4, 1],\r\n [4, 2],\r\n [4, 1],\r\n [4, 1],\r\n [4, 2],\r\n [4, 2],\r\n [4, 2],\r\n [4, 2],\r\n [4, 1],\r\n [4, 2],\r\n [4, 2],\r\n [4, 2],\r\n [4, 4],\r\n [4, 2],\r\n [4, 6],\r\n [4, 2],\r\n [4, 1],\r\n [4, 1],\r\n [4, 1],\r\n [4, 2],\r\n [4, 2],\r\n [4, 1],\r\n [4, 2],\r\n [4, 1],\r\n [4, 2],\r\n [4, 2],\r\n [4, 2],\r\n [4, 1],\r\n [4, 2],\r\n [4, 1],\r\n [4, 1],\r\n [4, 3],\r\n [4, 3],\r\n [4, 4],\r\n [4, 4],\r\n [4, 1],\r\n [4, 2],\r\n [50, 1],\r\n [50, 2],\r\n [50, 2],\r\n [50, 3],\r\n [50, 3],\r\n [51, 1],\r\n [51, 2],\r\n [51, 3],\r\n [12, 2],\r\n [12, 2],\r\n [12, 2],\r\n [21, 1],\r\n [21, 2],\r\n [21, 2],\r\n [21, 3],\r\n [22, 2],\r\n [22, 3],\r\n [39, 2],\r\n [39, 3],\r\n [40, 2],\r\n [40, 3],\r\n [24, 1],\r\n [24, 1],\r\n [63, 1],\r\n [63, 2],\r\n [63, 3],\r\n [63, 4],\r\n [67, 1],\r\n [67, 1],\r\n [67, 2],\r\n [68, 3],\r\n [69, 3],\r\n [47, 1],\r\n [47, 2],\r\n [73, 2],\r\n [53, 1],\r\n [53, 2],\r\n [75, 3],\r\n [16, 1],\r\n [16, 1],\r\n [16, 1],\r\n [16, 1],\r\n [16, 1],\r\n [79, 1],\r\n [79, 1],\r\n [32, 1],\r\n [32, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [80, 1],\r\n [81, 1],\r\n [81, 1],\r\n [81, 1],\r\n [81, 1],\r\n [81, 1],\r\n [81, 1],\r\n [81, 1],\r\n [100, 1],\r\n [100, 1],\r\n [76, 1],\r\n [76, 3],\r\n [76, 3],\r\n [10, 1],\r\n [10, 1],\r\n [10, 3],\r\n [10, 3],\r\n [10, 3],\r\n [60, 1],\r\n [102, 1],\r\n [102, 3],\r\n [104, 1],\r\n [104, 1]\r\n ],\r\n performAction: function anonymous(\r\n yytext,\r\n yyleng,\r\n yylineno,\r\n yy,\r\n yystate /* action[1] */,\r\n $$ /* vstack */,\r\n _$ /* lstack */\r\n ) {\r\n /* this == yyval */\r\n\r\n var $0 = $$.length - 1\r\n switch (yystate) {\r\n case 1:\r\n return $$[$0 - 1]\r\n break\r\n case 3:\r\n this.$ = yy.miew.reset(false)\r\n yy.ClearContext()\r\n yy.miew.resetReps('empty')\r\n break\r\n case 4:\r\n this.$ = yy.miew.rebuild()\r\n break\r\n case 5:\r\n this.$ = yy.miew.rebuildAll()\r\n yy.miew.rebuild()\r\n break\r\n case 6:\r\n this.$ = yy.echo(yy.utils.help().toString())\r\n break\r\n case 7:\r\n this.$ = yy.echo(yy.utils.help($$[$0]).toString())\r\n break\r\n case 8:\r\n this.$ = yy.miew.motm()\r\n break\r\n case 10:\r\n case 11:\r\n this.$ = yy.utils.propagateProp($$[$0])\r\n yy.echo(yy.miew.get($$[$0]).toString())\r\n break\r\n case 12:\r\n case 13:\r\n this.$ = yy.miew.set(\r\n $$[$0 - 1],\r\n yy.utils.propagateProp($$[$0 - 1], $$[$0])\r\n )\r\n break\r\n case 14:\r\n this.$ = yy.miew.saveSettings()\r\n break\r\n case 15:\r\n this.$ = yy.miew.restoreSettings()\r\n break\r\n case 16:\r\n this.$ = yy.miew.resetSettings()\r\n break\r\n case 17:\r\n this.$ = yy.miew.resetReps()\r\n break\r\n case 18:\r\n this.$ = yy.miew.applyPreset($$[$0])\r\n break\r\n case 21:\r\n this.$ = yy.miew.repRemove($$[$0])\r\n yy.representations.remove($$[$0])\r\n break\r\n case 22:\r\n this.$ = yy.miew.repHide($$[$0])\r\n break\r\n case 23:\r\n this.$ = yy.miew.repHide($$[$0], false)\r\n break\r\n case 24:\r\n this.$ = yy.echo(\r\n yy.utils.listRep(yy.miew, yy.representations, $$[$0], '-e')\r\n )\r\n break\r\n case 25:\r\n this.$ = yy.echo(yy.utils.list(yy.miew, yy.representations))\r\n break\r\n case 26:\r\n this.$ = yy.echo(yy.utils.list(yy.miew, yy.representations, $$[$0]))\r\n break\r\n case 27:\r\n this.$ = yy.echo(yy.utils.listSelector(yy.miew, yy.Context))\r\n break\r\n case 28:\r\n this.$ = yy.miew.select(\r\n yy.utils.checkArg($$[$0 - 1].toLowerCase(), $$[$0], true)\r\n )\r\n break\r\n case 29:\r\n this.$ = yy.Context[$$[$0].toLowerCase()] = yy.utils.checkArg(\r\n $$[$0 - 3].toLowerCase(),\r\n $$[$0 - 2],\r\n true\r\n )\r\n yy.miew.select(yy.Context[$$[$0].toLowerCase()])\r\n break\r\n case 30:\r\n this.$ = yy.miew.rep(yy.miew.repCurrent(), {\r\n selector: yy.utils.checkArg($$[$0 - 1].toLowerCase(), $$[$0])\r\n })\r\n break\r\n case 31:\r\n this.$ = yy.Context[$$[$0].toLowerCase()] = yy.miew.within(\r\n yy.utils.checkArg('select', $$[$0 - 2], true),\r\n Number($$[$0 - 4])\r\n )\r\n break\r\n case 32:\r\n this.$ = yy.miew.rep(yy.miew.repCurrent(), {\r\n material: yy.utils.checkArg(\r\n $$[$0 - 1].toLowerCase(),\r\n $$[$0].toUpperCase()\r\n )\r\n })\r\n break\r\n case 35:\r\n this.$ = yy.echo(yy.miew.view())\r\n break\r\n case 36:\r\n case 37:\r\n this.$ = yy.miew.view($$[$0])\r\n break\r\n case 38:\r\n this.$ = yy.echo(yy.miew.changeUnit())\r\n break\r\n case 39:\r\n this.$ = yy.echo(yy.miew.changeUnit($$[$0]))\r\n break\r\n case 40:\r\n this.$ = yy.miew.dssp()\r\n break\r\n case 41:\r\n this.$ = yy.miew.scale($$[$0])\r\n break\r\n case 42:\r\n for (var i = 0, n = $$[$0].length; i < n; i++) {\r\n yy.miew.rotate(\r\n ($$[$0][i]['x'] * Math.PI) / 180.0,\r\n ($$[$0][i]['y'] * Math.PI) / 180.0,\r\n ($$[$0][i]['z'] * Math.PI) / 180.0\r\n )\r\n }\r\n break\r\n case 43:\r\n for (var i = 0, n = $$[$0].length; i < n; i++) {\r\n yy.miew.translate(\r\n $$[$0][i]['x'] || 0,\r\n $$[$0][i]['y'] || 0,\r\n $$[$0][i]['z'] || 0\r\n )\r\n }\r\n break\r\n case 44:\r\n this.$ = yy.miew.center()\r\n break\r\n case 45:\r\n this.$ = yy.miew.center($$[$0])\r\n break\r\n case 48:\r\n case 49:\r\n this.$ = yy.miew.addObject(\r\n { type: 'line', params: [$$[$0 - 1], $$[$0]] },\r\n true\r\n )\r\n break\r\n case 50:\r\n case 51:\r\n this.$ = yy.miew.addObject(\r\n {\r\n type: 'line',\r\n params: [$$[$0 - 2], $$[$0 - 1]],\r\n opts: $$[$0].toJSO(yy.utils, 'objects', 'line')\r\n },\r\n true\r\n )\r\n break\r\n case 52:\r\n this.$ = yy.echo(yy.utils.listObjs(yy.miew))\r\n break\r\n case 53:\r\n this.$ = yy.miew.removeObject($$[$0])\r\n break\r\n case 54:\r\n this.$ = yy.echo(yy.miew.getURL({ view: false, settings: false }))\r\n break\r\n case 55:\r\n this.$ = yy.echo(yy.miew.getURL({ view: false, settings: true }))\r\n break\r\n case 56:\r\n this.$ = yy.echo(yy.miew.getURL({ view: true, settings: false }))\r\n break\r\n case 57:\r\n case 58:\r\n this.$ = yy.echo(yy.miew.getURL({ view: true, settings: true }))\r\n break\r\n case 59:\r\n this.$ = yy.miew.screenshotSave()\r\n break\r\n case 60:\r\n this.$ = yy.miew.screenshotSave('', Number($$[$0]))\r\n break\r\n case 61:\r\n this.$ = yy.miew.screenshotSave(\r\n '',\r\n Number($$[$0 - 1]),\r\n Number($$[$0])\r\n )\r\n break\r\n case 62:\r\n case 63:\r\n case 64:\r\n this.$ = yy.utils.load(yy.miew, $$[$0])\r\n yy.representations.clear()\r\n break\r\n case 65:\r\n this.$ = yy.echo(yy.representations.add(yy.miew.repAdd()))\r\n break\r\n case 66:\r\n this.$ = yy.echo(yy.representations.add($$[$0], yy.miew.repAdd()))\r\n break\r\n case 67:\r\n this.$ = yy.echo(yy.representations.add(yy.miew.repAdd($$[$0])))\r\n break\r\n case 68:\r\n this.$ = yy.echo(\r\n yy.representations.add($$[$0 - 1], yy.miew.repAdd($$[$0]))\r\n )\r\n break\r\n case 69:\r\n this.$ = yy.miew.rep($$[$0])\r\n yy.miew.repCurrent($$[$0])\r\n break\r\n case 70:\r\n this.$ = yy.miew.rep($$[$0 - 1], $$[$0])\r\n yy.miew.repCurrent($$[$0 - 1])\r\n break\r\n case 71:\r\n this.$ = yy.miew.rep(yy.miew.repCurrent(), {\r\n mode: yy.utils.checkArg(\r\n $$[$0 - 1].toLowerCase(),\r\n $$[$0].toUpperCase()\r\n )\r\n })\r\n break\r\n case 72:\r\n this.$ = yy.miew.rep(yy.miew.repCurrent(), {\r\n mode: new Array(\r\n yy.utils.checkArg(\r\n $$[$0 - 2].toLowerCase(),\r\n $$[$0 - 1].toUpperCase()\r\n ),\r\n $$[$0].toJSO(yy.utils, $$[$0 - 2], $$[$0 - 1].toUpperCase())\r\n )\r\n })\r\n break\r\n case 73:\r\n this.$ = yy.miew.rep(yy.miew.repCurrent(), {\r\n colorer: yy.utils.checkArg(\r\n $$[$0 - 1].toLowerCase(),\r\n $$[$0].toUpperCase()\r\n )\r\n })\r\n break\r\n case 74:\r\n this.$ = yy.miew.rep(yy.miew.repCurrent(), {\r\n colorer: new Array(\r\n yy.utils.checkArg(\r\n $$[$0 - 2].toLowerCase(),\r\n $$[$0 - 1].toUpperCase()\r\n ),\r\n $$[$0].toJSO(yy.utils, $$[$0 - 2], $$[$0 - 1].toUpperCase())\r\n )\r\n })\r\n break\r\n case 75:\r\n this.$ = Number(yy.representations.get($$[$0]))\r\n break\r\n case 76:\r\n case 92:\r\n this.$ = Number($$[$0])\r\n break\r\n case 77:\r\n this.$ = $$[$0]\r\n break\r\n case 78:\r\n this.$ = yy.assign($$[$0 - 1], $$[$0])\r\n break\r\n case 79:\r\n this.$ = yy.assign($$[$0 - 2], $$[$0 - 1], $$[$0])\r\n break\r\n case 80:\r\n this.$ = yy.assign($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0])\r\n break\r\n case 81:\r\n case 82:\r\n this.$ = yy.CreateObjectPair($$[$0].key, $$[$0].val)\r\n break\r\n case 83:\r\n this.$ = yy.CreateObjectPair(\r\n $$[$0 - 1].key,\r\n new Array(\r\n $$[$0 - 1].val,\r\n $$[$0].toJSO(yy.utils, $$[$0 - 1].key, $$[$0 - 1].val)\r\n )\r\n )\r\n break\r\n case 84:\r\n case 85:\r\n this.$ = Object.create({\r\n key: yy.keyRemap($$[$0 - 2]),\r\n val: yy.utils.checkArg($$[$0 - 2], $$[$0])\r\n })\r\n break\r\n case 86:\r\n this.$ = [$$[$0]]\r\n break\r\n case 87:\r\n this.$ = $$[$0 - 1].concat($$[$0])\r\n break\r\n case 88:\r\n this.$ = yy.CreateObjectPair($$[$0 - 1].toLowerCase(), Number($$[$0]))\r\n break\r\n case 89:\r\n this.$ = new yy.ArgList($$[$0])\r\n break\r\n case 90:\r\n this.$ = $$[$0 - 1].append($$[$0])\r\n break\r\n case 91:\r\n this.$ = new yy.Arg($$[$0 - 2], $$[$0])\r\n break\r\n case 93:\r\n this.$ = parseInt($$[$0])\r\n break\r\n case 94:\r\n this.$ = JSON.parse($$[$0])\r\n break\r\n case 95:\r\n case 96:\r\n this.$ = String($$[$0])\r\n break\r\n case 157:\r\n case 158:\r\n case 161:\r\n case 162:\r\n case 163:\r\n this.$ = $$[$0 - 2] + $$[$0 - 1] + $$[$0] //cause of could be color word in path;\r\n break\r\n case 166:\r\n this.$ = $$[$0 - 2] = $$[$0 - 2] + $$[$0 - 1] + $$[$0]\r\n break\r\n }\r\n },\r\n table: [\r\n {\r\n 3: 1,\r\n 4: 2,\r\n 5: [1, 3],\r\n 6: [1, 4],\r\n 7: [1, 5],\r\n 9: [1, 6],\r\n 11: [1, 7],\r\n 12: 8,\r\n 13: [1, 9],\r\n 15: [1, 10],\r\n 17: [1, 11],\r\n 18: [1, 12],\r\n 19: [1, 13],\r\n 20: [1, 14],\r\n 21: 15,\r\n 22: 16,\r\n 23: [1, 17],\r\n 25: [1, 18],\r\n 26: [1, 19],\r\n 27: [1, 20],\r\n 30: [1, 21],\r\n 33: [1, 22],\r\n 34: [1, 23],\r\n 37: [1, 24],\r\n 39: 25,\r\n 40: 26,\r\n 41: [1, 27],\r\n 43: [1, 28],\r\n 44: [1, 29],\r\n 45: [1, 30],\r\n 46: [1, 31],\r\n 48: [1, 32],\r\n 49: [1, 33],\r\n 50: 34,\r\n 51: 35,\r\n 52: [1, 36],\r\n 54: [1, 37],\r\n 55: [1, 38],\r\n 56: [1, 44],\r\n 58: [1, 45],\r\n 59: [1, 39],\r\n 62: [1, 40],\r\n 64: [1, 41],\r\n 65: [1, 42],\r\n 66: [1, 43]\r\n },\r\n { 1: [3] },\r\n { 5: [1, 46] },\r\n { 1: [2, 2] },\r\n { 5: [2, 3] },\r\n { 5: [2, 4], 8: [1, 47] },\r\n {\r\n 5: [2, 6],\r\n 6: $V0,\r\n 7: $V1,\r\n 9: $V2,\r\n 10: 48,\r\n 13: $V3,\r\n 15: $V4,\r\n 17: $V5,\r\n 18: $V6,\r\n 19: $V7,\r\n 20: $V8,\r\n 23: $V9,\r\n 25: $Va,\r\n 26: $Vb,\r\n 27: $Vc,\r\n 30: $Vd,\r\n 33: $Ve,\r\n 34: $Vf,\r\n 37: $Vg,\r\n 38: $Vh,\r\n 41: $Vi,\r\n 43: $Vj,\r\n 45: $Vk,\r\n 46: $Vl,\r\n 49: $Vm,\r\n 52: $Vn,\r\n 54: $Vo,\r\n 55: $Vp,\r\n 56: $Vq,\r\n 58: $Vr,\r\n 59: $Vs,\r\n 62: $Vt,\r\n 64: $Vu,\r\n 65: $Vv,\r\n 66: $Vw,\r\n 70: $Vx,\r\n 72: $Vy,\r\n 74: $Vz,\r\n 79: 49,\r\n 80: 52,\r\n 81: 50,\r\n 82: $VA,\r\n 83: $VB,\r\n 84: $VC,\r\n 85: $VD,\r\n 86: $VE,\r\n 87: $VF,\r\n 88: $VG,\r\n 89: $VH,\r\n 90: $VI,\r\n 91: $VJ,\r\n 92: $VK,\r\n 93: $VL,\r\n 94: $VM,\r\n 95: $VN,\r\n 96: $VO,\r\n 97: $VP,\r\n 98: $VQ,\r\n 99: $VR\r\n },\r\n { 5: [2, 8] },\r\n { 5: [2, 9] },\r\n {\r\n 6: $V0,\r\n 7: $V1,\r\n 9: $V2,\r\n 10: 106,\r\n 13: $V3,\r\n 14: [1, 107],\r\n 15: $V4,\r\n 17: $V5,\r\n 18: $V6,\r\n 19: $V7,\r\n 20: $V8,\r\n 23: $V9,\r\n 25: $Va,\r\n 26: $Vb,\r\n 27: $Vc,\r\n 30: $Vd,\r\n 33: $Ve,\r\n 34: $Vf,\r\n 37: $Vg,\r\n 38: $Vh,\r\n 41: $Vi,\r\n 43: $Vj,\r\n 45: $Vk,\r\n 46: $Vl,\r\n 49: $Vm,\r\n 52: $Vn,\r\n 54: $Vo,\r\n 55: $Vp,\r\n 56: $Vq,\r\n 58: $Vr,\r\n 59: $Vs,\r\n 62: $Vt,\r\n 64: $Vu,\r\n 65: $Vv,\r\n 66: $Vw,\r\n 70: $Vx,\r\n 72: $Vy,\r\n 74: $Vz,\r\n 79: 49,\r\n 80: 52,\r\n 81: 50,\r\n 82: $VA,\r\n 83: $VB,\r\n 84: $VC,\r\n 85: $VD,\r\n 86: $VE,\r\n 87: $VF,\r\n 88: $VG,\r\n 89: $VH,\r\n 90: $VI,\r\n 91: $VJ,\r\n 92: $VK,\r\n 93: $VL,\r\n 94: $VM,\r\n 95: $VN,\r\n 96: $VO,\r\n 97: $VP,\r\n 98: $VQ,\r\n 99: $VR\r\n },\r\n {\r\n 6: $V0,\r\n 7: $V1,\r\n 9: $V2,\r\n 10: 108,\r\n 13: $V3,\r\n 14: [1, 109],\r\n 15: $V4,\r\n 17: $V5,\r\n 18: $V6,\r\n 19: $V7,\r\n 20: $V8,\r\n 23: $V9,\r\n 25: $Va,\r\n 26: $Vb,\r\n 27: $Vc,\r\n 30: $Vd,\r\n 33: $Ve,\r\n 34: $Vf,\r\n 37: $Vg,\r\n 38: $Vh,\r\n 41: $Vi,\r\n 43: $Vj,\r\n 45: $Vk,\r\n 46: $Vl,\r\n 49: $Vm,\r\n 52: $Vn,\r\n 54: $Vo,\r\n 55: $Vp,\r\n 56: $Vq,\r\n 58: $Vr,\r\n 59: $Vs,\r\n 62: $Vt,\r\n 64: $Vu,\r\n 65: $Vv,\r\n 66: $Vw,\r\n 70: $Vx,\r\n 72: $Vy,\r\n 74: $Vz,\r\n 79: 49,\r\n 80: 52,\r\n 81: 50,\r\n 82: $VA,\r\n 83: $VB,\r\n 84: $VC,\r\n 85: $VD,\r\n 86: $VE,\r\n 87: $VF,\r\n 88: $VG,\r\n 89: $VH,\r\n 90: $VI,\r\n 91: $VJ,\r\n 92: $VK,\r\n 93: $VL,\r\n 94: $VM,\r\n 95: $VN,\r\n 96: $VO,\r\n 97: $VP,\r\n 98: $VQ,\r\n 99: $VR\r\n },\r\n { 5: [2, 14] },\r\n { 5: [2, 15] },\r\n { 5: [2, 16] },\r\n { 5: [2, 17], 14: $VS, 16: 110, 35: $VT, 38: $VU, 77: $VV, 78: $VW },\r\n { 5: [2, 19] },\r\n { 5: [2, 20] },\r\n { 24: 116, 35: $VX, 38: $VY },\r\n { 24: 119, 35: $VX, 38: $VY },\r\n { 24: 120, 35: $VX, 38: $VY },\r\n { 5: [2, 25], 24: 121, 28: [1, 122], 29: [1, 123], 35: $VX, 38: $VY },\r\n { 14: [1, 124] },\r\n { 14: [1, 125] },\r\n { 35: [1, 126] },\r\n { 38: [1, 127] },\r\n { 5: [2, 33] },\r\n { 5: [2, 34] },\r\n { 5: [2, 35], 14: [1, 128], 42: [1, 129] },\r\n { 5: [2, 38], 35: [1, 130] },\r\n { 5: [2, 40] },\r\n { 35: [1, 131] },\r\n { 47: 132, 73: 133, 74: $VZ },\r\n { 47: 135, 73: 133, 74: $VZ },\r\n { 5: [2, 44], 14: [1, 136] },\r\n { 5: [2, 46] },\r\n { 5: [2, 47] },\r\n {\r\n 6: $V0,\r\n 7: $V1,\r\n 9: $V2,\r\n 10: 138,\r\n 13: $V3,\r\n 14: [1, 137],\r\n 15: $V4,\r\n 17: $V5,\r\n 18: $V6,\r\n 19: $V7,\r\n 20: $V8,\r\n 23: $V9,\r\n 25: $Va,\r\n 26: $Vb,\r\n 27: $Vc,\r\n 30: $Vd,\r\n 33: $Ve,\r\n 34: $Vf,\r\n 37: $Vg,\r\n 38: $Vh,\r\n 41: $Vi,\r\n 43: $Vj,\r\n 45: $Vk,\r\n 46: $Vl,\r\n 49: $Vm,\r\n 52: $Vn,\r\n 54: $Vo,\r\n 55: $Vp,\r\n 56: $Vq,\r\n 58: $Vr,\r\n 59: $Vs,\r\n 62: $Vt,\r\n 64: $Vu,\r\n 65: $Vv,\r\n 66: $Vw,\r\n 70: $Vx,\r\n 72: $Vy,\r\n 74: $Vz,\r\n 79: 49,\r\n 80: 52,\r\n 81: 50,\r\n 82: $VA,\r\n 83: $VB,\r\n 84: $VC,\r\n 85: $VD,\r\n 86: $VE,\r\n 87: $VF,\r\n 88: $VG,\r\n 89: $VH,\r\n 90: $VI,\r\n 91: $VJ,\r\n 92: $VK,\r\n 93: $VL,\r\n 94: $VM,\r\n 95: $VN,\r\n 96: $VO,\r\n 97: $VP,\r\n 98: $VQ,\r\n 99: $VR\r\n },\r\n { 5: [2, 52] },\r\n { 35: [1, 139] },\r\n { 14: [1, 143], 38: [1, 141], 60: 140, 61: [1, 142] },\r\n {\r\n 5: [2, 65],\r\n 38: [1, 144],\r\n 63: 145,\r\n 67: 146,\r\n 68: 147,\r\n 69: 148,\r\n 70: $V_,\r\n 72: $V$\r\n },\r\n { 24: 151, 35: $VX, 38: $VY },\r\n { 38: [1, 152] },\r\n { 38: [1, 153] },\r\n { 5: [2, 54], 29: [1, 154], 57: [1, 155] },\r\n { 5: [2, 59], 35: [1, 156] },\r\n { 1: [2, 1] },\r\n { 5: [2, 5] },\r\n { 5: [2, 7], 101: $V01 },\r\n o($V11, [2, 159]),\r\n o($V11, [2, 160]),\r\n o($V21, [2, 97]),\r\n o($V21, [2, 98]),\r\n o($V11, [2, 147]),\r\n o($V11, [2, 148]),\r\n o($V11, [2, 149]),\r\n o($V11, [2, 150]),\r\n o($V11, [2, 151]),\r\n o($V11, [2, 152]),\r\n o($V11, [2, 153]),\r\n o($V21, [2, 101]),\r\n o($V21, [2, 102]),\r\n o($V21, [2, 103]),\r\n o($V21, [2, 104]),\r\n o($V21, [2, 105]),\r\n o($V21, [2, 106]),\r\n o($V21, [2, 107]),\r\n o($V21, [2, 108]),\r\n o($V21, [2, 109]),\r\n o($V21, [2, 110]),\r\n o($V21, [2, 111]),\r\n o($V21, [2, 112]),\r\n o($V21, [2, 113]),\r\n o($V21, [2, 114]),\r\n o($V21, [2, 115]),\r\n o($V21, [2, 116]),\r\n o($V21, [2, 117]),\r\n o($V21, [2, 118]),\r\n o($V21, [2, 119]),\r\n o($V21, [2, 120]),\r\n o($V21, [2, 121]),\r\n o($V21, [2, 122]),\r\n o($V21, [2, 123]),\r\n o($V21, [2, 124]),\r\n o($V21, [2, 125]),\r\n o($V21, [2, 126]),\r\n o($V21, [2, 127]),\r\n o($V21, [2, 128]),\r\n o($V21, [2, 129]),\r\n o($V21, [2, 130]),\r\n o($V21, [2, 131]),\r\n o($V21, [2, 132]),\r\n o($V21, [2, 133]),\r\n o($V21, [2, 134]),\r\n o($V21, [2, 135]),\r\n o($V21, [2, 136]),\r\n o($V21, [2, 137]),\r\n o($V21, [2, 138]),\r\n o($V21, [2, 139]),\r\n o($V21, [2, 140]),\r\n o($V21, [2, 141]),\r\n o($V21, [2, 142]),\r\n o($V21, [2, 143]),\r\n o($V21, [2, 144]),\r\n o($V21, [2, 145]),\r\n o($V21, [2, 146]),\r\n { 5: [2, 10], 101: $V01 },\r\n { 5: [2, 11] },\r\n { 14: $VS, 16: 158, 35: $VT, 38: $VU, 77: $VV, 78: $VW, 101: $V01 },\r\n { 14: $VS, 16: 159, 35: $VT, 38: $VU, 77: $VV, 78: $VW },\r\n { 5: [2, 18] },\r\n o($V31, [2, 92]),\r\n o($V31, [2, 93]),\r\n o($V31, [2, 94]),\r\n o($V31, [2, 95]),\r\n o($V31, [2, 96]),\r\n { 5: [2, 21] },\r\n o($V41, [2, 75]),\r\n o($V41, [2, 76]),\r\n { 5: [2, 22] },\r\n { 5: [2, 23] },\r\n { 5: [2, 24] },\r\n { 5: [2, 26] },\r\n { 5: [2, 27] },\r\n { 5: [2, 28], 31: [1, 160] },\r\n { 5: [2, 30] },\r\n { 36: [1, 161] },\r\n { 5: [2, 32] },\r\n { 5: [2, 36] },\r\n { 5: [2, 37] },\r\n { 5: [2, 39] },\r\n { 5: [2, 41] },\r\n { 5: [2, 42], 73: 162, 74: $VZ },\r\n o($V51, [2, 86]),\r\n { 35: [1, 163] },\r\n { 5: [2, 43], 73: 162, 74: $VZ },\r\n { 5: [2, 45] },\r\n { 14: [1, 164] },\r\n {\r\n 6: $V0,\r\n 7: $V1,\r\n 9: $V2,\r\n 10: 165,\r\n 13: $V3,\r\n 15: $V4,\r\n 17: $V5,\r\n 18: $V6,\r\n 19: $V7,\r\n 20: $V8,\r\n 23: $V9,\r\n 25: $Va,\r\n 26: $Vb,\r\n 27: $Vc,\r\n 30: $Vd,\r\n 33: $Ve,\r\n 34: $Vf,\r\n 37: $Vg,\r\n 38: $Vh,\r\n 41: $Vi,\r\n 43: $Vj,\r\n 45: $Vk,\r\n 46: $Vl,\r\n 49: $Vm,\r\n 52: $Vn,\r\n 54: $Vo,\r\n 55: $Vp,\r\n 56: $Vq,\r\n 58: $Vr,\r\n 59: $Vs,\r\n 62: $Vt,\r\n 64: $Vu,\r\n 65: $Vv,\r\n 66: $Vw,\r\n 70: $Vx,\r\n 72: $Vy,\r\n 74: $Vz,\r\n 79: 49,\r\n 80: 52,\r\n 81: 50,\r\n 82: $VA,\r\n 83: $VB,\r\n 84: $VC,\r\n 85: $VD,\r\n 86: $VE,\r\n 87: $VF,\r\n 88: $VG,\r\n 89: $VH,\r\n 90: $VI,\r\n 91: $VJ,\r\n 92: $VK,\r\n 93: $VL,\r\n 94: $VM,\r\n 95: $VN,\r\n 96: $VO,\r\n 97: $VP,\r\n 98: $VQ,\r\n 99: $VR,\r\n 101: $V01\r\n },\r\n { 5: [2, 53] },\r\n { 5: [2, 62] },\r\n { 5: [2, 63] },\r\n { 5: [2, 64] },\r\n { 5: [2, 164] },\r\n { 5: [2, 66], 63: 166, 67: 146, 68: 147, 69: 148, 70: $V_, 72: $V$ },\r\n { 5: [2, 67] },\r\n { 5: [2, 77], 67: 167, 68: 147, 69: 148, 70: $V_, 72: $V$ },\r\n o($V41, [2, 81]),\r\n o($V41, [2, 82], {\r\n 80: 52,\r\n 53: 168,\r\n 75: 169,\r\n 76: 170,\r\n 79: 171,\r\n 6: $V0,\r\n 7: $V1,\r\n 9: $V2,\r\n 13: $V3,\r\n 15: $V4,\r\n 17: $V5,\r\n 18: $V6,\r\n 19: $V7,\r\n 20: $V8,\r\n 23: $V9,\r\n 25: $Va,\r\n 26: $Vb,\r\n 27: $Vc,\r\n 30: $Vd,\r\n 33: $Ve,\r\n 34: $Vf,\r\n 37: $Vg,\r\n 38: $Vh,\r\n 41: $Vi,\r\n 43: $Vj,\r\n 45: $Vk,\r\n 46: $Vl,\r\n 49: $Vm,\r\n 52: $Vn,\r\n 54: $Vo,\r\n 55: $Vp,\r\n 56: $Vq,\r\n 58: $Vr,\r\n 59: $Vs,\r\n 62: $Vt,\r\n 64: $Vu,\r\n 65: $Vv,\r\n 66: $Vw,\r\n 82: $VA,\r\n 83: $VB,\r\n 84: $VC,\r\n 85: $VD,\r\n 86: $VE,\r\n 87: $VF,\r\n 88: $VG,\r\n 89: $VH,\r\n 90: $VI,\r\n 91: $VJ,\r\n 92: $VK,\r\n 93: $VL,\r\n 94: $VM,\r\n 95: $VN\r\n }),\r\n { 71: [1, 172] },\r\n { 71: [1, 173] },\r\n { 5: [2, 69], 63: 174, 67: 146, 68: 147, 69: 148, 70: $V_, 72: $V$ },\r\n {\r\n 5: [2, 71],\r\n 6: $V0,\r\n 7: $V1,\r\n 9: $V2,\r\n 13: $V3,\r\n 15: $V4,\r\n 17: $V5,\r\n 18: $V6,\r\n 19: $V7,\r\n 20: $V8,\r\n 23: $V9,\r\n 25: $Va,\r\n 26: $Vb,\r\n 27: $Vc,\r\n 30: $Vd,\r\n 33: $Ve,\r\n 34: $Vf,\r\n 37: $Vg,\r\n 38: $Vh,\r\n 41: $Vi,\r\n 43: $Vj,\r\n 45: $Vk,\r\n 46: $Vl,\r\n 49: $Vm,\r\n 52: $Vn,\r\n 53: 175,\r\n 54: $Vo,\r\n 55: $Vp,\r\n 56: $Vq,\r\n 58: $Vr,\r\n 59: $Vs,\r\n 62: $Vt,\r\n 64: $Vu,\r\n 65: $Vv,\r\n 66: $Vw,\r\n 75: 169,\r\n 76: 170,\r\n 79: 171,\r\n 80: 52,\r\n 82: $VA,\r\n 83: $VB,\r\n 84: $VC,\r\n 85: $VD,\r\n 86: $VE,\r\n 87: $VF,\r\n 88: $VG,\r\n 89: $VH,\r\n 90: $VI,\r\n 91: $VJ,\r\n 92: $VK,\r\n 93: $VL,\r\n 94: $VM,\r\n 95: $VN\r\n },\r\n {\r\n 5: [2, 73],\r\n 6: $V0,\r\n 7: $V1,\r\n 9: $V2,\r\n 13: $V3,\r\n 15: $V4,\r\n 17: $V5,\r\n 18: $V6,\r\n 19: $V7,\r\n 20: $V8,\r\n 23: $V9,\r\n 25: $Va,\r\n 26: $Vb,\r\n 27: $Vc,\r\n 30: $Vd,\r\n 33: $Ve,\r\n 34: $Vf,\r\n 37: $Vg,\r\n 38: $Vh,\r\n 41: $Vi,\r\n 43: $Vj,\r\n 45: $Vk,\r\n 46: $Vl,\r\n 49: $Vm,\r\n 52: $Vn,\r\n 53: 176,\r\n 54: $Vo,\r\n 55: $Vp,\r\n 56: $Vq,\r\n 58: $Vr,\r\n 59: $Vs,\r\n 62: $Vt,\r\n 64: $Vu,\r\n 65: $Vv,\r\n 66: $Vw,\r\n 75: 169,\r\n 76: 170,\r\n 79: 171,\r\n 80: 52,\r\n 82: $VA,\r\n 83: $VB,\r\n 84: $VC,\r\n 85: $VD,\r\n 86: $VE,\r\n 87: $VF,\r\n 88: $VG,\r\n 89: $VH,\r\n 90: $VI,\r\n 91: $VJ,\r\n 92: $VK,\r\n 93: $VL,\r\n 94: $VM,\r\n 95: $VN\r\n },\r\n { 5: [2, 55], 57: [1, 177] },\r\n { 5: [2, 56], 29: [1, 178] },\r\n { 5: [2, 60], 35: [1, 179] },\r\n {\r\n 6: $V0,\r\n 7: $V1,\r\n 9: $V2,\r\n 13: $V3,\r\n 15: $V4,\r\n 17: $V5,\r\n 18: $V6,\r\n 19: $V7,\r\n 20: $V8,\r\n 23: $V9,\r\n 25: $Va,\r\n 26: $Vb,\r\n 27: $Vc,\r\n 30: $Vd,\r\n 33: $Ve,\r\n 34: $Vf,\r\n 35: [1, 181],\r\n 37: $Vg,\r\n 38: $Vh,\r\n 41: $Vi,\r\n 43: $Vj,\r\n 45: $Vk,\r\n 46: $Vl,\r\n 49: $Vm,\r\n 52: $Vn,\r\n 54: $Vo,\r\n 55: $Vp,\r\n 56: $Vq,\r\n 58: $Vr,\r\n 59: $Vs,\r\n 62: $Vt,\r\n 64: $Vu,\r\n 65: $Vv,\r\n 66: $Vw,\r\n 70: $Vx,\r\n 72: $Vy,\r\n 74: $Vz,\r\n 79: 180,\r\n 80: 52,\r\n 81: 182,\r\n 82: $VA,\r\n 83: $VB,\r\n 84: $VC,\r\n 85: $VD,\r\n 86: $VE,\r\n 87: $VF,\r\n 88: $VG,\r\n 89: $VH,\r\n 90: $VI,\r\n 91: $VJ,\r\n 92: $VK,\r\n 93: $VL,\r\n 94: $VM,\r\n 95: $VN,\r\n 96: $VO,\r\n 97: $VP,\r\n 98: $VQ,\r\n 99: $VR\r\n },\r\n { 5: [2, 12] },\r\n { 5: [2, 13] },\r\n {\r\n 6: $V0,\r\n 7: $V1,\r\n 9: $V2,\r\n 13: $V3,\r\n 15: $V4,\r\n 17: $V5,\r\n 18: $V6,\r\n 19: $V7,\r\n 20: $V8,\r\n 23: $V9,\r\n 25: $Va,\r\n 26: $Vb,\r\n 27: $Vc,\r\n 30: $Vd,\r\n 32: 183,\r\n 33: $Ve,\r\n 34: $Vf,\r\n 37: $Vg,\r\n 38: $Vh,\r\n 41: $Vi,\r\n 43: $Vj,\r\n 45: $Vk,\r\n 46: $Vl,\r\n 49: $Vm,\r\n 52: $Vn,\r\n 54: $Vo,\r\n 55: $Vp,\r\n 56: $Vq,\r\n 58: $Vr,\r\n 59: $Vs,\r\n 62: $Vt,\r\n 64: $Vu,\r\n 65: $Vv,\r\n 66: $Vw,\r\n 70: $Vx,\r\n 72: $Vy,\r\n 74: $Vz,\r\n 79: 184,\r\n 80: 52,\r\n 81: 185,\r\n 82: $VA,\r\n 83: $VB,\r\n 84: $VC,\r\n 85: $VD,\r\n 86: $VE,\r\n 87: $VF,\r\n 88: $VG,\r\n 89: $VH,\r\n 90: $VI,\r\n 91: $VJ,\r\n 92: $VK,\r\n 93: $VL,\r\n 94: $VM,\r\n 95: $VN,\r\n 96: $VO,\r\n 97: $VP,\r\n 98: $VQ,\r\n 99: $VR\r\n },\r\n { 14: [1, 186] },\r\n o($V51, [2, 87]),\r\n o($V51, [2, 88]),\r\n {\r\n 5: [2, 48],\r\n 6: $V0,\r\n 7: $V1,\r\n 9: $V2,\r\n 13: $V3,\r\n 15: $V4,\r\n 17: $V5,\r\n 18: $V6,\r\n 19: $V7,\r\n 20: $V8,\r\n 23: $V9,\r\n 25: $Va,\r\n 26: $Vb,\r\n 27: $Vc,\r\n 30: $Vd,\r\n 33: $Ve,\r\n 34: $Vf,\r\n 37: $Vg,\r\n 38: $Vh,\r\n 41: $Vi,\r\n 43: $Vj,\r\n 45: $Vk,\r\n 46: $Vl,\r\n 49: $Vm,\r\n 52: $Vn,\r\n 53: 187,\r\n 54: $Vo,\r\n 55: $Vp,\r\n 56: $Vq,\r\n 58: $Vr,\r\n 59: $Vs,\r\n 62: $Vt,\r\n 64: $Vu,\r\n 65: $Vv,\r\n 66: $Vw,\r\n 75: 169,\r\n 76: 170,\r\n 79: 171,\r\n 80: 52,\r\n 82: $VA,\r\n 83: $VB,\r\n 84: $VC,\r\n 85: $VD,\r\n 86: $VE,\r\n 87: $VF,\r\n 88: $VG,\r\n 89: $VH,\r\n 90: $VI,\r\n 91: $VJ,\r\n 92: $VK,\r\n 93: $VL,\r\n 94: $VM,\r\n 95: $VN\r\n },\r\n {\r\n 5: [2, 49],\r\n 6: $V0,\r\n 7: $V1,\r\n 9: $V2,\r\n 13: $V3,\r\n 15: $V4,\r\n 17: $V5,\r\n 18: $V6,\r\n 19: $V7,\r\n 20: $V8,\r\n 23: $V9,\r\n 25: $Va,\r\n 26: $Vb,\r\n 27: $Vc,\r\n 30: $Vd,\r\n 33: $Ve,\r\n 34: $Vf,\r\n 37: $Vg,\r\n 38: $Vh,\r\n 41: $Vi,\r\n 43: $Vj,\r\n 45: $Vk,\r\n 46: $Vl,\r\n 49: $Vm,\r\n 52: $Vn,\r\n 53: 188,\r\n 54: $Vo,\r\n 55: $Vp,\r\n 56: $Vq,\r\n 58: $Vr,\r\n 59: $Vs,\r\n 62: $Vt,\r\n 64: $Vu,\r\n 65: $Vv,\r\n 66: $Vw,\r\n 75: 169,\r\n 76: 170,\r\n 79: 171,\r\n 80: 52,\r\n 82: $VA,\r\n 83: $VB,\r\n 84: $VC,\r\n 85: $VD,\r\n 86: $VE,\r\n 87: $VF,\r\n 88: $VG,\r\n 89: $VH,\r\n 90: $VI,\r\n 91: $VJ,\r\n 92: $VK,\r\n 93: $VL,\r\n 94: $VM,\r\n 95: $VN,\r\n 101: $V01\r\n },\r\n { 5: [2, 68] },\r\n { 5: [2, 78], 67: 189, 68: 147, 69: 148, 70: $V_, 72: $V$ },\r\n o($V41, [2, 83], {\r\n 80: 52,\r\n 76: 170,\r\n 79: 171,\r\n 75: 190,\r\n 6: $V0,\r\n 7: $V1,\r\n 9: $V2,\r\n 13: $V3,\r\n 15: $V4,\r\n 17: $V5,\r\n 18: $V6,\r\n 19: $V7,\r\n 20: $V8,\r\n 23: $V9,\r\n 25: $Va,\r\n 26: $Vb,\r\n 27: $Vc,\r\n 30: $Vd,\r\n 33: $Ve,\r\n 34: $Vf,\r\n 37: $Vg,\r\n 38: $Vh,\r\n 41: $Vi,\r\n 43: $Vj,\r\n 45: $Vk,\r\n 46: $Vl,\r\n 49: $Vm,\r\n 52: $Vn,\r\n 54: $Vo,\r\n 55: $Vp,\r\n 56: $Vq,\r\n 58: $Vr,\r\n 59: $Vs,\r\n 62: $Vt,\r\n 64: $Vu,\r\n 65: $Vv,\r\n 66: $Vw,\r\n 82: $VA,\r\n 83: $VB,\r\n 84: $VC,\r\n 85: $VD,\r\n 86: $VE,\r\n 87: $VF,\r\n 88: $VG,\r\n 89: $VH,\r\n 90: $VI,\r\n 91: $VJ,\r\n 92: $VK,\r\n 93: $VL,\r\n 94: $VM,\r\n 95: $VN\r\n }),\r\n o($V31, [2, 89]),\r\n { 71: [1, 191], 101: [1, 192] },\r\n o($V61, [2, 156]),\r\n { 14: $VS, 16: 193, 35: $VT, 38: $VU, 77: $VV, 78: $VW },\r\n { 14: $VS, 16: 194, 35: $VT, 38: $VU, 77: $VV, 78: $VW },\r\n { 5: [2, 70] },\r\n {\r\n 5: [2, 72],\r\n 6: $V0,\r\n 7: $V1,\r\n 9: $V2,\r\n 13: $V3,\r\n 15: $V4,\r\n 17: $V5,\r\n 18: $V6,\r\n 19: $V7,\r\n 20: $V8,\r\n 23: $V9,\r\n 25: $Va,\r\n 26: $Vb,\r\n 27: $Vc,\r\n 30: $Vd,\r\n 33: $Ve,\r\n 34: $Vf,\r\n 37: $Vg,\r\n 38: $Vh,\r\n 41: $Vi,\r\n 43: $Vj,\r\n 45: $Vk,\r\n 46: $Vl,\r\n 49: $Vm,\r\n 52: $Vn,\r\n 54: $Vo,\r\n 55: $Vp,\r\n 56: $Vq,\r\n 58: $Vr,\r\n 59: $Vs,\r\n 62: $Vt,\r\n 64: $Vu,\r\n 65: $Vv,\r\n 66: $Vw,\r\n 75: 190,\r\n 76: 170,\r\n 79: 171,\r\n 80: 52,\r\n 82: $VA,\r\n 83: $VB,\r\n 84: $VC,\r\n 85: $VD,\r\n 86: $VE,\r\n 87: $VF,\r\n 88: $VG,\r\n 89: $VH,\r\n 90: $VI,\r\n 91: $VJ,\r\n 92: $VK,\r\n 93: $VL,\r\n 94: $VM,\r\n 95: $VN\r\n },\r\n {\r\n 5: [2, 74],\r\n 6: $V0,\r\n 7: $V1,\r\n 9: $V2,\r\n 13: $V3,\r\n 15: $V4,\r\n 17: $V5,\r\n 18: $V6,\r\n 19: $V7,\r\n 20: $V8,\r\n 23: $V9,\r\n 25: $Va,\r\n 26: $Vb,\r\n 27: $Vc,\r\n 30: $Vd,\r\n 33: $Ve,\r\n 34: $Vf,\r\n 37: $Vg,\r\n 38: $Vh,\r\n 41: $Vi,\r\n 43: $Vj,\r\n 45: $Vk,\r\n 46: $Vl,\r\n 49: $Vm,\r\n 52: $Vn,\r\n 54: $Vo,\r\n 55: $Vp,\r\n 56: $Vq,\r\n 58: $Vr,\r\n 59: $Vs,\r\n 62: $Vt,\r\n 64: $Vu,\r\n 65: $Vv,\r\n 66: $Vw,\r\n 75: 190,\r\n 76: 170,\r\n 79: 171,\r\n 80: 52,\r\n 82: $VA,\r\n 83: $VB,\r\n 84: $VC,\r\n 85: $VD,\r\n 86: $VE,\r\n 87: $VF,\r\n 88: $VG,\r\n 89: $VH,\r\n 90: $VI,\r\n 91: $VJ,\r\n 92: $VK,\r\n 93: $VL,\r\n 94: $VM,\r\n 95: $VN\r\n },\r\n { 5: [2, 57] },\r\n { 5: [2, 58] },\r\n { 5: [2, 61] },\r\n o($V11, [2, 161]),\r\n o($V11, [2, 162]),\r\n o($V11, [2, 163]),\r\n { 5: [2, 29] },\r\n { 5: [2, 99] },\r\n { 5: [2, 100] },\r\n { 31: [1, 195] },\r\n {\r\n 5: [2, 50],\r\n 6: $V0,\r\n 7: $V1,\r\n 9: $V2,\r\n 13: $V3,\r\n 15: $V4,\r\n 17: $V5,\r\n 18: $V6,\r\n 19: $V7,\r\n 20: $V8,\r\n 23: $V9,\r\n 25: $Va,\r\n 26: $Vb,\r\n 27: $Vc,\r\n 30: $Vd,\r\n 33: $Ve,\r\n 34: $Vf,\r\n 37: $Vg,\r\n 38: $Vh,\r\n 41: $Vi,\r\n 43: $Vj,\r\n 45: $Vk,\r\n 46: $Vl,\r\n 49: $Vm,\r\n 52: $Vn,\r\n 54: $Vo,\r\n 55: $Vp,\r\n 56: $Vq,\r\n 58: $Vr,\r\n 59: $Vs,\r\n 62: $Vt,\r\n 64: $Vu,\r\n 65: $Vv,\r\n 66: $Vw,\r\n 75: 190,\r\n 76: 170,\r\n 79: 171,\r\n 80: 52,\r\n 82: $VA,\r\n 83: $VB,\r\n 84: $VC,\r\n 85: $VD,\r\n 86: $VE,\r\n 87: $VF,\r\n 88: $VG,\r\n 89: $VH,\r\n 90: $VI,\r\n 91: $VJ,\r\n 92: $VK,\r\n 93: $VL,\r\n 94: $VM,\r\n 95: $VN\r\n },\r\n {\r\n 5: [2, 51],\r\n 6: $V0,\r\n 7: $V1,\r\n 9: $V2,\r\n 13: $V3,\r\n 15: $V4,\r\n 17: $V5,\r\n 18: $V6,\r\n 19: $V7,\r\n 20: $V8,\r\n 23: $V9,\r\n 25: $Va,\r\n 26: $Vb,\r\n 27: $Vc,\r\n 30: $Vd,\r\n 33: $Ve,\r\n 34: $Vf,\r\n 37: $Vg,\r\n 38: $Vh,\r\n 41: $Vi,\r\n 43: $Vj,\r\n 45: $Vk,\r\n 46: $Vl,\r\n 49: $Vm,\r\n 52: $Vn,\r\n 54: $Vo,\r\n 55: $Vp,\r\n 56: $Vq,\r\n 58: $Vr,\r\n 59: $Vs,\r\n 62: $Vt,\r\n 64: $Vu,\r\n 65: $Vv,\r\n 66: $Vw,\r\n 75: 190,\r\n 76: 170,\r\n 79: 171,\r\n 80: 52,\r\n 82: $VA,\r\n 83: $VB,\r\n 84: $VC,\r\n 85: $VD,\r\n 86: $VE,\r\n 87: $VF,\r\n 88: $VG,\r\n 89: $VH,\r\n 90: $VI,\r\n 91: $VJ,\r\n 92: $VK,\r\n 93: $VL,\r\n 94: $VM,\r\n 95: $VN\r\n },\r\n { 5: [2, 79], 67: 196, 68: 147, 69: 148, 70: $V_, 72: $V$ },\r\n o($V31, [2, 90]),\r\n { 14: $VS, 16: 197, 35: $VT, 38: $VU, 77: $VV, 78: $VW },\r\n {\r\n 6: $V0,\r\n 7: $V1,\r\n 9: $V2,\r\n 13: $V3,\r\n 15: $V4,\r\n 17: $V5,\r\n 18: $V6,\r\n 19: $V7,\r\n 20: $V8,\r\n 23: $V9,\r\n 25: $Va,\r\n 26: $Vb,\r\n 27: $Vc,\r\n 30: $Vd,\r\n 33: $Ve,\r\n 34: $Vf,\r\n 35: [1, 199],\r\n 37: $Vg,\r\n 38: $Vh,\r\n 41: $Vi,\r\n 43: $Vj,\r\n 45: $Vk,\r\n 46: $Vl,\r\n 49: $Vm,\r\n 52: $Vn,\r\n 54: $Vo,\r\n 55: $Vp,\r\n 56: $Vq,\r\n 58: $Vr,\r\n 59: $Vs,\r\n 62: $Vt,\r\n 64: $Vu,\r\n 65: $Vv,\r\n 66: $Vw,\r\n 79: 198,\r\n 80: 52,\r\n 82: $VA,\r\n 83: $VB,\r\n 84: $VC,\r\n 85: $VD,\r\n 86: $VE,\r\n 87: $VF,\r\n 88: $VG,\r\n 89: $VH,\r\n 90: $VI,\r\n 91: $VJ,\r\n 92: $VK,\r\n 93: $VL,\r\n 94: $VM,\r\n 95: $VN\r\n },\r\n o($V41, [2, 84]),\r\n o($V31, [2, 85]),\r\n {\r\n 6: $V0,\r\n 7: $V1,\r\n 9: $V2,\r\n 13: $V3,\r\n 15: $V4,\r\n 17: $V5,\r\n 18: $V6,\r\n 19: $V7,\r\n 20: $V8,\r\n 23: $V9,\r\n 25: $Va,\r\n 26: $Vb,\r\n 27: $Vc,\r\n 30: $Vd,\r\n 32: 200,\r\n 33: $Ve,\r\n 34: $Vf,\r\n 37: $Vg,\r\n 38: $Vh,\r\n 41: $Vi,\r\n 43: $Vj,\r\n 45: $Vk,\r\n 46: $Vl,\r\n 49: $Vm,\r\n 52: $Vn,\r\n 54: $Vo,\r\n 55: $Vp,\r\n 56: $Vq,\r\n 58: $Vr,\r\n 59: $Vs,\r\n 62: $Vt,\r\n 64: $Vu,\r\n 65: $Vv,\r\n 66: $Vw,\r\n 70: $Vx,\r\n 72: $Vy,\r\n 74: $Vz,\r\n 79: 184,\r\n 80: 52,\r\n 81: 185,\r\n 82: $VA,\r\n 83: $VB,\r\n 84: $VC,\r\n 85: $VD,\r\n 86: $VE,\r\n 87: $VF,\r\n 88: $VG,\r\n 89: $VH,\r\n 90: $VI,\r\n 91: $VJ,\r\n 92: $VK,\r\n 93: $VL,\r\n 94: $VM,\r\n 95: $VN,\r\n 96: $VO,\r\n 97: $VP,\r\n 98: $VQ,\r\n 99: $VR\r\n },\r\n { 5: [2, 80] },\r\n o($V31, [2, 91]),\r\n o($V61, [2, 157]),\r\n o($V61, [2, 158]),\r\n { 5: [2, 31] }\r\n ],\r\n defaultActions: {\r\n 3: [2, 2],\r\n 4: [2, 3],\r\n 7: [2, 8],\r\n 8: [2, 9],\r\n 11: [2, 14],\r\n 12: [2, 15],\r\n 13: [2, 16],\r\n 15: [2, 19],\r\n 16: [2, 20],\r\n 25: [2, 33],\r\n 26: [2, 34],\r\n 29: [2, 40],\r\n 34: [2, 46],\r\n 35: [2, 47],\r\n 37: [2, 52],\r\n 46: [2, 1],\r\n 47: [2, 5],\r\n 107: [2, 11],\r\n 110: [2, 18],\r\n 116: [2, 21],\r\n 119: [2, 22],\r\n 120: [2, 23],\r\n 121: [2, 24],\r\n 122: [2, 26],\r\n 123: [2, 27],\r\n 125: [2, 30],\r\n 127: [2, 32],\r\n 128: [2, 36],\r\n 129: [2, 37],\r\n 130: [2, 39],\r\n 131: [2, 41],\r\n 136: [2, 45],\r\n 139: [2, 53],\r\n 140: [2, 62],\r\n 141: [2, 63],\r\n 142: [2, 64],\r\n 143: [2, 164],\r\n 145: [2, 67],\r\n 158: [2, 12],\r\n 159: [2, 13],\r\n 166: [2, 68],\r\n 174: [2, 70],\r\n 177: [2, 57],\r\n 178: [2, 58],\r\n 179: [2, 61],\r\n 183: [2, 29],\r\n 184: [2, 99],\r\n 185: [2, 100],\r\n 196: [2, 80],\r\n 200: [2, 31]\r\n },\r\n parseError: function parseError(str, hash) {\r\n if (hash.recoverable) {\r\n this.trace(str)\r\n } else {\r\n var error = new Error(str)\r\n error.hash = hash\r\n throw error\r\n }\r\n },\r\n parse: function parse(input) {\r\n var self = this,\r\n stack = [0],\r\n tstack = [],\r\n vstack = [null],\r\n lstack = [],\r\n table = this.table,\r\n yytext = '',\r\n yylineno = 0,\r\n yyleng = 0,\r\n recovering = 0,\r\n TERROR = 2,\r\n EOF = 1\r\n var args = lstack.slice.call(arguments, 1)\r\n var lexer = Object.create(this.lexer)\r\n var sharedState = { yy: {} }\r\n for (var k in this.yy) {\r\n if (Object.hasOwn(this.yy, k)) {\r\n sharedState.yy[k] = this.yy[k]\r\n }\r\n }\r\n lexer.setInput(input, sharedState.yy)\r\n sharedState.yy.lexer = lexer\r\n sharedState.yy.parser = this\r\n if (typeof lexer.yylloc == 'undefined') {\r\n lexer.yylloc = {}\r\n }\r\n var yyloc = lexer.yylloc\r\n lstack.push(yyloc)\r\n var ranges = lexer.options && lexer.options.ranges\r\n if (typeof sharedState.yy.parseError === 'function') {\r\n this.parseError = sharedState.yy.parseError\r\n } else {\r\n this.parseError = Object.getPrototypeOf(this).parseError\r\n }\r\n function popStack(n) {\r\n stack.length = stack.length - 2 * n\r\n vstack.length = vstack.length - n\r\n lstack.length = lstack.length - n\r\n }\r\n function lex() {\r\n var token\r\n token = tstack.pop() || lexer.lex() || EOF\r\n if (typeof token !== 'number') {\r\n if (token instanceof Array) {\r\n tstack = token\r\n token = tstack.pop()\r\n }\r\n token = self.symbols_[token] || token\r\n }\r\n return token\r\n }\r\n var symbol,\r\n preErrorSymbol,\r\n state,\r\n action,\r\n a,\r\n r,\r\n yyval = {},\r\n p,\r\n len,\r\n newState,\r\n expected\r\n while (true) {\r\n state = stack[stack.length - 1]\r\n if (this.defaultActions[state]) {\r\n action = this.defaultActions[state]\r\n } else {\r\n if (symbol === null || typeof symbol == 'undefined') {\r\n symbol = lex()\r\n }\r\n action = table[state] && table[state][symbol]\r\n }\r\n if (typeof action === 'undefined' || !action.length || !action[0]) {\r\n var errStr = ''\r\n expected = []\r\n for (p in table[state]) {\r\n if (this.terminals_[p] && p > TERROR) {\r\n expected.push(\"'\" + this.terminals_[p] + \"'\")\r\n }\r\n }\r\n if (lexer.showPosition) {\r\n errStr =\r\n 'Parse error on line ' +\r\n (yylineno + 1) +\r\n ':\\n' +\r\n lexer.showPosition() +\r\n '\\nExpecting ' +\r\n expected.join(', ') +\r\n \", got '\" +\r\n (this.terminals_[symbol] || symbol) +\r\n \"'\"\r\n } else {\r\n errStr =\r\n 'Parse error on line ' +\r\n (yylineno + 1) +\r\n ': Unexpected ' +\r\n (symbol == EOF\r\n ? 'end of input'\r\n : \"'\" + (this.terminals_[symbol] || symbol) + \"'\")\r\n }\r\n this.parseError(errStr, {\r\n text: lexer.match,\r\n token: this.terminals_[symbol] || symbol,\r\n line: lexer.yylineno,\r\n loc: yyloc,\r\n expected: expected\r\n })\r\n }\r\n if (action[0] instanceof Array && action.length > 1) {\r\n throw new Error(\r\n 'Parse Error: multiple actions possible at state: ' +\r\n state +\r\n ', token: ' +\r\n symbol\r\n )\r\n }\r\n switch (action[0]) {\r\n case 1:\r\n stack.push(symbol)\r\n vstack.push(lexer.yytext)\r\n lstack.push(lexer.yylloc)\r\n stack.push(action[1])\r\n symbol = null\r\n if (!preErrorSymbol) {\r\n yyleng = lexer.yyleng\r\n yytext = lexer.yytext\r\n yylineno = lexer.yylineno\r\n yyloc = lexer.yylloc\r\n if (recovering > 0) {\r\n recovering--\r\n }\r\n } else {\r\n symbol = preErrorSymbol\r\n preErrorSymbol = null\r\n }\r\n break\r\n case 2:\r\n len = this.productions_[action[1]][1]\r\n yyval.$ = vstack[vstack.length - len]\r\n yyval._$ = {\r\n first_line: lstack[lstack.length - (len || 1)].first_line,\r\n last_line: lstack[lstack.length - 1].last_line,\r\n first_column: lstack[lstack.length - (len || 1)].first_column,\r\n last_column: lstack[lstack.length - 1].last_column\r\n }\r\n if (ranges) {\r\n yyval._$.range = [\r\n lstack[lstack.length - (len || 1)].range[0],\r\n lstack[lstack.length - 1].range[1]\r\n ]\r\n }\r\n r = this.performAction.apply(\r\n yyval,\r\n [\r\n yytext,\r\n yyleng,\r\n yylineno,\r\n sharedState.yy,\r\n action[1],\r\n vstack,\r\n lstack\r\n ].concat(args)\r\n )\r\n if (typeof r !== 'undefined') {\r\n return r\r\n }\r\n if (len) {\r\n stack = stack.slice(0, -1 * len * 2)\r\n vstack = vstack.slice(0, -1 * len)\r\n lstack = lstack.slice(0, -1 * len)\r\n }\r\n stack.push(this.productions_[action[1]][0])\r\n vstack.push(yyval.$)\r\n lstack.push(yyval._$)\r\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]]\r\n stack.push(newState)\r\n break\r\n case 3:\r\n return true\r\n }\r\n }\r\n return true\r\n }\r\n }\r\n\r\n /* generated by jison-lex 0.3.4 */\r\n var lexer = (function () {\r\n var lexer = {\r\n EOF: 1,\r\n\r\n parseError: function parseError(str, hash) {\r\n if (this.yy.parser) {\r\n this.yy.parser.parseError(str, hash)\r\n } else {\r\n throw new Error(str)\r\n }\r\n },\r\n\r\n // resets the lexer, sets new input\r\n setInput: function (input, yy) {\r\n this.yy = yy || this.yy || {}\r\n this._input = input\r\n this._more = this._backtrack = this.done = false\r\n this.yylineno = this.yyleng = 0\r\n this.yytext = this.matched = this.match = ''\r\n this.conditionStack = ['INITIAL']\r\n this.yylloc = {\r\n first_line: 1,\r\n first_column: 0,\r\n last_line: 1,\r\n last_column: 0\r\n }\r\n if (this.options.ranges) {\r\n this.yylloc.range = [0, 0]\r\n }\r\n this.offset = 0\r\n return this\r\n },\r\n\r\n // consumes and returns one char from the input\r\n input: function () {\r\n var ch = this._input[0]\r\n this.yytext += ch\r\n this.yyleng++\r\n this.offset++\r\n this.match += ch\r\n this.matched += ch\r\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g)\r\n if (lines) {\r\n this.yylineno++\r\n this.yylloc.last_line++\r\n } else {\r\n this.yylloc.last_column++\r\n }\r\n if (this.options.ranges) {\r\n this.yylloc.range[1]++\r\n }\r\n\r\n this._input = this._input.slice(1)\r\n return ch\r\n },\r\n\r\n // unshifts one char (or a string) into the input\r\n unput: function (ch) {\r\n var len = ch.length\r\n var lines = ch.split(/(?:\\r\\n?|\\n)/g)\r\n\r\n this._input = ch + this._input\r\n this.yytext = this.yytext.substr(0, this.yytext.length - len)\r\n //this.yyleng -= len;\r\n this.offset -= len\r\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g)\r\n this.match = this.match.substr(0, this.match.length - 1)\r\n this.matched = this.matched.substr(0, this.matched.length - 1)\r\n\r\n if (lines.length - 1) {\r\n this.yylineno -= lines.length - 1\r\n }\r\n var r = this.yylloc.range\r\n\r\n this.yylloc = {\r\n first_line: this.yylloc.first_line,\r\n last_line: this.yylineno + 1,\r\n first_column: this.yylloc.first_column,\r\n last_column: lines\r\n ? (lines.length === oldLines.length\r\n ? this.yylloc.first_column\r\n : 0) +\r\n oldLines[oldLines.length - lines.length].length -\r\n lines[0].length\r\n : this.yylloc.first_column - len\r\n }\r\n\r\n if (this.options.ranges) {\r\n this.yylloc.range = [r[0], r[0] + this.yyleng - len]\r\n }\r\n this.yyleng = this.yytext.length\r\n return this\r\n },\r\n\r\n // When called from action, caches matched text and appends it on next action\r\n more: function () {\r\n this._more = true\r\n return this\r\n },\r\n\r\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\r\n reject: function () {\r\n if (this.options.backtrack_lexer) {\r\n this._backtrack = true\r\n } else {\r\n return this.parseError(\r\n 'Lexical error on line ' +\r\n (this.yylineno + 1) +\r\n '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n' +\r\n this.showPosition(),\r\n {\r\n text: '',\r\n token: null,\r\n line: this.yylineno\r\n }\r\n )\r\n }\r\n return this\r\n },\r\n\r\n // retain first n characters of the match\r\n less: function (n) {\r\n this.unput(this.match.slice(n))\r\n },\r\n\r\n // displays already matched input, i.e. for error messages\r\n pastInput: function () {\r\n var past = this.matched.substr(\r\n 0,\r\n this.matched.length - this.match.length\r\n )\r\n return (\r\n (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\\n/g, '')\r\n )\r\n },\r\n\r\n // displays upcoming input, i.e. for error messages\r\n upcomingInput: function () {\r\n var next = this.match\r\n if (next.length < 20) {\r\n next += this._input.substr(0, 20 - next.length)\r\n }\r\n return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(\r\n /\\n/g,\r\n ''\r\n )\r\n },\r\n\r\n // displays the character position where the lexing error occurred, i.e. for error messages\r\n showPosition: function () {\r\n var pre = this.pastInput()\r\n var c = new Array(pre.length + 1).join('-')\r\n return pre + this.upcomingInput() + '\\n' + c + '^'\r\n },\r\n\r\n // test the lexed token: return FALSE when not a match, otherwise return token\r\n test_match: function (match, indexed_rule) {\r\n var token, lines, backup\r\n\r\n if (this.options.backtrack_lexer) {\r\n // save context\r\n backup = {\r\n yylineno: this.yylineno,\r\n yylloc: {\r\n first_line: this.yylloc.first_line,\r\n last_line: this.last_line,\r\n first_column: this.yylloc.first_column,\r\n last_column: this.yylloc.last_column\r\n },\r\n yytext: this.yytext,\r\n match: this.match,\r\n matches: this.matches,\r\n matched: this.matched,\r\n yyleng: this.yyleng,\r\n offset: this.offset,\r\n _more: this._more,\r\n _input: this._input,\r\n yy: this.yy,\r\n conditionStack: this.conditionStack.slice(0),\r\n done: this.done\r\n }\r\n if (this.options.ranges) {\r\n backup.yylloc.range = this.yylloc.range.slice(0)\r\n }\r\n }\r\n\r\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g)\r\n if (lines) {\r\n this.yylineno += lines.length\r\n }\r\n this.yylloc = {\r\n first_line: this.yylloc.last_line,\r\n last_line: this.yylineno + 1,\r\n first_column: this.yylloc.last_column,\r\n last_column: lines\r\n ? lines[lines.length - 1].length -\r\n lines[lines.length - 1].match(/\\r?\\n?/)[0].length\r\n : this.yylloc.last_column + match[0].length\r\n }\r\n this.yytext += match[0]\r\n this.match += match[0]\r\n this.matches = match\r\n this.yyleng = this.yytext.length\r\n if (this.options.ranges) {\r\n this.yylloc.range = [this.offset, (this.offset += this.yyleng)]\r\n }\r\n this._more = false\r\n this._backtrack = false\r\n this._input = this._input.slice(match[0].length)\r\n this.matched += match[0]\r\n token = this.performAction.call(\r\n this,\r\n this.yy,\r\n this,\r\n indexed_rule,\r\n this.conditionStack[this.conditionStack.length - 1]\r\n )\r\n if (this.done && this._input) {\r\n this.done = false\r\n }\r\n if (token) {\r\n return token\r\n } else if (this._backtrack) {\r\n // recover context\r\n for (var k in backup) {\r\n this[k] = backup[k]\r\n }\r\n return false // rule action called reject() implying the next rule should be tested instead.\r\n }\r\n return false\r\n },\r\n\r\n // return next match in input\r\n next: function () {\r\n if (this.done) {\r\n return this.EOF\r\n }\r\n if (!this._input) {\r\n this.done = true\r\n }\r\n\r\n var token, match, tempMatch, index\r\n if (!this._more) {\r\n this.yytext = ''\r\n this.match = ''\r\n }\r\n var rules = this._currentRules()\r\n for (var i = 0; i < rules.length; i++) {\r\n tempMatch = this._input.match(this.rules[rules[i]])\r\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\r\n match = tempMatch\r\n index = i\r\n if (this.options.backtrack_lexer) {\r\n token = this.test_match(tempMatch, rules[i])\r\n if (token !== false) {\r\n return token\r\n } else if (this._backtrack) {\r\n match = false\r\n continue // rule action called reject() implying a rule MISmatch.\r\n } else {\r\n // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)\r\n return false\r\n }\r\n } else if (!this.options.flex) {\r\n break\r\n }\r\n }\r\n }\r\n if (match) {\r\n token = this.test_match(match, rules[index])\r\n if (token !== false) {\r\n return token\r\n }\r\n // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)\r\n return false\r\n }\r\n if (this._input === '') {\r\n return this.EOF\r\n } else {\r\n return this.parseError(\r\n 'Lexical error on line ' +\r\n (this.yylineno + 1) +\r\n '. Unrecognized text.\\n' +\r\n this.showPosition(),\r\n {\r\n text: '',\r\n token: null,\r\n line: this.yylineno\r\n }\r\n )\r\n }\r\n },\r\n\r\n // return next match that has a token\r\n lex: function lex() {\r\n var r = this.next()\r\n if (r) {\r\n return r\r\n } else {\r\n return this.lex()\r\n }\r\n },\r\n\r\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\r\n begin: function begin(condition) {\r\n this.conditionStack.push(condition)\r\n },\r\n\r\n // pop the previously active lexer condition state off the condition stack\r\n popState: function popState() {\r\n var n = this.conditionStack.length - 1\r\n if (n > 0) {\r\n return this.conditionStack.pop()\r\n } else {\r\n return this.conditionStack[0]\r\n }\r\n },\r\n\r\n // produce the lexer rule set which is active for the currently active lexer condition state\r\n _currentRules: function _currentRules() {\r\n if (\r\n this.conditionStack.length &&\r\n this.conditionStack[this.conditionStack.length - 1]\r\n ) {\r\n return this.conditions[\r\n this.conditionStack[this.conditionStack.length - 1]\r\n ].rules\r\n } else {\r\n return this.conditions['INITIAL'].rules\r\n }\r\n },\r\n\r\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\r\n topState: function topState(n) {\r\n n = this.conditionStack.length - 1 - Math.abs(n || 0)\r\n if (n >= 0) {\r\n return this.conditionStack[n]\r\n } else {\r\n return 'INITIAL'\r\n }\r\n },\r\n\r\n // alias for begin(condition)\r\n pushState: function pushState(condition) {\r\n this.begin(condition)\r\n },\r\n\r\n // return the number of states currently on the stack\r\n stateStackSize: function stateStackSize() {\r\n return this.conditionStack.length\r\n },\r\n options: { 'case-insensitive': true },\r\n performAction: function anonymous(\r\n yy,\r\n yy_,\r\n $avoiding_name_collisions,\r\n YY_START\r\n ) {\r\n var YYSTATE = YY_START\r\n switch ($avoiding_name_collisions) {\r\n case 0 /* ignore whitespace */:\r\n break\r\n case 1:\r\n return ''\r\n break\r\n case 2:\r\n return ''\r\n break\r\n case 3:\r\n return 42\r\n break\r\n case 4:\r\n return 35\r\n break\r\n case 5:\r\n return 77\r\n break\r\n case 6:\r\n return 78\r\n break\r\n case 7:\r\n return 78\r\n break\r\n case 8:\r\n return 8\r\n break\r\n case 9:\r\n return 6\r\n break\r\n case 10:\r\n return 82\r\n break\r\n case 11:\r\n return 7\r\n break\r\n case 12:\r\n return 9\r\n break\r\n case 13:\r\n return 59\r\n break\r\n case 14:\r\n return 13\r\n break\r\n case 15:\r\n return 15\r\n break\r\n case 16:\r\n return 17\r\n break\r\n case 17:\r\n return 18\r\n break\r\n case 18:\r\n return 19\r\n break\r\n case 19:\r\n return 20\r\n break\r\n case 20:\r\n return 11\r\n break\r\n case 21:\r\n return 62\r\n break\r\n case 22:\r\n return 64\r\n break\r\n case 23:\r\n return 23\r\n break\r\n case 24:\r\n return 25\r\n break\r\n case 25:\r\n return 26\r\n break\r\n case 26:\r\n return 27\r\n break\r\n case 27:\r\n return 30\r\n break\r\n case 28:\r\n return 34\r\n break\r\n case 29:\r\n return 33\r\n break\r\n case 30:\r\n return 65\r\n break\r\n case 31:\r\n return 66\r\n break\r\n case 32:\r\n return 37\r\n break\r\n case 33:\r\n return 41\r\n break\r\n case 34:\r\n return 43\r\n break\r\n case 35:\r\n return 52\r\n break\r\n case 36:\r\n return 54\r\n break\r\n case 37:\r\n return 55\r\n break\r\n case 38:\r\n return 46\r\n break\r\n case 39:\r\n return 48\r\n break\r\n case 40:\r\n return 45\r\n break\r\n case 41:\r\n return 49\r\n break\r\n case 42:\r\n return 56\r\n break\r\n case 43:\r\n return 58\r\n break\r\n case 44:\r\n return 44\r\n break\r\n case 45:\r\n return 83\r\n break\r\n case 46:\r\n return 84\r\n break\r\n case 47:\r\n return 85\r\n break\r\n case 48:\r\n return 86\r\n break\r\n case 49:\r\n return 87\r\n break\r\n case 50:\r\n return 88\r\n break\r\n case 51:\r\n return 89\r\n break\r\n case 52:\r\n return 90\r\n break\r\n case 53:\r\n return 91\r\n break\r\n case 54:\r\n return 92\r\n break\r\n case 55:\r\n return 93\r\n break\r\n case 56:\r\n return 94\r\n break\r\n case 57:\r\n return 95\r\n break\r\n case 58:\r\n return 70\r\n break\r\n case 59:\r\n return 70\r\n break\r\n case 60:\r\n return 72\r\n break\r\n case 61:\r\n return 72\r\n break\r\n case 62:\r\n return 74\r\n break\r\n case 63:\r\n return 74\r\n break\r\n case 64:\r\n return 74\r\n break\r\n case 65:\r\n return 31\r\n break\r\n case 66:\r\n return 36\r\n break\r\n case 67:\r\n return 96\r\n break\r\n case 68:\r\n return 97\r\n break\r\n case 69:\r\n return 98\r\n break\r\n case 70:\r\n return 99\r\n break\r\n case 71:\r\n yy_.yytext = yy.utils.unquoteString(yy_.yytext)\r\n return 14\r\n break\r\n case 72:\r\n return 38\r\n break\r\n case 73:\r\n return 5\r\n break\r\n case 74:\r\n return 101\r\n break\r\n case 75:\r\n return 103\r\n break\r\n case 76:\r\n return '\\\\'\r\n break\r\n case 77:\r\n return 28\r\n break\r\n case 78:\r\n return 61\r\n break\r\n case 79:\r\n return 29\r\n break\r\n case 80:\r\n return 57\r\n break\r\n case 81:\r\n return 71\r\n break\r\n }\r\n },\r\n rules: [\r\n /^(?:\\s+)/i,\r\n /^(?:[#].*)/i,\r\n /^(?:\\/\\/.*)/i,\r\n /^(?:([_A-Z0-9\\/\\+]+==))/i,\r\n /^(?:-?[0-9]+(\\.[0-9]+)?\\b)/i,\r\n /^(?:0[xX][0-9A-F]+\\b)/i,\r\n /^(?:false\\b)/i,\r\n /^(?:true\\b)/i,\r\n /^(?:all\\b)/i,\r\n /^(?:reset\\b)/i,\r\n /^(?:clear\\b)/i,\r\n /^(?:build\\b)/i,\r\n /^(?:help\\b)/i,\r\n /^(?:load\\b)/i,\r\n /^(?:get\\b)/i,\r\n /^(?:set\\b)/i,\r\n /^(?:set_save\\b)/i,\r\n /^(?:set_restore\\b)/i,\r\n /^(?:set_reset\\b)/i,\r\n /^(?:preset\\b)/i,\r\n /^(?:motm\\b)/i,\r\n /^(?:add\\b)/i,\r\n /^(?:rep\\b)/i,\r\n /^(?:remove\\b)/i,\r\n /^(?:hide\\b)/i,\r\n /^(?:show\\b)/i,\r\n /^(?:list\\b)/i,\r\n /^(?:select\\b)/i,\r\n /^(?:within\\b)/i,\r\n /^(?:selector\\b)/i,\r\n /^(?:mode\\b)/i,\r\n /^(?:color\\b)/i,\r\n /^(?:material\\b)/i,\r\n /^(?:view\\b)/i,\r\n /^(?:unit\\b)/i,\r\n /^(?:line\\b)/i,\r\n /^(?:listobj\\b)/i,\r\n /^(?:removeobj\\b)/i,\r\n /^(?:rotate\\b)/i,\r\n /^(?:translate\\b)/i,\r\n /^(?:scale\\b)/i,\r\n /^(?:center\\b)/i,\r\n /^(?:url\\b)/i,\r\n /^(?:screenshot\\b)/i,\r\n /^(?:dssp\\b)/i,\r\n /^(?:file_list\\b)/i,\r\n /^(?:file_register\\b)/i,\r\n /^(?:file_delete\\b)/i,\r\n /^(?:preset_add\\b)/i,\r\n /^(?:preset_delete\\b)/i,\r\n /^(?:preset_update\\b)/i,\r\n /^(?:preset_rename\\b)/i,\r\n /^(?:preset_open\\b)/i,\r\n /^(?:create_scenario\\b)/i,\r\n /^(?:reset_scenario\\b)/i,\r\n /^(?:delete_scenario\\b)/i,\r\n /^(?:add_scenario_item\\b)/i,\r\n /^(?:list_scenario\\b)/i,\r\n /^(?:s\\b)/i,\r\n /^(?:mt\\b)/i,\r\n /^(?:m\\b)/i,\r\n /^(?:c\\b)/i,\r\n /^(?:x\\b)/i,\r\n /^(?:y\\b)/i,\r\n /^(?:z\\b)/i,\r\n /^(?:as\\b)/i,\r\n /^(?:of\\b)/i,\r\n /^(?:pdb\\b)/i,\r\n /^(?:delay\\b)/i,\r\n /^(?:prst\\b)/i,\r\n /^(?:desc\\b)/i,\r\n /^(?:((?:\"(?:\\\\.|[^\\\\\"])*\"|'(?:\\\\.|[^\\\\'])*')))/i,\r\n /^(?:([_A-Z0-9]+))/i,\r\n /^(?:$)/i,\r\n /^(?:\\.)/i,\r\n /^(?:\\/)/i,\r\n /^(?:\\\\)/i,\r\n /^(?:-e\\b)/i,\r\n /^(?:-f\\b)/i,\r\n /^(?:-s\\b)/i,\r\n /^(?:-v\\b)/i,\r\n /^(?:=)/i\r\n ],\r\n conditions: {\r\n INITIAL: {\r\n rules: [\r\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,\r\n 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,\r\n 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,\r\n 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,\r\n 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81\r\n ],\r\n inclusive: true\r\n }\r\n }\r\n }\r\n return lexer\r\n })()\r\n parser.lexer = lexer\r\n function Parser() {\r\n this.yy = {}\r\n }\r\n Parser.prototype = parser\r\n parser.Parser = Parser\r\n return new Parser()\r\n})()\r\n\r\nmodule.exports = { parser: parser }\r\n","// import palettes from '../gfx/palettes' // TODO actualy, does nothing\r\n// import settings from '../settings'\r\n\r\nconst modeIdDesc = {\r\n $help: [\r\n 'Rendering mode shortcut',\r\n ' BS - balls and sticks mode',\r\n ' LN - lines mode',\r\n ' LC - licorice mode',\r\n ' VW - van der waals mode',\r\n ' TR - trace mode',\r\n ' TU - tube mode',\r\n ' CA - cartoon mode',\r\n ' SA - isosurface mode',\r\n ' QS - quick surface mode',\r\n ' SE - solvent excluded mode',\r\n ' TX - text mode'\r\n ],\r\n BS: {\r\n $help: [\r\n ' Balls and sticks',\r\n ' aromrad = <number> #aromatic radius',\r\n ' atom = <number> #atom radius',\r\n ' bond = <number> #bond radius',\r\n ' multibond = <bool> #use multibond',\r\n ' showarom = <bool> #show aromatic',\r\n ' space = <number> #space value\\n'\r\n ]\r\n },\r\n CA: {\r\n $help: [\r\n ' Cartoon',\r\n ' arrow = <number> #arrow size',\r\n ' depth = <number> #depth of surface',\r\n ' heightSegmentsRatio = <number>',\r\n ' radius = <number> #tube radius',\r\n ' tension = <number> #',\r\n ' width = <number> #secondary width\\n'\r\n ]\r\n },\r\n LN: {\r\n $help: [\r\n ' Lines',\r\n ' atom = <number> #atom radius',\r\n ' chunkarom = <number>',\r\n ' multibond = <bool> #use multibond',\r\n ' showarom = <bool> #show aromatic',\r\n ' offsarom = <number>\\n'\r\n ]\r\n },\r\n LC: {\r\n $help: [\r\n ' Licorice',\r\n ' aromrad = <number> #aromatic radius',\r\n ' bond = <number> #bond radius',\r\n ' multibond = <bool> #use multibond',\r\n ' showarom = <bool> #show aromatic',\r\n ' space = <number> #space value\\n'\r\n ]\r\n },\r\n VW: {\r\n $help: [' Van der Waals', ' nothing\\n']\r\n },\r\n TR: {\r\n $help: [' Trace', ' radius = <number> #tube radius\\n']\r\n },\r\n TU: {\r\n $help: [\r\n ' Tube',\r\n ' heightSegmentsRatio = <number>',\r\n ' radius = <number> #tube radius',\r\n ' tension = <number> \\n'\r\n ]\r\n },\r\n SA: {\r\n $help: [' Surface', ' zClip = <bool> #clip z plane\\n']\r\n },\r\n QS: {\r\n $help: [\r\n ' Quick surface',\r\n ' isoValue = <number>',\r\n ' scale = <number>',\r\n ' wireframe = <bool>',\r\n ' zClip = <bool> #clip z plane\\n'\r\n ]\r\n },\r\n SE: {\r\n $help: [\r\n ' Solvent excluded surface',\r\n ' zClip = <bool> #clip z plane\\n'\r\n ]\r\n },\r\n TX: {\r\n $help: [\r\n ' Text mode',\r\n ' template = <format string> string that can include \"{{ id }}\"',\r\n ' it will be replaced by value, id can be one of next:',\r\n ' serial, name, type, sequence, residue, chain, hetatm, water\\n',\r\n ' horizontalAlign = <string> {\"left\", \"right\", \"center\"}',\r\n ' verticalAlign = <string> {\"top\", \"bottom\", \"middle\"}',\r\n ' dx = <number> #offset along x',\r\n ' dy = <number> #offset along y',\r\n ' dz = <number> #offset along z',\r\n ' fg = <string> #text color modificator',\r\n ' could be keyword, named color or hex',\r\n ' fg = <string> #back color modificator',\r\n ' could be keyword, named color or hex',\r\n ' showBg = <bool> #if set show background',\r\n ' plate under text'\r\n ]\r\n }\r\n}\r\n\r\nconst colorDesc = {\r\n $help: [\r\n 'Coloring mode shortcut',\r\n ' EL - color by element',\r\n ' CH - color by chain',\r\n ' SQ - color by sequence',\r\n ' RT - color by residue type',\r\n ' SS - color by secondary structure',\r\n ' UN - uniform'\r\n ],\r\n UN: {\r\n $help: [\r\n 'Parameters of coloring modes customization',\r\n ' Uniform',\r\n ' color = <number|color> #RGB->HEX->dec\\n'\r\n ]\r\n // color: {\r\n // $help: Object.keys(palettes.get(settings.now.palette).namedColors)\r\n // .sort()\r\n // .join('\\n')\r\n // }\r\n }\r\n}\r\n\r\nconst materialDesc = {\r\n $help: [\r\n 'Material shortcut',\r\n ' DF - diffuse',\r\n ' TR - transparent',\r\n ' SF - soft plastic',\r\n ' PL - glossy plastic',\r\n ' ME - metal',\r\n ' GL - glass'\r\n ]\r\n}\r\n\r\nconst addRepDesc = {\r\n $help: [\r\n 'Short (packed) representation description as a set of variables',\r\n ' s=<EXPRESSION>',\r\n ' selector property',\r\n ' m=<MODE_ID>[!<PARAMETER>:<VALUE>[,...]]',\r\n ' render mode property',\r\n ' c=<COLORER_ID>[!<PARAMETER>:<VALUE>[,...]]',\r\n ' color mode property',\r\n ' mt=<MATERIAL_ID>',\r\n ' material property'\r\n ],\r\n s: {\r\n $help:\r\n 'Selection expression string as it is in menu->representations->selection'\r\n },\r\n m: modeIdDesc,\r\n c: colorDesc,\r\n mt: materialDesc\r\n}\r\n\r\nconst setGetParameterDesc = {\r\n $help: [\r\n 'Parameters of rendering modes customization: modes',\r\n 'Parameters of colorer customization: colorers',\r\n 'Autobuild: autobuild = (<number>|<bool>)'\r\n ],\r\n modes: modeIdDesc,\r\n colorers: colorDesc\r\n}\r\n\r\nconst help = {\r\n $help: [\r\n 'help (<cmd name>| <path to property>)',\r\n 'You can get detailed information about command options',\r\n ' using \"help cmd.opt.opt.[...]\"\\n',\r\n ' you can use one line comments',\r\n ' everything started from (#|//) will be skipped',\r\n ' Example: >build //some comment\\n',\r\n 'List of available commands:'\r\n ],\r\n reset: {\r\n $help: [\r\n 'Reload current object, delete all representations',\r\n ' Nothing will work until load new object'\r\n ]\r\n },\r\n load: {\r\n $help: [\r\n 'load (<PDBID>|<URL>|-f [<*.NC FILE URL STRING>])',\r\n ' Load new pdb object from selected source'\r\n ],\r\n PDBID: {\r\n $help: 'pdb id in remote molecule database'\r\n },\r\n URL: {\r\n $help: 'url to source file'\r\n },\r\n f: {\r\n $help: [\r\n 'open file system dialog to fetch local file',\r\n 'optionally you can determine trajectory file',\r\n 'via URL for *.top model'\r\n ]\r\n }\r\n },\r\n clear: {\r\n $help: 'No args. Clear terminal'\r\n },\r\n add: {\r\n $help: [\r\n 'add [<REP_NAME>] [<DESCRIPTION>]',\r\n ' Add new item to representation set with',\r\n ' default or <DESCRIPTION> params'\r\n ],\r\n REP_NAME: {\r\n $help: 'Identifier string [_,a-z,A-Z,0-9] can not start from digit'\r\n },\r\n DESCRIPTION: addRepDesc\r\n },\r\n rep: {\r\n $help: [\r\n 'rep [<REP_NAME>|<REP_INDEX>] [<DESCRIPTION>]',\r\n ' set current representation by name or index',\r\n ' edit current representation by <DESCRIPTION>'\r\n ],\r\n REP_NAME: {\r\n $help: [\r\n 'Identifier string [_,a-z,A-Z,0-9] can not start from digit',\r\n 'Must be declared before'\r\n ]\r\n },\r\n REP_INDEX: {\r\n $help: 'Index of available representation'\r\n },\r\n DESCRIPTION: addRepDesc\r\n },\r\n remove: {\r\n $help: [\r\n 'remove (<REP_NAME>|<REP_INDEX>)',\r\n 'Remove representation by name or index'\r\n ],\r\n REP_NAME: {\r\n $help: [\r\n 'Identifier string [_,a-z,A-Z,0-9] can not start from digit',\r\n 'Must be declared before'\r\n ]\r\n },\r\n REP_INDEX: {\r\n $help: 'Index of available representation'\r\n }\r\n },\r\n selector: {\r\n $help: [\r\n 'selector <EXPRESSION>',\r\n ' set selector from EXPRESSION to current representation'\r\n ],\r\n EXPRESSION: {\r\n $help:\r\n 'Selection expression string as it is in menu->representations->selection'\r\n }\r\n },\r\n mode: {\r\n $help: [\r\n 'mode <MODE_ID> [<PARAMETER>=<VALUE>...]',\r\n ' set rendering mode and apply parameters to current representation'\r\n ],\r\n MODE_ID: modeIdDesc\r\n },\r\n color: {\r\n $help: [\r\n 'color <COLORER_ID> [<PARAMETER>=<VALUE>...]',\r\n ' set colorer and apply parameters to current representation'\r\n ],\r\n COLORER_ID: colorDesc\r\n },\r\n material: {\r\n $help: [\r\n 'material <MATERIAL_ID>',\r\n ' set material to current representation'\r\n ],\r\n MATERIAL_ID: materialDesc\r\n },\r\n build: {\r\n $help: 'build help str',\r\n add: {\r\n $help: 'build.add',\r\n new: {\r\n $help: [\r\n 'add.new',\r\n 'add.new new line 1',\r\n 'add.new new line 2',\r\n 'add.new new line 3'\r\n ]\r\n }\r\n },\r\n del: {\r\n $help: 'build.del'\r\n }\r\n },\r\n list: {\r\n $help: [\r\n 'list [-e|-s|<REP_NAME>|<REP_INDEX>]',\r\n 'Print representations if no args print list of representations',\r\n ' -e expand list and show all representations',\r\n ' -s show all user-registered selectors',\r\n ' <REP_NAME>|<REP_INDEX> show only current representation'\r\n ]\r\n },\r\n hide: {\r\n $help: [\r\n 'hide (<REP_NAME>|<REP_INDEX>)',\r\n 'Hide representation referenced in args'\r\n ]\r\n },\r\n show: {\r\n $help: [\r\n 'show (<REP_NAME>|<REP_INDEX>)',\r\n 'Show representation referenced in args'\r\n ]\r\n },\r\n get: {\r\n $help: [\r\n 'get <PARAMETER>',\r\n 'Print <PARAMETER> value',\r\n ' <PARAMETER> - path to option use get.PARAMETER to get more info'\r\n ],\r\n PARAMETER: setGetParameterDesc\r\n },\r\n set: {\r\n $help: [\r\n 'set <PARAMETER> <VALUE>',\r\n 'Set <PARAMETER> with <VALUE>',\r\n ' <PARAMETER> - path to option use set.PARAMETER to get more info'\r\n ],\r\n PARAMETER: setGetParameterDesc\r\n },\r\n set_save: {\r\n $help: ['set_save', 'Save current settings to cookie']\r\n },\r\n set_restore: {\r\n $help: ['set_restore', 'Load and apply settings from cookie']\r\n },\r\n set_reset: {\r\n $help: ['set_reset', 'Reset current settings to the defaults']\r\n },\r\n preset: {\r\n $help: [\r\n 'preset [<PRESET>]',\r\n 'Reset current representation or set preset to <PRESET>'\r\n ],\r\n PRESET: {\r\n $help: ['default', 'wire', 'small', 'macro']\r\n }\r\n },\r\n unit: {\r\n $help: [\r\n 'unit [<unit_id>]',\r\n 'Change current biological structure view. Zero <unit_id> value means asymmetric unit,',\r\n 'positive values set an assembly with corresponding number.',\r\n 'Being called with no parameters command prints current unit information.'\r\n ]\r\n },\r\n view: {\r\n $help: [\r\n 'view [<ENCODED_VIEW>]',\r\n 'Get current encoded view or set if ENCODED_VIEW placed as argument'\r\n ],\r\n ENCODED_VIEW: {\r\n $help: ['encoded view matrix string (binary code)']\r\n }\r\n },\r\n rotate: {\r\n $help: [\r\n 'rotate (x|y|z) [<DEGREES>] [(x|y|z) [<DEGREES>]]...',\r\n 'Rotate scene'\r\n ]\r\n },\r\n scale: {\r\n $help: ['scale <SCALE>', 'Scale scene']\r\n },\r\n select: {\r\n $help: [\r\n 'select <SELECTOR_STRING> [as <SELECTOR_NAME>]',\r\n 'Select atoms using selector defined in SELECTOR_STRING',\r\n ' and if SELECTOR_NAME is defined register it in viewer',\r\n ' you can use it later as a complex selector'\r\n ]\r\n },\r\n within: {\r\n $help: [\r\n 'within <DISTANCE> of <SELECTOR_STRING> as <SELECTOR_NAME>',\r\n 'Build within named selector',\r\n ' DISTANCE <number>',\r\n ' SELECTOR_STRING <string(selection language)>',\r\n ' SELECTOR_NAME <identifier>'\r\n ]\r\n },\r\n url: {\r\n $help: [\r\n 'url [-s] [-v]',\r\n 'Report URL encoded scene',\r\n ' if -s set that include settings in the URL',\r\n ' if -v set that include view in the URL'\r\n ]\r\n },\r\n screenshot: {\r\n $help: [\r\n 'screenshot [<WIDTH> [<HEIGHT>]]',\r\n 'Make a screenshot of the scene',\r\n ' WIDTH <number> in pixels',\r\n ' HEIGHT <number> in pixels, equal to WIDTH by default'\r\n ]\r\n },\r\n line: {\r\n $help: [\r\n 'line <first_atom_path> <second_atom_path> [<PARAMETER>=<VALUE>]',\r\n 'Draw dashed line between two specified atoms'\r\n ]\r\n },\r\n removeobj: {\r\n $help: [\r\n 'removeobj <id>',\r\n 'Remove scene object by its index. Indices could be obtained by <listobj> command'\r\n ]\r\n },\r\n listobj: {\r\n $help: ['listobj', 'Display the list of all existing scene objects']\r\n }\r\n}\r\n\r\nexport default help\r\n","/**\r\n * This class introduces the simplest event system.\r\n */\r\n\r\nimport { remove, find, forEach, omitBy } from 'lodash'\r\n\r\nfunction isUndefOrEqual(param, value) {\r\n return !param || param === value\r\n}\r\n\r\n/**\r\n * Creates empty dispatcher.\r\n *\r\n * @exports EventDispatcher\r\n * @constructor\r\n */\r\nfunction EventDispatcher() {\r\n this._handlers = {}\r\n}\r\n\r\n/**\r\n * Binds callback on specific event type. Optional `context` parameter\r\n * could be used as 'this' for the `callback`.\r\n * @param {string} type Event name.\r\n * @param {function} callback Callback function.\r\n * @param {Object} [context] 'This' object for the callback.\r\n */\r\nEventDispatcher.prototype.addEventListener = function (\r\n type,\r\n callback,\r\n context\r\n) {\r\n let handlers = this._handlers[type]\r\n\r\n if (!handlers) {\r\n this._handlers[type] = []\r\n handlers = this._handlers[type]\r\n }\r\n\r\n const params = [callback, context]\r\n function _checkPar(par) {\r\n return par[0] === params[0] && par[1] === params[1]\r\n }\r\n\r\n if (find(handlers, _checkPar) === undefined) {\r\n handlers.push(params)\r\n }\r\n}\r\n\r\n/**\r\n * Removes a previously-bound callback function from an object.\r\n * If no `context` is specified, all versions of the `callback` with different\r\n * contexts will be removed.\r\n * If no `callback` is specified, all callbacks of the `type` will be removed.\r\n * If no `type` is specified, callbacks for all events will be removed.\r\n * @param {?string} [type] Event type.\r\n * @param {function} [callback] Callback function.\r\n * @param {Object} [context] 'This' object for the callback.\r\n */\r\nEventDispatcher.prototype.removeEventListener = function (\r\n type,\r\n callback,\r\n context\r\n) {\r\n const self = this\r\n forEach(self._handlers, (handler, ev) => {\r\n remove(\r\n handler,\r\n (values) =>\r\n isUndefOrEqual(type, ev) &&\r\n isUndefOrEqual(callback, values[0]) &&\r\n isUndefOrEqual(context, values[1] || self)\r\n )\r\n })\r\n\r\n this._handlers = omitBy(self._handlers, (handler) => handler.length === 0)\r\n}\r\n\r\n/**\r\n * Makes all the callbacks for the specific `event` to trigger.\r\n * @param {Object} event Event.\r\n * @param {string} event.type Type of the event.\r\n */\r\nEventDispatcher.prototype.dispatchEvent = function (event) {\r\n const self = this\r\n\r\n forEach(this._handlers[event.type], (callback) => {\r\n const context = callback[1] || self\r\n callback[0].apply(context, [event])\r\n })\r\n}\r\n\r\nexport default EventDispatcher\r\n","/**\r\n * This module contains class for logging.\r\n * Returns an instance of a logger that have already been created.\r\n * Allows users to log messages for five different levels,\r\n * enable console output and catch signal on each message.\r\n */\r\nimport { findKey, isNumber } from 'lodash'\r\nimport EventDispatcher from './EventDispatcher'\r\n\r\nconst priorities = {\r\n debug: 0,\r\n info: 1,\r\n report: 2,\r\n warn: 3,\r\n error: 4\r\n}\r\n\r\n/**\r\n * Create new Logger.\r\n *\r\n * @exports Logger\r\n * @extends EventDispatcher\r\n * @constructor\r\n */\r\nfunction Logger() {\r\n EventDispatcher.call(this)\r\n /** Boolean flag that toggles output to browser console.\r\n * @type {boolean}\r\n */\r\n this.console = false\r\n this._priority = priorities.warn\r\n}\r\n\r\nLogger.prototype = Object.create(EventDispatcher.prototype)\r\nLogger.prototype.constructor = Logger\r\n\r\n/**\r\n * Create new clean instance of the logger.\r\n * @returns {Logger}\r\n */\r\nLogger.prototype.instantiate = function () {\r\n return new Logger()\r\n}\r\n\r\nfunction verify(number) {\r\n if (!isNumber(number)) {\r\n throw new Error('Wrong log level specified!')\r\n }\r\n return number\r\n}\r\n\r\n/**\r\n * @property {string} current threshold for signals and console output.\r\n * @name Logger#level\r\n */\r\nObject.defineProperty(Logger.prototype, 'level', {\r\n get() {\r\n return findKey(priorities, (value) => value === this._priority)\r\n },\r\n set(level) {\r\n this._priority = verify(priorities[level])\r\n }\r\n})\r\n\r\n/**\r\n * Returns the list of all possible level values.\r\n * @returns {Array}\r\n */\r\nLogger.prototype.levels = function () {\r\n return Object.keys(priorities)\r\n}\r\n\r\n/**\r\n * Add new message with specified level.\r\n * @param {string} level - level of the message, must be one of the\r\n * {'debug' | 'info' | 'report' | 'warn' | 'error'}\r\n * @param {string} message\r\n */\r\nLogger.prototype.message = function (level, message) {\r\n const priority = verify(priorities[level])\r\n this._message(priority, message)\r\n}\r\n\r\n/**\r\n * Shortcut for message('debug', ...);\r\n * @param message\r\n */\r\nLogger.prototype.debug = function (message) {\r\n this._message(priorities.debug, message)\r\n}\r\n\r\n/**\r\n * Shortcut for message('info', ...);\r\n * @param message\r\n */\r\nLogger.prototype.info = function (message) {\r\n this._message(priorities.info, message)\r\n}\r\n\r\n/**\r\n * Shortcut for message('report', ...);\r\n * @param message\r\n */\r\nLogger.prototype.report = function (message) {\r\n this._message(priorities.report, message)\r\n}\r\n\r\n/**\r\n * Shortcut for message('warn', ...);\r\n * @param message\r\n */\r\nLogger.prototype.warn = function (message) {\r\n this._message(priorities.warn, message)\r\n}\r\n\r\n/**\r\n * Shortcut for message('error', ...);\r\n * @param message\r\n */\r\nLogger.prototype.error = function (message) {\r\n this._message(priorities.error, message)\r\n}\r\n\r\n/**\r\n * Add new message with specified priority.\r\n * @param {number} priority - priority of the message\r\n * @param {string} message\r\n * @private\r\n */\r\nLogger.prototype._message = function (priority, message) {\r\n if (priority < this._priority) {\r\n return\r\n }\r\n const level = findKey(priorities, (value) => value === priority)\r\n message = String(message)\r\n if (this.console) {\r\n const output = `miew:${level}: ${message}`\r\n if (level === 'error') {\r\n console.error(output) // NOSONAR\r\n } else if (level === 'warn') {\r\n console.warn(output) // NOSONAR\r\n } else {\r\n console.log(output) // NOSONAR\r\n }\r\n }\r\n this.dispatchEvent({ type: 'message', level, message })\r\n}\r\n\r\nexport default new Logger()\r\n","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n Object.defineProperty(subClass, \"prototype\", {\n value: Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n }),\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"@babel/runtime/helpers/typeof\")[\"default\"];\n\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nmodule.exports = _isNativeFunction, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\n\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n module.exports = _construct = Reflect.construct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n } else {\n module.exports = _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n }\n\n return _construct.apply(null, arguments);\n}\n\nmodule.exports = _construct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\n\nvar setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nvar isNativeFunction = require(\"./isNativeFunction.js\");\n\nvar construct = require(\"./construct.js\");\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _wrapNativeSuper(Class);\n}\n\nmodule.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import logger from './logger'\r\nimport {\r\n assign,\r\n isPlainObject,\r\n forIn,\r\n isEqual,\r\n isEmpty,\r\n isString\r\n} from 'lodash'\r\n\r\nconst browserType = {\r\n DEFAULT: 0,\r\n SAFARI: 1\r\n}\r\n// ----------------------------------------------------------------------------\r\n// Query string\r\n\r\n/**\r\n * Escape only dangerous chars in a query string component, use a plus instead of a space.\r\n *\r\n * [RFC 3986](https://tools.ietf.org/html/rfc3986) allows the following chars in the query (see 3.4):\r\n *\r\n * A-Z a-z 0-9 - _ . ~ ! $ & ' ( ) * + , ; = : @ / ?\r\n *\r\n * For query string elements we need to escape ampersand, equal sign, and plus,\r\n * but encodeURIComponent() function encodes anything except for the following:\r\n *\r\n * A-Z a-z 0-9 - _ . ~ ! ' ( ) *\r\n *\r\n * @param {string} text - key or value to encode\r\n * @param {string} excludeExp - regexp for symbols to exclude from encoding\r\n * @returns {string} encoded string\r\n */\r\nfunction encodeQueryComponent(text, excludeExp) {\r\n const encode = (code) => String.fromCharCode(parseInt(code.substr(1), 16))\r\n return encodeURIComponent(text)\r\n .replace(excludeExp, encode)\r\n .replace(/%20/g, '+')\r\n}\r\n\r\n/**\r\n * Unescape dangerous chars in a query string component.\r\n *\r\n * @param {string} text - encoded key or value\r\n * @returns {string} decoded string\r\n * @see {@link encodeQueryComponent}\r\n */\r\nfunction decodeQueryComponent(text) {\r\n return decodeURIComponent(text.replace(/\\+/g, ' '))\r\n}\r\n\r\n/**\r\n * Parse URL and extract an array of parameters.\r\n * @param {string?} url - URL or query string to parse\r\n * @returns {Array} array of (key, value) pairs.\r\n */\r\nfunction getUrlParameters(url) {\r\n url = url || window.location.search\r\n\r\n const query = url.substring(url.indexOf('?') + 1)\r\n const search = /([^&=]+)=?([^&]*)/g\r\n const result = []\r\n let match\r\n\r\n while ((match = search.exec(query)) !== null) {\r\n // eslint-disable-line no-cond-assign\r\n result.push([\r\n decodeQueryComponent(match[1]),\r\n decodeQueryComponent(match[2])\r\n ])\r\n }\r\n\r\n return result\r\n}\r\n\r\n/**\r\n * Parse URL and extract an array of parameters as a hash.\r\n * @param {string?} url - URL or query string to parse\r\n * @returns {Object}\r\n */\r\nfunction getUrlParametersAsDict(url) {\r\n const result = {}\r\n const a = getUrlParameters(url)\r\n for (let i = 0; i < a.length; ++i) {\r\n const [key, value] = a[i]\r\n result[key] = value\r\n }\r\n return result\r\n}\r\n\r\nfunction resolveURL(str) {\r\n if (typeof URL !== 'undefined') {\r\n try {\r\n if (typeof window !== 'undefined') {\r\n return new URL(str, window.location).href\r\n }\r\n return new URL(str).href\r\n } catch (error) {\r\n // IE 11 has a URL object with no constructor available so just try a different approach instead\r\n }\r\n }\r\n if (typeof document !== 'undefined') {\r\n const anchor = document.createElement('a')\r\n anchor.href = str\r\n return anchor.href\r\n }\r\n return str\r\n}\r\n\r\n/**\r\n * Generates regular expression object that includes all symbols\r\n * listed in the argument\r\n * @param symbolStr {string} - String containing characters list.\r\n * @returns {RegExp} - Regular expression.\r\n */\r\nfunction generateRegExp(symbolStr) {\r\n const symbolList = []\r\n\r\n for (let i = 0, n = symbolStr.length; i < n; ++i) {\r\n symbolList[symbolList.length] = symbolStr[i].charCodeAt(0).toString(16)\r\n }\r\n\r\n const listStr = symbolList.join('|')\r\n\r\n return new RegExp(`%(?:${listStr})`, 'gi')\r\n}\r\n\r\n// ----------------------------------------------------------------------------\r\n// Create HTML element\r\n\r\nfunction createElement(tag, attrs, content) {\r\n const element = document.createElement(tag)\r\n let i\r\n let n\r\n if (attrs) {\r\n const keys = Object.keys(attrs)\r\n for (i = 0, n = keys.length; i < n; ++i) {\r\n const key = keys[i]\r\n element.setAttribute(key, attrs[key])\r\n }\r\n }\r\n if (content) {\r\n if (!(content instanceof Array)) {\r\n content = [content]\r\n }\r\n for (i = 0, n = content.length; i < n; ++i) {\r\n const child = content[i]\r\n if (typeof child === 'string') {\r\n element.appendChild(document.createTextNode(child))\r\n } else if (child instanceof HTMLElement) {\r\n element.appendChild(child)\r\n }\r\n }\r\n }\r\n return element\r\n}\r\n\r\n// ----------------------------------------------------------------------------\r\n// Easy inheritance\r\n\r\n/**\r\n * Derive the class from the base.\r\n * @param cls {function} - Class (constructor) to derive.\r\n * @param base {function} - Class (constructor) to derive from.\r\n * @param members {object=} - Optional instance members to add.\r\n * @param statics {object=} - Optional static class members to add.\r\n * @returns {function} Original class.\r\n */\r\nfunction deriveClass(cls, base, members, statics) {\r\n cls.prototype = assign(\r\n Object.create(base.prototype),\r\n { constructor: cls },\r\n members\r\n )\r\n if (statics) {\r\n assign(cls, statics)\r\n }\r\n return cls\r\n}\r\n\r\n// ----------------------------------------------------------------------------\r\n// Deep prototyping\r\n\r\nfunction deriveDeep(obj, needZeroOwnProperties) {\r\n let res = obj\r\n let i\r\n let n\r\n if (obj instanceof Array) {\r\n res = new Array(obj.length)\r\n for (i = 0, n = obj.length; i < n; ++i) {\r\n res[i] = deriveDeep(obj[i])\r\n }\r\n } else if (obj instanceof Object) {\r\n res = Object.create(obj)\r\n const keys = Object.keys(obj)\r\n for (i = 0, n = keys.length; i < n; ++i) {\r\n const key = keys[i]\r\n const value = obj[key]\r\n const copy = deriveDeep(value)\r\n if (copy !== value) {\r\n res[key] = copy\r\n }\r\n }\r\n if (needZeroOwnProperties && Object.keys(res).length > 0) {\r\n res = Object.create(res)\r\n }\r\n }\r\n return res\r\n}\r\n\r\n// ----------------------------------------------------------------------------\r\n// Colors\r\n\r\nfunction hexColor(color) {\r\n const hex = `0000000${color.toString(16)}`.substr(-6)\r\n return `#${hex}`\r\n}\r\n\r\n// ----------------------------------------------------------------------------\r\n// Debug tracing\r\n\r\nfunction DebugTracer(namespace) {\r\n let enabled = false\r\n\r\n this.enable = function (on) {\r\n enabled = on\r\n }\r\n\r\n let indent = 0\r\n const methods = Object.keys(namespace)\r\n\r\n function wrap(method_, name_) {\r\n return function (...args) {\r\n const spaces = DebugTracer.spaces.substr(0, indent * 2)\r\n if (enabled) {\r\n logger.debug(`${spaces + name_} {`)\r\n }\r\n indent++\r\n const result = method_.apply(this, args) // eslint-disable-line no-invalid-this\r\n indent--\r\n if (enabled) {\r\n logger.debug(`${spaces}} // ${name_}`)\r\n }\r\n return result\r\n }\r\n }\r\n\r\n for (let i = 0, n = methods.length; i < n; ++i) {\r\n const name = methods[i]\r\n const method = namespace[name]\r\n if (method instanceof Function && name !== 'constructor') {\r\n namespace[name] = wrap(method, name)\r\n }\r\n }\r\n}\r\n\r\nDebugTracer.spaces =\r\n ' '\r\n\r\nclass OutOfMemoryError extends Error {\r\n constructor(message) {\r\n super()\r\n this.name = 'OutOfMemoryError'\r\n this.message = message\r\n }\r\n}\r\n\r\nfunction allocateTyped(TypedArrayName, size) {\r\n let result = null\r\n try {\r\n result = new TypedArrayName(size)\r\n } catch (e) {\r\n if (e instanceof RangeError) {\r\n throw new OutOfMemoryError(e.message)\r\n } else {\r\n throw e\r\n }\r\n }\r\n return result\r\n}\r\n\r\n// ----------------------------------------------------------------------------\r\n// Float array conversion\r\n\r\nfunction bytesToBase64(/** ArrayBuffer */ buffer) {\r\n const bytes = new Uint8Array(buffer)\r\n let binary = ''\r\n for (let i = 0; i < bytes.byteLength; i++) {\r\n binary += String.fromCharCode(bytes[i])\r\n }\r\n return window.btoa(binary)\r\n}\r\n\r\nfunction bytesFromBase64(/** string */ str) {\r\n const binary = window.atob(str)\r\n const bytes = new Uint8Array(binary.length)\r\n for (let i = 0; i < bytes.length; ++i) {\r\n bytes[i] = binary[i].charCodeAt(0)\r\n }\r\n return bytes.buffer\r\n}\r\n\r\nfunction arrayToBase64(/** number[] */ array, /** function */ TypedArrayClass) {\r\n return bytesToBase64(new TypedArrayClass(array).buffer)\r\n}\r\n\r\nfunction arrayFromBase64(/** string */ str, /** function */ TypedArrayClass) {\r\n return Array.prototype.slice.call(new TypedArrayClass(bytesFromBase64(str)))\r\n}\r\n\r\n// NOTE: this is 1-level comparison\r\nfunction compareOptionsWithDefaults(opts, defOpts) {\r\n const optsStr = []\r\n if (defOpts && opts) {\r\n const keys = Object.keys(opts)\r\n for (let p = 0; p < keys.length; ++p) {\r\n const key = keys[p]\r\n const value = opts[key]\r\n // TODO add processing for tree structure\r\n if (\r\n !(value instanceof Object) &&\r\n typeof defOpts[key] !== 'undefined' &&\r\n defOpts[key] !== value\r\n ) {\r\n optsStr.push(`${key}:${value}`)\r\n }\r\n }\r\n if (optsStr.length > 0) {\r\n return `!${optsStr.join()}`\r\n }\r\n }\r\n return ''\r\n}\r\n\r\nfunction isAlmostPlainObject(o) {\r\n if (isPlainObject(o)) {\r\n return true\r\n }\r\n const proto = o && Object.getPrototypeOf(o)\r\n return (\r\n !!proto &&\r\n !Object.hasOwn(proto, 'constructor') &&\r\n isAlmostPlainObject(proto)\r\n )\r\n}\r\n\r\n/**\r\n * Build an object that contains properties (and subproperties) of `src` different from those\r\n * in `dst`. Objects are parsed recursively, other values (including arrays) are compared for\r\n * equality using `isEqual()`.\r\n * @param {!object} src - a new object to compare, may contain changed or new properties\r\n * @param {!object} dst - an old reference object\r\n */\r\nfunction objectsDiff(src, dst) {\r\n const diff = {}\r\n forIn(src, (srcValue, key) => {\r\n const dstValue = dst[key]\r\n if (isAlmostPlainObject(srcValue) && isAlmostPlainObject(dstValue)) {\r\n const deepDiff = objectsDiff(srcValue, dstValue)\r\n if (!isEmpty(deepDiff)) {\r\n diff[key] = deepDiff\r\n }\r\n } else if (!isEqual(srcValue, dstValue)) {\r\n diff[key] = srcValue\r\n }\r\n })\r\n return diff\r\n}\r\n\r\nfunction forInRecursive(object, callback) {\r\n function iterateThrough(obj, prefix) {\r\n forIn(obj, (value, key) => {\r\n const newPref = prefix + (prefix.length > 0 ? '.' : '')\r\n if (value instanceof Object) {\r\n iterateThrough(value, newPref + key)\r\n } else if (value !== undefined) {\r\n callback(value, newPref + key)\r\n }\r\n })\r\n }\r\n iterateThrough(object, '')\r\n}\r\n\r\nfunction enquoteString(value) {\r\n if (isString(value)) {\r\n return `\"${value.replace(/\"/g, '\\\\\"')}\"`\r\n }\r\n return value\r\n}\r\n\r\nfunction unquoteString(value) {\r\n if (!isString(value)) {\r\n return value\r\n }\r\n if (value[0] === '\"' && value[value.length - 1] === '\"') {\r\n value = value.slice(1, value.length - 1)\r\n return value.replace(/\\\\\"/g, '\"')\r\n }\r\n if (value[0] === \"'\" && value[value.length - 1] === \"'\") {\r\n value = value.slice(1, value.length - 1)\r\n return value.replace(/\\\\'/g, \"'\")\r\n }\r\n throw new SyntaxError(\"Incorrect string format, can't unqute it\")\r\n}\r\n\r\nfunction getFileExtension(fileName) {\r\n return fileName.slice(Math.max(0, fileName.lastIndexOf('.')) || Infinity)\r\n}\r\n\r\nfunction splitFileName(fileName) {\r\n const ext = getFileExtension(fileName)\r\n const name = fileName.slice(0, fileName.length - ext.length)\r\n return [name, ext]\r\n}\r\n\r\nfunction dataUrlToBlob(url) {\r\n const parts = url.split(/[:;,]/)\r\n const partsCount = parts.length\r\n if (partsCount >= 3 && parts[partsCount - 2] === 'base64') {\r\n return new Blob([bytesFromBase64(parts[partsCount - 1])])\r\n }\r\n return null\r\n}\r\n\r\nfunction getBrowser() {\r\n if (\r\n navigator.vendor &&\r\n navigator.vendor.indexOf('Apple') > -1 &&\r\n navigator.userAgent &&\r\n navigator.userAgent.indexOf('CriOS') === -1 &&\r\n navigator.userAgent.indexOf('FxiOS') === -1\r\n ) {\r\n return browserType.SAFARI\r\n }\r\n return browserType.DEFAULT\r\n}\r\n\r\nfunction shotOpen(url) {\r\n if (typeof window !== 'undefined') {\r\n window\r\n .open()\r\n .document.write(`<body style=\"margin:0\"><img src=\"${url}\" /></body>`)\r\n }\r\n}\r\n\r\nfunction shotDownload(dataUrl, filename) {\r\n if (!dataUrl || dataUrl.substr(0, 5) !== 'data:') {\r\n return\r\n }\r\n if (!filename) {\r\n filename = ['screenshot-', +new Date(), '.png'].join('')\r\n }\r\n if (\r\n typeof window !== 'undefined' &&\r\n window.navigator &&\r\n window.navigator.msSaveBlob\r\n ) {\r\n window.navigator.msSaveBlob(dataUrlToBlob(dataUrl), filename)\r\n } else if (typeof document !== 'undefined') {\r\n const link = document.createElement('a')\r\n link.download = filename\r\n link.innerHTML = 'download'\r\n link.href = window.URL.createObjectURL(dataUrlToBlob(dataUrl))\r\n document.body.appendChild(link)\r\n link.click()\r\n document.body.removeChild(link)\r\n }\r\n}\r\n\r\nfunction download(data, filename, type) {\r\n const blobData = new Blob([data])\r\n\r\n if (!filename) {\r\n filename = ['data', +new Date()].join('')\r\n }\r\n\r\n if (!type) {\r\n filename += blobData.type || '.bin'\r\n } else {\r\n filename += `.${type}`\r\n }\r\n\r\n if (\r\n typeof window !== 'undefined' &&\r\n window.navigator &&\r\n window.navigator.msSaveBlob\r\n ) {\r\n window.navigator.msSaveBlob(blobData, filename)\r\n } else if (typeof document !== 'undefined') {\r\n const link = document.createElement('a')\r\n link.download = filename\r\n link.innerHTML = 'download'\r\n link.href = window.URL.createObjectURL(blobData)\r\n document.body.appendChild(link)\r\n link.click()\r\n document.body.removeChild(link)\r\n }\r\n}\r\n\r\nfunction copySubArrays(src, dst, indices, itemSize) {\r\n for (let i = 0, n = indices.length; i < n; ++i) {\r\n for (let j = 0; j < itemSize; ++j) {\r\n dst[i * itemSize + j] = src[indices[i] * itemSize + j]\r\n }\r\n }\r\n}\r\n\r\nfunction shallowCloneNode(node) {\r\n const newNode = node.cloneNode(true)\r\n newNode.worldPos = node.worldPos\r\n // .style property is readonly, so \"newNode.style = node.style;\" won't work (and we don't need it, right?)\r\n return newNode\r\n}\r\n\r\nconst unquotedStringRE = /^[a-zA-Z0-9_]*$/\r\nconst enquoteHelper = ['\"', '', '\"']\r\n\r\n// verify and correct if needed selctor identifier\r\nfunction correctSelectorIdentifier(value) {\r\n if (unquotedStringRE.test(value)) {\r\n return value\r\n }\r\n // quote incorrect identifier\r\n enquoteHelper[1] = value\r\n return enquoteHelper.join('')\r\n}\r\n\r\n/**\r\n * Concatenates two TypedArray. Doesn't check null refs o type equality\r\n * Attention! It must be use very rarely because requires memory reallocation every time. Use MergeTypedArraysUnsafe to\r\n * unite array of subarrays.\r\n * @param{TypedArray} first - destination array\r\n * @param{TypedArray} second - source array\r\n * @returns{TypedArray} resulting concatenated array\r\n */\r\nfunction concatTypedArraysUnsafe(first, second) {\r\n const result = new first.constructor(first.length + second.length)\r\n result.set(first)\r\n result.set(second, first.length)\r\n return result\r\n}\r\n\r\n/**\r\n * Merges array of TypedArray into TypedArray. Doesn't check null refs o type equality\r\n * @param{array} array - source array of subarrays\r\n * @returns{TypedArray} resulting merged array\r\n */\r\nfunction mergeTypedArraysUnsafe(array) {\r\n if (array.length <= 0) {\r\n return null\r\n }\r\n // count the size\r\n const size = array.reduce((acc, cur) => acc + cur.length, 0)\r\n // create combined array\r\n const result = new array[0].constructor(size)\r\n for (let i = 0, start = 0; i < array.length; i++) {\r\n const count = array[i].length\r\n result.set(array[i], start)\r\n start += count\r\n }\r\n return result\r\n}\r\n\r\n// ----------------------------------------------------------------------------\r\n// Exports\r\n\r\nexport default {\r\n browserType,\r\n encodeQueryComponent,\r\n decodeQueryComponent,\r\n getUrlParameters,\r\n getUrlParametersAsDict,\r\n resolveURL,\r\n generateRegExp,\r\n createElement,\r\n deriveClass,\r\n deriveDeep,\r\n hexColor,\r\n DebugTracer,\r\n OutOfMemoryError,\r\n allocateTyped,\r\n bytesFromBase64,\r\n bytesToBase64,\r\n arrayFromBase64,\r\n arrayToBase64,\r\n compareOptionsWithDefaults,\r\n objectsDiff,\r\n forInRecursive,\r\n enquoteString,\r\n unquoteString,\r\n getBrowser,\r\n shotOpen,\r\n shotDownload,\r\n copySubArrays,\r\n shallowCloneNode,\r\n correctSelectorIdentifier,\r\n getFileExtension,\r\n splitFileName,\r\n download,\r\n concatTypedArraysUnsafe,\r\n mergeTypedArraysUnsafe\r\n}\r\n","import { Miew } from 'miew'\r\nimport { parser as parsercli } from './MiewCLIParser'\r\nimport clihelp from './MiewCLIHelp'\r\nimport logger from './logger'\r\nimport { slice, sortBy, get, keys, isUndefined, set, assign } from 'lodash'\r\nimport utils from './utils'\r\n\r\nconst {\r\n chem: { selectors },\r\n modes,\r\n colorers,\r\n materials,\r\n palettes,\r\n options,\r\n settings\r\n} = Miew\r\n\r\nfunction None() {}\r\n\r\nconst NULL = (function () {\r\n const obj = new None()\r\n return function () {\r\n return obj\r\n }\r\n})()\r\n\r\nclass RepresentationMap {\r\n constructor() {\r\n this.representationMap = {}\r\n this.representationID = {}\r\n }\r\n\r\n get(strId) {\r\n return (\r\n this.representationMap[strId] ||\r\n this.representationID[strId] ||\r\n '<no name>'\r\n )\r\n }\r\n\r\n add(strId, index) {\r\n if (strId === -1) {\r\n return 'Can not create representation: there is no data'\r\n }\r\n\r\n if (index !== undefined) {\r\n if (!Object.hasOwn(this.representationMap, strId)) {\r\n this.representationMap[strId.toString()] = index\r\n this.representationID[index] = strId.toString()\r\n } else {\r\n return 'This name has already existed, registered without name'\r\n }\r\n }\r\n return `Representation ${strId} successfully added`\r\n }\r\n\r\n remove(index) {\r\n if (index && Object.hasOwn(this.representationID, index)) {\r\n delete this.representationMap[this.representationID[index]]\r\n delete this.representationID[index]\r\n }\r\n\r\n const sortedKeys = Object.keys(this.representationID).sort()\r\n for (const i in sortedKeys) {\r\n if (Object.hasOwn(sortedKeys, i)) {\r\n const id = sortedKeys[i]\r\n if (id > index) {\r\n this.representationID[id - 1] = this.representationID[id]\r\n this.representationMap[this.representationID[id]] -= 1\r\n delete this.representationID[id]\r\n }\r\n }\r\n }\r\n }\r\n\r\n clear() {\r\n this.representationMap = {}\r\n this.representationID = {}\r\n }\r\n}\r\n\r\nconst representationsStorage = new RepresentationMap()\r\n\r\nfunction keyRemap(key) {\r\n const keys = {\r\n s: 'selector',\r\n m: 'mode',\r\n c: 'colorer',\r\n mt: 'material',\r\n mode: 'modes',\r\n color: 'colorers',\r\n colorer: 'colorers',\r\n select: 'selector',\r\n material: 'materials',\r\n selector: 'selector'\r\n }\r\n const ans = keys[key]\r\n return ans === undefined ? key : ans\r\n}\r\n\r\nclass CLIUtils {\r\n list(miew, repMap, key) {\r\n let ret = ''\r\n if (miew && repMap !== undefined) {\r\n if (key === undefined || key === '-e') {\r\n const count = miew.repCount()\r\n\r\n for (let i = 0; i < count; i++) {\r\n ret += this.listRep(miew, repMap, i, key)\r\n }\r\n }\r\n }\r\n return ret\r\n }\r\n\r\n listRep(miew, repMap, repIndex, key) {\r\n let ret = ''\r\n const rep = miew.repGet(repIndex)\r\n if (!rep) {\r\n logger.warn(`Rep ${repIndex} does not exist!`)\r\n return ret\r\n }\r\n const index = repIndex\r\n const repName = repMap.get(index)\r\n\r\n const { mode, colorer } = rep\r\n const selectionStr = rep.selectorString\r\n const material = rep.materialPreset\r\n\r\n ret += `#${index} : ${mode.name}${\r\n repName === '<no name>' ? '' : `, ${repName}`\r\n }\\n`\r\n\r\n if (key !== undefined) {\r\n ret += ` selection : \"${selectionStr}\"\\n`\r\n ret += ` mode : (${mode.id}), ${mode.name}\\n`\r\n ret += ` colorer : (${colorer.id}), ${colorer.name}\\n`\r\n ret += ` material : (${material.id}), ${material.name}\\n`\r\n }\r\n\r\n return ret\r\n }\r\n\r\n listSelector(miew, context) {\r\n let ret = ''\r\n\r\n for (const k in context) {\r\n if (Object.hasOwn(context, k)) {\r\n ret += `${k} : \"${context[k]}\"\\n`\r\n }\r\n }\r\n\r\n return ret\r\n }\r\n\r\n listObjs(miew) {\r\n const objs = miew._objects\r\n\r\n if (!objs || !Array.isArray(objs) || objs.length === 0) {\r\n return 'There are no objects on the scene'\r\n }\r\n\r\n const strList = []\r\n for (let i = 0, n = objs.length; i < n; ++i) {\r\n strList[i] = `${i}: ${objs[i].toString()}`\r\n }\r\n\r\n return strList.join('\\n')\r\n }\r\n\r\n joinHelpStr(helpData) {\r\n if (helpData instanceof Array) {\r\n return helpData.join('\\n')\r\n }\r\n return helpData\r\n }\r\n\r\n help(path) {\r\n if (isUndefined(path)) {\r\n return `${this.joinHelpStr(clihelp.$help)}\\n${slice(\r\n sortBy(keys(clihelp)),\r\n 1\r\n ).join(', ')}\\n`\r\n }\r\n\r\n const helpItem = get(clihelp, path)\r\n return isUndefined(helpItem)\r\n ? this.help()\r\n : `${this.joinHelpStr(helpItem.$help)}\\n`\r\n }\r\n\r\n load(miew, arg) {\r\n if (miew === undefined || arg === undefined || arg === '-f') {\r\n return\r\n }\r\n miew.awaitWhileCMDisInProcess()\r\n const finish = () => miew.finishAwaitingCMDInProcess()\r\n miew.load(arg).then(finish, finish)\r\n }\r\n\r\n checkArg(key, arg, modificate) {\r\n if (key !== undefined && arg !== undefined) {\r\n if (keyRemap(key) === 'selector') {\r\n const res = selectors.parse(arg)\r\n\r\n if (res.error !== undefined) {\r\n const selExc = { message: res.error }\r\n throw selExc\r\n }\r\n\r\n if (modificate !== undefined && modificate) {\r\n return res.selector\r\n }\r\n return arg\r\n }\r\n\r\n const modificators = {\r\n colorers,\r\n modes,\r\n materials\r\n }\r\n\r\n let modificator = key\r\n let temp\r\n while (modificator !== temp) {\r\n temp = modificator\r\n modificator = keyRemap(temp)\r\n }\r\n\r\n if (modificators[modificator].get(arg) === undefined) {\r\n const exc = { message: `${arg} is not existed in ${modificator}` }\r\n throw exc\r\n }\r\n return arg\r\n }\r\n return NULL\r\n }\r\n\r\n propagateProp(path, arg) {\r\n if (path !== undefined) {\r\n let argExc = {}\r\n const adapter = options.adapters[typeof get(settings.defaults, path)]\r\n if (adapter === undefined) {\r\n const pathExc = { message: `${path} is not existed` }\r\n throw pathExc\r\n }\r\n\r\n if (\r\n (path.endsWith('.color') ||\r\n path.endsWith('.baseColor') ||\r\n path.endsWith('.EL.carbon')) &&\r\n typeof arg !== 'number'\r\n ) {\r\n arg = palettes.get(settings.now.palette).getNamedColor(arg)\r\n }\r\n\r\n if (path.endsWith('.fg') || path.endsWith('.bg')) {\r\n if (typeof arg !== 'number') {\r\n const val = palettes\r\n .get(settings.now.palette)\r\n .getNamedColor(arg, true)\r\n if (val !== undefined) {\r\n arg = `0x${val.toString(16)}`\r\n }\r\n } else {\r\n arg = `0x${arg.toString(16)}`\r\n }\r\n }\r\n\r\n if (path.endsWith('.template')) {\r\n arg = arg.replace(/\\\\n/g, '\\n') // NOSONAR\r\n }\r\n\r\n if (\r\n arg !== undefined &&\r\n adapter(arg) !== arg &&\r\n adapter(arg) !== arg > 0\r\n ) {\r\n argExc = {\r\n message: `${path} must be a \"${typeof get(settings.defaults, path)}\"`\r\n }\r\n throw argExc\r\n }\r\n }\r\n return arg\r\n }\r\n\r\n unquoteString(value) {\r\n return utils.unquoteString(value)\r\n }\r\n}\r\n// repIndexOrRepMap could be RepresentationMap or index\r\n\r\nconst utilFunctions = new CLIUtils()\r\n\r\nfunction CreateObjectPair(a, b) {\r\n const obj = {}\r\n obj[a] = b\r\n return obj\r\n}\r\n\r\nfunction ArgList(arg) {\r\n if (arg instanceof this.constructor) {\r\n return arg\r\n }\r\n if (arg instanceof Array) {\r\n this._values = arg.slice(0)\r\n } else if (arg) {\r\n this._values = [arg]\r\n } else {\r\n this._values = []\r\n }\r\n}\r\n\r\nArgList.prototype.append = function (value) {\r\n const values = this._values\r\n values[values.length] = value\r\n return this\r\n}\r\n\r\nArgList.prototype.remove = function (value) {\r\n const values = this._values\r\n const index = values.indexOf(value)\r\n if (index >= 0) {\r\n values.splice(index, 1)\r\n }\r\n return this\r\n}\r\n\r\nArgList.prototype.toJSO = function (cliUtils, cmd, arg) {\r\n const res = {}\r\n\r\n const list = this._values\r\n for (let i = 0, n = list.length; i < n; ++i) {\r\n set(\r\n res,\r\n list[i].id,\r\n cliUtils.propagateProp(\r\n `${keyRemap(cmd)}.${arg}.${list[i].id}`,\r\n list[i].val\r\n )\r\n )\r\n }\r\n\r\n return res\r\n}\r\n\r\nfunction Arg(_id, _val) {\r\n this.id = _id\r\n this.val = _val\r\n}\r\n\r\nconst cliutils = Object.create({})\r\n\r\ncliutils.Arg = Arg\r\ncliutils.ArgList = ArgList\r\n\r\ncliutils.miew = null\r\ncliutils.echo = null\r\ncliutils.representations = representationsStorage\r\ncliutils.utils = utilFunctions\r\n\r\ncliutils.assign = assign\r\ncliutils.CreateObjectPair = CreateObjectPair\r\ncliutils.keyRemap = keyRemap\r\ncliutils.Context = selectors.Context\r\ncliutils.ClearContext = selectors.ClearContext\r\n\r\ncliutils.NULL = NULL\r\n\r\ncliutils.notimplemented = function () {\r\n return this.NULL\r\n}\r\n\r\nparsercli.yy = cliutils\r\n// workaround for incorrect JISON parser generator for AMD module\r\nparsercli.yy.parseError = parsercli.parseError\r\n\r\nexport const getMiewWithCli = (miewInstance) => {\r\n const obj = Object.create(miewInstance)\r\n\r\n obj.script = function (script, _printCallback, _errorCallback) {\r\n parsercli.yy.miew = obj\r\n parsercli.yy.echo = _printCallback\r\n parsercli.yy.error = _errorCallback\r\n if (obj.cmdQueue === undefined) {\r\n obj.cmdQueue = []\r\n }\r\n if (obj.commandInAction === undefined) {\r\n obj.commandInAction = false\r\n }\r\n\r\n obj.cmdQueue = obj.cmdQueue.concat(script.split('\\n'))\r\n }\r\n\r\n obj.awaitWhileCMDisInProcess = function () {\r\n obj.commandInAction = true\r\n }\r\n\r\n obj.finishAwaitingCMDInProcess = function () {\r\n obj.commandInAction = false\r\n }\r\n\r\n obj.isScriptingCommandAvailable = function () {\r\n return (\r\n obj.commandInAction !== undefined &&\r\n !obj.commandInAction &&\r\n obj.cmdQueue !== undefined &&\r\n obj.cmdQueue.length > 0\r\n )\r\n }\r\n\r\n obj.callNextCmd = function () {\r\n if (obj.isScriptingCommandAvailable()) {\r\n const cmd = obj.cmdQueue.shift()\r\n const res = {}\r\n res.success = false\r\n try {\r\n parsercli.parse(cmd)\r\n res.success = true\r\n } catch (e) {\r\n res.error = e.message\r\n parsercli.yy.error(res.error)\r\n obj.finishAwaitingCMDInProcess()\r\n }\r\n return res\r\n }\r\n return ''\r\n }\r\n\r\n obj._onUpdate = function () {\r\n if (\r\n obj.isScriptingCommandAvailable !== undefined &&\r\n obj.isScriptingCommandAvailable() &&\r\n !obj._building\r\n ) {\r\n obj.callNextCmd()\r\n }\r\n\r\n obj._objectControls.update()\r\n\r\n obj._forEachComplexVisual((visual) => {\r\n visual.getComplex().update()\r\n })\r\n\r\n if (\r\n settings.now.autobuild &&\r\n !obj._loading.length &&\r\n !obj._building &&\r\n obj._needRebuild()\r\n ) {\r\n obj.rebuild()\r\n }\r\n\r\n if (!obj._loading.length && !obj._building && !obj._needRebuild()) {\r\n obj._updateView()\r\n }\r\n\r\n obj._updateFog()\r\n\r\n if (obj._gfx.renderer.xr.enabled) {\r\n obj.webVR.updateMoleculeScale()\r\n }\r\n }\r\n\r\n return obj\r\n}\r\n"],"names":["_typeof_1","commonjsHelpers.createCommonjsModule","module","_typeof","obj","exports","Symbol","iterator","constructor","prototype","__esModule","commonjsHelpers.getDefaultExportFromCjs","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","protoProps","staticProps","parser","o","k","v","l","$V0","$V1","$V2","$V3","$V4","$V5","$V6","$V7","$V8","$V9","$Va","$Vb","$Vc","$Vd","$Ve","$Vf","$Vg","$Vh","$Vi","$Vj","$Vk","$Vl","$Vm","$Vn","$Vo","$Vp","$Vq","$Vr","$Vs","$Vt","$Vu","$Vv","$Vw","$Vx","$Vy","$Vz","$VA","$VB","$VC","$VD","$VE","$VF","$VG","$VH","$VI","$VJ","$VK","$VL","$VM","$VN","$VO","$VP","$VQ","$VR","$VS","$VT","$VU","$VV","$VW","$VX","$VY","$VZ","$V_","$V$","$V01","$V11","$V21","$V31","$V41","$V51","$V61","trace","yy","symbols_","error","Program","Command","EOF","RESET","BUILD","ALL","HELP","Path","MOTM","OneArgCommand","GET","STRING","SET","Value","SET_SAVE","SET_RESTORE","SET_RESET","PRESET","AddRepresentation","EditRepresentation","REMOVE","RepresentationReference","HIDE","SHOW","LIST","EXPAND_KEY","SELECTOR_KEY","SELECT","AS","WordAll","SELECTOR","WITHIN","NUMBER","OF","MATERIAL","IDENTIFIER","ModeCMD","ColorCMD","VIEW","BASE_64","UNIT","DSSP","SCALE","ROTATE","AxesList","TRANSLATE","CENTER","GetURLBranch","Screenshot","LINE","ArgList","LISTOBJ","REMOVEOBJ","URL","VIEW_KEY","SCREENSHOT","LOAD","Url","FILE_KEY","ADD","Description","REP","MODE","COLOR","Descriptor","RepresentationOwnProperty","RepresentationOwnPropertyOpts","DESC_KEY","DESC_KEY_OPTS","AxesArg","DESC_KEY_AXES","Arg","PathWoDescKey","HEX","BOOL","Word","CommandSetWoDESC_KEY","DescKeys","CLEAR","FILE_LIST","FILE_REGISTER","FILE_DELETE","PRESET_ADD","PRESET_DELETE","PRESET_UPDATE","PRESET_RENAME","PRESET_OPEN","CREATE_SCENARIO","RESET_SCENARIO","DELETE_SCENARIO","ADD_SCENARIO_ITEM","LIST_SCENARIO","PDB_KEY","DELAY_KEY","PRST_KEY","DESCRIPTION_KEY","CommandSet","PresetPath","HexOrNumber","$accept","$end","terminals_","productions_","performAction","yytext","yyleng","yylineno","yystate","$$","_$","$0","$","miew","reset","ClearContext","resetReps","rebuild","rebuildAll","echo","utils","help","toString","motm","propagateProp","get","set","saveSettings","restoreSettings","resetSettings","applyPreset","repRemove","representations","remove","repHide","listRep","list","listSelector","Context","select","checkArg","toLowerCase","rep","repCurrent","selector","within","Number","material","toUpperCase","view","changeUnit","dssp","scale","n","rotate","Math","PI","translate","center","addObject","type","params","opts","toJSO","listObjs","removeObject","getURL","settings","screenshotSave","load","clear","add","repAdd","mode","Array","colorer","assign","CreateObjectPair","val","create","keyRemap","concat","append","parseInt","JSON","parse","String","table","defaultActions","parseError","str","hash","recoverable","Error","input","self","this","stack","tstack","vstack","lstack","TERROR","args","slice","call","arguments","lexer","sharedState","hasOwn","setInput","yylloc","yyloc","push","ranges","options","lex","token","pop","getPrototypeOf","symbol","state","action","r","p","len","newState","expected","yyval","errStr","showPosition","join","text","match","line","loc","first_line","last_line","first_column","last_column","range","apply","_input","_more","_backtrack","done","matched","conditionStack","offset","ch","unput","lines","split","substr","oldLines","more","reject","backtrack_lexer","less","pastInput","past","replace","upcomingInput","next","pre","c","test_match","indexed_rule","backup","matches","tempMatch","index","rules","_currentRules","flex","begin","condition","popState","conditions","topState","abs","pushState","stateStackSize","yy_","$avoiding_name_collisions","YY_START","unquoteString","INITIAL","inclusive","Parser","MiewCLIParser","modeIdDesc","$help","BS","CA","LN","LC","VW","TR","TU","SA","QS","SE","TX","colorDesc","UN","materialDesc","addRepDesc","s","m","mt","setGetParameterDesc","modes","colorers","PDBID","f","REP_NAME","DESCRIPTION","REP_INDEX","EXPRESSION","MODE_ID","color","COLORER_ID","MATERIAL_ID","build","del","hide","show","PARAMETER","set_save","set_restore","set_reset","preset","unit","ENCODED_VIEW","url","screenshot","removeobj","listobj","isUndefOrEqual","param","value","EventDispatcher","_handlers","addEventListener","callback","context","handlers","undefined","find","par","removeEventListener","forEach","handler","ev","values","omitBy","dispatchEvent","event","priorities","debug","info","report","warn","Logger","console","_priority","verify","number","isNumber","instantiate","findKey","_this","level","levels","keys","message","priority","_message","setPrototypeOf","_setPrototypeOf","__proto__","subClass","superClass","assertThisInitialized","ReferenceError","possibleConstructorReturn","require$$0","_getPrototypeOf","isNativeFunction","fn","Function","indexOf","isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","e","_construct","Parent","Class","a","bind","wrapNativeSuper","_wrapNativeSuper","_cache","Map","has","Wrapper","arrayWithHoles","arr","isArray","iterableToArrayLimit","_i","_s","_e","_arr","_n","_d","err","arrayLikeToArray","arr2","unsupportedIterableToArray","minLen","name","from","test","nonIterableRest","browserType","DEFAULT","SAFARI","decodeQueryComponent","decodeURIComponent","getUrlParameters","query","window","location","search","substring","result","exec","DebugTracer","namespace","enabled","enable","on","indent","methods","wrap","method_","name_","spaces","logger","method","OutOfMemoryError","bytesToBase64","buffer","bytes","Uint8Array","binary","byteLength","fromCharCode","btoa","bytesFromBase64","atob","charCodeAt","isAlmostPlainObject","isPlainObject","proto","getFileExtension","fileName","max","lastIndexOf","Infinity","dataUrlToBlob","parts","partsCount","Blob","unquotedStringRE","enquoteHelper","encodeQueryComponent","excludeExp","encodeURIComponent","code","getUrlParametersAsDict","resolveURL","href","document","anchor","createElement","generateRegExp","symbolStr","symbolList","listStr","RegExp","tag","attrs","content","element","setAttribute","child","appendChild","createTextNode","HTMLElement","deriveClass","cls","base","members","statics","deriveDeep","needZeroOwnProperties","res","copy","hexColor","hex","allocateTyped","TypedArrayName","size","RangeError","arrayFromBase64","TypedArrayClass","arrayToBase64","array","compareOptionsWithDefaults","defOpts","optsStr","objectsDiff","src","dst","diff","forIn","srcValue","dstValue","deepDiff","isEmpty","isEqual","forInRecursive","object","iterateThrough","prefix","newPref","enquoteString","isString","SyntaxError","getBrowser","navigator","vendor","userAgent","shotOpen","open","write","shotDownload","dataUrl","filename","Date","msSaveBlob","link","download","innerHTML","createObjectURL","body","click","removeChild","copySubArrays","indices","itemSize","j","shallowCloneNode","node","newNode","cloneNode","worldPos","correctSelectorIdentifier","splitFileName","ext","data","blobData","concatTypedArraysUnsafe","first","second","mergeTypedArraysUnsafe","reduce","acc","cur","start","count","selectors","Miew","chem","materials","palettes","None","NULL","representationsStorage","representationMap","representationID","strId","sortedKeys","sort","id","ans","CLIUtils","repMap","ret","repCount","repIndex","repGet","repName","selectionStr","selectorString","materialPreset","objs","_objects","strList","helpData","path","isUndefined","joinHelpStr","clihelp","sortBy","helpItem","arg","awaitWhileCMDisInProcess","finish","finishAwaitingCMDInProcess","then","modificate","temp","modificators","modificator","adapter","adapters","defaults","endsWith","now","palette","getNamedColor","utilFunctions","_values","splice","cliUtils","cmd","cliutils","_id","_val","b","notimplemented","parsercli","miewInstance","script","_printCallback","_errorCallback","cmdQueue","commandInAction","isScriptingCommandAvailable","callNextCmd","shift","success","_onUpdate","_building","_objectControls","update","_forEachComplexVisual","visual","getComplex","autobuild","_loading","_needRebuild","_updateView","_updateFog","_gfx","renderer","xr","webVR","updateMoleculeScale"],"mappings":"uWAEA,IAAIA,EAAYC,GAAqC,SAAUC,GAC/D,SAASC,EAAQC,GAGf,OAAQF,EAAOG,QAAUF,EAAU,mBAAqBG,QAAU,iBAAmBA,OAAOC,SAAW,SAAUH,GAC/G,cAAcA,GACZ,SAAUA,GACZ,OAAOA,GAAO,mBAAqBE,QAAUF,EAAII,cAAgBF,QAAUF,IAAQE,OAAOG,UAAY,gBAAkBL,GACvHF,EAAOG,QAAQK,YAAa,EAAMR,EAAOG,QAAiB,QAAIH,EAAOG,QAAUF,EAAQC,GAG5FF,EAAOG,QAAUF,EAASD,EAAOG,QAAQK,YAAa,EAAMR,EAAOG,QAAiB,QAAIH,EAAOG,aAGnEM,EAAwCX,KCJxCW,EAVPV,GAAqC,SAAUC,GAOpEA,EAAOG,QANP,SAAyBO,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAIC,UAAU,sCAIUZ,EAAOG,QAAQK,YAAa,EAAMR,EAAOG,QAAiB,QAAIH,EAAOG,cCgB3EM,EAvBVV,GAAqC,SAAUC,GACjE,SAASa,EAAkBC,EAAQC,GACjC,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CACrC,IAAIE,EAAaH,EAAMC,GACvBE,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjDC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAalDlB,EAAOG,QATP,SAAsBQ,EAAac,EAAYC,GAM7C,OALID,GAAYZ,EAAkBF,EAAYJ,UAAWkB,GACrDC,GAAab,EAAkBF,EAAae,GAChDJ,OAAOC,eAAeZ,EAAa,YAAa,CAC9CU,UAAU,IAELV,GAGsBX,EAAOG,QAAQK,YAAa,EAAMR,EAAOG,QAAiB,QAAIH,EAAOG,YCqDhGwB,EAAU,eACRC,EAAI,SAAUC,EAAGC,EAAGF,EAAGG,OAClBH,EAAIA,GAAK,GAAIG,EAAIF,EAAEZ,OAAQc,IAAKH,EAAEC,EAAEE,IAAMD,UACxCF,GAETI,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,KACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,KACVC,EAAM,CAAC,EAAG,KACVC,EAAM,CAAC,EAAG,KACVC,EAAM,CAAC,EAAG,KACVC,EAAM,CAAC,EAAG,KACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,EAAM,CAAC,EAAG,IACVC,GAAM,CAAC,EAAG,IACVC,GAAM,CAAC,EAAG,KACVC,GAAM,CAAC,EAAG,KACVC,GAAM,CAAC,EAAG,KACVC,GAAM,CAAC,EAAG,KACVC,GAAM,CAAC,EAAG,KACVC,GAAM,CAAC,EAAG,KACVC,GAAM,CAAC,EAAG,KACVC,GAAM,CAAC,EAAG,KACVC,GAAM,CAAC,EAAG,KACVC,GAAM,CAAC,EAAG,KACVC,GAAO,CAAC,EAAG,KACXC,GAAO,CACL,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACpE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACpE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACpE,GAAI,GAAI,GAAI,GAAI,KAElBC,GAAO,CACL,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACpE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACpE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACpE,GAAI,GAAI,GAAI,GAAI,GAAI,KAEtBC,GAAO,CACL,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACpE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACpE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAElDC,GAAO,CAAC,EAAG,GAAI,IACfC,GAAO,CAAC,EAAG,IACXC,GAAO,CAAC,GAAI,KACV3E,GAAS,CACX4E,MAAO,aACPC,GAAI,GACJC,SAAU,CACRC,MAAO,EACPC,QAAS,EACTC,QAAS,EACTC,IAAK,EACLC,MAAO,EACPC,MAAO,EACPC,IAAK,EACLC,KAAM,EACNC,KAAM,GACNC,KAAM,GACNC,cAAe,GACfC,IAAK,GACLC,OAAQ,GACRC,IAAK,GACLC,MAAO,GACPC,SAAU,GACVC,YAAa,GACbC,UAAW,GACXC,OAAQ,GACRC,kBAAmB,GACnBC,mBAAoB,GACpBC,OAAQ,GACRC,wBAAyB,GACzBC,KAAM,GACNC,KAAM,GACNC,KAAM,GACNC,WAAY,GACZC,aAAc,GACdC,OAAQ,GACRC,GAAI,GACJC,QAAS,GACTC,SAAU,GACVC,OAAQ,GACRC,OAAQ,GACRC,GAAI,GACJC,SAAU,GACVC,WAAY,GACZC,QAAS,GACTC,SAAU,GACVC,KAAM,GACNC,QAAS,GACTC,KAAM,GACNC,KAAM,GACNC,MAAO,GACPC,OAAQ,GACRC,SAAU,GACVC,UAAW,GACXC,OAAQ,GACRC,aAAc,GACdC,WAAY,GACZC,KAAM,GACNC,QAAS,GACTC,QAAS,GACTC,UAAW,GACXC,IAAK,GACLC,SAAU,GACVC,WAAY,GACZC,KAAM,GACNC,IAAK,GACLC,SAAU,GACVC,IAAK,GACLC,YAAa,GACbC,IAAK,GACLC,KAAM,GACNC,MAAO,GACPC,WAAY,GACZC,0BAA2B,GAC3BC,8BAA+B,GAC/BC,SAAU,OACL,GACLC,cAAe,GACfC,QAAS,GACTC,cAAe,GACfC,IAAK,GACLC,cAAe,GACfC,IAAK,GACLC,KAAM,GACNC,KAAM,GACNC,qBAAsB,GACtBC,SAAU,GACVC,MAAO,GACPC,UAAW,GACXC,cAAe,GACfC,YAAa,GACbC,WAAY,GACZC,cAAe,GACfC,cAAe,GACfC,cAAe,GACfC,YAAa,GACbC,gBAAiB,GACjBC,eAAgB,GAChBC,gBAAiB,GACjBC,kBAAmB,GACnBC,cAAe,GACfC,QAAS,GACTC,UAAW,GACXC,SAAU,GACVC,gBAAiB,GACjBC,WAAY,QACP,IACLC,WAAY,QACP,IACLC,YAAa,IACbC,QAAS,EACTC,KAAM,GAERC,WAAY,GACP,UACA,QACA,UACA,UACA,QACA,UACC,UACA,SACA,YACA,SACA,cACA,iBACA,eACA,YACA,YACA,UACA,UACA,UACA,gBACA,kBACA,YACA,QACA,cACA,YACA,YACA,QACA,cACA,gBACA,UACA,aACA,UACA,UACA,WACA,YACA,eACA,YACA,UACA,aACA,eACA,SACA,cACA,gBACA,UACA,cACA,SACA,SACA,UACA,WACA,cACA,OACA,mBACA,mBACA,SACA,UACA,WACA,eACA,mBACA,iBACA,gBACA,mBACA,mBACA,mBACA,iBACA,qBACA,oBACA,qBACA,uBACA,mBACA,aACA,eACA,cACA,sBACC,QACA,KAEPC,aAAc,CACZ,EACA,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,GAAI,GACL,CAAC,G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OACJ,CAAC,EAAG,OACJ,CAAC,EAAG,KAEV,GAAK,CAAC,IACN,GAAK,CAAC,EAAG,KACT,GAAK,CAAC,EAAG,IACT,GAAK,CAAC,EAAG,IACT,GAAK,CAAC,EAAG,KAAO,CAAC,EAAG,KACpB,GACK,CAAC,EAAG,KACJrQ,IACAC,IACAC,KACC,MACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACA,MACA,MACA,MACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,IAEN,GAAK,CAAC,EAAG,IACT,GAAK,CAAC,EAAG,IACT,GACKrD,IACAC,IACAC,KACC,OACAC,KACA,CAAC,EAAG,QACJC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACA,MACA,MACA,MACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,IAEN,GACKrD,IACAC,IACAC,KACC,OACAC,KACA,CAAC,EAAG,QACJC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACA,MACA,MACA,MACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,IAEN,GAAK,CAAC,EAAG,KACT,GAAK,CAAC,EAAG,KACT,GAAK,CAAC,EAAG,KACT,GAAK,CAAC,EAAG,OAASC,MAAS,OAASC,MAASC,MAASC,MAASC,IAC/D,GAAK,CAAC,EAAG,KACT,GAAK,CAAC,EAAG,KACT,IAAM,OAASC,MAASC,IACxB,IAAM,OAASD,MAASC,IACxB,IAAM,OAASD,MAASC,IACxB,GAAK,CAAC,EAAG,OAAS,OAAS,CAAC,EAAG,QAAU,CAAC,EAAG,QAAUD,MAASC,IAChE,IAAM,CAAC,EAAG,MACV,IAAM,CAAC,EAAG,MACV,IAAM,CAAC,EAAG,MACV,IAAM,CAAC,EAAG,MACV,GAAK,CAAC,EAAG,KACT,GAAK,CAAC,EAAG,KACT,GAAK,CAAC,EAAG,OAAS,CAAC,EAAG,QAAU,CAAC,EAAG,MACpC,GAAK,CAAC,EAAG,OAAS,CAAC,EAAG,MACtB,GAAK,CAAC,EAAG,KACT,IAAM,CAAC,EAAG,MACV,IAAM,OAAS,OAASC,IACxB,IAAM,OAAS,OAASA,IACxB,GAAK,CAAC,EAAG,OAAS,CAAC,EAAG,MACtB,GAAK,CAAC,EAAG,KACT,GAAK,CAAC,EAAG,KACT,GACK7D,IACAC,IACAC,KACC,OACAC,KACA,CAAC,EAAG,QACJC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACA,MACA,MACA,MACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,IAEN,GAAK,CAAC,EAAG,KACT,IAAM,CAAC,EAAG,MACV,IAAM,CAAC,EAAG,QAAU,CAAC,EAAG,QAAU,OAAS,CAAC,EAAG,MAC/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K,CAAC,EAAG,KACT,GAAK,CAAC,EAAG,OAAS,CAAC,EAAG,MACtB,GAAK,CAAC,EAAG,KACT,IAAM,CAAC,EAAG,MACV,GAAK,CAAC,EAAG,KACT,GAAK,CAAC,EAAG,KACT,GAAK,CAAC,EAAG,KACT,GAAK,CAAC,EAAG,KACT,GAAK,CAAC,EAAG,KACT,GAAK,CAAC,EAAG,OAAS,OAASP,IAC3BjE,EAAEyE,GAAM,CAAC,EAAG,KACZ,IAAM,CAAC,EAAG,MACV,GAAK,CAAC,EAAG,OAAS,OAASR,IAC3B,GAAK,CAAC,EAAG,KACT,IAAM,CAAC,EAAG,MACV,GACK7D,IACAC,IACAC,KACC,OACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACA,MACA,MACA,MACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,OACCW,IAEP,GAAK,CAAC,EAAG,KACT,GAAK,CAAC,EAAG,KACT,GAAK,CAAC,EAAG,KACT,GAAK,CAAC,EAAG,KACT,GAAK,CAAC,EAAG,MACT,GAAK,CAAC,EAAG,OAAS,OAAS,OAAS,OAAS,OAASF,MAASC,IAC/D,GAAK,CAAC,EAAG,KACT,GAAK,CAAC,EAAG,OAAS,OAAS,OAAS,OAASD,MAASC,IACtDnE,EAAEwE,GAAM,CAAC,EAAG,KACZxE,EAAEwE,GAAM,CAAC,EAAG,IAAK,IACX,MACA,OACA,OACA,OACA,MACDpE,IACAC,IACAC,KACCC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAI,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,IAEN,IAAM,CAAC,EAAG,MACV,IAAM,CAAC,EAAG,MACV,GAAK,CAAC,EAAG,OAAS,OAAS,OAAS,OAAS,OAASa,MAASC,IAC/D,GACK,CAAC,EAAG,MACJ/D,IACAC,IACAC,KACCC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACA,OACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACA,OACA,OACA,OACA,MACAI,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,GAEN,GACK,CAAC,EAAG,MACJjD,IACAC,IACAC,KACCC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACA,OACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACA,OACA,OACA,OACA,MACAI,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,GAEN,GAAK,CAAC,EAAG,OAAS,CAAC,EAAG,MACtB,GAAK,CAAC,EAAG,OAAS,CAAC,EAAG,MACtB,GAAK,CAAC,EAAG,OAAS,CAAC,EAAG,MACtB,GACKjD,IACAC,IACAC,KACCC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACA,CAAC,EAAG,QACJC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACA,OACA,MACA,OACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,IAEN,GAAK,CAAC,EAAG,KACT,GAAK,CAAC,EAAG,KACT,GACKrD,IACAC,IACAC,KACCC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACA,OACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACA,OACA,MACA,OACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,IAEN,IAAM,CAAC,EAAG,MACVzD,EAAEyE,GAAM,CAAC,EAAG,KACZzE,EAAEyE,GAAM,CAAC,EAAG,KACZ,GACK,CAAC,EAAG,MACJrE,IACAC,IACAC,KACCC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACA,OACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACA,OACA,OACA,OACA,MACAI,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,GAEN,GACK,CAAC,EAAG,MACJjD,IACAC,IACAC,KACCC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACA,OACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACA,OACA,OACA,OACA,MACAI,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,MACCe,IAEP,GAAK,CAAC,EAAG,KACT,GAAK,CAAC,EAAG,OAAS,OAAS,OAAS,OAASF,MAASC,IACtDnE,EAAEwE,GAAM,CAAC,EAAG,IAAK,IACX,MACA,OACA,OACA,MACDpE,IACAC,IACAC,KACCC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAI,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,IAENrD,EAAEuE,GAAM,CAAC,EAAG,KACZ,IAAM,CAAC,EAAG,SAAW,CAAC,EAAG,MACzBvE,EAAE0E,GAAM,CAAC,EAAG,MACZ,IAAMhB,MAAS,OAASC,MAASC,MAASC,MAASC,IACnD,IAAMJ,MAAS,OAASC,MAASC,MAASC,MAASC,IACnD,GAAK,CAAC,EAAG,KACT,GACK,CAAC,EAAG,MACJ1D,IACAC,IACAC,KACCC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACA,OACA,OACA,OACA,MACAI,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,GAEN,GACK,CAAC,EAAG,MACJjD,IACAC,IACAC,KACCC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACA,OACA,OACA,OACA,MACAI,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,GAEN,GAAK,CAAC,EAAG,KACT,GAAK,CAAC,EAAG,KACT,GAAK,CAAC,EAAG,KACTrD,EAAEqE,GAAM,CAAC,EAAG,MACZrE,EAAEqE,GAAM,CAAC,EAAG,MACZrE,EAAEqE,GAAM,CAAC,EAAG,MACZ,GAAK,CAAC,EAAG,KACT,GAAK,CAAC,EAAG,KACT,GAAK,CAAC,EAAG,MACT,IAAM,CAAC,EAAG,MACV,GACK,CAAC,EAAG,MACJjE,IACAC,IACAC,KACCC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACA,OACA,OACA,OACA,MACAI,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,GAEN,GACK,CAAC,EAAG,MACJjD,IACAC,IACAC,KACCC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACA,OACA,OACA,OACA,MACAI,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,GAEN,GAAK,CAAC,EAAG,OAAS,OAAS,OAAS,OAASa,MAASC,IACtDnE,EAAEuE,GAAM,CAAC,EAAG,KACZ,IAAMb,MAAS,OAASC,MAASC,MAASC,MAASC,IACnD,GACK1D,IACAC,IACAC,KACCC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACA,CAAC,EAAG,QACJC,KA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,yBACA,8BACA,sBACA,qBACA,wBACA,2BACA,8BACA,iCACA,sBAEFC,GAAI,CACFD,MAAO,CACL,sBACA,4CACA,wCACA,wCACA,0CACA,0CACA,4CAGJE,GAAI,CACFF,MAAO,CACL,aACA,uCACA,6CACA,uCACA,wCACA,6BACA,+CAGJG,GAAI,CACFH,MAAO,CACL,WACA,wCACA,6BACA,0CACA,0CACA,gCAGJI,GAAI,CACFJ,MAAO,CACL,cACA,4CACA,wCACA,0CACA,0CACA,4CAGJK,GAAI,CACFL,MAAO,CAAC,mBAAoB,oBAE9BM,GAAI,CACFN,MAAO,CAAC,WAAY,4CAEtBO,GAAI,CACFP,MAAO,CACL,UACA,uCACA,wCACA,gCAGJQ,GAAI,CACFR,MAAO,CAAC,aAAc,yCAExBS,GAAI,CACFT,MAAO,CACL,mBACA,4BACA,yBACA,2BACA,yCAGJU,GAAI,CACFV,MAAO,CACL,8BACA,yCAGJW,GAAI,CACFX,MAAO,CACL,eACA,sEACA,iEACA,0EACA,+DACA,6DACA,sCACA,sCACA,sCACA,8CACA,kDACA,8CACA,kDACA,gDACA,iCAKAY,EAAY,CAChBZ,MAAO,CACL,yBACA,4BACA,0BACA,6BACA,iCACA,wCACA,oBAEFa,GAAI,CACFb,MAAO,CACL,6CACA,aACA,mDAUAc,EAAe,CACnBd,MAAO,CACL,oBACA,mBACA,uBACA,wBACA,0BACA,iBACA,mBAIEe,EAAa,CACjBf,MAAO,CACL,kEACA,qBACA,4BACA,8CACA,+BACA,iDACA,8BACA,uBACA,6BAEFgB,EAAG,CACDhB,MACE,4EAEJiB,EAAGlB,EACH1B,EAAGuC,EACHM,GAAIJ,GAGAK,EAAsB,CAC1BnB,MAAO,CACL,qDACA,gDACA,4CAEFoB,MAAOrB,EACPsB,SAAUT,GAGNtL,EAAO,CACX0K,MAAO,CACL,wCACA,yDACA,sCACA,mCACA,oDACA,sCACA,+BAEFjL,MAAO,CACLiL,MAAO,CACL,oDACA,gDAGJ1H,KAAM,CACJ0H,MAAO,CACL,mDACA,gDAEFsB,MAAO,CACLtB,MAAO,sCAET7O,IAAK,CACH6O,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"}