@opcua/for-node-red 3.9.0 → 3.11.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opcua/for-node-red",
3
- "version": "3.9.0",
3
+ "version": "3.11.0",
4
4
  "description": "The Node-RED node to communicate via OPC UA, powered NodeOPCUA and developed by Sterfive's team",
5
5
  "repository": {
6
6
  "type": "git",
@@ -35,6 +35,7 @@
35
35
  "OpcUa-Client2-Browse": "./source/OpcUa-Client2-Browse/OpcUa-Client2-Browse.js",
36
36
  "OpcUa-Client2-Call": "./source/OpcUa-Client2-Call/OpcUa-Client2-Call.js",
37
37
  "OpcUa-Client2-Explore": "./source/OpcUa-Client2-Explore/OpcUa-Client2-Explore.js",
38
+ "OpcUa-Client2-FileOperation": "./source/OpcUa-Client2-FileOperation/OpcUa-Client2-FileOperation.js",
38
39
  "OpcUa-Client2-Monitor": "./source/OpcUa-Client2-Monitor/OpcUa-Client2-Monitor.js",
39
40
  "OpcUa-Client2-MonitorEvent": "./source/OpcUa-Client2-MonitorEvent/OpcUa-Client2-MonitorEvent.js",
40
41
  "OpcUa-Client2-Read": "./source/OpcUa-Client2-Read/OpcUa-Client2-Read.js",
@@ -4,8 +4,7 @@
4
4
  </style>
5
5
 
6
6
  <script type="text/javascript">
7
- function _0x5e55(_0xbdb485,_0x4d0db6){const _0x1cb348=_0x1cb3();return _0x5e55=function(_0x5e55f3,_0x2cf51e){_0x5e55f3=_0x5e55f3-0x159;let _0x2b8389=_0x1cb348[_0x5e55f3];return _0x2b8389;},_0x5e55(_0xbdb485,_0x4d0db6);}function _0x1cb3(){const _0x4655c7=['_hideMenu','sort','<i\x20class=\x22fa\x20fa-bookmark\x22/>&nbsp;\x20','nodeId','$inputGroup','SuppressedError','Organizes','fa-object-group','statusCode','#node-input-endpoint','20px','references','HasSubtype','enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20','trigger','nsu','trim','.tree-text:first','HasComponent','throw',');\x20-webkit-mask-image:\x20url(','animate',':visible','OpcUa-Endpoint2','i=31','#node-input-nodeClassMask','application/json','.spinner','installing\x20iframe','bp_indexed','<span\x20class=\x22red-ui-typedInput-type-label\x22></span>','push','fa-cog','endpointNode','replaceWith','_createMenu','displayName','<div/>','after','scrollTop','click','fa-list-alt','/walk-backward','already\x20fetched','nodes','16px','_delay','callback','Invalid','then','#node-input-nodeId','/opcua-for-node-red','msg','append','show','namespaceAliases','aliasedBrowsePath','browsePath','position','msg.','widget','Variable\x20|\x20Object\x20|\x20Method\x20|\x20ObjectType\x20|\x20VariableType','$input','reset','mousedown.red-ui-typedInput-focus-block','attr','Good','data','<i>','expandable\x20expanded','filter','resolveParentNode','setMode','css','<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/>&nbsp;','catch','VariableType','reference','fa-folder','slideDown','title','ns=0;i=85','ReferenceType','verify','sterfive-input-error','string','180px','red-ui-typedInput-icon\x20','<iframe></iframe>','SeaGreen','$tree','$info','fetching\x20failed\x20with\x20error','top','focus','background-color:transparent;overflow:hidden;border:3px','sterfive-typedInput-options\x20sterfive-online-menu','icon','<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>','li[key=\x22','appendTo','ReferenceType\x20|\x20BrowseName\x20|\x20TypeDefinition\x20|\x20DisplayName\x20|\x20NodeClass\x20|\x20IsForward','toggle','Unknown\x20bit\x20name','absolute','browseName','message','pointer-events','DodgerBlue','checked','$combo','find','<input\x20type=\x22checkbox\x22>','nodeBrowser','keydown','Aliased\x20Browse\x20Path','#node-input-referenceTypeId','81820suKeON','value','ns=0;i=61','$dropdown','13902UOSPFq','<li>error\x20','View','body','9gMAKpV','parent','_showTypeMenu','next','mode','Both','OPCUA\x20Browse','prev','$elementDiv','ObjectType','../../icons/opcuanodeLogo.png','endpoint','opc.tcp://opcuademo.sterfive.com:26543','$menu','children','Inverse','nodeId_nsu','before','ns=0;i=40','element','target','8FndATM','text','<div\x20class=\x22sterfive-info-text\x22></div>','HasTypeDefinition','log','!!failure!!','browse\x20path:\x20','expandable','nsuNodeID','nodeIds','#C0DEED','Aliased\x20NodeId','__parentNode','$uiSelect','nodeId_aliased','remove','prependTo','ns=0;i=34','\x22}><span\x20class=\x22tree-text\x22\x20title=','localeCompare','installFeedbackWidget\x20','baseUrl','DisplayName','nsu\x20nodeId:\x20','json','Method','<li\x20key=\x22','input[type=\x22checkbox\x22]','tabindex','/checkNodeId','BrowseName','namesToBits','NodeClass','updateValue','input-group','selected','604467HbVevi','fa-text-width','1655292aQUreY','$selectTrigger','hide','</span><ul></ul></li>','disarmClick','OpcUa-Client2-Browse','change','offset','</span>','inputs','val','aliasedNodeId','isTypeRef','sterfive-info','.red-ui-tray-body','name','<div\x20class=\x22custom-option\x22\x20data-value=\x22','browse','keyCode','multiple','<span\x20title=','Unspecified','map','main-wrapper','<div>','$selectLabel','isSelectable','2068sDzrad','failure','NodeId\x20with\x20namespace\x20Urn','insertAfter','toString','browseResult','hasClass','join','nodeClass','options','entries','sterfive.nodeBrowser','SandyBrown','/opcua-for-node-red/support-frame.html','sterfive-input-group','closest','opts','relativePath','nodeId:\x20','stringify','requestedNodeId','preventDefault','grey','18px','aliased\x20browsePath:\x20','length','_showMenu','DarkOrange','err','\x20|\x20','HasProperty','<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>','ns=0;i=35','>&nbsp;\x20','empty','expanded','2742WoCaQX','Variable','error','currentParent','<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>','function','match','bp_aliased','addClass','toggleClass','46162068xJjnpy','CadetBlue','auto','fetched','li\x20>\x20.tree-text','registerType','[value=\x27','node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','POST','.custom-option','number','left','Forward','label','396844yymnuU','HasChild','indexOf','red-ui-typedInput-focus','none','Object','pageY','96qaIcJB','aliased\x20NodeId:\x20',';\x22></i>\x20','IsForward','already\x20loading','node','suppressed','<span\x20class=\x22custom-checkbox\x22></span>','removeClass','parentNode','<ul\x20class=\x22sterfive-tree\x22></ul>','$verifyBtn','sterfive.flagEditor','_initMenu','Value\x20is\x20not\x20verified','30px','ns=0;i=47','referenceTypeId','each','parentElement','placeholder','DataType','right','<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>','References','<i\x20class=\x22fa\x20fa-font\x22/i>\x20','selectedMenuItem','TypeDefinition','fa-question','pageX','mousedown.red-ui-typedInput-close-property-select','prop','<a\x20href=\x22#\x22></a>','Objects','status','$toggleTreeBtn','node_label_italic','i=61','assign','loading','sterfive-combo-box','8700160monJNX','height','stopPropagation'];_0x1cb3=function(){return _0x4655c7;};return _0x1cb3();}(function(_0x4f1f2f,_0x99253d){const _0x447d2b=_0x5e55,_0x1de239=_0x4f1f2f();while(!![]){try{const _0x390183=parseInt(_0x447d2b(0x286))/0x1*(-parseInt(_0x447d2b(0x1c1))/0x2)+-parseInt(_0x447d2b(0x271))/0x3*(parseInt(_0x447d2b(0x16a))/0x4)+-parseInt(_0x447d2b(0x1f1))/0x5+-parseInt(_0x447d2b(0x1a9))/0x6*(-parseInt(_0x447d2b(0x26d))/0x7)+parseInt(_0x447d2b(0x1c8))/0x8*(-parseInt(_0x447d2b(0x168))/0x9)+parseInt(_0x447d2b(0x269))/0xa*(parseInt(_0x447d2b(0x185))/0xb)+parseInt(_0x447d2b(0x1b3))/0xc;if(_0x390183===_0x99253d)break;else _0x1de239['push'](_0x1de239['shift']());}catch(_0x7e690e){_0x1de239['push'](_0x1de239['shift']());}}}(_0x1cb3,0xe0140),(function(){'use strict';const _0x26ab0e=_0x5e55;function _0x51888e(_0x150c90,_0x1c822c,_0x406a16,_0x307591){function _0x486bbf(_0x36cc20){return _0x36cc20 instanceof _0x406a16?_0x36cc20:new _0x406a16(function(_0x1822b0){_0x1822b0(_0x36cc20);});}return new(_0x406a16||(_0x406a16=Promise))(function(_0x27a667,_0x29bbee){const _0x316228=_0x5e55;function _0x3c244c(_0x11cad0){const _0x7a53a6=_0x5e55;try{_0x142c7f(_0x307591[_0x7a53a6(0x274)](_0x11cad0));}catch(_0x1239c8){_0x29bbee(_0x1239c8);}}function _0x2f028b(_0xc60125){const _0x3d5e14=_0x5e55;try{_0x142c7f(_0x307591[_0x3d5e14(0x207)](_0xc60125));}catch(_0x48950b){_0x29bbee(_0x48950b);}}function _0x142c7f(_0x3a57fc){const _0x44d4f7=_0x5e55;_0x3a57fc['done']?_0x27a667(_0x3a57fc[_0x44d4f7(0x26a)]):_0x486bbf(_0x3a57fc[_0x44d4f7(0x26a)])[_0x44d4f7(0x225)](_0x3c244c,_0x2f028b);}_0x142c7f((_0x307591=_0x307591['apply'](_0x150c90,_0x1c822c||[]))[_0x316228(0x274)]());});}typeof SuppressedError==='function'?SuppressedError:function(_0x4be305,_0x2f125a,_0xe26240){const _0x814280=_0x5e55;var _0x2b1438=new Error(_0xe26240);return _0x2b1438[_0x814280(0x179)]=_0x814280(0x1f9),_0x2b1438[_0x814280(0x1ab)]=_0x4be305,_0x2b1438[_0x814280(0x1ce)]=_0x2f125a,_0x2b1438;};const _0x446144=_0x26ab0e(0x1a5),_0x13f358=_0x26ab0e(0x26b),_0xe1a1e=_0x26ab0e(0x1d8),_0x16f255='ns=0;i=46',_0x56f79f=_0x26ab0e(0x297),_0x49039b='ns=0;i=45',_0x239611=_0x26ab0e(0x283);var _0x37691e;(function(_0x5e8f33){const _0x9a7bf2=_0x26ab0e;_0x5e8f33[_0x5e8f33[_0x9a7bf2(0x1bf)]=0x0]=_0x9a7bf2(0x1bf),_0x5e8f33[_0x5e8f33[_0x9a7bf2(0x280)]=0x1]=_0x9a7bf2(0x280),_0x5e8f33[_0x5e8f33['Both']=0x2]=_0x9a7bf2(0x276),_0x5e8f33[_0x5e8f33[_0x9a7bf2(0x224)]=0x3]=_0x9a7bf2(0x224);}(_0x37691e||(_0x37691e={})));var _0x43e0b0;(function(_0x162730){const _0x2d725b=_0x26ab0e;_0x162730[_0x162730[_0x2d725b(0x17f)]=0x0]=_0x2d725b(0x17f),_0x162730[_0x162730[_0x2d725b(0x1c6)]=0x1]=_0x2d725b(0x1c6),_0x162730[_0x162730[_0x2d725b(0x1aa)]=0x2]='Variable',_0x162730[_0x162730[_0x2d725b(0x15d)]=0x4]=_0x2d725b(0x15d),_0x162730[_0x162730[_0x2d725b(0x27a)]=0x8]=_0x2d725b(0x27a),_0x162730[_0x162730[_0x2d725b(0x240)]=0x10]=_0x2d725b(0x240),_0x162730[_0x162730[_0x2d725b(0x246)]=0x20]=_0x2d725b(0x246),_0x162730[_0x162730['DataType']=0x40]=_0x2d725b(0x1dd),_0x162730[_0x162730[_0x2d725b(0x26f)]=0x80]=_0x2d725b(0x26f);}(_0x43e0b0||(_0x43e0b0={})));var _0xb06c55;(function(_0x18010a){const _0x7bd103=_0x26ab0e;_0x18010a[_0x18010a[_0x7bd103(0x1c6)]=0x1]='Object',_0x18010a[_0x18010a[_0x7bd103(0x1aa)]=0x2]=_0x7bd103(0x1aa),_0x18010a[_0x18010a[_0x7bd103(0x15d)]=0x4]=_0x7bd103(0x15d),_0x18010a[_0x18010a['ObjectType']=0x8]='ObjectType',_0x18010a[_0x18010a['VariableType']=0x10]=_0x7bd103(0x240),_0x18010a[_0x18010a[_0x7bd103(0x246)]=0x20]=_0x7bd103(0x246),_0x18010a[_0x18010a[_0x7bd103(0x1dd)]=0x40]='DataType',_0x18010a[_0x18010a[_0x7bd103(0x26f)]=0x80]='View';}(_0xb06c55||(_0xb06c55={})));function _0x33ad28(_0x325f18,_0x4a70e1){const _0x114914=_0x26ab0e;if(typeof _0x4a70e1===_0x114914(0x1bd))return _0x4a70e1;const _0x53d197=parseInt(_0x4a70e1,0xa);if(!isNaN(_0x53d197))return _0x53d197;const _0x52a949=_0x4a70e1['split'](/\||;|,/)[_0x114914(0x180)](_0x5ace79=>_0x5ace79[_0x114914(0x204)]());let _0x2909f6=0x0;for(const _0x21bdf6 of _0x52a949){_0x2909f6|=_0x325f18[_0x21bdf6];}return _0x2909f6;}function _0x14d8ce(_0xf5fa54,_0x3e7180){const _0x519302=_0x26ab0e;_0x3e7180=_0x33ad28(_0xf5fa54,_0x3e7180);const _0x2e732e=[];if(!_0xf5fa54)return _0x2e732e[_0x519302(0x18c)](_0x519302(0x1a2));for(const [_0x11abf8,_0x3ef944]of Object[_0x519302(0x18f)](_0xf5fa54)){typeof _0x3e7180==='number'&&((_0x3e7180&_0x3ef944)===_0x3ef944&&_0x2e732e[_0x519302(0x213)](_0x11abf8));}return _0x2e732e[_0x519302(0x18c)](_0x519302(0x1a2));}var _0x3844e5;(function(_0x34addc){const _0xbbe19=_0x26ab0e;_0x34addc[_0x34addc[_0xbbe19(0x246)]=0x1]=_0xbbe19(0x246),_0x34addc[_0x34addc[_0xbbe19(0x1cb)]=0x2]='IsForward',_0x34addc[_0x34addc[_0xbbe19(0x164)]=0x4]='NodeClass',_0x34addc[_0x34addc[_0xbbe19(0x162)]=0x8]=_0xbbe19(0x162),_0x34addc[_0x34addc[_0xbbe19(0x15a)]=0x10]=_0xbbe19(0x15a),_0x34addc[_0x34addc[_0xbbe19(0x1e3)]=0x20]=_0xbbe19(0x1e3);}(_0x3844e5||(_0x3844e5={})));function _0x2d0627(_0x467d98){const _0x544cfa=_0x26ab0e;switch(_0x467d98){case _0x544cfa(0x1fa):return _0x446144;case _0x544cfa(0x1a3):return _0x16f255;case _0x544cfa(0x206):return _0xe1a1e;case _0x544cfa(0x1c2):return _0x56f79f;case'HasSubtype':return _0x49039b;case _0x544cfa(0x289):return _0x239611;}}const _0x1e80ac=_0x16d610=>{const _0x2f1fc8=_0x26ab0e;switch(_0x16d610[_0x2f1fc8(0x18d)]){case'Object':if(_0x16d610[_0x2f1fc8(0x1d9)]===_0x446144);if(_0x16d610['typeDefinition']===_0x13f358||_0x16d610[_0x2f1fc8(0x1d9)]===_0x2f1fc8(0x1ed))return{'icon':_0x2f1fc8(0x242),'color':'rgba(61,\x2060,\x204,\x200.525)'};return{'icon':_0x2f1fc8(0x1fb),'color':_0x2f1fc8(0x24d)};case _0x2f1fc8(0x1aa):if(_0x16d610[_0x2f1fc8(0x1d9)]===_0xe1a1e)return{'icon':_0x2f1fc8(0x21d),'color':'SteelBlue'};else return _0x16d610[_0x2f1fc8(0x1d9)]===_0x16f255?{'icon':_0x2f1fc8(0x21d),'color':_0x2f1fc8(0x260)}:{'icon':_0x2f1fc8(0x21d),'color':'CadetBlue'};case _0x2f1fc8(0x15d):return{'icon':_0x2f1fc8(0x214),'color':_0x2f1fc8(0x191)};case'ObjectType':return{'icon':_0x2f1fc8(0x1fb),'color':_0x2f1fc8(0x1a0)};case _0x2f1fc8(0x240):return{'icon':'fa-sliders','color':_0x2f1fc8(0x1a0)};case'DataType':return{'icon':_0x2f1fc8(0x169),'color':_0x2f1fc8(0x1b4)};}return{'icon':_0x2f1fc8(0x1e4),'color':_0x2f1fc8(0x19b)};},_0x468a65=(_0x22420b,_0x4d3c4a,_0x4ad8e7)=>_0x51888e(void 0x0,[_0x22420b,_0x4d3c4a,_0x4ad8e7],void 0x0,function*({endpointNode:_0xb8a5a9,endpoint:_0x1eb637,baseUrl:_0x5ce582},_0x492a9c,_0x53734f){const _0x5a51f3=_0x26ab0e,_0x3c2288=_0x5ce582+_0x5a51f3(0x227),_0x16a36c=_0x3c2288+'/browse',_0x2edf9f=Object['assign'](Object[_0x5a51f3(0x1ee)]({},_0x53734f),{'nodeId':_0x492a9c,'resultMask':0x3f}),_0x5c0034=yield fetch(_0x16a36c,{'method':_0x5a51f3(0x1bb),'body':JSON[_0x5a51f3(0x198)]({'endpointNode':_0xb8a5a9,'endpoint':_0x1eb637,'browseDescription':_0x2edf9f}),'headers':{'Content-Type':_0x5a51f3(0x20e)}});if(_0x5c0034[_0x5a51f3(0x1ea)]!==0xc8)return console[_0x5a51f3(0x28a)](_0x5a51f3(0x250),_0x5c0034['status'],_0x5c0034['statusText']),{'references':[]};const _0xc0d5e2=yield _0x5c0034[_0x5a51f3(0x15c)](),_0x3c5c55=_0xc0d5e2[_0x5a51f3(0x18a)]['references']||[];return{'references':_0x3c5c55};}),_0x1a7417={'referenceTypeId':_0x2d0627(_0x26ab0e(0x1c2)),'includeSubtypes':!![],'browseDirection':_0x37691e[_0x26ab0e(0x1bf)],'nodeClassMask':_0x43e0b0['Variable']|_0x43e0b0[_0x26ab0e(0x1c6)]|_0x43e0b0[_0x26ab0e(0x15d)],'resultMask':0x3f},_0x48ac31={'referenceTypeId':_0x2d0627(_0x26ab0e(0x1fa)),'includeSubtypes':!![],'browseDirection':_0x37691e['Forward'],'nodeClassMask':_0x43e0b0[_0x26ab0e(0x1aa)]|_0x43e0b0['Object']|_0x43e0b0[_0x26ab0e(0x15d)],'resultMask':0x3f},_0x50be34=(_0x10dbe7,_0x56162e)=>_0x51888e(void 0x0,[_0x10dbe7,_0x56162e],void 0x0,function*({endpointNode:_0x577bd8,endpoint:_0x78c96c,baseUrl:_0xe882ba},{nodeId:_0x16ab91,rootNodeId:_0x2564c4,isType:_0x43f13c}){const _0x1b7c5f=_0x26ab0e,_0x1cad60=_0xe882ba+_0x1b7c5f(0x227),_0x5ef8a1=_0x1cad60+_0x1b7c5f(0x21e),_0x51e637=yield fetch(_0x5ef8a1,{'method':_0x1b7c5f(0x1bb),'body':JSON['stringify']({'endpointNode':_0x577bd8,'endpoint':_0x78c96c,'nodeId':_0x16ab91,'rootNodeId':_0x2564c4,'isType':_0x43f13c}),'headers':{'Content-Type':_0x1b7c5f(0x20e)}});if(_0x51e637[_0x1b7c5f(0x1ea)]!==0xc8)return null;const _0x1b9c1b=yield _0x51e637[_0x1b7c5f(0x15c)]();return _0x1b9c1b[_0x1b7c5f(0x22d)];}),_0x3b6f12=(_0x1778ab,_0x5da5e2)=>{const _0x43cca5=_0x26ab0e;if(_0x1778ab[_0x43cca5(0x1fc)]!==_0x43cca5(0x236))return _0x1778ab[_0x43cca5(0x199)];switch(_0x5da5e2){case'browsePath':return _0x1778ab[_0x43cca5(0x211)];case _0x43cca5(0x22c):return _0x1778ab[_0x43cca5(0x1b0)]||_0x1778ab[_0x43cca5(0x211)];case _0x43cca5(0x175):return _0x1778ab[_0x43cca5(0x294)]||_0x1778ab[_0x43cca5(0x281)];case _0x43cca5(0x28e):return _0x1778ab[_0x43cca5(0x281)];default:case _0x43cca5(0x1f7):return _0x1778ab[_0x43cca5(0x1f7)];}},_0x3740f0=_0x3ff7d5=>{const _0x43e331=_0x26ab0e;if(_0x3ff7d5[_0x43e331(0x1fc)]!==_0x43e331(0x236))return'statusCode:\x20'+_0x3ff7d5[_0x43e331(0x1fc)];else{let _0xfe2c2c=[];return _0xfe2c2c[_0x43e331(0x213)](_0x43e331(0x197)+_0x3ff7d5['nodeId']),_0xfe2c2c[_0x43e331(0x213)](_0x43e331(0x28c)+_0x3ff7d5[_0x43e331(0x211)]),_0xfe2c2c['push']('node\x20class:\x20'+_0x43e0b0[_0x3ff7d5[_0x43e331(0x18d)]]),_0x3ff7d5[_0x43e331(0x281)]&&_0xfe2c2c[_0x43e331(0x213)](_0x43e331(0x15b)+_0x3ff7d5[_0x43e331(0x281)]),_0x3ff7d5[_0x43e331(0x294)]&&_0xfe2c2c['push'](_0x43e331(0x1c9)+_0x3ff7d5[_0x43e331(0x294)]),_0x3ff7d5[_0x43e331(0x211)]&&_0xfe2c2c[_0x43e331(0x213)](_0x43e331(0x19d)+_0x3ff7d5[_0x43e331(0x1b0)]),_0xfe2c2c['join']('\x0a');}};function _0xb30ea0(_0x1c4e7a){const _0x5becde=_0x26ab0e;if(_0x1c4e7a[_0x5becde(0x1af)](/^nsu=/))return _0x5becde(0x28e);if(_0x1c4e7a['match'](/^(ns=.*;)?(i|b|s|g)=/))return'nodeId';if(_0x1c4e7a[_0x5becde(0x1af)](/^nsa=/))return _0x5becde(0x175);if(_0x1c4e7a['match'](/^(\/|\.)[0-9]+:/))return _0x5becde(0x22d);if(_0x1c4e7a[_0x5becde(0x1af)](/^(\/|\.).*:/))return _0x5becde(0x22d);}function _0x588f63(_0x40488e){const _0x3d5437=_0x26ab0e,_0x5ba717=_0xb30ea0(_0x40488e);switch(_0x5ba717){case _0x3d5437(0x1f7):return'n';case _0x3d5437(0x175):return'na';case _0x3d5437(0x28e):return _0x3d5437(0x203);case _0x3d5437(0x22d):return'b';case _0x3d5437(0x22c):return'ab';default:return't';}}function _0x5d8056(_0x4ff8c0){const _0x7a3359=_0x26ab0e;let _0xba6746;switch(_0x4ff8c0){case'n':_0xba6746=_0x7a3359(0x1f7);break;case'na':_0xba6746=_0x7a3359(0x175);break;case _0x7a3359(0x203):_0xba6746=_0x7a3359(0x28e);break;case'b':_0xba6746=_0x7a3359(0x22d);break;case'ab':_0xba6746=_0x7a3359(0x22c);break;}return _0xba6746;}function _0x5c3b7c(_0x3d120f){const _0xaf125b=_0x26ab0e;switch(_0x3d120f){case'nodeId':return'n';case _0xaf125b(0x175):return'na';case'nsuNodeID':return _0xaf125b(0x203);case'browsePath':return'b';case'aliasedBrowsePath':return'ab';default:return't';}}const _0x570cd6=(_0x194018,_0x15003e)=>_0x51888e(void 0x0,[_0x194018,_0x15003e],void 0x0,function*({endpointNode:_0x10b67c,endpoint:_0x360c0b,baseUrl:_0x58d8d6},_0x39a9aa){const _0x304e14=_0x26ab0e,_0x543454=_0x58d8d6+_0x304e14(0x227),_0x45a5f3=_0x543454+_0x304e14(0x161),_0x5d24ad=_0x10b67c['id'],_0x451d8=RED['nodes']['node'](_0x5d24ad);console[_0x304e14(0x28a)](_0x451d8[_0x304e14(0x22b)]),_0x451d8[_0x304e14(0x22b)];const _0x2dbe78=_0x10b67c[_0x304e14(0x22b)],_0x3b4253=yield fetch(_0x45a5f3,{'method':_0x304e14(0x1bb),'body':JSON[_0x304e14(0x198)]({'endpointNode':_0x10b67c,'endpoint':_0x360c0b,'nodeId':_0x39a9aa,'namespaceAliases':_0x2dbe78}),'headers':{'Content-Type':_0x304e14(0x20e)}}),_0x31d3f9=yield _0x3b4253['json']();return{'json':_0x31d3f9,'data':_0x3b4253};}),_0x10eee1=(_0x44a81a,_0x41ff14,_0xfe9f3,_0x337bd8)=>_0x51888e(void 0x0,[_0x44a81a,_0x41ff14,_0xfe9f3,_0x337bd8],void 0x0,function*({endpointNode:_0x2ea0cf,endpoint:_0x334212,baseUrl:_0x334c44},_0x2de964,_0x3fb792,_0x38aacb){const _0x11ad1a=_0x26ab0e,_0x2c9d9c=_0x3fb792[_0x11ad1a(0x174)](),{json:_0x1ce10d,data:_0x2565a5}=yield _0x570cd6({'endpointNode':_0x2ea0cf,'endpoint':_0x334212,'baseUrl':_0x334c44},_0x2c9d9c),_0xc8dac1=(_0x1c6b89,_0x3ee2db)=>{const _0x2e3381=_0x11ad1a;_0x38aacb[_0x2e3381(0x287)](_0x1c6b89)[_0x2e3381(0x1b1)](_0x2e3381(0x177))['addClass'](_0x3ee2db),_0x38aacb[_0x2e3381(0x22a)](),setTimeout(()=>{const _0x49e952=_0x2e3381;_0x38aacb[_0x49e952(0x1d0)](_0x3ee2db),_0x38aacb[_0x49e952(0x16c)]();},0xbb8);};if(_0x2565a5[_0x11ad1a(0x1ea)]!==0xc8)return _0xc8dac1(_0x11ad1a(0x28b)+_0x2c9d9c,_0x11ad1a(0x186)),![];else{if(_0x1ce10d[_0x11ad1a(0x1fc)][_0x11ad1a(0x1af)](/Good/)){const _0x52bfd4=_0x3740f0(_0x1ce10d);_0x3fb792['attr'](_0x11ad1a(0x244),_0x52bfd4);const _0x4187ae=_0x3b6f12(_0x1ce10d,_0x2de964);return _0x3fb792[_0x11ad1a(0x174)](_0x4187ae),_0x3fb792[_0x11ad1a(0x202)](_0x11ad1a(0x170)),_0xc8dac1(_0x11ad1a(0x236),'ok'),!![];}else return _0x3fb792[_0x11ad1a(0x174)](''+_0x2c9d9c),_0xc8dac1(_0x1ce10d[_0x11ad1a(0x1fc)]+'\x20'+_0x2565a5['statusText'],_0x11ad1a(0x186)),![];}});function _0x17e596(_0x2917da,_0x11b87c){return _0x51888e(this,void 0x0,void 0x0,function*(){const _0x25dd93=_0x5e55,_0x49adc3=_0x2917da[_0x25dd93(0x237)](_0x25dd93(0x26a)),_0x215eaa=yield _0x468a65(_0x11b87c,_0x49adc3,_0x1a7417),_0x2fcf20=yield _0x468a65(_0x11b87c,_0x49adc3,_0x48ac31);return{'references':[..._0x215eaa[_0x25dd93(0x1ff)],..._0x2fcf20[_0x25dd93(0x1ff)]]};});}const _0x5d7e56={'referenceTypeId':_0x2d0627(_0x26ab0e(0x200)),'includeSubtypes':!![],'browseDirection':_0x37691e[_0x26ab0e(0x1bf)],'nodeClassMask':_0x43e0b0[_0x26ab0e(0x246)]|_0x43e0b0[_0x26ab0e(0x27a)]|_0x43e0b0[_0x26ab0e(0x1dd)]|_0x43e0b0[_0x26ab0e(0x240)],'resultMask':0x3f};function _0x25d3a9(_0x492af2,_0x34abbf){return _0x51888e(this,void 0x0,void 0x0,function*(){const _0x1b946c=_0x5e55,_0x2016a0=_0x492af2[_0x1b946c(0x237)](_0x1b946c(0x26a)),_0xa1df49=yield _0x468a65(_0x34abbf,_0x2016a0,_0x5d7e56);return _0xa1df49;});}const _0x3db4a9=_0x323e5e=>{const _0x271fdf=_0x26ab0e;var _0x4531c2,_0x5a5757,_0x3888ae,_0x26a663;if(!_0x323e5e||!_0x323e5e[_0x271fdf(0x1f7)]){const _0x27facb=$('<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>');return _0x27facb;}const _0x430d31=_0x323e5e[_0x271fdf(0x1f7)]['toString'](),_0x536c49=((_0x4531c2=_0x323e5e[_0x271fdf(0x218)])===null||_0x4531c2===void 0x0?void 0x0:_0x4531c2[_0x271fdf(0x287)])||((_0x5a5757=_0x323e5e[_0x271fdf(0x25d)])===null||_0x5a5757===void 0x0?void 0x0:_0x5a5757[_0x271fdf(0x179)])||_0x323e5e[_0x271fdf(0x1f7)][_0x271fdf(0x189)](),{icon:_0xca6fde,color:_0x58dba2}=_0x1e80ac(_0x323e5e),_0x411d53='('+_0x323e5e[_0x271fdf(0x1f7)][_0x271fdf(0x189)]()+')\x20'+(((_0x3888ae=_0x323e5e[_0x271fdf(0x25d)])===null||_0x3888ae===void 0x0?void 0x0:_0x3888ae[_0x271fdf(0x179)])||((_0x26a663=_0x323e5e[_0x271fdf(0x218)])===null||_0x26a663===void 0x0?void 0x0:_0x26a663[_0x271fdf(0x287)])||''),_0x3e1a1f=$(_0x271fdf(0x15e)+_0x323e5e['nodeId']['toString']()+_0x271fdf(0x298)+_0x411d53+'><i\x20class=\x22fa\x20'+_0xca6fde+'\x22\x20style=\x22color:'+_0x58dba2+_0x271fdf(0x1ca)+_0x536c49+_0x271fdf(0x16d));return _0x3e1a1f[_0x271fdf(0x1b1)](_0x271fdf(0x28d)),_0x3e1a1f[_0x271fdf(0x237)](_0x271fdf(0x26a),_0x430d31),_0x3e1a1f[_0x271fdf(0x237)](_0x271fdf(0x241),_0x323e5e),_0x3e1a1f;},_0x4fc1c4=(_0x2a607d,_0x27ed18)=>{const _0x2e9b97=_0x26ab0e;return _0x27ed18[_0x2e9b97(0x263)](_0x2e9b97(0x257)+_0x2a607d+'\x22]');},_0x23a96a=(_0x62a026,_0x4ded88)=>{const _0x57cc4d=_0x26ab0e;_0x62a026[_0x57cc4d(0x24e)][_0x57cc4d(0x263)](_0x57cc4d(0x1b7))['removeClass']('selected'),_0x4ded88[_0x57cc4d(0x263)](_0x57cc4d(0x205))[_0x57cc4d(0x1b1)]('selected');},_0x480602=(_0x3363dc,_0x36f150,_0x3668dd)=>_0x51888e(void 0x0,void 0x0,void 0x0,function*(){const _0x1f2c89=_0x26ab0e;let _0x59c025=_0x3668dd['children'](':first');_0x36f150[_0x1f2c89(0x196)]['elements']||[];const _0x1b2997=_0x36f150[_0x1f2c89(0x28f)]||[];if(_0x1b2997[_0x1f2c89(0x19e)]===0x0)return;for(const _0x5cffd5 of _0x1b2997){_0x59c025['hasClass']('expandable')&&(yield _0x15a606(_0x3363dc,_0x59c025));const _0x3b34d7=_0x4fc1c4(_0x5cffd5,_0x59c025);if(_0x3b34d7[_0x1f2c89(0x19e)]===0x0)return;_0x59c025=_0x3b34d7;}_0x23a96a(_0x3363dc,_0x59c025),_0xe1703f(_0x3363dc['$dropdown'],_0x59c025);});function _0xe1703f(_0x17be9d,_0x1b6761){const _0x535fb8=_0x26ab0e,_0x5bcfee=_0x1b6761[_0x535fb8(0x22e)]()[_0x535fb8(0x251)],_0x136aa3=_0x17be9d[_0x535fb8(0x21b)]();if(_0x136aa3==undefined)return;const _0x494b7e=_0x136aa3+_0x5bcfee-_0x17be9d['height']()/0x2+_0x1b6761[_0x535fb8(0x1f2)]()/0x2;_0x17be9d[_0x535fb8(0x209)]({'scrollTop':_0x494b7e},0x1f4);}const _0xb5f643=(_0x5d957e,_0x1c36ab)=>_0x51888e(void 0x0,void 0x0,void 0x0,function*(){const _0x1f331e=_0x26ab0e,_0x3267b0=_0x5d957e[_0x1f331e(0x232)][_0x1f331e(0x174)](),_0x237614={'nodeId':_0x3267b0,'rootNodeId':_0x1c36ab[_0x1f331e(0x1f7)],'isType':_0x5d957e[_0x1f331e(0x18e)]['isTypeRef']||![]},_0x300bcb=_0x5506e0(_0x5d957e),_0x255853=yield _0x50be34(_0x300bcb,_0x237614);if(!_0x255853)return;yield _0x480602(_0x5d957e,_0x255853,_0x5d957e['$tree']);});function _0x269920(_0x3e0837,_0x499d64,_0x46ce55,_0x47f1b9){return _0x51888e(this,void 0x0,void 0x0,function*(){const _0x23efdc=_0x5e55;if(_0x499d64[_0x23efdc(0x18b)](_0x23efdc(0x1b6))){console[_0x23efdc(0x28a)](_0x23efdc(0x21f));return;}if(_0x499d64['hasClass']('loading')){console[_0x23efdc(0x28a)](_0x23efdc(0x1cc));return;}_0x499d64['addClass'](_0x23efdc(0x1ef)),_0x499d64[_0x23efdc(0x229)]('<div\x20class=\x22spinner\x22></div>');try{_0x499d64['children']('ul')['empty']();const {references:_0x1cbe99}=yield _0x46ce55(_0x499d64,_0x47f1b9);_0x1cbe99[_0x23efdc(0x1f5)]((_0x33d09a,_0x99bdec)=>{const _0x57a641=_0x23efdc;var _0x5f0384,_0x44f6ca;return(((_0x5f0384=_0x33d09a['browseName'])===null||_0x5f0384===void 0x0?void 0x0:_0x5f0384[_0x57a641(0x179)])||'')[_0x57a641(0x299)](((_0x44f6ca=_0x99bdec['browseName'])===null||_0x44f6ca===void 0x0?void 0x0:_0x44f6ca[_0x57a641(0x179)])||'');});for(const _0x3b1451 of _0x1cbe99){if(_0x3e0837[_0x23efdc(0x18e)][_0x23efdc(0x23a)]&&!_0x3e0837[_0x23efdc(0x18e)][_0x23efdc(0x23a)](_0x3b1451))continue;const _0x3454c5=_0x3db4a9(_0x3b1451);_0x499d64['children']('ul')['append'](_0x3454c5);}_0x499d64[_0x23efdc(0x1b1)]('fetched');}catch(_0x463d6b){_0x499d64[_0x23efdc(0x27f)]('ul')[_0x23efdc(0x229)](_0x23efdc(0x26e)+_0x463d6b[_0x23efdc(0x25e)]+'</li>'),console[_0x23efdc(0x28a)](_0x23efdc(0x1a1),_0x463d6b);}_0x499d64[_0x23efdc(0x263)](_0x23efdc(0x20f))[_0x23efdc(0x295)](),_0x499d64[_0x23efdc(0x1d0)](_0x23efdc(0x1ef));});}function _0x5506e0(_0x10c028){const _0x1c0ab6=_0x26ab0e,_0x400d76={'baseUrl':_0x10c028[_0x1c0ab6(0x18e)][_0x1c0ab6(0x159)],'endpointNode':typeof _0x10c028[_0x1c0ab6(0x18e)][_0x1c0ab6(0x215)]===_0x1c0ab6(0x1ae)?_0x10c028[_0x1c0ab6(0x18e)][_0x1c0ab6(0x215)]():_0x10c028['options'][_0x1c0ab6(0x215)],'endpoint':typeof _0x10c028[_0x1c0ab6(0x18e)]['endpoint']==='function'?_0x10c028[_0x1c0ab6(0x18e)][_0x1c0ab6(0x27c)]():_0x10c028[_0x1c0ab6(0x18e)]['endpoint']};return _0x400d76;}function _0x15a606(_0x52f3ea,_0x1f31dc){return _0x51888e(this,void 0x0,void 0x0,function*(){const _0xc6aad8=_0x5e55;if(_0x1f31dc[_0xc6aad8(0x18b)](_0xc6aad8(0x1b6))){_0x1f31dc[_0xc6aad8(0x1d0)]('expandable')[_0xc6aad8(0x1b1)](_0xc6aad8(0x1a8)),_0x1f31dc[_0xc6aad8(0x27f)]('ul')[_0xc6aad8(0x25a)]();return;}const _0x20aa80=_0x5506e0(_0x52f3ea),_0x47206d=!_0x52f3ea[_0xc6aad8(0x18e)][_0xc6aad8(0x176)]?_0x17e596:_0x25d3a9;try{yield _0x269920(_0x52f3ea,_0x1f31dc,_0x47206d,_0x20aa80),_0x1f31dc[_0xc6aad8(0x1d0)](_0xc6aad8(0x28d))['addClass'](_0xc6aad8(0x1a8));}catch(_0x401fa9){_0x1f31dc[_0xc6aad8(0x1d0)](_0xc6aad8(0x28d))[_0xc6aad8(0x1b1)]('expanded'),console[_0xc6aad8(0x28a)](_0xc6aad8(0x1ab),_0x401fa9);}});}const _0x284567={'browseName':{'namespaceIndex':0x0,'name':'Objects'},'nodeClass':_0x26ab0e(0x1c6),'nodeId':_0x26ab0e(0x245),'displayName':{'text':_0x26ab0e(0x1e9)},'typeDefinition':_0x13f358},_0xb6116b=()=>{const _0x5bd2db=_0x26ab0e;$['widget'](_0x5bd2db(0x190),{'options':{'endpointNode':()=>({'endpoint':_0x5bd2db(0x27d)}),'endpoint':()=>undefined,'parentNode':()=>_0x284567,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x51888e(this,void 0x0,void 0x0,function*(){const _0x4b0ec9=_0x5e55,_0x116a87=this;if(_0x116a87[_0x4b0ec9(0x292)]==undefined){const _0xe56c4c=typeof _0x116a87[_0x4b0ec9(0x18e)][_0x4b0ec9(0x1d1)]===_0x4b0ec9(0x1ae)?_0x116a87[_0x4b0ec9(0x18e)][_0x4b0ec9(0x1d1)]['call'](_0x116a87):_0x116a87[_0x4b0ec9(0x18e)]['parentNode'];if(_0xe56c4c instanceof Promise){const _0x29ebab=yield _0xe56c4c;_0x116a87[_0x4b0ec9(0x292)]=_0x29ebab;}else _0x116a87[_0x4b0ec9(0x292)]=_0xe56c4c;}return _0x116a87['__parentNode']||_0x284567;});},'reset'(){return _0x51888e(this,void 0x0,void 0x0,function*(){const _0x1098b6=_0x5e55,_0x252a4b=this,_0x86cb33=_0x252a4b;_0x86cb33['__parentNode']=undefined,_0x252a4b[_0x1098b6(0x24e)][_0x1098b6(0x1a7)]();const _0x5f002e=yield this['resolveParentNode'](),_0x70b00b=_0x3db4a9(_0x5f002e);_0x252a4b[_0x1098b6(0x24e)][_0x1098b6(0x229)](_0x70b00b),_0x252a4b[_0x1098b6(0x1ac)]=_0x5f002e;});},'verify'(_0x382f0a){const _0x5e1f5f=_0x5bd2db,_0xb0fb36=this,_0x1ad2c0=_0x5506e0(_0xb0fb36);_0x10eee1(_0x1ad2c0,_0x382f0a,_0xb0fb36['$input'],_0xb0fb36[_0x5e1f5f(0x24f)])[_0x5e1f5f(0x225)](_0x4c9aed=>{const _0x4e7be7=_0x5e1f5f;!_0x4c9aed?_0xb0fb36[_0x4e7be7(0x262)][_0x4e7be7(0x1b1)](_0x4e7be7(0x248)):_0xb0fb36[_0x4e7be7(0x262)][_0x4e7be7(0x1d0)](_0x4e7be7(0x248));});},'_hideMenu'(_0x4cfa41){const _0x325516=_0x5bd2db,_0x220591=this;$(document)['off'](_0x325516(0x1e6)),_0x4cfa41['hide'](),_0x4cfa41[_0x325516(0x23d)]({'height':_0x325516(0x1b5)});if(_0x4cfa41[_0x325516(0x195)][_0x325516(0x17d)]){var _0x333017=[];_0x4cfa41[_0x325516(0x263)](_0x325516(0x15f))[_0x325516(0x1da)](function(){const _0x54d8a7=_0x325516;$(this)[_0x54d8a7(0x1e7)]('checked')&&_0x333017[_0x54d8a7(0x213)]($(this)[_0x54d8a7(0x237)](_0x54d8a7(0x26a)));}),_0x4cfa41[_0x325516(0x223)](_0x333017);}_0x220591[_0x325516(0x279)]['is'](_0x325516(0x20a))?_0x220591[_0x325516(0x232)][_0x325516(0x202)](_0x325516(0x252)):_0x220591[_0x325516(0x16b)][_0x325516(0x202)](_0x325516(0x252));},'_createMenu'(_0x36ea22,_0x1713e1,_0x628dbf){const _0x2552a2=_0x5bd2db;var _0x50caff=this;const _0x193cb8=$(_0x2552a2(0x182))[_0x2552a2(0x1b1)](_0x2552a2(0x254));return _0x193cb8[_0x2552a2(0x195)]=_0x1713e1,_0x193cb8[_0x2552a2(0x223)]=_0x628dbf,_0x36ea22['forEach'](_0x2c9964=>{const _0x5890b6=_0x2552a2;typeof _0x2c9964===_0x5890b6(0x249)&&(_0x2c9964={'value':_0x2c9964,'label':_0x2c9964});var _0x2db51f=$(_0x5890b6(0x1e8))[_0x5890b6(0x235)](_0x5890b6(0x26a),_0x2c9964[_0x5890b6(0x26a)])[_0x5890b6(0x258)](_0x193cb8);_0x2c9964[_0x5890b6(0x1c0)]&&_0x2db51f[_0x5890b6(0x287)](_0x2c9964[_0x5890b6(0x1c0)]);_0x2c9964[_0x5890b6(0x244)]&&_0x2db51f[_0x5890b6(0x1e7)](_0x5890b6(0x244),_0x2c9964[_0x5890b6(0x244)]);if(_0x2c9964[_0x5890b6(0x255)]){if(_0x2c9964['icon'][_0x5890b6(0x1c3)]('<')===0x0)$(_0x2c9964[_0x5890b6(0x255)])[_0x5890b6(0x296)](_0x2db51f);else _0x2c9964[_0x5890b6(0x255)][_0x5890b6(0x1c3)]('/')!==-0x1?$(_0x5890b6(0x238),{'class':'red-ui-typedInput-icon','style':'mask-image:\x20url('+_0x2c9964[_0x5890b6(0x255)]+_0x5890b6(0x208)+_0x2c9964[_0x5890b6(0x255)]+');'})[_0x5890b6(0x296)](_0x2db51f):$(_0x5890b6(0x238),{'class':_0x5890b6(0x24b)+_0x2c9964[_0x5890b6(0x255)]})[_0x5890b6(0x296)](_0x2db51f);}else _0x2db51f[_0x5890b6(0x23d)]({'paddingLeft':_0x5890b6(0x19c)});!_0x2c9964[_0x5890b6(0x255)]&&!_0x2c9964[_0x5890b6(0x1c0)]&&_0x2db51f[_0x5890b6(0x287)](_0x2c9964[_0x5890b6(0x26a)]);var _0x2094a1;_0x1713e1[_0x5890b6(0x17d)]&&(_0x2094a1=$(_0x5890b6(0x264))[_0x5890b6(0x23d)](_0x5890b6(0x25f),_0x5890b6(0x1c5))[_0x5890b6(0x237)](_0x5890b6(0x26a),_0x2c9964[_0x5890b6(0x26a)])['prependTo'](_0x2db51f)['on']('mousedown',function(_0x27b153){const _0x503548=_0x5890b6;_0x27b153[_0x503548(0x19a)]();})),_0x2db51f['on']('click',function(_0x1187ec){const _0x3fdbac=_0x5890b6;_0x1187ec['preventDefault'](),_0x1187ec[_0x3fdbac(0x1f3)](),!_0x1713e1[_0x3fdbac(0x17d)]?(_0x628dbf(_0x2c9964[_0x3fdbac(0x26a)]),_0x50caff['_hideMenu'](_0x193cb8)):_0x2094a1[_0x3fdbac(0x1e7)](_0x3fdbac(0x261),!_0x2094a1[_0x3fdbac(0x1e7)](_0x3fdbac(0x261)));});}),_0x193cb8[_0x2552a2(0x23d)]({'display':'none'}),_0x193cb8['on'](_0x2552a2(0x266),function(_0x14dfa9){const _0x345284=_0x2552a2;if(_0x14dfa9[_0x345284(0x17c)]===0x28)_0x14dfa9[_0x345284(0x19a)](),$(this)[_0x345284(0x27f)](':focus')[_0x345284(0x274)]()[_0x345284(0x202)]('focus');else{if(_0x14dfa9[_0x345284(0x17c)]===0x26)_0x14dfa9[_0x345284(0x19a)](),$(this)['children'](':focus')[_0x345284(0x278)]()[_0x345284(0x202)]('focus');else _0x14dfa9[_0x345284(0x17c)]===0x1b&&(_0x14dfa9['preventDefault'](),_0x50caff['_hideMenu'](_0x193cb8));}_0x14dfa9[_0x345284(0x1f3)]();}),_0x193cb8;},'disarmClick':![],'_showMenu'(_0x4f4b36,_0x521dbd){const _0x3b491a=_0x5bd2db;if(this['disarmClick']){this[_0x3b491a(0x16e)]=![];return;}var _0x1d01b4=this,_0x41e366=_0x521dbd['offset'](),_0x4f7ac8=_0x521dbd['height'](),_0x4b8bcf=_0x4f4b36[_0x3b491a(0x1f2)](),_0xbdc7dc=_0x4f7ac8+_0x41e366['top'];_0xbdc7dc+_0x4b8bcf-$(document)[_0x3b491a(0x21b)]()>$(window)[_0x3b491a(0x1f2)]()&&(_0xbdc7dc-=_0xbdc7dc+_0x4b8bcf-$(window)[_0x3b491a(0x1f2)]()+0x5),_0xbdc7dc<0x0&&(_0x4f4b36[_0x3b491a(0x1f2)](_0x4b8bcf+_0xbdc7dc),_0xbdc7dc=0x0),_0x4f4b36[_0x3b491a(0x23d)]({'top':_0xbdc7dc+'px','left':_0x41e366['left']+'px'}),_0x4f4b36[_0x3b491a(0x243)](0x64),this[_0x3b491a(0x222)](function(){const _0x50eb14=_0x3b491a;_0x1d01b4[_0x50eb14(0x293)][_0x50eb14(0x1b1)](_0x50eb14(0x1c4)),$(document)['on'](_0x50eb14(0x1e6),function(_0x49cfa3){const _0x470b24=_0x50eb14;!$(_0x49cfa3[_0x470b24(0x285)])[_0x470b24(0x194)](_0x4f4b36)[_0x470b24(0x19e)]&&_0x1d01b4[_0x470b24(0x1f4)](_0x4f4b36),$(_0x49cfa3['target'])[_0x470b24(0x194)](_0x521dbd)[_0x470b24(0x19e)]&&(_0x1d01b4['disarmClick']=!![],_0x49cfa3['preventDefault']());});});},'_showTypeMenu'(){const _0x2f29e9=_0x5bd2db,_0x529309=this;this[_0x2f29e9(0x19f)](_0x529309[_0x2f29e9(0x27e)],_0x529309['$combo']),_0x529309[_0x2f29e9(0x26c)][_0x2f29e9(0x16c)]();const _0x394792=_0x529309['selectedMenuItem'];var _0x3f2a91=_0x529309[_0x2f29e9(0x27e)][_0x2f29e9(0x263)](_0x2f29e9(0x1b9)+_0x394792+'\x27');setTimeout(function(){const _0x19de23=_0x2f29e9;_0x3f2a91['trigger'](_0x19de23(0x252));},0x78);},'_initMenu'(){const _0x50416b=_0x5bd2db,_0x31c9a7=this;_0x31c9a7['$selectTrigger'][_0x50416b(0x235)](_0x50416b(0x160),-0x1),_0x31c9a7[_0x50416b(0x16b)]['on'](_0x50416b(0x234),function(_0x2374a0){const _0x3ec191=_0x50416b;_0x2374a0[_0x3ec191(0x19a)]();});_0x31c9a7[_0x50416b(0x27e)]&&_0x31c9a7[_0x50416b(0x27e)]['remove']();const _0x456936=[{'label':_0x50416b(0x287),'value':'t','title':_0x50416b(0x1d6),'icon':_0x50416b(0x1e1)},{'label':_0x50416b(0x22f),'value':_0x50416b(0x228),'title':_0x50416b(0x1ba),'icon':_0x50416b(0x1a4)},{'label':'NodeId','value':'n','icon':'<i\x20class=\x22fa\x20fa-tag\x22/>1\x20&nbsp;\x20'},{'label':_0x50416b(0x291),'value':'na','icon':_0x50416b(0x1f6)},{'label':_0x50416b(0x187),'value':'nsu','icon':'<i\x20class=\x22fa\x20fa-id-card\x22/>&nbsp;\x20'},{'label':'BrowsePath','value':'b','icon':'<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/>&nbsp;'},{'label':_0x50416b(0x267),'value':'ab','icon':_0x50416b(0x23e)}],_0x2e0429=_0x588f63(_0x31c9a7[_0x50416b(0x232)][_0x50416b(0x174)]()),_0x239c21=_0x456936[_0x50416b(0x263)](_0x3e6b1a=>_0x3e6b1a[_0x50416b(0x26a)]===_0x2e0429);_0x31c9a7[_0x50416b(0x183)]['empty']()['append']('<span\x20title='+((_0x239c21===null||_0x239c21===void 0x0?void 0x0:_0x239c21[_0x50416b(0x244)])||'')+'>&nbsp;\x20'+((_0x239c21===null||_0x239c21===void 0x0?void 0x0:_0x239c21['icon'])||'')+_0x50416b(0x172)),_0x31c9a7[_0x50416b(0x1e2)]=_0x2e0429;const _0x1b8a7d=this;_0x31c9a7[_0x50416b(0x27e)]=this[_0x50416b(0x217)](_0x456936,{},_0x176471=>{const _0x2cfc6b=_0x50416b,_0x275598=_0x5d8056(_0x176471);_0x275598&&_0x1b8a7d[_0x2cfc6b(0x247)](_0x275598);const _0x29644f=_0x456936['find'](_0xb31cec=>_0xb31cec[_0x2cfc6b(0x26a)]===_0x176471);_0x31c9a7[_0x2cfc6b(0x1e2)]=_0x176471,_0x31c9a7['$selectLabel'][_0x2cfc6b(0x1a7)]()[_0x2cfc6b(0x229)](_0x2cfc6b(0x17e)+((_0x29644f===null||_0x29644f===void 0x0?void 0x0:_0x29644f[_0x2cfc6b(0x244)])||'')+_0x2cfc6b(0x1a6)+((_0x29644f===null||_0x29644f===void 0x0?void 0x0:_0x29644f[_0x2cfc6b(0x255)])||'')+_0x2cfc6b(0x172));}),_0x31c9a7[_0x50416b(0x27e)][_0x50416b(0x258)](document[_0x50416b(0x270)]),_0x31c9a7[_0x50416b(0x27e)][_0x50416b(0x16c)](),_0x31c9a7[_0x50416b(0x16b)]['show']();},'mode'(){const _0xa5651b=_0x5bd2db,_0x1ea6e7=this;return _0x5d8056(_0x1ea6e7[_0xa5651b(0x1e2)]);},'setMode'(_0x2caa83){const _0xe7f848=_0x5bd2db,_0x73a54c=this,_0x4d24aa=_0x5c3b7c(_0x2caa83);_0x73a54c[_0xe7f848(0x1e2)]=_0x4d24aa;},'_create'(){const _0x1dce4c=_0x5bd2db,_0x57cfa3=this;_0x57cfa3[_0x1dce4c(0x232)]=this[_0x1dce4c(0x284)],_0x57cfa3[_0x1dce4c(0x232)]['css']('border','none'),_0x57cfa3[_0x1dce4c(0x279)]=_0x57cfa3['$input']['wrap'](_0x1dce4c(0x182))[_0x1dce4c(0x272)]()['addClass'](_0x1dce4c(0x181)),_0x57cfa3[_0x1dce4c(0x262)]=$('<div/>'),_0x57cfa3[_0x1dce4c(0x262)][_0x1dce4c(0x1b1)](_0x1dce4c(0x1f0)),_0x57cfa3[_0x1dce4c(0x232)][_0x1dce4c(0x216)](_0x57cfa3[_0x1dce4c(0x262)]),_0x57cfa3[_0x1dce4c(0x1f8)]=$(_0x1dce4c(0x219))[_0x1dce4c(0x1b1)](_0x1dce4c(0x193)),_0x57cfa3[_0x1dce4c(0x262)]['append'](_0x57cfa3[_0x1dce4c(0x1f8)]),_0x57cfa3[_0x1dce4c(0x1f8)]['append'](_0x57cfa3[_0x1dce4c(0x232)]),_0x57cfa3[_0x1dce4c(0x1eb)]=$(_0x1dce4c(0x256)),_0x57cfa3['$input'][_0x1dce4c(0x21a)](_0x57cfa3[_0x1dce4c(0x1eb)]),_0x57cfa3[_0x1dce4c(0x1eb)]['on'](_0x1dce4c(0x21c),function(){return _0x51888e(this,void 0x0,void 0x0,function*(){const _0x5da667=_0x5e55;var _0x11c751;let _0x1884f2=![],_0x3e1b32;!_0x57cfa3[_0x5da667(0x26c)]['is'](_0x5da667(0x20a))&&(_0x57cfa3[_0x5da667(0x24f)]['hide'](),_0x3e1b32=yield _0x57cfa3[_0x5da667(0x23b)](),(_0x3e1b32!==_0x57cfa3[_0x5da667(0x1ac)]||((_0x11c751=_0x57cfa3[_0x5da667(0x1ac)])===null||_0x11c751===void 0x0?void 0x0:_0x11c751[_0x5da667(0x1f7)])!==_0x3e1b32[_0x5da667(0x1f7)])&&(yield _0x57cfa3['reset']()),_0x1884f2=!![]),_0x57cfa3[_0x5da667(0x26c)][_0x5da667(0x25a)](),_0x1884f2&&(yield _0xb5f643(_0x57cfa3,_0x3e1b32));});}),_0x57cfa3[_0x1dce4c(0x1d3)]=$(_0x1dce4c(0x1df)),_0x57cfa3['$input'][_0x1dce4c(0x21a)](_0x57cfa3[_0x1dce4c(0x1d3)]),_0x57cfa3[_0x1dce4c(0x1d3)]['on'](_0x1dce4c(0x21c),()=>{const _0x1e2aba=_0x1dce4c,_0x3530ec=_0x57cfa3[_0x1e2aba(0x275)]();if(!_0x3530ec)return;this['verify'](_0x3530ec);});const _0x137ce0=_0x13aa8c=>_0x51888e(this,void 0x0,void 0x0,function*(){const _0x3fe2dd=_0x1dce4c,_0x145e02=this;let _0x189590=_0x145e02[_0x3fe2dd(0x275)]();if(!_0x189590)return;const _0x33f38a=_0x5506e0(_0x145e02),{data:_0x1550a8,json:_0x1d4f76}=yield _0x570cd6(_0x33f38a,_0x13aa8c);if(_0x1550a8[_0x3fe2dd(0x1ea)]!==0xc8)return;if(_0x1d4f76[_0x3fe2dd(0x1fc)][_0x3fe2dd(0x1af)](/Good/)){const _0xc5c07f=_0x3b6f12(_0x1d4f76,_0x189590);_0x145e02[_0x3fe2dd(0x232)][_0x3fe2dd(0x174)](_0xc5c07f),_0x145e02[_0x3fe2dd(0x232)][_0x3fe2dd(0x202)]('change');}});{_0x57cfa3[_0x1dce4c(0x293)]=$(_0x1dce4c(0x182)),_0x57cfa3[_0x1dce4c(0x232)][_0x1dce4c(0x282)](_0x57cfa3[_0x1dce4c(0x293)]),_0x57cfa3[_0x1dce4c(0x16b)]=$('<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>')[_0x1dce4c(0x296)](_0x57cfa3[_0x1dce4c(0x293)]),$(_0x1dce4c(0x1ad))[_0x1dce4c(0x25a)](!![])[_0x1dce4c(0x258)](_0x57cfa3[_0x1dce4c(0x16b)]),_0x57cfa3[_0x1dce4c(0x16b)]['on'](_0x1dce4c(0x21c),function(_0x21bacc){const _0x23419b=_0x1dce4c;_0x21bacc[_0x23419b(0x19a)](),_0x21bacc[_0x23419b(0x1f3)](),_0x57cfa3[_0x23419b(0x273)]();}),_0x57cfa3[_0x1dce4c(0x16b)]['on'](_0x1dce4c(0x266),function(_0x23e0be){const _0xd57d88=_0x1dce4c;_0x23e0be['keyCode']===0x28&&_0x57cfa3[_0xd57d88(0x273)](),_0x23e0be[_0xd57d88(0x1f3)]();})['on'](_0x1dce4c(0x252),function(){_0x57cfa3['$uiSelect']['addClass']('red-ui-typedInput-focus');})['on']('blur',function(){const _0x531d84=_0x1dce4c;_0x57cfa3[_0x531d84(0x293)][_0x531d84(0x1d0)](_0x531d84(0x1c4));}),_0x57cfa3['$selectLabel']=$(_0x1dce4c(0x212))[_0x1dce4c(0x258)](_0x57cfa3['$selectTrigger']);}this[_0x1dce4c(0x1d5)]();!_0x57cfa3[_0x1dce4c(0x232)][_0x1dce4c(0x235)](_0x1dce4c(0x1dc))&&_0x57cfa3[_0x1dce4c(0x232)]['attr'](_0x1dce4c(0x1dc),_0x1dce4c(0x201));_0x57cfa3['$info']=$(_0x1dce4c(0x288)),_0x57cfa3[_0x1dce4c(0x24f)][_0x1dce4c(0x16c)](),_0x57cfa3['$combo'][_0x1dce4c(0x229)](_0x57cfa3['$info']),_0x57cfa3[_0x1dce4c(0x26c)]=$(_0x1dce4c(0x219))[_0x1dce4c(0x1b1)]('sterfive-dropdown')[_0x1dce4c(0x16c)]()['appendTo'](_0x57cfa3[_0x1dce4c(0x262)]),_0x57cfa3[_0x1dce4c(0x24e)]=$(_0x1dce4c(0x1d2))[_0x1dce4c(0x258)](_0x57cfa3[_0x1dce4c(0x26c)]),this[_0x1dce4c(0x233)]();const _0x41bd4f=(_0x5cd6e6,_0x412ae2)=>{const _0xf33d17=_0x1dce4c,_0x20846a=0x14,_0x144a51=0x14,_0x5df1ef=_0x5cd6e6[_0xf33d17(0x171)](),_0x53ce86=_0x412ae2;if(_0x53ce86[_0xf33d17(0x1e5)]>=_0x5df1ef[_0xf33d17(0x1be)]&&_0x53ce86[_0xf33d17(0x1e5)]<=_0x5df1ef[_0xf33d17(0x1be)]+_0x20846a&&_0x53ce86[_0xf33d17(0x1c7)]>=_0x5df1ef[_0xf33d17(0x251)]&&_0x53ce86[_0xf33d17(0x1c7)]<=_0x5df1ef[_0xf33d17(0x251)]+_0x144a51)return!![];return![];},_0x4d100d=_0x519b4f=>_0x51888e(this,void 0x0,void 0x0,function*(){const _0x7f4833=_0x1dce4c;if(_0x519b4f['hasClass'](_0x7f4833(0x28d)))_0x15a606(_0x57cfa3,_0x519b4f);else{if(_0x519b4f[_0x7f4833(0x18b)]('expanded'))_0x519b4f[_0x7f4833(0x27f)]('ul')[_0x7f4833(0x25a)](),_0x519b4f['toggleClass']('expandable\x20expanded');else{if(_0x519b4f[_0x7f4833(0x27f)]('ul')[_0x7f4833(0x27f)]()[_0x7f4833(0x19e)]>0x0)_0x519b4f[_0x7f4833(0x27f)]('ul')[_0x7f4833(0x25a)](),_0x519b4f['toggleClass'](_0x7f4833(0x239));else;}}});_0x57cfa3[_0x1dce4c(0x24e)]['on']('dblclick','li',function(_0x887833){const _0x143ef3=_0x1dce4c;var _0x355b0d,_0x45c339;_0x887833[_0x143ef3(0x1f3)]();let _0x4b98b6=$(this);if(_0x41bd4f(_0x4b98b6,_0x887833))_0x4d100d(_0x4b98b6);else{const _0xb7b475=_0x4b98b6[_0x143ef3(0x237)](_0x143ef3(0x26a)),_0x2ea059=_0x4b98b6[_0x143ef3(0x237)](_0x143ef3(0x241));if(_0x57cfa3['options'][_0x143ef3(0x184)]&&!_0x57cfa3[_0x143ef3(0x18e)]['isSelectable'](_0x2ea059))return;_0x57cfa3['$input']['data']('reference',_0x2ea059),((_0x355b0d=_0x2ea059[_0x143ef3(0x218)])===null||_0x355b0d===void 0x0?void 0x0:_0x355b0d['text'])||((_0x45c339=_0x2ea059[_0x143ef3(0x25d)])===null||_0x45c339===void 0x0?void 0x0:_0x45c339[_0x143ef3(0x179)])||_0x2ea059['nodeId']['toString']();let _0xb32312=_0x57cfa3[_0x143ef3(0x275)]();!_0xb32312&&(_0xb32312=_0x143ef3(0x1f7),_0x57cfa3[_0x143ef3(0x23c)](_0xb32312)),_0x137ce0(_0xb7b475)['then'](()=>{const _0x5009c1=_0x143ef3;_0x57cfa3['$dropdown'][_0x5009c1(0x16c)]();})[_0x143ef3(0x23f)](_0x2881e3=>{const _0x361ae9=_0x143ef3;_0x57cfa3['$dropdown'][_0x361ae9(0x16c)]();});}}),_0x57cfa3['$tree']['on'](_0x1dce4c(0x21c),'li',function(_0x15de2b){const _0x400b5f=_0x1dce4c;_0x15de2b[_0x400b5f(0x1f3)]();let _0x409e3f=$(this);_0x41bd4f(_0x409e3f,_0x15de2b)&&_0x4d100d(_0x409e3f),_0x23a96a(_0x57cfa3,_0x409e3f);}),$(document)['on'](_0x1dce4c(0x21c),function(_0x4713dc){const _0x3d5c3e=_0x1dce4c;!$(_0x4713dc['target'])[_0x3d5c3e(0x194)](_0x57cfa3['$combo'])[_0x3d5c3e(0x19e)]&&_0x57cfa3['$dropdown']['hide']();});}});},_0x2bd0fa=()=>{const _0x3ad517=_0x26ab0e;$[_0x3ad517(0x230)](_0x3ad517(0x1d4),{'options':{'namesToBits':{},'value':0x0},'_create'(){const _0x5d1428=_0x3ad517,_0x1cf906=this;_0x1cf906[_0x5d1428(0x232)]=this[_0x5d1428(0x284)],_0x1cf906[_0x5d1428(0x262)]=$(_0x5d1428(0x219)),_0x1cf906[_0x5d1428(0x262)][_0x5d1428(0x1b1)]('sterfive-combo-box'),this[_0x5d1428(0x284)][0x0][_0x5d1428(0x1db)]['replaceChild'](_0x1cf906[_0x5d1428(0x262)][0x0],this[_0x5d1428(0x284)][0x0]),_0x1cf906[_0x5d1428(0x1f8)]=$(_0x5d1428(0x219))[_0x5d1428(0x1b1)](_0x5d1428(0x166)),_0x1cf906[_0x5d1428(0x262)][_0x5d1428(0x229)](_0x1cf906[_0x5d1428(0x1f8)]),_0x1cf906['$inputGroup'][_0x5d1428(0x229)](_0x1cf906[_0x5d1428(0x232)]),_0x1cf906[_0x5d1428(0x1eb)]=$('<button><i\x20class=\x22fa\x20fa-eye\x22></i></button>'),_0x1cf906[_0x5d1428(0x1f8)][_0x5d1428(0x229)](_0x1cf906[_0x5d1428(0x1eb)]),_0x1cf906[_0x5d1428(0x1eb)]['on'](_0x5d1428(0x21c),function(){const _0x51783a=_0x5d1428;_0x1cf906[_0x51783a(0x26c)]['toggle'](),_0x1cf906['$dropdown']['is'](_0x51783a(0x20a))&&(_0x1ab775(),_0x1cf906[_0x51783a(0x262)][_0x51783a(0x263)](_0x51783a(0x1bc))[_0x51783a(0x1da)](function(){const _0x103090=_0x51783a;let _0x2db86e=$(this)[_0x103090(0x287)]();const _0x20112b=_0x1cf906[_0x103090(0x18e)][_0x103090(0x163)][_0x2db86e];if(_0x20112b===undefined)throw new Error(_0x103090(0x25b));(_0x1cf906['options'][_0x103090(0x26a)]&_0x20112b)===_0x20112b?$(this)[_0x103090(0x1b1)](_0x103090(0x167)):$(this)['removeClass'](_0x103090(0x167));}),_0x1cf906[_0x51783a(0x165)]());}),_0x1cf906[_0x5d1428(0x26c)]=$('<div\x20class=\x22custom-select\x22></div>')[_0x5d1428(0x16c)]()[_0x5d1428(0x188)](this[_0x5d1428(0x284)]),$[_0x5d1428(0x1da)](this[_0x5d1428(0x18e)]['namesToBits'],function(_0x4f73d1){const _0x297462=_0x5d1428,_0x5a021a=$(_0x297462(0x17a)+_0x4f73d1+'\x22>'+_0x297462(0x1cf)+_0x4f73d1+'</div>');_0x1cf906[_0x297462(0x26c)]['append'](_0x5a021a);}),_0x1cf906[_0x5d1428(0x26c)]['on'](_0x5d1428(0x21c),_0x5d1428(0x1bc),function(){const _0x3ea23a=_0x5d1428;$(this)[_0x3ea23a(0x1b2)](_0x3ea23a(0x167));const _0x4e2956=$(this)[_0x3ea23a(0x237)]('value');$(this)[_0x3ea23a(0x18b)](_0x3ea23a(0x167))?_0x57aae6(_0x4e2956):_0x29eb1d(_0x4e2956),_0x1cf906['updateValue']();}),_0x1cf906['$combo'][_0x5d1428(0x229)](_0x1cf906[_0x5d1428(0x26c)]);const _0x1ab775=()=>{const _0x4bc84f=_0x5d1428,_0x449dc5=this[_0x4bc84f(0x284)][_0x4bc84f(0x174)]();_0x1cf906[_0x4bc84f(0x18e)][_0x4bc84f(0x26a)]=_0x33ad28(_0x1cf906[_0x4bc84f(0x18e)][_0x4bc84f(0x163)],_0x449dc5);},_0x57aae6=_0x54611c=>{const _0x415272=_0x5d1428,_0x423557=_0x1cf906['options'][_0x415272(0x163)][_0x54611c];if(_0x423557===undefined)throw new Error('Unknown\x20bit\x20name');this['options']['value']|=_0x423557;},_0x29eb1d=_0x801fad=>{const _0x4ffc08=_0x5d1428,_0x1c0497=_0x1cf906[_0x4ffc08(0x18e)][_0x4ffc08(0x163)][_0x801fad];if(_0x1c0497===undefined)throw new Error(_0x4ffc08(0x25b));this[_0x4ffc08(0x18e)]['value']&=~_0x1c0497,this[_0x4ffc08(0x284)][_0x4ffc08(0x174)](_0x14d8ce(_0x1cf906[_0x4ffc08(0x18e)][_0x4ffc08(0x163)],this['options']['value']));};_0x1ab775();},'updateValue'(){const _0x4a0534=_0x3ad517,_0x367194=this;this[_0x4a0534(0x284)][_0x4a0534(0x174)](_0x14d8ce(_0x367194[_0x4a0534(0x18e)][_0x4a0534(0x163)],this[_0x4a0534(0x18e)]['value']));},'_destroy'(){const _0x3f0840=_0x3ad517,_0x1ec0f9=this;_0x1ec0f9[_0x3f0840(0x26c)][_0x3f0840(0x295)]();}});},_0x4d5924=()=>{const _0x53ae70=_0x26ab0e,_0x3f49e2=$(_0x53ae70(0x1fd)),_0x360589=_0x3f49e2['val'](),_0x25ae1e=RED[_0x53ae70(0x220)][_0x53ae70(0x1cd)](_0x360589);if(!_0x25ae1e)return undefined;const {endpoint:_0x5b603f,securityMode:_0x327263,securityPolicy:_0x10f083,userIdentityType:_0x5a2a57,credentials:_0x5dfc18,namespaceAliases:_0x4daef9}=_0x25ae1e,_0x195888={'endpoint':_0x5b603f,'securityMode':_0x327263,'securityPolicy':_0x10f083,'userIdentityType':_0x5a2a57,'credentials':_0x5dfc18,'namespaceAliases':_0x4daef9};return _0x195888;},_0x4b9569=()=>{const _0x557fb9=_0x26ab0e,_0x5c2df7=$(_0x557fb9(0x1fd)),_0x39a404=_0x5c2df7[_0x557fb9(0x174)](),_0x49570b=_0x4d5924();if(!_0x49570b)return undefined;const _0x2a372a=_0x49570b[_0x557fb9(0x22b)];return Object[_0x557fb9(0x1ee)]({'namespaceAliases':_0x2a372a,'id':_0x39a404},_0x49570b);},_0x12659c=()=>{return{'endpointNode':_0x4b9569};},_0x1c7a97=()=>{const _0x33a3e3=_0x26ab0e,_0x269144=$(_0x33a3e3(0x178));console['log'](_0x33a3e3(0x29a),_0x269144['length']);if(_0x269144['length']){console[_0x33a3e3(0x28a)](_0x33a3e3(0x210));const _0x46a212=$(_0x33a3e3(0x24c),{'src':_0x33a3e3(0x192),'scrolling':'no','style':_0x33a3e3(0x253),'allowtransparency':'true','width':_0x33a3e3(0x24a),'height':_0x33a3e3(0x1d7)});_0x269144[_0x33a3e3(0x229)](_0x46a212),_0x46a212[_0x33a3e3(0x23d)]({'position':_0x33a3e3(0x25c),'right':_0x33a3e3(0x1fe),'bottom':_0x33a3e3(0x221)});}};RED[_0x26ab0e(0x220)][_0x26ab0e(0x1b8)](_0x26ab0e(0x16f),{'category':'opcua','color':_0x26ab0e(0x290),'align':_0x26ab0e(0x1de),'icon':_0x26ab0e(0x27b),'paletteLabel':_0x26ab0e(0x17b),'defaults':{'inputs':{'value':0x1},'output':{'value':0x4},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0x26ab0e(0x20b)},'nodeId':{'value':'','required':![]},'referenceTypeId':{'value':_0x26ab0e(0x1c2),'required':![]},'includeSubtypes':{'value':![],'required':!![]},'browseDirection':{'value':_0x26ab0e(0x1bf),'required':!![]},'nodeClassMask':{'value':_0x26ab0e(0x231),'required':![]},'resultMask':{'value':_0x26ab0e(0x259),'required':![]}},'outputs':0x1,'label'(){const _0x3d90a4=_0x26ab0e;return this[_0x3d90a4(0x179)]||_0x3d90a4(0x277);},'labelStyle'(){const _0x360fb3=_0x26ab0e;return this[_0x360fb3(0x179)]?_0x360fb3(0x1ec):'';},'oneditprepare'(){const _0x31801a=_0x26ab0e,_0x3c8a65=this;_0xb6116b(),_0x2bd0fa(),_0x1c7a97(),_0x3c8a65[_0x31801a(0x173)]=0x1;const _0x2b4854=$(_0x31801a(0x20d));_0x2b4854['flagEditor']({'namesToBits':{'Object':0x1,'Variable':0x2,'Method':0x4,'ObjectType':0x8,'VariableType':0x10,'ReferenceType':0x20,'DataType':0x40,'View':0x80},'value':0x0});const _0x4b2239=$('#node-input-resultMask');_0x4b2239['flagEditor']({'namesToBits':{'ReferenceType':0x1,'IsForward':0x2,'NodeClass':0x4,'BrowseName':0x8,'DisplayName':0x10,'TypeDefinition':0x20},'value':0x3f});const _0x1e5197=$(_0x31801a(0x226));_0x1e5197[_0x31801a(0x265)](Object[_0x31801a(0x1ee)](Object[_0x31801a(0x1ee)]({},_0x12659c()),{'isSelectable'(_0x1d4ac5){const _0x47ed50=_0x31801a;return _0x1d4ac5['nodeClass']===_0x47ed50(0x1aa)||_0x1d4ac5[_0x47ed50(0x18d)]===_0x47ed50(0x1c6);}}));const _0x11912c={'nodeId':_0x31801a(0x20c),'referenceTypeId':'','browseName':{'namespaceIndex':0x0,'name':_0x31801a(0x1e0)},'displayName':{'text':_0x31801a(0x1e0)},'nodeClass':'ReferenceType','typeDefinition':_0x31801a(0x20c)},_0x3b3406=$(_0x31801a(0x268));_0x3b3406[_0x31801a(0x265)](Object[_0x31801a(0x1ee)](Object[_0x31801a(0x1ee)]({},_0x12659c()),{'parentNode':()=>_0x11912c,'isSelectable'(_0x52cfe7){const _0x1fa4a4=_0x31801a;return _0x52cfe7[_0x1fa4a4(0x18d)]===_0x1fa4a4(0x246);},'isTypeRef':!![]}));},'oneditsave'(){}});}()));
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHg1MTg4OGUiLCJfMHgxNTBjOTAiLCJfMHgxYzgyMmMiLCJfMHg0MDZhMTYiLCJfMHgzMDc1OTEiLCJfMHg0ODZiYmYiLCJfMHgzNmNjMjAiLCJfMHgxODIyYjAiLCJQcm9taXNlIiwiXzB4MjdhNjY3IiwiXzB4MjliYmVlIiwiXzB4M2MyNDRjIiwiXzB4MTFjYWQwIiwiXzB4MTQyYzdmIiwiXzB4MTIzOWM4IiwiXzB4MmYwMjhiIiwiXzB4YzYwMTI1IiwiXzB4NDg5NTBiIiwiXzB4M2E1N2ZjIiwiU3VwcHJlc3NlZEVycm9yIiwiXzB4NGJlMzA1IiwiXzB4MmYxMjVhIiwiXzB4ZTI2MjQwIiwiXzB4MmIxNDM4IiwiRXJyb3IiLCJfMHg0NDYxNDQiLCJfMHgxM2YzNTgiLCJfMHhlMWExZSIsIl8weDE2ZjI1NSIsIl8weDU2Zjc5ZiIsIl8weDQ5MDM5YiIsIl8weDIzOTYxMSIsIl8weDM3NjkxZSIsIl8weDVlOGYzMyIsIl8weDQzZTBiMCIsIl8weDE2MjczMCIsIl8weGIwNmM1NSIsIl8weDE4MDEwYSIsIl8weDMzYWQyOCIsIl8weDMyNWYxOCIsIl8weDRhNzBlMSIsIl8weDUzZDE5NyIsInBhcnNlSW50IiwiaXNOYU4iLCJfMHg1MmE5NDkiLCJfMHg1YWNlNzkiLCJfMHgyOTA5ZjYiLCJfMHgyMWJkZjYiLCJfMHgxNGQ4Y2UiLCJfMHhmNWZhNTQiLCJfMHgzZTcxODAiLCJfMHgyZTczMmUiLCJfMHgxMWFiZjgiLCJfMHgzZWY5NDQiLCJPYmplY3QiLCJfMHgzODQ0ZTUiLCJfMHgzNGFkZGMiLCJfMHgyZDA2MjciLCJfMHg0NjdkOTgiLCJfMHgxZTgwYWMiLCJfMHgxNmQ2MTAiLCJfMHg0NjhhNjUiLCJfMHgyMjQyMGIiLCJfMHg0ZDNjNGEiLCJfMHg0YWQ4ZTciLCJlbmRwb2ludE5vZGUiLCJfMHhiOGE1YTkiLCJlbmRwb2ludCIsIl8weDFlYjYzNyIsImJhc2VVcmwiLCJfMHg1Y2U1ODIiLCJfMHg0OTJhOWMiLCJfMHg1MzczNGYiLCJfMHgzYzIyODgiLCJfMHgxNmEzNmMiLCJfMHgyZWRmOWYiLCJfMHg1YzAwMzQiLCJmZXRjaCIsIkpTT04iLCJjb25zb2xlIiwiXzB4YzBkNWUyIiwiXzB4M2M1YzU1IiwiXzB4MWE3NDE3IiwiXzB4NDhhYzMxIiwiXzB4NTBiZTM0IiwiXzB4MTBkYmU3IiwiXzB4NTYxNjJlIiwiXzB4NTc3YmQ4IiwiXzB4NzhjOTZjIiwiXzB4ZTg4MmJhIiwibm9kZUlkIiwiXzB4MTZhYjkxIiwicm9vdE5vZGVJZCIsIl8weDI1NjRjNCIsImlzVHlwZSIsIl8weDQzZjEzYyIsIl8weDFjYWQ2MCIsIl8weDVlZjhhMSIsIl8weDUxZTYzNyIsIl8weDFiOWMxYiIsIl8weDNiNmYxMiIsIl8weDE3NzhhYiIsIl8weDVkYTVlMiIsIl8weDM3NDBmMCIsIl8weDNmZjdkNSIsIl8weGZlMmMyYyIsIl8weGIzMGVhMCIsIl8weDFjNGU3YSIsIl8weDU4OGY2MyIsIl8weDQwNDg4ZSIsIl8weDViYTcxNyIsIl8weDVkODA1NiIsIl8weDRmZjhjMCIsIl8weGJhNjc0NiIsIl8weDVjM2I3YyIsIl8weDNkMTIwZiIsIl8weDU3MGNkNiIsIl8weDE5NDAxOCIsIl8weDE1MDAzZSIsIl8weDEwYjY3YyIsIl8weDM2MGMwYiIsIl8weDU4ZDhkNiIsIl8weDM5YTlhYSIsIl8weDU0MzQ1NCIsIl8weDQ1YTVmMyIsIl8weDVkMjRhZCIsIl8weDQ1MWQ4IiwiUkVEIiwiXzB4MmRiZTc4IiwiXzB4M2I0MjUzIiwiXzB4MzFkM2Y5IiwiXzB4MTBlZWUxIiwiXzB4NDRhODFhIiwiXzB4NDFmZjE0IiwiXzB4ZmU5ZjMiLCJfMHgzMzdiZDgiLCJfMHgyZWEwY2YiLCJfMHgzMzQyMTIiLCJfMHgzMzRjNDQiLCJfMHgyZGU5NjQiLCJfMHgzZmI3OTIiLCJfMHgzOGFhY2IiLCJfMHgyYzlkOWMiLCJqc29uIiwiXzB4MWNlMTBkIiwiZGF0YSIsIl8weDI1NjVhNSIsIl8weGM4ZGFjMSIsIl8weDFjNmI4OSIsIl8weDNlZTJkYiIsInNldFRpbWVvdXQiLCJfMHg1MmJmZDQiLCJfMHg0MTg3YWUiLCJfMHgxN2U1OTYiLCJfMHgyOTE3ZGEiLCJfMHgxMWI4N2MiLCJfMHg0OWFkYzMiLCJfMHgyMTVlYWEiLCJfMHgyZmNmMjAiLCJfMHg1ZDdlNTYiLCJfMHgyNWQzYTkiLCJfMHg0OTJhZjIiLCJfMHgzNGFiYmYiLCJfMHgyMDE2YTAiLCJfMHhhMWRmNDkiLCJfMHgzZGI0YTkiLCJfMHgzMjNlNWUiLCJfMHg0NTMxYzIiLCJfMHg1YTU3NTciLCJfMHgzODg4YWUiLCJfMHgyNmE2NjMiLCJfMHgyN2ZhY2IiLCIkIiwiXzB4NDMwZDMxIiwiXzB4NTM2YzQ5IiwiaWNvbiIsIl8weGNhNmZkZSIsImNvbG9yIiwiXzB4NThkYmEyIiwiXzB4NDExZDUzIiwiXzB4M2UxYTFmIiwiXzB4NGZjMWM0IiwiXzB4MmE2MDdkIiwiXzB4MjdlZDE4IiwiXzB4MjNhOTZhIiwiXzB4NjJhMDI2IiwiXzB4NGRlZDg4IiwiXzB4NDgwNjAyIiwiXzB4MzM2M2RjIiwiXzB4MzZmMTUwIiwiXzB4MzY2OGRkIiwiXzB4NTljMDI1IiwiXzB4MWIyOTk3IiwiXzB4NWNmZmQ1IiwiXzB4MTVhNjA2IiwiXzB4M2IzNGQ3IiwiXzB4ZTE3MDNmIiwiXzB4MTdiZTlkIiwiXzB4MWI2NzYxIiwiXzB4NWJjZmVlIiwiXzB4MTM2YWEzIiwidW5kZWZpbmVkIiwiXzB4NDk0YjdlIiwiXzB4YjVmNjQzIiwiXzB4NWQ5NTdlIiwiXzB4MWMzNmFiIiwiXzB4MzI2N2IwIiwiXzB4MjM3NjE0IiwiXzB4MzAwYmNiIiwiXzB4NTUwNmUwIiwiXzB4MjU1ODUzIiwiXzB4MjY5OTIwIiwiXzB4M2UwODM3IiwiXzB4NDk5ZDY0IiwiXzB4NDZjZTU1IiwiXzB4NDdmMWI5IiwicmVmZXJlbmNlcyIsIl8weDFjYmU5OSIsIl8weDMzZDA5YSIsIl8weDk5YmRlYyIsIl8weDVmMDM4NCIsIl8weDQ0ZjZjYSIsIl8weDNiMTQ1MSIsIl8weDM0NTRjNSIsIl8weDQ2M2Q2YiIsIl8weDEwYzAyOCIsIl8weDQwMGQ3NiIsIl8weDUyZjNlYSIsIl8weDFmMzFkYyIsIl8weDIwYWE4MCIsIl8weDQ3MjA2ZCIsIl8weDQwMWZhOSIsIl8weDI4NDU2NyIsIl8weGI2MTE2YiIsIl8weDExNmE4NyIsIl8weGU1NmM0YyIsIl8weDI5ZWJhYiIsIl8weDI1MmE0YiIsIl8weDg2Y2IzMyIsIl8weDVmMDAyZSIsIl8weDcwYjAwYiIsIl8weDM4MmYwYSIsIl8weGIwZmIzNiIsIl8weDFhZDJjMCIsIl8weDRjOWFlZCIsIl8weDRjZmE0MSIsIl8weDIyMDU5MSIsImRvY3VtZW50IiwiXzB4MzMzMDE3IiwiXzB4MzZlYTIyIiwiXzB4MTcxM2UxIiwiXzB4NjI4ZGJmIiwiXzB4NTBjYWZmIiwiXzB4MTkzY2I4IiwiXzB4MmM5OTY0IiwiXzB4MmRiNTFmIiwiXzB4MjA5NGExIiwiXzB4MjdiMTUzIiwiXzB4MTE4N2VjIiwiXzB4MTRkZmE5IiwiXzB4NGY0YjM2IiwiXzB4NTIxZGJkIiwiXzB4MWQwMWI0IiwiXzB4NDFlMzY2IiwiXzB4NGY3YWM4IiwiXzB4NGI4YmNmIiwiXzB4YmRjN2RjIiwid2luZG93IiwiXzB4NDljZmEzIiwiXzB4NTI5MzA5IiwiXzB4Mzk0NzkyIiwiXzB4M2YyYTkxIiwiXzB4MzFjOWE3IiwiXzB4MjM3NGEwIiwiXzB4NDU2OTM2IiwiXzB4MmUwNDI5IiwiXzB4MjM5YzIxIiwiXzB4M2U2YjFhIiwiXzB4MWI4YTdkIiwiXzB4MTc2NDcxIiwiXzB4Mjc1NTk4IiwiXzB4Mjk2NDRmIiwiXzB4YjMxY2VjIiwiXzB4MWVhNmU3IiwiXzB4MmNhYTgzIiwiXzB4NzNhNTRjIiwiXzB4NGQyNGFhIiwiXzB4NTdjZmEzIiwiXzB4MTFjNzUxIiwiXzB4MTg4NGYyIiwiXzB4M2UxYjMyIiwiXzB4MzUzMGVjIiwiXzB4MTM3Y2UwIiwiXzB4MTNhYThjIiwiXzB4MTQ1ZTAyIiwiXzB4MTg5NTkwIiwiXzB4MzNmMzhhIiwiXzB4MTU1MGE4IiwiXzB4MWQ0Zjc2IiwiXzB4YzVjMDdmIiwiXzB4MjFiYWNjIiwiXzB4MjNlMGJlIiwiXzB4NDFiZDRmIiwiXzB4NWNkNmU2IiwiXzB4NDEyYWUyIiwiXzB4MjA4NDZhIiwiXzB4MTQ0YTUxIiwiXzB4NWRmMWVmIiwiXzB4NTNjZTg2IiwiXzB4NGQxMDBkIiwiXzB4NTE5YjRmIiwiXzB4ODg3ODMzIiwiXzB4MzU1YjBkIiwiXzB4NDVjMzM5IiwiXzB4NGI5OGI2IiwiXzB4YjdiNDc1IiwiXzB4MmVhMDU5IiwiXzB4YjMyMzEyIiwiXzB4Mjg4MWUzIiwiXzB4MTVkZTJiIiwiXzB4NDA5ZTNmIiwiXzB4NDcxM2RjIiwiXzB4MmJkMGZhIiwiXzB4MWNmOTA2IiwiXzB4MWFiNzc1IiwiXzB4MmRiODZlIiwiXzB4MjAxMTJiIiwiXzB4NGY3M2QxIiwiXzB4NWEwMjFhIiwiXzB4NGUyOTU2IiwiXzB4NTdhYWU2IiwiXzB4MjllYjFkIiwiXzB4NDQ5ZGM1IiwiXzB4NTQ2MTFjIiwiXzB4NDIzNTU3IiwiXzB4ODAxZmFkIiwiXzB4MWMwNDk3IiwiXzB4MzY3MTk0IiwiXzB4MWVjMGY5IiwiXzB4NGQ1OTI0IiwiXzB4M2Y0OWUyIiwiXzB4MzYwNTg5IiwiXzB4MjVhZTFlIiwiXzB4NWI2MDNmIiwic2VjdXJpdHlNb2RlIiwiXzB4MzI3MjYzIiwic2VjdXJpdHlQb2xpY3kiLCJfMHgxMGYwODMiLCJ1c2VySWRlbnRpdHlUeXBlIiwiXzB4NWEyYTU3IiwiY3JlZGVudGlhbHMiLCJfMHg1ZGZjMTgiLCJuYW1lc3BhY2VBbGlhc2VzIiwiXzB4NGRhZWY5IiwiXzB4MTk1ODg4IiwiXzB4NGI5NTY5IiwiXzB4NWMyZGY3IiwiXzB4MzlhNDA0IiwiXzB4NDk1NzBiIiwiXzB4MmEzNzJhIiwiXzB4MTI2NTljIiwiXzB4MWM3YTk3IiwiXzB4MjY5MTQ0IiwiXzB4NDZhMjEyIiwiXzB4M2M4YTY1IiwiXzB4MmI0ODU0IiwiXzB4NGIyMjM5IiwiXzB4MWU1MTk3IiwiXzB4MWQ0YWM1IiwiXzB4MTE5MTJjIiwiXzB4M2IzNDA2IiwiXzB4NTJjZmU3Il0sIm1hcHBpbmdzIjoic3ZNQUFBLENBQUMsVSxD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LEVBQWNBLE1BQUEsQyxnQkFBQSxFQUFjLEVBQWQsQ0FBa0JrVCxTQUFBLEVBQWxCLENBQWQsQ0FBaUUsQyxjQUFFLENBQWFRLFNBQWIsQyxrQ0FDeEVBLFNBQUEsQyxXQUFBLEksZ0JBQUEsRUFBcUNBLFNBQUEsQyxnQkFBQSxJLGtCQURpQyxDQUFqRSxDQUFwQixFQUdBLE1BQU1DLFNBQUEsQ0FBcUIsQyxRQUN2QixDLGdCQUR1QixDLGlCQUV2QixDLEVBRnVCLEMsWUFHdkIsQ0FBWSxDLGdCQUFFLEMsR0FBRixDLE1BQXFCLEMsZ0JBQXJCLENBSFcsQyxhQUl2QixDQUFhLEMsTUFBRSxDLGdCQUFGLENBSlUsQyxXQUt2QixDLGVBTHVCLEMsZ0JBTXZCLEMsZ0JBTnVCLENBQTNCLENBUU1DLFNBQUEsQ0FBbUJ0TSxDQUFBLEMsZ0JBQUEsQ0FSekIsQ0FTQXNNLFNBQUEsQyxnQkFBQSxFQUE2QjVULE1BQUEsQyxnQkFBQSxFQUFjQSxNQUFBLEMsZ0JBQUEsRUFBYyxFQUFkLENBQWtCa1QsU0FBQSxFQUFsQixDQUFkLENBQWlFLEMsWUFBRSxDQUFZLElBQU1TLFNBQXBCLEMsY0FDMUYsQ0FBYUUsU0FBYixDLGtDQUNXQSxTQUFBLEMsZ0JBQUEsSSxrQkFGK0UsQyxXQUd2RixDLElBSHVGLENBQWpFLENBQTdCLEMsRUF4RXVDLEMsWUE2RTNDLEUsRUE3RTJDLENBQS9DLEMsRUFqckNKLEciLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gKCkge1xuICAgICd1c2Ugc3RyaWN0JztcblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxyXG5cclxuICAgIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxyXG4gICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLlxyXG5cclxuICAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcclxuICAgIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxyXG4gICAgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULFxyXG4gICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXHJcbiAgICBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxyXG4gICAgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUlxyXG4gICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cclxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbiAgICAvKiBnbG9iYWwgUmVmbGVjdCwgUHJvbWlzZSwgU3VwcHJlc3NlZEVycm9yLCBTeW1ib2wsIEl0ZXJhdG9yICovXHJcblxyXG5cclxuICAgIGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgICAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cclxuICAgICAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHR5cGVvZiBTdXBwcmVzc2VkRXJyb3IgPT09IFwiZnVuY3Rpb25cIiA/IFN1cHByZXNzZWRFcnJvciA6IGZ1bmN0aW9uIChlcnJvciwgc3VwcHJlc3NlZCwgbWVzc2FnZSkge1xyXG4gICAgICAgIHZhciBlID0gbmV3IEVycm9yKG1lc3NhZ2UpO1xyXG4gICAgICAgIHJldHVybiBlLm5hbWUgPSBcIlN1cHByZXNzZWRFcnJvclwiLCBlLmVycm9yID0gZXJyb3IsIGUuc3VwcHJlc3NlZCA9IHN1cHByZXNzZWQsIGU7XHJcbiAgICB9O1xuXG4gICAgY29uc3QgT3JnYW5pemVzUmVmTm9kZUlkID0gXCJucz0wO2k9MzVcIjtcbiAgICBjb25zdCBGb2xkZXJUeXBlID0gXCJucz0wO2k9NjFcIjtcbiAgICBjb25zdCBIYXNDb21wb25lbnRSZWZOb2RlSWQgPSBcIm5zPTA7aT00N1wiO1xuICAgIGNvbnN0IEhhc1Byb3BlcnR5UmVmTm9kZUlkID0gXCJucz0wO2k9NDZcIjtcbiAgICBjb25zdCBIYXNDaGlsZFJlZk5vZGVJZCA9IFwibnM9MDtpPTM0XCI7XG4gICAgY29uc3QgSGFzU3VidHlwZVJlZk5vZGVJZCA9IFwibnM9MDtpPTQ1XCI7XG4gICAgY29uc3QgSGFzVHlwZURlZmluaXRpb25SZWZOb2RlSWQgPSBcIm5zPTA7aT00MFwiO1xuXG4gICAgdmFyIEJyb3dzZURpcmVjdGlvbjtcbiAgICAoZnVuY3Rpb24gKEJyb3dzZURpcmVjdGlvbikge1xuICAgICAgICBCcm93c2VEaXJlY3Rpb25bQnJvd3NlRGlyZWN0aW9uW1wiRm9yd2FyZFwiXSA9IDBdID0gXCJGb3J3YXJkXCI7XG4gICAgICAgIEJyb3dzZURpcmVjdGlvbltCcm93c2VEaXJlY3Rpb25bXCJJbnZlcnNlXCJdID0gMV0gPSBcIkludmVyc2VcIjtcbiAgICAgICAgQnJvd3NlRGlyZWN0aW9uW0Jyb3dzZURpcmVjdGlvbltcIkJvdGhcIl0gPSAyXSA9IFwiQm90aFwiO1xuICAgICAgICBCcm93c2VEaXJlY3Rpb25bQnJvd3NlRGlyZWN0aW9uW1wiSW52YWxpZFwiXSA9IDNdID0gXCJJbnZhbGlkXCI7XG4gICAgfSkoQnJvd3NlRGlyZWN0aW9uIHx8IChCcm93c2VEaXJlY3Rpb24gPSB7fSkpO1xuICAgIHZhciBOb2RlQ2xhc3M7XG4gICAgKGZ1bmN0aW9uIChOb2RlQ2xhc3MpIHtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIlVuc3BlY2lmaWVkXCJdID0gMF0gPSBcIlVuc3BlY2lmaWVkXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJPYmplY3RcIl0gPSAxXSA9IFwiT2JqZWN0XCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJWYXJpYWJsZVwiXSA9IDJdID0gXCJWYXJpYWJsZVwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiTWV0aG9kXCJdID0gNF0gPSBcIk1ldGhvZFwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiT2JqZWN0VHlwZVwiXSA9IDhdID0gXCJPYmplY3RUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJWYXJpYWJsZVR5cGVcIl0gPSAxNl0gPSBcIlZhcmlhYmxlVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiUmVmZXJlbmNlVHlwZVwiXSA9IDMyXSA9IFwiUmVmZXJlbmNlVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiRGF0YVR5cGVcIl0gPSA2NF0gPSBcIkRhdGFUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJWaWV3XCJdID0gMTI4XSA9IFwiVmlld1wiO1xuICAgIH0pKE5vZGVDbGFzcyB8fCAoTm9kZUNsYXNzID0ge30pKTtcbiAgICB2YXIgTm9kZUNsYXNzTWFzaztcbiAgICAoZnVuY3Rpb24gKE5vZGVDbGFzc01hc2spIHtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiT2JqZWN0XCJdID0gMV0gPSBcIk9iamVjdFwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJWYXJpYWJsZVwiXSA9IDJdID0gXCJWYXJpYWJsZVwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJNZXRob2RcIl0gPSA0XSA9IFwiTWV0aG9kXCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIk9iamVjdFR5cGVcIl0gPSA4XSA9IFwiT2JqZWN0VHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJWYXJpYWJsZVR5cGVcIl0gPSAxNl0gPSBcIlZhcmlhYmxlVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJSZWZlcmVuY2VUeXBlXCJdID0gMzJdID0gXCJSZWZlcmVuY2VUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIkRhdGFUeXBlXCJdID0gNjRdID0gXCJEYXRhVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJWaWV3XCJdID0gMTI4XSA9IFwiVmlld1wiO1xuICAgIH0pKE5vZGVDbGFzc01hc2sgfHwgKE5vZGVDbGFzc01hc2sgPSB7fSkpO1xuICAgIGZ1bmN0aW9uIGNvZXJjZUZsYWdNYXNrVG9OdW1iZXIodHlwZSwgc3RyKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygc3RyID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICByZXR1cm4gc3RyO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0ckFzTnVtID0gcGFyc2VJbnQoc3RyLCAxMCk7XG4gICAgICAgIGlmICghaXNOYU4oc3RyQXNOdW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gc3RyQXNOdW07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZmxhZ3MgPSBzdHIuc3BsaXQoL1xcfHw7fCwvKS5tYXAoKGEpID0+IGEudHJpbSgpKTtcbiAgICAgICAgbGV0IHJlc3VsdCA9IDA7XG4gICAgICAgIGZvciAoY29uc3QgZmxhZyBvZiBmbGFncykge1xuICAgICAgICAgICAgcmVzdWx0IHw9IHR5cGVbZmxhZ107XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgZnVuY3Rpb24gY29lcmNlRmxhZ01hc2tUb1N0cmluZyh0eXBlLCB2YWx1ZSkge1xuICAgICAgICB2YWx1ZSA9IGNvZXJjZUZsYWdNYXNrVG9OdW1iZXIodHlwZSwgdmFsdWUpO1xuICAgICAgICBjb25zdCByID0gW107XG4gICAgICAgIGlmICghdHlwZSlcbiAgICAgICAgICAgIHJldHVybiByLmpvaW4oXCIgfCBcIik7XG4gICAgICAgIGZvciAoY29uc3QgW2tleSwgYml0TWFza10gb2YgT2JqZWN0LmVudHJpZXModHlwZSkpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoKHZhbHVlICYgYml0TWFzaykgPT09IGJpdE1hc2spIHtcbiAgICAgICAgICAgICAgICAgICAgci5wdXNoKGtleSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByLmpvaW4oXCIgfCBcIik7XG4gICAgfVxuICAgIHZhciBSZXN1bHRNYXNrO1xuICAgIChmdW5jdGlvbiAoUmVzdWx0TWFzaykge1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJSZWZlcmVuY2VUeXBlXCJdID0gMV0gPSBcIlJlZmVyZW5jZVR5cGVcIjtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiSXNGb3J3YXJkXCJdID0gMl0gPSBcIklzRm9yd2FyZFwiO1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJOb2RlQ2xhc3NcIl0gPSA0XSA9IFwiTm9kZUNsYXNzXCI7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIkJyb3dzZU5hbWVcIl0gPSA4XSA9IFwiQnJvd3NlTmFtZVwiO1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJEaXNwbGF5TmFtZVwiXSA9IDE2XSA9IFwiRGlzcGxheU5hbWVcIjtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiVHlwZURlZmluaXRpb25cIl0gPSAzMl0gPSBcIlR5cGVEZWZpbml0aW9uXCI7XG4gICAgfSkoUmVzdWx0TWFzayB8fCAoUmVzdWx0TWFzayA9IHt9KSk7XG4gICAgLy8gIGNvbnN0IHEgPSBSZWZlcmVuY2VUeXBlSWRzLk9yZ2FuaXplcztcbiAgICBmdW5jdGlvbiByZXNvbHZlTm9kZUlkKG5vZGVJZExpa2UpIHtcbiAgICAgICAgc3dpdGNoIChub2RlSWRMaWtlKSB7XG4gICAgICAgICAgICBjYXNlIFwiT3JnYW5pemVzXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE9yZ2FuaXplc1JlZk5vZGVJZDtcbiAgICAgICAgICAgIGNhc2UgXCJIYXNQcm9wZXJ0eVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBIYXNQcm9wZXJ0eVJlZk5vZGVJZDtcbiAgICAgICAgICAgIGNhc2UgXCJIYXNDb21wb25lbnRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGFzQ29tcG9uZW50UmVmTm9kZUlkO1xuICAgICAgICAgICAgY2FzZSBcIkhhc0NoaWxkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhhc0NoaWxkUmVmTm9kZUlkO1xuICAgICAgICAgICAgY2FzZSBcIkhhc1N1YnR5cGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGFzU3VidHlwZVJlZk5vZGVJZDtcbiAgICAgICAgICAgIGNhc2UgXCJIYXNUeXBlRGVmaW5pdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBIYXNUeXBlRGVmaW5pdGlvblJlZk5vZGVJZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGdldEljb24gPSAocmVmZXJlbmNlKSA9PiB7XG4gICAgICAgIHN3aXRjaCAocmVmZXJlbmNlLm5vZGVDbGFzcykge1xuICAgICAgICAgICAgY2FzZSBcIk9iamVjdFwiOlxuICAgICAgICAgICAgICAgIGlmIChyZWZlcmVuY2UucmVmZXJlbmNlVHlwZUlkID09PSBPcmdhbml6ZXNSZWZOb2RlSWQpIDtcbiAgICAgICAgICAgICAgICBpZiAocmVmZXJlbmNlLnR5cGVEZWZpbml0aW9uID09PSBGb2xkZXJUeXBlIHx8IHJlZmVyZW5jZS5yZWZlcmVuY2VUeXBlSWQgPT09IFwiaT02MVwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtZm9sZGVyXCIsIGNvbG9yOiBcInJnYmEoNjEsIDYwLCA0LCAwLjUyNSlcIiB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLW9iamVjdC1ncm91cFwiLCBjb2xvcjogXCJTZWFHcmVlblwiIH07XG4gICAgICAgICAgICBjYXNlIFwiVmFyaWFibGVcIjpcbiAgICAgICAgICAgICAgICBpZiAocmVmZXJlbmNlLnJlZmVyZW5jZVR5cGVJZCA9PT0gSGFzQ29tcG9uZW50UmVmTm9kZUlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtbGlzdC1hbHRcIiwgY29sb3I6IFwiU3RlZWxCbHVlXCIgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVmZXJlbmNlLnJlZmVyZW5jZVR5cGVJZCA9PT0gSGFzUHJvcGVydHlSZWZOb2RlSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1saXN0LWFsdFwiLCBjb2xvcjogXCJEb2RnZXJCbHVlXCIgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtbGlzdC1hbHRcIiwgY29sb3I6IFwiQ2FkZXRCbHVlXCIgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIFwiTWV0aG9kXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1jb2dcIiwgY29sb3I6IFwiU2FuZHlCcm93blwiIH07XG4gICAgICAgICAgICBjYXNlIFwiT2JqZWN0VHlwZVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtb2JqZWN0LWdyb3VwXCIsIGNvbG9yOiBcIkRhcmtPcmFuZ2VcIiB9O1xuICAgICAgICAgICAgY2FzZSBcIlZhcmlhYmxlVHlwZVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtc2xpZGVyc1wiLCBjb2xvcjogXCJEYXJrT3JhbmdlXCIgfTtcbiAgICAgICAgICAgIGNhc2UgXCJEYXRhVHlwZVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtdGV4dC13aWR0aFwiLCBjb2xvcjogXCJDYWRldEJsdWVcIiB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IGljb246IFwiZmEtcXVlc3Rpb25cIiwgY29sb3I6IFwiZ3JleVwiIH07XG4gICAgfTtcblxuICAgIGNvbnN0IGJyb3dzZSA9IChfYSwgbm9kZUlkXzEsIHRlbXBsYXRlXzEpID0+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+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCRsaS5oYXNDbGFzcyhcImV4cGFuZGFibGVcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIF9leHBhbmRMaSh0aGF0LCAkbGkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCRsaS5oYXNDbGFzcyhcImV4cGFuZGVkXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBUb2dnbGUgaXRzIGV4cGFuZGVkL2NvbGxhcHNlZCBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgJGxpLmNoaWxkcmVuKFwidWxcIikudG9nZ2xlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTd2FwIGV4cGFuZGFibGUgYW5kIGV4cGFuZGVkIGNsYXNzZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICRsaS50b2dnbGVDbGFzcyhcImV4cGFuZGFibGUgZXhwYW5kZWRcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoJGxpLmNoaWxkcmVuKFwidWxcIikuY2hpbGRyZW4oKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAkbGkuY2hpbGRyZW4oXCJ1bFwiKS50b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFN3YXAgZXhwYW5kYWJsZSBhbmQgZXhwYW5kZWQgY2xhc3Nlc1xuICAgICAgICAgICAgICAgICAgICAgICAgJGxpLnRvZ2dsZUNsYXNzKFwiZXhwYW5kYWJsZSBleHBhbmRlZFwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGF0LiR0cmVlLm9uKFwiZGJsY2xpY2tcIiwgXCJsaVwiLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIGxldCAkbGkgPSAkKHRoaXMpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPbkxlZnRTaXplKCRsaSwgZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVFeHBhbnNpb24oJGxpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gJGxpLmRhdGEoXCJ2YWx1ZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlZmVyZW5jZSA9ICRsaS5kYXRhKFwicmVmZXJlbmNlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoYXQub3B0aW9ucy5pc1NlbGVjdGFibGUgJiYgIXRoYXQub3B0aW9ucy5pc1NlbGVjdGFibGUocmVmZXJlbmNlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LmRhdGEoXCJyZWZlcmVuY2VcIiwgcmVmZXJlbmNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICgoX2EgPSByZWZlcmVuY2UuZGlzcGxheU5hbWUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS50ZXh0KSB8fCAoKF9iID0gcmVmZXJlbmNlLmJyb3dzZU5hbWUpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5uYW1lKSB8fCByZWZlcmVuY2Uubm9kZUlkLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25zdCBpbnB1dCA9IGBbJHtkaXNwbGF5TmFtZX1dKCR7dmFsdWV9KWA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbW9kZSA9IHRoYXQubW9kZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFtb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZSA9IFwibm9kZUlkXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5zZXRNb2RlKG1vZGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsaXplSW5wdXQodmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoYXQuJGlucHV0LnZhbChpbnB1dCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhhdC4kaW5wdXQudHJpZ2dlcihcImNoYW5nZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhhdC4kaW5wdXQudmFsKGlucHV0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGF0LiRpbnB1dC50cmlnZ2VyKFwiY2hhbmdlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kdHJlZS5vbihcImNsaWNrXCIsIFwibGlcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgJGxpID0gJCh0aGlzKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzT25MZWZ0U2l6ZSgkbGksIGV2ZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlRXhwYW5zaW9uKCRsaSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0U2luZ2xlKHRoYXQsICRsaSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgJChkb2N1bWVudCkub24oXCJjbGlja1wiLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gY2xpY2tpbmcgb3V0c2lkZSB0aGUgcGFnZSB3aWxsIGhpZGUgdGhlIGRyb3Bkb3duXG4gICAgICAgICAgICAgICAgICAgIGlmICghJChldmVudC50YXJnZXQpLmNsb3Nlc3QodGhhdC4kY29tYm8pLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24uaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgY29uc3QgZGVjbGFyZUZsYWdFZGl0b3JXaWRnZXQgPSAoKSA9PiB7XG4gICAgICAgICQud2lkZ2V0KFwic3RlcmZpdmUuZmxhZ0VkaXRvclwiLCB7XG4gICAgICAgICAgICAvLyBkZWZhdWx0IG9wdGlvbnNcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBuYW1lc1RvQml0czoge1xuICAgICAgICAgICAgICAgIC8vIEFkZCBtb3JlIG5hbWVzIGFuZCBiaXQgdmFsdWVzXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogMCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfY3JlYXRlKCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIC8vIEN1c3RvbSBEcm9wZG93blxuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0ID0gdGhpcy5lbGVtZW50O1xuICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvID0gJChcIjxkaXYvPlwiKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5hZGRDbGFzcyhcInN0ZXJmaXZlLWNvbWJvLWJveFwiKTtcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRbMF0ucGFyZW50RWxlbWVudC5yZXBsYWNlQ2hpbGQodGhhdC4kY29tYm9bMF0sIHRoaXMuZWxlbWVudFswXSk7XG4gICAgICAgICAgICAgICAgLy8gdGhpcy5lbGVtZW50LnJlcGxhY2VXaXRoKHRoYXQuJGNvbWJvKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dEdyb3VwID0gJChcIjxkaXYvPlwiKS5hZGRDbGFzcyhcImlucHV0LWdyb3VwXCIpO1xuICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLmFwcGVuZCh0aGF0LiRpbnB1dEdyb3VwKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dEdyb3VwLmFwcGVuZCh0aGF0LiRpbnB1dCk7XG4gICAgICAgICAgICAgICAgLy8gdGhlIHRvZ2dsZSB0cmVlIGJ1dHRvbjpcbiAgICAgICAgICAgICAgICAvLyAgIHdoZW4gd2UgY2xpY2sgaXQgdGhlIGRyb3AgZG93biBwYW5lbCBpcyBkaXNwbGF5ZWRcbiAgICAgICAgICAgICAgICB0aGF0LiR0b2dnbGVUcmVlQnRuID0gJChgPGJ1dHRvbj48aSBjbGFzcz1cImZhIGZhLWV5ZVwiPjwvaT48L2J1dHRvbj5gKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dEdyb3VwLmFwcGVuZCh0aGF0LiR0b2dnbGVUcmVlQnRuKTtcbiAgICAgICAgICAgICAgICB0aGF0LiR0b2dnbGVUcmVlQnRuLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi50b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoYXQuJGRyb3Bkb3duLmlzKFwiOnZpc2libGVcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoYXQuJHNlbGVjdC5mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlRnJvbUlucHV0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5maW5kKFwiLmN1c3RvbS1vcHRpb25cIikuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG9wdGlvbk5hbWUgPSAkKHRoaXMpLnRleHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBiaXRWYWx1ZSA9IHRoYXQub3B0aW9ucy5uYW1lc1RvQml0c1tvcHRpb25OYW1lXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYml0VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIGJpdCBuYW1lXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHRoYXQub3B0aW9ucy52YWx1ZSAmIGJpdFZhbHVlKSA9PT0gYml0VmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcyhcInNlbGVjdGVkXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5yZW1vdmVDbGFzcyhcInNlbGVjdGVkXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVXBkYXRlIHRoZSBoaWRkZW4gc2VsZWN0IGVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQudXBkYXRlVmFsdWUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIC8vIHRoZSBkcm9wIGRvd24gcGFuZWxcbiAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93biA9ICQoJzxkaXYgY2xhc3M9XCJjdXN0b20tc2VsZWN0XCI+PC9kaXY+JykuaGlkZSgpLmluc2VydEFmdGVyKHRoaXMuZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgJC5lYWNoKHRoaXMub3B0aW9ucy5uYW1lc1RvQml0cywgZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgJG9wdGlvbiA9ICQoJzxkaXYgY2xhc3M9XCJjdXN0b20tb3B0aW9uXCIgZGF0YS12YWx1ZT1cIicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSArXG4gICAgICAgICAgICAgICAgICAgICAgICAnXCI+JyArXG4gICAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9XCJjdXN0b20tY2hlY2tib3hcIj48L3NwYW4+JyArXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lICtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiPC9kaXY+XCIpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi5hcHBlbmQoJG9wdGlvbik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgLy8gd2hlbiBhIG9wdGlvbnMgaW4gdGhlIGRyb3AgZG93biBwYW5lbCBpcyBjbGlja2VkLFxuICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLm9uKFwiY2xpY2tcIiwgXCIuY3VzdG9tLW9wdGlvblwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICQodGhpcykudG9nZ2xlQ2xhc3MoXCJzZWxlY3RlZFwiKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSAkKHRoaXMpLmRhdGEoXCJ2YWx1ZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykuaGFzQ2xhc3MoXCJzZWxlY3RlZFwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0Qml0KHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuc2V0Qml0KHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGF0LnVwZGF0ZVZhbHVlKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kY29tYm8uYXBwZW5kKHRoYXQuJGRyb3Bkb3duKTtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVGcm9tSW5wdXQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5lbGVtZW50LnZhbCgpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0Lm9wdGlvbnMudmFsdWUgPSBjb2VyY2VGbGFnTWFza1RvTnVtYmVyKHRoYXQub3B0aW9ucy5uYW1lc1RvQml0cywgdmFsdWUpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3Qgc2V0Qml0ID0gKGJpdE5hbWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYml0ID0gdGhhdC5vcHRpb25zLm5hbWVzVG9CaXRzW2JpdE5hbWVdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoYml0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlVua25vd24gYml0IG5hbWVcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLnZhbHVlIHw9IGJpdDtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IHVuc2V0Qml0ID0gKGJpdE5hbWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYml0ID0gdGhhdC5vcHRpb25zLm5hbWVzVG9CaXRzW2JpdE5hbWVdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoYml0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlVua25vd24gYml0IG5hbWVcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLnZhbHVlICY9IH5iaXQ7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC52YWwoY29lcmNlRmxhZ01hc2tUb1N0cmluZyh0aGF0Lm9wdGlvbnMubmFtZXNUb0JpdHMsIHRoaXMub3B0aW9ucy52YWx1ZSkpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdXBkYXRlRnJvbUlucHV0KCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdXBkYXRlVmFsdWUoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LnZhbChjb2VyY2VGbGFnTWFza1RvU3RyaW5nKHRoYXQub3B0aW9ucy5uYW1lc1RvQml0cywgdGhpcy5vcHRpb25zLnZhbHVlKSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX2Rlc3Ryb3koKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24ucmVtb3ZlKCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB0aGUgZW5kcG9pbnQgYXR0cmlidXRlcyBjb250YWluaW5nOlxuICAgICAqICAtIHRoZSBlbmRwb2ludCwgc2VjdXJpdHlNb2RlLCBzZWN1cml0eVBvbGljeSxcbiAgICAgKiAgLSB1c2VySWRlbnRpdHlUeXBlLFxuICAgICAqICAtIGNyZWRlbnRpYWxzXG4gICAgICogIC0gbmFtZXNwYWNlQWxpYXNlc1xuICAgICAqXG4gICAgICogZXh0cmFjdGVkIGZyb20gdGhlIHVpIHdpZGdldCAjbm9kZS1pbnB1dC1lbmRwb2ludFxuICAgICAqL1xuICAgIGNvbnN0IGdldEVuZFBvaW50QXR0cmlidXRlcyA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgJGVuZHBvaW50ID0gJChcIiNub2RlLWlucHV0LWVuZHBvaW50XCIpO1xuICAgICAgICBjb25zdCBlbmRwb2ludElkID0gJGVuZHBvaW50LnZhbCgpO1xuICAgICAgICBjb25zdCByZWROb2RlID0gUkVELm5vZGVzLm5vZGUoZW5kcG9pbnRJZCk7XG4gICAgICAgIGlmICghcmVkTm9kZSlcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIC8vIGNvbnN0IGNyZWRlbnRpYWxzID0gUkVELihlbmRwb2ludElkKTtcbiAgICAgICAgLy8gd2UgbmVlZCB0byBzYW5pdGl6ZSBhbmQgZXh0cmFjdCB0aGUgZW5kcG9pbnQgYXR0cmlidXRlcyBvbmx5ICggbm90IHRoZSBub2RlLXJlZCBzdHVmZilcbiAgICAgICAgY29uc3QgeyBlbmRwb2ludCwgc2VjdXJpdHlNb2RlLCBzZWN1cml0eVBvbGljeSwgdXNlcklkZW50aXR5VHlwZSwgY3JlZGVudGlhbHMsIG5hbWVzcGFjZUFsaWFzZXMgfSA9IHJlZE5vZGU7XG4gICAgICAgIGNvbnN0IHJldFZhbHVlID0ge1xuICAgICAgICAgICAgZW5kcG9pbnQsXG4gICAgICAgICAgICBzZWN1cml0eU1vZGUsXG4gICAgICAgICAgICBzZWN1cml0eVBvbGljeSxcbiAgICAgICAgICAgIHVzZXJJZGVudGl0eVR5cGUsXG4gICAgICAgICAgICBjcmVkZW50aWFscyxcbiAgICAgICAgICAgIG5hbWVzcGFjZUFsaWFzZXMsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiByZXRWYWx1ZTtcbiAgICB9O1xuICAgIGNvbnN0IGdldEVuZHBvaW50UGFyYW1ldGVycyA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgJGVuZHBvaW50ID0gJChcIiNub2RlLWlucHV0LWVuZHBvaW50XCIpO1xuICAgICAgICBjb25zdCBlbmRwb2ludElkID0gJGVuZHBvaW50LnZhbCgpO1xuICAgICAgICBjb25zdCBlbmRwb2ludE5yID0gZ2V0RW5kUG9pbnRBdHRyaWJ1dGVzKCk7XG4gICAgICAgIGlmICghZW5kcG9pbnROcikge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuYW1lc3BhY2VBbGlhc2VzID0gZW5kcG9pbnROci5uYW1lc3BhY2VBbGlhc2VzO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7IG5hbWVzcGFjZUFsaWFzZXMsIGlkOiBlbmRwb2ludElkIH0sIGVuZHBvaW50TnIpO1xuICAgIH07XG4gICAgY29uc3QgZ2V0RW5kcG9pbnRQYXJhbWV0ZXJzSGFuZGxlciA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGVuZHBvaW50Tm9kZTogZ2V0RW5kcG9pbnRQYXJhbWV0ZXJzLFxuICAgICAgICB9O1xuICAgIH07XG5cbiAgICBjb25zdCBpbnN0YWxsRmVlZGJhY2tXaWRnZXQgPSAoKSA9PiB7XG4gICAgICAgIC8vIHJldHVybjtcbiAgICAgICAgLy8gZGVidWdnZXI7XG4gICAgICAgIGNvbnN0IHRyYXlDb250ZW50ID0gJChcIi5yZWQtdWktdHJheS1ib2R5XCIpO1xuICAgICAgICBjb25zb2xlLmxvZyhcImluc3RhbGxGZWVkYmFja1dpZGdldCBcIiwgdHJheUNvbnRlbnQubGVuZ3RoKTtcbiAgICAgICAgaWYgKHRyYXlDb250ZW50Lmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJpbnN0YWxsaW5nIGlmcmFtZVwiKTtcbiAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgaWZyYW1lIGVsZW1lbnRcbiAgICAgICAgICAgIGNvbnN0IGlmcmFtZSA9ICQoXCI8aWZyYW1lPjwvaWZyYW1lPlwiLCB7XG4gICAgICAgICAgICAgICAgc3JjOiBcIi9vcGN1YS1mb3Itbm9kZS1yZWQvc3VwcG9ydC1mcmFtZS5odG1sXCIsXG4gICAgICAgICAgICAgICAgc2Nyb2xsaW5nOiBcIm5vXCIsXG4gICAgICAgICAgICAgICAgc3R5bGU6IFwiYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyOjNweFwiLFxuICAgICAgICAgICAgICAgIGFsbG93dHJhbnNwYXJlbmN5OiBcInRydWVcIixcbiAgICAgICAgICAgICAgICB3aWR0aDogXCIxODBweFwiLFxuICAgICAgICAgICAgICAgIGhlaWdodDogXCIzMHB4XCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIEFwcGVuZCB0aGUgaWZyYW1lIHRvIHRoZSBmZWVkYmFjayBlbGVtZW50XG4gICAgICAgICAgICB0cmF5Q29udGVudC5hcHBlbmQoaWZyYW1lKTtcbiAgICAgICAgICAgIC8vIFBvc2l0aW9uIHRoZSBmZWVkYmFjayBlbGVtZW50IGF0IHRoZSBib3R0b20gcmlnaHQgb2YgdGhlIHRyYXkgY29udGVudFxuICAgICAgICAgICAgaWZyYW1lLmNzcyh7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgICAgICAgICAgICByaWdodDogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgYm90dG9tOiBcIjE2cHhcIixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIFJFRC5ub2Rlcy5yZWdpc3RlclR5cGUoXCJPcGNVYS1DbGllbnQyLUJyb3dzZVwiLCB7XG4gICAgICAgIGNhdGVnb3J5OiBcIm9wY3VhXCIsXG4gICAgICAgIGNvbG9yOiBcIiNDMERFRURcIixcbiAgICAgICAgYWxpZ246IFwicmlnaHRcIixcbiAgICAgICAgaWNvbjogXCIuLi8uLi9pY29ucy9vcGN1YW5vZGVMb2dvLnBuZ1wiLFxuICAgICAgICBwYWxldHRlTGFiZWw6IFwiYnJvd3NlXCIsXG4gICAgICAgIGRlZmF1bHRzOiB7XG4gICAgICAgICAgICBpbnB1dHM6IHsgdmFsdWU6IDEgfSxcbiAgICAgICAgICAgIG91dHB1dDogeyB2YWx1ZTogNCB9LFxuICAgICAgICAgICAgLy8gQ29tbW9uXG4gICAgICAgICAgICBuYW1lOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICBlbmRwb2ludDogeyB2YWx1ZTogXCJcIiwgcmVxdWlyZWQ6IHRydWUsIHR5cGU6IFwiT3BjVWEtRW5kcG9pbnQyXCIgfSxcbiAgICAgICAgICAgIC8vIGZvciBhY3Rpb24gcmVhZFxuICAgICAgICAgICAgbm9kZUlkOiB7IHZhbHVlOiBcIlwiLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIHJlZmVyZW5jZVR5cGVJZDogeyB2YWx1ZTogXCJIYXNDaGlsZFwiLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIGluY2x1ZGVTdWJ0eXBlczogeyB2YWx1ZTogZmFsc2UsIHJlcXVpcmVkOiB0cnVlIH0sXG4gICAgICAgICAgICBicm93c2VEaXJlY3Rpb246IHsgdmFsdWU6IFwiRm9yd2FyZFwiLCByZXF1aXJlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgbm9kZUNsYXNzTWFzazogeyB2YWx1ZTogXCJWYXJpYWJsZSB8IE9iamVjdCB8IE1ldGhvZCB8IE9iamVjdFR5cGUgfCBWYXJpYWJsZVR5cGVcIiwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICByZXN1bHRNYXNrOiB7IHZhbHVlOiBcIlJlZmVyZW5jZVR5cGUgfCBCcm93c2VOYW1lIHwgVHlwZURlZmluaXRpb24gfCBEaXNwbGF5TmFtZSB8IE5vZGVDbGFzcyB8IElzRm9yd2FyZFwiLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgfSxcbiAgICAgICAgb3V0cHV0czogMSxcbiAgICAgICAgbGFiZWwoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5uYW1lIHx8IFwiT1BDVUEgQnJvd3NlXCI7XG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsU3R5bGUoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5uYW1lID8gXCJub2RlX2xhYmVsX2l0YWxpY1wiIDogXCJcIjtcbiAgICAgICAgfSxcbiAgICAgICAgb25lZGl0cHJlcGFyZSgpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzO1xuICAgICAgICAgICAgZGVjbGFyZU5vZGVCcm93c2VyV2lkZ2V0KCk7XG4gICAgICAgICAgICBkZWNsYXJlRmxhZ0VkaXRvcldpZGdldCgpO1xuICAgICAgICAgICAgaW5zdGFsbEZlZWRiYWNrV2lkZ2V0KCk7XG4gICAgICAgICAgICBub2RlLmlucHV0cyA9IDE7XG4gICAgICAgICAgICBjb25zdCAkbm9kZUNsYXNzTWFzayA9ICQoXCIjbm9kZS1pbnB1dC1ub2RlQ2xhc3NNYXNrXCIpO1xuICAgICAgICAgICAgJG5vZGVDbGFzc01hc2suZmxhZ0VkaXRvcih7XG4gICAgICAgICAgICAgICAgbmFtZXNUb0JpdHM6IHtcbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0OiAxLFxuICAgICAgICAgICAgICAgICAgICBWYXJpYWJsZTogMixcbiAgICAgICAgICAgICAgICAgICAgTWV0aG9kOiA0LFxuICAgICAgICAgICAgICAgICAgICBPYmplY3RUeXBlOiA4LFxuICAgICAgICAgICAgICAgICAgICBWYXJpYWJsZVR5cGU6IDE2LFxuICAgICAgICAgICAgICAgICAgICBSZWZlcmVuY2VUeXBlOiAzMixcbiAgICAgICAgICAgICAgICAgICAgRGF0YVR5cGU6IDY0LFxuICAgICAgICAgICAgICAgICAgICBWaWV3OiAxMjgsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogMCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgJHJlc3VsdE1hc2sgPSAkKFwiI25vZGUtaW5wdXQtcmVzdWx0TWFza1wiKTtcbiAgICAgICAgICAgICRyZXN1bHRNYXNrLmZsYWdFZGl0b3Ioe1xuICAgICAgICAgICAgICAgIG5hbWVzVG9CaXRzOiB7XG4gICAgICAgICAgICAgICAgICAgIFJlZmVyZW5jZVR5cGU6IDEsXG4gICAgICAgICAgICAgICAgICAgIElzRm9yd2FyZDogMixcbiAgICAgICAgICAgICAgICAgICAgTm9kZUNsYXNzOiA0LFxuICAgICAgICAgICAgICAgICAgICBCcm93c2VOYW1lOiA4LFxuICAgICAgICAgICAgICAgICAgICBEaXNwbGF5TmFtZTogMTYsXG4gICAgICAgICAgICAgICAgICAgIFR5cGVEZWZpbml0aW9uOiAzMixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHZhbHVlOiA2MyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgJG5vZGVJZCA9ICQoXCIjbm9kZS1pbnB1dC1ub2RlSWRcIik7XG4gICAgICAgICAgICAkbm9kZUlkLm5vZGVCcm93c2VyKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZ2V0RW5kcG9pbnRQYXJhbWV0ZXJzSGFuZGxlcigpKSwgeyBpc1NlbGVjdGFibGUobm9kZURlc2MpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5vZGVEZXNjLm5vZGVDbGFzcyA9PT0gXCJWYXJpYWJsZVwiIHx8IG5vZGVEZXNjLm5vZGVDbGFzcyA9PT0gXCJPYmplY3RcIjtcbiAgICAgICAgICAgICAgICB9IH0pKTtcbiAgICAgICAgICAgIGNvbnN0IHJlZmVyZW5jZXNOb2RlRGVzYyA9IHtcbiAgICAgICAgICAgICAgICBub2RlSWQ6IFwiaT0zMVwiLFxuICAgICAgICAgICAgICAgIHJlZmVyZW5jZVR5cGVJZDogXCJcIixcbiAgICAgICAgICAgICAgICBicm93c2VOYW1lOiB7IG5hbWVzcGFjZUluZGV4OiAwLCBuYW1lOiBcIlJlZmVyZW5jZXNcIiB9LFxuICAgICAgICAgICAgICAgIGRpc3BsYXlOYW1lOiB7IHRleHQ6IFwiUmVmZXJlbmNlc1wiIH0sXG4gICAgICAgICAgICAgICAgbm9kZUNsYXNzOiBcIlJlZmVyZW5jZVR5cGVcIixcbiAgICAgICAgICAgICAgICB0eXBlRGVmaW5pdGlvbjogXCJpPTMxXCIsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgJHJlZmVyZW5jZVR5cGVJZCA9ICQoXCIjbm9kZS1pbnB1dC1yZWZlcmVuY2VUeXBlSWRcIik7XG4gICAgICAgICAgICAkcmVmZXJlbmNlVHlwZUlkLm5vZGVCcm93c2VyKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZ2V0RW5kcG9pbnRQYXJhbWV0ZXJzSGFuZGxlcigpKSwgeyBwYXJlbnROb2RlOiAoKSA9PiByZWZlcmVuY2VzTm9kZURlc2MsIC8vIFJlZmVyZW5jZXMsXG4gICAgICAgICAgICAgICAgaXNTZWxlY3RhYmxlKG5vZGVEZXNjKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBub2RlRGVzYy5ub2RlQ2xhc3MgPT09IFwiUmVmZXJlbmNlVHlwZVwiO1xuICAgICAgICAgICAgICAgIH0sIGlzVHlwZVJlZjogdHJ1ZSB9KSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uZWRpdHNhdmUoKSB7IH0sXG4gICAgfSk7XG5cbn0pKCk7Il19
7
+ function _0x48bb(){const _0x5def51=['opcua','animate','toggleClass','statusText','after',':visible','json','BrowseName','absolute','POST','SeaGreen','click','fetching\x20failed\x20with\x20error','16px','opts','Objects','__parentNode','title','.red-ui-tray-body','HasProperty','left','nsuNodeID','nodes','Invalid','ns=0;i=34','_hideMenu','none','expandable\x20expanded','#C0DEED','VariableType','element','toggle','#node-input-nodeId','msg','fa-sliders','18px','30px','>&nbsp;\x20','20px','keydown','browse','NodeClass','Good','red-ui-typedInput-icon\x20','<button><i\x20class=\x22fa\x20fa-eye\x22></i></button>','value','scrollTop','bp_aliased','Both','mousedown.red-ui-typedInput-close-property-select','node\x20class:\x20','nsu','prop','$selectLabel','widget','checked','.tree-text:first','$uiSelect','appendTo','108268DluKTO','</span>','<span\x20title=','callback','name','change','references','$info','NodeId','toString','text','nodeIds','ObjectType','expandable','requestedNodeId','removeClass','icon','sterfive.nodeBrowser','sterfive-dropdown','Aliased\x20NodeId','tabindex','referenceTypeId','<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/>&nbsp;','label','</li>','HasChild','446292WHSfWB','fa-folder','parent','DarkOrange','then','ReferenceType','$tree','each','top','Inverse','filter','aliased\x20NodeId:\x20','_showMenu','namespaceAliases','nsu\x20nodeId:\x20','42208ajnIzZ','suppressed','HasComponent','4887FZCEYb','2772240rlWZyc','expanded','displayName','<ul\x20class=\x22sterfive-tree\x22></ul>','$selectTrigger','msg.','isTypeRef',';\x22></i>\x20','currentParent','sterfive-input-group','#node-input-endpoint','opc.tcp://opcuademo.sterfive.com:26543','<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>','Object','View','input-group','baseUrl','mask-image:\x20url(','DisplayName','.spinner','node_label_italic','<div\x20class=\x22sterfive-info-text\x22></div>','mode','join','find',');\x20-webkit-mask-image:\x20url(','Method','browsePath','ns=0;i=61','SuppressedError','indexOf','call','background-color:transparent;overflow:hidden;border:3px','position','height','2052220aAKSFq','<div/>','<span\x20class=\x22custom-checkbox\x22></span>','css','253752MWusYA','#node-input-resultMask','pointer-events','next','/opcua-for-node-red','parentNode','li[key=\x22','node','data','number','offset','$input','aliasedNodeId','elements','\x22\x20style=\x22color:','fa-text-width','preventDefault','Variable','fetched','ns=0;i=45','<li\x20key=\x22','.custom-option','trigger','ns=0;i=35','#node-input-referenceTypeId','pageX','_delay','input[type=\x22checkbox\x22]','Organizes','DodgerBlue','focus','_showTypeMenu','$menu','val','NodeId\x20with\x20namespace\x20Urn','sterfive-input-error','multiple','nodeId','nodeClass','aliased\x20browsePath:\x20','Forward','endpoint','<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>','node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','$inputGroup','wrap','$dropdown','reset','empty','<iframe></iframe>','DataType','\x20|\x20','log','status','keyCode','setMode','$combo','border','isSelectable','Value\x20is\x20not\x20verified','<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>',':focus','attr','<i>','mousedown.red-ui-typedInput-focus-block','nodeId_aliased','sterfive.flagEditor','prev','namesToBits','$elementDiv','<input\x20type=\x22checkbox\x22>','_createMenu','red-ui-typedInput-focus','updateValue','show','string','throw','stopPropagation','\x22}><span\x20class=\x22tree-text\x22\x20title=','Unspecified','push','true','<i\x20class=\x22fa\x20fa-tag\x22/>1\x20&nbsp;\x20','loading','SandyBrown','<i\x20class=\x22fa\x20fa-bookmark\x22/>&nbsp;\x20','Unknown\x20bit\x20name','/opcua-for-node-red/support-frame.html','CadetBlue','length','closest','HasSubtype','<i\x20class=\x22fa\x20fa-font\x22/i>\x20','!!failure!!','pageY','assign','63ptuedo','nodeBrowser','sterfive-typedInput-options\x20sterfive-online-menu','message','180px','function','browse\x20path:\x20','References','[value=\x27','<div\x20class=\x22custom-select\x22></div>','append','already\x20fetched','flagEditor','children','ns=0;i=40','addClass','catch','hasClass','application/json','browseResult','ns=0;i=46','TypeDefinition','i=31','<div>','bp_indexed','fa-question','/browse','hide','inputs','match','endpointNode','body','red-ui-typedInput-icon','options','target','i=61','prependTo','../../icons/opcuanodeLogo.png','remove','replaceChild','failure','/checkNodeId','/walk-backward','sterfive-combo-box','<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>','OPCUA\x20Browse','<a\x20href=\x22#\x22></a>','auto','<i\x20class=\x22fa\x20fa-id-card\x22/>&nbsp;\x20','disarmClick','aliasedBrowsePath','main-wrapper','forEach','ns=0;i=47','parentElement','statusCode','verify','reference','fa-object-group','selected','error','selectedMenuItem','<div\x20class=\x22custom-option\x22\x20data-value=\x22','sort','apply','trim','1568190zOJnyR','replaceWith','IsForward','$verifyBtn','browseName','fa-list-alt','already\x20loading','statusCode:\x20','stringify','</span><ul></ul></li>','dblclick','nodeId_nsu','before','$toggleTreeBtn'];_0x48bb=function(){return _0x5def51;};return _0x48bb();}function _0x4046(_0x1ad84c,_0x4aad65){const _0x48bb59=_0x48bb();return _0x4046=function(_0x4046bb,_0x174ecf){_0x4046bb=_0x4046bb-0x87;let _0x48a620=_0x48bb59[_0x4046bb];return _0x48a620;},_0x4046(_0x1ad84c,_0x4aad65);}(function(_0x629fde,_0xad3267){const _0x2ce3d2=_0x4046,_0x1bfd80=_0x629fde();while(!![]){try{const _0x4fda3d=parseInt(_0x2ce3d2(0x129))/0x1+-parseInt(_0x2ce3d2(0xd5))/0x2*(parseInt(_0x2ce3d2(0x189))/0x3)+-parseInt(_0x2ce3d2(0x125))/0x4+-parseInt(_0x2ce3d2(0x102))/0x5+-parseInt(_0x2ce3d2(0x8c))/0x6+-parseInt(_0x2ce3d2(0xef))/0x7+parseInt(_0x2ce3d2(0xfe))/0x8*(parseInt(_0x2ce3d2(0x101))/0x9);if(_0x4fda3d===_0xad3267)break;else _0x1bfd80['push'](_0x1bfd80['shift']());}catch(_0x3bcee6){_0x1bfd80['push'](_0x1bfd80['shift']());}}}(_0x48bb,0x8fd7e),(function(){'use strict';const _0x22372e=_0x4046;function _0x2d812e(_0x38cd8b,_0x475b77,_0x2155a4,_0x4e01ac){function _0xdda2c5(_0x252a88){return _0x252a88 instanceof _0x2155a4?_0x252a88:new _0x2155a4(function(_0xfd3179){_0xfd3179(_0x252a88);});}return new(_0x2155a4||(_0x2155a4=Promise))(function(_0x4f26e9,_0x444bdb){const _0x40be12=_0x4046;function _0x3918d4(_0x2f57b7){try{_0x41a2ed(_0x4e01ac['next'](_0x2f57b7));}catch(_0x210fde){_0x444bdb(_0x210fde);}}function _0x582a26(_0x28963c){const _0x36f323=_0x4046;try{_0x41a2ed(_0x4e01ac[_0x36f323(0x175)](_0x28963c));}catch(_0x737e1b){_0x444bdb(_0x737e1b);}}function _0x41a2ed(_0x2eb127){const _0x279529=_0x4046;_0x2eb127['done']?_0x4f26e9(_0x2eb127[_0x279529(0xc7)]):_0xdda2c5(_0x2eb127['value'])[_0x279529(0xf3)](_0x3918d4,_0x582a26);}_0x41a2ed((_0x4e01ac=_0x4e01ac[_0x40be12(0x8a)](_0x38cd8b,_0x475b77||[]))[_0x40be12(0x12c)]());});}typeof SuppressedError===_0x22372e(0x18e)?SuppressedError:function(_0x9efb49,_0x1a49c5,_0x27f854){const _0x3f1c82=_0x22372e;var _0x2ff398=new Error(_0x27f854);return _0x2ff398[_0x3f1c82(0xd9)]=_0x3f1c82(0x11f),_0x2ff398[_0x3f1c82(0x1c5)]=_0x9efb49,_0x2ff398[_0x3f1c82(0xff)]=_0x1a49c5,_0x2ff398;};const _0x63b4bb=_0x22372e(0x140),_0x211e26=_0x22372e(0x11e),_0x2df426=_0x22372e(0x1be),_0x44bd6f=_0x22372e(0x19d),_0xdfd153=_0x22372e(0xb2),_0x566b1c=_0x22372e(0x13c),_0x50d5a9=_0x22372e(0x197);var _0x213bb9;(function(_0x1a5feb){const _0x1c3ec4=_0x22372e;_0x1a5feb[_0x1a5feb[_0x1c3ec4(0x151)]=0x0]=_0x1c3ec4(0x151),_0x1a5feb[_0x1a5feb[_0x1c3ec4(0xf8)]=0x1]=_0x1c3ec4(0xf8),_0x1a5feb[_0x1a5feb[_0x1c3ec4(0xca)]=0x2]='Both',_0x1a5feb[_0x1a5feb['Invalid']=0x3]=_0x1c3ec4(0xb1);}(_0x213bb9||(_0x213bb9={})));var _0x35d6af;(function(_0x5ebe1b){const _0x1cbcbc=_0x22372e;_0x5ebe1b[_0x5ebe1b[_0x1cbcbc(0x178)]=0x0]=_0x1cbcbc(0x178),_0x5ebe1b[_0x5ebe1b['Object']=0x1]=_0x1cbcbc(0x10f),_0x5ebe1b[_0x5ebe1b[_0x1cbcbc(0x13a)]=0x2]=_0x1cbcbc(0x13a),_0x5ebe1b[_0x5ebe1b[_0x1cbcbc(0x11c)]=0x4]='Method',_0x5ebe1b[_0x5ebe1b['ObjectType']=0x8]=_0x1cbcbc(0xe1),_0x5ebe1b[_0x5ebe1b[_0x1cbcbc(0xb7)]=0x10]=_0x1cbcbc(0xb7),_0x5ebe1b[_0x5ebe1b[_0x1cbcbc(0xf4)]=0x20]=_0x1cbcbc(0xf4),_0x5ebe1b[_0x5ebe1b[_0x1cbcbc(0x15b)]=0x40]=_0x1cbcbc(0x15b),_0x5ebe1b[_0x5ebe1b['View']=0x80]=_0x1cbcbc(0x110);}(_0x35d6af||(_0x35d6af={})));var _0x3739cb;(function(_0x338f18){const _0x2b05df=_0x22372e;_0x338f18[_0x338f18[_0x2b05df(0x10f)]=0x1]='Object',_0x338f18[_0x338f18['Variable']=0x2]=_0x2b05df(0x13a),_0x338f18[_0x338f18[_0x2b05df(0x11c)]=0x4]='Method',_0x338f18[_0x338f18[_0x2b05df(0xe1)]=0x8]=_0x2b05df(0xe1),_0x338f18[_0x338f18[_0x2b05df(0xb7)]=0x10]='VariableType',_0x338f18[_0x338f18[_0x2b05df(0xf4)]=0x20]='ReferenceType',_0x338f18[_0x338f18[_0x2b05df(0x15b)]=0x40]=_0x2b05df(0x15b),_0x338f18[_0x338f18[_0x2b05df(0x110)]=0x80]=_0x2b05df(0x110);}(_0x3739cb||(_0x3739cb={})));function _0x3a3325(_0x417874,_0x585494){const _0xd4cb31=_0x22372e;if(typeof _0x585494===_0xd4cb31(0x132))return _0x585494;const _0x453a4f=parseInt(_0x585494,0xa);if(!isNaN(_0x453a4f))return _0x453a4f;const _0x30aaca=_0x585494['split'](/\||;|,/)['map'](_0x1b43a2=>_0x1b43a2[_0xd4cb31(0x8b)]());let _0x590e65=0x0;for(const _0x10875d of _0x30aaca){_0x590e65|=_0x417874[_0x10875d];}return _0x590e65;}function _0x3106b6(_0x546107,_0x435e92){const _0x133d1f=_0x22372e;_0x435e92=_0x3a3325(_0x546107,_0x435e92);const _0x85b9ad=[];if(!_0x546107)return _0x85b9ad[_0x133d1f(0x119)](_0x133d1f(0x15c));for(const [_0x30c4d1,_0x1e22ab]of Object['entries'](_0x546107)){typeof _0x435e92===_0x133d1f(0x132)&&((_0x435e92&_0x1e22ab)===_0x1e22ab&&_0x85b9ad['push'](_0x30c4d1));}return _0x85b9ad[_0x133d1f(0x119)](_0x133d1f(0x15c));}var _0x4ab11e;(function(_0x13714f){const _0x9d9f4b=_0x22372e;_0x13714f[_0x13714f['ReferenceType']=0x1]=_0x9d9f4b(0xf4),_0x13714f[_0x13714f['IsForward']=0x2]=_0x9d9f4b(0x8e),_0x13714f[_0x13714f[_0x9d9f4b(0xc3)]=0x4]=_0x9d9f4b(0xc3),_0x13714f[_0x13714f[_0x9d9f4b(0xa1)]=0x8]='BrowseName',_0x13714f[_0x13714f[_0x9d9f4b(0x114)]=0x10]=_0x9d9f4b(0x114),_0x13714f[_0x13714f[_0x9d9f4b(0x19e)]=0x20]='TypeDefinition';}(_0x4ab11e||(_0x4ab11e={})));function _0x2b0a26(_0x112478){const _0x3deaee=_0x22372e;switch(_0x112478){case _0x3deaee(0x145):return _0x63b4bb;case _0x3deaee(0xad):return _0x44bd6f;case _0x3deaee(0x100):return _0x2df426;case _0x3deaee(0xee):return _0xdfd153;case _0x3deaee(0x184):return _0x566b1c;case'HasTypeDefinition':return _0x50d5a9;}}const _0x3cef88=_0x14c6f5=>{const _0x3626f1=_0x22372e;switch(_0x14c6f5[_0x3626f1(0x14f)]){case'Object':if(_0x14c6f5[_0x3626f1(0xea)]===_0x63b4bb);if(_0x14c6f5['typeDefinition']===_0x211e26||_0x14c6f5[_0x3626f1(0xea)]===_0x3626f1(0x1ac))return{'icon':_0x3626f1(0xf0),'color':'rgba(61,\x2060,\x204,\x200.525)'};return{'icon':_0x3626f1(0x1c3),'color':_0x3626f1(0xa4)};case _0x3626f1(0x13a):if(_0x14c6f5[_0x3626f1(0xea)]===_0x2df426)return{'icon':_0x3626f1(0x91),'color':'SteelBlue'};else return _0x14c6f5[_0x3626f1(0xea)]===_0x44bd6f?{'icon':'fa-list-alt','color':_0x3626f1(0x146)}:{'icon':'fa-list-alt','color':_0x3626f1(0x181)};case _0x3626f1(0x11c):return{'icon':'fa-cog','color':_0x3626f1(0x17d)};case _0x3626f1(0xe1):return{'icon':_0x3626f1(0x1c3),'color':_0x3626f1(0xf2)};case _0x3626f1(0xb7):return{'icon':_0x3626f1(0xbc),'color':_0x3626f1(0xf2)};case _0x3626f1(0x15b):return{'icon':_0x3626f1(0x138),'color':_0x3626f1(0x181)};}return{'icon':_0x3626f1(0x1a2),'color':'grey'};},_0x54784b=(_0x4fddff,_0x3b998c,_0x5b981b)=>_0x2d812e(void 0x0,[_0x4fddff,_0x3b998c,_0x5b981b],void 0x0,function*({endpointNode:_0x457863,endpoint:_0x3b1b33,baseUrl:_0x5843b7},_0x105af0,_0x2fb04e){const _0x892e45=_0x22372e,_0x86d60f=_0x5843b7+_0x892e45(0x12d),_0x4e5486=_0x86d60f+_0x892e45(0x1a3),_0x262f31=Object['assign'](Object['assign']({},_0x2fb04e),{'nodeId':_0x105af0,'resultMask':0x3f}),_0x348a29=yield fetch(_0x4e5486,{'method':_0x892e45(0xa3),'body':JSON['stringify']({'endpointNode':_0x457863,'endpoint':_0x3b1b33,'browseDescription':_0x262f31}),'headers':{'Content-Type':_0x892e45(0x19b)}});if(_0x348a29[_0x892e45(0x15e)]!==0xc8)return console[_0x892e45(0x15d)](_0x892e45(0xa6),_0x348a29['status'],_0x348a29[_0x892e45(0x9d)]),{'references':[]};const _0x271aae=yield _0x348a29[_0x892e45(0xa0)](),_0x29922f=_0x271aae[_0x892e45(0x19c)]['references']||[];return{'references':_0x29922f};}),_0x330cfd={'referenceTypeId':_0x2b0a26(_0x22372e(0xee)),'includeSubtypes':!![],'browseDirection':_0x213bb9['Forward'],'nodeClassMask':_0x35d6af['Variable']|_0x35d6af['Object']|_0x35d6af[_0x22372e(0x11c)],'resultMask':0x3f},_0x17a42b={'referenceTypeId':_0x2b0a26(_0x22372e(0x145)),'includeSubtypes':!![],'browseDirection':_0x213bb9[_0x22372e(0x151)],'nodeClassMask':_0x35d6af[_0x22372e(0x13a)]|_0x35d6af['Object']|_0x35d6af[_0x22372e(0x11c)],'resultMask':0x3f},_0x5171ed=(_0xaab799,_0x562b6b)=>_0x2d812e(void 0x0,[_0xaab799,_0x562b6b],void 0x0,function*({endpointNode:_0x28cb79,endpoint:_0x2fc71e,baseUrl:_0x47561e},{nodeId:_0x42529b,rootNodeId:_0x980a54,isType:_0x2e9bfd}){const _0x5b0a7b=_0x22372e,_0x970ac5=_0x47561e+'/opcua-for-node-red',_0x229e5e=_0x970ac5+_0x5b0a7b(0x1b3),_0x5e173d=yield fetch(_0x229e5e,{'method':_0x5b0a7b(0xa3),'body':JSON[_0x5b0a7b(0x94)]({'endpointNode':_0x28cb79,'endpoint':_0x2fc71e,'nodeId':_0x42529b,'rootNodeId':_0x980a54,'isType':_0x2e9bfd}),'headers':{'Content-Type':_0x5b0a7b(0x19b)}});if(_0x5e173d[_0x5b0a7b(0x15e)]!==0xc8)return null;const _0x2b2918=yield _0x5e173d['json']();return _0x2b2918[_0x5b0a7b(0x11d)];}),_0x2b1190=(_0x389a81,_0x33e583)=>{const _0x57e42b=_0x22372e;if(_0x389a81[_0x57e42b(0x1c0)]!=='Good')return _0x389a81[_0x57e42b(0xe3)];switch(_0x33e583){case _0x57e42b(0x11d):return _0x389a81[_0x57e42b(0x1a1)];case'aliasedBrowsePath':return _0x389a81[_0x57e42b(0xc9)]||_0x389a81['bp_indexed'];case'aliasedNodeId':return _0x389a81['nodeId_aliased']||_0x389a81[_0x57e42b(0x97)];case'nsuNodeID':return _0x389a81['nodeId_nsu'];default:case _0x57e42b(0x14e):return _0x389a81[_0x57e42b(0x14e)];}},_0x2887fc=_0x1a1887=>{const _0x537336=_0x22372e;if(_0x1a1887[_0x537336(0x1c0)]!==_0x537336(0xc4))return _0x537336(0x93)+_0x1a1887[_0x537336(0x1c0)];else{let _0x271c35=[];return _0x271c35[_0x537336(0x179)]('nodeId:\x20'+_0x1a1887[_0x537336(0x14e)]),_0x271c35['push'](_0x537336(0x18f)+_0x1a1887[_0x537336(0x1a1)]),_0x271c35[_0x537336(0x179)](_0x537336(0xcc)+_0x35d6af[_0x1a1887['nodeClass']]),_0x1a1887['nodeId_nsu']&&_0x271c35[_0x537336(0x179)](_0x537336(0xfd)+_0x1a1887['nodeId_nsu']),_0x1a1887['nodeId_aliased']&&_0x271c35[_0x537336(0x179)](_0x537336(0xfa)+_0x1a1887[_0x537336(0x16a)]),_0x1a1887[_0x537336(0x1a1)]&&_0x271c35[_0x537336(0x179)](_0x537336(0x150)+_0x1a1887['bp_aliased']),_0x271c35[_0x537336(0x119)]('\x0a');}};function _0x4e92e6(_0x1991e0){const _0x30b211=_0x22372e;if(_0x1991e0[_0x30b211(0x1a6)](/^nsu=/))return _0x30b211(0xaf);if(_0x1991e0['match'](/^(ns=.*;)?(i|b|s|g)=/))return _0x30b211(0x14e);if(_0x1991e0['match'](/^nsa=/))return _0x30b211(0x135);if(_0x1991e0[_0x30b211(0x1a6)](/^(\/|\.)[0-9]+:/))return'browsePath';if(_0x1991e0['match'](/^(\/|\.).*:/))return'browsePath';}function _0xad8143(_0x2c1f4b){const _0x2f418f=_0x22372e,_0x36e87f=_0x4e92e6(_0x2c1f4b);switch(_0x36e87f){case'nodeId':return'n';case'aliasedNodeId':return'na';case _0x2f418f(0xaf):return'nsu';case'browsePath':return'b';case'aliasedBrowsePath':return'ab';default:return't';}}function _0x5fbf79(_0x57320d){const _0x5741a2=_0x22372e;let _0x3acbc7;switch(_0x57320d){case'n':_0x3acbc7='nodeId';break;case'na':_0x3acbc7=_0x5741a2(0x135);break;case'nsu':_0x3acbc7='nsuNodeID';break;case'b':_0x3acbc7=_0x5741a2(0x11d);break;case'ab':_0x3acbc7=_0x5741a2(0x1bb);break;}return _0x3acbc7;}function _0x4783a6(_0x25b962){const _0x49f81d=_0x22372e;switch(_0x25b962){case _0x49f81d(0x14e):return'n';case _0x49f81d(0x135):return'na';case _0x49f81d(0xaf):return'nsu';case'browsePath':return'b';case _0x49f81d(0x1bb):return'ab';default:return't';}}const _0x48b0d0=(_0x399433,_0x2100eb)=>_0x2d812e(void 0x0,[_0x399433,_0x2100eb],void 0x0,function*({endpointNode:_0x5470ef,endpoint:_0x1c3087,baseUrl:_0x3482f1},_0x21f84a){const _0x1c8ac4=_0x22372e,_0x34d35e=_0x3482f1+'/opcua-for-node-red',_0x9f1f=_0x34d35e+_0x1c8ac4(0x1b2),_0x1a9565=_0x5470ef['id'],_0x2fbdac=RED[_0x1c8ac4(0xb0)]['node'](_0x1a9565);console[_0x1c8ac4(0x15d)](_0x2fbdac[_0x1c8ac4(0xfc)]),_0x2fbdac[_0x1c8ac4(0xfc)];const _0x34919d=_0x5470ef[_0x1c8ac4(0xfc)],_0x5628a8=yield fetch(_0x9f1f,{'method':_0x1c8ac4(0xa3),'body':JSON[_0x1c8ac4(0x94)]({'endpointNode':_0x5470ef,'endpoint':_0x1c3087,'nodeId':_0x21f84a,'namespaceAliases':_0x34919d}),'headers':{'Content-Type':_0x1c8ac4(0x19b)}}),_0x10e588=yield _0x5628a8[_0x1c8ac4(0xa0)]();return{'json':_0x10e588,'data':_0x5628a8};}),_0x3e9495=(_0x3a038b,_0x4450e7,_0x2ea1aa,_0x2dfb7d)=>_0x2d812e(void 0x0,[_0x3a038b,_0x4450e7,_0x2ea1aa,_0x2dfb7d],void 0x0,function*({endpointNode:_0x4332f3,endpoint:_0x3314a7,baseUrl:_0x394b1f},_0x5b6b62,_0x39ef40,_0x2a7d50){const _0x286afa=_0x22372e,_0x30ad04=_0x39ef40['val'](),{json:_0x2f8e8f,data:_0x12bc15}=yield _0x48b0d0({'endpointNode':_0x4332f3,'endpoint':_0x3314a7,'baseUrl':_0x394b1f},_0x30ad04),_0x372049=(_0x2f99c7,_0xd37a97)=>{const _0x2f763f=_0x4046;_0x2a7d50['text'](_0x2f99c7)['addClass']('sterfive-info')[_0x2f763f(0x198)](_0xd37a97),_0x2a7d50[_0x2f763f(0x173)](),setTimeout(()=>{const _0x2045f2=_0x2f763f;_0x2a7d50[_0x2045f2(0xe4)](_0xd37a97),_0x2a7d50[_0x2045f2(0x1a4)]();},0xbb8);};if(_0x12bc15[_0x286afa(0x15e)]!==0xc8)return _0x372049(_0x286afa(0x186)+_0x30ad04,'failure'),![];else{if(_0x2f8e8f[_0x286afa(0x1c0)][_0x286afa(0x1a6)](/Good/)){const _0x273000=_0x2887fc(_0x2f8e8f);_0x39ef40[_0x286afa(0x167)](_0x286afa(0xab),_0x273000);const _0x113a8b=_0x2b1190(_0x2f8e8f,_0x5b6b62);return _0x39ef40[_0x286afa(0x14a)](_0x113a8b),_0x39ef40['trigger'](_0x286afa(0xda)),_0x372049('Good','ok'),!![];}else return _0x39ef40[_0x286afa(0x14a)](''+_0x30ad04),_0x372049(_0x2f8e8f[_0x286afa(0x1c0)]+'\x20'+_0x12bc15['statusText'],_0x286afa(0x1b1)),![];}});function _0x4ae21b(_0x2fea98,_0x54513b){return _0x2d812e(this,void 0x0,void 0x0,function*(){const _0x1fe275=_0x4046,_0x41f55d=_0x2fea98['data']('value'),_0x497f8a=yield _0x54784b(_0x54513b,_0x41f55d,_0x330cfd),_0x179008=yield _0x54784b(_0x54513b,_0x41f55d,_0x17a42b);return{'references':[..._0x497f8a[_0x1fe275(0xdb)],..._0x179008['references']]};});}const _0x148ff0={'referenceTypeId':_0x2b0a26(_0x22372e(0x184)),'includeSubtypes':!![],'browseDirection':_0x213bb9[_0x22372e(0x151)],'nodeClassMask':_0x35d6af['ReferenceType']|_0x35d6af[_0x22372e(0xe1)]|_0x35d6af['DataType']|_0x35d6af['VariableType'],'resultMask':0x3f};function _0x3284b5(_0x3d176d,_0x469e35){return _0x2d812e(this,void 0x0,void 0x0,function*(){const _0x4956ff=_0x4046,_0x43d2ff=_0x3d176d[_0x4956ff(0x131)](_0x4956ff(0xc7)),_0x51d82a=yield _0x54784b(_0x469e35,_0x43d2ff,_0x148ff0);return _0x51d82a;});}const _0x4197a6=_0x5f3abe=>{const _0x3e810b=_0x22372e;var _0xc21c9c,_0x570f68,_0x1b0125,_0x4189ef;if(!_0x5f3abe||!_0x5f3abe[_0x3e810b(0x14e)]){const _0x429543=$(_0x3e810b(0x153));return _0x429543;}const _0x48c1eb=_0x5f3abe['nodeId']['toString'](),_0x367a0b=((_0xc21c9c=_0x5f3abe[_0x3e810b(0x104)])===null||_0xc21c9c===void 0x0?void 0x0:_0xc21c9c[_0x3e810b(0xdf)])||((_0x570f68=_0x5f3abe['browseName'])===null||_0x570f68===void 0x0?void 0x0:_0x570f68['name'])||_0x5f3abe[_0x3e810b(0x14e)][_0x3e810b(0xde)](),{icon:_0x2369ab,color:_0xecf420}=_0x3cef88(_0x5f3abe),_0x19ad47='('+_0x5f3abe[_0x3e810b(0x14e)][_0x3e810b(0xde)]()+')\x20'+(((_0x1b0125=_0x5f3abe['browseName'])===null||_0x1b0125===void 0x0?void 0x0:_0x1b0125[_0x3e810b(0xd9)])||((_0x4189ef=_0x5f3abe[_0x3e810b(0x104)])===null||_0x4189ef===void 0x0?void 0x0:_0x4189ef[_0x3e810b(0xdf)])||''),_0x280131=$(_0x3e810b(0x13d)+_0x5f3abe['nodeId'][_0x3e810b(0xde)]()+_0x3e810b(0x177)+_0x19ad47+'><i\x20class=\x22fa\x20'+_0x2369ab+_0x3e810b(0x137)+_0xecf420+_0x3e810b(0x109)+_0x367a0b+_0x3e810b(0x95));return _0x280131[_0x3e810b(0x198)](_0x3e810b(0xe2)),_0x280131[_0x3e810b(0x131)]('value',_0x48c1eb),_0x280131['data'](_0x3e810b(0x1c2),_0x5f3abe),_0x280131;},_0x207e95=(_0x27fb05,_0x34efcd)=>{const _0x13fdea=_0x22372e;return _0x34efcd['find'](_0x13fdea(0x12f)+_0x27fb05+'\x22]');},_0x27db1d=(_0x38e391,_0x42d152)=>{const _0x472cf5=_0x22372e;_0x38e391[_0x472cf5(0xf5)]['find']('li\x20>\x20.tree-text')['removeClass'](_0x472cf5(0x1c4)),_0x42d152[_0x472cf5(0x11a)](_0x472cf5(0xd2))[_0x472cf5(0x198)]('selected');},_0x3c5efb=(_0x2aba58,_0x5132ad,_0xa72e14)=>_0x2d812e(void 0x0,void 0x0,void 0x0,function*(){const _0x3e181e=_0x22372e;let _0x35bde4=_0xa72e14[_0x3e181e(0x196)](':first');_0x5132ad['relativePath'][_0x3e181e(0x136)]||[];const _0x57da3e=_0x5132ad[_0x3e181e(0xe0)]||[];if(_0x57da3e['length']===0x0)return;for(const _0x1b1d2d of _0x57da3e){_0x35bde4[_0x3e181e(0x19a)](_0x3e181e(0xe2))&&(yield _0x55e341(_0x2aba58,_0x35bde4));const _0x4b2da5=_0x207e95(_0x1b1d2d,_0x35bde4);if(_0x4b2da5[_0x3e181e(0x182)]===0x0)return;_0x35bde4=_0x4b2da5;}_0x27db1d(_0x2aba58,_0x35bde4),_0x5e6547(_0x2aba58[_0x3e181e(0x157)],_0x35bde4);});function _0x5e6547(_0x368a0c,_0x343860){const _0x1b9644=_0x22372e,_0x443be5=_0x343860[_0x1b9644(0x123)]()[_0x1b9644(0xf7)],_0x2d3ac5=_0x368a0c[_0x1b9644(0xc8)]();if(_0x2d3ac5==undefined)return;const _0x216e26=_0x2d3ac5+_0x443be5-_0x368a0c[_0x1b9644(0x124)]()/0x2+_0x343860[_0x1b9644(0x124)]()/0x2;_0x368a0c[_0x1b9644(0x9b)]({'scrollTop':_0x216e26},0x1f4);}const _0x50e393=(_0x43b5dc,_0x29eb14)=>_0x2d812e(void 0x0,void 0x0,void 0x0,function*(){const _0x1000f2=_0x22372e,_0x7adbe=_0x43b5dc[_0x1000f2(0x134)][_0x1000f2(0x14a)](),_0xe078f3={'nodeId':_0x7adbe,'rootNodeId':_0x29eb14[_0x1000f2(0x14e)],'isType':_0x43b5dc[_0x1000f2(0x1aa)][_0x1000f2(0x108)]||![]},_0x4641bb=_0x5b58e9(_0x43b5dc),_0x4d17d3=yield _0x5171ed(_0x4641bb,_0xe078f3);if(!_0x4d17d3)return;yield _0x3c5efb(_0x43b5dc,_0x4d17d3,_0x43b5dc[_0x1000f2(0xf5)]);});function _0x40a12f(_0x3f05e9,_0x4f980,_0x36736f,_0x3d3649){return _0x2d812e(this,void 0x0,void 0x0,function*(){const _0x325d23=_0x4046;if(_0x4f980[_0x325d23(0x19a)](_0x325d23(0x13b))){console[_0x325d23(0x15d)](_0x325d23(0x194));return;}if(_0x4f980['hasClass'](_0x325d23(0x17c))){console[_0x325d23(0x15d)](_0x325d23(0x92));return;}_0x4f980[_0x325d23(0x198)](_0x325d23(0x17c)),_0x4f980[_0x325d23(0x193)]('<div\x20class=\x22spinner\x22></div>');try{_0x4f980['children']('ul')['empty']();const {references:_0x52ee73}=yield _0x36736f(_0x4f980,_0x3d3649);_0x52ee73[_0x325d23(0x89)]((_0xd9ca00,_0x1b00a5)=>{const _0x3ac1e1=_0x325d23;var _0x547604,_0x9731b;return(((_0x547604=_0xd9ca00[_0x3ac1e1(0x90)])===null||_0x547604===void 0x0?void 0x0:_0x547604[_0x3ac1e1(0xd9)])||'')['localeCompare'](((_0x9731b=_0x1b00a5[_0x3ac1e1(0x90)])===null||_0x9731b===void 0x0?void 0x0:_0x9731b['name'])||'');});for(const _0x56d591 of _0x52ee73){if(_0x3f05e9[_0x325d23(0x1aa)][_0x325d23(0xf9)]&&!_0x3f05e9[_0x325d23(0x1aa)][_0x325d23(0xf9)](_0x56d591))continue;const _0x512669=_0x4197a6(_0x56d591);_0x4f980['children']('ul')[_0x325d23(0x193)](_0x512669);}_0x4f980['addClass'](_0x325d23(0x13b));}catch(_0x1bca19){_0x4f980[_0x325d23(0x196)]('ul')[_0x325d23(0x193)]('<li>error\x20'+_0x1bca19[_0x325d23(0x18c)]+_0x325d23(0xed)),console[_0x325d23(0x15d)]('err',_0x1bca19);}_0x4f980[_0x325d23(0x11a)](_0x325d23(0x115))['remove'](),_0x4f980[_0x325d23(0xe4)](_0x325d23(0x17c));});}function _0x5b58e9(_0x5eca63){const _0x2dd581=_0x22372e,_0x3b2c60={'baseUrl':_0x5eca63[_0x2dd581(0x1aa)][_0x2dd581(0x112)],'endpointNode':typeof _0x5eca63[_0x2dd581(0x1aa)]['endpointNode']==='function'?_0x5eca63[_0x2dd581(0x1aa)][_0x2dd581(0x1a7)]():_0x5eca63[_0x2dd581(0x1aa)][_0x2dd581(0x1a7)],'endpoint':typeof _0x5eca63[_0x2dd581(0x1aa)][_0x2dd581(0x152)]===_0x2dd581(0x18e)?_0x5eca63[_0x2dd581(0x1aa)]['endpoint']():_0x5eca63[_0x2dd581(0x1aa)][_0x2dd581(0x152)]};return _0x3b2c60;}function _0x55e341(_0x5ec23d,_0x578b77){return _0x2d812e(this,void 0x0,void 0x0,function*(){const _0xed2639=_0x4046;if(_0x578b77['hasClass'](_0xed2639(0x13b))){_0x578b77['removeClass'](_0xed2639(0xe2))[_0xed2639(0x198)]('expanded'),_0x578b77[_0xed2639(0x196)]('ul')[_0xed2639(0xb9)]();return;}const _0xe10a29=_0x5b58e9(_0x5ec23d),_0x5e9e6b=!_0x5ec23d[_0xed2639(0x1aa)]['isTypeRef']?_0x4ae21b:_0x3284b5;try{yield _0x40a12f(_0x5ec23d,_0x578b77,_0x5e9e6b,_0xe10a29),_0x578b77[_0xed2639(0xe4)](_0xed2639(0xe2))[_0xed2639(0x198)](_0xed2639(0x103));}catch(_0xdc8b20){_0x578b77[_0xed2639(0xe4)]('expandable')['addClass']('expanded'),console[_0xed2639(0x15d)](_0xed2639(0x1c5),_0xdc8b20);}});}const _0x48aea2={'browseName':{'namespaceIndex':0x0,'name':_0x22372e(0xa9)},'nodeClass':_0x22372e(0x10f),'nodeId':'ns=0;i=85','displayName':{'text':'Objects'},'typeDefinition':_0x211e26},_0x1b7fab=()=>{const _0x3ec4d1=_0x22372e;$[_0x3ec4d1(0xd0)](_0x3ec4d1(0xe6),{'options':{'endpointNode':()=>({'endpoint':_0x3ec4d1(0x10d)}),'endpoint':()=>undefined,'parentNode':()=>_0x48aea2,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x2d812e(this,void 0x0,void 0x0,function*(){const _0x50cf2e=_0x4046,_0x3ca950=this;if(_0x3ca950[_0x50cf2e(0xaa)]==undefined){const _0x8d8fab=typeof _0x3ca950[_0x50cf2e(0x1aa)][_0x50cf2e(0x12e)]==='function'?_0x3ca950[_0x50cf2e(0x1aa)][_0x50cf2e(0x12e)][_0x50cf2e(0x121)](_0x3ca950):_0x3ca950['options'][_0x50cf2e(0x12e)];if(_0x8d8fab instanceof Promise){const _0x221e07=yield _0x8d8fab;_0x3ca950[_0x50cf2e(0xaa)]=_0x221e07;}else _0x3ca950[_0x50cf2e(0xaa)]=_0x8d8fab;}return _0x3ca950[_0x50cf2e(0xaa)]||_0x48aea2;});},'reset'(){return _0x2d812e(this,void 0x0,void 0x0,function*(){const _0x4f9953=_0x4046,_0x3cda1f=this,_0x15ff95=_0x3cda1f;_0x15ff95['__parentNode']=undefined,_0x3cda1f[_0x4f9953(0xf5)]['empty']();const _0x3cec3f=yield this['resolveParentNode'](),_0x5093b0=_0x4197a6(_0x3cec3f);_0x3cda1f[_0x4f9953(0xf5)][_0x4f9953(0x193)](_0x5093b0),_0x3cda1f[_0x4f9953(0x10a)]=_0x3cec3f;});},'verify'(_0x3f31a8){const _0x2813b0=_0x3ec4d1,_0x53b36c=this,_0x16ae07=_0x5b58e9(_0x53b36c);_0x3e9495(_0x16ae07,_0x3f31a8,_0x53b36c[_0x2813b0(0x134)],_0x53b36c['$info'])[_0x2813b0(0xf3)](_0x114e8a=>{const _0x1b8edf=_0x2813b0;!_0x114e8a?_0x53b36c['$combo']['addClass'](_0x1b8edf(0x14c)):_0x53b36c[_0x1b8edf(0x161)][_0x1b8edf(0xe4)](_0x1b8edf(0x14c));});},'_hideMenu'(_0x2d1189){const _0x5ae9b1=_0x3ec4d1,_0x7464d2=this;$(document)['off'](_0x5ae9b1(0xcb)),_0x2d1189[_0x5ae9b1(0x1a4)](),_0x2d1189['css']({'height':_0x5ae9b1(0x1b8)});if(_0x2d1189[_0x5ae9b1(0xa8)][_0x5ae9b1(0x14d)]){var _0x5c5643=[];_0x2d1189[_0x5ae9b1(0x11a)](_0x5ae9b1(0x144))['each'](function(){const _0x39ddcf=_0x5ae9b1;$(this)[_0x39ddcf(0xce)](_0x39ddcf(0xd1))&&_0x5c5643['push']($(this)[_0x39ddcf(0x131)](_0x39ddcf(0xc7)));}),_0x2d1189['callback'](_0x5c5643);}_0x7464d2[_0x5ae9b1(0x16e)]['is'](_0x5ae9b1(0x9f))?_0x7464d2[_0x5ae9b1(0x134)]['trigger']('focus'):_0x7464d2['$selectTrigger']['trigger'](_0x5ae9b1(0x147));},'_createMenu'(_0x485062,_0x514afd,_0x58df32){const _0x5241d1=_0x3ec4d1;var _0x4ebe83=this;const _0x30c28c=$(_0x5241d1(0x1a0))[_0x5241d1(0x198)](_0x5241d1(0x18b));return _0x30c28c[_0x5241d1(0xa8)]=_0x514afd,_0x30c28c[_0x5241d1(0xd8)]=_0x58df32,_0x485062[_0x5241d1(0x1bd)](_0x46e645=>{const _0x551ac9=_0x5241d1;typeof _0x46e645===_0x551ac9(0x174)&&(_0x46e645={'value':_0x46e645,'label':_0x46e645});var _0x38d862=$(_0x551ac9(0x1b7))[_0x551ac9(0x167)](_0x551ac9(0xc7),_0x46e645[_0x551ac9(0xc7)])[_0x551ac9(0xd4)](_0x30c28c);_0x46e645[_0x551ac9(0xec)]&&_0x38d862[_0x551ac9(0xdf)](_0x46e645['label']);_0x46e645[_0x551ac9(0xab)]&&_0x38d862[_0x551ac9(0xce)](_0x551ac9(0xab),_0x46e645[_0x551ac9(0xab)]);if(_0x46e645[_0x551ac9(0xe5)]){if(_0x46e645[_0x551ac9(0xe5)][_0x551ac9(0x120)]('<')===0x0)$(_0x46e645[_0x551ac9(0xe5)])[_0x551ac9(0x1ad)](_0x38d862);else _0x46e645['icon'][_0x551ac9(0x120)]('/')!==-0x1?$(_0x551ac9(0x168),{'class':_0x551ac9(0x1a9),'style':_0x551ac9(0x113)+_0x46e645[_0x551ac9(0xe5)]+_0x551ac9(0x11b)+_0x46e645[_0x551ac9(0xe5)]+');'})[_0x551ac9(0x1ad)](_0x38d862):$(_0x551ac9(0x168),{'class':_0x551ac9(0xc5)+_0x46e645[_0x551ac9(0xe5)]})['prependTo'](_0x38d862);}else _0x38d862['css']({'paddingLeft':_0x551ac9(0xbd)});!_0x46e645['icon']&&!_0x46e645[_0x551ac9(0xec)]&&_0x38d862['text'](_0x46e645[_0x551ac9(0xc7)]);var _0x13a479;_0x514afd[_0x551ac9(0x14d)]&&(_0x13a479=$(_0x551ac9(0x16f))['css'](_0x551ac9(0x12b),_0x551ac9(0xb4))['data'](_0x551ac9(0xc7),_0x46e645[_0x551ac9(0xc7)])[_0x551ac9(0x1ad)](_0x38d862)['on']('mousedown',function(_0x286e08){_0x286e08['preventDefault']();})),_0x38d862['on']('click',function(_0x3ac762){const _0x1e5d8b=_0x551ac9;_0x3ac762['preventDefault'](),_0x3ac762['stopPropagation'](),!_0x514afd[_0x1e5d8b(0x14d)]?(_0x58df32(_0x46e645['value']),_0x4ebe83[_0x1e5d8b(0xb3)](_0x30c28c)):_0x13a479['prop'](_0x1e5d8b(0xd1),!_0x13a479[_0x1e5d8b(0xce)](_0x1e5d8b(0xd1)));});}),_0x30c28c['css']({'display':_0x5241d1(0xb4)}),_0x30c28c['on']('keydown',function(_0x1ccd60){const _0xe77ce3=_0x5241d1;if(_0x1ccd60[_0xe77ce3(0x15f)]===0x28)_0x1ccd60[_0xe77ce3(0x139)](),$(this)[_0xe77ce3(0x196)](_0xe77ce3(0x166))[_0xe77ce3(0x12c)]()[_0xe77ce3(0x13f)](_0xe77ce3(0x147));else{if(_0x1ccd60['keyCode']===0x26)_0x1ccd60[_0xe77ce3(0x139)](),$(this)[_0xe77ce3(0x196)](_0xe77ce3(0x166))[_0xe77ce3(0x16c)]()[_0xe77ce3(0x13f)](_0xe77ce3(0x147));else _0x1ccd60[_0xe77ce3(0x15f)]===0x1b&&(_0x1ccd60[_0xe77ce3(0x139)](),_0x4ebe83[_0xe77ce3(0xb3)](_0x30c28c));}_0x1ccd60[_0xe77ce3(0x176)]();}),_0x30c28c;},'disarmClick':![],'_showMenu'(_0x3c0600,_0x87bbd6){const _0x2434d6=_0x3ec4d1;if(this[_0x2434d6(0x1ba)]){this['disarmClick']=![];return;}var _0xc02a07=this,_0x2227a5=_0x87bbd6['offset'](),_0x155f09=_0x87bbd6['height'](),_0x5d880b=_0x3c0600['height'](),_0x265f2c=_0x155f09+_0x2227a5[_0x2434d6(0xf7)];_0x265f2c+_0x5d880b-$(document)['scrollTop']()>$(window)['height']()&&(_0x265f2c-=_0x265f2c+_0x5d880b-$(window)[_0x2434d6(0x124)]()+0x5),_0x265f2c<0x0&&(_0x3c0600[_0x2434d6(0x124)](_0x5d880b+_0x265f2c),_0x265f2c=0x0),_0x3c0600[_0x2434d6(0x128)]({'top':_0x265f2c+'px','left':_0x2227a5['left']+'px'}),_0x3c0600['slideDown'](0x64),this[_0x2434d6(0x143)](function(){const _0x49545c=_0x2434d6;_0xc02a07['$uiSelect'][_0x49545c(0x198)](_0x49545c(0x171)),$(document)['on'](_0x49545c(0xcb),function(_0x1bc86e){const _0xd316f5=_0x49545c;!$(_0x1bc86e[_0xd316f5(0x1ab)])[_0xd316f5(0x183)](_0x3c0600)[_0xd316f5(0x182)]&&_0xc02a07['_hideMenu'](_0x3c0600),$(_0x1bc86e[_0xd316f5(0x1ab)])[_0xd316f5(0x183)](_0x87bbd6)[_0xd316f5(0x182)]&&(_0xc02a07[_0xd316f5(0x1ba)]=!![],_0x1bc86e[_0xd316f5(0x139)]());});});},'_showTypeMenu'(){const _0x5312df=_0x3ec4d1,_0x7d8346=this;this[_0x5312df(0xfb)](_0x7d8346[_0x5312df(0x149)],_0x7d8346['$combo']),_0x7d8346[_0x5312df(0x157)]['hide']();const _0x3d588b=_0x7d8346[_0x5312df(0x87)];var _0x2febab=_0x7d8346[_0x5312df(0x149)]['find'](_0x5312df(0x191)+_0x3d588b+'\x27');setTimeout(function(){const _0x33e54b=_0x5312df;_0x2febab[_0x33e54b(0x13f)](_0x33e54b(0x147));},0x78);},'_initMenu'(){const _0x254dba=_0x3ec4d1,_0x3d3e8b=this;_0x3d3e8b[_0x254dba(0x106)][_0x254dba(0x167)](_0x254dba(0xe9),-0x1),_0x3d3e8b[_0x254dba(0x106)]['on'](_0x254dba(0x169),function(_0x21e9b6){_0x21e9b6['preventDefault']();});_0x3d3e8b[_0x254dba(0x149)]&&_0x3d3e8b[_0x254dba(0x149)][_0x254dba(0x1af)]();const _0x1e00d7=[{'label':_0x254dba(0xdf),'value':'t','title':_0x254dba(0x164),'icon':_0x254dba(0x185)},{'label':_0x254dba(0x107),'value':_0x254dba(0xbb),'title':_0x254dba(0x154),'icon':_0x254dba(0x1b5)},{'label':_0x254dba(0xdd),'value':'n','icon':_0x254dba(0x17b)},{'label':_0x254dba(0xe8),'value':'na','icon':_0x254dba(0x17e)},{'label':_0x254dba(0x14b),'value':_0x254dba(0xcd),'icon':_0x254dba(0x1b9)},{'label':'BrowsePath','value':'b','icon':'<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/>&nbsp;'},{'label':'Aliased\x20Browse\x20Path','value':'ab','icon':_0x254dba(0xeb)}],_0x4837e4=_0xad8143(_0x3d3e8b[_0x254dba(0x134)][_0x254dba(0x14a)]()),_0x19866c=_0x1e00d7[_0x254dba(0x11a)](_0x2a973c=>_0x2a973c[_0x254dba(0xc7)]===_0x4837e4);_0x3d3e8b[_0x254dba(0xcf)][_0x254dba(0x159)]()[_0x254dba(0x193)](_0x254dba(0xd7)+((_0x19866c===null||_0x19866c===void 0x0?void 0x0:_0x19866c['title'])||'')+_0x254dba(0xbf)+((_0x19866c===null||_0x19866c===void 0x0?void 0x0:_0x19866c[_0x254dba(0xe5)])||'')+_0x254dba(0xd6)),_0x3d3e8b['selectedMenuItem']=_0x4837e4;const _0x53e1d9=this;_0x3d3e8b['$menu']=this[_0x254dba(0x170)](_0x1e00d7,{},_0x5437da=>{const _0x583480=_0x254dba,_0x540a5c=_0x5fbf79(_0x5437da);_0x540a5c&&_0x53e1d9[_0x583480(0x1c1)](_0x540a5c);const _0x1ff22a=_0x1e00d7['find'](_0x1362d2=>_0x1362d2[_0x583480(0xc7)]===_0x5437da);_0x3d3e8b[_0x583480(0x87)]=_0x5437da,_0x3d3e8b[_0x583480(0xcf)][_0x583480(0x159)]()[_0x583480(0x193)](_0x583480(0xd7)+((_0x1ff22a===null||_0x1ff22a===void 0x0?void 0x0:_0x1ff22a[_0x583480(0xab)])||'')+_0x583480(0xbf)+((_0x1ff22a===null||_0x1ff22a===void 0x0?void 0x0:_0x1ff22a['icon'])||'')+'</span>');}),_0x3d3e8b[_0x254dba(0x149)]['appendTo'](document[_0x254dba(0x1a8)]),_0x3d3e8b[_0x254dba(0x149)][_0x254dba(0x1a4)](),_0x3d3e8b[_0x254dba(0x106)][_0x254dba(0x173)]();},'mode'(){const _0xa6d5fc=_0x3ec4d1,_0xf6c8c7=this;return _0x5fbf79(_0xf6c8c7[_0xa6d5fc(0x87)]);},'setMode'(_0x8afcb3){const _0x3a6492=_0x3ec4d1,_0x52debc=this,_0x4ed82d=_0x4783a6(_0x8afcb3);_0x52debc[_0x3a6492(0x87)]=_0x4ed82d;},'_create'(){const _0x48c985=_0x3ec4d1,_0x166a9e=this;_0x166a9e['$input']=this[_0x48c985(0xb8)],_0x166a9e[_0x48c985(0x134)][_0x48c985(0x128)](_0x48c985(0x162),_0x48c985(0xb4)),_0x166a9e[_0x48c985(0x16e)]=_0x166a9e[_0x48c985(0x134)][_0x48c985(0x156)](_0x48c985(0x1a0))[_0x48c985(0xf1)]()[_0x48c985(0x198)](_0x48c985(0x1bc)),_0x166a9e[_0x48c985(0x161)]=$('<div/>'),_0x166a9e[_0x48c985(0x161)]['addClass'](_0x48c985(0x1b4)),_0x166a9e[_0x48c985(0x134)][_0x48c985(0x8d)](_0x166a9e[_0x48c985(0x161)]),_0x166a9e[_0x48c985(0x155)]=$(_0x48c985(0x126))[_0x48c985(0x198)](_0x48c985(0x10b)),_0x166a9e[_0x48c985(0x161)][_0x48c985(0x193)](_0x166a9e[_0x48c985(0x155)]),_0x166a9e['$inputGroup']['append'](_0x166a9e[_0x48c985(0x134)]),_0x166a9e[_0x48c985(0x99)]=$('<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>'),_0x166a9e[_0x48c985(0x134)][_0x48c985(0x9e)](_0x166a9e[_0x48c985(0x99)]),_0x166a9e['$toggleTreeBtn']['on']('click',function(){return _0x2d812e(this,void 0x0,void 0x0,function*(){const _0x32d3ed=_0x4046;var _0x1f1150;let _0x2504ea=![],_0x56b7d8;!_0x166a9e[_0x32d3ed(0x157)]['is'](_0x32d3ed(0x9f))&&(_0x166a9e['$info']['hide'](),_0x56b7d8=yield _0x166a9e['resolveParentNode'](),(_0x56b7d8!==_0x166a9e[_0x32d3ed(0x10a)]||((_0x1f1150=_0x166a9e[_0x32d3ed(0x10a)])===null||_0x1f1150===void 0x0?void 0x0:_0x1f1150[_0x32d3ed(0x14e)])!==_0x56b7d8['nodeId'])&&(yield _0x166a9e[_0x32d3ed(0x158)]()),_0x2504ea=!![]),_0x166a9e['$dropdown'][_0x32d3ed(0xb9)](),_0x2504ea&&(yield _0x50e393(_0x166a9e,_0x56b7d8));});}),_0x166a9e['$verifyBtn']=$('<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>'),_0x166a9e[_0x48c985(0x134)][_0x48c985(0x9e)](_0x166a9e['$verifyBtn']),_0x166a9e[_0x48c985(0x8f)]['on'](_0x48c985(0xa5),()=>{const _0x36f391=_0x48c985,_0x240025=_0x166a9e[_0x36f391(0x118)]();if(!_0x240025)return;this[_0x36f391(0x1c1)](_0x240025);});const _0x354ab8=_0x4b23d2=>_0x2d812e(this,void 0x0,void 0x0,function*(){const _0x2da6a3=_0x48c985,_0xf78e34=this;let _0x5ec520=_0xf78e34[_0x2da6a3(0x118)]();if(!_0x5ec520)return;const _0x336dce=_0x5b58e9(_0xf78e34),{data:_0x3fe354,json:_0x2e829f}=yield _0x48b0d0(_0x336dce,_0x4b23d2);if(_0x3fe354[_0x2da6a3(0x15e)]!==0xc8)return;if(_0x2e829f[_0x2da6a3(0x1c0)]['match'](/Good/)){const _0x350a67=_0x2b1190(_0x2e829f,_0x5ec520);_0xf78e34['$input'][_0x2da6a3(0x14a)](_0x350a67),_0xf78e34['$input'][_0x2da6a3(0x13f)](_0x2da6a3(0xda));}});{_0x166a9e[_0x48c985(0xd3)]=$('<div>'),_0x166a9e['$input'][_0x48c985(0x98)](_0x166a9e[_0x48c985(0xd3)]),_0x166a9e[_0x48c985(0x106)]=$(_0x48c985(0x10e))[_0x48c985(0x1ad)](_0x166a9e['$uiSelect']),$(_0x48c985(0x165))[_0x48c985(0xb9)](!![])[_0x48c985(0xd4)](_0x166a9e[_0x48c985(0x106)]),_0x166a9e[_0x48c985(0x106)]['on'](_0x48c985(0xa5),function(_0x3ac7c1){const _0x37d9a2=_0x48c985;_0x3ac7c1[_0x37d9a2(0x139)](),_0x3ac7c1[_0x37d9a2(0x176)](),_0x166a9e[_0x37d9a2(0x148)]();}),_0x166a9e[_0x48c985(0x106)]['on'](_0x48c985(0xc1),function(_0x32b74b){const _0x518709=_0x48c985;_0x32b74b['keyCode']===0x28&&_0x166a9e[_0x518709(0x148)](),_0x32b74b[_0x518709(0x176)]();})['on'](_0x48c985(0x147),function(){const _0x222fcf=_0x48c985;_0x166a9e['$uiSelect']['addClass'](_0x222fcf(0x171));})['on']('blur',function(){const _0x474151=_0x48c985;_0x166a9e[_0x474151(0xd3)][_0x474151(0xe4)](_0x474151(0x171));}),_0x166a9e['$selectLabel']=$('<span\x20class=\x22red-ui-typedInput-type-label\x22></span>')['appendTo'](_0x166a9e['$selectTrigger']);}this['_initMenu']();!_0x166a9e['$input'][_0x48c985(0x167)]('placeholder')&&_0x166a9e[_0x48c985(0x134)][_0x48c985(0x167)]('placeholder','enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20');_0x166a9e[_0x48c985(0xdc)]=$(_0x48c985(0x117)),_0x166a9e[_0x48c985(0xdc)]['hide'](),_0x166a9e['$combo'][_0x48c985(0x193)](_0x166a9e[_0x48c985(0xdc)]),_0x166a9e['$dropdown']=$('<div/>')[_0x48c985(0x198)](_0x48c985(0xe7))[_0x48c985(0x1a4)]()['appendTo'](_0x166a9e['$combo']),_0x166a9e['$tree']=$(_0x48c985(0x105))[_0x48c985(0xd4)](_0x166a9e[_0x48c985(0x157)]),this[_0x48c985(0x158)]();const _0x378135=(_0x46cc82,_0x4c94d7)=>{const _0xd671cc=_0x48c985,_0x52547c=0x14,_0x1d5db1=0x14,_0x4659e7=_0x46cc82[_0xd671cc(0x133)](),_0x36f173=_0x4c94d7;if(_0x36f173[_0xd671cc(0x142)]>=_0x4659e7[_0xd671cc(0xae)]&&_0x36f173[_0xd671cc(0x142)]<=_0x4659e7[_0xd671cc(0xae)]+_0x52547c&&_0x36f173[_0xd671cc(0x187)]>=_0x4659e7['top']&&_0x36f173['pageY']<=_0x4659e7[_0xd671cc(0xf7)]+_0x1d5db1)return!![];return![];},_0x523840=_0x565e61=>_0x2d812e(this,void 0x0,void 0x0,function*(){const _0x4975ef=_0x48c985;if(_0x565e61['hasClass'](_0x4975ef(0xe2)))_0x55e341(_0x166a9e,_0x565e61);else{if(_0x565e61[_0x4975ef(0x19a)](_0x4975ef(0x103)))_0x565e61[_0x4975ef(0x196)]('ul')[_0x4975ef(0xb9)](),_0x565e61[_0x4975ef(0x9c)](_0x4975ef(0xb5));else{if(_0x565e61[_0x4975ef(0x196)]('ul')[_0x4975ef(0x196)]()[_0x4975ef(0x182)]>0x0)_0x565e61['children']('ul')['toggle'](),_0x565e61['toggleClass'](_0x4975ef(0xb5));else;}}});_0x166a9e['$tree']['on'](_0x48c985(0x96),'li',function(_0xdacbbe){const _0xa8f904=_0x48c985;var _0xef89c4,_0xc4252f;_0xdacbbe[_0xa8f904(0x176)]();let _0x15c489=$(this);if(_0x378135(_0x15c489,_0xdacbbe))_0x523840(_0x15c489);else{const _0x38683d=_0x15c489['data'](_0xa8f904(0xc7)),_0x29d8a2=_0x15c489[_0xa8f904(0x131)](_0xa8f904(0x1c2));if(_0x166a9e[_0xa8f904(0x1aa)][_0xa8f904(0x163)]&&!_0x166a9e[_0xa8f904(0x1aa)][_0xa8f904(0x163)](_0x29d8a2))return;_0x166a9e[_0xa8f904(0x134)][_0xa8f904(0x131)](_0xa8f904(0x1c2),_0x29d8a2),((_0xef89c4=_0x29d8a2['displayName'])===null||_0xef89c4===void 0x0?void 0x0:_0xef89c4[_0xa8f904(0xdf)])||((_0xc4252f=_0x29d8a2[_0xa8f904(0x90)])===null||_0xc4252f===void 0x0?void 0x0:_0xc4252f['name'])||_0x29d8a2[_0xa8f904(0x14e)][_0xa8f904(0xde)]();let _0x31817f=_0x166a9e['mode']();!_0x31817f&&(_0x31817f=_0xa8f904(0x14e),_0x166a9e[_0xa8f904(0x160)](_0x31817f)),_0x354ab8(_0x38683d)['then'](()=>{const _0x2a0c91=_0xa8f904;_0x166a9e[_0x2a0c91(0x157)][_0x2a0c91(0x1a4)]();})[_0xa8f904(0x199)](_0x1cd47b=>{const _0x542d2c=_0xa8f904;_0x166a9e[_0x542d2c(0x157)][_0x542d2c(0x1a4)]();});}}),_0x166a9e[_0x48c985(0xf5)]['on'](_0x48c985(0xa5),'li',function(_0x5dfdbb){const _0xaf4033=_0x48c985;_0x5dfdbb[_0xaf4033(0x176)]();let _0x44d57b=$(this);_0x378135(_0x44d57b,_0x5dfdbb)&&_0x523840(_0x44d57b),_0x27db1d(_0x166a9e,_0x44d57b);}),$(document)['on'](_0x48c985(0xa5),function(_0x581bf5){const _0x3775e7=_0x48c985;!$(_0x581bf5[_0x3775e7(0x1ab)])['closest'](_0x166a9e[_0x3775e7(0x161)])[_0x3775e7(0x182)]&&_0x166a9e['$dropdown'][_0x3775e7(0x1a4)]();});}});},_0x57c208=()=>{const _0x3ea69f=_0x22372e;$['widget'](_0x3ea69f(0x16b),{'options':{'namesToBits':{},'value':0x0},'_create'(){const _0x16d436=_0x3ea69f,_0x492c4d=this;_0x492c4d[_0x16d436(0x134)]=this['element'],_0x492c4d[_0x16d436(0x161)]=$(_0x16d436(0x126)),_0x492c4d[_0x16d436(0x161)]['addClass']('sterfive-combo-box'),this[_0x16d436(0xb8)][0x0][_0x16d436(0x1bf)][_0x16d436(0x1b0)](_0x492c4d[_0x16d436(0x161)][0x0],this[_0x16d436(0xb8)][0x0]),_0x492c4d[_0x16d436(0x155)]=$(_0x16d436(0x126))[_0x16d436(0x198)](_0x16d436(0x111)),_0x492c4d[_0x16d436(0x161)][_0x16d436(0x193)](_0x492c4d[_0x16d436(0x155)]),_0x492c4d[_0x16d436(0x155)]['append'](_0x492c4d[_0x16d436(0x134)]),_0x492c4d[_0x16d436(0x99)]=$(_0x16d436(0xc6)),_0x492c4d[_0x16d436(0x155)][_0x16d436(0x193)](_0x492c4d[_0x16d436(0x99)]),_0x492c4d['$toggleTreeBtn']['on'](_0x16d436(0xa5),function(){const _0x19d46c=_0x16d436;_0x492c4d['$dropdown']['toggle'](),_0x492c4d[_0x19d46c(0x157)]['is'](_0x19d46c(0x9f))&&(_0x414e96(),_0x492c4d[_0x19d46c(0x161)][_0x19d46c(0x11a)](_0x19d46c(0x13e))[_0x19d46c(0xf6)](function(){const _0x430bdc=_0x19d46c;let _0x3ba430=$(this)[_0x430bdc(0xdf)]();const _0x1a0f55=_0x492c4d[_0x430bdc(0x1aa)][_0x430bdc(0x16d)][_0x3ba430];if(_0x1a0f55===undefined)throw new Error(_0x430bdc(0x17f));(_0x492c4d[_0x430bdc(0x1aa)][_0x430bdc(0xc7)]&_0x1a0f55)===_0x1a0f55?$(this)['addClass'](_0x430bdc(0x1c4)):$(this)[_0x430bdc(0xe4)](_0x430bdc(0x1c4));}),_0x492c4d[_0x19d46c(0x172)]());}),_0x492c4d[_0x16d436(0x157)]=$(_0x16d436(0x192))[_0x16d436(0x1a4)]()['insertAfter'](this[_0x16d436(0xb8)]),$['each'](this[_0x16d436(0x1aa)][_0x16d436(0x16d)],function(_0x5f2f2b){const _0x259d4d=_0x16d436,_0xb8a90d=$(_0x259d4d(0x88)+_0x5f2f2b+'\x22>'+_0x259d4d(0x127)+_0x5f2f2b+'</div>');_0x492c4d['$dropdown'][_0x259d4d(0x193)](_0xb8a90d);}),_0x492c4d[_0x16d436(0x157)]['on'](_0x16d436(0xa5),_0x16d436(0x13e),function(){const _0x196378=_0x16d436;$(this)[_0x196378(0x9c)](_0x196378(0x1c4));const _0x3afe95=$(this)['data'](_0x196378(0xc7));$(this)[_0x196378(0x19a)](_0x196378(0x1c4))?_0x587e0d(_0x3afe95):_0x28e9df(_0x3afe95),_0x492c4d[_0x196378(0x172)]();}),_0x492c4d[_0x16d436(0x161)][_0x16d436(0x193)](_0x492c4d[_0x16d436(0x157)]);const _0x414e96=()=>{const _0xea59d6=_0x16d436,_0x4fa718=this['element'][_0xea59d6(0x14a)]();_0x492c4d['options'][_0xea59d6(0xc7)]=_0x3a3325(_0x492c4d[_0xea59d6(0x1aa)]['namesToBits'],_0x4fa718);},_0x587e0d=_0x4bdbb3=>{const _0x45ef69=_0x16d436,_0x5ac09f=_0x492c4d[_0x45ef69(0x1aa)][_0x45ef69(0x16d)][_0x4bdbb3];if(_0x5ac09f===undefined)throw new Error(_0x45ef69(0x17f));this['options'][_0x45ef69(0xc7)]|=_0x5ac09f;},_0x28e9df=_0x2787d9=>{const _0x2d138c=_0x16d436,_0xa13d9e=_0x492c4d[_0x2d138c(0x1aa)]['namesToBits'][_0x2787d9];if(_0xa13d9e===undefined)throw new Error(_0x2d138c(0x17f));this['options']['value']&=~_0xa13d9e,this['element']['val'](_0x3106b6(_0x492c4d[_0x2d138c(0x1aa)][_0x2d138c(0x16d)],this['options'][_0x2d138c(0xc7)]));};_0x414e96();},'updateValue'(){const _0x2559ac=_0x3ea69f,_0x249ca3=this;this['element'][_0x2559ac(0x14a)](_0x3106b6(_0x249ca3[_0x2559ac(0x1aa)][_0x2559ac(0x16d)],this['options'][_0x2559ac(0xc7)]));},'_destroy'(){const _0x4f1c54=_0x3ea69f,_0x263cd3=this;_0x263cd3[_0x4f1c54(0x157)]['remove']();}});},_0x4a0a0a=()=>{const _0x57d11a=_0x22372e,_0x3a4fce=$(_0x57d11a(0x10c)),_0x563d7e=_0x3a4fce[_0x57d11a(0x14a)](),_0x2bbb6e=RED['nodes'][_0x57d11a(0x130)](_0x563d7e);if(!_0x2bbb6e)return undefined;const {endpoint:_0x318596,securityMode:_0x5d4f0f,securityPolicy:_0x56a481,userIdentityType:_0x27160a,credentials:_0x13ba3a,namespaceAliases:_0x46e372}=_0x2bbb6e,_0x460e62={'endpoint':_0x318596,'securityMode':_0x5d4f0f,'securityPolicy':_0x56a481,'userIdentityType':_0x27160a,'credentials':_0x13ba3a,'namespaceAliases':_0x46e372};return _0x460e62;},_0x1cc96d=()=>{const _0x37b099=_0x22372e,_0x55d9eb=$(_0x37b099(0x10c)),_0xc0a7dd=_0x55d9eb[_0x37b099(0x14a)](),_0x345e11=_0x4a0a0a();if(!_0x345e11)return undefined;const _0x3be91f=_0x345e11[_0x37b099(0xfc)];return Object[_0x37b099(0x188)]({'namespaceAliases':_0x3be91f,'id':_0xc0a7dd},_0x345e11);},_0x24ffcf=()=>{return{'endpointNode':_0x1cc96d};},_0x2d9df2=()=>{const _0x12b989=_0x22372e,_0x2701fe=$(_0x12b989(0xac));if(_0x2701fe[_0x12b989(0x182)]){const _0x3e6ba1=$(_0x12b989(0x15a),{'src':_0x12b989(0x180),'scrolling':'no','style':_0x12b989(0x122),'allowtransparency':_0x12b989(0x17a),'width':_0x12b989(0x18d),'height':_0x12b989(0xbe)});_0x2701fe[_0x12b989(0x193)](_0x3e6ba1),_0x3e6ba1[_0x12b989(0x128)]({'position':_0x12b989(0xa2),'right':_0x12b989(0xc0),'bottom':_0x12b989(0xa7)});}};RED[_0x22372e(0xb0)]['registerType']('OpcUa-Client2-Browse',{'category':_0x22372e(0x9a),'color':_0x22372e(0xb6),'align':'right','icon':_0x22372e(0x1ae),'paletteLabel':_0x22372e(0xc2),'defaults':{'inputs':{'value':0x1},'output':{'value':0x4},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':'OpcUa-Endpoint2'},'nodeId':{'value':'','required':![]},'referenceTypeId':{'value':_0x22372e(0xee),'required':![]},'includeSubtypes':{'value':![],'required':!![]},'browseDirection':{'value':_0x22372e(0x151),'required':!![]},'nodeClassMask':{'value':'Variable\x20|\x20Object\x20|\x20Method\x20|\x20ObjectType\x20|\x20VariableType','required':![]},'resultMask':{'value':'ReferenceType\x20|\x20BrowseName\x20|\x20TypeDefinition\x20|\x20DisplayName\x20|\x20NodeClass\x20|\x20IsForward','required':![]}},'outputs':0x1,'label'(){const _0x211e15=_0x22372e;return this[_0x211e15(0xd9)]||_0x211e15(0x1b6);},'labelStyle'(){const _0x1622ba=_0x22372e;return this[_0x1622ba(0xd9)]?_0x1622ba(0x116):'';},'oneditprepare'(){const _0x5e5c83=_0x22372e,_0x30d160=this;_0x1b7fab(),_0x57c208(),_0x2d9df2(),_0x30d160[_0x5e5c83(0x1a5)]=0x1;const _0x5d480e=$('#node-input-nodeClassMask');_0x5d480e[_0x5e5c83(0x195)]({'namesToBits':{'Object':0x1,'Variable':0x2,'Method':0x4,'ObjectType':0x8,'VariableType':0x10,'ReferenceType':0x20,'DataType':0x40,'View':0x80},'value':0x0});const _0x4a7321=$(_0x5e5c83(0x12a));_0x4a7321[_0x5e5c83(0x195)]({'namesToBits':{'ReferenceType':0x1,'IsForward':0x2,'NodeClass':0x4,'BrowseName':0x8,'DisplayName':0x10,'TypeDefinition':0x20},'value':0x3f});const _0x4bffb0=$(_0x5e5c83(0xba));_0x4bffb0[_0x5e5c83(0x18a)](Object['assign'](Object[_0x5e5c83(0x188)]({},_0x24ffcf()),{'isSelectable'(_0x34a203){const _0x48953f=_0x5e5c83;return _0x34a203['nodeClass']==='Variable'||_0x34a203[_0x48953f(0x14f)]===_0x48953f(0x10f);}}));const _0x3c5514={'nodeId':_0x5e5c83(0x19f),'referenceTypeId':'','browseName':{'namespaceIndex':0x0,'name':_0x5e5c83(0x190)},'displayName':{'text':_0x5e5c83(0x190)},'nodeClass':_0x5e5c83(0xf4),'typeDefinition':_0x5e5c83(0x19f)},_0x4afdff=$(_0x5e5c83(0x141));_0x4afdff[_0x5e5c83(0x18a)](Object[_0x5e5c83(0x188)](Object[_0x5e5c83(0x188)]({},_0x24ffcf()),{'parentNode':()=>_0x3c5514,'isSelectable'(_0x307d1e){const _0x1c62c4=_0x5e5c83;return _0x307d1e[_0x1c62c4(0x14f)]===_0x1c62c4(0xf4);},'isTypeRef':!![]}));},'oneditsave'(){}});}()));
9
8
  </script>
10
9
  <script type="text/x-red" data-template-name="OpcUa-Client2-Browse">
11
10
  <style>
@@ -37,8 +36,8 @@ function _0x5e55(_0xbdb485,_0x4d0db6){const _0x1cb348=_0x1cb3();return _0x5e55=f
37
36
  </style>
38
37
  <h3>Opc-UA Browse</h3>
39
38
  <div class="form-row">
40
- <label for="node-input-name"><i class="icon-tasks"></i>Name</label>
41
- <input type="text" id="node-input-name" placeholder="enter the friendly name of the node" />
39
+ <label for="node-input-name"><i class="icon-tasks"></i><span data-i18n="node-red:common.label.name"></span></label>
40
+ <input type="text" id="node-input-name" data-i18n="[placeholder]node-red:common.label.name" />
42
41
  </div>
43
42
  <div class="form-row">
44
43
  <label for="node-input-endpoint"><i class="icon-tasks"></i> Endpoint</label>