@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,10 +4,15 @@
|
|
4
4
|
</style>
|
5
5
|
|
6
6
|
<script type="text/javascript">
|
7
|
-
function _0x57b1(_0x58229f,_0x31ea8f){const _0x17eda7=_0x17ed();return _0x57b1=function(_0x57b16e,_0xec1307){_0x57b16e=_0x57b16e-0x8e;let _0x173c6c=_0x17eda7[_0x57b16e];return _0x173c6c;},_0x57b1(_0x58229f,_0x31ea8f);}function _0x17ed(){const _0x21c601=['pageX','970620EZcvvM','<i\x20class=\x22fa\x20fa-font\x22/i>\x20','#copy-input','ns=0;i=47','editableList','children','slideDown','value','$inputGroup','node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','nsu','indexOf','reset','resolveParentNode','_delay','browseResult','nodeId:\x20','$uiSelect','Good','setMode','/opcua-for-node-red','<i>','argumentDefinition','failure','View','<input\x20type=\x22checkbox\x22>','mousedown.red-ui-typedInput-focus-block','#C0DEED','<div>','sterfive-typedInput-options\x20sterfive-online-menu','auto','trigger','</span>','each','__parentNode','fa-list-alt','css','ns=0;i=35','inputs','DarkOrange','mousedown.red-ui-typedInput-close-property-select','throw','prev','text','HasSubtype','parentNode','sterfive-info','$combo','fa-folder','$input','find','next','ns=0;i=40','read','HasProperty','blur','empty',':focus','currentParent','CadetBlue','namespaceAliases','wrap','inputArgumentsExampleAsJson','$menu','loading','isArray','_showTypeMenu','valueRank','bp_aliased','left','30px','<br>','<span\x20title=','change','443142dCwbmC','displayName','disarmClick','</li>','main-wrapper','reference','<li>error\x20','top','preventDefault','opcua','SandyBrown','bp_indexed','expanded','offset','html','5340328YjgujI','keydown','dblclick','</span><ul></ul></li>','isTypeRef','dataTypes','scrollTop','.tree-text:first','map','<input\x20type=\x22text\x22>','OPCUA-Call','function','Object','<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>','../../icons/opcuanodeLogo.png','<iframe></iframe>','val','catch','li\x20>\x20.tree-text','VariableType','sterfive-dropdown','#node-input-endpoint','focus','call','browseName','OpcUa-Endpoint2','join','multiple','status','node','input[type=\x22checkbox\x22]','aliased\x20browsePath:\x20','18px','title','localeCompare','BrowseName','fetching\x20failed\x20with\x20error','err','enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20','aliasedBrowsePath','json','node_label_italic','$dropdown','length',':first','50%','nodeId_nsu','!!failure!!','relativePath','target','aliasedNodeId','references','absolute','<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>','widget','toggle','red-ui-typedInput-icon','<ul\x20class=\x22sterfive-tree\x22></ul>','16px','after','hasClass','requestedNodeId','<div\x20class=\x22sterfive-info-text\x22></div>','<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>','elements','180px','BrowsePath','removeClass','POST','click','name','Aliased\x20Browse\x20Path','message','</p>','DisplayName','ns=0;i=45','closest','element','.spinner','SuppressedError','fa-object-group','Objects','done','DodgerBlue','Forward','show','<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> ','pageY','\x22\x20style=\x22color:','li[key=\x22','filter','sort','Aliased\x20NodeId','<i\x20class=\x22fa\x20fa-bookmark\x22/> \x20','<span\x20class=\x22red-ui-typedInput-type-label\x22></span>','$selectTrigger','rgba(61,\x2060,\x204,\x200.525)','statusCode',');\x20-webkit-mask-image:\x20url(','sterfive-input-group','sterfive-input-error','prependTo','mousedown','placeholder','grey','-failure','clipboard','none','JSON','keyCode','prop','append','ns=0;i=61','ns=0;i=46','addItem','Both','SeaGreen','isSelectable','statusCode:\x20','[value=\x27','Variable','1184194HSgyjc','stringify','split','ReferenceType','statusText','Inverse','sterfive.nodeBrowser','nodes','attr','baseUrl','$selectLabel','log','IsForward','installArgumentList','opc.tcp://opcuademo.sterfive.com:26543','addClass','nodeId','msg','referenceTypeId','validate','sterfive-combo-box','fa-cog','internal\x20error\x20','description','selectedMenuItem','outputArguments','97965VLBJyM','nodeIds','position','/browse','i=61','aliased\x20NodeId:\x20','-messages','expandable\x20expanded','browse\x20path:\x20','already\x20loading','-success','fa-question','$info','tabindex','Invalid','#method-input-argument-definition','Unspecified','mask-image:\x20url(','/opcua-for-node-red/argumentDefinition','hide','toString','remove','DataType','then','options','<div\x20class=\x22spinner\x22></div>','$tree','_hideMenu','selected','dataType','red-ui-typedInput-focus','checked','$verifyBtn','suppressed','$toggleTreeBtn','$elementDiv','HasChild','nodeClass','Method','opts','ns=0;i=34','installFeedbackWidget\x20','fa-text-width','TypeDefinition','_showMenu','nodeBrowser','/walk-backward','registerType','nodeId_aliased','NodeClass','border','mode','nsu\x20nodeId:\x20','icon','-pending','label','3014946HvgvmO','data','22764406QhdioM','> \x20','replaceWith','push','BadNoMatch','browsePath','<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>','<div/>','extra','endpoint','height','arguments','#node-input-objectId','/checkNodeId','fetched','animate','appendTo','application/json','match','<p>','Testing\x20Connection\x20...','SteelBlue','writeText','before','expandable','result','#validate-call-arguments-button','callback','NodeId\x20with\x20namespace\x20Urn',':visible','endpointNode','nsuNodeID','ObjectType','stopPropagation','100%','assign','off'];_0x17ed=function(){return _0x21c601;};return _0x17ed();}(function(_0x389a7e,_0x3948fd){const _0x2eff6a=_0x57b1,_0x1ea237=_0x389a7e();while(!![]){try{const _0x3308f0=-parseInt(_0x2eff6a(0x177))/0x1+parseInt(_0x2eff6a(0xef))/0x2+parseInt(_0x2eff6a(0xa5))/0x3+-parseInt(_0x2eff6a(0xfe))/0x4+-parseInt(_0x2eff6a(0x191))/0x5+-parseInt(_0x2eff6a(0x1c9))/0x6+parseInt(_0x2eff6a(0x1cb))/0x7;if(_0x3308f0===_0x3948fd)break;else _0x1ea237['push'](_0x1ea237['shift']());}catch(_0x42c428){_0x1ea237['push'](_0x1ea237['shift']());}}}(_0x17ed,0xb8861),(function(){'use strict';const _0x187f80=_0x57b1;function _0x19f34e(_0x457ae2,_0x213b70,_0x13043f,_0xe2bce){function _0x136166(_0x6f3088){return _0x6f3088 instanceof _0x13043f?_0x6f3088:new _0x13043f(function(_0x54550d){_0x54550d(_0x6f3088);});}return new(_0x13043f||(_0x13043f=Promise))(function(_0x283efb,_0x185621){const _0x4ace69=_0x57b1;function _0x22966a(_0xcc98b3){const _0x4cded0=_0x57b1;try{_0x276314(_0xe2bce[_0x4cded0(0xd8)](_0xcc98b3));}catch(_0x15b262){_0x185621(_0x15b262);}}function _0x11d299(_0x2d2a91){const _0x56403b=_0x57b1;try{_0x276314(_0xe2bce[_0x56403b(0xce)](_0x2d2a91));}catch(_0x41a24b){_0x185621(_0x41a24b);}}function _0x276314(_0x3dae3c){const _0x404453=_0x57b1;_0x3dae3c[_0x404453(0x150)]?_0x283efb(_0x3dae3c[_0x404453(0xac)]):_0x136166(_0x3dae3c[_0x404453(0xac)])['then'](_0x22966a,_0x11d299);}_0x276314((_0xe2bce=_0xe2bce['apply'](_0x457ae2,_0x213b70||[]))[_0x4ace69(0xd8)]());});}typeof SuppressedError===_0x187f80(0x109)?SuppressedError:function(_0xf338b8,_0x5ef408,_0x3cbd30){const _0xa49213=_0x187f80;var _0xfb4c66=new Error(_0x3cbd30);return _0xfb4c66[_0xa49213(0x144)]=_0xa49213(0x14d),_0xfb4c66['error']=_0xf338b8,_0xfb4c66[_0xa49213(0x1b2)]=_0x5ef408,_0xfb4c66;};const _0x3f6524=_0x187f80(0xca),_0x18b83a=_0x187f80(0x16e),_0x3477dd=_0x187f80(0xa8),_0x3068bf=_0x187f80(0x16f),_0x484414=_0x187f80(0x1b9),_0x2da7d3=_0x187f80(0x149),_0x33ee28=_0x187f80(0xd9);var _0x3aa5de;(function(_0x24509e){const _0x35b590=_0x187f80;_0x24509e[_0x24509e[_0x35b590(0x152)]=0x0]=_0x35b590(0x152),_0x24509e[_0x24509e[_0x35b590(0x17c)]=0x1]='Inverse',_0x24509e[_0x24509e['Both']=0x2]=_0x35b590(0x171),_0x24509e[_0x24509e[_0x35b590(0x19f)]=0x3]=_0x35b590(0x19f);}(_0x3aa5de||(_0x3aa5de={})));var _0x3784a8;(function(_0x49fe3f){const _0xf5e9db=_0x187f80;_0x49fe3f[_0x49fe3f[_0xf5e9db(0x1a1)]=0x0]='Unspecified',_0x49fe3f[_0x49fe3f['Object']=0x1]=_0xf5e9db(0x10a),_0x49fe3f[_0x49fe3f[_0xf5e9db(0x176)]=0x2]='Variable',_0x49fe3f[_0x49fe3f[_0xf5e9db(0x1b7)]=0x4]='Method',_0x49fe3f[_0x49fe3f[_0xf5e9db(0x9f)]=0x8]=_0xf5e9db(0x9f),_0x49fe3f[_0x49fe3f[_0xf5e9db(0x111)]=0x10]=_0xf5e9db(0x111),_0x49fe3f[_0x49fe3f[_0xf5e9db(0x17a)]=0x20]='ReferenceType',_0x49fe3f[_0x49fe3f[_0xf5e9db(0x1a7)]=0x40]=_0xf5e9db(0x1a7),_0x49fe3f[_0x49fe3f[_0xf5e9db(0xbd)]=0x80]=_0xf5e9db(0xbd);}(_0x3784a8||(_0x3784a8={})));var _0x5c96e4;(function(_0x16cfc4){const _0x2c16d1=_0x187f80;_0x16cfc4[_0x16cfc4['Object']=0x1]=_0x2c16d1(0x10a),_0x16cfc4[_0x16cfc4[_0x2c16d1(0x176)]=0x2]=_0x2c16d1(0x176),_0x16cfc4[_0x16cfc4[_0x2c16d1(0x1b7)]=0x4]='Method',_0x16cfc4[_0x16cfc4[_0x2c16d1(0x9f)]=0x8]=_0x2c16d1(0x9f),_0x16cfc4[_0x16cfc4['VariableType']=0x10]=_0x2c16d1(0x111),_0x16cfc4[_0x16cfc4[_0x2c16d1(0x17a)]=0x20]=_0x2c16d1(0x17a),_0x16cfc4[_0x16cfc4[_0x2c16d1(0x1a7)]=0x40]=_0x2c16d1(0x1a7),_0x16cfc4[_0x16cfc4['View']=0x80]=_0x2c16d1(0xbd);}(_0x5c96e4||(_0x5c96e4={})));var _0x389c4d;(function(_0x54bcfb){const _0xa8e28=_0x187f80;_0x54bcfb[_0x54bcfb[_0xa8e28(0x17a)]=0x1]=_0xa8e28(0x17a),_0x54bcfb[_0x54bcfb[_0xa8e28(0x183)]=0x2]=_0xa8e28(0x183),_0x54bcfb[_0x54bcfb[_0xa8e28(0x1c2)]=0x4]=_0xa8e28(0x1c2),_0x54bcfb[_0x54bcfb[_0xa8e28(0x121)]=0x8]=_0xa8e28(0x121),_0x54bcfb[_0x54bcfb[_0xa8e28(0x148)]=0x10]=_0xa8e28(0x148),_0x54bcfb[_0x54bcfb[_0xa8e28(0x1bc)]=0x20]=_0xa8e28(0x1bc);}(_0x389c4d||(_0x389c4d={})));function _0x18b039(_0x1cd3a4){const _0x41139b=_0x187f80;switch(_0x1cd3a4){case'Organizes':return _0x3f6524;case _0x41139b(0xdb):return _0x3068bf;case'HasComponent':return _0x3477dd;case _0x41139b(0x1b5):return _0x484414;case _0x41139b(0xd1):return _0x2da7d3;case'HasTypeDefinition':return _0x33ee28;}}const _0xff4b6c=_0x4ca3a2=>{const _0x10f668=_0x187f80;switch(_0x4ca3a2['nodeClass']){case _0x10f668(0x10a):if(_0x4ca3a2['referenceTypeId']===_0x3f6524);if(_0x4ca3a2['typeDefinition']===_0x18b83a||_0x4ca3a2['referenceTypeId']===_0x10f668(0x195))return{'icon':_0x10f668(0xd5),'color':_0x10f668(0x15e)};return{'icon':_0x10f668(0x14e),'color':_0x10f668(0x172)};case _0x10f668(0x176):if(_0x4ca3a2['referenceTypeId']===_0x3477dd)return{'icon':'fa-list-alt','color':_0x10f668(0x94)};else return _0x4ca3a2[_0x10f668(0x189)]===_0x3068bf?{'icon':_0x10f668(0xc8),'color':_0x10f668(0x151)}:{'icon':_0x10f668(0xc8),'color':'CadetBlue'};case _0x10f668(0x1b7):return{'icon':_0x10f668(0x18c),'color':_0x10f668(0xf9)};case _0x10f668(0x9f):return{'icon':_0x10f668(0x14e),'color':'DarkOrange'};case _0x10f668(0x111):return{'icon':'fa-sliders','color':_0x10f668(0xcc)};case _0x10f668(0x1a7):return{'icon':_0x10f668(0x1bb),'color':_0x10f668(0xe0)};}return{'icon':_0x10f668(0x19c),'color':_0x10f668(0x166)};},_0x4ffdee=(_0x59feac,_0x572812,_0x178e61)=>_0x19f34e(void 0x0,[_0x59feac,_0x572812,_0x178e61],void 0x0,function*({endpointNode:_0x1f7258,endpoint:_0x5f4c59,baseUrl:_0x4acd94},_0x24d243,_0x5e7696){const _0xdb2cec=_0x187f80,_0x1d25cc=_0x4acd94+'/opcua-for-node-red',_0x2008f4=_0x1d25cc+_0xdb2cec(0x194),_0x1efb24=Object['assign'](Object[_0xdb2cec(0xa2)]({},_0x5e7696),{'nodeId':_0x24d243,'resultMask':0x3f}),_0x473454=yield fetch(_0x2008f4,{'method':_0xdb2cec(0x142),'body':JSON[_0xdb2cec(0x178)]({'endpointNode':_0x1f7258,'endpoint':_0x5f4c59,'browseDescription':_0x1efb24}),'headers':{'Content-Type':_0xdb2cec(0x90)}});if(_0x473454['status']!==0xc8)return console[_0xdb2cec(0x182)]('fetching\x20failed\x20with\x20error',_0x473454[_0xdb2cec(0x11a)],_0x473454[_0xdb2cec(0x17b)]),{'references':[]};const _0x21c55e=yield _0x473454[_0xdb2cec(0x126)](),_0x344666=_0x21c55e[_0xdb2cec(0xb4)][_0xdb2cec(0x131)]||[];return{'references':_0x344666};}),_0x429e60={'referenceTypeId':_0x18b039(_0x187f80(0x1b5)),'includeSubtypes':!![],'browseDirection':_0x3aa5de[_0x187f80(0x152)],'nodeClassMask':_0x3784a8['Variable']|_0x3784a8[_0x187f80(0x10a)]|_0x3784a8['Method'],'resultMask':0x3f},_0x2a64a6={'referenceTypeId':_0x18b039('Organizes'),'includeSubtypes':!![],'browseDirection':_0x3aa5de[_0x187f80(0x152)],'nodeClassMask':_0x3784a8[_0x187f80(0x176)]|_0x3784a8[_0x187f80(0x10a)]|_0x3784a8['Method'],'resultMask':0x3f},_0xb4ab46=(_0x3ba561,_0x23e163)=>_0x19f34e(void 0x0,[_0x3ba561,_0x23e163],void 0x0,function*({endpointNode:_0x1b80b4,endpoint:_0x155f80,baseUrl:_0x4880c1},{nodeId:_0x57a54f,rootNodeId:_0x1b3095,isType:_0x44cd38}){const _0x957076=_0x187f80,_0x1f9634=_0x4880c1+'/opcua-for-node-red',_0x3f846c=_0x1f9634+_0x957076(0x1bf),_0x2ad3ad=yield fetch(_0x3f846c,{'method':_0x957076(0x142),'body':JSON[_0x957076(0x178)]({'endpointNode':_0x1b80b4,'endpoint':_0x155f80,'nodeId':_0x57a54f,'rootNodeId':_0x1b3095,'isType':_0x44cd38}),'headers':{'Content-Type':_0x957076(0x90)}});if(_0x2ad3ad[_0x957076(0x11a)]!==0xc8)return null;const _0x37582b=yield _0x2ad3ad[_0x957076(0x126)]();return _0x37582b[_0x957076(0x1d0)];}),_0x8d4274=(_0x2a3670,_0x4e48f8)=>{const _0xb8e688=_0x187f80;if(_0x2a3670[_0xb8e688(0x15f)]!==_0xb8e688(0xb7))return _0x2a3670[_0xb8e688(0x13b)];switch(_0x4e48f8){case _0xb8e688(0x1d0):return _0x2a3670[_0xb8e688(0xfa)];case'aliasedBrowsePath':return _0x2a3670['bp_aliased']||_0x2a3670[_0xb8e688(0xfa)];case'aliasedNodeId':return _0x2a3670[_0xb8e688(0x1c1)]||_0x2a3670['nodeId_nsu'];case _0xb8e688(0x9e):return _0x2a3670[_0xb8e688(0x12c)];default:case _0xb8e688(0x187):return _0x2a3670[_0xb8e688(0x187)];}},_0x292012=_0x170c69=>{const _0x4acc4a=_0x187f80;if(_0x170c69['statusCode']!==_0x4acc4a(0xb7))return _0x4acc4a(0x174)+_0x170c69[_0x4acc4a(0x15f)];else{let _0x164ff3=[];return _0x164ff3['push'](_0x4acc4a(0xb5)+_0x170c69['nodeId']),_0x164ff3[_0x4acc4a(0x1ce)](_0x4acc4a(0x199)+_0x170c69[_0x4acc4a(0xfa)]),_0x164ff3['push']('node\x20class:\x20'+_0x3784a8[_0x170c69[_0x4acc4a(0x1b6)]]),_0x170c69[_0x4acc4a(0x12c)]&&_0x164ff3['push'](_0x4acc4a(0x1c5)+_0x170c69[_0x4acc4a(0x12c)]),_0x170c69[_0x4acc4a(0x1c1)]&&_0x164ff3[_0x4acc4a(0x1ce)](_0x4acc4a(0x196)+_0x170c69[_0x4acc4a(0x1c1)]),_0x170c69['bp_indexed']&&_0x164ff3[_0x4acc4a(0x1ce)](_0x4acc4a(0x11d)+_0x170c69[_0x4acc4a(0xe9)]),_0x164ff3[_0x4acc4a(0x118)]('\x0a');}};function _0x2e65d5(_0xb6000b){const _0x3f13cb=_0x187f80;if(_0xb6000b['match'](/^nsu=/))return _0x3f13cb(0x9e);if(_0xb6000b[_0x3f13cb(0x91)](/^(ns=.*;)?(i|b|s|g)=/))return _0x3f13cb(0x187);if(_0xb6000b[_0x3f13cb(0x91)](/^nsa=/))return _0x3f13cb(0x130);if(_0xb6000b['match'](/^(\/|\.)[0-9]+:/))return'browsePath';if(_0xb6000b['match'](/^(\/|\.).*:/))return _0x3f13cb(0x1d0);}function _0x5ee34b(_0x4b2ab4){const _0x9e4b3d=_0x187f80,_0x2561a2=_0x2e65d5(_0x4b2ab4);switch(_0x2561a2){case'nodeId':return'n';case _0x9e4b3d(0x130):return'na';case _0x9e4b3d(0x9e):return'nsu';case'browsePath':return'b';case _0x9e4b3d(0x125):return'ab';default:return't';}}function _0x173bea(_0x53ce23){const _0x1efa3d=_0x187f80;let _0x47e9e6;switch(_0x53ce23){case'n':_0x47e9e6=_0x1efa3d(0x187);break;case'na':_0x47e9e6=_0x1efa3d(0x130);break;case _0x1efa3d(0xaf):_0x47e9e6='nsuNodeID';break;case'b':_0x47e9e6=_0x1efa3d(0x1d0);break;case'ab':_0x47e9e6=_0x1efa3d(0x125);break;}return _0x47e9e6;}function _0x39070c(_0xaf5097){const _0x5dde6a=_0x187f80;switch(_0xaf5097){case'nodeId':return'n';case'aliasedNodeId':return'na';case _0x5dde6a(0x9e):return _0x5dde6a(0xaf);case'browsePath':return'b';case _0x5dde6a(0x125):return'ab';default:return't';}}const _0x22cf56=(_0x152596,_0x4cf022)=>_0x19f34e(void 0x0,[_0x152596,_0x4cf022],void 0x0,function*({endpointNode:_0x175b4d,endpoint:_0xb08322,baseUrl:_0x4b4f81},_0x1b3347){const _0x1e5dc9=_0x187f80,_0x324f28=_0x4b4f81+_0x1e5dc9(0xb9),_0x53bbd4=_0x324f28+'/checkNodeId',_0x289185=_0x175b4d['id'],_0x3f241a=RED[_0x1e5dc9(0x17e)][_0x1e5dc9(0x11b)](_0x289185);console['log'](_0x3f241a[_0x1e5dc9(0xe1)]),_0x3f241a['namespaceAliases'];const _0x18d714=_0x175b4d[_0x1e5dc9(0xe1)],_0x82c826=yield fetch(_0x53bbd4,{'method':_0x1e5dc9(0x142),'body':JSON[_0x1e5dc9(0x178)]({'endpointNode':_0x175b4d,'endpoint':_0xb08322,'nodeId':_0x1b3347,'namespaceAliases':_0x18d714}),'headers':{'Content-Type':_0x1e5dc9(0x90)}}),_0x417c6e=yield _0x82c826[_0x1e5dc9(0x126)]();return{'json':_0x417c6e,'data':_0x82c826};}),_0x1dc2fc=(_0x54ff46,_0x3335be,_0x302fbe,_0x1bcec6)=>_0x19f34e(void 0x0,[_0x54ff46,_0x3335be,_0x302fbe,_0x1bcec6],void 0x0,function*({endpointNode:_0x22e588,endpoint:_0x5847c7,baseUrl:_0x5ebe02},_0x50ee29,_0x4a8939,_0x3c79dd){const _0x44df8a=_0x187f80,_0x763727=_0x4a8939[_0x44df8a(0x10e)](),{json:_0x2ce2c7,data:_0x1b6e33}=yield _0x22cf56({'endpointNode':_0x22e588,'endpoint':_0x5847c7,'baseUrl':_0x5ebe02},_0x763727),_0x4dd43d=(_0x250a00,_0x51f660)=>{const _0x9a354e=_0x44df8a;_0x3c79dd['text'](_0x250a00)[_0x9a354e(0x186)](_0x9a354e(0xd3))[_0x9a354e(0x186)](_0x51f660),_0x3c79dd['show'](),setTimeout(()=>{const _0x721df2=_0x9a354e;_0x3c79dd['removeClass'](_0x51f660),_0x3c79dd[_0x721df2(0x1a4)]();},0xbb8);};if(_0x1b6e33['status']!==0xc8)return _0x4dd43d(_0x44df8a(0x12d)+_0x763727,'failure'),![];else{if(_0x2ce2c7[_0x44df8a(0x15f)][_0x44df8a(0x91)](/Good/)){const _0x3d81cd=_0x292012(_0x2ce2c7);_0x4a8939[_0x44df8a(0x17f)](_0x44df8a(0x11f),_0x3d81cd);const _0x330c08=_0x8d4274(_0x2ce2c7,_0x50ee29);return _0x4a8939[_0x44df8a(0x10e)](_0x330c08),_0x4a8939[_0x44df8a(0xc4)](_0x44df8a(0xee)),_0x4dd43d(_0x44df8a(0xb7),'ok'),!![];}else return _0x4a8939[_0x44df8a(0x10e)](''+_0x763727),_0x4dd43d(_0x2ce2c7[_0x44df8a(0x15f)]+'\x20'+_0x1b6e33[_0x44df8a(0x17b)],_0x44df8a(0xbc)),![];}});function _0x5c5448(_0x10b311,_0x31345f){return _0x19f34e(this,void 0x0,void 0x0,function*(){const _0x544a5b=_0x57b1,_0x302191=_0x10b311[_0x544a5b(0x1ca)]('value'),_0x2b40c8=yield _0x4ffdee(_0x31345f,_0x302191,_0x429e60),_0x3a80ee=yield _0x4ffdee(_0x31345f,_0x302191,_0x2a64a6);return{'references':[..._0x2b40c8['references'],..._0x3a80ee[_0x544a5b(0x131)]]};});}const _0x27c5a5={'referenceTypeId':_0x18b039('HasSubtype'),'includeSubtypes':!![],'browseDirection':_0x3aa5de[_0x187f80(0x152)],'nodeClassMask':_0x3784a8['ReferenceType']|_0x3784a8[_0x187f80(0x9f)]|_0x3784a8[_0x187f80(0x1a7)]|_0x3784a8[_0x187f80(0x111)],'resultMask':0x3f};function _0xb7212f(_0x2cc68e,_0x5707b0){return _0x19f34e(this,void 0x0,void 0x0,function*(){const _0x234a49=_0x57b1,_0x203d59=_0x2cc68e[_0x234a49(0x1ca)](_0x234a49(0xac)),_0x3811ae=yield _0x4ffdee(_0x5707b0,_0x203d59,_0x27c5a5);return _0x3811ae;});}const _0x56c9f7=_0x26cab7=>{const _0x3aef0d=_0x187f80;var _0x545d6c,_0x4b2c50,_0xe01e67,_0x3e9200;if(!_0x26cab7||!_0x26cab7[_0x3aef0d(0x187)]){const _0x2afe8c=$('<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>');return _0x2afe8c;}const _0x4cd90a=_0x26cab7[_0x3aef0d(0x187)][_0x3aef0d(0x1a5)](),_0x257315=((_0x545d6c=_0x26cab7[_0x3aef0d(0xf0)])===null||_0x545d6c===void 0x0?void 0x0:_0x545d6c[_0x3aef0d(0xd0)])||((_0x4b2c50=_0x26cab7['browseName'])===null||_0x4b2c50===void 0x0?void 0x0:_0x4b2c50[_0x3aef0d(0x144)])||_0x26cab7[_0x3aef0d(0x187)][_0x3aef0d(0x1a5)](),{icon:_0x41d769,color:_0x24f830}=_0xff4b6c(_0x26cab7),_0x399186='('+_0x26cab7[_0x3aef0d(0x187)][_0x3aef0d(0x1a5)]()+')\x20'+(((_0xe01e67=_0x26cab7[_0x3aef0d(0x116)])===null||_0xe01e67===void 0x0?void 0x0:_0xe01e67['name'])||((_0x3e9200=_0x26cab7['displayName'])===null||_0x3e9200===void 0x0?void 0x0:_0x3e9200[_0x3aef0d(0xd0)])||''),_0x5367a7=$('<li\x20key=\x22'+_0x26cab7[_0x3aef0d(0x187)][_0x3aef0d(0x1a5)]()+'\x22}><span\x20class=\x22tree-text\x22\x20title='+_0x399186+'><i\x20class=\x22fa\x20'+_0x41d769+_0x3aef0d(0x156)+_0x24f830+';\x22></i>\x20'+_0x257315+_0x3aef0d(0x101));return _0x5367a7[_0x3aef0d(0x186)](_0x3aef0d(0x97)),_0x5367a7[_0x3aef0d(0x1ca)](_0x3aef0d(0xac),_0x4cd90a),_0x5367a7[_0x3aef0d(0x1ca)](_0x3aef0d(0xf4),_0x26cab7),_0x5367a7;},_0x1749ba=(_0x149456,_0x23017d)=>{const _0x3188a8=_0x187f80;return _0x23017d[_0x3188a8(0xd7)](_0x3188a8(0x157)+_0x149456+'\x22]');},_0x141d28=(_0x3ecd03,_0x4a5538)=>{const _0x429458=_0x187f80;_0x3ecd03['$tree'][_0x429458(0xd7)](_0x429458(0x110))[_0x429458(0x141)]('selected'),_0x4a5538['find'](_0x429458(0x105))['addClass'](_0x429458(0x1ad));},_0x12adb4=(_0x4d2b5a,_0x3d73d9,_0x2220c8)=>_0x19f34e(void 0x0,void 0x0,void 0x0,function*(){const _0x5bf28e=_0x187f80;let _0x468e98=_0x2220c8[_0x5bf28e(0xaa)](_0x5bf28e(0x12a));_0x3d73d9[_0x5bf28e(0x12e)][_0x5bf28e(0x13e)]||[];const _0x401fa0=_0x3d73d9[_0x5bf28e(0x192)]||[];if(_0x401fa0[_0x5bf28e(0x129)]===0x0)return;for(const _0x470177 of _0x401fa0){_0x468e98['hasClass'](_0x5bf28e(0x97))&&(yield _0x5c34d1(_0x4d2b5a,_0x468e98));const _0xd7cc85=_0x1749ba(_0x470177,_0x468e98);if(_0xd7cc85[_0x5bf28e(0x129)]===0x0)return;_0x468e98=_0xd7cc85;}_0x141d28(_0x4d2b5a,_0x468e98),_0x287bf8(_0x4d2b5a[_0x5bf28e(0x128)],_0x468e98);});function _0x287bf8(_0x163499,_0x8234d){const _0x12f9dc=_0x187f80,_0x37cc27=_0x8234d[_0x12f9dc(0x193)]()[_0x12f9dc(0xf6)],_0xb66674=_0x163499[_0x12f9dc(0x104)]();if(_0xb66674==undefined)return;const _0x501449=_0xb66674+_0x37cc27-_0x163499[_0x12f9dc(0x1d5)]()/0x2+_0x8234d[_0x12f9dc(0x1d5)]()/0x2;_0x163499[_0x12f9dc(0x8e)]({'scrollTop':_0x501449},0x1f4);}const _0x27ec29=(_0x33b7de,_0x1bba1e)=>_0x19f34e(void 0x0,void 0x0,void 0x0,function*(){const _0x148a1c=_0x187f80,_0x4ad066=_0x33b7de['$input'][_0x148a1c(0x10e)](),_0x30c764={'nodeId':_0x4ad066,'rootNodeId':_0x1bba1e['nodeId'],'isType':_0x33b7de[_0x148a1c(0x1a9)]['isTypeRef']||![]},_0x516594=_0x163142(_0x33b7de),_0x4f0174=yield _0xb4ab46(_0x516594,_0x30c764);if(!_0x4f0174)return;yield _0x12adb4(_0x33b7de,_0x4f0174,_0x33b7de[_0x148a1c(0x1ab)]);});function _0x358c46(_0xc5dd46,_0x124bc3,_0x13f7b9,_0x38361b){return _0x19f34e(this,void 0x0,void 0x0,function*(){const _0x33389c=_0x57b1;if(_0x124bc3[_0x33389c(0x13a)](_0x33389c(0x1d9))){console[_0x33389c(0x182)]('already\x20fetched');return;}if(_0x124bc3[_0x33389c(0x13a)](_0x33389c(0xe5))){console[_0x33389c(0x182)](_0x33389c(0x19a));return;}_0x124bc3['addClass'](_0x33389c(0xe5)),_0x124bc3[_0x33389c(0x16d)](_0x33389c(0x1aa));try{_0x124bc3['children']('ul')['empty']();const {references:_0x88b7cc}=yield _0x13f7b9(_0x124bc3,_0x38361b);_0x88b7cc[_0x33389c(0x159)]((_0x291efd,_0x4a3f99)=>{const _0x5ebdf5=_0x33389c;var _0x4a97f2,_0x15a9d8;return(((_0x4a97f2=_0x291efd['browseName'])===null||_0x4a97f2===void 0x0?void 0x0:_0x4a97f2[_0x5ebdf5(0x144)])||'')[_0x5ebdf5(0x120)](((_0x15a9d8=_0x4a3f99['browseName'])===null||_0x15a9d8===void 0x0?void 0x0:_0x15a9d8[_0x5ebdf5(0x144)])||'');});for(const _0x31b4a9 of _0x88b7cc){if(_0xc5dd46[_0x33389c(0x1a9)][_0x33389c(0x158)]&&!_0xc5dd46[_0x33389c(0x1a9)][_0x33389c(0x158)](_0x31b4a9))continue;const _0x3cb9e7=_0x56c9f7(_0x31b4a9);_0x124bc3['children']('ul')[_0x33389c(0x16d)](_0x3cb9e7);}_0x124bc3['addClass'](_0x33389c(0x1d9));}catch(_0x500898){_0x124bc3['children']('ul')['append'](_0x33389c(0xf5)+_0x500898[_0x33389c(0x146)]+_0x33389c(0xf2)),console['log'](_0x33389c(0x123),_0x500898);}_0x124bc3['find'](_0x33389c(0x14c))['remove'](),_0x124bc3[_0x33389c(0x141)](_0x33389c(0xe5));});}function _0x163142(_0xda9921){const _0x5e3f73=_0x187f80,_0x76ca91={'baseUrl':_0xda9921[_0x5e3f73(0x1a9)][_0x5e3f73(0x180)],'endpointNode':typeof _0xda9921[_0x5e3f73(0x1a9)][_0x5e3f73(0x9d)]===_0x5e3f73(0x109)?_0xda9921[_0x5e3f73(0x1a9)][_0x5e3f73(0x9d)]():_0xda9921[_0x5e3f73(0x1a9)][_0x5e3f73(0x9d)],'endpoint':typeof _0xda9921[_0x5e3f73(0x1a9)]['endpoint']==='function'?_0xda9921[_0x5e3f73(0x1a9)][_0x5e3f73(0x1d4)]():_0xda9921[_0x5e3f73(0x1a9)][_0x5e3f73(0x1d4)]};return _0x76ca91;}function _0x5c34d1(_0x535d5e,_0x926b26){return _0x19f34e(this,void 0x0,void 0x0,function*(){const _0xc2254c=_0x57b1;if(_0x926b26[_0xc2254c(0x13a)](_0xc2254c(0x1d9))){_0x926b26['removeClass']('expandable')[_0xc2254c(0x186)](_0xc2254c(0xfb)),_0x926b26[_0xc2254c(0xaa)]('ul')[_0xc2254c(0x135)]();return;}const _0x119d8c=_0x163142(_0x535d5e),_0x53c296=!_0x535d5e[_0xc2254c(0x1a9)][_0xc2254c(0x102)]?_0x5c5448:_0xb7212f;try{yield _0x358c46(_0x535d5e,_0x926b26,_0x53c296,_0x119d8c),_0x926b26[_0xc2254c(0x141)](_0xc2254c(0x97))['addClass'](_0xc2254c(0xfb));}catch(_0x3d9267){_0x926b26[_0xc2254c(0x141)](_0xc2254c(0x97))['addClass'](_0xc2254c(0xfb)),console['log']('error',_0x3d9267);}});}const _0x112e0a={'browseName':{'namespaceIndex':0x0,'name':_0x187f80(0x14f)},'nodeClass':_0x187f80(0x10a),'nodeId':'ns=0;i=85','displayName':{'text':_0x187f80(0x14f)},'typeDefinition':_0x18b83a},_0xfad2db=()=>{const _0x5a0c63=_0x187f80;$[_0x5a0c63(0x134)](_0x5a0c63(0x17d),{'options':{'endpointNode':()=>({'endpoint':_0x5a0c63(0x185)}),'endpoint':()=>undefined,'parentNode':()=>_0x112e0a,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x19f34e(this,void 0x0,void 0x0,function*(){const _0x22366c=_0x57b1,_0x2ceefc=this;if(_0x2ceefc['__parentNode']==undefined){const _0x1e43d2=typeof _0x2ceefc[_0x22366c(0x1a9)][_0x22366c(0xd2)]===_0x22366c(0x109)?_0x2ceefc[_0x22366c(0x1a9)][_0x22366c(0xd2)][_0x22366c(0x115)](_0x2ceefc):_0x2ceefc['options'][_0x22366c(0xd2)];if(_0x1e43d2 instanceof Promise){const _0x38b23c=yield _0x1e43d2;_0x2ceefc[_0x22366c(0xc7)]=_0x38b23c;}else _0x2ceefc['__parentNode']=_0x1e43d2;}return _0x2ceefc[_0x22366c(0xc7)]||_0x112e0a;});},'reset'(){return _0x19f34e(this,void 0x0,void 0x0,function*(){const _0x3f4c2b=_0x57b1,_0x25040c=this,_0x5132c4=_0x25040c;_0x5132c4[_0x3f4c2b(0xc7)]=undefined,_0x25040c[_0x3f4c2b(0x1ab)][_0x3f4c2b(0xdd)]();const _0x4eb49e=yield this[_0x3f4c2b(0xb2)](),_0x3b5397=_0x56c9f7(_0x4eb49e);_0x25040c['$tree'][_0x3f4c2b(0x16d)](_0x3b5397),_0x25040c[_0x3f4c2b(0xdf)]=_0x4eb49e;});},'verify'(_0x3ef146){const _0x329663=_0x5a0c63,_0x256dd3=this,_0x206d3a=_0x163142(_0x256dd3);_0x1dc2fc(_0x206d3a,_0x3ef146,_0x256dd3[_0x329663(0xd6)],_0x256dd3[_0x329663(0x19d)])[_0x329663(0x1a8)](_0x2fe911=>{const _0x365959=_0x329663;!_0x2fe911?_0x256dd3[_0x365959(0xd4)]['addClass'](_0x365959(0x162)):_0x256dd3[_0x365959(0xd4)]['removeClass'](_0x365959(0x162));});},'_hideMenu'(_0x386291){const _0x32f8f7=_0x5a0c63,_0x56e50c=this;$(document)[_0x32f8f7(0xa3)](_0x32f8f7(0xcd)),_0x386291[_0x32f8f7(0x1a4)](),_0x386291[_0x32f8f7(0xc9)]({'height':'auto'});if(_0x386291[_0x32f8f7(0x1b8)][_0x32f8f7(0x119)]){var _0x36b596=[];_0x386291[_0x32f8f7(0xd7)](_0x32f8f7(0x11c))[_0x32f8f7(0xc6)](function(){const _0x5c592b=_0x32f8f7;$(this)[_0x5c592b(0x16c)](_0x5c592b(0x1b0))&&_0x36b596[_0x5c592b(0x1ce)]($(this)[_0x5c592b(0x1ca)]('value'));}),_0x386291[_0x32f8f7(0x9a)](_0x36b596);}_0x56e50c['$elementDiv']['is'](_0x32f8f7(0x9c))?_0x56e50c[_0x32f8f7(0xd6)][_0x32f8f7(0xc4)](_0x32f8f7(0x114)):_0x56e50c['$selectTrigger'][_0x32f8f7(0xc4)](_0x32f8f7(0x114));},'_createMenu'(_0x3cc79b,_0x3742b5,_0x4c2762){const _0x1c3065=_0x5a0c63;var _0x16108d=this;const _0xe08ada=$(_0x1c3065(0xc1))[_0x1c3065(0x186)](_0x1c3065(0xc2));return _0xe08ada[_0x1c3065(0x1b8)]=_0x3742b5,_0xe08ada['callback']=_0x4c2762,_0x3cc79b['forEach'](_0x514431=>{const _0x174f3e=_0x1c3065;typeof _0x514431==='string'&&(_0x514431={'value':_0x514431,'label':_0x514431});var _0x2d3f04=$('<a\x20href=\x22#\x22></a>')[_0x174f3e(0x17f)](_0x174f3e(0xac),_0x514431[_0x174f3e(0xac)])['appendTo'](_0xe08ada);_0x514431[_0x174f3e(0x1c8)]&&_0x2d3f04[_0x174f3e(0xd0)](_0x514431[_0x174f3e(0x1c8)]);_0x514431[_0x174f3e(0x11f)]&&_0x2d3f04[_0x174f3e(0x16c)](_0x174f3e(0x11f),_0x514431['title']);if(_0x514431[_0x174f3e(0x1c6)]){if(_0x514431['icon'][_0x174f3e(0xb0)]('<')===0x0)$(_0x514431[_0x174f3e(0x1c6)])['prependTo'](_0x2d3f04);else _0x514431[_0x174f3e(0x1c6)][_0x174f3e(0xb0)]('/')!==-0x1?$(_0x174f3e(0xba),{'class':_0x174f3e(0x136),'style':_0x174f3e(0x1a2)+_0x514431[_0x174f3e(0x1c6)]+_0x174f3e(0x160)+_0x514431['icon']+');'})[_0x174f3e(0x163)](_0x2d3f04):$(_0x174f3e(0xba),{'class':'red-ui-typedInput-icon\x20'+_0x514431[_0x174f3e(0x1c6)]})[_0x174f3e(0x163)](_0x2d3f04);}else _0x2d3f04[_0x174f3e(0xc9)]({'paddingLeft':_0x174f3e(0x11e)});!_0x514431['icon']&&!_0x514431[_0x174f3e(0x1c8)]&&_0x2d3f04[_0x174f3e(0xd0)](_0x514431[_0x174f3e(0xac)]);var _0x292b33;_0x3742b5[_0x174f3e(0x119)]&&(_0x292b33=$(_0x174f3e(0xbe))[_0x174f3e(0xc9)]('pointer-events',_0x174f3e(0x169))[_0x174f3e(0x1ca)](_0x174f3e(0xac),_0x514431[_0x174f3e(0xac)])[_0x174f3e(0x163)](_0x2d3f04)['on'](_0x174f3e(0x164),function(_0x3ed096){const _0x41f613=_0x174f3e;_0x3ed096[_0x41f613(0xf7)]();})),_0x2d3f04['on'](_0x174f3e(0x143),function(_0x1491ad){const _0xfef472=_0x174f3e;_0x1491ad[_0xfef472(0xf7)](),_0x1491ad[_0xfef472(0xa0)](),!_0x3742b5[_0xfef472(0x119)]?(_0x4c2762(_0x514431[_0xfef472(0xac)]),_0x16108d['_hideMenu'](_0xe08ada)):_0x292b33[_0xfef472(0x16c)](_0xfef472(0x1b0),!_0x292b33[_0xfef472(0x16c)](_0xfef472(0x1b0)));});}),_0xe08ada[_0x1c3065(0xc9)]({'display':_0x1c3065(0x169)}),_0xe08ada['on'](_0x1c3065(0xff),function(_0x29f95e){const _0x1cef53=_0x1c3065;if(_0x29f95e[_0x1cef53(0x16b)]===0x28)_0x29f95e[_0x1cef53(0xf7)](),$(this)[_0x1cef53(0xaa)](_0x1cef53(0xde))['next']()[_0x1cef53(0xc4)]('focus');else{if(_0x29f95e[_0x1cef53(0x16b)]===0x26)_0x29f95e['preventDefault'](),$(this)['children'](_0x1cef53(0xde))[_0x1cef53(0xcf)]()[_0x1cef53(0xc4)](_0x1cef53(0x114));else _0x29f95e['keyCode']===0x1b&&(_0x29f95e[_0x1cef53(0xf7)](),_0x16108d['_hideMenu'](_0xe08ada));}_0x29f95e['stopPropagation']();}),_0xe08ada;},'disarmClick':![],'_showMenu'(_0x276de8,_0x4aaa96){const _0xa44125=_0x5a0c63;if(this[_0xa44125(0xf1)]){this['disarmClick']=![];return;}var _0x2cf304=this,_0x58fc23=_0x4aaa96['offset'](),_0x57cded=_0x4aaa96[_0xa44125(0x1d5)](),_0x1c6bab=_0x276de8['height'](),_0x4deac5=_0x57cded+_0x58fc23[_0xa44125(0xf6)];_0x4deac5+_0x1c6bab-$(document)['scrollTop']()>$(window)[_0xa44125(0x1d5)]()&&(_0x4deac5-=_0x4deac5+_0x1c6bab-$(window)[_0xa44125(0x1d5)]()+0x5),_0x4deac5<0x0&&(_0x276de8[_0xa44125(0x1d5)](_0x1c6bab+_0x4deac5),_0x4deac5=0x0),_0x276de8['css']({'top':_0x4deac5+'px','left':_0x58fc23[_0xa44125(0xea)]+'px'}),_0x276de8[_0xa44125(0xab)](0x64),this[_0xa44125(0xb3)](function(){const _0x2c40ed=_0xa44125;_0x2cf304['$uiSelect'][_0x2c40ed(0x186)](_0x2c40ed(0x1af)),$(document)['on']('mousedown.red-ui-typedInput-close-property-select',function(_0xdca6e3){const _0x3d45f1=_0x2c40ed;!$(_0xdca6e3[_0x3d45f1(0x12f)])[_0x3d45f1(0x14a)](_0x276de8)[_0x3d45f1(0x129)]&&_0x2cf304[_0x3d45f1(0x1ac)](_0x276de8),$(_0xdca6e3['target'])[_0x3d45f1(0x14a)](_0x4aaa96)[_0x3d45f1(0x129)]&&(_0x2cf304[_0x3d45f1(0xf1)]=!![],_0xdca6e3[_0x3d45f1(0xf7)]());});});},'_showTypeMenu'(){const _0x555d7b=_0x5a0c63,_0x2e5b1c=this;this[_0x555d7b(0x1bd)](_0x2e5b1c[_0x555d7b(0xe4)],_0x2e5b1c[_0x555d7b(0xd4)]),_0x2e5b1c[_0x555d7b(0x128)][_0x555d7b(0x1a4)]();const _0xa07289=_0x2e5b1c[_0x555d7b(0x18f)];var _0x585aab=_0x2e5b1c[_0x555d7b(0xe4)][_0x555d7b(0xd7)](_0x555d7b(0x175)+_0xa07289+'\x27');setTimeout(function(){const _0x515304=_0x555d7b;_0x585aab[_0x515304(0xc4)](_0x515304(0x114));},0x78);},'_initMenu'(){const _0x1dbc41=_0x5a0c63,_0xfeebe9=this;_0xfeebe9[_0x1dbc41(0x15d)]['attr'](_0x1dbc41(0x19e),-0x1),_0xfeebe9[_0x1dbc41(0x15d)]['on'](_0x1dbc41(0xbf),function(_0x5bf406){const _0x42719e=_0x1dbc41;_0x5bf406[_0x42719e(0xf7)]();});_0xfeebe9['$menu']&&_0xfeebe9[_0x1dbc41(0xe4)][_0x1dbc41(0x1a6)]();const _0x217571=[{'label':_0x1dbc41(0xd0),'value':'t','title':'Value\x20is\x20not\x20verified','icon':_0x1dbc41(0xa6)},{'label':'msg.','value':_0x1dbc41(0x188),'title':_0x1dbc41(0xae),'icon':_0x1dbc41(0x10b)},{'label':'NodeId','value':'n','icon':'<i\x20class=\x22fa\x20fa-tag\x22/>1\x20 \x20'},{'label':_0x1dbc41(0x15a),'value':'na','icon':_0x1dbc41(0x15b)},{'label':_0x1dbc41(0x9b),'value':_0x1dbc41(0xaf),'icon':'<i\x20class=\x22fa\x20fa-id-card\x22/> \x20'},{'label':_0x1dbc41(0x140),'value':'b','icon':_0x1dbc41(0x154)},{'label':_0x1dbc41(0x145),'value':'ab','icon':'<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> '}],_0x136f80=_0x5ee34b(_0xfeebe9[_0x1dbc41(0xd6)][_0x1dbc41(0x10e)]()),_0x3bbb8c=_0x217571['find'](_0x4dda7b=>_0x4dda7b[_0x1dbc41(0xac)]===_0x136f80);_0xfeebe9[_0x1dbc41(0x181)][_0x1dbc41(0xdd)]()[_0x1dbc41(0x16d)](_0x1dbc41(0xed)+((_0x3bbb8c===null||_0x3bbb8c===void 0x0?void 0x0:_0x3bbb8c[_0x1dbc41(0x11f)])||'')+_0x1dbc41(0x1cc)+((_0x3bbb8c===null||_0x3bbb8c===void 0x0?void 0x0:_0x3bbb8c[_0x1dbc41(0x1c6)])||'')+_0x1dbc41(0xc5)),_0xfeebe9[_0x1dbc41(0x18f)]=_0x136f80;const _0x30c73b=this;_0xfeebe9['$menu']=this['_createMenu'](_0x217571,{},_0x2cbfb4=>{const _0x47e63a=_0x1dbc41,_0xbfb7f7=_0x173bea(_0x2cbfb4);_0xbfb7f7&&_0x30c73b['verify'](_0xbfb7f7);const _0x20f4c6=_0x217571[_0x47e63a(0xd7)](_0x279995=>_0x279995[_0x47e63a(0xac)]===_0x2cbfb4);_0xfeebe9[_0x47e63a(0x18f)]=_0x2cbfb4,_0xfeebe9[_0x47e63a(0x181)]['empty']()['append'](_0x47e63a(0xed)+((_0x20f4c6===null||_0x20f4c6===void 0x0?void 0x0:_0x20f4c6[_0x47e63a(0x11f)])||'')+_0x47e63a(0x1cc)+((_0x20f4c6===null||_0x20f4c6===void 0x0?void 0x0:_0x20f4c6[_0x47e63a(0x1c6)])||'')+_0x47e63a(0xc5));}),_0xfeebe9[_0x1dbc41(0xe4)][_0x1dbc41(0x8f)](document['body']),_0xfeebe9[_0x1dbc41(0xe4)]['hide'](),_0xfeebe9[_0x1dbc41(0x15d)][_0x1dbc41(0x153)]();},'mode'(){const _0x5e3770=_0x5a0c63,_0x2f97ab=this;return _0x173bea(_0x2f97ab[_0x5e3770(0x18f)]);},'setMode'(_0x736da9){const _0x298510=_0x5a0c63,_0x130de1=this,_0x47e354=_0x39070c(_0x736da9);_0x130de1[_0x298510(0x18f)]=_0x47e354;},'_create'(){const _0x369805=_0x5a0c63,_0x427b09=this;_0x427b09[_0x369805(0xd6)]=this[_0x369805(0x14b)],_0x427b09['$input'][_0x369805(0xc9)](_0x369805(0x1c3),_0x369805(0x169)),_0x427b09[_0x369805(0x1b4)]=_0x427b09['$input'][_0x369805(0xe2)](_0x369805(0xc1))['parent']()[_0x369805(0x186)](_0x369805(0xf3)),_0x427b09['$combo']=$(_0x369805(0x1d2)),_0x427b09['$combo'][_0x369805(0x186)](_0x369805(0x18b)),_0x427b09[_0x369805(0xd6)][_0x369805(0x1cd)](_0x427b09[_0x369805(0xd4)]),_0x427b09[_0x369805(0xad)]=$(_0x369805(0x1d2))[_0x369805(0x186)](_0x369805(0x161)),_0x427b09['$combo'][_0x369805(0x16d)](_0x427b09[_0x369805(0xad)]),_0x427b09['$inputGroup']['append'](_0x427b09[_0x369805(0xd6)]),_0x427b09[_0x369805(0x1b3)]=$('<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>'),_0x427b09[_0x369805(0xd6)][_0x369805(0x139)](_0x427b09['$toggleTreeBtn']),_0x427b09[_0x369805(0x1b3)]['on'](_0x369805(0x143),function(){return _0x19f34e(this,void 0x0,void 0x0,function*(){const _0x24abd2=_0x57b1;var _0x3f398e;let _0x33c397=![],_0x9e2652;!_0x427b09[_0x24abd2(0x128)]['is'](':visible')&&(_0x427b09[_0x24abd2(0x19d)][_0x24abd2(0x1a4)](),_0x9e2652=yield _0x427b09['resolveParentNode'](),(_0x9e2652!==_0x427b09[_0x24abd2(0xdf)]||((_0x3f398e=_0x427b09[_0x24abd2(0xdf)])===null||_0x3f398e===void 0x0?void 0x0:_0x3f398e['nodeId'])!==_0x9e2652['nodeId'])&&(yield _0x427b09[_0x24abd2(0xb1)]()),_0x33c397=!![]),_0x427b09[_0x24abd2(0x128)][_0x24abd2(0x135)](),_0x33c397&&(yield _0x27ec29(_0x427b09,_0x9e2652));});}),_0x427b09[_0x369805(0x1b1)]=$(_0x369805(0x133)),_0x427b09[_0x369805(0xd6)][_0x369805(0x139)](_0x427b09[_0x369805(0x1b1)]),_0x427b09[_0x369805(0x1b1)]['on'](_0x369805(0x143),()=>{const _0x31e400=_0x369805,_0x317db1=_0x427b09[_0x31e400(0x1c4)]();if(!_0x317db1)return;this['verify'](_0x317db1);});const _0x38a58d=_0x328527=>_0x19f34e(this,void 0x0,void 0x0,function*(){const _0x2dbed1=_0x369805,_0x4ba482=this;let _0x2cd7b0=_0x4ba482[_0x2dbed1(0x1c4)]();if(!_0x2cd7b0)return;const _0x3b2ff3=_0x163142(_0x4ba482),{data:_0x2e134c,json:_0x124c80}=yield _0x22cf56(_0x3b2ff3,_0x328527);if(_0x2e134c[_0x2dbed1(0x11a)]!==0xc8)return;if(_0x124c80['statusCode'][_0x2dbed1(0x91)](/Good/)){const _0x582a3a=_0x8d4274(_0x124c80,_0x2cd7b0);_0x4ba482['$input'][_0x2dbed1(0x10e)](_0x582a3a),_0x4ba482[_0x2dbed1(0xd6)][_0x2dbed1(0xc4)]('change');}});{_0x427b09[_0x369805(0xb6)]=$('<div>'),_0x427b09[_0x369805(0xd6)][_0x369805(0x96)](_0x427b09[_0x369805(0xb6)]),_0x427b09['$selectTrigger']=$(_0x369805(0x1d1))[_0x369805(0x163)](_0x427b09[_0x369805(0xb6)]),$(_0x369805(0x13d))[_0x369805(0x135)](!![])[_0x369805(0x8f)](_0x427b09[_0x369805(0x15d)]),_0x427b09[_0x369805(0x15d)]['on'](_0x369805(0x143),function(_0x4d9588){const _0xcbf3a0=_0x369805;_0x4d9588[_0xcbf3a0(0xf7)](),_0x4d9588[_0xcbf3a0(0xa0)](),_0x427b09['_showTypeMenu']();}),_0x427b09[_0x369805(0x15d)]['on'](_0x369805(0xff),function(_0x1283c9){const _0x1d0d24=_0x369805;_0x1283c9[_0x1d0d24(0x16b)]===0x28&&_0x427b09[_0x1d0d24(0xe7)](),_0x1283c9['stopPropagation']();})['on']('focus',function(){const _0x556aa5=_0x369805;_0x427b09[_0x556aa5(0xb6)][_0x556aa5(0x186)](_0x556aa5(0x1af));})['on'](_0x369805(0xdc),function(){const _0x1f28b9=_0x369805;_0x427b09[_0x1f28b9(0xb6)][_0x1f28b9(0x141)](_0x1f28b9(0x1af));}),_0x427b09[_0x369805(0x181)]=$(_0x369805(0x15c))['appendTo'](_0x427b09[_0x369805(0x15d)]);}this['_initMenu']();!_0x427b09[_0x369805(0xd6)][_0x369805(0x17f)](_0x369805(0x165))&&_0x427b09[_0x369805(0xd6)][_0x369805(0x17f)](_0x369805(0x165),_0x369805(0x124));_0x427b09[_0x369805(0x19d)]=$(_0x369805(0x13c)),_0x427b09[_0x369805(0x19d)][_0x369805(0x1a4)](),_0x427b09[_0x369805(0xd4)][_0x369805(0x16d)](_0x427b09[_0x369805(0x19d)]),_0x427b09[_0x369805(0x128)]=$(_0x369805(0x1d2))[_0x369805(0x186)](_0x369805(0x112))[_0x369805(0x1a4)]()['appendTo'](_0x427b09[_0x369805(0xd4)]),_0x427b09['$tree']=$(_0x369805(0x137))['appendTo'](_0x427b09[_0x369805(0x128)]),this[_0x369805(0xb1)]();const _0xedf80a=(_0x3013f9,_0x5afa57)=>{const _0x269985=_0x369805,_0x372378=0x14,_0x137b07=0x14,_0x396479=_0x3013f9[_0x269985(0xfc)](),_0x136128=_0x5afa57;if(_0x136128[_0x269985(0xa4)]>=_0x396479['left']&&_0x136128[_0x269985(0xa4)]<=_0x396479[_0x269985(0xea)]+_0x372378&&_0x136128[_0x269985(0x155)]>=_0x396479[_0x269985(0xf6)]&&_0x136128[_0x269985(0x155)]<=_0x396479['top']+_0x137b07)return!![];return![];},_0x5866cd=_0x1ba0ac=>_0x19f34e(this,void 0x0,void 0x0,function*(){const _0x5c209e=_0x369805;if(_0x1ba0ac[_0x5c209e(0x13a)]('expandable'))_0x5c34d1(_0x427b09,_0x1ba0ac);else{if(_0x1ba0ac[_0x5c209e(0x13a)](_0x5c209e(0xfb)))_0x1ba0ac[_0x5c209e(0xaa)]('ul')[_0x5c209e(0x135)](),_0x1ba0ac['toggleClass'](_0x5c209e(0x198));else{if(_0x1ba0ac[_0x5c209e(0xaa)]('ul')['children']()['length']>0x0)_0x1ba0ac['children']('ul')['toggle'](),_0x1ba0ac['toggleClass'](_0x5c209e(0x198));else;}}});_0x427b09[_0x369805(0x1ab)]['on'](_0x369805(0x100),'li',function(_0x328cfc){const _0x28995a=_0x369805;var _0x31cc2b,_0x1992aa;_0x328cfc[_0x28995a(0xa0)]();let _0x54ed39=$(this);if(_0xedf80a(_0x54ed39,_0x328cfc))_0x5866cd(_0x54ed39);else{const _0x272c73=_0x54ed39[_0x28995a(0x1ca)](_0x28995a(0xac)),_0x122ab5=_0x54ed39['data'](_0x28995a(0xf4));if(_0x427b09['options'][_0x28995a(0x173)]&&!_0x427b09[_0x28995a(0x1a9)][_0x28995a(0x173)](_0x122ab5))return;_0x427b09[_0x28995a(0xd6)][_0x28995a(0x1ca)](_0x28995a(0xf4),_0x122ab5),((_0x31cc2b=_0x122ab5[_0x28995a(0xf0)])===null||_0x31cc2b===void 0x0?void 0x0:_0x31cc2b['text'])||((_0x1992aa=_0x122ab5['browseName'])===null||_0x1992aa===void 0x0?void 0x0:_0x1992aa['name'])||_0x122ab5[_0x28995a(0x187)][_0x28995a(0x1a5)]();let _0x145f38=_0x427b09[_0x28995a(0x1c4)]();!_0x145f38&&(_0x145f38=_0x28995a(0x187),_0x427b09[_0x28995a(0xb8)](_0x145f38)),_0x38a58d(_0x272c73)[_0x28995a(0x1a8)](()=>{const _0x43ff91=_0x28995a;_0x427b09[_0x43ff91(0x128)][_0x43ff91(0x1a4)]();})['catch'](_0x3f7698=>{const _0x59fb60=_0x28995a;_0x427b09['$dropdown'][_0x59fb60(0x1a4)]();});}}),_0x427b09[_0x369805(0x1ab)]['on']('click','li',function(_0x12fc7d){const _0x1fc12b=_0x369805;_0x12fc7d[_0x1fc12b(0xa0)]();let _0x29146b=$(this);_0xedf80a(_0x29146b,_0x12fc7d)&&_0x5866cd(_0x29146b),_0x141d28(_0x427b09,_0x29146b);}),$(document)['on'](_0x369805(0x143),function(_0x39ff9c){const _0x23c5de=_0x369805;!$(_0x39ff9c[_0x23c5de(0x12f)])[_0x23c5de(0x14a)](_0x427b09[_0x23c5de(0xd4)])[_0x23c5de(0x129)]&&_0x427b09[_0x23c5de(0x128)][_0x23c5de(0x1a4)]();});}});},_0x5868a3=()=>{const _0x5c2744=_0x187f80,_0x3a9c49=$('.red-ui-tray-body');console[_0x5c2744(0x182)](_0x5c2744(0x1ba),_0x3a9c49['length']);if(_0x3a9c49[_0x5c2744(0x129)]){console['log']('installing\x20iframe');const _0x31dacc=$(_0x5c2744(0x10d),{'src':'/opcua-for-node-red/support-frame.html','scrolling':'no','style':'background-color:transparent;overflow:hidden;border:3px','allowtransparency':'true','width':_0x5c2744(0x13f),'height':_0x5c2744(0xeb)});_0x3a9c49[_0x5c2744(0x16d)](_0x31dacc),_0x31dacc[_0x5c2744(0xc9)]({'position':_0x5c2744(0x132),'right':'20px','bottom':_0x5c2744(0x138)});}},_0x22c66e=(_0x2d1446,_0x21d80b,_0x11ae4c)=>_0x19f34e(void 0x0,[_0x2d1446,_0x21d80b,_0x11ae4c],void 0x0,function*({endpointNode:_0x7a5f3e,endpoint:_0x5675f5,baseUrl:_0xbbf579},_0x35e6a4,_0x253074){const _0x2fc9e4=_0x187f80,_0x1e0464=_0xbbf579+_0x2fc9e4(0xb9),_0x587783=_0x1e0464+_0x2fc9e4(0x1d8),_0x11c4e7=yield fetch(_0x587783,{'method':_0x2fc9e4(0x142),'body':JSON['stringify']({'endpointNode':_0x7a5f3e,'endpoint':_0x5675f5,'nodeId':_0x35e6a4,'namespaceAliases':_0x253074}),'headers':{'Content-Type':'application/json'}});if(_0x11c4e7[_0x2fc9e4(0x11a)]!==0xc8){console[_0x2fc9e4(0x182)](_0x2fc9e4(0x122),_0x11c4e7[_0x2fc9e4(0x11a)],_0x11c4e7['statusText']);const _0x38f634={'statusCode':_0x2fc9e4(0x1cf),'requestedNodeId':_0x35e6a4};return _0x38f634;}console[_0x2fc9e4(0x182)]('fetched\x20:\x20',_0x11c4e7[_0x2fc9e4(0x11a)],_0x11c4e7[_0x2fc9e4(0x17b)]);const _0x5680f1=yield _0x11c4e7[_0x2fc9e4(0x126)]();return _0x5680f1;});function _0x5405bc(_0x1dfbe9,_0x3ebd3e,_0x57c5d8,_0x266abc){const _0x553587=_0x187f80,_0x473dce=$('#'+_0x1dfbe9+_0x553587(0x19b)),_0x10c3bf=$('#'+_0x1dfbe9+_0x553587(0x167)),_0x4b7694=$('#'+_0x1dfbe9+_0x553587(0x1c7)),_0x2b07f0=$('#'+_0x1dfbe9+_0x553587(0x197));let _0x5a4c5a=![];_0x473dce['hide'](),_0x10c3bf[_0x553587(0x1a4)](),_0x4b7694[_0x553587(0x1a4)](),_0x3ebd3e['on']('click',()=>{const _0x5be65f=_0x553587;if(_0x5a4c5a)return;_0x5a4c5a=!![],_0x4b7694['removeClass'](_0x5be65f(0x1a4)),_0x4b7694[_0x5be65f(0xfd)](_0x5be65f(0x93)),_0x473dce[_0x5be65f(0x186)](_0x5be65f(0x1a4)),_0x10c3bf[_0x5be65f(0x186)](_0x5be65f(0x1a4)),_0x2b07f0[_0x5be65f(0xfd)]('');const {body:_0x4f2957,url:_0xc2dca1}=_0x57c5d8();fetch(_0xc2dca1,{'method':_0x5be65f(0x142),'headers':{'Content-Type':'application/json'},'body':JSON[_0x5be65f(0x178)](_0x4f2957)})[_0x5be65f(0x1a8)](_0x7b20e7=>_0x7b20e7['json']())[_0x5be65f(0x1a8)](_0x361c04=>{const _0x264893=_0x5be65f;_0x5a4c5a=![],_0x4b7694[_0x264893(0x1a4)](),console['log'](JSON[_0x264893(0x178)](_0x361c04,null,'\x20'));if(_0x361c04['result']==='ok')_0x473dce[_0x264893(0x141)](_0x264893(0x1a4)),_0x10c3bf[_0x264893(0x186)](_0x264893(0x1a4)),_0x2b07f0[_0x264893(0xfd)](_0x361c04[_0x264893(0x146)]['replace']('\x0a',_0x264893(0xec))),_0x266abc(null,_0x361c04);else{const _0x57adac=_0x4e315e=>!_0x4e315e?'':_0x4e315e[_0x264893(0x179)]('\x0a')[_0x264893(0x106)](_0x774ce8=>_0x264893(0x92)+_0x774ce8+_0x264893(0x147))[_0x264893(0x118)]('\x0a'),_0x4878b8=_0x315d3f=>Array[_0x264893(0xe6)](_0x315d3f)?_0x315d3f[_0x264893(0x106)](_0x57adac)[_0x264893(0x118)]('\x0a'):_0x57adac(_0x315d3f);_0x473dce[_0x264893(0x186)](_0x264893(0x1a4)),_0x10c3bf[_0x264893(0x141)]('hide'),_0x2b07f0[_0x264893(0xfd)](_0x4878b8(_0x361c04['message'])+_0x4878b8(_0x361c04[_0x264893(0x1d3)])),_0x266abc(new Error(_0x361c04[_0x264893(0x98)]),_0x361c04);}})[_0x5be65f(0x10f)](_0x135e09=>{const _0x85254=_0x5be65f;_0x5a4c5a=![],_0x4b7694['addClass'](_0x85254(0x1a4)),_0x473dce['addClass'](_0x85254(0x1a4)),_0x10c3bf[_0x85254(0x141)](_0x85254(0x1a4)),_0x2b07f0[_0x85254(0xfd)](_0x85254(0x18d)+_0x135e09['message']),console[_0x85254(0x182)]('err',_0x135e09),_0x266abc(_0x135e09,null);});});}const _0x24e5fa=()=>{const _0x3103bc=_0x187f80,_0x1ba056=$('#node-input-endpoint'),_0x118552=_0x1ba056[_0x3103bc(0x10e)](),_0xeabb2b=RED[_0x3103bc(0x17e)][_0x3103bc(0x11b)](_0x118552);if(!_0xeabb2b)return undefined;const {endpoint:_0x475772,securityMode:_0x32de1d,securityPolicy:_0x4d3293,userIdentityType:_0x1331de,credentials:_0x3daf57,namespaceAliases:_0x4e5971}=_0xeabb2b,_0x227c91={'endpoint':_0x475772,'securityMode':_0x32de1d,'securityPolicy':_0x4d3293,'userIdentityType':_0x1331de,'credentials':_0x3daf57,'namespaceAliases':_0x4e5971};return _0x227c91;},_0x569a73=()=>{const _0x3f0cb9=_0x187f80,_0x4f4916=$(_0x3f0cb9(0x113)),_0x441b10=_0x4f4916['val'](),_0x4a8c19=_0x24e5fa();if(!_0x4a8c19)return undefined;const _0x479357=_0x4a8c19['namespaceAliases'];return Object[_0x3f0cb9(0xa2)]({'namespaceAliases':_0x479357,'id':_0x441b10},_0x4a8c19);},_0x1cb1bf=()=>{return{'endpointNode':_0x569a73};};RED['nodes'][_0x187f80(0x1c0)]('OpcUa-Client2-Call',{'category':_0x187f80(0xf8),'color':_0x187f80(0xc0),'align':'right','icon':_0x187f80(0x10c),'paletteLabel':'call','defaults':{'inputs':{'value':0x1},'output':{'value':0x4},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0x187f80(0x117)},'action':{'value':_0x187f80(0xda),'required':!![]},'methodId':{'value':'','required':!![]},'objectId':{'value':'','required':!![]}},'outputs':0x2,'label'(){const _0x1cfdda=_0x187f80;return this[_0x1cfdda(0x144)]||_0x1cfdda(0x108);},'labelStyle'(){const _0x57a607=_0x187f80;return this[_0x57a607(0x144)]?_0x57a607(0x127):'';},'oneditprepare'(){const _0x5e69a9=_0x187f80,_0x3f4f51=this;_0xfad2db(),_0x5868a3(),_0x3f4f51[_0x5e69a9(0xcb)]=0x1;let _0x170325={};const _0x5f1cc7=$(_0x5e69a9(0x1d7)),_0x4ef2a6=$('#node-input-methodId'),_0x4c1300=$(_0x5e69a9(0x1a0)),_0x2f1a57=$('#method-output-argument-definition'),_0x24a44e=$(_0x5e69a9(0x99));_0x5f1cc7['nodeBrowser'](Object[_0x5e69a9(0xa2)](Object[_0x5e69a9(0xa2)]({},_0x1cb1bf()),{'filter'(_0x4e2197){const _0x32e8d9=_0x5e69a9;return _0x4e2197[_0x32e8d9(0x1b6)]===_0x32e8d9(0x10a);}})),_0x4ef2a6[_0x5e69a9(0x1be)](Object[_0x5e69a9(0xa2)](Object[_0x5e69a9(0xa2)]({},_0x1cb1bf()),{'parentNode':function(){return _0x19f34e(this,void 0x0,void 0x0,function*(){const _0x6f53b=_0x57b1,_0x24f618=_0x163142(this);let _0x90a750=_0x5f1cc7[_0x6f53b(0x1ca)](_0x6f53b(0xf4));if(!_0x90a750){const _0x1bdb24=_0x5f1cc7['val']();try{const _0x5103ef=yield _0x22c66e(_0x24f618,_0x1bdb24);if(_0x5103ef['statusCode']!==_0x6f53b(0xb7))return null;_0x90a750={'nodeId':_0x5103ef[_0x6f53b(0x187)],'browseName':_0x5103ef[_0x6f53b(0x116)],'nodeClass':'Object','typeDefinition':'ns=0;i=0','displayName':{'text':''}};}catch(_0x49c8d4){console[_0x6f53b(0x182)](_0x49c8d4);}}return _0x90a750;});},'filter'(_0x4a77ab){const _0x3f3403=_0x5e69a9;return _0x4a77ab[_0x3f3403(0x1b6)]===_0x3f3403(0x1b7)||_0x4a77ab[_0x3f3403(0x1b6)]===_0x3f3403(0x10a);},'isSelectable'(_0x2dfb89){const _0x2f9608=_0x5e69a9;return _0x2dfb89[_0x2f9608(0x1b6)]===_0x2f9608(0x1b7);}})),_0x5f1cc7['on'](_0x5e69a9(0xee),()=>{const _0x3332ab=_0x5e69a9;_0x4ef2a6['nodeBrowser'](_0x3332ab(0xb1));});function _0x495be6(_0x4778df,_0x3205b6,_0x1b4524){const _0x3d32f9=_0x5e69a9,_0xdd977d=$('<div\x20class=\x22argument-entry\x22>')[_0x3d32f9(0x8f)](_0x4778df);$(_0x3d32f9(0x107))[_0x3d32f9(0x10e)](_0x1b4524['name']||'')[_0x3d32f9(0xc9)]({'width':_0x3d32f9(0xa1)})[_0x3d32f9(0x8f)](_0xdd977d);const _0x5013bf=_0x170325[_0x1b4524['dataType'][_0x3d32f9(0x1a5)]()],_0x5a6808=(_0x5013bf?_0x5013bf[_0x3d32f9(0x116)][_0x3d32f9(0x144)]||'':_0x1b4524[_0x3d32f9(0x1ae)][_0x3d32f9(0x1a5)]())+(_0x1b4524[_0x3d32f9(0xe8)]===0x1?'[]':'');$(_0x3d32f9(0x107))[_0x3d32f9(0x10e)](_0x1b4524[_0x3d32f9(0x18e)][_0x3d32f9(0xd0)]||'')[_0x3d32f9(0xc9)]({'width':'50%'})[_0x3d32f9(0x8f)](_0xdd977d),$(_0x3d32f9(0x107))[_0x3d32f9(0x10e)](_0x5a6808||'')[_0x3d32f9(0xc9)]({'width':_0x3d32f9(0x12b)})[_0x3d32f9(0x8f)](_0xdd977d);}_0x4c1300[_0x5e69a9(0xa9)]({'addButton':![],'height':_0x5e69a9(0xc3),'scrollOnAdd':![],'addItem'(_0x517399,_0x19ba07,_0x5ee553){_0x495be6(_0x517399,_0x19ba07,_0x5ee553);}}),_0x2f1a57[_0x5e69a9(0xa9)]({'addButton':![],'height':_0x5e69a9(0xc3),'scrollOnAdd':![],'addItem'(_0x3b3b48,_0x200634,_0x4fd234){_0x495be6(_0x3b3b48,_0x200634,_0x4fd234);}});function _0x48eb3a(_0x4459cf,_0x1d405c){const _0x4c90dd=_0x5e69a9;console[_0x4c90dd(0x182)](_0x4c90dd(0x184),_0x1d405c['length'],_0x4c90dd(0x1d6),_0x1d405c),_0x4459cf[_0x4c90dd(0xa9)]('empty');for(let _0x367db6=0x0;_0x367db6<_0x1d405c[_0x4c90dd(0x129)];_0x367db6++){_0x4459cf[_0x4c90dd(0xa9)](_0x4c90dd(0x170),_0x1d405c[_0x367db6]);}}_0x4c1300[_0x5e69a9(0x1a4)](),_0x2f1a57[_0x5e69a9(0x1a4)]();let _0x485408={};const _0x9897db=$(_0x5e69a9(0xa7));_0x9897db['hide'](),_0x9897db['on'](_0x5e69a9(0x143),()=>{const _0x796d1d=_0x5e69a9;navigator[_0x796d1d(0x168)][_0x796d1d(0x95)](JSON[_0x796d1d(0x178)](_0x485408));}),_0x5405bc(_0x5e69a9(0x18a),_0x24a44e,()=>({'url':_0x5e69a9(0x1a3),'body':{'endpointNode':_0x569a73(),'objectId':_0x5f1cc7[_0x5e69a9(0x10e)](),'methodId':_0x4ef2a6[_0x5e69a9(0x10e)]()}}),(_0x58b31b,_0x304747)=>{const _0x50c912=_0x5e69a9;if(_0x58b31b)return;const _0x31e107=_0x304747[_0x50c912(0xbb)];_0x170325=_0x304747[_0x50c912(0x103)],_0x4c1300['show'](),_0x2f1a57[_0x50c912(0x153)](),_0x48eb3a(_0x4c1300,_0x31e107['inputArguments']),_0x48eb3a(_0x2f1a57,_0x31e107[_0x50c912(0x190)]),_0x485408=_0x304747[_0x50c912(0xe3)]||{},_0x9897db[_0x50c912(0x153)](),navigator['clipboard'][_0x50c912(0x95)](JSON[_0x50c912(0x178)](_0x485408)),console[_0x50c912(0x182)](_0x50c912(0x16a),JSON[_0x50c912(0x178)](_0x485408)),console[_0x50c912(0x182)](_0x50c912(0x1ca),_0x304747);});},'oneditsave'(){}});}()));
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHgxOWYzNGUiLCJfMHg0NTdhZTIiLCJfMHgyMTNiNzAiLCJfMHgxMzA0M2YiLCJfMHhlMmJjZSIsIl8weDEzNjE2NiIsIl8weDZmMzA4OCIsIl8weDU0NTUwZCIsIlByb21pc2UiLCJfMHgyODNlZmIiLCJfMHgxODU2MjEiLCJfMHgyMjk2NmEiLCJfMHhjYzk4YjMiLCJfMHgyNzYzMTQiLCJfMHgxNWIyNjIiLCJfMHgxMWQyOTkiLCJfMHgyZDJhOTEiLCJfMHg0MWEyNGIiLCJfMHgzZGFlM2MiLCJTdXBwcmVzc2VkRXJyb3IiLCJfMHhmMzM4YjgiLCJfMHg1ZWY0MDgiLCJfMHgzY2JkMzAiLCJfMHhmYjRjNjYiLCJFcnJvciIsIl8weDNmNjUyNCIsIl8weDE4YjgzYSIsIl8weDM0NzdkZCIsIl8weDMwNjhiZiIsIl8weDQ4NDQxNCIsIl8weDJkYTdkMyIsIl8weDMzZWUyOCIsIl8weDNhYTVkZSIsIl8weDI0NTA5ZSIsIl8weDM3ODRhOCIsIl8weDQ5ZmUzZiIsIl8weDVjOTZlNCIsIl8weDE2Y2ZjNCIsIl8weDM4OWM0ZCIsIl8weDU0YmNmYiIsIl8weDE4YjAzOSIsIl8weDFjZDNhNCIsIl8weGZmNGI2YyIsIl8weDRjYTNhMiIsIl8weDRmZmRlZSIsIl8weDU5ZmVhYyIsIl8weDU3MjgxMiIsIl8weDE3OGU2MSIsImVuZHBvaW50Tm9kZSIsIl8weDFmNzI1OCIsImVuZHBvaW50IiwiXzB4NWY0YzU5IiwiYmFzZVVybCIsIl8weDRhY2Q5NCIsIl8weDI0ZDI0MyIsIl8weDVlNzY5NiIsIl8weDFkMjVjYyIsIl8weDIwMDhmNCIsIl8weDFlZmIyNCIsIk9iamVjdCIsIl8weDQ3MzQ1NCIsImZldGNoIiwiSlNPTiIsImNvbnNvbGUiLCJfMHgyMWM1NWUiLCJfMHgzNDQ2NjYiLCJfMHg0MjllNjAiLCJfMHgyYTY0YTYiLCJfMHhiNGFiNDYiLCJfMHgzYmE1NjEiLCJfMHgyM2UxNjMiLCJfMHgxYjgwYjQiLCJfMHgxNTVmODAiLCJfMHg0ODgwYzEiLCJub2RlSWQiLCJfMHg1N2E1NGYiLCJyb290Tm9kZUlkIiwiXzB4MWIzMDk1IiwiaXNUeXBlIiwiXzB4NDRjZDM4IiwiXzB4MWY5NjM0IiwiXzB4M2Y4NDZjIiwiXzB4MmFkM2FkIiwiXzB4Mzc1ODJiIiwiXzB4OGQ0Mjc0IiwiXzB4MmEzNjcwIiwiXzB4NGU0OGY4IiwiXzB4MjkyMDEyIiwiXzB4MTcwYzY5IiwiXzB4MTY0ZmYzIiwiXzB4MmU2NWQ1IiwiXzB4YjYwMDBiIiwiXzB4NWVlMzRiIiwiXzB4NGIyYWI0IiwiXzB4MjU2MWEyIiwiXzB4MTczYmVhIiwiXzB4NTNjZTIzIiwiXzB4NDdlOWU2IiwiXzB4MzkwNzBjIiwiXzB4YWY1MDk3IiwiXzB4MjJjZjU2IiwiXzB4MTUyNTk2IiwiXzB4NGNmMDIyIiwiXzB4MTc1YjRkIiwiXzB4YjA4MzIyIiwiXzB4NGI0ZjgxIiwiXzB4MWIzMzQ3IiwiXzB4MzI0ZjI4IiwiXzB4NTNiYmQ0IiwiXzB4Mjg5MTg1IiwiXzB4M2YyNDFhIiwiUkVEIiwiXzB4MThkNzE0IiwiXzB4ODJjODI2IiwiXzB4NDE3YzZlIiwiXzB4MWRjMmZjIiwiXzB4NTRmZjQ2IiwiXzB4MzMzNWJlIiwiXzB4MzAyZmJlIiwiXzB4MWJjZWM2IiwiXzB4MjJlNTg4IiwiXzB4NTg0N2M3IiwiXzB4NWViZTAyIiwiXzB4NTBlZTI5IiwiXzB4NGE4OTM5IiwiXzB4M2M3OWRkIiwiXzB4NzYzNzI3IiwianNvbiIsIl8weDJjZTJjNyIsImRhdGEiLCJfMHgxYjZlMzMiLCJfMHg0ZGQ0M2QiLCJfMHgyNTBhMDAiLCJfMHg1MWY2NjAiLCJzZXRUaW1lb3V0IiwiXzB4M2Q4MWNkIiwiXzB4MzMwYzA4IiwiXzB4NWM1NDQ4IiwiXzB4MTBiMzExIiwiXzB4MzEzNDVmIiwiXzB4MzAyMTkxIiwiXzB4MmI0MGM4IiwiXzB4M2E4MGVlIiwiXzB4MjdjNWE1IiwiXzB4YjcyMTJmIiwiXzB4MmNjNjhlIiwiXzB4NTcwN2IwIiwiXzB4MjAzZDU5IiwiXzB4MzgxMWFlIiwiXzB4NTZjOWY3IiwiXzB4MjZjYWI3IiwiXzB4NTQ1ZDZjIiwiXzB4NGIyYzUwIiwiXzB4ZTAxZTY3IiwiXzB4M2U5MjAwIiwiXzB4MmFmZThjIiwiJCIsIl8weDRjZDkwYSIsIl8weDI1NzMxNSIsImljb24iLCJfMHg0MWQ3NjkiLCJjb2xvciIsIl8weDI0ZjgzMCIsIl8weDM5OTE4NiIsIl8weDUzNjdhNyIsIl8weDE3NDliYSIsIl8weDE0OTQ1NiIsIl8weDIzMDE3ZCIsIl8weDE0MWQyOCIsIl8weDNlY2QwMyIsIl8weDRhNTUzOCIsIl8weDEyYWRiNCIsIl8weDRkMmI1YSIsIl8weDNkNzNkOSIsIl8weDIyMjBjOCIsIl8weDQ2OGU5OCIsIl8weDQwMWZhMCIsIl8weDQ3MDE3NyIsIl8weDVjMzRkMSIsIl8weGQ3Y2M4NSIsIl8weDI4N2JmOCIsIl8weDE2MzQ5OSIsIl8weDgyMzRkIiwiXzB4MzdjYzI3IiwiXzB4YjY2Njc0IiwidW5kZWZpbmVkIiwiXzB4NTAxNDQ5IiwiXzB4MjdlYzI5IiwiXzB4MzNiN2RlIiwiXzB4MWJiYTFlIiwiXzB4NGFkMDY2IiwiXzB4MzBjNzY0IiwiXzB4NTE2NTk0IiwiXzB4MTYzMTQyIiwiXzB4NGYwMTc0IiwiXzB4MzU4YzQ2IiwiXzB4YzVkZDQ2IiwiXzB4MTI0YmMzIiwiXzB4MTNmN2I5IiwiXzB4MzgzNjFiIiwicmVmZXJlbmNlcyIsIl8weDg4YjdjYyIsIl8weDI5MWVmZCIsIl8weDRhM2Y5OSIsIl8weDRhOTdmMiIsIl8weDE1YTlkOCIsIl8weDMxYjRhOSIsIl8weDNjYjllNyIsIl8weDUwMDg5OCIsIl8weGRhOTkyMSIsIl8weDc2Y2E5MSIsIl8weDUzNWQ1ZSIsIl8weDkyNmIyNiIsIl8weDExOWQ4YyIsIl8weDUzYzI5NiIsIl8weDNkOTI2NyIsIl8weDExMmUwYSIsIl8weGZhZDJkYiIsIl8weDJjZWVmYyIsIl8weDFlNDNkMiIsIl8weDM4YjIzYyIsIl8weDI1MDQwYyIsIl8weDUxMzJjNCIsIl8weDRlYjQ5ZSIsIl8weDNiNTM5NyIsIl8weDNlZjE0NiIsIl8weDI1NmRkMyIsIl8weDIwNmQzYSIsIl8weDJmZTkxMSIsIl8weDM4NjI5MSIsIl8weDU2ZTUwYyIsImRvY3VtZW50IiwiXzB4MzZiNTk2IiwiXzB4M2NjNzliIiwiXzB4Mzc0MmI1IiwiXzB4NGMyNzYyIiwiXzB4MTYxMDhkIiwiXzB4ZTA4YWRhIiwiXzB4NTE0NDMxIiwiXzB4MmQzZjA0IiwiXzB4MjkyYjMzIiwiXzB4M2VkMDk2IiwiXzB4MTQ5MWFkIiwiXzB4MjlmOTVlIiwiXzB4Mjc2ZGU4IiwiXzB4NGFhYTk2IiwiXzB4MmNmMzA0IiwiXzB4NThmYzIzIiwiXzB4NTdjZGVkIiwiXzB4MWM2YmFiIiwiXzB4NGRlYWM1Iiwid2luZG93IiwiXzB4ZGNhNmUzIiwiXzB4MmU1YjFjIiwiXzB4YTA3Mjg5IiwiXzB4NTg1YWFiIiwiXzB4ZmVlYmU5IiwiXzB4NWJmNDA2IiwiXzB4MjE3NTcxIiwiXzB4MTM2ZjgwIiwiXzB4M2JiYjhjIiwiXzB4NGRkYTdiIiwiXzB4MzBjNzNiIiwiXzB4MmNiZmI0IiwiXzB4YmZiN2Y3IiwiXzB4MjBmNGM2IiwiXzB4Mjc5OTk1IiwiXzB4MmY5N2FiIiwiXzB4NzM2ZGE5IiwiXzB4MTMwZGUxIiwiXzB4NDdlMzU0IiwiXzB4NDI3YjA5IiwiXzB4M2YzOThlIiwiXzB4MzNjMzk3IiwiXzB4OWUyNjUyIiwiXzB4MzE3ZGIxIiwiXzB4MzhhNThkIiwiXzB4MzI4NTI3IiwiXzB4NGJhNDgyIiwiXzB4MmNkN2IwIiwiXzB4M2IyZmYzIiwiXzB4MmUxMzRjIiwiXzB4MTI0YzgwIiwiXzB4NTgyYTNhIiwiXzB4NGQ5NTg4IiwiXzB4MTI4M2M5IiwiXzB4ZWRmODBhIiwiXzB4MzAxM2Y5IiwiXzB4NWFmYTU3IiwiXzB4MzcyMzc4IiwiXzB4MTM3YjA3IiwiXzB4Mzk2NDc5IiwiXzB4MTM2MTI4IiwiXzB4NTg2NmNkIiwiXzB4MWJhMGFjIiwiXzB4MzI4Y2ZjIiwiXzB4MzFjYzJiIiwiXzB4MTk5MmFhIiwiXzB4NTRlZDM5IiwiXzB4MjcyYzczIiwiXzB4MTIyYWI1IiwiXzB4MTQ1ZjM4IiwiXzB4M2Y3Njk4IiwiXzB4MTJmYzdkIiwiXzB4MjkxNDZiIiwiXzB4MzlmZjljIiwiXzB4NTg2OGEzIiwiXzB4M2E5YzQ5IiwiXzB4MzFkYWNjIiwiXzB4MjJjNjZlIiwiXzB4MmQxNDQ2IiwiXzB4MjFkODBiIiwiXzB4MTFhZTRjIiwiXzB4N2E1ZjNlIiwiXzB4NTY3NWY1IiwiXzB4YmJmNTc5IiwiXzB4MzVlNmE0IiwiXzB4MjUzMDc0IiwiXzB4MWUwNDY0IiwiXzB4NTg3NzgzIiwiXzB4MTFjNGU3IiwiXzB4MzhmNjM0IiwiXzB4NTY4MGYxIiwiXzB4NTQwNWJjIiwiXzB4MWRmYmU5IiwiXzB4M2ViZDNlIiwiXzB4NTdjNWQ4IiwiXzB4MjY2YWJjIiwiXzB4NDczZGNlIiwiXzB4MTBjM2JmIiwiXzB4NGI3Njk0IiwiXzB4MmIwN2YwIiwiXzB4NWE0YzVhIiwiYm9keSIsIl8weDRmMjk1NyIsInVybCIsIl8weGMyZGNhMSIsIl8weDdiMjBlNyIsIl8weDM2MWMwNCIsIl8weDU3YWRhYyIsIl8weDRlMzE1ZSIsIl8weDc3NGNlOCIsIl8weDQ4NzhiOCIsIl8weDMxNWQzZiIsIkFycmF5IiwiXzB4MTM1ZTA5IiwiXzB4MjRlNWZhIiwiXzB4MWJhMDU2IiwiXzB4MTE4NTUyIiwiXzB4ZWFiYjJiIiwiXzB4NDc1NzcyIiwic2VjdXJpdHlNb2RlIiwiXzB4MzJkZTFkIiwic2VjdXJpdHlQb2xpY3kiLCJfMHg0ZDMyOTMiLCJ1c2VySWRlbnRpdHlUeXBlIiwiXzB4MTMzMWRlIiwiY3JlZGVudGlhbHMiLCJfMHgzZGFmNTciLCJuYW1lc3BhY2VBbGlhc2VzIiwiXzB4NGU1OTcxIiwiXzB4MjI3YzkxIiwiXzB4NTY5YTczIiwiXzB4NGY0OTE2IiwiXzB4NDQxYjEwIiwiXzB4NGE4YzE5IiwiXzB4NDc5MzU3IiwiXzB4MWNiMWJmIiwiXzB4M2Y0ZjUxIiwiXzB4MTcwMzI1IiwiXzB4NWYxY2M3IiwiXzB4NGVmMmE2IiwiXzB4NGMxMzAwIiwiXzB4MmYxYTU3IiwiXzB4MjRhNDRlIiwiXzB4NGUyMTk3IiwiXzB4MjRmNjE4IiwiXzB4OTBhNzUwIiwiXzB4MWJkYjI0IiwiXzB4NTEwM2VmIiwiXzB4NDljOGQ0IiwiXzB4NGE3N2FiIiwiXzB4MmRmYjg5IiwiXzB4NDk1YmU2IiwiXzB4NDc3OGRmIiwiXzB4MzIwNWI2IiwiXzB4MWI0NTI0IiwiXzB4ZGQ5NzdkIiwiXzB4NTAxM2JmIiwiXzB4NWE2ODA4IiwiXzB4NTE3Mzk5IiwiXzB4MTliYTA3IiwiXzB4NWVlNTUzIiwiXzB4M2IzYjQ4IiwiXzB4MjAwNjM0IiwiXzB4NGZkMjM0IiwiXzB4NDhlYjNhIiwiXzB4NDQ1OWNmIiwiXzB4MWQ0MDVjIiwiXzB4MzY3ZGI2IiwiXzB4NDg1NDA4IiwiXzB4OTg5N2RiIiwibmF2aWdhdG9yIiwiXzB4NThiMzFiIiwiXzB4MzA0NzQ3IiwiXzB4MzFlMTA3Il0sIm1hcHBpbmdzIjoiZ3pMQUFBLENBQUMsVSxDQUNHLGEsd0JBbUJBLFNBQVNBLFNBQVQsQ0FBbUJDLFNBQW5CLENBQTRCQyxTQUE1QixDQUF3Q0MsU0FBeEMsQ0FBMkNDLFFBQTNDLEMsQ0FDSSxTQUFTQyxTQUFULENBQWVDLFNBQWYsQyxRQUErQkEsU0FBQSxZQUFpQkgsU0FBakIsQ0FBcUJHLFNBQXJCLENBQTZCLElBQUlILFNBQUosQ0FBTSxTQUFVSSxTQUFWLEMsQ0FBcUJBLFNBQUEsQ0FBUUQsU0FBUixDLEVBQTNCLEMsU0FDckQsR0FBSyxDQUFBSCxTQUFBLEVBQU0sQ0FBQUEsU0FBQSxDQUFJSyxPQUFKLENBQU4sQ0FBTCxDQUF5QixTQUFVQyxTQUFWLENBQW1CQyxTQUFuQixDLHlCQUM1QixTQUFTQyxTQUFULENBQW1CQyxTQUFuQixDLHlCQUE0QixHLENBQU1DLFNBQUEsQ0FBS1QsUUFBQSxDLGVBQUEsRUFBZVEsU0FBZixDQUFMLEMsRUFBK0IsTUFBT0UsU0FBUCxDLENBQVlKLFNBQUEsQ0FBT0ksU0FBUCxDLEdBQzdFLFNBQVNDLFNBQVQsQ0FBa0JDLFNBQWxCLEMseUJBQTJCLEcsQ0FBTUgsU0FBQSxDQUFLVCxRQUFBLEMs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LEVBRFosQyxVQUVGLENBQVVRLFNBQUEsQyxnQkFBQSxHQUZSLEMsVUFHRixDQUFVQyxTQUFBLEMsZ0JBQUEsR0FIUixDQUZxQyxDQUFQLENBQXhDLENBT0ksQ0FBQ2dDLFNBQUQsQ0FBTUMsU0FBTixHLDhCQUNJRCxTLENBQ0EsT0FHSixNQUFNRSxTQUFBLENBQXFCRCxTQUFBLEMsZUFBQSxDQUEzQixDQUNBbkMsU0FBQSxDQUFZbUMsU0FBQSxDLGdCQUFBLEMsQ0FDWmhDLFNBQUEsQyxNQUFBLEcsQ0FDQUMsU0FBQSxDLGdCQUFBLEcsQ0FDQXVCLFNBQUEsQ0FBb0J4QixTQUFwQixDQUE4Q2lDLFNBQUEsQyxnQkFBQSxDQUE5QyxDLENBQ0FULFNBQUEsQ0FBb0J2QixTQUFwQixDQUErQ2dDLFNBQUEsQyxnQkFBQSxDQUEvQyxDLENBQ0FMLFNBQUEsQ0FBY0ksU0FBQSxDLGVBQUEsR0FBb0MsRSxDQUNsREgsU0FBQSxDLGdCQUFBLEcsQ0FDQUMsU0FBQSxDLFdBQUEsRSxlQUFBLEVBQThCcFYsSUFBQSxDLGdCQUFBLEVBQWVrVixTQUFmLENBQTlCLEMsQ0FDQWpWLE9BQUEsQyxnQkFBQSxFLGdCQUFBLENBQW9CRCxJQUFBLEMsZ0JBQUEsRUFBZWtWLFNBQWYsQ0FBcEIsQyxDQUNBalYsT0FBQSxDLGdCQUFBLEUsZ0JBQUEsQ0FBb0JxVixTQUFwQixDLEVBdEJKLEMsRUF0SXFDLEMsWUErSnpDLEUsRUEvSnlDLENBQTdDLEMsRUF4b0NKLEciLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gKCkge1xuICAgICd1c2Ugc3RyaWN0JztcblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxyXG5cclxuICAgIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxyXG4gICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLlxyXG5cclxuICAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcclxuICAgIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxyXG4gICAgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULFxyXG4gICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXHJcbiAgICBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxyXG4gICAgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUlxyXG4gICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cclxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbiAgICAvKiBnbG9iYWwgUmVmbGVjdCwgUHJvbWlzZSwgU3VwcHJlc3NlZEVycm9yLCBTeW1ib2wsIEl0ZXJhdG9yICovXHJcblxyXG5cclxuICAgIGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgICAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cclxuICAgICAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHR5cGVvZiBTdXBwcmVzc2VkRXJyb3IgPT09IFwiZnVuY3Rpb25cIiA/IFN1cHByZXNzZWRFcnJvciA6IGZ1bmN0aW9uIChlcnJvciwgc3VwcHJlc3NlZCwgbWVzc2FnZSkge1xyXG4gICAgICAgIHZhciBlID0gbmV3IEVycm9yKG1lc3NhZ2UpO1xyXG4gICAgICAgIHJldHVybiBlLm5hbWUgPSBcIlN1cHByZXNzZWRFcnJvclwiLCBlLmVycm9yID0gZXJyb3IsIGUuc3VwcHJlc3NlZCA9IHN1cHByZXNzZWQsIGU7XHJcbiAgICB9O1xuXG4gICAgY29uc3QgT3JnYW5pemVzUmVmTm9kZUlkID0gXCJucz0wO2k9MzVcIjtcbiAgICBjb25zdCBGb2xkZXJUeXBlID0gXCJucz0wO2k9NjFcIjtcbiAgICBjb25zdCBIYXNDb21wb25lbnRSZWZOb2RlSWQgPSBcIm5zPTA7aT00N1wiO1xuICAgIGNvbnN0IEhhc1Byb3BlcnR5UmVmTm9kZUlkID0gXCJucz0wO2k9NDZcIjtcbiAgICBjb25zdCBIYXNDaGlsZFJlZk5vZGVJZCA9IFwibnM9MDtpPTM0XCI7XG4gICAgY29uc3QgSGFzU3VidHlwZVJlZk5vZGVJZCA9IFwibnM9MDtpPTQ1XCI7XG4gICAgY29uc3QgSGFzVHlwZURlZmluaXRpb25SZWZOb2RlSWQgPSBcIm5zPTA7aT00MFwiO1xuXG4gICAgdmFyIEJyb3dzZURpcmVjdGlvbjtcbiAgICAoZnVuY3Rpb24gKEJyb3dzZURpcmVjdGlvbikge1xuICAgICAgICBCcm93c2VEaXJlY3Rpb25bQnJvd3NlRGlyZWN0aW9uW1wiRm9yd2FyZFwiXSA9IDBdID0gXCJGb3J3YXJkXCI7XG4gICAgICAgIEJyb3dzZURpcmVjdGlvbltCcm93c2VEaXJlY3Rpb25bXCJJbnZlcnNlXCJdID0gMV0gPSBcIkludmVyc2VcIjtcbiAgICAgICAgQnJvd3NlRGlyZWN0aW9uW0Jyb3dzZURpcmVjdGlvbltcIkJvdGhcIl0gPSAyXSA9IFwiQm90aFwiO1xuICAgICAgICBCcm93c2VEaXJlY3Rpb25bQnJvd3NlRGlyZWN0aW9uW1wiSW52YWxpZFwiXSA9IDNdID0gXCJJbnZhbGlkXCI7XG4gICAgfSkoQnJvd3NlRGlyZWN0aW9uIHx8IChCcm93c2VEaXJlY3Rpb24gPSB7fSkpO1xuICAgIHZhciBOb2RlQ2xhc3M7XG4gICAgKGZ1bmN0aW9uIChOb2RlQ2xhc3MpIHtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIlVuc3BlY2lmaWVkXCJdID0gMF0gPSBcIlVuc3BlY2lmaWVkXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJPYmplY3RcIl0gPSAxXSA9IFwiT2JqZWN0XCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJWYXJpYWJsZVwiXSA9IDJdID0gXCJWYXJpYWJsZVwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiTWV0aG9kXCJdID0gNF0gPSBcIk1ldGhvZFwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiT2JqZWN0VHlwZVwiXSA9IDhdID0gXCJPYmplY3RUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJWYXJpYWJsZVR5cGVcIl0gPSAxNl0gPSBcIlZhcmlhYmxlVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiUmVmZXJlbmNlVHlwZVwiXSA9IDMyXSA9IFwiUmVmZXJlbmNlVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiRGF0YVR5cGVcIl0gPSA2NF0gPSBcIkRhdGFUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJWaWV3XCJdID0gMTI4XSA9IFwiVmlld1wiO1xuICAgIH0pKE5vZGVDbGFzcyB8fCAoTm9kZUNsYXNzID0ge30pKTtcbiAgICB2YXIgTm9kZUNsYXNzTWFzaztcbiAgICAoZnVuY3Rpb24gKE5vZGVDbGFzc01hc2spIHtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiT2JqZWN0XCJdID0gMV0gPSBcIk9iamVjdFwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJWYXJpYWJsZVwiXSA9IDJdID0gXCJWYXJpYWJsZVwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJNZXRob2RcIl0gPSA0XSA9IFwiTWV0aG9kXCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIk9iamVjdFR5cGVcIl0gPSA4XSA9IFwiT2JqZWN0VHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJWYXJpYWJsZVR5cGVcIl0gPSAxNl0gPSBcIlZhcmlhYmxlVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJSZWZlcmVuY2VUeXBlXCJdID0gMzJdID0gXCJSZWZlcmVuY2VUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIkRhdGFUeXBlXCJdID0gNjRdID0gXCJEYXRhVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJWaWV3XCJdID0gMTI4XSA9IFwiVmlld1wiO1xuICAgIH0pKE5vZGVDbGFzc01hc2sgfHwgKE5vZGVDbGFzc01hc2sgPSB7fSkpO1xuICAgIHZhciBSZXN1bHRNYXNrO1xuICAgIChmdW5jdGlvbiAoUmVzdWx0TWFzaykge1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJSZWZlcmVuY2VUeXBlXCJdID0gMV0gPSBcIlJlZmVyZW5jZVR5cGVcIjtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiSXNGb3J3YXJkXCJdID0gMl0gPSBcIklzRm9yd2FyZFwiO1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJOb2RlQ2xhc3NcIl0gPSA0XSA9IFwiTm9kZUNsYXNzXCI7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIkJyb3dzZU5hbWVcIl0gPSA4XSA9IFwiQnJvd3NlTmFtZVwiO1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJEaXNwbGF5TmFtZVwiXSA9IDE2XSA9IFwiRGlzcGxheU5hbWVcIjtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiVHlwZURlZmluaXRpb25cIl0gPSAzMl0gPSBcIlR5cGVEZWZpbml0aW9uXCI7XG4gICAgfSkoUmVzdWx0TWFzayB8fCAoUmVzdWx0TWFzayA9IHt9KSk7XG4gICAgLy8gIGNvbnN0IHEgPSBSZWZlcmVuY2VUeXBlSWRzLk9yZ2FuaXplcztcbiAgICBmdW5jdGlvbiByZXNvbHZlTm9kZUlkKG5vZGVJZExpa2UpIHtcbiAgICAgICAgc3dpdGNoIChub2RlSWRMaWtlKSB7XG4gICAgICAgICAgICBjYXNlIFwiT3JnYW5pemVzXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE9yZ2FuaXplc1JlZk5vZGVJZDtcbiAgICAgICAgICAgIGNhc2UgXCJIYXNQcm9wZXJ0eVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBIYXNQcm9wZXJ0eVJlZk5vZGVJZDtcbiAgICAgICAgICAgIGNhc2UgXCJIYXNDb21wb25lbnRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGFzQ29tcG9uZW50UmVmTm9kZUlkO1xuICAgICAgICAgICAgY2FzZSBcIkhhc0NoaWxkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhhc0NoaWxkUmVmTm9kZUlkO1xuICAgICAgICAgICAgY2FzZSBcIkhhc1N1YnR5cGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGFzU3VidHlwZVJlZk5vZGVJZDtcbiAgICAgICAgICAgIGNhc2UgXCJIYXNUeXBlRGVmaW5pdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBIYXNUeXBlRGVmaW5pdGlvblJlZk5vZGVJZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGdldEljb24gPSAocmVmZXJlbmNlKSA9PiB7XG4gICAgICAgIHN3aXRjaCAocmVmZXJlbmNlLm5vZGVDbGFzcykge1xuICAgICAgICAgICAgY2FzZSBcIk9iamVjdFwiOlxuICAgICAgICAgICAgICAgIGlmIChyZWZlcmVuY2UucmVmZXJlbmNlVHlwZUlkID09PSBPcmdhbml6ZXNSZWZOb2RlSWQpIDtcbiAgICAgICAgICAgICAgICBpZiAocmVmZXJlbmNlLnR5cGVEZWZpbml0aW9uID09PSBGb2xkZXJUeXBlIHx8IHJlZmVyZW5jZS5yZWZlcmVuY2VUeXBlSWQgPT09IFwiaT02MVwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtZm9sZGVyXCIsIGNvbG9yOiBcInJnYmEoNjEsIDYwLCA0LCAwLjUyNSlcIiB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLW9iamVjdC1ncm91cFwiLCBjb2xvcjogXCJTZWFHcmVlblwiIH07XG4gICAgICAgICAgICBjYXNlIFwiVmFyaWFibGVcIjpcbiAgICAgICAgICAgICAgICBpZiAocmVmZXJlbmNlLnJlZmVyZW5jZVR5cGVJZCA9PT0gSGFzQ29tcG9uZW50UmVmTm9kZUlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtbGlzdC1hbHRcIiwgY29sb3I6IFwiU3RlZWxCbHVlXCIgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVmZXJlbmNlLnJlZmVyZW5jZVR5cGVJZCA9PT0gSGFzUHJvcGVydHlSZWZOb2RlSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1saXN0LWFsdFwiLCBjb2xvcjogXCJEb2RnZXJCbHVlXCIgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtbGlzdC1hbHRcIiwgY29sb3I6IFwiQ2FkZXRCbHVlXCIgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIFwiTWV0aG9kXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1jb2dcIiwgY29sb3I6IFwiU2FuZHlCcm93blwiIH07XG4gICAgICAgICAgICBjYXNlIFwiT2JqZWN0VHlwZVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtb2JqZWN0LWdyb3VwXCIsIGNvbG9yOiBcIkRhcmtPcmFuZ2VcIiB9O1xuICAgICAgICAgICAgY2FzZSBcIlZhcmlhYmxlVHlwZVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtc2xpZGVyc1wiLCBjb2xvcjogXCJEYXJrT3JhbmdlXCIgfTtcbiAgICAgICAgICAgIGNhc2UgXCJEYXRhVHlwZVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtdGV4dC13aWR0aFwiLCBjb2xvcjogXCJDYWRldEJsdWVcIiB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IGljb246IFwiZmEtcXVlc3Rpb25cIiwgY29sb3I6IFwiZ3JleVwiIH07XG4gICAgfTtcblxuICAgIGNvbnN0IGJyb3dzZSA9IChfYSwgbm9kZUlkXzEsIHRlbXBsYXRlXzEpID0+IF9fYXdhaXRlcih2b2lkIDAsIFtfYSwgbm9kZUlkXzEsIHRlbXBsYXRlXzFdLCB2b2lkIDAsIGZ1bmN0aW9uKiAoeyBlbmRwb2ludE5vZGUsIGVuZHBvaW50LCBiYXNlVXJsIH0sIG5vZGVJZCwgdGVtcGxhdGUpIHtcbiAgICAgICAgY29uc3Qgcm9vdCA9IGAke2Jhc2VVcmx9L29wY3VhLWZvci1ub2RlLXJlZGA7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L2Jyb3dzZWA7XG4gICAgICAgIGNvbnN0IGJyb3dzZURlc2NyaXB0aW9uID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCB0ZW1wbGF0ZSksIHsgbm9kZUlkLCByZXN1bHRNYXNrOiA2MyB9KTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHlpZWxkIGZldGNoKHVybCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICBlbmRwb2ludE5vZGUsXG4gICAgICAgICAgICAgICAgZW5kcG9pbnQsXG4gICAgICAgICAgICAgICAgYnJvd3NlRGVzY3JpcHRpb24sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChkYXRhLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImZldGNoaW5nIGZhaWxlZCB3aXRoIGVycm9yXCIsIGRhdGEuc3RhdHVzLCBkYXRhLnN0YXR1c1RleHQpO1xuICAgICAgICAgICAgcmV0dXJuIHsgcmVmZXJlbmNlczogW10gfTtcbiAgICAgICAgfVxuICAgICAgICAvLyBjb25zb2xlLmxvZyhcImJyb3dzZSBmZXRjaGVkIDogXCIsIGRhdGEuc3RhdHVzLCBkYXRhLnN0YXR1c1RleHQpO1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IHlpZWxkIGRhdGEuanNvbigpO1xuICAgICAgICBjb25zdCByZWZlcmVuY2VzID0gcmVzcG9uc2UuYnJvd3NlUmVzdWx0LnJlZmVyZW5jZXMgfHwgW107XG4gICAgICAgIHJldHVybiB7IHJlZmVyZW5jZXMgfTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHRlbXBsYXRlMSA9IHtcbiAgICAgICAgcmVmZXJlbmNlVHlwZUlkOiByZXNvbHZlTm9kZUlkKFwiSGFzQ2hpbGRcIiksXG4gICAgICAgIGluY2x1ZGVTdWJ0eXBlczogdHJ1ZSxcbiAgICAgICAgYnJvd3NlRGlyZWN0aW9uOiBCcm93c2VEaXJlY3Rpb24uRm9yd2FyZCxcbiAgICAgICAgbm9kZUNsYXNzTWFzazogTm9kZUNsYXNzLlZhcmlhYmxlIHwgTm9kZUNsYXNzLk9iamVjdCB8IE5vZGVDbGFzcy5NZXRob2QsXG4gICAgICAgIC8vICBOb2RlQ2xhc3MuT2JqZWN0VHlwZSB8XG4gICAgICAgIC8vICBOb2RlQ2xhc3MuVmFyaWFibGVUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLlJlZmVyZW5jZVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuRGF0YVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuVmlldyxcbiAgICAgICAgcmVzdWx0TWFzazogNjMsXG4gICAgfTtcbiAgICBjb25zdCB0ZW1wbGF0ZTIgPSB7XG4gICAgICAgIHJlZmVyZW5jZVR5cGVJZDogcmVzb2x2ZU5vZGVJZChcIk9yZ2FuaXplc1wiKSxcbiAgICAgICAgaW5jbHVkZVN1YnR5cGVzOiB0cnVlLFxuICAgICAgICBicm93c2VEaXJlY3Rpb246IEJyb3dzZURpcmVjdGlvbi5Gb3J3YXJkLFxuICAgICAgICBub2RlQ2xhc3NNYXNrOiBOb2RlQ2xhc3MuVmFyaWFibGUgfCBOb2RlQ2xhc3MuT2JqZWN0IHwgTm9kZUNsYXNzLk1ldGhvZCxcbiAgICAgICAgLy8gIE5vZGVDbGFzcy5PYmplY3RUeXBlIHxcbiAgICAgICAgLy8gIE5vZGVDbGFzcy5WYXJpYWJsZVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuUmVmZXJlbmNlVHlwZSB8XG4gICAgICAgIC8vIE5vZGVDbGFzcy5EYXRhVHlwZSB8XG4gICAgICAgIC8vIE5vZGVDbGFzcy5WaWV3LFxuICAgICAgICByZXN1bHRNYXNrOiA2MyxcbiAgICB9O1xuICAgIGNvbnN0IHdhbGtCYWNrd2FyZCA9IChfYSwgX2IpID0+IF9fYXdhaXRlcih2b2lkIDAsIFtfYSwgX2JdLCB2b2lkIDAsIGZ1bmN0aW9uKiAoeyBlbmRwb2ludE5vZGUsIGVuZHBvaW50LCBiYXNlVXJsIH0sIHsgbm9kZUlkLCByb290Tm9kZUlkLCBpc1R5cGUgfSkge1xuICAgICAgICBjb25zdCByb290ID0gYCR7YmFzZVVybH0vb3BjdWEtZm9yLW5vZGUtcmVkYDtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7cm9vdH0vd2Fsay1iYWNrd2FyZGA7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlLFxuICAgICAgICAgICAgICAgIGVuZHBvaW50LFxuICAgICAgICAgICAgICAgIG5vZGVJZCxcbiAgICAgICAgICAgICAgICByb290Tm9kZUlkLFxuICAgICAgICAgICAgICAgIGlzVHlwZSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGRhdGEuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGpzb24gPSAoeWllbGQgZGF0YS5qc29uKCkpO1xuICAgICAgICByZXR1cm4ganNvbi5icm93c2VQYXRoO1xuICAgIH0pO1xuICAgIGNvbnN0IGNob29zZU5vZGVJZCA9IChkYXRhLCBtb2RlKSA9PiB7XG4gICAgICAgIGlmIChkYXRhLnN0YXR1c0NvZGUgIT09IFwiR29vZFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0YS5yZXF1ZXN0ZWROb2RlSWQ7XG4gICAgICAgIH1cbiAgICAgICAgc3dpdGNoIChtb2RlKSB7XG4gICAgICAgICAgICBjYXNlIFwiYnJvd3NlUGF0aFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLmJwX2luZGV4ZWQ7XG4gICAgICAgICAgICBjYXNlIFwiYWxpYXNlZEJyb3dzZVBhdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5icF9hbGlhc2VkIHx8IGRhdGEuYnBfaW5kZXhlZDtcbiAgICAgICAgICAgIGNhc2UgXCJhbGlhc2VkTm9kZUlkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEubm9kZUlkX2FsaWFzZWQgfHwgZGF0YS5ub2RlSWRfbnN1O1xuICAgICAgICAgICAgY2FzZSBcIm5zdU5vZGVJRFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLm5vZGVJZF9uc3U7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgY2FzZSBcIm5vZGVJZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLm5vZGVJZDtcbiAgICAgICAgfVxuICAgIH07XG4gICAgY29uc3QgbWFrZVRvb2x0aXAgPSAoZGF0YSkgPT4ge1xuICAgICAgICBpZiAoZGF0YS5zdGF0dXNDb2RlICE9PSBcIkdvb2RcIikge1xuICAgICAgICAgICAgcmV0dXJuIGBzdGF0dXNDb2RlOiAke2RhdGEuc3RhdHVzQ29kZX1gO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgbGV0IHN0ciA9IFtdO1xuICAgICAgICAgICAgc3RyLnB1c2goYG5vZGVJZDogJHtkYXRhLm5vZGVJZH1gKTtcbiAgICAgICAgICAgIHN0ci5wdXNoKGBicm93c2UgcGF0aDogJHtkYXRhLmJwX2luZGV4ZWR9YCk7XG4gICAgICAgICAgICBzdHIucHVzaChgbm9kZSBjbGFzczogJHtOb2RlQ2xhc3NbZGF0YS5ub2RlQ2xhc3NdfWApO1xuICAgICAgICAgICAgaWYgKGRhdGEubm9kZUlkX25zdSkge1xuICAgICAgICAgICAgICAgIHN0ci5wdXNoKGBuc3Ugbm9kZUlkOiAke2RhdGEubm9kZUlkX25zdX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChkYXRhLm5vZGVJZF9hbGlhc2VkKSB7XG4gICAgICAgICAgICAgICAgc3RyLnB1c2goYGFsaWFzZWQgTm9kZUlkOiAke2RhdGEubm9kZUlkX2FsaWFzZWR9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZGF0YS5icF9pbmRleGVkKSB7XG4gICAgICAgICAgICAgICAgc3RyLnB1c2goYGFsaWFzZWQgYnJvd3NlUGF0aDogJHtkYXRhLmJwX2FsaWFzZWR9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc3RyLmpvaW4oXCJcXG5cIik7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIGZ1bmN0aW9uIGZpZ3VyZU91dE1vZGUoZW5oYW5jZWROb2RlSWQpIHtcbiAgICAgICAgaWYgKGVuaGFuY2VkTm9kZUlkLm1hdGNoKC9ebnN1PS8pKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJuc3VOb2RlSURcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5oYW5jZWROb2RlSWQubWF0Y2goL14obnM9Lio7KT8oaXxifHN8Zyk9LykpIHtcbiAgICAgICAgICAgIHJldHVybiBcIm5vZGVJZFwiO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbmhhbmNlZE5vZGVJZC5tYXRjaCgvXm5zYT0vKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiYWxpYXNlZE5vZGVJZFwiO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbmhhbmNlZE5vZGVJZC5tYXRjaCgvXihcXC98XFwuKVswLTldKzovKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiYnJvd3NlUGF0aFwiO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbmhhbmNlZE5vZGVJZC5tYXRjaCgvXihcXC98XFwuKS4qOi8pKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJicm93c2VQYXRoXCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gZmlndXJlT3V0TWVuVUl0ZW1WYWx1ZShzdHIpIHtcbiAgICAgICAgY29uc3QgbW9kZSA9IGZpZ3VyZU91dE1vZGUoc3RyKTtcbiAgICAgICAgc3dpdGNoIChtb2RlKSB7XG4gICAgICAgICAgICBjYXNlIFwibm9kZUlkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiblwiO1xuICAgICAgICAgICAgY2FzZSBcImFsaWFzZWROb2RlSWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJuYVwiO1xuICAgICAgICAgICAgY2FzZSBcIm5zdU5vZGVJRFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm5zdVwiO1xuICAgICAgICAgICAgY2FzZSBcImJyb3dzZVBhdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJiXCI7XG4gICAgICAgICAgICBjYXNlIFwiYWxpYXNlZEJyb3dzZVBhdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJhYlwiO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJ0XCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gdG9Nb2RlKHYpIHtcbiAgICAgICAgbGV0IG1vZGU7XG4gICAgICAgIHN3aXRjaCAodikge1xuICAgICAgICAgICAgY2FzZSBcIm5cIjpcbiAgICAgICAgICAgICAgICBtb2RlID0gXCJub2RlSWRcIjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJuYVwiOlxuICAgICAgICAgICAgICAgIG1vZGUgPSBcImFsaWFzZWROb2RlSWRcIjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJuc3VcIjpcbiAgICAgICAgICAgICAgICBtb2RlID0gXCJuc3VOb2RlSURcIjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJiXCI6XG4gICAgICAgICAgICAgICAgbW9kZSA9IFwiYnJvd3NlUGF0aFwiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcImFiXCI6XG4gICAgICAgICAgICAgICAgbW9kZSA9IFwiYWxpYXNlZEJyb3dzZVBhdGhcIjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbW9kZTtcbiAgICB9XG4gICAgZnVuY3Rpb24gZnJvbU1vZGUobW9kZSkge1xuICAgICAgICBzd2l0Y2ggKG1vZGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJub2RlSWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJuXCI7XG4gICAgICAgICAgICBjYXNlIFwiYWxpYXNlZE5vZGVJZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm5hXCI7XG4gICAgICAgICAgICBjYXNlIFwibnN1Tm9kZUlEXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwibnN1XCI7XG4gICAgICAgICAgICBjYXNlIFwiYnJvd3NlUGF0aFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcImJcIjtcbiAgICAgICAgICAgIGNhc2UgXCJhbGlhc2VkQnJvd3NlUGF0aFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcImFiXCI7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBcInRcIjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBfY2FsbENoZWNrTm9kZUlkID0gKF9hLCBub2RlSWRfMSkgPT4gX19hd2FpdGVyKHZvaWQgMCwgW19hLCBub2RlSWRfMV0sIHZvaWQgMCwgZnVuY3Rpb24qICh7IGVuZHBvaW50Tm9kZSwgZW5kcG9pbnQsIGJhc2VVcmwgfSwgbm9kZUlkKSB7XG4gICAgICAgIGNvbnN0IHJvb3QgPSBgJHtiYXNlVXJsfS9vcGN1YS1mb3Itbm9kZS1yZWRgO1xuICAgICAgICBjb25zdCB1cmwgPSBgJHtyb290fS9jaGVja05vZGVJZGA7XG4gICAgICAgIGNvbnN0IGVJZCA9IGVuZHBvaW50Tm9kZS5pZDtcbiAgICAgICAgY29uc3QgbiA9IFJFRC5ub2Rlcy5ub2RlKGVJZCk7XG4gICAgICAgIGNvbnNvbGUubG9nKG4ubmFtZXNwYWNlQWxpYXNlcyk7XG4gICAgICAgIG4ubmFtZXNwYWNlQWxpYXNlcztcbiAgICAgICAgY29uc3QgbmFtZXNwYWNlQWxpYXNlcyA9IGVuZHBvaW50Tm9kZS5uYW1lc3BhY2VBbGlhc2VzO1xuICAgICAgICBjb25zdCBkYXRhID0geWllbGQgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgIGVuZHBvaW50Tm9kZSxcbiAgICAgICAgICAgICAgICBlbmRwb2ludCxcbiAgICAgICAgICAgICAgICBub2RlSWQsXG4gICAgICAgICAgICAgICAgbmFtZXNwYWNlQWxpYXNlcyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QganNvbiA9ICh5aWVsZCBkYXRhLmpzb24oKSk7XG4gICAgICAgIHJldHVybiB7IGpzb24sIGRhdGEgfTtcbiAgICB9KTtcbiAgICBjb25zdCBpbnRlcm5hbFZlcmlmeSA9IChfYSwgbW9kZV8xLCAkaW5wdXRFbGVtZW50XzEsICRpbmZvXzEpID0+IF9fYXdhaXRlcih2b2lkIDAsIFtfYSwgbW9kZV8xLCAkaW5wdXRFbGVtZW50XzEsICRpbmZvXzFdLCB2b2lkIDAsIGZ1bmN0aW9uKiAoeyBlbmRwb2ludE5vZGUsIGVuZHBvaW50LCBiYXNlVXJsIH0sIG1vZGUsICRpbnB1dEVsZW1lbnQsICRpbmZvKSB7XG4gICAgICAgIGNvbnN0IGVuaGFuY2VkTm9kZUlkID0gJGlucHV0RWxlbWVudC52YWwoKTtcbiAgICAgICAgY29uc3QgeyBqc29uLCBkYXRhIH0gPSB5aWVsZCBfY2FsbENoZWNrTm9kZUlkKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCBlbmhhbmNlZE5vZGVJZCk7XG4gICAgICAgIGNvbnN0IHNldE5vdGlmaWNhdGlvbiA9ICh0ZXh0LCBjbGFzc05hbWUpID0+IHtcbiAgICAgICAgICAgICRpbmZvLnRleHQodGV4dCkuYWRkQ2xhc3MoXCJzdGVyZml2ZS1pbmZvXCIpLmFkZENsYXNzKGNsYXNzTmFtZSk7XG4gICAgICAgICAgICAkaW5mby5zaG93KCk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAkaW5mby5yZW1vdmVDbGFzcyhjbGFzc05hbWUpO1xuICAgICAgICAgICAgICAgICRpbmZvLmhpZGUoKTtcbiAgICAgICAgICAgIH0sIDMwMDApO1xuICAgICAgICB9O1xuICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgLy8gZG8gc29tZXRoaW5nO1xuICAgICAgICAgICAgc2V0Tm90aWZpY2F0aW9uKFwiISFmYWlsdXJlISFcIiArIGVuaGFuY2VkTm9kZUlkLCBcImZhaWx1cmVcIik7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAoanNvbi5zdGF0dXNDb2RlLm1hdGNoKC9Hb29kLykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0b29sdGlwID0gbWFrZVRvb2x0aXAoanNvbik7XG4gICAgICAgICAgICAgICAgJGlucHV0RWxlbWVudC5hdHRyKFwidGl0bGVcIiwgdG9vbHRpcCk7XG4gICAgICAgICAgICAgICAgLy8gZG8gc29tZXRoaW5nXG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWROb2RlSWQgPSBjaG9vc2VOb2RlSWQoanNvbiwgbW9kZSk7XG4gICAgICAgICAgICAgICAgJGlucHV0RWxlbWVudC52YWwoc2VsZWN0ZWROb2RlSWQpO1xuICAgICAgICAgICAgICAgICRpbnB1dEVsZW1lbnQudHJpZ2dlcihcImNoYW5nZVwiKTtcbiAgICAgICAgICAgICAgICBzZXROb3RpZmljYXRpb24oXCJHb29kXCIsIFwib2tcIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAkaW5wdXRFbGVtZW50LnZhbChgJHtlbmhhbmNlZE5vZGVJZH1gKTtcbiAgICAgICAgICAgICAgICBzZXROb3RpZmljYXRpb24oYCR7anNvbi5zdGF0dXNDb2RlfSAke2RhdGEuc3RhdHVzVGV4dH1gLCBcImZhaWx1cmVcIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG4gICAgZnVuY3Rpb24gZmV0Y2hDaGlsZHJlbigkbm9kZSwgZGF0YSkge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgY29uc3Qgbm9kZUlkID0gJG5vZGUuZGF0YShcInZhbHVlXCIpO1xuICAgICAgICAgICAgY29uc3QgYnJvd3NlUmVzdWx0MSA9IHlpZWxkIGJyb3dzZShkYXRhLCBub2RlSWQsIHRlbXBsYXRlMSk7XG4gICAgICAgICAgICBjb25zdCBicm93c2VSZXN1bHQyID0geWllbGQgYnJvd3NlKGRhdGEsIG5vZGVJZCwgdGVtcGxhdGUyKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcmVmZXJlbmNlczogWy4uLmJyb3dzZVJlc3VsdDEucmVmZXJlbmNlcywgLi4uYnJvd3NlUmVzdWx0Mi5yZWZlcmVuY2VzXSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCB0ZW1wbGF0ZVNUID0ge1xuICAgICAgICByZWZlcmVuY2VUeXBlSWQ6IHJlc29sdmVOb2RlSWQoXCJIYXNTdWJ0eXBlXCIpLFxuICAgICAgICBpbmNsdWRlU3VidHlwZXM6IHRydWUsXG4gICAgICAgIGJyb3dzZURpcmVjdGlvbjogQnJvd3NlRGlyZWN0aW9uLkZvcndhcmQsXG4gICAgICAgIG5vZGVDbGFzc01hc2s6IE5vZGVDbGFzcy5SZWZlcmVuY2VUeXBlIHwgTm9kZUNsYXNzLk9iamVjdFR5cGUgfCBOb2RlQ2xhc3MuRGF0YVR5cGUgfCBOb2RlQ2xhc3MuVmFyaWFibGVUeXBlLFxuICAgICAgICByZXN1bHRNYXNrOiA2MyxcbiAgICB9O1xuICAgIGZ1bmN0aW9uIGZldGNoU3VidHlwZXMoJG5vZGUsIGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGVJZCA9ICRub2RlLmRhdGEoXCJ2YWx1ZVwiKTtcbiAgICAgICAgICAgIGNvbnN0IGJyb3dzZVJlc3VsdDEgPSB5aWVsZCBicm93c2UoZGF0YSwgbm9kZUlkLCB0ZW1wbGF0ZVNUKTtcbiAgICAgICAgICAgIHJldHVybiBicm93c2VSZXN1bHQxO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgbWFrZUVsZW1lbnQgPSAocmVmZXJlbmNlKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jLCBfZDtcbiAgICAgICAgaWYgKCFyZWZlcmVuY2UgfHwgIXJlZmVyZW5jZS5ub2RlSWQpIHtcbiAgICAgICAgICAgIGNvbnN0ICRlbGVtZW50ID0gJChgPGxpPjxpIGNsYXNzPVwiZmEgZmEtZXJyb3JcIiBzdHlsZT1cImNvbG9yOnJlZDtcIj48L2k+bm8gcmVmZXJlbmNlICE8dWw+PC91bD48L2xpPmApO1xuICAgICAgICAgICAgcmV0dXJuICRlbGVtZW50O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG4gPSByZWZlcmVuY2Uubm9kZUlkLnRvU3RyaW5nKCk7XG4gICAgICAgIGNvbnN0IHQgPSAoKF9hID0gcmVmZXJlbmNlLmRpc3BsYXlOYW1lKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EudGV4dCkgfHwgKChfYiA9IHJlZmVyZW5jZS5icm93c2VOYW1lKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IubmFtZSkgfHwgcmVmZXJlbmNlLm5vZGVJZC50b1N0cmluZygpO1xuICAgICAgICBjb25zdCB7IGljb24sIGNvbG9yIH0gPSBnZXRJY29uKHJlZmVyZW5jZSk7XG4gICAgICAgIGNvbnN0IHRpdGxlID0gYCgke3JlZmVyZW5jZS5ub2RlSWQudG9TdHJpbmcoKX0pICR7KChfYyA9IHJlZmVyZW5jZS5icm93c2VOYW1lKSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2MubmFtZSkgfHwgKChfZCA9IHJlZmVyZW5jZS5kaXNwbGF5TmFtZSkgPT09IG51bGwgfHwgX2QgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9kLnRleHQpIHx8IFwiXCJ9YDtcbiAgICAgICAgY29uc3QgJGVsZW1lbnQgPSAkKGA8bGkga2V5PVwiJHtyZWZlcmVuY2Uubm9kZUlkLnRvU3RyaW5nKCl9XCJ9PjxzcGFuIGNsYXNzPVwidHJlZS10ZXh0XCIgdGl0bGU9JHt0aXRsZX0+PGkgY2xhc3M9XCJmYSAke2ljb259XCIgc3R5bGU9XCJjb2xvcjoke2NvbG9yfTtcIj48L2k+ICR7dH08L3NwYW4+PHVsPjwvdWw+PC9saT5gKTtcbiAgICAgICAgJGVsZW1lbnQuYWRkQ2xhc3MoXCJleHBhbmRhYmxlXCIpO1xuICAgICAgICAkZWxlbWVudC5kYXRhKFwidmFsdWVcIiwgbik7XG4gICAgICAgICRlbGVtZW50LmRhdGEoXCJyZWZlcmVuY2VcIiwgcmVmZXJlbmNlKTtcbiAgICAgICAgcmV0dXJuICRlbGVtZW50O1xuICAgIH07XG4gICAgY29uc3QgZmluZEVsZW1lbnQgPSAobm9kZUlkLCAkdHJlZSkgPT4ge1xuICAgICAgICByZXR1cm4gJHRyZWUuZmluZChgbGlba2V5PVwiJHtub2RlSWR9XCJdYCk7XG4gICAgfTtcbiAgICBjb25zdCBzZWxlY3RTaW5nbGUgPSAodGhhdCwgJGxpKSA9PiB7XG4gICAgICAgIHRoYXQuJHRyZWUuZmluZChcImxpID4gLnRyZWUtdGV4dFwiKS5yZW1vdmVDbGFzcyhcInNlbGVjdGVkXCIpO1xuICAgICAgICAvLyBjbGVhciBhbGwgc2VsZWN0ZWQgaXRlbXNcbiAgICAgICAgJGxpLmZpbmQoXCIudHJlZS10ZXh0OmZpcnN0XCIpLmFkZENsYXNzKFwic2VsZWN0ZWRcIik7XG4gICAgfTtcbiAgICBjb25zdCBhdXRvRXhwYW5kID0gKHRoYXQsIGJyb3dzZVBhdGgsICR0cmVlKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgLy8gZXhwYW5kIHRoZSB0cmVlIHRvIHNob3cgdGhlIG5vZGVJZFxuICAgICAgICBsZXQgJGN1cnJlbnQgPSAkdHJlZS5jaGlsZHJlbihcIjpmaXJzdFwiKTtcbiAgICAgICAgYnJvd3NlUGF0aC5yZWxhdGl2ZVBhdGguZWxlbWVudHMgfHwgW107XG4gICAgICAgIGNvbnN0IG5vZGVJZHMgPSBicm93c2VQYXRoLm5vZGVJZHMgfHwgW107XG4gICAgICAgIGlmIChub2RlSWRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoY29uc3QgbiBvZiBub2RlSWRzKSB7XG4gICAgICAgICAgICBpZiAoJGN1cnJlbnQuaGFzQ2xhc3MoXCJleHBhbmRhYmxlXCIpKSB7XG4gICAgICAgICAgICAgICAgLy8gbmVlZCB0byBleHBhbmQgYW5kIHNlbGVjdCB0aGUgcmlnaHQgZWxlbWVudFxuICAgICAgICAgICAgICAgIHlpZWxkIF9leHBhbmRMaSh0aGF0LCAkY3VycmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCAkZWxlbWVudCA9IGZpbmRFbGVtZW50KG4sICRjdXJyZW50KTtcbiAgICAgICAgICAgIGlmICgkZWxlbWVudC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkY3VycmVudCA9ICRlbGVtZW50O1xuICAgICAgICB9XG4gICAgICAgIHNlbGVjdFNpbmdsZSh0aGF0LCAkY3VycmVudCk7XG4gICAgICAgIHNjcm9sbFRvTGkodGhhdC4kZHJvcGRvd24sICRjdXJyZW50KTtcbiAgICB9KTtcbiAgICBmdW5jdGlvbiBzY3JvbGxUb0xpKCRjb250YWluZXIsICR0YXJnZXRMaSkge1xuICAgICAgICAvLyBHZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSB0YXJnZXQgaXRlbSByZWxhdGl2ZSB0byBpdHMgY29udGFpbmVyXG4gICAgICAgIGNvbnN0IGxpUG9zID0gJHRhcmdldExpLnBvc2l0aW9uKCkudG9wO1xuICAgICAgICAvLyBHZXQgdGhlIGN1cnJlbnQgc2Nyb2xsIHBvc2l0aW9uIG9mIHRoZSBjb250YWluZXJcbiAgICAgICAgY29uc3QgY29udGFpbmVyU2Nyb2xsVG9wID0gJGNvbnRhaW5lci5zY3JvbGxUb3AoKTtcbiAgICAgICAgaWYgKGNvbnRhaW5lclNjcm9sbFRvcCA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHBvc2l0aW9uIHRvIHNjcm9sbCB0byAoY3VycmVudCBzY3JvbGwgKyBpdGVtJ3MgcG9zaXRpb24pXG4gICAgICAgIC8vIEFkanVzdCB0aGlzIGNhbGN1bGF0aW9uIGJhc2VkIG9uIHlvdXIgbmVlZHNcbiAgICAgICAgY29uc3Qgc2Nyb2xsVG8gPSBjb250YWluZXJTY3JvbGxUb3AgKyBsaVBvcyAtICRjb250YWluZXIuaGVpZ2h0KCkgLyAyICsgJHRhcmdldExpLmhlaWdodCgpIC8gMjtcbiAgICAgICAgLy8gU2Nyb2xsIHRoZSBjb250YWluZXIgdG8gZW5zdXJlIHRoZSBpdGVtIGlzIHZpc2libGVcbiAgICAgICAgJGNvbnRhaW5lci5hbmltYXRlKHtcbiAgICAgICAgICAgIHNjcm9sbFRvcDogc2Nyb2xsVG8sXG4gICAgICAgIH0sIDUwMCk7IC8vIEFkanVzdCB0aGUgZHVyYXRpb24gKDUwMG1zKSBhcyBuZWVkZWRcbiAgICB9XG4gICAgY29uc3QgcmVhY2hTZWxlY3Rpb24gPSAodGhhdCwgcGFyZW50Tm9kZSkgPT4gX19hd2FpdGVyKHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIGNvbnN0IG5vZGVJZCA9IHRoYXQuJGlucHV0LnZhbCgpO1xuICAgICAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICAgICAgbm9kZUlkLFxuICAgICAgICAgICAgcm9vdE5vZGVJZDogcGFyZW50Tm9kZS5ub2RlSWQsXG4gICAgICAgICAgICBpc1R5cGU6IHRoYXQub3B0aW9ucy5pc1R5cGVSZWYgfHwgZmFsc2UsXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGRhdGEgPSBtYWtlQ29ubmVjdGlvbih0aGF0KTtcbiAgICAgICAgY29uc3QgYnJvd3NlUGF0aCA9IHlpZWxkIHdhbGtCYWNrd2FyZChkYXRhLCBvcHRpb25zKTtcbiAgICAgICAgaWYgKCFicm93c2VQYXRoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgeWllbGQgYXV0b0V4cGFuZCh0aGF0LCBicm93c2VQYXRoLCB0aGF0LiR0cmVlKTtcbiAgICB9KTtcbiAgICBmdW5jdGlvbiBfZmV0Y2hEYXRhRm9yTm9kZSh0aGF0LCAkbm9kZSwgZmV0Y2hGdW5jLCBkYXRhKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBpZiAoJG5vZGUuaGFzQ2xhc3MoXCJmZXRjaGVkXCIpKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJhbHJlYWR5IGZldGNoZWRcIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCRub2RlLmhhc0NsYXNzKFwibG9hZGluZ1wiKSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiYWxyZWFkeSBsb2FkaW5nXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICRub2RlLmFkZENsYXNzKFwibG9hZGluZ1wiKTtcbiAgICAgICAgICAgICRub2RlLmFwcGVuZCgnPGRpdiBjbGFzcz1cInNwaW5uZXJcIj48L2Rpdj4nKTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgJG5vZGUuY2hpbGRyZW4oXCJ1bFwiKS5lbXB0eSgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgcmVmZXJlbmNlcyB9ID0geWllbGQgZmV0Y2hGdW5jKCRub2RlLCBkYXRhKTtcbiAgICAgICAgICAgICAgICAvLyBzb3J0IHJlZmVyZW5jZSAgIGJ5IGJyb3dzZU5hbWVcbiAgICAgICAgICAgICAgICByZWZlcmVuY2VzLnNvcnQoKGEsIGIpID0+IHsgdmFyIF9hLCBfYjsgcmV0dXJuICgoKF9hID0gYS5icm93c2VOYW1lKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EubmFtZSkgfHwgXCJcIikubG9jYWxlQ29tcGFyZSgoKF9iID0gYi5icm93c2VOYW1lKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IubmFtZSkgfHwgXCJcIik7IH0pO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcmVmZXJlbmNlIG9mIHJlZmVyZW5jZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoYXQub3B0aW9ucy5maWx0ZXIgJiYgIXRoYXQub3B0aW9ucy5maWx0ZXIocmVmZXJlbmNlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgJGVsZW1lbnQgPSBtYWtlRWxlbWVudChyZWZlcmVuY2UpO1xuICAgICAgICAgICAgICAgICAgICAkbm9kZS5jaGlsZHJlbihcInVsXCIpLmFwcGVuZCgkZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICRub2RlLmFkZENsYXNzKFwiZmV0Y2hlZFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAkbm9kZS5jaGlsZHJlbihcInVsXCIpLmFwcGVuZChgPGxpPmVycm9yICR7ZXJyLm1lc3NhZ2V9PC9saT5gKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImVyclwiLCBlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJG5vZGUuZmluZChcIi5zcGlubmVyXCIpLnJlbW92ZSgpO1xuICAgICAgICAgICAgJG5vZGUucmVtb3ZlQ2xhc3MoXCJsb2FkaW5nXCIpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgZnVuY3Rpb24gbWFrZUNvbm5lY3Rpb24odGhhdCkge1xuICAgICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICAgICAgYmFzZVVybDogdGhhdC5vcHRpb25zLmJhc2VVcmwsXG4gICAgICAgICAgICBlbmRwb2ludE5vZGU6IHR5cGVvZiB0aGF0Lm9wdGlvbnMuZW5kcG9pbnROb2RlID09PSBcImZ1bmN0aW9uXCIgPyB0aGF0Lm9wdGlvbnMuZW5kcG9pbnROb2RlKCkgOiB0aGF0Lm9wdGlvbnMuZW5kcG9pbnROb2RlLFxuICAgICAgICAgICAgZW5kcG9pbnQ6IHR5cGVvZiB0aGF0Lm9wdGlvbnMuZW5kcG9pbnQgPT09IFwiZnVuY3Rpb25cIiA/IHRoYXQub3B0aW9ucy5lbmRwb2ludCgpIDogdGhhdC5vcHRpb25zLmVuZHBvaW50LFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG4gICAgZnVuY3Rpb24gX2V4cGFuZExpKHRoYXQsICRsaSkge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgaWYgKCRsaS5oYXNDbGFzcyhcImZldGNoZWRcIikpIHtcbiAgICAgICAgICAgICAgICAkbGkucmVtb3ZlQ2xhc3MoXCJleHBhbmRhYmxlXCIpLmFkZENsYXNzKFwiZXhwYW5kZWRcIik7XG4gICAgICAgICAgICAgICAgJGxpLmNoaWxkcmVuKFwidWxcIikudG9nZ2xlKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gRmV0Y2ggbmV3IGRhdGEgZm9yIHRoaXMgbm9kZVxuICAgICAgICAgICAgY29uc3QgZGF0YSA9IG1ha2VDb25uZWN0aW9uKHRoYXQpO1xuICAgICAgICAgICAgY29uc3QgZiA9ICF0aGF0Lm9wdGlvbnMuaXNUeXBlUmVmID8gZmV0Y2hDaGlsZHJlbiA6IGZldGNoU3VidHlwZXM7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHlpZWxkIF9mZXRjaERhdGFGb3JOb2RlKHRoYXQsICRsaSwgZiwgZGF0YSk7XG4gICAgICAgICAgICAgICAgLy8gbWFyayBhcyBleHBhbmRlZFxuICAgICAgICAgICAgICAgICRsaS5yZW1vdmVDbGFzcyhcImV4cGFuZGFibGVcIikuYWRkQ2xhc3MoXCJleHBhbmRlZFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAkbGkucmVtb3ZlQ2xhc3MoXCJleHBhbmRhYmxlXCIpLmFkZENsYXNzKFwiZXhwYW5kZWRcIik7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJlcnJvclwiLCBlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgZGVmYXVsdFBhcmVudE5vZGUgPSB7XG4gICAgICAgIGJyb3dzZU5hbWU6IHsgbmFtZXNwYWNlSW5kZXg6IDAsIG5hbWU6IFwiT2JqZWN0c1wiIH0sXG4gICAgICAgIG5vZGVDbGFzczogXCJPYmplY3RcIixcbiAgICAgICAgbm9kZUlkOiBcIm5zPTA7aT04NVwiLFxuICAgICAgICBkaXNwbGF5TmFtZTogeyB0ZXh0OiBcIk9iamVjdHNcIiB9LFxuICAgICAgICB0eXBlRGVmaW5pdGlvbjogRm9sZGVyVHlwZSxcbiAgICB9O1xuICAgIGNvbnN0IGRlY2xhcmVOb2RlQnJvd3NlcldpZGdldCA9ICgpID0+IHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFsgVGVtcGVyYXR1cmUgIF1cbiAgICAgICAgICogICAoIHRvb2x0aXAgOiAoL09iamVjdHMvTXlTZW5zb3IpIChucz0xO3M9VGVtcGVyYXR1cmUpKVxuICAgICAgICAgKiBbICsgW0ZvbGRlcl0gT2JqZWN0c11cbiAgICAgICAgICogWyAgICAgW09iamVjdF0gTXlTZW5zb3JdXG4gICAgICAgICAqIFsgICAgICggKSBbVmFyaWFibGVdIFRlbXBlcmF0dXJlXVxuICAgICAgICAgKi9cbiAgICAgICAgJC53aWRnZXQoXCJzdGVyZml2ZS5ub2RlQnJvd3NlclwiLCB7XG4gICAgICAgICAgICAvKiBkZWZhdWx0IG9wdGlvbnMgKi9cbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBlbmRwb2ludE5vZGU6ICgpID0+ICh7IGVuZHBvaW50OiBcIm9wYy50Y3A6Ly9vcGN1YWRlbW8uc3RlcmZpdmUuY29tOjI2NTQzXCIgfSksXG4gICAgICAgICAgICAgICAgZW5kcG9pbnQ6ICgpID0+IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBwYXJlbnROb2RlOiAoKSA9PiBkZWZhdWx0UGFyZW50Tm9kZSxcbiAgICAgICAgICAgICAgICBmaWx0ZXI6ICgpID0+IHRydWUsXG4gICAgICAgICAgICAgICAgYmFzZVVybDogXCJcIixcbiAgICAgICAgICAgICAgICBpc1R5cGVSZWY6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlc29sdmVQYXJlbnROb2RlKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhhdC5fX3BhcmVudE5vZGUgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhID0gdHlwZW9mIHRoYXQub3B0aW9ucy5wYXJlbnROb2RlID09PSBcImZ1bmN0aW9uXCIgPyB0aGF0Lm9wdGlvbnMucGFyZW50Tm9kZS5jYWxsKHRoYXQpIDogdGhhdC5vcHRpb25zLnBhcmVudE5vZGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYSBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkZXNjID0geWllbGQgYTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9fcGFyZW50Tm9kZSA9IGRlc2M7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9fcGFyZW50Tm9kZSA9IGE7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoYXQuX19wYXJlbnROb2RlIHx8IGRlZmF1bHRQYXJlbnROb2RlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlc2V0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgICAgICAvLyBhbHNvIHJlc2V0IHBhcmVudCBub2RlXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGEgPSB0aGF0O1xuICAgICAgICAgICAgICAgICAgICBhLl9fcGFyZW50Tm9kZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kdHJlZS5lbXB0eSgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnROb2RlID0geWllbGQgdGhpcy5yZXNvbHZlUGFyZW50Tm9kZSgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCAkZWxlbWVudCA9IG1ha2VFbGVtZW50KHBhcmVudE5vZGUpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiR0cmVlLmFwcGVuZCgkZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuY3VycmVudFBhcmVudCA9IHBhcmVudE5vZGU7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdmVyaWZ5KG1vZGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICAvLyBGZXRjaCBuZXcgZGF0YSBmb3IgdGhpcyBub2RlXG4gICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IG1ha2VDb25uZWN0aW9uKHRoYXQpO1xuICAgICAgICAgICAgICAgIGludGVybmFsVmVyaWZ5KGRhdGEsIG1vZGUsIHRoYXQuJGlucHV0LCB0aGF0LiRpbmZvKS50aGVuKChzdWNjZXNzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghc3VjY2Vzcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kY29tYm8uYWRkQ2xhc3MoXCJzdGVyZml2ZS1pbnB1dC1lcnJvclwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLnJlbW92ZUNsYXNzKFwic3RlcmZpdmUtaW5wdXQtZXJyb3JcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfaGlkZU1lbnUobWVudSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLm9mZihcIm1vdXNlZG93bi5yZWQtdWktdHlwZWRJbnB1dC1jbG9zZS1wcm9wZXJ0eS1zZWxlY3RcIik7XG4gICAgICAgICAgICAgICAgbWVudS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgbWVudS5jc3Moe1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IFwiYXV0b1wiLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmIChtZW51Lm9wdHMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHNlbGVjdGVkID0gW107XG4gICAgICAgICAgICAgICAgICAgIG1lbnUuZmluZCgnaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdJykuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCh0aGlzKS5wcm9wKFwiY2hlY2tlZFwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkLnB1c2goJCh0aGlzKS5kYXRhKFwidmFsdWVcIikpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgbWVudS5jYWxsYmFjayhzZWxlY3RlZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0aGF0LiRlbGVtZW50RGl2LmlzKFwiOnZpc2libGVcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQudHJpZ2dlcihcImZvY3VzXCIpO1xuICAgICAgICAgICAgICAgICAgICAvL3h4IH0gZWxzZSBpZiAodGhpcy4kb3B0aW9uU2VsZWN0VHJpZ2dlci5pcyhcIjp2aXNpYmxlXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIC8veHggICAgIHRoYXQuJG9wdGlvblNlbGVjdFRyaWdnZXIudHJpZ2dlcihcImZvY3VzXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0VHJpZ2dlci50cmlnZ2VyKFwiZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF9jcmVhdGVNZW51KG1lbnVPcHRpb25zLCBvcHRzLCBjYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIHZhciB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICBjb25zdCBtZW51ID0gJChcIjxkaXY+XCIpLmFkZENsYXNzKFwic3RlcmZpdmUtdHlwZWRJbnB1dC1vcHRpb25zIHN0ZXJmaXZlLW9ubGluZS1tZW51XCIpO1xuICAgICAgICAgICAgICAgIG1lbnUub3B0cyA9IG9wdHM7XG4gICAgICAgICAgICAgICAgbWVudS5jYWxsYmFjayA9IGNhbGxiYWNrO1xuICAgICAgICAgICAgICAgIG1lbnVPcHRpb25zLmZvckVhY2goKG9wdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIG9wdCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3B0ID0geyB2YWx1ZTogb3B0LCBsYWJlbDogb3B0IH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdmFyIG9wID0gJCgnPGEgaHJlZj1cIiNcIj48L2E+JykuYXR0cihcInZhbHVlXCIsIG9wdC52YWx1ZSkuYXBwZW5kVG8obWVudSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHQubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wLnRleHQob3B0LmxhYmVsKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAob3B0LnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcC5wcm9wKFwidGl0bGVcIiwgb3B0LnRpdGxlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAob3B0Lmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHQuaWNvbi5pbmRleE9mKFwiPFwiKSA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQob3B0Lmljb24pLnByZXBlbmRUbyhvcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChvcHQuaWNvbi5pbmRleE9mKFwiL1wiKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiPGk+XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M6IFwicmVkLXVpLXR5cGVkSW5wdXQtaWNvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogXCJtYXNrLWltYWdlOiB1cmwoXCIgKyBvcHQuaWNvbiArIFwiKTsgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIgKyBvcHQuaWNvbiArIFwiKTtcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5wcmVwZW5kVG8ob3ApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIjxpPlwiLCB7IGNsYXNzOiBcInJlZC11aS10eXBlZElucHV0LWljb24gXCIgKyBvcHQuaWNvbiB9KS5wcmVwZW5kVG8ob3ApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3AuY3NzKHsgcGFkZGluZ0xlZnQ6IFwiMThweFwiIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICghb3B0Lmljb24gJiYgIW9wdC5sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3AudGV4dChvcHQudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHZhciBjYjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdHMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNiID0gJCgnPGlucHV0IHR5cGU9XCJjaGVja2JveFwiPicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNzcyhcInBvaW50ZXItZXZlbnRzXCIsIFwibm9uZVwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kYXRhKFwidmFsdWVcIiwgb3B0LnZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wcmVwZW5kVG8ob3ApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm9uKFwibW91c2Vkb3duXCIsIGZ1bmN0aW9uIChldnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG9wLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdHMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhvcHQudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX2hpZGVNZW51KG1lbnUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2IucHJvcChcImNoZWNrZWRcIiwgIWNiLnByb3AoXCJjaGVja2VkXCIpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgbWVudS5jc3Moe1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBtZW51Lm9uKFwia2V5ZG93blwiLCBmdW5jdGlvbiAoZXZ0KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChldnQua2V5Q29kZSA9PT0gNDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRE9XTlxuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5jaGlsZHJlbihcIjpmb2N1c1wiKS5uZXh0KCkudHJpZ2dlcihcImZvY3VzXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGV2dC5rZXlDb2RlID09PSAzOCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBVUFxuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5jaGlsZHJlbihcIjpmb2N1c1wiKS5wcmV2KCkudHJpZ2dlcihcImZvY3VzXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGV2dC5rZXlDb2RlID09PSAyNykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRVNDQVBFXG4gICAgICAgICAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX2hpZGVNZW51KG1lbnUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWVudTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkaXNhcm1DbGljazogZmFsc2UsXG4gICAgICAgICAgICBfc2hvd01lbnUobWVudSwgcmVsYXRpdmVUbykge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRpc2FybUNsaWNrKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzYXJtQ2xpY2sgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB2YXIgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgdmFyIHBvcyA9IHJlbGF0aXZlVG8ub2Zmc2V0KCk7XG4gICAgICAgICAgICAgICAgdmFyIGhlaWdodCA9IHJlbGF0aXZlVG8uaGVpZ2h0KCk7XG4gICAgICAgICAgICAgICAgdmFyIG1lbnVIZWlnaHQgPSBtZW51LmhlaWdodCgpO1xuICAgICAgICAgICAgICAgIHZhciB0b3AgPSBoZWlnaHQgKyBwb3MudG9wO1xuICAgICAgICAgICAgICAgIGlmICh0b3AgKyBtZW51SGVpZ2h0IC0gJChkb2N1bWVudCkuc2Nyb2xsVG9wKCkgPiAkKHdpbmRvdykuaGVpZ2h0KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wIC09IHRvcCArIG1lbnVIZWlnaHQgLSAkKHdpbmRvdykuaGVpZ2h0KCkgKyA1O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodG9wIDwgMCkge1xuICAgICAgICAgICAgICAgICAgICBtZW51LmhlaWdodChtZW51SGVpZ2h0ICsgdG9wKTtcbiAgICAgICAgICAgICAgICAgICAgdG9wID0gMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbWVudS5jc3Moe1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHRvcCArIFwicHhcIixcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogcG9zLmxlZnQgKyBcInB4XCIsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgbWVudS5zbGlkZURvd24oMTAwKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9kZWxheShmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHVpU2VsZWN0LmFkZENsYXNzKFwicmVkLXVpLXR5cGVkSW5wdXQtZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKFwibW91c2Vkb3duLnJlZC11aS10eXBlZElucHV0LWNsb3NlLXByb3BlcnR5LXNlbGVjdFwiLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghJChldmVudC50YXJnZXQpLmNsb3Nlc3QobWVudSkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5faGlkZU1lbnUobWVudSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoJChldmVudC50YXJnZXQpLmNsb3Nlc3QocmVsYXRpdmVUbykubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5kaXNhcm1DbGljayA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX3Nob3dUeXBlTWVudSgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICB0aGlzLl9zaG93TWVudSh0aGF0LiRtZW51LCB0aGF0LiRjb21ibyk7XG4gICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24uaGlkZSgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHR5cGUgPSB0aGF0LnNlbGVjdGVkTWVudUl0ZW07XG4gICAgICAgICAgICAgICAgdmFyIHNlbGVjdGVkID0gdGhhdC4kbWVudS5maW5kKFwiW3ZhbHVlPSdcIiArIHR5cGUgKyBcIidcIik7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkLnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICB9LCAxMjApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF9pbml0TWVudSgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyLmF0dHIoXCJ0YWJpbmRleFwiLCAtMSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0VHJpZ2dlci5vbihcIm1vdXNlZG93bi5yZWQtdWktdHlwZWRJbnB1dC1mb2N1cy1ibG9ja1wiLCBmdW5jdGlvbiAoZXZ0KSB7XG4gICAgICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmICh0aGF0LiRtZW51KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJG1lbnUucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIGZhLWlkLWNhcmRcbiAgICAgICAgICAgICAgICBjb25zdCB0eXBlTGlzdCA9IFtcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogXCJ0ZXh0XCIsIHZhbHVlOiBcInRcIiwgdGl0bGU6IFwiVmFsdWUgaXMgbm90IHZlcmlmaWVkXCIsIGljb246ICc8aSBjbGFzcz1cImZhIGZhLWZvbnRcIi9pPiAnIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIm1zZy5cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIm1zZ1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwibm9kZSBpZCBvciAgYnJvd3NlIHBhdGggY29tZXMgZnJvbSBpbmplY3RlZCBtc2cgcGFyYW1ldGVyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnPGkgY2xhc3M9XCJmYSBmYS1lbnZlbG9wZS1vcGVuLW9cIi8+JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogXCJOb2RlSWRcIiwgdmFsdWU6IFwiblwiLCBpY29uOiAnPGkgY2xhc3M9XCJmYSBmYS10YWdcIi8+MSAmbmJzcDsgJyB9LFxuICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiBcIkFsaWFzZWQgTm9kZUlkXCIsIHZhbHVlOiBcIm5hXCIsIGljb246ICc8aSBjbGFzcz1cImZhIGZhLWJvb2ttYXJrXCIvPiZuYnNwOyAnIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6IFwiTm9kZUlkIHdpdGggbmFtZXNwYWNlIFVyblwiLCB2YWx1ZTogXCJuc3VcIiwgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtaWQtY2FyZFwiLz4mbmJzcDsgJyB9LFxuICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiBcIkJyb3dzZVBhdGhcIiwgdmFsdWU6IFwiYlwiLCBpY29uOiAnPGkgY2xhc3M9XCJmYSBmYS10YWdcIi8+PGkgY2xhc3M9XCJmYSBmYS1maWdodGVyLWpldFwiLz4mbmJzcDsnIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIkFsaWFzZWQgQnJvd3NlIFBhdGhcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcImFiXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnPGkgY2xhc3M9XCJmYSBmYS1ib29rbWFya1wiLz48aSBjbGFzcz1cImZhIGZhLWZpZ2h0ZXItamV0XCIvPiZuYnNwOycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgICAgICBjb25zdCBhID0gZmlndXJlT3V0TWVuVUl0ZW1WYWx1ZSh0aGF0LiRpbnB1dC52YWwoKSk7XG4gICAgICAgICAgICAgICAgY29uc3QgZSA9IHR5cGVMaXN0LmZpbmQoKHgpID0+IHgudmFsdWUgPT09IGEpO1xuICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdExhYmVsLmVtcHR5KCkuYXBwZW5kKGA8c3BhbiB0aXRsZT0keyhlID09PSBudWxsIHx8IGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGUudGl0bGUpIHx8IFwiXCJ9PiZuYnNwOyAkeyhlID09PSBudWxsIHx8IGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGUuaWNvbikgfHwgXCJcIn08L3NwYW4+YCk7XG4gICAgICAgICAgICAgICAgdGhhdC5zZWxlY3RlZE1lbnVJdGVtID0gYTtcbiAgICAgICAgICAgICAgICBjb25zdCB0dCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgdGhhdC4kbWVudSA9IHRoaXMuX2NyZWF0ZU1lbnUodHlwZUxpc3QsIHt9LCAodikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtb2RlID0gdG9Nb2RlKHYpO1xuICAgICAgICAgICAgICAgICAgICBpZiAobW9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gb24gTWVudSBzZWxlY3RlZCAhXG4gICAgICAgICAgICAgICAgICAgICAgICB0dC52ZXJpZnkobW9kZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZSA9IHR5cGVMaXN0LmZpbmQoKHgpID0+IHgudmFsdWUgPT09IHYpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LnNlbGVjdGVkTWVudUl0ZW0gPSB2O1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RMYWJlbC5lbXB0eSgpLmFwcGVuZChgPHNwYW4gdGl0bGU9JHsoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRpdGxlKSB8fCBcIlwifT4mbmJzcDsgJHsoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLmljb24pIHx8IFwiXCJ9PC9zcGFuPmApO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoYXQuJG1lbnUuYXBwZW5kVG8oZG9jdW1lbnQuYm9keSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kbWVudS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0VHJpZ2dlci5zaG93KCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbW9kZSgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICByZXR1cm4gdG9Nb2RlKHRoYXQuc2VsZWN0ZWRNZW51SXRlbSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2V0TW9kZShtb2RlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgY29uc3QgcyA9IGZyb21Nb2RlKG1vZGUpO1xuICAgICAgICAgICAgICAgIHRoYXQuc2VsZWN0ZWRNZW51SXRlbSA9IHM7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX2NyZWF0ZSgpIHtcbiAgICAgICAgICAgICAgICAvLyBkZWJ1Z2dlcjtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dCA9IHRoaXMuZWxlbWVudDtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5jc3MoXCJib3JkZXJcIiwgXCJub25lXCIpO1xuICAgICAgICAgICAgICAgIC8vIHRoYXQuJGlucHV0LmFkZENsYXNzKFwicmVkLXVpLXR5cGVkSW5wdXRcIik7XG4gICAgICAgICAgICAgICAgdGhhdC4kZWxlbWVudERpdiA9IHRoYXQuJGlucHV0LndyYXAoXCI8ZGl2PlwiKS5wYXJlbnQoKS5hZGRDbGFzcyhcIm1haW4td3JhcHBlclwiKTtcbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIENvbWJvIGJyb3dzZXJcbiAgICAgICAgICAgICAgICB0aGF0LiRjb21ibyA9ICQoXCI8ZGl2Lz5cIik7XG4gICAgICAgICAgICAgICAgdGhhdC4kY29tYm8uYWRkQ2xhc3MoXCJzdGVyZml2ZS1jb21iby1ib3hcIik7XG4gICAgICAgICAgICAgICAgLy8gdGhhdC4kY29tYm8uYWRkQ2xhc3MoXCJyZWQtdWktdHlwZWRJbnB1dC1pbnB1dC13cmFwXCIpO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LnJlcGxhY2VXaXRoKHRoYXQuJGNvbWJvKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dEdyb3VwID0gJChcIjxkaXYvPlwiKS5hZGRDbGFzcyhcInN0ZXJmaXZlLWlucHV0LWdyb3VwXCIpO1xuICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLmFwcGVuZCh0aGF0LiRpbnB1dEdyb3VwKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dEdyb3VwLmFwcGVuZCh0aGF0LiRpbnB1dCk7XG4gICAgICAgICAgICAgICAgLy8gI2VuZHJlZ2lvblxuICAgICAgICAgICAgICAgIC8vICNyZWdpb24gYWRkIGJ1dHRvbiBvbiB0aGUgcmlnaHQgc2lkZVxuICAgICAgICAgICAgICAgIC8vICNyZWdpb24gdG9nZ2xlVHJlZUJ0blxuICAgICAgICAgICAgICAgIHRoYXQuJHRvZ2dsZVRyZWVCdG4gPSAkKGA8YnV0dG9uIHRpdGxlPVwib3BlbiBPUENVQSBBZGRyZXNzU3BhY2UgQnJvd3NlclwiPjxpIGNsYXNzPVwiZmEgZmEtc2l0ZW1hcFwiPjwvaT48L2J1dHRvbj5gKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5hZnRlcih0aGF0LiR0b2dnbGVUcmVlQnRuKTtcbiAgICAgICAgICAgICAgICB0aGF0LiR0b2dnbGVUcmVlQnRuLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5lZWRUb1JlYWNoU2VsZWN0aW9uID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgcGFyZW50Tm9kZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhhdC4kZHJvcGRvd24uaXMoXCI6dmlzaWJsZVwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGluZm8uaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRyZWUgd2lkZ2V0IGlzIGdvaW5nIHRvIGJlY29tZSB2aXNpYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50Tm9kZSA9IHlpZWxkIHRoYXQucmVzb2x2ZVBhcmVudE5vZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocGFyZW50Tm9kZSAhPT0gdGhhdC5jdXJyZW50UGFyZW50IHx8ICgoX2EgPSB0aGF0LmN1cnJlbnRQYXJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5ub2RlSWQpICE9PSBwYXJlbnROb2RlLm5vZGVJZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5aWVsZCB0aGF0LnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRUb1JlYWNoU2VsZWN0aW9uID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLnRvZ2dsZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbmVlZFRvUmVhY2hTZWxlY3Rpb24gJiYgKHlpZWxkIHJlYWNoU2VsZWN0aW9uKHRoYXQsIHBhcmVudE5vZGUpKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgLy8gI2VuZHJlZ2lvblxuICAgICAgICAgICAgICAgIC8vICNyZWdpb24gdmVyaWZ5QnRuXG4gICAgICAgICAgICAgICAgdGhhdC4kdmVyaWZ5QnRuID0gJChgPGJ1dHRvbiB0aXRsZT1cInZlcmlmeSBub2RlSWQgb3IgYnJvd3NlUGF0aFwiPjxpIGNsYXNzPVwiZmEgZmEtcmVmcmVzaFwiPjwvaT48L2J1dHRvbj5gKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5hZnRlcih0aGF0LiR2ZXJpZnlCdG4pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHZlcmlmeUJ0bi5vbihcImNsaWNrXCIsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbW9kZSA9IHRoYXQubW9kZSgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIW1vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZlcmlmeShtb2RlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvLyAjZW5kcmVnaW9uXG4gICAgICAgICAgICAgICAgLy8gI2VuZHJlZ2lvblxuICAgICAgICAgICAgICAgIGNvbnN0IG5vcm1hbGl6ZUlucHV0ID0gKGlucHV0KSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgICAgICBsZXQgbW9kZSA9IHRoYXQubW9kZSgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIW1vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyBGZXRjaCBuZXcgZGF0YSBmb3IgdGhpcyBub2RlXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbm5lY3Rpb25EYXRhID0gbWFrZUNvbm5lY3Rpb24odGhhdCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgZGF0YSwganNvbiB9ID0geWllbGQgX2NhbGxDaGVja05vZGVJZChjb25uZWN0aW9uRGF0YSwgaW5wdXQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChqc29uLnN0YXR1c0NvZGUubWF0Y2goL0dvb2QvKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWROb2RlSWQgPSBjaG9vc2VOb2RlSWQoanNvbiwgbW9kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC52YWwoc2VsZWN0ZWROb2RlSWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQudHJpZ2dlcihcImNoYW5nZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgICAgIC8vIGNyZWF0ZSB0aGUgcHJlcGVuZGVkIGJ1dHRvblxuICAgICAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kdWlTZWxlY3QgPSAkKFwiPGRpdj5cIik7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LmJlZm9yZSh0aGF0LiR1aVNlbGVjdCk7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXIgPSAkKCc8YnV0dG9uIHR5cGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIj48L2J1dHRvbj4nKS5wcmVwZW5kVG8odGhhdC4kdWlTZWxlY3QpO1xuICAgICAgICAgICAgICAgICAgICAkKCc8aSBjbGFzcz1cInJlZC11aS10eXBlZElucHV0LWljb24gZmEgZmEtY2FyZXQtZG93blwiPjwvaT4nKS50b2dnbGUodHJ1ZSkuYXBwZW5kVG8odGhhdC4kc2VsZWN0VHJpZ2dlcik7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXIub24oXCJjbGlja1wiLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX3Nob3dUeXBlTWVudSgpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0VHJpZ2dlclxuICAgICAgICAgICAgICAgICAgICAgICAgLm9uKFwia2V5ZG93blwiLCBmdW5jdGlvbiAoZXZ0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZ0LmtleUNvZGUgPT09IDQwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRG93blxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX3Nob3dUeXBlTWVudSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgLm9uKFwiZm9jdXNcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kdWlTZWxlY3QuYWRkQ2xhc3MoXCJyZWQtdWktdHlwZWRJbnB1dC1mb2N1c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5vbihcImJsdXJcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdmFyIG9wdCA9IHRoYXQudHlwZU1hcFt0aGF0LnByb3BlcnR5VHlwZV07XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiAob3B0Lmhhc1ZhbHVlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kdWlTZWxlY3QucmVtb3ZlQ2xhc3MoXCJyZWQtdWktdHlwZWRJbnB1dC1mb2N1c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdExhYmVsID0gJCgnPHNwYW4gY2xhc3M9XCJyZWQtdWktdHlwZWRJbnB1dC10eXBlLWxhYmVsXCI+PC9zcGFuPicpLmFwcGVuZFRvKHRoYXQuJHNlbGVjdFRyaWdnZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLl9pbml0TWVudSgpO1xuICAgICAgICAgICAgICAgIGlmICghdGhhdC4kaW5wdXQuYXR0cihcInBsYWNlaG9sZGVyXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LmF0dHIoXCJwbGFjZWhvbGRlclwiLCBcImVudGVyIGEgbm9kZUlkIG9yIGEgYnJvd3NlUGF0aCBcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vICNyZWdpb24gdGVtcG9yYXR5IGluZm8gcGFuZWxcbiAgICAgICAgICAgICAgICB0aGF0LiRpbmZvID0gJChgPGRpdiBjbGFzcz1cInN0ZXJmaXZlLWluZm8tdGV4dFwiPjwvZGl2PmApO1xuICAgICAgICAgICAgICAgIHRoYXQuJGluZm8uaGlkZSgpO1xuICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLmFwcGVuZCh0aGF0LiRpbmZvKTtcbiAgICAgICAgICAgICAgICAvLyAjZW5kcmVnaW9uXG4gICAgICAgICAgICAgICAgLy8gI3JlZ2lvbiBkcm9wIGRvd24gdHJlZVxuICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duID0gJChcIjxkaXYvPlwiKS5hZGRDbGFzcyhcInN0ZXJmaXZlLWRyb3Bkb3duXCIpLmhpZGUoKS5hcHBlbmRUbyh0aGF0LiRjb21ibyk7XG4gICAgICAgICAgICAgICAgdGhhdC4kdHJlZSA9ICQoYDx1bCBjbGFzcz1cInN0ZXJmaXZlLXRyZWVcIj48L3VsPmApLmFwcGVuZFRvKHRoYXQuJGRyb3Bkb3duKTtcbiAgICAgICAgICAgICAgICAvLyB0aGF0LiRkcm9wZG93bi5zaG93KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICAgICAgICAgIC8vICNlbmRyZWdpb25cbiAgICAgICAgICAgICAgICBjb25zdCBpc09uTGVmdFNpemUgPSAoJGxpLCBldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBiZWZvcmVXaWR0aCA9IDIwOyAvLyBTZXQgd2lkdGggb2YgdGhlIDo6YmVmb3JlIGNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmVmb3JlSGVpZ2h0ID0gMjA7IC8vIFNldCBoZWlnaHQgb2YgdGhlIDo6YmVmb3JlIGNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudFBvcyA9ICRsaS5vZmZzZXQoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZSA9IGV2ZW50O1xuICAgICAgICAgICAgICAgICAgICBpZiAoZS5wYWdlWCA+PSBlbGVtZW50UG9zLmxlZnQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGUucGFnZVggPD0gZWxlbWVudFBvcy5sZWZ0ICsgYmVmb3JlV2lkdGggJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGUucGFnZVkgPj0gZWxlbWVudFBvcy50b3AgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGUucGFnZVkgPD0gZWxlbWVudFBvcy50b3AgKyBiZWZvcmVIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IHRvZ2dsZUV4cGFuc2lvbiA9ICgkbGkpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCRsaS5oYXNDbGFzcyhcImV4cGFuZGFibGVcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIF9leHBhbmRMaSh0aGF0LCAkbGkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCRsaS5oYXNDbGFzcyhcImV4cGFuZGVkXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBUb2dnbGUgaXRzIGV4cGFuZGVkL2NvbGxhcHNlZCBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgJGxpLmNoaWxkcmVuKFwidWxcIikudG9nZ2xlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTd2FwIGV4cGFuZGFibGUgYW5kIGV4cGFuZGVkIGNsYXNzZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICRsaS50b2dnbGVDbGFzcyhcImV4cGFuZGFibGUgZXhwYW5kZWRcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoJGxpLmNoaWxkcmVuKFwidWxcIikuY2hpbGRyZW4oKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAkbGkuY2hpbGRyZW4oXCJ1bFwiKS50b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFN3YXAgZXhwYW5kYWJsZSBhbmQgZXhwYW5kZWQgY2xhc3Nlc1xuICAgICAgICAgICAgICAgICAgICAgICAgJGxpLnRvZ2dsZUNsYXNzKFwiZXhwYW5kYWJsZSBleHBhbmRlZFwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGF0LiR0cmVlLm9uKFwiZGJsY2xpY2tcIiwgXCJsaVwiLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIGxldCAkbGkgPSAkKHRoaXMpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPbkxlZnRTaXplKCRsaSwgZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVFeHBhbnNpb24oJGxpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gJGxpLmRhdGEoXCJ2YWx1ZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlZmVyZW5jZSA9ICRsaS5kYXRhKFwicmVmZXJlbmNlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoYXQub3B0aW9ucy5pc1NlbGVjdGFibGUgJiYgIXRoYXQub3B0aW9ucy5pc1NlbGVjdGFibGUocmVmZXJlbmNlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LmRhdGEoXCJyZWZlcmVuY2VcIiwgcmVmZXJlbmNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICgoX2EgPSByZWZlcmVuY2UuZGlzcGxheU5hbWUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS50ZXh0KSB8fCAoKF9iID0gcmVmZXJlbmNlLmJyb3dzZU5hbWUpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5uYW1lKSB8fCByZWZlcmVuY2Uubm9kZUlkLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25zdCBpbnB1dCA9IGBbJHtkaXNwbGF5TmFtZX1dKCR7dmFsdWV9KWA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbW9kZSA9IHRoYXQubW9kZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFtb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZSA9IFwibm9kZUlkXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5zZXRNb2RlKG1vZGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsaXplSW5wdXQodmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoYXQuJGlucHV0LnZhbChpbnB1dCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhhdC4kaW5wdXQudHJpZ2dlcihcImNoYW5nZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhhdC4kaW5wdXQudmFsKGlucHV0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGF0LiRpbnB1dC50cmlnZ2VyKFwiY2hhbmdlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kdHJlZS5vbihcImNsaWNrXCIsIFwibGlcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgJGxpID0gJCh0aGlzKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzT25MZWZ0U2l6ZSgkbGksIGV2ZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlRXhwYW5zaW9uKCRsaSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0U2luZ2xlKHRoYXQsICRsaSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgJChkb2N1bWVudCkub24oXCJjbGlja1wiLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gY2xpY2tpbmcgb3V0c2lkZSB0aGUgcGFnZSB3aWxsIGhpZGUgdGhlIGRyb3Bkb3duXG4gICAgICAgICAgICAgICAgICAgIGlmICghJChldmVudC50YXJnZXQpLmNsb3Nlc3QodGhhdC4kY29tYm8pLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24uaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaW5zdGFsbEZlZWRiYWNrV2lkZ2V0ID0gKCkgPT4ge1xuICAgICAgICAvLyByZXR1cm47XG4gICAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgICBjb25zdCB0cmF5Q29udGVudCA9ICQoXCIucmVkLXVpLXRyYXktYm9keVwiKTtcbiAgICAgICAgY29uc29sZS5sb2coXCJpbnN0YWxsRmVlZGJhY2tXaWRnZXQgXCIsIHRyYXlDb250ZW50Lmxlbmd0aCk7XG4gICAgICAgIGlmICh0cmF5Q29udGVudC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiaW5zdGFsbGluZyBpZnJhbWVcIik7XG4gICAgICAgICAgICAvLyBDcmVhdGUgdGhlIGlmcmFtZSBlbGVtZW50XG4gICAgICAgICAgICBjb25zdCBpZnJhbWUgPSAkKFwiPGlmcmFtZT48L2lmcmFtZT5cIiwge1xuICAgICAgICAgICAgICAgIHNyYzogXCIvb3BjdWEtZm9yLW5vZGUtcmVkL3N1cHBvcnQtZnJhbWUuaHRtbFwiLFxuICAgICAgICAgICAgICAgIHNjcm9sbGluZzogXCJub1wiLFxuICAgICAgICAgICAgICAgIHN0eWxlOiBcImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlcjozcHhcIixcbiAgICAgICAgICAgICAgICBhbGxvd3RyYW5zcGFyZW5jeTogXCJ0cnVlXCIsXG4gICAgICAgICAgICAgICAgd2lkdGg6IFwiMTgwcHhcIixcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IFwiMzBweFwiLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyBBcHBlbmQgdGhlIGlmcmFtZSB0byB0aGUgZmVlZGJhY2sgZWxlbWVudFxuICAgICAgICAgICAgdHJheUNvbnRlbnQuYXBwZW5kKGlmcmFtZSk7XG4gICAgICAgICAgICAvLyBQb3NpdGlvbiB0aGUgZmVlZGJhY2sgZWxlbWVudCBhdCB0aGUgYm90dG9tIHJpZ2h0IG9mIHRoZSB0cmF5IGNvbnRlbnRcbiAgICAgICAgICAgIGlmcmFtZS5jc3Moe1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICAgICAgICAgICAgcmlnaHQ6IFwiMjBweFwiLFxuICAgICAgICAgICAgICAgIGJvdHRvbTogXCIxNnB4XCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBjaGVja05vZGVJZCA9IChfYSwgbm9kZUlkXzEsIG5hbWVzcGFjZUFsaWFzZXNfMSkgPT4gX19hd2FpdGVyKHZvaWQgMCwgW19hLCBub2RlSWRfMSwgbmFtZXNwYWNlQWxpYXNlc18xXSwgdm9pZCAwLCBmdW5jdGlvbiogKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCBub2RlSWQsIG5hbWVzcGFjZUFsaWFzZXMpIHtcbiAgICAgICAgY29uc3Qgcm9vdCA9IGAke2Jhc2VVcmx9L29wY3VhLWZvci1ub2RlLXJlZGA7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L2NoZWNrTm9kZUlkYDtcbiAgICAgICAgY29uc3QgZGF0YSA9IHlpZWxkIGZldGNoKHVybCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICBlbmRwb2ludE5vZGUsXG4gICAgICAgICAgICAgICAgZW5kcG9pbnQsXG4gICAgICAgICAgICAgICAgbm9kZUlkLFxuICAgICAgICAgICAgICAgIG5hbWVzcGFjZUFsaWFzZXMsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChkYXRhLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImZldGNoaW5nIGZhaWxlZCB3aXRoIGVycm9yXCIsIGRhdGEuc3RhdHVzLCBkYXRhLnN0YXR1c1RleHQpO1xuICAgICAgICAgICAgY29uc3QgcmVzID0ge1xuICAgICAgICAgICAgICAgIHN0YXR1c0NvZGU6IFwiQmFkTm9NYXRjaFwiLFxuICAgICAgICAgICAgICAgIHJlcXVlc3RlZE5vZGVJZDogbm9kZUlkLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS5sb2coXCJmZXRjaGVkIDogXCIsIGRhdGEuc3RhdHVzLCBkYXRhLnN0YXR1c1RleHQpO1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IHlpZWxkIGRhdGEuanNvbigpO1xuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfSk7XG5cbiAgICBmdW5jdGlvbiBtYW5hZ2VBUElDYWxsKHByZWZpeCwgYnRuLCBmdW5jLCBvblJlc3VsdCkge1xuICAgICAgICBjb25zdCBzdWNjZXNzSWNvbiA9ICQoYCMke3ByZWZpeH0tc3VjY2Vzc2ApO1xuICAgICAgICBjb25zdCBmYWlsdXJlSWNvbiA9ICQoYCMke3ByZWZpeH0tZmFpbHVyZWApO1xuICAgICAgICBjb25zdCBwZW5kaW5nSWNvbiA9ICQoYCMke3ByZWZpeH0tcGVuZGluZ2ApO1xuICAgICAgICBjb25zdCBtZXNzYWdlcyA9ICQoYCMke3ByZWZpeH0tbWVzc2FnZXNgKTtcbiAgICAgICAgbGV0IGFjdGlvblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3VjY2Vzc0ljb24uaGlkZSgpO1xuICAgICAgICBmYWlsdXJlSWNvbi5oaWRlKCk7XG4gICAgICAgIHBlbmRpbmdJY29uLmhpZGUoKTtcbiAgICAgICAgYnRuLm9uKFwiY2xpY2tcIiwgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGFjdGlvblBlbmRpbmcpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgYWN0aW9uUGVuZGluZyA9IHRydWU7XG4gICAgICAgICAgICBwZW5kaW5nSWNvbi5yZW1vdmVDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICBwZW5kaW5nSWNvbi5odG1sKFwiVGVzdGluZyBDb25uZWN0aW9uIC4uLlwiKTtcbiAgICAgICAgICAgIHN1Y2Nlc3NJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgIGZhaWx1cmVJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgIG1lc3NhZ2VzLmh0bWwoXCJcIik7XG4gICAgICAgICAgICBjb25zdCB7IGJvZHksIHVybCB9ID0gZnVuYygpO1xuICAgICAgICAgICAgLy8geHggY29uc29sZS5sb2coXCJ4eHh4eFwiLCBib2R5KTtcbiAgICAgICAgICAgIGZldGNoKHVybCwge1xuICAgICAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGJvZHkpLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAudGhlbigoZGF0YSkgPT4gZGF0YS5qc29uKCkpXG4gICAgICAgICAgICAgICAgLnRoZW4oKGpzb24pID0+IHtcbiAgICAgICAgICAgICAgICBhY3Rpb25QZW5kaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgcGVuZGluZ0ljb24uaGlkZSgpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KGpzb24sIG51bGwsIFwiIFwiKSk7XG4gICAgICAgICAgICAgICAgaWYgKGpzb24ucmVzdWx0ID09PSBcIm9rXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgc3VjY2Vzc0ljb24ucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICBmYWlsdXJlSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VzLmh0bWwoanNvbi5tZXNzYWdlLnJlcGxhY2UoXCJcXG5cIiwgXCI8YnI+XCIpKTtcbiAgICAgICAgICAgICAgICAgICAgb25SZXN1bHQobnVsbCwganNvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGFwdCA9IChzdHIpID0+ICFzdHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gXCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgOiBzdHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3BsaXQoXCJcXG5cIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWFwKChhKSA9PiBgPHA+JHthfTwvcD5gKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5qb2luKFwiXFxuXCIpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGFwdDIgPSAoc3RyKSA9PiAoQXJyYXkuaXNBcnJheShzdHIpID8gc3RyLm1hcChhZGFwdCkuam9pbihcIlxcblwiKSA6IGFkYXB0KHN0cikpO1xuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgIGZhaWx1cmVJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZXMuaHRtbChhZGFwdDIoanNvbi5tZXNzYWdlKSArIGFkYXB0Mihqc29uLmV4dHJhKSk7XG4gICAgICAgICAgICAgICAgICAgIG9uUmVzdWx0KG5ldyBFcnJvcihqc29uLnJlc3VsdCksIGpzb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICBhY3Rpb25QZW5kaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgcGVuZGluZ0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgIHN1Y2Nlc3NJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICBmYWlsdXJlSWNvbi5yZW1vdmVDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgbWVzc2FnZXMuaHRtbChcImludGVybmFsIGVycm9yIFwiICsgZXJyLm1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZXJyXCIsIGVycik7XG4gICAgICAgICAgICAgICAgb25SZXN1bHQoZXJyLCBudWxsKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHRoZSBlbmRwb2ludCBhdHRyaWJ1dGVzIGNvbnRhaW5pbmc6XG4gICAgICogIC0gdGhlIGVuZHBvaW50LCBzZWN1cml0eU1vZGUsIHNlY3VyaXR5UG9saWN5LFxuICAgICAqICAtIHVzZXJJZGVudGl0eVR5cGUsXG4gICAgICogIC0gY3JlZGVudGlhbHNcbiAgICAgKiAgLSBuYW1lc3BhY2VBbGlhc2VzXG4gICAgICpcbiAgICAgKiBleHRyYWN0ZWQgZnJvbSB0aGUgdWkgd2lkZ2V0ICNub2RlLWlucHV0LWVuZHBvaW50XG4gICAgICovXG4gICAgY29uc3QgZ2V0RW5kUG9pbnRBdHRyaWJ1dGVzID0gKCkgPT4ge1xuICAgICAgICBjb25zdCAkZW5kcG9pbnQgPSAkKFwiI25vZGUtaW5wdXQtZW5kcG9pbnRcIik7XG4gICAgICAgIGNvbnN0IGVuZHBvaW50SWQgPSAkZW5kcG9pbnQudmFsKCk7XG4gICAgICAgIGNvbnN0IHJlZE5vZGUgPSBSRUQubm9kZXMubm9kZShlbmRwb2ludElkKTtcbiAgICAgICAgaWYgKCFyZWROb2RlKVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgLy8gY29uc3QgY3JlZGVudGlhbHMgPSBSRUQuKGVuZHBvaW50SWQpO1xuICAgICAgICAvLyB3ZSBuZWVkIHRvIHNhbml0aXplIGFuZCBleHRyYWN0IHRoZSBlbmRwb2ludCBhdHRyaWJ1dGVzIG9ubHkgKCBub3QgdGhlIG5vZGUtcmVkIHN0dWZmKVxuICAgICAgICBjb25zdCB7IGVuZHBvaW50LCBzZWN1cml0eU1vZGUsIHNlY3VyaXR5UG9saWN5LCB1c2VySWRlbnRpdHlUeXBlLCBjcmVkZW50aWFscywgbmFtZXNwYWNlQWxpYXNlcyB9ID0gcmVkTm9kZTtcbiAgICAgICAgY29uc3QgcmV0VmFsdWUgPSB7XG4gICAgICAgICAgICBlbmRwb2ludCxcbiAgICAgICAgICAgIHNlY3VyaXR5TW9kZSxcbiAgICAgICAgICAgIHNlY3VyaXR5UG9saWN5LFxuICAgICAgICAgICAgdXNlcklkZW50aXR5VHlwZSxcbiAgICAgICAgICAgIGNyZWRlbnRpYWxzLFxuICAgICAgICAgICAgbmFtZXNwYWNlQWxpYXNlcyxcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHJldFZhbHVlO1xuICAgIH07XG4gICAgY29uc3QgZ2V0RW5kcG9pbnRQYXJhbWV0ZXJzID0gKCkgPT4ge1xuICAgICAgICBjb25zdCAkZW5kcG9pbnQgPSAkKFwiI25vZGUtaW5wdXQtZW5kcG9pbnRcIik7XG4gICAgICAgIGNvbnN0IGVuZHBvaW50SWQgPSAkZW5kcG9pbnQudmFsKCk7XG4gICAgICAgIGNvbnN0IGVuZHBvaW50TnIgPSBnZXRFbmRQb2ludEF0dHJpYnV0ZXMoKTtcbiAgICAgICAgaWYgKCFlbmRwb2ludE5yKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5hbWVzcGFjZUFsaWFzZXMgPSBlbmRwb2ludE5yLm5hbWVzcGFjZUFsaWFzZXM7XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHsgbmFtZXNwYWNlQWxpYXNlcywgaWQ6IGVuZHBvaW50SWQgfSwgZW5kcG9pbnROcik7XG4gICAgfTtcbiAgICBjb25zdCBnZXRFbmRwb2ludFBhcmFtZXRlcnNIYW5kbGVyID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZW5kcG9pbnROb2RlOiBnZXRFbmRwb2ludFBhcmFtZXRlcnMsXG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIFJFRC5ub2Rlcy5yZWdpc3RlclR5cGUoXCJPcGNVYS1DbGllbnQyLUNhbGxcIiwge1xuICAgICAgICBjYXRlZ29yeTogXCJvcGN1YVwiLFxuICAgICAgICBjb2xvcjogXCIjQzBERUVEXCIsXG4gICAgICAgIGFsaWduOiBcInJpZ2h0XCIsXG4gICAgICAgIGljb246IFwiLi4vLi4vaWNvbnMvb3BjdWFub2RlTG9nby5wbmdcIixcbiAgICAgICAgcGFsZXR0ZUxhYmVsOiBcImNhbGxcIixcbiAgICAgICAgZGVmYXVsdHM6IHtcbiAgICAgICAgICAgIGlucHV0czogeyB2YWx1ZTogMSB9LFxuICAgICAgICAgICAgb3V0cHV0OiB7IHZhbHVlOiA0IH0sXG4gICAgICAgICAgICAvLyBDb21tb25cbiAgICAgICAgICAgIG5hbWU6IHsgdmFsdWU6IFwiXCIgfSxcbiAgICAgICAgICAgIGVuZHBvaW50OiB7IHZhbHVlOiBcIlwiLCByZXF1aXJlZDogdHJ1ZSwgdHlwZTogXCJPcGNVYS1FbmRwb2ludDJcIiB9LFxuICAgICAgICAgICAgYWN0aW9uOiB7IHZhbHVlOiBcInJlYWRcIiwgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICAgICAgICAgIC8vIGZvciBhY3Rpb24gY2FsbFxuICAgICAgICAgICAgbWV0aG9kSWQ6IHsgdmFsdWU6IFwiXCIsIHJlcXVpcmVkOiB0cnVlIH0sXG4gICAgICAgICAgICBvYmplY3RJZDogeyB2YWx1ZTogXCJcIiwgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICAgICAgfSxcbiAgICAgICAgLy8gaW5wdXRzOixcbiAgICAgICAgb3V0cHV0czogMiwgLy8gMiBvdXRwdXQsIHNlY29uZCBmb3IgcmF3IG5vZGUtb3BjdWEgZGlhZ25vc3RpY3Mgb3IgbW9yZSBjb21wbGV0ZSBtZXNzYWdlXG4gICAgICAgIGxhYmVsKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmFtZSB8fCBcIk9QQ1VBLUNhbGxcIjtcbiAgICAgICAgfSxcbiAgICAgICAgbGFiZWxTdHlsZSgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5hbWUgPyBcIm5vZGVfbGFiZWxfaXRhbGljXCIgOiBcIlwiO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRwcmVwYXJlKCkge1xuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXM7XG4gICAgICAgICAgICBkZWNsYXJlTm9kZUJyb3dzZXJXaWRnZXQoKTtcbiAgICAgICAgICAgIGluc3RhbGxGZWVkYmFja1dpZGdldCgpO1xuICAgICAgICAgICAgbm9kZS5pbnB1dHMgPSAxO1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSBTZWN0aW9uIENhbGxcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBsZXQgZGF0YVR5cGVzID0ge307XG4gICAgICAgICAgICAvLyB0byBkbyBhZGQgYSB0eXBlc2NyaXB0IGRlZmluaXRpb24gZm9yIHRoaXNcbiAgICAgICAgICAgIGNvbnN0ICRvYmplY3RJZCA9ICQoXCIjbm9kZS1pbnB1dC1vYmplY3RJZFwiKTtcbiAgICAgICAgICAgIGNvbnN0ICRtZXRob2RJZCA9ICQoXCIjbm9kZS1pbnB1dC1tZXRob2RJZFwiKTtcbiAgICAgICAgICAgIGNvbnN0ICRpbnB1dEFyZ3VtZW50RGVmaW5pdGlvbiA9ICQoXCIjbWV0aG9kLWlucHV0LWFyZ3VtZW50LWRlZmluaXRpb25cIik7XG4gICAgICAgICAgICBjb25zdCAkb3V0cHV0QXJndW1lbnREZWZpbml0aW9uID0gJChcIiNtZXRob2Qtb3V0cHV0LWFyZ3VtZW50LWRlZmluaXRpb25cIik7XG4gICAgICAgICAgICBjb25zdCAkdmFsaWRhdGVCdG4gPSAkKFwiI3ZhbGlkYXRlLWNhbGwtYXJndW1lbnRzLWJ1dHRvblwiKTtcbiAgICAgICAgICAgICRvYmplY3RJZC5ub2RlQnJvd3NlcihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGdldEVuZHBvaW50UGFyYW1ldGVyc0hhbmRsZXIoKSksIHsgZmlsdGVyKG5vZGVEZXNjKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBub2RlRGVzYy5ub2RlQ2xhc3MgPT09IFwiT2JqZWN0XCI7XG4gICAgICAgICAgICAgICAgfSB9KSk7XG4gICAgICAgICAgICAkbWV0aG9kSWQubm9kZUJyb3dzZXIoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBnZXRFbmRwb2ludFBhcmFtZXRlcnNIYW5kbGVyKCkpLCB7IHBhcmVudE5vZGU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBtYWtlQ29ubmVjdGlvbih0aGlzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG5lZWQgdG8gcmVzeW5jIHdpdGggd2hhdCdzIGluICAjbm9kZS1pbnB1dC1vYmplY3RJZFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHBhcmVudE9ialJlZmVyZW5jZSA9ICRvYmplY3RJZC5kYXRhKFwicmVmZXJlbmNlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwYXJlbnRPYmpSZWZlcmVuY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBub2RlSWRFeCA9ICRvYmplY3RJZC52YWwoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25zdCBlbmRwb2ludE5vZGUgPSBnZXRFbmRQb2ludEF0dHJpYnV0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiAoIWVuZHBvaW50Tm9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByID0geWllbGQgY2hlY2tOb2RlSWQoZGF0YSwgbm9kZUlkRXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoci5zdGF0dXNDb2RlICE9PSBcIkdvb2RcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50T2JqUmVmZXJlbmNlID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZUlkOiByLm5vZGVJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb3dzZU5hbWU6IHIuYnJvd3NlTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGRpc3BsYXlOYW1lOiByLmJyb3dzZU5hbWUudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVDbGFzczogXCJPYmplY3RcIiwgLy8gci5ub2RlQ2xhc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlRGVmaW5pdGlvbjogXCJucz0wO2k9MFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheU5hbWU6IHsgdGV4dDogXCJcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBhcmVudE9ialJlZmVyZW5jZTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSwgZmlsdGVyKG5vZGVEZXNjKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBub2RlRGVzYy5ub2RlQ2xhc3MgPT09IFwiTWV0aG9kXCIgfHwgbm9kZURlc2Mubm9kZUNsYXNzID09PSBcIk9iamVjdFwiO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgaXNTZWxlY3RhYmxlKG5vZGVEZXNjKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBub2RlRGVzYy5ub2RlQ2xhc3MgPT09IFwiTWV0aG9kXCI7XG4gICAgICAgICAgICAgICAgfSB9KSk7XG4gICAgICAgICAgICAkb2JqZWN0SWQub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICRtZXRob2RJZC5ub2RlQnJvd3NlcihcInJlc2V0XCIpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBmdW5jdGlvbiBhZGRBcmd1bWVudEN0cmwoY29udGFpbmVyLCBpbmRleCwgYXJnKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbSA9ICQoJzxkaXYgY2xhc3M9XCJhcmd1bWVudC1lbnRyeVwiPicpLmFwcGVuZFRvKGNvbnRhaW5lcik7XG4gICAgICAgICAgICAgICAgLy8gY29udGFpbmVyLmRhdGEoXCJkYXRhXCIsIGFyZyk7XG4gICAgICAgICAgICAgICAgJCgnPGlucHV0IHR5cGU9XCJ0ZXh0XCI+JylcbiAgICAgICAgICAgICAgICAgICAgLnZhbChhcmcubmFtZSB8fCBcIlwiKVxuICAgICAgICAgICAgICAgICAgICAuY3NzKHsgd2lkdGg6IFwiMTAwJVwiIH0pXG4gICAgICAgICAgICAgICAgICAgIC5hcHBlbmRUbyhpdGVtKTtcbiAgICAgICAgICAgICAgICBjb25zdCBkID0gZGF0YVR5cGVzW2FyZy5kYXRhVHlwZS50b1N0cmluZygpXTtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhVHlwZU4gPSAoZCA/IGQuYnJvd3NlTmFtZS5uYW1lIHx8IFwiXCIgOiBhcmcuZGF0YVR5cGUudG9TdHJpbmcoKSkgKyAoYXJnLnZhbHVlUmFuayA9PT0gMSA/IFwiW11cIiA6IFwiXCIpO1xuICAgICAgICAgICAgICAgICQoJzxpbnB1dCB0eXBlPVwidGV4dFwiPicpXG4gICAgICAgICAgICAgICAgICAgIC52YWwoYXJnLmRlc2NyaXB0aW9uLnRleHQgfHwgXCJcIilcbiAgICAgICAgICAgICAgICAgICAgLmNzcyh7IHdpZHRoOiBcIjUwJVwiIH0pXG4gICAgICAgICAgICAgICAgICAgIC5hcHBlbmRUbyhpdGVtKTtcbiAgICAgICAgICAgICAgICAkKCc8aW5wdXQgdHlwZT1cInRleHRcIj4nKVxuICAgICAgICAgICAgICAgICAgICAudmFsKGRhdGFUeXBlTiB8fCBcIlwiKVxuICAgICAgICAgICAgICAgICAgICAuY3NzKHsgd2lkdGg6IFwiNTAlXCIgfSlcbiAgICAgICAgICAgICAgICAgICAgLmFwcGVuZFRvKGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJGlucHV0QXJndW1lbnREZWZpbml0aW9uLmVkaXRhYmxlTGlzdCh7XG4gICAgICAgICAgICAgICAgYWRkQnV0dG9uOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IFwiYXV0b1wiLFxuICAgICAgICAgICAgICAgIHNjcm9sbE9uQWRkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBhZGRJdGVtKGNvbnRhaW5lciwgaSwgb2JqZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgIGFkZEFyZ3VtZW50Q3RybChjb250YWluZXIsIGksIG9iamVjdCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgJG91dHB1dEFyZ3VtZW50RGVmaW5pdGlvbi5lZGl0YWJsZUxpc3Qoe1xuICAgICAgICAgICAgICAgIGFkZEJ1dHRvbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBcImF1dG9cIixcbiAgICAgICAgICAgICAgICBzY3JvbGxPbkFkZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgYWRkSXRlbShjb250YWluZXIsIGksIG9iamVjdCkge1xuICAgICAgICAgICAgICAgICAgICBhZGRBcmd1bWVudEN0cmwoY29udGFpbmVyLCBpLCBvYmplY3QpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGZ1bmN0aW9uIGluc3RhbGxBcmd1bWVudExpc3QobGlzdCwgbWV0aG9kQXJndW1lbnRzKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJpbnN0YWxsQXJndW1lbnRMaXN0XCIsIG1ldGhvZEFyZ3VtZW50cy5sZW5ndGgsIFwiYXJndW1lbnRzXCIsIG1ldGhvZEFyZ3VtZW50cyk7XG4gICAgICAgICAgICAgICAgbGlzdC5lZGl0YWJsZUxpc3QoXCJlbXB0eVwiKTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1ldGhvZEFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBsaXN0LmVkaXRhYmxlTGlzdChcImFkZEl0ZW1cIiwgbWV0aG9kQXJndW1lbnRzW2ldKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkaW5wdXRBcmd1bWVudERlZmluaXRpb24uaGlkZSgpO1xuICAgICAgICAgICAgJG91dHB1dEFyZ3VtZW50RGVmaW5pdGlvbi5oaWRlKCk7XG4gICAgICAgICAgICBsZXQgaW5wdXRBc0pzb24gPSB7fTtcbiAgICAgICAgICAgIGNvbnN0ICRjb3B5SW5wdXQgPSAkKFwiI2NvcHktaW5wdXRcIik7XG4gICAgICAgICAgICAkY29weUlucHV0LmhpZGUoKTtcbiAgICAgICAgICAgICRjb3B5SW5wdXQub24oXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gQ29weSB0aGUgdGV4dCBpbnNpZGUgdGhlIHRleHQgZmllbGRcbiAgICAgICAgICAgICAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChKU09OLnN0cmluZ2lmeShpbnB1dEFzSnNvbikpO1xuICAgICAgICAgICAgICAgIC8vIGFsZXJ0KEpTT04uc3RyaW5naWZ5KGlucHV0QXNKc29uKSArIFwiIGNvcGllZCB0byBjbGlwYm9hcmRcIik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIG1hbmFnZUFQSUNhbGwoXCJ2YWxpZGF0ZVwiLCAkdmFsaWRhdGVCdG4sICgpID0+ICh7XG4gICAgICAgICAgICAgICAgdXJsOiBcIi9vcGN1YS1mb3Itbm9kZS1yZWQvYXJndW1lbnREZWZpbml0aW9uXCIsXG4gICAgICAgICAgICAgICAgYm9keToge1xuICAgICAgICAgICAgICAgICAgICBlbmRwb2ludE5vZGU6IGdldEVuZHBvaW50UGFyYW1ldGVycygpLFxuICAgICAgICAgICAgICAgICAgICBvYmplY3RJZDogJG9iamVjdElkLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICBtZXRob2RJZDogJG1ldGhvZElkLnZhbCgpLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSwgKGVyciwgZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBwb3B1bGF0ZSB0aGUgbGlzdFxuICAgICAgICAgICAgICAgIGNvbnN0IGFyZ3VtZW50RGVmaW5pdGlvbiA9IGRhdGEuYXJndW1lbnREZWZpbml0aW9uO1xuICAgICAgICAgICAgICAgIGRhdGFUeXBlcyA9IGRhdGEuZGF0YVR5cGVzO1xuICAgICAgICAgICAgICAgICRpbnB1dEFyZ3VtZW50RGVmaW5pdGlvbi5zaG93KCk7XG4gICAgICAgICAgICAgICAgJG91dHB1dEFyZ3VtZW50RGVmaW5pdGlvbi5zaG93KCk7XG4gICAgICAgICAgICAgICAgaW5zdGFsbEFyZ3VtZW50TGlzdCgkaW5wdXRBcmd1bWVudERlZmluaXRpb24sIGFyZ3VtZW50RGVmaW5pdGlvbi5pbnB1dEFyZ3VtZW50cyk7XG4gICAgICAgICAgICAgICAgaW5zdGFsbEFyZ3VtZW50TGlzdCgkb3V0cHV0QXJndW1lbnREZWZpbml0aW9uLCBhcmd1bWVudERlZmluaXRpb24ub3V0cHV0QXJndW1lbnRzKTtcbiAgICAgICAgICAgICAgICBpbnB1dEFzSnNvbiA9IGRhdGEuaW5wdXRBcmd1bWVudHNFeGFtcGxlQXNKc29uIHx8IHt9O1xuICAgICAgICAgICAgICAgICRjb3B5SW5wdXQuc2hvdygpO1xuICAgICAgICAgICAgICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KEpTT04uc3RyaW5naWZ5KGlucHV0QXNKc29uKSk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJKU09OXCIsIEpTT04uc3RyaW5naWZ5KGlucHV0QXNKc29uKSk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJkYXRhXCIsIGRhdGEpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uZWRpdHNhdmUoKSB7IH0sXG4gICAgfSk7XG5cbn0pKCk7Il19
|
7
|
+
function _0x4165(_0xe546b4,_0x38e5d4){const _0x25953a=_0x2595();return _0x4165=function(_0x416580,_0x343ea6){_0x416580=_0x416580-0x6c;let _0x853580=_0x25953a[_0x416580];return _0x853580;},_0x4165(_0xe546b4,_0x38e5d4);}(function(_0x3d543c,_0x290005){const _0x54a35e=_0x4165,_0x2abd16=_0x3d543c();while(!![]){try{const _0x1689e8=parseInt(_0x54a35e(0xc8))/0x1+parseInt(_0x54a35e(0xb6))/0x2+-parseInt(_0x54a35e(0xc3))/0x3*(-parseInt(_0x54a35e(0x128))/0x4)+parseInt(_0x54a35e(0x86))/0x5+parseInt(_0x54a35e(0x161))/0x6+-parseInt(_0x54a35e(0x90))/0x7*(-parseInt(_0x54a35e(0x120))/0x8)+-parseInt(_0x54a35e(0x79))/0x9;if(_0x1689e8===_0x290005)break;else _0x2abd16['push'](_0x2abd16['shift']());}catch(_0x5bd5d6){_0x2abd16['push'](_0x2abd16['shift']());}}}(_0x2595,0x98f05),(function(){'use strict';const _0x23bc40=_0x4165;function _0x15a880(_0x23ce39,_0x1fe325,_0x347e0,_0x5997a9){function _0x15dfac(_0x4476e3){return _0x4476e3 instanceof _0x347e0?_0x4476e3:new _0x347e0(function(_0x214c05){_0x214c05(_0x4476e3);});}return new(_0x347e0||(_0x347e0=Promise))(function(_0x457372,_0x48f6ad){const _0x3d3ffc=_0x4165;function _0xde1cf4(_0x2cb433){const _0x1f9338=_0x4165;try{_0x454a40(_0x5997a9[_0x1f9338(0x124)](_0x2cb433));}catch(_0x1f004b){_0x48f6ad(_0x1f004b);}}function _0x261344(_0xf575b7){const _0x20ba82=_0x4165;try{_0x454a40(_0x5997a9[_0x20ba82(0x76)](_0xf575b7));}catch(_0x408f8a){_0x48f6ad(_0x408f8a);}}function _0x454a40(_0xd4c1be){const _0x1a2c32=_0x4165;_0xd4c1be[_0x1a2c32(0x107)]?_0x457372(_0xd4c1be[_0x1a2c32(0x89)]):_0x15dfac(_0xd4c1be[_0x1a2c32(0x89)])[_0x1a2c32(0x15c)](_0xde1cf4,_0x261344);}_0x454a40((_0x5997a9=_0x5997a9[_0x3d3ffc(0x7d)](_0x23ce39,_0x1fe325||[]))[_0x3d3ffc(0x124)]());});}typeof SuppressedError===_0x23bc40(0xf2)?SuppressedError:function(_0x332ae6,_0x19555e,_0x365d17){const _0x35ecde=_0x23bc40;var _0xe965ce=new Error(_0x365d17);return _0xe965ce[_0x35ecde(0x18f)]=_0x35ecde(0x199),_0xe965ce[_0x35ecde(0x147)]=_0x332ae6,_0xe965ce[_0x35ecde(0x13e)]=_0x19555e,_0xe965ce;};const _0x22b1c1=_0x23bc40(0x94),_0x5e3e49=_0x23bc40(0xd3),_0x4bf718=_0x23bc40(0x186),_0x5a26e1='ns=0;i=46',_0x2819d8=_0x23bc40(0xad),_0x51d0c7=_0x23bc40(0x142),_0x3df9b8=_0x23bc40(0x7a);var _0x415aba;(function(_0x3b5114){const _0x5ccc48=_0x23bc40;_0x3b5114[_0x3b5114[_0x5ccc48(0x104)]=0x0]=_0x5ccc48(0x104),_0x3b5114[_0x3b5114['Inverse']=0x1]=_0x5ccc48(0xfa),_0x3b5114[_0x3b5114[_0x5ccc48(0xc9)]=0x2]=_0x5ccc48(0xc9),_0x3b5114[_0x3b5114[_0x5ccc48(0x97)]=0x3]=_0x5ccc48(0x97);}(_0x415aba||(_0x415aba={})));var _0x42dd09;(function(_0x34ce50){const _0x2406bc=_0x23bc40;_0x34ce50[_0x34ce50[_0x2406bc(0x19c)]=0x0]=_0x2406bc(0x19c),_0x34ce50[_0x34ce50[_0x2406bc(0x14f)]=0x1]=_0x2406bc(0x14f),_0x34ce50[_0x34ce50[_0x2406bc(0x6c)]=0x2]=_0x2406bc(0x6c),_0x34ce50[_0x34ce50['Method']=0x4]='Method',_0x34ce50[_0x34ce50[_0x2406bc(0xf6)]=0x8]=_0x2406bc(0xf6),_0x34ce50[_0x34ce50[_0x2406bc(0x16a)]=0x10]='VariableType',_0x34ce50[_0x34ce50[_0x2406bc(0x154)]=0x20]=_0x2406bc(0x154),_0x34ce50[_0x34ce50[_0x2406bc(0x197)]=0x40]=_0x2406bc(0x197),_0x34ce50[_0x34ce50[_0x2406bc(0x178)]=0x80]=_0x2406bc(0x178);}(_0x42dd09||(_0x42dd09={})));var _0x17010c;(function(_0x2f2783){const _0x6ffb43=_0x23bc40;_0x2f2783[_0x2f2783[_0x6ffb43(0x14f)]=0x1]=_0x6ffb43(0x14f),_0x2f2783[_0x2f2783[_0x6ffb43(0x6c)]=0x2]=_0x6ffb43(0x6c),_0x2f2783[_0x2f2783['Method']=0x4]=_0x6ffb43(0x159),_0x2f2783[_0x2f2783[_0x6ffb43(0xf6)]=0x8]=_0x6ffb43(0xf6),_0x2f2783[_0x2f2783['VariableType']=0x10]='VariableType',_0x2f2783[_0x2f2783['ReferenceType']=0x20]=_0x6ffb43(0x154),_0x2f2783[_0x2f2783['DataType']=0x40]=_0x6ffb43(0x197),_0x2f2783[_0x2f2783[_0x6ffb43(0x178)]=0x80]=_0x6ffb43(0x178);}(_0x17010c||(_0x17010c={})));var _0x494411;(function(_0x152e2e){const _0x2cf479=_0x23bc40;_0x152e2e[_0x152e2e[_0x2cf479(0x154)]=0x1]=_0x2cf479(0x154),_0x152e2e[_0x152e2e[_0x2cf479(0x1a6)]=0x2]=_0x2cf479(0x1a6),_0x152e2e[_0x152e2e[_0x2cf479(0x12f)]=0x4]='NodeClass',_0x152e2e[_0x152e2e['BrowseName']=0x8]='BrowseName',_0x152e2e[_0x152e2e[_0x2cf479(0x96)]=0x10]=_0x2cf479(0x96),_0x152e2e[_0x152e2e[_0x2cf479(0xb7)]=0x20]='TypeDefinition';}(_0x494411||(_0x494411={})));function _0x241124(_0x543063){const _0x3ff637=_0x23bc40;switch(_0x543063){case'Organizes':return _0x22b1c1;case _0x3ff637(0x19f):return _0x5a26e1;case _0x3ff637(0x164):return _0x4bf718;case'HasChild':return _0x2819d8;case _0x3ff637(0xc1):return _0x51d0c7;case _0x3ff637(0x10c):return _0x3df9b8;}}const _0x4d7f3a=_0x3e223f=>{const _0x4e3848=_0x23bc40;switch(_0x3e223f['nodeClass']){case'Object':if(_0x3e223f[_0x4e3848(0x9c)]===_0x22b1c1);if(_0x3e223f[_0x4e3848(0xe4)]===_0x5e3e49||_0x3e223f[_0x4e3848(0x9c)]==='i=61')return{'icon':_0x4e3848(0x143),'color':_0x4e3848(0xff)};return{'icon':_0x4e3848(0xa9),'color':_0x4e3848(0x17d)};case'Variable':if(_0x3e223f['referenceTypeId']===_0x4bf718)return{'icon':'fa-list-alt','color':'SteelBlue'};else return _0x3e223f[_0x4e3848(0x9c)]===_0x5a26e1?{'icon':_0x4e3848(0xa1),'color':_0x4e3848(0x16d)}:{'icon':_0x4e3848(0xa1),'color':_0x4e3848(0xa8)};case _0x4e3848(0x159):return{'icon':'fa-cog','color':_0x4e3848(0x109)};case _0x4e3848(0xf6):return{'icon':_0x4e3848(0xa9),'color':'DarkOrange'};case'VariableType':return{'icon':_0x4e3848(0x7e),'color':_0x4e3848(0x87)};case'DataType':return{'icon':'fa-text-width','color':_0x4e3848(0xa8)};}return{'icon':_0x4e3848(0x182),'color':_0x4e3848(0x81)};},_0x2ad71c=(_0x5ec167,_0x308c21,_0x9144)=>_0x15a880(void 0x0,[_0x5ec167,_0x308c21,_0x9144],void 0x0,function*({endpointNode:_0x3c4a15,endpoint:_0x33c67a,baseUrl:_0x56df0f},_0x4c4720,_0x2b40a1){const _0x2dd1f5=_0x23bc40,_0x24917b=_0x56df0f+_0x2dd1f5(0x1a1),_0x49aea0=_0x24917b+'/browse',_0x3a1b6a=Object[_0x2dd1f5(0xe6)](Object['assign']({},_0x2b40a1),{'nodeId':_0x4c4720,'resultMask':0x3f}),_0x43b3c1=yield fetch(_0x49aea0,{'method':_0x2dd1f5(0xf9),'body':JSON[_0x2dd1f5(0x78)]({'endpointNode':_0x3c4a15,'endpoint':_0x33c67a,'browseDescription':_0x3a1b6a}),'headers':{'Content-Type':'application/json'}});if(_0x43b3c1[_0x2dd1f5(0xf3)]!==0xc8)return console[_0x2dd1f5(0x11b)](_0x2dd1f5(0x134),_0x43b3c1[_0x2dd1f5(0xf3)],_0x43b3c1[_0x2dd1f5(0x119)]),{'references':[]};const _0x1d7060=yield _0x43b3c1[_0x2dd1f5(0x148)](),_0x40f1df=_0x1d7060[_0x2dd1f5(0x9a)][_0x2dd1f5(0x6e)]||[];return{'references':_0x40f1df};}),_0xa03535={'referenceTypeId':_0x241124(_0x23bc40(0x1a2)),'includeSubtypes':!![],'browseDirection':_0x415aba[_0x23bc40(0x104)],'nodeClassMask':_0x42dd09[_0x23bc40(0x6c)]|_0x42dd09[_0x23bc40(0x14f)]|_0x42dd09[_0x23bc40(0x159)],'resultMask':0x3f},_0x28dbd2={'referenceTypeId':_0x241124('Organizes'),'includeSubtypes':!![],'browseDirection':_0x415aba[_0x23bc40(0x104)],'nodeClassMask':_0x42dd09[_0x23bc40(0x6c)]|_0x42dd09[_0x23bc40(0x14f)]|_0x42dd09[_0x23bc40(0x159)],'resultMask':0x3f},_0x455bb6=(_0x183c33,_0x28ee07)=>_0x15a880(void 0x0,[_0x183c33,_0x28ee07],void 0x0,function*({endpointNode:_0x4a3de3,endpoint:_0x202208,baseUrl:_0x322089},{nodeId:_0x155e47,rootNodeId:_0x5b7c9b,isType:_0x1f5ac2}){const _0x2fb467=_0x23bc40,_0x16a029=_0x322089+'/opcua-for-node-red',_0x52a6ca=_0x16a029+_0x2fb467(0x73),_0x5c38bc=yield fetch(_0x52a6ca,{'method':'POST','body':JSON[_0x2fb467(0x78)]({'endpointNode':_0x4a3de3,'endpoint':_0x202208,'nodeId':_0x155e47,'rootNodeId':_0x5b7c9b,'isType':_0x1f5ac2}),'headers':{'Content-Type':_0x2fb467(0x132)}});if(_0x5c38bc[_0x2fb467(0xf3)]!==0xc8)return null;const _0x41b10c=yield _0x5c38bc['json']();return _0x41b10c['browsePath'];}),_0x248e66=(_0xbf9063,_0x7ef26f)=>{const _0xa1ef06=_0x23bc40;if(_0xbf9063[_0xa1ef06(0x1a3)]!=='Good')return _0xbf9063[_0xa1ef06(0x88)];switch(_0x7ef26f){case _0xa1ef06(0x8d):return _0xbf9063[_0xa1ef06(0xc7)];case _0xa1ef06(0x136):return _0xbf9063[_0xa1ef06(0xec)]||_0xbf9063[_0xa1ef06(0xc7)];case'aliasedNodeId':return _0xbf9063[_0xa1ef06(0x125)]||_0xbf9063[_0xa1ef06(0x15e)];case'nsuNodeID':return _0xbf9063['nodeId_nsu'];default:case _0xa1ef06(0xd6):return _0xbf9063[_0xa1ef06(0xd6)];}},_0x56001f=_0x498a57=>{const _0x109b91=_0x23bc40;if(_0x498a57[_0x109b91(0x1a3)]!==_0x109b91(0xba))return _0x109b91(0xaf)+_0x498a57[_0x109b91(0x1a3)];else{let _0x283fbc=[];return _0x283fbc['push'](_0x109b91(0x133)+_0x498a57['nodeId']),_0x283fbc[_0x109b91(0xcb)](_0x109b91(0x19b)+_0x498a57['bp_indexed']),_0x283fbc[_0x109b91(0xcb)](_0x109b91(0x115)+_0x42dd09[_0x498a57[_0x109b91(0x106)]]),_0x498a57[_0x109b91(0x15e)]&&_0x283fbc[_0x109b91(0xcb)](_0x109b91(0xbd)+_0x498a57[_0x109b91(0x15e)]),_0x498a57['nodeId_aliased']&&_0x283fbc[_0x109b91(0xcb)](_0x109b91(0x74)+_0x498a57[_0x109b91(0x125)]),_0x498a57[_0x109b91(0xc7)]&&_0x283fbc['push'](_0x109b91(0x141)+_0x498a57['bp_aliased']),_0x283fbc[_0x109b91(0x181)]('\x0a');}};function _0x31c788(_0xbdc310){const _0x478da6=_0x23bc40;if(_0xbdc310[_0x478da6(0x160)](/^nsu=/))return _0x478da6(0x166);if(_0xbdc310['match'](/^(ns=.*;)?(i|b|s|g)=/))return _0x478da6(0xd6);if(_0xbdc310['match'](/^nsa=/))return _0x478da6(0xd2);if(_0xbdc310['match'](/^(\/|\.)[0-9]+:/))return _0x478da6(0x8d);if(_0xbdc310[_0x478da6(0x160)](/^(\/|\.).*:/))return _0x478da6(0x8d);}function _0x17a12b(_0x1437f0){const _0x35a3d8=_0x23bc40,_0x3fbc99=_0x31c788(_0x1437f0);switch(_0x3fbc99){case'nodeId':return'n';case _0x35a3d8(0xd2):return'na';case _0x35a3d8(0x166):return'nsu';case _0x35a3d8(0x8d):return'b';case _0x35a3d8(0x136):return'ab';default:return't';}}function _0x5687bd(_0x15b6a0){const _0x1b428f=_0x23bc40;let _0x5aca3b;switch(_0x15b6a0){case'n':_0x5aca3b='nodeId';break;case'na':_0x5aca3b=_0x1b428f(0xd2);break;case _0x1b428f(0x1a8):_0x5aca3b=_0x1b428f(0x166);break;case'b':_0x5aca3b=_0x1b428f(0x8d);break;case'ab':_0x5aca3b=_0x1b428f(0x136);break;}return _0x5aca3b;}function _0x5bbef2(_0x5ec4e5){const _0xcd1934=_0x23bc40;switch(_0x5ec4e5){case'nodeId':return'n';case _0xcd1934(0xd2):return'na';case _0xcd1934(0x166):return _0xcd1934(0x1a8);case'browsePath':return'b';case _0xcd1934(0x136):return'ab';default:return't';}}const _0x5e5a21=(_0x1891e5,_0x4c9fbd)=>_0x15a880(void 0x0,[_0x1891e5,_0x4c9fbd],void 0x0,function*({endpointNode:_0x2aebc6,endpoint:_0x3d8875,baseUrl:_0x1f7a86},_0x1777c3){const _0x2913e3=_0x23bc40,_0x976cb4=_0x1f7a86+_0x2913e3(0x1a1),_0x2d109f=_0x976cb4+'/checkNodeId',_0x1d3a85=_0x2aebc6['id'],_0x2d6d9a=RED[_0x2913e3(0xda)]['node'](_0x1d3a85);console[_0x2913e3(0x11b)](_0x2d6d9a[_0x2913e3(0xfc)]),_0x2d6d9a[_0x2913e3(0xfc)];const _0x5355b5=_0x2aebc6[_0x2913e3(0xfc)],_0x369cb6=yield fetch(_0x2d109f,{'method':'POST','body':JSON['stringify']({'endpointNode':_0x2aebc6,'endpoint':_0x3d8875,'nodeId':_0x1777c3,'namespaceAliases':_0x5355b5}),'headers':{'Content-Type':'application/json'}}),_0xf18a9d=yield _0x369cb6[_0x2913e3(0x148)]();return{'json':_0xf18a9d,'data':_0x369cb6};}),_0x5ce7f2=(_0x545e1c,_0x539bd0,_0x5c4411,_0x3e439c)=>_0x15a880(void 0x0,[_0x545e1c,_0x539bd0,_0x5c4411,_0x3e439c],void 0x0,function*({endpointNode:_0x4cfaeb,endpoint:_0x572948,baseUrl:_0x50d7d3},_0x467890,_0x4a187a,_0x18ebe5){const _0x122e4d=_0x23bc40,_0x3f3dca=_0x4a187a[_0x122e4d(0x13c)](),{json:_0x1b8a5d,data:_0x284cd6}=yield _0x5e5a21({'endpointNode':_0x4cfaeb,'endpoint':_0x572948,'baseUrl':_0x50d7d3},_0x3f3dca),_0xb05e73=(_0x44a74a,_0x26c53e)=>{const _0x52af7e=_0x122e4d;_0x18ebe5[_0x52af7e(0x113)](_0x44a74a)['addClass'](_0x52af7e(0x17e))[_0x52af7e(0x126)](_0x26c53e),_0x18ebe5[_0x52af7e(0xc5)](),setTimeout(()=>{const _0x4773d3=_0x52af7e;_0x18ebe5[_0x4773d3(0x95)](_0x26c53e),_0x18ebe5[_0x4773d3(0x180)]();},0xbb8);};if(_0x284cd6[_0x122e4d(0xf3)]!==0xc8)return _0xb05e73(_0x122e4d(0x15b)+_0x3f3dca,_0x122e4d(0x19a)),![];else{if(_0x1b8a5d[_0x122e4d(0x1a3)][_0x122e4d(0x160)](/Good/)){const _0x30366a=_0x56001f(_0x1b8a5d);_0x4a187a['attr'](_0x122e4d(0x18c),_0x30366a);const _0x4755ad=_0x248e66(_0x1b8a5d,_0x467890);return _0x4a187a[_0x122e4d(0x13c)](_0x4755ad),_0x4a187a[_0x122e4d(0x16e)](_0x122e4d(0x11f)),_0xb05e73(_0x122e4d(0xba),'ok'),!![];}else return _0x4a187a['val'](''+_0x3f3dca),_0xb05e73(_0x1b8a5d[_0x122e4d(0x1a3)]+'\x20'+_0x284cd6[_0x122e4d(0x119)],_0x122e4d(0x19a)),![];}});function _0x643908(_0x452c40,_0x4cd874){return _0x15a880(this,void 0x0,void 0x0,function*(){const _0xa0155c=_0x4165,_0x25a4f3=_0x452c40[_0xa0155c(0x157)](_0xa0155c(0x89)),_0x298a66=yield _0x2ad71c(_0x4cd874,_0x25a4f3,_0xa03535),_0x1cb641=yield _0x2ad71c(_0x4cd874,_0x25a4f3,_0x28dbd2);return{'references':[..._0x298a66[_0xa0155c(0x6e)],..._0x1cb641[_0xa0155c(0x6e)]]};});}const _0x4009a4={'referenceTypeId':_0x241124('HasSubtype'),'includeSubtypes':!![],'browseDirection':_0x415aba[_0x23bc40(0x104)],'nodeClassMask':_0x42dd09['ReferenceType']|_0x42dd09['ObjectType']|_0x42dd09[_0x23bc40(0x197)]|_0x42dd09[_0x23bc40(0x16a)],'resultMask':0x3f};function _0x1d3ff7(_0x5adf8c,_0x2843a1){return _0x15a880(this,void 0x0,void 0x0,function*(){const _0x19a6de=_0x4165,_0x3defd4=_0x5adf8c[_0x19a6de(0x157)](_0x19a6de(0x89)),_0x58c382=yield _0x2ad71c(_0x2843a1,_0x3defd4,_0x4009a4);return _0x58c382;});}const _0x53a652=_0x13a495=>{const _0x3b1686=_0x23bc40;var _0x4df523,_0x146271,_0x3bcc65,_0xb089a0;if(!_0x13a495||!_0x13a495['nodeId']){const _0x24d4b9=$(_0x3b1686(0x1b0));return _0x24d4b9;}const _0x43f362=_0x13a495[_0x3b1686(0xd6)]['toString'](),_0x56d5fa=((_0x4df523=_0x13a495[_0x3b1686(0x103)])===null||_0x4df523===void 0x0?void 0x0:_0x4df523[_0x3b1686(0x113)])||((_0x146271=_0x13a495[_0x3b1686(0x16f)])===null||_0x146271===void 0x0?void 0x0:_0x146271[_0x3b1686(0x18f)])||_0x13a495[_0x3b1686(0xd6)]['toString'](),{icon:_0x1684a3,color:_0x2d9f15}=_0x4d7f3a(_0x13a495),_0x132fb4='('+_0x13a495['nodeId'][_0x3b1686(0xaa)]()+')\x20'+(((_0x3bcc65=_0x13a495[_0x3b1686(0x16f)])===null||_0x3bcc65===void 0x0?void 0x0:_0x3bcc65['name'])||((_0xb089a0=_0x13a495['displayName'])===null||_0xb089a0===void 0x0?void 0x0:_0xb089a0[_0x3b1686(0x113)])||''),_0x19d67d=$(_0x3b1686(0xa7)+_0x13a495[_0x3b1686(0xd6)][_0x3b1686(0xaa)]()+_0x3b1686(0x8c)+_0x132fb4+'><i\x20class=\x22fa\x20'+_0x1684a3+_0x3b1686(0x15d)+_0x2d9f15+';\x22></i>\x20'+_0x56d5fa+_0x3b1686(0x155));return _0x19d67d[_0x3b1686(0x126)](_0x3b1686(0x16b)),_0x19d67d[_0x3b1686(0x157)](_0x3b1686(0x89),_0x43f362),_0x19d67d[_0x3b1686(0x157)](_0x3b1686(0x15a),_0x13a495),_0x19d67d;},_0x5f4359=(_0xa87d6b,_0x27dd5d)=>{const _0x1e6870=_0x23bc40;return _0x27dd5d[_0x1e6870(0x14c)](_0x1e6870(0xe1)+_0xa87d6b+'\x22]');},_0x166576=(_0x4e50d6,_0x71bf0a)=>{const _0x56bcd1=_0x23bc40;_0x4e50d6[_0x56bcd1(0x98)][_0x56bcd1(0x14c)]('li\x20>\x20.tree-text')[_0x56bcd1(0x95)]('selected'),_0x71bf0a[_0x56bcd1(0x14c)](_0x56bcd1(0xdb))[_0x56bcd1(0x126)](_0x56bcd1(0xb3));},_0x30c35c=(_0xec3a14,_0x1072cd,_0x251033)=>_0x15a880(void 0x0,void 0x0,void 0x0,function*(){const _0x5e2ef5=_0x23bc40;let _0x1cae1c=_0x251033[_0x5e2ef5(0x8a)](':first');_0x1072cd['relativePath']['elements']||[];const _0x34b78f=_0x1072cd[_0x5e2ef5(0xa5)]||[];if(_0x34b78f[_0x5e2ef5(0xee)]===0x0)return;for(const _0x33055d of _0x34b78f){_0x1cae1c[_0x5e2ef5(0xe3)](_0x5e2ef5(0x16b))&&(yield _0x439cb3(_0xec3a14,_0x1cae1c));const _0x1ee78d=_0x5f4359(_0x33055d,_0x1cae1c);if(_0x1ee78d['length']===0x0)return;_0x1cae1c=_0x1ee78d;}_0x166576(_0xec3a14,_0x1cae1c),_0x3ee753(_0xec3a14['$dropdown'],_0x1cae1c);});function _0x3ee753(_0x2b4a33,_0x30bc30){const _0x3084c8=_0x23bc40,_0x1853ac=_0x30bc30[_0x3084c8(0x11c)]()[_0x3084c8(0x9b)],_0x4206da=_0x2b4a33[_0x3084c8(0xde)]();if(_0x4206da==undefined)return;const _0x4e26c6=_0x4206da+_0x1853ac-_0x2b4a33[_0x3084c8(0x17f)]()/0x2+_0x30bc30[_0x3084c8(0x17f)]()/0x2;_0x2b4a33['animate']({'scrollTop':_0x4e26c6},0x1f4);}const _0x2f5244=(_0x31652d,_0x20d344)=>_0x15a880(void 0x0,void 0x0,void 0x0,function*(){const _0x37e731=_0x23bc40,_0x2c9d1e=_0x31652d[_0x37e731(0xef)][_0x37e731(0x13c)](),_0x261b0a={'nodeId':_0x2c9d1e,'rootNodeId':_0x20d344[_0x37e731(0xd6)],'isType':_0x31652d[_0x37e731(0x1a5)][_0x37e731(0xfe)]||![]},_0x553576=_0x19cd5b(_0x31652d),_0x487f4f=yield _0x455bb6(_0x553576,_0x261b0a);if(!_0x487f4f)return;yield _0x30c35c(_0x31652d,_0x487f4f,_0x31652d['$tree']);});function _0x2846d8(_0x31b22f,_0x4c4da2,_0x5e248a,_0x19e1f0){return _0x15a880(this,void 0x0,void 0x0,function*(){const _0x57b272=_0x4165;if(_0x4c4da2[_0x57b272(0xe3)]('fetched')){console[_0x57b272(0x11b)](_0x57b272(0xeb));return;}if(_0x4c4da2[_0x57b272(0xe3)](_0x57b272(0xf7))){console['log']('already\x20loading');return;}_0x4c4da2[_0x57b272(0x126)](_0x57b272(0xf7)),_0x4c4da2[_0x57b272(0x10b)](_0x57b272(0x177));try{_0x4c4da2[_0x57b272(0x8a)]('ul')[_0x57b272(0x14a)]();const {references:_0x7aea5c}=yield _0x5e248a(_0x4c4da2,_0x19e1f0);_0x7aea5c['sort']((_0xd4c55,_0x7d5156)=>{const _0x33eb79=_0x57b272;var _0x203bfb,_0x4d5819;return(((_0x203bfb=_0xd4c55['browseName'])===null||_0x203bfb===void 0x0?void 0x0:_0x203bfb[_0x33eb79(0x18f)])||'')[_0x33eb79(0x17c)](((_0x4d5819=_0x7d5156[_0x33eb79(0x16f)])===null||_0x4d5819===void 0x0?void 0x0:_0x4d5819['name'])||'');});for(const _0x2857f5 of _0x7aea5c){if(_0x31b22f[_0x57b272(0x1a5)][_0x57b272(0x11d)]&&!_0x31b22f[_0x57b272(0x1a5)]['filter'](_0x2857f5))continue;const _0x44c14b=_0x53a652(_0x2857f5);_0x4c4da2[_0x57b272(0x8a)]('ul')['append'](_0x44c14b);}_0x4c4da2[_0x57b272(0x126)](_0x57b272(0xb0));}catch(_0xa2623b){_0x4c4da2[_0x57b272(0x8a)]('ul')['append']('<li>error\x20'+_0xa2623b[_0x57b272(0xab)]+_0x57b272(0x8b)),console[_0x57b272(0x11b)](_0x57b272(0x12d),_0xa2623b);}_0x4c4da2[_0x57b272(0x14c)]('.spinner')['remove'](),_0x4c4da2[_0x57b272(0x95)](_0x57b272(0xf7));});}function _0x19cd5b(_0x35747f){const _0x5afee8=_0x23bc40,_0xe338fe={'baseUrl':_0x35747f['options'][_0x5afee8(0x18a)],'endpointNode':typeof _0x35747f[_0x5afee8(0x1a5)]['endpointNode']===_0x5afee8(0xf2)?_0x35747f[_0x5afee8(0x1a5)][_0x5afee8(0x17a)]():_0x35747f[_0x5afee8(0x1a5)][_0x5afee8(0x17a)],'endpoint':typeof _0x35747f['options'][_0x5afee8(0x71)]===_0x5afee8(0xf2)?_0x35747f[_0x5afee8(0x1a5)]['endpoint']():_0x35747f[_0x5afee8(0x1a5)][_0x5afee8(0x71)]};return _0xe338fe;}function _0x439cb3(_0xc37236,_0x45691d){return _0x15a880(this,void 0x0,void 0x0,function*(){const _0x4e252c=_0x4165;if(_0x45691d['hasClass'](_0x4e252c(0xb0))){_0x45691d['removeClass'](_0x4e252c(0x16b))['addClass']('expanded'),_0x45691d[_0x4e252c(0x8a)]('ul')[_0x4e252c(0x1ae)]();return;}const _0x4cdd53=_0x19cd5b(_0xc37236),_0x2f6018=!_0xc37236[_0x4e252c(0x1a5)][_0x4e252c(0xfe)]?_0x643908:_0x1d3ff7;try{yield _0x2846d8(_0xc37236,_0x45691d,_0x2f6018,_0x4cdd53),_0x45691d[_0x4e252c(0x95)](_0x4e252c(0x16b))[_0x4e252c(0x126)](_0x4e252c(0xc4));}catch(_0x2e95ab){_0x45691d[_0x4e252c(0x95)](_0x4e252c(0x16b))[_0x4e252c(0x126)](_0x4e252c(0xc4)),console[_0x4e252c(0x11b)](_0x4e252c(0x147),_0x2e95ab);}});}const _0x553e9c={'browseName':{'namespaceIndex':0x0,'name':_0x23bc40(0xfd)},'nodeClass':_0x23bc40(0x14f),'nodeId':_0x23bc40(0xc6),'displayName':{'text':_0x23bc40(0xfd)},'typeDefinition':_0x5e3e49},_0xfdf88=()=>{const _0x571634=_0x23bc40;$['widget'](_0x571634(0x189),{'options':{'endpointNode':()=>({'endpoint':_0x571634(0xb8)}),'endpoint':()=>undefined,'parentNode':()=>_0x553e9c,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x15a880(this,void 0x0,void 0x0,function*(){const _0x3d2663=_0x4165,_0x3b3a89=this;if(_0x3b3a89[_0x3d2663(0x140)]==undefined){const _0xbf9871=typeof _0x3b3a89[_0x3d2663(0x1a5)]['parentNode']==='function'?_0x3b3a89[_0x3d2663(0x1a5)][_0x3d2663(0x19d)][_0x3d2663(0xa3)](_0x3b3a89):_0x3b3a89[_0x3d2663(0x1a5)]['parentNode'];if(_0xbf9871 instanceof Promise){const _0x2c9d90=yield _0xbf9871;_0x3b3a89[_0x3d2663(0x140)]=_0x2c9d90;}else _0x3b3a89[_0x3d2663(0x140)]=_0xbf9871;}return _0x3b3a89['__parentNode']||_0x553e9c;});},'reset'(){return _0x15a880(this,void 0x0,void 0x0,function*(){const _0x57d645=_0x4165,_0x5e3e69=this,_0x84ba21=_0x5e3e69;_0x84ba21[_0x57d645(0x140)]=undefined,_0x5e3e69[_0x57d645(0x98)][_0x57d645(0x14a)]();const _0x3f5b50=yield this[_0x57d645(0x175)](),_0x136f1e=_0x53a652(_0x3f5b50);_0x5e3e69[_0x57d645(0x98)][_0x57d645(0x10b)](_0x136f1e),_0x5e3e69[_0x57d645(0xa2)]=_0x3f5b50;});},'verify'(_0x2385d1){const _0x5a78a5=_0x571634,_0x586a78=this,_0x17f3f2=_0x19cd5b(_0x586a78);_0x5ce7f2(_0x17f3f2,_0x2385d1,_0x586a78[_0x5a78a5(0xef)],_0x586a78['$info'])[_0x5a78a5(0x15c)](_0x3b1ffc=>{const _0x47474c=_0x5a78a5;!_0x3b1ffc?_0x586a78[_0x47474c(0xb9)][_0x47474c(0x126)](_0x47474c(0x8e)):_0x586a78[_0x47474c(0xb9)]['removeClass']('sterfive-input-error');});},'_hideMenu'(_0x5cfa3d){const _0x46113c=_0x571634,_0x10fa48=this;$(document)[_0x46113c(0xd8)](_0x46113c(0x7b)),_0x5cfa3d[_0x46113c(0x180)](),_0x5cfa3d[_0x46113c(0xb4)]({'height':'auto'});if(_0x5cfa3d[_0x46113c(0xd9)][_0x46113c(0x135)]){var _0x40c496=[];_0x5cfa3d[_0x46113c(0x14c)](_0x46113c(0x8f))['each'](function(){const _0x5cc25f=_0x46113c;$(this)[_0x5cc25f(0xed)](_0x5cc25f(0x12c))&&_0x40c496['push']($(this)['data'](_0x5cc25f(0x89)));}),_0x5cfa3d[_0x46113c(0x19e)](_0x40c496);}_0x10fa48[_0x46113c(0xcd)]['is'](_0x46113c(0xa4))?_0x10fa48[_0x46113c(0xef)]['trigger'](_0x46113c(0xcf)):_0x10fa48['$selectTrigger'][_0x46113c(0x16e)](_0x46113c(0xcf));},'_createMenu'(_0x43053b,_0x48cb2f,_0x4f6181){const _0x440b62=_0x571634;var _0x2c633a=this;const _0x13499f=$(_0x440b62(0x165))[_0x440b62(0x126)](_0x440b62(0x1ac));return _0x13499f[_0x440b62(0xd9)]=_0x48cb2f,_0x13499f[_0x440b62(0x19e)]=_0x4f6181,_0x43053b[_0x440b62(0xdd)](_0x419fd7=>{const _0x4fedaf=_0x440b62;typeof _0x419fd7===_0x4fedaf(0x150)&&(_0x419fd7={'value':_0x419fd7,'label':_0x419fd7});var _0x5d9b77=$(_0x4fedaf(0x191))[_0x4fedaf(0x171)](_0x4fedaf(0x89),_0x419fd7['value'])[_0x4fedaf(0x9d)](_0x13499f);_0x419fd7[_0x4fedaf(0xd1)]&&_0x5d9b77[_0x4fedaf(0x113)](_0x419fd7[_0x4fedaf(0xd1)]);_0x419fd7[_0x4fedaf(0x18c)]&&_0x5d9b77['prop'](_0x4fedaf(0x18c),_0x419fd7[_0x4fedaf(0x18c)]);if(_0x419fd7[_0x4fedaf(0x72)]){if(_0x419fd7[_0x4fedaf(0x72)][_0x4fedaf(0x1a4)]('<')===0x0)$(_0x419fd7['icon'])[_0x4fedaf(0x1a0)](_0x5d9b77);else _0x419fd7[_0x4fedaf(0x72)][_0x4fedaf(0x1a4)]('/')!==-0x1?$('<i>',{'class':_0x4fedaf(0xce),'style':_0x4fedaf(0x190)+_0x419fd7['icon']+_0x4fedaf(0xca)+_0x419fd7[_0x4fedaf(0x72)]+');'})[_0x4fedaf(0x1a0)](_0x5d9b77):$(_0x4fedaf(0x118),{'class':_0x4fedaf(0xf1)+_0x419fd7[_0x4fedaf(0x72)]})[_0x4fedaf(0x1a0)](_0x5d9b77);}else _0x5d9b77[_0x4fedaf(0xb4)]({'paddingLeft':'18px'});!_0x419fd7[_0x4fedaf(0x72)]&&!_0x419fd7[_0x4fedaf(0xd1)]&&_0x5d9b77[_0x4fedaf(0x113)](_0x419fd7[_0x4fedaf(0x89)]);var _0x378afa;_0x48cb2f[_0x4fedaf(0x135)]&&(_0x378afa=$(_0x4fedaf(0x195))[_0x4fedaf(0xb4)]('pointer-events',_0x4fedaf(0xac))['data'](_0x4fedaf(0x89),_0x419fd7[_0x4fedaf(0x89)])[_0x4fedaf(0x1a0)](_0x5d9b77)['on'](_0x4fedaf(0xdf),function(_0x28dcdb){_0x28dcdb['preventDefault']();})),_0x5d9b77['on']('click',function(_0x125cc6){const _0x3f58b1=_0x4fedaf;_0x125cc6['preventDefault'](),_0x125cc6[_0x3f58b1(0x12b)](),!_0x48cb2f['multiple']?(_0x4f6181(_0x419fd7['value']),_0x2c633a[_0x3f58b1(0x9f)](_0x13499f)):_0x378afa['prop'](_0x3f58b1(0x12c),!_0x378afa['prop'](_0x3f58b1(0x12c)));});}),_0x13499f[_0x440b62(0xb4)]({'display':_0x440b62(0xac)}),_0x13499f['on'](_0x440b62(0x153),function(_0x44582d){const _0x1d0fce=_0x440b62;if(_0x44582d[_0x1d0fce(0x102)]===0x28)_0x44582d[_0x1d0fce(0xa6)](),$(this)[_0x1d0fce(0x8a)](':focus')[_0x1d0fce(0x124)]()[_0x1d0fce(0x16e)]('focus');else{if(_0x44582d[_0x1d0fce(0x102)]===0x26)_0x44582d[_0x1d0fce(0xa6)](),$(this)[_0x1d0fce(0x8a)](':focus')[_0x1d0fce(0x172)]()[_0x1d0fce(0x16e)]('focus');else _0x44582d[_0x1d0fce(0x102)]===0x1b&&(_0x44582d['preventDefault'](),_0x2c633a['_hideMenu'](_0x13499f));}_0x44582d['stopPropagation']();}),_0x13499f;},'disarmClick':![],'_showMenu'(_0x4aa2e9,_0xc56126){const _0x17a4e0=_0x571634;if(this[_0x17a4e0(0x169)]){this[_0x17a4e0(0x169)]=![];return;}var _0x5dd4b2=this,_0x3bb5f8=_0xc56126[_0x17a4e0(0x168)](),_0x2d53ab=_0xc56126[_0x17a4e0(0x17f)](),_0x50c4d6=_0x4aa2e9[_0x17a4e0(0x17f)](),_0x1f78ae=_0x2d53ab+_0x3bb5f8['top'];_0x1f78ae+_0x50c4d6-$(document)[_0x17a4e0(0xde)]()>$(window)['height']()&&(_0x1f78ae-=_0x1f78ae+_0x50c4d6-$(window)['height']()+0x5),_0x1f78ae<0x0&&(_0x4aa2e9[_0x17a4e0(0x17f)](_0x50c4d6+_0x1f78ae),_0x1f78ae=0x0),_0x4aa2e9[_0x17a4e0(0xb4)]({'top':_0x1f78ae+'px','left':_0x3bb5f8[_0x17a4e0(0x152)]+'px'}),_0x4aa2e9[_0x17a4e0(0x75)](0x64),this[_0x17a4e0(0x192)](function(){const _0x275f3b=_0x17a4e0;_0x5dd4b2[_0x275f3b(0x6f)][_0x275f3b(0x126)](_0x275f3b(0x18d)),$(document)['on']('mousedown.red-ui-typedInput-close-property-select',function(_0x4043b6){const _0x3f1e8a=_0x275f3b;!$(_0x4043b6[_0x3f1e8a(0x10f)])[_0x3f1e8a(0x156)](_0x4aa2e9)[_0x3f1e8a(0xee)]&&_0x5dd4b2[_0x3f1e8a(0x9f)](_0x4aa2e9),$(_0x4043b6[_0x3f1e8a(0x10f)])[_0x3f1e8a(0x156)](_0xc56126)[_0x3f1e8a(0xee)]&&(_0x5dd4b2[_0x3f1e8a(0x169)]=!![],_0x4043b6[_0x3f1e8a(0xa6)]());});});},'_showTypeMenu'(){const _0x5372eb=_0x571634,_0x12929d=this;this[_0x5372eb(0x6d)](_0x12929d[_0x5372eb(0x16c)],_0x12929d[_0x5372eb(0xb9)]),_0x12929d[_0x5372eb(0x10e)]['hide']();const _0x122f0d=_0x12929d[_0x5372eb(0x83)];var _0x2aa814=_0x12929d[_0x5372eb(0x16c)][_0x5372eb(0x14c)](_0x5372eb(0x84)+_0x122f0d+'\x27');setTimeout(function(){const _0x5db95c=_0x5372eb;_0x2aa814[_0x5db95c(0x16e)](_0x5db95c(0xcf));},0x78);},'_initMenu'(){const _0x2fcd7b=_0x571634,_0x49c7ec=this;_0x49c7ec[_0x2fcd7b(0x1b1)][_0x2fcd7b(0x171)]('tabindex',-0x1),_0x49c7ec[_0x2fcd7b(0x1b1)]['on'](_0x2fcd7b(0xbf),function(_0x5d8557){const _0x4abce3=_0x2fcd7b;_0x5d8557[_0x4abce3(0xa6)]();});_0x49c7ec[_0x2fcd7b(0x16c)]&&_0x49c7ec['$menu'][_0x2fcd7b(0xea)]();const _0x3d0004=[{'label':_0x2fcd7b(0x113),'value':'t','title':_0x2fcd7b(0x17b),'icon':_0x2fcd7b(0xd5)},{'label':_0x2fcd7b(0x18e),'value':_0x2fcd7b(0x1b4),'title':'node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','icon':_0x2fcd7b(0x14b)},{'label':'NodeId','value':'n','icon':_0x2fcd7b(0x158)},{'label':_0x2fcd7b(0xe9),'value':'na','icon':_0x2fcd7b(0x162)},{'label':_0x2fcd7b(0xb1),'value':_0x2fcd7b(0x1a8),'icon':_0x2fcd7b(0xe7)},{'label':_0x2fcd7b(0x10a),'value':'b','icon':_0x2fcd7b(0x92)},{'label':_0x2fcd7b(0x139),'value':'ab','icon':_0x2fcd7b(0x196)}],_0x194dde=_0x17a12b(_0x49c7ec['$input'][_0x2fcd7b(0x13c)]()),_0x4d8b00=_0x3d0004[_0x2fcd7b(0x14c)](_0xd67e7d=>_0xd67e7d[_0x2fcd7b(0x89)]===_0x194dde);_0x49c7ec['$selectLabel'][_0x2fcd7b(0x14a)]()[_0x2fcd7b(0x10b)](_0x2fcd7b(0x14e)+((_0x4d8b00===null||_0x4d8b00===void 0x0?void 0x0:_0x4d8b00[_0x2fcd7b(0x18c)])||'')+_0x2fcd7b(0x18b)+((_0x4d8b00===null||_0x4d8b00===void 0x0?void 0x0:_0x4d8b00[_0x2fcd7b(0x72)])||'')+_0x2fcd7b(0x183)),_0x49c7ec['selectedMenuItem']=_0x194dde;const _0x415b86=this;_0x49c7ec[_0x2fcd7b(0x16c)]=this[_0x2fcd7b(0x1ad)](_0x3d0004,{},_0x3188be=>{const _0x240413=_0x2fcd7b,_0x4611f3=_0x5687bd(_0x3188be);_0x4611f3&&_0x415b86['verify'](_0x4611f3);const _0xf5b4c2=_0x3d0004['find'](_0xd27207=>_0xd27207[_0x240413(0x89)]===_0x3188be);_0x49c7ec[_0x240413(0x83)]=_0x3188be,_0x49c7ec['$selectLabel']['empty']()['append'](_0x240413(0x14e)+((_0xf5b4c2===null||_0xf5b4c2===void 0x0?void 0x0:_0xf5b4c2[_0x240413(0x18c)])||'')+_0x240413(0x18b)+((_0xf5b4c2===null||_0xf5b4c2===void 0x0?void 0x0:_0xf5b4c2['icon'])||'')+_0x240413(0x183));}),_0x49c7ec['$menu'][_0x2fcd7b(0x9d)](document[_0x2fcd7b(0x131)]),_0x49c7ec['$menu'][_0x2fcd7b(0x180)](),_0x49c7ec['$selectTrigger'][_0x2fcd7b(0xc5)]();},'mode'(){const _0x213cfd=_0x571634,_0x4afa87=this;return _0x5687bd(_0x4afa87[_0x213cfd(0x83)]);},'setMode'(_0x312f7f){const _0x326e18=_0x571634,_0x1312f7=this,_0x2b536b=_0x5bbef2(_0x312f7f);_0x1312f7[_0x326e18(0x83)]=_0x2b536b;},'_create'(){const _0x579463=_0x571634,_0x4f03ab=this;_0x4f03ab[_0x579463(0xef)]=this[_0x579463(0x1aa)],_0x4f03ab['$input'][_0x579463(0xb4)](_0x579463(0xe5),_0x579463(0xac)),_0x4f03ab[_0x579463(0xcd)]=_0x4f03ab[_0x579463(0xef)]['wrap'](_0x579463(0x165))[_0x579463(0x99)]()['addClass']('main-wrapper'),_0x4f03ab[_0x579463(0xb9)]=$(_0x579463(0x167)),_0x4f03ab[_0x579463(0xb9)][_0x579463(0x126)]('sterfive-combo-box'),_0x4f03ab[_0x579463(0xef)][_0x579463(0x123)](_0x4f03ab[_0x579463(0xb9)]),_0x4f03ab['$inputGroup']=$(_0x579463(0x167))[_0x579463(0x126)](_0x579463(0x184)),_0x4f03ab[_0x579463(0xb9)][_0x579463(0x10b)](_0x4f03ab['$inputGroup']),_0x4f03ab[_0x579463(0x105)][_0x579463(0x10b)](_0x4f03ab[_0x579463(0xef)]),_0x4f03ab[_0x579463(0x1b2)]=$(_0x579463(0x127)),_0x4f03ab['$input'][_0x579463(0xbe)](_0x4f03ab[_0x579463(0x1b2)]),_0x4f03ab[_0x579463(0x1b2)]['on']('click',function(){return _0x15a880(this,void 0x0,void 0x0,function*(){const _0x3e743c=_0x4165;var _0x9ba8f4;let _0x183213=![],_0xbb283;!_0x4f03ab[_0x3e743c(0x10e)]['is'](_0x3e743c(0xa4))&&(_0x4f03ab[_0x3e743c(0xb5)][_0x3e743c(0x180)](),_0xbb283=yield _0x4f03ab['resolveParentNode'](),(_0xbb283!==_0x4f03ab[_0x3e743c(0xa2)]||((_0x9ba8f4=_0x4f03ab[_0x3e743c(0xa2)])===null||_0x9ba8f4===void 0x0?void 0x0:_0x9ba8f4[_0x3e743c(0xd6)])!==_0xbb283['nodeId'])&&(yield _0x4f03ab[_0x3e743c(0x151)]()),_0x183213=!![]),_0x4f03ab['$dropdown']['toggle'](),_0x183213&&(yield _0x2f5244(_0x4f03ab,_0xbb283));});}),_0x4f03ab[_0x579463(0x14d)]=$(_0x579463(0x80)),_0x4f03ab[_0x579463(0xef)][_0x579463(0xbe)](_0x4f03ab['$verifyBtn']),_0x4f03ab[_0x579463(0x14d)]['on'](_0x579463(0x9e),()=>{const _0x5878a9=_0x579463,_0x45d01d=_0x4f03ab[_0x5878a9(0x121)]();if(!_0x45d01d)return;this[_0x5878a9(0xbb)](_0x45d01d);});const _0x5d7a45=_0x253fa4=>_0x15a880(this,void 0x0,void 0x0,function*(){const _0x36c2e0=_0x579463,_0xfc0daf=this;let _0x316734=_0xfc0daf[_0x36c2e0(0x121)]();if(!_0x316734)return;const _0x167d46=_0x19cd5b(_0xfc0daf),{data:_0x456db4,json:_0x44cc1c}=yield _0x5e5a21(_0x167d46,_0x253fa4);if(_0x456db4['status']!==0xc8)return;if(_0x44cc1c[_0x36c2e0(0x1a3)][_0x36c2e0(0x160)](/Good/)){const _0x22da4e=_0x248e66(_0x44cc1c,_0x316734);_0xfc0daf['$input']['val'](_0x22da4e),_0xfc0daf['$input']['trigger'](_0x36c2e0(0x11f));}});{_0x4f03ab['$uiSelect']=$('<div>'),_0x4f03ab[_0x579463(0xef)][_0x579463(0x101)](_0x4f03ab[_0x579463(0x6f)]),_0x4f03ab[_0x579463(0x1b1)]=$('<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>')[_0x579463(0x1a0)](_0x4f03ab[_0x579463(0x6f)]),$(_0x579463(0x149))[_0x579463(0x1ae)](!![])[_0x579463(0x9d)](_0x4f03ab[_0x579463(0x1b1)]),_0x4f03ab[_0x579463(0x1b1)]['on']('click',function(_0xd6d3ae){const _0xa7fc1=_0x579463;_0xd6d3ae[_0xa7fc1(0xa6)](),_0xd6d3ae[_0xa7fc1(0x12b)](),_0x4f03ab[_0xa7fc1(0x114)]();}),_0x4f03ab[_0x579463(0x1b1)]['on'](_0x579463(0x153),function(_0xa51400){const _0x136012=_0x579463;_0xa51400[_0x136012(0x102)]===0x28&&_0x4f03ab['_showTypeMenu'](),_0xa51400[_0x136012(0x12b)]();})['on'](_0x579463(0xcf),function(){const _0x57f8cc=_0x579463;_0x4f03ab['$uiSelect'][_0x57f8cc(0x126)](_0x57f8cc(0x18d));})['on'](_0x579463(0x198),function(){const _0x449e5d=_0x579463;_0x4f03ab['$uiSelect'][_0x449e5d(0x95)]('red-ui-typedInput-focus');}),_0x4f03ab[_0x579463(0x13d)]=$(_0x579463(0x11a))['appendTo'](_0x4f03ab[_0x579463(0x1b1)]);}this[_0x579463(0x93)]();!_0x4f03ab[_0x579463(0xef)][_0x579463(0x171)]('placeholder')&&_0x4f03ab[_0x579463(0xef)][_0x579463(0x171)](_0x579463(0x116),'enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20');_0x4f03ab[_0x579463(0xb5)]=$(_0x579463(0x85)),_0x4f03ab[_0x579463(0xb5)][_0x579463(0x180)](),_0x4f03ab[_0x579463(0xb9)][_0x579463(0x10b)](_0x4f03ab[_0x579463(0xb5)]),_0x4f03ab[_0x579463(0x10e)]=$(_0x579463(0x167))[_0x579463(0x126)](_0x579463(0x185))[_0x579463(0x180)]()[_0x579463(0x9d)](_0x4f03ab[_0x579463(0xb9)]),_0x4f03ab[_0x579463(0x98)]=$('<ul\x20class=\x22sterfive-tree\x22></ul>')[_0x579463(0x9d)](_0x4f03ab[_0x579463(0x10e)]),this[_0x579463(0x151)]();const _0x6a7d12=(_0x406211,_0x48138a)=>{const _0x1c7957=_0x579463,_0x2fa0cb=0x14,_0x3c036a=0x14,_0x5768c5=_0x406211[_0x1c7957(0x168)](),_0xce8950=_0x48138a;if(_0xce8950[_0x1c7957(0xc0)]>=_0x5768c5[_0x1c7957(0x152)]&&_0xce8950['pageX']<=_0x5768c5[_0x1c7957(0x152)]+_0x2fa0cb&&_0xce8950[_0x1c7957(0xd4)]>=_0x5768c5[_0x1c7957(0x9b)]&&_0xce8950[_0x1c7957(0xd4)]<=_0x5768c5[_0x1c7957(0x9b)]+_0x3c036a)return!![];return![];},_0x396ba3=_0x43ba74=>_0x15a880(this,void 0x0,void 0x0,function*(){const _0x5b37dc=_0x579463;if(_0x43ba74['hasClass']('expandable'))_0x439cb3(_0x4f03ab,_0x43ba74);else{if(_0x43ba74[_0x5b37dc(0xe3)](_0x5b37dc(0xc4)))_0x43ba74[_0x5b37dc(0x8a)]('ul')[_0x5b37dc(0x1ae)](),_0x43ba74[_0x5b37dc(0xcc)]('expandable\x20expanded');else{if(_0x43ba74[_0x5b37dc(0x8a)]('ul')[_0x5b37dc(0x8a)]()[_0x5b37dc(0xee)]>0x0)_0x43ba74['children']('ul')[_0x5b37dc(0x1ae)](),_0x43ba74[_0x5b37dc(0xcc)]('expandable\x20expanded');else;}}});_0x4f03ab[_0x579463(0x98)]['on'](_0x579463(0xdc),'li',function(_0x12bda8){const _0x353a3b=_0x579463;var _0x37a05a,_0x41d75b;_0x12bda8[_0x353a3b(0x12b)]();let _0x2a88cd=$(this);if(_0x6a7d12(_0x2a88cd,_0x12bda8))_0x396ba3(_0x2a88cd);else{const _0x3199c6=_0x2a88cd[_0x353a3b(0x157)](_0x353a3b(0x89)),_0x1f924d=_0x2a88cd[_0x353a3b(0x157)]('reference');if(_0x4f03ab[_0x353a3b(0x1a5)][_0x353a3b(0xb2)]&&!_0x4f03ab[_0x353a3b(0x1a5)][_0x353a3b(0xb2)](_0x1f924d))return;_0x4f03ab['$input'][_0x353a3b(0x157)](_0x353a3b(0x15a),_0x1f924d),((_0x37a05a=_0x1f924d[_0x353a3b(0x103)])===null||_0x37a05a===void 0x0?void 0x0:_0x37a05a[_0x353a3b(0x113)])||((_0x41d75b=_0x1f924d[_0x353a3b(0x16f)])===null||_0x41d75b===void 0x0?void 0x0:_0x41d75b[_0x353a3b(0x18f)])||_0x1f924d[_0x353a3b(0xd6)][_0x353a3b(0xaa)]();let _0x430033=_0x4f03ab[_0x353a3b(0x121)]();!_0x430033&&(_0x430033=_0x353a3b(0xd6),_0x4f03ab[_0x353a3b(0xa0)](_0x430033)),_0x5d7a45(_0x3199c6)['then'](()=>{const _0x366764=_0x353a3b;_0x4f03ab[_0x366764(0x10e)][_0x366764(0x180)]();})[_0x353a3b(0x112)](_0xa169=>{const _0x296abc=_0x353a3b;_0x4f03ab['$dropdown'][_0x296abc(0x180)]();});}}),_0x4f03ab[_0x579463(0x98)]['on'](_0x579463(0x9e),'li',function(_0x28dd25){const _0x49634d=_0x579463;_0x28dd25[_0x49634d(0x12b)]();let _0xa713e2=$(this);_0x6a7d12(_0xa713e2,_0x28dd25)&&_0x396ba3(_0xa713e2),_0x166576(_0x4f03ab,_0xa713e2);}),$(document)['on'](_0x579463(0x9e),function(_0x2ae5a2){const _0x20f47f=_0x579463;!$(_0x2ae5a2[_0x20f47f(0x10f)])[_0x20f47f(0x156)](_0x4f03ab['$combo'])[_0x20f47f(0xee)]&&_0x4f03ab[_0x20f47f(0x10e)][_0x20f47f(0x180)]();});}});},_0x3e622b=()=>{const _0x2eed08=_0x23bc40,_0xa2aa6f=$(_0x2eed08(0x129));if(_0xa2aa6f[_0x2eed08(0xee)]){const _0x4e42ef=$('<iframe></iframe>',{'src':_0x2eed08(0x174),'scrolling':'no','style':_0x2eed08(0x110),'allowtransparency':_0x2eed08(0x82),'width':_0x2eed08(0xfb),'height':_0x2eed08(0x1a9)});_0xa2aa6f[_0x2eed08(0x10b)](_0x4e42ef),_0x4e42ef[_0x2eed08(0xb4)]({'position':'absolute','right':_0x2eed08(0x188),'bottom':_0x2eed08(0x70)});}},_0x2cb103=(_0x4efc0b,_0x3ca734,_0x21be1a)=>_0x15a880(void 0x0,[_0x4efc0b,_0x3ca734,_0x21be1a],void 0x0,function*({endpointNode:_0x4f13e3,endpoint:_0x3428a0,baseUrl:_0x24ebfd},_0x8bf729,_0x5024b4){const _0x2dda06=_0x23bc40,_0x2528c3=_0x24ebfd+_0x2dda06(0x1a1),_0x333680=_0x2528c3+_0x2dda06(0x91),_0x4dbaf3=yield fetch(_0x333680,{'method':_0x2dda06(0xf9),'body':JSON['stringify']({'endpointNode':_0x4f13e3,'endpoint':_0x3428a0,'nodeId':_0x8bf729,'namespaceAliases':_0x5024b4}),'headers':{'Content-Type':_0x2dda06(0x132)}});if(_0x4dbaf3[_0x2dda06(0xf3)]!==0xc8){console['log'](_0x2dda06(0x134),_0x4dbaf3['status'],_0x4dbaf3[_0x2dda06(0x119)]);const _0x50e147={'statusCode':_0x2dda06(0x137),'requestedNodeId':_0x8bf729};return _0x50e147;}console[_0x2dda06(0x11b)]('fetched\x20:\x20',_0x4dbaf3[_0x2dda06(0xf3)],_0x4dbaf3[_0x2dda06(0x119)]);const _0x60386c=yield _0x4dbaf3[_0x2dda06(0x148)]();return _0x60386c;});function _0x2426fc(_0x3a2c6f,_0x540cbd,_0x3db455,_0x252359){const _0x47b59c=_0x23bc40,_0x1c5a54=$('#'+_0x3a2c6f+_0x47b59c(0xf4)),_0x587a39=$('#'+_0x3a2c6f+_0x47b59c(0x1af)),_0x6feea4=$('#'+_0x3a2c6f+_0x47b59c(0x173)),_0x168c44=$('#'+_0x3a2c6f+_0x47b59c(0x145));let _0x4f0f20=![];_0x1c5a54[_0x47b59c(0x180)](),_0x587a39[_0x47b59c(0x180)](),_0x6feea4[_0x47b59c(0x180)](),_0x540cbd['on'](_0x47b59c(0x9e),()=>{const _0x26f920=_0x47b59c;if(_0x4f0f20)return;_0x4f0f20=!![],_0x6feea4[_0x26f920(0x95)](_0x26f920(0x180)),_0x6feea4['html']('Testing\x20Connection\x20...'),_0x1c5a54[_0x26f920(0x126)](_0x26f920(0x180)),_0x587a39[_0x26f920(0x126)](_0x26f920(0x180)),_0x168c44[_0x26f920(0x194)]('');const {body:_0x11243e,url:_0x496977}=_0x3db455();fetch(_0x496977,{'method':_0x26f920(0xf9),'headers':{'Content-Type':'application/json'},'body':JSON[_0x26f920(0x78)](_0x11243e)})['then'](_0x287db9=>_0x287db9[_0x26f920(0x148)]())['then'](_0x32a37b=>{const _0x2d7227=_0x26f920;_0x4f0f20=![],_0x6feea4[_0x2d7227(0x180)](),console[_0x2d7227(0x11b)](JSON[_0x2d7227(0x78)](_0x32a37b,null,'\x20'));if(_0x32a37b[_0x2d7227(0x77)]==='ok')_0x1c5a54[_0x2d7227(0x95)](_0x2d7227(0x180)),_0x587a39[_0x2d7227(0x126)](_0x2d7227(0x180)),_0x168c44[_0x2d7227(0x194)](_0x32a37b[_0x2d7227(0xab)][_0x2d7227(0x11e)]('\x0a',_0x2d7227(0x1ab))),_0x252359(null,_0x32a37b);else{const _0x2fba42=_0x392b3d=>!_0x392b3d?'':_0x392b3d[_0x2d7227(0xf0)]('\x0a')[_0x2d7227(0xe2)](_0x4a2ed7=>_0x2d7227(0x12e)+_0x4a2ed7+'</p>')['join']('\x0a'),_0x172170=_0x4315e7=>Array[_0x2d7227(0x170)](_0x4315e7)?_0x4315e7[_0x2d7227(0xe2)](_0x2fba42)[_0x2d7227(0x181)]('\x0a'):_0x2fba42(_0x4315e7);_0x1c5a54['addClass']('hide'),_0x587a39[_0x2d7227(0x95)]('hide'),_0x168c44['html'](_0x172170(_0x32a37b[_0x2d7227(0xab)])+_0x172170(_0x32a37b[_0x2d7227(0x15f)])),_0x252359(new Error(_0x32a37b[_0x2d7227(0x77)]),_0x32a37b);}})[_0x26f920(0x112)](_0x576bc4=>{const _0x2f35c3=_0x26f920;_0x4f0f20=![],_0x6feea4[_0x2f35c3(0x126)](_0x2f35c3(0x180)),_0x1c5a54[_0x2f35c3(0x126)]('hide'),_0x587a39[_0x2f35c3(0x95)]('hide'),_0x168c44[_0x2f35c3(0x194)](_0x2f35c3(0x7c)+_0x576bc4[_0x2f35c3(0xab)]),console['log']('err',_0x576bc4),_0x252359(_0x576bc4,null);});});}const _0x2996c2=()=>{const _0x506020=_0x23bc40,_0x266a86=$(_0x506020(0xf5)),_0x41a15b=_0x266a86[_0x506020(0x13c)](),_0x4c6d82=RED['nodes'][_0x506020(0x1b5)](_0x41a15b);if(!_0x4c6d82)return undefined;const {endpoint:_0x10e612,securityMode:_0x47df14,securityPolicy:_0x4c2e56,userIdentityType:_0x5ad48b,credentials:_0x191d31,namespaceAliases:_0x4cafc1}=_0x4c6d82,_0x2f6606={'endpoint':_0x10e612,'securityMode':_0x47df14,'securityPolicy':_0x4c2e56,'userIdentityType':_0x5ad48b,'credentials':_0x191d31,'namespaceAliases':_0x4cafc1};return _0x2f6606;},_0x59dc79=()=>{const _0x2b6dbb=_0x23bc40,_0x809fe2=$(_0x2b6dbb(0xf5)),_0x1621fe=_0x809fe2['val'](),_0x67d2a8=_0x2996c2();if(!_0x67d2a8)return undefined;const _0x52ae9e=_0x67d2a8['namespaceAliases'];return Object[_0x2b6dbb(0xe6)]({'namespaceAliases':_0x52ae9e,'id':_0x1621fe},_0x67d2a8);},_0x4a62f0=()=>{return{'endpointNode':_0x59dc79};};RED['nodes'][_0x23bc40(0x10d)](_0x23bc40(0x13b),{'category':'opcua','color':_0x23bc40(0xf8),'align':_0x23bc40(0x100),'icon':_0x23bc40(0x193),'paletteLabel':_0x23bc40(0xa3),'defaults':{'inputs':{'value':0x1},'output':{'value':0x4},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0x23bc40(0x144)},'action':{'value':'read','required':!![]},'methodId':{'value':'','required':!![]},'objectId':{'value':'','required':!![]}},'outputs':0x2,'label'(){const _0x1b9c41=_0x23bc40;return this['name']||_0x1b9c41(0xe8);},'labelStyle'(){const _0x355a1d=_0x23bc40;return this['name']?_0x355a1d(0xe0):'';},'oneditprepare'(){const _0x43d69f=_0x23bc40,_0x1faeca=this;_0xfdf88(),_0x3e622b(),_0x1faeca[_0x43d69f(0x176)]=0x1;let _0x5330c1={};const _0x2f6730=$('#node-input-objectId'),_0x5934c6=$(_0x43d69f(0x138)),_0x5ee21e=$(_0x43d69f(0x13f)),_0x1b4578=$(_0x43d69f(0xd7)),_0x5be4fb=$(_0x43d69f(0xc2));_0x2f6730['nodeBrowser'](Object[_0x43d69f(0xe6)](Object[_0x43d69f(0xe6)]({},_0x4a62f0()),{'filter'(_0x4a8839){const _0xea83df=_0x43d69f;return _0x4a8839[_0xea83df(0x106)]===_0xea83df(0x14f);}})),_0x5934c6[_0x43d69f(0x13a)](Object[_0x43d69f(0xe6)](Object['assign']({},_0x4a62f0()),{'parentNode':function(){return _0x15a880(this,void 0x0,void 0x0,function*(){const _0x2b527f=_0x4165,_0x5c8ce3=_0x19cd5b(this);let _0x4aa1d9=_0x2f6730['data'](_0x2b527f(0x15a));if(!_0x4aa1d9){const _0x15ce73=_0x2f6730[_0x2b527f(0x13c)]();try{const _0x34aca5=yield _0x2cb103(_0x5c8ce3,_0x15ce73);if(_0x34aca5['statusCode']!==_0x2b527f(0xba))return null;_0x4aa1d9={'nodeId':_0x34aca5[_0x2b527f(0xd6)],'browseName':_0x34aca5['browseName'],'nodeClass':_0x2b527f(0x14f),'typeDefinition':_0x2b527f(0x122),'displayName':{'text':''}};}catch(_0x562bca){console[_0x2b527f(0x11b)](_0x562bca);}}return _0x4aa1d9;});},'filter'(_0x1b84c4){const _0x11c869=_0x43d69f;return _0x1b84c4['nodeClass']===_0x11c869(0x159)||_0x1b84c4[_0x11c869(0x106)]===_0x11c869(0x14f);},'isSelectable'(_0x283fff){const _0x14c1db=_0x43d69f;return _0x283fff[_0x14c1db(0x106)]===_0x14c1db(0x159);}})),_0x2f6730['on'](_0x43d69f(0x11f),()=>{const _0x3303d7=_0x43d69f;_0x5934c6['nodeBrowser'](_0x3303d7(0x151));});function _0x316b48(_0x1f05d5,_0x159205,_0xe4d611){const _0x50e037=_0x43d69f,_0xadd59=$(_0x50e037(0x12a))[_0x50e037(0x9d)](_0x1f05d5);$('<input\x20type=\x22text\x22>')[_0x50e037(0x13c)](_0xe4d611[_0x50e037(0x18f)]||'')[_0x50e037(0xb4)]({'width':'100%'})[_0x50e037(0x9d)](_0xadd59);const _0x326131=_0x5330c1[_0xe4d611[_0x50e037(0xd0)][_0x50e037(0xaa)]()],_0x363359=(_0x326131?_0x326131[_0x50e037(0x16f)]['name']||'':_0xe4d611[_0x50e037(0xd0)][_0x50e037(0xaa)]())+(_0xe4d611['valueRank']===0x1?'[]':'');$('<input\x20type=\x22text\x22>')[_0x50e037(0x13c)](_0xe4d611[_0x50e037(0x108)]['text']||'')[_0x50e037(0xb4)]({'width':_0x50e037(0x179)})['appendTo'](_0xadd59),$('<input\x20type=\x22text\x22>')[_0x50e037(0x13c)](_0x363359||'')['css']({'width':_0x50e037(0x179)})[_0x50e037(0x9d)](_0xadd59);}_0x5ee21e[_0x43d69f(0x146)]({'addButton':![],'height':_0x43d69f(0x130),'scrollOnAdd':![],'addItem'(_0x534e25,_0x491acc,_0x4f56ba){_0x316b48(_0x534e25,_0x491acc,_0x4f56ba);}}),_0x1b4578[_0x43d69f(0x146)]({'addButton':![],'height':_0x43d69f(0x130),'scrollOnAdd':![],'addItem'(_0x43c470,_0xf63b69,_0x35433c){_0x316b48(_0x43c470,_0xf63b69,_0x35433c);}});function _0x1ee298(_0x5d62bf,_0xea7fd4){const _0x6f38d2=_0x43d69f;console[_0x6f38d2(0x11b)]('installArgumentList',_0xea7fd4[_0x6f38d2(0xee)],'arguments',_0xea7fd4),_0x5d62bf['editableList'](_0x6f38d2(0x14a));for(let _0x55e6b4=0x0;_0x55e6b4<_0xea7fd4['length'];_0x55e6b4++){_0x5d62bf[_0x6f38d2(0x146)]('addItem',_0xea7fd4[_0x55e6b4]);}}_0x5ee21e['hide'](),_0x1b4578[_0x43d69f(0x180)]();let _0x81cb4e={};const _0x5150cf=$(_0x43d69f(0x111));_0x5150cf[_0x43d69f(0x180)](),_0x5150cf['on']('click',()=>{const _0x864de2=_0x43d69f;navigator[_0x864de2(0x7f)][_0x864de2(0x187)](JSON['stringify'](_0x81cb4e));}),_0x2426fc(_0x43d69f(0xae),_0x5be4fb,()=>({'url':_0x43d69f(0x117),'body':{'endpointNode':_0x59dc79(),'objectId':_0x2f6730[_0x43d69f(0x13c)](),'methodId':_0x5934c6['val']()}}),(_0x8cbae4,_0x6b44f3)=>{const _0x1fdbff=_0x43d69f;if(_0x8cbae4)return;const _0x43aede=_0x6b44f3['argumentDefinition'];_0x5330c1=_0x6b44f3[_0x1fdbff(0x1b3)],_0x5ee21e['show'](),_0x1b4578[_0x1fdbff(0xc5)](),_0x1ee298(_0x5ee21e,_0x43aede[_0x1fdbff(0xbc)]),_0x1ee298(_0x1b4578,_0x43aede['outputArguments']),_0x81cb4e=_0x6b44f3[_0x1fdbff(0x163)]||{},_0x5150cf['show'](),navigator[_0x1fdbff(0x7f)][_0x1fdbff(0x187)](JSON[_0x1fdbff(0x78)](_0x81cb4e)),console[_0x1fdbff(0x11b)](_0x1fdbff(0x1a7),JSON[_0x1fdbff(0x78)](_0x81cb4e)),console['log'](_0x1fdbff(0x157),_0x6b44f3);});},'oneditsave'(){}});}()));function _0x2595(){const _0x26eeaf=['extra','match','4452324yQtRmS','<i\x20class=\x22fa\x20fa-bookmark\x22/> \x20','inputArgumentsExampleAsJson','HasComponent','<div>','nsuNodeID','<div/>','offset','disarmClick','VariableType','expandable','$menu','DodgerBlue','trigger','browseName','isArray','attr','prev','-pending','/opcua-for-node-red/support-frame.html','resolveParentNode','inputs','<div\x20class=\x22spinner\x22></div>','View','50%','endpointNode','Value\x20is\x20not\x20verified','localeCompare','SeaGreen','sterfive-info','height','hide','join','fa-question','</span>','sterfive-input-group','sterfive-dropdown','ns=0;i=47','writeText','20px','sterfive.nodeBrowser','baseUrl','> \x20','title','red-ui-typedInput-focus','msg.','name','mask-image:\x20url(','<a\x20href=\x22#\x22></a>','_delay','../../icons/opcuanodeLogo.png','html','<input\x20type=\x22checkbox\x22>','<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> ','DataType','blur','SuppressedError','failure','browse\x20path:\x20','Unspecified','parentNode','callback','HasProperty','prependTo','/opcua-for-node-red','HasChild','statusCode','indexOf','options','IsForward','JSON','nsu','30px','element','<br>','sterfive-typedInput-options\x20sterfive-online-menu','_createMenu','toggle','-failure','<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>','$selectTrigger','$toggleTreeBtn','dataTypes','msg','node','Variable','_showMenu','references','$uiSelect','16px','endpoint','icon','/walk-backward','aliased\x20NodeId:\x20','slideDown','throw','result','stringify','16092873GRxjKr','ns=0;i=40','mousedown.red-ui-typedInput-close-property-select','internal\x20error\x20','apply','fa-sliders','clipboard','<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>','grey','true','selectedMenuItem','[value=\x27','<div\x20class=\x22sterfive-info-text\x22></div>','1205095PvCknR','DarkOrange','requestedNodeId','value','children','</li>','\x22}><span\x20class=\x22tree-text\x22\x20title=','browsePath','sterfive-input-error','input[type=\x22checkbox\x22]','21soLKQN','/checkNodeId','<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> ','_initMenu','ns=0;i=35','removeClass','DisplayName','Invalid','$tree','parent','browseResult','top','referenceTypeId','appendTo','click','_hideMenu','setMode','fa-list-alt','currentParent','call',':visible','nodeIds','preventDefault','<li\x20key=\x22','CadetBlue','fa-object-group','toString','message','none','ns=0;i=34','validate','statusCode:\x20','fetched','NodeId\x20with\x20namespace\x20Urn','isSelectable','selected','css','$info','662668FflvuA','TypeDefinition','opc.tcp://opcuademo.sterfive.com:26543','$combo','Good','verify','inputArguments','nsu\x20nodeId:\x20','after','mousedown.red-ui-typedInput-focus-block','pageX','HasSubtype','#validate-call-arguments-button','773634tJVdKC','expanded','show','ns=0;i=85','bp_indexed','207195SjkwyM','Both',');\x20-webkit-mask-image:\x20url(','push','toggleClass','$elementDiv','red-ui-typedInput-icon','focus','dataType','label','aliasedNodeId','ns=0;i=61','pageY','<i\x20class=\x22fa\x20fa-font\x22/i>\x20','nodeId','#method-output-argument-definition','off','opts','nodes','.tree-text:first','dblclick','forEach','scrollTop','mousedown','node_label_italic','li[key=\x22','map','hasClass','typeDefinition','border','assign','<i\x20class=\x22fa\x20fa-id-card\x22/> \x20','OPCUA-Call','Aliased\x20NodeId','remove','already\x20fetched','bp_aliased','prop','length','$input','split','red-ui-typedInput-icon\x20','function','status','-success','#node-input-endpoint','ObjectType','loading','#C0DEED','POST','Inverse','180px','namespaceAliases','Objects','isTypeRef','rgba(61,\x2060,\x204,\x200.525)','right','before','keyCode','displayName','Forward','$inputGroup','nodeClass','done','description','SandyBrown','BrowsePath','append','HasTypeDefinition','registerType','$dropdown','target','background-color:transparent;overflow:hidden;border:3px','#copy-input','catch','text','_showTypeMenu','node\x20class:\x20','placeholder','/opcua-for-node-red/argumentDefinition','<i>','statusText','<span\x20class=\x22red-ui-typedInput-type-label\x22></span>','log','position','filter','replace','change','318128uDQtxf','mode','ns=0;i=0','replaceWith','next','nodeId_aliased','addClass','<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>','12GMUUDE','.red-ui-tray-body','<div\x20class=\x22argument-entry\x22>','stopPropagation','checked','err','<p>','NodeClass','auto','body','application/json','nodeId:\x20','fetching\x20failed\x20with\x20error','multiple','aliasedBrowsePath','BadNoMatch','#node-input-methodId','Aliased\x20Browse\x20Path','nodeBrowser','OpcUa-Client2-Call','val','$selectLabel','suppressed','#method-input-argument-definition','__parentNode','aliased\x20browsePath:\x20','ns=0;i=45','fa-folder','OpcUa-Endpoint2','-messages','editableList','error','json','<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>','empty','<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>','find','$verifyBtn','<span\x20title=','Object','string','reset','left','keydown','ReferenceType','</span><ul></ul></li>','closest','data','<i\x20class=\x22fa\x20fa-tag\x22/>1\x20 \x20','Method','reference','!!failure!!','then','\x22\x20style=\x22color:','nodeId_nsu'];_0x2595=function(){return _0x26eeaf;};return _0x2595();}
|
9
8
|
</script>
|
10
9
|
<script type="text/x-red" data-template-name="OpcUa-Client2-Call">
|
10
|
+
<h3>
|
11
|
+
Opc-UA Call
|
12
|
+
<a href="https://opcua-for-node-red.doc.sterfive.com/docs/call/call-a-method" target="_blank"
|
13
|
+
><i class="fa fa-message-question"></i
|
14
|
+
></a>
|
15
|
+
</h3>
|
11
16
|
<div class="form-row">
|
12
17
|
<label for="node-input-name"><i class="icon-tasks"></i>Name</label>
|
13
18
|
<input type="text" id="node-input-name" placeholder="enter the friendly name of the node" />
|