miew
Version:
Miew - 3D Molecular Viewer
11 lines (9 loc) • 585 kB
JavaScript
/*! Miew - 3D Molecular Viewer v0.11.0 Copyright (c) 2015-2024 EPAM Systems, Inc. */
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("lodash"),require("three")):"function"==typeof define&&define.amd?define(["lodash","three"],t):"object"==typeof exports?exports.Miew=t(require("lodash"),require("three")):e.Miew=t(e._,e.THREE)}(this,((e,t)=>(()=>{var r={89:e=>{var t=function(){var e=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},t=[1,60],r=[1,62],n=[1,63],s=[1,65],i=[1,66],o=[1,67],a=[1,68],l=[1,69],c=[1,80],h=[1,72],u=[1,73],d=[1,74],p=[1,75],m=[1,99],f=[1,76],_=[1,100],g=[1,79],y=[1,51],x=[1,81],b=[1,82],w=[1,84],S=[1,83],v=[1,85],C=[1,96],A=[1,97],E=[1,98],T=[1,86],R=[1,87],M=[1,64],P=[1,70],N=[1,71],L=[1,77],I=[1,78],O=[1,53],V=[1,54],D=[1,55],k=[1,61],z=[1,88],F=[1,89],B=[1,90],U=[1,91],G=[1,92],j=[1,93],H=[1,94],$=[1,95],W=[1,101],Y=[1,102],X=[1,103],q=[1,104],Z=[1,105],K=[1,56],Q=[1,57],J=[1,58],ee=[1,59],te=[1,115],re=[1,111],ne=[1,114],se=[1,112],ie=[1,113],oe=[1,118],ae=[1,117],le=[1,134],ce=[1,149],he=[1,150],ue=[1,157],de=[5,6,7,9,13,14,15,17,18,19,20,23,25,26,27,30,33,34,35,37,38,41,43,45,46,49,52,54,55,56,58,59,62,64,65,66,70,72,74,77,78,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,101],pe=[5,6,7,9,13,14,15,17,18,19,20,23,25,26,27,30,33,34,35,37,38,41,43,45,46,49,52,54,55,56,58,59,62,64,65,66,70,71,72,74,77,78,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,101],me=[5,6,7,9,13,15,17,18,19,20,23,25,26,27,30,33,34,37,38,41,43,45,46,49,52,54,55,56,58,59,62,64,65,66,70,72,82,83,84,85,86,87,88,89,90,91,92,93,94,95],fe=[5,70,72],_e=[5,74],ge=[71,101],ye={trace:function(){},yy:{},symbols_:{error:2,Program:3,Command:4,EOF:5,RESET:6,BUILD:7,ALL:8,HELP:9,Path:10,MOTM:11,OneArgCommand:12,GET:13,STRING:14,SET:15,Value:16,SET_SAVE:17,SET_RESTORE:18,SET_RESET:19,PRESET:20,AddRepresentation:21,EditRepresentation:22,REMOVE:23,RepresentationReference:24,HIDE:25,SHOW:26,LIST:27,EXPAND_KEY:28,SELECTOR_KEY:29,SELECT:30,AS:31,WordAll:32,SELECTOR:33,WITHIN:34,NUMBER:35,OF:36,MATERIAL:37,IDENTIFIER:38,ModeCMD:39,ColorCMD:40,VIEW:41,BASE_64:42,UNIT:43,DSSP:44,SCALE:45,ROTATE:46,AxesList:47,TRANSLATE:48,CENTER:49,GetURLBranch:50,Screenshot:51,LINE:52,ArgList:53,LISTOBJ:54,REMOVEOBJ:55,URL:56,VIEW_KEY:57,SCREENSHOT:58,LOAD:59,Url:60,FILE_KEY:61,ADD:62,Description:63,REP:64,MODE:65,COLOR:66,Descriptor:67,RepresentationOwnProperty:68,RepresentationOwnPropertyOpts:69,DESC_KEY:70,"=":71,DESC_KEY_OPTS:72,AxesArg:73,DESC_KEY_AXES:74,Arg:75,PathWoDescKey:76,HEX:77,BOOL:78,Word:79,CommandSetWoDESC_KEY:80,DescKeys:81,CLEAR:82,FILE_LIST:83,FILE_REGISTER:84,FILE_DELETE:85,PRESET_ADD:86,PRESET_DELETE:87,PRESET_UPDATE:88,PRESET_RENAME:89,PRESET_OPEN:90,CREATE_SCENARIO:91,RESET_SCENARIO:92,DELETE_SCENARIO:93,ADD_SCENARIO_ITEM:94,LIST_SCENARIO:95,PDB_KEY:96,DELAY_KEY:97,PRST_KEY:98,DESCRIPTION_KEY:99,CommandSet:100,".":101,PresetPath:102,"/":103,HexOrNumber:104,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",6:"RESET",7:"BUILD",8:"ALL",9:"HELP",11:"MOTM",13:"GET",14:"STRING",15:"SET",17:"SET_SAVE",18:"SET_RESTORE",19:"SET_RESET",20:"PRESET",23:"REMOVE",25:"HIDE",26:"SHOW",27:"LIST",28:"EXPAND_KEY",29:"SELECTOR_KEY",30:"SELECT",31:"AS",33:"SELECTOR",34:"WITHIN",35:"NUMBER",36:"OF",37:"MATERIAL",38:"IDENTIFIER",41:"VIEW",42:"BASE_64",43:"UNIT",44:"DSSP",45:"SCALE",46:"ROTATE",48:"TRANSLATE",49:"CENTER",52:"LINE",54:"LISTOBJ",55:"REMOVEOBJ",56:"URL",57:"VIEW_KEY",58:"SCREENSHOT",59:"LOAD",61:"FILE_KEY",62:"ADD",64:"REP",65:"MODE",66:"COLOR",70:"DESC_KEY",71:"=",72:"DESC_KEY_OPTS",74:"DESC_KEY_AXES",77:"HEX",78:"BOOL",82:"CLEAR",83:"FILE_LIST",84:"FILE_REGISTER",85:"FILE_DELETE",86:"PRESET_ADD",87:"PRESET_DELETE",88:"PRESET_UPDATE",89:"PRESET_RENAME",90:"PRESET_OPEN",91:"CREATE_SCENARIO",92:"RESET_SCENARIO",93:"DELETE_SCENARIO",94:"ADD_SCENARIO_ITEM",95:"LIST_SCENARIO",96:"PDB_KEY",97:"DELAY_KEY",98:"PRST_KEY",99:"DESCRIPTION_KEY",101:".",103:"/"},productions_:[0,[3,2],[3,1],[4,1],[4,1],[4,2],[4,1],[4,2],[4,1],[4,1],[4,2],[4,2],[4,3],[4,3],[4,1],[4,1],[4,1],[4,1],[4,2],[4,1],[4,1],[4,2],[4,2],[4,2],[4,2],[4,1],[4,2],[4,2],[4,2],[4,4],[4,2],[4,6],[4,2],[4,1],[4,1],[4,1],[4,2],[4,2],[4,1],[4,2],[4,1],[4,2],[4,2],[4,2],[4,1],[4,2],[4,1],[4,1],[4,3],[4,3],[4,4],[4,4],[4,1],[4,2],[50,1],[50,2],[50,2],[50,3],[50,3],[51,1],[51,2],[51,3],[12,2],[12,2],[12,2],[21,1],[21,2],[21,2],[21,3],[22,2],[22,3],[39,2],[39,3],[40,2],[40,3],[24,1],[24,1],[63,1],[63,2],[63,3],[63,4],[67,1],[67,1],[67,2],[68,3],[69,3],[47,1],[47,2],[73,2],[53,1],[53,2],[75,3],[16,1],[16,1],[16,1],[16,1],[16,1],[79,1],[79,1],[32,1],[32,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[81,1],[81,1],[81,1],[81,1],[81,1],[81,1],[81,1],[100,1],[100,1],[76,1],[76,3],[76,3],[10,1],[10,1],[10,3],[10,3],[10,3],[60,1],[102,1],[102,3],[104,1],[104,1]],performAction:function(e,t,r,n,s,i,o){var a=i.length-1;switch(s){case 1:return i[a-1];case 3:this.$=n.miew.reset(!1),n.ClearContext(),n.miew.resetReps("empty");break;case 4:this.$=n.miew.rebuild();break;case 5:this.$=n.miew.rebuildAll(),n.miew.rebuild();break;case 6:this.$=n.echo(n.utils.help().toString());break;case 7:this.$=n.echo(n.utils.help(i[a]).toString());break;case 8:this.$=n.miew.motm();break;case 10:case 11:this.$=n.utils.propagateProp(i[a]),n.echo(n.miew.get(i[a]).toString());break;case 12:case 13:this.$=n.miew.set(i[a-1],n.utils.propagateProp(i[a-1],i[a]));break;case 14:this.$=n.miew.saveSettings();break;case 15:this.$=n.miew.restoreSettings();break;case 16:this.$=n.miew.resetSettings();break;case 17:this.$=n.miew.resetReps();break;case 18:this.$=n.miew.applyPreset(i[a]);break;case 21:this.$=n.miew.repRemove(i[a]),n.representations.remove(i[a]);break;case 22:this.$=n.miew.repHide(i[a]);break;case 23:this.$=n.miew.repHide(i[a],!1);break;case 24:this.$=n.echo(n.utils.listRep(n.miew,n.representations,i[a],"-e"));break;case 25:this.$=n.echo(n.utils.list(n.miew,n.representations));break;case 26:this.$=n.echo(n.utils.list(n.miew,n.representations,i[a]));break;case 27:this.$=n.echo(n.utils.listSelector(n.miew,n.Context));break;case 28:this.$=n.miew.select(n.utils.checkArg(i[a-1].toLowerCase(),i[a],!0));break;case 29:this.$=n.Context[i[a].toLowerCase()]=n.utils.checkArg(i[a-3].toLowerCase(),i[a-2],!0),n.miew.select(n.Context[i[a].toLowerCase()]);break;case 30:this.$=n.miew.rep(n.miew.repCurrent(),{selector:n.utils.checkArg(i[a-1].toLowerCase(),i[a])});break;case 31:this.$=n.Context[i[a].toLowerCase()]=n.miew.within(n.utils.checkArg("select",i[a-2],!0),Number(i[a-4]));break;case 32:this.$=n.miew.rep(n.miew.repCurrent(),{material:n.utils.checkArg(i[a-1].toLowerCase(),i[a].toUpperCase())});break;case 35:this.$=n.echo(n.miew.view());break;case 36:case 37:this.$=n.miew.view(i[a]);break;case 38:this.$=n.echo(n.miew.changeUnit());break;case 39:this.$=n.echo(n.miew.changeUnit(i[a]));break;case 40:this.$=n.miew.dssp();break;case 41:this.$=n.miew.scale(i[a]);break;case 42:for(var l=0,c=i[a].length;l<c;l++)n.miew.rotate(i[a][l].x*Math.PI/180,i[a][l].y*Math.PI/180,i[a][l].z*Math.PI/180);break;case 43:for(l=0,c=i[a].length;l<c;l++)n.miew.translate(i[a][l].x||0,i[a][l].y||0,i[a][l].z||0);break;case 44:this.$=n.miew.center();break;case 45:this.$=n.miew.center(i[a]);break;case 48:case 49:this.$=n.miew.addObject({type:"line",params:[i[a-1],i[a]]},!0);break;case 50:case 51:this.$=n.miew.addObject({type:"line",params:[i[a-2],i[a-1]],opts:i[a].toJSO(n.utils,"objects","line")},!0);break;case 52:this.$=n.echo(n.utils.listObjs(n.miew));break;case 53:this.$=n.miew.removeObject(i[a]);break;case 54:this.$=n.echo(n.miew.getURL({view:!1,settings:!1}));break;case 55:this.$=n.echo(n.miew.getURL({view:!1,settings:!0}));break;case 56:this.$=n.echo(n.miew.getURL({view:!0,settings:!1}));break;case 57:case 58:this.$=n.echo(n.miew.getURL({view:!0,settings:!0}));break;case 59:this.$=n.miew.screenshotSave();break;case 60:this.$=n.miew.screenshotSave("",Number(i[a]));break;case 61:this.$=n.miew.screenshotSave("",Number(i[a-1]),Number(i[a]));break;case 62:case 63:case 64:this.$=n.utils.load(n.miew,i[a]),n.representations.clear();break;case 65:this.$=n.echo(n.representations.add(n.miew.repAdd()));break;case 66:this.$=n.echo(n.representations.add(i[a],n.miew.repAdd()));break;case 67:this.$=n.echo(n.representations.add(n.miew.repAdd(i[a])));break;case 68:this.$=n.echo(n.representations.add(i[a-1],n.miew.repAdd(i[a])));break;case 69:this.$=n.miew.rep(i[a]),n.miew.repCurrent(i[a]);break;case 70:this.$=n.miew.rep(i[a-1],i[a]),n.miew.repCurrent(i[a-1]);break;case 71:this.$=n.miew.rep(n.miew.repCurrent(),{mode:n.utils.checkArg(i[a-1].toLowerCase(),i[a].toUpperCase())});break;case 72:this.$=n.miew.rep(n.miew.repCurrent(),{mode:new Array(n.utils.checkArg(i[a-2].toLowerCase(),i[a-1].toUpperCase()),i[a].toJSO(n.utils,i[a-2],i[a-1].toUpperCase()))});break;case 73:this.$=n.miew.rep(n.miew.repCurrent(),{colorer:n.utils.checkArg(i[a-1].toLowerCase(),i[a].toUpperCase())});break;case 74:this.$=n.miew.rep(n.miew.repCurrent(),{colorer:new Array(n.utils.checkArg(i[a-2].toLowerCase(),i[a-1].toUpperCase()),i[a].toJSO(n.utils,i[a-2],i[a-1].toUpperCase()))});break;case 75:this.$=Number(n.representations.get(i[a]));break;case 76:case 92:this.$=Number(i[a]);break;case 77:this.$=i[a];break;case 78:this.$=n._.assign(i[a-1],i[a]);break;case 79:this.$=n._.assign(i[a-2],i[a-1],i[a]);break;case 80:this.$=n._.assign(i[a-3],i[a-2],i[a-1],i[a]);break;case 81:case 82:this.$=n.CreateObjectPair(i[a].key,i[a].val);break;case 83:this.$=n.CreateObjectPair(i[a-1].key,new Array(i[a-1].val,i[a].toJSO(n.utils,i[a-1].key,i[a-1].val)));break;case 84:case 85:this.$=Object.create({key:n.keyRemap(i[a-2]),val:n.utils.checkArg(i[a-2],i[a])});break;case 86:this.$=[i[a]];break;case 87:this.$=i[a-1].concat(i[a]);break;case 88:this.$=n.CreateObjectPair(i[a-1].toLowerCase(),Number(i[a]));break;case 89:this.$=new n.ArgList(i[a]);break;case 90:this.$=i[a-1].append(i[a]);break;case 91:this.$=new n.Arg(i[a-2],i[a]);break;case 93:this.$=parseInt(i[a]);break;case 94:this.$=JSON.parse(i[a]);break;case 95:case 96:this.$=String(i[a]);break;case 157:case 158:case 161:case 162:case 163:this.$=i[a-2]+i[a-1]+i[a];break;case 166:this.$=i[a-2]=i[a-2]+i[a-1]+i[a]}},table:[{3:1,4:2,5:[1,3],6:[1,4],7:[1,5],9:[1,6],11:[1,7],12:8,13:[1,9],15:[1,10],17:[1,11],18:[1,12],19:[1,13],20:[1,14],21:15,22:16,23:[1,17],25:[1,18],26:[1,19],27:[1,20],30:[1,21],33:[1,22],34:[1,23],37:[1,24],39:25,40:26,41:[1,27],43:[1,28],44:[1,29],45:[1,30],46:[1,31],48:[1,32],49:[1,33],50:34,51:35,52:[1,36],54:[1,37],55:[1,38],56:[1,44],58:[1,45],59:[1,39],62:[1,40],64:[1,41],65:[1,42],66:[1,43]},{1:[3]},{5:[1,46]},{1:[2,2]},{5:[2,3]},{5:[2,4],8:[1,47]},{5:[2,6],6:t,7:r,9:n,10:48,13:s,15:i,17:o,18:a,19:l,20:c,23:h,25:u,26:d,27:p,30:m,33:f,34:_,37:g,38:y,41:x,43:b,45:w,46:S,49:v,52:C,54:A,55:E,56:T,58:R,59:M,62:P,64:N,65:L,66:I,70:O,72:V,74:D,79:49,80:52,81:50,82:k,83:z,84:F,85:B,86:U,87:G,88:j,89:H,90:$,91:W,92:Y,93:X,94:q,95:Z,96:K,97:Q,98:J,99:ee},{5:[2,8]},{5:[2,9]},{6:t,7:r,9:n,10:106,13:s,14:[1,107],15:i,17:o,18:a,19:l,20:c,23:h,25:u,26:d,27:p,30:m,33:f,34:_,37:g,38:y,41:x,43:b,45:w,46:S,49:v,52:C,54:A,55:E,56:T,58:R,59:M,62:P,64:N,65:L,66:I,70:O,72:V,74:D,79:49,80:52,81:50,82:k,83:z,84:F,85:B,86:U,87:G,88:j,89:H,90:$,91:W,92:Y,93:X,94:q,95:Z,96:K,97:Q,98:J,99:ee},{6:t,7:r,9:n,10:108,13:s,14:[1,109],15:i,17:o,18:a,19:l,20:c,23:h,25:u,26:d,27:p,30:m,33:f,34:_,37:g,38:y,41:x,43:b,45:w,46:S,49:v,52:C,54:A,55:E,56:T,58:R,59:M,62:P,64:N,65:L,66:I,70:O,72:V,74:D,79:49,80:52,81:50,82:k,83:z,84:F,85:B,86:U,87:G,88:j,89:H,90:$,91:W,92:Y,93:X,94:q,95:Z,96:K,97:Q,98:J,99:ee},{5:[2,14]},{5:[2,15]},{5:[2,16]},{5:[2,17],14:te,16:110,35:re,38:ne,77:se,78:ie},{5:[2,19]},{5:[2,20]},{24:116,35:oe,38:ae},{24:119,35:oe,38:ae},{24:120,35:oe,38:ae},{5:[2,25],24:121,28:[1,122],29:[1,123],35:oe,38:ae},{14:[1,124]},{14:[1,125]},{35:[1,126]},{38:[1,127]},{5:[2,33]},{5:[2,34]},{5:[2,35],14:[1,128],42:[1,129]},{5:[2,38],35:[1,130]},{5:[2,40]},{35:[1,131]},{47:132,73:133,74:le},{47:135,73:133,74:le},{5:[2,44],14:[1,136]},{5:[2,46]},{5:[2,47]},{6:t,7:r,9:n,10:138,13:s,14:[1,137],15:i,17:o,18:a,19:l,20:c,23:h,25:u,26:d,27:p,30:m,33:f,34:_,37:g,38:y,41:x,43:b,45:w,46:S,49:v,52:C,54:A,55:E,56:T,58:R,59:M,62:P,64:N,65:L,66:I,70:O,72:V,74:D,79:49,80:52,81:50,82:k,83:z,84:F,85:B,86:U,87:G,88:j,89:H,90:$,91:W,92:Y,93:X,94:q,95:Z,96:K,97:Q,98:J,99:ee},{5:[2,52]},{35:[1,139]},{14:[1,143],38:[1,141],60:140,61:[1,142]},{5:[2,65],38:[1,144],63:145,67:146,68:147,69:148,70:ce,72:he},{24:151,35:oe,38:ae},{38:[1,152]},{38:[1,153]},{5:[2,54],29:[1,154],57:[1,155]},{5:[2,59],35:[1,156]},{1:[2,1]},{5:[2,5]},{5:[2,7],101:ue},e(de,[2,159]),e(de,[2,160]),e(pe,[2,97]),e(pe,[2,98]),e(de,[2,147]),e(de,[2,148]),e(de,[2,149]),e(de,[2,150]),e(de,[2,151]),e(de,[2,152]),e(de,[2,153]),e(pe,[2,101]),e(pe,[2,102]),e(pe,[2,103]),e(pe,[2,104]),e(pe,[2,105]),e(pe,[2,106]),e(pe,[2,107]),e(pe,[2,108]),e(pe,[2,109]),e(pe,[2,110]),e(pe,[2,111]),e(pe,[2,112]),e(pe,[2,113]),e(pe,[2,114]),e(pe,[2,115]),e(pe,[2,116]),e(pe,[2,117]),e(pe,[2,118]),e(pe,[2,119]),e(pe,[2,120]),e(pe,[2,121]),e(pe,[2,122]),e(pe,[2,123]),e(pe,[2,124]),e(pe,[2,125]),e(pe,[2,126]),e(pe,[2,127]),e(pe,[2,128]),e(pe,[2,129]),e(pe,[2,130]),e(pe,[2,131]),e(pe,[2,132]),e(pe,[2,133]),e(pe,[2,134]),e(pe,[2,135]),e(pe,[2,136]),e(pe,[2,137]),e(pe,[2,138]),e(pe,[2,139]),e(pe,[2,140]),e(pe,[2,141]),e(pe,[2,142]),e(pe,[2,143]),e(pe,[2,144]),e(pe,[2,145]),e(pe,[2,146]),{5:[2,10],101:ue},{5:[2,11]},{14:te,16:158,35:re,38:ne,77:se,78:ie,101:ue},{14:te,16:159,35:re,38:ne,77:se,78:ie},{5:[2,18]},e(me,[2,92]),e(me,[2,93]),e(me,[2,94]),e(me,[2,95]),e(me,[2,96]),{5:[2,21]},e(fe,[2,75]),e(fe,[2,76]),{5:[2,22]},{5:[2,23]},{5:[2,24]},{5:[2,26]},{5:[2,27]},{5:[2,28],31:[1,160]},{5:[2,30]},{36:[1,161]},{5:[2,32]},{5:[2,36]},{5:[2,37]},{5:[2,39]},{5:[2,41]},{5:[2,42],73:162,74:le},e(_e,[2,86]),{35:[1,163]},{5:[2,43],73:162,74:le},{5:[2,45]},{14:[1,164]},{6:t,7:r,9:n,10:165,13:s,15:i,17:o,18:a,19:l,20:c,23:h,25:u,26:d,27:p,30:m,33:f,34:_,37:g,38:y,41:x,43:b,45:w,46:S,49:v,52:C,54:A,55:E,56:T,58:R,59:M,62:P,64:N,65:L,66:I,70:O,72:V,74:D,79:49,80:52,81:50,82:k,83:z,84:F,85:B,86:U,87:G,88:j,89:H,90:$,91:W,92:Y,93:X,94:q,95:Z,96:K,97:Q,98:J,99:ee,101:ue},{5:[2,53]},{5:[2,62]},{5:[2,63]},{5:[2,64]},{5:[2,164]},{5:[2,66],63:166,67:146,68:147,69:148,70:ce,72:he},{5:[2,67]},{5:[2,77],67:167,68:147,69:148,70:ce,72:he},e(fe,[2,81]),e(fe,[2,82],{80:52,53:168,75:169,76:170,79:171,6:t,7:r,9:n,13:s,15:i,17:o,18:a,19:l,20:c,23:h,25:u,26:d,27:p,30:m,33:f,34:_,37:g,38:y,41:x,43:b,45:w,46:S,49:v,52:C,54:A,55:E,56:T,58:R,59:M,62:P,64:N,65:L,66:I,82:k,83:z,84:F,85:B,86:U,87:G,88:j,89:H,90:$,91:W,92:Y,93:X,94:q,95:Z}),{71:[1,172]},{71:[1,173]},{5:[2,69],63:174,67:146,68:147,69:148,70:ce,72:he},{5:[2,71],6:t,7:r,9:n,13:s,15:i,17:o,18:a,19:l,20:c,23:h,25:u,26:d,27:p,30:m,33:f,34:_,37:g,38:y,41:x,43:b,45:w,46:S,49:v,52:C,53:175,54:A,55:E,56:T,58:R,59:M,62:P,64:N,65:L,66:I,75:169,76:170,79:171,80:52,82:k,83:z,84:F,85:B,86:U,87:G,88:j,89:H,90:$,91:W,92:Y,93:X,94:q,95:Z},{5:[2,73],6:t,7:r,9:n,13:s,15:i,17:o,18:a,19:l,20:c,23:h,25:u,26:d,27:p,30:m,33:f,34:_,37:g,38:y,41:x,43:b,45:w,46:S,49:v,52:C,53:176,54:A,55:E,56:T,58:R,59:M,62:P,64:N,65:L,66:I,75:169,76:170,79:171,80:52,82:k,83:z,84:F,85:B,86:U,87:G,88:j,89:H,90:$,91:W,92:Y,93:X,94:q,95:Z},{5:[2,55],57:[1,177]},{5:[2,56],29:[1,178]},{5:[2,60],35:[1,179]},{6:t,7:r,9:n,13:s,15:i,17:o,18:a,19:l,20:c,23:h,25:u,26:d,27:p,30:m,33:f,34:_,35:[1,181],37:g,38:y,41:x,43:b,45:w,46:S,49:v,52:C,54:A,55:E,56:T,58:R,59:M,62:P,64:N,65:L,66:I,70:O,72:V,74:D,79:180,80:52,81:182,82:k,83:z,84:F,85:B,86:U,87:G,88:j,89:H,90:$,91:W,92:Y,93:X,94:q,95:Z,96:K,97:Q,98:J,99:ee},{5:[2,12]},{5:[2,13]},{6:t,7:r,9:n,13:s,15:i,17:o,18:a,19:l,20:c,23:h,25:u,26:d,27:p,30:m,32:183,33:f,34:_,37:g,38:y,41:x,43:b,45:w,46:S,49:v,52:C,54:A,55:E,56:T,58:R,59:M,62:P,64:N,65:L,66:I,70:O,72:V,74:D,79:184,80:52,81:185,82:k,83:z,84:F,85:B,86:U,87:G,88:j,89:H,90:$,91:W,92:Y,93:X,94:q,95:Z,96:K,97:Q,98:J,99:ee},{14:[1,186]},e(_e,[2,87]),e(_e,[2,88]),{5:[2,48],6:t,7:r,9:n,13:s,15:i,17:o,18:a,19:l,20:c,23:h,25:u,26:d,27:p,30:m,33:f,34:_,37:g,38:y,41:x,43:b,45:w,46:S,49:v,52:C,53:187,54:A,55:E,56:T,58:R,59:M,62:P,64:N,65:L,66:I,75:169,76:170,79:171,80:52,82:k,83:z,84:F,85:B,86:U,87:G,88:j,89:H,90:$,91:W,92:Y,93:X,94:q,95:Z},{5:[2,49],6:t,7:r,9:n,13:s,15:i,17:o,18:a,19:l,20:c,23:h,25:u,26:d,27:p,30:m,33:f,34:_,37:g,38:y,41:x,43:b,45:w,46:S,49:v,52:C,53:188,54:A,55:E,56:T,58:R,59:M,62:P,64:N,65:L,66:I,75:169,76:170,79:171,80:52,82:k,83:z,84:F,85:B,86:U,87:G,88:j,89:H,90:$,91:W,92:Y,93:X,94:q,95:Z,101:ue},{5:[2,68]},{5:[2,78],67:189,68:147,69:148,70:ce,72:he},e(fe,[2,83],{80:52,76:170,79:171,75:190,6:t,7:r,9:n,13:s,15:i,17:o,18:a,19:l,20:c,23:h,25:u,26:d,27:p,30:m,33:f,34:_,37:g,38:y,41:x,43:b,45:w,46:S,49:v,52:C,54:A,55:E,56:T,58:R,59:M,62:P,64:N,65:L,66:I,82:k,83:z,84:F,85:B,86:U,87:G,88:j,89:H,90:$,91:W,92:Y,93:X,94:q,95:Z}),e(me,[2,89]),{71:[1,191],101:[1,192]},e(ge,[2,156]),{14:te,16:193,35:re,38:ne,77:se,78:ie},{14:te,16:194,35:re,38:ne,77:se,78:ie},{5:[2,70]},{5:[2,72],6:t,7:r,9:n,13:s,15:i,17:o,18:a,19:l,20:c,23:h,25:u,26:d,27:p,30:m,33:f,34:_,37:g,38:y,41:x,43:b,45:w,46:S,49:v,52:C,54:A,55:E,56:T,58:R,59:M,62:P,64:N,65:L,66:I,75:190,76:170,79:171,80:52,82:k,83:z,84:F,85:B,86:U,87:G,88:j,89:H,90:$,91:W,92:Y,93:X,94:q,95:Z},{5:[2,74],6:t,7:r,9:n,13:s,15:i,17:o,18:a,19:l,20:c,23:h,25:u,26:d,27:p,30:m,33:f,34:_,37:g,38:y,41:x,43:b,45:w,46:S,49:v,52:C,54:A,55:E,56:T,58:R,59:M,62:P,64:N,65:L,66:I,75:190,76:170,79:171,80:52,82:k,83:z,84:F,85:B,86:U,87:G,88:j,89:H,90:$,91:W,92:Y,93:X,94:q,95:Z},{5:[2,57]},{5:[2,58]},{5:[2,61]},e(de,[2,161]),e(de,[2,162]),e(de,[2,163]),{5:[2,29]},{5:[2,99]},{5:[2,100]},{31:[1,195]},{5:[2,50],6:t,7:r,9:n,13:s,15:i,17:o,18:a,19:l,20:c,23:h,25:u,26:d,27:p,30:m,33:f,34:_,37:g,38:y,41:x,43:b,45:w,46:S,49:v,52:C,54:A,55:E,56:T,58:R,59:M,62:P,64:N,65:L,66:I,75:190,76:170,79:171,80:52,82:k,83:z,84:F,85:B,86:U,87:G,88:j,89:H,90:$,91:W,92:Y,93:X,94:q,95:Z},{5:[2,51],6:t,7:r,9:n,13:s,15:i,17:o,18:a,19:l,20:c,23:h,25:u,26:d,27:p,30:m,33:f,34:_,37:g,38:y,41:x,43:b,45:w,46:S,49:v,52:C,54:A,55:E,56:T,58:R,59:M,62:P,64:N,65:L,66:I,75:190,76:170,79:171,80:52,82:k,83:z,84:F,85:B,86:U,87:G,88:j,89:H,90:$,91:W,92:Y,93:X,94:q,95:Z},{5:[2,79],67:196,68:147,69:148,70:ce,72:he},e(me,[2,90]),{14:te,16:197,35:re,38:ne,77:se,78:ie},{6:t,7:r,9:n,13:s,15:i,17:o,18:a,19:l,20:c,23:h,25:u,26:d,27:p,30:m,33:f,34:_,35:[1,199],37:g,38:y,41:x,43:b,45:w,46:S,49:v,52:C,54:A,55:E,56:T,58:R,59:M,62:P,64:N,65:L,66:I,79:198,80:52,82:k,83:z,84:F,85:B,86:U,87:G,88:j,89:H,90:$,91:W,92:Y,93:X,94:q,95:Z},e(fe,[2,84]),e(me,[2,85]),{6:t,7:r,9:n,13:s,15:i,17:o,18:a,19:l,20:c,23:h,25:u,26:d,27:p,30:m,32:200,33:f,34:_,37:g,38:y,41:x,43:b,45:w,46:S,49:v,52:C,54:A,55:E,56:T,58:R,59:M,62:P,64:N,65:L,66:I,70:O,72:V,74:D,79:184,80:52,81:185,82:k,83:z,84:F,85:B,86:U,87:G,88:j,89:H,90:$,91:W,92:Y,93:X,94:q,95:Z,96:K,97:Q,98:J,99:ee},{5:[2,80]},e(me,[2,91]),e(ge,[2,157]),e(ge,[2,158]),{5:[2,31]}],defaultActions:{3:[2,2],4:[2,3],7:[2,8],8:[2,9],11:[2,14],12:[2,15],13:[2,16],15:[2,19],16:[2,20],25:[2,33],26:[2,34],29:[2,40],34:[2,46],35:[2,47],37:[2,52],46:[2,1],47:[2,5],107:[2,11],110:[2,18],116:[2,21],119:[2,22],120:[2,23],121:[2,24],122:[2,26],123:[2,27],125:[2,30],127:[2,32],128:[2,36],129:[2,37],130:[2,39],131:[2,41],136:[2,45],139:[2,53],140:[2,62],141:[2,63],142:[2,64],143:[2,164],145:[2,67],158:[2,12],159:[2,13],166:[2,68],174:[2,70],177:[2,57],178:[2,58],179:[2,61],183:[2,29],184:[2,99],185:[2,100],196:[2,80],200:[2,31]},parseError:function(e,t){if(!t.recoverable){var r=new Error(e);throw r.hash=t,r}this.trace(e)},parse:function(e){var t=this,r=[0],n=[],s=[null],i=[],o=this.table,a="",l=0,c=0,h=0,u=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var m in this.yy)Object.prototype.hasOwnProperty.call(this.yy,m)&&(p.yy[m]=this.yy[m]);d.setInput(e,p.yy),p.yy.lexer=d,p.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var f=d.yylloc;i.push(f);var _=d.options&&d.options.ranges;"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var g,y,x,b,w,S,v,C,A,E,T={};;){if(x=r[r.length-1],this.defaultActions[x]?b=this.defaultActions[x]:(null==g&&(E=void 0,"number"!=typeof(E=n.pop()||d.lex()||1)&&(E instanceof Array&&(E=(n=E).pop()),E=t.symbols_[E]||E),g=E),b=o[x]&&o[x][g]),void 0===b||!b.length||!b[0]){var R="";for(S in A=[],o[x])this.terminals_[S]&&S>2&&A.push("'"+this.terminals_[S]+"'");R=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[g]||g)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==g?"end of input":"'"+(this.terminals_[g]||g)+"'"),this.parseError(R,{text:d.match,token:this.terminals_[g]||g,line:d.yylineno,loc:f,expected:A})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+x+", token: "+g);switch(b[0]){case 1:r.push(g),s.push(d.yytext),i.push(d.yylloc),r.push(b[1]),g=null,y?(g=y,y=null):(c=d.yyleng,a=d.yytext,l=d.yylineno,f=d.yylloc,h>0&&h--);break;case 2:if(v=this.productions_[b[1]][1],T.$=s[s.length-v],T._$={first_line:i[i.length-(v||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(v||1)].first_column,last_column:i[i.length-1].last_column},_&&(T._$.range=[i[i.length-(v||1)].range[0],i[i.length-1].range[1]]),void 0!==(w=this.performAction.apply(T,[a,c,l,p.yy,b[1],s,i].concat(u))))return w;v&&(r=r.slice(0,-1*v*2),s=s.slice(0,-1*v),i=i.slice(0,-1*v)),r.push(this.productions_[b[1]][0]),s.push(T.$),i.push(T._$),C=o[r[r.length-2]][r[r.length-1]],r.push(C);break;case 3:return!0}}return!0}},xe={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,s;if(this.options.backtrack_lexer&&(s={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(s.yylloc.range=this.yylloc.range.slice(0))),(n=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var i in s)this[i]=s[i];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var s=this._currentRules(),i=0;i<s.length;i++)if((r=this._input.match(this.rules[s[i]]))&&(!t||r[0].length>t[0].length)){if(t=r,n=i,this.options.backtrack_lexer){if(!1!==(e=this.test_match(r,s[i])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,s[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:break;case 1:case 2:return"";case 3:return 42;case 4:return 35;case 5:return 77;case 6:case 7:return 78;case 8:return 8;case 9:return 6;case 10:return 82;case 11:return 7;case 12:return 9;case 13:return 59;case 14:return 13;case 15:return 15;case 16:return 17;case 17:return 18;case 18:return 19;case 19:return 20;case 20:return 11;case 21:return 62;case 22:return 64;case 23:return 23;case 24:return 25;case 25:return 26;case 26:return 27;case 27:return 30;case 28:return 34;case 29:return 33;case 30:return 65;case 31:return 66;case 32:return 37;case 33:return 41;case 34:return 43;case 35:return 52;case 36:return 54;case 37:return 55;case 38:return 46;case 39:return 48;case 40:return 45;case 41:return 49;case 42:return 56;case 43:return 58;case 44:return 44;case 45:return 83;case 46:return 84;case 47:return 85;case 48:return 86;case 49:return 87;case 50:return 88;case 51:return 89;case 52:return 90;case 53:return 91;case 54:return 92;case 55:return 93;case 56:return 94;case 57:return 95;case 58:case 59:return 70;case 60:case 61:return 72;case 62:case 63:case 64:return 74;case 65:return 31;case 66:return 36;case 67:return 96;case 68:return 97;case 69:return 98;case 70:return 99;case 71:return t.yytext=e.utils.unquoteString(t.yytext),14;case 72:return 38;case 73:return 5;case 74:return 101;case 75:return 103;case 76:return"\\";case 77:return 28;case 78:return 61;case 79:return 29;case 80:return 57;case 81:return 71}},rules:[/^(?:\s+)/i,/^(?:[#].*)/i,/^(?:\/\/.*)/i,/^(?:([_A-Z0-9\/\+]+==))/i,/^(?:-?[0-9]+(\.[0-9]+)?\b)/i,/^(?:0[xX][0-9A-F]+\b)/i,/^(?:false\b)/i,/^(?:true\b)/i,/^(?:all\b)/i,/^(?:reset\b)/i,/^(?:clear\b)/i,/^(?:build\b)/i,/^(?:help\b)/i,/^(?:load\b)/i,/^(?:get\b)/i,/^(?:set\b)/i,/^(?:set_save\b)/i,/^(?:set_restore\b)/i,/^(?:set_reset\b)/i,/^(?:preset\b)/i,/^(?:motm\b)/i,/^(?:add\b)/i,/^(?:rep\b)/i,/^(?:remove\b)/i,/^(?:hide\b)/i,/^(?:show\b)/i,/^(?:list\b)/i,/^(?:select\b)/i,/^(?:within\b)/i,/^(?:selector\b)/i,/^(?:mode\b)/i,/^(?:color\b)/i,/^(?:material\b)/i,/^(?:view\b)/i,/^(?:unit\b)/i,/^(?:line\b)/i,/^(?:listobj\b)/i,/^(?:removeobj\b)/i,/^(?:rotate\b)/i,/^(?:translate\b)/i,/^(?:scale\b)/i,/^(?:center\b)/i,/^(?:url\b)/i,/^(?:screenshot\b)/i,/^(?:dssp\b)/i,/^(?:file_list\b)/i,/^(?:file_register\b)/i,/^(?:file_delete\b)/i,/^(?:preset_add\b)/i,/^(?:preset_delete\b)/i,/^(?:preset_update\b)/i,/^(?:preset_rename\b)/i,/^(?:preset_open\b)/i,/^(?:create_scenario\b)/i,/^(?:reset_scenario\b)/i,/^(?:delete_scenario\b)/i,/^(?:add_scenario_item\b)/i,/^(?:list_scenario\b)/i,/^(?:s\b)/i,/^(?:mt\b)/i,/^(?:m\b)/i,/^(?:c\b)/i,/^(?:x\b)/i,/^(?:y\b)/i,/^(?:z\b)/i,/^(?:as\b)/i,/^(?:of\b)/i,/^(?:pdb\b)/i,/^(?:delay\b)/i,/^(?:prst\b)/i,/^(?:desc\b)/i,/^(?:((?:"(?:\\.|[^\\"])*"|'(?:\\.|[^\\'])*')))/i,/^(?:([_A-Z0-9]+))/i,/^(?:$)/i,/^(?:\.)/i,/^(?:\/)/i,/^(?:\\)/i,/^(?:-e\b)/i,/^(?:-f\b)/i,/^(?:-s\b)/i,/^(?:-v\b)/i,/^(?:=)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81],inclusive:!0}}};function be(){this.yy={}}return ye.lexer=xe,be.prototype=ye,ye.Parser=be,new be}();e.exports={parser:t}},99:e=>{var t=function(){var e=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},t=[1,4],r=[1,5],n=[1,6],s=[1,7],i=[1,8],o=[1,9],a=[1,11],l=[1,12],c=[5,7,8,11],h=[1,17],u=[1,22],d=[1,20],p=[1,21],m=[5,7,8,11,19],f={trace:function(){},yy:{},symbols_:{error:2,Program:3,Expression:4,EOF:5,Selector:6,OR:7,AND:8,NOT:9,"(":10,")":11,SELECTOR:12,NAMED_SELECTOR:13,SELECTOR_RANGED:14,RangeList:15,SELECTOR_NAMED:16,NameList:17,Range:18,",":19,NUMBER:20,":":21,Name:22,IDENTIFIER:23,STRING:24,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",7:"OR",8:"AND",9:"NOT",10:"(",11:")",12:"SELECTOR",13:"NAMED_SELECTOR",14:"SELECTOR_RANGED",16:"SELECTOR_NAMED",19:",",20:"NUMBER",21:":",23:"IDENTIFIER",24:"STRING"},productions_:[0,[3,2],[4,1],[4,3],[4,3],[4,2],[4,3],[6,1],[6,1],[6,2],[6,2],[15,1],[15,3],[18,1],[18,3],[17,1],[17,3],[22,1],[22,1],[22,1]],performAction:function(e,t,r,n,s,i,o){var a=i.length-1;switch(s){case 1:return i[a-1];case 3:this.$=n.keyword("or")(i[a-2],i[a]);break;case 4:this.$=n.keyword("and")(i[a-2],i[a]);break;case 5:this.$=n.keyword("not")(i[a]);break;case 6:this.$=i[a-1];break;case 7:this.$=n.keyword(i[a])();break;case 8:this.$=n.GetSelector(i[a].toLowerCase().slice(1,i[a].length));break;case 9:case 10:this.$=n.keyword(i[a-1])(i[a]);break;case 11:this.$=new n.RangeList(i[a]);break;case 12:case 16:this.$=i[a-2].append(i[a]);break;case 13:this.$=new n.Range(Number(i[a]));break;case 14:this.$=new n.Range(Number(i[a-2]),Number(i[a]));break;case 15:this.$=new n.ValueList(i[a])}},table:[{3:1,4:2,6:3,9:t,10:r,12:n,13:s,14:i,16:o},{1:[3]},{5:[1,10],7:a,8:l},e(c,[2,2]),{4:13,6:3,9:t,10:r,12:n,13:s,14:i,16:o},{4:14,6:3,9:t,10:r,12:n,13:s,14:i,16:o},e(c,[2,7]),e(c,[2,8]),{15:15,18:16,20:h},{17:18,20:u,22:19,23:d,24:p},{1:[2,1]},{4:23,6:3,9:t,10:r,12:n,13:s,14:i,16:o},{4:24,6:3,9:t,10:r,12:n,13:s,14:i,16:o},e(c,[2,5]),{7:a,8:l,11:[1,25]},e(c,[2,9],{19:[1,26]}),e(m,[2,11]),e(m,[2,13],{21:[1,27]}),e(c,[2,10],{19:[1,28]}),e(m,[2,15]),e(m,[2,17]),e(m,[2,18]),e(m,[2,19]),e([5,7,11],[2,3],{8:l}),e(c,[2,4]),e(c,[2,6]),{18:29,20:h},{20:[1,30]},{20:u,22:31,23:d,24:p},e(m,[2,12]),e(m,[2,14]),e(m,[2,16])],defaultActions:{10:[2,1]},parseError:function(e,t){if(!t.recoverable){var r=new Error(e);throw r.hash=t,r}this.trace(e)},parse:function(e){var t=this,r=[0],n=[],s=[null],i=[],o=this.table,a="",l=0,c=0,h=0,u=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var m in this.yy)Object.prototype.hasOwnProperty.call(this.yy,m)&&(p.yy[m]=this.yy[m]);d.setInput(e,p.yy),p.yy.lexer=d,p.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var f=d.yylloc;i.push(f);var _=d.options&&d.options.ranges;"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var g,y,x,b,w,S,v,C,A,E,T={};;){if(x=r[r.length-1],this.defaultActions[x]?b=this.defaultActions[x]:(null==g&&(E=void 0,"number"!=typeof(E=n.pop()||d.lex()||1)&&(E instanceof Array&&(E=(n=E).pop()),E=t.symbols_[E]||E),g=E),b=o[x]&&o[x][g]),void 0===b||!b.length||!b[0]){var R="";for(S in A=[],o[x])this.terminals_[S]&&S>2&&A.push("'"+this.terminals_[S]+"'");R=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[g]||g)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==g?"end of input":"'"+(this.terminals_[g]||g)+"'"),this.parseError(R,{text:d.match,token:this.terminals_[g]||g,line:d.yylineno,loc:f,expected:A})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+x+", token: "+g);switch(b[0]){case 1:r.push(g),s.push(d.yytext),i.push(d.yylloc),r.push(b[1]),g=null,y?(g=y,y=null):(c=d.yyleng,a=d.yytext,l=d.yylineno,f=d.yylloc,h>0&&h--);break;case 2:if(v=this.productions_[b[1]][1],T.$=s[s.length-v],T._$={first_line:i[i.length-(v||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(v||1)].first_column,last_column:i[i.length-1].last_column},_&&(T._$.range=[i[i.length-(v||1)].range[0],i[i.length-1].range[1]]),void 0!==(w=this.performAction.apply(T,[a,c,l,p.yy,b[1],s,i].concat(u))))return w;v&&(r=r.slice(0,-1*v*2),s=s.slice(0,-1*v),i=i.slice(0,-1*v)),r.push(this.productions_[b[1]][0]),s.push(T.$),i.push(T._$),C=o[r[r.length-2]][r[r.length-1]],r.push(C);break;case 3:return!0}}return!0}},_={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,s;if(this.options.backtrack_lexer&&(s={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(s.yylloc.range=this.yylloc.range.slice(0))),(n=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var i in s)this[i]=s[i];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var s=this._currentRules(),i=0;i<s.length;i++)if((r=this._input.match(this.rules[s[i]]))&&(!t||r[0].length>t[0].length)){if(t=r,n=i,this.options.backtrack_lexer){if(!1!==(e=this.test_match(r,s[i])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,s[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:break;case 1:return 20;case 2:return 7;case 3:return 8;case 4:return 9;case 5:return 12;case 6:return 16;case 7:return 14;case 8:return 10;case 9:return 11;case 10:return 19;case 11:return 21;case 12:return"<=";case 13:return">=";case 14:return"<";case 15:return">";case 16:return t.yytext=t.yytext.substr(1,t.yyleng-2),24;case 17:return 13;case 18:return 23;case 19:return 5;case 20:return"INVALID"}},rules:[/^(?:\s+)/i,/^(?:(-?(?:[1-9][0-9]+|[0-9]))\b)/i,/^(?:OR\b)/i,/^(?:AND\b)/i,/^(?:NOT\b)/i,/^(?:((ALL|NONE|HETATM|PROTEIN|BASIC|ACIDIC|CHARGED|POLAR|NONPOLAR|AROMATIC|NUCLEIC|PURINE|PYRIMIDINE|WATER|POLARH|NONPOLARH))\b)/i,/^(?:((NAME|ELEM|TYPE|RESIDUE|ICODE|CHAIN|ALTLOC))\b)/i,/^(?:((SERIAL|SEQUENCE|RESIDX))\b)/i,/^(?:\()/i,/^(?:\))/i,/^(?:,)/i,/^(?::)/i,/^(?:<=)/i,/^(?:>=)/i,/^(?:<)/i,/^(?:>)/i,/^(?:((?:"(?:\\.|[^\\"])*"|'(?:\\.|[^\\'])*')))/i,/^(?:(@[_A-Z0-9]+))/i,/^(?:([_A-Z0-9]+))/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};function g(){this.yy={}}return f.lexer=_,g.prototype=f,f.Parser=g,new g}();e.exports={parser:t}},690:function(e,t){
/*
Smooth.js version 0.1.7
Turn arrays into smooth functions.
Copyright 2012 Spencer Cohen
Licensed under MIT license (see "Smooth.js MIT license.txt")
*/
(function(){var e,r,n,s,i,o,a,l,c,h,u,d,p,m,f,_,g,y,x,b,w,S,v,C,A,E,T=Object.prototype.hasOwnProperty,R=function(e,t){for(var r in t)T.call(t,r)&&(e[r]=t[r]);function n(){this.constructor=e}return n.prototype=t.prototype,e.prototype=new n,e.__super__=t.prototype,e};for(_ in d={method:(n={METHOD_NEAREST:"nearest",METHOD_LINEAR:"linear",METHOD_CUBIC:"cubic",METHOD_LANCZOS:"lanczos",METHOD_SINC:"sinc",CLIP_CLAMP:"clamp",CLIP_ZERO:"zero",CLIP_PERIODIC:"periodic",CLIP_MIRROR:"mirror",CUBIC_TENSION_DEFAULT:0,CUBIC_TENSION_CATMULL_ROM:0}).METHOD_CUBIC,cubicTension:n.CUBIC_TENSION_DEFAULT,clip:n.CLIP_CLAMP,scaleTo:0,sincFilterSize:2,sincWindow:void 0},c=function(e,t){return Math.max(0,Math.min(e,t-1))},u=function(e,t){return(e%=t)<0&&(e+=t),e},h=function(e,t){var r;return(e=u(e,r=2*(t-1)))>t-1&&(e=r-e),e},e=function(){function e(e,t){if(this.array=e.slice(0),this.length=this.array.length,!(this.clipHelper={clamp:this.clipHelperClamp,zero:this.clipHelperZero,periodic:this.clipHelperPeriodic,mirror:this.clipHelperMirror}[t.clip]))throw"Invalid clip: "+t.clip}return e.prototype.getClippedInput=function(e){return 0<=e&&e<this.length?this.array[e]:this.clipHelper(e)},e.prototype.clipHelperClamp=function(e){return this.array[c(e,this.length)]},e.prototype.clipHelperZero=function(e){return 0},e.prototype.clipHelperPeriodic=function(e){return this.array[u(e,this.length)]},e.prototype.clipHelperMirror=function(e){return this.array[h(e,this.length)]},e.prototype.interpolate=function(e){throw"Subclasses of AbstractInterpolator must override the interpolate() method."},e}(),i=function(e){function t(){t.__super__.constructor.apply(this,arguments)}return R(t,e),t.prototype.interpolate=function(e){return this.getClippedInput(Math.round(e))},t}(e),s=function(e){function t(){t.__super__.constructor.apply(this,arguments)}return R(t,e),t.prototype.interpolate=function(e){var t;return(1-(e-=t=Math.floor(e)))*this.getClippedInput(t)+e*this.getClippedInput(t+1)},t}(e),r=function(e){function t(e,r){this.tangentFactor=1-Math.max(-1,Math.min(1,r.cubicTension)),t.__super__.constructor.apply(this,arguments)}return R(t,e),t.prototype.getTangent=function(e){return this.tangentFactor*(this.getClippedInput(e+1)-this.getClippedInput(e-1))/2},t.prototype.interpolate=function(e){var t,r,n,s,i;return t=Math.floor(e),r=[this.getTangent(t),this.getTangent(t+1)],(2*(i=(e-=t)*(s=e*e))-3*s+1)*(n=[this.getClippedInput(t),this.getClippedInput(t+1)])[0]+(i-2*s+e)*r[0]+(-2*i+3*s)*n[1]+(i-s)*r[1]},t}(e),S=Math.sin,o=Math.PI,v=function(e){return 0===e?1:S(o*e)/(o*e)},g=function(e){return function(t){return v(t/e)}},x=function(e){return function(t){return v(t)*e(t)}},a=function(e){function t(e,r){if(t.__super__.constructor.apply(this,arguments),this.a=r.sincFilterSize,!r.sincWindow)throw"No sincWindow provided";this.kernel=x(r.sincWindow)}return R(t,e),t.prototype.interpolate=function(e){var t,r,n,s,i;for(n=0,r=s=(t=Math.floor(e))-this.a+1,i=t+this.a;s<=i?r<=i:r>=i;s<=i?r++:r--)n+=this.kernel(e-r)*this.getClippedInput(r);return n},t}(e),p=function(e,t){var r,n,s,i;for(i=[],n=0,s=e.length;n<s;n++)r=e[n],i.push(r[t]);return i},y=function(e,t,r){var n,s;return"0,1"===r.join?e:(n=t/(r[1]-r[0]),s=r[0],function(t){return e(n*(t-s))})},m=function(e){return Object.prototype.toString.call(e).slice(8,-1)},A=function(e){if(isNaN(e))throw"NaN in Smooth() input";if("Number"!==m(e))throw"Non-number in Smooth() input";if(!isFinite(e))throw"Infinity in Smooth() input"},E=function(e,t){var r,n,s;if("Array"!==m(e))throw"Non-vector in Smooth() input";if(e.length!==t)throw"Inconsistent dimension in Smooth() input";for(n=0,s=e.length;n<s;n++)r=e[n],A(r)},f=function(e){return"Number"===m(e)&&isFinite(e)&&!isNaN(e)},b=function(e){var t;switch(t="scaleTo param must be number or array of two numbers",m(e)){case"Number":if(!f(e))throw t;e=[0,e];break;case"Array":if(2!==e.length)throw t;if(!f(e[0])||!f(e[1]))throw t;break;default:throw t}return e},w=function(e){var t,r,n;for(r in t={},e)T.call(e,r)&&(n=e[r],t[r]=n);return t},l=function(e,t){var n,o,c,h,u,f,_,x,S,v,C;for(_ in null==t&&(t={}),S={},t=w(t),S.config=w(t),null==t.scaleTo&&(t.scaleTo=t.period),null==t.sincFilterSize&&(t.sincFilterSize=t.lanczosFilterSize),d)T.call(d,_)&&(C=d[_],null==t[_]&&(t[_]=C));if(!(u={nearest:i,linear:s,cubic:r,lanczos:a,sinc:a}[t.method]))throw"Invalid method: "+t.method;if("lanczos"===t.method&&(t.sincWindow=g(t.sincFilterSize)),e.length<2)throw"Array must have at least two elements";for(_ in S.count=e.length,v=function(){var r,n,s,i;switch(m(e[0])){case"Number":if(S.dimension="scalar",l.deepValidation)for(r=0,s=e.length;r<s;r++)x=e[r],A(x);return h=new u(e,t),function(e){return h.interpolate(e)};case"Array":if(S.dimension=o=e[0].length,!o)throw"Vectors must be non-empty";if(l.deepValidation)for(n=0,i=e.length;n<i;n++)C=e[n],E(C,o);return f=function(){var r;for(r=[],c=0;0<=o?c<o:c>o;0<=o?c++:c--)r.push(new u(p(e,c),t));return r}(),function(e){var t,r,n,s;for(s=[],r=0,n=f.length;r<n;r++)t=f[r],s.push(t.interpolate(e));return s};default:throw"Invalid element type: "+m(e[0])}}(),n="periodic"===t.clip?e.length:e.length-1,t.scaleTo||(t.scaleTo=n),S.domain=b(t.scaleTo),v=y(v,n,S.domain),S.domain.sort(),S)T.call(S,_)&&(C=S[_],v[_]=C);return v},n)T.call(n,_)&&(C=n[_],l[_]=C);l.deepValidation=!0,(null!==t?t:window).Smooth=l}).call(this)},660:function(e,t){var r,n,s;n=[t],void 0===(s="function"==typeof(r=function(e){"use strict";function t(e,t,r){for(var n=(e.byteLength,0),s=r.length;s>n;n++){var i=r.charCodeAt(n);if(128>i)e.setUint8(t++,i>>>0&127|0);else if(2048>i)e.setUint8(t++,i>>>6&31|192),e.setUint8(t++,i>>>0&63|128);else if(65536>i)e.setUint8(t++,i>>>12&15|224),e.setUint8(t++,i>>>6&63|128),e.setUint8(t++,i>>>0&63|128);else{if(!(1114112>i))throw new Error("bad codepoint "+i);e.setUint8(t++,i>>>18&7|240),e.setUint8(t++,i>>>12&63|128),e.setUint8(t++,i>>>6&63|128),e.setUint8(t++,i>>>0&63|128)}}}function r(e){for(var t=0,r=0,n=e.length;n>r;r++){var s=e.charCodeAt(r);if(128>s)t+=1;else if(2048>s)t+=2;else if(65536>s)t+=3;else{if(!(1114112>s))throw new Error("bad codepoint "+s);t+=4}}return t}function n(e,s,i){var o=typeof e;if("string"===o){if(32>(a=r(e)))return s.setUint8(i,160|a),t(s,i+1,e),1+a;if(256>a)return s.setUint8(i,217),s.setUint8(i+1,a),t(s,i+2,e),2+a;if(65536>a)return s.setUint8(i,218),s.setUint16(i+1,a),t(s,i+3,e),3+a;if(4294967296>a)return s.setUint8(i,219),s.setUint32(i+1,a),t(s,i+5,e),5+a}if(e instanceof Uint8Array){var a=e.byteLength,l=new Uint8Array(s.buffer);if(256>a)return s.setUint8(i,196),s.setUint8(i+1,a),l.set(e,i+2),2+a;if(65536>a)return s.setUint8(i,197),s.setUint16(i+1,a),l.set(e,i+3),3+a;if(4294967296>a)return s.setUint8(i,198),s.setUint32(i+1,a),l.set(e,i+5),5+a}if("number"===o){if(!isFinite(e))throw new Error("Number not finite: "+e);if(Math.floor(e)!==e)return s.setUint8(i,203),s.setFloat64(i+1,e),9;if(e>=0){if(128>e)return s.setUint8(i,e),1;if(256>e)return s.setUint8(i,204),s.setUint8(i+1,e),2;if(65536>e)return s.setUint8(i,205),s.setUint16(i+1,e),3;if(4294967296>e)return s.setUint8(i,206),s.setUint32(i+1,e),5;throw new Error("Number too big 0x"+e.toString(16))}if(e>=-32)return s.setInt8(i,e),1;if(e>=-128)return s.setUint8(i,208),s.setInt8(i+1,e),2;if(e>=-32768)return s.setUint8(i,209),s.setInt16(i+1,e),3;if(e>=-2147483648)return s.setUint8(i,210),s.setInt32(i+1,e),5;throw new Error("Number too small -0x"+(-e).toString(16).substr(1))}if(null===e)return s.setUint8(i,192),1;if("boolean"===o)return s.setUint8(i,e?195:194),1;if("object"===o){var c=0,h=Array.isArray(e);if(h)a=e.length;else{var u=Object.keys(e);a=u.length}if(16>a?(s.setUint8(i,a|(h?144:128)),c=1):65536>a?(s.setUint8(i,h?220:222),s.setUint16(i+1,a),c=3):4294967296>a&&(s.setUint8(i,h?221:223),s.setUint32(i+1,a),c=5),h)for(var d=0;a>d;d++)c+=n(e[d],s,i+c);else for(d=0;a>d;d++){var p=u[d];c+=n(p,s,i+c),c+=n(e[p],s,i+c)}return c}throw new Error("Unknown type "+o)}function s(e){var t=typeof e;if("string"===t){if(32>(n=r(e)))return 1+n;if(256>n)return 2+n;if(65536>n)return 3+n;if(4294967296>n)return 5+n}if(e instanceof Uint8Array){if(256>(n=e.byteLength))return 2+n;if(65536>n)return 3+n;if(4294967296>n)return 5+n}if("number"===t){if(Math.floor(e)!==e)return 9;if(e>=0){if(128>e)return 1;if(256>e)return 2;if(65536>e)return 3;if(4294967296>e)return 5;throw new Error("Number too big 0x"+e.toString(16))}if(e>=-32)return 1;if(e>=-128)return 2;if(e>=-32768)return 3;if(e>=-2147483648)return 5;throw new Error("Number too small -0x"+e.toString(16).substr(1))}if("boolean"===t||null===e)return 1;if("object"===t){var n,i=0;if(Array.isArray(e)){n=e.length;for(var o=0;n>o;o++)i+=s(e[o])}else{var a=Object.keys(e);for(n=a.length,o=0;n>o;o++){var l=a[o];i+=s(l)+s(e[l])}}if(16>n)return 1+i;if(65536>n)return 3+i;if(4294967296>n)return 5+i;throw new Error("Array or object too long 0x"+n.toString(16))}throw new Error("Unknown type "+t)}function i(e){var t=new ArrayBuffer(s(e));return n(e,new DataView(t),0),new Uint8Array(t)}function o(e,t,r){return t?new e(t.buffer,t.byteOffset,t.byteLength/(r||1)):void 0}function a(e){return o(DataView,e)}function l(e){return o(Uint8Array,e)}function c(e){return o(Int8Array,e)}function h(e){return o(Int32Array,e,4)}function u(e){return o(Float32Array,e,4)}function d(e,t){var r=e.length/2;t||(t=new Int16Array(r));for(var n=0,s=0;r>n;++n,s+=2)t[