@captureid/datatypes 1.0.82 → 1.0.84

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.
@@ -293,8 +293,9 @@ export var RegistrationState;
293
293
  RegistrationState[RegistrationState["REQUESTED"] = 1] = "REQUESTED";
294
294
  RegistrationState[RegistrationState["OTPCOMPLETE"] = 2] = "OTPCOMPLETE";
295
295
  RegistrationState[RegistrationState["CONFIRMED"] = 3] = "CONFIRMED";
296
- RegistrationState[RegistrationState["ASSOCIATED"] = 4] = "ASSOCIATED";
297
- RegistrationState[RegistrationState["COMPLETED"] = 5] = "COMPLETED";
296
+ RegistrationState[RegistrationState["DETAILED"] = 4] = "DETAILED";
297
+ RegistrationState[RegistrationState["ASSOCIATED"] = 5] = "ASSOCIATED";
298
+ RegistrationState[RegistrationState["COMPLETED"] = 6] = "COMPLETED";
298
299
  })(RegistrationState || (RegistrationState = {}));
299
300
  (function (RegistrationState) {
300
301
  function valueOf(str) {
@@ -802,4 +803,4 @@ export var NetworkDeviceType;
802
803
  }
803
804
  NetworkDeviceType.values = values;
804
805
  })(NetworkDeviceType || (NetworkDeviceType = {}));
