@opcua/for-node-red 2.12.0 → 2.12.2

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.
@@ -4,8 +4,8 @@
4
4
  </style>
5
5
 
6
6
  <script type="text/javascript">
7
- function _0x4481(_0x2fbe86,_0x14b6a0){const _0x53c305=_0x53c3();return _0x4481=function(_0x4481af,_0xa23bc5){_0x4481af=_0x4481af-0x177;let _0x3219ec=_0x53c305[_0x4481af];return _0x3219ec;},_0x4481(_0x2fbe86,_0x14b6a0);}function _0x53c3(){const _0x7bdb10=['stringify','replace','FREEWARE','#node-config-input-name','parameters','prctbl_1OJt49BCNccbzsVzkaANOgFL','<span>','template','requestedMaxKeepAliveCount','message','editableList',':checked','#node-config-input-userIdentityType','licenceType','/opcua-endpoint2/test-connection','-messages','registerType','pricing-table-id','type','EXPIRED','#checkCertificate','<i>','#node-config-input-userCertificate','tabs','invalid\x20userIdentityType\x20','.input-requestedPublishingInterval','show','margin-top:\x2020px;','join','attr','#toggleAdvancedSection','connection','\x20for\x20more\x20information.','daysLeft','script','POST','map','1AdAQgH','removeClass','json','height:\x20100%\x20!important;','assign','click','Licence\x20has\x20expired','items','config','endpoint-tab-connection','extra','-success','407722aCaUUE','element','async','#node-config-input-userPrivatekey','2457058eYMSTk','Your\x20licence\x20is\x20valid.','createElement','Slow\x20Subscription','src','4JTauZm','name','\x20days.','style','#node-config-input-password','8hCrEDH','FAILED','licence-widget-icon','password','.input-maxNotificationsPerPublish','class','\x20It\x20will\x20expire\x20in\x20','<stripe-pricing-table/>','requestedLifetimeCount','7438566YcIhJX','val','-pending','Sign','opc.tcp://opcuademo.sterfive.com:26543/UA/SampleServer','150px','licenceWidget','Basic256Sha256','toISOString','throw','apply','22328016DYLQNZ','width','fa\x20fa-check-circle','Subscribe','#node-config-input-useTransport','endpoint','catch','<a\x20href=\x22mailto:support@sterfive.com\x22\x20subject=\x22@opcua/for-node-red\x20support\x20request\x22>mailto:support@sterfive.com</a>','find','publishable-key','hide','fa\x20fa-exclamation-circle','log','priority','opcua\x20endpoint','Anonymous','None','\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.̀','UserName','internal\x20error\x20','isDefault','.input-name','children','https://js.stripe.com/v3/pricing-table.js','text','#node-config-input-endpoint','maxNotificationsPerPublish','nodes','.section-userIdentityType-UserName','opc.tcp:','SignAndEncrypt','disabled','append','addClass','fa\x20fa-calendar-time','.input-isDefault','5TvMuYY','.section-securityPolicy','endpoint-tab-subscriptions','</p>','#node-config-input-securityPolicy','prop','sterfive.licenceWidget','#node-input-useTransport','done','#test-connection','html','.input-publishingEnabled','subscribe-button','TRIAL','.template','AUTHORIZED','Fast\x20Subscription','addItem','function','<a\x20href=\x22https://www.sterfive.com/opcua/for-node-red\x22\x20target=”_blank”>Sterfive\x27s\x20website\x20</a>','.input-priority','Freeware\x20licence','resize','#node-config-input-securityMode','Certificate','readonly','\x20-\x20','The\x20Trial\x20will\x20expire\x20in\x20','licence-widget-msg','This\x20is\x20a\x20freeware\x20licence,\x20and\x20have\x20some\x20limitations.\x0a','\x20days.\x0aBuy\x20online\x20and\x20visit\x20','#node-input-sendBufferSize','application/json','#node-config-input-userName','split','baseUrl','.red-ui-editableList-item-remove','value','.input-requestedMaxKeepAliveCount','onPremiseServerHost','licence-widget','push','data-i','#licenceWidget','Default\x20Subscription','9732132BbImeu','error','#subscriptions-container','<p>','btn\x20btn-primary','suppressed','head','<br>','OpcUa-Endpoint2','#node-input-maxMessageSize','licenceInfo','status','protocol','Testing\x20Connection\x20...','3752949eGqPpw','removeAttr','-failure','#section-Advanced','/licenceInfo','addTab','next','widget','length','then','css','11uSpKTX','subscriptions','checked','PROFESSIONAL','#node-config-endpoint-tabs-content','9849130iNqFnT','change','#section-TransportSettings'];_0x53c3=function(){return _0x7bdb10;};return _0x53c3();}(function(_0xdce3d6,_0x5960b1){const _0x4469f1=_0x4481,_0x201196=_0xdce3d6();while(!![]){try{const _0x11d592=parseInt(_0x4469f1(0x1fc))/0x1*(-parseInt(_0x4469f1(0x20c))/0x2)+-parseInt(_0x4469f1(0x1c4))/0x3*(parseInt(_0x4469f1(0x211))/0x4)+parseInt(_0x4469f1(0x189))/0x5*(parseInt(_0x4469f1(0x21f))/0x6)+-parseInt(_0x4469f1(0x208))/0x7+parseInt(_0x4469f1(0x216))/0x8*(parseInt(_0x4469f1(0x1b6))/0x9)+parseInt(_0x4469f1(0x1d4))/0xa*(-parseInt(_0x4469f1(0x1cf))/0xb)+parseInt(_0x4469f1(0x22a))/0xc;if(_0x11d592===_0x5960b1)break;else _0x201196['push'](_0x201196['shift']());}catch(_0x290849){_0x201196['push'](_0x201196['shift']());}}}(_0x53c3,0xa0ea2),(function(){'use strict';const _0x20046a=_0x4481;function _0x445d61(_0x5597ed,_0x555b45,_0x264c2f,_0x3fc8f2){function _0x102279(_0x3557fd){return _0x3557fd instanceof _0x264c2f?_0x3557fd:new _0x264c2f(function(_0x289c14){_0x289c14(_0x3557fd);});}return new(_0x264c2f||(_0x264c2f=Promise))(function(_0x45d815,_0x453f3d){const _0x147512=_0x4481;function _0x98c3d(_0x4d29bc){const _0x30dc6f=_0x4481;try{_0x2c0f4d(_0x3fc8f2[_0x30dc6f(0x1ca)](_0x4d29bc));}catch(_0x4c1da1){_0x453f3d(_0x4c1da1);}}function _0x2e7900(_0x1d423a){const _0x515958=_0x4481;try{_0x2c0f4d(_0x3fc8f2[_0x515958(0x228)](_0x1d423a));}catch(_0x246b2e){_0x453f3d(_0x246b2e);}}function _0x2c0f4d(_0x16a157){const _0x56ac00=_0x4481;_0x16a157[_0x56ac00(0x191)]?_0x45d815(_0x16a157[_0x56ac00(0x1ae)]):_0x102279(_0x16a157['value'])[_0x56ac00(0x1cd)](_0x98c3d,_0x2e7900);}_0x2c0f4d((_0x3fc8f2=_0x3fc8f2[_0x147512(0x229)](_0x5597ed,_0x555b45||[]))[_0x147512(0x1ca)]());});}typeof SuppressedError===_0x20046a(0x19b)?SuppressedError:function(_0x515bb8,_0x272796,_0x3fa7d1){const _0x558a01=_0x20046a;var _0x240f49=new Error(_0x3fa7d1);return _0x240f49[_0x558a01(0x212)]='SuppressedError',_0x240f49[_0x558a01(0x1b7)]=_0x515bb8,_0x240f49[_0x558a01(0x1bb)]=_0x272796,_0x240f49;};function _0x4fe7d8(_0x3ab24d,_0x14612a,_0x2d3b28,_0x525161){const _0x2ab7b7=_0x20046a,_0x27ac8c=$('#'+_0x3ab24d+_0x2ab7b7(0x207)),_0x4ff264=$('#'+_0x3ab24d+_0x2ab7b7(0x1c6)),_0x432b54=$('#'+_0x3ab24d+_0x2ab7b7(0x221)),_0x313b0e=$('#'+_0x3ab24d+_0x2ab7b7(0x1e6));let _0x1565e0=![];_0x27ac8c[_0x2ab7b7(0x234)](),_0x4ff264[_0x2ab7b7(0x234)](),_0x432b54[_0x2ab7b7(0x234)](),_0x14612a['on'](_0x2ab7b7(0x201),()=>{const _0x11ac57=_0x2ab7b7;if(_0x1565e0)return;_0x1565e0=!![],_0x432b54[_0x11ac57(0x1fd)](_0x11ac57(0x234)),_0x432b54['html'](_0x11ac57(0x1c3)),_0x27ac8c['addClass']('hide'),_0x4ff264['addClass'](_0x11ac57(0x234)),_0x313b0e[_0x11ac57(0x193)]('');const {body:_0x3e66c8,url:_0x462eb8}=_0x2d3b28();fetch(_0x462eb8,{'method':_0x11ac57(0x1fa),'headers':{'Content-Type':_0x11ac57(0x1a9)},'body':JSON[_0x11ac57(0x1d7)](_0x3e66c8)})[_0x11ac57(0x1cd)](_0x42af77=>_0x42af77[_0x11ac57(0x1fe)]())['then'](_0x5d551c=>{const _0x3bce34=_0x11ac57;_0x1565e0=![],_0x432b54[_0x3bce34(0x234)](),console[_0x3bce34(0x236)](JSON[_0x3bce34(0x1d7)](_0x5d551c,null,'\x20'));if(_0x5d551c['result']==='ok')_0x27ac8c[_0x3bce34(0x1fd)](_0x3bce34(0x234)),_0x4ff264[_0x3bce34(0x186)](_0x3bce34(0x234)),_0x313b0e[_0x3bce34(0x193)](_0x5d551c[_0x3bce34(0x1e0)][_0x3bce34(0x1d8)]('\x0a',_0x3bce34(0x1bd))),_0x525161(null,_0x5d551c);else{const _0x1edd8c=_0x464b77=>!_0x464b77?'':_0x464b77[_0x3bce34(0x1ab)]('\x0a')['map'](_0x426d98=>_0x3bce34(0x1b9)+_0x426d98+_0x3bce34(0x18c))[_0x3bce34(0x1f3)]('\x0a'),_0x5c9d7c=_0x26b392=>Array['isArray'](_0x26b392)?_0x26b392[_0x3bce34(0x1fb)](_0x1edd8c)[_0x3bce34(0x1f3)]('\x0a'):_0x1edd8c(_0x26b392);_0x27ac8c[_0x3bce34(0x186)](_0x3bce34(0x234)),_0x4ff264[_0x3bce34(0x1fd)](_0x3bce34(0x234)),_0x313b0e[_0x3bce34(0x193)](_0x5c9d7c(_0x5d551c['message'])+_0x5c9d7c(_0x5d551c[_0x3bce34(0x206)])),_0x525161(new Error(_0x5d551c['result']),_0x5d551c);}})[_0x11ac57(0x230)](_0x230bbc=>{const _0x1a61af=_0x11ac57;_0x1565e0=![],_0x432b54[_0x1a61af(0x186)](_0x1a61af(0x234)),_0x27ac8c[_0x1a61af(0x186)](_0x1a61af(0x234)),_0x4ff264[_0x1a61af(0x1fd)](_0x1a61af(0x234)),_0x313b0e[_0x1a61af(0x193)](_0x1a61af(0x178)+_0x230bbc[_0x1a61af(0x1e0)]),console[_0x1a61af(0x236)]('err',_0x230bbc),_0x525161(_0x230bbc,null);});});}const _0x34d03d=_0x20046a(0x1dc),_0x5326c5='pk_live_51HsE1sBCNccbzsVzt7zaq2uv20pkryWllAzvZgZd5AhwFI9A3qBIeOJvJwQF08lDoLpFqLjwmyA79wnPnYLsvKjt009f00VpCW';function _0x5b2d41(){return _0x445d61(this,arguments,void 0x0,function*(_0x50f57e=''){const _0x1ee28d=_0x4481,_0x28bc4b=_0x50f57e+'/opcua-endpoint2',_0x41b5ef=_0x28bc4b+_0x1ee28d(0x1c8),_0x1b77fa=yield fetch(_0x41b5ef,{'method':_0x1ee28d(0x1fa),'headers':{'Content-Type':'application/json'}}),_0x1fe63f=new Date()[_0x1ee28d(0x227)]();if(_0x1b77fa[_0x1ee28d(0x1c1)]!==0xc8)return console['log']('fetching\x20failed\x20with\x20error',_0x1b77fa['status'],_0x1b77fa['statusText']),{'status':'FAILED','type':_0x1ee28d(0x1d9),'licenceInfo':{'expiryDate':_0x1fe63f}};const _0x31dc06=yield _0x1b77fa[_0x1ee28d(0x1fe)]();return _0x31dc06;});}const _0x4534de=()=>{const _0x5329a2=_0x20046a;$[_0x5329a2(0x1cb)](_0x5329a2(0x18f),{'options':{'baseUrl':''},'_create'(){const _0x34dfaa=_0x5329a2,_0x45bb7d=this,_0x3ed70e=_0x34dfaa(0x231),_0x1fef1e=_0x34dfaa(0x19c);_0x5b2d41(_0x45bb7d[_0x34dfaa(0x1ac)])[_0x34dfaa(0x1cd)](_0x47ac3a=>{const _0x4e9ae8=_0x34dfaa;let _0x1b4cf8='',_0x5a047a='',_0x4ae509='';const _0x23bb73=_0x47ac3a[_0x4e9ae8(0x1c1)],_0x5aead6=_0x47ac3a[_0x4e9ae8(0x1f8)];switch(_0x23bb73){case _0x4e9ae8(0x198):_0x1b4cf8=_0x4e9ae8(0x22c);switch(_0x47ac3a[_0x4e9ae8(0x1e9)]){case _0x4e9ae8(0x196):{_0x5a047a='Trial\x20licence',_0x4ae509=_0x4e9ae8(0x1a4)+_0x5aead6+_0x4e9ae8(0x1a7)+_0x1fef1e+'\x20to\x20acquire\x20a\x20license.';break;}case _0x4e9ae8(0x1d2):_0x5a047a=_0x4e9ae8(0x20d);_0x5aead6<0x5a&&_0x5aead6>=0x0&&(_0x5a047a+=_0x4e9ae8(0x21c)+_0x5aead6+_0x4e9ae8(0x213));_0x4ae509=_0x47ac3a[_0x4e9ae8(0x1c0)][_0x4e9ae8(0x1e4)]+_0x4e9ae8(0x1a3)+(_0x47ac3a[_0x4e9ae8(0x1c0)][_0x4e9ae8(0x1b0)]||'');break;case'FREEWARE':_0x5a047a=_0x4e9ae8(0x19e),_0x4ae509=_0x4e9ae8(0x1a6)+_0x1fef1e+_0x4e9ae8(0x1f7);break;}break;case _0x4e9ae8(0x1ea):_0x1b4cf8=_0x4e9ae8(0x187),_0x5a047a=_0x4e9ae8(0x202),_0x4ae509='Your\x20license\x20has\x20expired.\x20Please\x20contact\x20our\x20support\x20team\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.';break;case _0x4e9ae8(0x217):default:_0x1b4cf8=_0x4e9ae8(0x235),_0x5a047a='Your\x20license\x20is\x20currently\x20invalid.',_0x4ae509='Please\x20contact\x20'+_0x3ed70e+_0x4e9ae8(0x23b);break;}this[_0x4e9ae8(0x209)]['addClass'](_0x4e9ae8(0x1b1)),this[_0x4e9ae8(0x209)]['addClass']('licence-widget-'+_0x23bb73),this[_0x4e9ae8(0x209)][_0x4e9ae8(0x185)]($('<span>')[_0x4e9ae8(0x186)](_0x4e9ae8(0x218))[_0x4e9ae8(0x185)]($(_0x4e9ae8(0x1ec))[_0x4e9ae8(0x186)](_0x1b4cf8))),this['element'][_0x4e9ae8(0x185)]($(_0x4e9ae8(0x1dd))[_0x4e9ae8(0x186)](_0x4e9ae8(0x1a5))[_0x4e9ae8(0x17d)](_0x5a047a)),this[_0x4e9ae8(0x209)][_0x4e9ae8(0x185)]($('<br>')),this[_0x4e9ae8(0x209)]['append']($(_0x4e9ae8(0x1dd))[_0x4e9ae8(0x186)]('licence-widget-details')['append'](_0x4ae509));if(_0x23bb73==='EXPIRED'||_0x23bb73==='FAILED'||_0x47ac3a[_0x4e9ae8(0x1e9)]===_0x4e9ae8(0x1d9)||_0x47ac3a[_0x4e9ae8(0x1e9)]===_0x4e9ae8(0x196)){const _0x4e1bc2=$('<button/>');_0x4e1bc2[_0x4e9ae8(0x1f4)]('id',_0x4e9ae8(0x195)),_0x4e1bc2['attr'](_0x4e9ae8(0x21b),_0x4e9ae8(0x1ba)),_0x4e1bc2[_0x4e9ae8(0x1f4)](_0x4e9ae8(0x214),_0x4e9ae8(0x1f2)),_0x4e1bc2[_0x4e9ae8(0x17d)](_0x4e9ae8(0x22d)),this[_0x4e9ae8(0x209)][_0x4e9ae8(0x185)](_0x4e1bc2);const _0x3d881d=document[_0x4e9ae8(0x20e)](_0x4e9ae8(0x1f9));_0x3d881d[_0x4e9ae8(0x210)]=_0x4e9ae8(0x17c),_0x3d881d[_0x4e9ae8(0x20a)]=!![],$(_0x4e9ae8(0x1bc))[_0x4e9ae8(0x185)](_0x3d881d);const _0x29552c=$(_0x4e9ae8(0x21d));_0x29552c[_0x4e9ae8(0x1f4)](_0x4e9ae8(0x1e8),_0x34d03d),_0x29552c[_0x4e9ae8(0x1f4)](_0x4e9ae8(0x233),_0x5326c5),_0x29552c[_0x4e9ae8(0x1f4)](_0x4e9ae8(0x214),'height:\x20100%;max-height:\x20100%;'),_0x29552c[_0x4e9ae8(0x234)](),this['element']['append'](_0x29552c),_0x4e1bc2['on']('click',()=>{const _0x18fb77=_0x4e9ae8;_0x29552c[_0x18fb77(0x1f1)](),_0x4e1bc2[_0x18fb77(0x234)](),this[_0x18fb77(0x209)][_0x18fb77(0x1f4)](_0x18fb77(0x214),_0x18fb77(0x1ff));});}})[_0x34dfaa(0x230)](_0x382121=>{console['log'](_0x382121);});}});};_0x4534de();function _0xbe11f2(_0x18fd23){const _0x9d7e63=_0x20046a;let _0x8324b4;try{_0x8324b4=new URL(_0x18fd23);}catch(_0x51ed9a){return![];}return _0x8324b4[_0x9d7e63(0x1c2)]===_0x9d7e63(0x182);}const _0x5599a8={'publishingEnabled':!![],'requestedLifetimeCount':0x3e8,'requestedMaxKeepAliveCount':0xa,'requestedPublishingInterval':0x3e8,'maxNotificationsPerPublish':0x0,'priority':0x64};RED[_0x20046a(0x180)][_0x20046a(0x1e7)](_0x20046a(0x1be),{'category':_0x20046a(0x204),'paletteLabel':_0x20046a(0x238),'defaults':{'name':{'value':''},'endpoint':{'value':_0x20046a(0x223),'required':!![],'validate':_0xbe11f2},'securityMode':{'value':_0x20046a(0x23a)},'securityPolicy':{'value':'None','validate':_0x50a729=>{if(!_0x50a729)return![];return!![];}},'userIdentityType':{'value':_0x20046a(0x239)},'pkiName':{'value':'','validate':_0x131091=>!_0x131091||_0x131091['match'](/[0-9a-zA-Z]*/)?!![]:![]},'useTransport':{'value':![],'required':![]},'maxChunkCount':{'value':0x1,'required':![]},'maxMessageSize':{'value':0x2000,'required':![]},'receiveBufferSize':{'value':0x2000,'required':![]},'sendBufferSize':{'value':0x2000,'required':![]},'subscriptions':{'value':[{'id':'s1','name':_0x20046a(0x1b5),'isDefault':!![],'parameters':Object[_0x20046a(0x200)]({},_0x5599a8)},{'id':'s2','name':_0x20046a(0x20f),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0x64,'requestedMaxKeepAliveCount':0x3,'requestedPublishingInterval':0x1388,'maxNotificationsPerPublish':0x64,'priority':0xa}},{'id':'s3','name':_0x20046a(0x199),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0xfa0,'requestedMaxKeepAliveCount':0x32,'requestedPublishingInterval':0xfa,'maxNotificationsPerPublish':0x64,'priority':0xc8}}],'required':![]}},'credentials':{'userName':{'type':_0x20046a(0x17d)},'password':{'type':_0x20046a(0x219)},'userCertificate':{'type':_0x20046a(0x17d)},'userPrivatekey':{'type':_0x20046a(0x219)}},'label':function(){const _0x52fc8d=_0x20046a;return this[_0x52fc8d(0x212)]||this[_0x52fc8d(0x22f)]||'invalid\x20endpoint';},'oneditsave'(){const _0xc6f56b=_0x20046a,_0x414ed9=$(_0xc6f56b(0x18d)),_0x18ad55=$(_0xc6f56b(0x1a0));_0x414ed9['val']()===_0xc6f56b(0x23a)&&_0x18ad55[_0xc6f56b(0x17d)](_0xc6f56b(0x23a));const _0x5991f3=$('#subscriptions-container')['editableList'](_0xc6f56b(0x203)),_0x170076=[],_0x5988d0=_0x114294=>_0x114294;_0x5991f3['each'](function(_0x348673,_0x31a92){const _0x179c05=_0xc6f56b,_0x167a38=$(this),_0x1d0052={'id':'s'+_0x348673,'name':_0x167a38[_0x179c05(0x232)](_0x179c05(0x17a))[_0x179c05(0x220)](),'isDefault':!!_0x167a38[_0x179c05(0x232)]('.input-isDefault')[_0x179c05(0x220)](),'parameters':{'publishingEnabled':!!_0x167a38[_0x179c05(0x232)](_0x179c05(0x194))['is'](_0x179c05(0x1e2)),'requestedLifetimeCount':_0x5988d0(_0x167a38['find']('.input-requestedLifetimeCount')['val']()),'requestedMaxKeepAliveCount':_0x5988d0(_0x167a38['find'](_0x179c05(0x1af))[_0x179c05(0x220)]()),'requestedPublishingInterval':_0x5988d0(_0x167a38[_0x179c05(0x232)](_0x179c05(0x1f0))[_0x179c05(0x220)]()),'maxNotificationsPerPublish':_0x5988d0(_0x167a38[_0x179c05(0x232)](_0x179c05(0x21a))[_0x179c05(0x220)]()),'priority':_0x5988d0(_0x167a38[_0x179c05(0x232)](_0x179c05(0x19d))[_0x179c05(0x220)]())}};_0x1d0052[_0x179c05(0x1db)]['publishingEnabled']=!![],_0x1d0052['isDefault']&&_0x1d0052['id']==='s0'&&(_0x1d0052[_0x179c05(0x212)]=_0x179c05(0x1b5)),_0x170076[_0x179c05(0x1b2)](_0x1d0052);}),this[_0xc6f56b(0x1d0)]=_0x170076;},'oneditprepare'(){const _0x2d08fc=_0x20046a,_0x35578f=this,_0x4165b5=RED[_0x2d08fc(0x1ee)]['create']({'id':'node-config-endpoint-tabs','onchange':function(_0x5e601a){const _0x204cff=_0x2d08fc;$(_0x204cff(0x1d3))[_0x204cff(0x17b)]()[_0x204cff(0x234)](),$('#'+_0x5e601a['id'])[_0x204cff(0x1f1)]();}});_0x4165b5[_0x2d08fc(0x1c9)]({'id':_0x2d08fc(0x205),'label':'Connection'},0x0),_0x4165b5['addTab']({'id':_0x2d08fc(0x18b),'label':'Subscriptions'},0x1),setTimeout(function(){const _0x2e964c=_0x2d08fc;_0x4165b5[_0x2e964c(0x19f)]();},0x0);{const _0x3aed08=_0x4e09ec=>{const _0x38ba80=_0x2d08fc;switch(_0x4e09ec){case null:case undefined:case'':case'None':$(_0x38ba80(0x18a))[_0x38ba80(0x234)]();break;case _0x38ba80(0x222):case _0x38ba80(0x183):{const _0x35c393=$(_0x38ba80(0x18a));(_0x35c393[_0x38ba80(0x220)]()==='None'||_0x35c393[_0x38ba80(0x220)]()==='')&&_0x35c393['val'](_0x38ba80(0x226)),$(_0x38ba80(0x18a))[_0x38ba80(0x1f1)]();}break;default:console['log']('invalid\x20securityMode\x20'+_0x4e09ec);}};_0x3aed08(_0x35578f['securityMode']);const _0xc89e2e=$(_0x2d08fc(0x1a0));_0xc89e2e['on'](_0x2d08fc(0x1d5),()=>{const _0x9cf54b=_0x2d08fc,_0x1bb610=_0xc89e2e[_0x9cf54b(0x220)]();_0x3aed08(_0x1bb610);});}const _0x252806=$(_0x2d08fc(0x1b4));_0x252806[_0x2d08fc(0x225)]({'baseUrl':''});{const _0x10947a=$(_0x2d08fc(0x181)),_0x2f0311=$('.section-userIdentityType-Certificate'),_0x260ad9=_0x3b8da1=>{const _0x3f9779=_0x2d08fc;_0x3b8da1=_0x3b8da1||_0x3f9779(0x239);switch(_0x3b8da1){case _0x3f9779(0x239):$('#node-config-input-userName')['val'](''),$(_0x3f9779(0x215))[_0x3f9779(0x220)](''),_0x10947a[_0x3f9779(0x234)](),_0x2f0311[_0x3f9779(0x234)]();break;case _0x3f9779(0x177):_0x10947a['show'](),_0x2f0311['hide']();break;case _0x3f9779(0x1a1):$('#node-config-input-userName')[_0x3f9779(0x220)](''),$('#node-config-input-password')[_0x3f9779(0x220)](''),_0x2f0311[_0x3f9779(0x1f1)](),_0x10947a['hide']();break;default:console[_0x3f9779(0x236)](_0x3f9779(0x1ef)+_0x3b8da1);}};_0x260ad9(_0x35578f['userIdentityType']);const _0x2a73b3=$(_0x2d08fc(0x1e3));_0x2a73b3['on']('change',()=>{const _0x4145f1=_0x2a73b3['val']();_0x260ad9(_0x4145f1);});}{$('#section-Advanced')['hide'](),$(_0x2d08fc(0x1f5))[_0x2d08fc(0x18e)](_0x2d08fc(0x1d1),![]),$(_0x2d08fc(0x1f5))['on']('change',function(){const _0x148321=_0x2d08fc;$(this)[_0x148321(0x18e)](_0x148321(0x1d1))?$(_0x148321(0x1c7))[_0x148321(0x1f1)]():$(_0x148321(0x1c7))[_0x148321(0x234)]();});}const _0x2ed62f=$(_0x2d08fc(0x22e))[_0x2d08fc(0x18e)](_0x2d08fc(0x1d1));_0x2ed62f?$(_0x2d08fc(0x1d6))['show']():$(_0x2d08fc(0x1d6))[_0x2d08fc(0x234)]();$('#node-config-input-useTransport')['on'](_0x2d08fc(0x1d5),function(){const _0x44d973=_0x2d08fc;$(this)[_0x44d973(0x18e)](_0x44d973(0x1d1))?$(_0x44d973(0x1d6))[_0x44d973(0x1f1)]():$(_0x44d973(0x1d6))['hide']();});{$(_0x2d08fc(0x1eb))['on'](_0x2d08fc(0x201),()=>_0x445d61(this,void 0x0,void 0x0,function*(){const _0x42fcc0=_0x2d08fc,_0x33d68a=yield fetch('/opcua-endpoint2/client_certificate.json'),_0x3917a3=yield _0x33d68a[_0x42fcc0(0x1fe)](),_0x4103a4=JSON['stringify'](_0x3917a3,null,'\x20');alert(_0x4103a4);}));}{_0x4fe7d8(_0x2d08fc(0x1f6),$(_0x2d08fc(0x192)),()=>{const _0x4c3ca5=_0x2d08fc;var _0x16a859;return{'url':_0x4c3ca5(0x1e5),'body':{'endpointNode':{'id':_0x35578f['id'],'endpoint':$(_0x4c3ca5(0x17e))['val'](),'name':$(_0x4c3ca5(0x1da))[_0x4c3ca5(0x220)](),'pkiName':(_0x16a859=$('#node-config-input-pkiName'))===null||_0x16a859===void 0x0?void 0x0:_0x16a859[_0x4c3ca5(0x220)](),'securityMode':$(_0x4c3ca5(0x1a0))[_0x4c3ca5(0x220)](),'securityPolicy':$('#node-config-input-securityPolicy')[_0x4c3ca5(0x220)](),'userIdentityType':$('#node-config-input-userIdentityType')[_0x4c3ca5(0x220)](),'userName':$(_0x4c3ca5(0x1aa))[_0x4c3ca5(0x220)](),'password':$(_0x4c3ca5(0x215))[_0x4c3ca5(0x220)](),'userCertificate':$(_0x4c3ca5(0x1ed))[_0x4c3ca5(0x220)](),'userPrivatekey':$(_0x4c3ca5(0x20b))[_0x4c3ca5(0x220)](),'certificate':$('#node-input-certificate')[_0x4c3ca5(0x220)](),'useTransport':$(_0x4c3ca5(0x190))[_0x4c3ca5(0x18e)](_0x4c3ca5(0x1d1)),'maxChunkCount':$('#node-input-maxChunkCount')['val'](),'maxMessageSize':$(_0x4c3ca5(0x1bf))['val'](),'receiveBufferSize':$('#node-input-receiveBufferSize')[_0x4c3ca5(0x220)](),'sendBufferSize':$(_0x4c3ca5(0x1a8))[_0x4c3ca5(0x220)]()}}};},()=>{});}{const _0x33349d=(_0x16db8b,_0x2e3644)=>{const _0x5d1a12=_0x2d08fc;var _0x4c0a1f=_0x16db8b[_0x5d1a12(0x22b)]()||0x64;_0x16db8b[_0x5d1a12(0x232)]('label')['typedInput'](_0x5d1a12(0x22b),_0x4c0a1f-0xf);},_0xba8eea=$(_0x2d08fc(0x1b8))[_0x2d08fc(0x1ce)]({'min-height':_0x2d08fc(0x224),'min-width':'260px'})[_0x2d08fc(0x1e1)]({'addItem':(_0x26b4ae,_0x3ec288,_0x3b95cc)=>{const _0x2f4f5c=_0x2d08fc,_0x578984=_0x3b95cc,_0x123494=$(_0x2f4f5c(0x197))['clone']()['appendTo'](_0x26b4ae);_0x123494[_0x2f4f5c(0x1c5)]('id')['removeClass'](_0x2f4f5c(0x234))['removeClass'](_0x2f4f5c(0x1de))[_0x2f4f5c(0x1f4)](_0x2f4f5c(0x1b3),_0x3ec288),_0x123494[_0x2f4f5c(0x232)](_0x2f4f5c(0x17a))[_0x2f4f5c(0x220)](_0x578984['name']),_0x123494[_0x2f4f5c(0x232)]('.input-requestedPublishingInterval')['val'](_0x578984[_0x2f4f5c(0x1db)]['requestedPublishingInterval']),_0x123494[_0x2f4f5c(0x232)]('.input-requestedMaxKeepAliveCount')['val'](_0x578984['parameters'][_0x2f4f5c(0x1df)]),_0x123494[_0x2f4f5c(0x232)]('.input-requestedLifetimeCount')[_0x2f4f5c(0x220)](_0x578984[_0x2f4f5c(0x1db)][_0x2f4f5c(0x21e)]),_0x123494[_0x2f4f5c(0x232)](_0x2f4f5c(0x21a))[_0x2f4f5c(0x220)](_0x578984[_0x2f4f5c(0x1db)][_0x2f4f5c(0x17f)]||0x0),_0x123494[_0x2f4f5c(0x232)]('.input-priority')[_0x2f4f5c(0x220)](_0x578984[_0x2f4f5c(0x1db)][_0x2f4f5c(0x237)]||0x0),_0x123494[_0x2f4f5c(0x232)]('.subscription-id')[_0x2f4f5c(0x17d)](''+_0x3ec288),_0x578984[_0x2f4f5c(0x179)]&&_0x123494['find'](_0x2f4f5c(0x17a))[_0x2f4f5c(0x18e)](_0x2f4f5c(0x1a2),!![]),_0x123494['find']('.input-isDefault')[_0x2f4f5c(0x18e)](_0x2f4f5c(0x1d1),_0x578984[_0x2f4f5c(0x179)]),_0x578984[_0x2f4f5c(0x179)]&&(_0x26b4ae['find'](_0x2f4f5c(0x1ad))[_0x2f4f5c(0x186)](_0x2f4f5c(0x234)),setTimeout(()=>_0x123494['find'](_0x2f4f5c(0x188))[_0x2f4f5c(0x18e)](_0x2f4f5c(0x184),!![]),0xa));},'removable':!![],'resizeItem':_0x33349d}),_0x126ddb=()=>{const _0x39cf93=_0x2d08fc,_0x4f36c5=_0x35578f[_0x39cf93(0x1d0)]||[];_0x4f36c5[_0x39cf93(0x1cc)]===0x0&&_0x4f36c5[_0x39cf93(0x1b2)]({'id':'s1','name':_0x39cf93(0x1b5),'isDefault':!![],'parameters':Object['assign']({},_0x5599a8)});_0xba8eea[_0x39cf93(0x1e1)]('empty');for(const _0x20791d of _0x4f36c5){_0xba8eea[_0x39cf93(0x1e1)](_0x39cf93(0x19a),_0x20791d);}};_0x126ddb();}}});}()));
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHg0NDVkNjEiLCJfMHg1NTk3ZWQiLCJfMHg1NTViNDUiLCJfMHgyNjRjMmYiLCJfMHgzZmM4ZjIiLCJfMHgxMDIyNzkiLCJfMHgzNTU3ZmQiLCJfMHgyODljMTQiLCJQcm9taXNlIiwiXzB4NDVkODE1IiwiXzB4NDUzZjNkIiwiXzB4OThjM2QiLCJfMHg0ZDI5YmMiLCJfMHgyYzBmNGQiLCJfMHg0YzFkYTEiLCJfMHgyZTc5MDAiLCJfMHgxZDQyM2EiLCJfMHgyNDZiMmUiLCJfMHgxNmExNTciLCJTdXBwcmVzc2VkRXJyb3IiLCJfMHg1MTViYjgiLCJfMHgyNzI3OTYiLCJfMHgzZmE3ZDEiLCJfMHgyNDBmNDkiLCJFcnJvciIsIl8weDRmZTdkOCIsIl8weDNhYjI0ZCIsIl8weDE0NjEyYSIsIl8weDJkM2IyOCIsIl8weDUyNTE2MSIsIl8weDI3YWM4YyIsIiQiLCJfMHg0ZmYyNjQiLCJfMHg0MzJiNTQiLCJfMHgzMTNiMGUiLCJfMHgxNTY1ZTAiLCJib2R5IiwiXzB4M2U2NmM4IiwidXJsIiwiXzB4NDYyZWI4IiwiZmV0Y2giLCJKU09OIiwiXzB4NDJhZjc3IiwiXzB4NWQ1NTFjIiwiY29uc29sZSIsIl8weDFlZGQ4YyIsIl8weDQ2NGI3NyIsIl8weDQyNmQ5OCIsIl8weDVjOWQ3YyIsIl8weDI2YjM5MiIsIkFycmF5IiwiXzB4MjMwYmJjIiwiXzB4MzRkMDNkIiwiXzB4NTMyNmM1IiwiXzB4NWIyZDQxIiwiYXJndW1lbnRzIiwiXzB4NTBmNTdlIiwiXzB4MjhiYzRiIiwiXzB4NDFiNWVmIiwiXzB4MWI3N2ZhIiwiXzB4MWZlNjNmIiwiRGF0ZSIsIl8weDMxZGMwNiIsIl8weDQ1MzRkZSIsIl8weDQ1YmI3ZCIsIl8weDNlZDcwZSIsIl8weDFmZWYxZSIsIl8weDQ3YWMzYSIsIl8weDFiNGNmOCIsIl8weDVhMDQ3YSIsIl8weDRhZTUwOSIsIl8weDIzYmI3MyIsIl8weDVhZWFkNiIsIl8weDRlMWJjMiIsIl8weDNkODgxZCIsImRvY3VtZW50IiwiXzB4Mjk1NTJjIiwiXzB4MzgyMTIxIiwiXzB4YmUxMWYyIiwiXzB4MThmZDIzIiwiXzB4ODMyNGI0IiwiVVJMIiwiXzB4NTFlZDlhIiwiXzB4NTU5OWE4IiwiUkVEIiwiXzB4NTBhNzI5IiwiXzB4MTMxMDkxIiwiT2JqZWN0IiwiXzB4NDE0ZWQ5IiwiXzB4MThhZDU1IiwiXzB4NTk5MWYzIiwiXzB4MTcwMDc2IiwiXzB4NTk4OGQwIiwiXzB4MTE0Mjk0IiwiXzB4MzQ4NjczIiwiXzB4MzFhOTIiLCJfMHgxNjdhMzgiLCJfMHgxZDAwNTIiLCJfMHgzNTU3OGYiLCJfMHg0MTY1YjUiLCJfMHg1ZTYwMWEiLCJzZXRUaW1lb3V0IiwiXzB4M2FlZDA4IiwiXzB4NGUwOWVjIiwidW5kZWZpbmVkIiwiXzB4MzVjMzkzIiwiXzB4Yzg5ZTJlIiwiXzB4MWJiNjEwIiwiXzB4MjUyODA2IiwiXzB4MTA5NDdhIiwiXzB4MmYwMzExIiwiXzB4MjYwYWQ5IiwiXzB4M2I4ZGExIiwiXzB4MmE3M2IzIiwiXzB4NDE0NWYxIiwiXzB4MmVkNjJmIiwiXzB4MzNkNjhhIiwiXzB4MzkxN2EzIiwiXzB4NDEwM2E0IiwiYWxlcnQiLCJfMHgxNmE4NTkiLCJfMHgzMzM0OWQiLCJfMHgxNmRiOGIiLCJfMHgyZTM2NDQiLCJfMHg0YzBhMWYiLCJfMHhiYThlZWEiLCJfMHgyNmI0YWUiLCJfMHgzZWMyODgiLCJfMHgzYjk1Y2MiLCJfMHg1Nzg5ODQiLCJfMHgxMjM0OTQiLCJfMHgxMjZkZGIiLCJfMHg0ZjM2YzUiLCJfMHgyMDc5MWQiXSwibWFwcGluZ3MiOiJnbEpBQUEsQ0FBQyxVLENBQ0csYSx3QkFtQkEsU0FBU0EsU0FBVCxDQUFtQkMsU0FBbkIsQ0FBNEJDLFNBQTVCLENBQXdDQyxTQUF4QyxDQUEyQ0MsU0FBM0MsQyxDQUNJLFNBQVNDLFNBQVQsQ0FBZUMsU0FBZixDLFFBQStCQSxTQUFBLFlBQWlCSCxTQUFqQixDQUFxQkcsU0FBckIsQ0FBNkIsSUFBSUgsU0FBSixDQUFNLFNBQVVJLFNBQVYs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KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXHJcblxyXG4gICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XHJcbiAgICBwdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXHJcblxyXG4gICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMgV0lUSFxyXG4gICAgUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXHJcbiAgICBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsXHJcbiAgICBJTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST01cclxuICAgIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXHJcbiAgICBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SXHJcbiAgICBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLlxyXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuICAgIC8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlLCBTdXBwcmVzc2VkRXJyb3IsIFN5bWJvbCAqL1xyXG5cclxuXHJcbiAgICBmdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XHJcbiAgICAgICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICAgICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0eXBlb2YgU3VwcHJlc3NlZEVycm9yID09PSBcImZ1bmN0aW9uXCIgPyBTdXBwcmVzc2VkRXJyb3IgOiBmdW5jdGlvbiAoZXJyb3IsIHN1cHByZXNzZWQsIG1lc3NhZ2UpIHtcclxuICAgICAgICB2YXIgZSA9IG5ldyBFcnJvcihtZXNzYWdlKTtcclxuICAgICAgICByZXR1cm4gZS5uYW1lID0gXCJTdXBwcmVzc2VkRXJyb3JcIiwgZS5lcnJvciA9IGVycm9yLCBlLnN1cHByZXNzZWQgPSBzdXBwcmVzc2VkLCBlO1xyXG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIG1hbmFnZUFQSUNhbGwocHJlZml4LCBidG4sIGZ1bmMsIG9uUmVzdWx0KSB7XG4gICAgICAgIGNvbnN0IHN1Y2Nlc3NJY29uID0gJChgIyR7cHJlZml4fS1zdWNjZXNzYCk7XG4gICAgICAgIGNvbnN0IGZhaWx1cmVJY29uID0gJChgIyR7cHJlZml4fS1mYWlsdXJlYCk7XG4gICAgICAgIGNvbnN0IHBlbmRpbmdJY29uID0gJChgIyR7cHJlZml4fS1wZW5kaW5nYCk7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2VzID0gJChgIyR7cHJlZml4fS1tZXNzYWdlc2ApO1xuICAgICAgICBsZXQgYWN0aW9uUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdWNjZXNzSWNvbi5oaWRlKCk7XG4gICAgICAgIGZhaWx1cmVJY29uLmhpZGUoKTtcbiAgICAgICAgcGVuZGluZ0ljb24uaGlkZSgpO1xuICAgICAgICBidG4ub24oXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoYWN0aW9uUGVuZGluZylcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBhY3Rpb25QZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHBlbmRpbmdJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgIHBlbmRpbmdJY29uLmh0bWwoXCJUZXN0aW5nIENvbm5lY3Rpb24gLi4uXCIpO1xuICAgICAgICAgICAgc3VjY2Vzc0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgZmFpbHVyZUljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgbWVzc2FnZXMuaHRtbChcIlwiKTtcbiAgICAgICAgICAgIGNvbnN0IHsgYm9keSwgdXJsIH0gPSBmdW5jKCk7XG4gICAgICAgICAgICAvLyB4eCBjb25zb2xlLmxvZyhcInh4eHh4XCIsIGJvZHkpO1xuICAgICAgICAgICAgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoYm9keSksXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC50aGVuKChkYXRhKSA9PiBkYXRhLmpzb24oKSlcbiAgICAgICAgICAgICAgICAudGhlbigoanNvbikgPT4ge1xuICAgICAgICAgICAgICAgIGFjdGlvblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBwZW5kaW5nSWNvbi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoanNvbiwgbnVsbCwgXCIgXCIpKTtcbiAgICAgICAgICAgICAgICBpZiAoanNvbi5yZXN1bHQgPT09IFwib2tcIikge1xuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzSWNvbi5yZW1vdmVDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgIGZhaWx1cmVJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZXMuaHRtbChqc29uLm1lc3NhZ2UucmVwbGFjZShcIlxcblwiLCBcIjxicj5cIikpO1xuICAgICAgICAgICAgICAgICAgICBvblJlc3VsdChudWxsLCBqc29uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFkYXB0ID0gKHN0cikgPT4gIXN0clxuICAgICAgICAgICAgICAgICAgICAgICAgPyBcIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHN0clxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zcGxpdChcIlxcblwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoKGEpID0+IGA8cD4ke2F9PC9wPmApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmpvaW4oXCJcXG5cIik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFkYXB0MiA9IChzdHIpID0+IChBcnJheS5pc0FycmF5KHN0cikgPyBzdHIubWFwKGFkYXB0KS5qb2luKFwiXFxuXCIpIDogYWRhcHQoc3RyKSk7XG4gICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3NJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgZmFpbHVyZUljb24ucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlcy5odG1sKGFkYXB0Mihqc29uLm1lc3NhZ2UpICsgYWRhcHQyKGpzb24uZXh0cmEpKTtcbiAgICAgICAgICAgICAgICAgICAgb25SZXN1bHQobmV3IEVycm9yKGpzb24ucmVzdWx0KSwganNvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIGFjdGlvblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBwZW5kaW5nSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgc3VjY2Vzc0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgIGZhaWx1cmVJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICBtZXNzYWdlcy5odG1sKFwiaW50ZXJuYWwgZXJyb3IgXCIgKyBlcnIubWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJlcnJcIiwgZXJyKTtcbiAgICAgICAgICAgICAgICBvblJlc3VsdChlcnIsIG51bGwpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHByaWNpbmdUYWJsZUlkID0gXCJwcmN0YmxfMU9KdDQ5QkNOY2NienNWemthQU5PZ0ZMXCI7XG4gICAgY29uc3QgcHVibGlzaGFibGVLZXkgPSBcInBrX2xpdmVfNTFIc0Uxc0JDTmNjYnpzVnp0N3phcTJ1djIwcGtyeVdsbEF6dlpnWmQ1QWh3Rkk5QTNxQkllT0p2SndRRjA4bERvTHBGcUxqd215QTc5d25QbllMc3ZLanQwMDlmMDBWcENXXCI7XG4gICAgZnVuY3Rpb24gZmV0Y2hMaWNlbmNlSW5mbygpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCBhcmd1bWVudHMsIHZvaWQgMCwgZnVuY3Rpb24qIChiYXNlVXJsID0gXCJcIikge1xuICAgICAgICAgICAgY29uc3Qgcm9vdCA9IGAke2Jhc2VVcmx9L29wY3VhLWVuZHBvaW50MmA7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSBgJHtyb290fS9saWNlbmNlSW5mb2A7XG4gICAgICAgICAgICBjb25zdCBkYXRhID0geWllbGQgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpO1xuICAgICAgICAgICAgaWYgKGRhdGEuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImZldGNoaW5nIGZhaWxlZCB3aXRoIGVycm9yXCIsIGRhdGEuc3RhdHVzLCBkYXRhLnN0YXR1c1RleHQpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7IHN0YXR1czogXCJGQUlMRURcIiwgdHlwZTogXCJGUkVFV0FSRVwiLCBsaWNlbmNlSW5mbzogeyBleHBpcnlEYXRlOiB0b2RheSB9IH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBqc29uID0geWllbGQgZGF0YS5qc29uKCk7XG4gICAgICAgICAgICByZXR1cm4ganNvbjtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IGRlY2xhcmVMaWNlbmNlV2lkZ2V0ID0gKCkgPT4ge1xuICAgICAgICAkLndpZGdldChcInN0ZXJmaXZlLmxpY2VuY2VXaWRnZXRcIiwge1xuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgIGJhc2VVcmw6IFwiXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX2NyZWF0ZSgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICBjb25zdCBjb250YWN0TGluayA9IGA8YSBocmVmPVwibWFpbHRvOnN1cHBvcnRAc3RlcmZpdmUuY29tXCIgc3ViamVjdD1cIkBvcGN1YS9mb3Itbm9kZS1yZWQgc3VwcG9ydCByZXF1ZXN0XCI+bWFpbHRvOnN1cHBvcnRAc3RlcmZpdmUuY29tPC9hPmA7XG4gICAgICAgICAgICAgICAgY29uc3Qgd2Vic2l0ZUxpbmsgPSBgPGEgaHJlZj1cImh0dHBzOi8vd3d3LnN0ZXJmaXZlLmNvbS9vcGN1YS9mb3Itbm9kZS1yZWRcIiB0YXJnZXQ94oCdX2JsYW5r4oCdPlN0ZXJmaXZlJ3Mgd2Vic2l0ZSA8L2E+YDtcbiAgICAgICAgICAgICAgICBmZXRjaExpY2VuY2VJbmZvKHRoYXQuYmFzZVVybClcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKGpzb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGljb24gPSBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBsZXQgbXNnID0gXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGRldGFpbHMgPSBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGF0dXMgPSBqc29uLnN0YXR1cztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF5TGVmdCA9IGpzb24uZGF5c0xlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoc3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiQVVUSE9SSVpFRFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb24gPSBcImZhIGZhLWNoZWNrLWNpcmNsZVwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoanNvbi50eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJUUklBTFwiOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBcIlRyaWFsIGxpY2VuY2VcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbHMgPSBgVGhlIFRyaWFsIHdpbGwgZXhwaXJlIGluICR7ZGF5TGVmdH0gZGF5cy5cXG5CdXkgb25saW5lIGFuZCB2aXNpdCAke3dlYnNpdGVMaW5rfSB0byBhY3F1aXJlIGEgbGljZW5zZS5gO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIlBST0ZFU1NJT05BTFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gYFlvdXIgbGljZW5jZSBpcyB2YWxpZC5gO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRheUxlZnQgPCA5MCAmJiBkYXlMZWZ0ID49IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgKz0gYCBJdCB3aWxsIGV4cGlyZSBpbiAke2RheUxlZnR9IGRheXMuYDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGRldGFpbHMgPSBgJHt3ZWJzaXRlTGlua308YnI+JHtjb250YWN0TGlua31gO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscyA9IGpzb24ubGljZW5jZUluZm8ubGljZW5jZVR5cGUgKyBcIiAtIFwiICsgKGpzb24ubGljZW5jZUluZm8ub25QcmVtaXNlU2VydmVySG9zdCB8fCBcIlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiRlJFRVdBUkVcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9IFwiRnJlZXdhcmUgbGljZW5jZVwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscyA9IGBUaGlzIGlzIGEgZnJlZXdhcmUgbGljZW5jZSwgYW5kIGhhdmUgc29tZSBsaW1pdGF0aW9ucy5cXG4ke3dlYnNpdGVMaW5rfSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5gO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkVYUElSRURcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uID0gXCJmYSBmYS1jYWxlbmRhci10aW1lXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gXCJMaWNlbmNlIGhhcyBleHBpcmVkXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscyA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiWW91ciBsaWNlbnNlIGhhcyBleHBpcmVkLiBQbGVhc2UgY29udGFjdCBvdXIgc3VwcG9ydCB0ZWFtIG9yIHZpc2l0IG91ciB3ZWJzaXRlIHRvIHJlbmV3IHlvdXIgbGljZW5zZSBhbmQgcmVnYWluIGFjY2VzcyB0byBvdXIgc2VydmljZXMuXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiRkFJTEVEXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb24gPSBcImZhIGZhLWV4Y2xhbWF0aW9uLWNpcmNsZVwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9IFwiWW91ciBsaWNlbnNlIGlzIGN1cnJlbnRseSBpbnZhbGlkLlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbHMgPSBgUGxlYXNlIGNvbnRhY3QgJHtjb250YWN0TGlua30gb3IgdmlzaXQgb3VyIHdlYnNpdGUgdG8gcmVuZXcgeW91ciBsaWNlbnNlIGFuZCByZWdhaW4gYWNjZXNzIHRvIG91ciBzZXJ2aWNlcy7MgGA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLyoqICovXG4gICAgICAgICAgICAgICAgICAgIC8vIHRoaXMuZWxlbWVudC50ZXh0KFwiTGljZW5jZSBcIiArIEpTT04uc3RyaW5naWZ5KGpzb24pKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFkZENsYXNzKFwibGljZW5jZS13aWRnZXRcIik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0LVwiICsgc3RhdHVzKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZCgkKFwiPHNwYW4+XCIpLmFkZENsYXNzKFwibGljZW5jZS13aWRnZXQtaWNvblwiKS5hcHBlbmQoJChcIjxpPlwiKS5hZGRDbGFzcyhpY29uKSkpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKCQoXCI8c3Bhbj5cIikuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldC1tc2dcIikudGV4dChtc2cpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZCgkKFwiPGJyPlwiKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoJChcIjxzcGFuPlwiKS5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0LWRldGFpbHNcIikuYXBwZW5kKGRldGFpbHMpKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXR1cyA9PT0gXCJFWFBJUkVEXCIgfHwgc3RhdHVzID09PSBcIkZBSUxFRFwiIHx8IGpzb24udHlwZSA9PT0gXCJGUkVFV0FSRVwiIHx8IGpzb24udHlwZSA9PT0gXCJUUklBTFwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdWJzY3JpYmVCdXR0b24gPSAkKFwiPGJ1dHRvbi8+XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlQnV0dG9uLmF0dHIoXCJpZFwiLCBcInN1YnNjcmliZS1idXR0b25cIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVCdXR0b24uYXR0cihcImNsYXNzXCIsIFwiYnRuIGJ0bi1wcmltYXJ5XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlQnV0dG9uLmF0dHIoXCJzdHlsZVwiLCBcIm1hcmdpbi10b3A6IDIwcHg7XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlQnV0dG9uLnRleHQoXCJTdWJzY3JpYmVcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKHN1YnNjcmliZUJ1dHRvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2V0IGF0dHJpYnV0ZXMgZm9yIHRoZSBzY3JpcHQgZWxlbWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgc2NyaXB0LnNyYyA9IFwiaHR0cHM6Ly9qcy5zdHJpcGUuY29tL3YzL3ByaWNpbmctdGFibGUuanNcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjcmlwdC5hc3luYyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBBcHBlbmQgdGhlIHNjcmlwdCBlbGVtZW50IHRvIHRoZSBoZWFkIChvciBib2R5KSBvZiB0aGUgZG9jdW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICQoXCJoZWFkXCIpLmFwcGVuZChzY3JpcHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RyaXBlUHJpY2luZ1RhYmxlID0gJChcIjxzdHJpcGUtcHJpY2luZy10YWJsZS8+XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2V0IGF0dHJpYnV0ZXMgZm9yIHRoZSBlbGVtZW50XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJpcGVQcmljaW5nVGFibGUuYXR0cihcInByaWNpbmctdGFibGUtaWRcIiwgcHJpY2luZ1RhYmxlSWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RyaXBlUHJpY2luZ1RhYmxlLmF0dHIoXCJwdWJsaXNoYWJsZS1rZXlcIiwgcHVibGlzaGFibGVLZXkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RyaXBlUHJpY2luZ1RhYmxlLmF0dHIoXCJzdHlsZVwiLCBcImhlaWdodDogMTAwJTttYXgtaGVpZ2h0OiAxMDAlO1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlwZVByaWNpbmdUYWJsZS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKHN0cmlwZVByaWNpbmdUYWJsZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVCdXR0b24ub24oXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaXBlUHJpY2luZ1RhYmxlLnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVCdXR0b24uaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hdHRyKFwic3R5bGVcIiwgXCJoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgZGVjbGFyZUxpY2VuY2VXaWRnZXQoKTtcbiAgICBmdW5jdGlvbiBpc1ZhbGlkT1BDX1VBX1VSSShzdHIpIHtcbiAgICAgICAgbGV0IHVybDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHVybCA9IG5ldyBVUkwoc3RyKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoXykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1cmwucHJvdG9jb2wgPT09IFwib3BjLnRjcDpcIjtcbiAgICB9XG4gICAgY29uc3QgZGVmYXVsdFN1YnNjcmlwdGlvblBhcmFtZXRlcnMgPSB7XG4gICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiB0cnVlLFxuICAgICAgICByZXF1ZXN0ZWRMaWZldGltZUNvdW50OiAxMDAwLFxuICAgICAgICByZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudDogMTAsIC8vIGV2ZXJ5IDEwIHNlY29uZHNcbiAgICAgICAgcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsOiAxMDAwLFxuICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogMCxcbiAgICAgICAgcHJpb3JpdHk6IDEwMCxcbiAgICB9O1xuICAgIFJFRC5ub2Rlcy5yZWdpc3RlclR5cGUoXCJPcGNVYS1FbmRwb2ludDJcIiwge1xuICAgICAgICBjYXRlZ29yeTogXCJjb25maWdcIixcbiAgICAgICAgcGFsZXR0ZUxhYmVsOiBcIm9wY3VhIGVuZHBvaW50XCIsXG4gICAgICAgIGRlZmF1bHRzOiB7XG4gICAgICAgICAgICBuYW1lOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICBlbmRwb2ludDoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBcIm9wYy50Y3A6Ly9vcGN1YWRlbW8uc3RlcmZpdmUuY29tOjI2NTQzL1VBL1NhbXBsZVNlcnZlclwiLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIHZhbGlkYXRlOiBpc1ZhbGlkT1BDX1VBX1VSSSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAvLyBTZWN1cml0eSBNb2RlXG4gICAgICAgICAgICBzZWN1cml0eU1vZGU6IHsgdmFsdWU6IFwiTm9uZVwiIH0sXG4gICAgICAgICAgICBzZWN1cml0eVBvbGljeToge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBcIk5vbmVcIixcbiAgICAgICAgICAgICAgICB2YWxpZGF0ZTogKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdXNlcklkZW50aXR5VHlwZTogeyB2YWx1ZTogXCJBbm9ueW1vdXNcIiB9LFxuICAgICAgICAgICAgcGtpTmFtZTogeyB2YWx1ZTogXCJcIiwgdmFsaWRhdGU6ICh2YWx1ZSkgPT4gKCF2YWx1ZSB8fCB2YWx1ZS5tYXRjaCgvWzAtOWEtekEtWl0qLykgPyB0cnVlIDogZmFsc2UpIH0sXG4gICAgICAgICAgICAvLyB0byB1c2Ugd2hlbiB1c2VySWRlbnRpdHlUeXBlIGlzIFVzZXJOYW1lXG4gICAgICAgICAgICAvLyBjcmVkZW50aWFsczoge1xuICAgICAgICAgICAgLy8gICAgIHVzZXJOYW1lOiB7IHZhbHVlOiBcIlwiLCB0eXBlOiBcInRleHRcIiB9LFxuICAgICAgICAgICAgLy8gICAgIHBhc3N3b3JkOiB7IHZhbHVlOiBcIlwiLCB0eXBlOiBcInBhc3N3b3JkXCIgfSxcbiAgICAgICAgICAgIC8vICAgICAvLyB0byB1c2Ugd2hlbiB1c2VySWRlbnRpdHlUeXBlIGlzIENlcnRpZmljYXRlXG4gICAgICAgICAgICAvLyAgICAgdXNlckNlcnRpZmljYXRlOiB7IHZhbHVlOiBcIlwiLCB0eXBlOiBcInRleHRcIiB9LFxuICAgICAgICAgICAgLy8gICAgIHVzZXJQcml2YXRla2V5OiB7IHZhbHVlOiBcIlwiICwgdHlwZTogXCJwYXNzd29yZFwifSxcbiAgICAgICAgICAgIC8vIH0gYXMgYW55IC8qIGNpcmN1bXZlbnQgYSBidWcgaW4gbm9kZS1yZWQgKi8sXG4gICAgICAgICAgICAvLyB1c2VybmFtZVxuICAgICAgICAgICAgdXNlVHJhbnNwb3J0OiB7IHZhbHVlOiBmYWxzZSwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICBtYXhDaHVua0NvdW50OiB7IHZhbHVlOiAxLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIG1heE1lc3NhZ2VTaXplOiB7IHZhbHVlOiA4MTkyLCByZXF1aXJlZDogZmFsc2UgfSwgLy8gc2hvdWxkIGJlIGF0IGxlYXN0IDgxOTJcbiAgICAgICAgICAgIHJlY2VpdmVCdWZmZXJTaXplOiB7IHZhbHVlOiA4MTkyLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIHNlbmRCdWZmZXJTaXplOiB7IHZhbHVlOiA4MTkyLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJzMVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJEZWZhdWx0IFN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczogT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdFN1YnNjcmlwdGlvblBhcmFtZXRlcnMpLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJzMlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJTbG93IFN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaXNoaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRMaWZldGltZUNvdW50OiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQ6IDMsIC8vIGV2ZXJ5IDE1IHNlY29uZHNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWw6IDUwMDAsIC8vXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2g6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogMTAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJzM1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJGYXN0IFN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaXNoaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRMaWZldGltZUNvdW50OiA0MDAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50OiA1MCwgLy8gZXZlcnkgMTIuNSBzZWNvbmRzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsOiAyNTAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2g6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogMjAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGNyZWRlbnRpYWxzOiB7XG4gICAgICAgICAgICB1c2VyTmFtZTogeyB0eXBlOiBcInRleHRcIiB9LFxuICAgICAgICAgICAgcGFzc3dvcmQ6IHsgdHlwZTogXCJwYXNzd29yZFwiIH0sXG4gICAgICAgICAgICB1c2VyQ2VydGlmaWNhdGU6IHsgdHlwZTogXCJ0ZXh0XCIgfSxcbiAgICAgICAgICAgIHVzZXJQcml2YXRla2V5OiB7IHR5cGU6IFwicGFzc3dvcmRcIiB9LFxuICAgICAgICB9LFxuICAgICAgICBsYWJlbDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmFtZSB8fCB0aGlzLmVuZHBvaW50IHx8IFwiaW52YWxpZCBlbmRwb2ludFwiO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRzYXZlKCkge1xuICAgICAgICAgICAgY29uc3QgX3NlY3VyaXR5UG9saWN5ID0gJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eVBvbGljeVwiKTtcbiAgICAgICAgICAgIGNvbnN0IF9zZWN1cml0eU1vZGUgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5TW9kZVwiKTtcbiAgICAgICAgICAgIGlmIChfc2VjdXJpdHlQb2xpY3kudmFsKCkgPT09IFwiTm9uZVwiKSB7XG4gICAgICAgICAgICAgICAgX3NlY3VyaXR5TW9kZS50ZXh0KFwiTm9uZVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vICgoKCgoKCgoKCggcmV0cmlldmUgc3Vic2NyaXB0aW9uIGRhdGEgKSkpKSkpKSkpKVxuICAgICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uc0l0ZW1zID0gJChcIiNzdWJzY3JpcHRpb25zLWNvbnRhaW5lclwiKS5lZGl0YWJsZUxpc3QoXCJpdGVtc1wiKTtcbiAgICAgICAgICAgIGNvbnN0IHMgPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IG4gPSAoeCkgPT4geDtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbnNJdGVtcy5lYWNoKGZ1bmN0aW9uIChpbmRleCwgaXRlbSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGUgPSAkKHRoaXMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGEgPSB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBcInNcIiArIGluZGV4LFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBlLmZpbmQoXCIuaW5wdXQtbmFtZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiAhIWUuZmluZChcIi5pbnB1dC1pc0RlZmF1bHRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiAhIWUuZmluZChcIi5pbnB1dC1wdWJsaXNoaW5nRW5hYmxlZFwiKS5pcyhcIjpjaGVja2VkXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTGlmZXRpbWVDb3VudDogbihlLmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTGlmZXRpbWVDb3VudFwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudDogbihlLmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnRcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsOiBuKGUuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWxcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2g6IG4oZS5maW5kKFwiLmlucHV0LW1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoXCIpLnZhbCgpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiBuKGUuZmluZChcIi5pbnB1dC1wcmlvcml0eVwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAvLyBmb3JjZSB0byBiZSB0cnVlXG4gICAgICAgICAgICAgICAgYS5wYXJhbWV0ZXJzLnB1Ymxpc2hpbmdFbmFibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBpZiAoYS5pc0RlZmF1bHQgJiYgYS5pZCA9PT0gXCJzMFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIG5vcm1hbGl6ZSBkZWZhdWx0IHN1YnNjcmlwdGlvbiBuYW1lXG4gICAgICAgICAgICAgICAgICAgIGEubmFtZSA9IFwiRGVmYXVsdCBTdWJzY3JpcHRpb25cIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcy5wdXNoKGEpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBzO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRwcmVwYXJlKCkge1xuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXM7XG4gICAgICAgICAgICBjb25zdCB0YWJzID0gUkVELnRhYnMuY3JlYXRlKHtcbiAgICAgICAgICAgICAgICBpZDogXCJub2RlLWNvbmZpZy1lbmRwb2ludC10YWJzXCIsXG4gICAgICAgICAgICAgICAgb25jaGFuZ2U6IGZ1bmN0aW9uICh0YWIpIHtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1lbmRwb2ludC10YWJzLWNvbnRlbnRcIikuY2hpbGRyZW4oKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjXCIgKyB0YWIuaWQpLnNob3coKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0YWJzLmFkZFRhYih7XG4gICAgICAgICAgICAgICAgaWQ6IFwiZW5kcG9pbnQtdGFiLWNvbm5lY3Rpb25cIixcbiAgICAgICAgICAgICAgICBsYWJlbDogXCJDb25uZWN0aW9uXCIsXG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgIHRhYnMuYWRkVGFiKHtcbiAgICAgICAgICAgICAgICBpZDogXCJlbmRwb2ludC10YWItc3Vic2NyaXB0aW9uc1wiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBcIlN1YnNjcmlwdGlvbnNcIixcbiAgICAgICAgICAgIH0sIDEpO1xuICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgdGFicy5yZXNpemUoKTtcbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSBTZWN1cml0eSBjb250cm9sc1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVTZWN1cml0eUNvbnRyb2wgPSAoc2VjdXJpdHlNb2RlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoc2VjdXJpdHlNb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIG51bGw6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIHVuZGVmaW5lZDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJOb25lXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIi5zZWN0aW9uLXNlY3VyaXR5UG9saWN5XCIpLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJTaWduXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiU2lnbkFuZEVuY3J5cHRcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNwID0gJChcIi5zZWN0aW9uLXNlY3VyaXR5UG9saWN5XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3AudmFsKCkgPT09IFwiTm9uZVwiIHx8IHNwLnZhbCgpID09PSBcIlwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcC52YWwoXCJCYXNpYzI1NlNoYTI1NlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiLnNlY3Rpb24tc2VjdXJpdHlQb2xpY3lcIikuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJpbnZhbGlkIHNlY3VyaXR5TW9kZSBcIiArIHNlY3VyaXR5TW9kZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHVwZGF0ZVNlY3VyaXR5Q29udHJvbChub2RlLnNlY3VyaXR5TW9kZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgX3NlY3VyaXR5TW9kZSA9ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlNb2RlXCIpO1xuICAgICAgICAgICAgICAgIF9zZWN1cml0eU1vZGUub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdTZWN1cml0eU1vZGUgPSBfc2VjdXJpdHlNb2RlLnZhbCgpO1xuICAgICAgICAgICAgICAgICAgICB1cGRhdGVTZWN1cml0eUNvbnRyb2wobmV3U2VjdXJpdHlNb2RlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGxpY2VuY2VXaWRnZXQgPSAkKFwiI2xpY2VuY2VXaWRnZXRcIik7XG4gICAgICAgICAgICBsaWNlbmNlV2lkZ2V0LmxpY2VuY2VXaWRnZXQoe1xuICAgICAgICAgICAgICAgIGJhc2VVcmw6IFwiXCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBoYW5kbGUgdGhlIFVzZXIgSWRlbnRpdHkgQ29udHJvbHNcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29uc3QgYXV0aFJvdyA9ICQoXCIuc2VjdGlvbi11c2VySWRlbnRpdHlUeXBlLVVzZXJOYW1lXCIpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNlcnRSb3cgPSAkKFwiLnNlY3Rpb24tdXNlcklkZW50aXR5VHlwZS1DZXJ0aWZpY2F0ZVwiKTtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVJZGVudGl0eUNvbnRyb2xzID0gKHVzZXJJZGVudGl0eVR5cGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdXNlcklkZW50aXR5VHlwZSA9IHVzZXJJZGVudGl0eVR5cGUgfHwgXCJBbm9ueW1vdXNcIjtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh1c2VySWRlbnRpdHlUeXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiQW5vbnltb3VzXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyTmFtZVwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC1wYXNzd29yZFwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiVXNlck5hbWVcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRoUm93LnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0Um93LmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJDZXJ0aWZpY2F0ZVwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlck5hbWVcIikudmFsKFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctaW5wdXQtcGFzc3dvcmRcIikudmFsKFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRSb3cuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhSb3cuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImludmFsaWQgdXNlcklkZW50aXR5VHlwZSBcIiArIHVzZXJJZGVudGl0eVR5cGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB1cGRhdGVJZGVudGl0eUNvbnRyb2xzKG5vZGUudXNlcklkZW50aXR5VHlwZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgX3VzZXJJZGVudGl0eVR5cGUgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJJZGVudGl0eVR5cGVcIik7XG4gICAgICAgICAgICAgICAgX3VzZXJJZGVudGl0eVR5cGUub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdJZGVudGl0eVR5cGUgPSBfdXNlcklkZW50aXR5VHlwZS52YWwoKTtcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlSWRlbnRpdHlDb250cm9scyhuZXdJZGVudGl0eVR5cGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSBhZHZhbmNlZCBjb250cm9sc1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tQWR2YW5jZWRcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICQoXCIjdG9nZ2xlQWR2YW5jZWRTZWN0aW9uXCIpLnByb3AoXCJjaGVja2VkXCIsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAkKFwiI3RvZ2dsZUFkdmFuY2VkU2VjdGlvblwiKS5vbihcImNoYW5nZVwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICgkKHRoaXMpLnByb3AoXCJjaGVja2VkXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgY2hlY2tib3ggaXMgY2hlY2tlZCwgc2hvdyB0aGUgZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tQWR2YW5jZWRcIikuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLCBoaWRlIGl0XG4gICAgICAgICAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tQWR2YW5jZWRcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB1c2VUcmFuc3BvcnRTZXR0aW5nID0gJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VUcmFuc3BvcnRcIikucHJvcChcImNoZWNrZWRcIik7XG4gICAgICAgICAgICBpZiAodXNlVHJhbnNwb3J0U2V0dGluZykge1xuICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1UcmFuc3BvcnRTZXR0aW5nc1wiKS5zaG93KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tVHJhbnNwb3J0U2V0dGluZ3NcIikuaGlkZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VUcmFuc3BvcnRcIikub24oXCJjaGFuZ2VcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIGlmICgkKHRoaXMpLnByb3AoXCJjaGVja2VkXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBjaGVja2JveCBpcyBjaGVja2VkLCBzaG93IHRoZSBkaXZcbiAgICAgICAgICAgICAgICAgICAgJChcIiNzZWN0aW9uLVRyYW5zcG9ydFNldHRpbmdzXCIpLnNob3coKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIE90aGVyd2lzZSwgaGlkZSBpdFxuICAgICAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tVHJhbnNwb3J0U2V0dGluZ3NcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGNoZWNrQ2VydGlmaWNhdGVcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgJChcIiNjaGVja0NlcnRpZmljYXRlXCIpLm9uKFwiY2xpY2tcIiwgKCkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0geWllbGQgZmV0Y2goXCIvb3BjdWEtZW5kcG9pbnQyL2NsaWVudF9jZXJ0aWZpY2F0ZS5qc29uXCIpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbmZvID0geWllbGQgZGF0YS5qc29uKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHQgPSBKU09OLnN0cmluZ2lmeShpbmZvLCBudWxsLCBcIiBcIik7XG4gICAgICAgICAgICAgICAgICAgIGFsZXJ0KHQpO1xuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBoYW5kbGUgdGhlIFRlc3QgYnV0dG9uXG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG1hbmFnZUFQSUNhbGwoXCJjb25uZWN0aW9uXCIsICQoXCIjdGVzdC1jb25uZWN0aW9uXCIpLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICh7XG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IFwiL29wY3VhLWVuZHBvaW50Mi90ZXN0LWNvbm5lY3Rpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvZHk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRwb2ludE5vZGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IG5vZGUuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZHBvaW50OiAkKFwiI25vZGUtY29uZmlnLWlucHV0LWVuZHBvaW50XCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LW5hbWVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBraU5hbWU6IChfYSA9ICQoXCIjbm9kZS1jb25maWctaW5wdXQtcGtpTmFtZVwiKSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWN1cml0eU1vZGU6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlNb2RlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWN1cml0eVBvbGljeTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eVBvbGljeVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcklkZW50aXR5VHlwZTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VySWRlbnRpdHlUeXBlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyTmFtZTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyTmFtZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmQ6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtcGFzc3dvcmRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJDZXJ0aWZpY2F0ZTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyQ2VydGlmaWNhdGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJQcml2YXRla2V5OiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJQcml2YXRla2V5XCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy8gbm90IHRlc3RlZCB5ZXQgLi4uOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0aWZpY2F0ZTogJChcIiNub2RlLWlucHV0LWNlcnRpZmljYXRlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VUcmFuc3BvcnQ6ICQoXCIjbm9kZS1pbnB1dC11c2VUcmFuc3BvcnRcIikucHJvcChcImNoZWNrZWRcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heENodW5rQ291bnQ6ICQoXCIjbm9kZS1pbnB1dC1tYXhDaHVua0NvdW50XCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhNZXNzYWdlU2l6ZTogJChcIiNub2RlLWlucHV0LW1heE1lc3NhZ2VTaXplXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNlaXZlQnVmZmVyU2l6ZTogJChcIiNub2RlLWlucHV0LXJlY2VpdmVCdWZmZXJTaXplXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZW5kQnVmZmVyU2l6ZTogJChcIiNub2RlLWlucHV0LXNlbmRCdWZmZXJTaXplXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9LCAoKSA9PiB7IH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vICBJbnN0YWxsIHN1YnNjcmlwdGlvbnMgTGlzdCBtYW5hZ2VtZW50XG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc2l6ZVRvcGljcyA9ICh0b3BpYywgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG5ld1dpZHRoID0gdG9waWMud2lkdGgoKSB8fCAxMDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcGljLmZpbmQoXCJsYWJlbFwiKS50eXBlZElucHV0KFwid2lkdGhcIiwgbmV3V2lkdGggLSAxNSk7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25MaXN0ID0gJChcIiNzdWJzY3JpcHRpb25zLWNvbnRhaW5lclwiKVxuICAgICAgICAgICAgICAgICAgICAuY3NzKHsgXCJtaW4taGVpZ2h0XCI6IFwiMTUwcHhcIiwgXCJtaW4td2lkdGhcIjogXCIyNjBweFwiIH0pXG4gICAgICAgICAgICAgICAgICAgIC5lZGl0YWJsZUxpc3Qoe1xuICAgICAgICAgICAgICAgICAgICBhZGRJdGVtOiAoY29udGFpbmVyLCBpbmRleCwgZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgX2RhdGEgPSBkYXRhO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9ICQoXCIudGVtcGxhdGVcIikuY2xvbmUoKS5hcHBlbmRUbyhjb250YWluZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5yZW1vdmVBdHRyKFwiaWRcIikucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpLnJlbW92ZUNsYXNzKFwidGVtcGxhdGVcIikuYXR0cihcImRhdGEtaVwiLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtbmFtZVwiKS52YWwoX2RhdGEubmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsXCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLnJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnRcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMucmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LXJlcXVlc3RlZExpZmV0aW1lQ291bnRcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMucmVxdWVzdGVkTGlmZXRpbWVDb3VudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2hcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMubWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2ggfHwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtcHJpb3JpdHlcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMucHJpb3JpdHkgfHwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuc3Vic2NyaXB0aW9uLWlkXCIpLnRleHQoXCJcIiArIGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChfZGF0YS5pc0RlZmF1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtbmFtZVwiKS5wcm9wKFwicmVhZG9ubHlcIiwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtaXNEZWZhdWx0XCIpLnByb3AoXCJjaGVja2VkXCIsIF9kYXRhLmlzRGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBtYWtlIHN1cmUgdGhhdCBkZWZhdWx0IHN1YnNjcmlwdGlvbiBjYW5ub3QgYmUgYWNjaWRlbnRhbGx5IHJlbW92ZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChfZGF0YS5pc0RlZmF1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXIuZmluZChcIi5yZWQtdWktZWRpdGFibGVMaXN0LWl0ZW0tcmVtb3ZlXCIpLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IGVsZW1lbnQuZmluZChcIi5pbnB1dC1pc0RlZmF1bHRcIikucHJvcChcImRpc2FibGVkXCIsIHRydWUpLCAxMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIC8vIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICByZW1vdmFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHJlc2l6ZUl0ZW06IHJlc2l6ZVRvcGljcyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBjb25zdCBBZGRTdWJzY3JpcHRpb24gPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbnMgPSBub2RlLnN1YnNjcmlwdGlvbnMgfHwgW107XG4gICAgICAgICAgICAgICAgICAgIGlmIChzdWJzY3JpcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWRkIG1pc3NpbmcgZGVmYXVsdCBzdWJzY3JpcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwiczFcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIkRlZmF1bHQgU3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRTdWJzY3JpcHRpb25QYXJhbWV0ZXJzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbkxpc3QuZWRpdGFibGVMaXN0KFwiZW1wdHlcIik7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHN1YnNjcmlwdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHN1YnNjcmlwdGlvbi5pc0RlZmF1bHQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbkxpc3QuZWRpdGFibGVMaXN0KFwiYWRkSXRlbVwiLCBzdWJzY3JpcHRpb24pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBBZGRTdWJzY3JpcHRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICB9KTtcblxufSkoKTsiXX0=
7
+ function _0x6c72(_0x2ad134,_0x28e2b8){const _0x2995b5=_0x2995();return _0x6c72=function(_0x6c721d,_0x140ed1){_0x6c721d=_0x6c721d-0x10d;let _0xb472fd=_0x2995b5[_0x6c721d];return _0xb472fd;},_0x6c72(_0x2ad134,_0x28e2b8);}function _0x2995(){const _0x17b8cb=['clone','src','2706Zggzun','fa\x20fa-check-circle','protocol','#toggleAdvancedSection','hide','match','<button/>','appendTo','next','None','UserName','removeClass','nodes','#licenceWidget','#node-config-input-useTransport','invalid\x20endpoint','EXPIRED','pk_live_51HsE1sBCNccbzsVzt7zaq2uv20pkryWllAzvZgZd5AhwFI9A3qBIeOJvJwQF08lDoLpFqLjwmyA79wnPnYLsvKjt009f00VpCW','head','type','OpcUa-Endpoint2','#node-input-maxMessageSize','licence-widget-details','#test-connection','\x20for\x20more\x20information.','json','height:\x20100%\x20!important;','licenceWidget','.template','subscribe-button','userIdentityType','.section-userIdentityType-UserName','.input-isDefault','#section-TransportSettings','template','\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.̀','class','checked','FREEWARE',':checked','#node-input-receiveBufferSize','Trial\x20licence','daysLeft','error','subscriptions','<br>','addItem','disabled','The\x20Trial\x20will\x20expire\x20in\x20','\x20to\x20acquire\x20a\x20license.','then','readonly','addClass','<span>','#checkCertificate','.input-maxNotificationsPerPublish','create','.section-securityPolicy','replace','change','attr','PROFESSIONAL','-success','licenceInfo','password','width','.input-name','prop','baseUrl','requestedMaxKeepAliveCount','150px','find','stringify','Slow\x20Subscription','#node-config-input-password','Your\x20licence\x20is\x20valid.','8yFMZEB','1603596shLsXb','<a\x20href=\x22mailto:support@sterfive.com\x22\x20subject=\x22@opcua/for-node-red\x20support\x20request\x22>mailto:support@sterfive.com</a>','node-config-endpoint-tabs','31345VhTkiv','#section-Advanced','tabs','#node-config-input-securityPolicy','315243fUXHYe','licence-widget-','done','click','application/json','/licenceInfo','</p>','#node-input-useTransport','name','btn\x20btn-primary','fa\x20fa-exclamation-circle','element','style','#node-config-endpoint-tabs-content','FAILED','throw','empty','data-i','#node-config-input-userCertificate','css','config','Subscribe','POST','.input-publishingEnabled','priority','children','Please\x20contact\x20','append','opc.tcp://opcuademo.sterfive.com:26543/UA/SampleServer','show','assign','requestedLifetimeCount','.red-ui-editableList-item-remove','45770dtcysr','Freeware\x20licence','editableList','#node-config-input-userName','#node-config-input-userPrivatekey','<i>','/opcua-endpoint2','licence-widget-msg','parameters','async','.input-requestedLifetimeCount','html','\x20days.','2035215pNMNQo','22ljfHbi','text','#node-config-input-userIdentityType','#node-input-maxChunkCount','#subscriptions-container','.subscription-id','fetching\x20failed\x20with\x20error','260px','val','map','#node-config-input-securityMode','statusText','<p>','licence-widget','Sign','Your\x20license\x20has\x20expired.\x20Please\x20contact\x20our\x20support\x20team\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.','https://js.stripe.com/v3/pricing-table.js','addTab','height:\x20100%;max-height:\x20100%;','Default\x20Subscription','SignAndEncrypt','3055625iDQXML','length','message','<a\x20href=\x22https://www.sterfive.com/opcua/for-node-red\x22\x20target=”_blank”>Sterfive\x27s\x20website\x20</a>','label','push','Subscriptions','#node-config-input-name','SuppressedError','extra','script','removeAttr','publishingEnabled','\x20days.\x0aBuy\x20online\x20and\x20visit\x20','-failure','invalid\x20userIdentityType\x20','securityMode','status','-pending','invalid\x20securityMode\x20','apply','Connection','isArray','prctbl_1OJt49BCNccbzsVzkaANOgFL','.input-requestedPublishingInterval','#node-input-certificate','pricing-table-id','AUTHORIZED','toISOString','endpoint','2717556DwuMuO','result','Anonymous','14HmzAcr','endpoint-tab-connection','isDefault','err','This\x20is\x20a\x20freeware\x20licence,\x20and\x20have\x20some\x20limitations.\x0a','createElement','endpoint-tab-subscriptions','resize','/opcua-endpoint2/client_certificate.json','requestedPublishingInterval','TRIAL','licenceType','catch','log'];_0x2995=function(){return _0x17b8cb;};return _0x2995();}(function(_0x4f9af6,_0x284a33){const _0x23fbd6=_0x6c72,_0x66f336=_0x4f9af6();while(!![]){try{const _0x584194=-parseInt(_0x23fbd6(0x15d))/0x1*(-parseInt(_0x23fbd6(0x190))/0x2)+parseInt(_0x23fbd6(0x18f))/0x3+-parseInt(_0x23fbd6(0x1c3))/0x4+parseInt(_0x23fbd6(0x1a5))/0x5+-parseInt(_0x23fbd6(0x15a))/0x6*(-parseInt(_0x23fbd6(0x1c6))/0x7)+parseInt(_0x23fbd6(0x159))/0x8*(parseInt(_0x23fbd6(0x161))/0x9)+parseInt(_0x23fbd6(0x182))/0xa*(-parseInt(_0x23fbd6(0x10d))/0xb);if(_0x584194===_0x284a33)break;else _0x66f336['push'](_0x66f336['shift']());}catch(_0x3f401a){_0x66f336['push'](_0x66f336['shift']());}}}(_0x2995,0x614d9),(function(){'use strict';const _0x3ae5c6=_0x6c72;function _0x8e685e(_0x1f6b7b,_0x15d680,_0x150154,_0x13daaa){function _0x1257da(_0x3cdeea){return _0x3cdeea instanceof _0x150154?_0x3cdeea:new _0x150154(function(_0x3f886c){_0x3f886c(_0x3cdeea);});}return new(_0x150154||(_0x150154=Promise))(function(_0x5df586,_0x2dc9f2){const _0x542408=_0x6c72;function _0x37052c(_0x4c9d14){const _0xf2646f=_0x6c72;try{_0x92caef(_0x13daaa[_0xf2646f(0x115)](_0x4c9d14));}catch(_0x3ff8eb){_0x2dc9f2(_0x3ff8eb);}}function _0xe2d3ae(_0x49ea28){const _0x195fc9=_0x6c72;try{_0x92caef(_0x13daaa[_0x195fc9(0x170)](_0x49ea28));}catch(_0x5d6f27){_0x2dc9f2(_0x5d6f27);}}function _0x92caef(_0x27fd5b){const _0x5438c0=_0x6c72;_0x27fd5b[_0x5438c0(0x163)]?_0x5df586(_0x27fd5b['value']):_0x1257da(_0x27fd5b['value'])['then'](_0x37052c,_0xe2d3ae);}_0x92caef((_0x13daaa=_0x13daaa[_0x542408(0x1b9)](_0x1f6b7b,_0x15d680||[]))['next']());});}typeof SuppressedError==='function'?SuppressedError:function(_0x4f3b3f,_0x5ceaa2,_0x3e2ab9){const _0xfd4927=_0x6c72;var _0x519add=new Error(_0x3e2ab9);return _0x519add[_0xfd4927(0x169)]=_0xfd4927(0x1ad),_0x519add[_0xfd4927(0x138)]=_0x4f3b3f,_0x519add['suppressed']=_0x5ceaa2,_0x519add;};function _0x25f181(_0x441c15,_0x4d1d87,_0x17dd49,_0x3c3518){const _0x56018a=_0x6c72,_0x16bca2=$('#'+_0x441c15+_0x56018a(0x14b)),_0x7d4c31=$('#'+_0x441c15+_0x56018a(0x1b3)),_0x161c72=$('#'+_0x441c15+_0x56018a(0x1b7)),_0x19dfa5=$('#'+_0x441c15+'-messages');let _0x1a2120=![];_0x16bca2['hide'](),_0x7d4c31[_0x56018a(0x111)](),_0x161c72[_0x56018a(0x111)](),_0x4d1d87['on'](_0x56018a(0x164),()=>{const _0x7f571d=_0x56018a;if(_0x1a2120)return;_0x1a2120=!![],_0x161c72['removeClass'](_0x7f571d(0x111)),_0x161c72[_0x7f571d(0x18d)]('Testing\x20Connection\x20...'),_0x16bca2['addClass']('hide'),_0x7d4c31[_0x7f571d(0x141)](_0x7f571d(0x111)),_0x19dfa5[_0x7f571d(0x18d)]('');const {body:_0x23b56f,url:_0x4351a1}=_0x17dd49();fetch(_0x4351a1,{'method':_0x7f571d(0x177),'headers':{'Content-Type':_0x7f571d(0x165)},'body':JSON['stringify'](_0x23b56f)})[_0x7f571d(0x13f)](_0x3e817a=>_0x3e817a[_0x7f571d(0x126)]())[_0x7f571d(0x13f)](_0x23b0eb=>{const _0x6fe836=_0x7f571d;_0x1a2120=![],_0x161c72[_0x6fe836(0x111)](),console['log'](JSON[_0x6fe836(0x155)](_0x23b0eb,null,'\x20'));if(_0x23b0eb[_0x6fe836(0x1c4)]==='ok')_0x16bca2[_0x6fe836(0x118)](_0x6fe836(0x111)),_0x7d4c31[_0x6fe836(0x141)](_0x6fe836(0x111)),_0x19dfa5['html'](_0x23b0eb[_0x6fe836(0x1a7)][_0x6fe836(0x147)]('\x0a',_0x6fe836(0x13a))),_0x3c3518(null,_0x23b0eb);else{const _0x4da897=_0x773cd2=>!_0x773cd2?'':_0x773cd2['split']('\x0a')[_0x6fe836(0x199)](_0x109757=>_0x6fe836(0x19c)+_0x109757+_0x6fe836(0x167))['join']('\x0a'),_0x157daf=_0x363de=>Array[_0x6fe836(0x1bb)](_0x363de)?_0x363de['map'](_0x4da897)['join']('\x0a'):_0x4da897(_0x363de);_0x16bca2['addClass'](_0x6fe836(0x111)),_0x7d4c31['removeClass'](_0x6fe836(0x111)),_0x19dfa5['html'](_0x157daf(_0x23b0eb['message'])+_0x157daf(_0x23b0eb[_0x6fe836(0x1ae)])),_0x3c3518(new Error(_0x23b0eb['result']),_0x23b0eb);}})[_0x7f571d(0x1d2)](_0x5d0348=>{const _0x22634a=_0x7f571d;_0x1a2120=![],_0x161c72[_0x22634a(0x141)](_0x22634a(0x111)),_0x16bca2[_0x22634a(0x141)]('hide'),_0x7d4c31[_0x22634a(0x118)](_0x22634a(0x111)),_0x19dfa5['html']('internal\x20error\x20'+_0x5d0348['message']),console[_0x22634a(0x1d3)](_0x22634a(0x1c9),_0x5d0348),_0x3c3518(_0x5d0348,null);});});}const _0x5cd8f1=_0x3ae5c6(0x1bc),_0x52e1f9=_0x3ae5c6(0x11e);function _0x5dee65(){return _0x8e685e(this,arguments,void 0x0,function*(_0x595883=''){const _0x4cbcac=_0x6c72,_0x379b64=_0x595883+_0x4cbcac(0x188),_0x48b082=_0x379b64+_0x4cbcac(0x166),_0x40ef12=yield fetch(_0x48b082,{'method':'POST','headers':{'Content-Type':_0x4cbcac(0x165)}}),_0x428893=new Date()[_0x4cbcac(0x1c1)]();if(_0x40ef12[_0x4cbcac(0x1b6)]!==0xc8)return console['log'](_0x4cbcac(0x196),_0x40ef12[_0x4cbcac(0x1b6)],_0x40ef12[_0x4cbcac(0x19b)]),{'status':'FAILED','type':'FREEWARE','licenceInfo':{'expiryDate':_0x428893}};const _0x18dc79=yield _0x40ef12[_0x4cbcac(0x126)]();return _0x18dc79;});}const _0x59b785=()=>{$['widget']('sterfive.licenceWidget',{'options':{'baseUrl':''},'_create'(){const _0x5e1b43=_0x6c72,_0x4cdbc3=this,_0x14b055=_0x5e1b43(0x15b),_0x13f178=_0x5e1b43(0x1a8);_0x5dee65(_0x4cdbc3[_0x5e1b43(0x151)])[_0x5e1b43(0x13f)](_0x16b73c=>{const _0xed18ba=_0x5e1b43;let _0x53cd63='',_0x4fa8af='',_0x54b4b6='';const _0x12181d=_0x16b73c[_0xed18ba(0x1b6)],_0x5d00ee=_0x16b73c[_0xed18ba(0x137)];switch(_0x12181d){case _0xed18ba(0x1c0):_0x53cd63=_0xed18ba(0x10e);switch(_0x16b73c[_0xed18ba(0x120)]){case _0xed18ba(0x1d0):{_0x4fa8af=_0xed18ba(0x136),_0x54b4b6=_0xed18ba(0x13d)+_0x5d00ee+_0xed18ba(0x1b2)+_0x13f178+_0xed18ba(0x13e);break;}case _0xed18ba(0x14a):_0x4fa8af=_0xed18ba(0x158);_0x5d00ee<0x5a&&_0x5d00ee>=0x0&&(_0x4fa8af+='\x20It\x20will\x20expire\x20in\x20'+_0x5d00ee+_0xed18ba(0x18e));_0x54b4b6=_0x16b73c[_0xed18ba(0x14c)][_0xed18ba(0x1d1)]+'\x20-\x20'+(_0x16b73c['licenceInfo']['onPremiseServerHost']||'');break;case _0xed18ba(0x133):_0x4fa8af=_0xed18ba(0x183),_0x54b4b6=_0xed18ba(0x1ca)+_0x13f178+_0xed18ba(0x125);break;}break;case _0xed18ba(0x11d):_0x53cd63='fa\x20fa-calendar-time',_0x4fa8af='Licence\x20has\x20expired',_0x54b4b6=_0xed18ba(0x19f);break;case'FAILED':default:_0x53cd63=_0xed18ba(0x16b),_0x4fa8af='Your\x20license\x20is\x20currently\x20invalid.',_0x54b4b6=_0xed18ba(0x17b)+_0x14b055+_0xed18ba(0x130);break;}this[_0xed18ba(0x16c)][_0xed18ba(0x141)](_0xed18ba(0x19d)),this[_0xed18ba(0x16c)]['addClass'](_0xed18ba(0x162)+_0x12181d),this['element']['append']($('<span>')[_0xed18ba(0x141)]('licence-widget-icon')['append']($(_0xed18ba(0x187))[_0xed18ba(0x141)](_0x53cd63))),this[_0xed18ba(0x16c)][_0xed18ba(0x17c)]($('<span>')[_0xed18ba(0x141)](_0xed18ba(0x189))[_0xed18ba(0x191)](_0x4fa8af)),this[_0xed18ba(0x16c)][_0xed18ba(0x17c)]($(_0xed18ba(0x13a))),this[_0xed18ba(0x16c)][_0xed18ba(0x17c)]($(_0xed18ba(0x142))[_0xed18ba(0x141)](_0xed18ba(0x123))[_0xed18ba(0x17c)](_0x54b4b6));if(_0x12181d==='EXPIRED'||_0x12181d===_0xed18ba(0x16f)||_0x16b73c[_0xed18ba(0x120)]===_0xed18ba(0x133)||_0x16b73c[_0xed18ba(0x120)]===_0xed18ba(0x1d0)){const _0x202f18=$(_0xed18ba(0x113));_0x202f18[_0xed18ba(0x149)]('id',_0xed18ba(0x12a)),_0x202f18[_0xed18ba(0x149)](_0xed18ba(0x131),_0xed18ba(0x16a)),_0x202f18[_0xed18ba(0x149)](_0xed18ba(0x16d),'margin-top:\x2020px;'),_0x202f18['text'](_0xed18ba(0x176)),this[_0xed18ba(0x16c)][_0xed18ba(0x17c)](_0x202f18);const _0x5c1681=document[_0xed18ba(0x1cb)](_0xed18ba(0x1af));_0x5c1681[_0xed18ba(0x1d5)]=_0xed18ba(0x1a0),_0x5c1681[_0xed18ba(0x18b)]=!![],$(_0xed18ba(0x11f))[_0xed18ba(0x17c)](_0x5c1681);const _0xbaaf6d=$('<stripe-pricing-table/>');_0xbaaf6d['attr'](_0xed18ba(0x1bf),_0x5cd8f1),_0xbaaf6d['attr']('publishable-key',_0x52e1f9),_0xbaaf6d[_0xed18ba(0x149)](_0xed18ba(0x16d),_0xed18ba(0x1a2)),_0xbaaf6d['hide'](),this['element'][_0xed18ba(0x17c)](_0xbaaf6d),_0x202f18['on'](_0xed18ba(0x164),()=>{const _0x44c93a=_0xed18ba;_0xbaaf6d[_0x44c93a(0x17e)](),_0x202f18[_0x44c93a(0x111)](),this[_0x44c93a(0x16c)]['attr']('style',_0x44c93a(0x127));});}})[_0x5e1b43(0x1d2)](_0x3d2e66=>{const _0x4ef7cf=_0x5e1b43;console[_0x4ef7cf(0x1d3)](_0x3d2e66);});}});};_0x59b785();function _0x32f778(_0x3d133e){const _0x5102fb=_0x3ae5c6;let _0x19cb22;try{_0x19cb22=new URL(_0x3d133e);}catch(_0x2df023){return![];}return _0x19cb22[_0x5102fb(0x10f)]==='opc.tcp:';}const _0xed0924={'publishingEnabled':!![],'requestedLifetimeCount':0x3e8,'requestedMaxKeepAliveCount':0xa,'requestedPublishingInterval':0x3e8,'maxNotificationsPerPublish':0x0,'priority':0x64};RED[_0x3ae5c6(0x119)]['registerType'](_0x3ae5c6(0x121),{'category':_0x3ae5c6(0x175),'paletteLabel':'opcua\x20endpoint','defaults':{'name':{'value':''},'endpoint':{'value':_0x3ae5c6(0x17d),'required':!![],'validate':_0x32f778},'securityMode':{'value':_0x3ae5c6(0x116)},'securityPolicy':{'value':_0x3ae5c6(0x116),'validate':_0x563600=>{if(!_0x563600)return![];return!![];}},'userIdentityType':{'value':'Anonymous'},'pkiName':{'value':'','validate':_0x4538e8=>!_0x4538e8||_0x4538e8[_0x3ae5c6(0x112)](/[0-9a-zA-Z]*/)?!![]:![]},'useTransport':{'value':![],'required':![]},'maxChunkCount':{'value':0x1,'required':![]},'maxMessageSize':{'value':0x2000,'required':![]},'receiveBufferSize':{'value':0x2000,'required':![]},'sendBufferSize':{'value':0x2000,'required':![]},'subscriptions':{'value':[{'id':'s1','name':'Default\x20Subscription','isDefault':!![],'parameters':Object[_0x3ae5c6(0x17f)]({},_0xed0924)},{'id':'s2','name':_0x3ae5c6(0x156),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0x64,'requestedMaxKeepAliveCount':0x3,'requestedPublishingInterval':0x1388,'maxNotificationsPerPublish':0x64,'priority':0xa}},{'id':'s3','name':'Fast\x20Subscription','isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0xfa0,'requestedMaxKeepAliveCount':0x32,'requestedPublishingInterval':0xfa,'maxNotificationsPerPublish':0x64,'priority':0xc8}}],'required':![]}},'credentials':{'userName':{'type':_0x3ae5c6(0x191)},'password':{'type':_0x3ae5c6(0x14d)},'userCertificate':{'type':'text'},'userPrivatekey':{'type':'password'}},'label':function(){const _0x652a73=_0x3ae5c6;return this[_0x652a73(0x169)]||this[_0x652a73(0x1c2)]||_0x652a73(0x11c);},'oneditsave'(){const _0x2726f0=_0x3ae5c6,_0x45c9dd=$(_0x2726f0(0x160)),_0x32fb4c=$(_0x2726f0(0x19a));_0x45c9dd[_0x2726f0(0x198)]()===_0x2726f0(0x116)&&_0x32fb4c[_0x2726f0(0x191)](_0x2726f0(0x116));const _0x3451de=$(_0x2726f0(0x194))['editableList']('items'),_0x1ecc76=[],_0x27ae72=_0x55608e=>_0x55608e;_0x3451de['each'](function(_0x31febb,_0xcf79fe){const _0x2331d0=_0x2726f0,_0x4c605c=$(this),_0xfd5778={'id':'s'+_0x31febb,'name':_0x4c605c[_0x2331d0(0x154)](_0x2331d0(0x14f))['val'](),'isDefault':!!_0x4c605c[_0x2331d0(0x154)](_0x2331d0(0x12d))[_0x2331d0(0x198)](),'parameters':{'publishingEnabled':!!_0x4c605c[_0x2331d0(0x154)](_0x2331d0(0x178))['is'](_0x2331d0(0x134)),'requestedLifetimeCount':_0x27ae72(_0x4c605c[_0x2331d0(0x154)](_0x2331d0(0x18c))[_0x2331d0(0x198)]()),'requestedMaxKeepAliveCount':_0x27ae72(_0x4c605c[_0x2331d0(0x154)]('.input-requestedMaxKeepAliveCount')[_0x2331d0(0x198)]()),'requestedPublishingInterval':_0x27ae72(_0x4c605c[_0x2331d0(0x154)](_0x2331d0(0x1bd))[_0x2331d0(0x198)]()),'maxNotificationsPerPublish':_0x27ae72(_0x4c605c[_0x2331d0(0x154)](_0x2331d0(0x144))[_0x2331d0(0x198)]()),'priority':_0x27ae72(_0x4c605c[_0x2331d0(0x154)]('.input-priority')['val']())}};_0xfd5778[_0x2331d0(0x18a)][_0x2331d0(0x1b1)]=!![],_0xfd5778['isDefault']&&_0xfd5778['id']==='s0'&&(_0xfd5778[_0x2331d0(0x169)]=_0x2331d0(0x1a3)),_0x1ecc76['push'](_0xfd5778);}),this[_0x2726f0(0x139)]=_0x1ecc76;},'oneditprepare'(){const _0x19b728=_0x3ae5c6,_0x55953b=this,_0x457004=RED[_0x19b728(0x15f)][_0x19b728(0x145)]({'id':_0x19b728(0x15c),'onchange':function(_0x54aa7e){const _0x40fa42=_0x19b728;$(_0x40fa42(0x16e))[_0x40fa42(0x17a)]()[_0x40fa42(0x111)](),$('#'+_0x54aa7e['id'])['show']();}});_0x457004[_0x19b728(0x1a1)]({'id':_0x19b728(0x1c7),'label':_0x19b728(0x1ba)},0x0),_0x457004[_0x19b728(0x1a1)]({'id':_0x19b728(0x1cc),'label':_0x19b728(0x1ab)},0x1),setTimeout(function(){const _0x30b19a=_0x19b728;_0x457004[_0x30b19a(0x1cd)]();},0x0);{const _0x5f1754=_0x2982d4=>{const _0x222cdd=_0x19b728;switch(_0x2982d4){case null:case undefined:case'':case _0x222cdd(0x116):$('.section-securityPolicy')[_0x222cdd(0x111)]();break;case _0x222cdd(0x19e):case _0x222cdd(0x1a4):{const _0xdd9f13=$(_0x222cdd(0x146));(_0xdd9f13[_0x222cdd(0x198)]()===_0x222cdd(0x116)||_0xdd9f13[_0x222cdd(0x198)]()==='')&&_0xdd9f13['val']('Basic256Sha256'),$('.section-securityPolicy')[_0x222cdd(0x17e)]();}break;default:console[_0x222cdd(0x1d3)](_0x222cdd(0x1b8)+_0x2982d4);}};_0x5f1754(_0x55953b[_0x19b728(0x1b5)]);const _0x8a8f3b=$(_0x19b728(0x19a));_0x8a8f3b['on']('change',()=>{const _0x60c415=_0x8a8f3b['val']();_0x5f1754(_0x60c415);});}const _0x24a40d=$(_0x19b728(0x11a));_0x24a40d[_0x19b728(0x128)]({'baseUrl':''});{const _0x1d8cbf=$(_0x19b728(0x12c)),_0x1243b4=$('.section-userIdentityType-Certificate'),_0x4f8ddf=_0x1aaee8=>{const _0x53c778=_0x19b728;_0x1aaee8=_0x1aaee8||_0x53c778(0x1c5);switch(_0x1aaee8){case'Anonymous':$('#node-config-input-userName')[_0x53c778(0x198)](''),$(_0x53c778(0x157))['val'](''),_0x1d8cbf['hide'](),_0x1243b4[_0x53c778(0x111)]();break;case _0x53c778(0x117):_0x1d8cbf[_0x53c778(0x17e)](),_0x1243b4[_0x53c778(0x111)]();break;case'Certificate':$(_0x53c778(0x185))[_0x53c778(0x198)](''),$(_0x53c778(0x157))[_0x53c778(0x198)](''),_0x1243b4[_0x53c778(0x17e)](),_0x1d8cbf[_0x53c778(0x111)]();break;default:console['log'](_0x53c778(0x1b4)+_0x1aaee8);}};_0x4f8ddf(_0x55953b[_0x19b728(0x12b)]);const _0x29e451=$(_0x19b728(0x192));_0x29e451['on'](_0x19b728(0x148),()=>{const _0x2c1ab2=_0x19b728,_0x2bf5c7=_0x29e451[_0x2c1ab2(0x198)]();_0x4f8ddf(_0x2bf5c7);});}{$('#section-Advanced')[_0x19b728(0x111)](),$(_0x19b728(0x110))['prop'](_0x19b728(0x132),![]),$(_0x19b728(0x110))['on'](_0x19b728(0x148),function(){const _0x1f1721=_0x19b728;$(this)[_0x1f1721(0x150)]('checked')?$(_0x1f1721(0x15e))[_0x1f1721(0x17e)]():$(_0x1f1721(0x15e))[_0x1f1721(0x111)]();});}const _0x507fe7=$(_0x19b728(0x11b))[_0x19b728(0x150)]('checked');_0x507fe7?$(_0x19b728(0x12e))[_0x19b728(0x17e)]():$('#section-TransportSettings')['hide']();$(_0x19b728(0x11b))['on']('change',function(){const _0x9be96=_0x19b728;$(this)[_0x9be96(0x150)](_0x9be96(0x132))?$(_0x9be96(0x12e))[_0x9be96(0x17e)]():$(_0x9be96(0x12e))[_0x9be96(0x111)]();});{$(_0x19b728(0x143))['on']('click',()=>_0x8e685e(this,void 0x0,void 0x0,function*(){const _0x541291=_0x19b728,_0xc5dc88=yield fetch(_0x541291(0x1ce)),_0x4c8e17=yield _0xc5dc88[_0x541291(0x126)](),_0x9d25ae=JSON[_0x541291(0x155)](_0x4c8e17,null,'\x20');alert(_0x9d25ae);}));}{_0x25f181('connection',$(_0x19b728(0x124)),()=>{const _0x40b677=_0x19b728;var _0x4402a6;return{'url':'/opcua-endpoint2/test-connection','body':{'endpointNode':{'id':_0x55953b['id'],'endpoint':$('#node-config-input-endpoint')['val'](),'name':$(_0x40b677(0x1ac))['val'](),'pkiName':(_0x4402a6=$('#node-config-input-pkiName'))===null||_0x4402a6===void 0x0?void 0x0:_0x4402a6[_0x40b677(0x198)](),'securityMode':$(_0x40b677(0x19a))[_0x40b677(0x198)](),'securityPolicy':$('#node-config-input-securityPolicy')['val'](),'userIdentityType':$(_0x40b677(0x192))[_0x40b677(0x198)](),'userName':$('#node-config-input-userName')['val'](),'password':$('#node-config-input-password')[_0x40b677(0x198)](),'userCertificate':$(_0x40b677(0x173))[_0x40b677(0x198)](),'userPrivatekey':$(_0x40b677(0x186))[_0x40b677(0x198)](),'certificate':$(_0x40b677(0x1be))['val'](),'useTransport':$(_0x40b677(0x168))[_0x40b677(0x150)](_0x40b677(0x132)),'maxChunkCount':$(_0x40b677(0x193))[_0x40b677(0x198)](),'maxMessageSize':$(_0x40b677(0x122))[_0x40b677(0x198)](),'receiveBufferSize':$(_0x40b677(0x135))['val'](),'sendBufferSize':$('#node-input-sendBufferSize')[_0x40b677(0x198)]()}}};},()=>{});}{const _0x5d28fb=(_0x2b2b16,_0x4e89e6)=>{const _0x454a1d=_0x19b728;var _0x513e67=_0x2b2b16[_0x454a1d(0x14e)]()||0x64;_0x2b2b16[_0x454a1d(0x154)](_0x454a1d(0x1a9))['typedInput'](_0x454a1d(0x14e),_0x513e67-0xf);},_0x439120=$('#subscriptions-container')[_0x19b728(0x174)]({'min-height':_0x19b728(0x153),'min-width':_0x19b728(0x197)})['editableList']({'addItem':(_0x453212,_0xe6299,_0x23245d)=>{const _0x5a9e62=_0x19b728,_0x16356f=_0x23245d,_0x47ed78=$(_0x5a9e62(0x129))[_0x5a9e62(0x1d4)]()[_0x5a9e62(0x114)](_0x453212);_0x47ed78[_0x5a9e62(0x1b0)]('id')[_0x5a9e62(0x118)](_0x5a9e62(0x111))[_0x5a9e62(0x118)](_0x5a9e62(0x12f))[_0x5a9e62(0x149)](_0x5a9e62(0x172),_0xe6299),_0x47ed78[_0x5a9e62(0x154)](_0x5a9e62(0x14f))[_0x5a9e62(0x198)](_0x16356f['name']),_0x47ed78[_0x5a9e62(0x154)]('.input-requestedPublishingInterval')[_0x5a9e62(0x198)](_0x16356f['parameters'][_0x5a9e62(0x1cf)]),_0x47ed78['find']('.input-requestedMaxKeepAliveCount')['val'](_0x16356f[_0x5a9e62(0x18a)][_0x5a9e62(0x152)]),_0x47ed78[_0x5a9e62(0x154)](_0x5a9e62(0x18c))['val'](_0x16356f['parameters'][_0x5a9e62(0x180)]),_0x47ed78[_0x5a9e62(0x154)](_0x5a9e62(0x144))[_0x5a9e62(0x198)](_0x16356f[_0x5a9e62(0x18a)]['maxNotificationsPerPublish']||0x0),_0x47ed78[_0x5a9e62(0x154)]('.input-priority')[_0x5a9e62(0x198)](_0x16356f[_0x5a9e62(0x18a)][_0x5a9e62(0x179)]||0x0),_0x47ed78[_0x5a9e62(0x154)](_0x5a9e62(0x195))['text'](''+_0xe6299),_0x16356f[_0x5a9e62(0x1c8)]&&_0x47ed78[_0x5a9e62(0x154)](_0x5a9e62(0x14f))[_0x5a9e62(0x150)](_0x5a9e62(0x140),!![]),_0x47ed78[_0x5a9e62(0x154)](_0x5a9e62(0x12d))[_0x5a9e62(0x150)](_0x5a9e62(0x132),_0x16356f[_0x5a9e62(0x1c8)]),_0x16356f[_0x5a9e62(0x1c8)]&&(_0x453212[_0x5a9e62(0x154)](_0x5a9e62(0x181))[_0x5a9e62(0x141)](_0x5a9e62(0x111)),setTimeout(()=>_0x47ed78[_0x5a9e62(0x154)]('.input-isDefault')['prop'](_0x5a9e62(0x13c),!![]),0xa));},'removable':!![],'resizeItem':_0x5d28fb}),_0x3676c1=()=>{const _0x29c876=_0x19b728,_0x4f6bb2=_0x55953b['subscriptions']||[];_0x4f6bb2[_0x29c876(0x1a6)]===0x0&&_0x4f6bb2[_0x29c876(0x1aa)]({'id':'s1','name':_0x29c876(0x1a3),'isDefault':!![],'parameters':Object[_0x29c876(0x17f)]({},_0xed0924)});_0x439120['editableList'](_0x29c876(0x171));for(const _0x2430b8 of _0x4f6bb2){_0x439120[_0x29c876(0x184)](_0x29c876(0x13b),_0x2430b8);}};_0x3676c1();}}});}()));
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHg4ZTY4NWUiLCJfMHgxZjZiN2IiLCJfMHgxNWQ2ODAiLCJfMHgxNTAxNTQiLCJfMHgxM2RhYWEiLCJfMHgxMjU3ZGEiLCJfMHgzY2RlZWEiLCJfMHgzZjg4NmMiLCJQcm9taXNlIiwiXzB4NWRmNTg2IiwiXzB4MmRjOWYyIiwiXzB4MzcwNTJjIiwiXzB4NGM5ZDE0IiwiXzB4OTJjYWVmIiwiXzB4M2ZmOGViIiwiXzB4ZTJkM2FlIiwiXzB4NDllYTI4IiwiXzB4NWQ2ZjI3IiwiXzB4MjdmZDViIiwiU3VwcHJlc3NlZEVycm9yIiwiXzB4NGYzYjNmIiwiXzB4NWNlYWEyIiwiXzB4M2UyYWI5IiwiXzB4NTE5YWRkIiwiRXJyb3IiLCJfMHgyNWYxODEiLCJfMHg0NDFjMTUiLCJfMHg0ZDFkODciLCJfMHgxN2RkNDkiLCJfMHgzYzM1MTgiLCJfMHgxNmJjYTIiLCIkIiwiXzB4N2Q0YzMxIiwiXzB4MTYxYzcyIiwiXzB4MTlkZmE1IiwiXzB4MWEyMTIwIiwiYm9keSIsIl8weDIzYjU2ZiIsInVybCIsIl8weDQzNTFhMSIsImZldGNoIiwiSlNPTiIsIl8weDNlODE3YSIsIl8weDIzYjBlYiIsImNvbnNvbGUiLCJfMHg0ZGE4OTciLCJfMHg3NzNjZDIiLCJfMHgxMDk3NTciLCJfMHgxNTdkYWYiLCJfMHgzNjNkZSIsIkFycmF5IiwiXzB4NWQwMzQ4IiwiXzB4NWNkOGYxIiwiXzB4NTJlMWY5IiwiXzB4NWRlZTY1IiwiYXJndW1lbnRzIiwiXzB4NTk1ODgzIiwiXzB4Mzc5YjY0IiwiXzB4NDhiMDgyIiwiXzB4NDBlZjEyIiwiXzB4NDI4ODkzIiwiRGF0ZSIsIl8weDE4ZGM3OSIsIl8weDU5Yjc4NSIsIl8weDRjZGJjMyIsIl8weDE0YjA1NSIsIl8weDEzZjE3OCIsIl8weDE2YjczYyIsIl8weDUzY2Q2MyIsIl8weDRmYThhZiIsIl8weDU0YjRiNiIsIl8weDEyMTgxZCIsIl8weDVkMDBlZSIsIl8weDIwMmYxOCIsIl8weDVjMTY4MSIsImRvY3VtZW50IiwiXzB4YmFhZjZkIiwiXzB4M2QyZTY2IiwiXzB4MzJmNzc4IiwiXzB4M2QxMzNlIiwiXzB4MTljYjIyIiwiVVJMIiwiXzB4MmRmMDIzIiwiXzB4ZWQwOTI0IiwiUkVEIiwiXzB4NTYzNjAwIiwiXzB4NDUzOGU4IiwiT2JqZWN0IiwiXzB4NDVjOWRkIiwiXzB4MzJmYjRjIiwiXzB4MzQ1MWRlIiwiXzB4MWVjYzc2IiwiXzB4MjdhZTcyIiwiXzB4NTU2MDhlIiwiXzB4MzFmZWJiIiwiXzB4Y2Y3OWZlIiwiXzB4NGM2MDVjIiwiXzB4ZmQ1Nzc4IiwiXzB4NTU5NTNiIiwiXzB4NDU3MDA0IiwiXzB4NTRhYTdlIiwic2V0VGltZW91dCIsIl8weDVmMTc1NCIsIl8weDI5ODJkNCIsInVuZGVmaW5lZCIsIl8weGRkOWYxMyIsIl8weDhhOGYzYiIsIl8weDYwYzQxNSIsIl8weDI0YTQwZCIsIl8weDFkOGNiZiIsIl8weDEyNDNiNCIsIl8weDRmOGRkZiIsIl8weDFhYWVlOCIsIl8weDI5ZTQ1MSIsIl8weDJiZjVjNyIsIl8weDUwN2ZlNyIsIl8weGM1ZGM4OCIsIl8weDRjOGUxNyIsIl8weDlkMjVhZSIsImFsZXJ0IiwiXzB4NDQwMmE2IiwiXzB4NWQyOGZiIiwiXzB4MmIyYjE2IiwiXzB4NGU4OWU2IiwiXzB4NTEzZTY3IiwiXzB4NDM5MTIwIiwiXzB4NDUzMjEyIiwiXzB4ZTYyOTkiLCJfMHgyMzI0NWQiLCJfMHgxNjM1NmYiLCJfMHg0N2VkNzgiLCJfMHgzNjc2YzEiLCJfMHg0ZjZiYjIiLCJfMHgyNDMwYjgiXSwibWFwcGluZ3MiOiI2NUpBQUEsQ0FBQyxVLENBQ0csYSx3QkFtQkEsU0FBU0EsU0FBVCxDQUFtQkMsU0FBbkIsQ0FBNEJDLFNBQTVCLENBQXdDQyxTQUF4QyxDQUEyQ0MsU0FBM0MsQyxDQUNJLFNBQVNDLFNBQVQsQ0FBZUMsU0FBZixDLFFBQStCQSxTQUFBLFlBQWlCSCxTQUFqQixDQUFxQkcsU0FBckIsQ0FBNkIsSUFBSUgsU0FBSixDQUFNLFNBQVVJLFNBQVYsQyxDQUFxQkEsU0FBQSxDQUFRRCxTQUFSLEMsRUFBM0IsQyxTQUNyRCxHQUFLLENBQUFILFNBQUEsRUFBTSxDQUFBQSxTQUFBLENBQUlLLE9BQUosQ0FBTixDQUFMLENBQXlCLFNBQVVDLFNBQVYsQ0FBbUJDLFNBQW5CLEMseUJBQzVCLFNBQVNDLFNBQVQsQ0FBbUJDLFNBQW5CLEMseUJBQTRCLEcsQ0FBTUMsU0FBQSxDQUFLVCxTQUFBLEMsZ0JBQUEsRUFBZVEsU0FBZixDQUFMLEMsRUFBK0IsTUFBT0UsU0FBUCxDLENBQVlKLFNBQUEsQ0FBT0ksU0FBUCxDLEdBQzdFLFNBQVNDLFNBQVQsQ0FBa0JDLFNBQWxCLEMseUJBQTJCLEcsQ0FBTUgsU0FBQSxDQUFLVCxTQUFBLEMsZ0JBQUEsRUFBbUJZLFNBQW5CLENBQUwsQyxFQUFtQyxNQUFPQyxTQUFQLEMsQ0FBWVAsU0FBQSxDQUFPTyxTQUFQLEMsR0FDaEYsU0FBU0osU0FBVCxDQUFjSyxTQUFkLEMseUJBQXdCQSxTQUFBLEMsZ0JBQUEsRUFBY1QsU0FBQSxDQUFRUyxTQUFBLEMsT0FBQSxDQUFSLENBQWQsQ0FBc0NiLFNBQUEsQ0FBTWEsU0FBQSxDLE9BQUEsQ0FBTixFLE1BQUEsRUFBeUJQLFNBQXpCLENBQW9DSSxTQUFwQyxDLEVBQzlERixTQUFBLENBQU0sQ0FBQVQsU0FBQSxDQUFZQSxTQUFBLEMsZ0JBQUEsRUFBZ0JILFNBQWhCLENBQXlCQyxTQUFBLEVBQWMsRUFBdkMsQ0FBWixDQUFELEMsTUFBQSxHQUFMLEMsRUFKRyxDLEVBUVgsT0FBT2lCLGVBQVAsRyxVQUFBLENBQXdDQSxlQUF4QyxDQUEwRCxTQUFVQyxTQUFWLENBQWlCQyxTQUFqQixDQUE2QkMsU0FBN0IsQyx5QkFDdEQsSUFBSUMsU0FBQSxDQUFJLElBQUlDLEtBQUosQ0FBVUYsU0FBVixDQUFSLEMsT0FDT0MsU0FBQSxDLGdCQUFBLEUsZ0JBQUEsQ0FBNEJBLFNBQUEsQyxnQkFBQSxFQUFVSCxTQUF0QyxDQUE2Q0csU0FBQSxDLFlBQUEsRUFBZUYsU0FBNUQsQ0FBd0VFLFMsRUFGbkYsQ0FLQSxTQUFTRSxTQUFULENBQXVCQyxTQUF2QixDQUErQkMsU0FBL0IsQ0FBb0NDLFNBQXBDLENBQTBDQyxTQUExQyxDLHlCQUNVQyxTQUFBLENBQWNDLENBQUEsQyxJQUFNTCxTLGlCQUFOLEMsQ0FDZE0sU0FBQSxDQUFjRCxDQUFBLEMsSUFBTUwsUyxpQkFBTixDLENBQ2RPLFNBQUEsQ0FBY0YsQ0FBQSxDLElBQU1MLFMsaUJBQU4sQyxDQUNkUSxTQUFBLENBQVdILENBQUEsQyxJQUFNTCxTLFlBQU4sQyxDQUNqQixJQUFJUyxTQUFBLEMsR0FBSixDQUNBTCxTQUFBLEMsTUFBQSxHLENBQ0FFLFNBQUEsQyxnQkFBQSxHLENBQ0FDLFNBQUEsQyxnQkFBQSxHLENBQ0FOLFNBQUEsQyxJQUFBLEUsZ0JBQUEsQ0FBZ0IsSSw4QkFDUlEsUyxDQUNBLE9BQ0pBLFNBQUEsQyxLQUNBRixTQUFBLEMsYUFBQSxFLGdCQUFBLEMsQ0FDQUEsU0FBQSxDLGdCQUFBLEUsOEJBQUEsQyxDQUNBSCxTQUFBLEMsVUFBQSxFLE1BQUEsQyxDQUNBRSxTQUFBLEMsZ0JBQUEsRSxnQkFBQSxDLENBQ0FFLFNBQUEsQyxnQkFBQSxFLEVBQUEsQ0FMQSxDQU1BLE1BQU0sQ0FBRUUsSUFBQSxDQUFBQyxTQUFGLENBQVFDLEdBQUEsQ0FBQUMsU0FBUixFQUFnQlgsU0FBQSxFQUF0QixDQUVBWSxLQUFBLENBQU1ELFNBQU4sQ0FBVyxDLFFBQ1AsQyxnQkFETyxDLFNBRVAsQ0FBUyxDLGNBQ0wsQyxnQkFESyxDQUZGLEMsTUFLUCxDQUFNRSxJQUFBLEMsV0FBQSxFQUFlSixTQUFmLENBTEMsQ0FBWCxFLGdCQUFBLEVBT1dLLFNBQUQsRUFBVUEsU0FBQSxDLGdCQUFBLEdBUHBCLEUsZ0JBQUEsRUFRV0MsU0FBRCxFLDJCQUNOUixTQUFBLEMsSUFDQUYsU0FBQSxDLGdCQUFBLEcsQ0FDQVcsT0FBQSxDLEtBQUEsRUFBWUgsSUFBQSxDLGdCQUFBLEVBQWVFLFNBQWYsQ0FBcUIsSUFBckIsQyxNQUFBLENBQVosQ0FGQSxDLEdBR0lBLFNBQUEsQyxnQkFBQSxJLEtBQ0FiLFNBQUEsQyxnQkFBQSxFLGdCQUFBLEMsQ0FDQUUsU0FBQSxDLGdCQUFBLEUsZ0JBQUEsQyxDQUNBRSxTQUFBLEMsTUFBQSxFQUFjUyxTQUFBLEMsZ0JBQUEsRSxnQkFBQSxFLE1BQUEsQyxnQkFBQSxDQUFkLEMsQ0FDQWQsU0FBQSxDQUFTLElBQVQsQ0FBZWMsU0FBZixDLE1BR0EsTUFBTUUsU0FBQSxDQUFTQyxTQUFELEVBQVMsQ0FBQ0EsU0FBRCxDLEVBQUEsQ0FFakJBLFNBQUEsQyxPQUFBLEUsTUFBQSxFLGdCQUFBLEVBRVFDLFNBQUQsRSxpQkFBYUEsUyxpQkFGcEIsRSxNQUFBLEUsTUFBQSxDQUZOLENBTU1DLFNBQUEsQ0FBVUMsUUFBRCxFQUFVQyxLQUFBLEMsZ0JBQUEsRUFBY0QsUUFBZCxFQUFxQkEsUUFBQSxDLEtBQUEsRUFBUUosU0FBUixFLE1BQUEsRSxNQUFBLENBQXJCLENBQWlEQSxTQUFBLENBQU1JLFFBQU4sQ0FOMUUsQ0FPQW5CLFNBQUEsQyxVQUFBLEUsZ0JBQUEsQyxDQUNBRSxTQUFBLEMsYUFBQSxFLGdCQUFBLEMsQ0FDQUUsU0FBQSxDLE1BQUEsRUFBY2MsU0FBQSxDQUFPTCxTQUFBLEMsU0FBQSxDQUFQLEVBQXVCSyxTQUFBLENBQU9MLFNBQUEsQyxnQkFBQSxDQUFQLENBQXJDLEMsQ0FDQWQsU0FBQSxDQUFTLElBQUlMLEtBQUosQ0FBVW1CLFNBQUEsQyxRQUFBLENBQVYsQ0FBVCxDQUFpQ0EsU0FBakMsQyxHQTdCUixFLGdCQUFBLEVBZ0NZUSxTQUFELEUsMkJBQ1BoQixTQUFBLEMsSUFDQUYsU0FBQSxDLGdCQUFBLEUsZ0JBQUEsQyxDQUNBSCxTQUFBLEMsZ0JBQUEsRSxNQUFBLEMsQ0FDQUUsU0FBQSxDLGdCQUFBLEUsZ0JBQUEsQyxDQUNBRSxTQUFBLEMsTUFBQSxFLHVCQUFjLENBQW9CaUIsU0FBQSxDLFNBQUEsQ0FBbEMsQyxDQUNBUCxPQUFBLEMsZ0JBQUEsRSxnQkFBQSxDQUFtQk8sU0FBbkIsQyxDQUNBdEIsU0FBQSxDQUFTc0IsU0FBVCxDQUFjLElBQWQsQyxFQXZDSixDLEVBWEosQyxFQXVESixNQUFNQyxTQUFBLEMsZ0JBQU4sQ0FDTUMsU0FBQSxDLGdCQUROLENBRUEsU0FBU0MsU0FBVCxFLFFBQ1d0RCxTQUFBLENBQVUsSUFBVixDQUFnQnVELFNBQWhCLENBQTJCLEssR0FBM0IsQ0FBbUMsVUFBV0MsU0FBQSxDLEVBQVgsQyx5QkFDaENDLFNBQUEsQ0FBVUQsUyxrQkFDVkUsU0FBQSxDQUFTRCxTLGtCQUNURSxTQUFBLENBQU8sTUFBTW5CLEtBQUEsQ0FBTWtCLFNBQU4sQ0FBVyxDLFFBQzFCLEMsTUFEMEIsQyxTQUUxQixDQUFTLEMsY0FBRSxDLGdCQUFGLENBRmlCLENBQVgsQyxDQUliRSxTQUFBLENBQVEsSUFBSUMsSUFBSixHLGdCQUFBLEcsSUFDVkYsU0FBQSxDLGdCQUFBLEksWUFDQWYsT0FBQSxDLEtBQUEsRSxnQkFBQSxDQUEwQ2UsU0FBQSxDLGdCQUFBLENBQTFDLENBQXVEQSxTQUFBLEMsZ0JBQUEsQ0FBdkQsQyxDQUNPLEMsUUFBRSxDLFFBQUYsQyxNQUFvQixDLFVBQXBCLEMsYUFBc0MsQ0FBYSxDLFlBQUUsQ0FBWUMsU0FBZCxDQUFuRCxDLENBRVgsTUFBTUUsU0FBQSxDQUFPLE1BQU1ILFNBQUEsQyxnQkFBQSxHQUFuQixDLE9BQ09HLFMsRUFiSixDLEVBZ0JYLE1BQU1DLFNBQUEsQ0FBdUIsSSxDQUN6QmhDLENBQUEsQyxRQUFBLEUsd0JBQUEsQ0FBbUMsQyxTQUMvQixDQUFTLEMsU0FDTCxDLEVBREssQ0FEc0IsQyxTQUkvQixFLHlCQUNVaUMsU0FBQSxDQUFPLEksQ0FDUEMsU0FBQSxDLGlCQUNBQyxTQUFBLEMsaUJBQ05aLFNBQUEsQ0FBaUJVLFNBQUEsQyxnQkFBQSxDQUFqQixFLGdCQUFBLEVBQ1dHLFNBQUQsRSwyQkFDTixJQUFJQyxTQUFBLEMsRUFBSixDQUNJQyxTQUFBLEMsRUFESixDQUVJQyxTQUFBLEMsRUFGSixDQUdBLE1BQU1DLFNBQUEsQ0FBU0osU0FBQSxDLGdCQUFBLENBQWYsQ0FDTUssU0FBQSxDQUFVTCxTQUFBLEMsZ0JBQUEsQ0FEaEIsQ0FFQSxPQUFRSSxTQUFSLEVBQ0ksSyxnQkFBQSxDQUNJSCxTQUFBLEMsZ0JBQUEsQ0FDQSxPQUFRRCxTQUFBLEMsZ0JBQUEsQ0FBUixFQUNJLEssZ0JBQUEsQyxDQUNJRSxTQUFBLEMsaUJBQ0FDLFNBQUEsQyxpQkFBc0NFLFMsa0JBQXVDTixTLGlCQUQ3RSxDQUVBLE0sQ0FFSixLLGdCQUFBLENBQ0lHLFNBQUEsQyxnQkFBQSxDQUNJRyxTQUFBLEMsSUFBQSxFQUFnQkEsU0FBQSxFLEtBQ2hCLENBQUFILFNBQUEsRSxxQ0FBNkJHLFMsaUJBQTdCLEMsQ0FHSkYsU0FBQSxDQUFVSCxTQUFBLEMsZ0JBQUEsRSxnQkFBQSxFLFdBQUEsQ0FBd0MsQ0FBQUEsU0FBQSxDLGFBQUEsRSxxQkFBQSxHLEVBQUEsQ0FBbEQsQ0FDQSxNQUNKLEssZ0JBQUEsQ0FDSUUsU0FBQSxDLGlCQUNBQyxTQUFBLEMsaUJBQXFFSixTLGlCQURyRSxDQUVBLE1BakJSLENBbUJBLE1BQ0osSyxnQkFBQSxDQUNJRSxTQUFBLEMseUJBQ0FDLFNBQUEsQyw0QkFDQUMsU0FBQSxDLGdCQUZBLENBSUEsTUFDSixJLFFBQUEsQ0FDQSxRQUNJRixTQUFBLEMsaUJBQ0FDLFNBQUEsQyxpREFDQUMsU0FBQSxDLGlCQUE0QkwsUyxpQkFGNUIsQ0FHQSxNQWxDUixDQXNDQSxLLGdCQUFBLEUsZ0JBQUEsRSxnQkFBQSxDLENBQ0EsSyxnQkFBQSxFLFVBQUEsRSxnQkFBc0IsQ0FBb0JNLFNBQTFDLEMsQ0FDQSxLLFNBQUEsRSxRQUFBLEVBQW9CeEMsQ0FBQSxDLFFBQUEsRSxnQkFBQSxFLHFCQUFBLEUsUUFBQSxFQUFtREEsQ0FBQSxDLGdCQUFBLEUsZ0JBQUEsRUFBa0JxQyxTQUFsQixDQUFuRCxDQUFwQixDLENBQ0EsSyxnQkFBQSxFLGdCQUFBLEVBQW9CckMsQ0FBQSxDLFFBQUEsRSxnQkFBQSxFLGdCQUFBLEUsZ0JBQUEsRUFBZ0RzQyxTQUFoRCxDQUFwQixDLENBQ0EsSyxnQkFBQSxFLGdCQUFBLEVBQW9CdEMsQ0FBQSxDLGdCQUFBLENBQXBCLEMsQ0FDQSxLLGdCQUFBLEUsZ0JBQUEsRUFBb0JBLENBQUEsQyxnQkFBQSxFLGdCQUFBLEUsZ0JBQUEsRSxnQkFBQSxFQUFzRHVDLFNBQXRELENBQXBCLENBTEEsQyxHQU1JQyxTQUFBLEcsU0FBQSxFQUF3QkEsU0FBQSxHLGdCQUF4QixFQUErQ0osU0FBQSxDLGdCQUFBLEksZ0JBQS9DLEVBQTJFQSxTQUFBLEMsZ0JBQUEsSSxrQkFDM0UsTUFBTU0sU0FBQSxDQUFrQjFDLENBQUEsQyxnQkFBQSxDQUF4QixDQUNBMEMsU0FBQSxDLGdCQUFBLEUsSUFBQSxDLGdCQUFBLEMsQ0FDQUEsU0FBQSxDLGdCQUFBLEUsZ0JBQUEsQyxnQkFBQSxDLENBQ0FBLFNBQUEsQyxnQkFBQSxFLGdCQUFBLEMsc0JBQUEsQyxDQUNBQSxTQUFBLEMsTUFBQSxFLGdCQUFBLEMsQ0FDQSxLLGdCQUFBLEUsZ0JBQUEsRUFBb0JBLFNBQXBCLENBSkEsQ0FLQSxNQUFNQyxTQUFBLENBQVNDLFFBQUEsQyxnQkFBQSxFLGdCQUFBLENBQWYsQ0FFQUQsU0FBQSxDLGdCQUFBLEUsaUJBQ0FBLFNBQUEsQyxnQkFBQSxFLEtBRUEzQyxDQUFBLEMsZ0JBQUEsRSxnQkFBQSxFQUFpQjJDLFNBQWpCLENBSEEsQ0FJQSxNQUFNRSxTQUFBLENBQXFCN0MsQ0FBQSxDLHlCQUFBLENBQTNCLENBRUE2QyxTQUFBLEMsTUFBQSxFLGdCQUFBLENBQTRDeEIsU0FBNUMsQyxDQUNBd0IsU0FBQSxDLE1BQUEsRSxpQkFBQSxDQUEyQ3ZCLFNBQTNDLEMsQ0FDQXVCLFNBQUEsQyxnQkFBQSxFLGdCQUFBLEMsZ0JBQUEsQyxDQUNBQSxTQUFBLEMsTUFBQSxHLENBQ0EsSyxTQUFBLEUsZ0JBQUEsRUFBb0JBLFNBQXBCLEMsQ0FDQUgsU0FBQSxDLElBQUEsRSxnQkFBQSxDQUE0QixJLDJCQUN4QkcsU0FBQSxDLGdCQUFBLEcsQ0FDQUgsU0FBQSxDLGdCQUFBLEcsQ0FDQSxLLGdCQUFBLEUsTUFBQSxFLE9BQUEsQyxnQkFBQSxDLEVBSEosQyxHQXZFUixFLGdCQUFBLEVBOEVZSSxTQUFELEUsMkJBQ1BqQyxPQUFBLEMsZ0JBQUEsRUFBWWlDLFNBQVosQyxFQS9FSixDLEVBUjJCLENBQW5DLEMsRUFESixDQThGQWQsU0FBQSxHQUNBLFNBQVNlLFNBQVQsQ0FBMkJDLFNBQTNCLEMsMkJBQ0ksSUFBSUMsU0FBSixDQUNBLEcsQ0FDSUEsU0FBQSxDQUFNLElBQUlDLEdBQUosQ0FBUUYsU0FBUixDLEVBRVYsTUFBT0csU0FBUCxDLG1CQUdPRixTQUFBLEMsZ0JBQUEsSSxZQUVYLE1BQU1HLFNBQUEsQ0FBZ0MsQyxtQkFDbEMsQyxJQURrQyxDLHdCQUVsQyxDLEtBRmtDLEMsNEJBR2xDLEMsR0FIa0MsQyw2QkFJbEMsQyxLQUprQyxDLDRCQUtsQyxDLEdBTGtDLEMsVUFNbEMsQyxJQU5rQyxDQUF0QyxDQVFBQyxHQUFBLEMsZ0JBQUEsRSxjQUFBLEUsZ0JBQUEsQ0FBMEMsQyxVQUN0QyxDLGdCQURzQyxDLGNBRXRDLEMsbUJBRnNDLEMsVUFHdEMsQ0FBVSxDLE1BQ04sQ0FBTSxDLE9BQUUsQyxFQUFGLENBREEsQyxVQUVOLENBQVUsQyxPQUNOLEMsZ0JBRE0sQyxVQUVOLEMsSUFGTSxDLFVBR04sQ0FBVU4sU0FISixDQUZKLEMsY0FRTixDQUFjLEMsT0FBRSxDLGdCQUFGLENBUlIsQyxnQkFTTixDQUFnQixDLE9BQ1osQyxnQkFEWSxDLFVBRVosQ0FBV08sU0FBRCxFLElBQ0YsQ0FBQ0EsUyxDQUNELE0sR0FBQSxDLFlBSkksQ0FUVixDLGtCQWlCTixDQUFrQixDLE9BQUUsQyxXQUFGLENBakJaLEMsU0FrQk4sQ0FBUyxDLE9BQUUsQyxFQUFGLEMsVUFBYSxDQUFXQyxTQUFELEVBQVksQ0FBQ0EsU0FBRCxFQUFVQSxTQUFBLEMsZ0JBQUEsRUFBWSxjQUFaLENBQVYsQyxJQUFBLEMsR0FBbkMsQ0FsQkgsQyxjQTRCTixDQUFjLEMsT0FBRSxDLEdBQUYsQyxVQUFnQixDLEdBQWhCLENBNUJSLEMsZUE2Qk4sQ0FBZSxDLE9BQUUsQyxHQUFGLEMsVUFBWSxDLEdBQVosQ0E3QlQsQyxnQkE4Qk4sQ0FBZ0IsQyxPQUFFLEMsTUFBRixDLFVBQWUsQyxHQUFmLENBOUJWLEMsbUJBK0JOLENBQW1CLEMsT0FBRSxDLE1BQUYsQyxVQUFlLEMsR0FBZixDQS9CYixDLGdCQWdDTixDQUFnQixDLE9BQUUsQyxNQUFGLEMsVUFBZSxDLEdBQWYsQ0FoQ1YsQyxlQWlDTixDQUFlLEMsT0FDWCxDQUFPLENBQ0gsQyxJQUNJLEMsSUFESixDLE1BRUksQyx5QkFGSixDLFdBR0ksQyxJQUhKLEMsWUFJSSxDQUFZQyxNQUFBLEMsZ0JBQUEsRUFBYyxFQUFkLENBQWtCSixTQUFsQixDQUpoQixDQURHLENBT0gsQyxJQUNJLEMsSUFESixDLE1BRUksQyxnQkFGSixDLFdBR0ksQyxHQUhKLEMsWUFJSSxDQUFZLEMsbUJBQ1IsQyxJQURRLEMsd0JBRVIsQyxJQUZRLEMsNEJBR1IsQyxHQUhRLEMsNkJBSVIsQyxNQUpRLEMsNEJBS1IsQyxJQUxRLEMsVUFNUixDLEdBTlEsQ0FKaEIsQ0FQRyxDQW9CSCxDLElBQ0ksQyxJQURKLEMsTUFFSSxDLHNCQUZKLEMsV0FHSSxDLEdBSEosQyxZQUlJLENBQVksQyxtQkFDUixDLElBRFEsQyx3QkFFUixDLEtBRlEsQyw0QkFHUixDLElBSFEsQyw2QkFJUixDLElBSlEsQyw0QkFLUixDLElBTFEsQyxVQU1SLEMsSUFOUSxDQUpoQixDQXBCRyxDQURJLEMsVUFtQ1gsQyxHQW5DVyxDQWpDVCxDQUg0QixDLGFBMEV0QyxDQUFhLEMsVUFDVCxDQUFVLEMsTUFBRSxDLGdCQUFGLENBREQsQyxVQUVULENBQVUsQyxNQUFFLEMsZ0JBQUYsQ0FGRCxDLGlCQUdULENBQWlCLEMsTUFBRSxDLE1BQUYsQ0FIUixDLGdCQUlULENBQWdCLEMsTUFBRSxDLFVBQUYsQ0FKUCxDQTFFeUIsQyxPQWdGdEMsQ0FBTyxVLGtDQUNJLEssZ0JBQUEsR0FBYSxLLGdCQUFBLENBQWIsRSxrQkFqRjJCLEMsWUFtRnRDLEUsMkJBQ1VLLFNBQUEsQ0FBa0J6RCxDQUFBLEMsZ0JBQUEsQyxDQUNsQjBELFNBQUEsQ0FBZ0IxRCxDQUFBLEMsZ0JBQUEsQyxDQUNsQnlELFNBQUEsQyxnQkFBQSxNLGtCQUNBQyxTQUFBLEMsZ0JBQUEsRSxnQkFBQSxDLENBR0osTUFBTUMsU0FBQSxDQUFxQjNELENBQUEsQyxnQkFBQSxFLGNBQUEsRSxPQUFBLENBQTNCLENBQ000RCxTQUFBLENBQUksRUFEVixDQUVNQyxTQUFBLENBQUtDLFNBQUQsRUFBT0EsU0FGakIsQ0FHQUgsU0FBQSxDLE1BQUEsRUFBd0IsU0FBVUksU0FBVixDQUFpQkMsU0FBakIsQywyQkFDZEMsU0FBQSxDQUFJakUsQ0FBQSxDQUFFLElBQUYsQyxDQUNKa0UsU0FBQSxDQUFJLEMsSUFDTixDLEdBQUksQ0FBTUgsU0FESixDLE1BRU4sQ0FBTUUsU0FBQSxDLGdCQUFBLEUsZ0JBQUEsRSxLQUFBLEdBRkEsQyxXQUdOLENBQVcsQ0FBQyxDQUFDQSxTQUFBLEMsZ0JBQUEsRSxnQkFBQSxFLGdCQUFBLEdBSFAsQyxZQUlOLENBQVksQyxtQkFDUixDQUFtQixDQUFDLENBQUNBLFNBQUEsQyxnQkFBQSxFLGdCQUFBLEUsSUFBQSxFLGdCQUFBLENBRGIsQyx3QkFFUixDQUF3QkosU0FBQSxDQUFFSSxTQUFBLEMsZ0JBQUEsRSxnQkFBQSxFLGdCQUFBLEdBQUYsQ0FGaEIsQyw0QkFHUixDQUE0QkosU0FBQSxDQUFFSSxTQUFBLEMsZ0JBQUEsRSxtQ0FBQSxFLGdCQUFBLEdBQUYsQ0FIcEIsQyw2QkFJUixDQUE2QkosU0FBQSxDQUFFSSxTQUFBLEMsZ0JBQUEsRSxnQkFBQSxFLGdCQUFBLEdBQUYsQ0FKckIsQyw0QkFLUixDQUE0QkosU0FBQSxDQUFFSSxTQUFBLEMsZ0JBQUEsRSxnQkFBQSxFLGdCQUFBLEdBQUYsQ0FMcEIsQyxVQU1SLENBQVVKLFNBQUEsQ0FBRUksU0FBQSxDLGdCQUFBLEUsaUJBQUEsRSxLQUFBLEdBQUYsQ0FORixDQUpOLEMsQ0FjVkMsU0FBQSxDLGdCQUFBLEUsZ0JBQUEsRSxLQUNJQSxTQUFBLEMsV0FBQSxHQUFlQSxTQUFBLEMsSUFBQSxJLE1BRWYsQ0FBQUEsU0FBQSxDLGdCQUFBLEUsZ0JBQUEsQyxDQUVKTixTQUFBLEMsTUFBQSxFQUFPTSxTQUFQLEMsRUFyQkosQyxDQXVCQSxLLGdCQUFBLEVBQXFCTixTLEVBcEhhLEMsZUFzSHRDLEUsMkJBQ1VPLFNBQUEsQ0FBTyxJLENBQ1BDLFNBQUEsQ0FBT2YsR0FBQSxDLGdCQUFBLEUsZ0JBQUEsRUFBZ0IsQyxJQUN6QixDLGdCQUR5QixDLFVBRXpCLENBQVUsU0FBVWdCLFNBQVYsQywyQkFDTnJFLENBQUEsQyxnQkFBQSxFLGdCQUFBLEksZ0JBQUEsRyxDQUNBQSxDQUFBLEMsR0FBRSxDQUFNcUUsU0FBQSxDLElBQUEsQ0FBUixFLE1BQUEsRyxFQUpxQixDQUFoQixDLENBT2JELFNBQUEsQyxnQkFBQSxFQUFZLEMsSUFDUixDLGdCQURRLEMsT0FFUixDLGdCQUZRLENBQVosQyxHQUFBLEMsQ0FJQUEsU0FBQSxDLGdCQUFBLEVBQVksQyxJQUNSLEMsZ0JBRFEsQyxPQUVSLEMsZ0JBRlEsQ0FBWixDLEdBQUEsQyxDQUlBRSxVQUFBLENBQVcsVSwyQkFDUEYsU0FBQSxDLGdCQUFBLEcsRUFESixDLEdBQUEsQ0FSQSxDLENBZUksTUFBTUcsU0FBQSxDQUF5QkMsU0FBRCxFLDJCQUMxQixPQUFRQSxTQUFSLEVBQ0ksS0FBSyxJQUFMLENBQ0EsS0FBS0MsU0FBTCxDQUNBLEksRUFBQSxDQUNBLEssZ0JBQUEsQ0FDSXpFLENBQUEsQyx5QkFBQSxFLGdCQUFBLElBQ0EsTUFDSixLLGdCQUFBLENBQ0EsSyxnQkFBQSxDLENBRVEsTUFBTTBFLFNBQUEsQ0FBSzFFLENBQUEsQyxnQkFBQSxDQUFYLENBQ0ksQ0FBQTBFLFNBQUEsQyxnQkFBQSxNLGdCQUFBLEVBQXVCQSxTQUFBLEMsZ0JBQUEsTSxFQUF2QixDLEVBQ0FBLFNBQUEsQyxLQUFBLEUsZ0JBQUEsQyxDQUVKMUUsQ0FBQSxDLHlCQUFBLEUsZ0JBQUEsRyxFQUVKLE1BQ0osUUFDSWEsT0FBQSxDLGdCQUFBLEUsZ0JBQVksQ0FBMEIyRCxTQUF0QyxFQWxCUixDLENBREosQ0FzQkFELFNBQUEsQ0FBc0JKLFNBQUEsQyxnQkFBQSxDQUF0QixFQUNBLE1BQU1RLFNBQUEsQ0FBZ0IzRSxDQUFBLEMsZ0JBQUEsQ0FBdEIsQ0FDQTJFLFNBQUEsQyxJQUFBLEUsUUFBQSxDQUEyQixJLENBQ3ZCLE1BQU1DLFNBQUEsQ0FBa0JELFNBQUEsQyxLQUFBLEdBQXhCLENBQ0FKLFNBQUEsQ0FBc0JLLFNBQXRCLEMsRUFGSixDLEVBS0osTUFBTUMsU0FBQSxDQUFnQjdFLENBQUEsQyxnQkFBQSxDQUF0QixDQUNBNkUsU0FBQSxDLGdCQUFBLEVBQTRCLEMsU0FDeEIsQyxFQUR3QixDQUE1QixFLENBT0ksTUFBTUMsU0FBQSxDQUFVOUUsQ0FBQSxDLGdCQUFBLENBQWhCLENBQ00rRSxTQUFBLENBQVUvRSxDQUFBLEMsdUNBQUEsQ0FEaEIsQ0FFTWdGLFNBQUEsQ0FBMEJDLFNBQUQsRSwyQkFDM0JBLFNBQUEsQ0FBbUJBLFNBQUEsRSxnQkFBbkIsQ0FDQSxPQUFRQSxTQUFSLEVBQ0ksSSxXQUFBLENBQ0lqRixDQUFBLEMsNkJBQUEsRSxnQkFBQSxFLEVBQUEsQyxDQUNBQSxDQUFBLEMsZ0JBQUEsRSxLQUFBLEUsRUFBQSxDLENBQ0E4RSxTQUFBLEMsTUFBQSxHLENBQ0FDLFNBQUEsQyxnQkFBQSxHQUhBLENBSUEsTUFDSixLLGdCQUFBLENBQ0lELFNBQUEsQyxnQkFBQSxHLENBQ0FDLFNBQUEsQyxnQkFBQSxHQURBLENBRUEsTUFDSixJLGFBQUEsQ0FDSS9FLENBQUEsQyxnQkFBQSxFLGdCQUFBLEUsRUFBQSxDLENBQ0FBLENBQUEsQyxnQkFBQSxFLGdCQUFBLEUsRUFBQSxDLENBQ0ErRSxTQUFBLEMsZ0JBQUEsRyxDQUNBRCxTQUFBLEMsZ0JBQUEsR0FIQSxDQUlBLE1BQ0osUUFDSWpFLE9BQUEsQyxLQUFBLEUsZ0JBQVksQ0FBOEJvRSxTQUExQyxFQWxCUixDLENBSkosQ0F5QkFELFNBQUEsQ0FBdUJiLFNBQUEsQyxnQkFBQSxDQUF2QixFQUNBLE1BQU1lLFNBQUEsQ0FBb0JsRixDQUFBLEMsZ0JBQUEsQ0FBMUIsQ0FDQWtGLFNBQUEsQyxJQUFBLEUsZ0JBQUEsQ0FBK0IsSSwyQkFDckJDLFNBQUEsQ0FBa0JELFNBQUEsQyxnQkFBQSxHLENBQ3hCRixTQUFBLENBQXVCRyxTQUF2QixDLEVBRkosQyxHQVNBbkYsQ0FBQSxDLG1CQUFBLEUsZ0JBQUEsRyxDQUNBQSxDQUFBLEMsZ0JBQUEsRSxNQUFBLEUsZ0JBQUEsQyxHQUFBLEMsQ0FDQUEsQ0FBQSxDLGdCQUFBLEUsSUFBQSxFLGdCQUFBLENBQXlDLFUsMkJBQ2pDQSxDQUFBLENBQUUsSUFBRixFLGdCQUFBLEUsU0FBQSxDLENBRUFBLENBQUEsQyxnQkFBQSxFLGdCQUFBLEcsQ0FJQUEsQ0FBQSxDLGdCQUFBLEUsZ0JBQUEsRyxFQVBSLEMsRUFXSixNQUFNb0YsU0FBQSxDQUFzQnBGLENBQUEsQyxnQkFBQSxFLGdCQUFBLEUsU0FBQSxDQUE1QixDQUNJb0YsUyxDQUNBcEYsQ0FBQSxDLGdCQUFBLEUsZ0JBQUEsRyxDQUdBQSxDQUFBLEMsNEJBQUEsRSxNQUFBLEcsQ0FFSkEsQ0FBQSxDLGdCQUFBLEUsSUFBQSxFLFFBQUEsQ0FBa0QsVSwwQkFDMUNBLENBQUEsQ0FBRSxJQUFGLEUsZUFBQSxFLGVBQUEsQyxDQUVBQSxDQUFBLEMsZUFBQSxFLGVBQUEsRyxDQUlBQSxDQUFBLEMsZUFBQSxFLGVBQUEsRyxFQVBSLEUsQ0FjSUEsQ0FBQSxDLGdCQUFBLEUsSUFBQSxFLE9BQUEsQ0FBbUMsSUFBTS9CLFNBQUEsQ0FBVSxJQUFWLENBQWdCLEssR0FBaEIsQ0FBd0IsSyxHQUF4QixDQUFnQyxXLDJCQUMvRG9ILFNBQUEsQ0FBTyxNQUFNNUUsS0FBQSxDLGdCQUFBLEMsQ0FDYjZFLFNBQUEsQ0FBTyxNQUFNRCxTQUFBLEMsZ0JBQUEsRyxDQUNiRSxTQUFBLENBQUk3RSxJQUFBLEMsZ0JBQUEsRUFBZTRFLFNBQWYsQ0FBcUIsSUFBckIsQyxNQUFBLEMsQ0FDVkUsS0FBQSxDQUFNRCxTQUFOLEMsRUFKcUMsQ0FBekMsQyxHQVdBN0YsU0FBQSxDLFlBQUEsQ0FBNEJNLENBQUEsQyxnQkFBQSxDQUE1QixDQUFtRCxJLDJCQUMvQyxJQUFJeUYsU0FBSixDLE1BQ1EsQyxLQUNKLEMsa0NBREksQyxNQUVKLENBQU0sQyxjQUNGLENBQWMsQyxJQUNWLENBQUl0QixTQUFBLEMsSUFBQSxDQURNLEMsVUFFVixDQUFVbkUsQ0FBQSxDLDZCQUFBLEUsS0FBQSxHQUZBLEMsTUFHVixDQUFNQSxDQUFBLEMsZ0JBQUEsRSxLQUFBLEdBSEksQyxTQUlWLENBQVUsQ0FBQXlGLFNBQUEsQ0FBS3pGLENBQUEsQyw0QkFBQSxDQUFMLENBQUQsR0FBMkMsSUFBM0MsRUFBbUR5RixTQUFBLEdBQU8sSyxHQUExRCxDQUFtRSxLLEdBQW5FLENBQTRFQSxTQUFBLEMsZ0JBQUEsR0FKM0UsQyxjQUtWLENBQWN6RixDQUFBLEMsZ0JBQUEsRSxnQkFBQSxHQUxKLEMsZ0JBTVYsQ0FBZ0JBLENBQUEsQyxtQ0FBQSxFLEtBQUEsR0FOTixDLGtCQU9WLENBQWtCQSxDQUFBLEMsZ0JBQUEsRSxnQkFBQSxHQVBSLEMsVUFRVixDQUFVQSxDQUFBLEMsNkJBQUEsRSxLQUFBLEdBUkEsQyxVQVNWLENBQVVBLENBQUEsQyw2QkFBQSxFLGdCQUFBLEdBVEEsQyxpQkFVVixDQUFpQkEsQ0FBQSxDLGdCQUFBLEUsZ0JBQUEsR0FWUCxDLGdCQVdWLENBQWdCQSxDQUFBLEMsZ0JBQUEsRSxnQkFBQSxHQVhOLEMsYUFhVixDQUFhQSxDQUFBLEMsZ0JBQUEsRSxLQUFBLEdBYkgsQyxjQWNWLENBQWNBLENBQUEsQyxnQkFBQSxFLGdCQUFBLEUsZ0JBQUEsQ0FkSixDLGVBZVYsQ0FBZUEsQ0FBQSxDLGdCQUFBLEUsZ0JBQUEsR0FmTCxDLGdCQWdCVixDQUFnQkEsQ0FBQSxDLGdCQUFBLEUsZ0JBQUEsR0FoQk4sQyxtQkFpQlYsQ0FBbUJBLENBQUEsQyxnQkFBQSxFLEtBQUEsR0FqQlQsQyxnQkFrQlYsQ0FBZ0JBLENBQUEsQyw0QkFBQSxFLGdCQUFBLEdBbEJOLENBRFosQ0FGRixDLEVBRlosQ0EyQkcsSSxFQTNCSCxDLEdBaUNBLE1BQU0wRixTQUFBLENBQWUsQ0FBQ0MsU0FBRCxDQUFRQyxTQUFSLEcsMkJBQ2pCLElBQUlDLFNBQUEsQ0FBV0YsU0FBQSxDLGdCQUFBLEssSUFBZixDQUNBQSxTQUFBLEMsZ0JBQUEsRSxnQkFBQSxFLFlBQUEsRSxnQkFBQSxDQUF3Q0UsU0FBQSxDLEdBQXhDLEMsRUFGSixDQUlNQyxTQUFBLENBQW1COUYsQ0FBQSxDLDBCQUFBLEUsZ0JBQUEsRUFDaEIsQyxZQUFFLEMsZ0JBQUYsQyxXQUF5QixDLGdCQUF6QixDQURnQixFLGNBQUEsRUFFUCxDLFNBQ2QsQ0FBUyxDQUFDK0YsU0FBRCxDQUFZQyxRQUFaLENBQW1CQyxTQUFuQixHLDJCQUNDQyxTQUFBLENBQVFELFMsQ0FDUkUsU0FBQSxDQUFVbkcsQ0FBQSxDLGdCQUFBLEUsZ0JBQUEsSSxnQkFBQSxFQUFnQytGLFNBQWhDLEMsQ0FDaEJJLFNBQUEsQyxnQkFBQSxFLElBQUEsRSxnQkFBQSxFLGdCQUFBLEUsZ0JBQUEsRSxnQkFBQSxFLGdCQUFBLEUsZ0JBQUEsQ0FBb0ZILFFBQXBGLEMsQ0FDQUcsU0FBQSxDLGdCQUFBLEUsZ0JBQUEsRSxnQkFBQSxFQUFnQ0QsU0FBQSxDLE1BQUEsQ0FBaEMsQyxDQUNBQyxTQUFBLEMsZ0JBQUEsRSxvQ0FBQSxFLGdCQUFBLEVBQXVERCxTQUFBLEMsWUFBQSxFLGdCQUFBLENBQXZELEMsQ0FDQUMsU0FBQSxDLE1BQUEsRSxtQ0FBQSxFLEtBQUEsRUFBc0RELFNBQUEsQyxnQkFBQSxFLGdCQUFBLENBQXRELEMsQ0FDQUMsU0FBQSxDLGdCQUFBLEUsZ0JBQUEsRSxLQUFBLEVBQWtERCxTQUFBLEMsWUFBQSxFLGdCQUFBLENBQWxELEMsQ0FDQUMsU0FBQSxDLGdCQUFBLEUsZ0JBQUEsRSxnQkFBQSxFQUFzREQsU0FBQSxDLGdCQUFBLEUsNEJBQUEsRyxHQUF0RCxDLENBQ0FDLFNBQUEsQyxnQkFBQSxFLGlCQUFBLEUsZ0JBQUEsRUFBb0NELFNBQUEsQyxnQkFBQSxFLGdCQUFBLEcsR0FBcEMsQyxDQUNBQyxTQUFBLEMsZ0JBQUEsRSxnQkFBQSxFLE1BQUEsRSxFQUFzQyxDQUFLSCxRQUEzQyxDLENBQ0lFLFNBQUEsQyxnQkFBQSxDLEVBQ0FDLFNBQUEsQyxnQkFBQSxFLGdCQUFBLEUsZ0JBQUEsRSxnQkFBQSxDLElBQUEsQyxDQUVKQSxTQUFBLEMsZ0JBQUEsRSxnQkFBQSxFLGdCQUFBLEUsZ0JBQUEsQ0FBaURELFNBQUEsQyxnQkFBQSxDQUFqRCxDLENBRUlBLFNBQUEsQyxnQkFBQSxDLEdBQ0FILFNBQUEsQyxnQkFBQSxFLGdCQUFBLEUsZ0JBQUEsRSxnQkFBQSxDLENBQ0F6QixVQUFBLENBQVcsSUFBTTZCLFNBQUEsQyxnQkFBQSxFLGtCQUFBLEUsTUFBQSxFLGdCQUFBLEMsSUFBQSxDQUFqQixDLEdBQUEsQyxHQW5CTSxDLFdBdUJkLEMsSUF2QmMsQyxZQXdCZCxDQUFZVCxTQXhCRSxDQUZPLENBSnpCLENBZ0NNVSxTQUFBLENBQWtCLEksMkJBQ2RDLFNBQUEsQ0FBZ0JsQyxTQUFBLEMsZUFBQSxHQUFzQixFLENBQ3hDa0MsU0FBQSxDLGdCQUFBLEksS0FFQUEsU0FBQSxDLGdCQUFBLEVBQW1CLEMsSUFDZixDLElBRGUsQyxNQUVmLEMsZ0JBRmUsQyxXQUdmLEMsSUFIZSxDLFlBSWYsQ0FBWTdDLE1BQUEsQyxnQkFBQSxFQUFjLEVBQWQsQ0FBa0JKLFNBQWxCLENBSkcsQ0FBbkIsQyxDQU9KMEMsU0FBQSxDLGNBQUEsRSxnQkFBQSxFQUNBLFVBQVdRLFNBQVgsSUFBMkJELFNBQTNCLEMsQ0FFSVAsU0FBQSxDLGdCQUFBLEUsZ0JBQUEsQ0FBeUNRLFNBQXpDLEMsR0E5Q1IsQ0FpREFGLFNBQUEsRSxHQXRWOEIsQ0FBMUMsQyxFQXZPSixHIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uICgpIHtcbiAgICAndXNlIHN0cmljdCc7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cclxuXHJcbiAgICBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnlcclxuICAgIHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcbiAgICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXHJcbiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFlcclxuICAgIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuICAgIElORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxyXG4gICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1JcclxuICAgIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuICAgIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXHJcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4gICAgLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UsIFN1cHByZXNzZWRFcnJvciwgU3ltYm9sICovXHJcblxyXG5cclxuICAgIGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgICAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cclxuICAgICAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHR5cGVvZiBTdXBwcmVzc2VkRXJyb3IgPT09IFwiZnVuY3Rpb25cIiA/IFN1cHByZXNzZWRFcnJvciA6IGZ1bmN0aW9uIChlcnJvciwgc3VwcHJlc3NlZCwgbWVzc2FnZSkge1xyXG4gICAgICAgIHZhciBlID0gbmV3IEVycm9yKG1lc3NhZ2UpO1xyXG4gICAgICAgIHJldHVybiBlLm5hbWUgPSBcIlN1cHByZXNzZWRFcnJvclwiLCBlLmVycm9yID0gZXJyb3IsIGUuc3VwcHJlc3NlZCA9IHN1cHByZXNzZWQsIGU7XHJcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gbWFuYWdlQVBJQ2FsbChwcmVmaXgsIGJ0biwgZnVuYywgb25SZXN1bHQpIHtcbiAgICAgICAgY29uc3Qgc3VjY2Vzc0ljb24gPSAkKGAjJHtwcmVmaXh9LXN1Y2Nlc3NgKTtcbiAgICAgICAgY29uc3QgZmFpbHVyZUljb24gPSAkKGAjJHtwcmVmaXh9LWZhaWx1cmVgKTtcbiAgICAgICAgY29uc3QgcGVuZGluZ0ljb24gPSAkKGAjJHtwcmVmaXh9LXBlbmRpbmdgKTtcbiAgICAgICAgY29uc3QgbWVzc2FnZXMgPSAkKGAjJHtwcmVmaXh9LW1lc3NhZ2VzYCk7XG4gICAgICAgIGxldCBhY3Rpb25QZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN1Y2Nlc3NJY29uLmhpZGUoKTtcbiAgICAgICAgZmFpbHVyZUljb24uaGlkZSgpO1xuICAgICAgICBwZW5kaW5nSWNvbi5oaWRlKCk7XG4gICAgICAgIGJ0bi5vbihcImNsaWNrXCIsICgpID0+IHtcbiAgICAgICAgICAgIGlmIChhY3Rpb25QZW5kaW5nKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIGFjdGlvblBlbmRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgcGVuZGluZ0ljb24ucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgcGVuZGluZ0ljb24uaHRtbChcIlRlc3RpbmcgQ29ubmVjdGlvbiAuLi5cIik7XG4gICAgICAgICAgICBzdWNjZXNzSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICBmYWlsdXJlSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICBtZXNzYWdlcy5odG1sKFwiXCIpO1xuICAgICAgICAgICAgY29uc3QgeyBib2R5LCB1cmwgfSA9IGZ1bmMoKTtcbiAgICAgICAgICAgIC8vIHh4IGNvbnNvbGUubG9nKFwieHh4eHhcIiwgYm9keSk7XG4gICAgICAgICAgICBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShib2R5KSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLnRoZW4oKGRhdGEpID0+IGRhdGEuanNvbigpKVxuICAgICAgICAgICAgICAgIC50aGVuKChqc29uKSA9PiB7XG4gICAgICAgICAgICAgICAgYWN0aW9uUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHBlbmRpbmdJY29uLmhpZGUoKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShqc29uLCBudWxsLCBcIiBcIikpO1xuICAgICAgICAgICAgICAgIGlmIChqc29uLnJlc3VsdCA9PT0gXCJva1wiKSB7XG4gICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3NJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgZmFpbHVyZUljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlcy5odG1sKGpzb24ubWVzc2FnZS5yZXBsYWNlKFwiXFxuXCIsIFwiPGJyPlwiKSk7XG4gICAgICAgICAgICAgICAgICAgIG9uUmVzdWx0KG51bGwsIGpzb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRhcHQgPSAoc3RyKSA9PiAhc3RyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IFwiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogc3RyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNwbGl0KFwiXFxuXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcCgoYSkgPT4gYDxwPiR7YX08L3A+YClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuam9pbihcIlxcblwiKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRhcHQyID0gKHN0cikgPT4gKEFycmF5LmlzQXJyYXkoc3RyKSA/IHN0ci5tYXAoYWRhcHQpLmpvaW4oXCJcXG5cIikgOiBhZGFwdChzdHIpKTtcbiAgICAgICAgICAgICAgICAgICAgc3VjY2Vzc0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICBmYWlsdXJlSWNvbi5yZW1vdmVDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VzLmh0bWwoYWRhcHQyKGpzb24ubWVzc2FnZSkgKyBhZGFwdDIoanNvbi5leHRyYSkpO1xuICAgICAgICAgICAgICAgICAgICBvblJlc3VsdChuZXcgRXJyb3IoanNvbi5yZXN1bHQpLCBqc29uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgYWN0aW9uUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHBlbmRpbmdJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICBzdWNjZXNzSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgZmFpbHVyZUljb24ucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgIG1lc3NhZ2VzLmh0bWwoXCJpbnRlcm5hbCBlcnJvciBcIiArIGVyci5tZXNzYWdlKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImVyclwiLCBlcnIpO1xuICAgICAgICAgICAgICAgIG9uUmVzdWx0KGVyciwgbnVsbCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgcHJpY2luZ1RhYmxlSWQgPSBcInByY3RibF8xT0p0NDlCQ05jY2J6c1Z6a2FBTk9nRkxcIjtcbiAgICBjb25zdCBwdWJsaXNoYWJsZUtleSA9IFwicGtfbGl2ZV81MUhzRTFzQkNOY2NienNWenQ3emFxMnV2MjBwa3J5V2xsQXp2WmdaZDVBaHdGSTlBM3FCSWVPSnZKd1FGMDhsRG9McEZxTGp3bXlBNzl3blBuWUxzdktqdDAwOWYwMFZwQ1dcIjtcbiAgICBmdW5jdGlvbiBmZXRjaExpY2VuY2VJbmZvKCkge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIGFyZ3VtZW50cywgdm9pZCAwLCBmdW5jdGlvbiogKGJhc2VVcmwgPSBcIlwiKSB7XG4gICAgICAgICAgICBjb25zdCByb290ID0gYCR7YmFzZVVybH0vb3BjdWEtZW5kcG9pbnQyYDtcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L2xpY2VuY2VJbmZvYDtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7XG4gICAgICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZmV0Y2hpbmcgZmFpbGVkIHdpdGggZXJyb3JcIiwgZGF0YS5zdGF0dXMsIGRhdGEuc3RhdHVzVGV4dCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgc3RhdHVzOiBcIkZBSUxFRFwiLCB0eXBlOiBcIkZSRUVXQVJFXCIsIGxpY2VuY2VJbmZvOiB7IGV4cGlyeURhdGU6IHRvZGF5IH0gfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGpzb24gPSB5aWVsZCBkYXRhLmpzb24oKTtcbiAgICAgICAgICAgIHJldHVybiBqc29uO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgZGVjbGFyZUxpY2VuY2VXaWRnZXQgPSAoKSA9PiB7XG4gICAgICAgICQud2lkZ2V0KFwic3RlcmZpdmUubGljZW5jZVdpZGdldFwiLCB7XG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgYmFzZVVybDogXCJcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfY3JlYXRlKCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRhY3RMaW5rID0gYDxhIGhyZWY9XCJtYWlsdG86c3VwcG9ydEBzdGVyZml2ZS5jb21cIiBzdWJqZWN0PVwiQG9wY3VhL2Zvci1ub2RlLXJlZCBzdXBwb3J0IHJlcXVlc3RcIj5tYWlsdG86c3VwcG9ydEBzdGVyZml2ZS5jb208L2E+YDtcbiAgICAgICAgICAgICAgICBjb25zdCB3ZWJzaXRlTGluayA9IGA8YSBocmVmPVwiaHR0cHM6Ly93d3cuc3RlcmZpdmUuY29tL29wY3VhL2Zvci1ub2RlLXJlZFwiIHRhcmdldD3igJ1fYmxhbmvigJ0+U3RlcmZpdmUncyB3ZWJzaXRlIDwvYT5gO1xuICAgICAgICAgICAgICAgIGZldGNoTGljZW5jZUluZm8odGhhdC5iYXNlVXJsKVxuICAgICAgICAgICAgICAgICAgICAudGhlbigoanNvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgaWNvbiA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGxldCBtc2cgPSBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBsZXQgZGV0YWlscyA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXR1cyA9IGpzb24uc3RhdHVzO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXlMZWZ0ID0ganNvbi5kYXlzTGVmdDtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJBVVRIT1JJWkVEXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbiA9IFwiZmEgZmEtY2hlY2stY2lyY2xlXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChqc29uLnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIlRSSUFMXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9IFwiVHJpYWwgbGljZW5jZVwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscyA9IGBUaGUgVHJpYWwgd2lsbCBleHBpcmUgaW4gJHtkYXlMZWZ0fSBkYXlzLlxcbkJ1eSBvbmxpbmUgYW5kIHZpc2l0ICR7d2Vic2l0ZUxpbmt9IHRvIGFjcXVpcmUgYSBsaWNlbnNlLmA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiUFJPRkVTU0lPTkFMXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBgWW91ciBsaWNlbmNlIGlzIHZhbGlkLmA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF5TGVmdCA8IDkwICYmIGRheUxlZnQgPj0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyArPSBgIEl0IHdpbGwgZXhwaXJlIGluICR7ZGF5TGVmdH0gZGF5cy5gO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZGV0YWlscyA9IGAke3dlYnNpdGVMaW5rfTxicj4ke2NvbnRhY3RMaW5rfWA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID0ganNvbi5saWNlbmNlSW5mby5saWNlbmNlVHlwZSArIFwiIC0gXCIgKyAoanNvbi5saWNlbmNlSW5mby5vblByZW1pc2VTZXJ2ZXJIb3N0IHx8IFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJGUkVFV0FSRVwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gXCJGcmVld2FyZSBsaWNlbmNlXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID0gYFRoaXMgaXMgYSBmcmVld2FyZSBsaWNlbmNlLCBhbmQgaGF2ZSBzb21lIGxpbWl0YXRpb25zLlxcbiR7d2Vic2l0ZUxpbmt9IGZvciBtb3JlIGluZm9ybWF0aW9uLmA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiRVhQSVJFRFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb24gPSBcImZhIGZhLWNhbGVuZGFyLXRpbWVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBcIkxpY2VuY2UgaGFzIGV4cGlyZWRcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJZb3VyIGxpY2Vuc2UgaGFzIGV4cGlyZWQuIFBsZWFzZSBjb250YWN0IG91ciBzdXBwb3J0IHRlYW0gb3IgdmlzaXQgb3VyIHdlYnNpdGUgdG8gcmVuZXcgeW91ciBsaWNlbnNlIGFuZCByZWdhaW4gYWNjZXNzIHRvIG91ciBzZXJ2aWNlcy5cIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJGQUlMRURcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbiA9IFwiZmEgZmEtZXhjbGFtYXRpb24tY2lyY2xlXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gXCJZb3VyIGxpY2Vuc2UgaXMgY3VycmVudGx5IGludmFsaWQuXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscyA9IGBQbGVhc2UgY29udGFjdCAke2NvbnRhY3RMaW5rfSBvciB2aXNpdCBvdXIgd2Vic2l0ZSB0byByZW5ldyB5b3VyIGxpY2Vuc2UgYW5kIHJlZ2FpbiBhY2Nlc3MgdG8gb3VyIHNlcnZpY2VzLsyAYDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvKiogKi9cbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5lbGVtZW50LnRleHQoXCJMaWNlbmNlIFwiICsgSlNPTi5zdHJpbmdpZnkoanNvbikpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldFwiKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFkZENsYXNzKFwibGljZW5jZS13aWRnZXQtXCIgKyBzdGF0dXMpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKCQoXCI8c3Bhbj5cIikuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldC1pY29uXCIpLmFwcGVuZCgkKFwiPGk+XCIpLmFkZENsYXNzKGljb24pKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoJChcIjxzcGFuPlwiKS5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0LW1zZ1wiKS50ZXh0KG1zZykpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKCQoXCI8YnI+XCIpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZCgkKFwiPHNwYW4+XCIpLmFkZENsYXNzKFwibGljZW5jZS13aWRnZXQtZGV0YWlsc1wiKS5hcHBlbmQoZGV0YWlscykpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdHVzID09PSBcIkVYUElSRURcIiB8fCBzdGF0dXMgPT09IFwiRkFJTEVEXCIgfHwganNvbi50eXBlID09PSBcIkZSRUVXQVJFXCIgfHwganNvbi50eXBlID09PSBcIlRSSUFMXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN1YnNjcmliZUJ1dHRvbiA9ICQoXCI8YnV0dG9uLz5cIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVCdXR0b24uYXR0cihcImlkXCIsIFwic3Vic2NyaWJlLWJ1dHRvblwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZUJ1dHRvbi5hdHRyKFwiY2xhc3NcIiwgXCJidG4gYnRuLXByaW1hcnlcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVCdXR0b24uYXR0cihcInN0eWxlXCIsIFwibWFyZ2luLXRvcDogMjBweDtcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVCdXR0b24udGV4dChcIlN1YnNjcmliZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoc3Vic2NyaWJlQnV0dG9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTZXQgYXR0cmlidXRlcyBmb3IgdGhlIHNjcmlwdCBlbGVtZW50XG4gICAgICAgICAgICAgICAgICAgICAgICBzY3JpcHQuc3JjID0gXCJodHRwczovL2pzLnN0cmlwZS5jb20vdjMvcHJpY2luZy10YWJsZS5qc1wiO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2NyaXB0LmFzeW5jID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFwcGVuZCB0aGUgc2NyaXB0IGVsZW1lbnQgdG8gdGhlIGhlYWQgKG9yIGJvZHkpIG9mIHRoZSBkb2N1bWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgJChcImhlYWRcIikuYXBwZW5kKHNjcmlwdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJpcGVQcmljaW5nVGFibGUgPSAkKFwiPHN0cmlwZS1wcmljaW5nLXRhYmxlLz5cIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTZXQgYXR0cmlidXRlcyBmb3IgdGhlIGVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlwZVByaWNpbmdUYWJsZS5hdHRyKFwicHJpY2luZy10YWJsZS1pZFwiLCBwcmljaW5nVGFibGVJZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJpcGVQcmljaW5nVGFibGUuYXR0cihcInB1Ymxpc2hhYmxlLWtleVwiLCBwdWJsaXNoYWJsZUtleSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJpcGVQcmljaW5nVGFibGUuYXR0cihcInN0eWxlXCIsIFwiaGVpZ2h0OiAxMDAlO21heC1oZWlnaHQ6IDEwMCU7XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RyaXBlUHJpY2luZ1RhYmxlLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoc3RyaXBlUHJpY2luZ1RhYmxlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZUJ1dHRvbi5vbihcImNsaWNrXCIsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpcGVQcmljaW5nVGFibGUuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZUJ1dHRvbi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmF0dHIoXCJzdHlsZVwiLCBcImhlaWdodDogMTAwJSAhaW1wb3J0YW50O1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBkZWNsYXJlTGljZW5jZVdpZGdldCgpO1xuICAgIGZ1bmN0aW9uIGlzVmFsaWRPUENfVUFfVVJJKHN0cikge1xuICAgICAgICBsZXQgdXJsO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdXJsID0gbmV3IFVSTChzdHIpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChfKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVybC5wcm90b2NvbCA9PT0gXCJvcGMudGNwOlwiO1xuICAgIH1cbiAgICBjb25zdCBkZWZhdWx0U3Vic2NyaXB0aW9uUGFyYW1ldGVycyA9IHtcbiAgICAgICAgcHVibGlzaGluZ0VuYWJsZWQ6IHRydWUsXG4gICAgICAgIHJlcXVlc3RlZExpZmV0aW1lQ291bnQ6IDEwMDAsXG4gICAgICAgIHJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50OiAxMCwgLy8gZXZlcnkgMTAgc2Vjb25kc1xuICAgICAgICByZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWw6IDEwMDAsXG4gICAgICAgIG1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoOiAwLFxuICAgICAgICBwcmlvcml0eTogMTAwLFxuICAgIH07XG4gICAgUkVELm5vZGVzLnJlZ2lzdGVyVHlwZShcIk9wY1VhLUVuZHBvaW50MlwiLCB7XG4gICAgICAgIGNhdGVnb3J5OiBcImNvbmZpZ1wiLFxuICAgICAgICBwYWxldHRlTGFiZWw6IFwib3BjdWEgZW5kcG9pbnRcIixcbiAgICAgICAgZGVmYXVsdHM6IHtcbiAgICAgICAgICAgIG5hbWU6IHsgdmFsdWU6IFwiXCIgfSxcbiAgICAgICAgICAgIGVuZHBvaW50OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IFwib3BjLnRjcDovL29wY3VhZGVtby5zdGVyZml2ZS5jb206MjY1NDMvVUEvU2FtcGxlU2VydmVyXCIsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgdmFsaWRhdGU6IGlzVmFsaWRPUENfVUFfVVJJLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIFNlY3VyaXR5IE1vZGVcbiAgICAgICAgICAgIHNlY3VyaXR5TW9kZTogeyB2YWx1ZTogXCJOb25lXCIgfSxcbiAgICAgICAgICAgIHNlY3VyaXR5UG9saWN5OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IFwiTm9uZVwiLFxuICAgICAgICAgICAgICAgIHZhbGlkYXRlOiAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB1c2VySWRlbnRpdHlUeXBlOiB7IHZhbHVlOiBcIkFub255bW91c1wiIH0sXG4gICAgICAgICAgICBwa2lOYW1lOiB7IHZhbHVlOiBcIlwiLCB2YWxpZGF0ZTogKHZhbHVlKSA9PiAoIXZhbHVlIHx8IHZhbHVlLm1hdGNoKC9bMC05YS16QS1aXSovKSA/IHRydWUgOiBmYWxzZSkgfSxcbiAgICAgICAgICAgIC8vIHRvIHVzZSB3aGVuIHVzZXJJZGVudGl0eVR5cGUgaXMgVXNlck5hbWVcbiAgICAgICAgICAgIC8vIGNyZWRlbnRpYWxzOiB7XG4gICAgICAgICAgICAvLyAgICAgdXNlck5hbWU6IHsgdmFsdWU6IFwiXCIsIHR5cGU6IFwidGV4dFwiIH0sXG4gICAgICAgICAgICAvLyAgICAgcGFzc3dvcmQ6IHsgdmFsdWU6IFwiXCIsIHR5cGU6IFwicGFzc3dvcmRcIiB9LFxuICAgICAgICAgICAgLy8gICAgIC8vIHRvIHVzZSB3aGVuIHVzZXJJZGVudGl0eVR5cGUgaXMgQ2VydGlmaWNhdGVcbiAgICAgICAgICAgIC8vICAgICB1c2VyQ2VydGlmaWNhdGU6IHsgdmFsdWU6IFwiXCIsIHR5cGU6IFwidGV4dFwiIH0sXG4gICAgICAgICAgICAvLyAgICAgdXNlclByaXZhdGVrZXk6IHsgdmFsdWU6IFwiXCIgLCB0eXBlOiBcInBhc3N3b3JkXCJ9LFxuICAgICAgICAgICAgLy8gfSBhcyBhbnkgLyogY2lyY3VtdmVudCBhIGJ1ZyBpbiBub2RlLXJlZCAqLyxcbiAgICAgICAgICAgIC8vIHVzZXJuYW1lXG4gICAgICAgICAgICB1c2VUcmFuc3BvcnQ6IHsgdmFsdWU6IGZhbHNlLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIG1heENodW5rQ291bnQ6IHsgdmFsdWU6IDEsIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgbWF4TWVzc2FnZVNpemU6IHsgdmFsdWU6IDgxOTIsIHJlcXVpcmVkOiBmYWxzZSB9LCAvLyBzaG91bGQgYmUgYXQgbGVhc3QgODE5MlxuICAgICAgICAgICAgcmVjZWl2ZUJ1ZmZlclNpemU6IHsgdmFsdWU6IDgxOTIsIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgc2VuZEJ1ZmZlclNpemU6IHsgdmFsdWU6IDgxOTIsIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgc3Vic2NyaXB0aW9uczoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcInMxXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIkRlZmF1bHQgU3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0U3Vic2NyaXB0aW9uUGFyYW1ldGVycyksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcInMyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIlNsb3cgU3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZExpZmV0aW1lQ291bnQ6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudDogMywgLy8gZXZlcnkgMTUgc2Vjb25kc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbDogNTAwMCwgLy9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAxMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcInMzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIkZhc3QgU3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZExpZmV0aW1lQ291bnQ6IDQwMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQ6IDUwLCAvLyBldmVyeSAxMi41IHNlY29uZHNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWw6IDI1MCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAyMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgY3JlZGVudGlhbHM6IHtcbiAgICAgICAgICAgIHVzZXJOYW1lOiB7IHR5cGU6IFwidGV4dFwiIH0sXG4gICAgICAgICAgICBwYXNzd29yZDogeyB0eXBlOiBcInBhc3N3b3JkXCIgfSxcbiAgICAgICAgICAgIHVzZXJDZXJ0aWZpY2F0ZTogeyB0eXBlOiBcInRleHRcIiB9LFxuICAgICAgICAgICAgdXNlclByaXZhdGVrZXk6IHsgdHlwZTogXCJwYXNzd29yZFwiIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5uYW1lIHx8IHRoaXMuZW5kcG9pbnQgfHwgXCJpbnZhbGlkIGVuZHBvaW50XCI7XG4gICAgICAgIH0sXG4gICAgICAgIG9uZWRpdHNhdmUoKSB7XG4gICAgICAgICAgICBjb25zdCBfc2VjdXJpdHlQb2xpY3kgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5UG9saWN5XCIpO1xuICAgICAgICAgICAgY29uc3QgX3NlY3VyaXR5TW9kZSA9ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlNb2RlXCIpO1xuICAgICAgICAgICAgaWYgKF9zZWN1cml0eVBvbGljeS52YWwoKSA9PT0gXCJOb25lXCIpIHtcbiAgICAgICAgICAgICAgICBfc2VjdXJpdHlNb2RlLnRleHQoXCJOb25lXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gKCgoKCgoKCgoKCByZXRyaWV2ZSBzdWJzY3JpcHRpb24gZGF0YSApKSkpKSkpKSkpXG4gICAgICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25zSXRlbXMgPSAkKFwiI3N1YnNjcmlwdGlvbnMtY29udGFpbmVyXCIpLmVkaXRhYmxlTGlzdChcIml0ZW1zXCIpO1xuICAgICAgICAgICAgY29uc3QgcyA9IFtdO1xuICAgICAgICAgICAgY29uc3QgbiA9ICh4KSA9PiB4O1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9uc0l0ZW1zLmVhY2goZnVuY3Rpb24gKGluZGV4LCBpdGVtKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZSA9ICQodGhpcyk7XG4gICAgICAgICAgICAgICAgY29uc3QgYSA9IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IFwic1wiICsgaW5kZXgsXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IGUuZmluZChcIi5pbnB1dC1uYW1lXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6ICEhZS5maW5kKFwiLmlucHV0LWlzRGVmYXVsdFwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHVibGlzaGluZ0VuYWJsZWQ6ICEhZS5maW5kKFwiLmlucHV0LXB1Ymxpc2hpbmdFbmFibGVkXCIpLmlzKFwiOmNoZWNrZWRcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRMaWZldGltZUNvdW50OiBuKGUuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRMaWZldGltZUNvdW50XCIpLnZhbCgpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50OiBuKGUuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudFwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWw6IG4oZS5maW5kKFwiLmlucHV0LXJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbFwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogbihlLmZpbmQoXCIuaW5wdXQtbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2hcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6IG4oZS5maW5kKFwiLmlucHV0LXByaW9yaXR5XCIpLnZhbCgpKSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIC8vIGZvcmNlIHRvIGJlIHRydWVcbiAgICAgICAgICAgICAgICBhLnBhcmFtZXRlcnMucHVibGlzaGluZ0VuYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmIChhLmlzRGVmYXVsdCAmJiBhLmlkID09PSBcInMwXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gbm9ybWFsaXplIGRlZmF1bHQgc3Vic2NyaXB0aW9uIG5hbWVcbiAgICAgICAgICAgICAgICAgICAgYS5uYW1lID0gXCJEZWZhdWx0IFN1YnNjcmlwdGlvblwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzLnB1c2goYSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IHM7XG4gICAgICAgIH0sXG4gICAgICAgIG9uZWRpdHByZXBhcmUoKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlID0gdGhpcztcbiAgICAgICAgICAgIGNvbnN0IHRhYnMgPSBSRUQudGFicy5jcmVhdGUoe1xuICAgICAgICAgICAgICAgIGlkOiBcIm5vZGUtY29uZmlnLWVuZHBvaW50LXRhYnNcIixcbiAgICAgICAgICAgICAgICBvbmNoYW5nZTogZnVuY3Rpb24gKHRhYikge1xuICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtY29uZmlnLWVuZHBvaW50LXRhYnMtY29udGVudFwiKS5jaGlsZHJlbigpLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNcIiArIHRhYi5pZCkuc2hvdygpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRhYnMuYWRkVGFiKHtcbiAgICAgICAgICAgICAgICBpZDogXCJlbmRwb2ludC10YWItY29ubmVjdGlvblwiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBcIkNvbm5lY3Rpb25cIixcbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgdGFicy5hZGRUYWIoe1xuICAgICAgICAgICAgICAgIGlkOiBcImVuZHBvaW50LXRhYi1zdWJzY3JpcHRpb25zXCIsXG4gICAgICAgICAgICAgICAgbGFiZWw6IFwiU3Vic2NyaXB0aW9uc1wiLFxuICAgICAgICAgICAgfSwgMSk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICB0YWJzLnJlc2l6ZSgpO1xuICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgLy8gaGFuZGxlIFNlY3VyaXR5IGNvbnRyb2xzXG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZVNlY3VyaXR5Q29udHJvbCA9IChzZWN1cml0eU1vZGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChzZWN1cml0eU1vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgbnVsbDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgdW5kZWZpbmVkOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIlwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIk5vbmVcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiLnNlY3Rpb24tc2VjdXJpdHlQb2xpY3lcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIlNpZ25cIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJTaWduQW5kRW5jcnlwdFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3AgPSAkKFwiLnNlY3Rpb24tc2VjdXJpdHlQb2xpY3lcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzcC52YWwoKSA9PT0gXCJOb25lXCIgfHwgc3AudmFsKCkgPT09IFwiXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwLnZhbChcIkJhc2ljMjU2U2hhMjU2XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIuc2VjdGlvbi1zZWN1cml0eVBvbGljeVwiKS5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImludmFsaWQgc2VjdXJpdHlNb2RlIFwiICsgc2VjdXJpdHlNb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdXBkYXRlU2VjdXJpdHlDb250cm9sKG5vZGUuc2VjdXJpdHlNb2RlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBfc2VjdXJpdHlNb2RlID0gJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eU1vZGVcIik7XG4gICAgICAgICAgICAgICAgX3NlY3VyaXR5TW9kZS5vbihcImNoYW5nZVwiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld1NlY3VyaXR5TW9kZSA9IF9zZWN1cml0eU1vZGUudmFsKCk7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZVNlY3VyaXR5Q29udHJvbChuZXdTZWN1cml0eU1vZGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbGljZW5jZVdpZGdldCA9ICQoXCIjbGljZW5jZVdpZGdldFwiKTtcbiAgICAgICAgICAgIGxpY2VuY2VXaWRnZXQubGljZW5jZVdpZGdldCh7XG4gICAgICAgICAgICAgICAgYmFzZVVybDogXCJcIixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSB0aGUgVXNlciBJZGVudGl0eSBDb250cm9sc1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhdXRoUm93ID0gJChcIi5zZWN0aW9uLXVzZXJJZGVudGl0eVR5cGUtVXNlck5hbWVcIik7XG4gICAgICAgICAgICAgICAgY29uc3QgY2VydFJvdyA9ICQoXCIuc2VjdGlvbi11c2VySWRlbnRpdHlUeXBlLUNlcnRpZmljYXRlXCIpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZUlkZW50aXR5Q29udHJvbHMgPSAodXNlcklkZW50aXR5VHlwZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB1c2VySWRlbnRpdHlUeXBlID0gdXNlcklkZW50aXR5VHlwZSB8fCBcIkFub255bW91c1wiO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHVzZXJJZGVudGl0eVR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJBbm9ueW1vdXNcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJOYW1lXCIpLnZhbChcIlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtY29uZmlnLWlucHV0LXBhc3N3b3JkXCIpLnZhbChcIlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRoUm93LmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0Um93LmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJVc2VyTmFtZVwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhSb3cuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRSb3cuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkNlcnRpZmljYXRlXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyTmFtZVwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC1wYXNzd29yZFwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydFJvdy5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiaW52YWxpZCB1c2VySWRlbnRpdHlUeXBlIFwiICsgdXNlcklkZW50aXR5VHlwZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHVwZGF0ZUlkZW50aXR5Q29udHJvbHMobm9kZS51c2VySWRlbnRpdHlUeXBlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBfdXNlcklkZW50aXR5VHlwZSA9ICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlcklkZW50aXR5VHlwZVwiKTtcbiAgICAgICAgICAgICAgICBfdXNlcklkZW50aXR5VHlwZS5vbihcImNoYW5nZVwiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld0lkZW50aXR5VHlwZSA9IF91c2VySWRlbnRpdHlUeXBlLnZhbCgpO1xuICAgICAgICAgICAgICAgICAgICB1cGRhdGVJZGVudGl0eUNvbnRyb2xzKG5ld0lkZW50aXR5VHlwZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgLy8gaGFuZGxlIGFkdmFuY2VkIGNvbnRyb2xzXG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1BZHZhbmNlZFwiKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgJChcIiN0b2dnbGVBZHZhbmNlZFNlY3Rpb25cIikucHJvcChcImNoZWNrZWRcIiwgZmFsc2UpO1xuICAgICAgICAgICAgICAgICQoXCIjdG9nZ2xlQWR2YW5jZWRTZWN0aW9uXCIpLm9uKFwiY2hhbmdlXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykucHJvcChcImNoZWNrZWRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBjaGVja2JveCBpcyBjaGVja2VkLCBzaG93IHRoZSBkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1BZHZhbmNlZFwiKS5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBPdGhlcndpc2UsIGhpZGUgaXRcbiAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1BZHZhbmNlZFwiKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHVzZVRyYW5zcG9ydFNldHRpbmcgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZVRyYW5zcG9ydFwiKS5wcm9wKFwiY2hlY2tlZFwiKTtcbiAgICAgICAgICAgIGlmICh1c2VUcmFuc3BvcnRTZXR0aW5nKSB7XG4gICAgICAgICAgICAgICAgJChcIiNzZWN0aW9uLVRyYW5zcG9ydFNldHRpbmdzXCIpLnNob3coKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1UcmFuc3BvcnRTZXR0aW5nc1wiKS5oaWRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZVRyYW5zcG9ydFwiKS5vbihcImNoYW5nZVwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgaWYgKCQodGhpcykucHJvcChcImNoZWNrZWRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGNoZWNrYm94IGlzIGNoZWNrZWQsIHNob3cgdGhlIGRpdlxuICAgICAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tVHJhbnNwb3J0U2V0dGluZ3NcIikuc2hvdygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLCBoaWRlIGl0XG4gICAgICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1UcmFuc3BvcnRTZXR0aW5nc1wiKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgLy8gY2hlY2tDZXJ0aWZpY2F0ZVxuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAkKFwiI2NoZWNrQ2VydGlmaWNhdGVcIikub24oXCJjbGlja1wiLCAoKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCBmZXRjaChcIi9vcGN1YS1lbmRwb2ludDIvY2xpZW50X2NlcnRpZmljYXRlLmpzb25cIik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZm8gPSB5aWVsZCBkYXRhLmpzb24oKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdCA9IEpTT04uc3RyaW5naWZ5KGluZm8sIG51bGwsIFwiIFwiKTtcbiAgICAgICAgICAgICAgICAgICAgYWxlcnQodCk7XG4gICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSB0aGUgVGVzdCBidXR0b25cbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbWFuYWdlQVBJQ2FsbChcImNvbm5lY3Rpb25cIiwgJChcIiN0ZXN0LWNvbm5lY3Rpb25cIiksICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogXCIvb3BjdWEtZW5kcG9pbnQyL3Rlc3QtY29ubmVjdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgYm9keToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZHBvaW50Tm9kZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogbm9kZS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kcG9pbnQ6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtZW5kcG9pbnRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtbmFtZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGtpTmFtZTogKF9hID0gJChcIiNub2RlLWNvbmZpZy1pbnB1dC1wa2lOYW1lXCIpKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3VyaXR5TW9kZTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eU1vZGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3VyaXR5UG9saWN5OiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5UG9saWN5XCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VySWRlbnRpdHlUeXBlOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJJZGVudGl0eVR5cGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJOYW1lOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJOYW1lXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNzd29yZDogJChcIiNub2RlLWNvbmZpZy1pbnB1dC1wYXNzd29yZFwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlckNlcnRpZmljYXRlOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJDZXJ0aWZpY2F0ZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlclByaXZhdGVrZXk6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlclByaXZhdGVrZXlcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLyBub3QgdGVzdGVkIHlldCAuLi46XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRpZmljYXRlOiAkKFwiI25vZGUtaW5wdXQtY2VydGlmaWNhdGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVRyYW5zcG9ydDogJChcIiNub2RlLWlucHV0LXVzZVRyYW5zcG9ydFwiKS5wcm9wKFwiY2hlY2tlZFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Q2h1bmtDb3VudDogJChcIiNub2RlLWlucHV0LW1heENodW5rQ291bnRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heE1lc3NhZ2VTaXplOiAkKFwiI25vZGUtaW5wdXQtbWF4TWVzc2FnZVNpemVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY2VpdmVCdWZmZXJTaXplOiAkKFwiI25vZGUtaW5wdXQtcmVjZWl2ZUJ1ZmZlclNpemVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbmRCdWZmZXJTaXplOiAkKFwiI25vZGUtaW5wdXQtc2VuZEJ1ZmZlclNpemVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sICgpID0+IHsgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgLy8gIEluc3RhbGwgc3Vic2NyaXB0aW9ucyBMaXN0IG1hbmFnZW1lbnRcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzaXplVG9waWNzID0gKHRvcGljLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB2YXIgbmV3V2lkdGggPSB0b3BpYy53aWR0aCgpIHx8IDEwMDtcbiAgICAgICAgICAgICAgICAgICAgdG9waWMuZmluZChcImxhYmVsXCIpLnR5cGVkSW5wdXQoXCJ3aWR0aFwiLCBuZXdXaWR0aCAtIDE1KTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbkxpc3QgPSAkKFwiI3N1YnNjcmlwdGlvbnMtY29udGFpbmVyXCIpXG4gICAgICAgICAgICAgICAgICAgIC5jc3MoeyBcIm1pbi1oZWlnaHRcIjogXCIxNTBweFwiLCBcIm1pbi13aWR0aFwiOiBcIjI2MHB4XCIgfSlcbiAgICAgICAgICAgICAgICAgICAgLmVkaXRhYmxlTGlzdCh7XG4gICAgICAgICAgICAgICAgICAgIGFkZEl0ZW06IChjb250YWluZXIsIGluZGV4LCBkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBfZGF0YSA9IGRhdGE7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gJChcIi50ZW1wbGF0ZVwiKS5jbG9uZSgpLmFwcGVuZFRvKGNvbnRhaW5lcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnJlbW92ZUF0dHIoXCJpZFwiKS5yZW1vdmVDbGFzcyhcImhpZGVcIikucmVtb3ZlQ2xhc3MoXCJ0ZW1wbGF0ZVwiKS5hdHRyKFwiZGF0YS1pXCIsIGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1uYW1lXCIpLnZhbChfZGF0YS5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWxcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMucmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudFwiKS52YWwoX2RhdGEucGFyYW1ldGVycy5yZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTGlmZXRpbWVDb3VudFwiKS52YWwoX2RhdGEucGFyYW1ldGVycy5yZXF1ZXN0ZWRMaWZldGltZUNvdW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1tYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaFwiKS52YWwoX2RhdGEucGFyYW1ldGVycy5tYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCB8fCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1wcmlvcml0eVwiKS52YWwoX2RhdGEucGFyYW1ldGVycy5wcmlvcml0eSB8fCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5zdWJzY3JpcHRpb24taWRcIikudGV4dChcIlwiICsgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKF9kYXRhLmlzRGVmYXVsdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1uYW1lXCIpLnByb3AoXCJyZWFkb25seVwiLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1pc0RlZmF1bHRcIikucHJvcChcImNoZWNrZWRcIiwgX2RhdGEuaXNEZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1ha2Ugc3VyZSB0aGF0IGRlZmF1bHQgc3Vic2NyaXB0aW9uIGNhbm5vdCBiZSBhY2NpZGVudGFsbHkgcmVtb3ZlZFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKF9kYXRhLmlzRGVmYXVsdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci5maW5kKFwiLnJlZC11aS1lZGl0YWJsZUxpc3QtaXRlbS1yZW1vdmVcIikuYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gZWxlbWVudC5maW5kKFwiLmlucHV0LWlzRGVmYXVsdFwiKS5wcm9wKFwiZGlzYWJsZWRcIiwgdHJ1ZSksIDEwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgLy8gc29ydGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHJlbW92YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgcmVzaXplSXRlbTogcmVzaXplVG9waWNzLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IEFkZFN1YnNjcmlwdGlvbiA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9ucyA9IG5vZGUuc3Vic2NyaXB0aW9ucyB8fCBbXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN1YnNjcmlwdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBhZGQgbWlzc2luZyBkZWZhdWx0IHN1YnNjcmlwdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJzMVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiRGVmYXVsdCBTdWJzY3JpcHRpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczogT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdFN1YnNjcmlwdGlvblBhcmFtZXRlcnMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uTGlzdC5lZGl0YWJsZUxpc3QoXCJlbXB0eVwiKTtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2Ygc3Vic2NyaXB0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3Vic2NyaXB0aW9uLmlzRGVmYXVsdCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uTGlzdC5lZGl0YWJsZUxpc3QoXCJhZGRJdGVtXCIsIHN1YnNjcmlwdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIEFkZFN1YnNjcmlwdGlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgIH0pO1xuXG59KSgpOyJdfQ==
9
9
  </script>
10
10
  <script type="text/x-red" data-template-name="OpcUa-Endpoint2">
11
11
  <div id="licenceWidget"></div>