@opcua/for-node-red 3.8.0 → 3.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +1 -1
- package/all.js +4 -150
- package/config-panel/assets/index-CxGeB_Tt.css +1 -0
- package/config-panel/assets/index-DgIjB-ey.js +49 -0
- package/config-panel/index.html +5 -3
- package/examples/coffee-machine-2.json +3393 -0
- package/examples/svg_watertank.html +17 -0
- package/examples/tank.jsx +33 -0
- package/package.json +2 -1
- package/source/OpcUa-Client2-Browse/OpcUa-Client2-Browse.html +3 -4
- package/source/OpcUa-Client2-Call/OpcUa-Client2-Call.html +7 -2
- package/source/OpcUa-Client2-Explore/OpcUa-Client2-Explore.html +1 -2
- package/source/OpcUa-Client2-ExtensionObject/OpcUa-Client2-ExtensionObject.html +1 -2
- package/source/OpcUa-Client2-FileOperation/OpcUa-Client2-FileOperation.css +2 -0
- package/source/OpcUa-Client2-FileOperation/OpcUa-Client2-FileOperation.html +75 -0
- package/source/OpcUa-Client2-FileOperation/OpcUa-Client2-FileOperation.js +2 -0
- package/source/OpcUa-Client2-HistoryRead/OpcUa-Client2-HistoryRead.html +1 -2
- package/source/OpcUa-Client2-Monitor/OpcUa-Client2-Monitor.html +1 -2
- package/source/OpcUa-Client2-MonitorEvent/OpcUa-Client2-MonitorEvent.html +1 -2
- package/source/OpcUa-Client2-Read/OpcUa-Client2-Read.html +1 -2
- package/source/OpcUa-Client2-Write/OpcUa-Client2-Write.html +1 -2
- package/source/OpcUa-Endpoint2/OpcUa-Endpoint2.html +1 -2
- package/config-panel/assets/index-DDkINW5U.js +0 -49
- package/config-panel/assets/index-DayGs2U8.css +0 -1
@@ -4,8 +4,7 @@
|
|
4
4
|
</style>
|
5
5
|
|
6
6
|
<script type="text/javascript">
|
7
|
-
function _0x26fb(){const _0x103a5a=['HasChild','ns=0;i=46','BrowseName','nsu\x20nodeId:\x20','throw','browse\x20path:\x20','ns=0;i=40','data','nodeId_aliased','error','widget','endpointNode','target','_initMenu','POST','bp_aliased','main-wrapper','relativePath','mask-image:\x20url(','baseUrl','SandyBrown','referenceTypeId','i=31','TypeDefinition','browse','<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>','_showMenu','prev','value','Value\x20is\x20not\x20verified','typeDefinition','fa-list-alt','mode','done','mousedown.red-ui-typedInput-close-property-select','forEach','Method','statusCode','number','red-ui-typedInput-focus','expanded','pageX','/browse','opts','nodeId','#node-input-nodeClassMask','expandable','addClass','animate','fa-cog','fa-object-group','map','nodeClass','node_label_italic','name','<input\x20type=\x22checkbox\x22>','183XVKPTT','failure','Variable','installFeedbackWidget\x20','placeholder','flagEditor','loading','Both','_delay','<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> ','<i\x20class=\x22fa\x20fa-bookmark\x22/> \x20','References','tabindex','filter','32403490mKokrF','nodeId:\x20','180px','$tree','$selectLabel','insertAfter','$elementDiv','nodeIds','_hideMenu','ns=0;i=47','sterfive-dropdown','</li>','multiple','$uiSelect','label','DataType','317176DJlytw','selectedMenuItem','NodeId\x20with\x20namespace\x20Urn','apply','toString','<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>','fa-sliders','icon','call','message','after','checked','ReferenceType','prop','before','Aliased\x20NodeId','top','height','hide','already\x20loading','next','parent','red-ui-typedInput-icon\x20','border','/opcua-for-node-red','updateValue','entries','sterfive-input-error','remove','node','element','Invalid','stopPropagation','$verifyBtn','Unspecified','body','#node-input-resultMask','bp_indexed','i=61','<button><i\x20class=\x22fa\x20fa-eye\x22></i></button>','displayName','Variable\x20|\x20Object\x20|\x20Method\x20|\x20ObjectType\x20|\x20VariableType','<i\x20class=\x22fa\x20fa-id-card\x22/> \x20','sterfive-typedInput-options\x20sterfive-online-menu','ns=0;i=85','selected','Good','3326690XlrZZe','</div>','li\x20>\x20.tree-text','mousedown','auto','aliasedBrowsePath','setMode','$selectTrigger','off','$input','<ul\x20class=\x22sterfive-tree\x22></ul>','title','OpcUa-Endpoint2','$combo','expandable\x20expanded','IsForward','pageY','$toggleTreeBtn','indexOf','parentElement','91612TuhCnJ','</span><ul></ul></li>','opcua','prependTo','SeaGreen','li[key=\x22','css','<span\x20class=\x22custom-checkbox\x22></span>','append','<div/>','focus','Organizes','red-ui-typedInput-icon','elements','each','assign','/opcua-for-node-red/support-frame.html','split','Object','Unknown\x20bit\x20name','HasSubtype','browseName','<div>','fetching\x20failed\x20with\x20error','reset','click','1552236mUevGl','text','fa-question','$inputGroup','ns=0;i=45','wrap','nsuNodeID','View','<i>','callback','status','requestedNodeId','none','dblclick','scrollTop','fetched','><i\x20class=\x22fa\x20','namespaceAliases','join','suppressed','offset','trim','[value=\x27','<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>','nodeBrowser','CadetBlue','<i\x20class=\x22fa\x20fa-font\x22/i>\x20','Forward','ReferenceType\x20|\x20BrowseName\x20|\x20TypeDefinition\x20|\x20DisplayName\x20|\x20NodeClass\x20|\x20IsForward','\x22}><span\x20class=\x22tree-text\x22\x20title=','18px','Inverse','currentParent','msg','<div\x20class=\x22custom-option\x22\x20data-value=\x22','namesToBits','closest','empty','.red-ui-tray-body','left','<div\x20class=\x22spinner\x22></div>','$menu','DarkOrange','position','attr','stringify','find','ns=0;i=35','node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter',':first','resolveParentNode','Aliased\x20Browse\x20Path','/walk-backward','VariableType','nodeId_nsu','node\x20class:\x20','OPCUA\x20Browse','pointer-events','reference','replaceWith','$info','toggle','options','function','application/json','disarmClick','<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> ','trigger','ObjectType','#node-input-endpoint','preventDefault','aliasedNodeId','\x20|\x20','match','DodgerBlue','isTypeRef','27hesrBa','/checkNodeId','<span\x20title=','.spinner','HasTypeDefinition','length','grey','hasClass','30px','keyCode',':focus','toggleClass','json','val','references','SteelBlue','nodes','</span>','endpoint','isSelectable','verify','../../icons/opcuanodeLogo.png','push','BrowsePath','6298411pUsOgo','16px','absolute','err','browsePath','mousedown.red-ui-typedInput-focus-block','msg.','log','sterfive-combo-box','59JwfKwA','20606aAyiYZ','<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>','opc.tcp://opcuademo.sterfive.com:26543','removeClass','HasProperty',');\x20-webkit-mask-image:\x20url(','$dropdown','parentNode','children','keydown',':visible','change','sterfive.flagEditor','then','replaceChild','> \x20','nsu','appendTo','input[type=\x22checkbox\x22]','.custom-option','<a\x20href=\x22#\x22></a>','__parentNode','ns=0;i=61','statusText'];_0x26fb=function(){return _0x103a5a;};return _0x26fb();}function _0x1145(_0x5bab4c,_0x4445cc){const _0x26fbc9=_0x26fb();return _0x1145=function(_0x1145b6,_0x3c7550){_0x1145b6=_0x1145b6-0x115;let _0x157362=_0x26fbc9[_0x1145b6];return _0x157362;},_0x1145(_0x5bab4c,_0x4445cc);}(function(_0x4e1afa,_0x585518){const _0x204814=_0x1145,_0x108403=_0x4e1afa();while(!![]){try{const _0x450b0f=-parseInt(_0x204814(0x16e))/0x1*(-parseInt(_0x204814(0x16f))/0x2)+parseInt(_0x204814(0x1bf))/0x3*(parseInt(_0x204814(0x220))/0x4)+parseInt(_0x204814(0x20c))/0x5+parseInt(_0x204814(0x23a))/0x6+parseInt(_0x204814(0x165))/0x7+parseInt(_0x204814(0x1dd))/0x8*(parseInt(_0x204814(0x14d))/0x9)+-parseInt(_0x204814(0x1cd))/0xa;if(_0x450b0f===_0x585518)break;else _0x108403['push'](_0x108403['shift']());}catch(_0x3600c3){_0x108403['push'](_0x108403['shift']());}}}(_0x26fb,0xacb29),(function(){'use strict';const _0x3eba51=_0x1145;function _0x117883(_0x5f2d7d,_0x9a2912,_0x23314e,_0x3a0ec8){function _0x62b6e2(_0x21078b){return _0x21078b instanceof _0x23314e?_0x21078b:new _0x23314e(function(_0x49fde1){_0x49fde1(_0x21078b);});}return new(_0x23314e||(_0x23314e=Promise))(function(_0x17b741,_0x470aa3){const _0x3f609d=_0x1145;function _0x1dba4d(_0x56f3dc){const _0xef055e=_0x1145;try{_0x4c6b12(_0x3a0ec8[_0xef055e(0x1f1)](_0x56f3dc));}catch(_0x230e6d){_0x470aa3(_0x230e6d);}}function _0x2f3d7f(_0x2bfaaa){const _0x163ebc=_0x1145;try{_0x4c6b12(_0x3a0ec8[_0x163ebc(0x18b)](_0x2bfaaa));}catch(_0x4020e1){_0x470aa3(_0x4020e1);}}function _0x4c6b12(_0x3c1aae){const _0x5ef326=_0x1145;_0x3c1aae[_0x5ef326(0x1a8)]?_0x17b741(_0x3c1aae[_0x5ef326(0x1a3)]):_0x62b6e2(_0x3c1aae[_0x5ef326(0x1a3)])[_0x5ef326(0x17c)](_0x1dba4d,_0x2f3d7f);}_0x4c6b12((_0x3a0ec8=_0x3a0ec8[_0x3f609d(0x1e0)](_0x5f2d7d,_0x9a2912||[]))['next']());});}typeof SuppressedError===_0x3eba51(0x140)?SuppressedError:function(_0x2d5456,_0x39b5a3,_0x5c4880){const _0x43b35f=_0x3eba51;var _0x1cbadc=new Error(_0x5c4880);return _0x1cbadc['name']='SuppressedError',_0x1cbadc['error']=_0x2d5456,_0x1cbadc[_0x43b35f(0x24d)]=_0x39b5a3,_0x1cbadc;};const _0x3c339a=_0x3eba51(0x130),_0x198867=_0x3eba51(0x185),_0x2e84e1=_0x3eba51(0x1d6),_0x4692af=_0x3eba51(0x188),_0x4cfea1='ns=0;i=34',_0x3fab05=_0x3eba51(0x23e),_0x230878=_0x3eba51(0x18d);var _0x14855e;(function(_0x187b3b){const _0x2a175b=_0x3eba51;_0x187b3b[_0x187b3b['Forward']=0x0]=_0x2a175b(0x11c),_0x187b3b[_0x187b3b[_0x2a175b(0x120)]=0x1]=_0x2a175b(0x120),_0x187b3b[_0x187b3b[_0x2a175b(0x1c6)]=0x2]='Both',_0x187b3b[_0x187b3b[_0x2a175b(0x1fc)]=0x3]=_0x2a175b(0x1fc);}(_0x14855e||(_0x14855e={})));var _0x13addc;(function(_0x48e45a){const _0x2008a8=_0x3eba51;_0x48e45a[_0x48e45a[_0x2008a8(0x1ff)]=0x0]=_0x2008a8(0x1ff),_0x48e45a[_0x48e45a['Object']=0x1]=_0x2008a8(0x232),_0x48e45a[_0x48e45a['Variable']=0x2]=_0x2008a8(0x1c1),_0x48e45a[_0x48e45a[_0x2008a8(0x1ab)]=0x4]=_0x2008a8(0x1ab),_0x48e45a[_0x48e45a['ObjectType']=0x8]=_0x2008a8(0x145),_0x48e45a[_0x48e45a[_0x2008a8(0x136)]=0x10]='VariableType',_0x48e45a[_0x48e45a[_0x2008a8(0x1e9)]=0x20]=_0x2008a8(0x1e9),_0x48e45a[_0x48e45a[_0x2008a8(0x1dc)]=0x40]='DataType',_0x48e45a[_0x48e45a[_0x2008a8(0x241)]=0x80]=_0x2008a8(0x241);}(_0x13addc||(_0x13addc={})));var _0x5a051c;(function(_0x46da69){const _0x95f6d1=_0x3eba51;_0x46da69[_0x46da69[_0x95f6d1(0x232)]=0x1]='Object',_0x46da69[_0x46da69[_0x95f6d1(0x1c1)]=0x2]=_0x95f6d1(0x1c1),_0x46da69[_0x46da69['Method']=0x4]=_0x95f6d1(0x1ab),_0x46da69[_0x46da69['ObjectType']=0x8]='ObjectType',_0x46da69[_0x46da69[_0x95f6d1(0x136)]=0x10]=_0x95f6d1(0x136),_0x46da69[_0x46da69[_0x95f6d1(0x1e9)]=0x20]='ReferenceType',_0x46da69[_0x46da69[_0x95f6d1(0x1dc)]=0x40]=_0x95f6d1(0x1dc),_0x46da69[_0x46da69[_0x95f6d1(0x241)]=0x80]=_0x95f6d1(0x241);}(_0x5a051c||(_0x5a051c={})));function _0x3293b1(_0x5268cf,_0x47569e){const _0x1e7b04=_0x3eba51;if(typeof _0x47569e===_0x1e7b04(0x1ad))return _0x47569e;const _0x40f1c6=parseInt(_0x47569e,0xa);if(!isNaN(_0x40f1c6))return _0x40f1c6;const _0xb9a594=_0x47569e[_0x1e7b04(0x231)](/\||;|,/)[_0x1e7b04(0x1ba)](_0x386aac=>_0x386aac[_0x1e7b04(0x116)]());let _0x1d7420=0x0;for(const _0x2148f9 of _0xb9a594){_0x1d7420|=_0x5268cf[_0x2148f9];}return _0x1d7420;}function _0x22b765(_0x2d16e6,_0x4010cf){const _0x44294c=_0x3eba51;_0x4010cf=_0x3293b1(_0x2d16e6,_0x4010cf);const _0x2f4556=[];if(!_0x2d16e6)return _0x2f4556[_0x44294c(0x24c)](_0x44294c(0x149));for(const [_0x527941,_0x4eb4bc]of Object[_0x44294c(0x1f7)](_0x2d16e6)){typeof _0x4010cf==='number'&&((_0x4010cf&_0x4eb4bc)===_0x4eb4bc&&_0x2f4556[_0x44294c(0x163)](_0x527941));}return _0x2f4556[_0x44294c(0x24c)](_0x44294c(0x149));}var _0x4e8e1d;(function(_0x4eeb39){const _0x2155a9=_0x3eba51;_0x4eeb39[_0x4eeb39[_0x2155a9(0x1e9)]=0x1]=_0x2155a9(0x1e9),_0x4eeb39[_0x4eeb39[_0x2155a9(0x21b)]=0x2]=_0x2155a9(0x21b),_0x4eeb39[_0x4eeb39['NodeClass']=0x4]='NodeClass',_0x4eeb39[_0x4eeb39['BrowseName']=0x8]=_0x2155a9(0x189),_0x4eeb39[_0x4eeb39['DisplayName']=0x10]='DisplayName',_0x4eeb39[_0x4eeb39[_0x2155a9(0x19e)]=0x20]='TypeDefinition';}(_0x4e8e1d||(_0x4e8e1d={})));function _0x2df06c(_0x3ecc41){const _0x3d3e75=_0x3eba51;switch(_0x3ecc41){case _0x3d3e75(0x22b):return _0x3c339a;case _0x3d3e75(0x173):return _0x4692af;case'HasComponent':return _0x2e84e1;case _0x3d3e75(0x187):return _0x4cfea1;case _0x3d3e75(0x234):return _0x3fab05;case _0x3d3e75(0x151):return _0x230878;}}const _0x46c487=_0x18f94c=>{const _0x4c0ce4=_0x3eba51;switch(_0x18f94c[_0x4c0ce4(0x1bb)]){case _0x4c0ce4(0x232):if(_0x18f94c[_0x4c0ce4(0x19c)]===_0x3c339a);if(_0x18f94c[_0x4c0ce4(0x1a5)]===_0x198867||_0x18f94c[_0x4c0ce4(0x19c)]===_0x4c0ce4(0x203))return{'icon':'fa-folder','color':'rgba(61,\x2060,\x204,\x200.525)'};return{'icon':'fa-object-group','color':_0x4c0ce4(0x224)};case'Variable':if(_0x18f94c['referenceTypeId']===_0x2e84e1)return{'icon':_0x4c0ce4(0x1a6),'color':_0x4c0ce4(0x15c)};else return _0x18f94c[_0x4c0ce4(0x19c)]===_0x4692af?{'icon':_0x4c0ce4(0x1a6),'color':_0x4c0ce4(0x14b)}:{'icon':_0x4c0ce4(0x1a6),'color':_0x4c0ce4(0x11a)};case _0x4c0ce4(0x1ab):return{'icon':_0x4c0ce4(0x1b8),'color':_0x4c0ce4(0x19b)};case _0x4c0ce4(0x145):return{'icon':_0x4c0ce4(0x1b9),'color':_0x4c0ce4(0x12b)};case _0x4c0ce4(0x136):return{'icon':_0x4c0ce4(0x1e3),'color':_0x4c0ce4(0x12b)};case _0x4c0ce4(0x1dc):return{'icon':'fa-text-width','color':_0x4c0ce4(0x11a)};}return{'icon':_0x4c0ce4(0x23c),'color':_0x4c0ce4(0x153)};},_0x48748d=(_0x27707c,_0xcdd9c8,_0x496c9e)=>_0x117883(void 0x0,[_0x27707c,_0xcdd9c8,_0x496c9e],void 0x0,function*({endpointNode:_0x11f4da,endpoint:_0x103cbd,baseUrl:_0x34b35e},_0x175cc8,_0x5aeb25){const _0x1a7f1c=_0x3eba51,_0x403d70=_0x34b35e+_0x1a7f1c(0x1f5),_0x5be0ac=_0x403d70+_0x1a7f1c(0x1b1),_0x1d62a5=Object['assign'](Object[_0x1a7f1c(0x22f)]({},_0x5aeb25),{'nodeId':_0x175cc8,'resultMask':0x3f}),_0x1c53ac=yield fetch(_0x5be0ac,{'method':'POST','body':JSON[_0x1a7f1c(0x12e)]({'endpointNode':_0x11f4da,'endpoint':_0x103cbd,'browseDescription':_0x1d62a5}),'headers':{'Content-Type':_0x1a7f1c(0x141)}});if(_0x1c53ac[_0x1a7f1c(0x244)]!==0xc8)return console[_0x1a7f1c(0x16c)](_0x1a7f1c(0x237),_0x1c53ac[_0x1a7f1c(0x244)],_0x1c53ac[_0x1a7f1c(0x186)]),{'references':[]};const _0x7822c7=yield _0x1c53ac[_0x1a7f1c(0x159)](),_0x51eba1=_0x7822c7['browseResult'][_0x1a7f1c(0x15b)]||[];return{'references':_0x51eba1};}),_0x4d7db9={'referenceTypeId':_0x2df06c(_0x3eba51(0x187)),'includeSubtypes':!![],'browseDirection':_0x14855e['Forward'],'nodeClassMask':_0x13addc[_0x3eba51(0x1c1)]|_0x13addc['Object']|_0x13addc['Method'],'resultMask':0x3f},_0x4e9d73={'referenceTypeId':_0x2df06c('Organizes'),'includeSubtypes':!![],'browseDirection':_0x14855e['Forward'],'nodeClassMask':_0x13addc['Variable']|_0x13addc[_0x3eba51(0x232)]|_0x13addc['Method'],'resultMask':0x3f},_0x59a218=(_0x1ab7e2,_0x386605)=>_0x117883(void 0x0,[_0x1ab7e2,_0x386605],void 0x0,function*({endpointNode:_0x5857a4,endpoint:_0x16f144,baseUrl:_0x1d4b5e},{nodeId:_0x1ff8fe,rootNodeId:_0xc02f3e,isType:_0x105cf0}){const _0x48ce1f=_0x3eba51,_0x43efc3=_0x1d4b5e+'/opcua-for-node-red',_0x416250=_0x43efc3+_0x48ce1f(0x135),_0x1ec4dd=yield fetch(_0x416250,{'method':_0x48ce1f(0x195),'body':JSON[_0x48ce1f(0x12e)]({'endpointNode':_0x5857a4,'endpoint':_0x16f144,'nodeId':_0x1ff8fe,'rootNodeId':_0xc02f3e,'isType':_0x105cf0}),'headers':{'Content-Type':_0x48ce1f(0x141)}});if(_0x1ec4dd[_0x48ce1f(0x244)]!==0xc8)return null;const _0xf57cfa=yield _0x1ec4dd[_0x48ce1f(0x159)]();return _0xf57cfa[_0x48ce1f(0x169)];}),_0x5297c4=(_0x463db3,_0x133654)=>{const _0x1f6bf1=_0x3eba51;if(_0x463db3[_0x1f6bf1(0x1ac)]!==_0x1f6bf1(0x20b))return _0x463db3[_0x1f6bf1(0x245)];switch(_0x133654){case'browsePath':return _0x463db3[_0x1f6bf1(0x202)];case _0x1f6bf1(0x211):return _0x463db3[_0x1f6bf1(0x196)]||_0x463db3[_0x1f6bf1(0x202)];case _0x1f6bf1(0x148):return _0x463db3[_0x1f6bf1(0x18f)]||_0x463db3['nodeId_nsu'];case _0x1f6bf1(0x240):return _0x463db3['nodeId_nsu'];default:case _0x1f6bf1(0x1b3):return _0x463db3[_0x1f6bf1(0x1b3)];}},_0x1459e1=_0xdb9120=>{const _0x5eea83=_0x3eba51;if(_0xdb9120[_0x5eea83(0x1ac)]!==_0x5eea83(0x20b))return'statusCode:\x20'+_0xdb9120[_0x5eea83(0x1ac)];else{let _0x46140f=[];return _0x46140f[_0x5eea83(0x163)](_0x5eea83(0x1ce)+_0xdb9120[_0x5eea83(0x1b3)]),_0x46140f[_0x5eea83(0x163)](_0x5eea83(0x18c)+_0xdb9120['bp_indexed']),_0x46140f['push'](_0x5eea83(0x138)+_0x13addc[_0xdb9120['nodeClass']]),_0xdb9120[_0x5eea83(0x137)]&&_0x46140f[_0x5eea83(0x163)](_0x5eea83(0x18a)+_0xdb9120[_0x5eea83(0x137)]),_0xdb9120[_0x5eea83(0x18f)]&&_0x46140f[_0x5eea83(0x163)]('aliased\x20NodeId:\x20'+_0xdb9120[_0x5eea83(0x18f)]),_0xdb9120[_0x5eea83(0x202)]&&_0x46140f['push']('aliased\x20browsePath:\x20'+_0xdb9120[_0x5eea83(0x196)]),_0x46140f[_0x5eea83(0x24c)]('\x0a');}};function _0x152c99(_0x25c375){const _0xcc00a5=_0x3eba51;if(_0x25c375[_0xcc00a5(0x14a)](/^nsu=/))return _0xcc00a5(0x240);if(_0x25c375[_0xcc00a5(0x14a)](/^(ns=.*;)?(i|b|s|g)=/))return _0xcc00a5(0x1b3);if(_0x25c375[_0xcc00a5(0x14a)](/^nsa=/))return _0xcc00a5(0x148);if(_0x25c375[_0xcc00a5(0x14a)](/^(\/|\.)[0-9]+:/))return'browsePath';if(_0x25c375[_0xcc00a5(0x14a)](/^(\/|\.).*:/))return'browsePath';}function _0x592dfb(_0x75bd5f){const _0x3d3a8e=_0x3eba51,_0xd0717=_0x152c99(_0x75bd5f);switch(_0xd0717){case _0x3d3a8e(0x1b3):return'n';case _0x3d3a8e(0x148):return'na';case _0x3d3a8e(0x240):return'nsu';case _0x3d3a8e(0x169):return'b';case _0x3d3a8e(0x211):return'ab';default:return't';}}function _0x4a975d(_0x438c7b){const _0x36879e=_0x3eba51;let _0x4cfdfa;switch(_0x438c7b){case'n':_0x4cfdfa=_0x36879e(0x1b3);break;case'na':_0x4cfdfa=_0x36879e(0x148);break;case _0x36879e(0x17f):_0x4cfdfa=_0x36879e(0x240);break;case'b':_0x4cfdfa=_0x36879e(0x169);break;case'ab':_0x4cfdfa=_0x36879e(0x211);break;}return _0x4cfdfa;}function _0x18d029(_0x190f71){const _0x44a416=_0x3eba51;switch(_0x190f71){case _0x44a416(0x1b3):return'n';case _0x44a416(0x148):return'na';case _0x44a416(0x240):return _0x44a416(0x17f);case'browsePath':return'b';case _0x44a416(0x211):return'ab';default:return't';}}const _0x2d7297=(_0x2a46a7,_0x2fc3b8)=>_0x117883(void 0x0,[_0x2a46a7,_0x2fc3b8],void 0x0,function*({endpointNode:_0x52ab76,endpoint:_0x16760e,baseUrl:_0x4d5bb9},_0x53f6bd){const _0x14137f=_0x3eba51,_0x48e8cd=_0x4d5bb9+_0x14137f(0x1f5),_0x29bb81=_0x48e8cd+_0x14137f(0x14e),_0x1cdb9c=_0x52ab76['id'],_0xf88ae6=RED[_0x14137f(0x15d)][_0x14137f(0x1fa)](_0x1cdb9c);console[_0x14137f(0x16c)](_0xf88ae6[_0x14137f(0x24b)]),_0xf88ae6[_0x14137f(0x24b)];const _0x24d086=_0x52ab76[_0x14137f(0x24b)],_0x4aef64=yield fetch(_0x29bb81,{'method':_0x14137f(0x195),'body':JSON[_0x14137f(0x12e)]({'endpointNode':_0x52ab76,'endpoint':_0x16760e,'nodeId':_0x53f6bd,'namespaceAliases':_0x24d086}),'headers':{'Content-Type':'application/json'}}),_0x1bb1ac=yield _0x4aef64[_0x14137f(0x159)]();return{'json':_0x1bb1ac,'data':_0x4aef64};}),_0x49ee86=(_0x236cf1,_0x40cee2,_0x2835d4,_0x1c289b)=>_0x117883(void 0x0,[_0x236cf1,_0x40cee2,_0x2835d4,_0x1c289b],void 0x0,function*({endpointNode:_0x37bf6e,endpoint:_0xaaa6f9,baseUrl:_0x47524c},_0x5c4dbc,_0x40a882,_0x4ea886){const _0x44ed8a=_0x3eba51,_0x5eb6db=_0x40a882['val'](),{json:_0x33492f,data:_0x44331e}=yield _0x2d7297({'endpointNode':_0x37bf6e,'endpoint':_0xaaa6f9,'baseUrl':_0x47524c},_0x5eb6db),_0x57923b=(_0x44bdd9,_0x516770)=>{const _0xb8075=_0x1145;_0x4ea886[_0xb8075(0x23b)](_0x44bdd9)['addClass']('sterfive-info')['addClass'](_0x516770),_0x4ea886['show'](),setTimeout(()=>{const _0x382059=_0xb8075;_0x4ea886['removeClass'](_0x516770),_0x4ea886[_0x382059(0x1ef)]();},0xbb8);};if(_0x44331e[_0x44ed8a(0x244)]!==0xc8)return _0x57923b('!!failure!!'+_0x5eb6db,_0x44ed8a(0x1c0)),![];else{if(_0x33492f['statusCode']['match'](/Good/)){const _0x209843=_0x1459e1(_0x33492f);_0x40a882[_0x44ed8a(0x12d)](_0x44ed8a(0x217),_0x209843);const _0x2056d8=_0x5297c4(_0x33492f,_0x5c4dbc);return _0x40a882['val'](_0x2056d8),_0x40a882[_0x44ed8a(0x144)](_0x44ed8a(0x17a)),_0x57923b(_0x44ed8a(0x20b),'ok'),!![];}else return _0x40a882[_0x44ed8a(0x15a)](''+_0x5eb6db),_0x57923b(_0x33492f[_0x44ed8a(0x1ac)]+'\x20'+_0x44331e[_0x44ed8a(0x186)],_0x44ed8a(0x1c0)),![];}});function _0x42b65d(_0x428c66,_0x547bec){return _0x117883(this,void 0x0,void 0x0,function*(){const _0x589a90=_0x1145,_0x38b567=_0x428c66['data']('value'),_0x59a451=yield _0x48748d(_0x547bec,_0x38b567,_0x4d7db9),_0xdbafa8=yield _0x48748d(_0x547bec,_0x38b567,_0x4e9d73);return{'references':[..._0x59a451[_0x589a90(0x15b)],..._0xdbafa8[_0x589a90(0x15b)]]};});}const _0x310996={'referenceTypeId':_0x2df06c('HasSubtype'),'includeSubtypes':!![],'browseDirection':_0x14855e[_0x3eba51(0x11c)],'nodeClassMask':_0x13addc[_0x3eba51(0x1e9)]|_0x13addc['ObjectType']|_0x13addc['DataType']|_0x13addc[_0x3eba51(0x136)],'resultMask':0x3f};function _0x4f3ee4(_0x3e583d,_0x210348){return _0x117883(this,void 0x0,void 0x0,function*(){const _0x22e215=_0x1145,_0xfba6c9=_0x3e583d['data'](_0x22e215(0x1a3)),_0x57ee50=yield _0x48748d(_0x210348,_0xfba6c9,_0x310996);return _0x57ee50;});}const _0x5892f4=_0x1cae6c=>{const _0x2eefb6=_0x3eba51;var _0x31b3fb,_0x5a0204,_0x5dc5d5,_0xd04912;if(!_0x1cae6c||!_0x1cae6c[_0x2eefb6(0x1b3)]){const _0x523e26=$('<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>');return _0x523e26;}const _0x374447=_0x1cae6c[_0x2eefb6(0x1b3)][_0x2eefb6(0x1e1)](),_0x140d16=((_0x31b3fb=_0x1cae6c[_0x2eefb6(0x205)])===null||_0x31b3fb===void 0x0?void 0x0:_0x31b3fb[_0x2eefb6(0x23b)])||((_0x5a0204=_0x1cae6c['browseName'])===null||_0x5a0204===void 0x0?void 0x0:_0x5a0204['name'])||_0x1cae6c['nodeId'][_0x2eefb6(0x1e1)](),{icon:_0x10e250,color:_0x1de070}=_0x46c487(_0x1cae6c),_0x1f522a='('+_0x1cae6c[_0x2eefb6(0x1b3)][_0x2eefb6(0x1e1)]()+')\x20'+(((_0x5dc5d5=_0x1cae6c[_0x2eefb6(0x235)])===null||_0x5dc5d5===void 0x0?void 0x0:_0x5dc5d5[_0x2eefb6(0x1bd)])||((_0xd04912=_0x1cae6c['displayName'])===null||_0xd04912===void 0x0?void 0x0:_0xd04912[_0x2eefb6(0x23b)])||''),_0x40f54a=$('<li\x20key=\x22'+_0x1cae6c[_0x2eefb6(0x1b3)][_0x2eefb6(0x1e1)]()+_0x2eefb6(0x11e)+_0x1f522a+_0x2eefb6(0x24a)+_0x10e250+'\x22\x20style=\x22color:'+_0x1de070+';\x22></i>\x20'+_0x140d16+_0x2eefb6(0x221));return _0x40f54a['addClass']('expandable'),_0x40f54a['data']('value',_0x374447),_0x40f54a[_0x2eefb6(0x18e)](_0x2eefb6(0x13b),_0x1cae6c),_0x40f54a;},_0x19b404=(_0x52adca,_0x1ac290)=>{const _0x14a4c5=_0x3eba51;return _0x1ac290[_0x14a4c5(0x12f)](_0x14a4c5(0x225)+_0x52adca+'\x22]');},_0x56c520=(_0xbf9bd5,_0x3bb30a)=>{const _0x47703c=_0x3eba51;_0xbf9bd5['$tree'][_0x47703c(0x12f)](_0x47703c(0x20e))['removeClass'](_0x47703c(0x20a)),_0x3bb30a[_0x47703c(0x12f)]('.tree-text:first')['addClass'](_0x47703c(0x20a));},_0x110925=(_0x423cda,_0x57742d,_0x29c9ba)=>_0x117883(void 0x0,void 0x0,void 0x0,function*(){const _0x44715a=_0x3eba51;let _0x314475=_0x29c9ba[_0x44715a(0x177)](_0x44715a(0x132));_0x57742d[_0x44715a(0x198)][_0x44715a(0x22d)]||[];const _0x2ff7b6=_0x57742d[_0x44715a(0x1d4)]||[];if(_0x2ff7b6[_0x44715a(0x152)]===0x0)return;for(const _0xbb733e of _0x2ff7b6){_0x314475[_0x44715a(0x154)](_0x44715a(0x1b5))&&(yield _0x360ec5(_0x423cda,_0x314475));const _0x531300=_0x19b404(_0xbb733e,_0x314475);if(_0x531300[_0x44715a(0x152)]===0x0)return;_0x314475=_0x531300;}_0x56c520(_0x423cda,_0x314475),_0x3fe70f(_0x423cda[_0x44715a(0x175)],_0x314475);});function _0x3fe70f(_0xe3dd0c,_0x22c364){const _0x8b2c4e=_0x3eba51,_0x480ef5=_0x22c364[_0x8b2c4e(0x12c)]()[_0x8b2c4e(0x1ed)],_0x23ce6f=_0xe3dd0c[_0x8b2c4e(0x248)]();if(_0x23ce6f==undefined)return;const _0x13e311=_0x23ce6f+_0x480ef5-_0xe3dd0c[_0x8b2c4e(0x1ee)]()/0x2+_0x22c364[_0x8b2c4e(0x1ee)]()/0x2;_0xe3dd0c[_0x8b2c4e(0x1b7)]({'scrollTop':_0x13e311},0x1f4);}const _0x35ab2e=(_0x5afa66,_0x230372)=>_0x117883(void 0x0,void 0x0,void 0x0,function*(){const _0x4bda7e=_0x3eba51,_0x3cbed5=_0x5afa66[_0x4bda7e(0x215)][_0x4bda7e(0x15a)](),_0x36f328={'nodeId':_0x3cbed5,'rootNodeId':_0x230372[_0x4bda7e(0x1b3)],'isType':_0x5afa66[_0x4bda7e(0x13f)][_0x4bda7e(0x14c)]||![]},_0x25b26a=_0x4e9640(_0x5afa66),_0x3b2347=yield _0x59a218(_0x25b26a,_0x36f328);if(!_0x3b2347)return;yield _0x110925(_0x5afa66,_0x3b2347,_0x5afa66[_0x4bda7e(0x1d0)]);});function _0x357de7(_0x13d692,_0x4ef2cc,_0x322a26,_0xa7433a){return _0x117883(this,void 0x0,void 0x0,function*(){const _0x4f5f59=_0x1145;if(_0x4ef2cc[_0x4f5f59(0x154)](_0x4f5f59(0x249))){console['log']('already\x20fetched');return;}if(_0x4ef2cc[_0x4f5f59(0x154)]('loading')){console[_0x4f5f59(0x16c)](_0x4f5f59(0x1f0));return;}_0x4ef2cc[_0x4f5f59(0x1b6)](_0x4f5f59(0x1c5)),_0x4ef2cc[_0x4f5f59(0x228)](_0x4f5f59(0x129));try{_0x4ef2cc['children']('ul')['empty']();const {references:_0x4676cc}=yield _0x322a26(_0x4ef2cc,_0xa7433a);_0x4676cc['sort']((_0x2dfbe3,_0xea41d4)=>{const _0xe21ad2=_0x4f5f59;var _0x55e6c5,_0x22d12b;return(((_0x55e6c5=_0x2dfbe3[_0xe21ad2(0x235)])===null||_0x55e6c5===void 0x0?void 0x0:_0x55e6c5['name'])||'')['localeCompare'](((_0x22d12b=_0xea41d4['browseName'])===null||_0x22d12b===void 0x0?void 0x0:_0x22d12b['name'])||'');});for(const _0x4cfea7 of _0x4676cc){if(_0x13d692[_0x4f5f59(0x13f)][_0x4f5f59(0x1cc)]&&!_0x13d692[_0x4f5f59(0x13f)][_0x4f5f59(0x1cc)](_0x4cfea7))continue;const _0x1cd13b=_0x5892f4(_0x4cfea7);_0x4ef2cc[_0x4f5f59(0x177)]('ul')[_0x4f5f59(0x228)](_0x1cd13b);}_0x4ef2cc[_0x4f5f59(0x1b6)](_0x4f5f59(0x249));}catch(_0x2a2441){_0x4ef2cc[_0x4f5f59(0x177)]('ul')['append']('<li>error\x20'+_0x2a2441[_0x4f5f59(0x1e6)]+_0x4f5f59(0x1d8)),console['log'](_0x4f5f59(0x168),_0x2a2441);}_0x4ef2cc[_0x4f5f59(0x12f)](_0x4f5f59(0x150))['remove'](),_0x4ef2cc[_0x4f5f59(0x172)](_0x4f5f59(0x1c5));});}function _0x4e9640(_0x20173b){const _0x45a3a1=_0x3eba51,_0xfc3a7f={'baseUrl':_0x20173b['options'][_0x45a3a1(0x19a)],'endpointNode':typeof _0x20173b[_0x45a3a1(0x13f)][_0x45a3a1(0x192)]===_0x45a3a1(0x140)?_0x20173b['options'][_0x45a3a1(0x192)]():_0x20173b[_0x45a3a1(0x13f)]['endpointNode'],'endpoint':typeof _0x20173b[_0x45a3a1(0x13f)]['endpoint']===_0x45a3a1(0x140)?_0x20173b[_0x45a3a1(0x13f)][_0x45a3a1(0x15f)]():_0x20173b[_0x45a3a1(0x13f)][_0x45a3a1(0x15f)]};return _0xfc3a7f;}function _0x360ec5(_0x26869f,_0x21d885){return _0x117883(this,void 0x0,void 0x0,function*(){const _0x4fd316=_0x1145;if(_0x21d885[_0x4fd316(0x154)](_0x4fd316(0x249))){_0x21d885['removeClass'](_0x4fd316(0x1b5))['addClass'](_0x4fd316(0x1af)),_0x21d885[_0x4fd316(0x177)]('ul')[_0x4fd316(0x13e)]();return;}const _0x5a9ba9=_0x4e9640(_0x26869f),_0x415db8=!_0x26869f[_0x4fd316(0x13f)][_0x4fd316(0x14c)]?_0x42b65d:_0x4f3ee4;try{yield _0x357de7(_0x26869f,_0x21d885,_0x415db8,_0x5a9ba9),_0x21d885[_0x4fd316(0x172)](_0x4fd316(0x1b5))[_0x4fd316(0x1b6)]('expanded');}catch(_0x48e62c){_0x21d885[_0x4fd316(0x172)](_0x4fd316(0x1b5))[_0x4fd316(0x1b6)]('expanded'),console[_0x4fd316(0x16c)](_0x4fd316(0x190),_0x48e62c);}});}const _0x84c173={'browseName':{'namespaceIndex':0x0,'name':'Objects'},'nodeClass':_0x3eba51(0x232),'nodeId':_0x3eba51(0x209),'displayName':{'text':'Objects'},'typeDefinition':_0x198867},_0x35ac73=()=>{const _0x32555d=_0x3eba51;$[_0x32555d(0x191)]('sterfive.nodeBrowser',{'options':{'endpointNode':()=>({'endpoint':_0x32555d(0x171)}),'endpoint':()=>undefined,'parentNode':()=>_0x84c173,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x117883(this,void 0x0,void 0x0,function*(){const _0x1267ca=_0x1145,_0x176c3a=this;if(_0x176c3a[_0x1267ca(0x184)]==undefined){const _0x29bf5e=typeof _0x176c3a[_0x1267ca(0x13f)][_0x1267ca(0x176)]===_0x1267ca(0x140)?_0x176c3a['options'][_0x1267ca(0x176)][_0x1267ca(0x1e5)](_0x176c3a):_0x176c3a[_0x1267ca(0x13f)]['parentNode'];if(_0x29bf5e instanceof Promise){const _0x3c3ac2=yield _0x29bf5e;_0x176c3a['__parentNode']=_0x3c3ac2;}else _0x176c3a['__parentNode']=_0x29bf5e;}return _0x176c3a[_0x1267ca(0x184)]||_0x84c173;});},'reset'(){return _0x117883(this,void 0x0,void 0x0,function*(){const _0x5b4187=_0x1145,_0x315ea7=this,_0x5a48f9=_0x315ea7;_0x5a48f9[_0x5b4187(0x184)]=undefined,_0x315ea7[_0x5b4187(0x1d0)]['empty']();const _0x2144ca=yield this[_0x5b4187(0x133)](),_0x17dc85=_0x5892f4(_0x2144ca);_0x315ea7[_0x5b4187(0x1d0)]['append'](_0x17dc85),_0x315ea7[_0x5b4187(0x121)]=_0x2144ca;});},'verify'(_0x3aea92){const _0x27ea4=_0x32555d,_0x561986=this,_0x148242=_0x4e9640(_0x561986);_0x49ee86(_0x148242,_0x3aea92,_0x561986[_0x27ea4(0x215)],_0x561986[_0x27ea4(0x13d)])[_0x27ea4(0x17c)](_0x2732d2=>{const _0x2a215d=_0x27ea4;!_0x2732d2?_0x561986[_0x2a215d(0x219)]['addClass'](_0x2a215d(0x1f8)):_0x561986[_0x2a215d(0x219)][_0x2a215d(0x172)](_0x2a215d(0x1f8));});},'_hideMenu'(_0xd92426){const _0x54b404=_0x32555d,_0x315a6f=this;$(document)[_0x54b404(0x214)](_0x54b404(0x1a9)),_0xd92426[_0x54b404(0x1ef)](),_0xd92426['css']({'height':_0x54b404(0x210)});if(_0xd92426[_0x54b404(0x1b2)]['multiple']){var _0x1b97ef=[];_0xd92426[_0x54b404(0x12f)](_0x54b404(0x181))[_0x54b404(0x22e)](function(){const _0x3c8d37=_0x54b404;$(this)[_0x3c8d37(0x1ea)]('checked')&&_0x1b97ef['push']($(this)['data'](_0x3c8d37(0x1a3)));}),_0xd92426[_0x54b404(0x243)](_0x1b97ef);}_0x315a6f[_0x54b404(0x1d3)]['is'](_0x54b404(0x179))?_0x315a6f[_0x54b404(0x215)][_0x54b404(0x144)](_0x54b404(0x22a)):_0x315a6f[_0x54b404(0x213)]['trigger'](_0x54b404(0x22a));},'_createMenu'(_0x124f12,_0xd76a4b,_0x3ab7aa){const _0xe680a6=_0x32555d;var _0x47032b=this;const _0xa631d0=$(_0xe680a6(0x236))[_0xe680a6(0x1b6)](_0xe680a6(0x208));return _0xa631d0['opts']=_0xd76a4b,_0xa631d0[_0xe680a6(0x243)]=_0x3ab7aa,_0x124f12[_0xe680a6(0x1aa)](_0x4dad37=>{const _0x49bab1=_0xe680a6;typeof _0x4dad37==='string'&&(_0x4dad37={'value':_0x4dad37,'label':_0x4dad37});var _0x129770=$(_0x49bab1(0x183))[_0x49bab1(0x12d)](_0x49bab1(0x1a3),_0x4dad37[_0x49bab1(0x1a3)])['appendTo'](_0xa631d0);_0x4dad37['label']&&_0x129770[_0x49bab1(0x23b)](_0x4dad37[_0x49bab1(0x1db)]);_0x4dad37[_0x49bab1(0x217)]&&_0x129770[_0x49bab1(0x1ea)](_0x49bab1(0x217),_0x4dad37['title']);if(_0x4dad37[_0x49bab1(0x1e4)]){if(_0x4dad37[_0x49bab1(0x1e4)][_0x49bab1(0x21e)]('<')===0x0)$(_0x4dad37['icon'])[_0x49bab1(0x223)](_0x129770);else _0x4dad37[_0x49bab1(0x1e4)][_0x49bab1(0x21e)]('/')!==-0x1?$(_0x49bab1(0x242),{'class':_0x49bab1(0x22c),'style':_0x49bab1(0x199)+_0x4dad37[_0x49bab1(0x1e4)]+_0x49bab1(0x174)+_0x4dad37[_0x49bab1(0x1e4)]+');'})[_0x49bab1(0x223)](_0x129770):$('<i>',{'class':_0x49bab1(0x1f3)+_0x4dad37['icon']})[_0x49bab1(0x223)](_0x129770);}else _0x129770[_0x49bab1(0x226)]({'paddingLeft':_0x49bab1(0x11f)});!_0x4dad37[_0x49bab1(0x1e4)]&&!_0x4dad37[_0x49bab1(0x1db)]&&_0x129770[_0x49bab1(0x23b)](_0x4dad37[_0x49bab1(0x1a3)]);var _0x165d2e;_0xd76a4b['multiple']&&(_0x165d2e=$(_0x49bab1(0x1be))['css'](_0x49bab1(0x13a),_0x49bab1(0x246))[_0x49bab1(0x18e)](_0x49bab1(0x1a3),_0x4dad37[_0x49bab1(0x1a3)])[_0x49bab1(0x223)](_0x129770)['on'](_0x49bab1(0x20f),function(_0x6cdc9b){const _0x58975c=_0x49bab1;_0x6cdc9b[_0x58975c(0x147)]();})),_0x129770['on']('click',function(_0x5a8f7f){const _0x4f3d4f=_0x49bab1;_0x5a8f7f[_0x4f3d4f(0x147)](),_0x5a8f7f[_0x4f3d4f(0x1fd)](),!_0xd76a4b[_0x4f3d4f(0x1d9)]?(_0x3ab7aa(_0x4dad37[_0x4f3d4f(0x1a3)]),_0x47032b['_hideMenu'](_0xa631d0)):_0x165d2e[_0x4f3d4f(0x1ea)](_0x4f3d4f(0x1e8),!_0x165d2e[_0x4f3d4f(0x1ea)](_0x4f3d4f(0x1e8)));});}),_0xa631d0['css']({'display':_0xe680a6(0x246)}),_0xa631d0['on'](_0xe680a6(0x178),function(_0x4b4067){const _0x33ae27=_0xe680a6;if(_0x4b4067['keyCode']===0x28)_0x4b4067[_0x33ae27(0x147)](),$(this)[_0x33ae27(0x177)](_0x33ae27(0x157))[_0x33ae27(0x1f1)]()['trigger'](_0x33ae27(0x22a));else{if(_0x4b4067[_0x33ae27(0x156)]===0x26)_0x4b4067[_0x33ae27(0x147)](),$(this)[_0x33ae27(0x177)](_0x33ae27(0x157))[_0x33ae27(0x1a2)]()[_0x33ae27(0x144)]('focus');else _0x4b4067[_0x33ae27(0x156)]===0x1b&&(_0x4b4067[_0x33ae27(0x147)](),_0x47032b['_hideMenu'](_0xa631d0));}_0x4b4067[_0x33ae27(0x1fd)]();}),_0xa631d0;},'disarmClick':![],'_showMenu'(_0x4f7992,_0xd0e9c4){const _0xd8a4ad=_0x32555d;if(this[_0xd8a4ad(0x142)]){this[_0xd8a4ad(0x142)]=![];return;}var _0x116f94=this,_0x4ad11c=_0xd0e9c4[_0xd8a4ad(0x115)](),_0x2775c3=_0xd0e9c4[_0xd8a4ad(0x1ee)](),_0x5c75b2=_0x4f7992[_0xd8a4ad(0x1ee)](),_0x503d33=_0x2775c3+_0x4ad11c[_0xd8a4ad(0x1ed)];_0x503d33+_0x5c75b2-$(document)[_0xd8a4ad(0x248)]()>$(window)[_0xd8a4ad(0x1ee)]()&&(_0x503d33-=_0x503d33+_0x5c75b2-$(window)['height']()+0x5),_0x503d33<0x0&&(_0x4f7992[_0xd8a4ad(0x1ee)](_0x5c75b2+_0x503d33),_0x503d33=0x0),_0x4f7992[_0xd8a4ad(0x226)]({'top':_0x503d33+'px','left':_0x4ad11c[_0xd8a4ad(0x128)]+'px'}),_0x4f7992['slideDown'](0x64),this[_0xd8a4ad(0x1c7)](function(){const _0x358326=_0xd8a4ad;_0x116f94[_0x358326(0x1da)][_0x358326(0x1b6)](_0x358326(0x1ae)),$(document)['on'](_0x358326(0x1a9),function(_0x456c48){const _0x12a03a=_0x358326;!$(_0x456c48[_0x12a03a(0x193)])[_0x12a03a(0x125)](_0x4f7992)['length']&&_0x116f94[_0x12a03a(0x1d5)](_0x4f7992),$(_0x456c48[_0x12a03a(0x193)])['closest'](_0xd0e9c4)[_0x12a03a(0x152)]&&(_0x116f94['disarmClick']=!![],_0x456c48[_0x12a03a(0x147)]());});});},'_showTypeMenu'(){const _0x2b5921=_0x32555d,_0x50ad45=this;this[_0x2b5921(0x1a1)](_0x50ad45['$menu'],_0x50ad45['$combo']),_0x50ad45[_0x2b5921(0x175)]['hide']();const _0x506c5f=_0x50ad45['selectedMenuItem'];var _0x22195b=_0x50ad45[_0x2b5921(0x12a)][_0x2b5921(0x12f)](_0x2b5921(0x117)+_0x506c5f+'\x27');setTimeout(function(){const _0x11209f=_0x2b5921;_0x22195b['trigger'](_0x11209f(0x22a));},0x78);},'_initMenu'(){const _0x11f11c=_0x32555d,_0x8234ee=this;_0x8234ee[_0x11f11c(0x213)]['attr'](_0x11f11c(0x1cb),-0x1),_0x8234ee['$selectTrigger']['on'](_0x11f11c(0x16a),function(_0x1dfc41){const _0xc94409=_0x11f11c;_0x1dfc41[_0xc94409(0x147)]();});_0x8234ee[_0x11f11c(0x12a)]&&_0x8234ee['$menu']['remove']();const _0x25aece=[{'label':'text','value':'t','title':_0x11f11c(0x1a4),'icon':_0x11f11c(0x11b)},{'label':_0x11f11c(0x16b),'value':_0x11f11c(0x122),'title':_0x11f11c(0x131),'icon':_0x11f11c(0x118)},{'label':'NodeId','value':'n','icon':'<i\x20class=\x22fa\x20fa-tag\x22/>1\x20 \x20'},{'label':_0x11f11c(0x1ec),'value':'na','icon':_0x11f11c(0x1c9)},{'label':_0x11f11c(0x1df),'value':_0x11f11c(0x17f),'icon':_0x11f11c(0x207)},{'label':_0x11f11c(0x164),'value':'b','icon':_0x11f11c(0x143)},{'label':_0x11f11c(0x134),'value':'ab','icon':_0x11f11c(0x1c8)}],_0x42ab15=_0x592dfb(_0x8234ee[_0x11f11c(0x215)]['val']()),_0xf8c609=_0x25aece[_0x11f11c(0x12f)](_0x46e427=>_0x46e427['value']===_0x42ab15);_0x8234ee[_0x11f11c(0x1d1)][_0x11f11c(0x126)]()[_0x11f11c(0x228)](_0x11f11c(0x14f)+((_0xf8c609===null||_0xf8c609===void 0x0?void 0x0:_0xf8c609[_0x11f11c(0x217)])||'')+_0x11f11c(0x17e)+((_0xf8c609===null||_0xf8c609===void 0x0?void 0x0:_0xf8c609[_0x11f11c(0x1e4)])||'')+_0x11f11c(0x15e)),_0x8234ee['selectedMenuItem']=_0x42ab15;const _0x4fe127=this;_0x8234ee[_0x11f11c(0x12a)]=this['_createMenu'](_0x25aece,{},_0x2edb81=>{const _0x4a518f=_0x11f11c,_0x44d083=_0x4a975d(_0x2edb81);_0x44d083&&_0x4fe127[_0x4a518f(0x161)](_0x44d083);const _0x5b06e1=_0x25aece[_0x4a518f(0x12f)](_0x44d504=>_0x44d504['value']===_0x2edb81);_0x8234ee[_0x4a518f(0x1de)]=_0x2edb81,_0x8234ee[_0x4a518f(0x1d1)]['empty']()['append'](_0x4a518f(0x14f)+((_0x5b06e1===null||_0x5b06e1===void 0x0?void 0x0:_0x5b06e1[_0x4a518f(0x217)])||'')+_0x4a518f(0x17e)+((_0x5b06e1===null||_0x5b06e1===void 0x0?void 0x0:_0x5b06e1[_0x4a518f(0x1e4)])||'')+'</span>');}),_0x8234ee[_0x11f11c(0x12a)][_0x11f11c(0x180)](document[_0x11f11c(0x200)]),_0x8234ee[_0x11f11c(0x12a)][_0x11f11c(0x1ef)](),_0x8234ee[_0x11f11c(0x213)]['show']();},'mode'(){const _0x52972d=_0x32555d,_0x34cdb2=this;return _0x4a975d(_0x34cdb2[_0x52972d(0x1de)]);},'setMode'(_0x279ca6){const _0x221de9=this,_0x471ef0=_0x18d029(_0x279ca6);_0x221de9['selectedMenuItem']=_0x471ef0;},'_create'(){const _0x3f27ef=_0x32555d,_0x1ea7db=this;_0x1ea7db['$input']=this[_0x3f27ef(0x1fb)],_0x1ea7db[_0x3f27ef(0x215)][_0x3f27ef(0x226)](_0x3f27ef(0x1f4),_0x3f27ef(0x246)),_0x1ea7db['$elementDiv']=_0x1ea7db['$input'][_0x3f27ef(0x23f)](_0x3f27ef(0x236))[_0x3f27ef(0x1f2)]()[_0x3f27ef(0x1b6)](_0x3f27ef(0x197)),_0x1ea7db[_0x3f27ef(0x219)]=$(_0x3f27ef(0x229)),_0x1ea7db[_0x3f27ef(0x219)]['addClass'](_0x3f27ef(0x16d)),_0x1ea7db[_0x3f27ef(0x215)][_0x3f27ef(0x13c)](_0x1ea7db['$combo']),_0x1ea7db[_0x3f27ef(0x23d)]=$(_0x3f27ef(0x229))[_0x3f27ef(0x1b6)]('sterfive-input-group'),_0x1ea7db[_0x3f27ef(0x219)][_0x3f27ef(0x228)](_0x1ea7db['$inputGroup']),_0x1ea7db['$inputGroup']['append'](_0x1ea7db['$input']),_0x1ea7db[_0x3f27ef(0x21d)]=$(_0x3f27ef(0x170)),_0x1ea7db[_0x3f27ef(0x215)][_0x3f27ef(0x1e7)](_0x1ea7db['$toggleTreeBtn']),_0x1ea7db[_0x3f27ef(0x21d)]['on'](_0x3f27ef(0x239),function(){return _0x117883(this,void 0x0,void 0x0,function*(){const _0xfded3e=_0x1145;var _0x2e8a5c;let _0x383d4a=![],_0x562e2c;!_0x1ea7db['$dropdown']['is'](':visible')&&(_0x1ea7db['$info'][_0xfded3e(0x1ef)](),_0x562e2c=yield _0x1ea7db[_0xfded3e(0x133)](),(_0x562e2c!==_0x1ea7db[_0xfded3e(0x121)]||((_0x2e8a5c=_0x1ea7db[_0xfded3e(0x121)])===null||_0x2e8a5c===void 0x0?void 0x0:_0x2e8a5c[_0xfded3e(0x1b3)])!==_0x562e2c[_0xfded3e(0x1b3)])&&(yield _0x1ea7db[_0xfded3e(0x238)]()),_0x383d4a=!![]),_0x1ea7db[_0xfded3e(0x175)][_0xfded3e(0x13e)](),_0x383d4a&&(yield _0x35ab2e(_0x1ea7db,_0x562e2c));});}),_0x1ea7db[_0x3f27ef(0x1fe)]=$('<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>'),_0x1ea7db[_0x3f27ef(0x215)]['after'](_0x1ea7db[_0x3f27ef(0x1fe)]),_0x1ea7db['$verifyBtn']['on']('click',()=>{const _0x37f9cf=_0x3f27ef,_0x2124cf=_0x1ea7db[_0x37f9cf(0x1a7)]();if(!_0x2124cf)return;this[_0x37f9cf(0x161)](_0x2124cf);});const _0x1281df=_0x21b175=>_0x117883(this,void 0x0,void 0x0,function*(){const _0x44a5d5=_0x3f27ef,_0x57ebc8=this;let _0x3f8cbe=_0x57ebc8[_0x44a5d5(0x1a7)]();if(!_0x3f8cbe)return;const _0x5a4985=_0x4e9640(_0x57ebc8),{data:_0x412735,json:_0x1c953a}=yield _0x2d7297(_0x5a4985,_0x21b175);if(_0x412735[_0x44a5d5(0x244)]!==0xc8)return;if(_0x1c953a[_0x44a5d5(0x1ac)][_0x44a5d5(0x14a)](/Good/)){const _0x51caa0=_0x5297c4(_0x1c953a,_0x3f8cbe);_0x57ebc8[_0x44a5d5(0x215)]['val'](_0x51caa0),_0x57ebc8[_0x44a5d5(0x215)][_0x44a5d5(0x144)](_0x44a5d5(0x17a));}});{_0x1ea7db[_0x3f27ef(0x1da)]=$(_0x3f27ef(0x236)),_0x1ea7db[_0x3f27ef(0x215)][_0x3f27ef(0x1eb)](_0x1ea7db['$uiSelect']),_0x1ea7db[_0x3f27ef(0x213)]=$(_0x3f27ef(0x1e2))[_0x3f27ef(0x223)](_0x1ea7db[_0x3f27ef(0x1da)]),$(_0x3f27ef(0x1a0))['toggle'](!![])['appendTo'](_0x1ea7db[_0x3f27ef(0x213)]),_0x1ea7db[_0x3f27ef(0x213)]['on'](_0x3f27ef(0x239),function(_0x214204){const _0xc2608d=_0x3f27ef;_0x214204[_0xc2608d(0x147)](),_0x214204[_0xc2608d(0x1fd)](),_0x1ea7db['_showTypeMenu']();}),_0x1ea7db[_0x3f27ef(0x213)]['on'](_0x3f27ef(0x178),function(_0x1a6d64){const _0x25fae0=_0x3f27ef;_0x1a6d64[_0x25fae0(0x156)]===0x28&&_0x1ea7db['_showTypeMenu'](),_0x1a6d64['stopPropagation']();})['on'](_0x3f27ef(0x22a),function(){const _0x128b37=_0x3f27ef;_0x1ea7db[_0x128b37(0x1da)]['addClass'](_0x128b37(0x1ae));})['on']('blur',function(){const _0x595655=_0x3f27ef;_0x1ea7db[_0x595655(0x1da)][_0x595655(0x172)](_0x595655(0x1ae));}),_0x1ea7db[_0x3f27ef(0x1d1)]=$('<span\x20class=\x22red-ui-typedInput-type-label\x22></span>')[_0x3f27ef(0x180)](_0x1ea7db[_0x3f27ef(0x213)]);}this[_0x3f27ef(0x194)]();!_0x1ea7db['$input'][_0x3f27ef(0x12d)](_0x3f27ef(0x1c3))&&_0x1ea7db['$input']['attr']('placeholder','enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20');_0x1ea7db[_0x3f27ef(0x13d)]=$('<div\x20class=\x22sterfive-info-text\x22></div>'),_0x1ea7db[_0x3f27ef(0x13d)][_0x3f27ef(0x1ef)](),_0x1ea7db[_0x3f27ef(0x219)][_0x3f27ef(0x228)](_0x1ea7db['$info']),_0x1ea7db[_0x3f27ef(0x175)]=$('<div/>')['addClass'](_0x3f27ef(0x1d7))[_0x3f27ef(0x1ef)]()[_0x3f27ef(0x180)](_0x1ea7db[_0x3f27ef(0x219)]),_0x1ea7db[_0x3f27ef(0x1d0)]=$(_0x3f27ef(0x216))['appendTo'](_0x1ea7db[_0x3f27ef(0x175)]),this[_0x3f27ef(0x238)]();const _0x4ba224=(_0x1a55f4,_0x59bbdd)=>{const _0x20ad32=_0x3f27ef,_0x3bcf1e=0x14,_0xd2e78e=0x14,_0x38afe7=_0x1a55f4[_0x20ad32(0x115)](),_0x1ce18f=_0x59bbdd;if(_0x1ce18f[_0x20ad32(0x1b0)]>=_0x38afe7['left']&&_0x1ce18f[_0x20ad32(0x1b0)]<=_0x38afe7[_0x20ad32(0x128)]+_0x3bcf1e&&_0x1ce18f[_0x20ad32(0x21c)]>=_0x38afe7[_0x20ad32(0x1ed)]&&_0x1ce18f[_0x20ad32(0x21c)]<=_0x38afe7[_0x20ad32(0x1ed)]+_0xd2e78e)return!![];return![];},_0x32312b=_0x32c9a8=>_0x117883(this,void 0x0,void 0x0,function*(){const _0x46010b=_0x3f27ef;if(_0x32c9a8[_0x46010b(0x154)](_0x46010b(0x1b5)))_0x360ec5(_0x1ea7db,_0x32c9a8);else{if(_0x32c9a8['hasClass'](_0x46010b(0x1af)))_0x32c9a8[_0x46010b(0x177)]('ul')[_0x46010b(0x13e)](),_0x32c9a8[_0x46010b(0x158)](_0x46010b(0x21a));else{if(_0x32c9a8[_0x46010b(0x177)]('ul')['children']()['length']>0x0)_0x32c9a8[_0x46010b(0x177)]('ul')[_0x46010b(0x13e)](),_0x32c9a8[_0x46010b(0x158)](_0x46010b(0x21a));else;}}});_0x1ea7db[_0x3f27ef(0x1d0)]['on'](_0x3f27ef(0x247),'li',function(_0x25a87d){const _0x510917=_0x3f27ef;var _0x7f0de6,_0x50496;_0x25a87d[_0x510917(0x1fd)]();let _0x54c188=$(this);if(_0x4ba224(_0x54c188,_0x25a87d))_0x32312b(_0x54c188);else{const _0x34c71e=_0x54c188[_0x510917(0x18e)](_0x510917(0x1a3)),_0x4ad26e=_0x54c188[_0x510917(0x18e)](_0x510917(0x13b));if(_0x1ea7db[_0x510917(0x13f)][_0x510917(0x160)]&&!_0x1ea7db[_0x510917(0x13f)][_0x510917(0x160)](_0x4ad26e))return;_0x1ea7db[_0x510917(0x215)]['data'](_0x510917(0x13b),_0x4ad26e),((_0x7f0de6=_0x4ad26e[_0x510917(0x205)])===null||_0x7f0de6===void 0x0?void 0x0:_0x7f0de6[_0x510917(0x23b)])||((_0x50496=_0x4ad26e[_0x510917(0x235)])===null||_0x50496===void 0x0?void 0x0:_0x50496['name'])||_0x4ad26e[_0x510917(0x1b3)]['toString']();let _0x4bd87c=_0x1ea7db[_0x510917(0x1a7)]();!_0x4bd87c&&(_0x4bd87c=_0x510917(0x1b3),_0x1ea7db[_0x510917(0x212)](_0x4bd87c)),_0x1281df(_0x34c71e)[_0x510917(0x17c)](()=>{const _0x4cee0f=_0x510917;_0x1ea7db[_0x4cee0f(0x175)]['hide']();})['catch'](_0x51d8ce=>{const _0x5eeefb=_0x510917;_0x1ea7db['$dropdown'][_0x5eeefb(0x1ef)]();});}}),_0x1ea7db[_0x3f27ef(0x1d0)]['on']('click','li',function(_0x10bb47){const _0x389364=_0x3f27ef;_0x10bb47[_0x389364(0x1fd)]();let _0x48bebd=$(this);_0x4ba224(_0x48bebd,_0x10bb47)&&_0x32312b(_0x48bebd),_0x56c520(_0x1ea7db,_0x48bebd);}),$(document)['on']('click',function(_0x367a25){const _0x185d06=_0x3f27ef;!$(_0x367a25['target'])['closest'](_0x1ea7db[_0x185d06(0x219)])[_0x185d06(0x152)]&&_0x1ea7db[_0x185d06(0x175)][_0x185d06(0x1ef)]();});}});},_0xde0f7d=()=>{const _0x3d4ca7=_0x3eba51;$[_0x3d4ca7(0x191)](_0x3d4ca7(0x17b),{'options':{'namesToBits':{},'value':0x0},'_create'(){const _0xdcd93=_0x3d4ca7,_0x1e1e95=this;_0x1e1e95[_0xdcd93(0x215)]=this[_0xdcd93(0x1fb)],_0x1e1e95[_0xdcd93(0x219)]=$(_0xdcd93(0x229)),_0x1e1e95[_0xdcd93(0x219)]['addClass'](_0xdcd93(0x16d)),this[_0xdcd93(0x1fb)][0x0][_0xdcd93(0x21f)][_0xdcd93(0x17d)](_0x1e1e95[_0xdcd93(0x219)][0x0],this[_0xdcd93(0x1fb)][0x0]),_0x1e1e95[_0xdcd93(0x23d)]=$('<div/>')[_0xdcd93(0x1b6)]('input-group'),_0x1e1e95[_0xdcd93(0x219)][_0xdcd93(0x228)](_0x1e1e95[_0xdcd93(0x23d)]),_0x1e1e95[_0xdcd93(0x23d)][_0xdcd93(0x228)](_0x1e1e95['$input']),_0x1e1e95[_0xdcd93(0x21d)]=$(_0xdcd93(0x204)),_0x1e1e95[_0xdcd93(0x23d)][_0xdcd93(0x228)](_0x1e1e95['$toggleTreeBtn']),_0x1e1e95[_0xdcd93(0x21d)]['on']('click',function(){const _0x953d66=_0xdcd93;_0x1e1e95[_0x953d66(0x175)][_0x953d66(0x13e)](),_0x1e1e95[_0x953d66(0x175)]['is'](_0x953d66(0x179))&&(_0x1b26eb(),_0x1e1e95[_0x953d66(0x219)][_0x953d66(0x12f)](_0x953d66(0x182))[_0x953d66(0x22e)](function(){const _0x4877a7=_0x953d66;let _0x46702e=$(this)[_0x4877a7(0x23b)]();const _0x19957c=_0x1e1e95['options'][_0x4877a7(0x124)][_0x46702e];if(_0x19957c===undefined)throw new Error(_0x4877a7(0x233));(_0x1e1e95[_0x4877a7(0x13f)][_0x4877a7(0x1a3)]&_0x19957c)===_0x19957c?$(this)['addClass'](_0x4877a7(0x20a)):$(this)['removeClass']('selected');}),_0x1e1e95[_0x953d66(0x1f6)]());}),_0x1e1e95[_0xdcd93(0x175)]=$('<div\x20class=\x22custom-select\x22></div>')[_0xdcd93(0x1ef)]()[_0xdcd93(0x1d2)](this[_0xdcd93(0x1fb)]),$[_0xdcd93(0x22e)](this[_0xdcd93(0x13f)][_0xdcd93(0x124)],function(_0x54b1cc){const _0x3e9d1c=_0xdcd93,_0x44d95e=$(_0x3e9d1c(0x123)+_0x54b1cc+'\x22>'+_0x3e9d1c(0x227)+_0x54b1cc+_0x3e9d1c(0x20d));_0x1e1e95[_0x3e9d1c(0x175)][_0x3e9d1c(0x228)](_0x44d95e);}),_0x1e1e95[_0xdcd93(0x175)]['on'](_0xdcd93(0x239),_0xdcd93(0x182),function(){const _0x2f6f0e=_0xdcd93;$(this)[_0x2f6f0e(0x158)](_0x2f6f0e(0x20a));const _0x344ab7=$(this)[_0x2f6f0e(0x18e)]('value');$(this)[_0x2f6f0e(0x154)](_0x2f6f0e(0x20a))?_0x3f47c2(_0x344ab7):_0x558f5b(_0x344ab7),_0x1e1e95[_0x2f6f0e(0x1f6)]();}),_0x1e1e95[_0xdcd93(0x219)][_0xdcd93(0x228)](_0x1e1e95['$dropdown']);const _0x1b26eb=()=>{const _0xd8be63=_0xdcd93,_0x4a958b=this[_0xd8be63(0x1fb)]['val']();_0x1e1e95[_0xd8be63(0x13f)][_0xd8be63(0x1a3)]=_0x3293b1(_0x1e1e95[_0xd8be63(0x13f)][_0xd8be63(0x124)],_0x4a958b);},_0x3f47c2=_0x5b724c=>{const _0x418b17=_0xdcd93,_0x2454e2=_0x1e1e95['options']['namesToBits'][_0x5b724c];if(_0x2454e2===undefined)throw new Error(_0x418b17(0x233));this[_0x418b17(0x13f)][_0x418b17(0x1a3)]|=_0x2454e2;},_0x558f5b=_0x4f6007=>{const _0x224785=_0xdcd93,_0x487c7d=_0x1e1e95['options'][_0x224785(0x124)][_0x4f6007];if(_0x487c7d===undefined)throw new Error(_0x224785(0x233));this[_0x224785(0x13f)][_0x224785(0x1a3)]&=~_0x487c7d,this[_0x224785(0x1fb)]['val'](_0x22b765(_0x1e1e95['options'][_0x224785(0x124)],this[_0x224785(0x13f)][_0x224785(0x1a3)]));};_0x1b26eb();},'updateValue'(){const _0x313adb=_0x3d4ca7,_0x15ef3e=this;this['element'][_0x313adb(0x15a)](_0x22b765(_0x15ef3e[_0x313adb(0x13f)][_0x313adb(0x124)],this[_0x313adb(0x13f)][_0x313adb(0x1a3)]));},'_destroy'(){const _0x2d866c=_0x3d4ca7,_0x35e350=this;_0x35e350[_0x2d866c(0x175)][_0x2d866c(0x1f9)]();}});},_0x2804d8=()=>{const _0x360150=_0x3eba51,_0x3ea647=$(_0x360150(0x146)),_0x266f1a=_0x3ea647[_0x360150(0x15a)](),_0x2c721a=RED['nodes']['node'](_0x266f1a);if(!_0x2c721a)return undefined;const {endpoint:_0x2bf473,securityMode:_0x4ce360,securityPolicy:_0x2698ea,userIdentityType:_0x4aac65,credentials:_0x5c5d3a,namespaceAliases:_0x238176}=_0x2c721a,_0x45a81a={'endpoint':_0x2bf473,'securityMode':_0x4ce360,'securityPolicy':_0x2698ea,'userIdentityType':_0x4aac65,'credentials':_0x5c5d3a,'namespaceAliases':_0x238176};return _0x45a81a;},_0x4d53cc=()=>{const _0x46c81f=_0x3eba51,_0xc774fb=$(_0x46c81f(0x146)),_0x27ab64=_0xc774fb[_0x46c81f(0x15a)](),_0x12c45c=_0x2804d8();if(!_0x12c45c)return undefined;const _0x14c397=_0x12c45c[_0x46c81f(0x24b)];return Object[_0x46c81f(0x22f)]({'namespaceAliases':_0x14c397,'id':_0x27ab64},_0x12c45c);},_0x1c8f5c=()=>{return{'endpointNode':_0x4d53cc};},_0x345c9c=()=>{const _0x1a1d75=_0x3eba51,_0x5c9cc6=$(_0x1a1d75(0x127));console[_0x1a1d75(0x16c)](_0x1a1d75(0x1c2),_0x5c9cc6[_0x1a1d75(0x152)]);if(_0x5c9cc6[_0x1a1d75(0x152)]){console[_0x1a1d75(0x16c)]('installing\x20iframe');const _0x27b7fe=$('<iframe></iframe>',{'src':_0x1a1d75(0x230),'scrolling':'no','style':'background-color:transparent;overflow:hidden;border:3px','allowtransparency':'true','width':_0x1a1d75(0x1cf),'height':_0x1a1d75(0x155)});_0x5c9cc6['append'](_0x27b7fe),_0x27b7fe['css']({'position':_0x1a1d75(0x167),'right':'20px','bottom':_0x1a1d75(0x166)});}};RED[_0x3eba51(0x15d)]['registerType']('OpcUa-Client2-Browse',{'category':_0x3eba51(0x222),'color':'#C0DEED','align':'right','icon':_0x3eba51(0x162),'paletteLabel':_0x3eba51(0x19f),'defaults':{'inputs':{'value':0x1},'output':{'value':0x4},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0x3eba51(0x218)},'nodeId':{'value':'','required':![]},'referenceTypeId':{'value':_0x3eba51(0x187),'required':![]},'includeSubtypes':{'value':![],'required':!![]},'browseDirection':{'value':'Forward','required':!![]},'nodeClassMask':{'value':_0x3eba51(0x206),'required':![]},'resultMask':{'value':_0x3eba51(0x11d),'required':![]}},'outputs':0x1,'label'(){const _0x2f9513=_0x3eba51;return this['name']||_0x2f9513(0x139);},'labelStyle'(){const _0x5502ec=_0x3eba51;return this[_0x5502ec(0x1bd)]?_0x5502ec(0x1bc):'';},'oneditprepare'(){const _0x1cc748=_0x3eba51,_0x57d4cf=this;_0x35ac73(),_0xde0f7d(),_0x345c9c(),_0x57d4cf['inputs']=0x1;const _0x358d26=$(_0x1cc748(0x1b4));_0x358d26['flagEditor']({'namesToBits':{'Object':0x1,'Variable':0x2,'Method':0x4,'ObjectType':0x8,'VariableType':0x10,'ReferenceType':0x20,'DataType':0x40,'View':0x80},'value':0x0});const _0x333eda=$(_0x1cc748(0x201));_0x333eda[_0x1cc748(0x1c4)]({'namesToBits':{'ReferenceType':0x1,'IsForward':0x2,'NodeClass':0x4,'BrowseName':0x8,'DisplayName':0x10,'TypeDefinition':0x20},'value':0x3f});const _0x3fbb8f=$('#node-input-nodeId');_0x3fbb8f[_0x1cc748(0x119)](Object[_0x1cc748(0x22f)](Object[_0x1cc748(0x22f)]({},_0x1c8f5c()),{'isSelectable'(_0x2b951c){const _0x49003f=_0x1cc748;return _0x2b951c[_0x49003f(0x1bb)]==='Variable'||_0x2b951c[_0x49003f(0x1bb)]==='Object';}}));const _0x297800={'nodeId':_0x1cc748(0x19d),'referenceTypeId':'','browseName':{'namespaceIndex':0x0,'name':'References'},'displayName':{'text':_0x1cc748(0x1ca)},'nodeClass':'ReferenceType','typeDefinition':_0x1cc748(0x19d)},_0x2917ba=$('#node-input-referenceTypeId');_0x2917ba['nodeBrowser'](Object[_0x1cc748(0x22f)](Object[_0x1cc748(0x22f)]({},_0x1c8f5c()),{'parentNode':()=>_0x297800,'isSelectable'(_0x1edc28){const _0x2ae44a=_0x1cc748;return _0x1edc28[_0x2ae44a(0x1bb)]===_0x2ae44a(0x1e9);},'isTypeRef':!![]}));},'oneditsave'(){}});}()));
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHgxMTc4ODMiLCJfMHg1ZjJkN2QiLCJfMHg5YTI5MTIiLCJfMHgyMzMxNGUiLCJfMHgzYTBlYzgiLCJfMHg2MmI2ZTIiLCJfMHgyMTA3OGIiLCJfMHg0OWZkZTEiLCJQcm9taXNlIiwiXzB4MTdiNzQxIiwiXzB4NDcwYWEzIiwiXzB4MWRiYTRkIiwiXzB4NTZmM2RjIiwiXzB4NGM2YjEyIiwiXzB4MjMwZTZkIiwiXzB4MmYzZDdmIiwiXzB4MmJmYWFhIiwiXzB4NDAyMGUxIiwiXzB4M2MxYWFlIiwiU3VwcHJlc3NlZEVycm9yIiwiXzB4MmQ1NDU2IiwiXzB4MzliNWEzIiwiXzB4NWM0ODgwIiwiXzB4MWNiYWRjIiwiRXJyb3IiLCJfMHgzYzMzOWEiLCJfMHgxOTg4NjciLCJfMHgyZTg0ZTEiLCJfMHg0NjkyYWYiLCJfMHg0Y2ZlYTEiLCJfMHgzZmFiMDUiLCJfMHgyMzA4NzgiLCJfMHgxNDg1NWUiLCJfMHgxODdiM2IiLCJfMHgxM2FkZGMiLCJfMHg0OGU0NWEiLCJfMHg1YTA1MWMiLCJfMHg0NmRhNjkiLCJfMHgzMjkzYjEiLCJfMHg1MjY4Y2YiLCJfMHg0NzU2OWUiLCJfMHg0MGYxYzYiLCJwYXJzZUludCIsImlzTmFOIiwiXzB4YjlhNTk0IiwiXzB4Mzg2YWFjIiwiXzB4MWQ3NDIwIiwiXzB4MjE0OGY5IiwiXzB4MjJiNzY1IiwiXzB4MmQxNmU2IiwiXzB4NDAxMGNmIiwiXzB4MmY0NTU2IiwiXzB4NTI3OTQxIiwiXzB4NGViNGJjIiwiT2JqZWN0IiwiXzB4NGU4ZTFkIiwiXzB4NGVlYjM5IiwiXzB4MmRmMDZjIiwiXzB4M2VjYzQxIiwiXzB4NDZjNDg3IiwiXzB4MThmOTRjIiwiXzB4NDg3NDhkIiwiXzB4Mjc3MDdjIiwiXzB4Y2RkOWM4IiwiXzB4NDk2YzllIiwiZW5kcG9pbnROb2RlIiwiXzB4MTFmNGRhIiwiZW5kcG9pbnQiLCJfMHgxMDNjYmQiLCJiYXNlVXJsIiwiXzB4MzRiMzVlIiwiXzB4MTc1Y2M4IiwiXzB4NWFlYjI1IiwiXzB4NDAzZDcwIiwiXzB4NWJlMGFjIiwiXzB4MWQ2MmE1IiwiXzB4MWM1M2FjIiwiZmV0Y2giLCJKU09OIiwiY29uc29sZSIsIl8weDc4MjJjNyIsIl8weDUxZWJhMSIsIl8weDRkN2RiOSIsIl8weDRlOWQ3MyIsIl8weDU5YTIxOCIsIl8weDFhYjdlMiIsIl8weDM4NjYwNSIsIl8weDU4NTdhNCIsIl8weDE2ZjE0NCIsIl8weDFkNGI1ZSIsIm5vZGVJZCIsIl8weDFmZjhmZSIsInJvb3ROb2RlSWQiLCJfMHhjMDJmM2UiLCJpc1R5cGUiLCJfMHgxMDVjZjAiLCJfMHg0M2VmYzMiLCJfMHg0MTYyNTAiLCJfMHgxZWM0ZGQiLCJfMHhmNTdjZmEiLCJfMHg1Mjk3YzQiLCJfMHg0NjNkYjMiLCJfMHgxMzM2NTQiLCJfMHgxNDU5ZTEiLCJfMHhkYjkxMjAiLCJfMHg0NjE0MGYiLCJfMHgxNTJjOTkiLCJfMHgyNWMzNzUiLCJfMHg1OTJkZmIiLCJfMHg3NWJkNWYiLCJfMHhkMDcxNyIsIl8weDRhOTc1ZCIsIl8weDQzOGM3YiIsIl8weDRjZmRmYSIsIl8weDE4ZDAyOSIsIl8weDE5MGY3MSIsIl8weDJkNzI5NyIsIl8weDJhNDZhNyIsIl8weDJmYzNiOCIsIl8weDUyYWI3NiIsIl8weDE2NzYwZSIsIl8weDRkNWJiOSIsIl8weDUzZjZiZCIsIl8weDQ4ZThjZCIsIl8weDI5YmI4MSIsIl8weDFjZGI5YyIsIl8weGY4OGFlNiIsIlJFRCIsIl8weDI0ZDA4NiIsIl8weDRhZWY2NCIsIl8weDFiYjFhYyIsIl8weDQ5ZWU4NiIsIl8weDIzNmNmMSIsIl8weDQwY2VlMiIsIl8weDI4MzVkNCIsIl8weDFjMjg5YiIsIl8weDM3YmY2ZSIsIl8weGFhYTZmOSIsIl8weDQ3NTI0YyIsIl8weDVjNGRiYyIsIl8weDQwYTg4MiIsIl8weDRlYTg4NiIsIl8weDVlYjZkYiIsImpzb24iLCJfMHgzMzQ5MmYiLCJkYXRhIiwiXzB4NDQzMzFlIiwiXzB4NTc5MjNiIiwiXzB4NDRiZGQ5IiwiXzB4NTE2NzcwIiwic2V0VGltZW91dCIsIl8weDIwOTg0MyIsIl8weDIwNTZkOCIsIl8weDQyYjY1ZCIsIl8weDQyOGM2NiIsIl8weDU0N2JlYyIsIl8weDM4YjU2NyIsIl8weDU5YTQ1MSIsIl8weGRiYWZhOCIsIl8weDMxMDk5NiIsIl8weDRmM2VlNCIsIl8weDNlNTgzZCIsIl8weDIxMDM0OCIsIl8weGZiYTZjOSIsIl8weDU3ZWU1MCIsIl8weDU4OTJmNCIsIl8weDFjYWU2YyIsIl8weDMxYjNmYiIsIl8weDVhMDIwNCIsIl8weDVkYzVkNSIsIl8weGQwNDkxMiIsIl8weDUyM2UyNiIsIiQiLCJfMHgzNzQ0NDciLCJfMHgxNDBkMTYiLCJpY29uIiwiXzB4MTBlMjUwIiwiY29sb3IiLCJfMHgxZGUwNzAiLCJfMHgxZjUyMmEiLCJfMHg0MGY1NGEiLCJfMHgxOWI0MDQiLCJfMHg1MmFkY2EiLCJfMHgxYWMyOTAiLCJfMHg1NmM1MjAiLCJfMHhiZjliZDUiLCJfMHgzYmIzMGEiLCJfMHgxMTA5MjUiLCJfMHg0MjNjZGEiLCJfMHg1Nzc0MmQiLCJfMHgyOWM5YmEiLCJfMHgzMTQ0NzUiLCJfMHgyZmY3YjYiLCJfMHhiYjczM2UiLCJfMHgzNjBlYzUiLCJfMHg1MzEzMDAiLCJfMHgzZmU3MGYiLCJfMHhlM2RkMGMiLCJfMHgyMmMzNjQiLCJfMHg0ODBlZjUiLCJfMHgyM2NlNmYiLCJ1bmRlZmluZWQiLCJfMHgxM2UzMTEiLCJfMHgzNWFiMmUiLCJfMHg1YWZhNjYiLCJfMHgyMzAzNzIiLCJfMHgzY2JlZDUiLCJfMHgzNmYzMjgiLCJfMHgyNWIyNmEiLCJfMHg0ZTk2NDAiLCJfMHgzYjIzNDciLCJfMHgzNTdkZTciLCJfMHgxM2Q2OTIiLCJfMHg0ZWYyY2MiLCJfMHgzMjJhMjYiLCJfMHhhNzQzM2EiLCJyZWZlcmVuY2VzIiwiXzB4NDY3NmNjIiwiXzB4MmRmYmUzIiwiXzB4ZWE0MWQ0IiwiXzB4NTVlNmM1IiwiXzB4MjJkMTJiIiwiXzB4NGNmZWE3IiwiXzB4MWNkMTNiIiwiXzB4MmEyNDQxIiwiXzB4MjAxNzNiIiwiXzB4ZmMzYTdmIiwiXzB4MjY4NjlmIiwiXzB4MjFkODg1IiwiXzB4NWE5YmE5IiwiXzB4NDE1ZGI4IiwiXzB4NDhlNjJjIiwiXzB4ODRjMTczIiwiXzB4MzVhYzczIiwiXzB4MTc2YzNhIiwiXzB4MjliZjVlIiwiXzB4M2MzYWMyIiwiXzB4MzE1ZWE3IiwiXzB4NWE0OGY5IiwiXzB4MjE0NGNhIiwiXzB4MTdkYzg1IiwiXzB4M2FlYTkyIiwiXzB4NTYxOTg2IiwiXzB4MTQ4MjQyIiwiXzB4MjczMmQyIiwiXzB4ZDkyNDI2IiwiXzB4MzE1YTZmIiwiZG9jdW1lbnQiLCJfMHgxYjk3ZWYiLCJfMHgxMjRmMTIiLCJfMHhkNzZhNGIiLCJfMHgzYWI3YWEiLCJfMHg0NzAzMmIiLCJfMHhhNjMxZDAiLCJfMHg0ZGFkMzciLCJfMHgxMjk3NzAiLCJfMHgxNjVkMmUiLCJfMHg2Y2RjOWIiLCJfMHg1YThmN2YiLCJfMHg0YjQwNjciLCJfMHg0Zjc5OTIiLCJfMHhkMGU5YzQiLCJfMHgxMTZmOTQiLCJfMHg0YWQxMWMiLCJfMHgyNzc1YzMiLCJfMHg1Yzc1YjIiLCJfMHg1MDNkMzMiLCJ3aW5kb3ciLCJfMHg0NTZjNDgiLCJfMHg1MGFkNDUiLCJfMHg1MDZjNWYiLCJfMHgyMjE5NWIiLCJfMHg4MjM0ZWUiLCJfMHgxZGZjNDEiLCJfMHgyNWFlY2UiLCJfMHg0MmFiMTUiLCJfMHhmOGM2MDkiLCJfMHg0NmU0MjciLCJfMHg0ZmUxMjciLCJfMHgyZWRiODEiLCJfMHg0NGQwODMiLCJfMHg1YjA2ZTEiLCJfMHg0NGQ1MDQiLCJfMHgzNGNkYjIiLCJfMHgyNzljYTYiLCJfMHgyMjFkZTkiLCJfMHg0NzFlZjAiLCJfMHgxZWE3ZGIiLCJfMHgyZThhNWMiLCJfMHgzODNkNGEiLCJfMHg1NjJlMmMiLCJfMHgyMTI0Y2YiLCJfMHgxMjgxZGYiLCJfMHgyMWIxNzUiLCJfMHg1N2ViYzgiLCJfMHgzZjhjYmUiLCJfMHg1YTQ5ODUiLCJfMHg0MTI3MzUiLCJfMHgxYzk1M2EiLCJfMHg1MWNhYTAiLCJfMHgyMTQyMDQiLCJfMHgxYTZkNjQiLCJfMHg0YmEyMjQiLCJfMHgxYTU1ZjQiLCJfMHg1OWJiZGQiLCJfMHgzYmNmMWUiLCJfMHhkMmU3OGUiLCJfMHgzOGFmZTciLCJfMHgxY2UxOGYiLCJfMHgzMjMxMmIiLCJfMHgzMmM5YTgiLCJfMHgyNWE4N2QiLCJfMHg3ZjBkZTYiLCJfMHg1MDQ5NiIsIl8weDU0YzE4OCIsIl8weDM0YzcxZSIsIl8weDRhZDI2ZSIsIl8weDRiZDg3YyIsIl8weDUxZDhjZSIsIl8weDEwYmI0NyIsIl8weDQ4YmViZCIsIl8weDM2N2EyNSIsIl8weGRlMGY3ZCIsIl8weDFlMWU5NSIsIl8weDFiMjZlYiIsIl8weDQ2NzAyZSIsIl8weDE5OTU3YyIsIl8weDU0YjFjYyIsIl8weDQ0ZDk1ZSIsIl8weDM0NGFiNyIsIl8weDNmNDdjMiIsIl8weDU1OGY1YiIsIl8weDRhOTU4YiIsIl8weDViNzI0YyIsIl8weDI0NTRlMiIsIl8weDRmNjAwNyIsIl8weDQ4N2M3ZCIsIl8weDE1ZWYzZSIsIl8weDM1ZTM1MCIsIl8weDI4MDRkOCIsIl8weDNlYTY0NyIsIl8weDI2NmYxYSIsIl8weDJjNzIxYSIsIl8weDJiZjQ3MyIsInNlY3VyaXR5TW9kZSIsIl8weDRjZTM2MCIsInNlY3VyaXR5UG9saWN5IiwiXzB4MjY5OGVhIiwidXNlcklkZW50aXR5VHlwZSIsIl8weDRhYWM2NSIsImNyZWRlbnRpYWxzIiwiXzB4NWM1ZDNhIiwibmFtZXNwYWNlQWxpYXNlcyIsIl8weDIzODE3NiIsIl8weDQ1YTgxYSIsIl8weDRkNTNjYyIsIl8weGM3NzRmYiIsIl8weDI3YWI2NCIsIl8weDEyYzQ1YyIsIl8weDE0YzM5NyIsIl8weDFjOGY1YyIsIl8weDM0NWM5YyIsIl8weDVjOWNjNiIsIl8weDI3YjdmZSIsIl8weDU3ZDRjZiIsIl8weDM1OGQyNiIsIl8weDMzM2VkYSIsIl8weDNmYmI4ZiIsIl8weDJiOTUxYyIsIl8weDI5NzgwMCIsIl8weDI5MTdiYSIsIl8weDFlZGMyOCJdLCJtYXBwaW5ncyI6InE2TEFBQSxDQUFDLFUs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RUFBbEIsQ0FBZCxDQUFpRSxDLGNBQUUsQ0FBYVEsU0FBYixDLGtDQUN4RUEsU0FBQSxDLGdCQUFBLEksVUFBQSxFQUFxQ0EsU0FBQSxDLGdCQUFBLEksVUFEaUMsQ0FBakUsQ0FBcEIsRUFHQSxNQUFNQyxTQUFBLENBQXFCLEMsUUFDdkIsQyxnQkFEdUIsQyxpQkFFdkIsQyxFQUZ1QixDLFlBR3ZCLENBQVksQyxnQkFBRSxDLEdBQUYsQyxNQUFxQixDLFlBQXJCLENBSFcsQyxhQUl2QixDQUFhLEMsTUFBRSxDLGdCQUFGLENBSlUsQyxXQUt2QixDLGVBTHVCLEMsZ0JBTXZCLEMsZ0JBTnVCLENBQTNCLENBUU1DLFNBQUEsQ0FBbUJ0TSxDQUFBLEMsNkJBQUEsQ0FSekIsQ0FTQXNNLFNBQUEsQyxhQUFBLEVBQTZCNVQsTUFBQSxDLGdCQUFBLEVBQWNBLE1BQUEsQyxnQkFBQSxFQUFjLEVBQWQsQ0FBa0JrVCxTQUFBLEVBQWxCLENBQWQsQ0FBaUUsQyxZQUFFLENBQVksSUFBTVMsU0FBcEIsQyxjQUMxRixDQUFhRSxTQUFiLEMsa0NBQ1dBLFNBQUEsQyxnQkFBQSxJLGtCQUYrRSxDLFdBR3ZGLEMsSUFIdUYsQ0FBakUsQ0FBN0IsQyxFQXhFdUMsQyxZQTZFM0MsRSxFQTdFMkMsQ0FBL0MsQyxFQWpyQ0osRyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiAoKSB7XG4gICAgJ3VzZSBzdHJpY3QnO1xuXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXHJcblxyXG4gICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XHJcbiAgICBwdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXHJcblxyXG4gICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMgV0lUSFxyXG4gICAgUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXHJcbiAgICBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsXHJcbiAgICBJTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST01cclxuICAgIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXHJcbiAgICBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SXHJcbiAgICBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLlxyXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuICAgIC8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlLCBTdXBwcmVzc2VkRXJyb3IsIFN5bWJvbCwgSXRlcmF0b3IgKi9cclxuXHJcblxyXG4gICAgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxyXG4gICAgICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdHlwZW9mIFN1cHByZXNzZWRFcnJvciA9PT0gXCJmdW5jdGlvblwiID8gU3VwcHJlc3NlZEVycm9yIDogZnVuY3Rpb24gKGVycm9yLCBzdXBwcmVzc2VkLCBtZXNzYWdlKSB7XHJcbiAgICAgICAgdmFyIGUgPSBuZXcgRXJyb3IobWVzc2FnZSk7XHJcbiAgICAgICAgcmV0dXJuIGUubmFtZSA9IFwiU3VwcHJlc3NlZEVycm9yXCIsIGUuZXJyb3IgPSBlcnJvciwgZS5zdXBwcmVzc2VkID0gc3VwcHJlc3NlZCwgZTtcclxuICAgIH07XG5cbiAgICBjb25zdCBPcmdhbml6ZXNSZWZOb2RlSWQgPSBcIm5zPTA7aT0zNVwiO1xuICAgIGNvbnN0IEZvbGRlclR5cGUgPSBcIm5zPTA7aT02MVwiO1xuICAgIGNvbnN0IEhhc0NvbXBvbmVudFJlZk5vZGVJZCA9IFwibnM9MDtpPTQ3XCI7XG4gICAgY29uc3QgSGFzUHJvcGVydHlSZWZOb2RlSWQgPSBcIm5zPTA7aT00NlwiO1xuICAgIGNvbnN0IEhhc0NoaWxkUmVmTm9kZUlkID0gXCJucz0wO2k9MzRcIjtcbiAgICBjb25zdCBIYXNTdWJ0eXBlUmVmTm9kZUlkID0gXCJucz0wO2k9NDVcIjtcbiAgICBjb25zdCBIYXNUeXBlRGVmaW5pdGlvblJlZk5vZGVJZCA9IFwibnM9MDtpPTQwXCI7XG5cbiAgICB2YXIgQnJvd3NlRGlyZWN0aW9uO1xuICAgIChmdW5jdGlvbiAoQnJvd3NlRGlyZWN0aW9uKSB7XG4gICAgICAgIEJyb3dzZURpcmVjdGlvbltCcm93c2VEaXJlY3Rpb25bXCJGb3J3YXJkXCJdID0gMF0gPSBcIkZvcndhcmRcIjtcbiAgICAgICAgQnJvd3NlRGlyZWN0aW9uW0Jyb3dzZURpcmVjdGlvbltcIkludmVyc2VcIl0gPSAxXSA9IFwiSW52ZXJzZVwiO1xuICAgICAgICBCcm93c2VEaXJlY3Rpb25bQnJvd3NlRGlyZWN0aW9uW1wiQm90aFwiXSA9IDJdID0gXCJCb3RoXCI7XG4gICAgICAgIEJyb3dzZURpcmVjdGlvbltCcm93c2VEaXJlY3Rpb25bXCJJbnZhbGlkXCJdID0gM10gPSBcIkludmFsaWRcIjtcbiAgICB9KShCcm93c2VEaXJlY3Rpb24gfHwgKEJyb3dzZURpcmVjdGlvbiA9IHt9KSk7XG4gICAgdmFyIE5vZGVDbGFzcztcbiAgICAoZnVuY3Rpb24gKE5vZGVDbGFzcykge1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiVW5zcGVjaWZpZWRcIl0gPSAwXSA9IFwiVW5zcGVjaWZpZWRcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIk9iamVjdFwiXSA9IDFdID0gXCJPYmplY3RcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIlZhcmlhYmxlXCJdID0gMl0gPSBcIlZhcmlhYmxlXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJNZXRob2RcIl0gPSA0XSA9IFwiTWV0aG9kXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJPYmplY3RUeXBlXCJdID0gOF0gPSBcIk9iamVjdFR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIlZhcmlhYmxlVHlwZVwiXSA9IDE2XSA9IFwiVmFyaWFibGVUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJSZWZlcmVuY2VUeXBlXCJdID0gMzJdID0gXCJSZWZlcmVuY2VUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJEYXRhVHlwZVwiXSA9IDY0XSA9IFwiRGF0YVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIlZpZXdcIl0gPSAxMjhdID0gXCJWaWV3XCI7XG4gICAgfSkoTm9kZUNsYXNzIHx8IChOb2RlQ2xhc3MgPSB7fSkpO1xuICAgIHZhciBOb2RlQ2xhc3NNYXNrO1xuICAgIChmdW5jdGlvbiAoTm9kZUNsYXNzTWFzaykge1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJPYmplY3RcIl0gPSAxXSA9IFwiT2JqZWN0XCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIlZhcmlhYmxlXCJdID0gMl0gPSBcIlZhcmlhYmxlXCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIk1ldGhvZFwiXSA9IDRdID0gXCJNZXRob2RcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiT2JqZWN0VHlwZVwiXSA9IDhdID0gXCJPYmplY3RUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIlZhcmlhYmxlVHlwZVwiXSA9IDE2XSA9IFwiVmFyaWFibGVUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIlJlZmVyZW5jZVR5cGVcIl0gPSAzMl0gPSBcIlJlZmVyZW5jZVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiRGF0YVR5cGVcIl0gPSA2NF0gPSBcIkRhdGFUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIlZpZXdcIl0gPSAxMjhdID0gXCJWaWV3XCI7XG4gICAgfSkoTm9kZUNsYXNzTWFzayB8fCAoTm9kZUNsYXNzTWFzayA9IHt9KSk7XG4gICAgZnVuY3Rpb24gY29lcmNlRmxhZ01hc2tUb051bWJlcih0eXBlLCBzdHIpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBzdHIgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBzdHI7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3RyQXNOdW0gPSBwYXJzZUludChzdHIsIDEwKTtcbiAgICAgICAgaWYgKCFpc05hTihzdHJBc051bSkpIHtcbiAgICAgICAgICAgIHJldHVybiBzdHJBc051bTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmbGFncyA9IHN0ci5zcGxpdCgvXFx8fDt8LC8pLm1hcCgoYSkgPT4gYS50cmltKCkpO1xuICAgICAgICBsZXQgcmVzdWx0ID0gMDtcbiAgICAgICAgZm9yIChjb25zdCBmbGFnIG9mIGZsYWdzKSB7XG4gICAgICAgICAgICByZXN1bHQgfD0gdHlwZVtmbGFnXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICBmdW5jdGlvbiBjb2VyY2VGbGFnTWFza1RvU3RyaW5nKHR5cGUsIHZhbHVlKSB7XG4gICAgICAgIHZhbHVlID0gY29lcmNlRmxhZ01hc2tUb051bWJlcih0eXBlLCB2YWx1ZSk7XG4gICAgICAgIGNvbnN0IHIgPSBbXTtcbiAgICAgICAgaWYgKCF0eXBlKVxuICAgICAgICAgICAgcmV0dXJuIHIuam9pbihcIiB8IFwiKTtcbiAgICAgICAgZm9yIChjb25zdCBba2V5LCBiaXRNYXNrXSBvZiBPYmplY3QuZW50cmllcyh0eXBlKSkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgICAgIGlmICgodmFsdWUgJiBiaXRNYXNrKSA9PT0gYml0TWFzaykge1xuICAgICAgICAgICAgICAgICAgICByLnB1c2goa2V5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHIuam9pbihcIiB8IFwiKTtcbiAgICB9XG4gICAgdmFyIFJlc3VsdE1hc2s7XG4gICAgKGZ1bmN0aW9uIChSZXN1bHRNYXNrKSB7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIlJlZmVyZW5jZVR5cGVcIl0gPSAxXSA9IFwiUmVmZXJlbmNlVHlwZVwiO1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJJc0ZvcndhcmRcIl0gPSAyXSA9IFwiSXNGb3J3YXJkXCI7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIk5vZGVDbGFzc1wiXSA9IDRdID0gXCJOb2RlQ2xhc3NcIjtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiQnJvd3NlTmFtZVwiXSA9IDhdID0gXCJCcm93c2VOYW1lXCI7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIkRpc3BsYXlOYW1lXCJdID0gMTZdID0gXCJEaXNwbGF5TmFtZVwiO1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJUeXBlRGVmaW5pdGlvblwiXSA9IDMyXSA9IFwiVHlwZURlZmluaXRpb25cIjtcbiAgICB9KShSZXN1bHRNYXNrIHx8IChSZXN1bHRNYXNrID0ge30pKTtcbiAgICAvLyAgY29uc3QgcSA9IFJlZmVyZW5jZVR5cGVJZHMuT3JnYW5pemVzO1xuICAgIGZ1bmN0aW9uIHJlc29sdmVOb2RlSWQobm9kZUlkTGlrZSkge1xuICAgICAgICBzd2l0Y2ggKG5vZGVJZExpa2UpIHtcbiAgICAgICAgICAgIGNhc2UgXCJPcmdhbml6ZXNcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gT3JnYW5pemVzUmVmTm9kZUlkO1xuICAgICAgICAgICAgY2FzZSBcIkhhc1Byb3BlcnR5XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhhc1Byb3BlcnR5UmVmTm9kZUlkO1xuICAgICAgICAgICAgY2FzZSBcIkhhc0NvbXBvbmVudFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBIYXNDb21wb25lbnRSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzQ2hpbGRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGFzQ2hpbGRSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzU3VidHlwZVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBIYXNTdWJ0eXBlUmVmTm9kZUlkO1xuICAgICAgICAgICAgY2FzZSBcIkhhc1R5cGVEZWZpbml0aW9uXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhhc1R5cGVEZWZpbml0aW9uUmVmTm9kZUlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZ2V0SWNvbiA9IChyZWZlcmVuY2UpID0+IHtcbiAgICAgICAgc3dpdGNoIChyZWZlcmVuY2Uubm9kZUNsYXNzKSB7XG4gICAgICAgICAgICBjYXNlIFwiT2JqZWN0XCI6XG4gICAgICAgICAgICAgICAgaWYgKHJlZmVyZW5jZS5yZWZlcmVuY2VUeXBlSWQgPT09IE9yZ2FuaXplc1JlZk5vZGVJZCkgO1xuICAgICAgICAgICAgICAgIGlmIChyZWZlcmVuY2UudHlwZURlZmluaXRpb24gPT09IEZvbGRlclR5cGUgfHwgcmVmZXJlbmNlLnJlZmVyZW5jZVR5cGVJZCA9PT0gXCJpPTYxXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1mb2xkZXJcIiwgY29sb3I6IFwicmdiYSg2MSwgNjAsIDQsIDAuNTI1KVwiIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtb2JqZWN0LWdyb3VwXCIsIGNvbG9yOiBcIlNlYUdyZWVuXCIgfTtcbiAgICAgICAgICAgIGNhc2UgXCJWYXJpYWJsZVwiOlxuICAgICAgICAgICAgICAgIGlmIChyZWZlcmVuY2UucmVmZXJlbmNlVHlwZUlkID09PSBIYXNDb21wb25lbnRSZWZOb2RlSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1saXN0LWFsdFwiLCBjb2xvcjogXCJTdGVlbEJsdWVcIiB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChyZWZlcmVuY2UucmVmZXJlbmNlVHlwZUlkID09PSBIYXNQcm9wZXJ0eVJlZk5vZGVJZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWxpc3QtYWx0XCIsIGNvbG9yOiBcIkRvZGdlckJsdWVcIiB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1saXN0LWFsdFwiLCBjb2xvcjogXCJDYWRldEJsdWVcIiB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgXCJNZXRob2RcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWNvZ1wiLCBjb2xvcjogXCJTYW5keUJyb3duXCIgfTtcbiAgICAgICAgICAgIGNhc2UgXCJPYmplY3RUeXBlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1vYmplY3QtZ3JvdXBcIiwgY29sb3I6IFwiRGFya09yYW5nZVwiIH07XG4gICAgICAgICAgICBjYXNlIFwiVmFyaWFibGVUeXBlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1zbGlkZXJzXCIsIGNvbG9yOiBcIkRhcmtPcmFuZ2VcIiB9O1xuICAgICAgICAgICAgY2FzZSBcIkRhdGFUeXBlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS10ZXh0LXdpZHRoXCIsIGNvbG9yOiBcIkNhZGV0Qmx1ZVwiIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1xdWVzdGlvblwiLCBjb2xvcjogXCJncmV5XCIgfTtcbiAgICB9O1xuXG4gICAgY29uc3QgYnJvd3NlID0gKF9hLCBub2RlSWRfMSwgdGVtcGxhdGVfMSkgPT4gX19hd2FpdGVyKHZvaWQgMCwgW19hLCBub2RlSWRfMSwgdGVtcGxhdGVfMV0sIHZvaWQgMCwgZnVuY3Rpb24qICh7IGVuZHBvaW50Tm9kZSwgZW5kcG9pbnQsIGJhc2VVcmwgfSwgbm9kZUlkLCB0ZW1wbGF0ZSkge1xuICAgICAgICBjb25zdCByb290ID0gYCR7YmFzZVVybH0vb3BjdWEtZm9yLW5vZGUtcmVkYDtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7cm9vdH0vYnJvd3NlYDtcbiAgICAgICAgY29uc3QgYnJvd3NlRGVzY3JpcHRpb24gPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHRlbXBsYXRlKSwgeyBub2RlSWQsIHJlc3VsdE1hc2s6IDYzIH0pO1xuICAgICAgICBjb25zdCBkYXRhID0geWllbGQgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgIGVuZHBvaW50Tm9kZSxcbiAgICAgICAgICAgICAgICBlbmRwb2ludCxcbiAgICAgICAgICAgICAgICBicm93c2VEZXNjcmlwdGlvbixcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGRhdGEuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZmV0Y2hpbmcgZmFpbGVkIHdpdGggZXJyb3JcIiwgZGF0YS5zdGF0dXMsIGRhdGEuc3RhdHVzVGV4dCk7XG4gICAgICAgICAgICByZXR1cm4geyByZWZlcmVuY2VzOiBbXSB9O1xuICAgICAgICB9XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwiYnJvd3NlIGZldGNoZWQgOiBcIiwgZGF0YS5zdGF0dXMsIGRhdGEuc3RhdHVzVGV4dCk7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0geWllbGQgZGF0YS5qc29uKCk7XG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZXMgPSByZXNwb25zZS5icm93c2VSZXN1bHQucmVmZXJlbmNlcyB8fCBbXTtcbiAgICAgICAgcmV0dXJuIHsgcmVmZXJlbmNlcyB9O1xuICAgIH0pO1xuXG4gICAgY29uc3QgdGVtcGxhdGUxID0ge1xuICAgICAgICByZWZlcmVuY2VUeXBlSWQ6IHJlc29sdmVOb2RlSWQoXCJIYXNDaGlsZFwiKSxcbiAgICAgICAgaW5jbHVkZVN1YnR5cGVzOiB0cnVlLFxuICAgICAgICBicm93c2VEaXJlY3Rpb246IEJyb3dzZURpcmVjdGlvbi5Gb3J3YXJkLFxuICAgICAgICBub2RlQ2xhc3NNYXNrOiBOb2RlQ2xhc3MuVmFyaWFibGUgfCBOb2RlQ2xhc3MuT2JqZWN0IHwgTm9kZUNsYXNzLk1ldGhvZCxcbiAgICAgICAgLy8gIE5vZGVDbGFzcy5PYmplY3RUeXBlIHxcbiAgICAgICAgLy8gIE5vZGVDbGFzcy5WYXJpYWJsZVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuUmVmZXJlbmNlVHlwZSB8XG4gICAgICAgIC8vIE5vZGVDbGFzcy5EYXRhVHlwZSB8XG4gICAgICAgIC8vIE5vZGVDbGFzcy5WaWV3LFxuICAgICAgICByZXN1bHRNYXNrOiA2MyxcbiAgICB9O1xuICAgIGNvbnN0IHRlbXBsYXRlMiA9IHtcbiAgICAgICAgcmVmZXJlbmNlVHlwZUlkOiByZXNvbHZlTm9kZUlkKFwiT3JnYW5pemVzXCIpLFxuICAgICAgICBpbmNsdWRlU3VidHlwZXM6IHRydWUsXG4gICAgICAgIGJyb3dzZURpcmVjdGlvbjogQnJvd3NlRGlyZWN0aW9uLkZvcndhcmQsXG4gICAgICAgIG5vZGVDbGFzc01hc2s6IE5vZGVDbGFzcy5WYXJpYWJsZSB8IE5vZGVDbGFzcy5PYmplY3QgfCBOb2RlQ2xhc3MuTWV0aG9kLFxuICAgICAgICAvLyAgTm9kZUNsYXNzLk9iamVjdFR5cGUgfFxuICAgICAgICAvLyAgTm9kZUNsYXNzLlZhcmlhYmxlVHlwZSB8XG4gICAgICAgIC8vIE5vZGVDbGFzcy5SZWZlcmVuY2VUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLkRhdGFUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLlZpZXcsXG4gICAgICAgIHJlc3VsdE1hc2s6IDYzLFxuICAgIH07XG4gICAgY29uc3Qgd2Fsa0JhY2t3YXJkID0gKF9hLCBfYikgPT4gX19hd2FpdGVyKHZvaWQgMCwgW19hLCBfYl0sIHZvaWQgMCwgZnVuY3Rpb24qICh7IGVuZHBvaW50Tm9kZSwgZW5kcG9pbnQsIGJhc2VVcmwgfSwgeyBub2RlSWQsIHJvb3ROb2RlSWQsIGlzVHlwZSB9KSB7XG4gICAgICAgIGNvbnN0IHJvb3QgPSBgJHtiYXNlVXJsfS9vcGN1YS1mb3Itbm9kZS1yZWRgO1xuICAgICAgICBjb25zdCB1cmwgPSBgJHtyb290fS93YWxrLWJhY2t3YXJkYDtcbiAgICAgICAgY29uc3QgZGF0YSA9IHlpZWxkIGZldGNoKHVybCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICBlbmRwb2ludE5vZGUsXG4gICAgICAgICAgICAgICAgZW5kcG9pbnQsXG4gICAgICAgICAgICAgICAgbm9kZUlkLFxuICAgICAgICAgICAgICAgIHJvb3ROb2RlSWQsXG4gICAgICAgICAgICAgICAgaXNUeXBlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QganNvbiA9ICh5aWVsZCBkYXRhLmpzb24oKSk7XG4gICAgICAgIHJldHVybiBqc29uLmJyb3dzZVBhdGg7XG4gICAgfSk7XG4gICAgY29uc3QgY2hvb3NlTm9kZUlkID0gKGRhdGEsIG1vZGUpID0+IHtcbiAgICAgICAgaWYgKGRhdGEuc3RhdHVzQ29kZSAhPT0gXCJHb29kXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRhLnJlcXVlc3RlZE5vZGVJZDtcbiAgICAgICAgfVxuICAgICAgICBzd2l0Y2ggKG1vZGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJicm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEuYnBfaW5kZXhlZDtcbiAgICAgICAgICAgIGNhc2UgXCJhbGlhc2VkQnJvd3NlUGF0aFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLmJwX2FsaWFzZWQgfHwgZGF0YS5icF9pbmRleGVkO1xuICAgICAgICAgICAgY2FzZSBcImFsaWFzZWROb2RlSWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5ub2RlSWRfYWxpYXNlZCB8fCBkYXRhLm5vZGVJZF9uc3U7XG4gICAgICAgICAgICBjYXNlIFwibnN1Tm9kZUlEXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEubm9kZUlkX25zdTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBjYXNlIFwibm9kZUlkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEubm9kZUlkO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBjb25zdCBtYWtlVG9vbHRpcCA9IChkYXRhKSA9PiB7XG4gICAgICAgIGlmIChkYXRhLnN0YXR1c0NvZGUgIT09IFwiR29vZFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gYHN0YXR1c0NvZGU6ICR7ZGF0YS5zdGF0dXNDb2RlfWA7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBsZXQgc3RyID0gW107XG4gICAgICAgICAgICBzdHIucHVzaChgbm9kZUlkOiAke2RhdGEubm9kZUlkfWApO1xuICAgICAgICAgICAgc3RyLnB1c2goYGJyb3dzZSBwYXRoOiAke2RhdGEuYnBfaW5kZXhlZH1gKTtcbiAgICAgICAgICAgIHN0ci5wdXNoKGBub2RlIGNsYXNzOiAke05vZGVDbGFzc1tkYXRhLm5vZGVDbGFzc119YCk7XG4gICAgICAgICAgICBpZiAoZGF0YS5ub2RlSWRfbnN1KSB7XG4gICAgICAgICAgICAgICAgc3RyLnB1c2goYG5zdSBub2RlSWQ6ICR7ZGF0YS5ub2RlSWRfbnN1fWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGRhdGEubm9kZUlkX2FsaWFzZWQpIHtcbiAgICAgICAgICAgICAgICBzdHIucHVzaChgYWxpYXNlZCBOb2RlSWQ6ICR7ZGF0YS5ub2RlSWRfYWxpYXNlZH1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChkYXRhLmJwX2luZGV4ZWQpIHtcbiAgICAgICAgICAgICAgICBzdHIucHVzaChgYWxpYXNlZCBicm93c2VQYXRoOiAke2RhdGEuYnBfYWxpYXNlZH1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzdHIuam9pbihcIlxcblwiKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgZnVuY3Rpb24gZmlndXJlT3V0TW9kZShlbmhhbmNlZE5vZGVJZCkge1xuICAgICAgICBpZiAoZW5oYW5jZWROb2RlSWQubWF0Y2goL15uc3U9LykpIHtcbiAgICAgICAgICAgIHJldHVybiBcIm5zdU5vZGVJRFwiO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbmhhbmNlZE5vZGVJZC5tYXRjaCgvXihucz0uKjspPyhpfGJ8c3xnKT0vKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwibm9kZUlkXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVuaGFuY2VkTm9kZUlkLm1hdGNoKC9ebnNhPS8pKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJhbGlhc2VkTm9kZUlkXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVuaGFuY2VkTm9kZUlkLm1hdGNoKC9eKFxcL3xcXC4pWzAtOV0rOi8pKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJicm93c2VQYXRoXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVuaGFuY2VkTm9kZUlkLm1hdGNoKC9eKFxcL3xcXC4pLio6LykpIHtcbiAgICAgICAgICAgIHJldHVybiBcImJyb3dzZVBhdGhcIjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBmaWd1cmVPdXRNZW5VSXRlbVZhbHVlKHN0cikge1xuICAgICAgICBjb25zdCBtb2RlID0gZmlndXJlT3V0TW9kZShzdHIpO1xuICAgICAgICBzd2l0Y2ggKG1vZGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJub2RlSWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJuXCI7XG4gICAgICAgICAgICBjYXNlIFwiYWxpYXNlZE5vZGVJZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm5hXCI7XG4gICAgICAgICAgICBjYXNlIFwibnN1Tm9kZUlEXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwibnN1XCI7XG4gICAgICAgICAgICBjYXNlIFwiYnJvd3NlUGF0aFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcImJcIjtcbiAgICAgICAgICAgIGNhc2UgXCJhbGlhc2VkQnJvd3NlUGF0aFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcImFiXCI7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBcInRcIjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiB0b01vZGUodikge1xuICAgICAgICBsZXQgbW9kZTtcbiAgICAgICAgc3dpdGNoICh2KSB7XG4gICAgICAgICAgICBjYXNlIFwiblwiOlxuICAgICAgICAgICAgICAgIG1vZGUgPSBcIm5vZGVJZFwiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIm5hXCI6XG4gICAgICAgICAgICAgICAgbW9kZSA9IFwiYWxpYXNlZE5vZGVJZFwiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIm5zdVwiOlxuICAgICAgICAgICAgICAgIG1vZGUgPSBcIm5zdU5vZGVJRFwiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcImJcIjpcbiAgICAgICAgICAgICAgICBtb2RlID0gXCJicm93c2VQYXRoXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwiYWJcIjpcbiAgICAgICAgICAgICAgICBtb2RlID0gXCJhbGlhc2VkQnJvd3NlUGF0aFwiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtb2RlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBmcm9tTW9kZShtb2RlKSB7XG4gICAgICAgIHN3aXRjaCAobW9kZSkge1xuICAgICAgICAgICAgY2FzZSBcIm5vZGVJZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm5cIjtcbiAgICAgICAgICAgIGNhc2UgXCJhbGlhc2VkTm9kZUlkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwibmFcIjtcbiAgICAgICAgICAgIGNhc2UgXCJuc3VOb2RlSURcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJuc3VcIjtcbiAgICAgICAgICAgIGNhc2UgXCJicm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiYlwiO1xuICAgICAgICAgICAgY2FzZSBcImFsaWFzZWRCcm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiYWJcIjtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwidFwiO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IF9jYWxsQ2hlY2tOb2RlSWQgPSAoX2EsIG5vZGVJZF8xKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCBbX2EsIG5vZGVJZF8xXSwgdm9pZCAwLCBmdW5jdGlvbiogKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCBub2RlSWQpIHtcbiAgICAgICAgY29uc3Qgcm9vdCA9IGAke2Jhc2VVcmx9L29wY3VhLWZvci1ub2RlLXJlZGA7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L2NoZWNrTm9kZUlkYDtcbiAgICAgICAgY29uc3QgZUlkID0gZW5kcG9pbnROb2RlLmlkO1xuICAgICAgICBjb25zdCBuID0gUkVELm5vZGVzLm5vZGUoZUlkKTtcbiAgICAgICAgY29uc29sZS5sb2cobi5uYW1lc3BhY2VBbGlhc2VzKTtcbiAgICAgICAgbi5uYW1lc3BhY2VBbGlhc2VzO1xuICAgICAgICBjb25zdCBuYW1lc3BhY2VBbGlhc2VzID0gZW5kcG9pbnROb2RlLm5hbWVzcGFjZUFsaWFzZXM7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlLFxuICAgICAgICAgICAgICAgIGVuZHBvaW50LFxuICAgICAgICAgICAgICAgIG5vZGVJZCxcbiAgICAgICAgICAgICAgICBuYW1lc3BhY2VBbGlhc2VzLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBqc29uID0gKHlpZWxkIGRhdGEuanNvbigpKTtcbiAgICAgICAgcmV0dXJuIHsganNvbiwgZGF0YSB9O1xuICAgIH0pO1xuICAgIGNvbnN0IGludGVybmFsVmVyaWZ5ID0gKF9hLCBtb2RlXzEsICRpbnB1dEVsZW1lbnRfMSwgJGluZm9fMSkgPT4gX19hd2FpdGVyKHZvaWQgMCwgW19hLCBtb2RlXzEsICRpbnB1dEVsZW1lbnRfMSwgJGluZm9fMV0sIHZvaWQgMCwgZnVuY3Rpb24qICh7IGVuZHBvaW50Tm9kZSwgZW5kcG9pbnQsIGJhc2VVcmwgfSwgbW9kZSwgJGlucHV0RWxlbWVudCwgJGluZm8pIHtcbiAgICAgICAgY29uc3QgZW5oYW5jZWROb2RlSWQgPSAkaW5wdXRFbGVtZW50LnZhbCgpO1xuICAgICAgICBjb25zdCB7IGpzb24sIGRhdGEgfSA9IHlpZWxkIF9jYWxsQ2hlY2tOb2RlSWQoeyBlbmRwb2ludE5vZGUsIGVuZHBvaW50LCBiYXNlVXJsIH0sIGVuaGFuY2VkTm9kZUlkKTtcbiAgICAgICAgY29uc3Qgc2V0Tm90aWZpY2F0aW9uID0gKHRleHQsIGNsYXNzTmFtZSkgPT4ge1xuICAgICAgICAgICAgJGluZm8udGV4dCh0ZXh0KS5hZGRDbGFzcyhcInN0ZXJmaXZlLWluZm9cIikuYWRkQ2xhc3MoY2xhc3NOYW1lKTtcbiAgICAgICAgICAgICRpbmZvLnNob3coKTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICRpbmZvLnJlbW92ZUNsYXNzKGNsYXNzTmFtZSk7XG4gICAgICAgICAgICAgICAgJGluZm8uaGlkZSgpO1xuICAgICAgICAgICAgfSwgMzAwMCk7XG4gICAgICAgIH07XG4gICAgICAgIGlmIChkYXRhLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgICAgICAvLyBkbyBzb21ldGhpbmc7XG4gICAgICAgICAgICBzZXROb3RpZmljYXRpb24oXCIhIWZhaWx1cmUhIVwiICsgZW5oYW5jZWROb2RlSWQsIFwiZmFpbHVyZVwiKTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmIChqc29uLnN0YXR1c0NvZGUubWF0Y2goL0dvb2QvKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRvb2x0aXAgPSBtYWtlVG9vbHRpcChqc29uKTtcbiAgICAgICAgICAgICAgICAkaW5wdXRFbGVtZW50LmF0dHIoXCJ0aXRsZVwiLCB0b29sdGlwKTtcbiAgICAgICAgICAgICAgICAvLyBkbyBzb21ldGhpbmdcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZE5vZGVJZCA9IGNob29zZU5vZGVJZChqc29uLCBtb2RlKTtcbiAgICAgICAgICAgICAgICAkaW5wdXRFbGVtZW50LnZhbChzZWxlY3RlZE5vZGVJZCk7XG4gICAgICAgICAgICAgICAgJGlucHV0RWxlbWVudC50cmlnZ2VyKFwiY2hhbmdlXCIpO1xuICAgICAgICAgICAgICAgIHNldE5vdGlmaWNhdGlvbihcIkdvb2RcIiwgXCJva1wiKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICRpbnB1dEVsZW1lbnQudmFsKGAke2VuaGFuY2VkTm9kZUlkfWApO1xuICAgICAgICAgICAgICAgIHNldE5vdGlmaWNhdGlvbihgJHtqc29uLnN0YXR1c0NvZGV9ICR7ZGF0YS5zdGF0dXNUZXh0fWAsIFwiZmFpbHVyZVwiKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBmdW5jdGlvbiBmZXRjaENoaWxkcmVuKCRub2RlLCBkYXRhKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlSWQgPSAkbm9kZS5kYXRhKFwidmFsdWVcIik7XG4gICAgICAgICAgICBjb25zdCBicm93c2VSZXN1bHQxID0geWllbGQgYnJvd3NlKGRhdGEsIG5vZGVJZCwgdGVtcGxhdGUxKTtcbiAgICAgICAgICAgIGNvbnN0IGJyb3dzZVJlc3VsdDIgPSB5aWVsZCBicm93c2UoZGF0YSwgbm9kZUlkLCB0ZW1wbGF0ZTIpO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZWZlcmVuY2VzOiBbLi4uYnJvd3NlUmVzdWx0MS5yZWZlcmVuY2VzLCAuLi5icm93c2VSZXN1bHQyLnJlZmVyZW5jZXNdLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IHRlbXBsYXRlU1QgPSB7XG4gICAgICAgIHJlZmVyZW5jZVR5cGVJZDogcmVzb2x2ZU5vZGVJZChcIkhhc1N1YnR5cGVcIiksXG4gICAgICAgIGluY2x1ZGVTdWJ0eXBlczogdHJ1ZSxcbiAgICAgICAgYnJvd3NlRGlyZWN0aW9uOiBCcm93c2VEaXJlY3Rpb24uRm9yd2FyZCxcbiAgICAgICAgbm9kZUNsYXNzTWFzazogTm9kZUNsYXNzLlJlZmVyZW5jZVR5cGUgfCBOb2RlQ2xhc3MuT2JqZWN0VHlwZSB8IE5vZGVDbGFzcy5EYXRhVHlwZSB8IE5vZGVDbGFzcy5WYXJpYWJsZVR5cGUsXG4gICAgICAgIHJlc3VsdE1hc2s6IDYzLFxuICAgIH07XG4gICAgZnVuY3Rpb24gZmV0Y2hTdWJ0eXBlcygkbm9kZSwgZGF0YSkge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgY29uc3Qgbm9kZUlkID0gJG5vZGUuZGF0YShcInZhbHVlXCIpO1xuICAgICAgICAgICAgY29uc3QgYnJvd3NlUmVzdWx0MSA9IHlpZWxkIGJyb3dzZShkYXRhLCBub2RlSWQsIHRlbXBsYXRlU1QpO1xuICAgICAgICAgICAgcmV0dXJuIGJyb3dzZVJlc3VsdDE7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBtYWtlRWxlbWVudCA9IChyZWZlcmVuY2UpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2MsIF9kO1xuICAgICAgICBpZiAoIXJlZmVyZW5jZSB8fCAhcmVmZXJlbmNlLm5vZGVJZCkge1xuICAgICAgICAgICAgY29uc3QgJGVsZW1lbnQgPSAkKGA8bGk+PGkgY2xhc3M9XCJmYSBmYS1lcnJvclwiIHN0eWxlPVwiY29sb3I6cmVkO1wiPjwvaT5ubyByZWZlcmVuY2UgITx1bD48L3VsPjwvbGk+YCk7XG4gICAgICAgICAgICByZXR1cm4gJGVsZW1lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbiA9IHJlZmVyZW5jZS5ub2RlSWQudG9TdHJpbmcoKTtcbiAgICAgICAgY29uc3QgdCA9ICgoX2EgPSByZWZlcmVuY2UuZGlzcGxheU5hbWUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS50ZXh0KSB8fCAoKF9iID0gcmVmZXJlbmNlLmJyb3dzZU5hbWUpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5uYW1lKSB8fCByZWZlcmVuY2Uubm9kZUlkLnRvU3RyaW5nKCk7XG4gICAgICAgIGNvbnN0IHsgaWNvbiwgY29sb3IgfSA9IGdldEljb24ocmVmZXJlbmNlKTtcbiAgICAgICAgY29uc3QgdGl0bGUgPSBgKCR7cmVmZXJlbmNlLm5vZGVJZC50b1N0cmluZygpfSkgJHsoKF9jID0gcmVmZXJlbmNlLmJyb3dzZU5hbWUpID09PSBudWxsIHx8IF9jID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYy5uYW1lKSB8fCAoKF9kID0gcmVmZXJlbmNlLmRpc3BsYXlOYW1lKSA9PT0gbnVsbCB8fCBfZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2QudGV4dCkgfHwgXCJcIn1gO1xuICAgICAgICBjb25zdCAkZWxlbWVudCA9ICQoYDxsaSBrZXk9XCIke3JlZmVyZW5jZS5ub2RlSWQudG9TdHJpbmcoKX1cIn0+PHNwYW4gY2xhc3M9XCJ0cmVlLXRleHRcIiB0aXRsZT0ke3RpdGxlfT48aSBjbGFzcz1cImZhICR7aWNvbn1cIiBzdHlsZT1cImNvbG9yOiR7Y29sb3J9O1wiPjwvaT4gJHt0fTwvc3Bhbj48dWw+PC91bD48L2xpPmApO1xuICAgICAgICAkZWxlbWVudC5hZGRDbGFzcyhcImV4cGFuZGFibGVcIik7XG4gICAgICAgICRlbGVtZW50LmRhdGEoXCJ2YWx1ZVwiLCBuKTtcbiAgICAgICAgJGVsZW1lbnQuZGF0YShcInJlZmVyZW5jZVwiLCByZWZlcmVuY2UpO1xuICAgICAgICByZXR1cm4gJGVsZW1lbnQ7XG4gICAgfTtcbiAgICBjb25zdCBmaW5kRWxlbWVudCA9IChub2RlSWQsICR0cmVlKSA9PiB7XG4gICAgICAgIHJldHVybiAkdHJlZS5maW5kKGBsaVtrZXk9XCIke25vZGVJZH1cIl1gKTtcbiAgICB9O1xuICAgIGNvbnN0IHNlbGVjdFNpbmdsZSA9ICh0aGF0LCAkbGkpID0+IHtcbiAgICAgICAgdGhhdC4kdHJlZS5maW5kKFwibGkgPiAudHJlZS10ZXh0XCIpLnJlbW92ZUNsYXNzKFwic2VsZWN0ZWRcIik7XG4gICAgICAgIC8vIGNsZWFyIGFsbCBzZWxlY3RlZCBpdGVtc1xuICAgICAgICAkbGkuZmluZChcIi50cmVlLXRleHQ6Zmlyc3RcIikuYWRkQ2xhc3MoXCJzZWxlY3RlZFwiKTtcbiAgICB9O1xuICAgIGNvbnN0IGF1dG9FeHBhbmQgPSAodGhhdCwgYnJvd3NlUGF0aCwgJHRyZWUpID0+IF9fYXdhaXRlcih2b2lkIDAsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAvLyBleHBhbmQgdGhlIHRyZWUgdG8gc2hvdyB0aGUgbm9kZUlkXG4gICAgICAgIGxldCAkY3VycmVudCA9ICR0cmVlLmNoaWxkcmVuKFwiOmZpcnN0XCIpO1xuICAgICAgICBicm93c2VQYXRoLnJlbGF0aXZlUGF0aC5lbGVtZW50cyB8fCBbXTtcbiAgICAgICAgY29uc3Qgbm9kZUlkcyA9IGJyb3dzZVBhdGgubm9kZUlkcyB8fCBbXTtcbiAgICAgICAgaWYgKG5vZGVJZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChjb25zdCBuIG9mIG5vZGVJZHMpIHtcbiAgICAgICAgICAgIGlmICgkY3VycmVudC5oYXNDbGFzcyhcImV4cGFuZGFibGVcIikpIHtcbiAgICAgICAgICAgICAgICAvLyBuZWVkIHRvIGV4cGFuZCBhbmQgc2VsZWN0IHRoZSByaWdodCBlbGVtZW50XG4gICAgICAgICAgICAgICAgeWllbGQgX2V4cGFuZExpKHRoYXQsICRjdXJyZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0ICRlbGVtZW50ID0gZmluZEVsZW1lbnQobiwgJGN1cnJlbnQpO1xuICAgICAgICAgICAgaWYgKCRlbGVtZW50Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICRjdXJyZW50ID0gJGVsZW1lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgc2VsZWN0U2luZ2xlKHRoYXQsICRjdXJyZW50KTtcbiAgICAgICAgc2Nyb2xsVG9MaSh0aGF0LiRkcm9wZG93biwgJGN1cnJlbnQpO1xuICAgIH0pO1xuICAgIGZ1bmN0aW9uIHNjcm9sbFRvTGkoJGNvbnRhaW5lciwgJHRhcmdldExpKSB7XG4gICAgICAgIC8vIEdldCB0aGUgcG9zaXRpb24gb2YgdGhlIHRhcmdldCBpdGVtIHJlbGF0aXZlIHRvIGl0cyBjb250YWluZXJcbiAgICAgICAgY29uc3QgbGlQb3MgPSAkdGFyZ2V0TGkucG9zaXRpb24oKS50b3A7XG4gICAgICAgIC8vIEdldCB0aGUgY3VycmVudCBzY3JvbGwgcG9zaXRpb24gb2YgdGhlIGNvbnRhaW5lclxuICAgICAgICBjb25zdCBjb250YWluZXJTY3JvbGxUb3AgPSAkY29udGFpbmVyLnNjcm9sbFRvcCgpO1xuICAgICAgICBpZiAoY29udGFpbmVyU2Nyb2xsVG9wID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgcG9zaXRpb24gdG8gc2Nyb2xsIHRvIChjdXJyZW50IHNjcm9sbCArIGl0ZW0ncyBwb3NpdGlvbilcbiAgICAgICAgLy8gQWRqdXN0IHRoaXMgY2FsY3VsYXRpb24gYmFzZWQgb24geW91ciBuZWVkc1xuICAgICAgICBjb25zdCBzY3JvbGxUbyA9IGNvbnRhaW5lclNjcm9sbFRvcCArIGxpUG9zIC0gJGNvbnRhaW5lci5oZWlnaHQoKSAvIDIgKyAkdGFyZ2V0TGkuaGVpZ2h0KCkgLyAyO1xuICAgICAgICAvLyBTY3JvbGwgdGhlIGNvbnRhaW5lciB0byBlbnN1cmUgdGhlIGl0ZW0gaXMgdmlzaWJsZVxuICAgICAgICAkY29udGFpbmVyLmFuaW1hdGUoe1xuICAgICAgICAgICAgc2Nyb2xsVG9wOiBzY3JvbGxUbyxcbiAgICAgICAgfSwgNTAwKTsgLy8gQWRqdXN0IHRoZSBkdXJhdGlvbiAoNTAwbXMpIGFzIG5lZWRlZFxuICAgIH1cbiAgICBjb25zdCByZWFjaFNlbGVjdGlvbiA9ICh0aGF0LCBwYXJlbnROb2RlKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgY29uc3Qgbm9kZUlkID0gdGhhdC4kaW5wdXQudmFsKCk7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgICAgICBub2RlSWQsXG4gICAgICAgICAgICByb290Tm9kZUlkOiBwYXJlbnROb2RlLm5vZGVJZCxcbiAgICAgICAgICAgIGlzVHlwZTogdGhhdC5vcHRpb25zLmlzVHlwZVJlZiB8fCBmYWxzZSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZGF0YSA9IG1ha2VDb25uZWN0aW9uKHRoYXQpO1xuICAgICAgICBjb25zdCBicm93c2VQYXRoID0geWllbGQgd2Fsa0JhY2t3YXJkKGRhdGEsIG9wdGlvbnMpO1xuICAgICAgICBpZiAoIWJyb3dzZVBhdGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB5aWVsZCBhdXRvRXhwYW5kKHRoYXQsIGJyb3dzZVBhdGgsIHRoYXQuJHRyZWUpO1xuICAgIH0pO1xuICAgIGZ1bmN0aW9uIF9mZXRjaERhdGFGb3JOb2RlKHRoYXQsICRub2RlLCBmZXRjaEZ1bmMsIGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGlmICgkbm9kZS5oYXNDbGFzcyhcImZldGNoZWRcIikpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImFscmVhZHkgZmV0Y2hlZFwiKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoJG5vZGUuaGFzQ2xhc3MoXCJsb2FkaW5nXCIpKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJhbHJlYWR5IGxvYWRpbmdcIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJG5vZGUuYWRkQ2xhc3MoXCJsb2FkaW5nXCIpO1xuICAgICAgICAgICAgJG5vZGUuYXBwZW5kKCc8ZGl2IGNsYXNzPVwic3Bpbm5lclwiPjwvZGl2PicpO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAkbm9kZS5jaGlsZHJlbihcInVsXCIpLmVtcHR5KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgeyByZWZlcmVuY2VzIH0gPSB5aWVsZCBmZXRjaEZ1bmMoJG5vZGUsIGRhdGEpO1xuICAgICAgICAgICAgICAgIC8vIHNvcnQgcmVmZXJlbmNlICAgYnkgYnJvd3NlTmFtZVxuICAgICAgICAgICAgICAgIHJlZmVyZW5jZXMuc29ydCgoYSwgYikgPT4geyB2YXIgX2EsIF9iOyByZXR1cm4gKCgoX2EgPSBhLmJyb3dzZU5hbWUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5uYW1lKSB8fCBcIlwiKS5sb2NhbGVDb21wYXJlKCgoX2IgPSBiLmJyb3dzZU5hbWUpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5uYW1lKSB8fCBcIlwiKTsgfSk7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCByZWZlcmVuY2Ugb2YgcmVmZXJlbmNlcykge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhhdC5vcHRpb25zLmZpbHRlciAmJiAhdGhhdC5vcHRpb25zLmZpbHRlcihyZWZlcmVuY2UpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCAkZWxlbWVudCA9IG1ha2VFbGVtZW50KHJlZmVyZW5jZSk7XG4gICAgICAgICAgICAgICAgICAgICRub2RlLmNoaWxkcmVuKFwidWxcIikuYXBwZW5kKCRlbGVtZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJG5vZGUuYWRkQ2xhc3MoXCJmZXRjaGVkXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICRub2RlLmNoaWxkcmVuKFwidWxcIikuYXBwZW5kKGA8bGk+ZXJyb3IgJHtlcnIubWVzc2FnZX08L2xpPmApO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZXJyXCIsIGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkbm9kZS5maW5kKFwiLnNwaW5uZXJcIikucmVtb3ZlKCk7XG4gICAgICAgICAgICAkbm9kZS5yZW1vdmVDbGFzcyhcImxvYWRpbmdcIik7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBmdW5jdGlvbiBtYWtlQ29ubmVjdGlvbih0aGF0KSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgICAgICBiYXNlVXJsOiB0aGF0Lm9wdGlvbnMuYmFzZVVybCxcbiAgICAgICAgICAgIGVuZHBvaW50Tm9kZTogdHlwZW9mIHRoYXQub3B0aW9ucy5lbmRwb2ludE5vZGUgPT09IFwiZnVuY3Rpb25cIiA/IHRoYXQub3B0aW9ucy5lbmRwb2ludE5vZGUoKSA6IHRoYXQub3B0aW9ucy5lbmRwb2ludE5vZGUsXG4gICAgICAgICAgICBlbmRwb2ludDogdHlwZW9mIHRoYXQub3B0aW9ucy5lbmRwb2ludCA9PT0gXCJmdW5jdGlvblwiID8gdGhhdC5vcHRpb25zLmVuZHBvaW50KCkgOiB0aGF0Lm9wdGlvbnMuZW5kcG9pbnQsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbiAgICBmdW5jdGlvbiBfZXhwYW5kTGkodGhhdCwgJGxpKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBpZiAoJGxpLmhhc0NsYXNzKFwiZmV0Y2hlZFwiKSkge1xuICAgICAgICAgICAgICAgICRsaS5yZW1vdmVDbGFzcyhcImV4cGFuZGFibGVcIikuYWRkQ2xhc3MoXCJleHBhbmRlZFwiKTtcbiAgICAgICAgICAgICAgICAkbGkuY2hpbGRyZW4oXCJ1bFwiKS50b2dnbGUoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBGZXRjaCBuZXcgZGF0YSBmb3IgdGhpcyBub2RlXG4gICAgICAgICAgICBjb25zdCBkYXRhID0gbWFrZUNvbm5lY3Rpb24odGhhdCk7XG4gICAgICAgICAgICBjb25zdCBmID0gIXRoYXQub3B0aW9ucy5pc1R5cGVSZWYgPyBmZXRjaENoaWxkcmVuIDogZmV0Y2hTdWJ0eXBlcztcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgeWllbGQgX2ZldGNoRGF0YUZvck5vZGUodGhhdCwgJGxpLCBmLCBkYXRhKTtcbiAgICAgICAgICAgICAgICAvLyBtYXJrIGFzIGV4cGFuZGVkXG4gICAgICAgICAgICAgICAgJGxpLnJlbW92ZUNsYXNzKFwiZXhwYW5kYWJsZVwiKS5hZGRDbGFzcyhcImV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICRsaS5yZW1vdmVDbGFzcyhcImV4cGFuZGFibGVcIikuYWRkQ2xhc3MoXCJleHBhbmRlZFwiKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBkZWZhdWx0UGFyZW50Tm9kZSA9IHtcbiAgICAgICAgYnJvd3NlTmFtZTogeyBuYW1lc3BhY2VJbmRleDogMCwgbmFtZTogXCJPYmplY3RzXCIgfSxcbiAgICAgICAgbm9kZUNsYXNzOiBcIk9iamVjdFwiLFxuICAgICAgICBub2RlSWQ6IFwibnM9MDtpPTg1XCIsXG4gICAgICAgIGRpc3BsYXlOYW1lOiB7IHRleHQ6IFwiT2JqZWN0c1wiIH0sXG4gICAgICAgIHR5cGVEZWZpbml0aW9uOiBGb2xkZXJUeXBlLFxuICAgIH07XG4gICAgY29uc3QgZGVjbGFyZU5vZGVCcm93c2VyV2lkZ2V0ID0gKCkgPT4ge1xuICAgICAgICAvKipcbiAgICAgICAgICogWyBUZW1wZXJhdHVyZSAgXVxuICAgICAgICAgKiAgICggdG9vbHRpcCA6ICgvT2JqZWN0cy9NeVNlbnNvcikgKG5zPTE7cz1UZW1wZXJhdHVyZSkpXG4gICAgICAgICAqIFsgKyBbRm9sZGVyXSBPYmplY3RzXVxuICAgICAgICAgKiBbICAgICBbT2JqZWN0XSBNeVNlbnNvcl1cbiAgICAgICAgICogWyAgICAgKCApIFtWYXJpYWJsZV0gVGVtcGVyYXR1cmVdXG4gICAgICAgICAqL1xuICAgICAgICAkLndpZGdldChcInN0ZXJmaXZlLm5vZGVCcm93c2VyXCIsIHtcbiAgICAgICAgICAgIC8qIGRlZmF1bHQgb3B0aW9ucyAqL1xuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgIGVuZHBvaW50Tm9kZTogKCkgPT4gKHsgZW5kcG9pbnQ6IFwib3BjLnRjcDovL29wY3VhZGVtby5zdGVyZml2ZS5jb206MjY1NDNcIiB9KSxcbiAgICAgICAgICAgICAgICBlbmRwb2ludDogKCkgPT4gdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIHBhcmVudE5vZGU6ICgpID0+IGRlZmF1bHRQYXJlbnROb2RlLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICAgICAgICBiYXNlVXJsOiBcIlwiLFxuICAgICAgICAgICAgICAgIGlzVHlwZVJlZjogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVzb2x2ZVBhcmVudE5vZGUoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGF0Ll9fcGFyZW50Tm9kZSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGEgPSB0eXBlb2YgdGhhdC5vcHRpb25zLnBhcmVudE5vZGUgPT09IFwiZnVuY3Rpb25cIiA/IHRoYXQub3B0aW9ucy5wYXJlbnROb2RlLmNhbGwodGhhdCkgOiB0aGF0Lm9wdGlvbnMucGFyZW50Tm9kZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlc2MgPSB5aWVsZCBhO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX19wYXJlbnROb2RlID0gZGVzYztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX19wYXJlbnROb2RlID0gYTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhhdC5fX3BhcmVudE5vZGUgfHwgZGVmYXVsdFBhcmVudE5vZGU7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVzZXQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgICAgIC8vIGFsc28gcmVzZXQgcGFyZW50IG5vZGVcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYSA9IHRoYXQ7XG4gICAgICAgICAgICAgICAgICAgIGEuX19wYXJlbnROb2RlID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiR0cmVlLmVtcHR5KCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudE5vZGUgPSB5aWVsZCB0aGlzLnJlc29sdmVQYXJlbnROb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0ICRlbGVtZW50ID0gbWFrZUVsZW1lbnQocGFyZW50Tm9kZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUuYXBwZW5kKCRlbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC5jdXJyZW50UGFyZW50ID0gcGFyZW50Tm9kZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB2ZXJpZnkobW9kZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIC8vIEZldGNoIG5ldyBkYXRhIGZvciB0aGlzIG5vZGVcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gbWFrZUNvbm5lY3Rpb24odGhhdCk7XG4gICAgICAgICAgICAgICAgaW50ZXJuYWxWZXJpZnkoZGF0YSwgbW9kZSwgdGhhdC4kaW5wdXQsIHRoYXQuJGluZm8pLnRoZW4oKHN1Y2Nlc3MpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFzdWNjZXNzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5hZGRDbGFzcyhcInN0ZXJmaXZlLWlucHV0LWVycm9yXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kY29tYm8ucmVtb3ZlQ2xhc3MoXCJzdGVyZml2ZS1pbnB1dC1lcnJvclwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF9oaWRlTWVudShtZW51KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgJChkb2N1bWVudCkub2ZmKFwibW91c2Vkb3duLnJlZC11aS10eXBlZElucHV0LWNsb3NlLXByb3BlcnR5LXNlbGVjdFwiKTtcbiAgICAgICAgICAgICAgICBtZW51LmhpZGUoKTtcbiAgICAgICAgICAgICAgICBtZW51LmNzcyh7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogXCJhdXRvXCIsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKG1lbnUub3B0cy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgc2VsZWN0ZWQgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgbWVudS5maW5kKCdpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0nKS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKHRoaXMpLnByb3AoXCJjaGVja2VkXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQucHVzaCgkKHRoaXMpLmRhdGEoXCJ2YWx1ZVwiKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBtZW51LmNhbGxiYWNrKHNlbGVjdGVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoYXQuJGVsZW1lbnREaXYuaXMoXCI6dmlzaWJsZVwiKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC50cmlnZ2VyKFwiZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgICAgIC8veHggfSBlbHNlIGlmICh0aGlzLiRvcHRpb25TZWxlY3RUcmlnZ2VyLmlzKFwiOnZpc2libGVcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgLy94eCAgICAgdGhhdC4kb3B0aW9uU2VsZWN0VHJpZ2dlci50cmlnZ2VyKFwiZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyLnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX2NyZWF0ZU1lbnUobWVudU9wdGlvbnMsIG9wdHMsIGNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgdmFyIHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lbnUgPSAkKFwiPGRpdj5cIikuYWRkQ2xhc3MoXCJzdGVyZml2ZS10eXBlZElucHV0LW9wdGlvbnMgc3RlcmZpdmUtb25saW5lLW1lbnVcIik7XG4gICAgICAgICAgICAgICAgbWVudS5vcHRzID0gb3B0cztcbiAgICAgICAgICAgICAgICBtZW51LmNhbGxiYWNrID0gY2FsbGJhY2s7XG4gICAgICAgICAgICAgICAgbWVudU9wdGlvbnMuZm9yRWFjaCgob3B0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcHQgPSB7IHZhbHVlOiBvcHQsIGxhYmVsOiBvcHQgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB2YXIgb3AgPSAkKCc8YSBocmVmPVwiI1wiPjwvYT4nKS5hdHRyKFwidmFsdWVcIiwgb3B0LnZhbHVlKS5hcHBlbmRUbyhtZW51KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdC5sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3AudGV4dChvcHQubGFiZWwpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHQudGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wLnByb3AoXCJ0aXRsZVwiLCBvcHQudGl0bGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHQuaWNvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdC5pY29uLmluZGV4T2YoXCI8XCIpID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChvcHQuaWNvbikucHJlcGVuZFRvKG9wKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKG9wdC5pY29uLmluZGV4T2YoXCIvXCIpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCI8aT5cIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzczogXCJyZWQtdWktdHlwZWRJbnB1dC1pY29uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiBcIm1hc2staW1hZ2U6IHVybChcIiArIG9wdC5pY29uICsgXCIpOyAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIiArIG9wdC5pY29uICsgXCIpO1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLnByZXBlbmRUbyhvcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiPGk+XCIsIHsgY2xhc3M6IFwicmVkLXVpLXR5cGVkSW5wdXQtaWNvbiBcIiArIG9wdC5pY29uIH0pLnByZXBlbmRUbyhvcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcC5jc3MoeyBwYWRkaW5nTGVmdDogXCIxOHB4XCIgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHQuaWNvbiAmJiAhb3B0LmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcC50ZXh0KG9wdC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdmFyIGNiO1xuICAgICAgICAgICAgICAgICAgICBpZiAob3B0cy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2IgPSAkKCc8aW5wdXQgdHlwZT1cImNoZWNrYm94XCI+JylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY3NzKFwicG9pbnRlci1ldmVudHNcIiwgXCJub25lXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRhdGEoXCJ2YWx1ZVwiLCBvcHQudmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByZXBlbmRUbyhvcClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAub24oXCJtb3VzZWRvd25cIiwgZnVuY3Rpb24gKGV2dCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgb3Aub24oXCJjbGlja1wiLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghb3B0cy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKG9wdC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5faGlkZU1lbnUobWVudSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYi5wcm9wKFwiY2hlY2tlZFwiLCAhY2IucHJvcChcImNoZWNrZWRcIikpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBtZW51LmNzcyh7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIG1lbnUub24oXCJrZXlkb3duXCIsIGZ1bmN0aW9uIChldnQpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV2dC5rZXlDb2RlID09PSA0MCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBET1dOXG4gICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmNoaWxkcmVuKFwiOmZvY3VzXCIpLm5leHQoKS50cmlnZ2VyKFwiZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZXZ0LmtleUNvZGUgPT09IDM4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFVQXG4gICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmNoaWxkcmVuKFwiOmZvY3VzXCIpLnByZXYoKS50cmlnZ2VyKFwiZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZXZ0LmtleUNvZGUgPT09IDI3KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBFU0NBUEVcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5faGlkZU1lbnUobWVudSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiBtZW51O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRpc2FybUNsaWNrOiBmYWxzZSxcbiAgICAgICAgICAgIF9zaG93TWVudShtZW51LCByZWxhdGl2ZVRvKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGlzYXJtQ2xpY2spIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNhcm1DbGljayA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHZhciB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICB2YXIgcG9zID0gcmVsYXRpdmVUby5vZmZzZXQoKTtcbiAgICAgICAgICAgICAgICB2YXIgaGVpZ2h0ID0gcmVsYXRpdmVUby5oZWlnaHQoKTtcbiAgICAgICAgICAgICAgICB2YXIgbWVudUhlaWdodCA9IG1lbnUuaGVpZ2h0KCk7XG4gICAgICAgICAgICAgICAgdmFyIHRvcCA9IGhlaWdodCArIHBvcy50b3A7XG4gICAgICAgICAgICAgICAgaWYgKHRvcCArIG1lbnVIZWlnaHQgLSAkKGRvY3VtZW50KS5zY3JvbGxUb3AoKSA+ICQod2luZG93KS5oZWlnaHQoKSkge1xuICAgICAgICAgICAgICAgICAgICB0b3AgLT0gdG9wICsgbWVudUhlaWdodCAtICQod2luZG93KS5oZWlnaHQoKSArIDU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0b3AgPCAwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1lbnUuaGVpZ2h0KG1lbnVIZWlnaHQgKyB0b3ApO1xuICAgICAgICAgICAgICAgICAgICB0b3AgPSAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBtZW51LmNzcyh7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogdG9wICsgXCJweFwiLFxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBwb3MubGVmdCArIFwicHhcIixcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBtZW51LnNsaWRlRG93bigxMDApO1xuICAgICAgICAgICAgICAgIHRoaXMuX2RlbGF5KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kdWlTZWxlY3QuYWRkQ2xhc3MoXCJyZWQtdWktdHlwZWRJbnB1dC1mb2N1c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgJChkb2N1bWVudCkub24oXCJtb3VzZWRvd24ucmVkLXVpLXR5cGVkSW5wdXQtY2xvc2UtcHJvcGVydHktc2VsZWN0XCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEkKGV2ZW50LnRhcmdldCkuY2xvc2VzdChtZW51KS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9oaWRlTWVudShtZW51KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKGV2ZW50LnRhcmdldCkuY2xvc2VzdChyZWxhdGl2ZVRvKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LmRpc2FybUNsaWNrID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfc2hvd1R5cGVNZW51KCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHRoaXMuX3Nob3dNZW51KHRoYXQuJG1lbnUsIHRoYXQuJGNvbWJvKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgdHlwZSA9IHRoYXQuc2VsZWN0ZWRNZW51SXRlbTtcbiAgICAgICAgICAgICAgICB2YXIgc2VsZWN0ZWQgPSB0aGF0LiRtZW51LmZpbmQoXCJbdmFsdWU9J1wiICsgdHlwZSArIFwiJ1wiKTtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQudHJpZ2dlcihcImZvY3VzXCIpO1xuICAgICAgICAgICAgICAgIH0sIDEyMCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX2luaXRNZW51KCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXIuYXR0cihcInRhYmluZGV4XCIsIC0xKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyLm9uKFwibW91c2Vkb3duLnJlZC11aS10eXBlZElucHV0LWZvY3VzLWJsb2NrXCIsIGZ1bmN0aW9uIChldnQpIHtcbiAgICAgICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKHRoYXQuJG1lbnUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kbWVudS5yZW1vdmUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gZmEtaWQtY2FyZFxuICAgICAgICAgICAgICAgIGNvbnN0IHR5cGVMaXN0ID0gW1xuICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiBcInRleHRcIiwgdmFsdWU6IFwidFwiLCB0aXRsZTogXCJWYWx1ZSBpcyBub3QgdmVyaWZpZWRcIiwgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtZm9udFwiL2k+ICcgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwibXNnLlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwibXNnXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCJub2RlIGlkIG9yICBicm93c2UgcGF0aCBjb21lcyBmcm9tIGluamVjdGVkIG1zZyBwYXJhbWV0ZXJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICc8aSBjbGFzcz1cImZhIGZhLWVudmVsb3BlLW9wZW4tb1wiLz4nLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiBcIk5vZGVJZFwiLCB2YWx1ZTogXCJuXCIsIGljb246ICc8aSBjbGFzcz1cImZhIGZhLXRhZ1wiLz4xICZuYnNwOyAnIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6IFwiQWxpYXNlZCBOb2RlSWRcIiwgdmFsdWU6IFwibmFcIiwgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtYm9va21hcmtcIi8+Jm5ic3A7ICcgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogXCJOb2RlSWQgd2l0aCBuYW1lc3BhY2UgVXJuXCIsIHZhbHVlOiBcIm5zdVwiLCBpY29uOiAnPGkgY2xhc3M9XCJmYSBmYS1pZC1jYXJkXCIvPiZuYnNwOyAnIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6IFwiQnJvd3NlUGF0aFwiLCB2YWx1ZTogXCJiXCIsIGljb246ICc8aSBjbGFzcz1cImZhIGZhLXRhZ1wiLz48aSBjbGFzcz1cImZhIGZhLWZpZ2h0ZXItamV0XCIvPiZuYnNwOycgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwiQWxpYXNlZCBCcm93c2UgUGF0aFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwiYWJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICc8aSBjbGFzcz1cImZhIGZhLWJvb2ttYXJrXCIvPjxpIGNsYXNzPVwiZmEgZmEtZmlnaHRlci1qZXRcIi8+Jm5ic3A7JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGEgPSBmaWd1cmVPdXRNZW5VSXRlbVZhbHVlKHRoYXQuJGlucHV0LnZhbCgpKTtcbiAgICAgICAgICAgICAgICBjb25zdCBlID0gdHlwZUxpc3QuZmluZCgoeCkgPT4geC52YWx1ZSA9PT0gYSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0TGFiZWwuZW1wdHkoKS5hcHBlbmQoYDxzcGFuIHRpdGxlPSR7KGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS50aXRsZSkgfHwgXCJcIn0+Jm5ic3A7ICR7KGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS5pY29uKSB8fCBcIlwifTwvc3Bhbj5gKTtcbiAgICAgICAgICAgICAgICB0aGF0LnNlbGVjdGVkTWVudUl0ZW0gPSBhO1xuICAgICAgICAgICAgICAgIGNvbnN0IHR0ID0gdGhpcztcbiAgICAgICAgICAgICAgICB0aGF0LiRtZW51ID0gdGhpcy5fY3JlYXRlTWVudSh0eXBlTGlzdCwge30sICh2KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1vZGUgPSB0b01vZGUodik7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBvbiBNZW51IHNlbGVjdGVkICFcbiAgICAgICAgICAgICAgICAgICAgICAgIHR0LnZlcmlmeShtb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBlID0gdHlwZUxpc3QuZmluZCgoeCkgPT4geC52YWx1ZSA9PT0gdik7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuc2VsZWN0ZWRNZW51SXRlbSA9IHY7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdExhYmVsLmVtcHR5KCkuYXBwZW5kKGA8c3BhbiB0aXRsZT0keyhlID09PSBudWxsIHx8IGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGUudGl0bGUpIHx8IFwiXCJ9PiZuYnNwOyAkeyhlID09PSBudWxsIHx8IGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGUuaWNvbikgfHwgXCJcIn08L3NwYW4+YCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kbWVudS5hcHBlbmRUbyhkb2N1bWVudC5ib2R5KTtcbiAgICAgICAgICAgICAgICB0aGF0LiRtZW51LmhpZGUoKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyLnNob3coKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBtb2RlKCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHJldHVybiB0b01vZGUodGhhdC5zZWxlY3RlZE1lbnVJdGVtKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzZXRNb2RlKG1vZGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICBjb25zdCBzID0gZnJvbU1vZGUobW9kZSk7XG4gICAgICAgICAgICAgICAgdGhhdC5zZWxlY3RlZE1lbnVJdGVtID0gcztcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfY3JlYXRlKCkge1xuICAgICAgICAgICAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0ID0gdGhpcy5lbGVtZW50O1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LmNzcyhcImJvcmRlclwiLCBcIm5vbmVcIik7XG4gICAgICAgICAgICAgICAgLy8gdGhhdC4kaW5wdXQuYWRkQ2xhc3MoXCJyZWQtdWktdHlwZWRJbnB1dFwiKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRlbGVtZW50RGl2ID0gdGhhdC4kaW5wdXQud3JhcChcIjxkaXY+XCIpLnBhcmVudCgpLmFkZENsYXNzKFwibWFpbi13cmFwcGVyXCIpO1xuICAgICAgICAgICAgICAgIC8vICNyZWdpb24gQ29tYm8gYnJvd3NlclxuICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvID0gJChcIjxkaXYvPlwiKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5hZGRDbGFzcyhcInN0ZXJmaXZlLWNvbWJvLWJveFwiKTtcbiAgICAgICAgICAgICAgICAvLyB0aGF0LiRjb21iby5hZGRDbGFzcyhcInJlZC11aS10eXBlZElucHV0LWlucHV0LXdyYXBcIik7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQucmVwbGFjZVdpdGgodGhhdC4kY29tYm8pO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0R3JvdXAgPSAkKFwiPGRpdi8+XCIpLmFkZENsYXNzKFwic3RlcmZpdmUtaW5wdXQtZ3JvdXBcIik7XG4gICAgICAgICAgICAgICAgdGhhdC4kY29tYm8uYXBwZW5kKHRoYXQuJGlucHV0R3JvdXApO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0R3JvdXAuYXBwZW5kKHRoYXQuJGlucHV0KTtcbiAgICAgICAgICAgICAgICAvLyAjZW5kcmVnaW9uXG4gICAgICAgICAgICAgICAgLy8gI3JlZ2lvbiBhZGQgYnV0dG9uIG9uIHRoZSByaWdodCBzaWRlXG4gICAgICAgICAgICAgICAgLy8gI3JlZ2lvbiB0b2dnbGVUcmVlQnRuXG4gICAgICAgICAgICAgICAgdGhhdC4kdG9nZ2xlVHJlZUJ0biA9ICQoYDxidXR0b24gdGl0bGU9XCJvcGVuIE9QQ1VBIEFkZHJlc3NTcGFjZSBCcm93c2VyXCI+PGkgY2xhc3M9XCJmYSBmYS1zaXRlbWFwXCI+PC9pPjwvYnV0dG9uPmApO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LmFmdGVyKHRoYXQuJHRvZ2dsZVRyZWVCdG4pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRvZ2dsZVRyZWVCdG4ub24oXCJjbGlja1wiLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbmVlZFRvUmVhY2hTZWxlY3Rpb24gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBwYXJlbnROb2RlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGF0LiRkcm9wZG93bi5pcyhcIjp2aXNpYmxlXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5mby5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdHJlZSB3aWRnZXQgaXMgZ29pbmcgdG8gYmVjb21lIHZpc2libGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnROb2RlID0geWllbGQgdGhhdC5yZXNvbHZlUGFyZW50Tm9kZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJlbnROb2RlICE9PSB0aGF0LmN1cnJlbnRQYXJlbnQgfHwgKChfYSA9IHRoYXQuY3VycmVudFBhcmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLm5vZGVJZCkgIT09IHBhcmVudE5vZGUubm9kZUlkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlpZWxkIHRoYXQucmVzZXQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVlZFRvUmVhY2hTZWxlY3Rpb24gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24udG9nZ2xlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZWVkVG9SZWFjaFNlbGVjdGlvbiAmJiAoeWllbGQgcmVhY2hTZWxlY3Rpb24odGhhdCwgcGFyZW50Tm9kZSkpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvLyAjZW5kcmVnaW9uXG4gICAgICAgICAgICAgICAgLy8gI3JlZ2lvbiB2ZXJpZnlCdG5cbiAgICAgICAgICAgICAgICB0aGF0LiR2ZXJpZnlCdG4gPSAkKGA8YnV0dG9uIHRpdGxlPVwidmVyaWZ5IG5vZGVJZCBvciBicm93c2VQYXRoXCI+PGkgY2xhc3M9XCJmYSBmYS1yZWZyZXNoXCI+PC9pPjwvYnV0dG9uPmApO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LmFmdGVyKHRoYXQuJHZlcmlmeUJ0bik7XG4gICAgICAgICAgICAgICAgdGhhdC4kdmVyaWZ5QnRuLm9uKFwiY2xpY2tcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtb2RlID0gdGhhdC5tb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghbW9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmVyaWZ5KG1vZGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIC8vICNlbmRyZWdpb25cbiAgICAgICAgICAgICAgICAvLyAjZW5kcmVnaW9uXG4gICAgICAgICAgICAgICAgY29uc3Qgbm9ybWFsaXplSW5wdXQgPSAoaW5wdXQpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgICAgIGxldCBtb2RlID0gdGhhdC5tb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghbW9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIEZldGNoIG5ldyBkYXRhIGZvciB0aGlzIG5vZGVcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29ubmVjdGlvbkRhdGEgPSBtYWtlQ29ubmVjdGlvbih0aGF0KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBkYXRhLCBqc29uIH0gPSB5aWVsZCBfY2FsbENoZWNrTm9kZUlkKGNvbm5lY3Rpb25EYXRhLCBpbnB1dCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGpzb24uc3RhdHVzQ29kZS5tYXRjaCgvR29vZC8pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZE5vZGVJZCA9IGNob29zZU5vZGVJZChqc29uLCBtb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LnZhbChzZWxlY3RlZE5vZGVJZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC50cmlnZ2VyKFwiY2hhbmdlXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgICAgLy8gY3JlYXRlIHRoZSBwcmVwZW5kZWQgYnV0dG9uXG4gICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiR1aVNlbGVjdCA9ICQoXCI8ZGl2PlwiKTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuYmVmb3JlKHRoYXQuJHVpU2VsZWN0KTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0VHJpZ2dlciA9ICQoJzxidXR0b24gdHlwZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiPjwvYnV0dG9uPicpLnByZXBlbmRUbyh0aGF0LiR1aVNlbGVjdCk7XG4gICAgICAgICAgICAgICAgICAgICQoJzxpIGNsYXNzPVwicmVkLXVpLXR5cGVkSW5wdXQtaWNvbiBmYSBmYS1jYXJldC1kb3duXCI+PC9pPicpLnRvZ2dsZSh0cnVlKS5hcHBlbmRUbyh0aGF0LiRzZWxlY3RUcmlnZ2VyKTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0VHJpZ2dlci5vbihcImNsaWNrXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fc2hvd1R5cGVNZW51KCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyXG4gICAgICAgICAgICAgICAgICAgICAgICAub24oXCJrZXlkb3duXCIsIGZ1bmN0aW9uIChldnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChldnQua2V5Q29kZSA9PT0gNDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBEb3duXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fc2hvd1R5cGVNZW51KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAub24oXCJmb2N1c1wiLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiR1aVNlbGVjdC5hZGRDbGFzcyhcInJlZC11aS10eXBlZElucHV0LWZvY3VzXCIpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgLm9uKFwiYmx1clwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB2YXIgb3B0ID0gdGhhdC50eXBlTWFwW3RoYXQucHJvcGVydHlUeXBlXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIChvcHQuaGFzVmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiR1aVNlbGVjdC5yZW1vdmVDbGFzcyhcInJlZC11aS10eXBlZElucHV0LWZvY3VzXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0TGFiZWwgPSAkKCc8c3BhbiBjbGFzcz1cInJlZC11aS10eXBlZElucHV0LXR5cGUtbGFiZWxcIj48L3NwYW4+JykuYXBwZW5kVG8odGhhdC4kc2VsZWN0VHJpZ2dlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuX2luaXRNZW51KCk7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGF0LiRpbnB1dC5hdHRyKFwicGxhY2Vob2xkZXJcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuYXR0cihcInBsYWNlaG9sZGVyXCIsIFwiZW50ZXIgYSBub2RlSWQgb3IgYSBicm93c2VQYXRoIFwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gI3JlZ2lvbiB0ZW1wb3JhdHkgaW5mbyBwYW5lbFxuICAgICAgICAgICAgICAgIHRoYXQuJGluZm8gPSAkKGA8ZGl2IGNsYXNzPVwic3RlcmZpdmUtaW5mby10ZXh0XCI+PC9kaXY+YCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5mby5oaWRlKCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kY29tYm8uYXBwZW5kKHRoYXQuJGluZm8pO1xuICAgICAgICAgICAgICAgIC8vICNlbmRyZWdpb25cbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIGRyb3AgZG93biB0cmVlXG4gICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24gPSAkKFwiPGRpdi8+XCIpLmFkZENsYXNzKFwic3RlcmZpdmUtZHJvcGRvd25cIikuaGlkZSgpLmFwcGVuZFRvKHRoYXQuJGNvbWJvKTtcbiAgICAgICAgICAgICAgICB0aGF0LiR0cmVlID0gJChgPHVsIGNsYXNzPVwic3RlcmZpdmUtdHJlZVwiPjwvdWw+YCkuYXBwZW5kVG8odGhhdC4kZHJvcGRvd24pO1xuICAgICAgICAgICAgICAgIC8vIHRoYXQuJGRyb3Bkb3duLnNob3coKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgLy8gI2VuZHJlZ2lvblxuICAgICAgICAgICAgICAgIGNvbnN0IGlzT25MZWZ0U2l6ZSA9ICgkbGksIGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJlZm9yZVdpZHRoID0gMjA7IC8vIFNldCB3aWR0aCBvZiB0aGUgOjpiZWZvcmUgY29udGVudFxuICAgICAgICAgICAgICAgICAgICBjb25zdCBiZWZvcmVIZWlnaHQgPSAyMDsgLy8gU2V0IGhlaWdodCBvZiB0aGUgOjpiZWZvcmUgY29udGVudFxuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50UG9zID0gJGxpLm9mZnNldCgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlID0gZXZlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlLnBhZ2VYID49IGVsZW1lbnRQb3MubGVmdCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgZS5wYWdlWCA8PSBlbGVtZW50UG9zLmxlZnQgKyBiZWZvcmVXaWR0aCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgZS5wYWdlWSA+PSBlbGVtZW50UG9zLnRvcCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgZS5wYWdlWSA8PSBlbGVtZW50UG9zLnRvcCArIGJlZm9yZUhlaWdodCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgdG9nZ2xlRXhwYW5zaW9uID0gKCRsaSkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoJGxpLmhhc0NsYXNzKFwiZXhwYW5kYWJsZVwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgX2V4cGFuZExpKHRoYXQsICRsaSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoJGxpLmhhc0NsYXNzKFwiZXhwYW5kZWRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRvZ2dsZSBpdHMgZXhwYW5kZWQvY29sbGFwc2VkIHN0YXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAkbGkuY2hpbGRyZW4oXCJ1bFwiKS50b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFN3YXAgZXhwYW5kYWJsZSBhbmQgZXhwYW5kZWQgY2xhc3Nlc1xuICAgICAgICAgICAgICAgICAgICAgICAgJGxpLnRvZ2dsZUNsYXNzKFwiZXhwYW5kYWJsZSBleHBhbmRlZFwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICgkbGkuY2hpbGRyZW4oXCJ1bFwiKS5jaGlsZHJlbigpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICRsaS5jaGlsZHJlbihcInVsXCIpLnRvZ2dsZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3dhcCBleHBhbmRhYmxlIGFuZCBleHBhbmRlZCBjbGFzc2VzXG4gICAgICAgICAgICAgICAgICAgICAgICAkbGkudG9nZ2xlQ2xhc3MoXCJleHBhbmRhYmxlIGV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUub24oXCJkYmxjbGlja1wiLCBcImxpXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0ICRsaSA9ICQodGhpcyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc09uTGVmdFNpemUoJGxpLCBldmVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZUV4cGFuc2lvbigkbGkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSAkbGkuZGF0YShcInZhbHVlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVmZXJlbmNlID0gJGxpLmRhdGEoXCJyZWZlcmVuY2VcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhhdC5vcHRpb25zLmlzU2VsZWN0YWJsZSAmJiAhdGhhdC5vcHRpb25zLmlzU2VsZWN0YWJsZShyZWZlcmVuY2UpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuZGF0YShcInJlZmVyZW5jZVwiLCByZWZlcmVuY2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgKChfYSA9IHJlZmVyZW5jZS5kaXNwbGF5TmFtZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnRleHQpIHx8ICgoX2IgPSByZWZlcmVuY2UuYnJvd3NlTmFtZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLm5hbWUpIHx8IHJlZmVyZW5jZS5ub2RlSWQudG9TdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnN0IGlucHV0ID0gYFske2Rpc3BsYXlOYW1lfV0oJHt2YWx1ZX0pYDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBtb2RlID0gdGhhdC5tb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW1vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlID0gXCJub2RlSWRcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LnNldE1vZGUobW9kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBub3JtYWxpemVJbnB1dCh2YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhhdC4kaW5wdXQudmFsKGlucHV0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGF0LiRpbnB1dC50cmlnZ2VyKFwiY2hhbmdlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGF0LiRpbnB1dC52YWwoaW5wdXQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoYXQuJGlucHV0LnRyaWdnZXIoXCJjaGFuZ2VcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24uaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGF0LiR0cmVlLm9uKFwiY2xpY2tcIiwgXCJsaVwiLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIGxldCAkbGkgPSAkKHRoaXMpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPbkxlZnRTaXplKCRsaSwgZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVFeHBhbnNpb24oJGxpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RTaW5nbGUodGhhdCwgJGxpKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vbihcImNsaWNrXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBjbGlja2luZyBvdXRzaWRlIHRoZSBwYWdlIHdpbGwgaGlkZSB0aGUgZHJvcGRvd25cbiAgICAgICAgICAgICAgICAgICAgaWYgKCEkKGV2ZW50LnRhcmdldCkuY2xvc2VzdCh0aGF0LiRjb21ibykubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBjb25zdCBkZWNsYXJlRmxhZ0VkaXRvcldpZGdldCA9ICgpID0+IHtcbiAgICAgICAgJC53aWRnZXQoXCJzdGVyZml2ZS5mbGFnRWRpdG9yXCIsIHtcbiAgICAgICAgICAgIC8vIGRlZmF1bHQgb3B0aW9uc1xuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgIG5hbWVzVG9CaXRzOiB7XG4gICAgICAgICAgICAgICAgLy8gQWRkIG1vcmUgbmFtZXMgYW5kIGJpdCB2YWx1ZXNcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHZhbHVlOiAwLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF9jcmVhdGUoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgLy8gQ3VzdG9tIERyb3Bkb3duXG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQgPSB0aGlzLmVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgdGhhdC4kY29tYm8gPSAkKFwiPGRpdi8+XCIpO1xuICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLmFkZENsYXNzKFwic3RlcmZpdmUtY29tYm8tYm94XCIpO1xuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFswXS5wYXJlbnRFbGVtZW50LnJlcGxhY2VDaGlsZCh0aGF0LiRjb21ib1swXSwgdGhpcy5lbGVtZW50WzBdKTtcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmVsZW1lbnQucmVwbGFjZVdpdGgodGhhdC4kY29tYm8pO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0R3JvdXAgPSAkKFwiPGRpdi8+XCIpLmFkZENsYXNzKFwiaW5wdXQtZ3JvdXBcIik7XG4gICAgICAgICAgICAgICAgdGhhdC4kY29tYm8uYXBwZW5kKHRoYXQuJGlucHV0R3JvdXApO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0R3JvdXAuYXBwZW5kKHRoYXQuJGlucHV0KTtcbiAgICAgICAgICAgICAgICAvLyB0aGUgdG9nZ2xlIHRyZWUgYnV0dG9uOlxuICAgICAgICAgICAgICAgIC8vICAgd2hlbiB3ZSBjbGljayBpdCB0aGUgZHJvcCBkb3duIHBhbmVsIGlzIGRpc3BsYXllZFxuICAgICAgICAgICAgICAgIHRoYXQuJHRvZ2dsZVRyZWVCdG4gPSAkKGA8YnV0dG9uPjxpIGNsYXNzPVwiZmEgZmEtZXllXCI+PC9pPjwvYnV0dG9uPmApO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0R3JvdXAuYXBwZW5kKHRoYXQuJHRvZ2dsZVRyZWVCdG4pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRvZ2dsZVRyZWVCdG4ub24oXCJjbGlja1wiLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLnRvZ2dsZSgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhhdC4kZHJvcGRvd24uaXMoXCI6dmlzaWJsZVwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhhdC4kc2VsZWN0LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVGcm9tSW5wdXQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLmZpbmQoXCIuY3VzdG9tLW9wdGlvblwiKS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgb3B0aW9uTmFtZSA9ICQodGhpcykudGV4dCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJpdFZhbHVlID0gdGhhdC5vcHRpb25zLm5hbWVzVG9CaXRzW29wdGlvbk5hbWVdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChiaXRWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlVua25vd24gYml0IG5hbWVcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgodGhhdC5vcHRpb25zLnZhbHVlICYgYml0VmFsdWUpID09PSBiaXRWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmFkZENsYXNzKFwic2VsZWN0ZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKFwic2VsZWN0ZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBVcGRhdGUgdGhlIGhpZGRlbiBzZWxlY3QgZWxlbWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC51cGRhdGVWYWx1ZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgLy8gdGhlIGRyb3AgZG93biBwYW5lbFxuICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duID0gJCgnPGRpdiBjbGFzcz1cImN1c3RvbS1zZWxlY3RcIj48L2Rpdj4nKS5oaWRlKCkuaW5zZXJ0QWZ0ZXIodGhpcy5lbGVtZW50KTtcbiAgICAgICAgICAgICAgICAkLmVhY2godGhpcy5vcHRpb25zLm5hbWVzVG9CaXRzLCBmdW5jdGlvbiAobmFtZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCAkb3B0aW9uID0gJCgnPGRpdiBjbGFzcz1cImN1c3RvbS1vcHRpb25cIiBkYXRhLXZhbHVlPVwiJyArXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lICtcbiAgICAgICAgICAgICAgICAgICAgICAgICdcIj4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz1cImN1c3RvbS1jaGVja2JveFwiPjwvc3Bhbj4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgK1xuICAgICAgICAgICAgICAgICAgICAgICAgXCI8L2Rpdj5cIik7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLmFwcGVuZCgkb3B0aW9uKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvLyB3aGVuIGEgb3B0aW9ucyBpbiB0aGUgZHJvcCBkb3duIHBhbmVsIGlzIGNsaWNrZWQsXG4gICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24ub24oXCJjbGlja1wiLCBcIi5jdXN0b20tb3B0aW9uXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS50b2dnbGVDbGFzcyhcInNlbGVjdGVkXCIpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9ICQodGhpcykuZGF0YShcInZhbHVlXCIpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoJCh0aGlzKS5oYXNDbGFzcyhcInNlbGVjdGVkXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRCaXQodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdW5zZXRCaXQodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoYXQudXBkYXRlVmFsdWUoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5hcHBlbmQodGhhdC4kZHJvcGRvd24pO1xuICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZUZyb21JbnB1dCA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmVsZW1lbnQudmFsKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQub3B0aW9ucy52YWx1ZSA9IGNvZXJjZUZsYWdNYXNrVG9OdW1iZXIodGhhdC5vcHRpb25zLm5hbWVzVG9CaXRzLCB2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBzZXRCaXQgPSAoYml0TmFtZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBiaXQgPSB0aGF0Lm9wdGlvbnMubmFtZXNUb0JpdHNbYml0TmFtZV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChiaXQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biBiaXQgbmFtZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMudmFsdWUgfD0gYml0O1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgdW5zZXRCaXQgPSAoYml0TmFtZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBiaXQgPSB0aGF0Lm9wdGlvbnMubmFtZXNUb0JpdHNbYml0TmFtZV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChiaXQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biBiaXQgbmFtZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMudmFsdWUgJj0gfmJpdDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LnZhbChjb2VyY2VGbGFnTWFza1RvU3RyaW5nKHRoYXQub3B0aW9ucy5uYW1lc1RvQml0cywgdGhpcy5vcHRpb25zLnZhbHVlKSk7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB1cGRhdGVGcm9tSW5wdXQoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB1cGRhdGVWYWx1ZSgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQudmFsKGNvZXJjZUZsYWdNYXNrVG9TdHJpbmcodGhhdC5vcHRpb25zLm5hbWVzVG9CaXRzLCB0aGlzLm9wdGlvbnMudmFsdWUpKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfZGVzdHJveSgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi5yZW1vdmUoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHRoZSBlbmRwb2ludCBhdHRyaWJ1dGVzIGNvbnRhaW5pbmc6XG4gICAgICogIC0gdGhlIGVuZHBvaW50LCBzZWN1cml0eU1vZGUsIHNlY3VyaXR5UG9saWN5LFxuICAgICAqICAtIHVzZXJJZGVudGl0eVR5cGUsXG4gICAgICogIC0gY3JlZGVudGlhbHNcbiAgICAgKiAgLSBuYW1lc3BhY2VBbGlhc2VzXG4gICAgICpcbiAgICAgKiBleHRyYWN0ZWQgZnJvbSB0aGUgdWkgd2lkZ2V0ICNub2RlLWlucHV0LWVuZHBvaW50XG4gICAgICovXG4gICAgY29uc3QgZ2V0RW5kUG9pbnRBdHRyaWJ1dGVzID0gKCkgPT4ge1xuICAgICAgICBjb25zdCAkZW5kcG9pbnQgPSAkKFwiI25vZGUtaW5wdXQtZW5kcG9pbnRcIik7XG4gICAgICAgIGNvbnN0IGVuZHBvaW50SWQgPSAkZW5kcG9pbnQudmFsKCk7XG4gICAgICAgIGNvbnN0IHJlZE5vZGUgPSBSRUQubm9kZXMubm9kZShlbmRwb2ludElkKTtcbiAgICAgICAgaWYgKCFyZWROb2RlKVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgLy8gY29uc3QgY3JlZGVudGlhbHMgPSBSRUQuKGVuZHBvaW50SWQpO1xuICAgICAgICAvLyB3ZSBuZWVkIHRvIHNhbml0aXplIGFuZCBleHRyYWN0IHRoZSBlbmRwb2ludCBhdHRyaWJ1dGVzIG9ubHkgKCBub3QgdGhlIG5vZGUtcmVkIHN0dWZmKVxuICAgICAgICBjb25zdCB7IGVuZHBvaW50LCBzZWN1cml0eU1vZGUsIHNlY3VyaXR5UG9saWN5LCB1c2VySWRlbnRpdHlUeXBlLCBjcmVkZW50aWFscywgbmFtZXNwYWNlQWxpYXNlcyB9ID0gcmVkTm9kZTtcbiAgICAgICAgY29uc3QgcmV0VmFsdWUgPSB7XG4gICAgICAgICAgICBlbmRwb2ludCxcbiAgICAgICAgICAgIHNlY3VyaXR5TW9kZSxcbiAgICAgICAgICAgIHNlY3VyaXR5UG9saWN5LFxuICAgICAgICAgICAgdXNlcklkZW50aXR5VHlwZSxcbiAgICAgICAgICAgIGNyZWRlbnRpYWxzLFxuICAgICAgICAgICAgbmFtZXNwYWNlQWxpYXNlcyxcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHJldFZhbHVlO1xuICAgIH07XG4gICAgY29uc3QgZ2V0RW5kcG9pbnRQYXJhbWV0ZXJzID0gKCkgPT4ge1xuICAgICAgICBjb25zdCAkZW5kcG9pbnQgPSAkKFwiI25vZGUtaW5wdXQtZW5kcG9pbnRcIik7XG4gICAgICAgIGNvbnN0IGVuZHBvaW50SWQgPSAkZW5kcG9pbnQudmFsKCk7XG4gICAgICAgIGNvbnN0IGVuZHBvaW50TnIgPSBnZXRFbmRQb2ludEF0dHJpYnV0ZXMoKTtcbiAgICAgICAgaWYgKCFlbmRwb2ludE5yKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5hbWVzcGFjZUFsaWFzZXMgPSBlbmRwb2ludE5yLm5hbWVzcGFjZUFsaWFzZXM7XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHsgbmFtZXNwYWNlQWxpYXNlcywgaWQ6IGVuZHBvaW50SWQgfSwgZW5kcG9pbnROcik7XG4gICAgfTtcbiAgICBjb25zdCBnZXRFbmRwb2ludFBhcmFtZXRlcnNIYW5kbGVyID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZW5kcG9pbnROb2RlOiBnZXRFbmRwb2ludFBhcmFtZXRlcnMsXG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIGNvbnN0IGluc3RhbGxGZWVkYmFja1dpZGdldCA9ICgpID0+IHtcbiAgICAgICAgLy8gcmV0dXJuO1xuICAgICAgICAvLyBkZWJ1Z2dlcjtcbiAgICAgICAgY29uc3QgdHJheUNvbnRlbnQgPSAkKFwiLnJlZC11aS10cmF5LWJvZHlcIik7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiaW5zdGFsbEZlZWRiYWNrV2lkZ2V0IFwiLCB0cmF5Q29udGVudC5sZW5ndGgpO1xuICAgICAgICBpZiAodHJheUNvbnRlbnQubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImluc3RhbGxpbmcgaWZyYW1lXCIpO1xuICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBpZnJhbWUgZWxlbWVudFxuICAgICAgICAgICAgY29uc3QgaWZyYW1lID0gJChcIjxpZnJhbWU+PC9pZnJhbWU+XCIsIHtcbiAgICAgICAgICAgICAgICBzcmM6IFwiL29wY3VhLWZvci1ub2RlLXJlZC9zdXBwb3J0LWZyYW1lLmh0bWxcIixcbiAgICAgICAgICAgICAgICBzY3JvbGxpbmc6IFwibm9cIixcbiAgICAgICAgICAgICAgICBzdHlsZTogXCJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O292ZXJmbG93OmhpZGRlbjtib3JkZXI6M3B4XCIsXG4gICAgICAgICAgICAgICAgYWxsb3d0cmFuc3BhcmVuY3k6IFwidHJ1ZVwiLFxuICAgICAgICAgICAgICAgIHdpZHRoOiBcIjE4MHB4XCIsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBcIjMwcHhcIixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gQXBwZW5kIHRoZSBpZnJhbWUgdG8gdGhlIGZlZWRiYWNrIGVsZW1lbnRcbiAgICAgICAgICAgIHRyYXlDb250ZW50LmFwcGVuZChpZnJhbWUpO1xuICAgICAgICAgICAgLy8gUG9zaXRpb24gdGhlIGZlZWRiYWNrIGVsZW1lbnQgYXQgdGhlIGJvdHRvbSByaWdodCBvZiB0aGUgdHJheSBjb250ZW50XG4gICAgICAgICAgICBpZnJhbWUuY3NzKHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICAgICAgICAgIHJpZ2h0OiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICBib3R0b206IFwiMTZweFwiLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgUkVELm5vZGVzLnJlZ2lzdGVyVHlwZShcIk9wY1VhLUNsaWVudDItQnJvd3NlXCIsIHtcbiAgICAgICAgY2F0ZWdvcnk6IFwib3BjdWFcIixcbiAgICAgICAgY29sb3I6IFwiI0MwREVFRFwiLFxuICAgICAgICBhbGlnbjogXCJyaWdodFwiLFxuICAgICAgICBpY29uOiBcIi4uLy4uL2ljb25zL29wY3Vhbm9kZUxvZ28ucG5nXCIsXG4gICAgICAgIHBhbGV0dGVMYWJlbDogXCJicm93c2VcIixcbiAgICAgICAgZGVmYXVsdHM6IHtcbiAgICAgICAgICAgIGlucHV0czogeyB2YWx1ZTogMSB9LFxuICAgICAgICAgICAgb3V0cHV0OiB7IHZhbHVlOiA0IH0sXG4gICAgICAgICAgICAvLyBDb21tb25cbiAgICAgICAgICAgIG5hbWU6IHsgdmFsdWU6IFwiXCIgfSxcbiAgICAgICAgICAgIGVuZHBvaW50OiB7IHZhbHVlOiBcIlwiLCByZXF1aXJlZDogdHJ1ZSwgdHlwZTogXCJPcGNVYS1FbmRwb2ludDJcIiB9LFxuICAgICAgICAgICAgLy8gZm9yIGFjdGlvbiByZWFkXG4gICAgICAgICAgICBub2RlSWQ6IHsgdmFsdWU6IFwiXCIsIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgcmVmZXJlbmNlVHlwZUlkOiB7IHZhbHVlOiBcIkhhc0NoaWxkXCIsIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgaW5jbHVkZVN1YnR5cGVzOiB7IHZhbHVlOiBmYWxzZSwgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICAgICAgICAgIGJyb3dzZURpcmVjdGlvbjogeyB2YWx1ZTogXCJGb3J3YXJkXCIsIHJlcXVpcmVkOiB0cnVlIH0sXG4gICAgICAgICAgICBub2RlQ2xhc3NNYXNrOiB7IHZhbHVlOiBcIlZhcmlhYmxlIHwgT2JqZWN0IHwgTWV0aG9kIHwgT2JqZWN0VHlwZSB8IFZhcmlhYmxlVHlwZVwiLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIHJlc3VsdE1hc2s6IHsgdmFsdWU6IFwiUmVmZXJlbmNlVHlwZSB8IEJyb3dzZU5hbWUgfCBUeXBlRGVmaW5pdGlvbiB8IERpc3BsYXlOYW1lIHwgTm9kZUNsYXNzIHwgSXNGb3J3YXJkXCIsIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgICB9LFxuICAgICAgICBvdXRwdXRzOiAxLFxuICAgICAgICBsYWJlbCgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5hbWUgfHwgXCJPUENVQSBCcm93c2VcIjtcbiAgICAgICAgfSxcbiAgICAgICAgbGFiZWxTdHlsZSgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5hbWUgPyBcIm5vZGVfbGFiZWxfaXRhbGljXCIgOiBcIlwiO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRwcmVwYXJlKCkge1xuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXM7XG4gICAgICAgICAgICBkZWNsYXJlTm9kZUJyb3dzZXJXaWRnZXQoKTtcbiAgICAgICAgICAgIGRlY2xhcmVGbGFnRWRpdG9yV2lkZ2V0KCk7XG4gICAgICAgICAgICBpbnN0YWxsRmVlZGJhY2tXaWRnZXQoKTtcbiAgICAgICAgICAgIG5vZGUuaW5wdXRzID0gMTtcbiAgICAgICAgICAgIGNvbnN0ICRub2RlQ2xhc3NNYXNrID0gJChcIiNub2RlLWlucHV0LW5vZGVDbGFzc01hc2tcIik7XG4gICAgICAgICAgICAkbm9kZUNsYXNzTWFzay5mbGFnRWRpdG9yKHtcbiAgICAgICAgICAgICAgICBuYW1lc1RvQml0czoge1xuICAgICAgICAgICAgICAgICAgICBPYmplY3Q6IDEsXG4gICAgICAgICAgICAgICAgICAgIFZhcmlhYmxlOiAyLFxuICAgICAgICAgICAgICAgICAgICBNZXRob2Q6IDQsXG4gICAgICAgICAgICAgICAgICAgIE9iamVjdFR5cGU6IDgsXG4gICAgICAgICAgICAgICAgICAgIFZhcmlhYmxlVHlwZTogMTYsXG4gICAgICAgICAgICAgICAgICAgIFJlZmVyZW5jZVR5cGU6IDMyLFxuICAgICAgICAgICAgICAgICAgICBEYXRhVHlwZTogNjQsXG4gICAgICAgICAgICAgICAgICAgIFZpZXc6IDEyOCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHZhbHVlOiAwLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCAkcmVzdWx0TWFzayA9ICQoXCIjbm9kZS1pbnB1dC1yZXN1bHRNYXNrXCIpO1xuICAgICAgICAgICAgJHJlc3VsdE1hc2suZmxhZ0VkaXRvcih7XG4gICAgICAgICAgICAgICAgbmFtZXNUb0JpdHM6IHtcbiAgICAgICAgICAgICAgICAgICAgUmVmZXJlbmNlVHlwZTogMSxcbiAgICAgICAgICAgICAgICAgICAgSXNGb3J3YXJkOiAyLFxuICAgICAgICAgICAgICAgICAgICBOb2RlQ2xhc3M6IDQsXG4gICAgICAgICAgICAgICAgICAgIEJyb3dzZU5hbWU6IDgsXG4gICAgICAgICAgICAgICAgICAgIERpc3BsYXlOYW1lOiAxNixcbiAgICAgICAgICAgICAgICAgICAgVHlwZURlZmluaXRpb246IDMyLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdmFsdWU6IDYzLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCAkbm9kZUlkID0gJChcIiNub2RlLWlucHV0LW5vZGVJZFwiKTtcbiAgICAgICAgICAgICRub2RlSWQubm9kZUJyb3dzZXIoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBnZXRFbmRwb2ludFBhcmFtZXRlcnNIYW5kbGVyKCkpLCB7IGlzU2VsZWN0YWJsZShub2RlRGVzYykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbm9kZURlc2Mubm9kZUNsYXNzID09PSBcIlZhcmlhYmxlXCIgfHwgbm9kZURlc2Mubm9kZUNsYXNzID09PSBcIk9iamVjdFwiO1xuICAgICAgICAgICAgICAgIH0gfSkpO1xuICAgICAgICAgICAgY29uc3QgcmVmZXJlbmNlc05vZGVEZXNjID0ge1xuICAgICAgICAgICAgICAgIG5vZGVJZDogXCJpPTMxXCIsXG4gICAgICAgICAgICAgICAgcmVmZXJlbmNlVHlwZUlkOiBcIlwiLFxuICAgICAgICAgICAgICAgIGJyb3dzZU5hbWU6IHsgbmFtZXNwYWNlSW5kZXg6IDAsIG5hbWU6IFwiUmVmZXJlbmNlc1wiIH0sXG4gICAgICAgICAgICAgICAgZGlzcGxheU5hbWU6IHsgdGV4dDogXCJSZWZlcmVuY2VzXCIgfSxcbiAgICAgICAgICAgICAgICBub2RlQ2xhc3M6IFwiUmVmZXJlbmNlVHlwZVwiLFxuICAgICAgICAgICAgICAgIHR5cGVEZWZpbml0aW9uOiBcImk9MzFcIixcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCAkcmVmZXJlbmNlVHlwZUlkID0gJChcIiNub2RlLWlucHV0LXJlZmVyZW5jZVR5cGVJZFwiKTtcbiAgICAgICAgICAgICRyZWZlcmVuY2VUeXBlSWQubm9kZUJyb3dzZXIoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBnZXRFbmRwb2ludFBhcmFtZXRlcnNIYW5kbGVyKCkpLCB7IHBhcmVudE5vZGU6ICgpID0+IHJlZmVyZW5jZXNOb2RlRGVzYywgLy8gUmVmZXJlbmNlcyxcbiAgICAgICAgICAgICAgICBpc1NlbGVjdGFibGUobm9kZURlc2MpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5vZGVEZXNjLm5vZGVDbGFzcyA9PT0gXCJSZWZlcmVuY2VUeXBlXCI7XG4gICAgICAgICAgICAgICAgfSwgaXNUeXBlUmVmOiB0cnVlIH0pKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25lZGl0c2F2ZSgpIHsgfSxcbiAgICB9KTtcblxufSkoKTsiXX0=
|
7
|
+
function _0x1801(_0x1adf5f,_0x1581b6){const _0x115ee4=_0x115e();return _0x1801=function(_0x18016e,_0x4b632f){_0x18016e=_0x18016e-0x199;let _0x3b5769=_0x115ee4[_0x18016e];return _0x3b5769;},_0x1801(_0x1adf5f,_0x1581b6);}(function(_0x40b4c7,_0x490471){const _0x56dd7e=_0x1801,_0x3c879e=_0x40b4c7();while(!![]){try{const _0x302827=parseInt(_0x56dd7e(0x281))/0x1*(parseInt(_0x56dd7e(0x1bd))/0x2)+-parseInt(_0x56dd7e(0x2c8))/0x3*(-parseInt(_0x56dd7e(0x237))/0x4)+parseInt(_0x56dd7e(0x25c))/0x5+parseInt(_0x56dd7e(0x1ce))/0x6*(-parseInt(_0x56dd7e(0x1c7))/0x7)+-parseInt(_0x56dd7e(0x2c0))/0x8+-parseInt(_0x56dd7e(0x1ab))/0x9+-parseInt(_0x56dd7e(0x208))/0xa*(parseInt(_0x56dd7e(0x219))/0xb);if(_0x302827===_0x490471)break;else _0x3c879e['push'](_0x3c879e['shift']());}catch(_0x1647af){_0x3c879e['push'](_0x3c879e['shift']());}}}(_0x115e,0xf2fb3),(function(){'use strict';const _0x166750=_0x1801;function _0x934485(_0xddcb99,_0x21d61b,_0x390338,_0x348d89){function _0x4d0bbd(_0x4a4417){return _0x4a4417 instanceof _0x390338?_0x4a4417:new _0x390338(function(_0x149023){_0x149023(_0x4a4417);});}return new(_0x390338||(_0x390338=Promise))(function(_0xf6d648,_0xbcd7d7){const _0x583e7a=_0x1801;function _0x2298e3(_0x4a248a){try{_0xdc4a56(_0x348d89['next'](_0x4a248a));}catch(_0x1dc320){_0xbcd7d7(_0x1dc320);}}function _0xba07e8(_0x2eed8c){const _0x4d6643=_0x1801;try{_0xdc4a56(_0x348d89[_0x4d6643(0x266)](_0x2eed8c));}catch(_0x5158ae){_0xbcd7d7(_0x5158ae);}}function _0xdc4a56(_0x1aa4d2){const _0xb6ef1b=_0x1801;_0x1aa4d2[_0xb6ef1b(0x228)]?_0xf6d648(_0x1aa4d2[_0xb6ef1b(0x1c2)]):_0x4d0bbd(_0x1aa4d2[_0xb6ef1b(0x1c2)])[_0xb6ef1b(0x1d8)](_0x2298e3,_0xba07e8);}_0xdc4a56((_0x348d89=_0x348d89['apply'](_0xddcb99,_0x21d61b||[]))[_0x583e7a(0x2a2)]());});}typeof SuppressedError===_0x166750(0x1f7)?SuppressedError:function(_0x2c510c,_0x19d7de,_0x459a23){const _0x539a29=_0x166750;var _0x36ba55=new Error(_0x459a23);return _0x36ba55[_0x539a29(0x1f2)]=_0x539a29(0x1fe),_0x36ba55[_0x539a29(0x1cf)]=_0x2c510c,_0x36ba55[_0x539a29(0x20b)]=_0x19d7de,_0x36ba55;};const _0x3b278f=_0x166750(0x2cb),_0x18b0d6=_0x166750(0x1df),_0x133a0e=_0x166750(0x1b2),_0x554a70=_0x166750(0x273),_0x8e0c3f=_0x166750(0x1c9),_0x186fba=_0x166750(0x206),_0x2044d3=_0x166750(0x19a);var _0x411e87;(function(_0x4fd98f){const _0x195e91=_0x166750;_0x4fd98f[_0x4fd98f[_0x195e91(0x270)]=0x0]=_0x195e91(0x270),_0x4fd98f[_0x4fd98f[_0x195e91(0x1b0)]=0x1]='Inverse',_0x4fd98f[_0x4fd98f[_0x195e91(0x297)]=0x2]=_0x195e91(0x297),_0x4fd98f[_0x4fd98f[_0x195e91(0x20c)]=0x3]='Invalid';}(_0x411e87||(_0x411e87={})));var _0x25a8a3;(function(_0x278e07){const _0x29a633=_0x166750;_0x278e07[_0x278e07[_0x29a633(0x1b3)]=0x0]=_0x29a633(0x1b3),_0x278e07[_0x278e07[_0x29a633(0x1d0)]=0x1]=_0x29a633(0x1d0),_0x278e07[_0x278e07[_0x29a633(0x20f)]=0x2]=_0x29a633(0x20f),_0x278e07[_0x278e07[_0x29a633(0x282)]=0x4]=_0x29a633(0x282),_0x278e07[_0x278e07['ObjectType']=0x8]=_0x29a633(0x2a8),_0x278e07[_0x278e07[_0x29a633(0x1f8)]=0x10]=_0x29a633(0x1f8),_0x278e07[_0x278e07[_0x29a633(0x23e)]=0x20]=_0x29a633(0x23e),_0x278e07[_0x278e07['DataType']=0x40]=_0x29a633(0x27a),_0x278e07[_0x278e07[_0x29a633(0x242)]=0x80]=_0x29a633(0x242);}(_0x25a8a3||(_0x25a8a3={})));var _0x2fd35c;(function(_0xe2b065){const _0x31699a=_0x166750;_0xe2b065[_0xe2b065['Object']=0x1]=_0x31699a(0x1d0),_0xe2b065[_0xe2b065['Variable']=0x2]='Variable',_0xe2b065[_0xe2b065[_0x31699a(0x282)]=0x4]=_0x31699a(0x282),_0xe2b065[_0xe2b065['ObjectType']=0x8]=_0x31699a(0x2a8),_0xe2b065[_0xe2b065['VariableType']=0x10]=_0x31699a(0x1f8),_0xe2b065[_0xe2b065[_0x31699a(0x23e)]=0x20]='ReferenceType',_0xe2b065[_0xe2b065[_0x31699a(0x27a)]=0x40]=_0x31699a(0x27a),_0xe2b065[_0xe2b065[_0x31699a(0x242)]=0x80]=_0x31699a(0x242);}(_0x2fd35c||(_0x2fd35c={})));function _0x16caa8(_0x171168,_0x5e593e){const _0x3949c7=_0x166750;if(typeof _0x5e593e===_0x3949c7(0x211))return _0x5e593e;const _0x3e6139=parseInt(_0x5e593e,0xa);if(!isNaN(_0x3e6139))return _0x3e6139;const _0x5ce649=_0x5e593e[_0x3949c7(0x1dd)](/\||;|,/)['map'](_0xa3a450=>_0xa3a450[_0x3949c7(0x221)]());let _0x4640ec=0x0;for(const _0x2c3f20 of _0x5ce649){_0x4640ec|=_0x171168[_0x2c3f20];}return _0x4640ec;}function _0x5e3f20(_0x344566,_0x1e5e4e){const _0x5bf377=_0x166750;_0x1e5e4e=_0x16caa8(_0x344566,_0x1e5e4e);const _0x5615bd=[];if(!_0x344566)return _0x5615bd['join'](_0x5bf377(0x2b3));for(const [_0x11ee5b,_0x132458]of Object[_0x5bf377(0x25a)](_0x344566)){typeof _0x1e5e4e==='number'&&((_0x1e5e4e&_0x132458)===_0x132458&&_0x5615bd[_0x5bf377(0x2b7)](_0x11ee5b));}return _0x5615bd['join'](_0x5bf377(0x2b3));}var _0x62e4a8;(function(_0x44bdc4){const _0x3974ed=_0x166750;_0x44bdc4[_0x44bdc4[_0x3974ed(0x23e)]=0x1]=_0x3974ed(0x23e),_0x44bdc4[_0x44bdc4['IsForward']=0x2]=_0x3974ed(0x1da),_0x44bdc4[_0x44bdc4['NodeClass']=0x4]=_0x3974ed(0x22e),_0x44bdc4[_0x44bdc4[_0x3974ed(0x285)]=0x8]=_0x3974ed(0x285),_0x44bdc4[_0x44bdc4['DisplayName']=0x10]=_0x3974ed(0x252),_0x44bdc4[_0x44bdc4[_0x3974ed(0x255)]=0x20]='TypeDefinition';}(_0x62e4a8||(_0x62e4a8={})));function _0x2643f5(_0x29ddcd){const _0x11efe4=_0x166750;switch(_0x29ddcd){case _0x11efe4(0x283):return _0x3b278f;case _0x11efe4(0x26b):return _0x554a70;case _0x11efe4(0x248):return _0x133a0e;case _0x11efe4(0x1a9):return _0x8e0c3f;case _0x11efe4(0x21a):return _0x186fba;case _0x11efe4(0x245):return _0x2044d3;}}const _0x1b4439=_0x18349e=>{const _0x143ea8=_0x166750;switch(_0x18349e[_0x143ea8(0x294)]){case _0x143ea8(0x1d0):if(_0x18349e[_0x143ea8(0x203)]===_0x3b278f);if(_0x18349e[_0x143ea8(0x26f)]===_0x18b0d6||_0x18349e[_0x143ea8(0x203)]===_0x143ea8(0x264))return{'icon':_0x143ea8(0x224),'color':'rgba(61,\x2060,\x204,\x200.525)'};return{'icon':'fa-object-group','color':'SeaGreen'};case _0x143ea8(0x20f):if(_0x18349e[_0x143ea8(0x203)]===_0x133a0e)return{'icon':_0x143ea8(0x227),'color':_0x143ea8(0x1be)};else return _0x18349e[_0x143ea8(0x203)]===_0x554a70?{'icon':_0x143ea8(0x227),'color':_0x143ea8(0x1e3)}:{'icon':'fa-list-alt','color':_0x143ea8(0x1a0)};case'Method':return{'icon':_0x143ea8(0x1b9),'color':_0x143ea8(0x1a2)};case _0x143ea8(0x2a8):return{'icon':'fa-object-group','color':_0x143ea8(0x2c7)};case _0x143ea8(0x1f8):return{'icon':_0x143ea8(0x24c),'color':_0x143ea8(0x2c7)};case'DataType':return{'icon':_0x143ea8(0x24e),'color':_0x143ea8(0x1a0)};}return{'icon':_0x143ea8(0x267),'color':'grey'};},_0x70fa7f=(_0x18b291,_0x32c810,_0x50ed6f)=>_0x934485(void 0x0,[_0x18b291,_0x32c810,_0x50ed6f],void 0x0,function*({endpointNode:_0x582c3b,endpoint:_0x4de23c,baseUrl:_0x509e18},_0x5834f6,_0x344660){const _0x46fdd1=_0x166750,_0x3e993e=_0x509e18+_0x46fdd1(0x2d0),_0x39e425=_0x3e993e+'/browse',_0x3606ab=Object['assign'](Object[_0x46fdd1(0x2a5)]({},_0x344660),{'nodeId':_0x5834f6,'resultMask':0x3f}),_0x444531=yield fetch(_0x39e425,{'method':_0x46fdd1(0x257),'body':JSON[_0x46fdd1(0x21e)]({'endpointNode':_0x582c3b,'endpoint':_0x4de23c,'browseDescription':_0x3606ab}),'headers':{'Content-Type':_0x46fdd1(0x1fc)}});if(_0x444531[_0x46fdd1(0x2b9)]!==0xc8)return console[_0x46fdd1(0x29d)](_0x46fdd1(0x256),_0x444531[_0x46fdd1(0x2b9)],_0x444531['statusText']),{'references':[]};const _0x2363f0=yield _0x444531[_0x46fdd1(0x1d1)](),_0x144d15=_0x2363f0[_0x46fdd1(0x1ed)][_0x46fdd1(0x254)]||[];return{'references':_0x144d15};}),_0x57af6d={'referenceTypeId':_0x2643f5(_0x166750(0x1a9)),'includeSubtypes':!![],'browseDirection':_0x411e87[_0x166750(0x270)],'nodeClassMask':_0x25a8a3[_0x166750(0x20f)]|_0x25a8a3['Object']|_0x25a8a3[_0x166750(0x282)],'resultMask':0x3f},_0x7b51ea={'referenceTypeId':_0x2643f5(_0x166750(0x283)),'includeSubtypes':!![],'browseDirection':_0x411e87[_0x166750(0x270)],'nodeClassMask':_0x25a8a3[_0x166750(0x20f)]|_0x25a8a3[_0x166750(0x1d0)]|_0x25a8a3[_0x166750(0x282)],'resultMask':0x3f},_0x4350f6=(_0x184b0d,_0x4f36b4)=>_0x934485(void 0x0,[_0x184b0d,_0x4f36b4],void 0x0,function*({endpointNode:_0x22eee9,endpoint:_0x26cbef,baseUrl:_0x242c05},{nodeId:_0x5523d3,rootNodeId:_0x3634b9,isType:_0x509772}){const _0x55d644=_0x166750,_0xb2d42a=_0x242c05+_0x55d644(0x2d0),_0x51e99d=_0xb2d42a+'/walk-backward',_0x2e6dac=yield fetch(_0x51e99d,{'method':'POST','body':JSON[_0x55d644(0x21e)]({'endpointNode':_0x22eee9,'endpoint':_0x26cbef,'nodeId':_0x5523d3,'rootNodeId':_0x3634b9,'isType':_0x509772}),'headers':{'Content-Type':'application/json'}});if(_0x2e6dac[_0x55d644(0x2b9)]!==0xc8)return null;const _0x573fd4=yield _0x2e6dac[_0x55d644(0x1d1)]();return _0x573fd4['browsePath'];}),_0x5c56de=(_0x3de254,_0x240947)=>{const _0x512073=_0x166750;if(_0x3de254[_0x512073(0x290)]!==_0x512073(0x1b1))return _0x3de254['requestedNodeId'];switch(_0x240947){case _0x512073(0x1fb):return _0x3de254['bp_indexed'];case'aliasedBrowsePath':return _0x3de254[_0x512073(0x2ce)]||_0x3de254['bp_indexed'];case'aliasedNodeId':return _0x3de254[_0x512073(0x2a6)]||_0x3de254[_0x512073(0x1f0)];case _0x512073(0x2ad):return _0x3de254[_0x512073(0x1f0)];default:case _0x512073(0x222):return _0x3de254[_0x512073(0x222)];}},_0x5b6ff9=_0x2d1627=>{const _0x2121cd=_0x166750;if(_0x2d1627['statusCode']!==_0x2121cd(0x1b1))return _0x2121cd(0x230)+_0x2d1627['statusCode'];else{let _0x28dc2b=[];return _0x28dc2b[_0x2121cd(0x2b7)](_0x2121cd(0x2c2)+_0x2d1627[_0x2121cd(0x222)]),_0x28dc2b['push'](_0x2121cd(0x233)+_0x2d1627['bp_indexed']),_0x28dc2b[_0x2121cd(0x2b7)](_0x2121cd(0x26e)+_0x25a8a3[_0x2d1627[_0x2121cd(0x294)]]),_0x2d1627[_0x2121cd(0x1f0)]&&_0x28dc2b[_0x2121cd(0x2b7)](_0x2121cd(0x1aa)+_0x2d1627[_0x2121cd(0x1f0)]),_0x2d1627['nodeId_aliased']&&_0x28dc2b[_0x2121cd(0x2b7)](_0x2121cd(0x238)+_0x2d1627[_0x2121cd(0x2a6)]),_0x2d1627['bp_indexed']&&_0x28dc2b[_0x2121cd(0x2b7)](_0x2121cd(0x20e)+_0x2d1627[_0x2121cd(0x2ce)]),_0x28dc2b['join']('\x0a');}};function _0x4ae52c(_0x5cbff9){const _0x2b885f=_0x166750;if(_0x5cbff9[_0x2b885f(0x1d6)](/^nsu=/))return'nsuNodeID';if(_0x5cbff9[_0x2b885f(0x1d6)](/^(ns=.*;)?(i|b|s|g)=/))return'nodeId';if(_0x5cbff9[_0x2b885f(0x1d6)](/^nsa=/))return _0x2b885f(0x2a4);if(_0x5cbff9['match'](/^(\/|\.)[0-9]+:/))return _0x2b885f(0x1fb);if(_0x5cbff9[_0x2b885f(0x1d6)](/^(\/|\.).*:/))return _0x2b885f(0x1fb);}function _0x2a37bf(_0x268477){const _0xfeac46=_0x166750,_0x2c6288=_0x4ae52c(_0x268477);switch(_0x2c6288){case'nodeId':return'n';case _0xfeac46(0x2a4):return'na';case _0xfeac46(0x2ad):return _0xfeac46(0x29f);case _0xfeac46(0x1fb):return'b';case _0xfeac46(0x28a):return'ab';default:return't';}}function _0x11cbf4(_0x23ec14){const _0x16892e=_0x166750;let _0x4d399a;switch(_0x23ec14){case'n':_0x4d399a=_0x16892e(0x222);break;case'na':_0x4d399a='aliasedNodeId';break;case _0x16892e(0x29f):_0x4d399a=_0x16892e(0x2ad);break;case'b':_0x4d399a=_0x16892e(0x1fb);break;case'ab':_0x4d399a=_0x16892e(0x28a);break;}return _0x4d399a;}function _0x2a4e10(_0x306101){const _0x4442a7=_0x166750;switch(_0x306101){case'nodeId':return'n';case _0x4442a7(0x2a4):return'na';case _0x4442a7(0x2ad):return _0x4442a7(0x29f);case _0x4442a7(0x1fb):return'b';case _0x4442a7(0x28a):return'ab';default:return't';}}const _0x2a8237=(_0x22dc38,_0x5744bc)=>_0x934485(void 0x0,[_0x22dc38,_0x5744bc],void 0x0,function*({endpointNode:_0x374cbc,endpoint:_0x36976e,baseUrl:_0x6d4dfb},_0x516ac4){const _0x2e5b64=_0x166750,_0x3f2657=_0x6d4dfb+'/opcua-for-node-red',_0x35ea22=_0x3f2657+'/checkNodeId',_0x56a3ce=_0x374cbc['id'],_0x156fd8=RED[_0x2e5b64(0x232)]['node'](_0x56a3ce);console[_0x2e5b64(0x29d)](_0x156fd8[_0x2e5b64(0x19f)]),_0x156fd8['namespaceAliases'];const _0x2a1584=_0x374cbc[_0x2e5b64(0x19f)],_0x2af7bb=yield fetch(_0x35ea22,{'method':_0x2e5b64(0x257),'body':JSON['stringify']({'endpointNode':_0x374cbc,'endpoint':_0x36976e,'nodeId':_0x516ac4,'namespaceAliases':_0x2a1584}),'headers':{'Content-Type':_0x2e5b64(0x1fc)}}),_0x16c7ce=yield _0x2af7bb[_0x2e5b64(0x1d1)]();return{'json':_0x16c7ce,'data':_0x2af7bb};}),_0x2eafac=(_0x1dc1bd,_0x1a4b18,_0x10d4f8,_0x160bc1)=>_0x934485(void 0x0,[_0x1dc1bd,_0x1a4b18,_0x10d4f8,_0x160bc1],void 0x0,function*({endpointNode:_0x3482d0,endpoint:_0xc29bd3,baseUrl:_0x2b9884},_0x44f19b,_0x3b1eab,_0xad7ca9){const _0x2d9a18=_0x166750,_0x156958=_0x3b1eab['val'](),{json:_0x4be615,data:_0x16ef07}=yield _0x2a8237({'endpointNode':_0x3482d0,'endpoint':_0xc29bd3,'baseUrl':_0x2b9884},_0x156958),_0x47e350=(_0x26cd05,_0x4ff6f6)=>{const _0x20f80d=_0x1801;_0xad7ca9[_0x20f80d(0x199)](_0x26cd05)[_0x20f80d(0x28b)](_0x20f80d(0x22c))[_0x20f80d(0x28b)](_0x4ff6f6),_0xad7ca9[_0x20f80d(0x1cd)](),setTimeout(()=>{const _0x1d19bc=_0x20f80d;_0xad7ca9[_0x1d19bc(0x2b2)](_0x4ff6f6),_0xad7ca9[_0x1d19bc(0x1ac)]();},0xbb8);};if(_0x16ef07[_0x2d9a18(0x2b9)]!==0xc8)return _0x47e350(_0x2d9a18(0x1a7)+_0x156958,_0x2d9a18(0x1f6)),![];else{if(_0x4be615[_0x2d9a18(0x290)]['match'](/Good/)){const _0x1a2307=_0x5b6ff9(_0x4be615);_0x3b1eab[_0x2d9a18(0x2be)]('title',_0x1a2307);const _0x2057de=_0x5c56de(_0x4be615,_0x44f19b);return _0x3b1eab[_0x2d9a18(0x220)](_0x2057de),_0x3b1eab[_0x2d9a18(0x27c)](_0x2d9a18(0x1fa)),_0x47e350(_0x2d9a18(0x1b1),'ok'),!![];}else return _0x3b1eab['val'](''+_0x156958),_0x47e350(_0x4be615[_0x2d9a18(0x290)]+'\x20'+_0x16ef07['statusText'],_0x2d9a18(0x1f6)),![];}});function _0x5593c4(_0x5a1d42,_0x5f429b){return _0x934485(this,void 0x0,void 0x0,function*(){const _0x5b4420=_0x1801,_0x276b7b=_0x5a1d42[_0x5b4420(0x1ae)](_0x5b4420(0x1c2)),_0x32505c=yield _0x70fa7f(_0x5f429b,_0x276b7b,_0x57af6d),_0x55337c=yield _0x70fa7f(_0x5f429b,_0x276b7b,_0x7b51ea);return{'references':[..._0x32505c[_0x5b4420(0x254)],..._0x55337c[_0x5b4420(0x254)]]};});}const _0x522e46={'referenceTypeId':_0x2643f5(_0x166750(0x21a)),'includeSubtypes':!![],'browseDirection':_0x411e87[_0x166750(0x270)],'nodeClassMask':_0x25a8a3[_0x166750(0x23e)]|_0x25a8a3[_0x166750(0x2a8)]|_0x25a8a3[_0x166750(0x27a)]|_0x25a8a3['VariableType'],'resultMask':0x3f};function _0x91fde0(_0x17ec80,_0x217b1c){return _0x934485(this,void 0x0,void 0x0,function*(){const _0x537729=_0x1801,_0x143797=_0x17ec80['data'](_0x537729(0x1c2)),_0x4ecf36=yield _0x70fa7f(_0x217b1c,_0x143797,_0x522e46);return _0x4ecf36;});}const _0x311de6=_0x1a83ed=>{const _0x26024a=_0x166750;var _0x281312,_0x20ceed,_0x1bcf25,_0x3102e2;if(!_0x1a83ed||!_0x1a83ed['nodeId']){const _0x1c3eaa=$(_0x26024a(0x234));return _0x1c3eaa;}const _0xfb78d7=_0x1a83ed[_0x26024a(0x222)][_0x26024a(0x28d)](),_0x46ef31=((_0x281312=_0x1a83ed[_0x26024a(0x1a1)])===null||_0x281312===void 0x0?void 0x0:_0x281312[_0x26024a(0x199)])||((_0x20ceed=_0x1a83ed[_0x26024a(0x1ee)])===null||_0x20ceed===void 0x0?void 0x0:_0x20ceed['name'])||_0x1a83ed['nodeId']['toString'](),{icon:_0xf8b08b,color:_0x511a81}=_0x1b4439(_0x1a83ed),_0x59cf77='('+_0x1a83ed['nodeId'][_0x26024a(0x28d)]()+')\x20'+(((_0x1bcf25=_0x1a83ed[_0x26024a(0x1ee)])===null||_0x1bcf25===void 0x0?void 0x0:_0x1bcf25['name'])||((_0x3102e2=_0x1a83ed['displayName'])===null||_0x3102e2===void 0x0?void 0x0:_0x3102e2[_0x26024a(0x199)])||''),_0x1e2e65=$(_0x26024a(0x2ab)+_0x1a83ed[_0x26024a(0x222)][_0x26024a(0x28d)]()+_0x26024a(0x247)+_0x59cf77+_0x26024a(0x2ac)+_0xf8b08b+_0x26024a(0x2d1)+_0x511a81+_0x26024a(0x1db)+_0x46ef31+_0x26024a(0x22a));return _0x1e2e65[_0x26024a(0x28b)](_0x26024a(0x2a7)),_0x1e2e65[_0x26024a(0x1ae)](_0x26024a(0x1c2),_0xfb78d7),_0x1e2e65[_0x26024a(0x1ae)](_0x26024a(0x1ec),_0x1a83ed),_0x1e2e65;},_0x3e837e=(_0x116b2e,_0xd284bf)=>{const _0x1b12a2=_0x166750;return _0xd284bf[_0x1b12a2(0x2a3)](_0x1b12a2(0x271)+_0x116b2e+'\x22]');},_0x246c62=(_0x1dda72,_0x2cb727)=>{const _0x59a54f=_0x166750;_0x1dda72[_0x59a54f(0x261)][_0x59a54f(0x2a3)]('li\x20>\x20.tree-text')[_0x59a54f(0x2b2)](_0x59a54f(0x26a)),_0x2cb727[_0x59a54f(0x2a3)](_0x59a54f(0x1b5))['addClass'](_0x59a54f(0x26a));},_0xd75a4c=(_0x508e97,_0x1fff05,_0x175f5d)=>_0x934485(void 0x0,void 0x0,void 0x0,function*(){const _0x3d4774=_0x166750;let _0x210569=_0x175f5d[_0x3d4774(0x258)](_0x3d4774(0x2c5));_0x1fff05[_0x3d4774(0x1e8)][_0x3d4774(0x2b8)]||[];const _0x4fde1f=_0x1fff05[_0x3d4774(0x27f)]||[];if(_0x4fde1f['length']===0x0)return;for(const _0x19fd50 of _0x4fde1f){_0x210569[_0x3d4774(0x19d)]('expandable')&&(yield _0x40c4d9(_0x508e97,_0x210569));const _0x57de56=_0x3e837e(_0x19fd50,_0x210569);if(_0x57de56[_0x3d4774(0x25d)]===0x0)return;_0x210569=_0x57de56;}_0x246c62(_0x508e97,_0x210569),_0x3bf934(_0x508e97[_0x3d4774(0x214)],_0x210569);});function _0x3bf934(_0x3f1264,_0x15d58d){const _0x1828d6=_0x166750,_0x4051e9=_0x15d58d[_0x1828d6(0x1a5)]()[_0x1828d6(0x1ea)],_0x145572=_0x3f1264['scrollTop']();if(_0x145572==undefined)return;const _0x49b055=_0x145572+_0x4051e9-_0x3f1264[_0x1828d6(0x21d)]()/0x2+_0x15d58d['height']()/0x2;_0x3f1264[_0x1828d6(0x209)]({'scrollTop':_0x49b055},0x1f4);}const _0x3ae592=(_0x423533,_0x516c13)=>_0x934485(void 0x0,void 0x0,void 0x0,function*(){const _0x37af9d=_0x166750,_0xc7e229=_0x423533[_0x37af9d(0x276)][_0x37af9d(0x220)](),_0x32a4ab={'nodeId':_0xc7e229,'rootNodeId':_0x516c13[_0x37af9d(0x222)],'isType':_0x423533[_0x37af9d(0x1bc)][_0x37af9d(0x216)]||![]},_0x259a10=_0x1c11d8(_0x423533),_0x24a588=yield _0x4350f6(_0x259a10,_0x32a4ab);if(!_0x24a588)return;yield _0xd75a4c(_0x423533,_0x24a588,_0x423533[_0x37af9d(0x261)]);});function _0xeacc14(_0x5e5c0c,_0x271eb3,_0x3cf4e4,_0x111efb){return _0x934485(this,void 0x0,void 0x0,function*(){const _0x20bbcc=_0x1801;if(_0x271eb3[_0x20bbcc(0x19d)](_0x20bbcc(0x204))){console[_0x20bbcc(0x29d)](_0x20bbcc(0x210));return;}if(_0x271eb3[_0x20bbcc(0x19d)](_0x20bbcc(0x279))){console[_0x20bbcc(0x29d)](_0x20bbcc(0x26d));return;}_0x271eb3[_0x20bbcc(0x28b)](_0x20bbcc(0x279)),_0x271eb3[_0x20bbcc(0x263)](_0x20bbcc(0x22d));try{_0x271eb3[_0x20bbcc(0x258)]('ul')[_0x20bbcc(0x299)]();const {references:_0x22e43a}=yield _0x3cf4e4(_0x271eb3,_0x111efb);_0x22e43a[_0x20bbcc(0x27b)]((_0x12cd39,_0x89b006)=>{const _0x5d4999=_0x20bbcc;var _0x4b22ee,_0x394aac;return(((_0x4b22ee=_0x12cd39[_0x5d4999(0x1ee)])===null||_0x4b22ee===void 0x0?void 0x0:_0x4b22ee[_0x5d4999(0x1f2)])||'')[_0x5d4999(0x292)](((_0x394aac=_0x89b006['browseName'])===null||_0x394aac===void 0x0?void 0x0:_0x394aac[_0x5d4999(0x1f2)])||'');});for(const _0x336a47 of _0x22e43a){if(_0x5e5c0c[_0x20bbcc(0x1bc)]['filter']&&!_0x5e5c0c[_0x20bbcc(0x1bc)][_0x20bbcc(0x201)](_0x336a47))continue;const _0x309835=_0x311de6(_0x336a47);_0x271eb3['children']('ul')['append'](_0x309835);}_0x271eb3[_0x20bbcc(0x28b)](_0x20bbcc(0x204));}catch(_0x4f90dc){_0x271eb3[_0x20bbcc(0x258)]('ul')['append'](_0x20bbcc(0x2b1)+_0x4f90dc[_0x20bbcc(0x1c3)]+_0x20bbcc(0x1ad)),console[_0x20bbcc(0x29d)](_0x20bbcc(0x2bf),_0x4f90dc);}_0x271eb3[_0x20bbcc(0x2a3)](_0x20bbcc(0x226))['remove'](),_0x271eb3[_0x20bbcc(0x2b2)]('loading');});}function _0x1c11d8(_0x22293d){const _0x1556cb=_0x166750,_0x2c1cb7={'baseUrl':_0x22293d[_0x1556cb(0x1bc)]['baseUrl'],'endpointNode':typeof _0x22293d[_0x1556cb(0x1bc)][_0x1556cb(0x1e9)]===_0x1556cb(0x1f7)?_0x22293d[_0x1556cb(0x1bc)]['endpointNode']():_0x22293d[_0x1556cb(0x1bc)][_0x1556cb(0x1e9)],'endpoint':typeof _0x22293d[_0x1556cb(0x1bc)]['endpoint']==='function'?_0x22293d[_0x1556cb(0x1bc)][_0x1556cb(0x235)]():_0x22293d[_0x1556cb(0x1bc)][_0x1556cb(0x235)]};return _0x2c1cb7;}function _0x40c4d9(_0x103914,_0x278c7a){return _0x934485(this,void 0x0,void 0x0,function*(){const _0x49507e=_0x1801;if(_0x278c7a[_0x49507e(0x19d)](_0x49507e(0x204))){_0x278c7a[_0x49507e(0x2b2)](_0x49507e(0x2a7))[_0x49507e(0x28b)](_0x49507e(0x21b)),_0x278c7a['children']('ul')[_0x49507e(0x1e6)]();return;}const _0x69d162=_0x1c11d8(_0x103914),_0x1003e7=!_0x103914[_0x49507e(0x1bc)][_0x49507e(0x216)]?_0x5593c4:_0x91fde0;try{yield _0xeacc14(_0x103914,_0x278c7a,_0x1003e7,_0x69d162),_0x278c7a[_0x49507e(0x2b2)](_0x49507e(0x2a7))[_0x49507e(0x28b)](_0x49507e(0x21b));}catch(_0x4bfb42){_0x278c7a[_0x49507e(0x2b2)](_0x49507e(0x2a7))[_0x49507e(0x28b)](_0x49507e(0x21b)),console[_0x49507e(0x29d)]('error',_0x4bfb42);}});}const _0x29097f={'browseName':{'namespaceIndex':0x0,'name':_0x166750(0x19c)},'nodeClass':_0x166750(0x1d0),'nodeId':_0x166750(0x246),'displayName':{'text':_0x166750(0x19c)},'typeDefinition':_0x18b0d6},_0x215901=()=>{const _0x234b1d=_0x166750;$[_0x234b1d(0x1eb)]('sterfive.nodeBrowser',{'options':{'endpointNode':()=>({'endpoint':'opc.tcp://opcuademo.sterfive.com:26543'}),'endpoint':()=>undefined,'parentNode':()=>_0x29097f,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x934485(this,void 0x0,void 0x0,function*(){const _0x411979=_0x1801,_0xe91da=this;if(_0xe91da[_0x411979(0x2cd)]==undefined){const _0x2a22b1=typeof _0xe91da[_0x411979(0x1bc)][_0x411979(0x1a8)]==='function'?_0xe91da[_0x411979(0x1bc)][_0x411979(0x1a8)][_0x411979(0x28c)](_0xe91da):_0xe91da[_0x411979(0x1bc)][_0x411979(0x1a8)];if(_0x2a22b1 instanceof Promise){const _0x4cbbc7=yield _0x2a22b1;_0xe91da[_0x411979(0x2cd)]=_0x4cbbc7;}else _0xe91da[_0x411979(0x2cd)]=_0x2a22b1;}return _0xe91da[_0x411979(0x2cd)]||_0x29097f;});},'reset'(){return _0x934485(this,void 0x0,void 0x0,function*(){const _0x25c51c=_0x1801,_0x287753=this,_0x765f4b=_0x287753;_0x765f4b['__parentNode']=undefined,_0x287753[_0x25c51c(0x261)]['empty']();const _0x4383eb=yield this[_0x25c51c(0x291)](),_0x222f61=_0x311de6(_0x4383eb);_0x287753[_0x25c51c(0x261)][_0x25c51c(0x263)](_0x222f61),_0x287753[_0x25c51c(0x19e)]=_0x4383eb;});},'verify'(_0xee6904){const _0x9f1a75=_0x234b1d,_0x22f8ac=this,_0x27c31a=_0x1c11d8(_0x22f8ac);_0x2eafac(_0x27c31a,_0xee6904,_0x22f8ac[_0x9f1a75(0x276)],_0x22f8ac[_0x9f1a75(0x223)])[_0x9f1a75(0x1d8)](_0x18a7f9=>{const _0x15e05c=_0x9f1a75;!_0x18a7f9?_0x22f8ac['$combo'][_0x15e05c(0x28b)]('sterfive-input-error'):_0x22f8ac[_0x15e05c(0x287)][_0x15e05c(0x2b2)](_0x15e05c(0x29e));});},'_hideMenu'(_0xa2f4d4){const _0x22558a=_0x234b1d,_0x18c59d=this;$(document)[_0x22558a(0x1f4)](_0x22558a(0x1a6)),_0xa2f4d4[_0x22558a(0x1ac)](),_0xa2f4d4[_0x22558a(0x243)]({'height':_0x22558a(0x2a0)});if(_0xa2f4d4[_0x22558a(0x260)][_0x22558a(0x28f)]){var _0x10b884=[];_0xa2f4d4['find'](_0x22558a(0x1a3))['each'](function(){const _0x1b5eed=_0x22558a;$(this)['prop'](_0x1b5eed(0x200))&&_0x10b884[_0x1b5eed(0x2b7)]($(this)[_0x1b5eed(0x1ae)](_0x1b5eed(0x1c2)));}),_0xa2f4d4[_0x22558a(0x1dc)](_0x10b884);}_0x18c59d[_0x22558a(0x231)]['is'](_0x22558a(0x1bb))?_0x18c59d[_0x22558a(0x276)][_0x22558a(0x27c)](_0x22558a(0x239)):_0x18c59d[_0x22558a(0x288)][_0x22558a(0x27c)](_0x22558a(0x239));},'_createMenu'(_0x390b64,_0x19e787,_0xa111ed){const _0x3287b3=_0x234b1d;var _0x4c328e=this;const _0x32dee7=$(_0x3287b3(0x2c9))[_0x3287b3(0x28b)]('sterfive-typedInput-options\x20sterfive-online-menu');return _0x32dee7['opts']=_0x19e787,_0x32dee7[_0x3287b3(0x1dc)]=_0xa111ed,_0x390b64[_0x3287b3(0x1af)](_0x55d6e2=>{const _0x5094ac=_0x3287b3;typeof _0x55d6e2===_0x5094ac(0x27d)&&(_0x55d6e2={'value':_0x55d6e2,'label':_0x55d6e2});var _0x124de6=$(_0x5094ac(0x2bb))['attr']('value',_0x55d6e2[_0x5094ac(0x1c2)])[_0x5094ac(0x23c)](_0x32dee7);_0x55d6e2[_0x5094ac(0x241)]&&_0x124de6[_0x5094ac(0x199)](_0x55d6e2['label']);_0x55d6e2['title']&&_0x124de6[_0x5094ac(0x25b)](_0x5094ac(0x2b5),_0x55d6e2[_0x5094ac(0x2b5)]);if(_0x55d6e2[_0x5094ac(0x29a)]){if(_0x55d6e2['icon'][_0x5094ac(0x2af)]('<')===0x0)$(_0x55d6e2['icon'])['prependTo'](_0x124de6);else _0x55d6e2['icon'][_0x5094ac(0x2af)]('/')!==-0x1?$(_0x5094ac(0x23a),{'class':_0x5094ac(0x212),'style':'mask-image:\x20url('+_0x55d6e2[_0x5094ac(0x29a)]+');\x20-webkit-mask-image:\x20url('+_0x55d6e2[_0x5094ac(0x29a)]+');'})[_0x5094ac(0x21f)](_0x124de6):$(_0x5094ac(0x23a),{'class':_0x5094ac(0x1a4)+_0x55d6e2[_0x5094ac(0x29a)]})[_0x5094ac(0x21f)](_0x124de6);}else _0x124de6[_0x5094ac(0x243)]({'paddingLeft':_0x5094ac(0x28e)});!_0x55d6e2[_0x5094ac(0x29a)]&&!_0x55d6e2[_0x5094ac(0x241)]&&_0x124de6['text'](_0x55d6e2['value']);var _0x407512;_0x19e787[_0x5094ac(0x28f)]&&(_0x407512=$(_0x5094ac(0x2aa))[_0x5094ac(0x243)](_0x5094ac(0x2ca),_0x5094ac(0x24f))['data'](_0x5094ac(0x1c2),_0x55d6e2[_0x5094ac(0x1c2)])[_0x5094ac(0x21f)](_0x124de6)['on'](_0x5094ac(0x2cf),function(_0x5576ac){const _0xa023e8=_0x5094ac;_0x5576ac[_0xa023e8(0x2b0)]();})),_0x124de6['on'](_0x5094ac(0x207),function(_0x4fd548){const _0x1386c0=_0x5094ac;_0x4fd548[_0x1386c0(0x2b0)](),_0x4fd548[_0x1386c0(0x202)](),!_0x19e787[_0x1386c0(0x28f)]?(_0xa111ed(_0x55d6e2[_0x1386c0(0x1c2)]),_0x4c328e['_hideMenu'](_0x32dee7)):_0x407512['prop'](_0x1386c0(0x200),!_0x407512['prop']('checked'));});}),_0x32dee7[_0x3287b3(0x243)]({'display':_0x3287b3(0x24f)}),_0x32dee7['on'](_0x3287b3(0x262),function(_0x423286){const _0x47cf9b=_0x3287b3;if(_0x423286[_0x47cf9b(0x2c3)]===0x28)_0x423286[_0x47cf9b(0x2b0)](),$(this)[_0x47cf9b(0x258)](_0x47cf9b(0x24a))[_0x47cf9b(0x2a2)]()[_0x47cf9b(0x27c)](_0x47cf9b(0x239));else{if(_0x423286[_0x47cf9b(0x2c3)]===0x26)_0x423286['preventDefault'](),$(this)[_0x47cf9b(0x258)](_0x47cf9b(0x24a))[_0x47cf9b(0x1c1)]()['trigger'](_0x47cf9b(0x239));else _0x423286[_0x47cf9b(0x2c3)]===0x1b&&(_0x423286['preventDefault'](),_0x4c328e['_hideMenu'](_0x32dee7));}_0x423286['stopPropagation']();}),_0x32dee7;},'disarmClick':![],'_showMenu'(_0x4e63f1,_0xbd7468){const _0x3c9e99=_0x234b1d;if(this[_0x3c9e99(0x1f5)]){this[_0x3c9e99(0x1f5)]=![];return;}var _0x1873b9=this,_0x2870e8=_0xbd7468[_0x3c9e99(0x205)](),_0x3f7321=_0xbd7468[_0x3c9e99(0x21d)](),_0x4f8aea=_0x4e63f1[_0x3c9e99(0x21d)](),_0x2524b6=_0x3f7321+_0x2870e8[_0x3c9e99(0x1ea)];_0x2524b6+_0x4f8aea-$(document)[_0x3c9e99(0x27e)]()>$(window)['height']()&&(_0x2524b6-=_0x2524b6+_0x4f8aea-$(window)[_0x3c9e99(0x21d)]()+0x5),_0x2524b6<0x0&&(_0x4e63f1['height'](_0x4f8aea+_0x2524b6),_0x2524b6=0x0),_0x4e63f1['css']({'top':_0x2524b6+'px','left':_0x2870e8[_0x3c9e99(0x1e4)]+'px'}),_0x4e63f1[_0x3c9e99(0x1e5)](0x64),this['_delay'](function(){const _0x5b1974=_0x3c9e99;_0x1873b9[_0x5b1974(0x19b)][_0x5b1974(0x28b)](_0x5b1974(0x26c)),$(document)['on'](_0x5b1974(0x1a6),function(_0x5acb78){const _0x45c077=_0x5b1974;!$(_0x5acb78[_0x45c077(0x1e1)])[_0x45c077(0x1ff)](_0x4e63f1)['length']&&_0x1873b9[_0x45c077(0x25e)](_0x4e63f1),$(_0x5acb78[_0x45c077(0x1e1)])[_0x45c077(0x1ff)](_0xbd7468)[_0x45c077(0x25d)]&&(_0x1873b9[_0x45c077(0x1f5)]=!![],_0x5acb78[_0x45c077(0x2b0)]());});});},'_showTypeMenu'(){const _0x50cc4a=_0x234b1d,_0x4fb3be=this;this[_0x50cc4a(0x1c6)](_0x4fb3be[_0x50cc4a(0x275)],_0x4fb3be[_0x50cc4a(0x287)]),_0x4fb3be[_0x50cc4a(0x214)][_0x50cc4a(0x1ac)]();const _0x2f9307=_0x4fb3be[_0x50cc4a(0x20a)];var _0x1a3b07=_0x4fb3be[_0x50cc4a(0x275)][_0x50cc4a(0x2a3)](_0x50cc4a(0x23b)+_0x2f9307+'\x27');setTimeout(function(){const _0x36497f=_0x50cc4a;_0x1a3b07[_0x36497f(0x27c)](_0x36497f(0x239));},0x78);},'_initMenu'(){const _0x299aa6=_0x234b1d,_0x306f3c=this;_0x306f3c[_0x299aa6(0x288)][_0x299aa6(0x2be)]('tabindex',-0x1),_0x306f3c['$selectTrigger']['on'](_0x299aa6(0x1cc),function(_0x3b68fd){const _0xa3b58=_0x299aa6;_0x3b68fd[_0xa3b58(0x2b0)]();});_0x306f3c[_0x299aa6(0x275)]&&_0x306f3c['$menu'][_0x299aa6(0x1cb)]();const _0xe1b09a=[{'label':_0x299aa6(0x199),'value':'t','title':_0x299aa6(0x24b),'icon':'<i\x20class=\x22fa\x20fa-font\x22/i>\x20'},{'label':'msg.','value':_0x299aa6(0x274),'title':'node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','icon':_0x299aa6(0x1c0)},{'label':'NodeId','value':'n','icon':_0x299aa6(0x25f)},{'label':_0x299aa6(0x2b6),'value':'na','icon':_0x299aa6(0x1f1)},{'label':_0x299aa6(0x229),'value':'nsu','icon':'<i\x20class=\x22fa\x20fa-id-card\x22/> \x20'},{'label':_0x299aa6(0x278),'value':'b','icon':'<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> '},{'label':_0x299aa6(0x2c4),'value':'ab','icon':_0x299aa6(0x2bc)}],_0x330b56=_0x2a37bf(_0x306f3c[_0x299aa6(0x276)][_0x299aa6(0x220)]()),_0x30cc01=_0xe1b09a[_0x299aa6(0x2a3)](_0x28c385=>_0x28c385[_0x299aa6(0x1c2)]===_0x330b56);_0x306f3c[_0x299aa6(0x298)][_0x299aa6(0x299)]()[_0x299aa6(0x263)]('<span\x20title='+((_0x30cc01===null||_0x30cc01===void 0x0?void 0x0:_0x30cc01[_0x299aa6(0x2b5)])||'')+_0x299aa6(0x1d2)+((_0x30cc01===null||_0x30cc01===void 0x0?void 0x0:_0x30cc01[_0x299aa6(0x29a)])||'')+_0x299aa6(0x272)),_0x306f3c['selectedMenuItem']=_0x330b56;const _0x41f7b8=this;_0x306f3c[_0x299aa6(0x275)]=this['_createMenu'](_0xe1b09a,{},_0x532863=>{const _0x450d48=_0x299aa6,_0x35c485=_0x11cbf4(_0x532863);_0x35c485&&_0x41f7b8[_0x450d48(0x1f9)](_0x35c485);const _0x1c707a=_0xe1b09a[_0x450d48(0x2a3)](_0x4423f9=>_0x4423f9[_0x450d48(0x1c2)]===_0x532863);_0x306f3c[_0x450d48(0x20a)]=_0x532863,_0x306f3c[_0x450d48(0x298)]['empty']()[_0x450d48(0x263)](_0x450d48(0x1b8)+((_0x1c707a===null||_0x1c707a===void 0x0?void 0x0:_0x1c707a['title'])||'')+'> \x20'+((_0x1c707a===null||_0x1c707a===void 0x0?void 0x0:_0x1c707a[_0x450d48(0x29a)])||'')+'</span>');}),_0x306f3c['$menu'][_0x299aa6(0x23c)](document[_0x299aa6(0x2bd)]),_0x306f3c[_0x299aa6(0x275)][_0x299aa6(0x1ac)](),_0x306f3c[_0x299aa6(0x288)]['show']();},'mode'(){const _0x18bbba=_0x234b1d,_0x3e2ba0=this;return _0x11cbf4(_0x3e2ba0[_0x18bbba(0x20a)]);},'setMode'(_0x307df0){const _0xfceed1=_0x234b1d,_0x666eb9=this,_0x3f1026=_0x2a4e10(_0x307df0);_0x666eb9[_0xfceed1(0x20a)]=_0x3f1026;},'_create'(){const _0x18a90b=_0x234b1d,_0x5edae4=this;_0x5edae4[_0x18a90b(0x276)]=this[_0x18a90b(0x218)],_0x5edae4[_0x18a90b(0x276)][_0x18a90b(0x243)](_0x18a90b(0x1d4),_0x18a90b(0x24f)),_0x5edae4['$elementDiv']=_0x5edae4[_0x18a90b(0x276)][_0x18a90b(0x2b4)]('<div>')[_0x18a90b(0x23d)]()[_0x18a90b(0x28b)]('main-wrapper'),_0x5edae4['$combo']=$(_0x18a90b(0x251)),_0x5edae4[_0x18a90b(0x287)][_0x18a90b(0x28b)](_0x18a90b(0x217)),_0x5edae4[_0x18a90b(0x276)][_0x18a90b(0x1fd)](_0x5edae4['$combo']),_0x5edae4[_0x18a90b(0x1d7)]=$(_0x18a90b(0x251))['addClass']('sterfive-input-group'),_0x5edae4[_0x18a90b(0x287)][_0x18a90b(0x263)](_0x5edae4[_0x18a90b(0x1d7)]),_0x5edae4[_0x18a90b(0x1d7)][_0x18a90b(0x263)](_0x5edae4[_0x18a90b(0x276)]),_0x5edae4[_0x18a90b(0x286)]=$(_0x18a90b(0x1b7)),_0x5edae4[_0x18a90b(0x276)]['after'](_0x5edae4[_0x18a90b(0x286)]),_0x5edae4['$toggleTreeBtn']['on'](_0x18a90b(0x207),function(){return _0x934485(this,void 0x0,void 0x0,function*(){const _0x509068=_0x1801;var _0x180a6e;let _0x4d9d84=![],_0x2a0f01;!_0x5edae4[_0x509068(0x214)]['is'](_0x509068(0x1bb))&&(_0x5edae4[_0x509068(0x223)][_0x509068(0x1ac)](),_0x2a0f01=yield _0x5edae4[_0x509068(0x291)](),(_0x2a0f01!==_0x5edae4[_0x509068(0x19e)]||((_0x180a6e=_0x5edae4[_0x509068(0x19e)])===null||_0x180a6e===void 0x0?void 0x0:_0x180a6e[_0x509068(0x222)])!==_0x2a0f01[_0x509068(0x222)])&&(yield _0x5edae4[_0x509068(0x1b4)]()),_0x4d9d84=!![]),_0x5edae4['$dropdown'][_0x509068(0x1e6)](),_0x4d9d84&&(yield _0x3ae592(_0x5edae4,_0x2a0f01));});}),_0x5edae4[_0x18a90b(0x250)]=$(_0x18a90b(0x2c6)),_0x5edae4['$input']['after'](_0x5edae4[_0x18a90b(0x250)]),_0x5edae4['$verifyBtn']['on'](_0x18a90b(0x207),()=>{const _0x5baf0a=_0x18a90b,_0x56c6b9=_0x5edae4[_0x5baf0a(0x1c4)]();if(!_0x56c6b9)return;this['verify'](_0x56c6b9);});const _0x3e80e4=_0x163930=>_0x934485(this,void 0x0,void 0x0,function*(){const _0x353ccd=_0x18a90b,_0x5f450f=this;let _0x6fc248=_0x5f450f[_0x353ccd(0x1c4)]();if(!_0x6fc248)return;const _0x1d9d4c=_0x1c11d8(_0x5f450f),{data:_0x5c0561,json:_0x4046ac}=yield _0x2a8237(_0x1d9d4c,_0x163930);if(_0x5c0561[_0x353ccd(0x2b9)]!==0xc8)return;if(_0x4046ac['statusCode']['match'](/Good/)){const _0x2076e6=_0x5c56de(_0x4046ac,_0x6fc248);_0x5f450f[_0x353ccd(0x276)]['val'](_0x2076e6),_0x5f450f['$input'][_0x353ccd(0x27c)](_0x353ccd(0x1fa));}});{_0x5edae4['$uiSelect']=$('<div>'),_0x5edae4['$input'][_0x18a90b(0x23f)](_0x5edae4[_0x18a90b(0x19b)]),_0x5edae4['$selectTrigger']=$(_0x18a90b(0x1de))['prependTo'](_0x5edae4['$uiSelect']),$(_0x18a90b(0x2cc))[_0x18a90b(0x1e6)](!![])[_0x18a90b(0x23c)](_0x5edae4[_0x18a90b(0x288)]),_0x5edae4['$selectTrigger']['on'](_0x18a90b(0x207),function(_0x6e0918){const _0x11fdf9=_0x18a90b;_0x6e0918[_0x11fdf9(0x2b0)](),_0x6e0918['stopPropagation'](),_0x5edae4[_0x11fdf9(0x24d)]();}),_0x5edae4['$selectTrigger']['on']('keydown',function(_0x340840){const _0x21cf10=_0x18a90b;_0x340840[_0x21cf10(0x2c3)]===0x28&&_0x5edae4[_0x21cf10(0x24d)](),_0x340840[_0x21cf10(0x202)]();})['on'](_0x18a90b(0x239),function(){const _0x93b937=_0x18a90b;_0x5edae4['$uiSelect'][_0x93b937(0x28b)](_0x93b937(0x26c));})['on']('blur',function(){const _0x194d69=_0x18a90b;_0x5edae4['$uiSelect'][_0x194d69(0x2b2)]('red-ui-typedInput-focus');}),_0x5edae4[_0x18a90b(0x298)]=$(_0x18a90b(0x213))['appendTo'](_0x5edae4[_0x18a90b(0x288)]);}this[_0x18a90b(0x244)]();!_0x5edae4[_0x18a90b(0x276)][_0x18a90b(0x2be)]('placeholder')&&_0x5edae4['$input'][_0x18a90b(0x2be)](_0x18a90b(0x1d9),_0x18a90b(0x2a9));_0x5edae4[_0x18a90b(0x223)]=$('<div\x20class=\x22sterfive-info-text\x22></div>'),_0x5edae4[_0x18a90b(0x223)][_0x18a90b(0x1ac)](),_0x5edae4[_0x18a90b(0x287)][_0x18a90b(0x263)](_0x5edae4['$info']),_0x5edae4[_0x18a90b(0x214)]=$(_0x18a90b(0x251))['addClass'](_0x18a90b(0x249))[_0x18a90b(0x1ac)]()[_0x18a90b(0x23c)](_0x5edae4[_0x18a90b(0x287)]),_0x5edae4[_0x18a90b(0x261)]=$('<ul\x20class=\x22sterfive-tree\x22></ul>')[_0x18a90b(0x23c)](_0x5edae4[_0x18a90b(0x214)]),this[_0x18a90b(0x1b4)]();const _0x58a368=(_0x1106d5,_0x51fc9f)=>{const _0x58d16e=_0x18a90b,_0x129487=0x14,_0x38bdd3=0x14,_0x58089d=_0x1106d5['offset'](),_0x1b09a8=_0x51fc9f;if(_0x1b09a8['pageX']>=_0x58089d[_0x58d16e(0x1e4)]&&_0x1b09a8[_0x58d16e(0x277)]<=_0x58089d[_0x58d16e(0x1e4)]+_0x129487&&_0x1b09a8[_0x58d16e(0x29b)]>=_0x58089d[_0x58d16e(0x1ea)]&&_0x1b09a8['pageY']<=_0x58089d[_0x58d16e(0x1ea)]+_0x38bdd3)return!![];return![];},_0x44ea7f=_0x5cd89e=>_0x934485(this,void 0x0,void 0x0,function*(){const _0x29e0b3=_0x18a90b;if(_0x5cd89e[_0x29e0b3(0x19d)](_0x29e0b3(0x2a7)))_0x40c4d9(_0x5edae4,_0x5cd89e);else{if(_0x5cd89e[_0x29e0b3(0x19d)](_0x29e0b3(0x21b)))_0x5cd89e[_0x29e0b3(0x258)]('ul')[_0x29e0b3(0x1e6)](),_0x5cd89e['toggleClass'](_0x29e0b3(0x1d3));else{if(_0x5cd89e[_0x29e0b3(0x258)]('ul')[_0x29e0b3(0x258)]()[_0x29e0b3(0x25d)]>0x0)_0x5cd89e[_0x29e0b3(0x258)]('ul')[_0x29e0b3(0x1e6)](),_0x5cd89e['toggleClass'](_0x29e0b3(0x1d3));else;}}});_0x5edae4['$tree']['on'](_0x18a90b(0x240),'li',function(_0x148327){const _0x49f6cb=_0x18a90b;var _0x9b9652,_0x2b255d;_0x148327[_0x49f6cb(0x202)]();let _0x18e83b=$(this);if(_0x58a368(_0x18e83b,_0x148327))_0x44ea7f(_0x18e83b);else{const _0x5d4f94=_0x18e83b[_0x49f6cb(0x1ae)](_0x49f6cb(0x1c2)),_0x2e3855=_0x18e83b[_0x49f6cb(0x1ae)]('reference');if(_0x5edae4[_0x49f6cb(0x1bc)][_0x49f6cb(0x289)]&&!_0x5edae4['options'][_0x49f6cb(0x289)](_0x2e3855))return;_0x5edae4[_0x49f6cb(0x276)][_0x49f6cb(0x1ae)](_0x49f6cb(0x1ec),_0x2e3855),((_0x9b9652=_0x2e3855['displayName'])===null||_0x9b9652===void 0x0?void 0x0:_0x9b9652['text'])||((_0x2b255d=_0x2e3855[_0x49f6cb(0x1ee)])===null||_0x2b255d===void 0x0?void 0x0:_0x2b255d['name'])||_0x2e3855[_0x49f6cb(0x222)]['toString']();let _0x253eea=_0x5edae4['mode']();!_0x253eea&&(_0x253eea=_0x49f6cb(0x222),_0x5edae4[_0x49f6cb(0x1ca)](_0x253eea)),_0x3e80e4(_0x5d4f94)[_0x49f6cb(0x1d8)](()=>{const _0x8df250=_0x49f6cb;_0x5edae4[_0x8df250(0x214)][_0x8df250(0x1ac)]();})[_0x49f6cb(0x1d5)](_0x470026=>{const _0x54e6a5=_0x49f6cb;_0x5edae4[_0x54e6a5(0x214)][_0x54e6a5(0x1ac)]();});}}),_0x5edae4['$tree']['on'](_0x18a90b(0x207),'li',function(_0x13a4c0){const _0x1f9df7=_0x18a90b;_0x13a4c0[_0x1f9df7(0x202)]();let _0x444123=$(this);_0x58a368(_0x444123,_0x13a4c0)&&_0x44ea7f(_0x444123),_0x246c62(_0x5edae4,_0x444123);}),$(document)['on'](_0x18a90b(0x207),function(_0x27b920){const _0x526d0e=_0x18a90b;!$(_0x27b920[_0x526d0e(0x1e1)])['closest'](_0x5edae4[_0x526d0e(0x287)])[_0x526d0e(0x25d)]&&_0x5edae4[_0x526d0e(0x214)][_0x526d0e(0x1ac)]();});}});},_0x441bcd=()=>{const _0x38e618=_0x166750;$[_0x38e618(0x1eb)]('sterfive.flagEditor',{'options':{'namesToBits':{},'value':0x0},'_create'(){const _0x4cfdf2=_0x38e618,_0x26bd43=this;_0x26bd43[_0x4cfdf2(0x276)]=this[_0x4cfdf2(0x218)],_0x26bd43[_0x4cfdf2(0x287)]=$(_0x4cfdf2(0x251)),_0x26bd43[_0x4cfdf2(0x287)][_0x4cfdf2(0x28b)]('sterfive-combo-box'),this['element'][0x0]['parentElement'][_0x4cfdf2(0x296)](_0x26bd43[_0x4cfdf2(0x287)][0x0],this[_0x4cfdf2(0x218)][0x0]),_0x26bd43[_0x4cfdf2(0x1d7)]=$(_0x4cfdf2(0x251))[_0x4cfdf2(0x28b)](_0x4cfdf2(0x259)),_0x26bd43[_0x4cfdf2(0x287)][_0x4cfdf2(0x263)](_0x26bd43['$inputGroup']),_0x26bd43[_0x4cfdf2(0x1d7)][_0x4cfdf2(0x263)](_0x26bd43['$input']),_0x26bd43[_0x4cfdf2(0x286)]=$('<button><i\x20class=\x22fa\x20fa-eye\x22></i></button>'),_0x26bd43['$inputGroup'][_0x4cfdf2(0x263)](_0x26bd43['$toggleTreeBtn']),_0x26bd43[_0x4cfdf2(0x286)]['on'](_0x4cfdf2(0x207),function(){const _0x2174c1=_0x4cfdf2;_0x26bd43[_0x2174c1(0x214)]['toggle'](),_0x26bd43['$dropdown']['is'](_0x2174c1(0x1bb))&&(_0x1c9a88(),_0x26bd43[_0x2174c1(0x287)][_0x2174c1(0x2a3)](_0x2174c1(0x236))['each'](function(){const _0x1286f2=_0x2174c1;let _0x1631df=$(this)[_0x1286f2(0x199)]();const _0x271575=_0x26bd43[_0x1286f2(0x1bc)][_0x1286f2(0x269)][_0x1631df];if(_0x271575===undefined)throw new Error(_0x1286f2(0x2a1));(_0x26bd43['options'][_0x1286f2(0x1c2)]&_0x271575)===_0x271575?$(this)['addClass'](_0x1286f2(0x26a)):$(this)[_0x1286f2(0x2b2)](_0x1286f2(0x26a));}),_0x26bd43['updateValue']());}),_0x26bd43['$dropdown']=$(_0x4cfdf2(0x22f))[_0x4cfdf2(0x1ac)]()[_0x4cfdf2(0x253)](this[_0x4cfdf2(0x218)]),$['each'](this[_0x4cfdf2(0x1bc)][_0x4cfdf2(0x269)],function(_0x5d21dc){const _0x4d294a=_0x4cfdf2,_0x207ff5=$('<div\x20class=\x22custom-option\x22\x20data-value=\x22'+_0x5d21dc+'\x22>'+_0x4d294a(0x1e0)+_0x5d21dc+'</div>');_0x26bd43['$dropdown'][_0x4d294a(0x263)](_0x207ff5);}),_0x26bd43[_0x4cfdf2(0x214)]['on'](_0x4cfdf2(0x207),_0x4cfdf2(0x236),function(){const _0x57bec5=_0x4cfdf2;$(this)['toggleClass'](_0x57bec5(0x26a));const _0x37bb38=$(this)['data'](_0x57bec5(0x1c2));$(this)[_0x57bec5(0x19d)](_0x57bec5(0x26a))?_0x5d0bfc(_0x37bb38):_0x43449c(_0x37bb38),_0x26bd43[_0x57bec5(0x2ba)]();}),_0x26bd43['$combo']['append'](_0x26bd43[_0x4cfdf2(0x214)]);const _0x1c9a88=()=>{const _0x2fa9c5=_0x4cfdf2,_0x569b65=this[_0x2fa9c5(0x218)][_0x2fa9c5(0x220)]();_0x26bd43[_0x2fa9c5(0x1bc)][_0x2fa9c5(0x1c2)]=_0x16caa8(_0x26bd43[_0x2fa9c5(0x1bc)]['namesToBits'],_0x569b65);},_0x5d0bfc=_0x4b4cd4=>{const _0x56b842=_0x4cfdf2,_0x327b7e=_0x26bd43[_0x56b842(0x1bc)][_0x56b842(0x269)][_0x4b4cd4];if(_0x327b7e===undefined)throw new Error(_0x56b842(0x2a1));this[_0x56b842(0x1bc)][_0x56b842(0x1c2)]|=_0x327b7e;},_0x43449c=_0x247c5a=>{const _0x212324=_0x4cfdf2,_0x299a74=_0x26bd43['options'][_0x212324(0x269)][_0x247c5a];if(_0x299a74===undefined)throw new Error(_0x212324(0x2a1));this['options'][_0x212324(0x1c2)]&=~_0x299a74,this['element']['val'](_0x5e3f20(_0x26bd43[_0x212324(0x1bc)][_0x212324(0x269)],this[_0x212324(0x1bc)][_0x212324(0x1c2)]));};_0x1c9a88();},'updateValue'(){const _0x43a8c7=_0x38e618,_0x3ac841=this;this[_0x43a8c7(0x218)]['val'](_0x5e3f20(_0x3ac841[_0x43a8c7(0x1bc)][_0x43a8c7(0x269)],this[_0x43a8c7(0x1bc)][_0x43a8c7(0x1c2)]));},'_destroy'(){const _0x18199a=_0x38e618,_0x8a46ed=this;_0x8a46ed[_0x18199a(0x214)][_0x18199a(0x1cb)]();}});},_0x1354a3=()=>{const _0x1bbe3b=_0x166750,_0xfdc9df=$('#node-input-endpoint'),_0x3d5494=_0xfdc9df['val'](),_0x5c8cb4=RED[_0x1bbe3b(0x232)]['node'](_0x3d5494);if(!_0x5c8cb4)return undefined;const {endpoint:_0x1d5f08,securityMode:_0x2c4f89,securityPolicy:_0x46135d,userIdentityType:_0x1232c1,credentials:_0x1fab73,namespaceAliases:_0x49c365}=_0x5c8cb4,_0x36c036={'endpoint':_0x1d5f08,'securityMode':_0x2c4f89,'securityPolicy':_0x46135d,'userIdentityType':_0x1232c1,'credentials':_0x1fab73,'namespaceAliases':_0x49c365};return _0x36c036;},_0x1afafd=()=>{const _0x4d762c=_0x166750,_0x4cbdbd=$(_0x4d762c(0x22b)),_0x6b5d65=_0x4cbdbd['val'](),_0xba9f5c=_0x1354a3();if(!_0xba9f5c)return undefined;const _0x2ff41b=_0xba9f5c['namespaceAliases'];return Object[_0x4d762c(0x2a5)]({'namespaceAliases':_0x2ff41b,'id':_0x6b5d65},_0xba9f5c);},_0xf5ef3c=()=>{return{'endpointNode':_0x1afafd};},_0xb581b7=()=>{const _0x5dfe62=_0x166750,_0x536a0f=$(_0x5dfe62(0x293));if(_0x536a0f[_0x5dfe62(0x25d)]){const _0x59e841=$('<iframe></iframe>',{'src':_0x5dfe62(0x2ae),'scrolling':'no','style':_0x5dfe62(0x1ba),'allowtransparency':_0x5dfe62(0x1e2),'width':_0x5dfe62(0x1ef),'height':_0x5dfe62(0x215)});_0x536a0f[_0x5dfe62(0x263)](_0x59e841),_0x59e841[_0x5dfe62(0x243)]({'position':'absolute','right':'20px','bottom':_0x5dfe62(0x225)});}};RED['nodes'][_0x166750(0x2c1)](_0x166750(0x21c),{'category':'opcua','color':_0x166750(0x1b6),'align':'right','icon':_0x166750(0x1bf),'paletteLabel':_0x166750(0x20d),'defaults':{'inputs':{'value':0x1},'output':{'value':0x4},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0x166750(0x280)},'nodeId':{'value':'','required':![]},'referenceTypeId':{'value':_0x166750(0x1a9),'required':![]},'includeSubtypes':{'value':![],'required':!![]},'browseDirection':{'value':_0x166750(0x270),'required':!![]},'nodeClassMask':{'value':'Variable\x20|\x20Object\x20|\x20Method\x20|\x20ObjectType\x20|\x20VariableType','required':![]},'resultMask':{'value':_0x166750(0x265),'required':![]}},'outputs':0x1,'label'(){const _0x24d7b6=_0x166750;return this[_0x24d7b6(0x1f2)]||'OPCUA\x20Browse';},'labelStyle'(){const _0x4819dd=_0x166750;return this['name']?_0x4819dd(0x1e7):'';},'oneditprepare'(){const _0x4ad2b6=_0x166750,_0x5efd87=this;_0x215901(),_0x441bcd(),_0xb581b7(),_0x5efd87['inputs']=0x1;const _0x1f69c1=$(_0x4ad2b6(0x284));_0x1f69c1[_0x4ad2b6(0x1c8)]({'namesToBits':{'Object':0x1,'Variable':0x2,'Method':0x4,'ObjectType':0x8,'VariableType':0x10,'ReferenceType':0x20,'DataType':0x40,'View':0x80},'value':0x0});const _0x466b94=$(_0x4ad2b6(0x1f3));_0x466b94[_0x4ad2b6(0x1c8)]({'namesToBits':{'ReferenceType':0x1,'IsForward':0x2,'NodeClass':0x4,'BrowseName':0x8,'DisplayName':0x10,'TypeDefinition':0x20},'value':0x3f});const _0xfa2c8=$(_0x4ad2b6(0x268));_0xfa2c8[_0x4ad2b6(0x1c5)](Object[_0x4ad2b6(0x2a5)](Object[_0x4ad2b6(0x2a5)]({},_0xf5ef3c()),{'isSelectable'(_0x380862){const _0x51785b=_0x4ad2b6;return _0x380862[_0x51785b(0x294)]===_0x51785b(0x20f)||_0x380862[_0x51785b(0x294)]==='Object';}}));const _0x1f939f={'nodeId':'i=31','referenceTypeId':'','browseName':{'namespaceIndex':0x0,'name':_0x4ad2b6(0x29c)},'displayName':{'text':'References'},'nodeClass':_0x4ad2b6(0x23e),'typeDefinition':'i=31'},_0x566d58=$(_0x4ad2b6(0x295));_0x566d58[_0x4ad2b6(0x1c5)](Object['assign'](Object[_0x4ad2b6(0x2a5)]({},_0xf5ef3c()),{'parentNode':()=>_0x1f939f,'isSelectable'(_0x2c7091){const _0x5f482c=_0x4ad2b6;return _0x2c7091[_0x5f482c(0x294)]===_0x5f482c(0x23e);},'isTypeRef':!![]}));},'oneditsave'(){}});}()));function _0x115e(){const _0x2b3d1a=['DodgerBlue','left','slideDown','toggle','node_label_italic','relativePath','endpointNode','top','widget','reference','browseResult','browseName','180px','nodeId_nsu','<i\x20class=\x22fa\x20fa-bookmark\x22/> \x20','name','#node-input-resultMask','off','disarmClick','failure','function','VariableType','verify','change','browsePath','application/json','replaceWith','SuppressedError','closest','checked','filter','stopPropagation','referenceTypeId','fetched','offset','ns=0;i=45','click','250LWuHIr','animate','selectedMenuItem','suppressed','Invalid','browse','aliased\x20browsePath:\x20','Variable','already\x20fetched','number','red-ui-typedInput-icon','<span\x20class=\x22red-ui-typedInput-type-label\x22></span>','$dropdown','30px','isTypeRef','sterfive-combo-box','element','9790viZBrd','HasSubtype','expanded','OpcUa-Client2-Browse','height','stringify','prependTo','val','trim','nodeId','$info','fa-folder','16px','.spinner','fa-list-alt','done','NodeId\x20with\x20namespace\x20Urn','</span><ul></ul></li>','#node-input-endpoint','sterfive-info','<div\x20class=\x22spinner\x22></div>','NodeClass','<div\x20class=\x22custom-select\x22></div>','statusCode:\x20','$elementDiv','nodes','browse\x20path:\x20','<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>','endpoint','.custom-option','4tInvAE','aliased\x20NodeId:\x20','focus','<i>','[value=\x27','appendTo','parent','ReferenceType','before','dblclick','label','View','css','_initMenu','HasTypeDefinition','ns=0;i=85','\x22}><span\x20class=\x22tree-text\x22\x20title=','HasComponent','sterfive-dropdown',':focus','Value\x20is\x20not\x20verified','fa-sliders','_showTypeMenu','fa-text-width','none','$verifyBtn','<div/>','DisplayName','insertAfter','references','TypeDefinition','fetching\x20failed\x20with\x20error','POST','children','input-group','entries','prop','7772710qJoFHL','length','_hideMenu','<i\x20class=\x22fa\x20fa-tag\x22/>1\x20 \x20','opts','$tree','keydown','append','i=61','ReferenceType\x20|\x20BrowseName\x20|\x20TypeDefinition\x20|\x20DisplayName\x20|\x20NodeClass\x20|\x20IsForward','throw','fa-question','#node-input-nodeId','namesToBits','selected','HasProperty','red-ui-typedInput-focus','already\x20loading','node\x20class:\x20','typeDefinition','Forward','li[key=\x22','</span>','ns=0;i=46','msg','$menu','$input','pageX','BrowsePath','loading','DataType','sort','trigger','string','scrollTop','nodeIds','OpcUa-Endpoint2','5YaMQof','Method','Organizes','#node-input-nodeClassMask','BrowseName','$toggleTreeBtn','$combo','$selectTrigger','isSelectable','aliasedBrowsePath','addClass','call','toString','18px','multiple','statusCode','resolveParentNode','localeCompare','.red-ui-tray-body','nodeClass','#node-input-referenceTypeId','replaceChild','Both','$selectLabel','empty','icon','pageY','References','log','sterfive-input-error','nsu','auto','Unknown\x20bit\x20name','next','find','aliasedNodeId','assign','nodeId_aliased','expandable','ObjectType','enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20','<input\x20type=\x22checkbox\x22>','<li\x20key=\x22','><i\x20class=\x22fa\x20','nsuNodeID','/opcua-for-node-red/support-frame.html','indexOf','preventDefault','<li>error\x20','removeClass','\x20|\x20','wrap','title','Aliased\x20NodeId','push','elements','status','updateValue','<a\x20href=\x22#\x22></a>','<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> ','body','attr','err','12743040eWeMqP','registerType','nodeId:\x20','keyCode','Aliased\x20Browse\x20Path',':first','<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>','DarkOrange','3144588eyzQCB','<div>','pointer-events','ns=0;i=35','<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>','__parentNode','bp_aliased','mousedown','/opcua-for-node-red','\x22\x20style=\x22color:','text','ns=0;i=40','$uiSelect','Objects','hasClass','currentParent','namespaceAliases','CadetBlue','displayName','SandyBrown','input[type=\x22checkbox\x22]','red-ui-typedInput-icon\x20','position','mousedown.red-ui-typedInput-close-property-select','!!failure!!','parentNode','HasChild','nsu\x20nodeId:\x20','1089378fJnBCt','hide','</li>','data','forEach','Inverse','Good','ns=0;i=47','Unspecified','reset','.tree-text:first','#C0DEED','<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>','<span\x20title=','fa-cog','background-color:transparent;overflow:hidden;border:3px',':visible','options','166512ovlMEw','SteelBlue','../../icons/opcuanodeLogo.png','<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>','prev','value','message','mode','nodeBrowser','_showMenu','4067YegGkV','flagEditor','ns=0;i=34','setMode','remove','mousedown.red-ui-typedInput-focus-block','show','2970JmDOXT','error','Object','json','> \x20','expandable\x20expanded','border','catch','match','$inputGroup','then','placeholder','IsForward',';\x22></i>\x20','callback','split','<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>','ns=0;i=61','<span\x20class=\x22custom-checkbox\x22></span>','target','true'];_0x115e=function(){return _0x2b3d1a;};return _0x115e();}
|
9
8
|
</script>
|
10
9
|
<script type="text/x-red" data-template-name="OpcUa-Client2-Browse">
|
11
10
|
<style>
|
@@ -37,8 +36,8 @@ function _0x26fb(){const _0x103a5a=['HasChild','ns=0;i=46','BrowseName','nsu\x20
|
|
37
36
|
</style>
|
38
37
|
<h3>Opc-UA Browse</h3>
|
39
38
|
<div class="form-row">
|
40
|
-
<label for="node-input-name"><i class="icon-tasks"></i
|
41
|
-
<input type="text" id="node-input-name"
|
39
|
+
<label for="node-input-name"><i class="icon-tasks"></i><span data-i18n="node-red:common.label.name"></span></label>
|
40
|
+
<input type="text" id="node-input-name" data-i18n="[placeholder]node-red:common.label.name" />
|
42
41
|
</div>
|
43
42
|
<div class="form-row">
|
44
43
|
<label for="node-input-endpoint"><i class="icon-tasks"></i> Endpoint</label>
|