bitgo 53.3.0 → 53.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -167,6 +167,7 @@ function registerCoinConstructors(coinFactory, coinMap = statics_1.coins) {
167
167
  coinFactory.register('tsoneium', coins_1.Tsoneium.createInstance);
168
168
  coinFactory.register('tstarknet', coins_1.Starknet.createInstance);
169
169
  coinFactory.register('tstx', coins_1.Tstx.createInstance);
170
+ coinFactory.register('tstxsignet', coins_1.Tstxsignet.createInstance);
170
171
  coinFactory.register('tstt', coins_1.Tstt.createInstance);
171
172
  coinFactory.register('tsui', coins_1.Tsui.createInstance);
172
173
  coinFactory.register('tsusd', coins_1.Tsusd.createInstance);
@@ -643,6 +644,8 @@ function getCoinConstructor(coinName) {
643
644
  return coins_1.Starknet.createInstance;
644
645
  case 'tstx':
645
646
  return coins_1.Tstx.createInstance;
647
+ case 'tstxsignet':
648
+ return coins_1.Tstxsignet.createInstance;
646
649
  case 'tstt':
647
650
  return coins_1.Tstt.createInstance;
648
651
  case 'tsui':
@@ -849,6 +852,7 @@ function getTokenConstructor(tokenConfig, staticsCoin) {
849
852
  }
850
853
  case 'stx':
851
854
  case 'tstx':
855
+ case 'tstxsignet':
852
856
  return coins_1.Sip10Token.createTokenConstructor(tokenConfig);
853
857
  case 'near':
854
858
  case 'tnear':
@@ -898,4 +902,4 @@ function getTokenConstructor(tokenConfig, staticsCoin) {
898
902
  }
899
903
  exports.GlobalCoinFactory = new sdk_core_1.CoinFactory();
900
904
  registerCoinConstructors(exports.GlobalCoinFactory);
901
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbkZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdjIvY29pbkZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBcVBBLDREQXliQztBQUVELGdEQThWQztBQUVELGtEQWlNQztBQWp0Q0Q7O0dBRUc7QUFDSCxzREFBK0M7QUFDL0Msd0RBQWlEO0FBQ2pELDREQUFxRDtBQUNyRCx3REFBbUQ7QUFDbkQsMERBQXNEO0FBQ3RELHdEQUFpRDtBQUNqRCx3REFBZ0U7QUFDaEUsc0RBQStDO0FBQy9DLHNEQUErQztBQUMvQyw4Q0FBK0Q7QUFDL0Qsc0RBQTRFO0FBRTVFLDRDQXNDd0I7QUFDeEIsbUNBNkxpQjtBQUVqQixTQUFnQix3QkFBd0IsQ0FBQyxXQUF3QixFQUFFLFVBQW1CLGVBQUs7SUFDekYsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hELFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNsRCxXQUFXLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxnQkFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNoRCxXQUFXLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxjQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hELFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNsRCxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxhQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDcEQsV0FBVyxDQUFDLFFBQVEs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LENBQUMsTUFBTSxFQUFFLFlBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNsRCxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsZ0JBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMxRCxXQUFXLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxnQkFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzNELFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNsRCxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2xELFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLGFBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNwRCxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsY0FBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNsRCxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2xELFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNsRCxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2xELFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNsRCxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2xELFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLGFBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNwRCxXQUFXLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxjQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsY0FBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLGNBQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0RCxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxXQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDaEQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hELFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNoRCxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxXQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDaEQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hELFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLGFBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNwRCxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxhQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDcEQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hELFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNsRCxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxhQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFcEQsZUFBSztTQUNGLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMscUJBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUNwRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUNoQixXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsZUFBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELENBQUMsQ0FBQyxDQUFDO0lBRUwsZUFBSztTQUNGLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMscUJBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQ3ZFLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ2hCLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSx3QkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNuRSxDQUFDLENBQUMsQ0FBQztJQUVMLE1BQU0sTUFBTSxHQUFHLElBQUEsNEJBQWtCLEVBQUMsT0FBTyxDQUFDLENBQUM7SUFFM0Msa0JBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQ3RHLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRTtRQUM1QixXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztJQUM5QyxDQUFDLENBQ0YsQ0FBQztJQUVGLG1CQUFXLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUNuRyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUU7UUFDNUIsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDOUMsQ0FBQyxDQUNGLENBQUM7SUFFRixvQkFBWSxDQUFDLHVCQUF1QixDQUFDO1FBQ25DLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCO1FBQ3hDLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCO0tBQ3pDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFO1FBQ3ZDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQzlDLENBQUMsQ0FBQyxDQUFDO0lBRUgsb0JBQVksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQ3hHLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRTtRQUM1QixXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztJQUM5QyxDQUFDLENBQ0YsQ0FBQztJQUVGLEtBQUssTUFBTSxRQUFRLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDcEYsTUFBTSxnQkFBZ0IsR0FBRyxnQkFBUSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25FLFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxpQkFBUyxDQUFDLHVCQUF1QixDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDdkcsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFO1FBQzVCLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQzlDLENBQUMsQ0FDRixDQUFDO0lBRUYsZ0JBQVEsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUU7UUFDdkUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxnQkFBUSxDQUFDLHVCQUF1QixDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDcEcsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFO1FBQzVCLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQzlDLENBQUMsQ0FDRixDQUFDO0lBRUYseUJBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQ3ZHLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRTtRQUM1QixXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztJQUM5QyxDQUFDLENBQ0YsQ0FBQztJQUVGLGtCQUFVLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFO1FBQ3pFLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQzlDLENBQUMsQ0FBQyxDQUFDO0lBRUgsb0JBQVksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUU7UUFDM0UsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxvQkFBWSxDQUFDLHVCQUF1QixFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRTtRQUMzRSxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztJQUM5QyxDQUFDLENBQUMsQ0FBQztJQUVILG1CQUFXLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFO1FBQzFFLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQzlDLENBQUMsQ0FBQyxDQUFDO0lBRUgsa0JBQVUsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUU7UUFDekUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxrQkFBVSxDQUFDLHVCQUF1QixFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRTtRQUN6RSxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztJQUM5QyxDQUFDLENBQUMsQ0FBQztJQUVILGlCQUFTLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFO1FBQ3hFLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQzlDLENBQUMsQ0FBQyxDQUFDO0lBRUgsb0JBQVksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUU7UUFDM0UsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxrQkFBVSxDQUFDLHVCQUF1QixFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRTtRQUN6RSxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztJQUM5QyxDQUFDLENBQUMsQ0FBQztJQUVILHVCQUFRLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUNwRyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUU7UUFDNUIsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDOUMsQ0FBQyxDQUNGLENBQUM7SUFFRiw2QkFBVyxDQUFDLHVCQUF1QixDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDN0csQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFO1FBQzVCLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQzlDLENBQUMsQ0FDRixDQUFDO0lBRUYseUJBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQ3ZHLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRTtRQUM1QixXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztJQUM5QyxDQUFDLENBQ0YsQ0FBQztJQUVGLHVCQUFRLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUNwRyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUU7UUFDNUIsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDOUMsQ0FBQyxDQUNGLENBQUM7SUFFRix1QkFBUSxDQUFDLHVCQUF1QixDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDcEcsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQzNFLENBQUM7SUFFRixnQkFBUSxDQUFDLHVCQUF1QixDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDcEcsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQzNFLENBQUM7SUFFRixnQkFBUSxDQUFDLHVCQUF1QixDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDcEcsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQzNFLENBQUM7SUFFRixrQkFBVSxDQUFDLHVCQUF1QixDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDMUcsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQzNFLENBQUM7SUFFRixrQkFBVSxDQUFDLHVCQUF1QixDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDMUcsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQzNFLENBQUM7SUFFRixnQkFBUSxDQUFDLHVCQUF1QixDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDcEcsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQzNFLENBQUM7SUFFRixtQkFBVyxDQUFDLHVCQUF1QixDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDN0csQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQzNFLENBQUM7SUFFRixnQkFBUSxDQUFDLHVCQUF1QixDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDcEcsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQzNFLENBQUM7SUFFRixrQkFBVSxDQUFDLHVCQUF1QixDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDdEcsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQzNFLENBQUM7SUFFRiwyQkFBVyxDQUFDLHVCQUF1QixDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDekcsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQzNFLENBQUM7SUFFRixpQkFBUyxDQUFDLHVCQUF1QixDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDM0csQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQzNFLENBQUM7SUFFRixtQkFBVyxDQUFDLHVCQUF1QixDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFD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cm9tICdAYml0Z28vc2RrLWNvaW4tYWRhJztcbmltcG9ydCB7IEFsZ29Ub2tlbiB9IGZyb20gJ0BiaXRnby9zZGstY29pbi1hbGdvJztcbmltcG9ydCB7IENhbnRvblRva2VuIH0gZnJvbSAnQGJpdGdvL3Nkay1jb2luLWNhbnRvbic7XG5pbXBvcnQgeyBCY2hhLCBUYmNoYSB9IGZyb20gJ0BiaXRnby9zZGstY29pbi1iY2hhJztcbmltcG9ydCB7IFBlYXJsLCBUcGVhcmwgfSBmcm9tICdAYml0Z28vc2RrLWNvaW4tcGVhcmwnO1xuaW1wb3J0IHsgSGJhclRva2VuIH0gZnJvbSAnQGJpdGdvL3Nkay1jb2luLWhiYXInO1xuaW1wb3J0IHsgTmVhciwgVE5lYXIsIE5lcDE0MVRva2VuIH0gZnJvbSAnQGJpdGdvL3Nkay1jb2luLW5lYXInO1xuaW1wb3J0IHsgU29sVG9rZW4gfSBmcm9tICdAYml0Z28vc2RrLWNvaW4tc29sJztcbmltcG9ydCB7IFRyeFRva2VuIH0gZnJvbSAnQGJpdGdvL3Nkay1jb2luLXRyeCc7XG5pbXBvcnQgeyBDb2luRmFjdG9yeSwgQ29pbkNvbnN0cnVjdG9yIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IEV0aExpa2VFcmMyMFRva2VuLCBFdGhMaWtlRXJjNzIxVG9rZW4gfSBmcm9tICdAYml0Z28vc2RrLWNvaW4tZXZtJztcblxuaW1wb3J0IHtcbiAgQ29pbk1hcCxcbiAgY29pbnMsXG4gIGdldEZvcm1hdHRlZFRva2VucyxcbiAgZ2V0RXZtVG9rZW5zQnlGYW1pbHksXG4gIFRva2VuVHlwZUVudW0sXG4gIE5ldHdvcmtUeXBlLFxuICBUb2tlbkNvbmZpZyxcbiAgRXJjMjBUb2tlbkNvbmZpZyxcbiAgU3RlbGxhclRva2VuQ29uZmlnLFxuICBPZmNUb2tlbkNvbmZpZyxcbiAgQ2Vsb1Rva2VuQ29uZmlnLFxuICBFdGhMaWtlVG9rZW5Db25maWcsXG4gIEVvc1Rva2VuQ29uZmlnLFxuICBBdmF4Y1Rva2VuQ29uZmlnLFxuICBTb2xUb2tlbkNvbmZpZyxcbiAgSGJhclRva2VuQ29uZmlnLFxuICBBZGFUb2tlbkNvbmZpZyxcbiAgQWxnb1Rva2VuQ29uZmlnLFxuICBUcnhUb2tlbkNvbmZpZyxcbiAgWHJwTXB0VG9rZW5Db25maWcsXG4gIFhycFRva2VuQ29uZmlnLFxuICBTdWlUb2tlbkNvbmZpZyxcbiAgQXB0VG9rZW5Db25maWcsXG4gIFNpcDEwVG9rZW5Db25maWcsXG4gIENvaW5GZWF0dXJlLFxuICBOZXAxNDFUb2tlbkNvbmZpZyxcbiAgQ29zbW9zVG9rZW5Db25maWcsXG4gIFZldFRva2VuQ29uZmlnLFxuICBUYW9Ub2tlbkNvbmZpZyxcbiAgVGlwMjBUb2tlbkNvbmZpZyxcbiAgUG9seXhUb2tlbkNvbmZpZyxcbiAgSmV0dG9uVG9rZW5Db25maWcsXG4gIENhbnRvblRva2VuQ29uZmlnLFxuICBFcmM3OTg0VG9rZW5Db25maWcsXG4gIEVyYzc5ODRDb2luLFxuICBFdGhMaWtlRVJDNzIxVG9rZW4sXG4gIEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbixcbn0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHtcbiAgQWRhLFxuICBBbGdvLFxuICBBcGVjaGFpbixcbiAgQXB0LFxuICBBcHRUb2tlbixcbiAgQXJiZXRoLFxuICBBcmJldGhUb2tlbixcbiAgQXNpLFxuICBBdG9tLFxuICBBdmF4QyxcbiAgQXZheENUb2tlbixcbiAgQXZheFAsXG4gIEJhYnksXG4gIEJjaCxcbiAgQmVyYSxcbiAgQmVyYVRva2VuLFxuICBCbGQsXG4gIEJzYyxcbiAgQnNjVG9rZW4sXG4gIEJzdixcbiAgQnRjLFxuICBCdGcsXG4gIENhbnRvbixcbiAgQ2VsbyxcbiAgQ2Vsb1Rva2VuLFxuICBDb3JlZGFvLFxuICBDb3JlZGFvVG9rZW4sXG4gIENvc21vc1NoYXJlZENvaW4sXG4gIENvcmV1bSxcbiAgQ3Jvbm9zLFxuICBDc3ByLFxuICBEYXNoLFxuICBEb2dlLFxuICBEb3QsXG4gIEVvcyxcbiAgRW9zVG9rZW4sXG4gIEVyYzIwVG9rZW4sXG4gIEVyYzcyMVRva2VuLFxuICBFcmM3OTg0VG9rZW4sXG4gIEV0YyxcbiAgRXRoLFxuICBFdGh3LFxuICBFdGhMaWtlQ29pbixcbiAgRXZtQ29pbixcbiAgRmxyLFxuICBGbHJwLFxuICBGbHJUb2tlbixcbiAgSGFzaFRva2VuLFxuICBNb25Ub2tlbixcbiAgVGV0aExpa2VDb2luLFxuICBGaWF0LFxuICBhbGxGaWF0Q29pbnMsXG4gIEd0ZXRoLFxuICBIYXNoLFxuICBIYmFyLFxuICBIdGV0aCxcbiAgSWNwLFxuICBJbml0aWEsXG4gIEluamVjdGl2ZSxcbiAgSW90YSxcbiAgSXNsbSxcbiAgSmV0dG9uVG9rZW4sXG4gIEthc3BhLFxuICBMbmJ0YyxcbiAgTHRjLFxuICBNb24sXG4gIE9mYyxcbiAgT2FzLFxuICBPZmNUb2tlbixcbiAgT3BldGgsXG4gIE9wZXRoVG9rZW4sXG4gIE9zbW8sXG4gIFBvbHlnb24sXG4gIFBvbHlnb25Ub2tlbixcbiAgUG9seXgsXG4gIFBvbHl4VG9rZW4sXG4gIFJ1bmUsXG4gIFJidGMsXG4gIFNlaSxcbiAgU2VwZXRoLFxuICBTZ2IsXG4gIFNpcDEwVG9rZW4sXG4gIFNvbCxcbiAgU29uZWl1bSxcbiAgU29uZWl1bVRva2VuLFxuICBTdGFya25ldCxcbiAgU3RlbGxhclRva2VuLFxuICBTdHgsXG4gIFN1aSxcbiAgU3VpVG9rZW4sXG4gIFN1c2QsXG4gIFRhbyxcbiAgVGFvVG9rZW4sXG4gIFRlbXBvLFxuICBUaXAyMFRva2VuLFxuICBUb24sXG4gIFRhZGEsXG4gIFRhbGdvLFxuICBUYXBlY2hhaW4sXG4gIFRhcHQsXG4gIFRhcmJldGgsXG4gIFRhc2ksXG4gIFRhdG9tLFxuICBUYXZheEMsXG4gIFRhdmF4UCxcbiAgVGJhYnksXG4gIFRiY2gsXG4gIFRiZXJhLFxuICBUYmxkLFxuICBUYnNjLFxuICBUYnN2LFxuICBUYnRjLFxuICBUYnRjc2lnLFxuICBUYnRjNCxcbiAgVGJ0Y2Jnc2lnLFxuICBUYnRjc3R4LFxuICBUYnRjc3R4cHJpdmF0ZTEsXG4gIFRidGNzdHhzaWduZXQsXG4gIFRjYW50b24sXG4gIFRjZWxvLFxuICBUY29yZWRhbyxcbiAgVGNvcmV1bSxcbiAgVGNyb25vcyxcbiAgVGNzcHIsXG4gIFRkYXNoLFxuICBUZG9nZSxcbiAgVGRvdCxcbiAgVGVvcyxcbiAgVGV0YyxcbiAgVGV0aCxcbiAgVGZscixcbiAgVG1vbixcbiAgVGhhc2gsXG4gIFRoYmFyLFxuICBUaWEsXG4gIFRpY3AsXG4gIFRpbml0aWEsXG4gIFRpbmplY3RpdmUsXG4gIFRpc2xtLFxuICBUbG5idGMsXG4gIFRsdGMsXG4gIFRvYXMsXG4gIFRvc21vLFxuICBUb3BldGgsXG4gIFRwb2x5Z29uLFxuICBUcG9seXgsXG4gIFRyYnRjLFxuICBUcnVuZSxcbiAgVHJ4LFxuICBUc2diLFxuICBUc2VpLFxuICBUc29sLFxuICBUc29uZWl1bSxcbiAgVHN0eCxcbiAgVHN0dCxcbiAgVHN1aSxcbiAgVHN1c2QsXG4gIFR3ZW1peCxcbiAgVHdvcmxkLFxuICBUdGFvLFxuICBUdGVtcG8sXG4gIFR0aWEsXG4gIFR0b24sXG4gIFR0cngsXG4gIFR2ZXQsXG4gIFR4bG0sXG4gIFR4ZGMsXG4gIFR4cnAsXG4gIFR4dHosXG4gIFR6ZWMsXG4gIFR6ZXRhLFxuICBUemtldGgsXG4gIFZldCxcbiAgV2VtaXgsXG4gIFdvcmxkLFxuICBXb3JsZFRva2VuLFxuICBYZGMsXG4gIFhkY1Rva2VuLFxuICBYbG0sXG4gIFhycCxcbiAgWHJwTXB0VG9rZW4sXG4gIFhycFRva2VuLFxuICBYdHosXG4gIFplYyxcbiAgWmV0YSxcbiAgWmtldGgsXG4gIFprZXRoVG9rZW4sXG4gIFZldFRva2VuLFxufSBmcm9tICcuL2NvaW5zJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyQ29pbkNvbnN0cnVjdG9ycyhjb2luRmFjdG9yeTogQ29pbkZhY3RvcnksIGNvaW5NYXA6IENvaW5NYXAgPSBjb2lucyk6IHZvaWQge1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignYWRhJywgQWRhLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2FsZ28nLCBBbGdvLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2FwZWNoYWluJywgQXBlY2hhaW4uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignYXB0JywgQXB0LmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2FyYmV0aCcsIEFyYmV0aC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdhc2knLCBBc2kuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignYXRvbScsIEF0b20uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignYXZheGMnLCBBdmF4Qy5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdhdmF4cCcsIEF2YXhQLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2JhYnknLCBCYWJ5LmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2JjaCcsIEJjaC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdiY2hhJywgQmNoYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdiZXJhJywgQmVyYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdibGQnLCBCbGQuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignYnNjJywgQnNjLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2JzdicsIEJzdi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdidGMnLCBCdGMuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignYnRnJywgQnRnLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2NhbnRvbicsIENhbnRvbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdjZWxvJywgQ2Vsby5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdjb3JlZGFvJywgQ29yZWRhby5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdjb3JldW0nLCBDb3JldW0uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignY3Jvbm9zJywgQ3Jvbm9zLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2NzcHInLCBDc3ByLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2Rhc2gnLCBEYXNoLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2RvZ2UnLCBEb2dlLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2RvdCcsIERvdC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdlb3MnLCBFb3MuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignZXRjJywgRXRjLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2V0aCcsIEV0aC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdldGh3JywgRXRody5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdiYXNlZXRoJywgRXRoTGlrZUNvaW4uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3Rlcignb3BibmInLCBFdGhMaWtlQ29pbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdmYW50b20nLCBFdGhMaWtlQ29pbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdjb3RpZXRoJywgRXRoTGlrZUNvaW4uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3Rlcignb2cnLCBFdGhMaWtlQ29pbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0b2cnLCBFdGhMaWtlQ29pbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0b3BibmInLCBUZXRoTGlrZUNvaW4uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGZhbnRvbScsIFRldGhMaWtlQ29pbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0Y290aWV0aCcsIFRldGhMaWtlQ29pbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0YmFzZWV0aCcsIFRldGhMaWtlQ29pbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGZvciAoY29uc3QgZmlhdENvaW4gb2YgYWxsRmlhdENvaW5zKSB7XG4gICAgY29pbkZhY3RvcnkucmVnaXN0ZXIoZmlhdENvaW4uY2hhaW4sIEZpYXQuY3JlYXRlQ29uc3RydWN0b3IoZmlhdENvaW4pKTtcbiAgfVxuICBjb2luRmFjdG9yeS5yZWdpc3RlcignZmxyJywgRmxyLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2ZscnAnLCBGbHJwLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2d0ZXRoJywgR3RldGguY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignaGFzaCcsIEhhc2guY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignaGJhcicsIEhiYXIuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignaHRldGgnLCBIdGV0aC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdsbmJ0YycsIExuYnRjLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2x0YycsIEx0Yy5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdtb24nLCBNb24uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignaWNwJywgSWNwLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2luaXRpYScsIEluaXRpYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdpbmplY3RpdmUnLCBJbmplY3RpdmUuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignaW90YScsIElvdGEuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignaXNsbScsIElzbG0uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3Rlcigna2FzcGEnLCBLYXNwYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCduZWFyJywgTmVhci5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdvYXMnLCBPYXMuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3Rlcignb2ZjJywgT2ZjLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ29wZXRoJywgT3BldGguY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3Rlcignb3NtbycsIE9zbW8uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigncGVhcmwnLCBQZWFybC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdwb2x5Z29uJywgUG9seWdvbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdwb2x5eCcsIFBvbHl4LmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3JidGMnLCBSYnRjLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3Rob3JjaGFpbjpydW5lJywgUnVuZS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdzZWknLCBTZWkuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3Rlcignc2VwZXRoJywgU2VwZXRoLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3NnYicsIFNnYi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdzb2wnLCBTb2wuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3Rlcignc29uZWl1bScsIFNvbmVpdW0uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3Rlcignc3RhcmtuZXQnLCBTdGFya25ldC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdzdHgnLCBTdHguY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3Rlcignc3VpJywgU3VpLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3N1c2QnLCBTdXNkLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RhbycsIFRhby5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0ZW1wbycsIFRlbXBvLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RpYScsIFRpYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0b24nLCBUb24uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGFsZ28nLCBUYWxnby5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0YXBlY2hhaW4nLCBUYXBlY2hhaW4uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGFwdCcsIFRhcHQuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGFyYmV0aCcsIFRhcmJldGguY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGFkYScsIFRhZGEuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGFzaScsIFRhc2kuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGF0b20nLCBUYXRvbS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0YXZheGMnLCBUYXZheEMuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGF2YXhwJywgVGF2YXhQLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RiYWJ5JywgVGJhYnkuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGJjaCcsIFRiY2guY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGJjaGEnLCBUYmNoYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0YmVyYScsIFRiZXJhLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RibGQnLCBUYmxkLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3Ric2MnLCBUYnNjLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3Ric3YnLCBUYnN2LmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RidGMnLCBUYnRjLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RidGNzaWcnLCBUYnRjc2lnLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RidGM0JywgVGJ0YzQuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGJ0Y2Jnc2lnJywgVGJ0Y2Jnc2lnLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RidGNzdHgnLCBUYnRjc3R4LmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RidGNzdHhwcml2YXRlMScsIFRidGNzdHhwcml2YXRlMS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0YnRjc3R4c2lnbmV0JywgVGJ0Y3N0eHNpZ25ldC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0Y2FudG9uJywgVGNhbnRvbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0Y2VsbycsIFRjZWxvLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3Rjb3JlZGFvJywgVGNvcmVkYW8uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGNvcmV1bScsIFRjb3JldW0uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGNyb25vcycsIFRjcm9ub3MuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGNzcHInLCBUY3Nwci5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0ZGFzaCcsIFRkYXNoLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3Rkb2dlJywgVGRvZ2UuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGRvdCcsIFRkb3QuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGVvcycsIFRlb3MuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGV0YycsIFRldGMuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGV0aCcsIFRldGguY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGZscicsIFRmbHIuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGZscnAnLCBGbHJwLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3Rtb24nLCBUbW9uLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RoYXNoJywgVGhhc2guY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGhiYXInLCBUaGJhci5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0aWNwJywgVGljcC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0aW5pdGlhJywgVGluaXRpYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0aW5qZWN0aXZlJywgVGluamVjdGl2ZS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0aW90YScsIElvdGEuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGlzbG0nLCBUaXNsbS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0a2FzcGEnLCBLYXNwYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0bG5idGMnLCBUbG5idGMuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGx0YycsIFRsdGMuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndG5lYXInLCBUTmVhci5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0b2FzJywgVG9hcy5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0b3BldGgnLCBUb3BldGguY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndG9zbW8nLCBUb3Ntby5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0cGVhcmwnLCBUcGVhcmwuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndHBvbHlnb24nLCBUcG9seWdvbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0cG9seXgnLCBUcG9seXguY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndHJidGMnLCBUcmJ0Yy5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0c2diJywgVHNnYi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0dGhvcmNoYWluOnJ1bmUnLCBUcnVuZS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0cngnLCBUcnguY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndHNlaScsIFRzZWkuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndHNvbCcsIFRzb2wuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndHNvbmVpdW0nLCBUc29uZWl1bS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0c3RhcmtuZXQnLCBTdGFya25ldC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0c3R4JywgVHN0eC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0c3R0JywgVHN0dC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0c3VpJywgVHN1aS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0c3VzZCcsIFRzdXNkLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3R0YW8nLCBUdGFvLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3R0ZW1wbycsIFR0ZW1wby5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0dGlhJywgVHRpYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0dG9uJywgVHRvbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0dHJ4JywgVHRyeC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0dmV0JywgVHZldC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0eGRjJywgVHhkYy5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0eGxtJywgVHhsbS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0eHJwJywgVHhycC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0eHR6JywgVHh0ei5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0emVjJywgVHplYy5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0emV0YScsIFR6ZXRhLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3R6a2V0aCcsIFR6a2V0aC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0d2VtaXgnLCBUd2VtaXguY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndHdvcmxkJywgVHdvcmxkLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3ZldCcsIFZldC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd4ZGMnLCBYZGMuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigneGxtJywgWGxtLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3hycCcsIFhycC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd4dHonLCBYdHouY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3Rlcignd2VtaXgnLCBXZW1peC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd3b3JsZCcsIFdvcmxkLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3plYycsIFplYy5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd6ZXRhJywgWmV0YS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd6a2V0aCcsIFprZXRoLmNyZWF0ZUluc3RhbmNlKTtcblxuICBjb2luc1xuICAgIC5maWx0ZXIoKGNvaW4pID0+IGNvaW4uZmVhdHVyZXMuaW5jbHVkZXMoQ29pbkZlYXR1cmUuU0hBUkVEX0VWTV9TREspKVxuICAgIC5mb3JFYWNoKChjb2luKSA9PiB7XG4gICAgICBjb2luRmFjdG9yeS5yZWdpc3Rlcihjb2luLm5hbWUsIEV2bUNvaW4uY3JlYXRlSW5zdGFuY2UpO1xuICAgIH0pO1xuXG4gIGNvaW5zXG4gICAgLmZpbHRlcigoY29pbikgPT4gY29pbi5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5TSEFSRURfQ09TTU9TX1NESykpXG4gICAgLmZvckVhY2goKGNvaW4pID0+IHtcbiAgICAgIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKGNvaW4ubmFtZSwgQ29zbW9zU2hhcmVkQ29pbi5jcmVhdGVJbnN0YW5jZSk7XG4gICAgfSk7XG5cbiAgY29uc3QgdG9rZW5zID0gZ2V0Rm9ybWF0dGVkVG9rZW5zKGNvaW5NYXApO1xuXG4gIEVyYzIwVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoWy4uLnRva2Vucy5iaXRjb2luLmV0aC50b2tlbnMsIC4uLnRva2Vucy50ZXN0bmV0LmV0aC50b2tlbnNdKS5mb3JFYWNoKFxuICAgICh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgICBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICAgIH1cbiAgKTtcblxuICBFcmM3MjFUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhbLi4udG9rZW5zLmJpdGNvaW4uZXRoLm5mdHMsIC4uLnRva2Vucy50ZXN0bmV0LmV0aC5uZnRzXSkuZm9yRWFjaChcbiAgICAoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgICAgY29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgICB9XG4gICk7XG5cbiAgRXJjNzk4NFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKFtcbiAgICAuLi50b2tlbnMuYml0Y29pbi5ldGguY29uZmlkZW50aWFsVG9rZW5zLFxuICAgIC4uLnRva2Vucy50ZXN0bmV0LmV0aC5jb25maWRlbnRpYWxUb2tlbnMsXG4gIF0pLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcblxuICBTdGVsbGFyVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoWy4uLnRva2Vucy5iaXRjb2luLnhsbS50b2tlbnMsIC4uLnRva2Vucy50ZXN0bmV0LnhsbS50b2tlbnNdKS5mb3JFYWNoKFxuICAgICh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgICBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICAgIH1cbiAgKTtcblxuICBmb3IgKGNvbnN0IG9mY1Rva2VuIG9mIFsuLi50b2tlbnMuYml0Y29pbi5vZmMudG9rZW5zLCAuLi50b2tlbnMudGVzdG5ldC5vZmMudG9rZW5zXSkge1xuICAgIGNvbnN0IHRva2VuQ29uc3RydWN0b3IgPSBPZmNUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKG9mY1Rva2VuKTtcbiAgICBjb2luRmFjdG9yeS5yZWdpc3RlcihvZmNUb2tlbi50eXBlLCB0b2tlbkNvbnN0cnVjdG9yKTtcbiAgfVxuXG4gIENlbG9Ub2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhbLi4udG9rZW5zLmJpdGNvaW4uY2Vsby50b2tlbnMsIC4uLnRva2Vucy50ZXN0bmV0LmNlbG8udG9rZW5zXSkuZm9yRWFjaChcbiAgICAoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgICAgY29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgICB9XG4gICk7XG5cbiAgQnNjVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgY29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgfSk7XG5cbiAgRW9zVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoWy4uLnRva2Vucy5iaXRjb2luLmVvcy50b2tlbnMsIC4uLnRva2Vucy50ZXN0bmV0LmVvcy50b2tlbnNdKS5mb3JFYWNoKFxuICAgICh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgICBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICAgIH1cbiAgKTtcblxuICBBbGdvVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoWy4uLnRva2Vucy5iaXRjb2luLmFsZ28udG9rZW5zLCAuLi50b2tlbnMudGVzdG5ldC5hbGdvLnRva2Vuc10pLmZvckVhY2goXG4gICAgKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICAgIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gICAgfVxuICApO1xuXG4gIEF2YXhDVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgY29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgfSk7XG5cbiAgUG9seWdvblRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xuXG4gIFNvbmVpdW1Ub2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcblxuICBBcmJldGhUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcblxuICBPcGV0aFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xuXG4gIFprZXRoVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgY29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgfSk7XG5cbiAgQmVyYVRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xuXG4gIENvcmVkYW9Ub2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcblxuICBXb3JsZFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xuXG4gIFNvbFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKFsuLi50b2tlbnMuYml0Y29pbi5zb2wudG9rZW5zLCAuLi50b2tlbnMudGVzdG5ldC5zb2wudG9rZW5zXSkuZm9yRWFjaChcbiAgICAoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgICAgY29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgICB9XG4gICk7XG5cbiAgQ2FudG9uVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoWy4uLnRva2Vucy5iaXRjb2luLmNhbnRvbi50b2tlbnMsIC4uLnRva2Vucy50ZXN0bmV0LmNhbnRvbi50b2tlbnNdKS5mb3JFYWNoKFxuICAgICh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgICBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICAgIH1cbiAgKTtcblxuICBIYmFyVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoWy4uLnRva2Vucy5iaXRjb2luLmhiYXIudG9rZW5zLCAuLi50b2tlbnMudGVzdG5ldC5oYmFyLnRva2Vuc10pLmZvckVhY2goXG4gICAgKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICAgIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gICAgfVxuICApO1xuXG4gIFRyeFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKFsuLi50b2tlbnMuYml0Y29pbi50cngudG9rZW5zLCAuLi50b2tlbnMudGVzdG5ldC50cngudG9rZW5zXSkuZm9yRWFjaChcbiAgICAoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgICAgY29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgICB9XG4gICk7XG5cbiAgQWRhVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoWy4uLnRva2Vucy5iaXRjb2luLmFkYS50b2tlbnMsIC4uLnRva2Vucy50ZXN0bmV0LmFkYS50b2tlbnNdKS5mb3JFYWNoKFxuICAgICh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpXG4gICk7XG5cbiAgU3VpVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoWy4uLnRva2Vucy5iaXRjb2luLnN1aS50b2tlbnMsIC4uLnRva2Vucy50ZXN0bmV0LnN1aS50b2tlbnNdKS5mb3JFYWNoKFxuICAgICh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpXG4gICk7XG5cbiAgVGFvVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoWy4uLnRva2Vucy5iaXRjb2luLnRhby50b2tlbnMsIC4uLnRva2Vucy50ZXN0bmV0LnRhby50b2tlbnNdKS5mb3JFYWNoKFxuICAgICh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpXG4gICk7XG5cbiAgVGlwMjBUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhbLi4udG9rZW5zLmJpdGNvaW4udGVtcG8udG9rZW5zLCAuLi50b2tlbnMudGVzdG5ldC50ZW1wby50b2tlbnNdKS5mb3JFYWNoKFxuICAgICh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpXG4gICk7XG5cbiAgUG9seXhUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhbLi4udG9rZW5zLmJpdGNvaW4ucG9seXgudG9rZW5zLCAuLi50b2tlbnMudGVzdG5ldC5wb2x5eC50b2tlbnNdKS5mb3JFYWNoKFxuICAgICh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpXG4gICk7XG5cbiAgWHJwVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoWy4uLnRva2Vucy5iaXRjb2luLnhycC50b2tlbnMsIC4uLnRva2Vucy50ZXN0bmV0LnhycC50b2tlbnNdKS5mb3JFYWNoKFxuICAgICh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpXG4gICk7XG5cbiAgWHJwTXB0VG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoWy4uLnRva2Vucy5iaXRjb2luLnhycC5tcHRUb2tlbnMsIC4uLnRva2Vucy50ZXN0bmV0LnhycC5tcHRUb2tlbnNdKS5mb3JFYWNoKFxuICAgICh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpXG4gICk7XG5cbiAgQXB0VG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoWy4uLnRva2Vucy5iaXRjb2luLmFwdC50b2tlbnMsIC4uLnRva2Vucy50ZXN0bmV0LmFwdC50b2tlbnNdKS5mb3JFYWNoKFxuICAgICh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpXG4gICk7XG5cbiAgU2lwMTBUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhbLi4udG9rZW5zLmJpdGNvaW4uc3R4LnRva2VucywgLi4udG9rZW5zLnRlc3RuZXQuc3R4LnRva2Vuc10pLmZvckVhY2goXG4gICAgKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IGNvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3RvcilcbiAgKTtcblxuICBOZXAxNDFUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhbLi4udG9rZW5zLmJpdGNvaW4ubmVhci50b2tlbnMsIC4uLnRva2Vucy50ZXN0bmV0Lm5lYXIudG9rZW5zXSkuZm9yRWFjaChcbiAgICAoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4gY29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKVxuICApO1xuXG4gIEhhc2hUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhbLi4udG9rZW5zLmJpdGNvaW4uY29zbW9zLnRva2VucywgLi4udG9rZW5zLnRlc3RuZXQuY29zbW9zLnRva2Vuc10pLmZvckVhY2goXG4gICAgKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IGNvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3RvcilcbiAgKTtcblxuICBKZXR0b25Ub2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhbLi4udG9rZW5zLmJpdGNvaW4udG9uLnRva2VucywgLi4udG9rZW5zLnRlc3RuZXQudG9uLnRva2Vuc10pLmZvckVhY2goXG4gICAgKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IGNvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3RvcilcbiAgKTtcblxuICBWZXRUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+XG4gICAgY29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKVxuICApO1xuXG4gIEZsclRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xuXG4gIE1vblRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xuXG4gIFhkY1Rva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xuXG4gIC8vIEdlbmVyaWMgRVJDMjAgdG9rZW4gcmVnaXN0cmF0aW9uIGZvciBjb2lucyB3aXRoIFNVUFBPUlRTX0VSQzIwIGZlYXR1cmUuXG4gIC8vIFRva2VuIGNvbmZpZ3MgY29tZSBmcm9tIHRoZSBydW50aW1lIGNvaW4gbWFwIChzdGF0aWNzICsgQU1TKSwgc28gQU1TLW9ubHkgdG9rZW5zIG9uIHRoZXNlXG4gIC8vIGZhbWlsaWVzIHJlc29sdmUgdGhyb3VnaCB0aGUgZmFtaWx5LWFnbm9zdGljIEV0aExpa2VFcmMyMFRva2VuIGNvbnN0cnVjdG9yLlxuICAvLyBPbmx5IG1haW5uZXQgYmFzZSBjb2lucyBhcmUgaXRlcmF0ZWQ6IHRoZWlyIGNvbmZpZ3MgY292ZXIgYm90aCBuZXR3b3JrcywgYW5kIGl0ZXJhdGluZyB0aGVcbiAgLy8gdGVzdG5ldCBzaWJsaW5ncyB3b3VsZCByZS1yZWdpc3RlciB0aGUgc2FtZSB0b2tlbiBuYW1lcyB3aXRoIHRlc3RuZXQtZGVyaXZlZCBjb2luTmFtZXMuXG4gIGNvbnN0IGV2bUVyYzIwVG9rZW5zQnlGYW1pbHkgPSBnZXRFdm1Ub2tlbnNCeUZhbWlseShjb2luTWFwLCBUb2tlblR5cGVFbnVtLkVSQzIwKTtcbiAgY29pbnNcbiAgICAuZmlsdGVyKFxuICAgICAgKGNvaW4pID0+XG4gICAgICAgIGNvaW4uZmVhdHVyZXMuaW5jbHVkZXMoQ29pbkZlYXR1cmUuU1VQUE9SVFNfRVJDMjApICYmICFjb2luLmlzVG9rZW4gJiYgY29pbi5uZXR3b3JrLnR5cGUgPT09IE5ldHdvcmtUeXBlLk1BSU5ORVRcbiAgICApXG4gICAgLmZvckVhY2goKGNvaW4pID0+IHtcbiAgICAgIGNvbnN0IGNvaW5OYW1lcyA9IHtcbiAgICAgICAgTWFpbm5ldDogYCR7Y29pbi5uYW1lfWAsXG4gICAgICAgIFRlc3RuZXQ6IGB0JHtjb2luLm5hbWV9YCxcbiAgICAgIH07XG5cbiAgICAgIEV0aExpa2VFcmMyMFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKGNvaW5OYW1lcywgZXZtRXJjMjBUb2tlbnNCeUZhbWlseVtjb2luLmZhbWlseV0gPz8gW10pLmZvckVhY2goXG4gICAgICAgICh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgICAgICAgY29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcblxuICAvLyBHZW5lcmljIEVSQzcyMSB0b2tlbiByZWdpc3RyYXRpb24gZm9yIGNvaW5zIHdpdGggU1VQUE9SVFNfRVJDNzIxIGZlYXR1cmVcbiAgY29uc3QgZXZtRXJjNzIxVG9rZW5zQnlGYW1pbHkgPSBnZXRFdm1Ub2tlbnNCeUZhbWlseShjb2luTWFwLCBUb2tlblR5cGVFbnVtLkVSQzcyMSk7XG4gIGNvaW5zXG4gICAgLmZpbHRlcihcbiAgICAgIChjb2luKSA9PlxuICAgICAgICBjb2luLmZlYXR1cmVzLmluY2x1ZGVzKENvaW5GZWF0dXJlLlNVUFBPUlRTX0VSQzcyMSkgJiZcbiAgICAgICAgIWNvaW4uaXNUb2tlbiAmJlxuICAgICAgICBjb2luLm5ldHdvcmsudHlwZSA9PT0gTmV0d29ya1R5cGUuTUFJTk5FVFxuICAgIClcbiAgICAuZm9yRWFjaCgoY29pbikgPT4ge1xuICAgICAgY29uc3QgY29pbk5hbWVzID0ge1xuICAgICAgICBNYWlubmV0OiBgJHtjb2luLm5hbWV9YCxcbiAgICAgICAgVGVzdG5ldDogYHQke2NvaW4ubmFtZX1gLFxuICAgICAgfTtcblxuICAgICAgRXRoTGlrZUVyYzcyMVRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKGNvaW5OYW1lcywgZXZtRXJjNzIxVG9rZW5zQnlGYW1pbHlbY29pbi5mYW1pbHldID8/IFtdKS5mb3JFYWNoKFxuICAgICAgICAoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgICAgICAgIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSk7XG5cbiAgLy8gQU1TLW9ubHkgdG9rZW5zIG9uIEVWTSBmYW1pbGllcyB3aG9zZSBiYXNlIGNvaW4gZG9lcyBub3QgY2FycnkgU1VQUE9SVFNfRVJDMjAgKGxlZ2FjeVxuICAvLyBmYW1pbGllcyB3aXRoIHBlci1mYW1pbHkgdG9rZW4gY2xhc3NlcywgZS5nLiBic2MsIHBvbHlnb24sIGFyYmV0aCwgLi4uKSBhcmUgbm90IGNvdmVyZWQgYnlcbiAgLy8gdGhlIGxvb3AgYWJvdmUuIFJlZ2lzdGVyIHRoZW0gdGhyb3VnaCB0aGUgZmFtaWx5LWFnbm9zdGljIEV0aExpa2VFcmMyMFRva2VuIC9cbiAgLy8gRXRoTGlrZUVyYzcyMVRva2VuIGNvbnN0cnVjdG9ycywgc2tpcHBpbmcgbmFtZXMgdGhhdCBhbHJlYWR5IGhhdmUgYSBjb25zdHJ1Y3RvciBzbyBidW5kbGVkXG4gIC8vIHN0YXRpY3MgdG9rZW5zIGtlZXAgdGhlaXIgZmFtaWx5LXNwZWNpZmljIGNsYXNzLlxuICBjb25zdCByZWdpc3RlckR5bmFtaWNFdm1Ub2tlbnMgPSAoXG4gICAgZXZtVG9rZW5zQnlGYW1pbHk6IHsgW2ZhbWlseTogc3RyaW5nXTogRXRoTGlrZVRva2VuQ29uZmlnW10gfSxcbiAgICBUb2tlbkNsYXNzOiB0eXBlb2YgRXRoTGlrZUVyYzIwVG9rZW4gfCB0eXBlb2YgRXRoTGlrZUVyYzcyMVRva2VuXG4gICk6IHZvaWQgPT4ge1xuICAgIGZvciAoY29uc3QgW2ZhbWlseSwgZmFtaWx5VG9rZW5zXSBvZiBPYmplY3QuZW50cmllcyhldm1Ub2tlbnNCeUZhbWlseSkpIHtcbiAgICAgIGNvbnN0IGJhc2VDb2luID0gY29pbnMuZ2V0T3JVbmRlZmluZWQoZmFtaWx5KTtcbiAgICAgIC8vIFRoZSBnZW5lcmljIHRva2VuIGNsYXNzZXMgcmVzb2x2ZSB0aGVpciBzdGF0aWNzIGJhc2UgY29pbiBieSBuYW1lLCBzbyBza2lwIGZhbWlsaWVzXG4gICAgICAvLyB3aXRob3V0IGEgc3RhdGljcyBiYXNlIGNvaW4gKGR5bmFtaWNhbGx5IG9uYm9hcmRlZCBjaGFpbnMgYXJlIG91dCBvZiBzY29wZSBoZXJlKS5cbiAgICAgIGlmICghYmFzZUNvaW4gfHwgYmFzZUNvaW4uaXNUb2tlbiB8fCBiYXNlQ29pbi5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5TVVBQT1JUU19FUkMyMCkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjb25zdCBjb2luTmFtZXMgPSB7IE1haW5uZXQ6IGZhbWlseSwgVGVzdG5ldDogYHQke2ZhbWlseX1gIH07XG4gICAgICBmb3IgKGNvbnN0IHRva2VuQ29uZmlnIG9mIGZhbWlseVRva2Vucykge1xuICAgICAgICBpZiAoY29pbkZhY3RvcnkuaGFzQ29pbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnLnR5cGUpKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdG9rZW5Db25zdHJ1Y3RvciA9IFRva2VuQ2xhc3MuY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZywgY29pbk5hbWVzKTtcbiAgICAgICAgY29pbkZhY3RvcnkucmVnaXN0ZXIodG9rZW5Db25maWcudHlwZSwgdG9rZW5Db25zdHJ1Y3Rvcik7XG4gICAgICAgIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKHRva2VuQ29uZmlnLnRva2VuQ29udHJhY3RBZGRyZXNzLCB0b2tlbkNvbnN0cnVjdG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG4gIHJlZ2lzdGVyRHluYW1pY0V2bVRva2Vucyhldm1FcmMyMFRva2Vuc0J5RmFtaWx5LCBFdGhMaWtlRXJjMjBUb2tlbik7XG4gIHJlZ2lzdGVyRHluYW1pY0V2bVRva2Vucyhldm1FcmM3MjFUb2tlbnNCeUZhbWlseSwgRXRoTGlrZUVyYzcyMVRva2VuKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvaW5Db25zdHJ1Y3Rvcihjb2luTmFtZTogc3RyaW5nKTogQ29pbkNvbnN0cnVjdG9yIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgZXZtQ29pbnMgPSBjb2lucy5maWx0ZXIoKGNvaW4pID0+IGNvaW4uZmVhdHVyZXMuaW5jbHVkZXMoQ29pbkZlYXR1cmUuU0hBUkVEX0VWTV9TREspKTtcbiAgY29uc3QgY29zbW9zU2hhcmVkQ29pbnMgPSBjb2lucy5maWx0ZXIoKGNvaW4pID0+IGNvaW4uZmVhdHVyZXMuaW5jbHVkZXMoQ29pbkZlYXR1cmUuU0hBUkVEX0NPU01PU19TREspKTtcbiAgaWYgKGV2bUNvaW5zLmhhcyhjb2luTmFtZSkpIHtcbiAgICByZXR1cm4gRXZtQ29pbi5jcmVhdGVJbnN0YW5jZTtcbiAgfVxuICBpZiAoY29zbW9zU2hhcmVkQ29pbnMuaGFzKGNvaW5OYW1lKSkge1xuICAgIHJldHVybiBDb3Ntb3NTaGFyZWRDb2luLmNyZWF0ZUluc3RhbmNlO1xuICB9XG4gIHN3aXRjaCAoY29pbk5hbWUpIHtcbiAgICBjYXNlICdhZGEnOlxuICAgICAgcmV0dXJuIEFkYS5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdhbGdvJzpcbiAgICAgIHJldHVybiBBbGdvLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2FwZWNoYWluJzpcbiAgICAgIHJldHVybiBBcGVjaGFpbi5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdhcHQnOlxuICAgICAgcmV0dXJuIEFwdC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdhcmJldGgnOlxuICAgICAgcmV0dXJuIEFyYmV0aC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdhc2knOlxuICAgICAgcmV0dXJuIEFzaS5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdhdG9tJzpcbiAgICAgIHJldHVybiBBdG9tLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2F2YXhjJzpcbiAgICAgIHJldHVybiBBdmF4Qy5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdhdmF4cCc6XG4gICAgICByZXR1cm4gQXZheFAuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnYmFieSc6XG4gICAgICByZXR1cm4gQmFieS5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdiY2gnOlxuICAgICAgcmV0dXJuIEJjaC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdiY2hhJzpcbiAgICAgIHJldHVybiBCY2hhLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2JlcmEnOlxuICAgICAgcmV0dXJuIEJlcmEuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnYmxkJzpcbiAgICAgIHJldHVybiBCbGQuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnYnNjJzpcbiAgICAgIHJldHVybiBCc2MuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnYnN2JzpcbiAgICAgIHJldHVybiBCc3YuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnYnRjJzpcbiAgICAgIHJldHVybiBCdGMuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnYnRnJzpcbiAgICAgIHJldHVybiBCdGcuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnY2FudG9uJzpcbiAgICAgIHJldHVybiBDYW50b24uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnY2Vsbyc6XG4gICAgICByZXR1cm4gQ2Vsby5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdjb3JlZGFvJzpcbiAgICAgIHJldHVybiBDb3JlZGFvLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2NvcmV1bSc6XG4gICAgICByZXR1cm4gQ29yZXVtLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2Nyb25vcyc6XG4gICAgICByZXR1cm4gQ3Jvbm9zLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2NzcHInOlxuICAgICAgcmV0dXJuIENzcHIuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnZGFzaCc6XG4gICAgICByZXR1cm4gRGFzaC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdkb2dlJzpcbiAgICAgIHJldHVybiBEb2dlLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2RvdCc6XG4gICAgICByZXR1cm4gRG90LmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2Vvcyc6XG4gICAgICByZXR1cm4gRW9zLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2V0Yyc6XG4gICAgICByZXR1cm4gRXRjLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2V0aCc6XG4gICAgICByZXR1cm4gRXRoLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2V0aHcnOlxuICAgICAgcmV0dXJuIEV0aHcuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnYmFzZWV0aCc6XG4gICAgICByZXR1cm4gRXRoTGlrZUNvaW4uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnb3BibmInOlxuICAgICAgcmV0dXJuIEV0aExpa2VDb2luLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2ZhbnRvbSc6XG4gICAgICByZXR1cm4gRXRoTGlrZUNvaW4uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnY290aWV0aCc6XG4gICAgICByZXR1cm4gRXRoTGlrZUNvaW4uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGJhc2VldGgnOlxuICAgICAgcmV0dXJuIFRldGhMaWtlQ29pbi5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0b3BibmInOlxuICAgICAgcmV0dXJuIFRldGhMaWtlQ29pbi5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0ZmFudG9tJzpcbiAgICAgIHJldHVybiBUZXRoTGlrZUNvaW4uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGNvdGlldGgnOlxuICAgICAgcmV0dXJuIFRldGhMaWtlQ29pbi5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdmbHInOlxuICAgICAgcmV0dXJuIEZsci5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdmbHJwJzpcbiAgICAgIHJldHVybiBGbHJwLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2d0ZXRoJzpcbiAgICAgIHJldHVybiBHdGV0aC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdoYXNoJzpcbiAgICAgIHJldHVybiBIYXNoLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2hiYXInOlxuICAgICAgcmV0dXJuIEhiYXIuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnaHRldGgnOlxuICAgICAgcmV0dXJuIEh0ZXRoLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2xuYnRjJzpcbiAgICAgIHJldHVybiBMbmJ0Yy5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdsdGMnOlxuICAgICAgcmV0dXJuIEx0Yy5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdtb24nOlxuICAgICAgcmV0dXJuIE1vbi5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdpY3AnOlxuICAgICAgcmV0dXJuIEljcC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdpbml0aWEnOlxuICAgICAgcmV0dXJuIEluaXRpYS5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdpbmplY3RpdmUnOlxuICAgICAgcmV0dXJuIEluamVjdGl2ZS5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdpb3RhJzpcbiAgICAgIHJldHVybiBJb3RhLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2lzbG0nOlxuICAgICAgcmV0dXJuIElzbG0uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAna2FzcGEnOlxuICAgICAgcmV0dXJuIEthc3BhLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ25lYXInOlxuICAgICAgcmV0dXJuIE5lYXIuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnb2FzJzpcbiAgICAgIHJldHVybiBPYXMuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnb2ZjJzpcbiAgICAgIHJldHVybiBPZmMuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnb3BldGgnOlxuICAgICAgcmV0dXJuIE9wZXRoLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ29zbW8nOlxuICAgICAgcmV0dXJuIE9zbW8uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAncGVhcmwnOlxuICAgICAgcmV0dXJuIFBlYXJsLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3BvbHlnb24nOlxuICAgICAgcmV0dXJuIFBvbHlnb24uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAncG9seXgnOlxuICAgICAgcmV0dXJuIFBvbHl4LmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3JidGMnOlxuICAgICAgcmV0dXJuIFJidGMuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGhvcmNoYWluOnJ1bmUnOlxuICAgICAgcmV0dXJuIFJ1bmUuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnc2VpJzpcbiAgICAgIHJldHVybiBTZWkuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnc2VwZXRoJzpcbiAgICAgIHJldHVybiBTZXBldGguY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnc2diJzpcbiAgICAgIHJldHVybiBTZ2IuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnc29sJzpcbiAgICAgIHJldHVybiBTb2wuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnc29uZWl1bSc6XG4gICAgICByZXR1cm4gU29uZWl1bS5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdzdGFya25ldCc6XG4gICAgICByZXR1cm4gU3RhcmtuZXQuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnc3R4JzpcbiAgICAgIHJldHVybiBTdHguY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnc3VpJzpcbiAgICAgIHJldHVybiBTdWkuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnc3VzZCc6XG4gICAgICByZXR1cm4gU3VzZC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0YW8nOlxuICAgICAgcmV0dXJuIFRhby5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0ZW1wbyc6XG4gICAgICByZXR1cm4gVGVtcG8uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGlhJzpcbiAgICAgIHJldHVybiBUaWEuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndG9uJzpcbiAgICAgIHJldHVybiBUb24uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGFsZ28nOlxuICAgICAgcmV0dXJuIFRhbGdvLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RhcGVjaGFpbic6XG4gICAgICByZXR1cm4gVGFwZWNoYWluLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RhcHQnOlxuICAgICAgcmV0dXJuIFRhcHQuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGFyYmV0aCc6XG4gICAgICByZXR1cm4gVGFyYmV0aC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0YWRhJzpcbiAgICAgIHJldHVybiBUYWRhLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3Rhc2knOlxuICAgICAgcmV0dXJuIFRhc2kuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGF0b20nOlxuICAgICAgcmV0dXJuIFRhdG9tLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RhdmF4Yyc6XG4gICAgICByZXR1cm4gVGF2YXhDLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RhdmF4cCc6XG4gICAgICByZXR1cm4gVGF2YXhQLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RiYWJ5JzpcbiAgICAgIHJldHVybiBUYmFieS5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0YmNoJzpcbiAgICAgIHJldHVybiBUYmNoLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RiY2hhJzpcbiAgICAgIHJldHVybiBUYmNoYS5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0YmVyYSc6XG4gICAgICByZXR1cm4gVGJlcmEuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGJsZCc6XG4gICAgICByZXR1cm4gVGJsZC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0YnNjJzpcbiAgICAgIHJldHVybiBUYnNjLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3Ric3YnOlxuICAgICAgcmV0dXJuIFRic3YuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGJ0Yyc6XG4gICAgICByZXR1cm4gVGJ0Yy5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0YnRjc2lnJzpcbiAgICAgIHJldHVybiBUYnRjc2lnLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RidGM0JzpcbiAgICAgIHJldHVybiBUYnRjNC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0YnRjYmdzaWcnOlxuICAgICAgcmV0dXJuIFRidGNiZ3NpZy5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0Y2FudG9uJzpcbiAgICAgIHJldHVybiBUY2FudG9uLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RjZWxvJzpcbiAgICAgIHJldHVybiBUY2Vsby5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0Y29yZWRhbyc6XG4gICAgICByZXR1cm4gVGNvcmVkYW8uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGNvcmV1bSc6XG4gICAgICByZXR1cm4gVGNvcmV1bS5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0Y3Jvbm9zJzpcbiAgICAgIHJldHVybiBUY3Jvbm9zLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3Rjc3ByJzpcbiAgICAgIHJldHVybiBUY3Nwci5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0ZGFzaCc6XG4gICAgICByZXR1cm4gVGRhc2guY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGRvZ2UnOlxuICAgICAgcmV0dXJuIFRkb2dlLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3Rkb3QnOlxuICAgICAgcmV0dXJuIFRkb3QuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGVvcyc6XG4gICAgICByZXR1cm4gVGVvcy5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0ZXRjJzpcbiAgICAgIHJldHVybiBUZXRjLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RldGgnOlxuICAgICAgcmV0dXJuIFRldGguY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGZscic6XG4gICAgICByZXR1cm4gVGZsci5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0ZmxycCc6XG4gICAgICByZXR1cm4gRmxycC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0bW9uJzpcbiAgICAgIHJldHVybiBUbW9uLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RoYXNoJzpcbiAgICAgIHJldHVybiBUaGFzaC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0aGJhcic6XG4gICAgICByZXR1cm4gVGhiYXIuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGljcCc6XG4gICAgICByZXR1cm4gVGljcC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0aW5pdGlhJzpcbiAgICAgIHJldHVybiBUaW5pdGlhLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RpbmplY3RpdmUnOlxuICAgICAgcmV0dXJuIFRpbmplY3RpdmUuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGlvdGEnOlxuICAgICAgcmV0dXJuIElvdGEuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGlzbG0nOlxuICAgICAgcmV0dXJuIFRpc2xtLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RrYXNwYSc6XG4gICAgICByZXR1cm4gS2FzcGEuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGxuYnRjJzpcbiAgICAgIHJldHVybiBUbG5idGMuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGx0Yyc6XG4gICAgICByZXR1cm4gVGx0Yy5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0bmVhcic6XG4gICAgICByZXR1cm4gVE5lYXIuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndG9hcyc6XG4gICAgICByZXR1cm4gVG9hcy5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0b3BldGgnOlxuICAgICAgcmV0dXJuIFRvcGV0aC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0b3Ntbyc6XG4gICAgICByZXR1cm4gVG9zbW8uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndHBlYXJsJzpcbiAgICAgIHJldHVybiBUcGVhcmwuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndHBvbHlnb24nOlxuICAgICAgcmV0dXJuIFRwb2x5Z29uLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3Rwb2x5eCc6XG4gICAgICByZXR1cm4gVHBvbHl4LmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RyYnRjJzpcbiAgICAgIHJldHVybiBUcmJ0Yy5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0c2diJzpcbiAgICAgIHJldHVybiBUc2diLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3R0aG9yY2hhaW46cnVuZSc6XG4gICAgICByZXR1cm4gVHJ1bmUuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndHJ4JzpcbiAgICAgIHJldHVybiBUcnguY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndHNlaSc6XG4gICAgICByZXR1cm4gVHNlaS5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0c29sJzpcbiAgICAgIHJldHVybiBUc29sLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3Rzb25laXVtJzpcbiAgICAgIHJldHVybiBUc29uZWl1bS5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0c3RhcmtuZXQnOlxuICAgICAgcmV0dXJuIFN0YXJrbmV0LmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RzdHgnOlxuICAgICAgcmV0dXJuIFRzdHguY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndHN0dCc6XG4gICAgICByZXR1cm4gVHN0dC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0c3VpJzpcbiAgICAgIHJldHVybiBUc3VpLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RzdXNkJzpcbiAgICAgIHJldHVybiBUc3VzZC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0dGFvJzpcbiAgICAgIHJldHVybiBUdGFvLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3R0ZW1wbyc6XG4gICAgICByZXR1cm4gVHRlbXBvLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3R0aWEnOlxuICAgICAgcmV0dXJuIFR0aWEuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndHRvbic6XG4gICAgICByZXR1cm4gVHRvbi5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0dHJ4JzpcbiAgICAgIHJldHVybiBUdHJ4LmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3R2ZXQnOlxuICAgICAgcmV0dXJuIFR2ZXQuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndHhkYyc6XG4gICAgICByZXR1cm4gVHhkYy5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0eGxtJzpcbiAgICAgIHJldHVybiBUeGxtLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3R4cnAnOlxuICAgICAgcmV0dXJuIFR4cnAuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndHh0eic6XG4gICAgICByZXR1cm4gVHh0ei5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0emVjJzpcbiAgICAgIHJldHVybiBUemVjLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3R6ZXRhJzpcbiAgICAgIHJldHVybiBUemV0YS5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0emtldGgnOlxuICAgICAgcmV0dXJuIFR6a2V0aC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0d2VtaXgnOlxuICAgICAgcmV0dXJuIFR3ZW1peC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0d29ybGQnOlxuICAgICAgcmV0dXJuIFR3b3JsZC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd2ZXQnOlxuICAgICAgcmV0dXJuIFZldC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd4ZGMnOlxuICAgICAgcmV0dXJuIFhkYy5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd4bG0nOlxuICAgICAgcmV0dXJuIFhsbS5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd4cnAnOlxuICAgICAgcmV0dXJuIFhycC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd4dHonOlxuICAgICAgcmV0dXJuIFh0ei5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd3ZW1peCc6XG4gICAgICByZXR1cm4gV2VtaXguY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnd29ybGQnOlxuICAgICAgcmV0dXJuIFdvcmxkLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3plYyc6XG4gICAgICByZXR1cm4gWmVjLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3pldGEnOlxuICAgICAgcmV0dXJuIFpldGEuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnemtldGgnOlxuICAgICAgcmV0dXJuIFprZXRoLmNyZWF0ZUluc3RhbmNlO1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGNvbnN0IGZpYXRDb25maWcgPSBhbGxGaWF0Q29pbnMuZmluZCgoYykgPT4gYy5jaGFpbiA9PT0gY29pbk5hbWUpO1xuICAgICAgaWYgKGZpYXRDb25maWcpIHtcbiAgICAgICAgcmV0dXJuIEZpYXQuY3JlYXRlQ29uc3RydWN0b3IoZmlhdENvbmZpZyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VG9rZW5Db25zdHJ1Y3RvcihcbiAgdG9rZW5Db25maWc6IFRva2VuQ29uZmlnLFxuICBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj5cbik6IENvaW5Db25zdHJ1Y3RvciB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGNvaW4gPSBjb2lucy5nZXRPclVuZGVmaW5lZCh0b2tlbkNvbmZpZy5jb2luKTtcbiAgY29uc3Qgc3VwcG9ydHNFcmMyMCA9IGNvaW4/LmZlYXR1cmVzLmluY2x1ZGVzKENvaW5GZWF0dXJlLlNVUFBPUlRTX0VSQzIwKTtcbiAgY29uc3Qgc3VwcG9ydHNFcmM3MjEgPSBjb2luPy5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5TVVBQT1JUU19FUkM3MjEpO1xuICAvLyBQcmVzZXJ2ZSB0aGUgdG9rZW4ga2luZCBmcm9tIHRoZSBzb3VyY2Ugc3RhdGljcyBjb2luOiBmYW1pbGllcyBzdXBwb3J0aW5nIGJvdGggRVJDMjAgYW5kXG4gIC8vIEVSQzcyMSAoZS5nLiBoYmFyZXZtKSBjYW5ub3QgYmUgZGlzY3JpbWluYXRlZCBmcm9tIHRoZSB0b2tlbiBjb25maWcgb3IgZmVhdHVyZSBmbGFncyBhbG9uZS5cbiAgY29uc3QgaXNFcmM3MjFUb2tlbiA9IHN0YXRpY3NDb2luIGluc3RhbmNlb2YgRXRoTGlrZUVSQzcyMVRva2VuO1xuICBjb25zdCBHZW5lcmljVG9rZW5DbGFzcyA9XG4gICAgaXNFcmM3MjFUb2tlbiB8fCAoc3VwcG9ydHNFcmM3MjEgJiYgIXN1cHBvcnRzRXJjMjApID8gRXRoTGlrZUVyYzcyMVRva2VuIDogRXRoTGlrZUVyYzIwVG9rZW47XG5cbiAgaWYgKCduZXR3b3JrJyBpbiB0b2tlbkNvbmZpZyAmJiB0b2tlbkNvbmZpZy5uZXR3b3JrID09PSAnTWFpbm5ldCcgJiYgKHN1cHBvcnRzRXJjMjAgfHwgaXNFcmM3MjFUb2tlbikpIHtcbiAgICByZXR1cm4gR2VuZXJpY1Rva2VuQ2xhc3MuY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZyBhcyBFdGhMaWtlVG9rZW5Db25maWcsIHtcbiAgICAgIE1haW5uZXQ6IHRva2VuQ29uZmlnLmNvaW4sXG4gICAgICBUZXN0bmV0OiBgdCR7dG9rZW5Db25maWcuY29pbn1gLFxuICAgIH0pO1xuICB9XG5cbiAgaWYgKCduZXR3b3JrJyBpbiB0b2tlbkNvbmZpZyAmJiB0b2tlbkNvbmZpZy5uZXR3b3JrID09PSAnTWFpbm5ldCcgJiYgc3VwcG9ydHNFcmM3MjEpIHtcbiAgICByZXR1cm4gR2VuZXJpY1Rva2VuQ2xhc3MuY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZyBhcyBFdGhMaWtlVG9rZW5Db25maWcsIHtcbiAgICAgIE1haW5uZXQ6IHRva2VuQ29uZmlnLmNvaW4sXG4gICAgICBUZXN0bmV0OiBgdCR7dG9rZW5Db25maWcuY29pbn1gLFxuICAgIH0pO1xuICB9XG5cbiAgc3dpdGNoICh0b2tlbkNvbmZpZy5jb2luKSB7XG4gICAgY2FzZSAnZXRoJzpcbiAgICBjYXNlICdodGV0aCc6IHtcbiAgICAgIGNvbnN0IHN0YXRpY0NvaW4gPSBjb2lucy5nZXRPclVuZGVmaW5lZCh0b2tlbkNvbmZpZy50eXBlKTtcbiAgICAgIGlmIChzdGF0aWNDb2luIGluc3RhbmNlb2YgRXJjNzk4NENvaW4pIHtcbiAgICAgICAgcmV0dXJuIEVyYzc5ODRUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIEVyYzc5ODRUb2tlbkNvbmZpZyk7XG4gICAgICB9IGVsc2UgaWYgKHRva2VuQ29uZmlnLnR5cGUuaW5jbHVkZXMoJ2VyYzcyMScpKSB7XG4gICAgICAgIHJldHVybiBFcmM3MjFUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIEV0aExpa2VUb2tlbkNvbmZpZyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gRXJjMjBUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIEVyYzIwVG9rZW5Db25maWcpO1xuICAgICAgfVxuICAgIH1cbiAgICBjYXNlICd4bG0nOlxuICAgIGNhc2UgJ3R4bG0nOlxuICAgICAgcmV0dXJuIFN0ZWxsYXJUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIFN0ZWxsYXJUb2tlbkNvbmZpZyk7XG4gICAgY2FzZSAnb2ZjJzpcbiAgICAgIHJldHVybiBPZmNUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIE9mY1Rva2VuQ29uZmlnKTtcbiAgICBjYXNlICdjZWxvJzpcbiAgICBjYXNlICd0Y2Vsbyc6XG4gICAgICByZXR1cm4gQ2Vsb1Rva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgQ2Vsb1Rva2VuQ29uZmlnKTtcbiAgICBjYXNlICdic2MnOlxuICAgIGNhc2UgJ3Ric2MnOlxuICAgICAgcmV0dXJuIEJzY1Rva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgRXJjMjBUb2tlbkNvbmZpZyk7XG4gICAgY2FzZSAnZW9zJzpcbiAgICBjYXNlICd0ZW9zJzpcbiAgICAgIHJldHVybiBFb3NUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIEVvc1Rva2VuQ29uZmlnKTtcbiAgICBjYXNlICdhbGdvJzpcbiAgICBjYXNlICd0YWxnbyc6XG4gICAgICByZXR1cm4gQWxnb1Rva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgQWxnb1Rva2VuQ29uZmlnKTtcbiAgICBjYXNlICdhdmF4Yyc6XG4gICAgY2FzZSAndGF2YXhjJzpcbiAgICAgIHJldHVybiBBdmF4Q1Rva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgQXZheGNUb2tlbkNvbmZpZyk7XG4gICAgY2FzZSAncG9seWdvbic6XG4gICAgY2FzZSAndHBvbHlnb24nOlxuICAgICAgcmV0dXJuIFBvbHlnb25Ub2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIEV0aExpa2VUb2tlbkNvbmZpZyk7XG4gICAgY2FzZSAnc29uZWl1bSc6XG4gICAgY2FzZSAndHNvbmVpdW0nOlxuICAgICAgcmV0dXJuIFNvbmVpdW1Ub2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIEV0aExpa2VUb2tlbkNvbmZpZyk7XG4gICAgY2FzZSAnYXJiZXRoJzpcbiAgICBjYXNlICd0YXJiZXRoJzpcbiAgICAgIHJldHVybiBBcmJldGhUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIEV0aExpa2VUb2tlbkNvbmZpZyk7XG4gICAgY2FzZSAnb3BldGgnOlxuICAgIGNhc2UgJ3RvcGV0aCc6XG4gICAgICByZXR1cm4gT3BldGhUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIEV0aExpa2VUb2tlbkNvbmZpZyk7XG4gICAgY2FzZSAnemtldGgnOlxuICAgIGNhc2UgJ3R6a2V0aCc6XG4gICAgICByZXR1cm4gWmtldGhUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIEV0aExpa2VUb2tlbkNvbmZpZyk7XG4gICAgY2FzZSAnemtzeW5jZXJhJzpcbiAgICBjYXNlICd0emtzeW5jZXJhJzoge1xuICAgICAgY29uc3QgemtzeW5jZXJhQ29pbk5hbWVzID0geyBNYWlubmV0OiAnemtzeW5jZXJhJywgVGVzdG5ldDogJ3R6a3N5bmNlcmEnIH07XG4gICAgICByZXR1cm4gRXRoTGlrZUVyYzIwVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZyBhcyBFdGhMaWtlVG9rZW5Db25maWcsIHprc3luY2VyYUNvaW5OYW1lcyk7XG4gICAgfVxuICAgIGNhc2UgJ2JlcmEnOlxuICAgIGNhc2UgJ3RiZXJhJzpcbiAgICAgIHJldHVybiBCZXJhVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZyBhcyBFdGhMaWtlVG9rZW5Db25maWcpO1xuICAgIGNhc2UgJ2Jhc2VldGgnOlxuICAgIGNhc2UgJ3RiYXNlZXRoJzpcbiAgICAgIGNvbnN0IGNvaW5OYW1lcyA9IHsgTWFpbm5ldDogJ2Jhc2VldGgnLCBUZXN0bmV0OiAndGJhc2VldGgnIH07XG4gICAgICByZXR1cm4gRXRoTGlrZUVyYzIwVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZyBhcyBFdGhMaWtlVG9rZW5Db25maWcsIGNvaW5OYW1lcyk7XG4gICAgY2FzZSAnb3BibmInOlxuICAgIGNhc2UgJ3RvcGJuYic6XG4gICAgICBjb25zdCBvcGJuYkNvaW5OYW1lcyA9IHsgTWFpbm5ldDogJ29wYm5iJywgVGVzdG5ldDogJ3RvcGJuYicgfTtcbiAgICAgIHJldHVybiBFdGhMaWtlRXJjMjBUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIEV0aExpa2VUb2tlbkNvbmZpZywgb3BibmJDb2luTmFtZXMpO1xuICAgIGNhc2UgJ2NvcmVkYW8nOlxuICAgIGNhc2UgJ3Rjb3JlZGFvJzpcbiAgICAgIHJldHVybiBDb3JlZGFvVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZyBhcyBFdGhMaWtlVG9rZW5Db25maWcpO1xuICAgIGNhc2UgJ3dvcmxkJzpcbiAgICBjYXNlICd0d29ybGQnOlxuICAgICAgcmV0dXJuIFdvcmxkVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZyBhcyBFdGhMaWtlVG9rZW5Db25maWcpO1xuICAgIGNhc2UgJ3NvbCc6XG4gICAgY2FzZSAndHNvbCc6XG4gICAgICByZXR1cm4gU29sVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZyBhcyBTb2xUb2tlbkNvbmZpZyk7XG4gICAgY2FzZSAnaGJhcic6XG4gICAgY2FzZSAndGhiYXInOlxuICAgICAgcmV0dXJuIEhiYXJUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIEhiYXJUb2tlbkNvbmZpZyk7XG4gICAgY2FzZSAndHJ4JzpcbiAgICBjYXNlICd0dHJ4JzpcbiAgICAgIHJldHVybiBUcnhUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIFRyeFRva2VuQ29uZmlnKTtcbiAgICBjYXNlICdhZGEnOlxuICAgIGNhc2UgJ3RhZGEnOlxuICAgICAgcmV0dXJuIEFkYVRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgQWRhVG9rZW5Db25maWcpO1xuICAgIGNhc2UgJ3N1aSc6XG4gICAgY2FzZSAndHN1aSc6XG4gICAgICByZXR1cm4gU3VpVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZyBhcyBTdWlUb2tlbkNvbmZpZyk7XG4gICAgY2FzZSAndGFvJzpcbiAgICBjYXNlICd0dGFvJzpcbiAgICAgIHJldHVybiBUYW9Ub2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIFRhb1Rva2VuQ29uZmlnKTtcbiAgICBjYXNlICd0ZW1wbyc6XG4gICAgY2FzZSAndHRlbXBvJzpcbiAgICAgIHJldHVybiBUaXAyMFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgVGlwMjBUb2tlbkNvbmZpZyk7XG4gICAgY2FzZSAncG9seXgnOlxuICAgIGNhc2UgJ3Rwb2x5eCc6XG4gICAgICByZXR1cm4gUG9seXhUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIFBvbHl4VG9rZW5Db25maWcpO1xuICAgIGNhc2UgJ3hycCc6XG4gICAgY2FzZSAndHhycCc6XG4gICAgICBpZiAoJ2NhblRyYW5zZmVyJyBpbiB0b2tlbkNvbmZpZykge1xuICAgICAgICByZXR1cm4gWHJwTXB0VG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZyBhcyBYcnBNcHRUb2tlbkNvbmZpZyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gWHJwVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZyBhcyBYcnBUb2tlbkNvbmZpZyk7XG4gICAgY2FzZSAnYXB0JzpcbiAgICBjYXNlICd0YXB0JzpcbiAgICAgIHJldHVybiBBcHRUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIEFwdFRva2VuQ29uZmlnKTtcbiAgICBjYXNlICdmbG93JzpcbiAgICBjYXNlICd0Zmxvdyc6IHtcbiAgICAgIGNvbnN0IGNvaW5OYW1lcyA9IHsgTWFpbm5ldDogJ2Zsb3cnLCBUZXN0bmV0OiAndGZsb3cnIH07XG4gICAgICByZXR1cm4gRXRoTGlrZUVyYzIwVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZyBhcyBFdGhMaWtlVG9rZW5Db25maWcsIGNvaW5OYW1lcyk7XG4gICAgfVxuICAgIGNhc2UgJ3NlaWV2bSc6XG4gICAgY2FzZSAndHNlaWV2bSc6IHtcbiAgICAgIGNvbnN0IGNvaW5OYW1lcyA9IHsgTWFpbm5ldDogJ3NlaWV2bScsIFRlc3RuZXQ6ICd0c2VpZXZtJyB9O1xuICAgICAgcmV0dXJuIEV0aExpa2VFcmMyMFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgRXRoTGlrZVRva2VuQ29uZmlnLCBjb2luTmFtZXMpO1xuICAgIH1cbiAgICBjYXNlICdsaW5lYWV0aCc6XG4gICAgY2FzZSAndGxpbmVhZXRoJzoge1xuICAgICAgY29uc3QgY29pbk5hbWVzID0geyBNYWlubmV0OiAnbGluZWFldGgnLCBUZXN0bmV0OiAndGxpbmVhZXRoJyB9O1xuICAgICAgcmV0dXJuIEV0aExpa2VFcmMyMFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgRXRoTGlrZVRva2VuQ29uZmlnLCBjb2luTmFtZXMpO1xuICAgIH1cbiAgICBjYXNlICdzdHgnOlxuICAgIGNhc2UgJ3RzdHgnOlxuICAgICAgcmV0dXJuIFNpcDEwVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZyBhcyBTaXAxMFRva2VuQ29uZmlnKTtcbiAgICBjYXNlICduZWFyJzpcbiAgICBjYXNlICd0bmVhcic6XG4gICAgICByZXR1cm4gTmVwMTQxVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZyBhcyBOZXAxNDFUb2tlbkNvbmZpZyk7XG4gICAgY2FzZSAndmV0JzpcbiAgICBjYXNlICd0dmV0JzpcbiAgICAgIHJldHVybiBWZXRUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIFZldFRva2VuQ29uZmlnKTtcbiAgICBjYXNlICdoYXNoJzpcbiAgICBjYXNlICd0aGFzaCc6XG4gICAgICByZXR1cm4gSGFzaFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgQ29zbW9zVG9rZW5Db25maWcpO1xuICAgIGNhc2UgJ2Zscic6XG4gICAgY2FzZSAndGZscic6XG4gICAgICByZXR1cm4gRmxyVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZyBhcyBFdGhMaWtlVG9rZW5Db25maWcpO1xuICAgIGNhc2UgJ3Rvbic6XG4gICAgY2FzZSAndHRvbic6XG4gICAgICByZXR1cm4gSmV0dG9uVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZyBhcyBKZXR0b25Ub2tlbkNvbmZpZyk7XG4gICAgY2FzZSAnbW9uJzpcbiAgICBjYXNlICd0bW9uJzpcbiAgICAgIHJldHVybiBNb25Ub2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIEV0aExpa2VUb2tlbkNvbmZpZyk7XG4gICAgY2FzZSAneGRjJzpcbiAgICBjYXNlICd0eGRjJzpcbiAgICAgIHJldHVybiBYZGNUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIEV0aExpa2VUb2tlbkNvbmZpZyk7XG4gICAgY2FzZSAnY2FudG9uJzpcbiAgICBjYXNlICd0Y2FudG9uJzpcbiAgICAgIHJldHVybiBDYW50b25Ub2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIENhbnRvblRva2VuQ29uZmlnKTtcbiAgICBkZWZhdWx0OiB7XG4gICAgICAvLyBHZW5lcmljIEVWTSBmYWxsdGhyb3VnaDogdG9rZW5zIG9uIGZhbWlsaWVzIHdob3NlIGJhc2UgY29pbiBzdXBwb3J0cyBFUkMyMC9FUkM3MjEgYnV0XG4gICAgICAvLyB3aGljaCBoYXZlIG5vIGNhc2UgYWJvdmUgKGUuZy4gdGVzdG5ldCB0b2tlbnMgb24gbmV3bHkgYWRkZWQgRVZNIGZhbWlsaWVzKS4gUmVzb2x2ZXNcbiAgICAgIGNvbnN0IGJhc2VDb2luID0gY29pbnMuZ2V0T3JVbmRlZmluZWQodG9rZW5Db25maWcuY29pbik7XG4gICAgICAvLyBFUkMyMC9FUkM3MjEgc3VwcG9ydCBpcyBhIGZhbWlseS1sZXZlbCBwcm9wZXJ0eTsgdGhlIHRlc3RuZXQgc2libGluZyBvZiBhIG1haW5uZXQgYmFzZVxuICAgICAgLy8gY29pbiBkb2VzIG5vdCBhbHdheXMgY2FycnkgdGhlIGZlYXR1cmUgZmxhZ3MgaXRzZWxmLCBzbyByZXNvbHZlIHRoZSBtYWlubmV0IGZhbWlseSBjb2luLlxuICAgICAgY29uc3QgZmFtaWx5QmFzZUNvaW4gPVxuICAgICAgICBiYXNlQ29pbiAmJiBiYXNlQ29pbi5uZXR3b3JrLnR5cGUgPT09IE5ldHdvcmtUeXBlLk1BSU5ORVRcbiAgICAgICAgICA/IGJhc2VDb2luXG4gICAgICAgICAgOiBiYXNlQ29pbiAmJiBjb2lucy5nZXRPclVuZGVmaW5lZChiYXNlQ29pbi5mYW1pbHkpO1xuICAgICAgY29uc3Qgc3VwcG9ydHNFcmMyMCA9IGZhbWlseUJhc2VDb2luPy5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5TVVBQT1JUU19FUkMyMCk7XG4gICAgICBjb25zdCBzdXBwb3J0c0VyYzcyMSA9IGZhbWlseUJhc2VDb2luPy5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5TVVBQT1JUU19FUkM3MjEpO1xuICAgICAgaWYgKGZhbWlseUJhc2VDb2luICYmICduZXR3b3JrJyBpbiB0b2tlbkNvbmZpZyAmJiAoc3VwcG9ydHNFcmMyMCB8fCBzdXBwb3J0c0VyYzcyMSB8fCBpc0VyYzcyMVRva2VuKSkge1xuICAgICAgICAvLyBPbmx5IHRoZSBlbnRyeSBtYXRjaGluZyB0aGUgdG9rZW4ncyBvd24gbmV0d29yayBpcyByZWFkIGJ5IHRoZSB0b2tlbiBjb25zdHJ1Y3RvcjtcbiAgICAgICAgLy8gZGVyaXZlIHRoZSBzaWJsaW5nIG5hbWUgZnJvbSB0aGUgYmFzZSBjb2luIHNvIGJvdGggZW50cmllcyBhcmUgdmFsaWQuXG4gICAgICAgIGNvbnN0IGNvaW5OYW1lcyA9IHsgTWFpbm5ldDogZmFtaWx5QmFzZUNvaW4ubmFtZSwgVGVzdG5ldDogYHQke2ZhbWlseUJhc2VDb2luLm5hbWV9YCB9O1xuICAgICAgICBjb25zdCBUb2tlbkNsYXNzID0gaXNFcmM3MjFUb2tlbiB8fCAoc3VwcG9ydHNFcmM3MjEgJiYgIXN1cHBvcnRzRXJjMjApID8gRXRoTGlrZUVyYzcyMVRva2VuIDogRXRoTGlrZUVyYzIwVG9rZW47XG4gICAgICAgIHJldHVybiBUb2tlbkNsYXNzLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgRXRoTGlrZVRva2VuQ29uZmlnLCBjb2luTmFtZXMpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEdsb2JhbENvaW5GYWN0b3J5OiBDb2luRmFjdG9yeSA9IG5ldyBDb2luRmFjdG9yeSgpO1xuXG5yZWdpc3RlckNvaW5Db25zdHJ1Y3RvcnMoR2xvYmFsQ29pbkZhY3RvcnkpO1xuIl19
905
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbkZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdjIvY29pbkZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBc1BBLDREQTBiQztBQUVELGdEQWdXQztBQUVELGtEQWtNQztBQXR0Q0Q7O0dBRUc7QUFDSCxzREFBK0M7QUFDL0Msd0RBQWlEO0FBQ2pELDREQUFxRDtBQUNyRCx3REFBbUQ7QUFDbkQsMERBQXNEO0FBQ3RELHdEQUFpRDtBQUNqRCx3REFBZ0U7QUFDaEUsc0RBQStDO0FBQy9DLHNEQUErQztBQUMvQyw4Q0FBK0Q7QUFDL0Qsc0RBQTRFO0FBRTVFLDRDQXNDd0I7QUFDeEIsbUNBOExpQjtBQUVqQixTQUFnQix3QkFBd0IsQ0FBQyxXQUF3QixFQUFFLFVBQW1CLGVBQUs7SUFDekYsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hELFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNsRCxXQUFXLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxnQkFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNoRCxXQUFXLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxjQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hELFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNsRCxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxhQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDcEQsV0FBVyxDQUFDLFFBQVEs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QUM5QyxDQUFDLENBQ0YsQ0FBQztJQUVGLHVCQUFRLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUNwRyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FDM0UsQ0FBQztJQUVGLGdCQUFRLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUNwRyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FDM0UsQ0FBQztJQUVGLGdCQUFRLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUNwRyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FDM0UsQ0FBQztJQUVGLGtCQUFVLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUMxRyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FDM0UsQ0FBQztJQUVGLGtCQUFVLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUMxRyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FDM0UsQ0FBQztJQUVGLGdCQUFRLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUNwRyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FDM0UsQ0FBQztJQUVGLG1CQUFXLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUM3RyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FDM0UsQ0FBQztJQUVGLGdCQUFRLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUNwRyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FDM0UsQ0FBQztJQUVGLGtCQUFVLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUN0RyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FDM0UsQ0FBQztJQUVGLDJCQUFXLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUN6RyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FDM0UsQ0FBQztJQUVGLGlCQUFTLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUMzRyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FDM0UsQ0FBQztJQUVGLG1CQUFXLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxHQUFHLE1B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QixHQUFnQixJQUFJLHNCQUFXLEVBQUUsQ0FBQztBQUVoRSx3QkFBd0IsQ0FBQyx5QkFBaUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgQWRhVG9rZW4gfSBmcm9tICdAYml0Z28vc2RrLWNvaW4tYWRhJztcbmltcG9ydCB7IEFsZ29Ub2tlbiB9IGZyb20gJ0BiaXRnby9zZGstY29pbi1hbGdvJztcbmltcG9ydCB7IENhbnRvblRva2VuIH0gZnJvbSAnQGJpdGdvL3Nkay1jb2luLWNhbnRvbic7XG5pbXBvcnQgeyBCY2hhLCBUYmNoYSB9IGZyb20gJ0BiaXRnby9zZGstY29pbi1iY2hhJztcbmltcG9ydCB7IFBlYXJsLCBUcGVhcmwgfSBmcm9tICdAYml0Z28vc2RrLWNvaW4tcGVhcmwnO1xuaW1wb3J0IHsgSGJhclRva2VuIH0gZnJvbSAnQGJpdGdvL3Nkay1jb2luLWhiYXInO1xuaW1wb3J0IHsgTmVhciwgVE5lYXIsIE5lcDE0MVRva2VuIH0gZnJvbSAnQGJpdGdvL3Nkay1jb2luLW5lYXInO1xuaW1wb3J0IHsgU29sVG9rZW4gfSBmcm9tICdAYml0Z28vc2RrLWNvaW4tc29sJztcbmltcG9ydCB7IFRyeFRva2VuIH0gZnJvbSAnQGJpdGdvL3Nkay1jb2luLXRyeCc7XG5pbXBvcnQgeyBDb2luRmFjdG9yeSwgQ29pbkNvbnN0cnVjdG9yIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IEV0aExpa2VFcmMyMFRva2VuLCBFdGhMaWtlRXJjNzIxVG9rZW4gfSBmcm9tICdAYml0Z28vc2RrLWNvaW4tZXZtJztcblxuaW1wb3J0IHtcbiAgQ29pbk1hcCxcbiAgY29pbnMsXG4gIGdldEZvcm1hdHRlZFRva2VucyxcbiAgZ2V0RXZtVG9rZW5zQnlGYW1pbHksXG4gIFRva2VuVHlwZUVudW0sXG4gIE5ldHdvcmtUeXBlLFxuICBUb2tlbkNvbmZpZyxcbiAgRXJjMjBUb2tlbkNvbmZpZyxcbiAgU3RlbGxhclRva2VuQ29uZmlnLFxuICBPZmNUb2tlbkNvbmZpZyxcbiAgQ2Vsb1Rva2VuQ29uZmlnLFxuICBFdGhMaWtlVG9rZW5Db25maWcsXG4gIEVvc1Rva2VuQ29uZmlnLFxuICBBdmF4Y1Rva2VuQ29uZmlnLFxuICBTb2xUb2tlbkNvbmZpZyxcbiAgSGJhclRva2VuQ29uZmlnLFxuICBBZGFUb2tlbkNvbmZpZyxcbiAgQWxnb1Rva2VuQ29uZmlnLFxuICBUcnhUb2tlbkNvbmZpZyxcbiAgWHJwTXB0VG9rZW5Db25maWcsXG4gIFhycFRva2VuQ29uZmlnLFxuICBTdWlUb2tlbkNvbmZpZyxcbiAgQXB0VG9rZW5Db25maWcsXG4gIFNpcDEwVG9rZW5Db25maWcsXG4gIENvaW5GZWF0dXJlLFxuICBOZXAxNDFUb2tlbkNvbmZpZyxcbiAgQ29zbW9zVG9rZW5Db25maWcsXG4gIFZldFRva2VuQ29uZmlnLFxuICBUYW9Ub2tlbkNvbmZpZyxcbiAgVGlwMjBUb2tlbkNvbmZpZyxcbiAgUG9seXhUb2tlbkNvbmZpZyxcbiAgSmV0dG9uVG9rZW5Db25maWcsXG4gIENhbnRvblRva2VuQ29uZmlnLFxuICBFcmM3OTg0VG9rZW5Db25maWcsXG4gIEVyYzc5ODRDb2luLFxuICBFdGhMaWtlRVJDNzIxVG9rZW4sXG4gIEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbixcbn0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHtcbiAgQWRhLFxuICBBbGdvLFxuICBBcGVjaGFpbixcbiAgQXB0LFxuICBBcHRUb2tlbixcbiAgQXJiZXRoLFxuICBBcmJldGhUb2tlbixcbiAgQXNpLFxuICBBdG9tLFxuICBBdmF4QyxcbiAgQXZheENUb2tlbixcbiAgQXZheFAsXG4gIEJhYnksXG4gIEJjaCxcbiAgQmVyYSxcbiAgQmVyYVRva2VuLFxuICBCbGQsXG4gIEJzYyxcbiAgQnNjVG9rZW4sXG4gIEJzdixcbiAgQnRjLFxuICBCdGcsXG4gIENhbnRvbixcbiAgQ2VsbyxcbiAgQ2Vsb1Rva2VuLFxuICBDb3JlZGFvLFxuICBDb3JlZGFvVG9rZW4sXG4gIENvc21vc1NoYXJlZENvaW4sXG4gIENvcmV1bSxcbiAgQ3Jvbm9zLFxuICBDc3ByLFxuICBEYXNoLFxuICBEb2dlLFxuICBEb3QsXG4gIEVvcyxcbiAgRW9zVG9rZW4sXG4gIEVyYzIwVG9rZW4sXG4gIEVyYzcyMVRva2VuLFxuICBFcmM3OTg0VG9rZW4sXG4gIEV0YyxcbiAgRXRoLFxuICBFdGh3LFxuICBFdGhMaWtlQ29pbixcbiAgRXZtQ29pbixcbiAgRmxyLFxuICBGbHJwLFxuICBGbHJUb2tlbixcbiAgSGFzaFRva2VuLFxuICBNb25Ub2tlbixcbiAgVGV0aExpa2VDb2luLFxuICBGaWF0LFxuICBhbGxGaWF0Q29pbnMsXG4gIEd0ZXRoLFxuICBIYXNoLFxuICBIYmFyLFxuICBIdGV0aCxcbiAgSWNwLFxuICBJbml0aWEsXG4gIEluamVjdGl2ZSxcbiAgSW90YSxcbiAgSXNsbSxcbiAgSmV0dG9uVG9rZW4sXG4gIEthc3BhLFxuICBMbmJ0YyxcbiAgTHRjLFxuICBNb24sXG4gIE9mYyxcbiAgT2FzLFxuICBPZmNUb2tlbixcbiAgT3BldGgsXG4gIE9wZXRoVG9rZW4sXG4gIE9zbW8sXG4gIFBvbHlnb24sXG4gIFBvbHlnb25Ub2tlbixcbiAgUG9seXgsXG4gIFBvbHl4VG9rZW4sXG4gIFJ1bmUsXG4gIFJidGMsXG4gIFNlaSxcbiAgU2VwZXRoLFxuICBTZ2IsXG4gIFNpcDEwVG9rZW4sXG4gIFNvbCxcbiAgU29uZWl1bSxcbiAgU29uZWl1bVRva2VuLFxuICBTdGFya25ldCxcbiAgU3RlbGxhclRva2VuLFxuICBTdHgsXG4gIFN1aSxcbiAgU3VpVG9rZW4sXG4gIFN1c2QsXG4gIFRhbyxcbiAgVGFvVG9rZW4sXG4gIFRlbXBvLFxuICBUaXAyMFRva2VuLFxuICBUb24sXG4gIFRhZGEsXG4gIFRhbGdvLFxuICBUYXBlY2hhaW4sXG4gIFRhcHQsXG4gIFRhcmJldGgsXG4gIFRhc2ksXG4gIFRhdG9tLFxuICBUYXZheEMsXG4gIFRhdmF4UCxcbiAgVGJhYnksXG4gIFRiY2gsXG4gIFRiZXJhLFxuICBUYmxkLFxuICBUYnNjLFxuICBUYnN2LFxuICBUYnRjLFxuICBUYnRjc2lnLFxuICBUYnRjNCxcbiAgVGJ0Y2Jnc2lnLFxuICBUYnRjc3R4LFxuICBUYnRjc3R4cHJpdmF0ZTEsXG4gIFRidGNzdHhzaWduZXQsXG4gIFRjYW50b24sXG4gIFRjZWxvLFxuICBUY29yZWRhbyxcbiAgVGNvcmV1bSxcbiAgVGNyb25vcyxcbiAgVGNzcHIsXG4gIFRkYXNoLFxuICBUZG9nZSxcbiAgVGRvdCxcbiAgVGVvcyxcbiAgVGV0YyxcbiAgVGV0aCxcbiAgVGZscixcbiAgVG1vbixcbiAgVGhhc2gsXG4gIFRoYmFyLFxuICBUaWEsXG4gIFRpY3AsXG4gIFRpbml0aWEsXG4gIFRpbmplY3RpdmUsXG4gIFRpc2xtLFxuICBUbG5idGMsXG4gIFRsdGMsXG4gIFRvYXMsXG4gIFRvc21vLFxuICBUb3BldGgsXG4gIFRwb2x5Z29uLFxuICBUcG9seXgsXG4gIFRyYnRjLFxuICBUcnVuZSxcbiAgVHJ4LFxuICBUc2diLFxuICBUc2VpLFxuICBUc29sLFxuICBUc29uZWl1bSxcbiAgVHN0eCxcbiAgVHN0eHNpZ25ldCxcbiAgVHN0dCxcbiAgVHN1aSxcbiAgVHN1c2QsXG4gIFR3ZW1peCxcbiAgVHdvcmxkLFxuICBUdGFvLFxuICBUdGVtcG8sXG4gIFR0aWEsXG4gIFR0b24sXG4gIFR0cngsXG4gIFR2ZXQsXG4gIFR4bG0sXG4gIFR4ZGMsXG4gIFR4cnAsXG4gIFR4dHosXG4gIFR6ZWMsXG4gIFR6ZXRhLFxuICBUemtldGgsXG4gIFZldCxcbiAgV2VtaXgsXG4gIFdvcmxkLFxuICBXb3JsZFRva2VuLFxuICBYZGMsXG4gIFhkY1Rva2VuLFxuICBYbG0sXG4gIFhycCxcbiAgWHJwTXB0VG9rZW4sXG4gIFhycFRva2VuLFxuICBYdHosXG4gIFplYyxcbiAgWmV0YSxcbiAgWmtldGgsXG4gIFprZXRoVG9rZW4sXG4gIFZldFRva2VuLFxufSBmcm9tICcuL2NvaW5zJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyQ29pbkNvbnN0cnVjdG9ycyhjb2luRmFjdG9yeTogQ29pbkZhY3RvcnksIGNvaW5NYXA6IENvaW5NYXAgPSBjb2lucyk6IHZvaWQge1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignYWRhJywgQWRhLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2FsZ28nLCBBbGdvLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2FwZWNoYWluJywgQXBlY2hhaW4uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignYXB0JywgQXB0LmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2FyYmV0aCcsIEFyYmV0aC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdhc2knLCBBc2kuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignYXRvbScsIEF0b20uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignYXZheGMnLCBBdmF4Qy5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdhdmF4cCcsIEF2YXhQLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2JhYnknLCBCYWJ5LmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2JjaCcsIEJjaC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdiY2hhJywgQmNoYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdiZXJhJywgQmVyYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdibGQnLCBCbGQuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignYnNjJywgQnNjLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2JzdicsIEJzdi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdidGMnLCBCdGMuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignYnRnJywgQnRnLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2NhbnRvbicsIENhbnRvbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdjZWxvJywgQ2Vsby5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdjb3JlZGFvJywgQ29yZWRhby5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdjb3JldW0nLCBDb3JldW0uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignY3Jvbm9zJywgQ3Jvbm9zLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2NzcHInLCBDc3ByLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2Rhc2gnLCBEYXNoLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2RvZ2UnLCBEb2dlLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2RvdCcsIERvdC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdlb3MnLCBFb3MuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignZXRjJywgRXRjLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2V0aCcsIEV0aC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdldGh3JywgRXRody5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdiYXNlZXRoJywgRXRoTGlrZUNvaW4uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3Rlcignb3BibmInLCBFdGhMaWtlQ29pbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdmYW50b20nLCBFdGhMaWtlQ29pbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdjb3RpZXRoJywgRXRoTGlrZUNvaW4uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3Rlcignb2cnLCBFdGhMaWtlQ29pbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0b2cnLCBFdGhMaWtlQ29pbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0b3BibmInLCBUZXRoTGlrZUNvaW4uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGZhbnRvbScsIFRldGhMaWtlQ29pbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0Y290aWV0aCcsIFRldGhMaWtlQ29pbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0YmFzZWV0aCcsIFRldGhMaWtlQ29pbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGZvciAoY29uc3QgZmlhdENvaW4gb2YgYWxsRmlhdENvaW5zKSB7XG4gICAgY29pbkZhY3RvcnkucmVnaXN0ZXIoZmlhdENvaW4uY2hhaW4sIEZpYXQuY3JlYXRlQ29uc3RydWN0b3IoZmlhdENvaW4pKTtcbiAgfVxuICBjb2luRmFjdG9yeS5yZWdpc3RlcignZmxyJywgRmxyLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2ZscnAnLCBGbHJwLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2d0ZXRoJywgR3RldGguY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignaGFzaCcsIEhhc2guY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignaGJhcicsIEhiYXIuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignaHRldGgnLCBIdGV0aC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdsbmJ0YycsIExuYnRjLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2x0YycsIEx0Yy5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdtb24nLCBNb24uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignaWNwJywgSWNwLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ2luaXRpYScsIEluaXRpYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdpbmplY3RpdmUnLCBJbmplY3RpdmUuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignaW90YScsIElvdGEuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcignaXNsbScsIElzbG0uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3Rlcigna2FzcGEnLCBLYXNwYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCduZWFyJywgTmVhci5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdvYXMnLCBPYXMuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3Rlcignb2ZjJywgT2ZjLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ29wZXRoJywgT3BldGguY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3Rlcignb3NtbycsIE9zbW8uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigncGVhcmwnLCBQZWFybC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdwb2x5Z29uJywgUG9seWdvbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdwb2x5eCcsIFBvbHl4LmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3JidGMnLCBSYnRjLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3Rob3JjaGFpbjpydW5lJywgUnVuZS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdzZWknLCBTZWkuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3Rlcignc2VwZXRoJywgU2VwZXRoLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3NnYicsIFNnYi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdzb2wnLCBTb2wuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3Rlcignc29uZWl1bScsIFNvbmVpdW0uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3Rlcignc3RhcmtuZXQnLCBTdGFya25ldC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCdzdHgnLCBTdHguY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3Rlcignc3VpJywgU3VpLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3N1c2QnLCBTdXNkLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RhbycsIFRhby5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0ZW1wbycsIFRlbXBvLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RpYScsIFRpYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0b24nLCBUb24uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGFsZ28nLCBUYWxnby5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0YXBlY2hhaW4nLCBUYXBlY2hhaW4uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGFwdCcsIFRhcHQuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGFyYmV0aCcsIFRhcmJldGguY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGFkYScsIFRhZGEuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGFzaScsIFRhc2kuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGF0b20nLCBUYXRvbS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0YXZheGMnLCBUYXZheEMuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGF2YXhwJywgVGF2YXhQLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RiYWJ5JywgVGJhYnkuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGJjaCcsIFRiY2guY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGJjaGEnLCBUYmNoYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0YmVyYScsIFRiZXJhLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RibGQnLCBUYmxkLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3Ric2MnLCBUYnNjLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3Ric3YnLCBUYnN2LmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RidGMnLCBUYnRjLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RidGNzaWcnLCBUYnRjc2lnLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RidGM0JywgVGJ0YzQuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGJ0Y2Jnc2lnJywgVGJ0Y2Jnc2lnLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RidGNzdHgnLCBUYnRjc3R4LmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RidGNzdHhwcml2YXRlMScsIFRidGNzdHhwcml2YXRlMS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0YnRjc3R4c2lnbmV0JywgVGJ0Y3N0eHNpZ25ldC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0Y2FudG9uJywgVGNhbnRvbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0Y2VsbycsIFRjZWxvLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3Rjb3JlZGFvJywgVGNvcmVkYW8uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGNvcmV1bScsIFRjb3JldW0uY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGNyb25vcycsIFRjcm9ub3MuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGNzcHInLCBUY3Nwci5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0ZGFzaCcsIFRkYXNoLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3Rkb2dlJywgVGRvZ2UuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGRvdCcsIFRkb3QuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGVvcycsIFRlb3MuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGV0YycsIFRldGMuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGV0aCcsIFRldGguY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGZscicsIFRmbHIuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGZscnAnLCBGbHJwLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3Rtb24nLCBUbW9uLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RoYXNoJywgVGhhc2guY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGhiYXInLCBUaGJhci5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0aWNwJywgVGljcC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0aW5pdGlhJywgVGluaXRpYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0aW5qZWN0aXZlJywgVGluamVjdGl2ZS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0aW90YScsIElvdGEuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGlzbG0nLCBUaXNsbS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0a2FzcGEnLCBLYXNwYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0bG5idGMnLCBUbG5idGMuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndGx0YycsIFRsdGMuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndG5lYXInLCBUTmVhci5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0b2FzJywgVG9hcy5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0b3BldGgnLCBUb3BldGguY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndG9zbW8nLCBUb3Ntby5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0cGVhcmwnLCBUcGVhcmwuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndHBvbHlnb24nLCBUcG9seWdvbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0cG9seXgnLCBUcG9seXguY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndHJidGMnLCBUcmJ0Yy5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0c2diJywgVHNnYi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0dGhvcmNoYWluOnJ1bmUnLCBUcnVuZS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0cngnLCBUcnguY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndHNlaScsIFRzZWkuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndHNvbCcsIFRzb2wuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndHNvbmVpdW0nLCBUc29uZWl1bS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0c3RhcmtuZXQnLCBTdGFya25ldC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0c3R4JywgVHN0eC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0c3R4c2lnbmV0JywgVHN0eHNpZ25ldC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0c3R0JywgVHN0dC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0c3VpJywgVHN1aS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0c3VzZCcsIFRzdXNkLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3R0YW8nLCBUdGFvLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3R0ZW1wbycsIFR0ZW1wby5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0dGlhJywgVHRpYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0dG9uJywgVHRvbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0dHJ4JywgVHRyeC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0dmV0JywgVHZldC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0eGRjJywgVHhkYy5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0eGxtJywgVHhsbS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0eHJwJywgVHhycC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0eHR6JywgVHh0ei5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0emVjJywgVHplYy5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0emV0YScsIFR6ZXRhLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3R6a2V0aCcsIFR6a2V0aC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0d2VtaXgnLCBUd2VtaXguY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigndHdvcmxkJywgVHdvcmxkLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3ZldCcsIFZldC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd4ZGMnLCBYZGMuY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3RlcigneGxtJywgWGxtLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3hycCcsIFhycC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd4dHonLCBYdHouY3JlYXRlSW5zdGFuY2UpO1xuICBjb2luRmFjdG9yeS5yZWdpc3Rlcignd2VtaXgnLCBXZW1peC5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd3b3JsZCcsIFdvcmxkLmNyZWF0ZUluc3RhbmNlKTtcbiAgY29pbkZhY3RvcnkucmVnaXN0ZXIoJ3plYycsIFplYy5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd6ZXRhJywgWmV0YS5jcmVhdGVJbnN0YW5jZSk7XG4gIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKCd6a2V0aCcsIFprZXRoLmNyZWF0ZUluc3RhbmNlKTtcblxuICBjb2luc1xuICAgIC5maWx0ZXIoKGNvaW4pID0+IGNvaW4uZmVhdHVyZXMuaW5jbHVkZXMoQ29pbkZlYXR1cmUuU0hBUkVEX0VWTV9TREspKVxuICAgIC5mb3JFYWNoKChjb2luKSA9PiB7XG4gICAgICBjb2luRmFjdG9yeS5yZWdpc3Rlcihjb2luLm5hbWUsIEV2bUNvaW4uY3JlYXRlSW5zdGFuY2UpO1xuICAgIH0pO1xuXG4gIGNvaW5zXG4gICAgLmZpbHRlcigoY29pbikgPT4gY29pbi5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5TSEFSRURfQ09TTU9TX1NESykpXG4gICAgLmZvckVhY2goKGNvaW4pID0+IHtcbiAgICAgIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKGNvaW4ubmFtZSwgQ29zbW9zU2hhcmVkQ29pbi5jcmVhdGVJbnN0YW5jZSk7XG4gICAgfSk7XG5cbiAgY29uc3QgdG9rZW5zID0gZ2V0Rm9ybWF0dGVkVG9rZW5zKGNvaW5NYXApO1xuXG4gIEVyYzIwVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoWy4uLnRva2Vucy5iaXRjb2luLmV0aC50b2tlbnMsIC4uLnRva2Vucy50ZXN0bmV0LmV0aC50b2tlbnNdKS5mb3JFYWNoKFxuICAgICh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgICBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICAgIH1cbiAgKTtcblxuICBFcmM3MjFUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhbLi4udG9rZW5zLmJpdGNvaW4uZXRoLm5mdHMsIC4uLnRva2Vucy50ZXN0bmV0LmV0aC5uZnRzXSkuZm9yRWFjaChcbiAgICAoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgICAgY29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgICB9XG4gICk7XG5cbiAgRXJjNzk4NFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKFtcbiAgICAuLi50b2tlbnMuYml0Y29pbi5ldGguY29uZmlkZW50aWFsVG9rZW5zLFxuICAgIC4uLnRva2Vucy50ZXN0bmV0LmV0aC5jb25maWRlbnRpYWxUb2tlbnMsXG4gIF0pLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcblxuICBTdGVsbGFyVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoWy4uLnRva2Vucy5iaXRjb2luLnhsbS50b2tlbnMsIC4uLnRva2Vucy50ZXN0bmV0LnhsbS50b2tlbnNdKS5mb3JFYWNoKFxuICAgICh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgICBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICAgIH1cbiAgKTtcblxuICBmb3IgKGNvbnN0IG9mY1Rva2VuIG9mIFsuLi50b2tlbnMuYml0Y29pbi5vZmMudG9rZW5zLCAuLi50b2tlbnMudGVzdG5ldC5vZmMudG9rZW5zXSkge1xuICAgIGNvbnN0IHRva2VuQ29uc3RydWN0b3IgPSBPZmNUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKG9mY1Rva2VuKTtcbiAgICBjb2luRmFjdG9yeS5yZWdpc3RlcihvZmNUb2tlbi50eXBlLCB0b2tlbkNvbnN0cnVjdG9yKTtcbiAgfVxuXG4gIENlbG9Ub2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhbLi4udG9rZW5zLmJpdGNvaW4uY2Vsby50b2tlbnMsIC4uLnRva2Vucy50ZXN0bmV0LmNlbG8udG9rZW5zXSkuZm9yRWFjaChcbiAgICAoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgICAgY29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgICB9XG4gICk7XG5cbiAgQnNjVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgY29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgfSk7XG5cbiAgRW9zVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoWy4uLnRva2Vucy5iaXRjb2luLmVvcy50b2tlbnMsIC4uLnRva2Vucy50ZXN0bmV0LmVvcy50b2tlbnNdKS5mb3JFYWNoKFxuICAgICh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgICBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICAgIH1cbiAgKTtcblxuICBBbGdvVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoWy4uLnRva2Vucy5iaXRjb2luLmFsZ28udG9rZW5zLCAuLi50b2tlbnMudGVzdG5ldC5hbGdvLnRva2Vuc10pLmZvckVhY2goXG4gICAgKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICAgIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gICAgfVxuICApO1xuXG4gIEF2YXhDVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgY29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgfSk7XG5cbiAgUG9seWdvblRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xuXG4gIFNvbmVpdW1Ub2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcblxuICBBcmJldGhUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcblxuICBPcGV0aFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xuXG4gIFprZXRoVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgY29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgfSk7XG5cbiAgQmVyYVRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xuXG4gIENvcmVkYW9Ub2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcblxuICBXb3JsZFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xuXG4gIFNvbFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKFsuLi50b2tlbnMuYml0Y29pbi5zb2wudG9rZW5zLCAuLi50b2tlbnMudGVzdG5ldC5zb2wudG9rZW5zXSkuZm9yRWFjaChcbiAgICAoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgICAgY29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgICB9XG4gICk7XG5cbiAgQ2FudG9uVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoWy4uLnRva2Vucy5iaXRjb2luLmNhbnRvbi50b2tlbnMsIC4uLnRva2Vucy50ZXN0bmV0LmNhbnRvbi50b2tlbnNdKS5mb3JFYWNoKFxuICAgICh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgICBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICAgIH1cbiAgKTtcblxuICBIYmFyVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoWy4uLnRva2Vucy5iaXRjb2luLmhiYXIudG9rZW5zLCAuLi50b2tlbnMudGVzdG5ldC5oYmFyLnRva2Vuc10pLmZvckVhY2goXG4gICAgKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICAgIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gICAgfVxuICApO1xuXG4gIFRyeFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKFsuLi50b2tlbnMuYml0Y29pbi50cngudG9rZW5zLCAuLi50b2tlbnMudGVzdG5ldC50cngudG9rZW5zXSkuZm9yRWFjaChcbiAgICAoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgICAgY29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgICB9XG4gICk7XG5cbiAgQWRhVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoWy4uLnRva2Vucy5iaXRjb2luLmFkYS50b2tlbnMsIC4uLnRva2Vucy50ZXN0bmV0LmFkYS50b2tlbnNdKS5mb3JFYWNoKFxuICAgICh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpXG4gICk7XG5cbiAgU3VpVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoWy4uLnRva2Vucy5iaXRjb2luLnN1aS50b2tlbnMsIC4uLnRva2Vucy50ZXN0bmV0LnN1aS50b2tlbnNdKS5mb3JFYWNoKFxuICAgICh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpXG4gICk7XG5cbiAgVGFvVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoWy4uLnRva2Vucy5iaXRjb2luLnRhby50b2tlbnMsIC4uLnRva2Vucy50ZXN0bmV0LnRhby50b2tlbnNdKS5mb3JFYWNoKFxuICAgICh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpXG4gICk7XG5cbiAgVGlwMjBUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhbLi4udG9rZW5zLmJpdGNvaW4udGVtcG8udG9rZW5zLCAuLi50b2tlbnMudGVzdG5ldC50ZW1wby50b2tlbnNdKS5mb3JFYWNoKFxuICAgICh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpXG4gICk7XG5cbiAgUG9seXhUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhbLi4udG9rZW5zLmJpdGNvaW4ucG9seXgudG9rZW5zLCAuLi50b2tlbnMudGVzdG5ldC5wb2x5eC50b2tlbnNdKS5mb3JFYWNoKFxuICAgICh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpXG4gICk7XG5cbiAgWHJwVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoWy4uLnRva2Vucy5iaXRjb2luLnhycC50b2tlbnMsIC4uLnRva2Vucy50ZXN0bmV0LnhycC50b2tlbnNdKS5mb3JFYWNoKFxuICAgICh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpXG4gICk7XG5cbiAgWHJwTXB0VG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoWy4uLnRva2Vucy5iaXRjb2luLnhycC5tcHRUb2tlbnMsIC4uLnRva2Vucy50ZXN0bmV0LnhycC5tcHRUb2tlbnNdKS5mb3JFYWNoKFxuICAgICh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpXG4gICk7XG5cbiAgQXB0VG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoWy4uLnRva2Vucy5iaXRjb2luLmFwdC50b2tlbnMsIC4uLnRva2Vucy50ZXN0bmV0LmFwdC50b2tlbnNdKS5mb3JFYWNoKFxuICAgICh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiBjb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpXG4gICk7XG5cbiAgU2lwMTBUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhbLi4udG9rZW5zLmJpdGNvaW4uc3R4LnRva2VucywgLi4udG9rZW5zLnRlc3RuZXQuc3R4LnRva2Vuc10pLmZvckVhY2goXG4gICAgKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IGNvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3RvcilcbiAgKTtcblxuICBOZXAxNDFUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhbLi4udG9rZW5zLmJpdGNvaW4ubmVhci50b2tlbnMsIC4uLnRva2Vucy50ZXN0bmV0Lm5lYXIudG9rZW5zXSkuZm9yRWFjaChcbiAgICAoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4gY29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKVxuICApO1xuXG4gIEhhc2hUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhbLi4udG9rZW5zLmJpdGNvaW4uY29zbW9zLnRva2VucywgLi4udG9rZW5zLnRlc3RuZXQuY29zbW9zLnRva2Vuc10pLmZvckVhY2goXG4gICAgKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IGNvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3RvcilcbiAgKTtcblxuICBKZXR0b25Ub2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhbLi4udG9rZW5zLmJpdGNvaW4udG9uLnRva2VucywgLi4udG9rZW5zLnRlc3RuZXQudG9uLnRva2Vuc10pLmZvckVhY2goXG4gICAgKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IGNvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3RvcilcbiAgKTtcblxuICBWZXRUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+XG4gICAgY29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKVxuICApO1xuXG4gIEZsclRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xuXG4gIE1vblRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xuXG4gIFhkY1Rva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xuXG4gIC8vIEdlbmVyaWMgRVJDMjAgdG9rZW4gcmVnaXN0cmF0aW9uIGZvciBjb2lucyB3aXRoIFNVUFBPUlRTX0VSQzIwIGZlYXR1cmUuXG4gIC8vIFRva2VuIGNvbmZpZ3MgY29tZSBmcm9tIHRoZSBydW50aW1lIGNvaW4gbWFwIChzdGF0aWNzICsgQU1TKSwgc28gQU1TLW9ubHkgdG9rZW5zIG9uIHRoZXNlXG4gIC8vIGZhbWlsaWVzIHJlc29sdmUgdGhyb3VnaCB0aGUgZmFtaWx5LWFnbm9zdGljIEV0aExpa2VFcmMyMFRva2VuIGNvbnN0cnVjdG9yLlxuICAvLyBPbmx5IG1haW5uZXQgYmFzZSBjb2lucyBhcmUgaXRlcmF0ZWQ6IHRoZWlyIGNvbmZpZ3MgY292ZXIgYm90aCBuZXR3b3JrcywgYW5kIGl0ZXJhdGluZyB0aGVcbiAgLy8gdGVzdG5ldCBzaWJsaW5ncyB3b3VsZCByZS1yZWdpc3RlciB0aGUgc2FtZSB0b2tlbiBuYW1lcyB3aXRoIHRlc3RuZXQtZGVyaXZlZCBjb2luTmFtZXMuXG4gIGNvbnN0IGV2bUVyYzIwVG9rZW5zQnlGYW1pbHkgPSBnZXRFdm1Ub2tlbnNCeUZhbWlseShjb2luTWFwLCBUb2tlblR5cGVFbnVtLkVSQzIwKTtcbiAgY29pbnNcbiAgICAuZmlsdGVyKFxuICAgICAgKGNvaW4pID0+XG4gICAgICAgIGNvaW4uZmVhdHVyZXMuaW5jbHVkZXMoQ29pbkZlYXR1cmUuU1VQUE9SVFNfRVJDMjApICYmICFjb2luLmlzVG9rZW4gJiYgY29pbi5uZXR3b3JrLnR5cGUgPT09IE5ldHdvcmtUeXBlLk1BSU5ORVRcbiAgICApXG4gICAgLmZvckVhY2goKGNvaW4pID0+IHtcbiAgICAgIGNvbnN0IGNvaW5OYW1lcyA9IHtcbiAgICAgICAgTWFpbm5ldDogYCR7Y29pbi5uYW1lfWAsXG4gICAgICAgIFRlc3RuZXQ6IGB0JHtjb2luLm5hbWV9YCxcbiAgICAgIH07XG5cbiAgICAgIEV0aExpa2VFcmMyMFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKGNvaW5OYW1lcywgZXZtRXJjMjBUb2tlbnNCeUZhbWlseVtjb2luLmZhbWlseV0gPz8gW10pLmZvckVhY2goXG4gICAgICAgICh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgICAgICAgY29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcblxuICAvLyBHZW5lcmljIEVSQzcyMSB0b2tlbiByZWdpc3RyYXRpb24gZm9yIGNvaW5zIHdpdGggU1VQUE9SVFNfRVJDNzIxIGZlYXR1cmVcbiAgY29uc3QgZXZtRXJjNzIxVG9rZW5zQnlGYW1pbHkgPSBnZXRFdm1Ub2tlbnNCeUZhbWlseShjb2luTWFwLCBUb2tlblR5cGVFbnVtLkVSQzcyMSk7XG4gIGNvaW5zXG4gICAgLmZpbHRlcihcbiAgICAgIChjb2luKSA9PlxuICAgICAgICBjb2luLmZlYXR1cmVzLmluY2x1ZGVzKENvaW5GZWF0dXJlLlNVUFBPUlRTX0VSQzcyMSkgJiZcbiAgICAgICAgIWNvaW4uaXNUb2tlbiAmJlxuICAgICAgICBjb2luLm5ldHdvcmsudHlwZSA9PT0gTmV0d29ya1R5cGUuTUFJTk5FVFxuICAgIClcbiAgICAuZm9yRWFjaCgoY29pbikgPT4ge1xuICAgICAgY29uc3QgY29pbk5hbWVzID0ge1xuICAgICAgICBNYWlubmV0OiBgJHtjb2luLm5hbWV9YCxcbiAgICAgICAgVGVzdG5ldDogYHQke2NvaW4ubmFtZX1gLFxuICAgICAgfTtcblxuICAgICAgRXRoTGlrZUVyYzcyMVRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKGNvaW5OYW1lcywgZXZtRXJjNzIxVG9rZW5zQnlGYW1pbHlbY29pbi5mYW1pbHldID8/IFtdKS5mb3JFYWNoKFxuICAgICAgICAoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgICAgICAgIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSk7XG5cbiAgLy8gQU1TLW9ubHkgdG9rZW5zIG9uIEVWTSBmYW1pbGllcyB3aG9zZSBiYXNlIGNvaW4gZG9lcyBub3QgY2FycnkgU1VQUE9SVFNfRVJDMjAgKGxlZ2FjeVxuICAvLyBmYW1pbGllcyB3aXRoIHBlci1mYW1pbHkgdG9rZW4gY2xhc3NlcywgZS5nLiBic2MsIHBvbHlnb24sIGFyYmV0aCwgLi4uKSBhcmUgbm90IGNvdmVyZWQgYnlcbiAgLy8gdGhlIGxvb3AgYWJvdmUuIFJlZ2lzdGVyIHRoZW0gdGhyb3VnaCB0aGUgZmFtaWx5LWFnbm9zdGljIEV0aExpa2VFcmMyMFRva2VuIC9cbiAgLy8gRXRoTGlrZUVyYzcyMVRva2VuIGNvbnN0cnVjdG9ycywgc2tpcHBpbmcgbmFtZXMgdGhhdCBhbHJlYWR5IGhhdmUgYSBjb25zdHJ1Y3RvciBzbyBidW5kbGVkXG4gIC8vIHN0YXRpY3MgdG9rZW5zIGtlZXAgdGhlaXIgZmFtaWx5LXNwZWNpZmljIGNsYXNzLlxuICBjb25zdCByZWdpc3RlckR5bmFtaWNFdm1Ub2tlbnMgPSAoXG4gICAgZXZtVG9rZW5zQnlGYW1pbHk6IHsgW2ZhbWlseTogc3RyaW5nXTogRXRoTGlrZVRva2VuQ29uZmlnW10gfSxcbiAgICBUb2tlbkNsYXNzOiB0eXBlb2YgRXRoTGlrZUVyYzIwVG9rZW4gfCB0eXBlb2YgRXRoTGlrZUVyYzcyMVRva2VuXG4gICk6IHZvaWQgPT4ge1xuICAgIGZvciAoY29uc3QgW2ZhbWlseSwgZmFtaWx5VG9rZW5zXSBvZiBPYmplY3QuZW50cmllcyhldm1Ub2tlbnNCeUZhbWlseSkpIHtcbiAgICAgIGNvbnN0IGJhc2VDb2luID0gY29pbnMuZ2V0T3JVbmRlZmluZWQoZmFtaWx5KTtcbiAgICAgIC8vIFRoZSBnZW5lcmljIHRva2VuIGNsYXNzZXMgcmVzb2x2ZSB0aGVpciBzdGF0aWNzIGJhc2UgY29pbiBieSBuYW1lLCBzbyBza2lwIGZhbWlsaWVzXG4gICAgICAvLyB3aXRob3V0IGEgc3RhdGljcyBiYXNlIGNvaW4gKGR5bmFtaWNhbGx5IG9uYm9hcmRlZCBjaGFpbnMgYXJlIG91dCBvZiBzY29wZSBoZXJlKS5cbiAgICAgIGlmICghYmFzZUNvaW4gfHwgYmFzZUNvaW4uaXNUb2tlbiB8fCBiYXNlQ29pbi5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5TVVBQT1JUU19FUkMyMCkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjb25zdCBjb2luTmFtZXMgPSB7IE1haW5uZXQ6IGZhbWlseSwgVGVzdG5ldDogYHQke2ZhbWlseX1gIH07XG4gICAgICBmb3IgKGNvbnN0IHRva2VuQ29uZmlnIG9mIGZhbWlseVRva2Vucykge1xuICAgICAgICBpZiAoY29pbkZhY3RvcnkuaGFzQ29pbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnLnR5cGUpKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdG9rZW5Db25zdHJ1Y3RvciA9IFRva2VuQ2xhc3MuY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZywgY29pbk5hbWVzKTtcbiAgICAgICAgY29pbkZhY3RvcnkucmVnaXN0ZXIodG9rZW5Db25maWcudHlwZSwgdG9rZW5Db25zdHJ1Y3Rvcik7XG4gICAgICAgIGNvaW5GYWN0b3J5LnJlZ2lzdGVyKHRva2VuQ29uZmlnLnRva2VuQ29udHJhY3RBZGRyZXNzLCB0b2tlbkNvbnN0cnVjdG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG4gIHJlZ2lzdGVyRHluYW1pY0V2bVRva2Vucyhldm1FcmMyMFRva2Vuc0J5RmFtaWx5LCBFdGhMaWtlRXJjMjBUb2tlbik7XG4gIHJlZ2lzdGVyRHluYW1pY0V2bVRva2Vucyhldm1FcmM3MjFUb2tlbnNCeUZhbWlseSwgRXRoTGlrZUVyYzcyMVRva2VuKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvaW5Db25zdHJ1Y3Rvcihjb2luTmFtZTogc3RyaW5nKTogQ29pbkNvbnN0cnVjdG9yIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgZXZtQ29pbnMgPSBjb2lucy5maWx0ZXIoKGNvaW4pID0+IGNvaW4uZmVhdHVyZXMuaW5jbHVkZXMoQ29pbkZlYXR1cmUuU0hBUkVEX0VWTV9TREspKTtcbiAgY29uc3QgY29zbW9zU2hhcmVkQ29pbnMgPSBjb2lucy5maWx0ZXIoKGNvaW4pID0+IGNvaW4uZmVhdHVyZXMuaW5jbHVkZXMoQ29pbkZlYXR1cmUuU0hBUkVEX0NPU01PU19TREspKTtcbiAgaWYgKGV2bUNvaW5zLmhhcyhjb2luTmFtZSkpIHtcbiAgICByZXR1cm4gRXZtQ29pbi5jcmVhdGVJbnN0YW5jZTtcbiAgfVxuICBpZiAoY29zbW9zU2hhcmVkQ29pbnMuaGFzKGNvaW5OYW1lKSkge1xuICAgIHJldHVybiBDb3Ntb3NTaGFyZWRDb2luLmNyZWF0ZUluc3RhbmNlO1xuICB9XG4gIHN3aXRjaCAoY29pbk5hbWUpIHtcbiAgICBjYXNlICdhZGEnOlxuICAgICAgcmV0dXJuIEFkYS5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdhbGdvJzpcbiAgICAgIHJldHVybiBBbGdvLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2FwZWNoYWluJzpcbiAgICAgIHJldHVybiBBcGVjaGFpbi5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdhcHQnOlxuICAgICAgcmV0dXJuIEFwdC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdhcmJldGgnOlxuICAgICAgcmV0dXJuIEFyYmV0aC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdhc2knOlxuICAgICAgcmV0dXJuIEFzaS5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdhdG9tJzpcbiAgICAgIHJldHVybiBBdG9tLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2F2YXhjJzpcbiAgICAgIHJldHVybiBBdmF4Qy5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdhdmF4cCc6XG4gICAgICByZXR1cm4gQXZheFAuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnYmFieSc6XG4gICAgICByZXR1cm4gQmFieS5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdiY2gnOlxuICAgICAgcmV0dXJuIEJjaC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdiY2hhJzpcbiAgICAgIHJldHVybiBCY2hhLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2JlcmEnOlxuICAgICAgcmV0dXJuIEJlcmEuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnYmxkJzpcbiAgICAgIHJldHVybiBCbGQuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnYnNjJzpcbiAgICAgIHJldHVybiBCc2MuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnYnN2JzpcbiAgICAgIHJldHVybiBCc3YuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnYnRjJzpcbiAgICAgIHJldHVybiBCdGMuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnYnRnJzpcbiAgICAgIHJldHVybiBCdGcuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnY2FudG9uJzpcbiAgICAgIHJldHVybiBDYW50b24uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnY2Vsbyc6XG4gICAgICByZXR1cm4gQ2Vsby5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdjb3JlZGFvJzpcbiAgICAgIHJldHVybiBDb3JlZGFvLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2NvcmV1bSc6XG4gICAgICByZXR1cm4gQ29yZXVtLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2Nyb25vcyc6XG4gICAgICByZXR1cm4gQ3Jvbm9zLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2NzcHInOlxuICAgICAgcmV0dXJuIENzcHIuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnZGFzaCc6XG4gICAgICByZXR1cm4gRGFzaC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdkb2dlJzpcbiAgICAgIHJldHVybiBEb2dlLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2RvdCc6XG4gICAgICByZXR1cm4gRG90LmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2Vvcyc6XG4gICAgICByZXR1cm4gRW9zLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2V0Yyc6XG4gICAgICByZXR1cm4gRXRjLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2V0aCc6XG4gICAgICByZXR1cm4gRXRoLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2V0aHcnOlxuICAgICAgcmV0dXJuIEV0aHcuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnYmFzZWV0aCc6XG4gICAgICByZXR1cm4gRXRoTGlrZUNvaW4uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnb3BibmInOlxuICAgICAgcmV0dXJuIEV0aExpa2VDb2luLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2ZhbnRvbSc6XG4gICAgICByZXR1cm4gRXRoTGlrZUNvaW4uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnY290aWV0aCc6XG4gICAgICByZXR1cm4gRXRoTGlrZUNvaW4uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGJhc2VldGgnOlxuICAgICAgcmV0dXJuIFRldGhMaWtlQ29pbi5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0b3BibmInOlxuICAgICAgcmV0dXJuIFRldGhMaWtlQ29pbi5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0ZmFudG9tJzpcbiAgICAgIHJldHVybiBUZXRoTGlrZUNvaW4uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGNvdGlldGgnOlxuICAgICAgcmV0dXJuIFRldGhMaWtlQ29pbi5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdmbHInOlxuICAgICAgcmV0dXJuIEZsci5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdmbHJwJzpcbiAgICAgIHJldHVybiBGbHJwLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2d0ZXRoJzpcbiAgICAgIHJldHVybiBHdGV0aC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdoYXNoJzpcbiAgICAgIHJldHVybiBIYXNoLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2hiYXInOlxuICAgICAgcmV0dXJuIEhiYXIuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnaHRldGgnOlxuICAgICAgcmV0dXJuIEh0ZXRoLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2xuYnRjJzpcbiAgICAgIHJldHVybiBMbmJ0Yy5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdsdGMnOlxuICAgICAgcmV0dXJuIEx0Yy5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdtb24nOlxuICAgICAgcmV0dXJuIE1vbi5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdpY3AnOlxuICAgICAgcmV0dXJuIEljcC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdpbml0aWEnOlxuICAgICAgcmV0dXJuIEluaXRpYS5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdpbmplY3RpdmUnOlxuICAgICAgcmV0dXJuIEluamVjdGl2ZS5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdpb3RhJzpcbiAgICAgIHJldHVybiBJb3RhLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ2lzbG0nOlxuICAgICAgcmV0dXJuIElzbG0uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAna2FzcGEnOlxuICAgICAgcmV0dXJuIEthc3BhLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ25lYXInOlxuICAgICAgcmV0dXJuIE5lYXIuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnb2FzJzpcbiAgICAgIHJldHVybiBPYXMuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnb2ZjJzpcbiAgICAgIHJldHVybiBPZmMuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnb3BldGgnOlxuICAgICAgcmV0dXJuIE9wZXRoLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ29zbW8nOlxuICAgICAgcmV0dXJuIE9zbW8uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAncGVhcmwnOlxuICAgICAgcmV0dXJuIFBlYXJsLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3BvbHlnb24nOlxuICAgICAgcmV0dXJuIFBvbHlnb24uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAncG9seXgnOlxuICAgICAgcmV0dXJuIFBvbHl4LmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3JidGMnOlxuICAgICAgcmV0dXJuIFJidGMuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGhvcmNoYWluOnJ1bmUnOlxuICAgICAgcmV0dXJuIFJ1bmUuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnc2VpJzpcbiAgICAgIHJldHVybiBTZWkuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnc2VwZXRoJzpcbiAgICAgIHJldHVybiBTZXBldGguY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnc2diJzpcbiAgICAgIHJldHVybiBTZ2IuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnc29sJzpcbiAgICAgIHJldHVybiBTb2wuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnc29uZWl1bSc6XG4gICAgICByZXR1cm4gU29uZWl1bS5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICdzdGFya25ldCc6XG4gICAgICByZXR1cm4gU3RhcmtuZXQuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnc3R4JzpcbiAgICAgIHJldHVybiBTdHguY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnc3VpJzpcbiAgICAgIHJldHVybiBTdWkuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnc3VzZCc6XG4gICAgICByZXR1cm4gU3VzZC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0YW8nOlxuICAgICAgcmV0dXJuIFRhby5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0ZW1wbyc6XG4gICAgICByZXR1cm4gVGVtcG8uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGlhJzpcbiAgICAgIHJldHVybiBUaWEuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndG9uJzpcbiAgICAgIHJldHVybiBUb24uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGFsZ28nOlxuICAgICAgcmV0dXJuIFRhbGdvLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RhcGVjaGFpbic6XG4gICAgICByZXR1cm4gVGFwZWNoYWluLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RhcHQnOlxuICAgICAgcmV0dXJuIFRhcHQuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGFyYmV0aCc6XG4gICAgICByZXR1cm4gVGFyYmV0aC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0YWRhJzpcbiAgICAgIHJldHVybiBUYWRhLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3Rhc2knOlxuICAgICAgcmV0dXJuIFRhc2kuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGF0b20nOlxuICAgICAgcmV0dXJuIFRhdG9tLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RhdmF4Yyc6XG4gICAgICByZXR1cm4gVGF2YXhDLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RhdmF4cCc6XG4gICAgICByZXR1cm4gVGF2YXhQLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RiYWJ5JzpcbiAgICAgIHJldHVybiBUYmFieS5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0YmNoJzpcbiAgICAgIHJldHVybiBUYmNoLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RiY2hhJzpcbiAgICAgIHJldHVybiBUYmNoYS5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0YmVyYSc6XG4gICAgICByZXR1cm4gVGJlcmEuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGJsZCc6XG4gICAgICByZXR1cm4gVGJsZC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0YnNjJzpcbiAgICAgIHJldHVybiBUYnNjLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3Ric3YnOlxuICAgICAgcmV0dXJuIFRic3YuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGJ0Yyc6XG4gICAgICByZXR1cm4gVGJ0Yy5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0YnRjc2lnJzpcbiAgICAgIHJldHVybiBUYnRjc2lnLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RidGM0JzpcbiAgICAgIHJldHVybiBUYnRjNC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0YnRjYmdzaWcnOlxuICAgICAgcmV0dXJuIFRidGNiZ3NpZy5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0Y2FudG9uJzpcbiAgICAgIHJldHVybiBUY2FudG9uLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RjZWxvJzpcbiAgICAgIHJldHVybiBUY2Vsby5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0Y29yZWRhbyc6XG4gICAgICByZXR1cm4gVGNvcmVkYW8uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGNvcmV1bSc6XG4gICAgICByZXR1cm4gVGNvcmV1bS5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0Y3Jvbm9zJzpcbiAgICAgIHJldHVybiBUY3Jvbm9zLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3Rjc3ByJzpcbiAgICAgIHJldHVybiBUY3Nwci5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0ZGFzaCc6XG4gICAgICByZXR1cm4gVGRhc2guY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGRvZ2UnOlxuICAgICAgcmV0dXJuIFRkb2dlLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3Rkb3QnOlxuICAgICAgcmV0dXJuIFRkb3QuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGVvcyc6XG4gICAgICByZXR1cm4gVGVvcy5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0ZXRjJzpcbiAgICAgIHJldHVybiBUZXRjLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RldGgnOlxuICAgICAgcmV0dXJuIFRldGguY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGZscic6XG4gICAgICByZXR1cm4gVGZsci5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0ZmxycCc6XG4gICAgICByZXR1cm4gRmxycC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0bW9uJzpcbiAgICAgIHJldHVybiBUbW9uLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RoYXNoJzpcbiAgICAgIHJldHVybiBUaGFzaC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0aGJhcic6XG4gICAgICByZXR1cm4gVGhiYXIuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGljcCc6XG4gICAgICByZXR1cm4gVGljcC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0aW5pdGlhJzpcbiAgICAgIHJldHVybiBUaW5pdGlhLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RpbmplY3RpdmUnOlxuICAgICAgcmV0dXJuIFRpbmplY3RpdmUuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGlvdGEnOlxuICAgICAgcmV0dXJuIElvdGEuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGlzbG0nOlxuICAgICAgcmV0dXJuIFRpc2xtLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RrYXNwYSc6XG4gICAgICByZXR1cm4gS2FzcGEuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGxuYnRjJzpcbiAgICAgIHJldHVybiBUbG5idGMuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndGx0Yyc6XG4gICAgICByZXR1cm4gVGx0Yy5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0bmVhcic6XG4gICAgICByZXR1cm4gVE5lYXIuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndG9hcyc6XG4gICAgICByZXR1cm4gVG9hcy5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0b3BldGgnOlxuICAgICAgcmV0dXJuIFRvcGV0aC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0b3Ntbyc6XG4gICAgICByZXR1cm4gVG9zbW8uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndHBlYXJsJzpcbiAgICAgIHJldHVybiBUcGVhcmwuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndHBvbHlnb24nOlxuICAgICAgcmV0dXJuIFRwb2x5Z29uLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3Rwb2x5eCc6XG4gICAgICByZXR1cm4gVHBvbHl4LmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RyYnRjJzpcbiAgICAgIHJldHVybiBUcmJ0Yy5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0c2diJzpcbiAgICAgIHJldHVybiBUc2diLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3R0aG9yY2hhaW46cnVuZSc6XG4gICAgICByZXR1cm4gVHJ1bmUuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndHJ4JzpcbiAgICAgIHJldHVybiBUcnguY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndHNlaSc6XG4gICAgICByZXR1cm4gVHNlaS5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0c29sJzpcbiAgICAgIHJldHVybiBUc29sLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3Rzb25laXVtJzpcbiAgICAgIHJldHVybiBUc29uZWl1bS5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0c3RhcmtuZXQnOlxuICAgICAgcmV0dXJuIFN0YXJrbmV0LmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RzdHgnOlxuICAgICAgcmV0dXJuIFRzdHguY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndHN0eHNpZ25ldCc6XG4gICAgICByZXR1cm4gVHN0eHNpZ25ldC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0c3R0JzpcbiAgICAgIHJldHVybiBUc3R0LmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3RzdWknOlxuICAgICAgcmV0dXJuIFRzdWkuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndHN1c2QnOlxuICAgICAgcmV0dXJuIFRzdXNkLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3R0YW8nOlxuICAgICAgcmV0dXJuIFR0YW8uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndHRlbXBvJzpcbiAgICAgIHJldHVybiBUdGVtcG8uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndHRpYSc6XG4gICAgICByZXR1cm4gVHRpYS5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0dG9uJzpcbiAgICAgIHJldHVybiBUdG9uLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3R0cngnOlxuICAgICAgcmV0dXJuIFR0cnguY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndHZldCc6XG4gICAgICByZXR1cm4gVHZldC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0eGRjJzpcbiAgICAgIHJldHVybiBUeGRjLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3R4bG0nOlxuICAgICAgcmV0dXJuIFR4bG0uY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndHhycCc6XG4gICAgICByZXR1cm4gVHhycC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd0eHR6JzpcbiAgICAgIHJldHVybiBUeHR6LmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3R6ZWMnOlxuICAgICAgcmV0dXJuIFR6ZWMuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAndHpldGEnOlxuICAgICAgcmV0dXJuIFR6ZXRhLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3R6a2V0aCc6XG4gICAgICByZXR1cm4gVHprZXRoLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3R3ZW1peCc6XG4gICAgICByZXR1cm4gVHdlbWl4LmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3R3b3JsZCc6XG4gICAgICByZXR1cm4gVHdvcmxkLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3ZldCc6XG4gICAgICByZXR1cm4gVmV0LmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3hkYyc6XG4gICAgICByZXR1cm4gWGRjLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3hsbSc6XG4gICAgICByZXR1cm4gWGxtLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3hycCc6XG4gICAgICByZXR1cm4gWHJwLmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3h0eic6XG4gICAgICByZXR1cm4gWHR6LmNyZWF0ZUluc3RhbmNlO1xuICAgIGNhc2UgJ3dlbWl4JzpcbiAgICAgIHJldHVybiBXZW1peC5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd3b3JsZCc6XG4gICAgICByZXR1cm4gV29ybGQuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnemVjJzpcbiAgICAgIHJldHVybiBaZWMuY3JlYXRlSW5zdGFuY2U7XG4gICAgY2FzZSAnemV0YSc6XG4gICAgICByZXR1cm4gWmV0YS5jcmVhdGVJbnN0YW5jZTtcbiAgICBjYXNlICd6a2V0aCc6XG4gICAgICByZXR1cm4gWmtldGguY3JlYXRlSW5zdGFuY2U7XG4gICAgZGVmYXVsdDoge1xuICAgICAgY29uc3QgZmlhdENvbmZpZyA9IGFsbEZpYXRDb2lucy5maW5kKChjKSA9PiBjLmNoYWluID09PSBjb2luTmFtZSk7XG4gICAgICBpZiAoZmlhdENvbmZpZykge1xuICAgICAgICByZXR1cm4gRmlhdC5jcmVhdGVDb25zdHJ1Y3RvcihmaWF0Q29uZmlnKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUb2tlbkNvbnN0cnVjdG9yKFxuICB0b2tlbkNvbmZpZzogVG9rZW5Db25maWcsXG4gIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPlxuKTogQ29pbkNvbnN0cnVjdG9yIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgY29pbiA9IGNvaW5zLmdldE9yVW5kZWZpbmVkKHRva2VuQ29uZmlnLmNvaW4pO1xuICBjb25zdCBzdXBwb3J0c0VyYzIwID0gY29pbj8uZmVhdHVyZXMuaW5jbHVkZXMoQ29pbkZlYXR1cmUuU1VQUE9SVFNfRVJDMjApO1xuICBjb25zdCBzdXBwb3J0c0VyYzcyMSA9IGNvaW4/LmZlYXR1cmVzLmluY2x1ZGVzKENvaW5GZWF0dXJlLlNVUFBPUlRTX0VSQzcyMSk7XG4gIC8vIFByZXNlcnZlIHRoZSB0b2tlbiBraW5kIGZyb20gdGhlIHNvdXJjZSBzdGF0aWNzIGNvaW46IGZhbWlsaWVzIHN1cHBvcnRpbmcgYm90aCBFUkMyMCBhbmRcbiAgLy8gRVJDNzIxIChlLmcuIGhiYXJldm0pIGNhbm5vdCBiZSBkaXNjcmltaW5hdGVkIGZyb20gdGhlIHRva2VuIGNvbmZpZyBvciBmZWF0dXJlIGZsYWdzIGFsb25lLlxuICBjb25zdCBpc0VyYzcyMVRva2VuID0gc3RhdGljc0NvaW4gaW5zdGFuY2VvZiBFdGhMaWtlRVJDNzIxVG9rZW47XG4gIGNvbnN0IEdlbmVyaWNUb2tlbkNsYXNzID1cbiAgICBpc0VyYzcyMVRva2VuIHx8IChzdXBwb3J0c0VyYzcyMSAmJiAhc3VwcG9ydHNFcmMyMCkgPyBFdGhMaWtlRXJjNzIxVG9rZW4gOiBFdGhMaWtlRXJjMjBUb2tlbjtcblxuICBpZiAoJ25ldHdvcmsnIGluIHRva2VuQ29uZmlnICYmIHRva2VuQ29uZmlnLm5ldHdvcmsgPT09ICdNYWlubmV0JyAmJiAoc3VwcG9ydHNFcmMyMCB8fCBpc0VyYzcyMVRva2VuKSkge1xuICAgIHJldHVybiBHZW5lcmljVG9rZW5DbGFzcy5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIEV0aExpa2VUb2tlbkNvbmZpZywge1xuICAgICAgTWFpbm5ldDogdG9rZW5Db25maWcuY29pbixcbiAgICAgIFRlc3RuZXQ6IGB0JHt0b2tlbkNvbmZpZy5jb2lufWAsXG4gICAgfSk7XG4gIH1cblxuICBpZiAoJ25ldHdvcmsnIGluIHRva2VuQ29uZmlnICYmIHRva2VuQ29uZmlnLm5ldHdvcmsgPT09ICdNYWlubmV0JyAmJiBzdXBwb3J0c0VyYzcyMSkge1xuICAgIHJldHVybiBHZW5lcmljVG9rZW5DbGFzcy5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIEV0aExpa2VUb2tlbkNvbmZpZywge1xuICAgICAgTWFpbm5ldDogdG9rZW5Db25maWcuY29pbixcbiAgICAgIFRlc3RuZXQ6IGB0JHt0b2tlbkNvbmZpZy5jb2lufWAsXG4gICAgfSk7XG4gIH1cblxuICBzd2l0Y2ggKHRva2VuQ29uZmlnLmNvaW4pIHtcbiAgICBjYXNlICdldGgnOlxuICAgIGNhc2UgJ2h0ZXRoJzoge1xuICAgICAgY29uc3Qgc3RhdGljQ29pbiA9IGNvaW5zLmdldE9yVW5kZWZpbmVkKHRva2VuQ29uZmlnLnR5cGUpO1xuICAgICAgaWYgKHN0YXRpY0NvaW4gaW5zdGFuY2VvZiBFcmM3OTg0Q29pbikge1xuICAgICAgICByZXR1cm4gRXJjNzk4NFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgRXJjNzk4NFRva2VuQ29uZmlnKTtcbiAgICAgIH0gZWxzZSBpZiAodG9rZW5Db25maWcudHlwZS5pbmNsdWRlcygnZXJjNzIxJykpIHtcbiAgICAgICAgcmV0dXJuIEVyYzcyMVRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgRXRoTGlrZVRva2VuQ29uZmlnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBFcmMyMFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgRXJjMjBUb2tlbkNvbmZpZyk7XG4gICAgICB9XG4gICAgfVxuICAgIGNhc2UgJ3hsbSc6XG4gICAgY2FzZSAndHhsbSc6XG4gICAgICByZXR1cm4gU3RlbGxhclRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgU3RlbGxhclRva2VuQ29uZmlnKTtcbiAgICBjYXNlICdvZmMnOlxuICAgICAgcmV0dXJuIE9mY1Rva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgT2ZjVG9rZW5Db25maWcpO1xuICAgIGNhc2UgJ2NlbG8nOlxuICAgIGNhc2UgJ3RjZWxvJzpcbiAgICAgIHJldHVybiBDZWxvVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZyBhcyBDZWxvVG9rZW5Db25maWcpO1xuICAgIGNhc2UgJ2JzYyc6XG4gICAgY2FzZSAndGJzYyc6XG4gICAgICByZXR1cm4gQnNjVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZyBhcyBFcmMyMFRva2VuQ29uZmlnKTtcbiAgICBjYXNlICdlb3MnOlxuICAgIGNhc2UgJ3Rlb3MnOlxuICAgICAgcmV0dXJuIEVvc1Rva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgRW9zVG9rZW5Db25maWcpO1xuICAgIGNhc2UgJ2FsZ28nOlxuICAgIGNhc2UgJ3RhbGdvJzpcbiAgICAgIHJldHVybiBBbGdvVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZyBhcyBBbGdvVG9rZW5Db25maWcpO1xuICAgIGNhc2UgJ2F2YXhjJzpcbiAgICBjYXNlICd0YXZheGMnOlxuICAgICAgcmV0dXJuIEF2YXhDVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZyBhcyBBdmF4Y1Rva2VuQ29uZmlnKTtcbiAgICBjYXNlICdwb2x5Z29uJzpcbiAgICBjYXNlICd0cG9seWdvbic6XG4gICAgICByZXR1cm4gUG9seWdvblRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgRXRoTGlrZVRva2VuQ29uZmlnKTtcbiAgICBjYXNlICdzb25laXVtJzpcbiAgICBjYXNlICd0c29uZWl1bSc6XG4gICAgICByZXR1cm4gU29uZWl1bVRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgRXRoTGlrZVRva2VuQ29uZmlnKTtcbiAgICBjYXNlICdhcmJldGgnOlxuICAgIGNhc2UgJ3RhcmJldGgnOlxuICAgICAgcmV0dXJuIEFyYmV0aFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgRXRoTGlrZVRva2VuQ29uZmlnKTtcbiAgICBjYXNlICdvcGV0aCc6XG4gICAgY2FzZSAndG9wZXRoJzpcbiAgICAgIHJldHVybiBPcGV0aFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgRXRoTGlrZVRva2VuQ29uZmlnKTtcbiAgICBjYXNlICd6a2V0aCc6XG4gICAgY2FzZSAndHprZXRoJzpcbiAgICAgIHJldHVybiBaa2V0aFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgRXRoTGlrZVRva2VuQ29uZmlnKTtcbiAgICBjYXNlICd6a3N5bmNlcmEnOlxuICAgIGNhc2UgJ3R6a3N5bmNlcmEnOiB7XG4gICAgICBjb25zdCB6a3N5bmNlcmFDb2luTmFtZXMgPSB7IE1haW5uZXQ6ICd6a3N5bmNlcmEnLCBUZXN0bmV0OiAndHprc3luY2VyYScgfTtcbiAgICAgIHJldHVybiBFdGhMaWtlRXJjMjBUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIEV0aExpa2VUb2tlbkNvbmZpZywgemtzeW5jZXJhQ29pbk5hbWVzKTtcbiAgICB9XG4gICAgY2FzZSAnYmVyYSc6XG4gICAgY2FzZSAndGJlcmEnOlxuICAgICAgcmV0dXJuIEJlcmFUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIEV0aExpa2VUb2tlbkNvbmZpZyk7XG4gICAgY2FzZSAnYmFzZWV0aCc6XG4gICAgY2FzZSAndGJhc2VldGgnOlxuICAgICAgY29uc3QgY29pbk5hbWVzID0geyBNYWlubmV0OiAnYmFzZWV0aCcsIFRlc3RuZXQ6ICd0YmFzZWV0aCcgfTtcbiAgICAgIHJldHVybiBFdGhMaWtlRXJjMjBUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIEV0aExpa2VUb2tlbkNvbmZpZywgY29pbk5hbWVzKTtcbiAgICBjYXNlICdvcGJuYic6XG4gICAgY2FzZSAndG9wYm5iJzpcbiAgICAgIGNvbnN0IG9wYm5iQ29pbk5hbWVzID0geyBNYWlubmV0OiAnb3BibmInLCBUZXN0bmV0OiAndG9wYm5iJyB9O1xuICAgICAgcmV0dXJuIEV0aExpa2VFcmMyMFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgRXRoTGlrZVRva2VuQ29uZmlnLCBvcGJuYkNvaW5OYW1lcyk7XG4gICAgY2FzZSAnY29yZWRhbyc6XG4gICAgY2FzZSAndGNvcmVkYW8nOlxuICAgICAgcmV0dXJuIENvcmVkYW9Ub2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIEV0aExpa2VUb2tlbkNvbmZpZyk7XG4gICAgY2FzZSAnd29ybGQnOlxuICAgIGNhc2UgJ3R3b3JsZCc6XG4gICAgICByZXR1cm4gV29ybGRUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIEV0aExpa2VUb2tlbkNvbmZpZyk7XG4gICAgY2FzZSAnc29sJzpcbiAgICBjYXNlICd0c29sJzpcbiAgICAgIHJldHVybiBTb2xUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIFNvbFRva2VuQ29uZmlnKTtcbiAgICBjYXNlICdoYmFyJzpcbiAgICBjYXNlICd0aGJhcic6XG4gICAgICByZXR1cm4gSGJhclRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgSGJhclRva2VuQ29uZmlnKTtcbiAgICBjYXNlICd0cngnOlxuICAgIGNhc2UgJ3R0cngnOlxuICAgICAgcmV0dXJuIFRyeFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgVHJ4VG9rZW5Db25maWcpO1xuICAgIGNhc2UgJ2FkYSc6XG4gICAgY2FzZSAndGFkYSc6XG4gICAgICByZXR1cm4gQWRhVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZyBhcyBBZGFUb2tlbkNvbmZpZyk7XG4gICAgY2FzZSAnc3VpJzpcbiAgICBjYXNlICd0c3VpJzpcbiAgICAgIHJldHVybiBTdWlUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIFN1aVRva2VuQ29uZmlnKTtcbiAgICBjYXNlICd0YW8nOlxuICAgIGNhc2UgJ3R0YW8nOlxuICAgICAgcmV0dXJuIFRhb1Rva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgVGFvVG9rZW5Db25maWcpO1xuICAgIGNhc2UgJ3RlbXBvJzpcbiAgICBjYXNlICd0dGVtcG8nOlxuICAgICAgcmV0dXJuIFRpcDIwVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZyBhcyBUaXAyMFRva2VuQ29uZmlnKTtcbiAgICBjYXNlICdwb2x5eCc6XG4gICAgY2FzZSAndHBvbHl4JzpcbiAgICAgIHJldHVybiBQb2x5eFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgUG9seXhUb2tlbkNvbmZpZyk7XG4gICAgY2FzZSAneHJwJzpcbiAgICBjYXNlICd0eHJwJzpcbiAgICAgIGlmICgnY2FuVHJhbnNmZXInIGluIHRva2VuQ29uZmlnKSB7XG4gICAgICAgIHJldHVybiBYcnBNcHRUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIFhycE1wdFRva2VuQ29uZmlnKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBYcnBUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIFhycFRva2VuQ29uZmlnKTtcbiAgICBjYXNlICdhcHQnOlxuICAgIGNhc2UgJ3RhcHQnOlxuICAgICAgcmV0dXJuIEFwdFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgQXB0VG9rZW5Db25maWcpO1xuICAgIGNhc2UgJ2Zsb3cnOlxuICAgIGNhc2UgJ3RmbG93Jzoge1xuICAgICAgY29uc3QgY29pbk5hbWVzID0geyBNYWlubmV0OiAnZmxvdycsIFRlc3RuZXQ6ICd0ZmxvdycgfTtcbiAgICAgIHJldHVybiBFdGhMaWtlRXJjMjBUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIEV0aExpa2VUb2tlbkNvbmZpZywgY29pbk5hbWVzKTtcbiAgICB9XG4gICAgY2FzZSAnc2VpZXZtJzpcbiAgICBjYXNlICd0c2VpZXZtJzoge1xuICAgICAgY29uc3QgY29pbk5hbWVzID0geyBNYWlubmV0OiAnc2VpZXZtJywgVGVzdG5ldDogJ3RzZWlldm0nIH07XG4gICAgICByZXR1cm4gRXRoTGlrZUVyYzIwVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZyBhcyBFdGhMaWtlVG9rZW5Db25maWcsIGNvaW5OYW1lcyk7XG4gICAgfVxuICAgIGNhc2UgJ2xpbmVhZXRoJzpcbiAgICBjYXNlICd0bGluZWFldGgnOiB7XG4gICAgICBjb25zdCBjb2luTmFtZXMgPSB7IE1haW5uZXQ6ICdsaW5lYWV0aCcsIFRlc3RuZXQ6ICd0bGluZWFldGgnIH07XG4gICAgICByZXR1cm4gRXRoTGlrZUVyYzIwVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZyBhcyBFdGhMaWtlVG9rZW5Db25maWcsIGNvaW5OYW1lcyk7XG4gICAgfVxuICAgIGNhc2UgJ3N0eCc6XG4gICAgY2FzZSAndHN0eCc6XG4gICAgY2FzZSAndHN0eHNpZ25ldCc6XG4gICAgICByZXR1cm4gU2lwMTBUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIFNpcDEwVG9rZW5Db25maWcpO1xuICAgIGNhc2UgJ25lYXInOlxuICAgIGNhc2UgJ3RuZWFyJzpcbiAgICAgIHJldHVybiBOZXAxNDFUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIE5lcDE0MVRva2VuQ29uZmlnKTtcbiAgICBjYXNlICd2ZXQnOlxuICAgIGNhc2UgJ3R2ZXQnOlxuICAgICAgcmV0dXJuIFZldFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgVmV0VG9rZW5Db25maWcpO1xuICAgIGNhc2UgJ2hhc2gnOlxuICAgIGNhc2UgJ3RoYXNoJzpcbiAgICAgIHJldHVybiBIYXNoVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZyBhcyBDb3Ntb3NUb2tlbkNvbmZpZyk7XG4gICAgY2FzZSAnZmxyJzpcbiAgICBjYXNlICd0ZmxyJzpcbiAgICAgIHJldHVybiBGbHJUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIEV0aExpa2VUb2tlbkNvbmZpZyk7XG4gICAgY2FzZSAndG9uJzpcbiAgICBjYXNlICd0dG9uJzpcbiAgICAgIHJldHVybiBKZXR0b25Ub2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuQ29uZmlnIGFzIEpldHRvblRva2VuQ29uZmlnKTtcbiAgICBjYXNlICdtb24nOlxuICAgIGNhc2UgJ3Rtb24nOlxuICAgICAgcmV0dXJuIE1vblRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgRXRoTGlrZVRva2VuQ29uZmlnKTtcbiAgICBjYXNlICd4ZGMnOlxuICAgIGNhc2UgJ3R4ZGMnOlxuICAgICAgcmV0dXJuIFhkY1Rva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgRXRoTGlrZVRva2VuQ29uZmlnKTtcbiAgICBjYXNlICdjYW50b24nOlxuICAgIGNhc2UgJ3RjYW50b24nOlxuICAgICAgcmV0dXJuIENhbnRvblRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW5Db25maWcgYXMgQ2FudG9uVG9rZW5Db25maWcpO1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIC8vIEdlbmVyaWMgRVZNIGZhbGx0aHJvdWdoOiB0b2tlbnMgb24gZmFtaWxpZXMgd2hvc2UgYmFzZSBjb2luIHN1cHBvcnRzIEVSQzIwL0VSQzcyMSBidXRcbiAgICAgIC8vIHdoaWNoIGhhdmUgbm8gY2FzZSBhYm92ZSAoZS5nLiB0ZXN0bmV0IHRva2VucyBvbiBuZXdseSBhZGRlZCBFVk0gZmFtaWxpZXMpLiBSZXNvbHZlc1xuICAgICAgY29uc3QgYmFzZUNvaW4gPSBjb2lucy5nZXRPclVuZGVmaW5lZCh0b2tlbkNvbmZpZy5jb2luKTtcbiAgICAgIC8vIEVSQzIwL0VSQzcyMSBzdXBwb3J0IGlzIGEgZmFtaWx5LWxldmVsIHByb3BlcnR5OyB0aGUgdGVzdG5ldCBzaWJsaW5nIG9mIGEgbWFpbm5ldCBiYXNlXG4gICAgICAvLyBjb2luIGRvZXMgbm90IGFsd2F5cyBjYXJyeSB0aGUgZmVhdHVyZSBmbGFncyBpdHNlbGYsIHNvIHJlc29sdmUgdGhlIG1haW5uZXQgZmFtaWx5IGNvaW4uXG4gICAgICBjb25zdCBmYW1pbHlCYXNlQ29pbiA9XG4gICAgICAgIGJhc2VDb2luICYmIGJhc2VDb2luLm5ldHdvcmsudHlwZSA9PT0gTmV0d29ya1R5cGUuTUFJTk5FVFxuICAgICAgICAgID8gYmFzZUNvaW5cbiAgICAgICAgICA6IGJhc2VDb2luICYmIGNvaW5zLmdldE9yVW5kZWZpbmVkKGJhc2VDb2luLmZhbWlseSk7XG4gICAgICBjb25zdCBzdXBwb3J0c0VyYzIwID0gZmFtaWx5QmFzZUNvaW4/LmZlYXR1cmVzLmluY2x1ZGVzKENvaW5GZWF0dXJlLlNVUFBPUlRTX0VSQzIwKTtcbiAgICAgIGNvbnN0IHN1cHBvcnRzRXJjNzIxID0gZmFtaWx5QmFzZUNvaW4/LmZlYXR1cmVzLmluY2x1ZGVzKENvaW5GZWF0dXJlLlNVUFBPUlRTX0VSQzcyMSk7XG4gICAgICBpZiAoZmFtaWx5QmFzZUNvaW4gJiYgJ25ldHdvcmsnIGluIHRva2VuQ29uZmlnICYmIChzdXBwb3J0c0VyYzIwIHx8IHN1cHBvcnRzRXJjNzIxIHx8IGlzRXJjNzIxVG9rZW4pKSB7XG4gICAgICAgIC8vIE9ubHkgdGhlIGVudHJ5IG1hdGNoaW5nIHRoZSB0b2tlbidzIG93biBuZXR3b3JrIGlzIHJlYWQgYnkgdGhlIHRva2VuIGNvbnN0cnVjdG9yO1xuICAgICAgICAvLyBkZXJpdmUgdGhlIHNpYmxpbmcgbmFtZSBmcm9tIHRoZSBiYXNlIGNvaW4gc28gYm90aCBlbnRyaWVzIGFyZSB2YWxpZC5cbiAgICAgICAgY29uc3QgY29pbk5hbWVzID0geyBNYWlubmV0OiBmYW1pbHlCYXNlQ29pbi5uYW1lLCBUZXN0bmV0OiBgdCR7ZmFtaWx5QmFzZUNvaW4ubmFtZX1gIH07XG4gICAgICAgIGNvbnN0IFRva2VuQ2xhc3MgPSBpc0VyYzcyMVRva2VuIHx8IChzdXBwb3J0c0VyYzcyMSAmJiAhc3VwcG9ydHNFcmMyMCkgPyBFdGhMaWtlRXJjNzIxVG9rZW4gOiBFdGhMaWtlRXJjMjBUb2tlbjtcbiAgICAgICAgcmV0dXJuIFRva2VuQ2xhc3MuY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbkNvbmZpZyBhcyBFdGhMaWtlVG9rZW5Db25maWcsIGNvaW5OYW1lcyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY29uc3QgR2xvYmFsQ29pbkZhY3Rvcnk6IENvaW5GYWN0b3J5ID0gbmV3IENvaW5GYWN0b3J5KCk7XG5cbnJlZ2lzdGVyQ29pbkNvbnN0cnVjdG9ycyhHbG9iYWxDb2luRmFjdG9yeSk7XG4iXX0=