805
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXB0dXJlaWQtZGF0YXR5cGVzL3NyYy9saWIvZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFOLElBQVksUUFnSFg7QUFoSEQsV0FBWSxRQUFRO0lBQ2xCLDZDQUFXLENBQUE7SUFDWCxtREFBYyxDQUFBO0lBQ2QsMkNBQVUsQ0FBQTtJQUNWLHlDQUFTLENBQUE7SUFDVCw2Q0FBVyxDQUFBO0lBQ1gsK0NBQVksQ0FBQTtJQUNaLDZDQUFXLENBQUE7SUFDWCw2Q0FBVyxDQUFBO0lBQ1gseUNBQVMsQ0FBQTtJQUNULHlDQUFTLENBQUE7SUFDVCxvREFBZSxDQUFBO0lBQ2Ysa0VBQXNCLENBQUE7SUFDdEIsd0NBQVMsQ0FBQTtJQUNULDREQUFtQixDQUFBO0lBQ25CLHdEQUFpQixDQUFBO0lBQ2pCLDRDQUFXLENBQUE7SUFDWCxnRUFBcUIsQ0FBQTtJQUNyQixzRUFBd0IsQ0FBQTtJQUN4Qix3Q0FBUyxDQUFBO0lBQ1QsOENBQVksQ0FBQTtJQUNaLGdEQUFhLENBQUE7SUFDYixzREFBZ0IsQ0FBQTtJQUNoQixvREFBZSxDQUFBO0lBQ2YsNENBQVcsQ0FBQTtJQUNYLDhEQUFvQixDQUFBO0lBQ3BCLDhDQUFZLENBQUE7SUFDWixrRUFBc0IsQ0FBQTtJQUN0QixzREFBZ0IsQ0FBQTtJQUNoQiw0Q0FBVyxDQUFBO0lBQ1gsOENBQVksQ0FBQTtJQUNaLDBDQUFVLENBQUE7SUFDVix3REFBaUIsQ0FBQTtJQUNqQiw0Q0FBVyxDQUFBO0lBQ1gsa0RBQWMsQ0FBQTtJQUNkLGdEQUFhLENBQUE7SUFDYiw0REFBbUIsQ0FBQTtJQUNuQiwwQ0FBVSxDQUFBO0lBQ1Ysa0RBQWMsQ0FBQTtJQUNkLDhDQUFZLENBQUE7SUFDWixnREFBYSxDQUFBO0lBQ2IsOENBQVksQ0FBQTtJQUNaLHdEQUFpQixDQUFBO0lBQ2pCLGtEQUFjLENBQUE7SUFD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QUFqQixpQkFBaUIsUUFNNUI7QUFDRCxXQUFpQixpQkFBaUI7SUFDaEMsU0FBZ0IsT0FBTyxDQUFDLEdBQVc7UUFDakMsT0FBTyxpQkFBaUIsQ0FBQyxHQUFxQyxDQUFXLENBQUM7SUFDNUUsQ0FBQztJQUZlLHlCQUFPLFVBRXRCLENBQUE7SUFDRCxTQUFnQixNQUFNO1FBQ3BCLElBQUksR0FBRyxHQUFVLEVBQUUsQ0FBQztRQUNwQixLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQ3JELElBQ0UsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxLQUFLLENBQVEsQ0FBQztnQkFDckQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssVUFBVSxFQUM3RCxDQUFDO2dCQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDcEQsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFYZSx3QkFBTSxTQVdyQixDQUFBO0FBQ0gsQ0FBQyxFQWhCZ0IsaUJBQWlCLEtBQWpCLGlCQUFpQixRQWdCakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYXB0dXJlaWREYXRhdHlwZXNDb21wb25lbnQgfSBmcm9tICcuL2NhcHR1cmVpZC1kYXRhdHlwZXMuY29tcG9uZW50JztcbmltcG9ydCB7IFZBVCB9IGZyb20gJy4vbW9kZWwvY29tbW9uL3RheGVzJztcbmV4cG9ydCBlbnVtIERhdGFUeXBlIHtcbiAgVU5LTk9XTiA9IDAsXG4gIE5BVklHQVRJT04gPSAxLFxuICBTWVNURU0gPSAyLFxuICBMQUJFTCA9IDMsXG4gIE5FVFdPUksgPSA0LFxuICBESVNDT1ZFUiA9IDUsXG4gIFBSSU5URVIgPSA2LFxuICBQUk9GSUxFID0gNyxcbiAgQ0hBUlQgPSA4LFxuICBRVUVVRSA9IDksXG4gIExBQkVMUFJJTlQgPSAxMCxcbiAgUFJPRklMRTJDT05UQUlORVIgPSAxMSxcbiAgVVNFUiA9IDEyLFxuICBBVVRIRU5USUNBVElPTiA9IDEzLFxuICBVU0VSRVhURU5ERUQgPSAxNCxcbiAgTU9EVUxFID0gMTUsXG4gIFBST0RVQ1RfQ0FURUdPUlkgPSAxNixcbiAgUFJPRFVDVF9TVUJDQVRFR09SWSA9IDE3LFxuICBJVEVNID0gMTgsXG4gIEFERFJFU1MgPSAxOSxcbiAgTE9DQVRJT04gPSAyMCxcbiAgQUNDRVNTUE9JTlQgPSAyMSxcbiAgU0hFTEZMQUJFTCA9IDIyLFxuICBWRU5ET1IgPSAyMyxcbiAgUEFZTUVOVFRFUk1JTkFMID0gMjQsXG4gIEVTTFBPT0wgPSAyNSxcbiAgVkVSSUZJQ0FUSU9OVE9LRU4gPSAyNixcbiAgVVNFUlBST0ZJTEUgPSAyNyxcbiAgQ0xJRU5UID0gMjgsXG4gIExJQ0VOU0UgPSAyOSxcbiAgSU1BR0UgPSAzMCxcbiAgTUFOVUZBQ1RVUkVSID0gMzEsXG4gIFJBVElORyA9IDMyLFxuICBQQUNLQUdJTkcgPSAzMyxcbiAgQ1VSUkVOQ1kgPSAzNCxcbiAgSVRFTVBST1BFUlRJRVMgPSAzNSxcbiAgU1RPQ0sgPSAzNixcbiAgSU5WRU5UT1JZID0gMzcsXG4gIENPVU5UUlkgPSAzOCxcbiAgQlVJTERJTkcgPSAzOSxcbiAgQ09NUEFOWSA9IDQwLFxuICBJVEVNUFJPUEVSVFkgPSA0MSxcbiAgRElNRU5TSU9OID0gNDIsXG4gIFNIRUxGID0gNDMsXG4gIFBVUkNIQVNFUFJJQ0UgPSA0NCxcbiAgU0VMTElOR1BSSUNFID0gNDUsXG4gIEZMT09SID0gNDYsXG4gIFJPT00gPSA0NyxcbiAgTEVWRUwgPSA0OCxcbiAgU1BBQ0UgPSA0OSxcbiAgQk9PS0lORyA9IDUwLFxuICBHUElPID0gNTEsXG4gIElURU1ERVRBSUwgPSA1MixcbiAgRVNMQVNTT0NJQVRJT04gPSA1MyxcbiAgRVNMVVBEQVRFID0gNTQsXG4gIE1FU1NBR0UgPSA1NSxcbiAgRVNMVEVNUExBVEUgPSA1NixcbiAgSVRFTVNIT1JUID0gNTcsXG4gIENBUlQgPSA1OCxcbiAgUEFZTUVOVCA9IDU5LFxuICBMT0dFTlRSWSA9IDYwLFxuICBTVEFUSVNUSUMgPSA2MSxcbiAgUk9MRSA9IDYyLFxuICBVU0VSQUNDRVNTID0gNjMsXG4gIFJFU09VUkNFID0gNjQsXG4gIE1FTlUgPSA2NSxcbiAgQ09VUE9OID0gNjYsXG4gIEJPTiA9IDY3LFxuICBFTkRPRkRBWUJPTiA9IDY4LFxuICBQUk9QRVJUWU5BTUVTID0gNjksXG4gIENBVEVHT1JZTkFNRVMgPSA3MCxcbiAgSVRFTUdST1VQID0gNzEsXG4gIFZBVCA9IDcyLFxuICBJTVBPUlQgPSA3MyxcbiAgU1VQUExJRVIgPSA3NCxcbiAgRkFRID0gNzUsXG4gIENIQVQgPSA3NixcbiAgRkFSTUlOR01FVEhPRCA9IDc3LFxuICBUSUNLRVQgPSA3OCxcbiAgVElDS0VUTUVTU0FHRSA9IDc5LFxuICBXRUJURU1QTEFURSA9IDgwLFxuICBFTUFJTFRFTVBMQVRFID0gODEsXG4gIEpPVVJOQUwgPSA4MixcbiAgRklMRUlNUE9SVCA9IDgzLFxuICBCVUlMRElOR0FDQ0VTUyA9IDg0LFxuICBUT1BJQyA9IDg1LFxuICBTVUJTQ1JJUFRJT04gPSA4NixcbiAgTk9USUZJQ0FUSU9OID0gODcsXG4gIENBTVBBSUdOID0gODgsXG4gIEFEVkVSVElTRU1FTlQgPSA4OSxcbiAgUkVBTFRJTUVTVUJTQ1JJUFRJT04gPSA5MCxcbiAgU1RPUkUgPSA5MSxcbiAgQ0FMRU5EQVIgPSA5MixcbiAgVEVOQU5UID0gOTMsXG4gIFBBWU1FTlRURVJNSU5BTFNIT1JUID0gOTQsXG4gIFNUT1JFSU5GT1JNQVRJT04gPSA5NSxcbiAgUE9TVEVSTUlOQUwgPSA5NixcbiAgTUFOQUdFTUVOVCA9IDk3LFxuICBBRERSRVNTVFlQRSA9IDk4LFxuICBBRERSRVNTVE9DT01QQU5ZID0gOTksXG4gIFBSRU9SREVSID0gMTAwLFxuICBQUkVPUkRFUlRPQ1VTVE9NRVIgPSAxMDEsXG4gIFNFQ1VSSVRZUFJPRklMRSA9IDEwMixcbiAgQURWRVJUSVNFTUVOVF9JTUFHRV9UWVBFID0gMTAzLFxuICBJTUFHRVRPQURWRVJUSVNFTUVOVCA9IDEwNCxcbiAgQUREUkVTU1RPTUFOVUZBQ1RVUkVSID0gMTA1LFxuICBLRVlTID0gMTA2LFxuICBDQVRBTE9HID0gMTA3LFxuICBFTlRFUlBSSVNFX1NUUlVDVFVSRSA9IDEwOCxcbiAgQlVJTERJTkdTX1NUUlVDVFVSRSA9IDEwOSxcbiAgTE9DQVRJT05TX1NUUlVDVFVSRSA9IDExMFxufVxuXG5leHBvcnQgZW51bSBCb29raW5nVHlwZSB7XG4gIFVOS05PV04gPSAwLFxuICBJTkNPTUlORyA9IDEsIC8vV2FyZW5laW5nYW5nXG4gIE9VVEdPSU5HID0gMiwgLy9XYXJlbmF1c2dhbmdcblxuICBTVE9SRUFDQ0VTUyA9IDgsIC8vWnVnYW5nIHp1bSBWZXJrYXVmIChUw7xyw7ZmZm5lcilcbiAgU1RPUkVFWElUID0gOSwgLy9WZXJsYXNzZW4gZGVzIEdlc2Now6RmdHMgKFTDvHLDtmZmbmVyKVxuXG4gIFBST01PVElPTiA9IDExLCAvL1dlcmJlYWt0aW9uXG5cbiAgTUFSS0RPV04gPSAyMSwgLy9QcmVpc3JlZHV6aWVydW5nXG4gIE1BUktVUCA9IDIyLCAvL1ByZWlzZXJow7ZodW5nXG5cbiAgU1RPQ0tNT1ZFID0gMzEsIC8vTGFnZXJiZXdlZ3VuZ1xuICBTVE9DS0FERCA9IDMyLCAvL0xhZ2VyenVnYW5nXG4gIFNUT0NLUkVNT1ZFID0gMzMsIC8vTGFnZXJhYmdhbmdcblxuICBTRUxMSU5HQUREID0gNDEsIC8vVmVya2F1ZlxuICBTRUxMSU5HUkVNT1ZFID0gNDIsIC8vU3Rvcm5vXG4gIFNFTExJTkdVUERBVEUgPSA0MywgLy/DhG5kZXJ1bmdcblxuICBTVE9SRVRSQU5TRkVSID0gNTEsIC8vTGFnZXJ0cmFuc2ZlclxuICBSRVNFUlZBVElPTiA9IDUyLCAvL1Jlc2VydmllcnVuZ1xuICBPUkRFUiA9IDUzLCAvL0Jlc3RlbGx1bmdcbiAgUkVUVVJOID0gNTQsIC8vUsO8Y2tzZW5kdW5nXG5cbiAgU1RPQ0tUQUtFID0gNjEsIC8vSW52ZW50dXJcbiAgU1RPQ0tDT1JSRUNUSU9OID0gNjIsIC8vQmVzdGFuZHNrb3JyZWt0dXJcbiAgU1RPQ0tBREpVU1RNRU5UID0gNjMsIC8vQmVzdGFuZHNhbnBhc3N1bmdcbiAgU1RPQ0tDSEVDSyA9IDY0LCAvL0Jlc3RhbmRzcHLDvGZ1bmdcblxuICBEQU1BR0VEID0gNzEsIC8vQmVzY2jDpGRpZ3VuZ1xuICBMT1NUID0gNzIsIC8vVmVybHVzdFxuICBFWFBJUkVEID0gNzMsIC8vVmVyZmFsbFxuXG4gIERFTElWRVJZID0gODEsIC8vTGllZmVydW5nXG4gIFBJQ0tVUCA9IDgyLCAvL0FiaG9sdW5nXG4gIFNISVBQSU5HID0gODMsIC8vVmVyc2FuZFxuXG4gIFNVQlNDUklQVElPTiA9IDkxLCAvL0Fib25uZW1lbnRcbiAgSU5WT0lDRSA9IDkyLCAvL1JlY2hudW5nXG4gIFBBWU1FTlQgPSA5MywgLy9aYWhsdW5nXG4gIFJFRlVORCA9IDk0LCAvL1LDvGNrZXJzdGF0dHVuZ1xuXG4gIERPTkFUSU9OID0gMTAxLCAvL1NwZW5kZVxuXG4gIEdJRlQgPSAxMTEsIC8vR2VzY2hlbmtcbiAgR0lGVENBUkQgPSAxMTIsIC8vR2VzY2hlbmtrYXJ0ZVxuICBHSUZUVk9VQ0hFUiA9IDExMywgLy9HdXRzY2hlaW5cblxuICBTQ0FOID0gMTIxLFxuICBDQVJUQUREID0gMTIyLCAvL1dhcmVua29yYnp1c2NobGFnXG4gIENBUlRSRU1PVkUgPSAxMjMsIC8vV2FyZW5rb3JiYWJ6dWdcbiAgQ0FSVFVQREFURSA9IDEyNCwgLy9XYXJlbmtvcmJhbnBhc3N1bmdcbiAgQ0FSVEZJTkFMSVpFID0gMTI1LCAvL1dhcmVua29yYmFic2NobHVzc1xuICBDQVJUQ0FOQ0VMID0gMTI2LCAvL1dhcmVua29yYnN0b3JuaWVydW5nXG59XG5cbmV4cG9ydCBlbnVtIENhbGVuZGFyVHlwZSB7XG4gIENBTEVOREFSX1VOS05PV04gPSAwLFxuICBDQUxFTkRBUl9DQU1QQUlHTiA9IDEsXG59XG5cbmV4cG9ydCBlbnVtIE9wZXJhdG9ycyB7XG4gICAgVU5LTk9XTiA9IDAsXG4gICAgQU5EID0gMSxcbiAgICBPUiA9IDIsXG59XG5cbmV4cG9ydCBlbnVtIEltYWdlVHlwZSB7XG4gICAgVU5LTk9XTiA9IDAsXG4gICAgQVZBVEFSID0gMSxcbiAgICBJVEVNID0gMixcbiAgICBBRFZFUlRJU0VNRU5UID0gMyxcbiAgICBCVUlMRElORyA9IDQsXG4gICAgQ1VTVE9NID0gNSxcbn1cblxuZXhwb3J0IGVudW0gRGF0YWJhc2VFdmVudFR5cGUge1xuICAgIEVWRU5UX1VOS05PV04gPSAwLFxuICAgIEVWRU5UX0FEREVEID0gMSxcbiAgICBFVkVOVF9VUERBVEVEID0gMixcbiAgICBFVkVOVF9ERUxFVEVEID0gM1xufVxuXG5leHBvcnQgZW51bSBFTWFpbFRlbXBsYXRlVHlwZSB7XG4gICAgV0VMQ09NRSA9IDAsXG4gICAgUkVHQ09ORklSTSA9IDEsXG4gICAgUkVTRVRQQVNTV09SRCA9IDJcbn1cblxuZXhwb3J0IGVudW0gV2ViVGVtcGxhdGVUeXBlIHtcbiAgICBIT01FUEFHRSA9IDAsXG4gICAgV0VMQ09NRVBBR0UgPSAxLFxuICAgIENPTkZJUk1QQUdFID0gMlxufVxuXG5leHBvcnQgZW51bSBQYXltZW50U3RhdGUge1xuICAgIFVOS05PV04gPSAwLFxuICAgIFBFTkRJTkcgPSAxLFxuICAgIENPTVBMRVRFRCA9IDIsXG4gICAgRkFJTEVEID0gMyxcbiAgICBSRUZVTkRFRCA9IDQsXG4gICAgQ0FOQ0VMTEVEID0gNSxcbiAgICBQQVJUSUFMX1JFRlVORCA9IDYsXG4gICAgUEFSVElBTF9QQVlNRU5UID0gNyxcbiAgICBBVVRIT1JJWkVEID0gOCxcbiAgICBERUNMSU5FRCA9IDksXG4gICAgUFJPQ0VTU0lORyA9IDEwLFxufVxuXG5leHBvcnQgZW51bSBQaW5TdGF0ZSB7XG4gICAgVU5LTk9XTiA9IDAsXG4gICAgTE9XID0gMSxcbiAgICBISUdIID0gMlxufVxuZXhwb3J0IG5hbWVzcGFjZSBQaW5TdGF0ZSB7XG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlT2Yoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gUGluU3RhdGVbc3RyIGFzIGtleW9mIHR5cGVvZiBQaW5TdGF0ZV0gYXMgbnVtYmVyO1xuICAgIH1cbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgICAgICBsZXQgcmVzOiBhbnlbXSA9IFtdO1xuICAgICAgICBmb3IoY29uc3QgdmFsdWUgaW4gT2JqZWN0LnZhbHVlcyhQaW5TdGF0ZSkpIHtcbiAgICAgICAgICAgIGlmKGlzTmFOKE9iamVjdC52YWx1ZXMoUGluU3RhdGUpW3ZhbHVlXSBhcyBhbnkpICYmIHR5cGVvZihPYmplY3QudmFsdWVzKFBpblN0YXRlKVt2YWx1ZV0pICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgcmVzLnB1c2goT2JqZWN0LnZhbHVlcyhQaW5TdGF0ZSlbdmFsdWVdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cbn1cblxuZXhwb3J0IGVudW0gTW9kdWxlVHlwZSB7XG4gICAgVU5LTk9XTiA9IDAsXG4gICAgQUlfTU9EVUxFID0gMSxcbiAgICBQQVlNRU5UX01PRFVMRSA9IDIsXG4gICAgUkZJRF9NT0RVTEUgPSAzLFxuICAgIEVTTF9NT0RVTEUgPSA0LFxuICAgIERCMl9NT0RVTEUgPSA1LFxuICAgIE1PTkdPREJfTU9EVUxFID0gNixcbiAgICBQT1NUR1JFU19NT0RVTEUgPSA3LFxuICAgIEFVVEhFTlRJQ0FUSU9OX01PRFVMRSA9IDgsXG4gICAgR0FURVdBWV9NT0RVTEUgPSA5LFxuICAgIFBSSU5UX01PRFVMRSA9IDEwLFxuICAgIFJFR0lTVFJZX01PRFVMRSA9IDExLFxuICAgIFdFQl9NT0RVTEUgPSAxMixcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBNb2R1bGVUeXBlIHtcbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVPZihzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBNb2R1bGVUeXBlW3N0ciBhcyBrZXlvZiB0eXBlb2YgTW9kdWxlVHlwZV0gYXMgbnVtYmVyO1xuICAgIH1cbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgICAgICBsZXQgcmVzOiBhbnlbXSA9IFtdO1xuICAgICAgICBmb3IoY29uc3QgdmFsdWUgaW4gT2JqZWN0LnZhbHVlcyhNb2R1bGVUeXBlKSkge1xuICAgICAgICAgICAgaWYoaXNOYU4oT2JqZWN0LnZhbHVlcyhNb2R1bGVUeXBlKVt2YWx1ZV0gYXMgYW55KSAmJiB0eXBlb2YoT2JqZWN0LnZhbHVlcyhNb2R1bGVUeXBlKVt2YWx1ZV0pICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgcmVzLnB1c2goT2JqZWN0LnZhbHVlcyhNb2R1bGVUeXBlKVt2YWx1ZV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxufVxuXG5leHBvcnQgZW51bSBSVFN0YXRlRXZlbnRUeXBlIHtcbiAgICBFVkVOVF9VTktOT1dOID0gMCxcbiAgICBFVkVOVF9TVE9SRSA9IDEsXG4gICAgRVZFTlRfVVNFUiA9IDJcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBSVFN0YXRlRXZlbnRUeXBlIHtcbiAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlT2Yoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiBSVFN0YXRlRXZlbnRUeXBlW3N0ciBhcyBrZXlvZiB0eXBlb2YgUlRTdGF0ZUV2ZW50VHlwZV0gYXMgbnVtYmVyO1xuICB9XG4gIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZXMoKSB7XG4gICAgbGV0IHJlczogYW55W10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHZhbHVlIGluIE9iamVjdC52YWx1ZXMoUlRTdGF0ZUV2ZW50VHlwZSkpIHtcbiAgICAgIGlmIChcbiAgICAgICAgaXNOYU4oT2JqZWN0LnZhbHVlcyhSVFN0YXRlRXZlbnRUeXBlKVt2YWx1ZV0gYXMgYW55KSAmJlxuICAgICAgICB0eXBlb2YgT2JqZWN0LnZhbHVlcyhSVFN0YXRlRXZlbnRUeXBlKVt2YWx1ZV0gIT09ICdmdW5jdGlvbidcbiAgICAgICkge1xuICAgICAgICByZXMucHVzaChPYmplY3QudmFsdWVzKFJUU3RhdGVFdmVudFR5cGUpW3ZhbHVlXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXM7XG4gIH1cbn1cblxuZXhwb3J0IGVudW0gUmVnaXN0cmF0aW9uU3RhdGUge1xuICAgIFVOS05PV04gPSAwLFxuICAgIFJFUVVFU1RFRCA9IDEsXG4gICAgT1RQQ09NUExFVEUgPSAyLFxuICAgIENPTkZJUk1FRCA9IDMsXG4gICAgQVNTT0NJQVRFRCA9IDQsXG4gICAgQ09NUExFVEVEID0gNVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFJlZ2lzdHJhdGlvblN0YXRlIHtcbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVPZihzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBSZWdpc3RyYXRpb25TdGF0ZVtzdHIgYXMga2V5b2YgdHlwZW9mIFJlZ2lzdHJhdGlvblN0YXRlXSBhcyBudW1iZXI7XG4gICAgfVxuICAgIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZXMoKSB7XG4gICAgICAgIGxldCByZXM6IGFueVtdID0gW107XG4gICAgICAgIGZvcihjb25zdCB2YWx1ZSBpbiBPYmplY3QudmFsdWVzKFJlZ2lzdHJhdGlvblN0YXRlKSkge1xuICAgICAgICAgICAgaWYoaXNOYU4oT2JqZWN0LnZhbHVlcyhSZWdpc3RyYXRpb25TdGF0ZSlbdmFsdWVdIGFzIGFueSkgJiYgdHlwZW9mKE9iamVjdC52YWx1ZXMoUmVnaXN0cmF0aW9uU3RhdGUpW3ZhbHVlXSkgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICByZXMucHVzaChPYmplY3QudmFsdWVzKFJlZ2lzdHJhdGlvblN0YXRlKVt2YWx1ZV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxufVxuXG5leHBvcnQgZW51bSBQcmludGVyTGFuZ3VhZ2Uge1xuICAgIFVOS05PV04gPSAwLFxuICAgIFNCUEwgPSAxLFxuICAgIFNQT1MgPSAyLFxuICAgIFNDUENMID0gMyxcbiAgICBTWlBMID0gNCxcbiAgICBTRFBMID0gNSxcbiAgICBTSVBMID0gNixcbiAgICBTVFBDTCA9IDcsXG4gICAgWlBMID0gOCxcbiAgICBDWlBMID0gOSxcbiAgICBGSU5HRVJQUklOVCA9IDEwLFxuICAgIERQID0gMTEsXG4gICAgU0xDUyA9IDEyXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUHJpbnRlckxhbmd1YWdlIHtcbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVPZihzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBQcmludGVyTGFuZ3VhZ2Vbc3RyIGFzIGtleW9mIHR5cGVvZiBQcmludGVyTGFuZ3VhZ2VdIGFzIG51bWJlcjtcbiAgICB9XG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlcygpIHtcbiAgICAgICAgbGV0IHJlczogYW55W10gPSBbXTtcbiAgICAgICAgZm9yKGNvbnN0IHZhbHVlIGluIE9iamVjdC52YWx1ZXMoUHJpbnRlckxhbmd1YWdlKSkge1xuICAgICAgICAgICAgaWYoaXNOYU4oT2JqZWN0LnZhbHVlcyhQcmludGVyTGFuZ3VhZ2UpW3ZhbHVlXSBhcyBhbnkpICYmIHR5cGVvZihPYmplY3QudmFsdWVzKFByaW50ZXJMYW5ndWFnZSlbdmFsdWVdKSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHJlcy5wdXNoKE9iamVjdC52YWx1ZXMoUHJpbnRlckxhbmd1YWdlKVt2YWx1ZV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxufVxuXG5leHBvcnQgZW51bSBQcmludGVyTWFudWZhY3R1cmVyIHtcbiAgICBVTktOT1dOID0gMCxcbiAgICBDSVRJWkVOID0gMSxcbiAgICBCSVhPTE9OID0gMixcbiAgICBCUk9USEVSID0gMyxcbiAgICBFU0NQT1MgPSA0LFxuICAgIEdPT0pQUlQgPSA1LFxuICAgIEhPTkVZV0VMTCA9IDYsXG4gICAgU0FUTyA9IDcsXG4gICAgWkVCUkEgPSA4ICAgIFxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFByaW50ZXJNYW51ZmFjdHVyZXIge1xuICAgIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZU9mKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFByaW50ZXJNYW51ZmFjdHVyZXJbc3RyIGFzIGtleW9mIHR5cGVvZiBQcmludGVyTWFudWZhY3R1cmVyXSBhcyBudW1iZXI7XG4gICAgfVxuICAgIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZXMoKSB7XG4gICAgICAgIGxldCByZXM6IGFueVtdID0gW107XG4gICAgICAgIGZvcihjb25zdCB2YWx1ZSBpbiBPYmplY3QudmFsdWVzKFByaW50ZXJNYW51ZmFjdHVyZXIpKSB7XG4gICAgICAgICAgICBpZihpc05hTihPYmplY3QudmFsdWVzKFByaW50ZXJNYW51ZmFjdHVyZXIpW3ZhbHVlXSBhcyBhbnkpICYmIHR5cGVvZihPYmplY3QudmFsdWVzKFByaW50ZXJNYW51ZmFjdHVyZXIpW3ZhbHVlXSkgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICByZXMucHVzaChPYmplY3QudmFsdWVzKFByaW50ZXJNYW51ZmFjdHVyZXIpW3ZhbHVlXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG59XG5cbmV4cG9ydCBlbnVtIFVuaXQge1xuICAgIFVOS05PV04gPSAwLFxuICAgIE1NID0gMSxcbiAgICBDTSA9IDIsXG4gICAgTSA9IDMsXG4gICAgSU5DSCA9IDQsXG4gICAgRk9PVCA9IDUsXG4gICAgUElFQ0UgPSA2LFxuICAgIEtHID0gNyxcbiAgICBHUkFNTSA9IDgsXG4gICAgTUlMTElHUkFNTSA9IDksIFxufVxuZXhwb3J0IG5hbWVzcGFjZSBVbml0IHtcbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVPZihzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBVbml0W3N0ciBhcyBrZXlvZiB0eXBlb2YgVW5pdF0gYXMgbnVtYmVyO1xuICAgIH1cbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgICAgICBsZXQgcmVzOiBhbnlbXSA9IFtdO1xuICAgICAgICBmb3IoY29uc3QgdmFsdWUgaW4gT2JqZWN0LnZhbHVlcyhVbml0KSkge1xuICAgICAgICAgICAgaWYoaXNOYU4oT2JqZWN0LnZhbHVlcyhVbml0KVt2YWx1ZV0gYXMgYW55KSAmJiB0eXBlb2YoT2JqZWN0LnZhbHVlcyhVbml0KVt2YWx1ZV0pICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgcmVzLnB1c2goT2JqZWN0LnZhbHVlcyhVbml0KVt2YWx1ZV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxufVxuXG5leHBvcnQgZW51bSBTZXZlcml0eSB7XG5cdFVOS05PV04gPSAwLFxuXHRFTUVSR0VOQ1kgPSAxLFxuXHRBTEVSVCA9IDIsXG5cdENSSVRJQ0FMID0gMyxcblx0RVJST1IgPSA0LFxuXHRXQVJOSU5HID0gNSxcblx0Tk9USUNFID0gNixcblx0SU5GT1JNQVRJT04gPSA3LFxuXHRERUJVRyA9IDgsXG59XG5leHBvcnQgbmFtZXNwYWNlIFNldmVyaXR5IHtcbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVPZihzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBTZXZlcml0eVtzdHIgYXMga2V5b2YgdHlwZW9mIFNldmVyaXR5XSBhcyBudW1iZXI7XG4gICAgfVxuICAgIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZXMoKSB7XG4gICAgICAgIGxldCByZXM6IGFueVtdID0gW107XG4gICAgICAgIGZvcihjb25zdCB2YWx1ZSBpbiBPYmplY3QudmFsdWVzKFNldmVyaXR5KSkge1xuICAgICAgICAgICAgaWYoaXNOYU4oT2JqZWN0LnZhbHVlcyhTZXZlcml0eSlbdmFsdWVdIGFzIGFueSkgJiYgdHlwZW9mKE9iamVjdC52YWx1ZXMoU2V2ZXJpdHkpW3ZhbHVlXSkgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICByZXMucHVzaChPYmplY3QudmFsdWVzKFNldmVyaXR5KVt2YWx1ZV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxufVxuXG5leHBvcnQgZW51bSBNZXNzYWdlVHlwZSB7XG4gICAgVU5LTk9XTiA9IDAsXG4gICAgRVJST1IgPSAxLFxuICAgIE5PVElGSUNBVElPTiA9IDIsXG4gICAgRVhDRVBUSU9OID0gMyxcbn1cbmV4cG9ydCBuYW1lc3BhY2UgTWVzc2FnZVR5cGUge1xuICAgIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZU9mKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE1lc3NhZ2VUeXBlW3N0ciBhcyBrZXlvZiB0eXBlb2YgTWVzc2FnZVR5cGVdIGFzIG51bWJlcjtcbiAgICB9XG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlcygpIHtcbiAgICAgICAgbGV0IHJlczogYW55W10gPSBbXTtcbiAgICAgICAgZm9yKGNvbnN0IHZhbHVlIGluIE9iamVjdC52YWx1ZXMoTWVzc2FnZVR5cGUpKSB7XG4gICAgICAgICAgICBpZihpc05hTihPYmplY3QudmFsdWVzKE1lc3NhZ2VUeXBlKVt2YWx1ZV0gYXMgYW55KSAmJiB0eXBlb2YoT2JqZWN0LnZhbHVlcyhNZXNzYWdlVHlwZSlbdmFsdWVdKSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHJlcy5wdXNoKE9iamVjdC52YWx1ZXMoTWVzc2FnZVR5cGUpW3ZhbHVlXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG59XG5cbmV4cG9ydCBlbnVtIEF0dGFjaG1lbnRUeXBlIHtcbiAgVU5LTk9XTiA9IDAsXG4gIERBVEFGSUxFID0gMSxcbiAgVEVYVEZJTEUgPSAyLFxuICBJTUFHRUZJTEUgPSAzLFxuICBBVURJT0ZJTEUgPSA0LFxuICBWSURFT0ZJTEUgPSA1LFxuICBQREZGSUxFID0gNixcbn1cbmV4cG9ydCBuYW1lc3BhY2UgQXR0YWNobWVudFR5cGUge1xuICBleHBvcnQgZnVuY3Rpb24gdmFsdWVPZihzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIEF0dGFjaG1lbnRUeXBlW3N0ciBhcyBrZXlvZiB0eXBlb2YgQXR0YWNobWVudFR5cGVdIGFzIG51bWJlcjtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgIGxldCByZXM6IGFueVtdID0gW107XG4gICAgZm9yIChjb25zdCB2YWx1ZSBpbiBPYmplY3QudmFsdWVzKEF0dGFjaG1lbnRUeXBlKSkge1xuICAgICAgaWYgKFxuICAgICAgICBpc05hTihPYmplY3QudmFsdWVzKEF0dGFjaG1lbnRUeXBlKVt2YWx1ZV0gYXMgYW55KSAmJlxuICAgICAgICB0eXBlb2YgT2JqZWN0LnZhbHVlcyhBdHRhY2htZW50VHlwZSlbdmFsdWVdICE9PSAnZnVuY3Rpb24nXG4gICAgICApIHtcbiAgICAgICAgcmVzLnB1c2goT2JqZWN0LnZhbHVlcyhBdHRhY2htZW50VHlwZSlbdmFsdWVdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbiAgfVxufVxuXG5leHBvcnQgZW51bSBTdGF0dXMge1xuICAgIFNVQ0NFU1MgPSAwLFxuICAgIEVSUk9SID0gMSxcbiAgICBJTkFDVElWRSA9IDIsXG4gICAgREVMRVRFRCA9IDMsXG4gICAgTE9DS0VEID0gNCxcbiAgICBVTkxPQ0tFRCA9IDUsXG4gICAgUEVORElORyA9IDYsXG4gICAgQUJPUlRFRCA9IDcsXG4gICAgVElNRU9VVCA9IDgsXG4gICAgQ09OTkVDVEVEID0gOSxcbiAgICBVTktOT1dOID0gOTlcbn1cbmV4cG9ydCBuYW1lc3BhY2UgU3RhdHVzIHtcbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVPZihzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBTdGF0dXNbc3RyIGFzIGtleW9mIHR5cGVvZiBTdGF0dXNdIGFzIG51bWJlcjtcbiAgICB9XG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlcygpIHtcbiAgICAgICAgbGV0IHJlczogYW55W10gPSBbXTtcbiAgICAgICAgZm9yKGNvbnN0IHZhbHVlIGluIE9iamVjdC52YWx1ZXMoU3RhdHVzKSkge1xuICAgICAgICAgICAgaWYoaXNOYU4oT2JqZWN0LnZhbHVlcyhTdGF0dXMpW3ZhbHVlXSBhcyBhbnkpICYmIHR5cGVvZihPYmplY3QudmFsdWVzKFN0YXR1cylbdmFsdWVdKSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgcmVzLnB1c2goT2JqZWN0LnZhbHVlcyhTdGF0dXMpW3ZhbHVlXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG59XG5cbmV4cG9ydCBlbnVtIFRpY2tldFN0YXR1cyB7XG4gIE9QRU4gPSAxLFxuICBDTE9TRSA9IDIsXG4gIElOV09SSyA9IDMsXG59XG5leHBvcnQgbmFtZXNwYWNlIFRpY2tldFN0YXR1cyB7XG4gIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZU9mKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gVGlja2V0U3RhdHVzW3N0ciBhcyBrZXlvZiB0eXBlb2YgVGlja2V0U3RhdHVzXSBhcyBudW1iZXI7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlcygpIHtcbiAgICBsZXQgcmVzOiBhbnlbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgdmFsdWUgaW4gT2JqZWN0LnZhbHVlcyhUaWNrZXRTdGF0dXMpKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGlzTmFOKE9iamVjdC52YWx1ZXMoVGlja2V0U3RhdHVzKVt2YWx1ZV0gYXMgYW55KSAmJlxuICAgICAgICB0eXBlb2YgT2JqZWN0LnZhbHVlcyhUaWNrZXRTdGF0dXMpW3ZhbHVlXSAhPT0gJ2Z1bmN0aW9uJ1xuICAgICAgKSB7XG4gICAgICAgIHJlcy5wdXNoKE9iamVjdC52YWx1ZXMoVGlja2V0U3RhdHVzKVt2YWx1ZV0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzO1xuICB9XG59XG5cbmV4cG9ydCBlbnVtIFRpY2tldFNlbmRlclR5cGUge1xuICAgIFVOS05PV04gPSAwLFxuICAgIFVTRVIgPSAxLFxuICAgIEFETUlOID0gMixcbn1cbmV4cG9ydCBuYW1lc3BhY2UgVGlja2V0U2VuZGVyVHlwZSB7XG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlT2Yoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gVGlja2V0U2VuZGVyVHlwZVtzdHIgYXMga2V5b2YgdHlwZW9mIFRpY2tldFNlbmRlclR5cGVdIGFzIG51bWJlcjtcbiAgICB9XG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlcygpIHtcbiAgICAgICAgbGV0IHJlczogYW55W10gPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBpbiBPYmplY3QudmFsdWVzKFRpY2tldFNlbmRlclR5cGUpKSB7XG4gICAgICAgICAgICBpZiAoaXNOYU4oT2JqZWN0LnZhbHVlcyhUaWNrZXRTZW5kZXJUeXBlKVt2YWx1ZV0gYXMgYW55KSAmJiB0eXBlb2YgT2JqZWN0LnZhbHVlcyhUaWNrZXRTZW5kZXJUeXBlKVt2YWx1ZV0gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICByZXMucHVzaChPYmplY3QudmFsdWVzKFRpY2tldFNlbmRlclR5cGUpW3ZhbHVlXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG59XG5cbmV4cG9ydCBlbnVtIEltcG9ydFR5cGUge1xuICAgIFVOS05PV04gPSAwLFxuICAgIFRFUk1JTkFMID0gMSxcbiAgICBFU0wgPSAyLFxuICAgIEVTTFBPT0wgPSAzLFxufVxuZXhwb3J0IG5hbWVzcGFjZSBJbXBvcnRUeXBlIHtcbiAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlT2Yoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiBJbXBvcnRUeXBlW3N0ciBhcyBrZXlvZiB0eXBlb2YgSW1wb3J0VHlwZV0gYXMgbnVtYmVyO1xuICB9XG4gIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZXMoKSB7XG4gICAgbGV0IHJlczogYW55W10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHZhbHVlIGluIE9iamVjdC52YWx1ZXMoSW1wb3J0VHlwZSkpIHtcbiAgICAgIGlmIChcbiAgICAgICAgaXNOYU4oT2JqZWN0LnZhbHVlcyhJbXBvcnRUeXBlKVt2YWx1ZV0gYXMgYW55KSAmJlxuICAgICAgICB0eXBlb2YgT2JqZWN0LnZhbHVlcyhJbXBvcnRUeXBlKVt2YWx1ZV0gIT09ICdmdW5jdGlvbidcbiAgICAgICkge1xuICAgICAgICByZXMucHVzaChPYmplY3QudmFsdWVzKEltcG9ydFR5cGUpW3ZhbHVlXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXM7XG4gIH1cbn1cblxuZXhwb3J0IGVudW0gRmlsZVR5cGUge1xuICAgIFVOS05PV04gPSAwLFxuICAgIENTViA9IDEsXG4gICAgWExTWCA9IDIsXG4gICAgWE1MID0gMyxcbiAgICBKU09OID0gNCxcbiAgICBQREYgPSA1LFxuICAgIFRYVCA9IDYsXG4gICAgWklQID0gN1xufVxuZXhwb3J0IG5hbWVzcGFjZSBGaWxlVHlwZSB7XG4gIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZU9mKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gRmlsZVR5cGVbc3RyIGFzIGtleW9mIHR5cGVvZiBGaWxlVHlwZV0gYXMgbnVtYmVyO1xuICB9XG4gIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZXMoKSB7XG4gICAgbGV0IHJlczogYW55W10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHZhbHVlIGluIE9iamVjdC52YWx1ZXMoRmlsZVR5cGUpKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGlzTmFOKE9iamVjdC52YWx1ZXMoRmlsZVR5cGUpW3ZhbHVlXSBhcyBhbnkpICYmXG4gICAgICAgIHR5cGVvZiBPYmplY3QudmFsdWVzKEZpbGVUeXBlKVt2YWx1ZV0gIT09ICdmdW5jdGlvbidcbiAgICAgICkge1xuICAgICAgICByZXMucHVzaChPYmplY3QudmFsdWVzKEZpbGVUeXBlKVt2YWx1ZV0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzO1xuICB9XG59XG5cbmV4cG9ydCBlbnVtIFByZU9yZGVyVHlwZSB7XG4gICAgVU5LTk9XTiA9IDAsXG4gICAgSVRFTSA9IDEsXG4gICAgU0VSVklDRSA9IDIsXG59XG5leHBvcnQgbmFtZXNwYWNlIFByZU9yZGVyVHlwZSB7XG4gIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZU9mKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gUHJlT3JkZXJUeXBlW3N0ciBhcyBrZXlvZiB0eXBlb2YgUHJlT3JkZXJUeXBlXSBhcyBudW1iZXI7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlcygpIHtcbiAgICBsZXQgcmVzOiBhbnlbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgdmFsdWUgaW4gT2JqZWN0LnZhbHVlcyhQcmVPcmRlclR5cGUpKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGlzTmFOKE9iamVjdC52YWx1ZXMoUHJlT3JkZXJUeXBlKVt2YWx1ZV0gYXMgYW55KSAmJlxuICAgICAgICB0eXBlb2YgT2JqZWN0LnZhbHVlcyhQcmVPcmRlclR5cGUpW3ZhbHVlXSAhPT0gJ2Z1bmN0aW9uJ1xuICAgICAgKSB7XG4gICAgICAgIHJlcy5wdXNoKE9iamVjdC52YWx1ZXMoUHJlT3JkZXJUeXBlKVt2YWx1ZV0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzO1xuICB9XG59XG5cbmV4cG9ydCBlbnVtIFRhc2tUeXBlIHtcbiAgICBVTktOT1dOID0gMCxcbiAgICBFTkRPRkRBWSA9IDEsXG4gICAgUkVTVEFSVCA9IDIsXG59XG5leHBvcnQgbmFtZXNwYWNlIFRhc2tUeXBlIHtcbiAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlT2Yoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiBUYXNrVHlwZVtzdHIgYXMga2V5b2YgdHlwZW9mIFRhc2tUeXBlXSBhcyBudW1iZXI7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlcygpIHtcbiAgICBsZXQgcmVzOiBhbnlbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgdmFsdWUgaW4gT2JqZWN0LnZhbHVlcyhUYXNrVHlwZSkpIHtcbiAgICAgIGlmIChcbiAgICAgICAgaXNOYU4oT2JqZWN0LnZhbHVlcyhUYXNrVHlwZSlbdmFsdWVdIGFzIGFueSkgJiZcbiAgICAgICAgdHlwZW9mIE9iamVjdC52YWx1ZXMoVGFza1R5cGUpW3ZhbHVlXSAhPT0gJ2Z1bmN0aW9uJ1xuICAgICAgKSB7XG4gICAgICAgIHJlcy5wdXNoKE9iamVjdC52YWx1ZXMoVGFza1R5cGUpW3ZhbHVlXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXM7XG4gIH1cbn1cblxuZXhwb3J0IGVudW0gQ291cG9uVHlwZSB7XG4gICAgVU5LTk9XTiA9IDAsXG4gICAgQ09VUE9OID0gMSxcbiAgICBWT1VDSEVSID0gMixcbiAgICBHSUZUID0gMyxcbiAgICBHSUZUX0NBUkQgPSA0LFxuICAgIEdJRlRfVk9VQ0hFUiA9IDUsXG4gICAgRElTQ09VTlQgPSA2LFxufVxuZXhwb3J0IG5hbWVzcGFjZSBDb3Vwb25UeXBlIHtcbiAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlT2Yoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiBDb3Vwb25UeXBlW3N0ciBhcyBrZXlvZiB0eXBlb2YgQ291cG9uVHlwZV0gYXMgbnVtYmVyO1xuICB9XG4gIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZXMoKSB7XG4gICAgbGV0IHJlczogYW55W10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHZhbHVlIGluIE9iamVjdC52YWx1ZXMoQ291cG9uVHlwZSkpIHtcbiAgICAgIGlmIChcbiAgICAgICAgaXNOYU4oT2JqZWN0LnZhbHVlcyhDb3Vwb25UeXBlKVt2YWx1ZV0gYXMgYW55KSAmJlxuICAgICAgICB0eXBlb2YgT2JqZWN0LnZhbHVlcyhDb3Vwb25UeXBlKVt2YWx1ZV0gIT09ICdmdW5jdGlvbidcbiAgICAgICkge1xuICAgICAgICByZXMucHVzaChPYmplY3QudmFsdWVzKENvdXBvblR5cGUpW3ZhbHVlXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXM7XG4gIH1cbn1cblxuZXhwb3J0IGVudW0gUGF5bWVudFN0YXR1cyB7XG4gIFNUQVRVU19VTktOT1dOID0gMCxcbiAgU1RBVFVTX01FU1NBR0UgPSAxLFxuICBTVEFUVVNfREFUQSA9IDIsXG59XG5leHBvcnQgbmFtZXNwYWNlIFBheW1lbnRTdGF0dXMge1xuICBleHBvcnQgZnVuY3Rpb24gdmFsdWVPZihzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIFBheW1lbnRTdGF0dXNbc3RyIGFzIGtleW9mIHR5cGVvZiBQYXltZW50U3RhdHVzXSBhcyBudW1iZXI7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlcygpIHtcbiAgICBsZXQgcmVzOiBhbnlbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgdmFsdWUgaW4gT2JqZWN0LnZhbHVlcyhQYXltZW50U3RhdHVzKSkge1xuICAgICAgaWYgKFxuICAgICAgICBpc05hTihPYmplY3QudmFsdWVzKFBheW1lbnRTdGF0dXMpW3ZhbHVlXSBhcyBhbnkpICYmXG4gICAgICAgIHR5cGVvZiBPYmplY3QudmFsdWVzKFBheW1lbnRTdGF0dXMpW3ZhbHVlXSAhPT0gJ2Z1bmN0aW9uJ1xuICAgICAgKSB7XG4gICAgICAgIHJlcy5wdXNoKE9iamVjdC52YWx1ZXMoUGF5bWVudFN0YXR1cylbdmFsdWVdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbiAgfVxufVxuXG5leHBvcnQgZW51bSBQYXltZW50Q29tbWFuZCB7XG4gIENPTU1BTkRfVU5LTk9XTiA9IDAsXG4gIENPTU1BTkRfUEFZID0gMSxcbiAgQ09NTUFORF9VUERBVEVfQ0FSVCA9IDIsXG4gIENPTU1BTkRfUFJFUEFSRV9QQVlNRU5UID0gMyxcbiAgQ09NTUFORF9SRVBPUlQgPSA0LFxuICBDT01NQU5EX1JFUFJJTlQgPSA1LFxuICBDT01NQU5EX1NUQVRVUyA9IDYsXG59XG5leHBvcnQgbmFtZXNwYWNlIFBheW1lbnRDb21tYW5kIHtcbiAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlT2Yoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiBQYXltZW50Q29tbWFuZFtzdHIgYXMga2V5b2YgdHlwZW9mIFBheW1lbnRDb21tYW5kXSBhcyBudW1iZXI7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlcygpIHtcbiAgICBsZXQgcmVzOiBhbnlbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgdmFsdWUgaW4gT2JqZWN0LnZhbHVlcyhQYXltZW50Q29tbWFuZCkpIHtcbiAgICAgIGlmIChcbiAgICAgICAgaXNOYU4oT2JqZWN0LnZhbHVlcyhQYXltZW50Q29tbWFuZClbdmFsdWVdIGFzIGFueSkgJiZcbiAgICAgICAgdHlwZW9mIE9iamVjdC52YWx1ZXMoUGF5bWVudENvbW1hbmQpW3ZhbHVlXSAhPT0gJ2Z1bmN0aW9uJ1xuICAgICAgKSB7XG4gICAgICAgIHJlcy5wdXNoKE9iamVjdC52YWx1ZXMoUGF5bWVudENvbW1hbmQpW3ZhbHVlXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXM7XG4gIH1cbn1cblxuZXhwb3J0IGVudW0gUGF5bWVudEV2ZW50VHlwZSB7XG4gICBFVkVOVF9VTktOT1dOID0gMCxcbiAgIEVWRU5UX1BBWU1FTlQgPSAxLFxuICAgRVZFTlRfRU5ET0ZEQVkgPSAyLFxuICAgRVZFTlRfU1RBVFVTID0gMyxcbiAgIEVWRU5UX0hFQVJUQkVBVCA9IDEwLFxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFBheW1lbnRFdmVudFR5cGUge1xuICBleHBvcnQgZnVuY3Rpb24gdmFsdWVPZihzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIFBheW1lbnRFdmVudFR5cGVbc3RyIGFzIGtleW9mIHR5cGVvZiBQYXltZW50RXZlbnRUeXBlXSBhcyBudW1iZXI7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlcygpIHtcbiAgICBsZXQgcmVzOiBhbnlbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgdmFsdWUgaW4gT2JqZWN0LnZhbHVlcyhQYXltZW50RXZlbnRUeXBlKSkge1xuICAgICAgaWYgKFxuICAgICAgICBpc05hTihPYmplY3QudmFsdWVzKFBheW1lbnRFdmVudFR5cGUpW3ZhbHVlXSBhcyBhbnkpICYmXG4gICAgICAgIHR5cGVvZiBPYmplY3QudmFsdWVzKFBheW1lbnRFdmVudFR5cGUpW3ZhbHVlXSAhPT0gJ2Z1bmN0aW9uJ1xuICAgICAgKSB7XG4gICAgICAgIHJlcy5wdXNoKE9iamVjdC52YWx1ZXMoUGF5bWVudEV2ZW50VHlwZSlbdmFsdWVdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbiAgfVxufVxuXG5leHBvcnQgZW51bSBQb3NFdmVudFR5cGUge1xuICBVTktOT1dOID0gMCxcbiAgQ0hFQ0tPVVQgPSAxLFxuICBQQVlNRU5UID0gMixcbn1cbmV4cG9ydCBuYW1lc3BhY2UgUG9zRXZlbnRUeXBlIHtcbiAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlT2Yoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiBQb3NFdmVudFR5cGVbc3RyIGFzIGtleW9mIHR5cGVvZiBQb3NFdmVudFR5cGVdIGFzIG51bWJlcjtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgIGxldCByZXM6IGFueVtdID0gW107XG4gICAgZm9yIChjb25zdCB2YWx1ZSBpbiBPYmplY3QudmFsdWVzKFBvc0V2ZW50VHlwZSkpIHtcbiAgICAgIGlmIChcbiAgICAgICAgaXNOYU4oT2JqZWN0LnZhbHVlcyhQb3NFdmVudFR5cGUpW3ZhbHVlXSBhcyBhbnkpICYmXG4gICAgICAgIHR5cGVvZiBPYmplY3QudmFsdWVzKFBvc0V2ZW50VHlwZSlbdmFsdWVdICE9PSAnZnVuY3Rpb24nXG4gICAgICApIHtcbiAgICAgICAgcmVzLnB1c2goT2JqZWN0LnZhbHVlcyhQb3NFdmVudFR5cGUpW3ZhbHVlXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXM7XG4gIH1cbn1cblxuZXhwb3J0IGVudW0gTmV0d29ya0RldmljZVR5cGUge1xuICBVTktOT1dOID0gMCxcbiAgU0hFTEZMQUJFTCA9IDEsXG4gIEFDQ0VTU1BPSU5UID0gMixcbiAgRVNMX0FDQ0VTU1BPSU5UID0gMyxcbiAgV0lGSV9BQ0NFU1NQT0lOVCA9IDQsXG59XG5leHBvcnQgbmFtZXNwYWNlIE5ldHdvcmtEZXZpY2VUeXBlIHtcbiAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlT2Yoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiBOZXR3b3JrRGV2aWNlVHlwZVtzdHIgYXMga2V5b2YgdHlwZW9mIE5ldHdvcmtEZXZpY2VUeXBlXSBhcyBudW1iZXI7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlcygpIHtcbiAgICBsZXQgcmVzOiBhbnlbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgdmFsdWUgaW4gT2JqZWN0LnZhbHVlcyhOZXR3b3JrRGV2aWNlVHlwZSkpIHtcbiAgICAgIGlmIChcbiAgICAgICAgaXNOYU4oT2JqZWN0LnZhbHVlcyhOZXR3b3JrRGV2aWNlVHlwZSlbdmFsdWVdIGFzIGFueSkgJiZcbiAgICAgICAgdHlwZW9mIE9iamVjdC52YWx1ZXMoTmV0d29ya0RldmljZVR5cGUpW3ZhbHVlXSAhPT0gJ2Z1bmN0aW9uJ1xuICAgICAgKSB7XG4gICAgICAgIHJlcy5wdXNoKE9iamVjdC52YWx1ZXMoTmV0d29ya0RldmljZVR5cGUpW3ZhbHVlXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXM7XG4gIH1cbn1cbiJdfQ==
806
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXB0dXJlaWQtZGF0YXR5cGVzL3NyYy9saWIvZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFOLElBQVksUUFnSFg7QUFoSEQsV0FBWSxRQUFRO0lBQ2xCLDZDQUFXLENBQUE7SUFDWCxtREFBYyxDQUFBO0lBQ2QsMkNBQVUsQ0FBQTtJQUNWLHlDQUFTLENBQUE7SUFDVCw2Q0FBVyxDQUFBO0lBQ1gsK0NBQVksQ0FBQTtJQUNaLDZDQUFXLENBQUE7SUFDWCw2Q0FBVyxDQUFBO0lBQ1gseUNBQVMsQ0FBQTtJQUNULHlDQUFTLENBQUE7SUFDVCxvREFBZSxDQUFBO0lBQ2Ysa0VBQXNCLENBQUE7SUFDdEIsd0NBQVMsQ0FBQTtJQUNULDREQUFtQixDQUFBO0lBQ25CLHdEQUFpQixDQUFBO0lBQ2pCLDRDQUFXLENBQUE7SUFDWCxnRUFBcUIsQ0FBQTtJQUNyQixzRUFBd0IsQ0FBQTtJQUN4Qix3Q0FBUyxDQUFBO0lBQ1QsOENBQVksQ0FBQTtJQUNaLGdEQUFhLENBQUE7SUFDYixzREFBZ0IsQ0FBQTtJQUNoQixvREFBZSxDQUFBO0lBQ2YsNENBQVcsQ0FBQTtJQUNYLDhEQUFvQixDQUFBO0lBQ3BCLDhDQUFZLENBQUE7SUFDWixrRUFBc0IsQ0FBQTtJQUN0QixzREFBZ0IsQ0FBQTtJQUNoQiw0Q0FBVyxDQUFBO0lBQ1gsOENBQVksQ0FBQTtJQUNaLDBDQUFVLENBQUE7SUFDVix3REFBaUIsQ0FBQTtJQUNqQiw0Q0FBVyxDQUFBO0lBQ1gsa0RBQWMsQ0FBQTtJQUNkLGdEQUFhLENBQUE7SUFDYiw0REFBbUIsQ0FBQTtJQUNuQiwwQ0FBVSxDQUFBO0lBQ1Ysa0RBQWMsQ0FBQTtJQUNkLDhDQUFZLENBQUE7SUFDWixnREFBYSxDQUFBO0lBQ2IsOENBQVksQ0FBQTtJQUNaLHdEQUFpQixDQUFBO0lBQ2pCLGtEQUFjLENBQUE7SUFD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QUMsRUFOVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBTTVCO0FBQ0QsV0FBaUIsaUJBQWlCO0lBQ2hDLFNBQWdCLE9BQU8sQ0FBQyxHQUFXO1FBQ2pDLE9BQU8saUJBQWlCLENBQUMsR0FBcUMsQ0FBVyxDQUFDO0lBQzVFLENBQUM7SUFGZSx5QkFBTyxVQUV0QixDQUFBO0lBQ0QsU0FBZ0IsTUFBTTtRQUNwQixJQUFJLEdBQUcsR0FBVSxFQUFFLENBQUM7UUFDcEIsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztZQUNyRCxJQUNFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSyxDQUFRLENBQUM7Z0JBQ3JELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLFVBQVUsRUFDN0QsQ0FBQztnQkFDRCxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3BELENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBWGUsd0JBQU0sU0FXckIsQ0FBQTtBQUNILENBQUMsRUFoQmdCLGlCQUFpQixLQUFqQixpQkFBaUIsUUFnQmpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2FwdHVyZWlkRGF0YXR5cGVzQ29tcG9uZW50IH0gZnJvbSAnLi9jYXB0dXJlaWQtZGF0YXR5cGVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWQVQgfSBmcm9tICcuL21vZGVsL2NvbW1vbi90YXhlcyc7XG5leHBvcnQgZW51bSBEYXRhVHlwZSB7XG4gIFVOS05PV04gPSAwLFxuICBOQVZJR0FUSU9OID0gMSxcbiAgU1lTVEVNID0gMixcbiAgTEFCRUwgPSAzLFxuICBORVRXT1JLID0gNCxcbiAgRElTQ09WRVIgPSA1LFxuICBQUklOVEVSID0gNixcbiAgUFJPRklMRSA9IDcsXG4gIENIQVJUID0gOCxcbiAgUVVFVUUgPSA5LFxuICBMQUJFTFBSSU5UID0gMTAsXG4gIFBST0ZJTEUyQ09OVEFJTkVSID0gMTEsXG4gIFVTRVIgPSAxMixcbiAgQVVUSEVOVElDQVRJT04gPSAxMyxcbiAgVVNFUkVYVEVOREVEID0gMTQsXG4gIE1PRFVMRSA9IDE1LFxuICBQUk9EVUNUX0NBVEVHT1JZID0gMTYsXG4gIFBST0RVQ1RfU1VCQ0FURUdPUlkgPSAxNyxcbiAgSVRFTSA9IDE4LFxuICBBRERSRVNTID0gMTksXG4gIExPQ0FUSU9OID0gMjAsXG4gIEFDQ0VTU1BPSU5UID0gMjEsXG4gIFNIRUxGTEFCRUwgPSAyMixcbiAgVkVORE9SID0gMjMsXG4gIFBBWU1FTlRURVJNSU5BTCA9IDI0LFxuICBFU0xQT09MID0gMjUsXG4gIFZFUklGSUNBVElPTlRPS0VOID0gMjYsXG4gIFVTRVJQUk9GSUxFID0gMjcsXG4gIENMSUVOVCA9IDI4LFxuICBMSUNFTlNFID0gMjksXG4gIElNQUdFID0gMzAsXG4gIE1BTlVGQUNUVVJFUiA9IDMxLFxuICBSQVRJTkcgPSAzMixcbiAgUEFDS0FHSU5HID0gMzMsXG4gIENVUlJFTkNZID0gMzQsXG4gIElURU1QUk9QRVJUSUVTID0gMzUsXG4gIFNUT0NLID0gMzYsXG4gIElOVkVOVE9SWSA9IDM3LFxuICBDT1VOVFJZID0gMzgsXG4gIEJVSUxESU5HID0gMzksXG4gIENPTVBBTlkgPSA0MCxcbiAgSVRFTVBST1BFUlRZID0gNDEsXG4gIERJTUVOU0lPTiA9IDQyLFxuICBTSEVMRiA9IDQzLFxuICBQVVJDSEFTRVBSSUNFID0gNDQsXG4gIFNFTExJTkdQUklDRSA9IDQ1LFxuICBGTE9PUiA9IDQ2LFxuICBST09NID0gNDcsXG4gIExFVkVMID0gNDgsXG4gIFNQQUNFID0gNDksXG4gIEJPT0tJTkcgPSA1MCxcbiAgR1BJTyA9IDUxLFxuICBJVEVNREVUQUlMID0gNTIsXG4gIEVTTEFTU09DSUFUSU9OID0gNTMsXG4gIEVTTFVQREFURSA9IDU0LFxuICBNRVNTQUdFID0gNTUsXG4gIEVTTFRFTVBMQVRFID0gNTYsXG4gIElURU1TSE9SVCA9IDU3LFxuICBDQVJUID0gNTgsXG4gIFBBWU1FTlQgPSA1OSxcbiAgTE9HRU5UUlkgPSA2MCxcbiAgU1RBVElTVElDID0gNjEsXG4gIFJPTEUgPSA2MixcbiAgVVNFUkFDQ0VTUyA9IDYzLFxuICBSRVNPVVJDRSA9IDY0LFxuICBNRU5VID0gNjUsXG4gIENPVVBPTiA9IDY2LFxuICBCT04gPSA2NyxcbiAgRU5ET0ZEQVlCT04gPSA2OCxcbiAgUFJPUEVSVFlOQU1FUyA9IDY5LFxuICBDQVRFR09SWU5BTUVTID0gNzAsXG4gIElURU1HUk9VUCA9IDcxLFxuICBWQVQgPSA3MixcbiAgSU1QT1JUID0gNzMsXG4gIFNVUFBMSUVSID0gNzQsXG4gIEZBUSA9IDc1LFxuICBDSEFUID0gNzYsXG4gIEZBUk1JTkdNRVRIT0QgPSA3NyxcbiAgVElDS0VUID0gNzgsXG4gIFRJQ0tFVE1FU1NBR0UgPSA3OSxcbiAgV0VCVEVNUExBVEUgPSA4MCxcbiAgRU1BSUxURU1QTEFURSA9IDgxLFxuICBKT1VSTkFMID0gODIsXG4gIEZJTEVJTVBPUlQgPSA4MyxcbiAgQlVJTERJTkdBQ0NFU1MgPSA4NCxcbiAgVE9QSUMgPSA4NSxcbiAgU1VCU0NSSVBUSU9OID0gODYsXG4gIE5PVElGSUNBVElPTiA9IDg3LFxuICBDQU1QQUlHTiA9IDg4LFxuICBBRFZFUlRJU0VNRU5UID0gODksXG4gIFJFQUxUSU1FU1VCU0NSSVBUSU9OID0gOTAsXG4gIFNUT1JFID0gOTEsXG4gIENBTEVOREFSID0gOTIsXG4gIFRFTkFOVCA9IDkzLFxuICBQQVlNRU5UVEVSTUlOQUxTSE9SVCA9IDk0LFxuICBTVE9SRUlORk9STUFUSU9OID0gOTUsXG4gIFBPU1RFUk1JTkFMID0gOTYsXG4gIE1BTkFHRU1FTlQgPSA5NyxcbiAgQUREUkVTU1RZUEUgPSA5OCxcbiAgQUREUkVTU1RPQ09NUEFOWSA9IDk5LFxuICBQUkVPUkRFUiA9IDEwMCxcbiAgUFJFT1JERVJUT0NVU1RPTUVSID0gMTAxLFxuICBTRUNVUklUWVBST0ZJTEUgPSAxMDIsXG4gIEFEVkVSVElTRU1FTlRfSU1BR0VfVFlQRSA9IDEwMyxcbiAgSU1BR0VUT0FEVkVSVElTRU1FTlQgPSAxMDQsXG4gIEFERFJFU1NUT01BTlVGQUNUVVJFUiA9IDEwNSxcbiAgS0VZUyA9IDEwNixcbiAgQ0FUQUxPRyA9IDEwNyxcbiAgRU5URVJQUklTRV9TVFJVQ1RVUkUgPSAxMDgsXG4gIEJVSUxESU5HU19TVFJVQ1RVUkUgPSAxMDksXG4gIExPQ0FUSU9OU19TVFJVQ1RVUkUgPSAxMTBcbn1cblxuZXhwb3J0IGVudW0gQm9va2luZ1R5cGUge1xuICBVTktOT1dOID0gMCxcbiAgSU5DT01JTkcgPSAxLCAvL1dhcmVuZWluZ2FuZ1xuICBPVVRHT0lORyA9IDIsIC8vV2FyZW5hdXNnYW5nXG5cbiAgU1RPUkVBQ0NFU1MgPSA4LCAvL1p1Z2FuZyB6dW0gVmVya2F1ZiAoVMO8csO2ZmZuZXIpXG4gIFNUT1JFRVhJVCA9IDksIC8vVmVybGFzc2VuIGRlcyBHZXNjaMOkZnRzIChUw7xyw7ZmZm5lcilcblxuICBQUk9NT1RJT04gPSAxMSwgLy9XZXJiZWFrdGlvblxuXG4gIE1BUktET1dOID0gMjEsIC8vUHJlaXNyZWR1emllcnVuZ1xuICBNQVJLVVAgPSAyMiwgLy9QcmVpc2VyaMO2aHVuZ1xuXG4gIFNUT0NLTU9WRSA9IDMxLCAvL0xhZ2VyYmV3ZWd1bmdcbiAgU1RPQ0tBREQgPSAzMiwgLy9MYWdlcnp1Z2FuZ1xuICBTVE9DS1JFTU9WRSA9IDMzLCAvL0xhZ2VyYWJnYW5nXG5cbiAgU0VMTElOR0FERCA9IDQxLCAvL1ZlcmthdWZcbiAgU0VMTElOR1JFTU9WRSA9IDQyLCAvL1N0b3Jub1xuICBTRUxMSU5HVVBEQVRFID0gNDMsIC8vw4RuZGVydW5nXG5cbiAgU1RPUkVUUkFOU0ZFUiA9IDUxLCAvL0xhZ2VydHJhbnNmZXJcbiAgUkVTRVJWQVRJT04gPSA1MiwgLy9SZXNlcnZpZXJ1bmdcbiAgT1JERVIgPSA1MywgLy9CZXN0ZWxsdW5nXG4gIFJFVFVSTiA9IDU0LCAvL1LDvGNrc2VuZHVuZ1xuXG4gIFNUT0NLVEFLRSA9IDYxLCAvL0ludmVudHVyXG4gIFNUT0NLQ09SUkVDVElPTiA9IDYyLCAvL0Jlc3RhbmRza29ycmVrdHVyXG4gIFNUT0NLQURKVVNUTUVOVCA9IDYzLCAvL0Jlc3RhbmRzYW5wYXNzdW5nXG4gIFNUT0NLQ0hFQ0sgPSA2NCwgLy9CZXN0YW5kc3Byw7xmdW5nXG5cbiAgREFNQUdFRCA9IDcxLCAvL0Jlc2Now6RkaWd1bmdcbiAgTE9TVCA9IDcyLCAvL1Zlcmx1c3RcbiAgRVhQSVJFRCA9IDczLCAvL1ZlcmZhbGxcblxuICBERUxJVkVSWSA9IDgxLCAvL0xpZWZlcnVuZ1xuICBQSUNLVVAgPSA4MiwgLy9BYmhvbHVuZ1xuICBTSElQUElORyA9IDgzLCAvL1ZlcnNhbmRcblxuICBTVUJTQ1JJUFRJT04gPSA5MSwgLy9BYm9ubmVtZW50XG4gIElOVk9JQ0UgPSA5MiwgLy9SZWNobnVuZ1xuICBQQVlNRU5UID0gOTMsIC8vWmFobHVuZ1xuICBSRUZVTkQgPSA5NCwgLy9Sw7xja2Vyc3RhdHR1bmdcblxuICBET05BVElPTiA9IDEwMSwgLy9TcGVuZGVcblxuICBHSUZUID0gMTExLCAvL0dlc2NoZW5rXG4gIEdJRlRDQVJEID0gMTEyLCAvL0dlc2NoZW5ra2FydGVcbiAgR0lGVFZPVUNIRVIgPSAxMTMsIC8vR3V0c2NoZWluXG5cbiAgU0NBTiA9IDEyMSxcbiAgQ0FSVEFERCA9IDEyMiwgLy9XYXJlbmtvcmJ6dXNjaGxhZ1xuICBDQVJUUkVNT1ZFID0gMTIzLCAvL1dhcmVua29yYmFienVnXG4gIENBUlRVUERBVEUgPSAxMjQsIC8vV2FyZW5rb3JiYW5wYXNzdW5nXG4gIENBUlRGSU5BTElaRSA9IDEyNSwgLy9XYXJlbmtvcmJhYnNjaGx1c3NcbiAgQ0FSVENBTkNFTCA9IDEyNiwgLy9XYXJlbmtvcmJzdG9ybmllcnVuZ1xufVxuXG5leHBvcnQgZW51bSBDYWxlbmRhclR5cGUge1xuICBDQUxFTkRBUl9VTktOT1dOID0gMCxcbiAgQ0FMRU5EQVJfQ0FNUEFJR04gPSAxLFxufVxuXG5leHBvcnQgZW51bSBPcGVyYXRvcnMge1xuICAgIFVOS05PV04gPSAwLFxuICAgIEFORCA9IDEsXG4gICAgT1IgPSAyLFxufVxuXG5leHBvcnQgZW51bSBJbWFnZVR5cGUge1xuICAgIFVOS05PV04gPSAwLFxuICAgIEFWQVRBUiA9IDEsXG4gICAgSVRFTSA9IDIsXG4gICAgQURWRVJUSVNFTUVOVCA9IDMsXG4gICAgQlVJTERJTkcgPSA0LFxuICAgIENVU1RPTSA9IDUsXG59XG5cbmV4cG9ydCBlbnVtIERhdGFiYXNlRXZlbnRUeXBlIHtcbiAgICBFVkVOVF9VTktOT1dOID0gMCxcbiAgICBFVkVOVF9BRERFRCA9IDEsXG4gICAgRVZFTlRfVVBEQVRFRCA9IDIsXG4gICAgRVZFTlRfREVMRVRFRCA9IDNcbn1cblxuZXhwb3J0IGVudW0gRU1haWxUZW1wbGF0ZVR5cGUge1xuICAgIFdFTENPTUUgPSAwLFxuICAgIFJFR0NPTkZJUk0gPSAxLFxuICAgIFJFU0VUUEFTU1dPUkQgPSAyXG59XG5cbmV4cG9ydCBlbnVtIFdlYlRlbXBsYXRlVHlwZSB7XG4gICAgSE9NRVBBR0UgPSAwLFxuICAgIFdFTENPTUVQQUdFID0gMSxcbiAgICBDT05GSVJNUEFHRSA9IDJcbn1cblxuZXhwb3J0IGVudW0gUGF5bWVudFN0YXRlIHtcbiAgICBVTktOT1dOID0gMCxcbiAgICBQRU5ESU5HID0gMSxcbiAgICBDT01QTEVURUQgPSAyLFxuICAgIEZBSUxFRCA9IDMsXG4gICAgUkVGVU5ERUQgPSA0LFxuICAgIENBTkNFTExFRCA9IDUsXG4gICAgUEFSVElBTF9SRUZVTkQgPSA2LFxuICAgIFBBUlRJQUxfUEFZTUVOVCA9IDcsXG4gICAgQVVUSE9SSVpFRCA9IDgsXG4gICAgREVDTElORUQgPSA5LFxuICAgIFBST0NFU1NJTkcgPSAxMCxcbn1cblxuZXhwb3J0IGVudW0gUGluU3RhdGUge1xuICAgIFVOS05PV04gPSAwLFxuICAgIExPVyA9IDEsXG4gICAgSElHSCA9IDJcbn1cbmV4cG9ydCBuYW1lc3BhY2UgUGluU3RhdGUge1xuICAgIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZU9mKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFBpblN0YXRlW3N0ciBhcyBrZXlvZiB0eXBlb2YgUGluU3RhdGVdIGFzIG51bWJlcjtcbiAgICB9XG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlcygpIHtcbiAgICAgICAgbGV0IHJlczogYW55W10gPSBbXTtcbiAgICAgICAgZm9yKGNvbnN0IHZhbHVlIGluIE9iamVjdC52YWx1ZXMoUGluU3RhdGUpKSB7XG4gICAgICAgICAgICBpZihpc05hTihPYmplY3QudmFsdWVzKFBpblN0YXRlKVt2YWx1ZV0gYXMgYW55KSAmJiB0eXBlb2YoT2JqZWN0LnZhbHVlcyhQaW5TdGF0ZSlbdmFsdWVdKSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHJlcy5wdXNoKE9iamVjdC52YWx1ZXMoUGluU3RhdGUpW3ZhbHVlXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG59XG5cbmV4cG9ydCBlbnVtIE1vZHVsZVR5cGUge1xuICAgIFVOS05PV04gPSAwLFxuICAgIEFJX01PRFVMRSA9IDEsXG4gICAgUEFZTUVOVF9NT0RVTEUgPSAyLFxuICAgIFJGSURfTU9EVUxFID0gMyxcbiAgICBFU0xfTU9EVUxFID0gNCxcbiAgICBEQjJfTU9EVUxFID0gNSxcbiAgICBNT05HT0RCX01PRFVMRSA9IDYsXG4gICAgUE9TVEdSRVNfTU9EVUxFID0gNyxcbiAgICBBVVRIRU5USUNBVElPTl9NT0RVTEUgPSA4LFxuICAgIEdBVEVXQVlfTU9EVUxFID0gOSxcbiAgICBQUklOVF9NT0RVTEUgPSAxMCxcbiAgICBSRUdJU1RSWV9NT0RVTEUgPSAxMSxcbiAgICBXRUJfTU9EVUxFID0gMTIsXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgTW9kdWxlVHlwZSB7XG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlT2Yoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTW9kdWxlVHlwZVtzdHIgYXMga2V5b2YgdHlwZW9mIE1vZHVsZVR5cGVdIGFzIG51bWJlcjtcbiAgICB9XG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlcygpIHtcbiAgICAgICAgbGV0IHJlczogYW55W10gPSBbXTtcbiAgICAgICAgZm9yKGNvbnN0IHZhbHVlIGluIE9iamVjdC52YWx1ZXMoTW9kdWxlVHlwZSkpIHtcbiAgICAgICAgICAgIGlmKGlzTmFOKE9iamVjdC52YWx1ZXMoTW9kdWxlVHlwZSlbdmFsdWVdIGFzIGFueSkgJiYgdHlwZW9mKE9iamVjdC52YWx1ZXMoTW9kdWxlVHlwZSlbdmFsdWVdKSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHJlcy5wdXNoKE9iamVjdC52YWx1ZXMoTW9kdWxlVHlwZSlbdmFsdWVdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cbn1cblxuZXhwb3J0IGVudW0gUlRTdGF0ZUV2ZW50VHlwZSB7XG4gICAgRVZFTlRfVU5LTk9XTiA9IDAsXG4gICAgRVZFTlRfU1RPUkUgPSAxLFxuICAgIEVWRU5UX1VTRVIgPSAyXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUlRTdGF0ZUV2ZW50VHlwZSB7XG4gIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZU9mKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gUlRTdGF0ZUV2ZW50VHlwZVtzdHIgYXMga2V5b2YgdHlwZW9mIFJUU3RhdGVFdmVudFR5cGVdIGFzIG51bWJlcjtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgIGxldCByZXM6IGFueVtdID0gW107XG4gICAgZm9yIChjb25zdCB2YWx1ZSBpbiBPYmplY3QudmFsdWVzKFJUU3RhdGVFdmVudFR5cGUpKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGlzTmFOKE9iamVjdC52YWx1ZXMoUlRTdGF0ZUV2ZW50VHlwZSlbdmFsdWVdIGFzIGFueSkgJiZcbiAgICAgICAgdHlwZW9mIE9iamVjdC52YWx1ZXMoUlRTdGF0ZUV2ZW50VHlwZSlbdmFsdWVdICE9PSAnZnVuY3Rpb24nXG4gICAgICApIHtcbiAgICAgICAgcmVzLnB1c2goT2JqZWN0LnZhbHVlcyhSVFN0YXRlRXZlbnRUeXBlKVt2YWx1ZV0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzO1xuICB9XG59XG5cbmV4cG9ydCBlbnVtIFJlZ2lzdHJhdGlvblN0YXRlIHtcbiAgICBVTktOT1dOID0gMCxcbiAgICBSRVFVRVNURUQgPSAxLFxuICAgIE9UUENPTVBMRVRFID0gMixcbiAgICBDT05GSVJNRUQgPSAzLFxuICAgIERFVEFJTEVEID0gNCxcbiAgICBBU1NPQ0lBVEVEID0gNSxcbiAgICBDT01QTEVURUQgPSA2XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUmVnaXN0cmF0aW9uU3RhdGUge1xuICAgIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZU9mKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFJlZ2lzdHJhdGlvblN0YXRlW3N0ciBhcyBrZXlvZiB0eXBlb2YgUmVnaXN0cmF0aW9uU3RhdGVdIGFzIG51bWJlcjtcbiAgICB9XG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlcygpIHtcbiAgICAgICAgbGV0IHJlczogYW55W10gPSBbXTtcbiAgICAgICAgZm9yKGNvbnN0IHZhbHVlIGluIE9iamVjdC52YWx1ZXMoUmVnaXN0cmF0aW9uU3RhdGUpKSB7XG4gICAgICAgICAgICBpZihpc05hTihPYmplY3QudmFsdWVzKFJlZ2lzdHJhdGlvblN0YXRlKVt2YWx1ZV0gYXMgYW55KSAmJiB0eXBlb2YoT2JqZWN0LnZhbHVlcyhSZWdpc3RyYXRpb25TdGF0ZSlbdmFsdWVdKSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHJlcy5wdXNoKE9iamVjdC52YWx1ZXMoUmVnaXN0cmF0aW9uU3RhdGUpW3ZhbHVlXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG59XG5cbmV4cG9ydCBlbnVtIFByaW50ZXJMYW5ndWFnZSB7XG4gICAgVU5LTk9XTiA9IDAsXG4gICAgU0JQTCA9IDEsXG4gICAgU1BPUyA9IDIsXG4gICAgU0NQQ0wgPSAzLFxuICAgIFNaUEwgPSA0LFxuICAgIFNEUEwgPSA1LFxuICAgIFNJUEwgPSA2LFxuICAgIFNUUENMID0gNyxcbiAgICBaUEwgPSA4LFxuICAgIENaUEwgPSA5LFxuICAgIEZJTkdFUlBSSU5UID0gMTAsXG4gICAgRFAgPSAxMSxcbiAgICBTTENTID0gMTJcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBQcmludGVyTGFuZ3VhZ2Uge1xuICAgIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZU9mKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFByaW50ZXJMYW5ndWFnZVtzdHIgYXMga2V5b2YgdHlwZW9mIFByaW50ZXJMYW5ndWFnZV0gYXMgbnVtYmVyO1xuICAgIH1cbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgICAgICBsZXQgcmVzOiBhbnlbXSA9IFtdO1xuICAgICAgICBmb3IoY29uc3QgdmFsdWUgaW4gT2JqZWN0LnZhbHVlcyhQcmludGVyTGFuZ3VhZ2UpKSB7XG4gICAgICAgICAgICBpZihpc05hTihPYmplY3QudmFsdWVzKFByaW50ZXJMYW5ndWFnZSlbdmFsdWVdIGFzIGFueSkgJiYgdHlwZW9mKE9iamVjdC52YWx1ZXMoUHJpbnRlckxhbmd1YWdlKVt2YWx1ZV0pICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgcmVzLnB1c2goT2JqZWN0LnZhbHVlcyhQcmludGVyTGFuZ3VhZ2UpW3ZhbHVlXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG59XG5cbmV4cG9ydCBlbnVtIFByaW50ZXJNYW51ZmFjdHVyZXIge1xuICAgIFVOS05PV04gPSAwLFxuICAgIENJVElaRU4gPSAxLFxuICAgIEJJWE9MT04gPSAyLFxuICAgIEJST1RIRVIgPSAzLFxuICAgIEVTQ1BPUyA9IDQsXG4gICAgR09PSlBSVCA9IDUsXG4gICAgSE9ORVlXRUxMID0gNixcbiAgICBTQVRPID0gNyxcbiAgICBaRUJSQSA9IDggICAgXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUHJpbnRlck1hbnVmYWN0dXJlciB7XG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlT2Yoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gUHJpbnRlck1hbnVmYWN0dXJlcltzdHIgYXMga2V5b2YgdHlwZW9mIFByaW50ZXJNYW51ZmFjdHVyZXJdIGFzIG51bWJlcjtcbiAgICB9XG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlcygpIHtcbiAgICAgICAgbGV0IHJlczogYW55W10gPSBbXTtcbiAgICAgICAgZm9yKGNvbnN0IHZhbHVlIGluIE9iamVjdC52YWx1ZXMoUHJpbnRlck1hbnVmYWN0dXJlcikpIHtcbiAgICAgICAgICAgIGlmKGlzTmFOKE9iamVjdC52YWx1ZXMoUHJpbnRlck1hbnVmYWN0dXJlcilbdmFsdWVdIGFzIGFueSkgJiYgdHlwZW9mKE9iamVjdC52YWx1ZXMoUHJpbnRlck1hbnVmYWN0dXJlcilbdmFsdWVdKSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHJlcy5wdXNoKE9iamVjdC52YWx1ZXMoUHJpbnRlck1hbnVmYWN0dXJlcilbdmFsdWVdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cbn1cblxuZXhwb3J0IGVudW0gVW5pdCB7XG4gICAgVU5LTk9XTiA9IDAsXG4gICAgTU0gPSAxLFxuICAgIENNID0gMixcbiAgICBNID0gMyxcbiAgICBJTkNIID0gNCxcbiAgICBGT09UID0gNSxcbiAgICBQSUVDRSA9IDYsXG4gICAgS0cgPSA3LFxuICAgIEdSQU1NID0gOCxcbiAgICBNSUxMSUdSQU1NID0gOSwgXG59XG5leHBvcnQgbmFtZXNwYWNlIFVuaXQge1xuICAgIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZU9mKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFVuaXRbc3RyIGFzIGtleW9mIHR5cGVvZiBVbml0XSBhcyBudW1iZXI7XG4gICAgfVxuICAgIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZXMoKSB7XG4gICAgICAgIGxldCByZXM6IGFueVtdID0gW107XG4gICAgICAgIGZvcihjb25zdCB2YWx1ZSBpbiBPYmplY3QudmFsdWVzKFVuaXQpKSB7XG4gICAgICAgICAgICBpZihpc05hTihPYmplY3QudmFsdWVzKFVuaXQpW3ZhbHVlXSBhcyBhbnkpICYmIHR5cGVvZihPYmplY3QudmFsdWVzKFVuaXQpW3ZhbHVlXSkgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICByZXMucHVzaChPYmplY3QudmFsdWVzKFVuaXQpW3ZhbHVlXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG59XG5cbmV4cG9ydCBlbnVtIFNldmVyaXR5IHtcblx0VU5LTk9XTiA9IDAsXG5cdEVNRVJHRU5DWSA9IDEsXG5cdEFMRVJUID0gMixcblx0Q1JJVElDQUwgPSAzLFxuXHRFUlJPUiA9IDQsXG5cdFdBUk5JTkcgPSA1LFxuXHROT1RJQ0UgPSA2LFxuXHRJTkZPUk1BVElPTiA9IDcsXG5cdERFQlVHID0gOCxcbn1cbmV4cG9ydCBuYW1lc3BhY2UgU2V2ZXJpdHkge1xuICAgIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZU9mKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFNldmVyaXR5W3N0ciBhcyBrZXlvZiB0eXBlb2YgU2V2ZXJpdHldIGFzIG51bWJlcjtcbiAgICB9XG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlcygpIHtcbiAgICAgICAgbGV0IHJlczogYW55W10gPSBbXTtcbiAgICAgICAgZm9yKGNvbnN0IHZhbHVlIGluIE9iamVjdC52YWx1ZXMoU2V2ZXJpdHkpKSB7XG4gICAgICAgICAgICBpZihpc05hTihPYmplY3QudmFsdWVzKFNldmVyaXR5KVt2YWx1ZV0gYXMgYW55KSAmJiB0eXBlb2YoT2JqZWN0LnZhbHVlcyhTZXZlcml0eSlbdmFsdWVdKSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHJlcy5wdXNoKE9iamVjdC52YWx1ZXMoU2V2ZXJpdHkpW3ZhbHVlXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG59XG5cbmV4cG9ydCBlbnVtIE1lc3NhZ2VUeXBlIHtcbiAgICBVTktOT1dOID0gMCxcbiAgICBFUlJPUiA9IDEsXG4gICAgTk9USUZJQ0FUSU9OID0gMixcbiAgICBFWENFUFRJT04gPSAzLFxufVxuZXhwb3J0IG5hbWVzcGFjZSBNZXNzYWdlVHlwZSB7XG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlT2Yoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTWVzc2FnZVR5cGVbc3RyIGFzIGtleW9mIHR5cGVvZiBNZXNzYWdlVHlwZV0gYXMgbnVtYmVyO1xuICAgIH1cbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgICAgICBsZXQgcmVzOiBhbnlbXSA9IFtdO1xuICAgICAgICBmb3IoY29uc3QgdmFsdWUgaW4gT2JqZWN0LnZhbHVlcyhNZXNzYWdlVHlwZSkpIHtcbiAgICAgICAgICAgIGlmKGlzTmFOKE9iamVjdC52YWx1ZXMoTWVzc2FnZVR5cGUpW3ZhbHVlXSBhcyBhbnkpICYmIHR5cGVvZihPYmplY3QudmFsdWVzKE1lc3NhZ2VUeXBlKVt2YWx1ZV0pICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgcmVzLnB1c2goT2JqZWN0LnZhbHVlcyhNZXNzYWdlVHlwZSlbdmFsdWVdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cbn1cblxuZXhwb3J0IGVudW0gQXR0YWNobWVudFR5cGUge1xuICBVTktOT1dOID0gMCxcbiAgREFUQUZJTEUgPSAxLFxuICBURVhURklMRSA9IDIsXG4gIElNQUdFRklMRSA9IDMsXG4gIEFVRElPRklMRSA9IDQsXG4gIFZJREVPRklMRSA9IDUsXG4gIFBERkZJTEUgPSA2LFxufVxuZXhwb3J0IG5hbWVzcGFjZSBBdHRhY2htZW50VHlwZSB7XG4gIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZU9mKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gQXR0YWNobWVudFR5cGVbc3RyIGFzIGtleW9mIHR5cGVvZiBBdHRhY2htZW50VHlwZV0gYXMgbnVtYmVyO1xuICB9XG4gIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZXMoKSB7XG4gICAgbGV0IHJlczogYW55W10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHZhbHVlIGluIE9iamVjdC52YWx1ZXMoQXR0YWNobWVudFR5cGUpKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGlzTmFOKE9iamVjdC52YWx1ZXMoQXR0YWNobWVudFR5cGUpW3ZhbHVlXSBhcyBhbnkpICYmXG4gICAgICAgIHR5cGVvZiBPYmplY3QudmFsdWVzKEF0dGFjaG1lbnRUeXBlKVt2YWx1ZV0gIT09ICdmdW5jdGlvbidcbiAgICAgICkge1xuICAgICAgICByZXMucHVzaChPYmplY3QudmFsdWVzKEF0dGFjaG1lbnRUeXBlKVt2YWx1ZV0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzO1xuICB9XG59XG5cbmV4cG9ydCBlbnVtIFN0YXR1cyB7XG4gICAgU1VDQ0VTUyA9IDAsXG4gICAgRVJST1IgPSAxLFxuICAgIElOQUNUSVZFID0gMixcbiAgICBERUxFVEVEID0gMyxcbiAgICBMT0NLRUQgPSA0LFxuICAgIFVOTE9DS0VEID0gNSxcbiAgICBQRU5ESU5HID0gNixcbiAgICBBQk9SVEVEID0gNyxcbiAgICBUSU1FT1VUID0gOCxcbiAgICBDT05ORUNURUQgPSA5LFxuICAgIFVOS05PV04gPSA5OVxufVxuZXhwb3J0IG5hbWVzcGFjZSBTdGF0dXMge1xuICAgIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZU9mKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFN0YXR1c1tzdHIgYXMga2V5b2YgdHlwZW9mIFN0YXR1c10gYXMgbnVtYmVyO1xuICAgIH1cbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgICAgICBsZXQgcmVzOiBhbnlbXSA9IFtdO1xuICAgICAgICBmb3IoY29uc3QgdmFsdWUgaW4gT2JqZWN0LnZhbHVlcyhTdGF0dXMpKSB7XG4gICAgICAgICAgICBpZihpc05hTihPYmplY3QudmFsdWVzKFN0YXR1cylbdmFsdWVdIGFzIGFueSkgJiYgdHlwZW9mKE9iamVjdC52YWx1ZXMoU3RhdHVzKVt2YWx1ZV0pICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICByZXMucHVzaChPYmplY3QudmFsdWVzKFN0YXR1cylbdmFsdWVdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cbn1cblxuZXhwb3J0IGVudW0gVGlja2V0U3RhdHVzIHtcbiAgT1BFTiA9IDEsXG4gIENMT1NFID0gMixcbiAgSU5XT1JLID0gMyxcbn1cbmV4cG9ydCBuYW1lc3BhY2UgVGlja2V0U3RhdHVzIHtcbiAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlT2Yoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiBUaWNrZXRTdGF0dXNbc3RyIGFzIGtleW9mIHR5cGVvZiBUaWNrZXRTdGF0dXNdIGFzIG51bWJlcjtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgIGxldCByZXM6IGFueVtdID0gW107XG4gICAgZm9yIChjb25zdCB2YWx1ZSBpbiBPYmplY3QudmFsdWVzKFRpY2tldFN0YXR1cykpIHtcbiAgICAgIGlmIChcbiAgICAgICAgaXNOYU4oT2JqZWN0LnZhbHVlcyhUaWNrZXRTdGF0dXMpW3ZhbHVlXSBhcyBhbnkpICYmXG4gICAgICAgIHR5cGVvZiBPYmplY3QudmFsdWVzKFRpY2tldFN0YXR1cylbdmFsdWVdICE9PSAnZnVuY3Rpb24nXG4gICAgICApIHtcbiAgICAgICAgcmVzLnB1c2goT2JqZWN0LnZhbHVlcyhUaWNrZXRTdGF0dXMpW3ZhbHVlXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXM7XG4gIH1cbn1cblxuZXhwb3J0IGVudW0gVGlja2V0U2VuZGVyVHlwZSB7XG4gICAgVU5LTk9XTiA9IDAsXG4gICAgVVNFUiA9IDEsXG4gICAgQURNSU4gPSAyLFxufVxuZXhwb3J0IG5hbWVzcGFjZSBUaWNrZXRTZW5kZXJUeXBlIHtcbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVPZihzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBUaWNrZXRTZW5kZXJUeXBlW3N0ciBhcyBrZXlvZiB0eXBlb2YgVGlja2V0U2VuZGVyVHlwZV0gYXMgbnVtYmVyO1xuICAgIH1cbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgICAgICBsZXQgcmVzOiBhbnlbXSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIGluIE9iamVjdC52YWx1ZXMoVGlja2V0U2VuZGVyVHlwZSkpIHtcbiAgICAgICAgICAgIGlmIChpc05hTihPYmplY3QudmFsdWVzKFRpY2tldFNlbmRlclR5cGUpW3ZhbHVlXSBhcyBhbnkpICYmIHR5cGVvZiBPYmplY3QudmFsdWVzKFRpY2tldFNlbmRlclR5cGUpW3ZhbHVlXSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHJlcy5wdXNoKE9iamVjdC52YWx1ZXMoVGlja2V0U2VuZGVyVHlwZSlbdmFsdWVdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cbn1cblxuZXhwb3J0IGVudW0gSW1wb3J0VHlwZSB7XG4gICAgVU5LTk9XTiA9IDAsXG4gICAgVEVSTUlOQUwgPSAxLFxuICAgIEVTTCA9IDIsXG4gICAgRVNMUE9PTCA9IDMsXG59XG5leHBvcnQgbmFtZXNwYWNlIEltcG9ydFR5cGUge1xuICBleHBvcnQgZnVuY3Rpb24gdmFsdWVPZihzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIEltcG9ydFR5cGVbc3RyIGFzIGtleW9mIHR5cGVvZiBJbXBvcnRUeXBlXSBhcyBudW1iZXI7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlcygpIHtcbiAgICBsZXQgcmVzOiBhbnlbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgdmFsdWUgaW4gT2JqZWN0LnZhbHVlcyhJbXBvcnRUeXBlKSkge1xuICAgICAgaWYgKFxuICAgICAgICBpc05hTihPYmplY3QudmFsdWVzKEltcG9ydFR5cGUpW3ZhbHVlXSBhcyBhbnkpICYmXG4gICAgICAgIHR5cGVvZiBPYmplY3QudmFsdWVzKEltcG9ydFR5cGUpW3ZhbHVlXSAhPT0gJ2Z1bmN0aW9uJ1xuICAgICAgKSB7XG4gICAgICAgIHJlcy5wdXNoKE9iamVjdC52YWx1ZXMoSW1wb3J0VHlwZSlbdmFsdWVdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbiAgfVxufVxuXG5leHBvcnQgZW51bSBGaWxlVHlwZSB7XG4gICAgVU5LTk9XTiA9IDAsXG4gICAgQ1NWID0gMSxcbiAgICBYTFNYID0gMixcbiAgICBYTUwgPSAzLFxuICAgIEpTT04gPSA0LFxuICAgIFBERiA9IDUsXG4gICAgVFhUID0gNixcbiAgICBaSVAgPSA3XG59XG5leHBvcnQgbmFtZXNwYWNlIEZpbGVUeXBlIHtcbiAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlT2Yoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiBGaWxlVHlwZVtzdHIgYXMga2V5b2YgdHlwZW9mIEZpbGVUeXBlXSBhcyBudW1iZXI7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlcygpIHtcbiAgICBsZXQgcmVzOiBhbnlbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgdmFsdWUgaW4gT2JqZWN0LnZhbHVlcyhGaWxlVHlwZSkpIHtcbiAgICAgIGlmIChcbiAgICAgICAgaXNOYU4oT2JqZWN0LnZhbHVlcyhGaWxlVHlwZSlbdmFsdWVdIGFzIGFueSkgJiZcbiAgICAgICAgdHlwZW9mIE9iamVjdC52YWx1ZXMoRmlsZVR5cGUpW3ZhbHVlXSAhPT0gJ2Z1bmN0aW9uJ1xuICAgICAgKSB7XG4gICAgICAgIHJlcy5wdXNoKE9iamVjdC52YWx1ZXMoRmlsZVR5cGUpW3ZhbHVlXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXM7XG4gIH1cbn1cblxuZXhwb3J0IGVudW0gUHJlT3JkZXJUeXBlIHtcbiAgICBVTktOT1dOID0gMCxcbiAgICBJVEVNID0gMSxcbiAgICBTRVJWSUNFID0gMixcbn1cbmV4cG9ydCBuYW1lc3BhY2UgUHJlT3JkZXJUeXBlIHtcbiAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlT2Yoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiBQcmVPcmRlclR5cGVbc3RyIGFzIGtleW9mIHR5cGVvZiBQcmVPcmRlclR5cGVdIGFzIG51bWJlcjtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgIGxldCByZXM6IGFueVtdID0gW107XG4gICAgZm9yIChjb25zdCB2YWx1ZSBpbiBPYmplY3QudmFsdWVzKFByZU9yZGVyVHlwZSkpIHtcbiAgICAgIGlmIChcbiAgICAgICAgaXNOYU4oT2JqZWN0LnZhbHVlcyhQcmVPcmRlclR5cGUpW3ZhbHVlXSBhcyBhbnkpICYmXG4gICAgICAgIHR5cGVvZiBPYmplY3QudmFsdWVzKFByZU9yZGVyVHlwZSlbdmFsdWVdICE9PSAnZnVuY3Rpb24nXG4gICAgICApIHtcbiAgICAgICAgcmVzLnB1c2goT2JqZWN0LnZhbHVlcyhQcmVPcmRlclR5cGUpW3ZhbHVlXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXM7XG4gIH1cbn1cblxuZXhwb3J0IGVudW0gVGFza1R5cGUge1xuICAgIFVOS05PV04gPSAwLFxuICAgIEVORE9GREFZID0gMSxcbiAgICBSRVNUQVJUID0gMixcbn1cbmV4cG9ydCBuYW1lc3BhY2UgVGFza1R5cGUge1xuICBleHBvcnQgZnVuY3Rpb24gdmFsdWVPZihzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIFRhc2tUeXBlW3N0ciBhcyBrZXlvZiB0eXBlb2YgVGFza1R5cGVdIGFzIG51bWJlcjtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgIGxldCByZXM6IGFueVtdID0gW107XG4gICAgZm9yIChjb25zdCB2YWx1ZSBpbiBPYmplY3QudmFsdWVzKFRhc2tUeXBlKSkge1xuICAgICAgaWYgKFxuICAgICAgICBpc05hTihPYmplY3QudmFsdWVzKFRhc2tUeXBlKVt2YWx1ZV0gYXMgYW55KSAmJlxuICAgICAgICB0eXBlb2YgT2JqZWN0LnZhbHVlcyhUYXNrVHlwZSlbdmFsdWVdICE9PSAnZnVuY3Rpb24nXG4gICAgICApIHtcbiAgICAgICAgcmVzLnB1c2goT2JqZWN0LnZhbHVlcyhUYXNrVHlwZSlbdmFsdWVdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbiAgfVxufVxuXG5leHBvcnQgZW51bSBDb3Vwb25UeXBlIHtcbiAgICBVTktOT1dOID0gMCxcbiAgICBDT1VQT04gPSAxLFxuICAgIFZPVUNIRVIgPSAyLFxuICAgIEdJRlQgPSAzLFxuICAgIEdJRlRfQ0FSRCA9IDQsXG4gICAgR0lGVF9WT1VDSEVSID0gNSxcbiAgICBESVNDT1VOVCA9IDYsXG59XG5leHBvcnQgbmFtZXNwYWNlIENvdXBvblR5cGUge1xuICBleHBvcnQgZnVuY3Rpb24gdmFsdWVPZihzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIENvdXBvblR5cGVbc3RyIGFzIGtleW9mIHR5cGVvZiBDb3Vwb25UeXBlXSBhcyBudW1iZXI7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlcygpIHtcbiAgICBsZXQgcmVzOiBhbnlbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgdmFsdWUgaW4gT2JqZWN0LnZhbHVlcyhDb3Vwb25UeXBlKSkge1xuICAgICAgaWYgKFxuICAgICAgICBpc05hTihPYmplY3QudmFsdWVzKENvdXBvblR5cGUpW3ZhbHVlXSBhcyBhbnkpICYmXG4gICAgICAgIHR5cGVvZiBPYmplY3QudmFsdWVzKENvdXBvblR5cGUpW3ZhbHVlXSAhPT0gJ2Z1bmN0aW9uJ1xuICAgICAgKSB7XG4gICAgICAgIHJlcy5wdXNoKE9iamVjdC52YWx1ZXMoQ291cG9uVHlwZSlbdmFsdWVdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbiAgfVxufVxuXG5leHBvcnQgZW51bSBQYXltZW50U3RhdHVzIHtcbiAgU1RBVFVTX1VOS05PV04gPSAwLFxuICBTVEFUVVNfTUVTU0FHRSA9IDEsXG4gIFNUQVRVU19EQVRBID0gMixcbn1cbmV4cG9ydCBuYW1lc3BhY2UgUGF5bWVudFN0YXR1cyB7XG4gIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZU9mKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gUGF5bWVudFN0YXR1c1tzdHIgYXMga2V5b2YgdHlwZW9mIFBheW1lbnRTdGF0dXNdIGFzIG51bWJlcjtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgIGxldCByZXM6IGFueVtdID0gW107XG4gICAgZm9yIChjb25zdCB2YWx1ZSBpbiBPYmplY3QudmFsdWVzKFBheW1lbnRTdGF0dXMpKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGlzTmFOKE9iamVjdC52YWx1ZXMoUGF5bWVudFN0YXR1cylbdmFsdWVdIGFzIGFueSkgJiZcbiAgICAgICAgdHlwZW9mIE9iamVjdC52YWx1ZXMoUGF5bWVudFN0YXR1cylbdmFsdWVdICE9PSAnZnVuY3Rpb24nXG4gICAgICApIHtcbiAgICAgICAgcmVzLnB1c2goT2JqZWN0LnZhbHVlcyhQYXltZW50U3RhdHVzKVt2YWx1ZV0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzO1xuICB9XG59XG5cbmV4cG9ydCBlbnVtIFBheW1lbnRDb21tYW5kIHtcbiAgQ09NTUFORF9VTktOT1dOID0gMCxcbiAgQ09NTUFORF9QQVkgPSAxLFxuICBDT01NQU5EX1VQREFURV9DQVJUID0gMixcbiAgQ09NTUFORF9QUkVQQVJFX1BBWU1FTlQgPSAzLFxuICBDT01NQU5EX1JFUE9SVCA9IDQsXG4gIENPTU1BTkRfUkVQUklOVCA9IDUsXG4gIENPTU1BTkRfU1RBVFVTID0gNixcbn1cbmV4cG9ydCBuYW1lc3BhY2UgUGF5bWVudENvbW1hbmQge1xuICBleHBvcnQgZnVuY3Rpb24gdmFsdWVPZihzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIFBheW1lbnRDb21tYW5kW3N0ciBhcyBrZXlvZiB0eXBlb2YgUGF5bWVudENvbW1hbmRdIGFzIG51bWJlcjtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgIGxldCByZXM6IGFueVtdID0gW107XG4gICAgZm9yIChjb25zdCB2YWx1ZSBpbiBPYmplY3QudmFsdWVzKFBheW1lbnRDb21tYW5kKSkge1xuICAgICAgaWYgKFxuICAgICAgICBpc05hTihPYmplY3QudmFsdWVzKFBheW1lbnRDb21tYW5kKVt2YWx1ZV0gYXMgYW55KSAmJlxuICAgICAgICB0eXBlb2YgT2JqZWN0LnZhbHVlcyhQYXltZW50Q29tbWFuZClbdmFsdWVdICE9PSAnZnVuY3Rpb24nXG4gICAgICApIHtcbiAgICAgICAgcmVzLnB1c2goT2JqZWN0LnZhbHVlcyhQYXltZW50Q29tbWFuZClbdmFsdWVdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbiAgfVxufVxuXG5leHBvcnQgZW51bSBQYXltZW50RXZlbnRUeXBlIHtcbiAgIEVWRU5UX1VOS05PV04gPSAwLFxuICAgRVZFTlRfUEFZTUVOVCA9IDEsXG4gICBFVkVOVF9FTkRPRkRBWSA9IDIsXG4gICBFVkVOVF9TVEFUVVMgPSAzLFxuICAgRVZFTlRfSEVBUlRCRUFUID0gMTAsXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUGF5bWVudEV2ZW50VHlwZSB7XG4gIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZU9mKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gUGF5bWVudEV2ZW50VHlwZVtzdHIgYXMga2V5b2YgdHlwZW9mIFBheW1lbnRFdmVudFR5cGVdIGFzIG51bWJlcjtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgIGxldCByZXM6IGFueVtdID0gW107XG4gICAgZm9yIChjb25zdCB2YWx1ZSBpbiBPYmplY3QudmFsdWVzKFBheW1lbnRFdmVudFR5cGUpKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGlzTmFOKE9iamVjdC52YWx1ZXMoUGF5bWVudEV2ZW50VHlwZSlbdmFsdWVdIGFzIGFueSkgJiZcbiAgICAgICAgdHlwZW9mIE9iamVjdC52YWx1ZXMoUGF5bWVudEV2ZW50VHlwZSlbdmFsdWVdICE9PSAnZnVuY3Rpb24nXG4gICAgICApIHtcbiAgICAgICAgcmVzLnB1c2goT2JqZWN0LnZhbHVlcyhQYXltZW50RXZlbnRUeXBlKVt2YWx1ZV0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzO1xuICB9XG59XG5cbmV4cG9ydCBlbnVtIFBvc0V2ZW50VHlwZSB7XG4gIFVOS05PV04gPSAwLFxuICBDSEVDS09VVCA9IDEsXG4gIFBBWU1FTlQgPSAyLFxufVxuZXhwb3J0IG5hbWVzcGFjZSBQb3NFdmVudFR5cGUge1xuICBleHBvcnQgZnVuY3Rpb24gdmFsdWVPZihzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIFBvc0V2ZW50VHlwZVtzdHIgYXMga2V5b2YgdHlwZW9mIFBvc0V2ZW50VHlwZV0gYXMgbnVtYmVyO1xuICB9XG4gIGV4cG9ydCBmdW5jdGlvbiB2YWx1ZXMoKSB7XG4gICAgbGV0IHJlczogYW55W10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHZhbHVlIGluIE9iamVjdC52YWx1ZXMoUG9zRXZlbnRUeXBlKSkge1xuICAgICAgaWYgKFxuICAgICAgICBpc05hTihPYmplY3QudmFsdWVzKFBvc0V2ZW50VHlwZSlbdmFsdWVdIGFzIGFueSkgJiZcbiAgICAgICAgdHlwZW9mIE9iamVjdC52YWx1ZXMoUG9zRXZlbnRUeXBlKVt2YWx1ZV0gIT09ICdmdW5jdGlvbidcbiAgICAgICkge1xuICAgICAgICByZXMucHVzaChPYmplY3QudmFsdWVzKFBvc0V2ZW50VHlwZSlbdmFsdWVdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbiAgfVxufVxuXG5leHBvcnQgZW51bSBOZXR3b3JrRGV2aWNlVHlwZSB7XG4gIFVOS05PV04gPSAwLFxuICBTSEVMRkxBQkVMID0gMSxcbiAgQUNDRVNTUE9JTlQgPSAyLFxuICBFU0xfQUNDRVNTUE9JTlQgPSAzLFxuICBXSUZJX0FDQ0VTU1BPSU5UID0gNCxcbn1cbmV4cG9ydCBuYW1lc3BhY2UgTmV0d29ya0RldmljZVR5cGUge1xuICBleHBvcnQgZnVuY3Rpb24gdmFsdWVPZihzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIE5ldHdvcmtEZXZpY2VUeXBlW3N0ciBhcyBrZXlvZiB0eXBlb2YgTmV0d29ya0RldmljZVR5cGVdIGFzIG51bWJlcjtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgIGxldCByZXM6IGFueVtdID0gW107XG4gICAgZm9yIChjb25zdCB2YWx1ZSBpbiBPYmplY3QudmFsdWVzKE5ldHdvcmtEZXZpY2VUeXBlKSkge1xuICAgICAgaWYgKFxuICAgICAgICBpc05hTihPYmplY3QudmFsdWVzKE5ldHdvcmtEZXZpY2VUeXBlKVt2YWx1ZV0gYXMgYW55KSAmJlxuICAgICAgICB0eXBlb2YgT2JqZWN0LnZhbHVlcyhOZXR3b3JrRGV2aWNlVHlwZSlbdmFsdWVdICE9PSAnZnVuY3Rpb24nXG4gICAgICApIHtcbiAgICAgICAgcmVzLnB1c2goT2JqZWN0LnZhbHVlcyhOZXR3b3JrRGV2aWNlVHlwZSlbdmFsdWVdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbiAgfVxufVxuIl19
@@ -1,7 +1,8 @@
1
1
  export class AuthRequest {
2
- constructor(email, password) {
2
+ constructor(email, password, tenant) {
3
3
  this.email = email;
4
4
  this.password = password;
5
+ this.tenant = tenant;
5
6
  }
6
7
  }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2FwdHVyZWlkLWRhdGF0eXBlcy9zcmMvbGliL21vZGVsL2F1dGgvYXV0aC1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sT0FBTyxXQUFXO0lBQ3BCLFlBQVksS0FBYSxFQUFFLFFBQWdCO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzdCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQXV0aFJlcXVlc3Qge1xuICAgIGVtYWlsPzogc3RyaW5nO1xuICAgIHBhc3N3b3JkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgQXV0aFJlcXVlc3QgaW1wbGVtZW50cyBBdXRoUmVxdWVzdCB7XG4gICAgY29uc3RydWN0b3IoZW1haWw6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmVtYWlsID0gZW1haWw7XG4gICAgICAgIHRoaXMucGFzc3dvcmQgPSBwYXNzd29yZDtcbiAgICB9XG59XG4iXX0=
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2FwdHVyZWlkLWRhdGF0eXBlcy9zcmMvbGliL21vZGVsL2F1dGgvYXV0aC1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sT0FBTyxXQUFXO0lBQ3BCLFlBQVksS0FBYSxFQUFFLFFBQWdCLEVBQUUsTUFBZTtRQUN4RCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN6QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEF1dGhSZXF1ZXN0IHtcbiAgICB0ZW5hbnQ/OiBzdHJpbmc7XG4gICAgZW1haWw/OiBzdHJpbmc7XG4gICAgcGFzc3dvcmQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBBdXRoUmVxdWVzdCBpbXBsZW1lbnRzIEF1dGhSZXF1ZXN0IHtcbiAgICBjb25zdHJ1Y3RvcihlbWFpbDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nLCB0ZW5hbnQ/OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5lbWFpbCA9IGVtYWlsO1xuICAgICAgICB0aGlzLnBhc3N3b3JkID0gcGFzc3dvcmQ7XG4gICAgICAgIHRoaXMudGVuYW50ID0gdGVuYW50O1xuICAgIH1cbn1cbiJdfQ==
@@ -308,8 +308,9 @@ var RegistrationState;
308
308
  RegistrationState[RegistrationState["REQUESTED"] = 1] = "REQUESTED";
309
309
  RegistrationState[RegistrationState["OTPCOMPLETE"] = 2] = "OTPCOMPLETE";
310
310
  RegistrationState[RegistrationState["CONFIRMED"] = 3] = "CONFIRMED";
311
- RegistrationState[RegistrationState["ASSOCIATED"] = 4] = "ASSOCIATED";
312
- RegistrationState[RegistrationState["COMPLETED"] = 5] = "COMPLETED";
311
+ RegistrationState[RegistrationState["DETAILED"] = 4] = "DETAILED";
312
+ RegistrationState[RegistrationState["ASSOCIATED"] = 5] = "ASSOCIATED";
313
+ RegistrationState[RegistrationState["COMPLETED"] = 6] = "COMPLETED";
313
314
  })(RegistrationState || (RegistrationState = {}));
314
315
  (function (RegistrationState) {
315
316
  function valueOf(str) {
@@ -945,9 +946,10 @@ class Filter {
945
946
  }
946
947
 
947
948
  class AuthRequest {
948
- constructor(email, password) {
949
+ constructor(email, password, tenant) {
949
950
  this.email = email;
950
951
  this.password = password;
952
+ this.tenant = tenant;
951
953
  }
952
954
  }
953
955