@opcua/for-node-red 3.9.0 → 3.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +1 -1
- package/all.js +4 -150
- package/config-panel/assets/{index-Cbauh_EP.css → index-CxGeB_Tt.css} +1 -1
- package/config-panel/index.html +5 -3
- package/package.json +2 -1
- package/source/OpcUa-Client2-Browse/OpcUa-Client2-Browse.html +3 -4
- package/source/OpcUa-Client2-Call/OpcUa-Client2-Call.html +7 -2
- package/source/OpcUa-Client2-Explore/OpcUa-Client2-Explore.html +1 -2
- package/source/OpcUa-Client2-ExtensionObject/OpcUa-Client2-ExtensionObject.html +1 -2
- package/source/OpcUa-Client2-FileOperation/OpcUa-Client2-FileOperation.css +2 -0
- package/source/OpcUa-Client2-FileOperation/OpcUa-Client2-FileOperation.html +75 -0
- package/source/OpcUa-Client2-FileOperation/OpcUa-Client2-FileOperation.js +2 -0
- package/source/OpcUa-Client2-HistoryRead/OpcUa-Client2-HistoryRead.html +1 -2
- package/source/OpcUa-Client2-Monitor/OpcUa-Client2-Monitor.html +1 -2
- package/source/OpcUa-Client2-MonitorEvent/OpcUa-Client2-MonitorEvent.html +1 -2
- package/source/OpcUa-Client2-Read/OpcUa-Client2-Read.html +1 -2
- package/source/OpcUa-Client2-Write/OpcUa-Client2-Write.html +1 -2
- package/source/OpcUa-Endpoint2/OpcUa-Endpoint2.html +1 -2
- /package/config-panel/assets/{index-Dbq8sVaJ.js → index-DgIjB-ey.js} +0 -0
@@ -4,8 +4,7 @@
|
|
4
4
|
</style>
|
5
5
|
|
6
6
|
<script type="text/javascript">
|
7
|
-
function _0x3e4f(_0x53b56,_0x39ad89){const _0x44a71b=_0x44a7();return _0x3e4f=function(_0x3e4fe9,_0x4efabb){_0x3e4fe9=_0x3e4fe9-0xc8;let _0x4b081d=_0x44a71b[_0x3e4fe9];return _0x4b081d;},_0x3e4f(_0x53b56,_0x39ad89);}function _0x44a7(){const _0x443e5e=['$menu','li\x20>\x20.tree-text','OpcUa-Endpoint2','_showMenu','node','$tree','<i\x20class=\x22fa\x20fa-font\x22/i>\x20','$dropdown','endpoint','Unspecified','red-ui-typedInput-icon\x20','selectedMenuItem','aliasedBrowsePath','Good','keydown','Invalid','ns=0;i=45','tabindex','92dKcTPO','nodeClass','reset','checked','<ul\x20class=\x22sterfive-tree\x22></ul>','prop','expandable','Aliased\x20Browse\x20Path','View','pageY','BrowsePath','<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>','Organizes','$inputGroup','addClass','position','currentParent','fa-object-group','nodeIds','DodgerBlue','parentNode','nsuNodeID','/checkNodeId','length','DarkOrange','$verifyBtn','1565286rTdKWT','setMode','done','trigger',':first','browseResult','failure','nodeId_nsu','error','$input','/opcua-for-node-red','Aliased\x20NodeId','<input\x20type=\x22checkbox\x22>','_initMenu','node_label_italic','verify','<li>error\x20','Both','CadetBlue','val','toggle','multiple','function','elements','Inverse','change','element','$selectLabel','animate','mode','push','67131OhyqnX','fa-folder','<i\x20class=\x22fa\x20fa-bookmark\x22/> \x20','HasChild','[value=\x27','<span\x20class=\x22red-ui-typedInput-type-label\x22></span>','application/json','#C0DEED','removeClass','nsu','loading','relativePath','target','dblclick','name','find','absolute','placeholder','HasProperty','<div/>','ns=0;i=47','localeCompare','$info','before','isTypeRef','text','filter','node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','../../icons/opcuanodeLogo.png','inputs','282RzUZAT','right','rgba(61,\x2060,\x204,\x200.525)','Forward','nsu\x20nodeId:\x20','SandyBrown','toggleClass','ReferenceType','endpointNode','red-ui-typedInput-focus','nodes','NodeClass','56Rgvapp','6201310GZjOpV','body','replaceWith','ns=0;i=40','ns=0;i=85','VariableType','typeDefinition','DataType','selected','$uiSelect','$toggleTreeBtn','Method',':visible','stopPropagation','Value\x20is\x20not\x20verified','resolveParentNode','aliasedNodeId','Object','hide','hasClass','after','attr','SuppressedError','HasSubtype','sterfive-info','icon','click','parent','ns=0;i=61','already\x20loading','fa-list-alt','suppressed','8692474ttTigX','callback','message','input[type=\x22checkbox\x22]','baseUrl','ObjectType','isSelectable','none','$combo','keyCode','remove','append','background-color:transparent;overflow:hidden;border:3px','css','err','<i\x20class=\x22fa\x20fa-tag\x22/>1\x20 \x20','children','i=61','options','><i\x20class=\x22fa\x20','toString','fetched','log','SteelBlue','red-ui-typedInput-icon','53145gPXGYr','nodeBrowser','references','off','namespaceAliases','TypeDefinition','join','180px','/walk-backward','requestedNodeId','sterfive-dropdown','nodeId_aliased','data','displayName','status','Value','ns=0;i=46','BrowseName','sterfive-combo-box',';\x22></i>\x20','referenceTypeId','label','statusText','catch','POST','sterfive-input-error','mask-image:\x20url(','<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> ','closest','#node-input-nodeId','installing\x20iframe','prev','msg.','top','preventDefault','<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>','opcua','expandable\x20expanded','!!failure!!','match','16px','focus','<li\x20key=\x22','\x22\x20style=\x22color:',':focus','</li>','aliased\x20NodeId:\x20','fetching\x20failed\x20with\x20error','auto','> \x20','string','bp_aliased','sterfive-input-group','<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>','browsePath','scrollTop','border','title','NodeId\x20with\x20namespace\x20Urn','\x22}><span\x20class=\x22tree-text\x22\x20title=','#node-input-endpoint','node\x20class:\x20','nodeId:\x20','browseName','show','ns=0;i=34','appendTo','NodeId','<span\x20title=','1468969KaOcEE','bp_indexed','Variable','18px','mousedown.red-ui-typedInput-close-property-select','ns=0;i=35','_hideMenu','registerType','_delay','prependTo','call','<div>','opts','statusCode','left','<i>','enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20','1153827qqFjoE','<div\x20class=\x22spinner\x22></div>','nodeId','empty','sterfive-typedInput-options\x20sterfive-online-menu','<i\x20class=\x22fa\x20fa-id-card\x22/> \x20','DisplayName','pageX','explore','expanded','disarmClick','value',');\x20-webkit-mask-image:\x20url(','$selectTrigger','slideDown','next','<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> ','widget','grey','reference','statusCode:\x20','then','</span>','apply','<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>','height','json','sterfive.nodeBrowser','HasComponent','opc.tcp://opcuademo.sterfive.com:26543','__parentNode','assign','_createMenu'];_0x44a7=function(){return _0x443e5e;};return _0x44a7();}(function(_0x4f6695,_0x337e75){const _0x2c5ee2=_0x3e4f,_0x26efae=_0x4f6695();while(!![]){try{const _0x508405=parseInt(_0x2c5ee2(0x1b1))/0x1+-parseInt(_0x2c5ee2(0xe9))/0x2+parseInt(_0x2c5ee2(0x108))/0x3*(parseInt(_0x2c5ee2(0xcf))/0x4)+parseInt(_0x2c5ee2(0x16c))/0x5*(parseInt(_0x2c5ee2(0x126))/0x6)+-parseInt(_0x2c5ee2(0x153))/0x7+-parseInt(_0x2c5ee2(0x132))/0x8*(-parseInt(_0x2c5ee2(0x1c2))/0x9)+-parseInt(_0x2c5ee2(0x133))/0xa;if(_0x508405===_0x337e75)break;else _0x26efae['push'](_0x26efae['shift']());}catch(_0x562ebd){_0x26efae['push'](_0x26efae['shift']());}}}(_0x44a7,0xb3b44),(function(){'use strict';const _0x5a5648=_0x3e4f;function _0x4d64d7(_0x3cffe4,_0xb157a9,_0x2a9bd9,_0x3550c6){function _0x773ee5(_0x3c98f2){return _0x3c98f2 instanceof _0x2a9bd9?_0x3c98f2:new _0x2a9bd9(function(_0x19aaf4){_0x19aaf4(_0x3c98f2);});}return new(_0x2a9bd9||(_0x2a9bd9=Promise))(function(_0x4f95a9,_0x5db700){const _0x3e2a3a=_0x3e4f;function _0x174961(_0x553fbf){const _0x5d17c1=_0x3e4f;try{_0x5dda7b(_0x3550c6[_0x5d17c1(0x1d1)](_0x553fbf));}catch(_0x1f9ac0){_0x5db700(_0x1f9ac0);}}function _0x59949c(_0x1ca590){try{_0x5dda7b(_0x3550c6['throw'](_0x1ca590));}catch(_0x48bcb9){_0x5db700(_0x48bcb9);}}function _0x5dda7b(_0x43aaff){const _0xdae764=_0x3e4f;_0x43aaff[_0xdae764(0xeb)]?_0x4f95a9(_0x43aaff['value']):_0x773ee5(_0x43aaff[_0xdae764(0x1cd)])[_0xdae764(0x1d7)](_0x174961,_0x59949c);}_0x5dda7b((_0x3550c6=_0x3550c6[_0x3e2a3a(0x1d9)](_0x3cffe4,_0xb157a9||[]))['next']());});}typeof SuppressedError===_0x5a5648(0xff)?SuppressedError:function(_0x54dbc2,_0x201787,_0x48e3d7){const _0x5bd656=_0x5a5648;var _0x3ce786=new Error(_0x48e3d7);return _0x3ce786[_0x5bd656(0x116)]=_0x5bd656(0x149),_0x3ce786[_0x5bd656(0xf1)]=_0x54dbc2,_0x3ce786[_0x5bd656(0x152)]=_0x201787,_0x3ce786;};const _0x493fec=_0x5a5648(0x1b6),_0x50dd61=_0x5a5648(0x14f),_0x122b12=_0x5a5648(0x11c),_0x29dd77=_0x5a5648(0x17c),_0xc8970a=_0x5a5648(0x1ad),_0x4a005d=_0x5a5648(0xcd),_0x1cedd6=_0x5a5648(0x136);var _0x44424c;(function(_0x50d19a){const _0x266523=_0x5a5648;_0x50d19a[_0x50d19a[_0x266523(0x129)]=0x0]=_0x266523(0x129),_0x50d19a[_0x50d19a[_0x266523(0x101)]=0x1]=_0x266523(0x101),_0x50d19a[_0x50d19a['Both']=0x2]=_0x266523(0xfa),_0x50d19a[_0x50d19a['Invalid']=0x3]=_0x266523(0xcc);}(_0x44424c||(_0x44424c={})));var _0x5a27f6;(function(_0x4c11dc){const _0xe94788=_0x5a5648;_0x4c11dc[_0x4c11dc[_0xe94788(0x1ec)]=0x0]=_0xe94788(0x1ec),_0x4c11dc[_0x4c11dc[_0xe94788(0x144)]=0x1]=_0xe94788(0x144),_0x4c11dc[_0x4c11dc[_0xe94788(0x1b3)]=0x2]=_0xe94788(0x1b3),_0x4c11dc[_0x4c11dc[_0xe94788(0x13e)]=0x4]=_0xe94788(0x13e),_0x4c11dc[_0x4c11dc[_0xe94788(0x158)]=0x8]='ObjectType',_0x4c11dc[_0x4c11dc['VariableType']=0x10]=_0xe94788(0x138),_0x4c11dc[_0x4c11dc[_0xe94788(0x12d)]=0x20]=_0xe94788(0x12d),_0x4c11dc[_0x4c11dc['DataType']=0x40]=_0xe94788(0x13a),_0x4c11dc[_0x4c11dc[_0xe94788(0xd7)]=0x80]=_0xe94788(0xd7);}(_0x5a27f6||(_0x5a27f6={})));var _0x3ab063;(function(_0x2dd5d5){const _0x6dccd3=_0x5a5648;_0x2dd5d5[_0x2dd5d5[_0x6dccd3(0x144)]=0x1]=_0x6dccd3(0x144),_0x2dd5d5[_0x2dd5d5['Variable']=0x2]='Variable',_0x2dd5d5[_0x2dd5d5[_0x6dccd3(0x13e)]=0x4]=_0x6dccd3(0x13e),_0x2dd5d5[_0x2dd5d5[_0x6dccd3(0x158)]=0x8]=_0x6dccd3(0x158),_0x2dd5d5[_0x2dd5d5[_0x6dccd3(0x138)]=0x10]='VariableType',_0x2dd5d5[_0x2dd5d5[_0x6dccd3(0x12d)]=0x20]='ReferenceType',_0x2dd5d5[_0x2dd5d5[_0x6dccd3(0x13a)]=0x40]='DataType',_0x2dd5d5[_0x2dd5d5[_0x6dccd3(0xd7)]=0x80]=_0x6dccd3(0xd7);}(_0x3ab063||(_0x3ab063={})));var _0x3274f3;(function(_0x5dd8af){const _0x5d841d=_0x5a5648;_0x5dd8af[_0x5dd8af[_0x5d841d(0x12d)]=0x1]=_0x5d841d(0x12d),_0x5dd8af[_0x5dd8af['IsForward']=0x2]='IsForward',_0x5dd8af[_0x5dd8af['NodeClass']=0x4]=_0x5d841d(0x131),_0x5dd8af[_0x5dd8af[_0x5d841d(0x17d)]=0x8]=_0x5d841d(0x17d),_0x5dd8af[_0x5dd8af[_0x5d841d(0x1c8)]=0x10]=_0x5d841d(0x1c8),_0x5dd8af[_0x5dd8af[_0x5d841d(0x171)]=0x20]=_0x5d841d(0x171);}(_0x3274f3||(_0x3274f3={})));function _0x5678d3(_0x160ade){const _0x4c8071=_0x5a5648;switch(_0x160ade){case _0x4c8071(0xdb):return _0x493fec;case _0x4c8071(0x11a):return _0x29dd77;case _0x4c8071(0x1de):return _0x122b12;case _0x4c8071(0x10b):return _0xc8970a;case'HasSubtype':return _0x4a005d;case'HasTypeDefinition':return _0x1cedd6;}}const _0x5392ac=_0x9fd8eb=>{const _0x34de42=_0x5a5648;switch(_0x9fd8eb[_0x34de42(0xd0)]){case _0x34de42(0x144):if(_0x9fd8eb[_0x34de42(0x180)]===_0x493fec);if(_0x9fd8eb[_0x34de42(0x139)]===_0x50dd61||_0x9fd8eb[_0x34de42(0x180)]===_0x34de42(0x164))return{'icon':_0x34de42(0x109),'color':_0x34de42(0x128)};return{'icon':_0x34de42(0xe0),'color':'SeaGreen'};case _0x34de42(0x1b3):if(_0x9fd8eb[_0x34de42(0x180)]===_0x122b12)return{'icon':_0x34de42(0x151),'color':_0x34de42(0x16a)};else return _0x9fd8eb[_0x34de42(0x180)]===_0x29dd77?{'icon':_0x34de42(0x151),'color':_0x34de42(0xe2)}:{'icon':'fa-list-alt','color':_0x34de42(0xfb)};case _0x34de42(0x13e):return{'icon':'fa-cog','color':_0x34de42(0x12b)};case'ObjectType':return{'icon':_0x34de42(0xe0),'color':_0x34de42(0xe7)};case _0x34de42(0x138):return{'icon':'fa-sliders','color':_0x34de42(0xe7)};case _0x34de42(0x13a):return{'icon':'fa-text-width','color':_0x34de42(0xfb)};}return{'icon':'fa-question','color':_0x34de42(0x1d4)};},_0x4f19c8=(_0x247e38,_0x24534a,_0x2ad1e0)=>_0x4d64d7(void 0x0,[_0x247e38,_0x24534a,_0x2ad1e0],void 0x0,function*({endpointNode:_0x17c999,endpoint:_0x58a551,baseUrl:_0x427206},_0x36cc36,_0x235e83){const _0x596e9d=_0x5a5648,_0x43edfd=_0x427206+_0x596e9d(0xf3),_0x887acf=_0x43edfd+'/browse',_0x445cb2=Object['assign'](Object['assign']({},_0x235e83),{'nodeId':_0x36cc36,'resultMask':0x3f}),_0x1a9987=yield fetch(_0x887acf,{'method':_0x596e9d(0x184),'body':JSON['stringify']({'endpointNode':_0x17c999,'endpoint':_0x58a551,'browseDescription':_0x445cb2}),'headers':{'Content-Type':'application/json'}});if(_0x1a9987[_0x596e9d(0x17a)]!==0xc8)return console[_0x596e9d(0x169)](_0x596e9d(0x19b),_0x1a9987[_0x596e9d(0x17a)],_0x1a9987['statusText']),{'references':[]};const _0x2a504a=yield _0x1a9987[_0x596e9d(0x1dc)](),_0x4b6af9=_0x2a504a[_0x596e9d(0xee)][_0x596e9d(0x16e)]||[];return{'references':_0x4b6af9};}),_0x208c8d={'referenceTypeId':_0x5678d3(_0x5a5648(0x10b)),'includeSubtypes':!![],'browseDirection':_0x44424c[_0x5a5648(0x129)],'nodeClassMask':_0x5a27f6[_0x5a5648(0x1b3)]|_0x5a27f6['Object']|_0x5a27f6['Method'],'resultMask':0x3f},_0x54a604={'referenceTypeId':_0x5678d3(_0x5a5648(0xdb)),'includeSubtypes':!![],'browseDirection':_0x44424c['Forward'],'nodeClassMask':_0x5a27f6['Variable']|_0x5a27f6[_0x5a5648(0x144)]|_0x5a27f6[_0x5a5648(0x13e)],'resultMask':0x3f},_0x21571e=(_0x31ec9b,_0x55b907)=>_0x4d64d7(void 0x0,[_0x31ec9b,_0x55b907],void 0x0,function*({endpointNode:_0x59a134,endpoint:_0x2faedc,baseUrl:_0x5dc623},{nodeId:_0xaac223,rootNodeId:_0x4c5a70,isType:_0xda3ed8}){const _0x1e67e8=_0x5a5648,_0x2412f6=_0x5dc623+_0x1e67e8(0xf3),_0x343b7f=_0x2412f6+_0x1e67e8(0x174),_0x854d4c=yield fetch(_0x343b7f,{'method':_0x1e67e8(0x184),'body':JSON['stringify']({'endpointNode':_0x59a134,'endpoint':_0x2faedc,'nodeId':_0xaac223,'rootNodeId':_0x4c5a70,'isType':_0xda3ed8}),'headers':{'Content-Type':_0x1e67e8(0x10e)}});if(_0x854d4c[_0x1e67e8(0x17a)]!==0xc8)return null;const _0x505a6b=yield _0x854d4c[_0x1e67e8(0x1dc)]();return _0x505a6b[_0x1e67e8(0x1a2)];}),_0x10b366=(_0x53fdd7,_0x525afe)=>{const _0x17be21=_0x5a5648;if(_0x53fdd7[_0x17be21(0x1be)]!==_0x17be21(0xca))return _0x53fdd7[_0x17be21(0x175)];switch(_0x525afe){case _0x17be21(0x1a2):return _0x53fdd7['bp_indexed'];case'aliasedBrowsePath':return _0x53fdd7[_0x17be21(0x19f)]||_0x53fdd7[_0x17be21(0x1b2)];case _0x17be21(0x143):return _0x53fdd7[_0x17be21(0x177)]||_0x53fdd7[_0x17be21(0xf0)];case _0x17be21(0xe4):return _0x53fdd7[_0x17be21(0xf0)];default:case'nodeId':return _0x53fdd7['nodeId'];}},_0x23554f=_0x4a1e1a=>{const _0x2183ce=_0x5a5648;if(_0x4a1e1a[_0x2183ce(0x1be)]!==_0x2183ce(0xca))return _0x2183ce(0x1d6)+_0x4a1e1a[_0x2183ce(0x1be)];else{let _0x54a9f5=[];return _0x54a9f5[_0x2183ce(0x107)](_0x2183ce(0x1aa)+_0x4a1e1a['nodeId']),_0x54a9f5[_0x2183ce(0x107)]('browse\x20path:\x20'+_0x4a1e1a['bp_indexed']),_0x54a9f5[_0x2183ce(0x107)](_0x2183ce(0x1a9)+_0x5a27f6[_0x4a1e1a['nodeClass']]),_0x4a1e1a[_0x2183ce(0xf0)]&&_0x54a9f5[_0x2183ce(0x107)](_0x2183ce(0x12a)+_0x4a1e1a[_0x2183ce(0xf0)]),_0x4a1e1a['nodeId_aliased']&&_0x54a9f5[_0x2183ce(0x107)](_0x2183ce(0x19a)+_0x4a1e1a[_0x2183ce(0x177)]),_0x4a1e1a[_0x2183ce(0x1b2)]&&_0x54a9f5[_0x2183ce(0x107)]('aliased\x20browsePath:\x20'+_0x4a1e1a[_0x2183ce(0x19f)]),_0x54a9f5[_0x2183ce(0x172)]('\x0a');}};function _0x3b4a41(_0x47c29c){const _0x5e7029=_0x5a5648;if(_0x47c29c[_0x5e7029(0x193)](/^nsu=/))return _0x5e7029(0xe4);if(_0x47c29c[_0x5e7029(0x193)](/^(ns=.*;)?(i|b|s|g)=/))return _0x5e7029(0x1c4);if(_0x47c29c[_0x5e7029(0x193)](/^nsa=/))return _0x5e7029(0x143);if(_0x47c29c[_0x5e7029(0x193)](/^(\/|\.)[0-9]+:/))return _0x5e7029(0x1a2);if(_0x47c29c[_0x5e7029(0x193)](/^(\/|\.).*:/))return _0x5e7029(0x1a2);}function _0x2de550(_0x53e028){const _0x9e2354=_0x5a5648,_0x39e181=_0x3b4a41(_0x53e028);switch(_0x39e181){case _0x9e2354(0x1c4):return'n';case _0x9e2354(0x143):return'na';case _0x9e2354(0xe4):return _0x9e2354(0x111);case _0x9e2354(0x1a2):return'b';case _0x9e2354(0xc9):return'ab';default:return't';}}function _0x4247e9(_0x4efcc8){const _0x3a05f6=_0x5a5648;let _0x413129;switch(_0x4efcc8){case'n':_0x413129=_0x3a05f6(0x1c4);break;case'na':_0x413129='aliasedNodeId';break;case _0x3a05f6(0x111):_0x413129=_0x3a05f6(0xe4);break;case'b':_0x413129='browsePath';break;case'ab':_0x413129='aliasedBrowsePath';break;}return _0x413129;}function _0xc194a6(_0x546a9c){const _0x481500=_0x5a5648;switch(_0x546a9c){case _0x481500(0x1c4):return'n';case _0x481500(0x143):return'na';case _0x481500(0xe4):return _0x481500(0x111);case'browsePath':return'b';case _0x481500(0xc9):return'ab';default:return't';}}const _0x2c9375=(_0x1d7cbd,_0x212042)=>_0x4d64d7(void 0x0,[_0x1d7cbd,_0x212042],void 0x0,function*({endpointNode:_0x19b16b,endpoint:_0x2fab96,baseUrl:_0x44fe5f},_0x4c13d8){const _0x327171=_0x5a5648,_0x4e2f23=_0x44fe5f+_0x327171(0xf3),_0xa3e904=_0x4e2f23+_0x327171(0xe5),_0x5d850b=_0x19b16b['id'],_0x291e2d=RED[_0x327171(0x130)][_0x327171(0x1e7)](_0x5d850b);console['log'](_0x291e2d[_0x327171(0x170)]),_0x291e2d[_0x327171(0x170)];const _0x157032=_0x19b16b[_0x327171(0x170)],_0x18847a=yield fetch(_0xa3e904,{'method':_0x327171(0x184),'body':JSON['stringify']({'endpointNode':_0x19b16b,'endpoint':_0x2fab96,'nodeId':_0x4c13d8,'namespaceAliases':_0x157032}),'headers':{'Content-Type':'application/json'}}),_0x5f487c=yield _0x18847a[_0x327171(0x1dc)]();return{'json':_0x5f487c,'data':_0x18847a};}),_0x51e972=(_0x32c82e,_0x15b33b,_0x2ddd0c,_0x524cd9)=>_0x4d64d7(void 0x0,[_0x32c82e,_0x15b33b,_0x2ddd0c,_0x524cd9],void 0x0,function*({endpointNode:_0x3fda58,endpoint:_0x493a4f,baseUrl:_0x2a94fd},_0x1a8716,_0x75f6cb,_0x451e1c){const _0x156983=_0x5a5648,_0x315bde=_0x75f6cb[_0x156983(0xfc)](),{json:_0x59859b,data:_0x270e14}=yield _0x2c9375({'endpointNode':_0x3fda58,'endpoint':_0x493a4f,'baseUrl':_0x2a94fd},_0x315bde),_0x41456a=(_0x21cbc3,_0x228d12)=>{const _0x452321=_0x156983;_0x451e1c[_0x452321(0x121)](_0x21cbc3)[_0x452321(0xdd)](_0x452321(0x14b))[_0x452321(0xdd)](_0x228d12),_0x451e1c[_0x452321(0x1ac)](),setTimeout(()=>{const _0x17b8c2=_0x452321;_0x451e1c[_0x17b8c2(0x110)](_0x228d12),_0x451e1c[_0x17b8c2(0x145)]();},0xbb8);};if(_0x270e14[_0x156983(0x17a)]!==0xc8)return _0x41456a(_0x156983(0x192)+_0x315bde,_0x156983(0xef)),![];else{if(_0x59859b['statusCode'][_0x156983(0x193)](/Good/)){const _0x468c07=_0x23554f(_0x59859b);_0x75f6cb[_0x156983(0x148)](_0x156983(0x1a5),_0x468c07);const _0x1c2dd9=_0x10b366(_0x59859b,_0x1a8716);return _0x75f6cb[_0x156983(0xfc)](_0x1c2dd9),_0x75f6cb[_0x156983(0xec)](_0x156983(0x102)),_0x41456a('Good','ok'),!![];}else return _0x75f6cb['val'](''+_0x315bde),_0x41456a(_0x59859b[_0x156983(0x1be)]+'\x20'+_0x270e14[_0x156983(0x182)],_0x156983(0xef)),![];}});function _0x17d33b(_0x4c8933,_0x4f75aa){return _0x4d64d7(this,void 0x0,void 0x0,function*(){const _0x24bf90=_0x3e4f,_0x541797=_0x4c8933[_0x24bf90(0x178)](_0x24bf90(0x1cd)),_0x2d3809=yield _0x4f19c8(_0x4f75aa,_0x541797,_0x208c8d),_0x14921f=yield _0x4f19c8(_0x4f75aa,_0x541797,_0x54a604);return{'references':[..._0x2d3809[_0x24bf90(0x16e)],..._0x14921f[_0x24bf90(0x16e)]]};});}const _0x139e27={'referenceTypeId':_0x5678d3(_0x5a5648(0x14a)),'includeSubtypes':!![],'browseDirection':_0x44424c[_0x5a5648(0x129)],'nodeClassMask':_0x5a27f6[_0x5a5648(0x12d)]|_0x5a27f6[_0x5a5648(0x158)]|_0x5a27f6[_0x5a5648(0x13a)]|_0x5a27f6[_0x5a5648(0x138)],'resultMask':0x3f};function _0x331992(_0x17bee6,_0x26511d){return _0x4d64d7(this,void 0x0,void 0x0,function*(){const _0x188a2d=_0x3e4f,_0x4b0cd7=_0x17bee6['data'](_0x188a2d(0x1cd)),_0xfc2f77=yield _0x4f19c8(_0x26511d,_0x4b0cd7,_0x139e27);return _0xfc2f77;});}const _0x7a2207=_0xde0938=>{const _0x263fe9=_0x5a5648;var _0x5f3937,_0x1f356d,_0x574ebc,_0x20ee6e;if(!_0xde0938||!_0xde0938[_0x263fe9(0x1c4)]){const _0x4b344c=$(_0x263fe9(0x1a1));return _0x4b344c;}const _0x4b708d=_0xde0938[_0x263fe9(0x1c4)][_0x263fe9(0x167)](),_0x5941df=((_0x5f3937=_0xde0938[_0x263fe9(0x179)])===null||_0x5f3937===void 0x0?void 0x0:_0x5f3937[_0x263fe9(0x121)])||((_0x1f356d=_0xde0938[_0x263fe9(0x1ab)])===null||_0x1f356d===void 0x0?void 0x0:_0x1f356d[_0x263fe9(0x116)])||_0xde0938[_0x263fe9(0x1c4)]['toString'](),{icon:_0x4f0c0c,color:_0xd33498}=_0x5392ac(_0xde0938),_0x480b2='('+_0xde0938[_0x263fe9(0x1c4)][_0x263fe9(0x167)]()+')\x20'+(((_0x574ebc=_0xde0938[_0x263fe9(0x1ab)])===null||_0x574ebc===void 0x0?void 0x0:_0x574ebc[_0x263fe9(0x116)])||((_0x20ee6e=_0xde0938[_0x263fe9(0x179)])===null||_0x20ee6e===void 0x0?void 0x0:_0x20ee6e[_0x263fe9(0x121)])||''),_0x3a8849=$(_0x263fe9(0x196)+_0xde0938[_0x263fe9(0x1c4)]['toString']()+_0x263fe9(0x1a7)+_0x480b2+_0x263fe9(0x166)+_0x4f0c0c+_0x263fe9(0x197)+_0xd33498+_0x263fe9(0x17f)+_0x5941df+'</span><ul></ul></li>');return _0x3a8849[_0x263fe9(0xdd)](_0x263fe9(0xd5)),_0x3a8849[_0x263fe9(0x178)]('value',_0x4b708d),_0x3a8849['data'](_0x263fe9(0x1d5),_0xde0938),_0x3a8849;},_0x333fb7=(_0x19f3cb,_0x444f30)=>{return _0x444f30['find']('li[key=\x22'+_0x19f3cb+'\x22]');},_0xed5d4c=(_0x12b5cc,_0x385dda)=>{const _0x3d0471=_0x5a5648;_0x12b5cc['$tree'][_0x3d0471(0x117)](_0x3d0471(0x1e4))[_0x3d0471(0x110)](_0x3d0471(0x13b)),_0x385dda[_0x3d0471(0x117)]('.tree-text:first')[_0x3d0471(0xdd)](_0x3d0471(0x13b));},_0x362b68=(_0x272463,_0x159bb3,_0x3000a4)=>_0x4d64d7(void 0x0,void 0x0,void 0x0,function*(){const _0x136a54=_0x5a5648;let _0x41fbb8=_0x3000a4[_0x136a54(0x163)](_0x136a54(0xed));_0x159bb3[_0x136a54(0x113)][_0x136a54(0x100)]||[];const _0x2e6fe4=_0x159bb3[_0x136a54(0xe1)]||[];if(_0x2e6fe4[_0x136a54(0xe6)]===0x0)return;for(const _0xdabd18 of _0x2e6fe4){_0x41fbb8[_0x136a54(0x146)](_0x136a54(0xd5))&&(yield _0x112357(_0x272463,_0x41fbb8));const _0x1a606e=_0x333fb7(_0xdabd18,_0x41fbb8);if(_0x1a606e[_0x136a54(0xe6)]===0x0)return;_0x41fbb8=_0x1a606e;}_0xed5d4c(_0x272463,_0x41fbb8),_0x4d9b5b(_0x272463[_0x136a54(0x1ea)],_0x41fbb8);});function _0x4d9b5b(_0x4fc660,_0x348cd1){const _0x3108a3=_0x5a5648,_0x12c68d=_0x348cd1[_0x3108a3(0xde)]()['top'],_0x521d7b=_0x4fc660[_0x3108a3(0x1a3)]();if(_0x521d7b==undefined)return;const _0x31fbe6=_0x521d7b+_0x12c68d-_0x4fc660[_0x3108a3(0x1db)]()/0x2+_0x348cd1[_0x3108a3(0x1db)]()/0x2;_0x4fc660[_0x3108a3(0x105)]({'scrollTop':_0x31fbe6},0x1f4);}const _0x3a7e4a=(_0x5832f8,_0x4ed5c7)=>_0x4d64d7(void 0x0,void 0x0,void 0x0,function*(){const _0x1cf23b=_0x5a5648,_0x3d0a4d=_0x5832f8[_0x1cf23b(0xf2)]['val'](),_0xda95d9={'nodeId':_0x3d0a4d,'rootNodeId':_0x4ed5c7[_0x1cf23b(0x1c4)],'isType':_0x5832f8[_0x1cf23b(0x165)]['isTypeRef']||![]},_0x8d4aa7=_0xeb3f36(_0x5832f8),_0x3a2e5c=yield _0x21571e(_0x8d4aa7,_0xda95d9);if(!_0x3a2e5c)return;yield _0x362b68(_0x5832f8,_0x3a2e5c,_0x5832f8[_0x1cf23b(0x1e8)]);});function _0x5a2437(_0x11ddbb,_0x39b6aa,_0x20f2c6,_0x3c921f){return _0x4d64d7(this,void 0x0,void 0x0,function*(){const _0x417501=_0x3e4f;if(_0x39b6aa[_0x417501(0x146)](_0x417501(0x168))){console[_0x417501(0x169)]('already\x20fetched');return;}if(_0x39b6aa['hasClass']('loading')){console['log'](_0x417501(0x150));return;}_0x39b6aa[_0x417501(0xdd)]('loading'),_0x39b6aa[_0x417501(0x15e)](_0x417501(0x1c3));try{_0x39b6aa[_0x417501(0x163)]('ul')['empty']();const {references:_0x1a381c}=yield _0x20f2c6(_0x39b6aa,_0x3c921f);_0x1a381c['sort']((_0x70ccb4,_0x4bf221)=>{const _0x65090=_0x417501;var _0x4d6ca3,_0x6a5922;return(((_0x4d6ca3=_0x70ccb4[_0x65090(0x1ab)])===null||_0x4d6ca3===void 0x0?void 0x0:_0x4d6ca3[_0x65090(0x116)])||'')[_0x65090(0x11d)](((_0x6a5922=_0x4bf221[_0x65090(0x1ab)])===null||_0x6a5922===void 0x0?void 0x0:_0x6a5922[_0x65090(0x116)])||'');});for(const _0x490685 of _0x1a381c){if(_0x11ddbb[_0x417501(0x165)]['filter']&&!_0x11ddbb['options'][_0x417501(0x122)](_0x490685))continue;const _0x381f20=_0x7a2207(_0x490685);_0x39b6aa[_0x417501(0x163)]('ul')[_0x417501(0x15e)](_0x381f20);}_0x39b6aa[_0x417501(0xdd)](_0x417501(0x168));}catch(_0x373f16){_0x39b6aa[_0x417501(0x163)]('ul')['append'](_0x417501(0xf9)+_0x373f16[_0x417501(0x155)]+_0x417501(0x199)),console[_0x417501(0x169)](_0x417501(0x161),_0x373f16);}_0x39b6aa[_0x417501(0x117)]('.spinner')[_0x417501(0x15d)](),_0x39b6aa[_0x417501(0x110)](_0x417501(0x112));});}function _0xeb3f36(_0x26977c){const _0x5dd9b1=_0x5a5648,_0x38b965={'baseUrl':_0x26977c[_0x5dd9b1(0x165)][_0x5dd9b1(0x157)],'endpointNode':typeof _0x26977c[_0x5dd9b1(0x165)][_0x5dd9b1(0x12e)]===_0x5dd9b1(0xff)?_0x26977c['options'][_0x5dd9b1(0x12e)]():_0x26977c[_0x5dd9b1(0x165)][_0x5dd9b1(0x12e)],'endpoint':typeof _0x26977c['options'][_0x5dd9b1(0x1eb)]===_0x5dd9b1(0xff)?_0x26977c[_0x5dd9b1(0x165)][_0x5dd9b1(0x1eb)]():_0x26977c['options'][_0x5dd9b1(0x1eb)]};return _0x38b965;}function _0x112357(_0xc3b6a5,_0x13ae9a){return _0x4d64d7(this,void 0x0,void 0x0,function*(){const _0x44c420=_0x3e4f;if(_0x13ae9a['hasClass'](_0x44c420(0x168))){_0x13ae9a[_0x44c420(0x110)](_0x44c420(0xd5))[_0x44c420(0xdd)](_0x44c420(0x1cb)),_0x13ae9a['children']('ul')[_0x44c420(0xfd)]();return;}const _0x27e3c8=_0xeb3f36(_0xc3b6a5),_0x2a656a=!_0xc3b6a5[_0x44c420(0x165)][_0x44c420(0x120)]?_0x17d33b:_0x331992;try{yield _0x5a2437(_0xc3b6a5,_0x13ae9a,_0x2a656a,_0x27e3c8),_0x13ae9a['removeClass'](_0x44c420(0xd5))['addClass'](_0x44c420(0x1cb));}catch(_0x5022e8){_0x13ae9a[_0x44c420(0x110)](_0x44c420(0xd5))[_0x44c420(0xdd)](_0x44c420(0x1cb)),console[_0x44c420(0x169)](_0x44c420(0xf1),_0x5022e8);}});}const _0x5a952a={'browseName':{'namespaceIndex':0x0,'name':'Objects'},'nodeClass':_0x5a5648(0x144),'nodeId':_0x5a5648(0x137),'displayName':{'text':'Objects'},'typeDefinition':_0x50dd61},_0x2f360c=()=>{const _0x7c7697=_0x5a5648;$[_0x7c7697(0x1d3)](_0x7c7697(0x1dd),{'options':{'endpointNode':()=>({'endpoint':_0x7c7697(0x1df)}),'endpoint':()=>undefined,'parentNode':()=>_0x5a952a,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x4d64d7(this,void 0x0,void 0x0,function*(){const _0x46903a=_0x3e4f,_0x3b3558=this;if(_0x3b3558[_0x46903a(0x1e0)]==undefined){const _0x3d3e42=typeof _0x3b3558[_0x46903a(0x165)]['parentNode']===_0x46903a(0xff)?_0x3b3558[_0x46903a(0x165)][_0x46903a(0xe3)][_0x46903a(0x1bb)](_0x3b3558):_0x3b3558[_0x46903a(0x165)][_0x46903a(0xe3)];if(_0x3d3e42 instanceof Promise){const _0x48b79d=yield _0x3d3e42;_0x3b3558[_0x46903a(0x1e0)]=_0x48b79d;}else _0x3b3558['__parentNode']=_0x3d3e42;}return _0x3b3558[_0x46903a(0x1e0)]||_0x5a952a;});},'reset'(){return _0x4d64d7(this,void 0x0,void 0x0,function*(){const _0x2b0013=_0x3e4f,_0x50b82d=this,_0x39e3d4=_0x50b82d;_0x39e3d4[_0x2b0013(0x1e0)]=undefined,_0x50b82d['$tree'][_0x2b0013(0x1c5)]();const _0x2577bd=yield this[_0x2b0013(0x142)](),_0x120cc7=_0x7a2207(_0x2577bd);_0x50b82d[_0x2b0013(0x1e8)][_0x2b0013(0x15e)](_0x120cc7),_0x50b82d[_0x2b0013(0xdf)]=_0x2577bd;});},'verify'(_0xcdb5c1){const _0x59eb52=_0x7c7697,_0x17c586=this,_0x240645=_0xeb3f36(_0x17c586);_0x51e972(_0x240645,_0xcdb5c1,_0x17c586[_0x59eb52(0xf2)],_0x17c586[_0x59eb52(0x11e)])[_0x59eb52(0x1d7)](_0x1a59bb=>{const _0x680e90=_0x59eb52;!_0x1a59bb?_0x17c586[_0x680e90(0x15b)][_0x680e90(0xdd)](_0x680e90(0x185)):_0x17c586[_0x680e90(0x15b)]['removeClass'](_0x680e90(0x185));});},'_hideMenu'(_0x4beb53){const _0x24e7a8=_0x7c7697,_0x321488=this;$(document)[_0x24e7a8(0x16f)]('mousedown.red-ui-typedInput-close-property-select'),_0x4beb53['hide'](),_0x4beb53[_0x24e7a8(0x160)]({'height':_0x24e7a8(0x19c)});if(_0x4beb53[_0x24e7a8(0x1bd)]['multiple']){var _0x3e7236=[];_0x4beb53['find'](_0x24e7a8(0x156))['each'](function(){const _0x2fef4a=_0x24e7a8;$(this)[_0x2fef4a(0xd4)]('checked')&&_0x3e7236[_0x2fef4a(0x107)]($(this)[_0x2fef4a(0x178)]('value'));}),_0x4beb53[_0x24e7a8(0x154)](_0x3e7236);}_0x321488['$elementDiv']['is'](':visible')?_0x321488['$input'][_0x24e7a8(0xec)](_0x24e7a8(0x195)):_0x321488['$selectTrigger'][_0x24e7a8(0xec)](_0x24e7a8(0x195));},'_createMenu'(_0x392743,_0x5dadf2,_0x4db157){const _0x322f64=_0x7c7697;var _0x42988b=this;const _0x9296ea=$(_0x322f64(0x1bc))[_0x322f64(0xdd)](_0x322f64(0x1c6));return _0x9296ea['opts']=_0x5dadf2,_0x9296ea[_0x322f64(0x154)]=_0x4db157,_0x392743['forEach'](_0x4b7124=>{const _0x4dddb0=_0x322f64;typeof _0x4b7124===_0x4dddb0(0x19e)&&(_0x4b7124={'value':_0x4b7124,'label':_0x4b7124});var _0x4fc7a1=$('<a\x20href=\x22#\x22></a>')['attr']('value',_0x4b7124['value'])[_0x4dddb0(0x1ae)](_0x9296ea);_0x4b7124[_0x4dddb0(0x181)]&&_0x4fc7a1[_0x4dddb0(0x121)](_0x4b7124[_0x4dddb0(0x181)]);_0x4b7124[_0x4dddb0(0x1a5)]&&_0x4fc7a1['prop'](_0x4dddb0(0x1a5),_0x4b7124[_0x4dddb0(0x1a5)]);if(_0x4b7124['icon']){if(_0x4b7124[_0x4dddb0(0x14c)]['indexOf']('<')===0x0)$(_0x4b7124[_0x4dddb0(0x14c)])[_0x4dddb0(0x1ba)](_0x4fc7a1);else _0x4b7124['icon']['indexOf']('/')!==-0x1?$(_0x4dddb0(0x1c0),{'class':_0x4dddb0(0x16b),'style':_0x4dddb0(0x186)+_0x4b7124[_0x4dddb0(0x14c)]+_0x4dddb0(0x1ce)+_0x4b7124[_0x4dddb0(0x14c)]+');'})['prependTo'](_0x4fc7a1):$(_0x4dddb0(0x1c0),{'class':_0x4dddb0(0x1ed)+_0x4b7124[_0x4dddb0(0x14c)]})[_0x4dddb0(0x1ba)](_0x4fc7a1);}else _0x4fc7a1[_0x4dddb0(0x160)]({'paddingLeft':_0x4dddb0(0x1b4)});!_0x4b7124[_0x4dddb0(0x14c)]&&!_0x4b7124[_0x4dddb0(0x181)]&&_0x4fc7a1['text'](_0x4b7124[_0x4dddb0(0x1cd)]);var _0x33494b;_0x5dadf2[_0x4dddb0(0xfe)]&&(_0x33494b=$(_0x4dddb0(0xf5))[_0x4dddb0(0x160)]('pointer-events','none')[_0x4dddb0(0x178)](_0x4dddb0(0x1cd),_0x4b7124[_0x4dddb0(0x1cd)])[_0x4dddb0(0x1ba)](_0x4fc7a1)['on']('mousedown',function(_0x3f5688){const _0x1e2e89=_0x4dddb0;_0x3f5688[_0x1e2e89(0x18e)]();})),_0x4fc7a1['on'](_0x4dddb0(0x14d),function(_0x4697e8){const _0x307e65=_0x4dddb0;_0x4697e8[_0x307e65(0x18e)](),_0x4697e8['stopPropagation'](),!_0x5dadf2[_0x307e65(0xfe)]?(_0x4db157(_0x4b7124[_0x307e65(0x1cd)]),_0x42988b[_0x307e65(0x1b7)](_0x9296ea)):_0x33494b[_0x307e65(0xd4)](_0x307e65(0xd2),!_0x33494b[_0x307e65(0xd4)]('checked'));});}),_0x9296ea[_0x322f64(0x160)]({'display':_0x322f64(0x15a)}),_0x9296ea['on'](_0x322f64(0xcb),function(_0x1a35f3){const _0x4b41a2=_0x322f64;if(_0x1a35f3[_0x4b41a2(0x15c)]===0x28)_0x1a35f3[_0x4b41a2(0x18e)](),$(this)[_0x4b41a2(0x163)](':focus')[_0x4b41a2(0x1d1)]()['trigger'](_0x4b41a2(0x195));else{if(_0x1a35f3['keyCode']===0x26)_0x1a35f3[_0x4b41a2(0x18e)](),$(this)[_0x4b41a2(0x163)](_0x4b41a2(0x198))[_0x4b41a2(0x18b)]()[_0x4b41a2(0xec)](_0x4b41a2(0x195));else _0x1a35f3['keyCode']===0x1b&&(_0x1a35f3[_0x4b41a2(0x18e)](),_0x42988b['_hideMenu'](_0x9296ea));}_0x1a35f3[_0x4b41a2(0x140)]();}),_0x9296ea;},'disarmClick':![],'_showMenu'(_0x22ceb0,_0x2e32fe){const _0x6134e4=_0x7c7697;if(this[_0x6134e4(0x1cc)]){this[_0x6134e4(0x1cc)]=![];return;}var _0x6e4b60=this,_0x589989=_0x2e32fe['offset'](),_0x50e592=_0x2e32fe['height'](),_0x115935=_0x22ceb0[_0x6134e4(0x1db)](),_0x415ffb=_0x50e592+_0x589989[_0x6134e4(0x18d)];_0x415ffb+_0x115935-$(document)[_0x6134e4(0x1a3)]()>$(window)['height']()&&(_0x415ffb-=_0x415ffb+_0x115935-$(window)[_0x6134e4(0x1db)]()+0x5),_0x415ffb<0x0&&(_0x22ceb0[_0x6134e4(0x1db)](_0x115935+_0x415ffb),_0x415ffb=0x0),_0x22ceb0['css']({'top':_0x415ffb+'px','left':_0x589989[_0x6134e4(0x1bf)]+'px'}),_0x22ceb0[_0x6134e4(0x1d0)](0x64),this[_0x6134e4(0x1b9)](function(){const _0xcf2386=_0x6134e4;_0x6e4b60[_0xcf2386(0x13c)][_0xcf2386(0xdd)](_0xcf2386(0x12f)),$(document)['on'](_0xcf2386(0x1b5),function(_0x42dd64){const _0x1f9e24=_0xcf2386;!$(_0x42dd64[_0x1f9e24(0x114)])[_0x1f9e24(0x188)](_0x22ceb0)[_0x1f9e24(0xe6)]&&_0x6e4b60[_0x1f9e24(0x1b7)](_0x22ceb0),$(_0x42dd64[_0x1f9e24(0x114)])['closest'](_0x2e32fe)['length']&&(_0x6e4b60['disarmClick']=!![],_0x42dd64[_0x1f9e24(0x18e)]());});});},'_showTypeMenu'(){const _0x350c4b=_0x7c7697,_0x1aef41=this;this[_0x350c4b(0x1e6)](_0x1aef41[_0x350c4b(0x1e3)],_0x1aef41['$combo']),_0x1aef41['$dropdown'][_0x350c4b(0x145)]();const _0x1cec76=_0x1aef41[_0x350c4b(0xc8)];var _0x405443=_0x1aef41[_0x350c4b(0x1e3)][_0x350c4b(0x117)](_0x350c4b(0x10c)+_0x1cec76+'\x27');setTimeout(function(){const _0x1cf2ee=_0x350c4b;_0x405443[_0x1cf2ee(0xec)](_0x1cf2ee(0x195));},0x78);},'_initMenu'(){const _0x242365=_0x7c7697,_0x40abbc=this;_0x40abbc[_0x242365(0x1cf)][_0x242365(0x148)](_0x242365(0xce),-0x1),_0x40abbc[_0x242365(0x1cf)]['on']('mousedown.red-ui-typedInput-focus-block',function(_0x16be0d){_0x16be0d['preventDefault']();});_0x40abbc[_0x242365(0x1e3)]&&_0x40abbc[_0x242365(0x1e3)][_0x242365(0x15d)]();const _0x181487=[{'label':_0x242365(0x121),'value':'t','title':_0x242365(0x141),'icon':_0x242365(0x1e9)},{'label':_0x242365(0x18c),'value':'msg','title':_0x242365(0x123),'icon':_0x242365(0x18f)},{'label':_0x242365(0x1af),'value':'n','icon':_0x242365(0x162)},{'label':_0x242365(0xf4),'value':'na','icon':_0x242365(0x10a)},{'label':_0x242365(0x1a6),'value':_0x242365(0x111),'icon':_0x242365(0x1c7)},{'label':_0x242365(0xd9),'value':'b','icon':_0x242365(0x1d2)},{'label':_0x242365(0xd6),'value':'ab','icon':_0x242365(0x187)}],_0x1c2771=_0x2de550(_0x40abbc['$input']['val']()),_0x40be59=_0x181487[_0x242365(0x117)](_0x210849=>_0x210849[_0x242365(0x1cd)]===_0x1c2771);_0x40abbc[_0x242365(0x104)][_0x242365(0x1c5)]()[_0x242365(0x15e)](_0x242365(0x1b0)+((_0x40be59===null||_0x40be59===void 0x0?void 0x0:_0x40be59[_0x242365(0x1a5)])||'')+_0x242365(0x19d)+((_0x40be59===null||_0x40be59===void 0x0?void 0x0:_0x40be59[_0x242365(0x14c)])||'')+_0x242365(0x1d8)),_0x40abbc[_0x242365(0xc8)]=_0x1c2771;const _0x29292d=this;_0x40abbc['$menu']=this[_0x242365(0x1e2)](_0x181487,{},_0x5e8951=>{const _0x2cb4ab=_0x242365,_0xe8616e=_0x4247e9(_0x5e8951);_0xe8616e&&_0x29292d[_0x2cb4ab(0xf8)](_0xe8616e);const _0x486112=_0x181487[_0x2cb4ab(0x117)](_0x7c08e8=>_0x7c08e8[_0x2cb4ab(0x1cd)]===_0x5e8951);_0x40abbc[_0x2cb4ab(0xc8)]=_0x5e8951,_0x40abbc[_0x2cb4ab(0x104)]['empty']()['append'](_0x2cb4ab(0x1b0)+((_0x486112===null||_0x486112===void 0x0?void 0x0:_0x486112[_0x2cb4ab(0x1a5)])||'')+'> \x20'+((_0x486112===null||_0x486112===void 0x0?void 0x0:_0x486112[_0x2cb4ab(0x14c)])||'')+_0x2cb4ab(0x1d8));}),_0x40abbc[_0x242365(0x1e3)]['appendTo'](document[_0x242365(0x134)]),_0x40abbc[_0x242365(0x1e3)]['hide'](),_0x40abbc[_0x242365(0x1cf)][_0x242365(0x1ac)]();},'mode'(){const _0x477a07=_0x7c7697,_0x317909=this;return _0x4247e9(_0x317909[_0x477a07(0xc8)]);},'setMode'(_0x2fda58){const _0x131c84=_0x7c7697,_0x5259a0=this,_0x1f4f5a=_0xc194a6(_0x2fda58);_0x5259a0[_0x131c84(0xc8)]=_0x1f4f5a;},'_create'(){const _0x2a2129=_0x7c7697,_0x16a615=this;_0x16a615['$input']=this[_0x2a2129(0x103)],_0x16a615[_0x2a2129(0xf2)][_0x2a2129(0x160)](_0x2a2129(0x1a4),'none'),_0x16a615['$elementDiv']=_0x16a615[_0x2a2129(0xf2)]['wrap'](_0x2a2129(0x1bc))[_0x2a2129(0x14e)]()[_0x2a2129(0xdd)]('main-wrapper'),_0x16a615[_0x2a2129(0x15b)]=$('<div/>'),_0x16a615['$combo'][_0x2a2129(0xdd)](_0x2a2129(0x17e)),_0x16a615[_0x2a2129(0xf2)][_0x2a2129(0x135)](_0x16a615[_0x2a2129(0x15b)]),_0x16a615[_0x2a2129(0xdc)]=$(_0x2a2129(0x11b))['addClass'](_0x2a2129(0x1a0)),_0x16a615[_0x2a2129(0x15b)][_0x2a2129(0x15e)](_0x16a615[_0x2a2129(0xdc)]),_0x16a615[_0x2a2129(0xdc)]['append'](_0x16a615['$input']),_0x16a615['$toggleTreeBtn']=$(_0x2a2129(0xda)),_0x16a615[_0x2a2129(0xf2)][_0x2a2129(0x147)](_0x16a615[_0x2a2129(0x13d)]),_0x16a615[_0x2a2129(0x13d)]['on']('click',function(){return _0x4d64d7(this,void 0x0,void 0x0,function*(){const _0x309eb0=_0x3e4f;var _0x54321b;let _0x998121=![],_0x33933f;!_0x16a615[_0x309eb0(0x1ea)]['is'](_0x309eb0(0x13f))&&(_0x16a615['$info'][_0x309eb0(0x145)](),_0x33933f=yield _0x16a615[_0x309eb0(0x142)](),(_0x33933f!==_0x16a615[_0x309eb0(0xdf)]||((_0x54321b=_0x16a615[_0x309eb0(0xdf)])===null||_0x54321b===void 0x0?void 0x0:_0x54321b[_0x309eb0(0x1c4)])!==_0x33933f['nodeId'])&&(yield _0x16a615[_0x309eb0(0xd1)]()),_0x998121=!![]),_0x16a615[_0x309eb0(0x1ea)][_0x309eb0(0xfd)](),_0x998121&&(yield _0x3a7e4a(_0x16a615,_0x33933f));});}),_0x16a615[_0x2a2129(0xe8)]=$('<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>'),_0x16a615['$input'][_0x2a2129(0x147)](_0x16a615['$verifyBtn']),_0x16a615[_0x2a2129(0xe8)]['on']('click',()=>{const _0x593e2d=_0x16a615['mode']();if(!_0x593e2d)return;this['verify'](_0x593e2d);});const _0x2f87d1=_0x2365f5=>_0x4d64d7(this,void 0x0,void 0x0,function*(){const _0xa2e5b4=_0x2a2129,_0xdd5505=this;let _0x73400=_0xdd5505['mode']();if(!_0x73400)return;const _0x1aff9a=_0xeb3f36(_0xdd5505),{data:_0x27f944,json:_0x2e37a3}=yield _0x2c9375(_0x1aff9a,_0x2365f5);if(_0x27f944[_0xa2e5b4(0x17a)]!==0xc8)return;if(_0x2e37a3[_0xa2e5b4(0x1be)][_0xa2e5b4(0x193)](/Good/)){const _0x1a4e66=_0x10b366(_0x2e37a3,_0x73400);_0xdd5505['$input'][_0xa2e5b4(0xfc)](_0x1a4e66),_0xdd5505[_0xa2e5b4(0xf2)]['trigger'](_0xa2e5b4(0x102));}});{_0x16a615[_0x2a2129(0x13c)]=$(_0x2a2129(0x1bc)),_0x16a615['$input'][_0x2a2129(0x11f)](_0x16a615[_0x2a2129(0x13c)]),_0x16a615[_0x2a2129(0x1cf)]=$(_0x2a2129(0x1da))[_0x2a2129(0x1ba)](_0x16a615[_0x2a2129(0x13c)]),$('<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>')[_0x2a2129(0xfd)](!![])[_0x2a2129(0x1ae)](_0x16a615[_0x2a2129(0x1cf)]),_0x16a615[_0x2a2129(0x1cf)]['on']('click',function(_0x3b540d){const _0x480616=_0x2a2129;_0x3b540d[_0x480616(0x18e)](),_0x3b540d[_0x480616(0x140)](),_0x16a615['_showTypeMenu']();}),_0x16a615[_0x2a2129(0x1cf)]['on'](_0x2a2129(0xcb),function(_0x39c7db){const _0x246f68=_0x2a2129;_0x39c7db[_0x246f68(0x15c)]===0x28&&_0x16a615['_showTypeMenu'](),_0x39c7db[_0x246f68(0x140)]();})['on'](_0x2a2129(0x195),function(){const _0x58ad29=_0x2a2129;_0x16a615[_0x58ad29(0x13c)]['addClass']('red-ui-typedInput-focus');})['on']('blur',function(){const _0x139623=_0x2a2129;_0x16a615[_0x139623(0x13c)][_0x139623(0x110)](_0x139623(0x12f));}),_0x16a615['$selectLabel']=$(_0x2a2129(0x10d))[_0x2a2129(0x1ae)](_0x16a615[_0x2a2129(0x1cf)]);}this[_0x2a2129(0xf6)]();!_0x16a615[_0x2a2129(0xf2)][_0x2a2129(0x148)](_0x2a2129(0x119))&&_0x16a615['$input']['attr'](_0x2a2129(0x119),_0x2a2129(0x1c1));_0x16a615[_0x2a2129(0x11e)]=$('<div\x20class=\x22sterfive-info-text\x22></div>'),_0x16a615[_0x2a2129(0x11e)][_0x2a2129(0x145)](),_0x16a615[_0x2a2129(0x15b)]['append'](_0x16a615[_0x2a2129(0x11e)]),_0x16a615[_0x2a2129(0x1ea)]=$('<div/>')[_0x2a2129(0xdd)](_0x2a2129(0x176))[_0x2a2129(0x145)]()[_0x2a2129(0x1ae)](_0x16a615[_0x2a2129(0x15b)]),_0x16a615['$tree']=$(_0x2a2129(0xd3))[_0x2a2129(0x1ae)](_0x16a615[_0x2a2129(0x1ea)]),this[_0x2a2129(0xd1)]();const _0x842af1=(_0x5b6189,_0xb5578)=>{const _0x54381b=_0x2a2129,_0x3c37fa=0x14,_0x35681f=0x14,_0x548771=_0x5b6189['offset'](),_0x10334f=_0xb5578;if(_0x10334f['pageX']>=_0x548771[_0x54381b(0x1bf)]&&_0x10334f[_0x54381b(0x1c9)]<=_0x548771[_0x54381b(0x1bf)]+_0x3c37fa&&_0x10334f[_0x54381b(0xd8)]>=_0x548771['top']&&_0x10334f[_0x54381b(0xd8)]<=_0x548771[_0x54381b(0x18d)]+_0x35681f)return!![];return![];},_0x296f6b=_0x10b53f=>_0x4d64d7(this,void 0x0,void 0x0,function*(){const _0x2926a5=_0x2a2129;if(_0x10b53f[_0x2926a5(0x146)](_0x2926a5(0xd5)))_0x112357(_0x16a615,_0x10b53f);else{if(_0x10b53f[_0x2926a5(0x146)](_0x2926a5(0x1cb)))_0x10b53f['children']('ul')['toggle'](),_0x10b53f[_0x2926a5(0x12c)](_0x2926a5(0x191));else{if(_0x10b53f['children']('ul')[_0x2926a5(0x163)]()[_0x2926a5(0xe6)]>0x0)_0x10b53f['children']('ul')[_0x2926a5(0xfd)](),_0x10b53f[_0x2926a5(0x12c)](_0x2926a5(0x191));else;}}});_0x16a615[_0x2a2129(0x1e8)]['on'](_0x2a2129(0x115),'li',function(_0x587614){const _0x1a98ee=_0x2a2129;var _0x4156f3,_0x5d0603;_0x587614[_0x1a98ee(0x140)]();let _0x42d8fc=$(this);if(_0x842af1(_0x42d8fc,_0x587614))_0x296f6b(_0x42d8fc);else{const _0x3f8ca0=_0x42d8fc['data'](_0x1a98ee(0x1cd)),_0x23d08b=_0x42d8fc[_0x1a98ee(0x178)](_0x1a98ee(0x1d5));if(_0x16a615[_0x1a98ee(0x165)][_0x1a98ee(0x159)]&&!_0x16a615[_0x1a98ee(0x165)][_0x1a98ee(0x159)](_0x23d08b))return;_0x16a615[_0x1a98ee(0xf2)][_0x1a98ee(0x178)](_0x1a98ee(0x1d5),_0x23d08b),((_0x4156f3=_0x23d08b[_0x1a98ee(0x179)])===null||_0x4156f3===void 0x0?void 0x0:_0x4156f3[_0x1a98ee(0x121)])||((_0x5d0603=_0x23d08b['browseName'])===null||_0x5d0603===void 0x0?void 0x0:_0x5d0603[_0x1a98ee(0x116)])||_0x23d08b[_0x1a98ee(0x1c4)][_0x1a98ee(0x167)]();let _0x3dd4b2=_0x16a615[_0x1a98ee(0x106)]();!_0x3dd4b2&&(_0x3dd4b2=_0x1a98ee(0x1c4),_0x16a615[_0x1a98ee(0xea)](_0x3dd4b2)),_0x2f87d1(_0x3f8ca0)[_0x1a98ee(0x1d7)](()=>{const _0x89fe75=_0x1a98ee;_0x16a615['$dropdown'][_0x89fe75(0x145)]();})[_0x1a98ee(0x183)](_0xb2e6ea=>{const _0xb88b90=_0x1a98ee;_0x16a615[_0xb88b90(0x1ea)][_0xb88b90(0x145)]();});}}),_0x16a615[_0x2a2129(0x1e8)]['on'](_0x2a2129(0x14d),'li',function(_0x427819){_0x427819['stopPropagation']();let _0x484c18=$(this);_0x842af1(_0x484c18,_0x427819)&&_0x296f6b(_0x484c18),_0xed5d4c(_0x16a615,_0x484c18);}),$(document)['on'](_0x2a2129(0x14d),function(_0x51719a){const _0x516368=_0x2a2129;!$(_0x51719a[_0x516368(0x114)])[_0x516368(0x188)](_0x16a615[_0x516368(0x15b)])['length']&&_0x16a615['$dropdown'][_0x516368(0x145)]();});}});},_0x75fc25=()=>{const _0x13fc0f=_0x5a5648,_0x5c62f3=$(_0x13fc0f(0x1a8)),_0x2a1549=_0x5c62f3[_0x13fc0f(0xfc)](),_0x589696=RED['nodes']['node'](_0x2a1549);if(!_0x589696)return undefined;const {endpoint:_0x50a8c4,securityMode:_0x3dbe7a,securityPolicy:_0x4f0aa6,userIdentityType:_0x1a19e2,credentials:_0x302808,namespaceAliases:_0x56a7d8}=_0x589696,_0x1f15b6={'endpoint':_0x50a8c4,'securityMode':_0x3dbe7a,'securityPolicy':_0x4f0aa6,'userIdentityType':_0x1a19e2,'credentials':_0x302808,'namespaceAliases':_0x56a7d8};return _0x1f15b6;},_0x39fb40=()=>{const _0x2261c6=_0x5a5648,_0x3ce37c=$(_0x2261c6(0x1a8)),_0x19e05f=_0x3ce37c[_0x2261c6(0xfc)](),_0xbf8fb9=_0x75fc25();if(!_0xbf8fb9)return undefined;const _0x328153=_0xbf8fb9[_0x2261c6(0x170)];return Object[_0x2261c6(0x1e1)]({'namespaceAliases':_0x328153,'id':_0x19e05f},_0xbf8fb9);},_0xcf67ba=()=>{return{'endpointNode':_0x39fb40};},_0x78742d=()=>{const _0x177f03=_0x5a5648,_0x4c3f92=$('.red-ui-tray-body');console[_0x177f03(0x169)]('installFeedbackWidget\x20',_0x4c3f92[_0x177f03(0xe6)]);if(_0x4c3f92[_0x177f03(0xe6)]){console[_0x177f03(0x169)](_0x177f03(0x18a));const _0x273cba=$('<iframe></iframe>',{'src':'/opcua-for-node-red/support-frame.html','scrolling':'no','style':_0x177f03(0x15f),'allowtransparency':'true','width':_0x177f03(0x173),'height':'30px'});_0x4c3f92[_0x177f03(0x15e)](_0x273cba),_0x273cba[_0x177f03(0x160)]({'position':_0x177f03(0x118),'right':'20px','bottom':_0x177f03(0x194)});}};RED[_0x5a5648(0x130)][_0x5a5648(0x1b8)]('OpcUa-Client2-Explore',{'category':_0x5a5648(0x190),'color':_0x5a5648(0x10f),'align':_0x5a5648(0x127),'icon':_0x5a5648(0x124),'paletteLabel':_0x5a5648(0x1ca),'defaults':{'inputs':{'value':0x1},'output':{'value':0x4},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0x5a5648(0x1e5)},'nodeId':{'value':'','required':![]},'outputType':{'value':_0x5a5648(0x17b),'required':!![]},'excludeEmpty':{'value':![]},'followOrganizes':{'value':![]}},'outputs':0x1,'label'(){return this['name']||'OPCUA\x20Explore';},'labelStyle'(){const _0x310087=_0x5a5648;return this[_0x310087(0x116)]?_0x310087(0xf7):'';},'oneditprepare'(){const _0x12cd65=_0x5a5648,_0x6599ea=this;_0x2f360c(),_0x78742d(),_0x6599ea[_0x12cd65(0x125)]=0x1;const _0x58042b=$(_0x12cd65(0x189));_0x58042b[_0x12cd65(0x16d)](Object[_0x12cd65(0x1e1)](Object[_0x12cd65(0x1e1)]({},_0xcf67ba()),{'isSelectable'(_0x2fcbd6){const _0x440161=_0x12cd65;return _0x2fcbd6[_0x440161(0xd0)]===_0x440161(0x1b3)||_0x2fcbd6[_0x440161(0xd0)]===_0x440161(0x144);}}));},'oneditsave'(){}});}()));
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHg0ZDY0ZDciLCJfMHgzY2ZmZTQiLCJfMHhiMTU3YTkiLCJfMHgyYTliZDkiLCJfMHgzNTUwYzYiLCJfMHg3NzNlZTUiLCJfMHgzYzk4ZjIiLCJfMHgxOWFhZjQiLCJQcm9taXNlIiwiXzB4NGY5NWE5IiwiXzB4NWRiNzAwIiwiXzB4MTc0OTYxIiwiXzB4NTUzZmJmIiwiXzB4NWRkYTdiIiwiXzB4MWY5YWMwIiwiXzB4NTk5NDljIiwiXzB4MWNhNTkwIiwiXzB4NDhiY2I5IiwiXzB4NDNhYWZmIiwiU3VwcHJlc3NlZEVycm9yIiwiXzB4NTRkYmMyIiwiXzB4MjAxNzg3IiwiXzB4NDhlM2Q3IiwiXzB4M2NlNzg2IiwiRXJyb3IiLCJfMHg0OTNmZWMiLCJfMHg1MGRkNjEiLCJfMHgxMjJiMTIiLCJfMHgyOWRkNzciLCJfMHhjODk3MGEiLCJfMHg0YTAwNWQiLCJfMHgxY2VkZDYiLCJfMHg0NDQyNGMiLCJfMHg1MGQxOWEiLCJfMHg1YTI3ZjYiLCJfMHg0YzExZGMiLCJfMHgzYWIwNjMiLCJfMHgyZGQ1ZDUiLCJfMHgzMjc0ZjMiLCJfMHg1ZGQ4YWYiLCJfMHg1Njc4ZDMiLCJfMHgxNjBhZGUiLCJfMHg1MzkyYWMiLCJfMHg5ZmQ4ZWIiLCJfMHg0ZjE5YzgiLCJfMHgyNDdlMzgiLCJfMHgyNDUzNGEiLCJfMHgyYWQxZTAiLCJlbmRwb2ludE5vZGUiLCJfMHgxN2M5OTkiLCJlbmRwb2ludCIsIl8weDU4YTU1MSIsImJhc2VVcmwiLCJfMHg0MjcyMDYiLCJfMHgzNmNjMzYiLCJfMHgyMzVlODMiLCJfMHg0M2VkZmQiLCJfMHg4ODdhY2YiLCJfMHg0NDVjYjIiLCJPYmplY3QiLCJfMHgxYTk5ODciLCJmZXRjaCIsIkpTT04iLCJjb25zb2xlIiwiXzB4MmE1MDRhIiwiXzB4NGI2YWY5IiwiXzB4MjA4YzhkIiwiXzB4NTRhNjA0IiwiXzB4MjE1NzFlIiwiXzB4MzFlYzliIiwiXzB4NTViOTA3IiwiXzB4NTlhMTM0IiwiXzB4MmZhZWRjIiwiXzB4NWRjNjIzIiwibm9kZUlkIiwiXzB4YWFjMjIzIiwicm9vdE5vZGVJZCIsIl8weDRjNWE3MCIsImlzVHlwZSIsIl8weGRhM2VkOCIsIl8weDI0MTJmNiIsIl8weDM0M2I3ZiIsIl8weDg1NGQ0YyIsIl8weDUwNWE2YiIsIl8weDEwYjM2NiIsIl8weDUzZmRkNyIsIl8weDUyNWFmZSIsIl8weDIzNTU0ZiIsIl8weDRhMWUxYSIsIl8weDU0YTlmNSIsIl8weDNiNGE0MSIsIl8weDQ3YzI5YyIsIl8weDJkZTU1MCIsIl8weDUzZTAyOCIsIl8weDM5ZTE4MSIsIl8weDQyNDdlOSIsIl8weDRlZmNjOCIsIl8weDQxMzEyOSIsIl8weGMxOTRhNiIsIl8weDU0NmE5YyIsIl8weDJjOTM3NSIsIl8weDFkN2NiZCIsIl8weDIxMjA0MiIsIl8weDE5YjE2YiIsIl8weDJmYWI5NiIsIl8weDQ0ZmU1ZiIsIl8weDRjMTNkOCIsIl8weDRlMmYyMyIsIl8weGEzZTkwNCIsIl8weDVkODUwYiIsIl8weDI5MWUyZCIsIlJFRCIsIl8weDE1NzAzMiIsIl8weDE4ODQ3YSIsIl8weDVmNDg3YyIsIl8weDUxZTk3MiIsIl8weDMyYzgyZSIsIl8weDE1YjMzYiIsIl8weDJkZGQwYyIsIl8weDUyNGNkOSIsIl8weDNmZGE1OCIsIl8weDQ5M2E0ZiIsIl8weDJhOTRmZCIsIl8weDFhODcxNiIsIl8weDc1ZjZjYiIsIl8weDQ1MWUxYyIsIl8weDMxNWJkZSIsImpzb24iLCJfMHg1OTg1OWIiLCJkYXRhIiwiXzB4MjcwZTE0IiwiXzB4NDE0NTZhIiwiXzB4MjFjYmMzIiwiXzB4MjI4ZDEyIiwic2V0VGltZW91dCIsIl8weDQ2OGMwNyIsIl8weDFjMmRkOSIsIl8weDE3ZDMzYiIsIl8weDRjODkzMyIsIl8weDRmNzVhYSIsIl8weDU0MTc5NyIsIl8weDJkMzgwOSIsIl8weDE0OTIxZiIsIl8weDEzOWUyNyIsIl8weDMzMTk5MiIsIl8weDE3YmVlNiIsIl8weDI2NTExZCIsIl8weDRiMGNkNyIsIl8weGZjMmY3NyIsIl8weDdhMjIwNyIsIl8weGRlMDkzOCIsIl8weDVmMzkzNyIsIl8weDFmMzU2ZCIsIl8weDU3NGViYyIsIl8weDIwZWU2ZSIsIl8weDRiMzQ0YyIsIiQiLCJfMHg0YjcwOGQiLCJfMHg1OTQxZGYiLCJpY29uIiwiXzB4NGYwYzBjIiwiY29sb3IiLCJfMHhkMzM0OTgiLCJfMHg0ODBiMiIsIl8weDNhODg0OSIsIl8weDMzM2ZiNyIsIl8weDE5ZjNjYiIsIl8weDQ0NGYzMCIsIl8weGVkNWQ0YyIsIl8weDEyYjVjYyIsIl8weDM4NWRkYSIsIl8weDM2MmI2OCIsIl8weDI3MjQ2MyIsIl8weDE1OWJiMyIsIl8weDMwMDBhNCIsIl8weDQxZmJiOCIsIl8weDJlNmZlNCIsIl8weGRhYmQxOCIsIl8weDExMjM1NyIsIl8weDFhNjA2ZSIsIl8weDRkOWI1YiIsIl8weDRmYzY2MCIsIl8weDM0OGNkMSIsIl8weDEyYzY4ZCIsIl8weDUyMWQ3YiIsInVuZGVmaW5lZCIsIl8weDMxZmJlNiIsIl8weDNhN2U0YSIsIl8weDU4MzJmOCIsIl8weDRlZDVjNyIsIl8weDNkMGE0ZCIsIl8weGRhOTVkOSIsIl8weDhkNGFhNyIsIl8weGViM2YzNiIsIl8weDNhMmU1YyIsIl8weDVhMjQzNyIsIl8weDExZGRiYiIsIl8weDM5YjZhYSIsIl8weDIwZjJjNiIsIl8weDNjOTIxZiIsInJlZmVyZW5jZXMiLCJfMHgxYTM4MWMiLCJfMHg3MGNjYjQiLCJfMHg0YmYyMjEiLCJfMHg0ZDZjYTMiLCJfMHg2YTU5MjIiLCJfMHg0OTA2ODUiLCJfMHgzODFmMjAiLCJfMHgzNzNmMTYiLCJfMHgyNjk3N2MiLCJfMHgzOGI5NjUiLCJfMHhjM2I2YTUiLCJfMHgxM2FlOWEiLCJfMHgyN2UzYzgiLCJfMHgyYTY1NmEiLCJfMHg1MDIyZTgiLCJfMHg1YTk1MmEiLCJfMHgyZjM2MGMiLCJfMHgzYjM1NTgiLCJfMHgzZDNlNDIiLCJfMHg0OGI3OWQiLCJfMHg1MGI4MmQiLCJfMHgzOWUzZDQiLCJfMHgyNTc3YmQiLCJfMHgxMjBjYzciLCJfMHhjZGI1YzEiLCJfMHgxN2M1ODYiLCJfMHgyNDA2NDUiLCJfMHgxYTU5YmIiLCJfMHg0YmViNTMiLCJfMHgzMjE0ODgiLCJkb2N1bWVudCIsIl8weDNlNzIzNiIsIl8weDM5Mjc0MyIsIl8weDVkYWRmMiIsIl8weDRkYjE1NyIsIl8weDQyOTg4YiIsIl8weDkyOTZlYSIsIl8weDRiNzEyNCIsIl8weDRmYzdhMSIsIl8weDMzNDk0YiIsIl8weDNmNTY4OCIsIl8weDQ2OTdlOCIsIl8weDFhMzVmMyIsIl8weDIyY2ViMCIsIl8weDJlMzJmZSIsIl8weDZlNGI2MCIsIl8weDU4OTk4OSIsIl8weDUwZTU5MiIsIl8weDExNTkzNSIsIl8weDQxNWZmYiIsIndpbmRvdyIsIl8weDQyZGQ2NCIsIl8weDFhZWY0MSIsIl8weDFjZWM3NiIsIl8weDQwNTQ0MyIsIl8weDQwYWJiYyIsIl8weDE2YmUwZCIsIl8weDE4MTQ4NyIsIl8weDFjMjc3MSIsIl8weDQwYmU1OSIsIl8weDIxMDg0OSIsIl8weDI5MjkyZCIsIl8weDVlODk1MSIsIl8weGU4NjE2ZSIsIl8weDQ4NjExMiIsIl8weDdjMDhlOCIsIl8weDMxNzkwOSIsIl8weDJmZGE1OCIsIl8weDUyNTlhMCIsIl8weDFmNGY1YSIsIl8weDE2YTYxNSIsIl8weDU0MzIxYiIsIl8weDk5ODEyMSIsIl8weDMzOTMzZiIsIl8weDU5M2UyZCIsIl8weDJmODdkMSIsIl8weDIzNjVmNSIsIl8weGRkNTUwNSIsIl8weDczNDAwIiwiXzB4MWFmZjlhIiwiXzB4MjdmOTQ0IiwiXzB4MmUzN2EzIiwiXzB4MWE0ZTY2IiwiXzB4M2I1NDBkIiwiXzB4MzljN2RiIiwiXzB4ODQyYWYxIiwiXzB4NWI2MTg5IiwiXzB4YjU1NzgiLCJfMHgzYzM3ZmEiLCJfMHgzNTY4MWYiLCJfMHg1NDg3NzEiLCJfMHgxMDMzNGYiLCJfMHgyOTZmNmIiLCJfMHgxMGI1M2YiLCJfMHg1ODc2MTQiLCJfMHg0MTU2ZjMiLCJfMHg1ZDA2MDMiLCJfMHg0MmQ4ZmMiLCJfMHgzZjhjYTAiLCJfMHgyM2QwOGIiLCJfMHgzZGQ0YjIiLCJfMHhiMmU2ZWEiLCJfMHg0Mjc4MTkiLCJfMHg0ODRjMTgiLCJfMHg1MTcxOWEiLCJfMHg3NWZjMjUiLCJfMHg1YzYyZjMiLCJfMHgyYTE1NDkiLCJfMHg1ODk2OTYiLCJfMHg1MGE4YzQiLCJzZWN1cml0eU1vZGUiLCJfMHgzZGJlN2EiLCJzZWN1cml0eVBvbGljeSIsIl8weDRmMGFhNiIsInVzZXJJZGVudGl0eVR5cGUiLCJfMHgxYTE5ZTIiLCJjcmVkZW50aWFscyIsIl8weDMwMjgwOCIsIm5hbWVzcGFjZUFsaWFzZXMiLCJfMHg1NmE3ZDgiLCJfMHgxZjE1YjYiLCJfMHgzOWZiNDAiLCJfMHgzY2UzN2MiLCJfMHgxOWUwNWYiLCJfMHhiZjhmYjkiLCJfMHgzMjgxNTMiLCJfMHhjZjY3YmEiLCJfMHg3ODc0MmQiLCJfMHg0YzNmOTIiLCJfMHgyNzNjYmEiLCJfMHg2NTk5ZWEiLCJfMHg1ODA0MmIiLCJfMHgyZmNiZDYiXSwibWFwcGluZ3MiOiIrakxBQUEsQ0FBQyxVLENBQ0csYSx3QkFtQkEsU0FBU0EsU0FBVCxDQUFtQkMsU0FBbkIsQ0FBNEJDLFNBQTVCLENBQXdDQyxTQUF4QyxDQUEyQ0MsU0FBM0MsQyxDQUNJLFNBQVNDLFNBQVQsQ0FBZUMsU0FBZixDLFFBQStCQSxTQUFBLFlBQWlCSCxTQUFqQixDQUFxQkcsU0FBckIsQ0FBNkIsSUFBSUgsU0FBSixDQUFNLFNBQVVJLFNBQVYsQyxDQUFxQkEsU0FBQSxDQUFRRCxTQUFSLEMsRUFBM0IsQyxTQUNyRCxHQUFLLENBQUFILFNBQUEsRUFBTSxDQUFBQSxTQUFBLENBQUlLLE9BQUosQ0FBTixDQUFMLENBQXlCLFNBQVVDLFNBQVYsQ0FBbUJDLFNBQW5CLEMseUJBQzVCLFNBQVNDLFNBQVQsQ0FBbUJDLFNBQW5CLEMseUJBQTRCLEcsQ0FBTUMsU0FBQSxDQUFLVCxTQUFBLEMsZ0JBQUEsRUFBZVEsU0FBZixDQUFMLEMsRUFBK0IsTUFBT0UsU0FBUCxDLENBQVlKLFNBQUEsQ0FBT0ksU0FBUCxDLEdBQzdFLFNBQVNDLFNB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TCxDQUFBLEMsZ0JBQUEsQ0FBaEIsQ0FDQWdMLFNBQUEsQyxnQkFBQSxFQUFvQmpSLE1BQUEsQyxnQkFBQSxFQUFjQSxNQUFBLEMsZ0JBQUEsRUFBYyxFQUFkLENBQWtCNFEsU0FBQSxFQUFsQixDQUFkLENBQWlFLEMsY0FBRSxDQUFhTSxTQUFiLEMsa0NBQ3hFQSxTQUFBLEMsZUFBQSxJLGdCQUFBLEVBQXFDQSxTQUFBLEMsZUFBQSxJLGtCQURpQyxDQUFqRSxDQUFwQixDLEVBaEN3QyxDLFlBb0M1QyxFLEVBcEM0QyxDQUFoRCxDLEVBOWlDSixHIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uICgpIHtcbiAgICAndXNlIHN0cmljdCc7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cclxuXHJcbiAgICBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnlcclxuICAgIHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcbiAgICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXHJcbiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFlcclxuICAgIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuICAgIElORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxyXG4gICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1JcclxuICAgIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuICAgIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXHJcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4gICAgLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UsIFN1cHByZXNzZWRFcnJvciwgU3ltYm9sLCBJdGVyYXRvciAqL1xyXG5cclxuXHJcbiAgICBmdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XHJcbiAgICAgICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICAgICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0eXBlb2YgU3VwcHJlc3NlZEVycm9yID09PSBcImZ1bmN0aW9uXCIgPyBTdXBwcmVzc2VkRXJyb3IgOiBmdW5jdGlvbiAoZXJyb3IsIHN1cHByZXNzZWQsIG1lc3NhZ2UpIHtcclxuICAgICAgICB2YXIgZSA9IG5ldyBFcnJvcihtZXNzYWdlKTtcclxuICAgICAgICByZXR1cm4gZS5uYW1lID0gXCJTdXBwcmVzc2VkRXJyb3JcIiwgZS5lcnJvciA9IGVycm9yLCBlLnN1cHByZXNzZWQgPSBzdXBwcmVzc2VkLCBlO1xyXG4gICAgfTtcblxuICAgIGNvbnN0IE9yZ2FuaXplc1JlZk5vZGVJZCA9IFwibnM9MDtpPTM1XCI7XG4gICAgY29uc3QgRm9sZGVyVHlwZSA9IFwibnM9MDtpPTYxXCI7XG4gICAgY29uc3QgSGFzQ29tcG9uZW50UmVmTm9kZUlkID0gXCJucz0wO2k9NDdcIjtcbiAgICBjb25zdCBIYXNQcm9wZXJ0eVJlZk5vZGVJZCA9IFwibnM9MDtpPTQ2XCI7XG4gICAgY29uc3QgSGFzQ2hpbGRSZWZOb2RlSWQgPSBcIm5zPTA7aT0zNFwiO1xuICAgIGNvbnN0IEhhc1N1YnR5cGVSZWZOb2RlSWQgPSBcIm5zPTA7aT00NVwiO1xuICAgIGNvbnN0IEhhc1R5cGVEZWZpbml0aW9uUmVmTm9kZUlkID0gXCJucz0wO2k9NDBcIjtcblxuICAgIHZhciBCcm93c2VEaXJlY3Rpb247XG4gICAgKGZ1bmN0aW9uIChCcm93c2VEaXJlY3Rpb24pIHtcbiAgICAgICAgQnJvd3NlRGlyZWN0aW9uW0Jyb3dzZURpcmVjdGlvbltcIkZvcndhcmRcIl0gPSAwXSA9IFwiRm9yd2FyZFwiO1xuICAgICAgICBCcm93c2VEaXJlY3Rpb25bQnJvd3NlRGlyZWN0aW9uW1wiSW52ZXJzZVwiXSA9IDFdID0gXCJJbnZlcnNlXCI7XG4gICAgICAgIEJyb3dzZURpcmVjdGlvbltCcm93c2VEaXJlY3Rpb25bXCJCb3RoXCJdID0gMl0gPSBcIkJvdGhcIjtcbiAgICAgICAgQnJvd3NlRGlyZWN0aW9uW0Jyb3dzZURpcmVjdGlvbltcIkludmFsaWRcIl0gPSAzXSA9IFwiSW52YWxpZFwiO1xuICAgIH0pKEJyb3dzZURpcmVjdGlvbiB8fCAoQnJvd3NlRGlyZWN0aW9uID0ge30pKTtcbiAgICB2YXIgTm9kZUNsYXNzO1xuICAgIChmdW5jdGlvbiAoTm9kZUNsYXNzKSB7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJVbnNwZWNpZmllZFwiXSA9IDBdID0gXCJVbnNwZWNpZmllZFwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiT2JqZWN0XCJdID0gMV0gPSBcIk9iamVjdFwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiVmFyaWFibGVcIl0gPSAyXSA9IFwiVmFyaWFibGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIk1ldGhvZFwiXSA9IDRdID0gXCJNZXRob2RcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIk9iamVjdFR5cGVcIl0gPSA4XSA9IFwiT2JqZWN0VHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiVmFyaWFibGVUeXBlXCJdID0gMTZdID0gXCJWYXJpYWJsZVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIlJlZmVyZW5jZVR5cGVcIl0gPSAzMl0gPSBcIlJlZmVyZW5jZVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIkRhdGFUeXBlXCJdID0gNjRdID0gXCJEYXRhVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiVmlld1wiXSA9IDEyOF0gPSBcIlZpZXdcIjtcbiAgICB9KShOb2RlQ2xhc3MgfHwgKE5vZGVDbGFzcyA9IHt9KSk7XG4gICAgdmFyIE5vZGVDbGFzc01hc2s7XG4gICAgKGZ1bmN0aW9uIChOb2RlQ2xhc3NNYXNrKSB7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIk9iamVjdFwiXSA9IDFdID0gXCJPYmplY3RcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiVmFyaWFibGVcIl0gPSAyXSA9IFwiVmFyaWFibGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiTWV0aG9kXCJdID0gNF0gPSBcIk1ldGhvZFwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJPYmplY3RUeXBlXCJdID0gOF0gPSBcIk9iamVjdFR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiVmFyaWFibGVUeXBlXCJdID0gMTZdID0gXCJWYXJpYWJsZVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiUmVmZXJlbmNlVHlwZVwiXSA9IDMyXSA9IFwiUmVmZXJlbmNlVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJEYXRhVHlwZVwiXSA9IDY0XSA9IFwiRGF0YVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiVmlld1wiXSA9IDEyOF0gPSBcIlZpZXdcIjtcbiAgICB9KShOb2RlQ2xhc3NNYXNrIHx8IChOb2RlQ2xhc3NNYXNrID0ge30pKTtcbiAgICB2YXIgUmVzdWx0TWFzaztcbiAgICAoZnVuY3Rpb24gKFJlc3VsdE1hc2spIHtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiUmVmZXJlbmNlVHlwZVwiXSA9IDFdID0gXCJSZWZlcmVuY2VUeXBlXCI7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIklzRm9yd2FyZFwiXSA9IDJdID0gXCJJc0ZvcndhcmRcIjtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiTm9kZUNsYXNzXCJdID0gNF0gPSBcIk5vZGVDbGFzc1wiO1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJCcm93c2VOYW1lXCJdID0gOF0gPSBcIkJyb3dzZU5hbWVcIjtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiRGlzcGxheU5hbWVcIl0gPSAxNl0gPSBcIkRpc3BsYXlOYW1lXCI7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIlR5cGVEZWZpbml0aW9uXCJdID0gMzJdID0gXCJUeXBlRGVmaW5pdGlvblwiO1xuICAgIH0pKFJlc3VsdE1hc2sgfHwgKFJlc3VsdE1hc2sgPSB7fSkpO1xuICAgIC8vICBjb25zdCBxID0gUmVmZXJlbmNlVHlwZUlkcy5Pcmdhbml6ZXM7XG4gICAgZnVuY3Rpb24gcmVzb2x2ZU5vZGVJZChub2RlSWRMaWtlKSB7XG4gICAgICAgIHN3aXRjaCAobm9kZUlkTGlrZSkge1xuICAgICAgICAgICAgY2FzZSBcIk9yZ2FuaXplc1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiBPcmdhbml6ZXNSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzUHJvcGVydHlcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGFzUHJvcGVydHlSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzQ29tcG9uZW50XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhhc0NvbXBvbmVudFJlZk5vZGVJZDtcbiAgICAgICAgICAgIGNhc2UgXCJIYXNDaGlsZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBIYXNDaGlsZFJlZk5vZGVJZDtcbiAgICAgICAgICAgIGNhc2UgXCJIYXNTdWJ0eXBlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhhc1N1YnR5cGVSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzVHlwZURlZmluaXRpb25cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGFzVHlwZURlZmluaXRpb25SZWZOb2RlSWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBnZXRJY29uID0gKHJlZmVyZW5jZSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKHJlZmVyZW5jZS5ub2RlQ2xhc3MpIHtcbiAgICAgICAgICAgIGNhc2UgXCJPYmplY3RcIjpcbiAgICAgICAgICAgICAgICBpZiAocmVmZXJlbmNlLnJlZmVyZW5jZVR5cGVJZCA9PT0gT3JnYW5pemVzUmVmTm9kZUlkKSA7XG4gICAgICAgICAgICAgICAgaWYgKHJlZmVyZW5jZS50eXBlRGVmaW5pdGlvbiA9PT0gRm9sZGVyVHlwZSB8fCByZWZlcmVuY2UucmVmZXJlbmNlVHlwZUlkID09PSBcImk9NjFcIikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWZvbGRlclwiLCBjb2xvcjogXCJyZ2JhKDYxLCA2MCwgNCwgMC41MjUpXCIgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1vYmplY3QtZ3JvdXBcIiwgY29sb3I6IFwiU2VhR3JlZW5cIiB9O1xuICAgICAgICAgICAgY2FzZSBcIlZhcmlhYmxlXCI6XG4gICAgICAgICAgICAgICAgaWYgKHJlZmVyZW5jZS5yZWZlcmVuY2VUeXBlSWQgPT09IEhhc0NvbXBvbmVudFJlZk5vZGVJZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWxpc3QtYWx0XCIsIGNvbG9yOiBcIlN0ZWVsQmx1ZVwiIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJlZmVyZW5jZS5yZWZlcmVuY2VUeXBlSWQgPT09IEhhc1Byb3BlcnR5UmVmTm9kZUlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtbGlzdC1hbHRcIiwgY29sb3I6IFwiRG9kZ2VyQmx1ZVwiIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWxpc3QtYWx0XCIsIGNvbG9yOiBcIkNhZGV0Qmx1ZVwiIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBcIk1ldGhvZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtY29nXCIsIGNvbG9yOiBcIlNhbmR5QnJvd25cIiB9O1xuICAgICAgICAgICAgY2FzZSBcIk9iamVjdFR5cGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLW9iamVjdC1ncm91cFwiLCBjb2xvcjogXCJEYXJrT3JhbmdlXCIgfTtcbiAgICAgICAgICAgIGNhc2UgXCJWYXJpYWJsZVR5cGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLXNsaWRlcnNcIiwgY29sb3I6IFwiRGFya09yYW5nZVwiIH07XG4gICAgICAgICAgICBjYXNlIFwiRGF0YVR5cGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLXRleHQtd2lkdGhcIiwgY29sb3I6IFwiQ2FkZXRCbHVlXCIgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLXF1ZXN0aW9uXCIsIGNvbG9yOiBcImdyZXlcIiB9O1xuICAgIH07XG5cbiAgICBjb25zdCBicm93c2UgPSAoX2EsIG5vZGVJZF8xLCB0ZW1wbGF0ZV8xKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCBbX2EsIG5vZGVJZF8xLCB0ZW1wbGF0ZV8xXSwgdm9pZCAwLCBmdW5jdGlvbiogKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCBub2RlSWQsIHRlbXBsYXRlKSB7XG4gICAgICAgIGNvbnN0IHJvb3QgPSBgJHtiYXNlVXJsfS9vcGN1YS1mb3Itbm9kZS1yZWRgO1xuICAgICAgICBjb25zdCB1cmwgPSBgJHtyb290fS9icm93c2VgO1xuICAgICAgICBjb25zdCBicm93c2VEZXNjcmlwdGlvbiA9IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgdGVtcGxhdGUpLCB7IG5vZGVJZCwgcmVzdWx0TWFzazogNjMgfSk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlLFxuICAgICAgICAgICAgICAgIGVuZHBvaW50LFxuICAgICAgICAgICAgICAgIGJyb3dzZURlc2NyaXB0aW9uLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJmZXRjaGluZyBmYWlsZWQgd2l0aCBlcnJvclwiLCBkYXRhLnN0YXR1cywgZGF0YS5zdGF0dXNUZXh0KTtcbiAgICAgICAgICAgIHJldHVybiB7IHJlZmVyZW5jZXM6IFtdIH07XG4gICAgICAgIH1cbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJicm93c2UgZmV0Y2hlZCA6IFwiLCBkYXRhLnN0YXR1cywgZGF0YS5zdGF0dXNUZXh0KTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSB5aWVsZCBkYXRhLmpzb24oKTtcbiAgICAgICAgY29uc3QgcmVmZXJlbmNlcyA9IHJlc3BvbnNlLmJyb3dzZVJlc3VsdC5yZWZlcmVuY2VzIHx8IFtdO1xuICAgICAgICByZXR1cm4geyByZWZlcmVuY2VzIH07XG4gICAgfSk7XG5cbiAgICBjb25zdCB0ZW1wbGF0ZTEgPSB7XG4gICAgICAgIHJlZmVyZW5jZVR5cGVJZDogcmVzb2x2ZU5vZGVJZChcIkhhc0NoaWxkXCIpLFxuICAgICAgICBpbmNsdWRlU3VidHlwZXM6IHRydWUsXG4gICAgICAgIGJyb3dzZURpcmVjdGlvbjogQnJvd3NlRGlyZWN0aW9uLkZvcndhcmQsXG4gICAgICAgIG5vZGVDbGFzc01hc2s6IE5vZGVDbGFzcy5WYXJpYWJsZSB8IE5vZGVDbGFzcy5PYmplY3QgfCBOb2RlQ2xhc3MuTWV0aG9kLFxuICAgICAgICAvLyAgTm9kZUNsYXNzLk9iamVjdFR5cGUgfFxuICAgICAgICAvLyAgTm9kZUNsYXNzLlZhcmlhYmxlVHlwZSB8XG4gICAgICAgIC8vIE5vZGVDbGFzcy5SZWZlcmVuY2VUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLkRhdGFUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLlZpZXcsXG4gICAgICAgIHJlc3VsdE1hc2s6IDYzLFxuICAgIH07XG4gICAgY29uc3QgdGVtcGxhdGUyID0ge1xuICAgICAgICByZWZlcmVuY2VUeXBlSWQ6IHJlc29sdmVOb2RlSWQoXCJPcmdhbml6ZXNcIiksXG4gICAgICAgIGluY2x1ZGVTdWJ0eXBlczogdHJ1ZSxcbiAgICAgICAgYnJvd3NlRGlyZWN0aW9uOiBCcm93c2VEaXJlY3Rpb24uRm9yd2FyZCxcbiAgICAgICAgbm9kZUNsYXNzTWFzazogTm9kZUNsYXNzLlZhcmlhYmxlIHwgTm9kZUNsYXNzLk9iamVjdCB8IE5vZGVDbGFzcy5NZXRob2QsXG4gICAgICAgIC8vICBOb2RlQ2xhc3MuT2JqZWN0VHlwZSB8XG4gICAgICAgIC8vICBOb2RlQ2xhc3MuVmFyaWFibGVUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLlJlZmVyZW5jZVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuRGF0YVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuVmlldyxcbiAgICAgICAgcmVzdWx0TWFzazogNjMsXG4gICAgfTtcbiAgICBjb25zdCB3YWxrQmFja3dhcmQgPSAoX2EsIF9iKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCBbX2EsIF9iXSwgdm9pZCAwLCBmdW5jdGlvbiogKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCB7IG5vZGVJZCwgcm9vdE5vZGVJZCwgaXNUeXBlIH0pIHtcbiAgICAgICAgY29uc3Qgcm9vdCA9IGAke2Jhc2VVcmx9L29wY3VhLWZvci1ub2RlLXJlZGA7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L3dhbGstYmFja3dhcmRgO1xuICAgICAgICBjb25zdCBkYXRhID0geWllbGQgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgIGVuZHBvaW50Tm9kZSxcbiAgICAgICAgICAgICAgICBlbmRwb2ludCxcbiAgICAgICAgICAgICAgICBub2RlSWQsXG4gICAgICAgICAgICAgICAgcm9vdE5vZGVJZCxcbiAgICAgICAgICAgICAgICBpc1R5cGUsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChkYXRhLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBqc29uID0gKHlpZWxkIGRhdGEuanNvbigpKTtcbiAgICAgICAgcmV0dXJuIGpzb24uYnJvd3NlUGF0aDtcbiAgICB9KTtcbiAgICBjb25zdCBjaG9vc2VOb2RlSWQgPSAoZGF0YSwgbW9kZSkgPT4ge1xuICAgICAgICBpZiAoZGF0YS5zdGF0dXNDb2RlICE9PSBcIkdvb2RcIikge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGEucmVxdWVzdGVkTm9kZUlkO1xuICAgICAgICB9XG4gICAgICAgIHN3aXRjaCAobW9kZSkge1xuICAgICAgICAgICAgY2FzZSBcImJyb3dzZVBhdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5icF9pbmRleGVkO1xuICAgICAgICAgICAgY2FzZSBcImFsaWFzZWRCcm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEuYnBfYWxpYXNlZCB8fCBkYXRhLmJwX2luZGV4ZWQ7XG4gICAgICAgICAgICBjYXNlIFwiYWxpYXNlZE5vZGVJZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLm5vZGVJZF9hbGlhc2VkIHx8IGRhdGEubm9kZUlkX25zdTtcbiAgICAgICAgICAgIGNhc2UgXCJuc3VOb2RlSURcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5ub2RlSWRfbnN1O1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGNhc2UgXCJub2RlSWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5ub2RlSWQ7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IG1ha2VUb29sdGlwID0gKGRhdGEpID0+IHtcbiAgICAgICAgaWYgKGRhdGEuc3RhdHVzQ29kZSAhPT0gXCJHb29kXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBgc3RhdHVzQ29kZTogJHtkYXRhLnN0YXR1c0NvZGV9YDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGxldCBzdHIgPSBbXTtcbiAgICAgICAgICAgIHN0ci5wdXNoKGBub2RlSWQ6ICR7ZGF0YS5ub2RlSWR9YCk7XG4gICAgICAgICAgICBzdHIucHVzaChgYnJvd3NlIHBhdGg6ICR7ZGF0YS5icF9pbmRleGVkfWApO1xuICAgICAgICAgICAgc3RyLnB1c2goYG5vZGUgY2xhc3M6ICR7Tm9kZUNsYXNzW2RhdGEubm9kZUNsYXNzXX1gKTtcbiAgICAgICAgICAgIGlmIChkYXRhLm5vZGVJZF9uc3UpIHtcbiAgICAgICAgICAgICAgICBzdHIucHVzaChgbnN1IG5vZGVJZDogJHtkYXRhLm5vZGVJZF9uc3V9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZGF0YS5ub2RlSWRfYWxpYXNlZCkge1xuICAgICAgICAgICAgICAgIHN0ci5wdXNoKGBhbGlhc2VkIE5vZGVJZDogJHtkYXRhLm5vZGVJZF9hbGlhc2VkfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGRhdGEuYnBfaW5kZXhlZCkge1xuICAgICAgICAgICAgICAgIHN0ci5wdXNoKGBhbGlhc2VkIGJyb3dzZVBhdGg6ICR7ZGF0YS5icF9hbGlhc2VkfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHN0ci5qb2luKFwiXFxuXCIpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBmdW5jdGlvbiBmaWd1cmVPdXRNb2RlKGVuaGFuY2VkTm9kZUlkKSB7XG4gICAgICAgIGlmIChlbmhhbmNlZE5vZGVJZC5tYXRjaCgvXm5zdT0vKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwibnN1Tm9kZUlEXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVuaGFuY2VkTm9kZUlkLm1hdGNoKC9eKG5zPS4qOyk/KGl8YnxzfGcpPS8pKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJub2RlSWRcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5oYW5jZWROb2RlSWQubWF0Y2goL15uc2E9LykpIHtcbiAgICAgICAgICAgIHJldHVybiBcImFsaWFzZWROb2RlSWRcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5oYW5jZWROb2RlSWQubWF0Y2goL14oXFwvfFxcLilbMC05XSs6LykpIHtcbiAgICAgICAgICAgIHJldHVybiBcImJyb3dzZVBhdGhcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5oYW5jZWROb2RlSWQubWF0Y2goL14oXFwvfFxcLikuKjovKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiYnJvd3NlUGF0aFwiO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGZpZ3VyZU91dE1lblVJdGVtVmFsdWUoc3RyKSB7XG4gICAgICAgIGNvbnN0IG1vZGUgPSBmaWd1cmVPdXRNb2RlKHN0cik7XG4gICAgICAgIHN3aXRjaCAobW9kZSkge1xuICAgICAgICAgICAgY2FzZSBcIm5vZGVJZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm5cIjtcbiAgICAgICAgICAgIGNhc2UgXCJhbGlhc2VkTm9kZUlkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwibmFcIjtcbiAgICAgICAgICAgIGNhc2UgXCJuc3VOb2RlSURcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJuc3VcIjtcbiAgICAgICAgICAgIGNhc2UgXCJicm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiYlwiO1xuICAgICAgICAgICAgY2FzZSBcImFsaWFzZWRCcm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiYWJcIjtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwidFwiO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIHRvTW9kZSh2KSB7XG4gICAgICAgIGxldCBtb2RlO1xuICAgICAgICBzd2l0Y2ggKHYpIHtcbiAgICAgICAgICAgIGNhc2UgXCJuXCI6XG4gICAgICAgICAgICAgICAgbW9kZSA9IFwibm9kZUlkXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwibmFcIjpcbiAgICAgICAgICAgICAgICBtb2RlID0gXCJhbGlhc2VkTm9kZUlkXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwibnN1XCI6XG4gICAgICAgICAgICAgICAgbW9kZSA9IFwibnN1Tm9kZUlEXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwiYlwiOlxuICAgICAgICAgICAgICAgIG1vZGUgPSBcImJyb3dzZVBhdGhcIjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJhYlwiOlxuICAgICAgICAgICAgICAgIG1vZGUgPSBcImFsaWFzZWRCcm93c2VQYXRoXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1vZGU7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGZyb21Nb2RlKG1vZGUpIHtcbiAgICAgICAgc3dpdGNoIChtb2RlKSB7XG4gICAgICAgICAgICBjYXNlIFwibm9kZUlkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiblwiO1xuICAgICAgICAgICAgY2FzZSBcImFsaWFzZWROb2RlSWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJuYVwiO1xuICAgICAgICAgICAgY2FzZSBcIm5zdU5vZGVJRFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm5zdVwiO1xuICAgICAgICAgICAgY2FzZSBcImJyb3dzZVBhdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJiXCI7XG4gICAgICAgICAgICBjYXNlIFwiYWxpYXNlZEJyb3dzZVBhdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJhYlwiO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJ0XCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgX2NhbGxDaGVja05vZGVJZCA9IChfYSwgbm9kZUlkXzEpID0+IF9fYXdhaXRlcih2b2lkIDAsIFtfYSwgbm9kZUlkXzFdLCB2b2lkIDAsIGZ1bmN0aW9uKiAoeyBlbmRwb2ludE5vZGUsIGVuZHBvaW50LCBiYXNlVXJsIH0sIG5vZGVJZCkge1xuICAgICAgICBjb25zdCByb290ID0gYCR7YmFzZVVybH0vb3BjdWEtZm9yLW5vZGUtcmVkYDtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7cm9vdH0vY2hlY2tOb2RlSWRgO1xuICAgICAgICBjb25zdCBlSWQgPSBlbmRwb2ludE5vZGUuaWQ7XG4gICAgICAgIGNvbnN0IG4gPSBSRUQubm9kZXMubm9kZShlSWQpO1xuICAgICAgICBjb25zb2xlLmxvZyhuLm5hbWVzcGFjZUFsaWFzZXMpO1xuICAgICAgICBuLm5hbWVzcGFjZUFsaWFzZXM7XG4gICAgICAgIGNvbnN0IG5hbWVzcGFjZUFsaWFzZXMgPSBlbmRwb2ludE5vZGUubmFtZXNwYWNlQWxpYXNlcztcbiAgICAgICAgY29uc3QgZGF0YSA9IHlpZWxkIGZldGNoKHVybCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICBlbmRwb2ludE5vZGUsXG4gICAgICAgICAgICAgICAgZW5kcG9pbnQsXG4gICAgICAgICAgICAgICAgbm9kZUlkLFxuICAgICAgICAgICAgICAgIG5hbWVzcGFjZUFsaWFzZXMsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGpzb24gPSAoeWllbGQgZGF0YS5qc29uKCkpO1xuICAgICAgICByZXR1cm4geyBqc29uLCBkYXRhIH07XG4gICAgfSk7XG4gICAgY29uc3QgaW50ZXJuYWxWZXJpZnkgPSAoX2EsIG1vZGVfMSwgJGlucHV0RWxlbWVudF8xLCAkaW5mb18xKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCBbX2EsIG1vZGVfMSwgJGlucHV0RWxlbWVudF8xLCAkaW5mb18xXSwgdm9pZCAwLCBmdW5jdGlvbiogKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCBtb2RlLCAkaW5wdXRFbGVtZW50LCAkaW5mbykge1xuICAgICAgICBjb25zdCBlbmhhbmNlZE5vZGVJZCA9ICRpbnB1dEVsZW1lbnQudmFsKCk7XG4gICAgICAgIGNvbnN0IHsganNvbiwgZGF0YSB9ID0geWllbGQgX2NhbGxDaGVja05vZGVJZCh7IGVuZHBvaW50Tm9kZSwgZW5kcG9pbnQsIGJhc2VVcmwgfSwgZW5oYW5jZWROb2RlSWQpO1xuICAgICAgICBjb25zdCBzZXROb3RpZmljYXRpb24gPSAodGV4dCwgY2xhc3NOYW1lKSA9PiB7XG4gICAgICAgICAgICAkaW5mby50ZXh0KHRleHQpLmFkZENsYXNzKFwic3RlcmZpdmUtaW5mb1wiKS5hZGRDbGFzcyhjbGFzc05hbWUpO1xuICAgICAgICAgICAgJGluZm8uc2hvdygpO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgJGluZm8ucmVtb3ZlQ2xhc3MoY2xhc3NOYW1lKTtcbiAgICAgICAgICAgICAgICAkaW5mby5oaWRlKCk7XG4gICAgICAgICAgICB9LCAzMDAwKTtcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKGRhdGEuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgICAgICAgIC8vIGRvIHNvbWV0aGluZztcbiAgICAgICAgICAgIHNldE5vdGlmaWNhdGlvbihcIiEhZmFpbHVyZSEhXCIgKyBlbmhhbmNlZE5vZGVJZCwgXCJmYWlsdXJlXCIpO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKGpzb24uc3RhdHVzQ29kZS5tYXRjaCgvR29vZC8pKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdG9vbHRpcCA9IG1ha2VUb29sdGlwKGpzb24pO1xuICAgICAgICAgICAgICAgICRpbnB1dEVsZW1lbnQuYXR0cihcInRpdGxlXCIsIHRvb2x0aXApO1xuICAgICAgICAgICAgICAgIC8vIGRvIHNvbWV0aGluZ1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZUlkID0gY2hvb3NlTm9kZUlkKGpzb24sIG1vZGUpO1xuICAgICAgICAgICAgICAgICRpbnB1dEVsZW1lbnQudmFsKHNlbGVjdGVkTm9kZUlkKTtcbiAgICAgICAgICAgICAgICAkaW5wdXRFbGVtZW50LnRyaWdnZXIoXCJjaGFuZ2VcIik7XG4gICAgICAgICAgICAgICAgc2V0Tm90aWZpY2F0aW9uKFwiR29vZFwiLCBcIm9rXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgJGlucHV0RWxlbWVudC52YWwoYCR7ZW5oYW5jZWROb2RlSWR9YCk7XG4gICAgICAgICAgICAgICAgc2V0Tm90aWZpY2F0aW9uKGAke2pzb24uc3RhdHVzQ29kZX0gJHtkYXRhLnN0YXR1c1RleHR9YCwgXCJmYWlsdXJlXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGZ1bmN0aW9uIGZldGNoQ2hpbGRyZW4oJG5vZGUsIGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGVJZCA9ICRub2RlLmRhdGEoXCJ2YWx1ZVwiKTtcbiAgICAgICAgICAgIGNvbnN0IGJyb3dzZVJlc3VsdDEgPSB5aWVsZCBicm93c2UoZGF0YSwgbm9kZUlkLCB0ZW1wbGF0ZTEpO1xuICAgICAgICAgICAgY29uc3QgYnJvd3NlUmVzdWx0MiA9IHlpZWxkIGJyb3dzZShkYXRhLCBub2RlSWQsIHRlbXBsYXRlMik7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZmVyZW5jZXM6IFsuLi5icm93c2VSZXN1bHQxLnJlZmVyZW5jZXMsIC4uLmJyb3dzZVJlc3VsdDIucmVmZXJlbmNlc10sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgdGVtcGxhdGVTVCA9IHtcbiAgICAgICAgcmVmZXJlbmNlVHlwZUlkOiByZXNvbHZlTm9kZUlkKFwiSGFzU3VidHlwZVwiKSxcbiAgICAgICAgaW5jbHVkZVN1YnR5cGVzOiB0cnVlLFxuICAgICAgICBicm93c2VEaXJlY3Rpb246IEJyb3dzZURpcmVjdGlvbi5Gb3J3YXJkLFxuICAgICAgICBub2RlQ2xhc3NNYXNrOiBOb2RlQ2xhc3MuUmVmZXJlbmNlVHlwZSB8IE5vZGVDbGFzcy5PYmplY3RUeXBlIHwgTm9kZUNsYXNzLkRhdGFUeXBlIHwgTm9kZUNsYXNzLlZhcmlhYmxlVHlwZSxcbiAgICAgICAgcmVzdWx0TWFzazogNjMsXG4gICAgfTtcbiAgICBmdW5jdGlvbiBmZXRjaFN1YnR5cGVzKCRub2RlLCBkYXRhKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlSWQgPSAkbm9kZS5kYXRhKFwidmFsdWVcIik7XG4gICAgICAgICAgICBjb25zdCBicm93c2VSZXN1bHQxID0geWllbGQgYnJvd3NlKGRhdGEsIG5vZGVJZCwgdGVtcGxhdGVTVCk7XG4gICAgICAgICAgICByZXR1cm4gYnJvd3NlUmVzdWx0MTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IG1ha2VFbGVtZW50ID0gKHJlZmVyZW5jZSkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYywgX2Q7XG4gICAgICAgIGlmICghcmVmZXJlbmNlIHx8ICFyZWZlcmVuY2Uubm9kZUlkKSB7XG4gICAgICAgICAgICBjb25zdCAkZWxlbWVudCA9ICQoYDxsaT48aSBjbGFzcz1cImZhIGZhLWVycm9yXCIgc3R5bGU9XCJjb2xvcjpyZWQ7XCI+PC9pPm5vIHJlZmVyZW5jZSAhPHVsPjwvdWw+PC9saT5gKTtcbiAgICAgICAgICAgIHJldHVybiAkZWxlbWVudDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuID0gcmVmZXJlbmNlLm5vZGVJZC50b1N0cmluZygpO1xuICAgICAgICBjb25zdCB0ID0gKChfYSA9IHJlZmVyZW5jZS5kaXNwbGF5TmFtZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnRleHQpIHx8ICgoX2IgPSByZWZlcmVuY2UuYnJvd3NlTmFtZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLm5hbWUpIHx8IHJlZmVyZW5jZS5ub2RlSWQudG9TdHJpbmcoKTtcbiAgICAgICAgY29uc3QgeyBpY29uLCBjb2xvciB9ID0gZ2V0SWNvbihyZWZlcmVuY2UpO1xuICAgICAgICBjb25zdCB0aXRsZSA9IGAoJHtyZWZlcmVuY2Uubm9kZUlkLnRvU3RyaW5nKCl9KSAkeygoX2MgPSByZWZlcmVuY2UuYnJvd3NlTmFtZSkgPT09IG51bGwgfHwgX2MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9jLm5hbWUpIHx8ICgoX2QgPSByZWZlcmVuY2UuZGlzcGxheU5hbWUpID09PSBudWxsIHx8IF9kID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZC50ZXh0KSB8fCBcIlwifWA7XG4gICAgICAgIGNvbnN0ICRlbGVtZW50ID0gJChgPGxpIGtleT1cIiR7cmVmZXJlbmNlLm5vZGVJZC50b1N0cmluZygpfVwifT48c3BhbiBjbGFzcz1cInRyZWUtdGV4dFwiIHRpdGxlPSR7dGl0bGV9PjxpIGNsYXNzPVwiZmEgJHtpY29ufVwiIHN0eWxlPVwiY29sb3I6JHtjb2xvcn07XCI+PC9pPiAke3R9PC9zcGFuPjx1bD48L3VsPjwvbGk+YCk7XG4gICAgICAgICRlbGVtZW50LmFkZENsYXNzKFwiZXhwYW5kYWJsZVwiKTtcbiAgICAgICAgJGVsZW1lbnQuZGF0YShcInZhbHVlXCIsIG4pO1xuICAgICAgICAkZWxlbWVudC5kYXRhKFwicmVmZXJlbmNlXCIsIHJlZmVyZW5jZSk7XG4gICAgICAgIHJldHVybiAkZWxlbWVudDtcbiAgICB9O1xuICAgIGNvbnN0IGZpbmRFbGVtZW50ID0gKG5vZGVJZCwgJHRyZWUpID0+IHtcbiAgICAgICAgcmV0dXJuICR0cmVlLmZpbmQoYGxpW2tleT1cIiR7bm9kZUlkfVwiXWApO1xuICAgIH07XG4gICAgY29uc3Qgc2VsZWN0U2luZ2xlID0gKHRoYXQsICRsaSkgPT4ge1xuICAgICAgICB0aGF0LiR0cmVlLmZpbmQoXCJsaSA+IC50cmVlLXRleHRcIikucmVtb3ZlQ2xhc3MoXCJzZWxlY3RlZFwiKTtcbiAgICAgICAgLy8gY2xlYXIgYWxsIHNlbGVjdGVkIGl0ZW1zXG4gICAgICAgICRsaS5maW5kKFwiLnRyZWUtdGV4dDpmaXJzdFwiKS5hZGRDbGFzcyhcInNlbGVjdGVkXCIpO1xuICAgIH07XG4gICAgY29uc3QgYXV0b0V4cGFuZCA9ICh0aGF0LCBicm93c2VQYXRoLCAkdHJlZSkgPT4gX19hd2FpdGVyKHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIC8vIGV4cGFuZCB0aGUgdHJlZSB0byBzaG93IHRoZSBub2RlSWRcbiAgICAgICAgbGV0ICRjdXJyZW50ID0gJHRyZWUuY2hpbGRyZW4oXCI6Zmlyc3RcIik7XG4gICAgICAgIGJyb3dzZVBhdGgucmVsYXRpdmVQYXRoLmVsZW1lbnRzIHx8IFtdO1xuICAgICAgICBjb25zdCBub2RlSWRzID0gYnJvd3NlUGF0aC5ub2RlSWRzIHx8IFtdO1xuICAgICAgICBpZiAobm9kZUlkcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IG4gb2Ygbm9kZUlkcykge1xuICAgICAgICAgICAgaWYgKCRjdXJyZW50Lmhhc0NsYXNzKFwiZXhwYW5kYWJsZVwiKSkge1xuICAgICAgICAgICAgICAgIC8vIG5lZWQgdG8gZXhwYW5kIGFuZCBzZWxlY3QgdGhlIHJpZ2h0IGVsZW1lbnRcbiAgICAgICAgICAgICAgICB5aWVsZCBfZXhwYW5kTGkodGhhdCwgJGN1cnJlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgJGVsZW1lbnQgPSBmaW5kRWxlbWVudChuLCAkY3VycmVudCk7XG4gICAgICAgICAgICBpZiAoJGVsZW1lbnQubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJGN1cnJlbnQgPSAkZWxlbWVudDtcbiAgICAgICAgfVxuICAgICAgICBzZWxlY3RTaW5nbGUodGhhdCwgJGN1cnJlbnQpO1xuICAgICAgICBzY3JvbGxUb0xpKHRoYXQuJGRyb3Bkb3duLCAkY3VycmVudCk7XG4gICAgfSk7XG4gICAgZnVuY3Rpb24gc2Nyb2xsVG9MaSgkY29udGFpbmVyLCAkdGFyZ2V0TGkpIHtcbiAgICAgICAgLy8gR2V0IHRoZSBwb3NpdGlvbiBvZiB0aGUgdGFyZ2V0IGl0ZW0gcmVsYXRpdmUgdG8gaXRzIGNvbnRhaW5lclxuICAgICAgICBjb25zdCBsaVBvcyA9ICR0YXJnZXRMaS5wb3NpdGlvbigpLnRvcDtcbiAgICAgICAgLy8gR2V0IHRoZSBjdXJyZW50IHNjcm9sbCBwb3NpdGlvbiBvZiB0aGUgY29udGFpbmVyXG4gICAgICAgIGNvbnN0IGNvbnRhaW5lclNjcm9sbFRvcCA9ICRjb250YWluZXIuc2Nyb2xsVG9wKCk7XG4gICAgICAgIGlmIChjb250YWluZXJTY3JvbGxUb3AgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBwb3NpdGlvbiB0byBzY3JvbGwgdG8gKGN1cnJlbnQgc2Nyb2xsICsgaXRlbSdzIHBvc2l0aW9uKVxuICAgICAgICAvLyBBZGp1c3QgdGhpcyBjYWxjdWxhdGlvbiBiYXNlZCBvbiB5b3VyIG5lZWRzXG4gICAgICAgIGNvbnN0IHNjcm9sbFRvID0gY29udGFpbmVyU2Nyb2xsVG9wICsgbGlQb3MgLSAkY29udGFpbmVyLmhlaWdodCgpIC8gMiArICR0YXJnZXRMaS5oZWlnaHQoKSAvIDI7XG4gICAgICAgIC8vIFNjcm9sbCB0aGUgY29udGFpbmVyIHRvIGVuc3VyZSB0aGUgaXRlbSBpcyB2aXNpYmxlXG4gICAgICAgICRjb250YWluZXIuYW5pbWF0ZSh7XG4gICAgICAgICAgICBzY3JvbGxUb3A6IHNjcm9sbFRvLFxuICAgICAgICB9LCA1MDApOyAvLyBBZGp1c3QgdGhlIGR1cmF0aW9uICg1MDBtcykgYXMgbmVlZGVkXG4gICAgfVxuICAgIGNvbnN0IHJlYWNoU2VsZWN0aW9uID0gKHRoYXQsIHBhcmVudE5vZGUpID0+IF9fYXdhaXRlcih2b2lkIDAsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICBjb25zdCBub2RlSWQgPSB0aGF0LiRpbnB1dC52YWwoKTtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgICAgIG5vZGVJZCxcbiAgICAgICAgICAgIHJvb3ROb2RlSWQ6IHBhcmVudE5vZGUubm9kZUlkLFxuICAgICAgICAgICAgaXNUeXBlOiB0aGF0Lm9wdGlvbnMuaXNUeXBlUmVmIHx8IGZhbHNlLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBkYXRhID0gbWFrZUNvbm5lY3Rpb24odGhhdCk7XG4gICAgICAgIGNvbnN0IGJyb3dzZVBhdGggPSB5aWVsZCB3YWxrQmFja3dhcmQoZGF0YSwgb3B0aW9ucyk7XG4gICAgICAgIGlmICghYnJvd3NlUGF0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHlpZWxkIGF1dG9FeHBhbmQodGhhdCwgYnJvd3NlUGF0aCwgdGhhdC4kdHJlZSk7XG4gICAgfSk7XG4gICAgZnVuY3Rpb24gX2ZldGNoRGF0YUZvck5vZGUodGhhdCwgJG5vZGUsIGZldGNoRnVuYywgZGF0YSkge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgaWYgKCRub2RlLmhhc0NsYXNzKFwiZmV0Y2hlZFwiKSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiYWxyZWFkeSBmZXRjaGVkXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICgkbm9kZS5oYXNDbGFzcyhcImxvYWRpbmdcIikpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImFscmVhZHkgbG9hZGluZ1wiKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkbm9kZS5hZGRDbGFzcyhcImxvYWRpbmdcIik7XG4gICAgICAgICAgICAkbm9kZS5hcHBlbmQoJzxkaXYgY2xhc3M9XCJzcGlubmVyXCI+PC9kaXY+Jyk7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICRub2RlLmNoaWxkcmVuKFwidWxcIikuZW1wdHkoKTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHJlZmVyZW5jZXMgfSA9IHlpZWxkIGZldGNoRnVuYygkbm9kZSwgZGF0YSk7XG4gICAgICAgICAgICAgICAgLy8gc29ydCByZWZlcmVuY2UgICBieSBicm93c2VOYW1lXG4gICAgICAgICAgICAgICAgcmVmZXJlbmNlcy5zb3J0KChhLCBiKSA9PiB7IHZhciBfYSwgX2I7IHJldHVybiAoKChfYSA9IGEuYnJvd3NlTmFtZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLm5hbWUpIHx8IFwiXCIpLmxvY2FsZUNvbXBhcmUoKChfYiA9IGIuYnJvd3NlTmFtZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLm5hbWUpIHx8IFwiXCIpOyB9KTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHJlZmVyZW5jZSBvZiByZWZlcmVuY2VzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGF0Lm9wdGlvbnMuZmlsdGVyICYmICF0aGF0Lm9wdGlvbnMuZmlsdGVyKHJlZmVyZW5jZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0ICRlbGVtZW50ID0gbWFrZUVsZW1lbnQocmVmZXJlbmNlKTtcbiAgICAgICAgICAgICAgICAgICAgJG5vZGUuY2hpbGRyZW4oXCJ1bFwiKS5hcHBlbmQoJGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAkbm9kZS5hZGRDbGFzcyhcImZldGNoZWRcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgJG5vZGUuY2hpbGRyZW4oXCJ1bFwiKS5hcHBlbmQoYDxsaT5lcnJvciAke2Vyci5tZXNzYWdlfTwvbGk+YCk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJlcnJcIiwgZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICRub2RlLmZpbmQoXCIuc3Bpbm5lclwiKS5yZW1vdmUoKTtcbiAgICAgICAgICAgICRub2RlLnJlbW92ZUNsYXNzKFwibG9hZGluZ1wiKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIG1ha2VDb25uZWN0aW9uKHRoYXQpIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgICAgIGJhc2VVcmw6IHRoYXQub3B0aW9ucy5iYXNlVXJsLFxuICAgICAgICAgICAgZW5kcG9pbnROb2RlOiB0eXBlb2YgdGhhdC5vcHRpb25zLmVuZHBvaW50Tm9kZSA9PT0gXCJmdW5jdGlvblwiID8gdGhhdC5vcHRpb25zLmVuZHBvaW50Tm9kZSgpIDogdGhhdC5vcHRpb25zLmVuZHBvaW50Tm9kZSxcbiAgICAgICAgICAgIGVuZHBvaW50OiB0eXBlb2YgdGhhdC5vcHRpb25zLmVuZHBvaW50ID09PSBcImZ1bmN0aW9uXCIgPyB0aGF0Lm9wdGlvbnMuZW5kcG9pbnQoKSA6IHRoYXQub3B0aW9ucy5lbmRwb2ludCxcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuICAgIGZ1bmN0aW9uIF9leHBhbmRMaSh0aGF0LCAkbGkpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGlmICgkbGkuaGFzQ2xhc3MoXCJmZXRjaGVkXCIpKSB7XG4gICAgICAgICAgICAgICAgJGxpLnJlbW92ZUNsYXNzKFwiZXhwYW5kYWJsZVwiKS5hZGRDbGFzcyhcImV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgICAgICRsaS5jaGlsZHJlbihcInVsXCIpLnRvZ2dsZSgpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEZldGNoIG5ldyBkYXRhIGZvciB0aGlzIG5vZGVcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBtYWtlQ29ubmVjdGlvbih0aGF0KTtcbiAgICAgICAgICAgIGNvbnN0IGYgPSAhdGhhdC5vcHRpb25zLmlzVHlwZVJlZiA/IGZldGNoQ2hpbGRyZW4gOiBmZXRjaFN1YnR5cGVzO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICB5aWVsZCBfZmV0Y2hEYXRhRm9yTm9kZSh0aGF0LCAkbGksIGYsIGRhdGEpO1xuICAgICAgICAgICAgICAgIC8vIG1hcmsgYXMgZXhwYW5kZWRcbiAgICAgICAgICAgICAgICAkbGkucmVtb3ZlQ2xhc3MoXCJleHBhbmRhYmxlXCIpLmFkZENsYXNzKFwiZXhwYW5kZWRcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgJGxpLnJlbW92ZUNsYXNzKFwiZXhwYW5kYWJsZVwiKS5hZGRDbGFzcyhcImV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZXJyb3JcIiwgZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IGRlZmF1bHRQYXJlbnROb2RlID0ge1xuICAgICAgICBicm93c2VOYW1lOiB7IG5hbWVzcGFjZUluZGV4OiAwLCBuYW1lOiBcIk9iamVjdHNcIiB9LFxuICAgICAgICBub2RlQ2xhc3M6IFwiT2JqZWN0XCIsXG4gICAgICAgIG5vZGVJZDogXCJucz0wO2k9ODVcIixcbiAgICAgICAgZGlzcGxheU5hbWU6IHsgdGV4dDogXCJPYmplY3RzXCIgfSxcbiAgICAgICAgdHlwZURlZmluaXRpb246IEZvbGRlclR5cGUsXG4gICAgfTtcbiAgICBjb25zdCBkZWNsYXJlTm9kZUJyb3dzZXJXaWRnZXQgPSAoKSA9PiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBbIFRlbXBlcmF0dXJlICBdXG4gICAgICAgICAqICAgKCB0b29sdGlwIDogKC9PYmplY3RzL015U2Vuc29yKSAobnM9MTtzPVRlbXBlcmF0dXJlKSlcbiAgICAgICAgICogWyArIFtGb2xkZXJdIE9iamVjdHNdXG4gICAgICAgICAqIFsgICAgIFtPYmplY3RdIE15U2Vuc29yXVxuICAgICAgICAgKiBbICAgICAoICkgW1ZhcmlhYmxlXSBUZW1wZXJhdHVyZV1cbiAgICAgICAgICovXG4gICAgICAgICQud2lkZ2V0KFwic3RlcmZpdmUubm9kZUJyb3dzZXJcIiwge1xuICAgICAgICAgICAgLyogZGVmYXVsdCBvcHRpb25zICovXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlOiAoKSA9PiAoeyBlbmRwb2ludDogXCJvcGMudGNwOi8vb3BjdWFkZW1vLnN0ZXJmaXZlLmNvbToyNjU0M1wiIH0pLFxuICAgICAgICAgICAgICAgIGVuZHBvaW50OiAoKSA9PiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgcGFyZW50Tm9kZTogKCkgPT4gZGVmYXVsdFBhcmVudE5vZGUsXG4gICAgICAgICAgICAgICAgZmlsdGVyOiAoKSA9PiB0cnVlLFxuICAgICAgICAgICAgICAgIGJhc2VVcmw6IFwiXCIsXG4gICAgICAgICAgICAgICAgaXNUeXBlUmVmOiBmYWxzZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZXNvbHZlUGFyZW50Tm9kZSgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoYXQuX19wYXJlbnROb2RlID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYSA9IHR5cGVvZiB0aGF0Lm9wdGlvbnMucGFyZW50Tm9kZSA9PT0gXCJmdW5jdGlvblwiID8gdGhhdC5vcHRpb25zLnBhcmVudE5vZGUuY2FsbCh0aGF0KSA6IHRoYXQub3B0aW9ucy5wYXJlbnROb2RlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGEgaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVzYyA9IHlpZWxkIGE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fX3BhcmVudE5vZGUgPSBkZXNjO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fX3BhcmVudE5vZGUgPSBhO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGF0Ll9fcGFyZW50Tm9kZSB8fCBkZWZhdWx0UGFyZW50Tm9kZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZXNldCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICAgICAgLy8gYWxzbyByZXNldCBwYXJlbnQgbm9kZVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhID0gdGhhdDtcbiAgICAgICAgICAgICAgICAgICAgYS5fX3BhcmVudE5vZGUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUuZW1wdHkoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyZW50Tm9kZSA9IHlpZWxkIHRoaXMucmVzb2x2ZVBhcmVudE5vZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgJGVsZW1lbnQgPSBtYWtlRWxlbWVudChwYXJlbnROb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kdHJlZS5hcHBlbmQoJGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LmN1cnJlbnRQYXJlbnQgPSBwYXJlbnROb2RlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHZlcmlmeShtb2RlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgLy8gRmV0Y2ggbmV3IGRhdGEgZm9yIHRoaXMgbm9kZVxuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBtYWtlQ29ubmVjdGlvbih0aGF0KTtcbiAgICAgICAgICAgICAgICBpbnRlcm5hbFZlcmlmeShkYXRhLCBtb2RlLCB0aGF0LiRpbnB1dCwgdGhhdC4kaW5mbykudGhlbigoc3VjY2VzcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLmFkZENsYXNzKFwic3RlcmZpdmUtaW5wdXQtZXJyb3JcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5yZW1vdmVDbGFzcyhcInN0ZXJmaXZlLWlucHV0LWVycm9yXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX2hpZGVNZW51KG1lbnUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vZmYoXCJtb3VzZWRvd24ucmVkLXVpLXR5cGVkSW5wdXQtY2xvc2UtcHJvcGVydHktc2VsZWN0XCIpO1xuICAgICAgICAgICAgICAgIG1lbnUuaGlkZSgpO1xuICAgICAgICAgICAgICAgIG1lbnUuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBcImF1dG9cIixcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAobWVudS5vcHRzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBzZWxlY3RlZCA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBtZW51LmZpbmQoJ2lucHV0W3R5cGU9XCJjaGVja2JveFwiXScpLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykucHJvcChcImNoZWNrZWRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZC5wdXNoKCQodGhpcykuZGF0YShcInZhbHVlXCIpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIG1lbnUuY2FsbGJhY2soc2VsZWN0ZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhhdC4kZWxlbWVudERpdi5pcyhcIjp2aXNpYmxlXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgLy94eCB9IGVsc2UgaWYgKHRoaXMuJG9wdGlvblNlbGVjdFRyaWdnZXIuaXMoXCI6dmlzaWJsZVwiKSkge1xuICAgICAgICAgICAgICAgICAgICAvL3h4ICAgICB0aGF0LiRvcHRpb25TZWxlY3RUcmlnZ2VyLnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXIudHJpZ2dlcihcImZvY3VzXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfY3JlYXRlTWVudShtZW51T3B0aW9ucywgb3B0cywgY2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICB2YXIgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgY29uc3QgbWVudSA9ICQoXCI8ZGl2PlwiKS5hZGRDbGFzcyhcInN0ZXJmaXZlLXR5cGVkSW5wdXQtb3B0aW9ucyBzdGVyZml2ZS1vbmxpbmUtbWVudVwiKTtcbiAgICAgICAgICAgICAgICBtZW51Lm9wdHMgPSBvcHRzO1xuICAgICAgICAgICAgICAgIG1lbnUuY2FsbGJhY2sgPSBjYWxsYmFjaztcbiAgICAgICAgICAgICAgICBtZW51T3B0aW9ucy5mb3JFYWNoKChvcHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHQgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdCA9IHsgdmFsdWU6IG9wdCwgbGFiZWw6IG9wdCB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHZhciBvcCA9ICQoJzxhIGhyZWY9XCIjXCI+PC9hPicpLmF0dHIoXCJ2YWx1ZVwiLCBvcHQudmFsdWUpLmFwcGVuZFRvKG1lbnUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAob3B0LmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcC50ZXh0KG9wdC5sYWJlbCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdC50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3AucHJvcChcInRpdGxlXCIsIG9wdC50aXRsZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdC5pY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0Lmljb24uaW5kZXhPZihcIjxcIikgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKG9wdC5pY29uKS5wcmVwZW5kVG8ob3ApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAob3B0Lmljb24uaW5kZXhPZihcIi9cIikgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIjxpPlwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzOiBcInJlZC11aS10eXBlZElucHV0LWljb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IFwibWFzay1pbWFnZTogdXJsKFwiICsgb3B0Lmljb24gKyBcIik7IC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiICsgb3B0Lmljb24gKyBcIik7XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkucHJlcGVuZFRvKG9wKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCI8aT5cIiwgeyBjbGFzczogXCJyZWQtdWktdHlwZWRJbnB1dC1pY29uIFwiICsgb3B0Lmljb24gfSkucHJlcGVuZFRvKG9wKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wLmNzcyh7IHBhZGRpbmdMZWZ0OiBcIjE4cHhcIiB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdC5pY29uICYmICFvcHQubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wLnRleHQob3B0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB2YXIgY2I7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHRzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYiA9ICQoJzxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIj4nKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jc3MoXCJwb2ludGVyLWV2ZW50c1wiLCBcIm5vbmVcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZGF0YShcInZhbHVlXCIsIG9wdC52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJlcGVuZFRvKG9wKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5vbihcIm1vdXNlZG93blwiLCBmdW5jdGlvbiAoZXZ0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBvcC5vbihcImNsaWNrXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2sob3B0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9oaWRlTWVudShtZW51KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNiLnByb3AoXCJjaGVja2VkXCIsICFjYi5wcm9wKFwiY2hlY2tlZFwiKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIG1lbnUuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgbWVudS5vbihcImtleWRvd25cIiwgZnVuY3Rpb24gKGV2dCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXZ0LmtleUNvZGUgPT09IDQwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIERPV05cbiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuY2hpbGRyZW4oXCI6Zm9jdXNcIikubmV4dCgpLnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChldnQua2V5Q29kZSA9PT0gMzgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVVBcbiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuY2hpbGRyZW4oXCI6Zm9jdXNcIikucHJldigpLnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChldnQua2V5Q29kZSA9PT0gMjcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEVTQ0FQRVxuICAgICAgICAgICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9oaWRlTWVudShtZW51KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1lbnU7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGlzYXJtQ2xpY2s6IGZhbHNlLFxuICAgICAgICAgICAgX3Nob3dNZW51KG1lbnUsIHJlbGF0aXZlVG8pIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kaXNhcm1DbGljaykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc2FybUNsaWNrID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdmFyIHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHZhciBwb3MgPSByZWxhdGl2ZVRvLm9mZnNldCgpO1xuICAgICAgICAgICAgICAgIHZhciBoZWlnaHQgPSByZWxhdGl2ZVRvLmhlaWdodCgpO1xuICAgICAgICAgICAgICAgIHZhciBtZW51SGVpZ2h0ID0gbWVudS5oZWlnaHQoKTtcbiAgICAgICAgICAgICAgICB2YXIgdG9wID0gaGVpZ2h0ICsgcG9zLnRvcDtcbiAgICAgICAgICAgICAgICBpZiAodG9wICsgbWVudUhlaWdodCAtICQoZG9jdW1lbnQpLnNjcm9sbFRvcCgpID4gJCh3aW5kb3cpLmhlaWdodCgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcCAtPSB0b3AgKyBtZW51SGVpZ2h0IC0gJCh3aW5kb3cpLmhlaWdodCgpICsgNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRvcCA8IDApIHtcbiAgICAgICAgICAgICAgICAgICAgbWVudS5oZWlnaHQobWVudUhlaWdodCArIHRvcCk7XG4gICAgICAgICAgICAgICAgICAgIHRvcCA9IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG1lbnUuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiB0b3AgKyBcInB4XCIsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IHBvcy5sZWZ0ICsgXCJweFwiLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIG1lbnUuc2xpZGVEb3duKDEwMCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGVsYXkoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiR1aVNlbGVjdC5hZGRDbGFzcyhcInJlZC11aS10eXBlZElucHV0LWZvY3VzXCIpO1xuICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vbihcIm1vdXNlZG93bi5yZWQtdWktdHlwZWRJbnB1dC1jbG9zZS1wcm9wZXJ0eS1zZWxlY3RcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoISQoZXZlbnQudGFyZ2V0KS5jbG9zZXN0KG1lbnUpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX2hpZGVNZW51KG1lbnUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQoZXZlbnQudGFyZ2V0KS5jbG9zZXN0KHJlbGF0aXZlVG8pLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuZGlzYXJtQ2xpY2sgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF9zaG93VHlwZU1lbnUoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2hvd01lbnUodGhhdC4kbWVudSwgdGhhdC4kY29tYm8pO1xuICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgICAgICAgICBjb25zdCB0eXBlID0gdGhhdC5zZWxlY3RlZE1lbnVJdGVtO1xuICAgICAgICAgICAgICAgIHZhciBzZWxlY3RlZCA9IHRoYXQuJG1lbnUuZmluZChcIlt2YWx1ZT0nXCIgKyB0eXBlICsgXCInXCIpO1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZC50cmlnZ2VyKFwiZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgfSwgMTIwKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfaW5pdE1lbnUoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0VHJpZ2dlci5hdHRyKFwidGFiaW5kZXhcIiwgLTEpO1xuICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXIub24oXCJtb3VzZWRvd24ucmVkLXVpLXR5cGVkSW5wdXQtZm9jdXMtYmxvY2tcIiwgZnVuY3Rpb24gKGV2dCkge1xuICAgICAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAodGhhdC4kbWVudSkge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRtZW51LnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBmYS1pZC1jYXJkXG4gICAgICAgICAgICAgICAgY29uc3QgdHlwZUxpc3QgPSBbXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6IFwidGV4dFwiLCB2YWx1ZTogXCJ0XCIsIHRpdGxlOiBcIlZhbHVlIGlzIG5vdCB2ZXJpZmllZFwiLCBpY29uOiAnPGkgY2xhc3M9XCJmYSBmYS1mb250XCIvaT4gJyB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCJtc2cuXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCJtc2dcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIm5vZGUgaWQgb3IgIGJyb3dzZSBwYXRoIGNvbWVzIGZyb20gaW5qZWN0ZWQgbXNnIHBhcmFtZXRlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtZW52ZWxvcGUtb3Blbi1vXCIvPicsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6IFwiTm9kZUlkXCIsIHZhbHVlOiBcIm5cIiwgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtdGFnXCIvPjEgJm5ic3A7ICcgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogXCJBbGlhc2VkIE5vZGVJZFwiLCB2YWx1ZTogXCJuYVwiLCBpY29uOiAnPGkgY2xhc3M9XCJmYSBmYS1ib29rbWFya1wiLz4mbmJzcDsgJyB9LFxuICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiBcIk5vZGVJZCB3aXRoIG5hbWVzcGFjZSBVcm5cIiwgdmFsdWU6IFwibnN1XCIsIGljb246ICc8aSBjbGFzcz1cImZhIGZhLWlkLWNhcmRcIi8+Jm5ic3A7ICcgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogXCJCcm93c2VQYXRoXCIsIHZhbHVlOiBcImJcIiwgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtdGFnXCIvPjxpIGNsYXNzPVwiZmEgZmEtZmlnaHRlci1qZXRcIi8+Jm5ic3A7JyB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCJBbGlhc2VkIEJyb3dzZSBQYXRoXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCJhYlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtYm9va21hcmtcIi8+PGkgY2xhc3M9XCJmYSBmYS1maWdodGVyLWpldFwiLz4mbmJzcDsnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgY29uc3QgYSA9IGZpZ3VyZU91dE1lblVJdGVtVmFsdWUodGhhdC4kaW5wdXQudmFsKCkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGUgPSB0eXBlTGlzdC5maW5kKCh4KSA9PiB4LnZhbHVlID09PSBhKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RMYWJlbC5lbXB0eSgpLmFwcGVuZChgPHNwYW4gdGl0bGU9JHsoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRpdGxlKSB8fCBcIlwifT4mbmJzcDsgJHsoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLmljb24pIHx8IFwiXCJ9PC9zcGFuPmApO1xuICAgICAgICAgICAgICAgIHRoYXQuc2VsZWN0ZWRNZW51SXRlbSA9IGE7XG4gICAgICAgICAgICAgICAgY29uc3QgdHQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHRoYXQuJG1lbnUgPSB0aGlzLl9jcmVhdGVNZW51KHR5cGVMaXN0LCB7fSwgKHYpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbW9kZSA9IHRvTW9kZSh2KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG1vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9uIE1lbnUgc2VsZWN0ZWQgIVxuICAgICAgICAgICAgICAgICAgICAgICAgdHQudmVyaWZ5KG1vZGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGUgPSB0eXBlTGlzdC5maW5kKCh4KSA9PiB4LnZhbHVlID09PSB2KTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC5zZWxlY3RlZE1lbnVJdGVtID0gdjtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0TGFiZWwuZW1wdHkoKS5hcHBlbmQoYDxzcGFuIHRpdGxlPSR7KGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS50aXRsZSkgfHwgXCJcIn0+Jm5ic3A7ICR7KGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS5pY29uKSB8fCBcIlwifTwvc3Bhbj5gKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGF0LiRtZW51LmFwcGVuZFRvKGRvY3VtZW50LmJvZHkpO1xuICAgICAgICAgICAgICAgIHRoYXQuJG1lbnUuaGlkZSgpO1xuICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXIuc2hvdygpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG1vZGUoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRvTW9kZSh0aGF0LnNlbGVjdGVkTWVudUl0ZW0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNldE1vZGUobW9kZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIGNvbnN0IHMgPSBmcm9tTW9kZShtb2RlKTtcbiAgICAgICAgICAgICAgICB0aGF0LnNlbGVjdGVkTWVudUl0ZW0gPSBzO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF9jcmVhdGUoKSB7XG4gICAgICAgICAgICAgICAgLy8gZGVidWdnZXI7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQgPSB0aGlzLmVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuY3NzKFwiYm9yZGVyXCIsIFwibm9uZVwiKTtcbiAgICAgICAgICAgICAgICAvLyB0aGF0LiRpbnB1dC5hZGRDbGFzcyhcInJlZC11aS10eXBlZElucHV0XCIpO1xuICAgICAgICAgICAgICAgIHRoYXQuJGVsZW1lbnREaXYgPSB0aGF0LiRpbnB1dC53cmFwKFwiPGRpdj5cIikucGFyZW50KCkuYWRkQ2xhc3MoXCJtYWluLXdyYXBwZXJcIik7XG4gICAgICAgICAgICAgICAgLy8gI3JlZ2lvbiBDb21ibyBicm93c2VyXG4gICAgICAgICAgICAgICAgdGhhdC4kY29tYm8gPSAkKFwiPGRpdi8+XCIpO1xuICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLmFkZENsYXNzKFwic3RlcmZpdmUtY29tYm8tYm94XCIpO1xuICAgICAgICAgICAgICAgIC8vIHRoYXQuJGNvbWJvLmFkZENsYXNzKFwicmVkLXVpLXR5cGVkSW5wdXQtaW5wdXQtd3JhcFwiKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5yZXBsYWNlV2l0aCh0aGF0LiRjb21ibyk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXRHcm91cCA9ICQoXCI8ZGl2Lz5cIikuYWRkQ2xhc3MoXCJzdGVyZml2ZS1pbnB1dC1ncm91cFwiKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5hcHBlbmQodGhhdC4kaW5wdXRHcm91cCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXRHcm91cC5hcHBlbmQodGhhdC4kaW5wdXQpO1xuICAgICAgICAgICAgICAgIC8vICNlbmRyZWdpb25cbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIGFkZCBidXR0b24gb24gdGhlIHJpZ2h0IHNpZGVcbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIHRvZ2dsZVRyZWVCdG5cbiAgICAgICAgICAgICAgICB0aGF0LiR0b2dnbGVUcmVlQnRuID0gJChgPGJ1dHRvbiB0aXRsZT1cIm9wZW4gT1BDVUEgQWRkcmVzc1NwYWNlIEJyb3dzZXJcIj48aSBjbGFzcz1cImZhIGZhLXNpdGVtYXBcIj48L2k+PC9idXR0b24+YCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuYWZ0ZXIodGhhdC4kdG9nZ2xlVHJlZUJ0bik7XG4gICAgICAgICAgICAgICAgdGhhdC4kdG9nZ2xlVHJlZUJ0bi5vbihcImNsaWNrXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBuZWVkVG9SZWFjaFNlbGVjdGlvbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHBhcmVudE5vZGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoYXQuJGRyb3Bkb3duLmlzKFwiOnZpc2libGVcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbmZvLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0cmVlIHdpZGdldCBpcyBnb2luZyB0byBiZWNvbWUgdmlzaWJsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudE5vZGUgPSB5aWVsZCB0aGF0LnJlc29sdmVQYXJlbnROb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBhcmVudE5vZGUgIT09IHRoYXQuY3VycmVudFBhcmVudCB8fCAoKF9hID0gdGhhdC5jdXJyZW50UGFyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Eubm9kZUlkKSAhPT0gcGFyZW50Tm9kZS5ub2RlSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWllbGQgdGhhdC5yZXNldCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZWVkVG9SZWFjaFNlbGVjdGlvbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi50b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRUb1JlYWNoU2VsZWN0aW9uICYmICh5aWVsZCByZWFjaFNlbGVjdGlvbih0aGF0LCBwYXJlbnROb2RlKSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIC8vICNlbmRyZWdpb25cbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIHZlcmlmeUJ0blxuICAgICAgICAgICAgICAgIHRoYXQuJHZlcmlmeUJ0biA9ICQoYDxidXR0b24gdGl0bGU9XCJ2ZXJpZnkgbm9kZUlkIG9yIGJyb3dzZVBhdGhcIj48aSBjbGFzcz1cImZhIGZhLXJlZnJlc2hcIj48L2k+PC9idXR0b24+YCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuYWZ0ZXIodGhhdC4kdmVyaWZ5QnRuKTtcbiAgICAgICAgICAgICAgICB0aGF0LiR2ZXJpZnlCdG4ub24oXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1vZGUgPSB0aGF0Lm1vZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFtb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy52ZXJpZnkobW9kZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgLy8gI2VuZHJlZ2lvblxuICAgICAgICAgICAgICAgIC8vICNlbmRyZWdpb25cbiAgICAgICAgICAgICAgICBjb25zdCBub3JtYWxpemVJbnB1dCA9IChpbnB1dCkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1vZGUgPSB0aGF0Lm1vZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFtb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gRmV0Y2ggbmV3IGRhdGEgZm9yIHRoaXMgbm9kZVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb25uZWN0aW9uRGF0YSA9IG1ha2VDb25uZWN0aW9uKHRoYXQpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGRhdGEsIGpzb24gfSA9IHlpZWxkIF9jYWxsQ2hlY2tOb2RlSWQoY29ubmVjdGlvbkRhdGEsIGlucHV0KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoanNvbi5zdGF0dXNDb2RlLm1hdGNoKC9Hb29kLykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZUlkID0gY2hvb3NlTm9kZUlkKGpzb24sIG1vZGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQudmFsKHNlbGVjdGVkTm9kZUlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LnRyaWdnZXIoXCJjaGFuZ2VcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICAgICAvLyBjcmVhdGUgdGhlIHByZXBlbmRlZCBidXR0b25cbiAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHVpU2VsZWN0ID0gJChcIjxkaXY+XCIpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5iZWZvcmUodGhhdC4kdWlTZWxlY3QpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyID0gJCgnPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgdGFiaW5kZXg9XCIwXCI+PC9idXR0b24+JykucHJlcGVuZFRvKHRoYXQuJHVpU2VsZWN0KTtcbiAgICAgICAgICAgICAgICAgICAgJCgnPGkgY2xhc3M9XCJyZWQtdWktdHlwZWRJbnB1dC1pY29uIGZhIGZhLWNhcmV0LWRvd25cIj48L2k+JykudG9nZ2xlKHRydWUpLmFwcGVuZFRvKHRoYXQuJHNlbGVjdFRyaWdnZXIpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9zaG93VHlwZU1lbnUoKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5vbihcImtleWRvd25cIiwgZnVuY3Rpb24gKGV2dCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGV2dC5rZXlDb2RlID09PSA0MCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIERvd25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9zaG93VHlwZU1lbnUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5vbihcImZvY3VzXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJHVpU2VsZWN0LmFkZENsYXNzKFwicmVkLXVpLXR5cGVkSW5wdXQtZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAub24oXCJibHVyXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHZhciBvcHQgPSB0aGF0LnR5cGVNYXBbdGhhdC5wcm9wZXJ0eVR5cGVdO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWYgKG9wdC5oYXNWYWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJHVpU2VsZWN0LnJlbW92ZUNsYXNzKFwicmVkLXVpLXR5cGVkSW5wdXQtZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RMYWJlbCA9ICQoJzxzcGFuIGNsYXNzPVwicmVkLXVpLXR5cGVkSW5wdXQtdHlwZS1sYWJlbFwiPjwvc3Bhbj4nKS5hcHBlbmRUbyh0aGF0LiRzZWxlY3RUcmlnZ2VyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5faW5pdE1lbnUoKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoYXQuJGlucHV0LmF0dHIoXCJwbGFjZWhvbGRlclwiKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5hdHRyKFwicGxhY2Vob2xkZXJcIiwgXCJlbnRlciBhIG5vZGVJZCBvciBhIGJyb3dzZVBhdGggXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIHRlbXBvcmF0eSBpbmZvIHBhbmVsXG4gICAgICAgICAgICAgICAgdGhhdC4kaW5mbyA9ICQoYDxkaXYgY2xhc3M9XCJzdGVyZml2ZS1pbmZvLXRleHRcIj48L2Rpdj5gKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbmZvLmhpZGUoKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5hcHBlbmQodGhhdC4kaW5mbyk7XG4gICAgICAgICAgICAgICAgLy8gI2VuZHJlZ2lvblxuICAgICAgICAgICAgICAgIC8vICNyZWdpb24gZHJvcCBkb3duIHRyZWVcbiAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93biA9ICQoXCI8ZGl2Lz5cIikuYWRkQ2xhc3MoXCJzdGVyZml2ZS1kcm9wZG93blwiKS5oaWRlKCkuYXBwZW5kVG8odGhhdC4kY29tYm8pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUgPSAkKGA8dWwgY2xhc3M9XCJzdGVyZml2ZS10cmVlXCI+PC91bD5gKS5hcHBlbmRUbyh0aGF0LiRkcm9wZG93bik7XG4gICAgICAgICAgICAgICAgLy8gdGhhdC4kZHJvcGRvd24uc2hvdygpO1xuICAgICAgICAgICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgICAgICAgICAgICAvLyAjZW5kcmVnaW9uXG4gICAgICAgICAgICAgICAgY29uc3QgaXNPbkxlZnRTaXplID0gKCRsaSwgZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmVmb3JlV2lkdGggPSAyMDsgLy8gU2V0IHdpZHRoIG9mIHRoZSA6OmJlZm9yZSBjb250ZW50XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJlZm9yZUhlaWdodCA9IDIwOyAvLyBTZXQgaGVpZ2h0IG9mIHRoZSA6OmJlZm9yZSBjb250ZW50XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRQb3MgPSAkbGkub2Zmc2V0KCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGUgPSBldmVudDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGUucGFnZVggPj0gZWxlbWVudFBvcy5sZWZ0ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnBhZ2VYIDw9IGVsZW1lbnRQb3MubGVmdCArIGJlZm9yZVdpZHRoICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnBhZ2VZID49IGVsZW1lbnRQb3MudG9wICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnBhZ2VZIDw9IGVsZW1lbnRQb3MudG9wICsgYmVmb3JlSGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCB0b2dnbGVFeHBhbnNpb24gPSAoJGxpKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICgkbGkuaGFzQ2xhc3MoXCJleHBhbmRhYmxlXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBfZXhwYW5kTGkodGhhdCwgJGxpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICgkbGkuaGFzQ2xhc3MoXCJleHBhbmRlZFwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVG9nZ2xlIGl0cyBleHBhbmRlZC9jb2xsYXBzZWQgc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICRsaS5jaGlsZHJlbihcInVsXCIpLnRvZ2dsZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3dhcCBleHBhbmRhYmxlIGFuZCBleHBhbmRlZCBjbGFzc2VzXG4gICAgICAgICAgICAgICAgICAgICAgICAkbGkudG9nZ2xlQ2xhc3MoXCJleHBhbmRhYmxlIGV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCRsaS5jaGlsZHJlbihcInVsXCIpLmNoaWxkcmVuKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJGxpLmNoaWxkcmVuKFwidWxcIikudG9nZ2xlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTd2FwIGV4cGFuZGFibGUgYW5kIGV4cGFuZGVkIGNsYXNzZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICRsaS50b2dnbGVDbGFzcyhcImV4cGFuZGFibGUgZXhwYW5kZWRcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSA7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kdHJlZS5vbihcImRibGNsaWNrXCIsIFwibGlcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgJGxpID0gJCh0aGlzKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzT25MZWZ0U2l6ZSgkbGksIGV2ZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlRXhwYW5zaW9uKCRsaSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9ICRsaS5kYXRhKFwidmFsdWVcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZWZlcmVuY2UgPSAkbGkuZGF0YShcInJlZmVyZW5jZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGF0Lm9wdGlvbnMuaXNTZWxlY3RhYmxlICYmICF0aGF0Lm9wdGlvbnMuaXNTZWxlY3RhYmxlKHJlZmVyZW5jZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5kYXRhKFwicmVmZXJlbmNlXCIsIHJlZmVyZW5jZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAoKF9hID0gcmVmZXJlbmNlLmRpc3BsYXlOYW1lKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EudGV4dCkgfHwgKChfYiA9IHJlZmVyZW5jZS5icm93c2VOYW1lKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IubmFtZSkgfHwgcmVmZXJlbmNlLm5vZGVJZC50b1N0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc3QgaW5wdXQgPSBgWyR7ZGlzcGxheU5hbWV9XSgke3ZhbHVlfSlgO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG1vZGUgPSB0aGF0Lm1vZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbW9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUgPSBcIm5vZGVJZFwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuc2V0TW9kZShtb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZUlucHV0KHZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGF0LiRpbnB1dC52YWwoaW5wdXQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoYXQuJGlucHV0LnRyaWdnZXIoXCJjaGFuZ2VcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24uaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoYXQuJGlucHV0LnZhbChpbnB1dCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhhdC4kaW5wdXQudHJpZ2dlcihcImNoYW5nZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUub24oXCJjbGlja1wiLCBcImxpXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0ICRsaSA9ICQodGhpcyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc09uTGVmdFNpemUoJGxpLCBldmVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZUV4cGFuc2lvbigkbGkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdFNpbmdsZSh0aGF0LCAkbGkpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNsaWNraW5nIG91dHNpZGUgdGhlIHBhZ2Ugd2lsbCBoaWRlIHRoZSBkcm9wZG93blxuICAgICAgICAgICAgICAgICAgICBpZiAoISQoZXZlbnQudGFyZ2V0KS5jbG9zZXN0KHRoYXQuJGNvbWJvKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHJldHVybnMgdGhlIGVuZHBvaW50IGF0dHJpYnV0ZXMgY29udGFpbmluZzpcbiAgICAgKiAgLSB0aGUgZW5kcG9pbnQsIHNlY3VyaXR5TW9kZSwgc2VjdXJpdHlQb2xpY3ksXG4gICAgICogIC0gdXNlcklkZW50aXR5VHlwZSxcbiAgICAgKiAgLSBjcmVkZW50aWFsc1xuICAgICAqICAtIG5hbWVzcGFjZUFsaWFzZXNcbiAgICAgKlxuICAgICAqIGV4dHJhY3RlZCBmcm9tIHRoZSB1aSB3aWRnZXQgI25vZGUtaW5wdXQtZW5kcG9pbnRcbiAgICAgKi9cbiAgICBjb25zdCBnZXRFbmRQb2ludEF0dHJpYnV0ZXMgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0ICRlbmRwb2ludCA9ICQoXCIjbm9kZS1pbnB1dC1lbmRwb2ludFwiKTtcbiAgICAgICAgY29uc3QgZW5kcG9pbnRJZCA9ICRlbmRwb2ludC52YWwoKTtcbiAgICAgICAgY29uc3QgcmVkTm9kZSA9IFJFRC5ub2Rlcy5ub2RlKGVuZHBvaW50SWQpO1xuICAgICAgICBpZiAoIXJlZE5vZGUpXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAvLyBjb25zdCBjcmVkZW50aWFscyA9IFJFRC4oZW5kcG9pbnRJZCk7XG4gICAgICAgIC8vIHdlIG5lZWQgdG8gc2FuaXRpemUgYW5kIGV4dHJhY3QgdGhlIGVuZHBvaW50IGF0dHJpYnV0ZXMgb25seSAoIG5vdCB0aGUgbm9kZS1yZWQgc3R1ZmYpXG4gICAgICAgIGNvbnN0IHsgZW5kcG9pbnQsIHNlY3VyaXR5TW9kZSwgc2VjdXJpdHlQb2xpY3ksIHVzZXJJZGVudGl0eVR5cGUsIGNyZWRlbnRpYWxzLCBuYW1lc3BhY2VBbGlhc2VzIH0gPSByZWROb2RlO1xuICAgICAgICBjb25zdCByZXRWYWx1ZSA9IHtcbiAgICAgICAgICAgIGVuZHBvaW50LFxuICAgICAgICAgICAgc2VjdXJpdHlNb2RlLFxuICAgICAgICAgICAgc2VjdXJpdHlQb2xpY3ksXG4gICAgICAgICAgICB1c2VySWRlbnRpdHlUeXBlLFxuICAgICAgICAgICAgY3JlZGVudGlhbHMsXG4gICAgICAgICAgICBuYW1lc3BhY2VBbGlhc2VzLFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gcmV0VmFsdWU7XG4gICAgfTtcbiAgICBjb25zdCBnZXRFbmRwb2ludFBhcmFtZXRlcnMgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0ICRlbmRwb2ludCA9ICQoXCIjbm9kZS1pbnB1dC1lbmRwb2ludFwiKTtcbiAgICAgICAgY29uc3QgZW5kcG9pbnRJZCA9ICRlbmRwb2ludC52YWwoKTtcbiAgICAgICAgY29uc3QgZW5kcG9pbnROciA9IGdldEVuZFBvaW50QXR0cmlidXRlcygpO1xuICAgICAgICBpZiAoIWVuZHBvaW50TnIpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmFtZXNwYWNlQWxpYXNlcyA9IGVuZHBvaW50TnIubmFtZXNwYWNlQWxpYXNlcztcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oeyBuYW1lc3BhY2VBbGlhc2VzLCBpZDogZW5kcG9pbnRJZCB9LCBlbmRwb2ludE5yKTtcbiAgICB9O1xuICAgIGNvbnN0IGdldEVuZHBvaW50UGFyYW1ldGVyc0hhbmRsZXIgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBlbmRwb2ludE5vZGU6IGdldEVuZHBvaW50UGFyYW1ldGVycyxcbiAgICAgICAgfTtcbiAgICB9O1xuXG4gICAgY29uc3QgaW5zdGFsbEZlZWRiYWNrV2lkZ2V0ID0gKCkgPT4ge1xuICAgICAgICAvLyByZXR1cm47XG4gICAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgICBjb25zdCB0cmF5Q29udGVudCA9ICQoXCIucmVkLXVpLXRyYXktYm9keVwiKTtcbiAgICAgICAgY29uc29sZS5sb2coXCJpbnN0YWxsRmVlZGJhY2tXaWRnZXQgXCIsIHRyYXlDb250ZW50Lmxlbmd0aCk7XG4gICAgICAgIGlmICh0cmF5Q29udGVudC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiaW5zdGFsbGluZyBpZnJhbWVcIik7XG4gICAgICAgICAgICAvLyBDcmVhdGUgdGhlIGlmcmFtZSBlbGVtZW50XG4gICAgICAgICAgICBjb25zdCBpZnJhbWUgPSAkKFwiPGlmcmFtZT48L2lmcmFtZT5cIiwge1xuICAgICAgICAgICAgICAgIHNyYzogXCIvb3BjdWEtZm9yLW5vZGUtcmVkL3N1cHBvcnQtZnJhbWUuaHRtbFwiLFxuICAgICAgICAgICAgICAgIHNjcm9sbGluZzogXCJub1wiLFxuICAgICAgICAgICAgICAgIHN0eWxlOiBcImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlcjozcHhcIixcbiAgICAgICAgICAgICAgICBhbGxvd3RyYW5zcGFyZW5jeTogXCJ0cnVlXCIsXG4gICAgICAgICAgICAgICAgd2lkdGg6IFwiMTgwcHhcIixcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IFwiMzBweFwiLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyBBcHBlbmQgdGhlIGlmcmFtZSB0byB0aGUgZmVlZGJhY2sgZWxlbWVudFxuICAgICAgICAgICAgdHJheUNvbnRlbnQuYXBwZW5kKGlmcmFtZSk7XG4gICAgICAgICAgICAvLyBQb3NpdGlvbiB0aGUgZmVlZGJhY2sgZWxlbWVudCBhdCB0aGUgYm90dG9tIHJpZ2h0IG9mIHRoZSB0cmF5IGNvbnRlbnRcbiAgICAgICAgICAgIGlmcmFtZS5jc3Moe1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICAgICAgICAgICAgcmlnaHQ6IFwiMjBweFwiLFxuICAgICAgICAgICAgICAgIGJvdHRvbTogXCIxNnB4XCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBSRUQubm9kZXMucmVnaXN0ZXJUeXBlKFwiT3BjVWEtQ2xpZW50Mi1FeHBsb3JlXCIsIHtcbiAgICAgICAgY2F0ZWdvcnk6IFwib3BjdWFcIixcbiAgICAgICAgY29sb3I6IFwiI0MwREVFRFwiLFxuICAgICAgICBhbGlnbjogXCJyaWdodFwiLFxuICAgICAgICBpY29uOiBcIi4uLy4uL2ljb25zL29wY3Vhbm9kZUxvZ28ucG5nXCIsXG4gICAgICAgIHBhbGV0dGVMYWJlbDogXCJleHBsb3JlXCIsXG4gICAgICAgIGRlZmF1bHRzOiB7XG4gICAgICAgICAgICBpbnB1dHM6IHsgdmFsdWU6IDEgfSxcbiAgICAgICAgICAgIG91dHB1dDogeyB2YWx1ZTogNCB9LFxuICAgICAgICAgICAgLy8gQ29tbW9uXG4gICAgICAgICAgICBuYW1lOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICBlbmRwb2ludDogeyB2YWx1ZTogXCJcIiwgcmVxdWlyZWQ6IHRydWUsIHR5cGU6IFwiT3BjVWEtRW5kcG9pbnQyXCIgfSxcbiAgICAgICAgICAgIC8vIGZvciBhY3Rpb24gZXhwbG9yZVxuICAgICAgICAgICAgbm9kZUlkOiB7IHZhbHVlOiBcIlwiLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIG91dHB1dFR5cGU6IHsgdmFsdWU6IFwiVmFsdWVcIiwgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICAgICAgICAgIGV4Y2x1ZGVFbXB0eTogeyB2YWx1ZTogZmFsc2UgfSxcbiAgICAgICAgICAgIC8vIHJvb3ROb2RlOiB7IHZhbHVlOiBcIkBPYmplY3RGb2xkZXJcIiB9LFxuICAgICAgICAgICAgZm9sbG93T3JnYW5pemVzOiB7IHZhbHVlOiBmYWxzZSB9LFxuICAgICAgICB9LFxuICAgICAgICBvdXRwdXRzOiAxLFxuICAgICAgICBsYWJlbCgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5hbWUgfHwgXCJPUENVQSBFeHBsb3JlXCI7XG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsU3R5bGUoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5uYW1lID8gXCJub2RlX2xhYmVsX2l0YWxpY1wiIDogXCJcIjtcbiAgICAgICAgfSxcbiAgICAgICAgb25lZGl0cHJlcGFyZSgpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzO1xuICAgICAgICAgICAgZGVjbGFyZU5vZGVCcm93c2VyV2lkZ2V0KCk7XG4gICAgICAgICAgICBpbnN0YWxsRmVlZGJhY2tXaWRnZXQoKTtcbiAgICAgICAgICAgIG5vZGUuaW5wdXRzID0gMTtcbiAgICAgICAgICAgIGNvbnN0ICRub2RlSWQgPSAkKFwiI25vZGUtaW5wdXQtbm9kZUlkXCIpO1xuICAgICAgICAgICAgJG5vZGVJZC5ub2RlQnJvd3NlcihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGdldEVuZHBvaW50UGFyYW1ldGVyc0hhbmRsZXIoKSksIHsgaXNTZWxlY3RhYmxlKG5vZGVEZXNjKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBub2RlRGVzYy5ub2RlQ2xhc3MgPT09IFwiVmFyaWFibGVcIiB8fCBub2RlRGVzYy5ub2RlQ2xhc3MgPT09IFwiT2JqZWN0XCI7XG4gICAgICAgICAgICAgICAgfSB9KSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uZWRpdHNhdmUoKSB7IH0sXG4gICAgfSk7XG5cbn0pKCk7Il19
|
7
|
+
function _0x1086(_0x20f7f2,_0x4a07ee){const _0x236a94=_0x236a();return _0x1086=function(_0x108693,_0x31a6a4){_0x108693=_0x108693-0x13f;let _0x5832ba=_0x236a94[_0x108693];return _0x5832ba;},_0x1086(_0x20f7f2,_0x4a07ee);}(function(_0x152eb8,_0x4c7fc8){const _0x475659=_0x1086,_0x2284d0=_0x152eb8();while(!![]){try{const _0x5c8a77=parseInt(_0x475659(0x24a))/0x1+parseInt(_0x475659(0x254))/0x2+parseInt(_0x475659(0x1b5))/0x3*(-parseInt(_0x475659(0x25e))/0x4)+parseInt(_0x475659(0x1e0))/0x5*(-parseInt(_0x475659(0x144))/0x6)+-parseInt(_0x475659(0x214))/0x7*(parseInt(_0x475659(0x23a))/0x8)+parseInt(_0x475659(0x267))/0x9+parseInt(_0x475659(0x1f7))/0xa;if(_0x5c8a77===_0x4c7fc8)break;else _0x2284d0['push'](_0x2284d0['shift']());}catch(_0x518cbb){_0x2284d0['push'](_0x2284d0['shift']());}}}(_0x236a,0xcbf2d),(function(){'use strict';const _0x3e359e=_0x1086;function _0x38f029(_0x1db3ee,_0xff79f9,_0x5a0e6,_0x3fe75c){function _0x5b7838(_0x3a60d){return _0x3a60d instanceof _0x5a0e6?_0x3a60d:new _0x5a0e6(function(_0x40b040){_0x40b040(_0x3a60d);});}return new(_0x5a0e6||(_0x5a0e6=Promise))(function(_0x4971a0,_0x3d5d44){const _0x3b4df9=_0x1086;function _0x5ceee9(_0x5bd4f8){const _0x37211c=_0x1086;try{_0x544a74(_0x3fe75c[_0x37211c(0x1a9)](_0x5bd4f8));}catch(_0x890a0c){_0x3d5d44(_0x890a0c);}}function _0x2f2e12(_0xf32423){const _0x5b335d=_0x1086;try{_0x544a74(_0x3fe75c[_0x5b335d(0x15c)](_0xf32423));}catch(_0x2b4c61){_0x3d5d44(_0x2b4c61);}}function _0x544a74(_0x847559){const _0x571e53=_0x1086;_0x847559[_0x571e53(0x19a)]?_0x4971a0(_0x847559[_0x571e53(0x1c8)]):_0x5b7838(_0x847559[_0x571e53(0x1c8)])[_0x571e53(0x23b)](_0x5ceee9,_0x2f2e12);}_0x544a74((_0x3fe75c=_0x3fe75c[_0x3b4df9(0x140)](_0x1db3ee,_0xff79f9||[]))[_0x3b4df9(0x1a9)]());});}typeof SuppressedError===_0x3e359e(0x1b7)?SuppressedError:function(_0x246604,_0xd5e563,_0x105453){const _0x5c29ca=_0x3e359e;var _0x2367bf=new Error(_0x105453);return _0x2367bf[_0x5c29ca(0x253)]='SuppressedError',_0x2367bf[_0x5c29ca(0x1b4)]=_0x246604,_0x2367bf[_0x5c29ca(0x251)]=_0xd5e563,_0x2367bf;};const _0x18ecfa=_0x3e359e(0x262),_0x4bfe69=_0x3e359e(0x178),_0x3eb9a0=_0x3e359e(0x142),_0x4474d2=_0x3e359e(0x1bc),_0x17e548=_0x3e359e(0x212),_0x562e60=_0x3e359e(0x22f),_0x44f957='ns=0;i=40';var _0x426ea9;(function(_0x4cb66a){const _0x3854f9=_0x3e359e;_0x4cb66a[_0x4cb66a[_0x3854f9(0x23e)]=0x0]=_0x3854f9(0x23e),_0x4cb66a[_0x4cb66a[_0x3854f9(0x216)]=0x1]=_0x3854f9(0x216),_0x4cb66a[_0x4cb66a[_0x3854f9(0x158)]=0x2]=_0x3854f9(0x158),_0x4cb66a[_0x4cb66a[_0x3854f9(0x175)]=0x3]=_0x3854f9(0x175);}(_0x426ea9||(_0x426ea9={})));var _0x4bea2e;(function(_0xf4b231){const _0x2e89cf=_0x3e359e;_0xf4b231[_0xf4b231[_0x2e89cf(0x1b2)]=0x0]=_0x2e89cf(0x1b2),_0xf4b231[_0xf4b231[_0x2e89cf(0x1db)]=0x1]=_0x2e89cf(0x1db),_0xf4b231[_0xf4b231[_0x2e89cf(0x16f)]=0x2]=_0x2e89cf(0x16f),_0xf4b231[_0xf4b231[_0x2e89cf(0x1fe)]=0x4]=_0x2e89cf(0x1fe),_0xf4b231[_0xf4b231[_0x2e89cf(0x20c)]=0x8]=_0x2e89cf(0x20c),_0xf4b231[_0xf4b231[_0x2e89cf(0x15a)]=0x10]=_0x2e89cf(0x15a),_0xf4b231[_0xf4b231[_0x2e89cf(0x239)]=0x20]=_0x2e89cf(0x239),_0xf4b231[_0xf4b231[_0x2e89cf(0x20a)]=0x40]=_0x2e89cf(0x20a),_0xf4b231[_0xf4b231[_0x2e89cf(0x209)]=0x80]=_0x2e89cf(0x209);}(_0x4bea2e||(_0x4bea2e={})));var _0x4c795c;(function(_0x59c602){const _0x320318=_0x3e359e;_0x59c602[_0x59c602[_0x320318(0x1db)]=0x1]='Object',_0x59c602[_0x59c602[_0x320318(0x16f)]=0x2]='Variable',_0x59c602[_0x59c602['Method']=0x4]='Method',_0x59c602[_0x59c602[_0x320318(0x20c)]=0x8]='ObjectType',_0x59c602[_0x59c602[_0x320318(0x15a)]=0x10]='VariableType',_0x59c602[_0x59c602[_0x320318(0x239)]=0x20]=_0x320318(0x239),_0x59c602[_0x59c602[_0x320318(0x20a)]=0x40]=_0x320318(0x20a),_0x59c602[_0x59c602[_0x320318(0x209)]=0x80]=_0x320318(0x209);}(_0x4c795c||(_0x4c795c={})));var _0x1bd7eb;(function(_0x211b64){const _0x32f85a=_0x3e359e;_0x211b64[_0x211b64[_0x32f85a(0x239)]=0x1]='ReferenceType',_0x211b64[_0x211b64[_0x32f85a(0x17c)]=0x2]=_0x32f85a(0x17c),_0x211b64[_0x211b64[_0x32f85a(0x1e4)]=0x4]=_0x32f85a(0x1e4),_0x211b64[_0x211b64['BrowseName']=0x8]=_0x32f85a(0x18e),_0x211b64[_0x211b64[_0x32f85a(0x22a)]=0x10]=_0x32f85a(0x22a),_0x211b64[_0x211b64[_0x32f85a(0x14f)]=0x20]=_0x32f85a(0x14f);}(_0x1bd7eb||(_0x1bd7eb={})));function _0xaba5f5(_0x5aa59a){const _0xf6e274=_0x3e359e;switch(_0x5aa59a){case _0xf6e274(0x1b9):return _0x18ecfa;case _0xf6e274(0x188):return _0x4474d2;case _0xf6e274(0x1e9):return _0x3eb9a0;case _0xf6e274(0x1f6):return _0x17e548;case'HasSubtype':return _0x562e60;case _0xf6e274(0x235):return _0x44f957;}}const _0x432f20=_0x5ce06=>{const _0x478f02=_0x3e359e;switch(_0x5ce06[_0x478f02(0x240)]){case _0x478f02(0x1db):if(_0x5ce06[_0x478f02(0x245)]===_0x18ecfa);if(_0x5ce06[_0x478f02(0x203)]===_0x4bfe69||_0x5ce06[_0x478f02(0x245)]===_0x478f02(0x236))return{'icon':'fa-folder','color':_0x478f02(0x1d7)};return{'icon':_0x478f02(0x1bb),'color':_0x478f02(0x14e)};case _0x478f02(0x16f):if(_0x5ce06[_0x478f02(0x245)]===_0x3eb9a0)return{'icon':_0x478f02(0x1d9),'color':_0x478f02(0x1f0)};else return _0x5ce06[_0x478f02(0x245)]===_0x4474d2?{'icon':_0x478f02(0x1d9),'color':'DodgerBlue'}:{'icon':_0x478f02(0x1d9),'color':'CadetBlue'};case _0x478f02(0x1fe):return{'icon':_0x478f02(0x1a5),'color':_0x478f02(0x194)};case'ObjectType':return{'icon':'fa-object-group','color':_0x478f02(0x1c4)};case _0x478f02(0x15a):return{'icon':_0x478f02(0x161),'color':_0x478f02(0x1c4)};case _0x478f02(0x20a):return{'icon':_0x478f02(0x1e8),'color':'CadetBlue'};}return{'icon':_0x478f02(0x234),'color':_0x478f02(0x1ae)};},_0x3ae90a=(_0x3f32d5,_0x4adef2,_0x1258d3)=>_0x38f029(void 0x0,[_0x3f32d5,_0x4adef2,_0x1258d3],void 0x0,function*({endpointNode:_0x71cca7,endpoint:_0x56a58a,baseUrl:_0x3e48f1},_0x1d705a,_0x4779e1){const _0x11b95c=_0x3e359e,_0x10df0d=_0x3e48f1+_0x11b95c(0x171),_0x4686a1=_0x10df0d+_0x11b95c(0x1a8),_0x3ff8ec=Object[_0x11b95c(0x266)](Object[_0x11b95c(0x266)]({},_0x4779e1),{'nodeId':_0x1d705a,'resultMask':0x3f}),_0x2aef7d=yield fetch(_0x4686a1,{'method':_0x11b95c(0x148),'body':JSON['stringify']({'endpointNode':_0x71cca7,'endpoint':_0x56a58a,'browseDescription':_0x3ff8ec}),'headers':{'Content-Type':_0x11b95c(0x1e5)}});if(_0x2aef7d['status']!==0xc8)return console['log']('fetching\x20failed\x20with\x20error',_0x2aef7d[_0x11b95c(0x1d2)],_0x2aef7d[_0x11b95c(0x1ef)]),{'references':[]};const _0x593e59=yield _0x2aef7d[_0x11b95c(0x222)](),_0x1c8d38=_0x593e59[_0x11b95c(0x1de)][_0x11b95c(0x227)]||[];return{'references':_0x1c8d38};}),_0x57eb53={'referenceTypeId':_0xaba5f5(_0x3e359e(0x1f6)),'includeSubtypes':!![],'browseDirection':_0x426ea9['Forward'],'nodeClassMask':_0x4bea2e[_0x3e359e(0x16f)]|_0x4bea2e[_0x3e359e(0x1db)]|_0x4bea2e[_0x3e359e(0x1fe)],'resultMask':0x3f},_0x4380f3={'referenceTypeId':_0xaba5f5(_0x3e359e(0x1b9)),'includeSubtypes':!![],'browseDirection':_0x426ea9['Forward'],'nodeClassMask':_0x4bea2e[_0x3e359e(0x16f)]|_0x4bea2e['Object']|_0x4bea2e[_0x3e359e(0x1fe)],'resultMask':0x3f},_0x143e6c=(_0x1d59e9,_0x27d680)=>_0x38f029(void 0x0,[_0x1d59e9,_0x27d680],void 0x0,function*({endpointNode:_0x5ee5e7,endpoint:_0x1abd6e,baseUrl:_0x2fe25f},{nodeId:_0xfc1e74,rootNodeId:_0x5de067,isType:_0x13b602}){const _0x348701=_0x3e359e,_0x42a728=_0x2fe25f+_0x348701(0x171),_0x1eb4e4=_0x42a728+_0x348701(0x179),_0x3df705=yield fetch(_0x1eb4e4,{'method':_0x348701(0x148),'body':JSON[_0x348701(0x243)]({'endpointNode':_0x5ee5e7,'endpoint':_0x1abd6e,'nodeId':_0xfc1e74,'rootNodeId':_0x5de067,'isType':_0x13b602}),'headers':{'Content-Type':_0x348701(0x1e5)}});if(_0x3df705[_0x348701(0x1d2)]!==0xc8)return null;const _0x2e670d=yield _0x3df705[_0x348701(0x222)]();return _0x2e670d[_0x348701(0x1f5)];}),_0x5dcdee=(_0xfd1fd2,_0x2481ca)=>{const _0xce625e=_0x3e359e;if(_0xfd1fd2[_0xce625e(0x14c)]!=='Good')return _0xfd1fd2[_0xce625e(0x17b)];switch(_0x2481ca){case _0xce625e(0x1f5):return _0xfd1fd2[_0xce625e(0x1cc)];case'aliasedBrowsePath':return _0xfd1fd2[_0xce625e(0x180)]||_0xfd1fd2[_0xce625e(0x1cc)];case _0xce625e(0x249):return _0xfd1fd2[_0xce625e(0x246)]||_0xfd1fd2[_0xce625e(0x260)];case _0xce625e(0x17e):return _0xfd1fd2['nodeId_nsu'];default:case _0xce625e(0x170):return _0xfd1fd2[_0xce625e(0x170)];}},_0x31ae8d=_0x2a6637=>{const _0x3baf24=_0x3e359e;if(_0x2a6637['statusCode']!=='Good')return'statusCode:\x20'+_0x2a6637[_0x3baf24(0x14c)];else{let _0x5906e9=[];return _0x5906e9[_0x3baf24(0x1f4)]('nodeId:\x20'+_0x2a6637[_0x3baf24(0x170)]),_0x5906e9[_0x3baf24(0x1f4)](_0x3baf24(0x1f2)+_0x2a6637['bp_indexed']),_0x5906e9[_0x3baf24(0x1f4)]('node\x20class:\x20'+_0x4bea2e[_0x2a6637[_0x3baf24(0x240)]]),_0x2a6637['nodeId_nsu']&&_0x5906e9[_0x3baf24(0x1f4)](_0x3baf24(0x1c6)+_0x2a6637['nodeId_nsu']),_0x2a6637[_0x3baf24(0x246)]&&_0x5906e9[_0x3baf24(0x1f4)](_0x3baf24(0x241)+_0x2a6637[_0x3baf24(0x246)]),_0x2a6637[_0x3baf24(0x1cc)]&&_0x5906e9[_0x3baf24(0x1f4)](_0x3baf24(0x193)+_0x2a6637['bp_aliased']),_0x5906e9[_0x3baf24(0x157)]('\x0a');}};function _0x174cd2(_0x150e48){const _0x4a01c9=_0x3e359e;if(_0x150e48[_0x4a01c9(0x1b3)](/^nsu=/))return _0x4a01c9(0x17e);if(_0x150e48[_0x4a01c9(0x1b3)](/^(ns=.*;)?(i|b|s|g)=/))return _0x4a01c9(0x170);if(_0x150e48[_0x4a01c9(0x1b3)](/^nsa=/))return'aliasedNodeId';if(_0x150e48[_0x4a01c9(0x1b3)](/^(\/|\.)[0-9]+:/))return'browsePath';if(_0x150e48['match'](/^(\/|\.).*:/))return _0x4a01c9(0x1f5);}function _0x4f04da(_0x396865){const _0x3b3e8b=_0x3e359e,_0x4d028c=_0x174cd2(_0x396865);switch(_0x4d028c){case _0x3b3e8b(0x170):return'n';case _0x3b3e8b(0x249):return'na';case _0x3b3e8b(0x17e):return _0x3b3e8b(0x1ea);case _0x3b3e8b(0x1f5):return'b';case'aliasedBrowsePath':return'ab';default:return't';}}function _0x3c87ef(_0x387894){const _0x45e82d=_0x3e359e;let _0x103e3b;switch(_0x387894){case'n':_0x103e3b=_0x45e82d(0x170);break;case'na':_0x103e3b=_0x45e82d(0x249);break;case _0x45e82d(0x1ea):_0x103e3b=_0x45e82d(0x17e);break;case'b':_0x103e3b=_0x45e82d(0x1f5);break;case'ab':_0x103e3b='aliasedBrowsePath';break;}return _0x103e3b;}function _0xd1c8bc(_0x37a750){const _0x1aec9f=_0x3e359e;switch(_0x37a750){case _0x1aec9f(0x170):return'n';case _0x1aec9f(0x249):return'na';case _0x1aec9f(0x17e):return'nsu';case'browsePath':return'b';case _0x1aec9f(0x20b):return'ab';default:return't';}}const _0x5084b5=(_0x4033e8,_0x3d8a6b)=>_0x38f029(void 0x0,[_0x4033e8,_0x3d8a6b],void 0x0,function*({endpointNode:_0x57b723,endpoint:_0x4c6087,baseUrl:_0x3ab81d},_0x64e661){const _0x2f2595=_0x3e359e,_0x4c92ff=_0x3ab81d+_0x2f2595(0x171),_0x42af24=_0x4c92ff+_0x2f2595(0x24f),_0x544c7f=_0x57b723['id'],_0x1fe546=RED[_0x2f2595(0x1a4)][_0x2f2595(0x19f)](_0x544c7f);console['log'](_0x1fe546[_0x2f2595(0x150)]),_0x1fe546['namespaceAliases'];const _0x1dac06=_0x57b723[_0x2f2595(0x150)],_0x426766=yield fetch(_0x42af24,{'method':_0x2f2595(0x148),'body':JSON[_0x2f2595(0x243)]({'endpointNode':_0x57b723,'endpoint':_0x4c6087,'nodeId':_0x64e661,'namespaceAliases':_0x1dac06}),'headers':{'Content-Type':_0x2f2595(0x1e5)}}),_0x16c7fa=yield _0x426766[_0x2f2595(0x222)]();return{'json':_0x16c7fa,'data':_0x426766};}),_0x4723b5=(_0x3a76ca,_0x40f7ac,_0x451da4,_0x2794f3)=>_0x38f029(void 0x0,[_0x3a76ca,_0x40f7ac,_0x451da4,_0x2794f3],void 0x0,function*({endpointNode:_0x21fe8d,endpoint:_0x46c7d8,baseUrl:_0x2def9d},_0x967c36,_0xac79dd,_0x2143e9){const _0x1219fb=_0x3e359e,_0x343009=_0xac79dd[_0x1219fb(0x1ed)](),{json:_0x3b7aa3,data:_0x4bc459}=yield _0x5084b5({'endpointNode':_0x21fe8d,'endpoint':_0x46c7d8,'baseUrl':_0x2def9d},_0x343009),_0x4e170e=(_0x573698,_0x2189a2)=>{const _0x1914ab=_0x1219fb;_0x2143e9[_0x1914ab(0x1dd)](_0x573698)[_0x1914ab(0x218)]('sterfive-info')[_0x1914ab(0x218)](_0x2189a2),_0x2143e9[_0x1914ab(0x166)](),setTimeout(()=>{const _0xaea3b8=_0x1914ab;_0x2143e9[_0xaea3b8(0x21c)](_0x2189a2),_0x2143e9[_0xaea3b8(0x183)]();},0xbb8);};if(_0x4bc459[_0x1219fb(0x1d2)]!==0xc8)return _0x4e170e('!!failure!!'+_0x343009,_0x1219fb(0x1d5)),![];else{if(_0x3b7aa3[_0x1219fb(0x14c)][_0x1219fb(0x1b3)](/Good/)){const _0x42afec=_0x31ae8d(_0x3b7aa3);_0xac79dd[_0x1219fb(0x264)]('title',_0x42afec);const _0x47c702=_0x5dcdee(_0x3b7aa3,_0x967c36);return _0xac79dd['val'](_0x47c702),_0xac79dd[_0x1219fb(0x1ab)]('change'),_0x4e170e(_0x1219fb(0x224),'ok'),!![];}else return _0xac79dd[_0x1219fb(0x1ed)](''+_0x343009),_0x4e170e(_0x3b7aa3[_0x1219fb(0x14c)]+'\x20'+_0x4bc459[_0x1219fb(0x1ef)],'failure'),![];}});function _0x3789b1(_0x578d74,_0x171ae2){return _0x38f029(this,void 0x0,void 0x0,function*(){const _0x3c65e3=_0x1086,_0x4f08a1=_0x578d74[_0x3c65e3(0x21e)](_0x3c65e3(0x1c8)),_0x355cca=yield _0x3ae90a(_0x171ae2,_0x4f08a1,_0x57eb53),_0x3ace4d=yield _0x3ae90a(_0x171ae2,_0x4f08a1,_0x4380f3);return{'references':[..._0x355cca[_0x3c65e3(0x227)],..._0x3ace4d[_0x3c65e3(0x227)]]};});}const _0x446b68={'referenceTypeId':_0xaba5f5(_0x3e359e(0x1a3)),'includeSubtypes':!![],'browseDirection':_0x426ea9[_0x3e359e(0x23e)],'nodeClassMask':_0x4bea2e[_0x3e359e(0x239)]|_0x4bea2e[_0x3e359e(0x20c)]|_0x4bea2e[_0x3e359e(0x20a)]|_0x4bea2e[_0x3e359e(0x15a)],'resultMask':0x3f};function _0x4ed933(_0x94025,_0x3bb4dd){return _0x38f029(this,void 0x0,void 0x0,function*(){const _0x3ebb5d=_0x1086,_0x92bfe2=_0x94025[_0x3ebb5d(0x21e)](_0x3ebb5d(0x1c8)),_0x23234f=yield _0x3ae90a(_0x3bb4dd,_0x92bfe2,_0x446b68);return _0x23234f;});}const _0x144197=_0x169999=>{const _0x42c97d=_0x3e359e;var _0x477e67,_0x191599,_0x35f3dd,_0x4510b0;if(!_0x169999||!_0x169999[_0x42c97d(0x170)]){const _0x1bc5c2=$(_0x42c97d(0x1ce));return _0x1bc5c2;}const _0xa836d0=_0x169999[_0x42c97d(0x170)][_0x42c97d(0x21b)](),_0x590b33=((_0x477e67=_0x169999[_0x42c97d(0x16e)])===null||_0x477e67===void 0x0?void 0x0:_0x477e67[_0x42c97d(0x1dd)])||((_0x191599=_0x169999[_0x42c97d(0x259)])===null||_0x191599===void 0x0?void 0x0:_0x191599['name'])||_0x169999['nodeId'][_0x42c97d(0x21b)](),{icon:_0xcffdee,color:_0x4b4787}=_0x432f20(_0x169999),_0x408cfe='('+_0x169999[_0x42c97d(0x170)]['toString']()+')\x20'+(((_0x35f3dd=_0x169999[_0x42c97d(0x259)])===null||_0x35f3dd===void 0x0?void 0x0:_0x35f3dd['name'])||((_0x4510b0=_0x169999['displayName'])===null||_0x4510b0===void 0x0?void 0x0:_0x4510b0[_0x42c97d(0x1dd)])||''),_0x4cb2be=$(_0x42c97d(0x153)+_0x169999[_0x42c97d(0x170)][_0x42c97d(0x21b)]()+_0x42c97d(0x1d1)+_0x408cfe+_0x42c97d(0x1e2)+_0xcffdee+'\x22\x20style=\x22color:'+_0x4b4787+_0x42c97d(0x20d)+_0x590b33+'</span><ul></ul></li>');return _0x4cb2be[_0x42c97d(0x218)](_0x42c97d(0x1f8)),_0x4cb2be[_0x42c97d(0x21e)](_0x42c97d(0x1c8),_0xa836d0),_0x4cb2be[_0x42c97d(0x21e)](_0x42c97d(0x22c),_0x169999),_0x4cb2be;},_0x3c8562=(_0x55b78f,_0x32cdc5)=>{const _0x268e59=_0x3e359e;return _0x32cdc5[_0x268e59(0x1af)](_0x268e59(0x1fa)+_0x55b78f+'\x22]');},_0x592652=(_0x1e3734,_0x13418e)=>{const _0x520b5e=_0x3e359e;_0x1e3734['$tree']['find']('li\x20>\x20.tree-text')[_0x520b5e(0x21c)](_0x520b5e(0x1ad)),_0x13418e[_0x520b5e(0x1af)](_0x520b5e(0x24d))['addClass'](_0x520b5e(0x1ad));},_0x5d365d=(_0x578aed,_0x2c7ac2,_0x43b08b)=>_0x38f029(void 0x0,void 0x0,void 0x0,function*(){const _0x4f0d42=_0x3e359e;let _0x1a8baa=_0x43b08b[_0x4f0d42(0x1d3)](_0x4f0d42(0x1f3));_0x2c7ac2[_0x4f0d42(0x163)][_0x4f0d42(0x242)]||[];const _0xb7bc11=_0x2c7ac2[_0x4f0d42(0x265)]||[];if(_0xb7bc11[_0x4f0d42(0x202)]===0x0)return;for(const _0x6abd52 of _0xb7bc11){_0x1a8baa[_0x4f0d42(0x145)](_0x4f0d42(0x1f8))&&(yield _0x240b48(_0x578aed,_0x1a8baa));const _0x1d7002=_0x3c8562(_0x6abd52,_0x1a8baa);if(_0x1d7002['length']===0x0)return;_0x1a8baa=_0x1d7002;}_0x592652(_0x578aed,_0x1a8baa),_0x2c0de7(_0x578aed[_0x4f0d42(0x186)],_0x1a8baa);});function _0x2c0de7(_0x216b84,_0x2347e5){const _0x576227=_0x3e359e,_0x509784=_0x2347e5['position']()[_0x576227(0x1ba)],_0x24fbe0=_0x216b84[_0x576227(0x187)]();if(_0x24fbe0==undefined)return;const _0x54caf4=_0x24fbe0+_0x509784-_0x216b84['height']()/0x2+_0x2347e5['height']()/0x2;_0x216b84[_0x576227(0x172)]({'scrollTop':_0x54caf4},0x1f4);}const _0x487486=(_0x450965,_0x4c7e7b)=>_0x38f029(void 0x0,void 0x0,void 0x0,function*(){const _0x3f71ed=_0x3e359e,_0x3c8ee1=_0x450965['$input'][_0x3f71ed(0x1ed)](),_0x1a0636={'nodeId':_0x3c8ee1,'rootNodeId':_0x4c7e7b[_0x3f71ed(0x170)],'isType':_0x450965[_0x3f71ed(0x1b6)]['isTypeRef']||![]},_0x35b647=_0xf24131(_0x450965),_0x16f932=yield _0x143e6c(_0x35b647,_0x1a0636);if(!_0x16f932)return;yield _0x5d365d(_0x450965,_0x16f932,_0x450965[_0x3f71ed(0x17a)]);});function _0x591a67(_0x390ad8,_0x593949,_0x54726b,_0x5d1d55){return _0x38f029(this,void 0x0,void 0x0,function*(){const _0x4c7245=_0x1086;if(_0x593949[_0x4c7245(0x145)]('fetched')){console[_0x4c7245(0x181)]('already\x20fetched');return;}if(_0x593949[_0x4c7245(0x145)](_0x4c7245(0x1a7))){console[_0x4c7245(0x181)](_0x4c7245(0x1be));return;}_0x593949[_0x4c7245(0x218)](_0x4c7245(0x1a7)),_0x593949['append'](_0x4c7245(0x141));try{_0x593949['children']('ul')[_0x4c7245(0x182)]();const {references:_0x32b4e4}=yield _0x54726b(_0x593949,_0x5d1d55);_0x32b4e4[_0x4c7245(0x160)]((_0x28f987,_0x1e9d19)=>{const _0x160d49=_0x4c7245;var _0x18df67,_0x213dfc;return(((_0x18df67=_0x28f987['browseName'])===null||_0x18df67===void 0x0?void 0x0:_0x18df67['name'])||'')[_0x160d49(0x19e)](((_0x213dfc=_0x1e9d19[_0x160d49(0x259)])===null||_0x213dfc===void 0x0?void 0x0:_0x213dfc[_0x160d49(0x253)])||'');});for(const _0x5828f6 of _0x32b4e4){if(_0x390ad8[_0x4c7245(0x1b6)]['filter']&&!_0x390ad8[_0x4c7245(0x1b6)][_0x4c7245(0x1ff)](_0x5828f6))continue;const _0x4c29bc=_0x144197(_0x5828f6);_0x593949[_0x4c7245(0x1d3)]('ul')[_0x4c7245(0x173)](_0x4c29bc);}_0x593949[_0x4c7245(0x218)](_0x4c7245(0x1c2));}catch(_0x5294d8){_0x593949[_0x4c7245(0x1d3)]('ul')[_0x4c7245(0x173)]('<li>error\x20'+_0x5294d8[_0x4c7245(0x220)]+_0x4c7245(0x225)),console[_0x4c7245(0x181)](_0x4c7245(0x13f),_0x5294d8);}_0x593949[_0x4c7245(0x1af)](_0x4c7245(0x185))['remove'](),_0x593949[_0x4c7245(0x21c)](_0x4c7245(0x1a7));});}function _0xf24131(_0x11beef){const _0x185cc3=_0x3e359e,_0x4c017a={'baseUrl':_0x11beef[_0x185cc3(0x1b6)][_0x185cc3(0x238)],'endpointNode':typeof _0x11beef[_0x185cc3(0x1b6)][_0x185cc3(0x1fc)]===_0x185cc3(0x1b7)?_0x11beef[_0x185cc3(0x1b6)][_0x185cc3(0x1fc)]():_0x11beef[_0x185cc3(0x1b6)][_0x185cc3(0x1fc)],'endpoint':typeof _0x11beef[_0x185cc3(0x1b6)]['endpoint']===_0x185cc3(0x1b7)?_0x11beef[_0x185cc3(0x1b6)][_0x185cc3(0x22e)]():_0x11beef['options']['endpoint']};return _0x4c017a;}function _0x240b48(_0x33d1c2,_0x4bb8f1){return _0x38f029(this,void 0x0,void 0x0,function*(){const _0x4787d6=_0x1086;if(_0x4bb8f1[_0x4787d6(0x145)]('fetched')){_0x4bb8f1['removeClass'](_0x4787d6(0x1f8))[_0x4787d6(0x218)](_0x4787d6(0x1c7)),_0x4bb8f1['children']('ul')[_0x4787d6(0x204)]();return;}const _0x5c1368=_0xf24131(_0x33d1c2),_0x26023c=!_0x33d1c2[_0x4787d6(0x1b6)][_0x4787d6(0x15d)]?_0x3789b1:_0x4ed933;try{yield _0x591a67(_0x33d1c2,_0x4bb8f1,_0x26023c,_0x5c1368),_0x4bb8f1[_0x4787d6(0x21c)](_0x4787d6(0x1f8))[_0x4787d6(0x218)](_0x4787d6(0x1c7));}catch(_0x387f91){_0x4bb8f1[_0x4787d6(0x21c)](_0x4787d6(0x1f8))[_0x4787d6(0x218)](_0x4787d6(0x1c7)),console['log'](_0x4787d6(0x1b4),_0x387f91);}});}const _0x536fc3={'browseName':{'namespaceIndex':0x0,'name':_0x3e359e(0x14d)},'nodeClass':'Object','nodeId':_0x3e359e(0x1a6),'displayName':{'text':_0x3e359e(0x14d)},'typeDefinition':_0x4bfe69},_0x3dd1c5=()=>{const _0x596ede=_0x3e359e;$[_0x596ede(0x215)](_0x596ede(0x258),{'options':{'endpointNode':()=>({'endpoint':_0x596ede(0x1c1)}),'endpoint':()=>undefined,'parentNode':()=>_0x536fc3,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x38f029(this,void 0x0,void 0x0,function*(){const _0x3cdb50=_0x1086,_0x3d643b=this;if(_0x3d643b[_0x3cdb50(0x155)]==undefined){const _0x918f9a=typeof _0x3d643b['options'][_0x3cdb50(0x1f1)]===_0x3cdb50(0x1b7)?_0x3d643b[_0x3cdb50(0x1b6)][_0x3cdb50(0x1f1)][_0x3cdb50(0x199)](_0x3d643b):_0x3d643b[_0x3cdb50(0x1b6)]['parentNode'];if(_0x918f9a instanceof Promise){const _0x15fa43=yield _0x918f9a;_0x3d643b[_0x3cdb50(0x155)]=_0x15fa43;}else _0x3d643b['__parentNode']=_0x918f9a;}return _0x3d643b['__parentNode']||_0x536fc3;});},'reset'(){return _0x38f029(this,void 0x0,void 0x0,function*(){const _0x424b9c=_0x1086,_0x38eba9=this,_0x5214d7=_0x38eba9;_0x5214d7['__parentNode']=undefined,_0x38eba9[_0x424b9c(0x17a)][_0x424b9c(0x182)]();const _0x20100a=yield this['resolveParentNode'](),_0x36110b=_0x144197(_0x20100a);_0x38eba9[_0x424b9c(0x17a)][_0x424b9c(0x173)](_0x36110b),_0x38eba9[_0x424b9c(0x14b)]=_0x20100a;});},'verify'(_0xe85d50){const _0xec669f=_0x596ede,_0x464d27=this,_0x2c0621=_0xf24131(_0x464d27);_0x4723b5(_0x2c0621,_0xe85d50,_0x464d27[_0xec669f(0x244)],_0x464d27[_0xec669f(0x1d6)])[_0xec669f(0x23b)](_0x374ba9=>{const _0x1cacae=_0xec669f;!_0x374ba9?_0x464d27[_0x1cacae(0x174)]['addClass'](_0x1cacae(0x17d)):_0x464d27[_0x1cacae(0x174)][_0x1cacae(0x21c)](_0x1cacae(0x17d));});},'_hideMenu'(_0x2d50cc){const _0x3b889a=_0x596ede,_0xbf423f=this;$(document)[_0x3b889a(0x184)]('mousedown.red-ui-typedInput-close-property-select'),_0x2d50cc[_0x3b889a(0x183)](),_0x2d50cc[_0x3b889a(0x201)]({'height':'auto'});if(_0x2d50cc[_0x3b889a(0x223)][_0x3b889a(0x1b1)]){var _0x408343=[];_0x2d50cc[_0x3b889a(0x1af)]('input[type=\x22checkbox\x22]')['each'](function(){const _0x4d70f4=_0x3b889a;$(this)[_0x4d70f4(0x1c9)]('checked')&&_0x408343[_0x4d70f4(0x1f4)]($(this)[_0x4d70f4(0x21e)]('value'));}),_0x2d50cc[_0x3b889a(0x1bf)](_0x408343);}_0xbf423f[_0x3b889a(0x1e1)]['is'](':visible')?_0xbf423f[_0x3b889a(0x244)]['trigger'](_0x3b889a(0x177)):_0xbf423f[_0x3b889a(0x205)][_0x3b889a(0x1ab)](_0x3b889a(0x177));},'_createMenu'(_0x3a869e,_0x360684,_0xae0344){const _0x39096f=_0x596ede;var _0x236d67=this;const _0x5d91c4=$(_0x39096f(0x25b))[_0x39096f(0x218)](_0x39096f(0x1e6));return _0x5d91c4[_0x39096f(0x223)]=_0x360684,_0x5d91c4[_0x39096f(0x1bf)]=_0xae0344,_0x3a869e[_0x39096f(0x25d)](_0x14846d=>{const _0x5398ee=_0x39096f;typeof _0x14846d===_0x5398ee(0x195)&&(_0x14846d={'value':_0x14846d,'label':_0x14846d});var _0x356954=$(_0x5398ee(0x247))[_0x5398ee(0x264)](_0x5398ee(0x1c8),_0x14846d[_0x5398ee(0x1c8)])['appendTo'](_0x5d91c4);_0x14846d[_0x5398ee(0x168)]&&_0x356954['text'](_0x14846d[_0x5398ee(0x168)]);_0x14846d[_0x5398ee(0x16b)]&&_0x356954[_0x5398ee(0x1c9)](_0x5398ee(0x16b),_0x14846d[_0x5398ee(0x16b)]);if(_0x14846d['icon']){if(_0x14846d[_0x5398ee(0x1d8)][_0x5398ee(0x147)]('<')===0x0)$(_0x14846d['icon'])[_0x5398ee(0x156)](_0x356954);else _0x14846d[_0x5398ee(0x1d8)][_0x5398ee(0x147)]('/')!==-0x1?$(_0x5398ee(0x1eb),{'class':_0x5398ee(0x207),'style':_0x5398ee(0x154)+_0x14846d['icon']+_0x5398ee(0x1ca)+_0x14846d['icon']+');'})['prependTo'](_0x356954):$(_0x5398ee(0x1eb),{'class':_0x5398ee(0x1ee)+_0x14846d['icon']})[_0x5398ee(0x156)](_0x356954);}else _0x356954['css']({'paddingLeft':_0x5398ee(0x18b)});!_0x14846d['icon']&&!_0x14846d['label']&&_0x356954[_0x5398ee(0x1dd)](_0x14846d[_0x5398ee(0x1c8)]);var _0x874061;_0x360684[_0x5398ee(0x1b1)]&&(_0x874061=$('<input\x20type=\x22checkbox\x22>')['css'](_0x5398ee(0x25f),_0x5398ee(0x1bd))[_0x5398ee(0x21e)]('value',_0x14846d[_0x5398ee(0x1c8)])[_0x5398ee(0x156)](_0x356954)['on'](_0x5398ee(0x18a),function(_0x351146){const _0x4524e9=_0x5398ee;_0x351146[_0x4524e9(0x24e)]();})),_0x356954['on'](_0x5398ee(0x190),function(_0x1f1af3){const _0x5046cc=_0x5398ee;_0x1f1af3['preventDefault'](),_0x1f1af3['stopPropagation'](),!_0x360684[_0x5046cc(0x1b1)]?(_0xae0344(_0x14846d[_0x5046cc(0x1c8)]),_0x236d67[_0x5046cc(0x197)](_0x5d91c4)):_0x874061[_0x5046cc(0x1c9)]('checked',!_0x874061['prop']('checked'));});}),_0x5d91c4[_0x39096f(0x201)]({'display':_0x39096f(0x1bd)}),_0x5d91c4['on'](_0x39096f(0x1c5),function(_0x19598b){const _0x2e0313=_0x39096f;if(_0x19598b[_0x2e0313(0x162)]===0x28)_0x19598b['preventDefault'](),$(this)[_0x2e0313(0x1d3)](_0x2e0313(0x21d))[_0x2e0313(0x1a9)]()['trigger'](_0x2e0313(0x177));else{if(_0x19598b[_0x2e0313(0x162)]===0x26)_0x19598b['preventDefault'](),$(this)['children'](_0x2e0313(0x21d))[_0x2e0313(0x232)]()[_0x2e0313(0x1ab)]('focus');else _0x19598b[_0x2e0313(0x162)]===0x1b&&(_0x19598b['preventDefault'](),_0x236d67[_0x2e0313(0x197)](_0x5d91c4));}_0x19598b[_0x2e0313(0x1b0)]();}),_0x5d91c4;},'disarmClick':![],'_showMenu'(_0x19f8f7,_0x3f8e78){const _0x96d152=_0x596ede;if(this[_0x96d152(0x208)]){this[_0x96d152(0x208)]=![];return;}var _0x3cfcec=this,_0x1aeefe=_0x3f8e78[_0x96d152(0x221)](),_0x338239=_0x3f8e78[_0x96d152(0x229)](),_0x2f56c1=_0x19f8f7[_0x96d152(0x229)](),_0x51e051=_0x338239+_0x1aeefe['top'];_0x51e051+_0x2f56c1-$(document)[_0x96d152(0x187)]()>$(window)[_0x96d152(0x229)]()&&(_0x51e051-=_0x51e051+_0x2f56c1-$(window)[_0x96d152(0x229)]()+0x5),_0x51e051<0x0&&(_0x19f8f7['height'](_0x2f56c1+_0x51e051),_0x51e051=0x0),_0x19f8f7[_0x96d152(0x201)]({'top':_0x51e051+'px','left':_0x1aeefe['left']+'px'}),_0x19f8f7[_0x96d152(0x198)](0x64),this[_0x96d152(0x1aa)](function(){const _0xae1f32=_0x96d152;_0x3cfcec[_0xae1f32(0x211)][_0xae1f32(0x218)](_0xae1f32(0x24c)),$(document)['on'](_0xae1f32(0x1c0),function(_0xf6151f){const _0x348741=_0xae1f32;!$(_0xf6151f[_0x348741(0x18f)])[_0x348741(0x22d)](_0x19f8f7)['length']&&_0x3cfcec[_0x348741(0x197)](_0x19f8f7),$(_0xf6151f[_0x348741(0x18f)])[_0x348741(0x22d)](_0x3f8e78)['length']&&(_0x3cfcec[_0x348741(0x208)]=!![],_0xf6151f[_0x348741(0x24e)]());});});},'_showTypeMenu'(){const _0x16535c=_0x596ede,_0x18cca=this;this[_0x16535c(0x23c)](_0x18cca[_0x16535c(0x263)],_0x18cca['$combo']),_0x18cca[_0x16535c(0x186)][_0x16535c(0x183)]();const _0x1eb636=_0x18cca[_0x16535c(0x210)];var _0x444992=_0x18cca['$menu'][_0x16535c(0x1af)](_0x16535c(0x1a0)+_0x1eb636+'\x27');setTimeout(function(){const _0x22ac7b=_0x16535c;_0x444992['trigger'](_0x22ac7b(0x177));},0x78);},'_initMenu'(){const _0x2c63f6=_0x596ede,_0x3de117=this;_0x3de117[_0x2c63f6(0x205)]['attr'](_0x2c63f6(0x20f),-0x1),_0x3de117[_0x2c63f6(0x205)]['on'](_0x2c63f6(0x176),function(_0x2bb18a){_0x2bb18a['preventDefault']();});_0x3de117['$menu']&&_0x3de117[_0x2c63f6(0x263)][_0x2c63f6(0x1d4)]();const _0x290a75=[{'label':_0x2c63f6(0x1dd),'value':'t','title':_0x2c63f6(0x19b),'icon':_0x2c63f6(0x196)},{'label':'msg.','value':_0x2c63f6(0x23f),'title':_0x2c63f6(0x15e),'icon':_0x2c63f6(0x165)},{'label':_0x2c63f6(0x206),'value':'n','icon':_0x2c63f6(0x257)},{'label':_0x2c63f6(0x169),'value':'na','icon':'<i\x20class=\x22fa\x20fa-bookmark\x22/> \x20'},{'label':_0x2c63f6(0x217),'value':_0x2c63f6(0x1ea),'icon':'<i\x20class=\x22fa\x20fa-id-card\x22/> \x20'},{'label':_0x2c63f6(0x1ac),'value':'b','icon':_0x2c63f6(0x1dc)},{'label':_0x2c63f6(0x237),'value':'ab','icon':'<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> '}],_0xed0be4=_0x4f04da(_0x3de117['$input'][_0x2c63f6(0x1ed)]()),_0x111750=_0x290a75['find'](_0x5805c5=>_0x5805c5[_0x2c63f6(0x1c8)]===_0xed0be4);_0x3de117['$selectLabel'][_0x2c63f6(0x182)]()[_0x2c63f6(0x173)](_0x2c63f6(0x167)+((_0x111750===null||_0x111750===void 0x0?void 0x0:_0x111750[_0x2c63f6(0x16b)])||'')+'> \x20'+((_0x111750===null||_0x111750===void 0x0?void 0x0:_0x111750[_0x2c63f6(0x1d8)])||'')+_0x2c63f6(0x228)),_0x3de117[_0x2c63f6(0x210)]=_0xed0be4;const _0x2b6a7a=this;_0x3de117[_0x2c63f6(0x263)]=this['_createMenu'](_0x290a75,{},_0x119ad9=>{const _0x50766c=_0x2c63f6,_0x8a97cd=_0x3c87ef(_0x119ad9);_0x8a97cd&&_0x2b6a7a[_0x50766c(0x164)](_0x8a97cd);const _0x82ffe1=_0x290a75[_0x50766c(0x1af)](_0x28ab7f=>_0x28ab7f['value']===_0x119ad9);_0x3de117['selectedMenuItem']=_0x119ad9,_0x3de117[_0x50766c(0x1fd)][_0x50766c(0x182)]()[_0x50766c(0x173)]('<span\x20title='+((_0x82ffe1===null||_0x82ffe1===void 0x0?void 0x0:_0x82ffe1[_0x50766c(0x16b)])||'')+_0x50766c(0x255)+((_0x82ffe1===null||_0x82ffe1===void 0x0?void 0x0:_0x82ffe1[_0x50766c(0x1d8)])||'')+'</span>');}),_0x3de117[_0x2c63f6(0x263)][_0x2c63f6(0x149)](document[_0x2c63f6(0x1e7)]),_0x3de117['$menu'][_0x2c63f6(0x183)](),_0x3de117[_0x2c63f6(0x205)][_0x2c63f6(0x166)]();},'mode'(){const _0x9fbfe2=_0x596ede,_0x3a6507=this;return _0x3c87ef(_0x3a6507[_0x9fbfe2(0x210)]);},'setMode'(_0x1683e0){const _0xbc684e=_0x596ede,_0x4df6d4=this,_0x441574=_0xd1c8bc(_0x1683e0);_0x4df6d4[_0xbc684e(0x210)]=_0x441574;},'_create'(){const _0x3ed666=_0x596ede,_0x46614e=this;_0x46614e[_0x3ed666(0x244)]=this[_0x3ed666(0x25c)],_0x46614e[_0x3ed666(0x244)]['css']('border','none'),_0x46614e['$elementDiv']=_0x46614e[_0x3ed666(0x244)][_0x3ed666(0x14a)](_0x3ed666(0x25b))[_0x3ed666(0x1cf)]()['addClass'](_0x3ed666(0x248)),_0x46614e[_0x3ed666(0x174)]=$('<div/>'),_0x46614e[_0x3ed666(0x174)][_0x3ed666(0x218)]('sterfive-combo-box'),_0x46614e[_0x3ed666(0x244)][_0x3ed666(0x143)](_0x46614e[_0x3ed666(0x174)]),_0x46614e[_0x3ed666(0x21a)]=$(_0x3ed666(0x18d))['addClass'](_0x3ed666(0x25a)),_0x46614e[_0x3ed666(0x174)]['append'](_0x46614e['$inputGroup']),_0x46614e[_0x3ed666(0x21a)]['append'](_0x46614e['$input']),_0x46614e[_0x3ed666(0x1da)]=$('<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>'),_0x46614e[_0x3ed666(0x244)][_0x3ed666(0x151)](_0x46614e[_0x3ed666(0x1da)]),_0x46614e['$toggleTreeBtn']['on'](_0x3ed666(0x190),function(){return _0x38f029(this,void 0x0,void 0x0,function*(){const _0x556d15=_0x1086;var _0x4f4323;let _0x38ce79=![],_0x9e322e;!_0x46614e[_0x556d15(0x186)]['is'](_0x556d15(0x18c))&&(_0x46614e[_0x556d15(0x1d6)][_0x556d15(0x183)](),_0x9e322e=yield _0x46614e[_0x556d15(0x1e3)](),(_0x9e322e!==_0x46614e[_0x556d15(0x14b)]||((_0x4f4323=_0x46614e[_0x556d15(0x14b)])===null||_0x4f4323===void 0x0?void 0x0:_0x4f4323['nodeId'])!==_0x9e322e[_0x556d15(0x170)])&&(yield _0x46614e[_0x556d15(0x256)]()),_0x38ce79=!![]),_0x46614e[_0x556d15(0x186)][_0x556d15(0x204)](),_0x38ce79&&(yield _0x487486(_0x46614e,_0x9e322e));});}),_0x46614e[_0x3ed666(0x250)]=$(_0x3ed666(0x233)),_0x46614e[_0x3ed666(0x244)][_0x3ed666(0x151)](_0x46614e['$verifyBtn']),_0x46614e[_0x3ed666(0x250)]['on']('click',()=>{const _0x1fa7a3=_0x3ed666,_0x67a817=_0x46614e['mode']();if(!_0x67a817)return;this[_0x1fa7a3(0x164)](_0x67a817);});const _0x2faffb=_0x41ba2c=>_0x38f029(this,void 0x0,void 0x0,function*(){const _0xb51c7c=_0x3ed666,_0x2be248=this;let _0x472df6=_0x2be248['mode']();if(!_0x472df6)return;const _0xcff810=_0xf24131(_0x2be248),{data:_0x45a00a,json:_0x2a48ef}=yield _0x5084b5(_0xcff810,_0x41ba2c);if(_0x45a00a['status']!==0xc8)return;if(_0x2a48ef[_0xb51c7c(0x14c)]['match'](/Good/)){const _0x1d7c61=_0x5dcdee(_0x2a48ef,_0x472df6);_0x2be248[_0xb51c7c(0x244)][_0xb51c7c(0x1ed)](_0x1d7c61),_0x2be248['$input'][_0xb51c7c(0x1ab)](_0xb51c7c(0x16c));}});{_0x46614e[_0x3ed666(0x211)]=$(_0x3ed666(0x25b)),_0x46614e['$input'][_0x3ed666(0x1cd)](_0x46614e[_0x3ed666(0x211)]),_0x46614e[_0x3ed666(0x205)]=$(_0x3ed666(0x191))[_0x3ed666(0x156)](_0x46614e[_0x3ed666(0x211)]),$('<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>')[_0x3ed666(0x204)](!![])[_0x3ed666(0x149)](_0x46614e[_0x3ed666(0x205)]),_0x46614e['$selectTrigger']['on'](_0x3ed666(0x190),function(_0x1e2b84){const _0x2b10ab=_0x3ed666;_0x1e2b84[_0x2b10ab(0x24e)](),_0x1e2b84[_0x2b10ab(0x1b0)](),_0x46614e[_0x2b10ab(0x15b)]();}),_0x46614e[_0x3ed666(0x205)]['on'](_0x3ed666(0x1c5),function(_0x168485){const _0x38a7d5=_0x3ed666;_0x168485[_0x38a7d5(0x162)]===0x28&&_0x46614e['_showTypeMenu'](),_0x168485[_0x38a7d5(0x1b0)]();})['on'](_0x3ed666(0x177),function(){const _0x36b884=_0x3ed666;_0x46614e[_0x36b884(0x211)][_0x36b884(0x218)](_0x36b884(0x24c));})['on'](_0x3ed666(0x226),function(){const _0x20054a=_0x3ed666;_0x46614e[_0x20054a(0x211)][_0x20054a(0x21c)]('red-ui-typedInput-focus');}),_0x46614e[_0x3ed666(0x1fd)]=$('<span\x20class=\x22red-ui-typedInput-type-label\x22></span>')[_0x3ed666(0x149)](_0x46614e['$selectTrigger']);}this[_0x3ed666(0x231)]();!_0x46614e[_0x3ed666(0x244)]['attr'](_0x3ed666(0x1f9))&&_0x46614e[_0x3ed666(0x244)]['attr']('placeholder','enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20');_0x46614e[_0x3ed666(0x1d6)]=$(_0x3ed666(0x16d)),_0x46614e[_0x3ed666(0x1d6)][_0x3ed666(0x183)](),_0x46614e['$combo']['append'](_0x46614e[_0x3ed666(0x1d6)]),_0x46614e['$dropdown']=$('<div/>')[_0x3ed666(0x218)](_0x3ed666(0x1fb))[_0x3ed666(0x183)]()[_0x3ed666(0x149)](_0x46614e['$combo']),_0x46614e[_0x3ed666(0x17a)]=$(_0x3ed666(0x1c3))['appendTo'](_0x46614e[_0x3ed666(0x186)]),this[_0x3ed666(0x256)]();const _0x58f0ea=(_0x5a9408,_0x32bea5)=>{const _0x2b0b14=_0x3ed666,_0x1ae120=0x14,_0x2a21e2=0x14,_0x4f8590=_0x5a9408['offset'](),_0x1ceb58=_0x32bea5;if(_0x1ceb58['pageX']>=_0x4f8590['left']&&_0x1ceb58[_0x2b0b14(0x192)]<=_0x4f8590['left']+_0x1ae120&&_0x1ceb58[_0x2b0b14(0x1d0)]>=_0x4f8590['top']&&_0x1ceb58[_0x2b0b14(0x1d0)]<=_0x4f8590[_0x2b0b14(0x1ba)]+_0x2a21e2)return!![];return![];},_0x439c9a=_0x3aeb89=>_0x38f029(this,void 0x0,void 0x0,function*(){const _0x46702a=_0x3ed666;if(_0x3aeb89[_0x46702a(0x145)](_0x46702a(0x1f8)))_0x240b48(_0x46614e,_0x3aeb89);else{if(_0x3aeb89['hasClass'](_0x46702a(0x1c7)))_0x3aeb89[_0x46702a(0x1d3)]('ul')[_0x46702a(0x204)](),_0x3aeb89[_0x46702a(0x152)](_0x46702a(0x230));else{if(_0x3aeb89['children']('ul')[_0x46702a(0x1d3)]()[_0x46702a(0x202)]>0x0)_0x3aeb89[_0x46702a(0x1d3)]('ul')[_0x46702a(0x204)](),_0x3aeb89[_0x46702a(0x152)](_0x46702a(0x230));else;}}});_0x46614e['$tree']['on'](_0x3ed666(0x23d),'li',function(_0x4f845b){const _0x28c128=_0x3ed666;var _0x33bbdd,_0xdabca;_0x4f845b[_0x28c128(0x1b0)]();let _0x419b3f=$(this);if(_0x58f0ea(_0x419b3f,_0x4f845b))_0x439c9a(_0x419b3f);else{const _0x333c66=_0x419b3f[_0x28c128(0x21e)](_0x28c128(0x1c8)),_0x4455bd=_0x419b3f[_0x28c128(0x21e)](_0x28c128(0x22c));if(_0x46614e['options']['isSelectable']&&!_0x46614e[_0x28c128(0x1b6)][_0x28c128(0x24b)](_0x4455bd))return;_0x46614e[_0x28c128(0x244)][_0x28c128(0x21e)](_0x28c128(0x22c),_0x4455bd),((_0x33bbdd=_0x4455bd['displayName'])===null||_0x33bbdd===void 0x0?void 0x0:_0x33bbdd[_0x28c128(0x1dd)])||((_0xdabca=_0x4455bd[_0x28c128(0x259)])===null||_0xdabca===void 0x0?void 0x0:_0xdabca[_0x28c128(0x253)])||_0x4455bd['nodeId']['toString']();let _0x2b62ea=_0x46614e['mode']();!_0x2b62ea&&(_0x2b62ea=_0x28c128(0x170),_0x46614e['setMode'](_0x2b62ea)),_0x2faffb(_0x333c66)[_0x28c128(0x23b)](()=>{_0x46614e['$dropdown']['hide']();})[_0x28c128(0x159)](_0x1e9a35=>{_0x46614e['$dropdown']['hide']();});}}),_0x46614e[_0x3ed666(0x17a)]['on'](_0x3ed666(0x190),'li',function(_0x2f9287){const _0xbd9a91=_0x3ed666;_0x2f9287[_0xbd9a91(0x1b0)]();let _0x5c4014=$(this);_0x58f0ea(_0x5c4014,_0x2f9287)&&_0x439c9a(_0x5c4014),_0x592652(_0x46614e,_0x5c4014);}),$(document)['on']('click',function(_0x18a158){const _0x4c065b=_0x3ed666;!$(_0x18a158[_0x4c065b(0x18f)])[_0x4c065b(0x22d)](_0x46614e[_0x4c065b(0x174)])['length']&&_0x46614e['$dropdown']['hide']();});}});},_0x137287=()=>{const _0x56d0a2=_0x3e359e,_0x3a5424=$(_0x56d0a2(0x21f)),_0x5277d0=_0x3a5424[_0x56d0a2(0x1ed)](),_0x223d3c=RED[_0x56d0a2(0x1a4)][_0x56d0a2(0x19f)](_0x5277d0);if(!_0x223d3c)return undefined;const {endpoint:_0x51dbe5,securityMode:_0x239f94,securityPolicy:_0x4636ee,userIdentityType:_0x12f19a,credentials:_0x58b347,namespaceAliases:_0x313706}=_0x223d3c,_0x4a87a1={'endpoint':_0x51dbe5,'securityMode':_0x239f94,'securityPolicy':_0x4636ee,'userIdentityType':_0x12f19a,'credentials':_0x58b347,'namespaceAliases':_0x313706};return _0x4a87a1;},_0x2a4d3d=()=>{const _0x52ec88=_0x3e359e,_0x16440b=$(_0x52ec88(0x21f)),_0x5f1f42=_0x16440b[_0x52ec88(0x1ed)](),_0x3917d2=_0x137287();if(!_0x3917d2)return undefined;const _0x51140f=_0x3917d2[_0x52ec88(0x150)];return Object[_0x52ec88(0x266)]({'namespaceAliases':_0x51140f,'id':_0x5f1f42},_0x3917d2);},_0x41aa91=()=>{return{'endpointNode':_0x2a4d3d};},_0x4b524f=()=>{const _0x1d1d4a=_0x3e359e,_0x49693c=$(_0x1d1d4a(0x146));if(_0x49693c[_0x1d1d4a(0x202)]){const _0x1474e7=$(_0x1d1d4a(0x200),{'src':'/opcua-for-node-red/support-frame.html','scrolling':'no','style':_0x1d1d4a(0x1ec),'allowtransparency':'true','width':_0x1d1d4a(0x1a1),'height':_0x1d1d4a(0x1a2)});_0x49693c[_0x1d1d4a(0x173)](_0x1474e7),_0x1474e7[_0x1d1d4a(0x201)]({'position':_0x1d1d4a(0x22b),'right':_0x1d1d4a(0x17f),'bottom':_0x1d1d4a(0x1b8)});}};RED[_0x3e359e(0x1a4)][_0x3e359e(0x20e)](_0x3e359e(0x252),{'category':_0x3e359e(0x15f),'color':_0x3e359e(0x219),'align':_0x3e359e(0x189),'icon':_0x3e359e(0x19c),'paletteLabel':_0x3e359e(0x19d),'defaults':{'inputs':{'value':0x1},'output':{'value':0x4},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0x3e359e(0x213)},'nodeId':{'value':'','required':![]},'outputType':{'value':_0x3e359e(0x16a),'required':!![]},'excludeEmpty':{'value':![]},'followOrganizes':{'value':![]}},'outputs':0x1,'label'(){const _0x1cd8d5=_0x3e359e;return this[_0x1cd8d5(0x253)]||'OPCUA\x20Explore';},'labelStyle'(){const _0x6e1a6b=_0x3e359e;return this[_0x6e1a6b(0x253)]?_0x6e1a6b(0x1cb):'';},'oneditprepare'(){const _0x3a596b=_0x3e359e,_0x254cdb=this;_0x3dd1c5(),_0x4b524f(),_0x254cdb['inputs']=0x1;const _0x20083d=$(_0x3a596b(0x1df));_0x20083d[_0x3a596b(0x261)](Object[_0x3a596b(0x266)](Object[_0x3a596b(0x266)]({},_0x41aa91()),{'isSelectable'(_0x1c0af8){const _0x72f580=_0x3a596b;return _0x1c0af8['nodeClass']===_0x72f580(0x16f)||_0x1c0af8[_0x72f580(0x240)]===_0x72f580(0x1db);}}));},'oneditsave'(){}});}()));function _0x236a(){const _0x234fab=['$dropdown','scrollTop','HasProperty','right','mousedown','18px',':visible','<div/>','BrowseName','target','click','<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>','pageX','aliased\x20browsePath:\x20','SandyBrown','string','<i\x20class=\x22fa\x20fa-font\x22/i>\x20','_hideMenu','slideDown','call','done','Value\x20is\x20not\x20verified','../../icons/opcuanodeLogo.png','explore','localeCompare','node','[value=\x27','180px','30px','HasSubtype','nodes','fa-cog','ns=0;i=85','loading','/browse','next','_delay','trigger','BrowsePath','selected','grey','find','stopPropagation','multiple','Unspecified','match','error','3362367tGWcdd','options','function','16px','Organizes','top','fa-object-group','ns=0;i=46','none','already\x20loading','callback','mousedown.red-ui-typedInput-close-property-select','opc.tcp://opcuademo.sterfive.com:26543','fetched','<ul\x20class=\x22sterfive-tree\x22></ul>','DarkOrange','keydown','nsu\x20nodeId:\x20','expanded','value','prop',');\x20-webkit-mask-image:\x20url(','node_label_italic','bp_indexed','before','<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>','parent','pageY','\x22}><span\x20class=\x22tree-text\x22\x20title=','status','children','remove','failure','$info','rgba(61,\x2060,\x204,\x200.525)','icon','fa-list-alt','$toggleTreeBtn','Object','<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> ','text','browseResult','#node-input-nodeId','273775AuXeir','$elementDiv','><i\x20class=\x22fa\x20','resolveParentNode','NodeClass','application/json','sterfive-typedInput-options\x20sterfive-online-menu','body','fa-text-width','HasComponent','nsu','<i>','background-color:transparent;overflow:hidden;border:3px','val','red-ui-typedInput-icon\x20','statusText','SteelBlue','parentNode','browse\x20path:\x20',':first','push','browsePath','HasChild','2844780YheKSt','expandable','placeholder','li[key=\x22','sterfive-dropdown','endpointNode','$selectLabel','Method','filter','<iframe></iframe>','css','length','typeDefinition','toggle','$selectTrigger','NodeId','red-ui-typedInput-icon','disarmClick','View','DataType','aliasedBrowsePath','ObjectType',';\x22></i>\x20','registerType','tabindex','selectedMenuItem','$uiSelect','ns=0;i=34','OpcUa-Endpoint2','7LzPGWx','widget','Inverse','NodeId\x20with\x20namespace\x20Urn','addClass','#C0DEED','$inputGroup','toString','removeClass',':focus','data','#node-input-endpoint','message','offset','json','opts','Good','</li>','blur','references','</span>','height','DisplayName','absolute','reference','closest','endpoint','ns=0;i=45','expandable\x20expanded','_initMenu','prev','<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>','fa-question','HasTypeDefinition','i=61','Aliased\x20Browse\x20Path','baseUrl','ReferenceType','4141520QPXMob','then','_showMenu','dblclick','Forward','msg','nodeClass','aliased\x20NodeId:\x20','elements','stringify','$input','referenceTypeId','nodeId_aliased','<a\x20href=\x22#\x22></a>','main-wrapper','aliasedNodeId','1569914YkmxqE','isSelectable','red-ui-typedInput-focus','.tree-text:first','preventDefault','/checkNodeId','$verifyBtn','suppressed','OpcUa-Client2-Explore','name','104594uwgOLh','> \x20','reset','<i\x20class=\x22fa\x20fa-tag\x22/>1\x20 \x20','sterfive.nodeBrowser','browseName','sterfive-input-group','<div>','element','forEach','4EOEonK','pointer-events','nodeId_nsu','nodeBrowser','ns=0;i=35','$menu','attr','nodeIds','assign','7568442WoMaQm','err','apply','<div\x20class=\x22spinner\x22></div>','ns=0;i=47','replaceWith','30gKRhyk','hasClass','.red-ui-tray-body','indexOf','POST','appendTo','wrap','currentParent','statusCode','Objects','SeaGreen','TypeDefinition','namespaceAliases','after','toggleClass','<li\x20key=\x22','mask-image:\x20url(','__parentNode','prependTo','join','Both','catch','VariableType','_showTypeMenu','throw','isTypeRef','node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','opcua','sort','fa-sliders','keyCode','relativePath','verify','<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>','show','<span\x20title=','label','Aliased\x20NodeId','Value','title','change','<div\x20class=\x22sterfive-info-text\x22></div>','displayName','Variable','nodeId','/opcua-for-node-red','animate','append','$combo','Invalid','mousedown.red-ui-typedInput-focus-block','focus','ns=0;i=61','/walk-backward','$tree','requestedNodeId','IsForward','sterfive-input-error','nsuNodeID','20px','bp_aliased','log','empty','hide','off','.spinner'];_0x236a=function(){return _0x234fab;};return _0x236a();}
|
9
8
|
</script>
|
10
9
|
<script type="text/x-red" data-template-name="OpcUa-Client2-Explore">
|
11
10
|
<style>
|