@secrecy/lib 1.0.0-dev.2 → 1.0.0-dev.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/zeus/index.js CHANGED
@@ -1,10 +1,11 @@
1
+ import _construct from "@babel/runtime/helpers/construct";
1
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
3
  import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose";
3
4
  import _wrapNativeSuper from "@babel/runtime/helpers/wrapNativeSuper";
4
5
 
5
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
6
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
7
 
7
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
8
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8
9
 
9
10
  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
10
11
 
@@ -28,6 +29,10 @@ export var Lang;
28
29
  Lang["pl"] = "pl";
29
30
  Lang["ru"] = "ru";
30
31
  Lang["zh"] = "zh";
32
+ Lang["ar"] = "ar";
33
+ Lang["he"] = "he";
34
+ Lang["hi"] = "hi";
35
+ Lang["ko"] = "ko";
31
36
  })(Lang || (Lang = {}));
32
37
 
33
38
  export var PlanKind;
@@ -280,9 +285,9 @@ var traverseToSeekArrays = function traverseToSeekArrays(parent, a) {
280
285
  if (typeof a === 'object') {
281
286
  Object.keys(a).filter(function (k) {
282
287
  return typeof a[k] !== 'undefined';
283
- }).map(function (k) {
288
+ }).forEach(function (k) {
284
289
  if (k === '__alias') {
285
- Object.keys(a[k]).map(function (aliasKey) {
290
+ Object.keys(a[k]).forEach(function (aliasKey) {
286
291
  var aliasOperations = a[k][aliasKey];
287
292
  var aliasOperationName = Object.keys(aliasOperations)[0];
288
293
  var aliasOperation = aliasOperations[aliasOperationName];
@@ -336,43 +341,29 @@ var inspectVariables = function inspectVariables(query) {
336
341
  }).join(', ') + ")" + filteredQuery;
337
342
  };
338
343
 
339
- export var queryConstruct = function queryConstruct(t, tName) {
344
+ export var queryConstruct = function queryConstruct(t, tName, operationName) {
340
345
  return function (o) {
341
- return "" + t.toLowerCase() + inspectVariables(buildQuery(tName, o));
346
+ return "" + t.toLowerCase() + (operationName ? ' ' + operationName : '') + inspectVariables(buildQuery(tName, o));
342
347
  };
343
348
  };
344
-
345
- var fullChainConstruct = function fullChainConstruct(fn) {
349
+ export var fullChainConstruct = function fullChainConstruct(fn) {
346
350
  return function (t, tName) {
347
- return function (o, variables) {
348
- return fn(queryConstruct(t, tName)(o), variables).then(function (r) {
351
+ return function (o, options) {
352
+ return fn(queryConstruct(t, tName, options == null ? void 0 : options.operationName)(o), options == null ? void 0 : options.variables).then(function (r) {
349
353
  seekForAliases(r);
350
354
  return r;
351
355
  });
352
356
  };
353
357
  };
354
358
  };
355
-
356
- export var fullChainConstructor = function fullChainConstructor(fn, operation, key) {
357
- return function (o, variables) {
358
- return fullChainConstruct(fn)(operation, key)(o, variables);
359
- };
360
- };
361
-
362
- var fullSubscriptionConstruct = function fullSubscriptionConstruct(fn) {
359
+ export var fullSubscriptionConstruct = function fullSubscriptionConstruct(fn) {
363
360
  return function (t, tName) {
364
- return function (o, variables) {
365
- return fn(queryConstruct(t, tName)(o), variables);
361
+ return function (o, options) {
362
+ return fn(queryConstruct(t, tName, options == null ? void 0 : options.operationName)(o));
366
363
  };
367
364
  };
368
365
  };
369
366
 
370
- export var fullSubscriptionConstructor = function fullSubscriptionConstructor(fn, operation, key) {
371
- return function (o, variables) {
372
- return fullSubscriptionConstruct(fn)(operation, key)(o, variables);
373
- };
374
- };
375
-
376
367
  var seekForAliases = function seekForAliases(response) {
377
368
  var traverseAlias = function traverseAlias(value) {
378
369
  if (Array.isArray(value)) {
@@ -413,6 +404,9 @@ var seekForAliases = function seekForAliases(response) {
413
404
  export var $ = function $(t) {
414
405
  return "ZEUS_VAR$" + t.join('');
415
406
  };
407
+ export var resolverFor = function resolverFor(_type, _field, fn) {
408
+ return fn;
409
+ };
416
410
 
417
411
  var handleFetchResponse = function handleFetchResponse(response) {
418
412
  if (!response.ok) {
@@ -469,45 +463,87 @@ export var apiFetch = function apiFetch(options) {
469
463
  });
470
464
  };
471
465
  };
466
+ export var apiSubscription = function apiSubscription(options) {
467
+ return function (query) {
468
+ try {
469
+ var _options$, _options$$websocket, _options$2;
470
+
471
+ var queryString = options[0] + '?query=' + encodeURIComponent(query);
472
+ var wsString = queryString.replace('http', 'ws');
473
+ var host = options.length > 1 && ((_options$ = options[1]) == null ? void 0 : (_options$$websocket = _options$.websocket) == null ? void 0 : _options$$websocket[0]) || wsString;
474
+ var webSocketOptions = ((_options$2 = options[1]) == null ? void 0 : _options$2.websocket) || [host];
475
+
476
+ var ws = _construct(WebSocket, webSocketOptions);
477
+
478
+ return {
479
+ ws: ws,
480
+ on: function on(e) {
481
+ ws.onmessage = function (event) {
482
+ if (event.data) {
483
+ var parsed = JSON.parse(event.data);
484
+ var data = parsed.data;
485
+
486
+ if (data) {
487
+ seekForAliases(data);
488
+ }
489
+
490
+ return e(data);
491
+ }
492
+ };
493
+ },
494
+ off: function off(e) {
495
+ ws.onclose = e;
496
+ },
497
+ error: function error(e) {
498
+ ws.onerror = e;
499
+ },
500
+ open: function open(e) {
501
+ ws.onopen = e;
502
+ }
503
+ };
504
+ } catch (_unused) {
505
+ throw new Error('No websockets implemented');
506
+ }
507
+ };
508
+ };
509
+ var allOperations = {
510
+ "query": "Query",
511
+ "mutation": "Mutation",
512
+ "subscription": "Subscription"
513
+ };
472
514
  export var Thunder = function Thunder(fn) {
473
- return {
474
- query: fullChainConstructor(fn, 'query', 'Query'),
475
- mutation: fullChainConstructor(fn, 'mutation', 'Mutation')
515
+ return function (operation) {
516
+ return function (o, ops) {
517
+ return fullChainConstruct(fn)(operation, allOperations[operation])(o, ops);
518
+ };
476
519
  };
477
520
  };
478
521
  export var Chain = function Chain() {
479
- for (var _len = arguments.length, options = new Array(_len), _key = 0; _key < _len; _key++) {
480
- options[_key] = arguments[_key];
522
+ for (var _len = arguments.length, options = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {
523
+ options[_key2] = arguments[_key2];
481
524
  }
482
525
 
483
- return {
484
- query: fullChainConstructor(apiFetch(options), 'query', 'Query'),
485
- mutation: fullChainConstructor(apiFetch(options), 'mutation', 'Mutation')
526
+ return Thunder(apiFetch(options));
527
+ };
528
+ export var SubscriptionThunder = function SubscriptionThunder(fn) {
529
+ return function (operation) {
530
+ return function (o, ops) {
531
+ return fullSubscriptionConstruct(fn)(operation, allOperations[operation])(o, ops);
532
+ };
486
533
  };
487
534
  };
488
- export var Zeus = {
489
- query: function query(o) {
490
- return queryConstruct('query', 'Query')(o);
491
- },
492
- mutation: function mutation(o) {
493
- return queryConstruct('mutation', 'Mutation')(o);
535
+ export var Subscription = function Subscription() {
536
+ for (var _len2 = arguments.length, options = new Array(_len2), _key3 = 0; _key3 < _len2; _key3++) {
537
+ options[_key3] = arguments[_key3];
494
538
  }
539
+
540
+ return SubscriptionThunder(apiSubscription(options));
495
541
  };
496
- export var Cast = {
497
- query: function (o) {
498
- return function (_) {
499
- return o;
500
- };
501
- },
502
- mutation: function (o) {
503
- return function (_) {
504
- return o;
505
- };
506
- }
542
+ export var Zeus = function Zeus(operation, o, operationName) {
543
+ return queryConstruct(operation, allOperations[operation], operationName)(o);
507
544
  };
508
- export var Selectors = {
509
- query: ZeusSelect(),
510
- mutation: ZeusSelect()
545
+ export var Selector = function Selector(_key) {
546
+ return ZeusSelect();
511
547
  };
512
- export var Gql = Chain('https://api-dev.secrecy.me/graphql');
513
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy96ZXVzL2luZGV4LnRzIl0sIm5hbWVzIjpbIkFsbFR5cGVzUHJvcHMiLCJSZXR1cm5UeXBlcyIsIkxhbmciLCJQbGFuS2luZCIsIlVzZXJSb2xlIiwiTWFpbFR5cGUiLCJSaWdodHMiLCJGaWxlQ29udGVudFR5cGUiLCJQYXlJbnB1dFR5cGUiLCJHcmFwaFFMRXJyb3IiLCJyZXNwb25zZSIsImNvbnNvbGUiLCJlcnJvciIsInRvU3RyaW5nIiwiRXJyb3IiLCJaZXVzU2VsZWN0IiwidCIsIlNjYWxhclJlc29sdmVyIiwic2NhbGFyIiwidmFsdWUiLCJKU09OIiwic3RyaW5naWZ5IiwiVHlwZXNQcm9wc1Jlc29sdmVyIiwidHlwZSIsIm5hbWUiLCJrZXkiLCJibG9ja0FycmF5cyIsInJlc29sdmVkVmFsdWUiLCJ0eXBlUmVzb2x2ZWQiLCJpc0FycmF5IiwiYXJyYXkiLCJpc0FycmF5UmVxdWlyZWQiLCJhcnJheVJlcXVpcmVkIiwic3RhcnRzV2l0aCIsImlzUmVxdWlyZWQiLCJyZXF1aXJlZCIsInNwbGl0IiwibWFwIiwidiIsImpvaW4iLCJyZXNsb3ZlZFNjYWxhciIsInJlc29sdmVkVHlwZSIsImFyZ3NLZXlzIiwiT2JqZWN0Iiwia2V5cyIsImZpbHRlciIsImFrIiwidW5kZWZpbmVkIiwiaXNBcnJheUZ1bmN0aW9uIiwicGFyZW50IiwiYSIsInZhbHVlcyIsInIiLCJtYWluS2V5Iiwia2V5VmFsdWVzIiwiayIsImxlbmd0aCIsInRyYXZlcnNlVG9TZWVrQXJyYXlzIiwic3BsaWNlIiwidHlwZVJlc29sdmVyS2V5IiwidmFsdWVUb1Jlc29sdmUiLCJhcmd1bWVudFN0cmluZyIsInJlc29sdmVLViIsIm9iamVjdFRvVHJlZSIsIm8iLCJiIiwiQXJyYXkiLCJhbGlhc0tleSIsImFsaWFzT3BlcmF0aW9ucyIsImFsaWFzT3BlcmF0aW9uTmFtZSIsImFsaWFzT3BlcmF0aW9uIiwiYnVpbGRRdWVyeSIsImluc3BlY3RWYXJpYWJsZXMiLCJxdWVyeSIsInJlZ2V4IiwicmVzdWx0IiwiQWxsVmFyaWFibGVzIiwiZXhlYyIsImluY2x1ZGVzIiwicHVzaCIsImZpbHRlcmVkUXVlcnkiLCJmb3JFYWNoIiwidmFyaWFibGUiLCJyZXBsYWNlIiwidmFyaWFibGVOYW1lIiwidmFyaWFibGVUeXBlIiwicXVlcnlDb25zdHJ1Y3QiLCJ0TmFtZSIsInRvTG93ZXJDYXNlIiwiZnVsbENoYWluQ29uc3RydWN0IiwiZm4iLCJ2YXJpYWJsZXMiLCJ0aGVuIiwic2Vla0ZvckFsaWFzZXMiLCJmdWxsQ2hhaW5Db25zdHJ1Y3RvciIsIm9wZXJhdGlvbiIsImZ1bGxTdWJzY3JpcHRpb25Db25zdHJ1Y3QiLCJmdWxsU3Vic2NyaXB0aW9uQ29uc3RydWN0b3IiLCJ0cmF2ZXJzZUFsaWFzIiwiaW5kZXhPZiIsImFsaWFzIiwiJCIsImhhbmRsZUZldGNoUmVzcG9uc2UiLCJvayIsIlByb21pc2UiLCJfIiwicmVqZWN0IiwidGV4dCIsInBhcnNlIiwiZXJyIiwiY2F0Y2giLCJqc29uIiwiYXBpRmV0Y2giLCJvcHRpb25zIiwiZmV0Y2hGdW5jdGlvbiIsImZldGNoIiwicXVlcnlTdHJpbmciLCJmZXRjaE9wdGlvbnMiLCJtZXRob2QiLCJlbmNvZGVVUklDb21wb25lbnQiLCJlcnJvcnMiLCJkYXRhIiwiYm9keSIsImhlYWRlcnMiLCJUaHVuZGVyIiwibXV0YXRpb24iLCJDaGFpbiIsIlpldXMiLCJDYXN0IiwiU2VsZWN0b3JzIiwiR3FsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBO0FBRUEsU0FBU0EsYUFBVCxFQUF3QkMsV0FBeEIsUUFBMkMsWUFBM0M7QUE0c0RBLFdBQVlDLElBQVo7O1dBQVlBLEk7QUFBQUEsRUFBQUEsSTtBQUFBQSxFQUFBQSxJO0FBQUFBLEVBQUFBLEk7QUFBQUEsRUFBQUEsSTtBQUFBQSxFQUFBQSxJO0FBQUFBLEVBQUFBLEk7QUFBQUEsRUFBQUEsSTtBQUFBQSxFQUFBQSxJO0FBQUFBLEVBQUFBLEk7QUFBQUEsRUFBQUEsSTtBQUFBQSxF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QVEsRUFBRS9CLG9CQUFvQixDQUFDa0IsUUFBUSxDQUFDQyxPQUFELENBQVQsRUFBb0IsVUFBcEIsRUFBZ0MsVUFBaEM7QUFGb0IsR0FBL0I7QUFBQSxDQUFkO0FBSVAsT0FBTyxJQUFNYyxJQUFJLEdBQUc7QUFDbEJ0RCxFQUFBQSxLQUFLLEVBQUUsZUFBQ1QsQ0FBRDtBQUFBLFdBQTRCc0IsY0FBYyxDQUFDLE9BQUQsRUFBVSxPQUFWLENBQWQsQ0FBaUN0QixDQUFqQyxDQUE1QjtBQUFBLEdBRFc7QUFFbEI2RCxFQUFBQSxRQUFRLEVBQUUsa0JBQUM3RCxDQUFEO0FBQUEsV0FBK0JzQixjQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0FBZCxDQUF1Q3RCLENBQXZDLENBQS9CO0FBQUE7QUFGUSxDQUFiO0FBSVAsT0FBTyxJQUFNZ0UsSUFBSSxHQUFHO0FBQ2xCdkQsRUFBQUEsS0FBSyxFQUFHLFVBQUNULENBQUQ7QUFBQSxXQUFZLFVBQUN5QyxDQUFEO0FBQUEsYUFBWXpDLENBQVo7QUFBQSxLQUFaO0FBQUEsR0FEVTtBQUtsQjZELEVBQUFBLFFBQVEsRUFBRyxVQUFDN0QsQ0FBRDtBQUFBLFdBQVksVUFBQ3lDLENBQUQ7QUFBQSxhQUFZekMsQ0FBWjtBQUFBLEtBQVo7QUFBQTtBQUxPLENBQWI7QUFVUCxPQUFPLElBQU1pRSxTQUFTLEdBQUc7QUFDdkJ4RCxFQUFBQSxLQUFLLEVBQUUxRCxVQUFVLEVBRE07QUFFdkI4RyxFQUFBQSxRQUFRLEVBQUU5RyxVQUFVO0FBRkcsQ0FBbEI7QUFNUCxPQUFPLElBQU1tSCxHQUFHLEdBQUdKLEtBQUssQ0FBQyxvQ0FBRCxDQUFqQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlICovXG5cbmltcG9ydCB7IEFsbFR5cGVzUHJvcHMsIFJldHVyblR5cGVzIH0gZnJvbSAnLi9jb25zdC5qcyc7XG50eXBlIFpFVVNfSU5URVJGQUNFUyA9IEdyYXBoUUxUeXBlc1tcIkZpbGVDb250ZW50QmFzZVwiXVxudHlwZSBaRVVTX1VOSU9OUyA9IEdyYXBoUUxUeXBlc1tcIkZpbGVDb250ZW50XCJdXG5cbmV4cG9ydCB0eXBlIFZhbHVlVHlwZXMgPSB7XG4gIC8qKiBUaGUgYEJpZ0ludGAgc2NhbGFyIHR5cGUgcmVwcmVzZW50cyBub24tZnJhY3Rpb25hbCBzaWduZWQgd2hvbGUgbnVtZXJpYyB2YWx1ZXMuXG5Ac2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0JpZ0ludCAqL1xuICBbXCJCaWdJbnRcIl06IHVua25vd247XG4gIC8qKiBUaGUgYEJ5dGVgIHNjYWxhciB0eXBlIHJlcHJlc2VudHMgYnl0ZSB2YWx1ZSBhcyBhIEJ1ZmZlciAqL1xuICBbXCJCeXRlc1wiXTogdW5rbm93bjtcbiAgLyoqIEEgZGF0ZS10aW1lIHN0cmluZyBhdCBVVEMsIHN1Y2ggYXMgMjAwNy0xMi0wM1QxMDoxNTozMFosIGNvbXBsaWFudCB3aXRoIHRoZSBgZGF0ZS10aW1lYCBmb3JtYXQgb3V0bGluZWQgaW4gc2VjdGlvbiA1LjYgb2YgdGhlIFJGQyAzMzM5IHByb2ZpbGUgb2YgdGhlIElTTyA4NjAxIHN0YW5kYXJkIGZvciByZXByZXNlbnRhdGlvbiBvZiBkYXRlcyBhbmQgdGltZXMgdXNpbmcgdGhlIEdyZWdvcmlhbiBjYWxlbmRhci4gKi9cbiAgW1wiRGF0ZVRpbWVcIl06IHVua25vd247XG4gIC8qKiBBbiBhcmJpdHJhcnktcHJlY2lzaW9uIERlY2ltYWwgdHlwZSAqL1xuICBbXCJEZWNpbWFsXCJdOiB1bmtub3duO1xuICAvKiogVGhlIGBKU09OT2JqZWN0YCBzY2FsYXIgdHlwZSByZXByZXNlbnRzIEpTT04gb2JqZWN0cyBhcyBzcGVjaWZpZWQgYnkgW0VDTUEtNDA0XShodHRwOi8vd3d3LmVjbWEtaW50ZXJuYXRpb25hbC5vcmcvcHVibGljYXRpb25zL2ZpbGVzL0VDTUEtU1QvRUNNQS00MDQucGRmKS4gKi9cbiAgW1wiSnNvblwiXTogdW5rbm93bjtcbiAgW1wiTGFuZ1wiXTogTGFuZztcbiAgW1wiUGxhbktpbmRcIl06IFBsYW5LaW5kO1xuICBbXCJVc2VyUm9sZVwiXTogVXNlclJvbGU7XG4gIFtcIk1haWxUeXBlXCJdOiBNYWlsVHlwZTtcbiAgW1wiUmlnaHRzXCJdOiBSaWdodHM7XG4gIFtcIkZpbGVcIl06IEFsaWFzVHlwZTx7XG4gICAgaWQ/OiB0cnVlLFxuICAgIHNpemU/OiB0cnVlLFxuICAgIHNpemVCZWZvcmU/OiB0cnVlLFxuICAgIGNyZWF0ZWRBdD86IHRydWUsXG4gICAgdkZpbGVzPzogVmFsdWVUeXBlc1tcIlZGaWxlXCJdLFxuICAgIHZGaWxlc0N1cnJlbnQ/OiBWYWx1ZVR5cGVzW1wiVkZpbGVcIl0sXG4gICAgdXNlcnM/OiBWYWx1ZVR5cGVzW1wiRmlsZXNPblVzZXJzT25BcHBsaWNhdGlvbnNcIl0sXG4gICAgbWQ1PzogdHJ1ZSxcbiAgICBtZDVFbmNyeXB0ZWQ/OiB0cnVlLFxuICAgIGRlbGV0ZWRBdD86IHRydWUsXG4gICAgdXNlckFwcD86IFZhbHVlVHlwZXNbXCJBcHBsaWNhdGlvbnNPblVzZXJzXCJdLFxuICAgIG1haWxzPzogVmFsdWVUeXBlc1tcIkZpbGVzT25NYWlsc1wiXSxcbiAgICB2YWxpZGF0ZWRBdD86IHRydWUsXG4gICAgdXNlcj86IFZhbHVlVHlwZXNbXCJGaWxlc09uVXNlcnNPbkFwcGxpY2F0aW9uc1wiXSxcbiAgICBfX3R5cGVuYW1lPzogdHJ1ZVxuICB9PjtcbiAgW1wiRmlsZVBhcnRcIl06IEFsaWFzVHlwZTx7XG4gICAgaWQ/OiB0cnVlLFxuICAgIGZpbGU/OiBWYWx1ZVR5cGVzW1wiRmlsZVwiXSxcbiAgICBmaWxlSWQ/OiB0cnVlLFxuICAgIHNpemU/OiB0cnVlLFxuICAgIG9yZGVyPzogdHJ1ZSxcbiAgICBtZDU/OiB0cnVlLFxuICAgIHZhbGlkYXRlZEF0PzogdHJ1ZSxcbiAgICBfX3R5cGVuYW1lPzogdHJ1ZVxuICB9PjtcbiAgW1wiRmlsZUNvbnRlbnRUeXBlXCJdOiBGaWxlQ29udGVudFR5cGU7XG4gIFtcIkZpbGVDb250ZW50UGFydFwiXTogQWxpYXNUeXBlPHtcbiAgICBjb250ZW50VXJsPzogdHJ1ZSxcbiAgICBvcmRlcj86IHRydWUsXG4gICAgbWQ1PzogdHJ1ZSxcbiAgICBfX3R5cGVuYW1lPzogdHJ1ZVxuICB9PjtcbiAgW1wiRmlsZUNvbnRlbnRCYXNlXCJdOiBBbGlhc1R5cGU8e1xuICAgIHBhcnRzPzogVmFsdWVUeXBlc1tcIkZpbGVDb250ZW50UGFydFwiXSxcbiAgICBrZXk/OiB0cnVlLFxuICAgIG1kNT86IHRydWUsXG4gICAgbWQ1RW5jcnlwdGVkPzogdHJ1ZSxcbiAgICB0b3RhbFNpemU/OiB0cnVlLFxuICAgIHR5cGU/OiB0cnVlO1xuICAgIFsnLi4ub24gRmlsZUNvbnRlbnRDbG91ZCddPzogT21pdDxWYWx1ZVR5cGVzW1wiRmlsZUNvbnRlbnRDbG91ZFwiXSwga2V5b2YgVmFsdWVUeXBlc1tcIkZpbGVDb250ZW50QmFzZVwiXT47XG4gICAgWycuLi5vbiBGaWxlQ29udGVudFNlbnRNYWlsJ10/OiBPbWl0PFZhbHVlVHlwZXNbXCJGaWxlQ29udGVudFNlbnRNYWlsXCJdLCBrZXlvZiBWYWx1ZVR5cGVzW1wiRmlsZUNvbnRlbnRCYXNlXCJdPjtcbiAgICBbJy4uLm9uIEZpbGVDb250ZW50UmVjZWl2ZWRNYWlsJ10/OiBPbWl0PFZhbHVlVHlwZXNbXCJGaWxlQ29udGVudFJlY2VpdmVkTWFpbFwiXSwga2V5b2YgVmFsdWVUeXBlc1tcIkZpbGVDb250ZW50QmFzZVwiXT47XG4gICAgX190eXBlbmFtZT86IHRydWVcbiAgfT47XG4gIFtcIkZpbGVDb250ZW50Q2xvdWRcIl06IEFsaWFzVHlwZTx7XG4gICAgcGFydHM/OiBWYWx1ZVR5cGVzW1wiRmlsZUNvbnRlbnRQYXJ0XCJdLFxuICAgIGtleT86IHRydWUsXG4gICAgbWQ1PzogdHJ1ZSxcbiAgICBtZDVFbmNyeXB0ZWQ/OiB0cnVlLFxuICAgIHRvdGFsU2l6ZT86IHRydWUsXG4gICAgdHlwZT86IHRydWUsXG4gICAgcHVibGljS2V5PzogdHJ1ZSxcbiAgICBfX3R5cGVuYW1lPzogdHJ1ZVxuICB9PjtcbiAgW1wiRmlsZUNvbnRlbnRTZW50TWFpbFwiXTogQWxpYXNUeXBlPHtcbiAgICBwYXJ0cz86IFZhbHVlVHlwZXNbXCJGaWxlQ29udGVudFBhcnRcIl0sXG4gICAga2V5PzogdHJ1ZSxcbiAgICBtZDU/OiB0cnVlLFxuICAgIG1kNUVuY3J5cHRlZD86IHRydWUsXG4gICAgdG90YWxTaXplPzogdHJ1ZSxcbiAgICB0eXBlPzogdHJ1ZSxcbiAgICBfX3R5cGVuYW1lPzogdHJ1ZVxuICB9PjtcbiAgW1wiRmlsZUNvbnRlbnRSZWNlaXZlZE1haWxcIl06IEFsaWFzVHlwZTx7XG4gICAgcGFydHM/OiBWYWx1ZVR5cGVzW1wiRmlsZUNvbnRlbnRQYXJ0XCJdLFxuICAgIGtleT86IHRydWUsXG4gICAgbWQ1PzogdHJ1ZSxcbiAgICBtZDVFbmNyeXB0ZWQ/OiB0cnVlLFxuICAgIHRvdGFsU2l6ZT86IHRydWUsXG4gICAgdHlwZT86IHRydWUsXG4gICAgc2VuZGVyUHVibGljS2V5PzogdHJ1ZSxcbiAgICBfX3R5cGVuYW1lPzogdHJ1ZVxuICB9PjtcbiAgW1wiRmlsZUNvbnRlbnRcIl06IEFsaWFzVHlwZTx7XG4gICAgW1wiLi4ub24gRmlsZUNvbnRlbnRDbG91ZFwiXTogVmFsdWVUeXBlc1tcIkZpbGVDb250ZW50Q2xvdWRcIl0sXG4gICAgW1wiLi4ub24gRmlsZUNvbnRlbnRSZWNlaXZlZE1haWxcIl06IFZhbHVlVHlwZXNbXCJGaWxlQ29udGVudFJlY2VpdmVkTWFpbFwiXSxcbiAgICBbXCIuLi5vbiBGaWxlQ29udGVudFNlbnRNYWlsXCJdOiBWYWx1ZVR5cGVzW1wiRmlsZUNvbnRlbnRTZW50TWFpbFwiXVxuICAgIF9fdHlwZW5hbWU/OiB0cnVlXG4gIH0+O1xuICBbXCJGaWxlUmVzcG9uc2VcIl06IEFsaWFzVHlwZTx7XG4gICAgZmlsZUlkPzogdHJ1ZSxcbiAgICBwYXJ0cz86IFZhbHVlVHlwZXNbXCJGaWxlUGFydFJlc3BvbnNlXCJdLFxuICAgIGZpbGVQYXJ0U2l6ZT86IHRydWUsXG4gICAgX190eXBlbmFtZT86IHRydWVcbiAgfT47XG4gIFtcIkZpbGVQYXJ0UmVzcG9uc2VcIl06IEFsaWFzVHlwZTx7XG4gICAgZmllbGRzPzogdHJ1ZSxcbiAgICB1cmw/OiB0cnVlLFxuICAgIG9yZGVyPzogdHJ1ZSxcbiAgICBfX3R5cGVuYW1lPzogdHJ1ZVxuICB9PjtcbiAgW1wiRmlsZVNoYXJlZFwiXTogQWxpYXNUeXBlPHtcbiAgICB1c2VySWQ/OiB0cnVlLFxuICAgIG1lc3NhZ2U/OiB0cnVlLFxuICAgIGFwcElkPzogdHJ1ZSxcbiAgICBpZD86IHRydWUsXG4gICAgZmlsZW5hbWU/OiB0cnVlLFxuICAgIHNpemU/OiB0cnVlLFxuICAgIHNpemVCZWZvcmU/OiB0cnVlLFxuICAgIF9fdHlwZW5hbWU/OiB0cnVlXG4gIH0+O1xuICBbXCJGaWxlU2hhcmVkQ29udGVudFwiXTogQWxpYXNUeXBlPHtcbiAgICBvd25lcklkPzogdHJ1ZSxcbiAgICBwdWJLZXk/OiB0cnVlLFxuICAgIG1lc3NhZ2U/OiB0cnVlLFxuICAgIGFwcElkPzogdHJ1ZSxcbiAgICBpZD86IHRydWUsXG4gICAgdHlwZT86IHRydWUsXG4gICAgZmlsZW5hbWU/OiB0cnVlLFxuICAgIGNvbnRlbnRVcmw/OiB0cnVlLFxuICAgIGtleT86IHRydWUsXG4gICAgc2l6ZT86IHRydWUsXG4gICAgc2l6ZUJlZm9yZT86IHRydWUsXG4gICAgX190eXBlbmFtZT86IHRydWVcbiAgfT47XG4gIFtcIkNsb3VkTGltaXRzXCJdOiBBbGlhc1R5cGU8e1xuICAgIHNpemU/OiB0cnVlLFxuICAgIG1heFNpemU/OiB0cnVlLFxuICAgIGNvdW50PzogdHJ1ZSxcbiAgICBtYXhDb3VudD86IHRydWUsXG4gICAgX190eXBlbmFtZT86IHRydWVcbiAgfT47XG4gIFtcIk1haWxMaW1pdHNWYWx1ZXNcIl06IEFsaWFzVHlwZTx7XG4gICAgY291bnQ/OiB0cnVlLFxuICAgIG1heENvdW50PzogdHJ1ZSxcbiAgICBmaWxlQ291bnQ/OiB0cnVlLFxuICAgIG1heEZpbGVDb3VudD86IHRydWUsXG4gICAgZmlsZVNpemU/OiB0cnVlLFxuICAgIG1heEZpbGVTaXplPzogdHJ1ZSxcbiAgICBfX3R5cGVuYW1lPzogdHJ1ZVxuICB9PjtcbiAgW1wiVXNlck1haWxMaW1pdHNcIl06IEFsaWFzVHlwZTx7XG4gICAgc2VudD86IFZhbHVlVHlwZXNbXCJNYWlsTGltaXRzVmFsdWVzXCJdLFxuICAgIHJlY2VpdmVkPzogVmFsdWVUeXBlc1tcIk1haWxMaW1pdHNWYWx1ZXNcIl0sXG4gICAgX190eXBlbmFtZT86IHRydWVcbiAgfT47XG4gIFtcIlF1ZXJ5TGltaXRzXCJdOiBBbGlhc1R5cGU8e1xuICAgIGNsb3VkPzogVmFsdWVUeXBlc1tcIkNsb3VkTGltaXRzXCJdLFxuICAgIG1haWw/OiBWYWx1ZVR5cGVzW1wiVXNlck1haWxMaW1pdHNcIl0sXG4gICAgX190eXBlbmFtZT86IHRydWVcbiAgfT47XG4gIFtcIkxpbWl0c1wiXTogQWxpYXNUeXBlPHtcbiAgICBkb3dubG9hZEJhbmR3aWR0aD86IHRydWUsXG4gICAgZG93bmxvYWRDb3VudD86IHRydWUsXG4gICAgaGFyZEZpbGVDb3VudD86IHRydWUsXG4gICAgaGFyZEZpbGVTaXplPzogdHJ1ZSxcbiAgICBwZXJGaWxlU2l6ZT86IHRydWUsXG4gICAgcmVjZWl2ZWRNYWlscz86IFZhbHVlVHlwZXNbXCJNYWlsTGltaXRzXCJdLFxuICAgIHNlbnRNYWlscz86IFZhbHVlVHlwZXNbXCJNYWlsTGltaXRzXCJdLFxuICAgIHVwbG9hZEJhbmR3aWR0aD86IHRydWUsXG4gICAgdXBsb2FkQ291bnQ/OiB0cnVlLFxuICAgIF9fdHlwZW5hbWU/OiB0cnVlXG4gIH0+O1xuICBbXCJNYWlsTGltaXRzXCJdOiBBbGlhc1R5cGU8e1xuICAgIGNvdW50PzogdHJ1ZSxcbiAgICBmaWxlQ291bnQ/OiB0cnVlLFxuICAgIGZpbGVTaXplPzogdHJ1ZSxcbiAgICBoYXJkQ291bnQ/OiB0cnVlLFxuICAgIGhhcmRGaWxlQ291bnQ/OiB0cnVlLFxuICAgIGhhcmRGaWxlU2l6ZT86IHRydWUsXG4gICAgcGVyRmlsZVNpemU/OiB0cnVlLFxuICAgIF9fdHlwZW5hbWU/OiB0cnVlXG4gIH0+O1xuICBbXCJVc2VyXCJdOiBBbGlhc1R5cGU8e1xuICAgIGlkPzogdHJ1ZSxcbiAgICBkZWxldGVkQXQ/OiB0cnVlLFxuICAgIGxhbmc/OiB0cnVlLFxuICAgIHJlcG9ydFNlbnQ/OiBWYWx1ZVR5cGVzW1wiUmVwb3J0XCJdLFxuICAgIGdvZEZhdGhlcj86IFZhbHVlVHlwZXNbXCJVc2VyXCJdLFxuICAgIGdvZENoaWxkcmVuPzogVmFsdWVUeXBlc1tcIlVzZXJcIl0sXG4gICAgZmlyc3RuYW1lPzogdHJ1ZSxcbiAgICBsYXN0bmFtZT86IHRydWUsXG4gICAgZW1haWw/OiB0cnVlLFxuICAgIHBob25lPzogdHJ1ZSxcbiAgICBsYXN0TG9naW4/OiB0cnVlLFxuICAgIHJvbGU/OiB0cnVlLFxuICAgIHNlc3Npb25zPzogVmFsdWVUeXBlc1tcIlVzZXJTZXNzaW9uXCJdLFxuICAgIGNyZWF0ZWRBdD86IHRydWUsXG4gICAgcmVjZWl2ZWRNYWlscz86IFZhbHVlVHlwZXNbXCJNYWlsXCJdLFxuICAgIHdhaXRpbmdSZWNlaXZlZE1haWxzPzogVmFsdWVUeXBlc1tcIldhaXRpbmdSZWNlaXZlZE1haWxcIl0sXG4gICAgc2VudE1haWxzPzogVmFsdWVUeXBlc1tcIk1haWxcIl0sXG4gICAgZHJhZnRNYWlscz86IFZhbHVlVHlwZXNbXCJNYWlsXCJdLFxuICAgIGFwcFNldHRpbmdzPzogVmFsdWVUeXBlc1tcIlVzZXJBcHBTZXR0aW5nc1wiXSxcbiAgICBhcHBsaWNhdGlvbnM/OiBWYWx1ZVR5cGVzW1wiQXBwbGljYXRpb25zT25Vc2Vyc1wiXSxcbiAgICBwdWJsaWNLZXk/OiB0cnVlLFxuICAgIF9fdHlwZW5hbWU/OiB0cnVlXG4gIH0+O1xuICBbXCJNYWlsXCJdOiBBbGlhc1R5cGU8e1xuICAgIGlkPzogdHJ1ZSxcbiAgICBhcHA/OiBWYWx1ZVR5cGVzW1wiQXBwbGljYXRpb25cIl0sXG4gICAgYm9keT86IHRydWUsXG4gICAgY3JlYXRlZEF0PzogdHJ1ZSxcbiAgICBkZWxldGVkQXQ/OiB0cnVlLFxuICAgIGZpbGVzPzogVmFsdWVUeXBlc1tcIkZpbGVzT25NYWlsc1wiXSxcbiAgICBtYWlsSW50ZWdyaXR5PzogVmFsdWVUeXBlc1tcIk1haWxJbnRlZ3JpdHlcIl0sXG4gICAgbWFpbEludGVncml0eURyYWZ0PzogVmFsdWVUeXBlc1tcIk1haWxJbnRlZ3JpdHlEcmFmdFwiXSxcbiAgICBvcGVuZWRBdD86IHRydWUsXG4gICAgcmVjaXBpZW50PzogVmFsdWVUeXBlc1tcIlVzZXJcIl0sXG4gICAgc2VuZGVyPzogVmFsdWVUeXBlc1tcIlVzZXJcIl0sXG4gICAgc3ViamVjdD86IHRydWUsXG4gICAgdHlwZT86IHRydWUsXG4gICAgcmVjaXBpZW50cz86IFZhbHVlVHlwZXNbXCJVc2VyXCJdLFxuICAgIF9fdHlwZW5hbWU/OiB0cnVlXG4gIH0+O1xuICBbXCJNYWlsSW50ZWdyaXR5XCJdOiBBbGlhc1R5cGU8e1xuICAgIGlkPzogdHJ1ZSxcbiAgICBoYXNoPzogdHJ1ZSxcbiAgICBoYXNoS2V5PzogdHJ1ZSxcbiAgICBhbnN3ZXJzPzogVmFsdWVUeXBlc1tcIk1haWxJbnRlZ3JpdHlcIl0sXG4gICAgYXBwPzogVmFsdWVUeXBlc1tcIkFwcGxpY2F0aW9uXCJdLFxuICAgIG1haWxzPzogVmFsdWVUeXBlc1tcIk1haWxcIl0sXG4gICAgcmVjaXBpZW50cz86IFZhbHVlVHlwZXNbXCJVc2VyXCJdLFxuICAgIHRlbXBvcmFyeVJlY2lwaWVudHM/OiBWYWx1ZVR5cGVzW1wiVGVtcG9yYXJ5VXNlclwiXSxcbiAgICByZXBseVRvPzogVmFsdWVUeXBlc1tcIk1haWxJbnRlZ3JpdHlcIl0sXG4gICAgX190eXBlbmFtZT86IHRydWVcbiAgfT47XG4gIFtcIkZpbGVzT25NYWlsc1wiXTogQWxpYXNUeXBlPHtcbiAgICBmaWxlPzogVmFsdWVUeXBlc1tcIkZpbGVcIl0sXG4gICAgZmlsZUtleT86IHRydWUsXG4gICAgZmlsZW5hbWU/OiB0cnVlLFxuICAgIG1haWw/OiBWYWx1ZVR5cGVzW1wiTWFpbFwiXSxcbiAgICBfX3R5cGVuYW1lPzogdHJ1ZVxuICB9PjtcbiAgW1wiRmlsZXNPblVzZXJzT25BcHBsaWNhdGlvbnNcIl06IEFsaWFzVHlwZTx7XG4gICAgZmlsZT86IFZhbHVlVHlwZXNbXCJGaWxlXCJdLFxuICAgIHVzZXJBcHA/OiBWYWx1ZVR5cGVzW1wiQXBwbGljYXRpb25zT25Vc2Vyc1wiXSxcbiAgICAvKiogRW5jcnlwdGVkIHdpdGggVXNlckFwcCBrZXlzICovXG4gICAga2V5PzogdHJ1ZSxcbiAgICBfX3R5cGVuYW1lPzogdHJ1ZVxuICB9PjtcbiAgW1wiVkZpbGVcIl06IEFsaWFzVHlwZTx7XG4gICAgaWQ/OiB0cnVlLFxuICAgIGlzRmF2b3JpdGU/OiB0cnVlLFxuICAgIGNyZWF0ZWRBdD86IHRydWUsXG4gICAgZGVsZXRlZEF0PzogdHJ1ZSxcbiAgICBmaWxlbmFtZT86IHRydWUsXG4gICAgdXNlckFwcHM/OiBWYWx1ZVR5cGVzW1wiVkZpbGVzT25Vc2Vyc09uQXBwbGljYXRpb25zXCJdLFxuICAgIGNyZWF0ZWRCeT86IFZhbHVlVHlwZXNbXCJBcHBsaWNhdGlvbnNPblVzZXJzXCJdLFxuICAgIHVzZXJBcHA/OiBWYWx1ZVR5cGVzW1wiVkZpbGVzT25Vc2Vyc09uQXBwbGljYXRpb25zXCJdLFxuICAgIGZvbGRlcj86IFZhbHVlVHlwZXNbXCJGb2xkZXJcIl0sXG4gICAgaGlzdG9yeT86IFZhbHVlVHlwZXNbXCJGaWxlXCJdLFxuICAgIGN1cnJlbnQ/OiBWYWx1ZVR5cGVzW1wiRmlsZVwiXSxcbiAgICB1cGRhdGVkQXQ/OiB0cnVlLFxuICAgIF9fdHlwZW5hbWU/OiB0cnVlXG4gIH0+O1xuICBbXCJGb2xkZXJCcmVhZGNydW1iSXRlbVwiXTogQWxpYXNUeXBlPHtcbiAgICBpZD86IHRydWUsXG4gICAgbmFtZT86IHRydWUsXG4gICAgcHViS2V5PzogdHJ1ZSxcbiAgICBuYW1lS2V5PzogdHJ1ZSxcbiAgICBfX3R5cGVuYW1lPzogdHJ1ZVxuICB9PjtcbiAgW1wiRm9sZGVyXCJdOiBBbGlhc1R5cGU8e1xuICAgIGlkPzogdHJ1ZSxcbiAgICBpc0Zhdm9yaXRlPzogdHJ1ZSxcbiAgICBjcmVhdGVkQXQ/OiB0cnVlLFxuICAgIGRlbGV0ZWRBdD86IHRydWUsXG4gICAgdXBkYXRlZEF0PzogdHJ1ZSxcbiAgICBjcmVhdGVkQnk/OiBWYWx1ZVR5cGVzW1wiQXBwbGljYXRpb25zT25Vc2Vyc1wiXSxcbiAgICB1c2VyQXBwcz86IFZhbHVlVHlwZXNbXCJGb2xkZXJzT25Vc2Vyc09uQXBwbGljYXRpb25zXCJdLFxuICAgIHVzZXJBcHA/OiBWYWx1ZVR5cGVzW1wiRm9sZGVyc09uVXNlcnNPbkFwcGxpY2F0aW9uc1wiXSxcbiAgICBuYW1lPzogdHJ1ZSxcbiAgICBwYXJlbnRGb2xkZXI/OiBWYWx1ZVR5cGVzW1wiRm9sZGVyXCJdLFxuICAgIHN1YmZvbGRlcnM/OiBWYWx1ZVR5cGVzW1wiRm9sZGVyXCJdLFxuICAgIHZGaWxlcz86IFZhbHVlVHlwZXNbXCJWRmlsZVwiXSxcbiAgICBicmVhZGNydW1iPzogVmFsdWVUeXBlc1tcIkZvbGRlckJyZWFkY3J1bWJJdGVtXCJdLFxuICAgIF9fdHlwZW5hbWU/OiB0cnVlXG4gIH0+O1xuICBbXCJBcHBsaWNhdGlvblwiXTogQWxpYXNUeXBlPHtcbiAgICBpZD86IHRydWUsXG4gICAgbmFtZT86IHRydWUsXG4gICAgX190eXBlbmFtZT86IHRydWVcbiAgfT47XG4gIFtcIkFwcGxpY2F0aW9uc09uVXNlcnNcIl06IEFsaWFzVHlwZTx7XG4gICAgZmFrZVVzZXJJZD86IHRydWUsXG4gICAga2V5UGFpcj86IFZhbHVlVHlwZXNbXCJBcHBLZXlQYWlyXCJdLFxuICAgIHNlc3Npb25zPzogVmFsdWVUeXBlc1tcIkFwcFNlc3Npb25cIl0sXG4gICAgYXBwPzogVmFsdWVUeXBlc1tcIkFwcGxpY2F0aW9uXCJdLFxuICAgIHVzZXI/OiBWYWx1ZVR5cGVzW1wiVXNlclwiXSxcbiAgICBmb2xkZXJzPzogVmFsdWVUeXBlc1tcIkZvbGRlcnNPblVzZXJzT25BcHBsaWNhdGlvbnNcIl0sXG4gICAgc2V0dGluZ3M/OiBWYWx1ZVR5cGVzW1wiVXNlckFwcFNldHRpbmdzXCJdLFxuICAgIF9fdHlwZW5hbWU/OiB0cnVlXG4gIH0+O1xuICBbXCJBcHBLZXlQYWlyXCJdOiBBbGlhc1R5cGU8e1xuICAgIHB1Yj86IHRydWUsXG4gICAgX190eXBlbmFtZT86IHRydWVcbiAgfT47XG4gIFtcIkZvbGRlclNpemVcIl06IEFsaWFzVHlwZTx7XG4gICAgc2l6ZT86IHRydWUsXG4gICAgc2l6ZUJlZm9yZT86IHRydWUsXG4gICAgX190eXBlbmFtZT86IHRydWVcbiAgfT47XG4gIFtcIlVzZXJTZXNzaW9uXCJdOiBBbGlhc1R5cGU8e1xuICAgIGlkPzogdHJ1ZSxcbiAgICBhcHBTZXNzaW9ucz86IFZhbHVlVHlwZXNbXCJBcHBTZXNzaW9uXCJdLFxuICAgIGxhc3RBY3Rpdml0eT86IHRydWUsXG4gICAgdXNlckFnZW50PzogdHJ1ZSxcbiAgICBpcD86IHRydWUsXG4gICAgY2l0eT86IHRydWUsXG4gICAgY291bnRyeT86IHRydWUsXG4gICAgY3JlYXRlZEF0PzogdHJ1ZSxcbiAgICBfX3R5cGVuYW1lPzogdHJ1ZVxuICB9PjtcbiAgW1wiQXBwU2Vzc2lvblwiXTogQWxpYXNUeXBlPHtcbiAgICBpZD86IHRydWUsXG4gICAgbGFzdEFjdGl2aXR5PzogdHJ1ZSxcbiAgICB1c2VyQWdlbnQ/OiB0cnVlLFxuICAgIGlwPzogdHJ1ZSxcbiAgICBjaXR5PzogdHJ1ZSxcbiAgICBjb3VudHJ5PzogdHJ1ZSxcbiAgICB1c2VyU2Vzc2lvbj86IFZhbHVlVHlwZXNbXCJVc2VyU2Vzc2lvblwiXSxcbiAgICB1c2VyQXBwPzogVmFsdWVUeXBlc1tcIkFwcGxpY2F0aW9uc09uVXNlcnNcIl0sXG4gICAgY3JlYXRlZEF0PzogdHJ1ZSxcbiAgICBfX3R5cGVuYW1lPzogdHJ1ZVxuICB9PjtcbiAgW1wiVXNlckFwcFNldHRpbmdzXCJdOiBBbGlhc1R5cGU8e1xuICAgIGlkPzogdHJ1ZSxcbiAgICBjbG91ZEZpbGVEYXlzRm9yRGVsZXRlPzogdHJ1ZSxcbiAgICBjbG91ZEZvbGRlckRheXNGb3JEZWxldGU/OiB0cnVlLFxuICAgIGhpc3RvcnlGaWxlRGF5c0ZvckRlbGV0ZT86IHRydWUsXG4gICAgaGlzdG9yeU1heEZpbGVDb3VudD86IHRydWUsXG4gICAgYXV0b0Rpc2Nvbm5lY3REZWxheT86IHRydWUsXG4gICAgX190eXBlbmFtZT86IHRydWVcbiAgfT47XG4gIFtcIk1haWxGaWxlSW5wdXRcIl06IHtcbiAgICBpZDogc3RyaW5nLFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICBmaWxlS2V5OiBzdHJpbmdcbiAgfTtcbiAgW1wiTWFpbFJlY2lwaWVudElucHV0XCJdOiB7XG4gICAgYm9keTogc3RyaW5nLFxuICAgIHN1YmplY3Q6IHN0cmluZyxcbiAgICByZWNpcGllbnRJZDogc3RyaW5nLFxuICAgIGZpbGVzOiBWYWx1ZVR5cGVzW1wiTWFpbEZpbGVJbnB1dFwiXVtdXG4gIH07XG4gIFtcIlNoYXJlRmlsZUtleUlucHV0XCJdOiB7XG4gICAgaWQ6IHN0cmluZyxcbiAgICBrZXk6IHN0cmluZ1xuICB9O1xuICBbXCJOYW1lS2V5SW5wdXRcIl06IHtcbiAgICBpZDogc3RyaW5nLFxuICAgIG5hbWVLZXk6IHN0cmluZyxcbiAgICBmaWxlczogVmFsdWVUeXBlc1tcIlNoYXJlRmlsZUtleUlucHV0XCJdW11cbiAgfTtcbiAgW1wiTmFtZUtleUlucHV0Rm9sZGVyc1wiXToge1xuICAgIGlkOiBzdHJpbmcsXG4gICAgbmFtZUtleTogc3RyaW5nXG4gIH07XG4gIFtcIlNoYXJlRm9sZGVyc0lucHV0XCJdOiB7XG4gICAgZm9sZGVyczogVmFsdWVUeXBlc1tcIk5hbWVLZXlJbnB1dEZvbGRlcnNcIl1bXSxcbiAgICB2RmlsZXM6IFZhbHVlVHlwZXNbXCJOYW1lS2V5SW5wdXRcIl1bXVxuICB9O1xuICBbXCJTaGFyZUZpbGVJbkhpc3RvcnlJbnB1dFwiXToge1xuICAgIGZpbGVJZDogc3RyaW5nLFxuICAgIHVzZXJzOiBWYWx1ZVR5cGVzW1wiU2hhcmVGaWxlS2V5SW5wdXRcIl1bXVxuICB9O1xuICBbXCJQYXlJbnB1dFR5cGVcIl06IFBheUlucHV0VHlwZTtcbiAgW1wiUGF5SW5wdXRcIl06IHtcbiAgICB0eXBlOiBWYWx1ZVR5cGVzW1wiUGF5SW5wdXRUeXBlXCJdLFxuICAgIHRva2VuOiBzdHJpbmcsXG4gICAgZmlyc3ROYW1lOiBzdHJpbmcsXG4gICAgbGFzdE5hbWU6IHN0cmluZyxcbiAgICBzdHJlZXQ6IHN0cmluZyxcbiAgICBwb3N0YWxDb2RlOiBzdHJpbmcsXG4gICAgY2l0eTogc3RyaW5nLFxuICAgIGNvdW50cnk6IHN0cmluZyxcbiAgICBudW1iZXI6IHN0cmluZyxcbiAgICBtb250aDogc3RyaW5nLFxuICAgIHllYXI6IHN0cmluZyxcbiAgICBjdnY6IHN0cmluZ1xuICB9O1xuICBbXCJXYWl0aW5nUmVjZWl2ZWRNYWlsXCJdOiBBbGlhc1R5cGU8e1xuICAgIHNlbmRlcj86IFZhbHVlVHlwZXNbXCJVc2VyXCJdLFxuICAgIGRhdGU/OiB0cnVlLFxuICAgIHJlY2lwaWVudHM/OiBWYWx1ZVR5cGVzW1wiVXNlclwiXSxcbiAgICB0ZW1wb3JhcnlSZWNpcGllbnRzPzogVmFsdWVUeXBlc1tcIlRlbXBvcmFyeVVzZXJcIl0sXG4gICAgYXR0YWNobWVudHNDb3VudD86IHRydWUsXG4gICAgX190eXBlbmFtZT86IHRydWVcbiAgfT47XG4gIFtcIlRlbXBvcmFyeVVzZXJcIl06IEFsaWFzVHlwZTx7XG4gICAgaWQ/OiB0cnVlLFxuICAgIG1haWxzPzogVmFsdWVUeXBlc1tcIk1haWxJbnRlZ3JpdHlcIl0sXG4gICAgZHJhZnRNYWlscz86IFZhbHVlVHlwZXNbXCJNYWlsSW50ZWdyaXR5RHJhZnRcIl0sXG4gICAgZW1haWw/OiB0cnVlLFxuICAgIF9fdHlwZW5hbWU/OiB0cnVlXG4gIH0+O1xuICBbXCJNYWlsSW50ZWdyaXR5RHJhZnRcIl06IEFsaWFzVHlwZTx7XG4gICAgaWQ/OiB0cnVlLFxuICAgIGhhc2g/OiB0cnVlLFxuICAgIGhhc2hLZXk/OiB0cnVlLFxuICAgIGFwcD86IFZhbHVlVHlwZXNbXCJBcHBsaWNhdGlvblwiXSxcbiAgICBtYWlsPzogVmFsdWVUeXBlc1tcIk1haWxcIl0sXG4gICAgcmVjaXBpZW50cz86IFZhbHVlVHlwZXNbXCJVc2VyXCJdLFxuICAgIHRlbXBvcmFyeVJlY2lwaWVudHM/OiBWYWx1ZVR5cGVzW1wiVGVtcG9yYXJ5VXNlclwiXSxcbiAgICByZXBseVRvPzogVmFsdWVUeXBlc1tcIk1haWxJbnRlZ3JpdHlcIl0sXG4gICAgX190eXBlbmFtZT86IHRydWVcbiAgfT47XG4gIFtcIkZhcVwiXTogQWxpYXNUeXBlPHtcbiAgICBpZD86IHRydWUsXG4gICAgb3JkZXI/OiB0cnVlLFxuICAgIGVudHJpZXM/OiBWYWx1ZVR5cGVzW1wiRmFxRW50cnlcIl0sXG4gICAgX190eXBlbmFtZT86IHRydWVcbiAgfT47XG4gIFtcIkZhcUVudHJ5XCJdOiBBbGlhc1R5cGU8e1xuICAgIGlkPzogdHJ1ZSxcbiAgICBsYW5nPzogdHJ1ZSxcbiAgICBxdWVzdGlvbj86IHRydWUsXG4gICAgYW5zd2VyPzogdHJ1ZSxcbiAgICBmYXE/OiBWYWx1ZVR5cGVzW1wiRmFxXCJdLFxuICAgIF9fdHlwZW5hbWU/OiB0cnVlXG4gIH0+O1xuICBbXCJQbGFuXCJdOiBBbGlhc1R5cGU8e1xuICAgIGlkPzogdHJ1ZSxcbiAgICBraW5kPzogdHJ1ZSxcbiAgICBjb2Rlcz86IHRydWUsXG4gICAgbGltaXRzPzogVmFsdWVUeXBlc1tcIkxpbWl0c1wiXSxcbiAgICBfX3R5cGVuYW1lPzogdHJ1ZVxuICB9PjtcbiAgW1wiUmVwb3J0XCJdOiBBbGlhc1R5cGU8e1xuICAgIGlkPzogdHJ1ZSxcbiAgICB1c2VyPzogVmFsdWVUeXBlc1tcIlVzZXJcIl0sXG4gICAgcmVwb3J0ZWRVc2VyPzogVmFsdWVUeXBlc1tcIlVzZXJcIl0sXG4gICAgY3VzdG9tTWVzc2FnZT86IHRydWUsXG4gICAgX190eXBlbmFtZT86IHRydWVcbiAgfT47XG4gIFtcIkZvbGRlcnNPblVzZXJzT25BcHBsaWNhdGlvbnNcIl06IEFsaWFzVHlwZTx7XG4gICAgZm9sZGVyPzogVmFsdWVUeXBlc1tcIkZvbGRlclwiXSxcbiAgICB1c2VyQXBwPzogVmFsdWVUeXBlc1tcIkFwcGxpY2F0aW9uc09uVXNlcnNcIl0sXG4gICAgcmlnaHRzPzogdHJ1ZSxcbiAgICBuYW1lS2V5PzogdHJ1ZSxcbiAgICBpc1Jvb3Q/OiB0cnVlLFxuICAgIF9fdHlwZW5hbWU/OiB0cnVlXG4gIH0+O1xuICBbXCJWRmlsZXNPblVzZXJzT25BcHBsaWNhdGlvbnNcIl06IEFsaWFzVHlwZTx7XG4gICAgdkZpbGU/OiBWYWx1ZVR5cGVzW1wiVkZpbGVcIl0sXG4gICAgdXNlckFwcD86IFZhbHVlVHlwZXNbXCJBcHBsaWNhdGlvbnNPblVzZXJzXCJdLFxuICAgIHJpZ2h0cz86IHRydWUsXG4gICAgbmFtZUtleT86IHRydWUsXG4gICAgaXNSb290PzogdHJ1ZSxcbiAgICBfX3R5cGVuYW1lPzogdHJ1ZVxuICB9PjtcbiAgW1wiRmFxSXRlbVwiXTogQWxpYXNUeXBlPHtcbiAgICBvcmRlcj86IHRydWUsXG4gICAgcXVlc3Rpb24/OiB0cnVlLFxuICAgIGFuc3dlcj86IHRydWUsXG4gICAgX190eXBlbmFtZT86IHRydWVcbiAgfT47XG4gIFtcIkJsb2dcIl06IEFsaWFzVHlwZTx7XG4gICAgaWQ/OiB0cnVlLFxuICAgIG9yZGVyPzogdHJ1ZSxcbiAgICBlbnRyaWVzPzogVmFsdWVUeXBlc1tcIkJsb2dFbnRyeVwiXSxcbiAgICBfX3R5cGVuYW1lPzogdHJ1ZVxuICB9PjtcbiAgW1wiQmxvZ0VudHJ5XCJdOiBBbGlhc1R5cGU8e1xuICAgIGlkPzogdHJ1ZSxcbiAgICBsYW5nPzogdHJ1ZSxcbiAgICBhdXRob3I/OiB0cnVlLFxuICAgIGJvZHk/OiB0cnVlLFxuICAgIGRhdGU/OiB0cnVlLFxuICAgIGltYWdlPzogdHJ1ZSxcbiAgICBzdW1tYXJ5PzogdHJ1ZSxcbiAgICB0aXRsZT86IHRydWUsXG4gICAgX190eXBlbmFtZT86IHRydWVcbiAgfT47XG4gIFtcIkJsb2dJdGVtXCJdOiBBbGlhc1R5cGU8e1xuICAgIGlkPzogdHJ1ZSxcbiAgICBibG9nSWQ/OiB0cnVlLFxuICAgIG9yZGVyPzogdHJ1ZSxcbiAgICB0aXRsZT86IHRydWUsXG4gICAgYm9keT86IHRydWUsXG4gICAgYXV0aG9yPzogdHJ1ZSxcbiAgICBpbWFnZT86IHRydWUsXG4gICAgaW1hZ2VBbHQ/OiB0cnVlLFxuICAgIHN1bW1hcnk/OiB0cnVlLFxuICAgIGRhdGU/OiB0cnVlLFxuICAgIF9fdHlwZW5hbWU/OiB0cnVlXG4gIH0+O1xuICBbXCJSZWN1cmx5SW52b2ljZXNcIl06IEFsaWFzVHlwZTx7XG4gICAgcGRmPzogdHJ1ZSxcbiAgICBkYXRlPzogdHJ1ZSxcbiAgICBkdWU/OiB0cnVlLFxuICAgIHN0YXR1cz86IHRydWUsXG4gICAgdG90YWw/OiB0cnVlLFxuICAgIG5hbWU/OiB0cnVlLFxuICAgIGN1cnJlbmN5PzogdHJ1ZSxcbiAgICBfX3R5cGVuYW1lPzogdHJ1ZVxuICB9PjtcbiAgW1wiUmVjdXJseVN1YnNjcmlwdGlvblwiXTogQWxpYXNUeXBlPHtcbiAgICBhdXRvcmVuZXc/OiB0cnVlLFxuICAgIGFjdGl2YXRlZEF0PzogdHJ1ZSxcbiAgICBjdXJyZW50UGVyaW9kRW5kc0F0PzogdHJ1ZSxcbiAgICBjdXJyZW50UGVyaW9kU3RhcnRlZEF0PzogdHJ1ZSxcbiAgICBjYW5jZWxlZEF0PzogdHJ1ZSxcbiAgICBjcmVhdGVkQXQ/OiB0cnVlLFxuICAgIGV4cGlyZXNBdD86IHRydWUsXG4gICAgcGF1c2VkQXQ/OiB0cnVlLFxuICAgIHRyaWFsRW5kc0F0PzogdHJ1ZSxcbiAgICB0cmlhbFN0YXJ0ZWRBdD86IHRydWUsXG4gICAgdXBkYXRlZEF0PzogdHJ1ZSxcbiAgICBzdGF0ZT86IHRydWUsXG4gICAgY29sbGVjdGlvbk1ldGhvZD86IHRydWUsXG4gICAgcGxhbj86IHRydWUsXG4gICAgcGxhbkNvZGU/OiB0cnVlLFxuICAgIHRvdGFsPzogdHJ1ZSxcbiAgICBfX3R5cGVuYW1lPzogdHJ1ZVxuICB9PjtcbiAgW1wiUGF5bWVudEluZm9zXCJdOiBBbGlhc1R5cGU8e1xuICAgIGhvc3RlZFVybD86IHRydWUsXG4gICAgY3VycmVudFN1YnNjcmlwdGlvbj86IFZhbHVlVHlwZXNbXCJSZWN1cmx5U3Vic2NyaXB0aW9uXCJdLFxuICAgIGludm9pY2VzPzogVmFsdWVUeXBlc1tcIlJlY3VybHlJbnZvaWNlc1wiXSxcbiAgICBfX3R5cGVuYW1lPzogdHJ1ZVxuICB9PjtcbiAgW1wiU2hhcmVGb2xkZXJSZXNwb25zZVwiXTogQWxpYXNUeXBlPHtcbiAgICBmb2xkZXJzPzogdHJ1ZSxcbiAgICB2RmlsZXM/OiB0cnVlLFxuICAgIF9fdHlwZW5hbWU/OiB0cnVlXG4gIH0+O1xuICBbXCJRdWVyeVwiXTogQWxpYXNUeXBlPHtcbiAgICB0ZXN0PzogdHJ1ZSxcbiAgICBsaW1pdHM/OiBWYWx1ZVR5cGVzW1wiUXVlcnlMaW1pdHNcIl0sXG4gICAgdXNlcj86IFt7IHVzZXJJZD86IHN0cmluZyB8IG51bGwgfSwgVmFsdWVUeXBlc1tcIlVzZXJcIl1dLFxuICAgIGRiQ29uZmlnPzogW3sgYXBwQ29kZTogc3RyaW5nIH0sIHRydWVdLFxuICAgIGRiR2V0PzogW3sgZmllbGQ6IHN0cmluZywgdXNlcklkPzogc3RyaW5nIHwgbnVsbCB9LCB0cnVlXSxcbiAgICBkYlNlYXJjaD86IFt7IHNlYXJjaDogc3RyaW5nLCBmaWVsZDogc3RyaW5nIH0sIHRydWVdLFxuICAgIGZpbGVDb250ZW50PzogW3sgZmlsZUlkOiBzdHJpbmcgfSwgVmFsdWVUeXBlc1tcIkZpbGVDb250ZW50XCJdXSxcbiAgICBmaWxlc1NoYXJlZFdpdGhNZT86IFt7IGFjY2VwdGVkPzogYm9vbGVhbiB8IG51bGwgfSwgVmFsdWVUeXBlc1tcIkZpbGVTaGFyZWRDb250ZW50XCJdXSxcbiAgICB2RmlsZXNTaGFyZWRXaXRoTWU/OiBWYWx1ZVR5cGVzW1wiVkZpbGVcIl0sXG4gICAgZm9sZGVyc1NoYXJlZFdpdGhNZT86IFZhbHVlVHlwZXNbXCJGb2xkZXJcIl0sXG4gICAgZm9sZGVyU2l6ZT86IFt7IGZvbGRlcklkPzogc3RyaW5nIHwgbnVsbCB9LCBWYWx1ZVR5cGVzW1wiRm9sZGVyU2l6ZVwiXV0sXG4gICAgZm9sZGVyPzogW3sgaWQ/OiBzdHJpbmcgfCBudWxsLCBkZWxldGVkPzogYm9vbGVhbiB8IG51bGwgfSwgVmFsdWVUeXBlc1tcIkZvbGRlclwiXV0sXG4gICAgdkZpbGU/OiBbeyBpZDogc3RyaW5nIH0sIFZhbHVlVHlwZXNbXCJWRmlsZVwiXV0sXG4gICAgZmlsZT86IFt7IGlkOiBzdHJpbmcgfSwgVmFsdWVUeXBlc1tcIkZpbGVcIl1dLFxuICAgIGZhcT86IFt7IGxhbmc/OiBWYWx1ZVR5cGVzW1wiTGFuZ1wiXSB8IG51bGwgfSwgVmFsdWVUeXBlc1tcIkZhcUl0ZW1cIl1dLFxuICAgIHBheW1lbnRJbmZvcz86IFZhbHVlVHlwZXNbXCJQYXltZW50SW5mb3NcIl0sXG4gICAgcGxhbnM/OiBWYWx1ZVR5cGVzW1wiUGxhblwiXSxcbiAgICBzaGFyZWRGb2xkZXJzPzogVmFsdWVUeXBlc1tcIkZvbGRlclwiXSxcbiAgICBzaGFyZWRWRmlsZXM/OiBWYWx1ZVR5cGVzW1wiVkZpbGVcIl0sXG4gICAgYmxvZz86IFt7IGxhbmc/OiBWYWx1ZVR5cGVzW1wiTGFuZ1wiXSB8IG51bGwgfSwgVmFsdWVUeXBlc1tcIkJsb2dJdGVtXCJdXSxcbiAgICBkZWxldGVkRm9sZGVycz86IFZhbHVlVHlwZXNbXCJGb2xkZXJcIl0sXG4gICAgZGVsZXRlZFZGaWxlcz86IFZhbHVlVHlwZXNbXCJWRmlsZVwiXSxcbiAgICBtYWlsPzogW3sgaWQ6IHN0cmluZyB9LCBWYWx1ZVR5cGVzW1wiTWFpbFwiXV0sXG4gICAgX190eXBlbmFtZT86IHRydWVcbiAgfT47XG4gIFtcIk11dGF0aW9uXCJdOiBBbGlhc1R5cGU8e1xuICAgIGNyZWF0ZUFwcGxpY2F0aW9uPzogW3sgbmFtZTogc3RyaW5nLCBvcmlnaW46IHN0cmluZywgZGV2ZWxvcGVySWQ6IHN0cmluZyB9LCB0cnVlXSxcbiAgICBkYlNldD86IFt7IHZhbHVlOiBzdHJpbmcsIHVzZXJJZD86IHN0cmluZyB8IG51bGwgfSwgdHJ1ZV0sXG4gICAgZGJDb25maWc/OiBbeyBhcHBDb2RlOiBzdHJpbmcsIGNvbmZpZzogc3RyaW5nIH0sIHRydWVdLFxuICAgIHNoYXJlVkZpbGU/OiBbeyB2RmlsZUlkOiBzdHJpbmcsIHVzZXJJZDogc3RyaW5nLCBuYW1lS2V5OiBzdHJpbmcsIHJpZ2h0czogVmFsdWVUeXBlc1tcIlJpZ2h0c1wiXSwgaGlzdG9yeTogVmFsdWVUeXBlc1tcIlNoYXJlRmlsZUtleUlucHV0XCJdW10gfSwgdHJ1ZV0sXG4gICAgc2hhcmVGb2xkZXI/OiBbeyBmb2xkZXJJZDogc3RyaW5nLCB1c2VySWQ6IHN0cmluZyB9LCBWYWx1ZVR5cGVzW1wiU2hhcmVGb2xkZXJSZXNwb25zZVwiXV0sXG4gICAgc2hhcmVGb2xkZXJGaW5pc2g/OiBbeyBzaGFyZUZvbGRlcnM6IFZhbHVlVHlwZXNbXCJTaGFyZUZvbGRlcnNJbnB1dFwiXSwgdXNlcklkOiBzdHJpbmcsIHJpZ2h0czogVmFsdWVUeXBlc1tcIlJpZ2h0c1wiXSB9LCB0cnVlXSxcbiAgICB1cGRhdGVGaWxlPzogW3sgZmlsZUlkOiBzdHJpbmcsIGlzRmF2b3JpdGU/OiBib29sZWFuIHwgbnVsbCwgZmlsZW5hbWU/OiBzdHJpbmcgfCBudWxsLCBkZWxldGVkQXQ/OiBWYWx1ZVR5cGVzW1wiRGF0ZVRpbWVcIl0gfCBudWxsIH0sIFZhbHVlVHlwZXNbXCJWRmlsZVwiXV0sXG4gICAgdXBkYXRlUHJvZmlsZT86IFt7IGZpcnN0bmFtZT86IHN0cmluZyB8IG51bGwsIGxhc3RuYW1lPzogc3RyaW5nIHwgbnVsbCwgbGFuZz86IFZhbHVlVHlwZXNbXCJMYW5nXCJdIHwgbnVsbCB9LCBWYWx1ZVR5cGVzW1wiVXNlclwiXV0sXG4gICAgdXBsb2FkQW5vbnltb3VzPzogW3sgZmlsZU5hbWU6IHN0cmluZywgZmlsZVNpemU6IG51bWJlciwgZmlsZVNpemVCZWZvcmU6IG51bWJlciwgbWVzc2FnZT86IHN0cmluZyB8IG51bGwsIHB1YktleTogc3RyaW5nLCB0b2tlbjogc3RyaW5nIH0sIFZhbHVlVHlwZXNbXCJGaWxlUmVzcG9uc2VcIl1dLFxuICAgIHVwbG9hZEZpbGU/OiBbeyBmaWxlU2l6ZTogVmFsdWVUeXBlc1tcIkJpZ0ludFwiXSwgZmlsZVNpemVCZWZvcmU6IFZhbHVlVHlwZXNbXCJCaWdJbnRcIl0sIGZpbGVLZXk6IHN0cmluZywgbWQ1OiBzdHJpbmcsIG1kNUVuY3J5cHRlZDogc3RyaW5nIH0sIFZhbHVlVHlwZXNbXCJGaWxlUmVzcG9uc2VcIl1dLFxuICAgIGNyZWF0ZUZvbGRlcj86IFt7IG5hbWU6IHN0cmluZywga2V5OiBzdHJpbmcsIHBhcmVudEZvbGRlcklkPzogc3RyaW5nIHwgbnVsbCB9LCBWYWx1ZVR5cGVzW1wiRm9sZGVyXCJdXSxcbiAgICBtb3ZlRm9sZGVycz86IFt7IGZvbGRlcnNJZDogc3RyaW5nW10sIHBhcmVudEZvbGRlcklkPzogc3RyaW5nIHwgbnVsbCB9LCB0cnVlXSxcbiAgICBkZWxldGVGb2xkZXI/OiBbeyBpZDogc3RyaW5nIH0sIHRydWVdLFxuICAgIG1vdmVGaWxlcz86IFt7IGZpbGVzSWQ6IHN0cmluZ1tdLCBwYXJlbnRGb2xkZXJJZD86IHN0cmluZyB8IG51bGwgfSwgdHJ1ZV0sXG4gICAgdXBkYXRlRm9sZGVyPzogW3sgZm9sZGVySWQ6IHN0cmluZywgbmFtZT86IHN0cmluZyB8IG51bGwsIGlzRmF2b3JpdGU/OiBib29sZWFuIHwgbnVsbCwgZGVsZXRlZEF0PzogVmFsdWVUeXBlc1tcIkRhdGVUaW1lXCJdIHwgbnVsbCB9LCBWYWx1ZVR5cGVzW1wiRm9sZGVyXCJdXSxcbiAgICBkZWxldGVWRmlsZT86IFt7IGZpbGVJZDogc3RyaW5nIH0sIHRydWVdLFxuICAgIGNyZWF0ZURyYWZ0TWFpbD86IFt7IGhhc2g6IHN0cmluZywgaGFzaEtleTogc3RyaW5nLCBib2R5OiBzdHJpbmcsIHN1YmplY3Q6IHN0cmluZywgcmVwbHlUbz86IHN0cmluZyB8IG51bGwsIHNlbmRlckZpbGVzOiBWYWx1ZVR5cGVzW1wiTWFpbEZpbGVJbnB1dFwiXVtdLCByZWNpcGllbnRzOiBzdHJpbmdbXSB9LCBWYWx1ZVR5cGVzW1wiTWFpbFwiXV0sXG4gICAgc2VuZERyYWZ0TWFpbD86IFt7IGRyYWZ0TWFpbElkOiBzdHJpbmcsIHRlbXBvcmFyeVJlY2lwaWVudHM6IHN0cmluZ1tdLCByZWNpcGllbnRzOiBWYWx1ZVR5cGVzW1wiTWFpbFJlY2lwaWVudElucHV0XCJdW10sIGN1c3RvbU1lc3NhZ2U/OiBzdHJpbmcgfCBudWxsIH0sIHRydWVdLFxuICAgIHJlYWRNYWlsPzogW3sgbWFpbElkOiBzdHJpbmcgfSwgdHJ1ZV0sXG4gICAgdW5yZWFkTWFpbD86IFt7IG1haWxJZDogc3RyaW5nIH0sIHRydWVdLFxuICAgIHVwZGF0ZUFwcFNldHRpbmdzPzogW3sgY2xvdWRGaWxlRGF5c0ZvckRlbGV0ZT86IG51bWJlciB8IG51bGwsIGNsb3VkRm9sZGVyRGF5c0ZvckRlbGV0ZT86IG51bWJlciB8IG51bGwsIGhpc3RvcnlGaWxlRGF5c0ZvckRlbGV0ZT86IG51bWJlciB8IG51bGwsIGhpc3RvcnlNYXhGaWxlQ291bnQ/OiBudW1iZXIgfCBudWxsLCBhdXRvRGlzY29ubmVjdERlbGF5PzogbnVtYmVyIHwgbnVsbCB9LCBWYWx1ZVR5cGVzW1wiVXNlckFwcFNldHRpbmdzXCJdXSxcbiAgICB1cGxvYWRGaWxlRW5kPzogW3sgZmlsZUlkOiBzdHJpbmcgfSwgdHJ1ZV0sXG4gICAgbG9nb3V0PzogW3sgc2Vzc2lvbklkPzogc3RyaW5nIHwgbnVsbCB9LCB0cnVlXSxcbiAgICBhZGRGaWxlVG9IaXN0b3J5PzogW3sgdkZpbGVJZDogc3RyaW5nLCBmaWxlSWQ6IHN0cmluZyB9LCBWYWx1ZVR5cGVzW1wiVkZpbGVcIl1dLFxuICAgIHNlbmRPbmVNYWlsPzogW3sgbWFpbEludGVncml0eUlkOiBzdHJpbmcsIHJlY2lwaWVudDogVmFsdWVUeXBlc1tcIk1haWxSZWNpcGllbnRJbnB1dFwiXSB9LCB0cnVlXSxcbiAgICBkZWxldGVEcmFmdE1haWw/OiBbeyBkcmFmdElkOiBzdHJpbmcgfSwgdHJ1ZV0sXG4gICAgdXBkYXRlRHJhZnRNYWlsPzogW3sgZHJhZnRJZDogc3RyaW5nLCBoYXNoPzogc3RyaW5nIHwgbnVsbCwgaGFzaEtleT86IHN0cmluZyB8IG51bGwsIGJvZHk/OiBzdHJpbmcgfCBudWxsLCBzdWJqZWN0Pzogc3RyaW5nIHwgbnVsbCwgcmVwbHlUbz86IHN0cmluZyB8IG51bGwsIHNlbmRlckZpbGVzPzogVmFsdWVUeXBlc1tcIk1haWxGaWxlSW5wdXRcIl1bXSwgcmVjaXBpZW50cz86IHN0cmluZ1tdIH0sIFZhbHVlVHlwZXNbXCJNYWlsXCJdXSxcbiAgICBkZWxldGVVc2VyPzogW3sgdXNlcklkPzogc3RyaW5nIHwgbnVsbCB9LCB0cnVlXSxcbiAgICBwYXk/OiBbeyBwbGFuQ29kZTogc3RyaW5nLCBpbnB1dDogVmFsdWVUeXBlc1tcIlBheUlucHV0XCJdLCBhdXRvUmVuZXc/OiBib29sZWFuIHwgbnVsbCB9LCB0cnVlXSxcbiAgICBjYW5jZWxQYXltZW50PzogdHJ1ZSxcbiAgICBzZW5kUmVwb3J0PzogW3sgcmVwb3J0ZWRVc2VySWQ6IHN0cmluZywgY3VzdG9tTWVzc2FnZT86IHN0cmluZyB8IG51bGwgfSwgVmFsdWVUeXBlc1tcIlJlcG9ydFwiXV0sXG4gICAgc2F2ZUluQ2xvdWQ/OiBbeyBmaWxlSWQ6IHN0cmluZywga2V5OiBzdHJpbmcsIGZvbGRlcklkPzogc3RyaW5nIHwgbnVsbCwgZmlsZW5hbWU6IHN0cmluZywgbmFtZUtleTogc3RyaW5nIH0sIFZhbHVlVHlwZXNbXCJWRmlsZVwiXV0sXG4gICAgZGVsZXRlVkZpbGVTaGFyaW5nPzogW3sgdkZpbGVJZDogc3RyaW5nLCB1c2VySWQ6IHN0cmluZyB9LCB0cnVlXSxcbiAgICBkZWxldGVGb2xkZXJTaGFyaW5nPzogW3sgZm9sZGVySWQ6IHN0cmluZywgdXNlcklkOiBzdHJpbmcgfSwgdHJ1ZV0sXG4gICAgZGVsZXRlTWFpbD86IFt7IG1haWxJZDogc3RyaW5nIH0sIHRydWVdLFxuICAgIGRlbGV0ZUZpbGU/OiBbeyBmaWxlSWQ6IHN0cmluZywgdkZpbGVJZDogc3RyaW5nIH0sIHRydWVdLFxuICAgIHNoYXJlRmlsZUluSGlzdG9yeT86IFt7IGlucHV0OiBWYWx1ZVR5cGVzW1wiU2hhcmVGaWxlSW5IaXN0b3J5SW5wdXRcIl0sIHZGaWxlSWQ6IHN0cmluZyB9LCB0cnVlXSxcbiAgICByZWNvdmVyRmlsZT86IFt7IGZpbGVJZDogc3RyaW5nIH0sIHRydWVdLFxuICAgIHJlY292ZXJNYWlsPzogW3sgbWFpbElkOiBzdHJpbmcgfSwgdHJ1ZV0sXG4gICAgcmVjb3ZlckZvbGRlcj86IFt7IGlkOiBzdHJpbmcgfSwgdHJ1ZV0sXG4gICAgZHVwbGljYXRlVkZpbGU/OiBbeyBmaWxlSWQ6IHN0cmluZywgZm9sZGVySWQ/OiBzdHJpbmcgfCBudWxsLCBjdXN0b21OYW1lPzogc3RyaW5nIHwgbnVsbCB9LCB0cnVlXSxcbiAgICBkZWxldGVGb2xkZXJDbG91ZFRyYXNoPzogW3sgaWRzOiBzdHJpbmdbXSB9LCB0cnVlXSxcbiAgICBkZWxldGVWRmlsZUNsb3VkVHJhc2g/OiBbeyBpZHM6IHN0cmluZ1tdIH0sIHRydWVdLFxuICAgIGRlbGV0ZU1haWxUcmFzaD86IFt7IGlkczogc3RyaW5nW10gfSwgdHJ1ZV0sXG4gICAgZW1wdHlDbG91ZFRyYXNoPzogdHJ1ZSxcbiAgICBlbXB0eU1haWxUcmFzaD86IHRydWUsXG4gICAgdXBsb2FkRmlsZVBhcnRFbmQ/OiBbeyBmaWxlSWQ6IHN0cmluZywgbWQ1OiBzdHJpbmcsIG9yZGVyOiBudW1iZXIgfSwgdHJ1ZV0sXG4gICAgX190eXBlbmFtZT86IHRydWVcbiAgfT5cbn1cblxuZXhwb3J0IHR5cGUgTW9kZWxUeXBlcyA9IHtcbiAgLyoqIFRoZSBgQmlnSW50YCBzY2FsYXIgdHlwZSByZXByZXNlbnRzIG5vbi1mcmFjdGlvbmFsIHNpZ25lZCB3aG9sZSBudW1lcmljIHZhbHVlcy5cbkBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvQmlnSW50ICovXG4gIFtcIkJpZ0ludFwiXTogYW55O1xuICAvKiogVGhlIGBCeXRlYCBzY2FsYXIgdHlwZSByZXByZXNlbnRzIGJ5dGUgdmFsdWUgYXMgYSBCdWZmZXIgKi9cbiAgW1wiQnl0ZXNcIl06IGFueTtcbiAgLyoqIEEgZGF0ZS10aW1lIHN0cmluZyBhdCBVVEMsIHN1Y2ggYXMgMjAwNy0xMi0wM1QxMDoxNTozMFosIGNvbXBsaWFudCB3aXRoIHRoZSBgZGF0ZS10aW1lYCBmb3JtYXQgb3V0bGluZWQgaW4gc2VjdGlvbiA1LjYgb2YgdGhlIFJGQyAzMzM5IHByb2ZpbGUgb2YgdGhlIElTTyA4NjAxIHN0YW5kYXJkIGZvciByZXByZXNlbnRhdGlvbiBvZiBkYXRlcyBhbmQgdGltZXMgdXNpbmcgdGhlIEdyZWdvcmlhbiBjYWxlbmRhci4gKi9cbiAgW1wiRGF0ZVRpbWVcIl06IGFueTtcbiAgLyoqIEFuIGFyYml0cmFyeS1wcmVjaXNpb24gRGVjaW1hbCB0eXBlICovXG4gIFtcIkRlY2ltYWxcIl06IGFueTtcbiAgLyoqIFRoZSBgSlNPTk9iamVjdGAgc2NhbGFyIHR5cGUgcmVwcmVzZW50cyBKU09OIG9iamVjdHMgYXMgc3BlY2lmaWVkIGJ5IFtFQ01BLTQwNF0oaHR0cDovL3d3dy5lY21hLWludGVybmF0aW9uYWwub3JnL3B1YmxpY2F0aW9ucy9maWxlcy9FQ01BLVNUL0VDTUEtNDA0LnBkZikuICovXG4gIFtcIkpzb25cIl06IGFueTtcbiAgW1wiTGFuZ1wiXTogR3JhcGhRTFR5cGVzW1wiTGFuZ1wiXTtcbiAgW1wiUGxhbktpbmRcIl06IEdyYXBoUUxUeXBlc1tcIlBsYW5LaW5kXCJdO1xuICBbXCJVc2VyUm9sZVwiXTogR3JhcGhRTFR5cGVzW1wiVXNlclJvbGVcIl07XG4gIFtcIk1haWxUeXBlXCJdOiBHcmFwaFFMVHlwZXNbXCJNYWlsVHlwZVwiXTtcbiAgW1wiUmlnaHRzXCJdOiBHcmFwaFFMVHlwZXNbXCJSaWdodHNcIl07XG4gIFtcIkZpbGVcIl06IHtcbiAgICBpZDogc3RyaW5nLFxuICAgIHNpemU6IE1vZGVsVHlwZXNbXCJCaWdJbnRcIl0sXG4gICAgc2l6ZUJlZm9yZTogTW9kZWxUeXBlc1tcIkJpZ0ludFwiXSxcbiAgICBjcmVhdGVkQXQ6IE1vZGVsVHlwZXNbXCJEYXRlVGltZVwiXSxcbiAgICB2RmlsZXM6IE1vZGVsVHlwZXNbXCJWRmlsZVwiXVtdLFxuICAgIHZGaWxlc0N1cnJlbnQ6IE1vZGVsVHlwZXNbXCJWRmlsZVwiXVtdLFxuICAgIHVzZXJzOiBNb2RlbFR5cGVzW1wiRmlsZXNPblVzZXJzT25BcHBsaWNhdGlvbnNcIl1bXSxcbiAgICBtZDU6IHN0cmluZyxcbiAgICBtZDVFbmNyeXB0ZWQ6IHN0cmluZyxcbiAgICBkZWxldGVkQXQ/OiBNb2RlbFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG4gICAgdXNlckFwcDogTW9kZWxUeXBlc1tcIkFwcGxpY2F0aW9uc09uVXNlcnNcIl0sXG4gICAgbWFpbHM6IE1vZGVsVHlwZXNbXCJGaWxlc09uTWFpbHNcIl1bXSxcbiAgICB2YWxpZGF0ZWRBdD86IE1vZGVsVHlwZXNbXCJEYXRlVGltZVwiXSxcbiAgICB1c2VyPzogTW9kZWxUeXBlc1tcIkZpbGVzT25Vc2Vyc09uQXBwbGljYXRpb25zXCJdXG4gIH07XG4gIFtcIkZpbGVQYXJ0XCJdOiB7XG4gICAgaWQ6IHN0cmluZyxcbiAgICBmaWxlOiBNb2RlbFR5cGVzW1wiRmlsZVwiXSxcbiAgICBmaWxlSWQ6IHN0cmluZyxcbiAgICBzaXplOiBNb2RlbFR5cGVzW1wiQmlnSW50XCJdLFxuICAgIG9yZGVyOiBudW1iZXIsXG4gICAgbWQ1OiBzdHJpbmcsXG4gICAgdmFsaWRhdGVkQXQ/OiBNb2RlbFR5cGVzW1wiRGF0ZVRpbWVcIl1cbiAgfTtcbiAgW1wiRmlsZUNvbnRlbnRUeXBlXCJdOiBHcmFwaFFMVHlwZXNbXCJGaWxlQ29udGVudFR5cGVcIl07XG4gIFtcIkZpbGVDb250ZW50UGFydFwiXToge1xuICAgIGNvbnRlbnRVcmw6IHN0cmluZyxcbiAgICBvcmRlcjogbnVtYmVyLFxuICAgIG1kNTogc3RyaW5nXG4gIH07XG4gIFtcIkZpbGVDb250ZW50QmFzZVwiXTogTW9kZWxUeXBlc1tcIkZpbGVDb250ZW50Q2xvdWRcIl0gfCBNb2RlbFR5cGVzW1wiRmlsZUNvbnRlbnRTZW50TWFpbFwiXSB8IE1vZGVsVHlwZXNbXCJGaWxlQ29udGVudFJlY2VpdmVkTWFpbFwiXTtcbiAgW1wiRmlsZUNvbnRlbnRDbG91ZFwiXToge1xuICAgIHBhcnRzOiBNb2RlbFR5cGVzW1wiRmlsZUNvbnRlbnRQYXJ0XCJdW10sXG4gICAga2V5OiBzdHJpbmcsXG4gICAgbWQ1OiBzdHJpbmcsXG4gICAgbWQ1RW5jcnlwdGVkOiBzdHJpbmcsXG4gICAgdG90YWxTaXplOiBNb2RlbFR5cGVzW1wiQmlnSW50XCJdLFxuICAgIHR5cGU6IE1vZGVsVHlwZXNbXCJGaWxlQ29udGVudFR5cGVcIl0sXG4gICAgcHVibGljS2V5OiBzdHJpbmdcbiAgfTtcbiAgW1wiRmlsZUNvbnRlbnRTZW50TWFpbFwiXToge1xuICAgIHBhcnRzOiBNb2RlbFR5cGVzW1wiRmlsZUNvbnRlbnRQYXJ0XCJdW10sXG4gICAga2V5OiBzdHJpbmcsXG4gICAgbWQ1OiBzdHJpbmcsXG4gICAgbWQ1RW5jcnlwdGVkOiBzdHJpbmcsXG4gICAgdG90YWxTaXplOiBNb2RlbFR5cGVzW1wiQmlnSW50XCJdLFxuICAgIHR5cGU6IE1vZGVsVHlwZXNbXCJGaWxlQ29udGVudFR5cGVcIl1cbiAgfTtcbiAgW1wiRmlsZUNvbnRlbnRSZWNlaXZlZE1haWxcIl06IHtcbiAgICBwYXJ0czogTW9kZWxUeXBlc1tcIkZpbGVDb250ZW50UGFydFwiXVtdLFxuICAgIGtleTogc3RyaW5nLFxuICAgIG1kNTogc3RyaW5nLFxuICAgIG1kNUVuY3J5cHRlZDogc3RyaW5nLFxuICAgIHRvdGFsU2l6ZTogTW9kZWxUeXBlc1tcIkJpZ0ludFwiXSxcbiAgICB0eXBlOiBNb2RlbFR5cGVzW1wiRmlsZUNvbnRlbnRUeXBlXCJdLFxuICAgIHNlbmRlclB1YmxpY0tleTogc3RyaW5nXG4gIH07XG4gIFtcIkZpbGVDb250ZW50XCJdOiBNb2RlbFR5cGVzW1wiRmlsZUNvbnRlbnRDbG91ZFwiXSB8IE1vZGVsVHlwZXNbXCJGaWxlQ29udGVudFJlY2VpdmVkTWFpbFwiXSB8IE1vZGVsVHlwZXNbXCJGaWxlQ29udGVudFNlbnRNYWlsXCJdO1xuICBbXCJGaWxlUmVzcG9uc2VcIl06IHtcbiAgICBmaWxlSWQ6IHN0cmluZyxcbiAgICBwYXJ0czogTW9kZWxUeXBlc1tcIkZpbGVQYXJ0UmVzcG9uc2VcIl1bXSxcbiAgICBmaWxlUGFydFNpemU6IE1vZGVsVHlwZXNbXCJCaWdJbnRcIl1cbiAgfTtcbiAgW1wiRmlsZVBhcnRSZXNwb25zZVwiXToge1xuICAgIGZpZWxkczogTW9kZWxUeXBlc1tcIkpzb25cIl0sXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgb3JkZXI6IG51bWJlclxuICB9O1xuICBbXCJGaWxlU2hhcmVkXCJdOiB7XG4gICAgdXNlcklkOiBzdHJpbmcsXG4gICAgbWVzc2FnZT86IHN0cmluZyxcbiAgICBhcHBJZDogc3RyaW5nLFxuICAgIGlkOiBzdHJpbmcsXG4gICAgZmlsZW5hbWU6IHN0cmluZyxcbiAgICBzaXplOiBudW1iZXIsXG4gICAgc2l6ZUJlZm9yZTogbnVtYmVyXG4gIH07XG4gIFtcIkZpbGVTaGFyZWRDb250ZW50XCJdOiB7XG4gICAgb3duZXJJZD86IHN0cmluZyxcbiAgICBwdWJLZXk/OiBzdHJpbmcsXG4gICAgbWVzc2FnZT86IHN0cmluZyxcbiAgICBhcHBJZDogc3RyaW5nLFxuICAgIGlkOiBzdHJpbmcsXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIGZpbGVuYW1lOiBzdHJpbmcsXG4gICAgY29udGVudFVybDogc3RyaW5nLFxuICAgIGtleTogc3RyaW5nLFxuICAgIHNpemU6IG51bWJlcixcbiAgICBzaXplQmVmb3JlOiBudW1iZXJcbiAgfTtcbiAgW1wiQ2xvdWRMaW1pdHNcIl06IHtcbiAgICBzaXplOiBNb2RlbFR5cGVzW1wiQmlnSW50XCJdLFxuICAgIG1heFNpemU/OiBNb2RlbFR5cGVzW1wiQmlnSW50XCJdLFxuICAgIGNvdW50OiBNb2RlbFR5cGVzW1wiQmlnSW50XCJdLFxuICAgIG1heENvdW50PzogTW9kZWxUeXBlc1tcIkJpZ0ludFwiXVxuICB9O1xuICBbXCJNYWlsTGltaXRzVmFsdWVzXCJdOiB7XG4gICAgY291bnQ6IE1vZGVsVHlwZXNbXCJCaWdJbnRcIl0sXG4gICAgbWF4Q291bnQ/OiBNb2RlbFR5cGVzW1wiQmlnSW50XCJdLFxuICAgIGZpbGVDb3VudDogTW9kZWxUeXBlc1tcIkJpZ0ludFwiXSxcbiAgICBtYXhGaWxlQ291bnQ/OiBNb2RlbFR5cGVzW1wiQmlnSW50XCJdLFxuICAgIGZpbGVTaXplOiBNb2RlbFR5cGVzW1wiQmlnSW50XCJdLFxuICAgIG1heEZpbGVTaXplPzogTW9kZWxUeXBlc1tcIkJpZ0ludFwiXVxuICB9O1xuICBbXCJVc2VyTWFpbExpbWl0c1wiXToge1xuICAgIHNlbnQ6IE1vZGVsVHlwZXNbXCJNYWlsTGltaXRzVmFsdWVzXCJdLFxuICAgIHJlY2VpdmVkOiBNb2RlbFR5cGVzW1wiTWFpbExpbWl0c1ZhbHVlc1wiXVxuICB9O1xuICBbXCJRdWVyeUxpbWl0c1wiXToge1xuICAgIGNsb3VkOiBNb2RlbFR5cGVzW1wiQ2xvdWRMaW1pdHNcIl0sXG4gICAgbWFpbDogTW9kZWxUeXBlc1tcIlVzZXJNYWlsTGltaXRzXCJdXG4gIH07XG4gIFtcIkxpbWl0c1wiXToge1xuICAgIGRvd25sb2FkQmFuZHdpZHRoPzogTW9kZWxUeXBlc1tcIkJpZ0ludFwiXSxcbiAgICBkb3dubG9hZENvdW50PzogTW9kZWxUeXBlc1tcIkJpZ0ludFwiXSxcbiAgICBoYXJkRmlsZUNvdW50PzogTW9kZWxUeXBlc1tcIkJpZ0ludFwiXSxcbiAgICBoYXJkRmlsZVNpemU/OiBNb2RlbFR5cGVzW1wiQmlnSW50XCJdLFxuICAgIHBlckZpbGVTaXplPzogTW9kZWxUeXBlc1tcIkJpZ0ludFwiXSxcbiAgICByZWNlaXZlZE1haWxzOiBNb2RlbFR5cGVzW1wiTWFpbExpbWl0c1wiXSxcbiAgICBzZW50TWFpbHM6IE1vZGVsVHlwZXNbXCJNYWlsTGltaXRzXCJdLFxuICAgIHVwbG9hZEJhbmR3aWR0aD86IE1vZGVsVHlwZXNbXCJCaWdJbnRcIl0sXG4gICAgdXBsb2FkQ291bnQ/OiBNb2RlbFR5cGVzW1wiQmlnSW50XCJdXG4gIH07XG4gIFtcIk1haWxMaW1pdHNcIl06IHtcbiAgICBjb3VudD86IE1vZGVsVHlwZXNbXCJCaWdJbnRcIl0sXG4gICAgZmlsZUNvdW50PzogTW9kZWxUeXBlc1tcIkJpZ0ludFwiXSxcbiAgICBmaWxlU2l6ZT86IE1vZGVsVHlwZXNbXCJCaWdJbnRcIl0sXG4gICAgaGFyZENvdW50PzogTW9kZWxUeXBlc1tcIkJpZ0ludFwiXSxcbiAgICBoYXJkRmlsZUNvdW50PzogTW9kZWxUeXBlc1tcIkJpZ0ludFwiXSxcbiAgICBoYXJkRmlsZVNpemU/OiBNb2RlbFR5cGVzW1wiQmlnSW50XCJdLFxuICAgIHBlckZpbGVTaXplPzogTW9kZWxUeXBlc1tcIkJpZ0ludFwiXVxuICB9O1xuICBbXCJVc2VyXCJdOiB7XG4gICAgaWQ6IHN0cmluZyxcbiAgICBkZWxldGVkQXQ/OiBNb2RlbFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG4gICAgbGFuZzogTW9kZWxUeXBlc1tcIkxhbmdcIl0sXG4gICAgcmVwb3J0U2VudDogTW9kZWxUeXBlc1tcIlJlcG9ydFwiXVtdLFxuICAgIGdvZEZhdGhlcj86IE1vZGVsVHlwZXNbXCJVc2VyXCJdLFxuICAgIGdvZENoaWxkcmVuOiBNb2RlbFR5cGVzW1wiVXNlclwiXVtdLFxuICAgIGZpcnN0bmFtZTogc3RyaW5nLFxuICAgIGxhc3RuYW1lOiBzdHJpbmcsXG4gICAgZW1haWw6IHN0cmluZyxcbiAgICBwaG9uZTogc3RyaW5nLFxuICAgIGxhc3RMb2dpbjogTW9kZWxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuICAgIHJvbGU6IE1vZGVsVHlwZXNbXCJVc2VyUm9sZVwiXSxcbiAgICBzZXNzaW9uczogTW9kZWxUeXBlc1tcIlVzZXJTZXNzaW9uXCJdW10sXG4gICAgY3JlYXRlZEF0OiBNb2RlbFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG4gICAgcmVjZWl2ZWRNYWlsczogTW9kZWxUeXBlc1tcIk1haWxcIl1bXSxcbiAgICB3YWl0aW5nUmVjZWl2ZWRNYWlsczogTW9kZWxUeXBlc1tcIldhaXRpbmdSZWNlaXZlZE1haWxcIl1bXSxcbiAgICBzZW50TWFpbHM6IE1vZGVsVHlwZXNbXCJNYWlsXCJdW10sXG4gICAgZHJhZnRNYWlsczogTW9kZWxUeXBlc1tcIk1haWxcIl1bXSxcbiAgICBhcHBTZXR0aW5ncz86IE1vZGVsVHlwZXNbXCJVc2VyQXBwU2V0dGluZ3NcIl0sXG4gICAgYXBwbGljYXRpb25zOiBNb2RlbFR5cGVzW1wiQXBwbGljYXRpb25zT25Vc2Vyc1wiXVtdLFxuICAgIHB1YmxpY0tleTogc3RyaW5nXG4gIH07XG4gIFtcIk1haWxcIl06IHtcbiAgICBpZDogc3RyaW5nLFxuICAgIGFwcDogTW9kZWxUeXBlc1tcIkFwcGxpY2F0aW9uXCJdLFxuICAgIGJvZHk6IHN0cmluZyxcbiAgICBjcmVhdGVkQXQ6IE1vZGVsVHlwZXNbXCJEYXRlVGltZVwiXSxcbiAgICBkZWxldGVkQXQ/OiBNb2RlbFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG4gICAgZmlsZXM6IE1vZGVsVHlwZXNbXCJGaWxlc09uTWFpbHNcIl1bXSxcbiAgICBtYWlsSW50ZWdyaXR5PzogTW9kZWxUeXBlc1tcIk1haWxJbnRlZ3JpdHlcIl0sXG4gICAgbWFpbEludGVncml0eURyYWZ0PzogTW9kZWxUeXBlc1tcIk1haWxJbnRlZ3JpdHlEcmFmdFwiXSxcbiAgICBvcGVuZWRBdD86IE1vZGVsVHlwZXNbXCJEYXRlVGltZVwiXSxcbiAgICByZWNpcGllbnQ6IE1vZGVsVHlwZXNbXCJVc2VyXCJdLFxuICAgIHNlbmRlcjogTW9kZWxUeXBlc1tcIlVzZXJcIl0sXG4gICAgc3ViamVjdDogc3RyaW5nLFxuICAgIHR5cGU6IE1vZGVsVHlwZXNbXCJNYWlsVHlwZVwiXSxcbiAgICByZWNpcGllbnRzOiBNb2RlbFR5cGVzW1wiVXNlclwiXVtdXG4gIH07XG4gIFtcIk1haWxJbnRlZ3JpdHlcIl06IHtcbiAgICBpZDogc3RyaW5nLFxuICAgIGhhc2g6IHN0cmluZyxcbiAgICBoYXNoS2V5OiBzdHJpbmcsXG4gICAgYW5zd2VyczogTW9kZWxUeXBlc1tcIk1haWxJbnRlZ3JpdHlcIl1bXSxcbiAgICBhcHA6IE1vZGVsVHlwZXNbXCJBcHBsaWNhdGlvblwiXSxcbiAgICBtYWlsczogTW9kZWxUeXBlc1tcIk1haWxcIl1bXSxcbiAgICByZWNpcGllbnRzOiBNb2RlbFR5cGVzW1wiVXNlclwiXVtdLFxuICAgIHRlbXBvcmFyeVJlY2lwaWVudHM6IE1vZGVsVHlwZXNbXCJUZW1wb3JhcnlVc2VyXCJdW10sXG4gICAgcmVwbHlUbz86IE1vZGVsVHlwZXNbXCJNYWlsSW50ZWdyaXR5XCJdXG4gIH07XG4gIFtcIkZpbGVzT25NYWlsc1wiXToge1xuICAgIGZpbGU6IE1vZGVsVHlwZXNbXCJGaWxlXCJdLFxuICAgIGZpbGVLZXk6IHN0cmluZyxcbiAgICBmaWxlbmFtZTogc3RyaW5nLFxuICAgIG1haWw6IE1vZGVsVHlwZXNbXCJNYWlsXCJdXG4gIH07XG4gIFtcIkZpbGVzT25Vc2Vyc09uQXBwbGljYXRpb25zXCJdOiB7XG4gICAgZmlsZTogTW9kZWxUeXBlc1tcIkZpbGVcIl0sXG4gICAgdXNlckFwcDogTW9kZWxUeXBlc1tcIkFwcGxpY2F0aW9uc09uVXNlcnNcIl0sXG4gICAgLyoqIEVuY3J5cHRlZCB3aXRoIFVzZXJBcHAga2V5cyAqL1xuICAgIGtleTogc3RyaW5nXG4gIH07XG4gIFtcIlZGaWxlXCJdOiB7XG4gICAgaWQ6IHN0cmluZyxcbiAgICBpc0Zhdm9yaXRlOiBib29sZWFuLFxuICAgIGNyZWF0ZWRBdDogTW9kZWxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuICAgIGRlbGV0ZWRBdD86IE1vZGVsVHlwZXNbXCJEYXRlVGltZVwiXSxcbiAgICBmaWxlbmFtZTogc3RyaW5nLFxuICAgIHVzZXJBcHBzOiBNb2RlbFR5cGVzW1wiVkZpbGVzT25Vc2Vyc09uQXBwbGljYXRpb25zXCJdW10sXG4gICAgY3JlYXRlZEJ5OiBNb2RlbFR5cGVzW1wiQXBwbGljYXRpb25zT25Vc2Vyc1wiXSxcbiAgICB1c2VyQXBwPzogTW9kZWxUeXBlc1tcIlZGaWxlc09uVXNlcnNPbkFwcGxpY2F0aW9uc1wiXSxcbiAgICBmb2xkZXI6IE1vZGVsVHlwZXNbXCJGb2xkZXJcIl0sXG4gICAgaGlzdG9yeTogTW9kZWxUeXBlc1tcIkZpbGVcIl1bXSxcbiAgICBjdXJyZW50PzogTW9kZWxUeXBlc1tcIkZpbGVcIl0sXG4gICAgdXBkYXRlZEF0OiBNb2RlbFR5cGVzW1wiRGF0ZVRpbWVcIl1cbiAgfTtcbiAgW1wiRm9sZGVyQnJlYWRjcnVtYkl0ZW1cIl06IHtcbiAgICBpZDogc3RyaW5nLFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICBwdWJLZXk6IHN0cmluZyxcbiAgICBuYW1lS2V5Pzogc3RyaW5nXG4gIH07XG4gIFtcIkZvbGRlclwiXToge1xuICAgIGlkOiBzdHJpbmcsXG4gICAgaXNGYXZvcml0ZTogYm9vbGVhbixcbiAgICBjcmVhdGVkQXQ6IE1vZGVsVHlwZXNbXCJEYXRlVGltZVwiXSxcbiAgICBkZWxldGVkQXQ/OiBNb2RlbFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG4gICAgdXBkYXRlZEF0OiBNb2RlbFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG4gICAgY3JlYXRlZEJ5OiBNb2RlbFR5cGVzW1wiQXBwbGljYXRpb25zT25Vc2Vyc1wiXSxcbiAgICB1c2VyQXBwczogTW9kZWxUeXBlc1tcIkZvbGRlcnNPblVzZXJzT25BcHBsaWNhdGlvbnNcIl1bXSxcbiAgICB1c2VyQXBwPzogTW9kZWxUeXBlc1tcIkZvbGRlcnNPblVzZXJzT25BcHBsaWNhdGlvbnNcIl0sXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIHBhcmVudEZvbGRlcj86IE1vZGVsVHlwZXNbXCJGb2xkZXJcIl0sXG4gICAgc3ViZm9sZGVyczogTW9kZWxUeXBlc1tcIkZvbGRlclwiXVtdLFxuICAgIHZGaWxlczogTW9kZWxUeXBlc1tcIlZGaWxlXCJdW10sXG4gICAgYnJlYWRjcnVtYjogTW9kZWxUeXBlc1tcIkZvbGRlckJyZWFkY3J1bWJJdGVtXCJdW11cbiAgfTtcbiAgW1wiQXBwbGljYXRpb25cIl06IHtcbiAgICBpZDogc3RyaW5nLFxuICAgIG5hbWU6IHN0cmluZ1xuICB9O1xuICBbXCJBcHBsaWNhdGlvbnNPblVzZXJzXCJdOiB7XG4gICAgZmFrZVVzZXJJZDogc3RyaW5nLFxuICAgIGtleVBhaXI/OiBNb2RlbFR5cGVzW1wiQXBwS2V5UGFpclwiXSxcbiAgICBzZXNzaW9uczogTW9kZWxUeXBlc1tcIkFwcFNlc3Npb25cIl1bXSxcbiAgICBhcHA6IE1vZGVsVHlwZXNbXCJBcHBsaWNhdGlvblwiXSxcbiAgICB1c2VyOiBNb2RlbFR5cGVzW1wiVXNlclwiXSxcbiAgICBmb2xkZXJzOiBNb2RlbFR5cGVzW1wiRm9sZGVyc09uVXNlcnNPbkFwcGxpY2F0aW9uc1wiXVtdLFxuICAgIHNldHRpbmdzOiBNb2RlbFR5cGVzW1wiVXNlckFwcFNldHRpbmdzXCJdXG4gIH07XG4gIFtcIkFwcEtleVBhaXJcIl06IHtcbiAgICBwdWI6IHN0cmluZ1xuICB9O1xuICBbXCJGb2xkZXJTaXplXCJdOiB7XG4gICAgc2l6ZTogTW9kZWxUeXBlc1tcIkJpZ0ludFwiXSxcbiAgICBzaXplQmVmb3JlOiBNb2RlbFR5cGVzW1wiQmlnSW50XCJdXG4gIH07XG4gIFtcIlVzZXJTZXNzaW9uXCJdOiB7XG4gICAgaWQ6IHN0cmluZyxcbiAgICBhcHBTZXNzaW9uczogTW9kZWxUeXBlc1tcIkFwcFNlc3Npb25cIl1bXSxcbiAgICBsYXN0QWN0aXZpdHk/OiBNb2RlbFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG4gICAgdXNlckFnZW50Pzogc3RyaW5nLFxuICAgIGlwPzogc3RyaW5nLFxuICAgIGNpdHk/OiBzdHJpbmcsXG4gICAgY291bnRyeT86IHN0cmluZyxcbiAgICBjcmVhdGVkQXQ6IE1vZGVsVHlwZXNbXCJEYXRlVGltZVwiXVxuICB9O1xuICBbXCJBcHBTZXNzaW9uXCJdOiB7XG4gICAgaWQ6IHN0cmluZyxcbiAgICBsYXN0QWN0aXZpdHk/OiBNb2RlbFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG4gICAgdXNlckFnZW50Pzogc3RyaW5nLFxuICAgIGlwPzogc3RyaW5nLFxuICAgIGNpdHk/OiBzdHJpbmcsXG4gICAgY291bnRyeT86IHN0cmluZyxcbiAgICB1c2VyU2Vzc2lvbjogTW9kZWxUeXBlc1tcIlVzZXJTZXNzaW9uXCJdLFxuICAgIHVzZXJBcHA/OiBNb2RlbFR5cGVzW1wiQXBwbGljYXRpb25zT25Vc2Vyc1wiXSxcbiAgICBjcmVhdGVkQXQ6IE1vZGVsVHlwZXNbXCJEYXRlVGltZVwiXVxuICB9O1xuICBbXCJVc2VyQXBwU2V0dGluZ3NcIl06IHtcbiAgICBpZDogc3RyaW5nLFxuICAgIGNsb3VkRmlsZURheXNGb3JEZWxldGU6IG51bWJlcixcbiAgICBjbG91ZEZvbGRlckRheXNGb3JEZWxldGU6IG51bWJlcixcbiAgICBoaXN0b3J5RmlsZURheXNGb3JEZWxldGU/OiBudW1iZXIsXG4gICAgaGlzdG9yeU1heEZpbGVDb3VudDogbnVtYmVyLFxuICAgIGF1dG9EaXNjb25uZWN0RGVsYXk/OiBudW1iZXJcbiAgfTtcbiAgW1wiTWFpbEZpbGVJbnB1dFwiXTogR3JhcGhRTFR5cGVzW1wiTWFpbEZpbGVJbnB1dFwiXTtcbiAgW1wiTWFpbFJlY2lwaWVudElucHV0XCJdOiBHcmFwaFFMVHlwZXNbXCJNYWlsUmVjaXBpZW50SW5wdXRcIl07XG4gIFtcIlNoYXJlRmlsZUtleUlucHV0XCJdOiBHcmFwaFFMVHlwZXNbXCJTaGFyZUZpbGVLZXlJbnB1dFwiXTtcbiAgW1wiTmFtZUtleUlucHV0XCJdOiBHcmFwaFFMVHlwZXNbXCJOYW1lS2V5SW5wdXRcIl07XG4gIFtcIk5hbWVLZXlJbnB1dEZvbGRlcnNcIl06IEdyYXBoUUxUeXBlc1tcIk5hbWVLZXlJbnB1dEZvbGRlcnNcIl07XG4gIFtcIlNoYXJlRm9sZGVyc0lucHV0XCJdOiBHcmFwaFFMVHlwZXNbXCJTaGFyZUZvbGRlcnNJbnB1dFwiXTtcbiAgW1wiU2hhcmVGaWxlSW5IaXN0b3J5SW5wdXRcIl06IEdyYXBoUUxUeXBlc1tcIlNoYXJlRmlsZUluSGlzdG9yeUlucHV0XCJdO1xuICBbXCJQYXlJbnB1dFR5cGVcIl06IEdyYXBoUUxUeXBlc1tcIlBheUlucHV0VHlwZVwiXTtcbiAgW1wiUGF5SW5wdXRcIl06IEdyYXBoUUxUeXBlc1tcIlBheUlucHV0XCJdO1xuICBbXCJXYWl0aW5nUmVjZWl2ZWRNYWlsXCJdOiB7XG4gICAgc2VuZGVyOiBNb2RlbFR5cGVzW1wiVXNlclwiXSxcbiAgICBkYXRlOiBNb2RlbFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG4gICAgcmVjaXBpZW50czogTW9kZWxUeXBlc1tcIlVzZXJcIl1bXSxcbiAgICB0ZW1wb3JhcnlSZWNpcGllbnRzOiBNb2RlbFR5cGVzW1wiVGVtcG9yYXJ5VXNlclwiXVtdLFxuICAgIGF0dGFjaG1lbnRzQ291bnQ6IG51bWJlclxuICB9O1xuICBbXCJUZW1wb3JhcnlVc2VyXCJdOiB7XG4gICAgaWQ6IHN0cmluZyxcbiAgICBtYWlsczogTW9kZWxUeXBlc1tcIk1haWxJbnRlZ3JpdHlcIl1bXSxcbiAgICBkcmFmdE1haWxzOiBNb2RlbFR5cGVzW1wiTWFpbEludGVncml0eURyYWZ0XCJdW10sXG4gICAgZW1haWw/OiBzdHJpbmdcbiAgfTtcbiAgW1wiTWFpbEludGVncml0eURyYWZ0XCJdOiB7XG4gICAgaWQ6IHN0cmluZyxcbiAgICBoYXNoOiBzdHJpbmcsXG4gICAgaGFzaEtleTogc3RyaW5nLFxuICAgIGFwcDogTW9kZWxUeXBlc1tcIkFwcGxpY2F0aW9uXCJdLFxuICAgIG1haWw6IE1vZGVsVHlwZXNbXCJNYWlsXCJdLFxuICAgIHJlY2lwaWVudHM6IE1vZGVsVHlwZXNbXCJVc2VyXCJdW10sXG4gICAgdGVtcG9yYXJ5UmVjaXBpZW50czogTW9kZWxUeXBlc1tcIlRlbXBvcmFyeVVzZXJcIl1bXSxcbiAgICByZXBseVRvPzogTW9kZWxUeXBlc1tcIk1haWxJbnRlZ3JpdHlcIl1cbiAgfTtcbiAgW1wiRmFxXCJdOiB7XG4gICAgaWQ6IHN0cmluZyxcbiAgICBvcmRlcjogbnVtYmVyLFxuICAgIGVudHJpZXM6IE1vZGVsVHlwZXNbXCJGYXFFbnRyeVwiXVtdXG4gIH07XG4gIFtcIkZhcUVudHJ5XCJdOiB7XG4gICAgaWQ6IHN0cmluZyxcbiAgICBsYW5nOiBNb2RlbFR5cGVzW1wiTGFuZ1wiXSxcbiAgICBxdWVzdGlvbjogc3RyaW5nLFxuICAgIGFuc3dlcjogc3RyaW5nLFxuICAgIGZhcTogTW9kZWxUeXBlc1tcIkZhcVwiXVxuICB9O1xuICBbXCJQbGFuXCJdOiB7XG4gICAgaWQ6IHN0cmluZyxcbiAgICBraW5kOiBNb2RlbFR5cGVzW1wiUGxhbktpbmRcIl0sXG4gICAgY29kZXM6IHN0cmluZ1tdLFxuICAgIGxpbWl0czogTW9kZWxUeXBlc1tcIkxpbWl0c1wiXVxuICB9O1xuICBbXCJSZXBvcnRcIl06IHtcbiAgICBpZDogc3RyaW5nLFxuICAgIHVzZXI6IE1vZGVsVHlwZXNbXCJVc2VyXCJdLFxuICAgIHJlcG9ydGVkVXNlcjogTW9kZWxUeXBlc1tcIlVzZXJcIl0sXG4gICAgY3VzdG9tTWVzc2FnZT86IHN0cmluZ1xuICB9O1xuICBbXCJGb2xkZXJzT25Vc2Vyc09uQXBwbGljYXRpb25zXCJdOiB7XG4gICAgZm9sZGVyOiBNb2RlbFR5cGVzW1wiRm9sZGVyXCJdLFxuICAgIHVzZXJBcHA6IE1vZGVsVHlwZXNbXCJBcHBsaWNhdGlvbnNPblVzZXJzXCJdLFxuICAgIHJpZ2h0czogTW9kZWxUeXBlc1tcIlJpZ2h0c1wiXSxcbiAgICBuYW1lS2V5Pzogc3RyaW5nLFxuICAgIGlzUm9vdDogYm9vbGVhblxuICB9O1xuICBbXCJWRmlsZXNPblVzZXJzT25BcHBsaWNhdGlvbnNcIl06IHtcbiAgICB2RmlsZTogTW9kZWxUeXBlc1tcIlZGaWxlXCJdLFxuICAgIHVzZXJBcHA6IE1vZGVsVHlwZXNbXCJBcHBsaWNhdGlvbnNPblVzZXJzXCJdLFxuICAgIHJpZ2h0czogTW9kZWxUeXBlc1tcIlJpZ2h0c1wiXSxcbiAgICBuYW1lS2V5OiBzdHJpbmcsXG4gICAgaXNSb290OiBib29sZWFuXG4gIH07XG4gIFtcIkZhcUl0ZW1cIl06IHtcbiAgICBvcmRlcjogbnVtYmVyLFxuICAgIHF1ZXN0aW9uOiBzdHJpbmcsXG4gICAgYW5zd2VyOiBzdHJpbmdcbiAgfTtcbiAgW1wiQmxvZ1wiXToge1xuICAgIGlkOiBzdHJpbmcsXG4gICAgb3JkZXI6IG51bWJlcixcbiAgICBlbnRyaWVzOiBNb2RlbFR5cGVzW1wiQmxvZ0VudHJ5XCJdW11cbiAgfTtcbiAgW1wiQmxvZ0VudHJ5XCJdOiB7XG4gICAgaWQ6IHN0cmluZyxcbiAgICBsYW5nOiBNb2RlbFR5cGVzW1wiTGFuZ1wiXSxcbiAgICBhdXRob3I6IHN0cmluZyxcbiAgICBib2R5OiBzdHJpbmcsXG4gICAgZGF0ZTogTW9kZWxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuICAgIGltYWdlOiBzdHJpbmcsXG4gICAgc3VtbWFyeTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmdcbiAgfTtcbiAgW1wiQmxvZ0l0ZW1cIl06IHtcbiAgICBpZDogc3RyaW5nLFxuICAgIGJsb2dJZDogc3RyaW5nLFxuICAgIG9yZGVyOiBudW1iZXIsXG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICBib2R5OiBzdHJpbmcsXG4gICAgYXV0aG9yOiBzdHJpbmcsXG4gICAgaW1hZ2U6IHN0cmluZyxcbiAgICBpbWFnZUFsdDogc3RyaW5nLFxuICAgIHN1bW1hcnk6IHN0cmluZyxcbiAgICBkYXRlOiBNb2RlbFR5cGVzW1wiRGF0ZVRpbWVcIl1cbiAgfTtcbiAgW1wiUmVjdXJseUludm9pY2VzXCJdOiB7XG4gICAgcGRmOiBzdHJpbmcsXG4gICAgZGF0ZTogTW9kZWxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuICAgIGR1ZTogTW9kZWxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuICAgIHN0YXR1czogc3RyaW5nLFxuICAgIHRvdGFsOiBudW1iZXIsXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIGN1cnJlbmN5OiBzdHJpbmdcbiAgfTtcbiAgW1wiUmVjdXJseVN1YnNjcmlwdGlvblwiXToge1xuICAgIGF1dG9yZW5ldzogYm9vbGVhbixcbiAgICBhY3RpdmF0ZWRBdD86IE1vZGVsVHlwZXNbXCJEYXRlVGltZVwiXSxcbiAgICBjdXJyZW50UGVyaW9kRW5kc0F0PzogTW9kZWxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuICAgIGN1cnJlbnRQZXJpb2RTdGFydGVkQXQ/OiBNb2RlbFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG4gICAgY2FuY2VsZWRBdD86IE1vZGVsVHlwZXNbXCJEYXRlVGltZVwiXSxcbiAgICBjcmVhdGVkQXQ/OiBNb2RlbFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG4gICAgZXhwaXJlc0F0PzogTW9kZWxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuICAgIHBhdXNlZEF0PzogTW9kZWxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuICAgIHRyaWFsRW5kc0F0PzogTW9kZWxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuICAgIHRyaWFsU3RhcnRlZEF0PzogTW9kZWxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuICAgIHVwZGF0ZWRBdD86IE1vZGVsVHlwZXNbXCJEYXRlVGltZVwiXSxcbiAgICBzdGF0ZTogc3RyaW5nLFxuICAgIGNvbGxlY3Rpb25NZXRob2Q6IHN0cmluZyxcbiAgICBwbGFuPzogc3RyaW5nLFxuICAgIHBsYW5Db2RlPzogc3RyaW5nLFxuICAgIHRvdGFsPzogbnVtYmVyXG4gIH07XG4gIFtcIlBheW1lbnRJbmZvc1wiXToge1xuICAgIGhvc3RlZFVybDogc3RyaW5nLFxuICAgIGN1cnJlbnRTdWJzY3JpcHRpb246IE1vZGVsVHlwZXNbXCJSZWN1cmx5U3Vic2NyaXB0aW9uXCJdLFxuICAgIGludm9pY2VzOiBNb2RlbFR5cGVzW1wiUmVjdXJseUludm9pY2VzXCJdW11cbiAgfTtcbiAgW1wiU2hhcmVGb2xkZXJSZXNwb25zZVwiXToge1xuICAgIGZvbGRlcnM6IHN0cmluZ1tdLFxuICAgIHZGaWxlczogc3RyaW5nW11cbiAgfTtcbiAgW1wiUXVlcnlcIl06IHtcbiAgICB0ZXN0PzogYm9vbGVhbixcbiAgICBsaW1pdHM/OiBNb2RlbFR5cGVzW1wiUXVlcnlMaW1pdHNcIl0sXG4gICAgdXNlcj86IE1vZGVsVHlwZXNbXCJVc2VyXCJdLFxuICAgIGRiQ29uZmlnPzogTW9kZWxUeXBlc1tcIkpzb25cIl0sXG4gICAgZGJHZXQ/OiBNb2RlbFR5cGVzW1wiSnNvblwiXSxcbiAgICBkYlNlYXJjaDogTW9kZWxUeXBlc1tcIkpzb25cIl1bXSxcbiAgICBmaWxlQ29udGVudD86IE1vZGVsVHlwZXNbXCJGaWxlQ29udGVudFwiXSxcbiAgICBmaWxlc1NoYXJlZFdpdGhNZTogTW9kZWxUeXBlc1tcIkZpbGVTaGFyZWRDb250ZW50XCJdW10sXG4gICAgdkZpbGVzU2hhcmVkV2l0aE1lOiBNb2RlbFR5cGVzW1wiVkZpbGVcIl1bXSxcbiAgICBmb2xkZXJzU2hhcmVkV2l0aE1lOiBNb2RlbFR5cGVzW1wiRm9sZGVyXCJdW10sXG4gICAgZm9sZGVyU2l6ZT86IE1vZGVsVHlwZXNbXCJGb2xkZXJTaXplXCJdLFxuICAgIGZvbGRlcj86IE1vZGVsVHlwZXNbXCJGb2xkZXJcIl0sXG4gICAgdkZpbGU/OiBNb2RlbFR5cGVzW1wiVkZpbGVcIl0sXG4gICAgZmlsZT86IE1vZGVsVHlwZXNbXCJGaWxlXCJdLFxuICAgIGZhcTogTW9kZWxUeXBlc1tcIkZhcUl0ZW1cIl1bXSxcbiAgICBwYXltZW50SW5mb3M/OiBNb2RlbFR5cGVzW1wiUGF5bWVudEluZm9zXCJdLFxuICAgIHBsYW5zOiBNb2RlbFR5cGVzW1wiUGxhblwiXVtdLFxuICAgIHNoYXJlZEZvbGRlcnM6IE1vZGVsVHlwZXNbXCJGb2xkZXJcIl1bXSxcbiAgICBzaGFyZWRWRmlsZXM6IE1vZGVsVHlwZXNbXCJWRmlsZVwiXVtdLFxuICAgIGJsb2c6IE1vZGVsVHlwZXNbXCJCbG9nSXRlbVwiXVtdLFxuICAgIGRlbGV0ZWRGb2xkZXJzOiBNb2RlbFR5cGVzW1wiRm9sZGVyXCJdW10sXG4gICAgZGVsZXRlZFZGaWxlczogTW9kZWxUeXBlc1tcIlZGaWxlXCJdW10sXG4gICAgbWFpbD86IE1vZGVsVHlwZXNbXCJNYWlsXCJdXG4gIH07XG4gIFtcIk11dGF0aW9uXCJdOiB7XG4gICAgY3JlYXRlQXBwbGljYXRpb24/OiBzdHJpbmcsXG4gICAgZGJTZXQ/OiBNb2RlbFR5cGVzW1wiSnNvblwiXSxcbiAgICBkYkNvbmZpZzogTW9kZWxUeXBlc1tcIkpzb25cIl0sXG4gICAgc2hhcmVWRmlsZT86IGJvb2xlYW4sXG4gICAgc2hhcmVGb2xkZXI6IE1vZGVsVHlwZXNbXCJTaGFyZUZvbGRlclJlc3BvbnNlXCJdLFxuICAgIHNoYXJlRm9sZGVyRmluaXNoPzogYm9vbGVhbixcbiAgICB1cGRhdGVGaWxlPzogTW9kZWxUeXBlc1tcIlZGaWxlXCJdLFxuICAgIHVwZGF0ZVByb2ZpbGU/OiBNb2RlbFR5cGVzW1wiVXNlclwiXSxcbiAgICB1cGxvYWRBbm9ueW1vdXM/OiBNb2RlbFR5cGVzW1wiRmlsZVJlc3BvbnNlXCJdLFxuICAgIHVwbG9hZEZpbGU/OiBNb2RlbFR5cGVzW1wiRmlsZVJlc3BvbnNlXCJdLFxuICAgIGNyZWF0ZUZvbGRlcj86IE1vZGVsVHlwZXNbXCJGb2xkZXJcIl0sXG4gICAgbW92ZUZvbGRlcnM/OiBib29sZWFuLFxuICAgIGRlbGV0ZUZvbGRlcj86IGJvb2xlYW4sXG4gICAgbW92ZUZpbGVzPzogYm9vbGVhbixcbiAgICB1cGRhdGVGb2xkZXI/OiBNb2RlbFR5cGVzW1wiRm9sZGVyXCJdLFxuICAgIGRlbGV0ZVZGaWxlOiBib29sZWFuLFxuICAgIGNyZWF0ZURyYWZ0TWFpbD86IE1vZGVsVHlwZXNbXCJNYWlsXCJdLFxuICAgIHNlbmREcmFmdE1haWw/OiBib29sZWFuLFxuICAgIHJlYWRNYWlsPzogYm9vbGVhbixcbiAgICB1bnJlYWRNYWlsPzogYm9vbGVhbixcbiAgICB1cGRhdGVBcHBTZXR0aW5nczogTW9kZWxUeXBlc1tcIlVzZXJBcHBTZXR0aW5nc1wiXSxcbiAgICB1cGxvYWRGaWxlRW5kPzogc3RyaW5nLFxuICAgIGxvZ291dD86IGJvb2xlYW4sXG4gICAgYWRkRmlsZVRvSGlzdG9yeTogTW9kZWxUeXBlc1tcIlZGaWxlXCJdLFxuICAgIHNlbmRPbmVNYWlsPzogYm9vbGVhbixcbiAgICBkZWxldGVEcmFmdE1haWw/OiBib29sZWFuLFxuICAgIHVwZGF0ZURyYWZ0TWFpbD86IE1vZGVsVHlwZXNbXCJNYWlsXCJdLFxuICAgIGRlbGV0ZVVzZXI/OiBib29sZWFuLFxuICAgIHBheTogYm9vbGVhbixcbiAgICBjYW5jZWxQYXltZW50PzogYm9vbGVhbixcbiAgICBzZW5kUmVwb3J0PzogTW9kZWxUeXBlc1tcIlJlcG9ydFwiXSxcbiAgICBzYXZlSW5DbG91ZDogTW9kZWxUeXBlc1tcIlZGaWxlXCJdLFxuICAgIGRlbGV0ZVZGaWxlU2hhcmluZzogYm9vbGVhbixcbiAgICBkZWxldGVGb2xkZXJTaGFyaW5nOiBib29sZWFuLFxuICAgIGRlbGV0ZU1haWw6IGJvb2xlYW4sXG4gICAgZGVsZXRlRmlsZTogYm9vbGVhbixcbiAgICBzaGFyZUZpbGVJbkhpc3Rvcnk6IGJvb2xlYW4sXG4gICAgcmVjb3ZlckZpbGU6IGJvb2xlYW4sXG4gICAgcmVjb3Zlck1haWw6IGJvb2xlYW4sXG4gICAgcmVjb3ZlckZvbGRlcj86IGJvb2xlYW4sXG4gICAgZHVwbGljYXRlVkZpbGU6IGJvb2xlYW4sXG4gICAgZGVsZXRlRm9sZGVyQ2xvdWRUcmFzaD86IGJvb2xlYW4sXG4gICAgZGVsZXRlVkZpbGVDbG91ZFRyYXNoPzogYm9vbGVhbixcbiAgICBkZWxldGVNYWlsVHJhc2g6IGJvb2xlYW4sXG4gICAgZW1wdHlDbG91ZFRyYXNoPzogYm9vbGVhbixcbiAgICBlbXB0eU1haWxUcmFzaD86IGJvb2xlYW4sXG4gICAgdXBsb2FkRmlsZVBhcnRFbmQ6IGJvb2xlYW5cbiAgfVxufVxuXG5leHBvcnQgdHlwZSBHcmFwaFFMVHlwZXMgPSB7XG4gIC8qKiBUaGUgYEJpZ0ludGAgc2NhbGFyIHR5cGUgcmVwcmVzZW50cyBub24tZnJhY3Rpb25hbCBzaWduZWQgd2hvbGUgbnVtZXJpYyB2YWx1ZXMuXG5Ac2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0JpZ0ludCAqL1xuICBbXCJCaWdJbnRcIl06IGFueTtcbiAgLyoqIFRoZSBgQnl0ZWAgc2NhbGFyIHR5cGUgcmVwcmVzZW50cyBieXRlIHZhbHVlIGFzIGEgQnVmZmVyICovXG4gIFtcIkJ5dGVzXCJdOiBhbnk7XG4gIC8qKiBBIGRhdGUtdGltZSBzdHJpbmcgYXQgVVRDLCBzdWNoIGFzIDIwMDctMTItMDNUMTA6MTU6MzBaLCBjb21wbGlhbnQgd2l0aCB0aGUgYGRhdGUtdGltZWAgZm9ybWF0IG91dGxpbmVkIGluIHNlY3Rpb24gNS42IG9mIHRoZSBSRkMgMzMzOSBwcm9maWxlIG9mIHRoZSBJU08gODYwMSBzdGFuZGFyZCBmb3IgcmVwcmVzZW50YXRpb24gb2YgZGF0ZXMgYW5kIHRpbWVzIHVzaW5nIHRoZSBHcmVnb3JpYW4gY2FsZW5kYXIuICovXG4gIFtcIkRhdGVUaW1lXCJdOiBhbnk7XG4gIC8qKiBBbiBhcmJpdHJhcnktcHJlY2lzaW9uIERlY2ltYWwgdHlwZSAqL1xuICBbXCJEZWNpbWFsXCJdOiBhbnk7XG4gIC8qKiBUaGUgYEpTT05PYmplY3RgIHNjYWxhciB0eXBlIHJlcHJlc2VudHMgSlNPTiBvYmplY3RzIGFzIHNwZWNpZmllZCBieSBbRUNNQS00MDRdKGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9wdWJsaWNhdGlvbnMvZmlsZXMvRUNNQS1TVC9FQ01BLTQwNC5wZGYpLiAqL1xuICBbXCJKc29uXCJdOiBhbnk7XG4gIFtcIkxhbmdcIl06IExhbmc7XG4gIFtcIlBsYW5LaW5kXCJdOiBQbGFuS2luZDtcbiAgW1wiVXNlclJvbGVcIl06IFVzZXJSb2xlO1xuICBbXCJNYWlsVHlwZVwiXTogTWFpbFR5cGU7XG4gIFtcIlJpZ2h0c1wiXTogUmlnaHRzO1xuICBbXCJGaWxlXCJdOiB7XG4gICAgX190eXBlbmFtZTogXCJGaWxlXCIsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBzaXplOiBHcmFwaFFMVHlwZXNbXCJCaWdJbnRcIl0sXG4gICAgc2l6ZUJlZm9yZTogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuICAgIGNyZWF0ZWRBdDogR3JhcGhRTFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG4gICAgdkZpbGVzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJWRmlsZVwiXT4sXG4gICAgdkZpbGVzQ3VycmVudDogQXJyYXk8R3JhcGhRTFR5cGVzW1wiVkZpbGVcIl0+LFxuICAgIHVzZXJzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJGaWxlc09uVXNlcnNPbkFwcGxpY2F0aW9uc1wiXT4sXG4gICAgbWQ1OiBzdHJpbmcsXG4gICAgbWQ1RW5jcnlwdGVkOiBzdHJpbmcsXG4gICAgZGVsZXRlZEF0PzogR3JhcGhRTFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG4gICAgdXNlckFwcDogR3JhcGhRTFR5cGVzW1wiQXBwbGljYXRpb25zT25Vc2Vyc1wiXSxcbiAgICBtYWlsczogQXJyYXk8R3JhcGhRTFR5cGVzW1wiRmlsZXNPbk1haWxzXCJdPixcbiAgICB2YWxpZGF0ZWRBdD86IEdyYXBoUUxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuICAgIHVzZXI/OiBHcmFwaFFMVHlwZXNbXCJGaWxlc09uVXNlcnNPbkFwcGxpY2F0aW9uc1wiXVxuICB9O1xuICBbXCJGaWxlUGFydFwiXToge1xuICAgIF9fdHlwZW5hbWU6IFwiRmlsZVBhcnRcIixcbiAgICBpZDogc3RyaW5nLFxuICAgIGZpbGU6IEdyYXBoUUxUeXBlc1tcIkZpbGVcIl0sXG4gICAgZmlsZUlkOiBzdHJpbmcsXG4gICAgc2l6ZTogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuICAgIG9yZGVyOiBudW1iZXIsXG4gICAgbWQ1OiBzdHJpbmcsXG4gICAgdmFsaWRhdGVkQXQ/OiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXVxuICB9O1xuICBbXCJGaWxlQ29udGVudFR5cGVcIl06IEZpbGVDb250ZW50VHlwZTtcbiAgW1wiRmlsZUNvbnRlbnRQYXJ0XCJdOiB7XG4gICAgX190eXBlbmFtZTogXCJGaWxlQ29udGVudFBhcnRcIixcbiAgICBjb250ZW50VXJsOiBzdHJpbmcsXG4gICAgb3JkZXI6IG51bWJlcixcbiAgICBtZDU6IHN0cmluZ1xuICB9O1xuICBbXCJGaWxlQ29udGVudEJhc2VcIl06IHtcbiAgICBfX3R5cGVuYW1lOiBcIkZpbGVDb250ZW50Q2xvdWRcIiB8IFwiRmlsZUNvbnRlbnRTZW50TWFpbFwiIHwgXCJGaWxlQ29udGVudFJlY2VpdmVkTWFpbFwiXG4gICAgcGFydHM6IEFycmF5PEdyYXBoUUxUeXBlc1tcIkZpbGVDb250ZW50UGFydFwiXT4sXG4gICAga2V5OiBzdHJpbmcsXG4gICAgbWQ1OiBzdHJpbmcsXG4gICAgbWQ1RW5jcnlwdGVkOiBzdHJpbmcsXG4gICAgdG90YWxTaXplOiBHcmFwaFFMVHlwZXNbXCJCaWdJbnRcIl0sXG4gICAgdHlwZTogR3JhcGhRTFR5cGVzW1wiRmlsZUNvbnRlbnRUeXBlXCJdXG4gICAgWycuLi5vbiBGaWxlQ29udGVudENsb3VkJ106ICdfX3VuaW9uJyAmIEdyYXBoUUxUeXBlc1tcIkZpbGVDb250ZW50Q2xvdWRcIl07XG4gICAgWycuLi5vbiBGaWxlQ29udGVudFNlbnRNYWlsJ106ICdfX3VuaW9uJyAmIEdyYXBoUUxUeXBlc1tcIkZpbGVDb250ZW50U2VudE1haWxcIl07XG4gICAgWycuLi5vbiBGaWxlQ29udGVudFJlY2VpdmVkTWFpbCddOiAnX191bmlvbicgJiBHcmFwaFFMVHlwZXNbXCJGaWxlQ29udGVudFJlY2VpdmVkTWFpbFwiXTtcbiAgfTtcbiAgW1wiRmlsZUNvbnRlbnRDbG91ZFwiXToge1xuICAgIF9fdHlwZW5hbWU6IFwiRmlsZUNvbnRlbnRDbG91ZFwiLFxuICAgIHBhcnRzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJGaWxlQ29udGVudFBhcnRcIl0+LFxuICAgIGtleTogc3RyaW5nLFxuICAgIG1kNTogc3RyaW5nLFxuICAgIG1kNUVuY3J5cHRlZDogc3RyaW5nLFxuICAgIHRvdGFsU2l6ZTogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuICAgIHR5cGU6IEdyYXBoUUxUeXBlc1tcIkZpbGVDb250ZW50VHlwZVwiXSxcbiAgICBwdWJsaWNLZXk6IHN0cmluZ1xuICB9O1xuICBbXCJGaWxlQ29udGVudFNlbnRNYWlsXCJdOiB7XG4gICAgX190eXBlbmFtZTogXCJGaWxlQ29udGVudFNlbnRNYWlsXCIsXG4gICAgcGFydHM6IEFycmF5PEdyYXBoUUxUeXBlc1tcIkZpbGVDb250ZW50UGFydFwiXT4sXG4gICAga2V5OiBzdHJpbmcsXG4gICAgbWQ1OiBzdHJpbmcsXG4gICAgbWQ1RW5jcnlwdGVkOiBzdHJpbmcsXG4gICAgdG90YWxTaXplOiBHcmFwaFFMVHlwZXNbXCJCaWdJbnRcIl0sXG4gICAgdHlwZTogR3JhcGhRTFR5cGVzW1wiRmlsZUNvbnRlbnRUeXBlXCJdXG4gIH07XG4gIFtcIkZpbGVDb250ZW50UmVjZWl2ZWRNYWlsXCJdOiB7XG4gICAgX190eXBlbmFtZTogXCJGaWxlQ29udGVudFJlY2VpdmVkTWFpbFwiLFxuICAgIHBhcnRzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJGaWxlQ29udGVudFBhcnRcIl0+LFxuICAgIGtleTogc3RyaW5nLFxuICAgIG1kNTogc3RyaW5nLFxuICAgIG1kNUVuY3J5cHRlZDogc3RyaW5nLFxuICAgIHRvdGFsU2l6ZTogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuICAgIHR5cGU6IEdyYXBoUUxUeXBlc1tcIkZpbGVDb250ZW50VHlwZVwiXSxcbiAgICBzZW5kZXJQdWJsaWNLZXk6IHN0cmluZ1xuICB9O1xuICBbXCJGaWxlQ29udGVudFwiXToge1xuICAgIFsnLi4ub24gRmlsZUNvbnRlbnRDbG91ZCddOiAnX191bmlvbicgJiBHcmFwaFFMVHlwZXNbXCJGaWxlQ29udGVudENsb3VkXCJdO1xuICAgIFsnLi4ub24gRmlsZUNvbnRlbnRSZWNlaXZlZE1haWwnXTogJ19fdW5pb24nICYgR3JhcGhRTFR5cGVzW1wiRmlsZUNvbnRlbnRSZWNlaXZlZE1haWxcIl07XG4gICAgWycuLi5vbiBGaWxlQ29udGVudFNlbnRNYWlsJ106ICdfX3VuaW9uJyAmIEdyYXBoUUxUeXBlc1tcIkZpbGVDb250ZW50U2VudE1haWxcIl07XG4gIH07XG4gIFtcIkZpbGVSZXNwb25zZVwiXToge1xuICAgIF9fdHlwZW5hbWU6IFwiRmlsZVJlc3BvbnNlXCIsXG4gICAgZmlsZUlkOiBzdHJpbmcsXG4gICAgcGFydHM6IEFycmF5PEdyYXBoUUxUeXBlc1tcIkZpbGVQYXJ0UmVzcG9uc2VcIl0+LFxuICAgIGZpbGVQYXJ0U2l6ZTogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdXG4gIH07XG4gIFtcIkZpbGVQYXJ0UmVzcG9uc2VcIl06IHtcbiAgICBfX3R5cGVuYW1lOiBcIkZpbGVQYXJ0UmVzcG9uc2VcIixcbiAgICBmaWVsZHM6IEdyYXBoUUxUeXBlc1tcIkpzb25cIl0sXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgb3JkZXI6IG51bWJlclxuICB9O1xuICBbXCJGaWxlU2hhcmVkXCJdOiB7XG4gICAgX190eXBlbmFtZTogXCJGaWxlU2hhcmVkXCIsXG4gICAgdXNlcklkOiBzdHJpbmcsXG4gICAgbWVzc2FnZT86IHN0cmluZyxcbiAgICBhcHBJZDogc3RyaW5nLFxuICAgIGlkOiBzdHJpbmcsXG4gICAgZmlsZW5hbWU6IHN0cmluZyxcbiAgICBzaXplOiBudW1iZXIsXG4gICAgc2l6ZUJlZm9yZTogbnVtYmVyXG4gIH07XG4gIFtcIkZpbGVTaGFyZWRDb250ZW50XCJdOiB7XG4gICAgX190eXBlbmFtZTogXCJGaWxlU2hhcmVkQ29udGVudFwiLFxuICAgIG93bmVySWQ/OiBzdHJpbmcsXG4gICAgcHViS2V5Pzogc3RyaW5nLFxuICAgIG1lc3NhZ2U/OiBzdHJpbmcsXG4gICAgYXBwSWQ6IHN0cmluZyxcbiAgICBpZDogc3RyaW5nLFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICBmaWxlbmFtZTogc3RyaW5nLFxuICAgIGNvbnRlbnRVcmw6IHN0cmluZyxcbiAgICBrZXk6IHN0cmluZyxcbiAgICBzaXplOiBudW1iZXIsXG4gICAgc2l6ZUJlZm9yZTogbnVtYmVyXG4gIH07XG4gIFtcIkNsb3VkTGltaXRzXCJdOiB7XG4gICAgX190eXBlbmFtZTogXCJDbG91ZExpbWl0c1wiLFxuICAgIHNpemU6IEdyYXBoUUxUeXBlc1tcIkJpZ0ludFwiXSxcbiAgICBtYXhTaXplPzogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuICAgIGNvdW50OiBHcmFwaFFMVHlwZXNbXCJCaWdJbnRcIl0sXG4gICAgbWF4Q291bnQ/OiBHcmFwaFFMVHlwZXNbXCJCaWdJbnRcIl1cbiAgfTtcbiAgW1wiTWFpbExpbWl0c1ZhbHVlc1wiXToge1xuICAgIF9fdHlwZW5hbWU6IFwiTWFpbExpbWl0c1ZhbHVlc1wiLFxuICAgIGNvdW50OiBHcmFwaFFMVHlwZXNbXCJCaWdJbnRcIl0sXG4gICAgbWF4Q291bnQ/OiBHcmFwaFFMVHlwZXNbXCJCaWdJbnRcIl0sXG4gICAgZmlsZUNvdW50OiBHcmFwaFFMVHlwZXNbXCJCaWdJbnRcIl0sXG4gICAgbWF4RmlsZUNvdW50PzogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuICAgIGZpbGVTaXplOiBHcmFwaFFMVHlwZXNbXCJCaWdJbnRcIl0sXG4gICAgbWF4RmlsZVNpemU/OiBHcmFwaFFMVHlwZXNbXCJCaWdJbnRcIl1cbiAgfTtcbiAgW1wiVXNlck1haWxMaW1pdHNcIl06IHtcbiAgICBfX3R5cGVuYW1lOiBcIlVzZXJNYWlsTGltaXRzXCIsXG4gICAgc2VudDogR3JhcGhRTFR5cGVzW1wiTWFpbExpbWl0c1ZhbHVlc1wiXSxcbiAgICByZWNlaXZlZDogR3JhcGhRTFR5cGVzW1wiTWFpbExpbWl0c1ZhbHVlc1wiXVxuICB9O1xuICBbXCJRdWVyeUxpbWl0c1wiXToge1xuICAgIF9fdHlwZW5hbWU6IFwiUXVlcnlMaW1pdHNcIixcbiAgICBjbG91ZDogR3JhcGhRTFR5cGVzW1wiQ2xvdWRMaW1pdHNcIl0sXG4gICAgbWFpbDogR3JhcGhRTFR5cGVzW1wiVXNlck1haWxMaW1pdHNcIl1cbiAgfTtcbiAgW1wiTGltaXRzXCJdOiB7XG4gICAgX190eXBlbmFtZTogXCJMaW1pdHNcIixcbiAgICBkb3dubG9hZEJhbmR3aWR0aD86IEdyYXBoUUxUeXBlc1tcIkJpZ0ludFwiXSxcbiAgICBkb3dubG9hZENvdW50PzogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuICAgIGhhcmRGaWxlQ291bnQ/OiBHcmFwaFFMVHlwZXNbXCJCaWdJbnRcIl0sXG4gICAgaGFyZEZpbGVTaXplPzogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuICAgIHBlckZpbGVTaXplPzogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuICAgIHJlY2VpdmVkTWFpbHM6IEdyYXBoUUxUeXBlc1tcIk1haWxMaW1pdHNcIl0sXG4gICAgc2VudE1haWxzOiBHcmFwaFFMVHlwZXNbXCJNYWlsTGltaXRzXCJdLFxuICAgIHVwbG9hZEJhbmR3aWR0aD86IEdyYXBoUUxUeXBlc1tcIkJpZ0ludFwiXSxcbiAgICB1cGxvYWRDb3VudD86IEdyYXBoUUxUeXBlc1tcIkJpZ0ludFwiXVxuICB9O1xuICBbXCJNYWlsTGltaXRzXCJdOiB7XG4gICAgX190eXBlbmFtZTogXCJNYWlsTGltaXRzXCIsXG4gICAgY291bnQ/OiBHcmFwaFFMVHlwZXNbXCJCaWdJbnRcIl0sXG4gICAgZmlsZUNvdW50PzogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuICAgIGZpbGVTaXplPzogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuICAgIGhhcmRDb3VudD86IEdyYXBoUUxUeXBlc1tcIkJpZ0ludFwiXSxcbiAgICBoYXJkRmlsZUNvdW50PzogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuICAgIGhhcmRGaWxlU2l6ZT86IEdyYXBoUUxUeXBlc1tcIkJpZ0ludFwiXSxcbiAgICBwZXJGaWxlU2l6ZT86IEdyYXBoUUxUeXBlc1tcIkJpZ0ludFwiXVxuICB9O1xuICBbXCJVc2VyXCJdOiB7XG4gICAgX190eXBlbmFtZTogXCJVc2VyXCIsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBkZWxldGVkQXQ/OiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXSxcbiAgICBsYW5nOiBHcmFwaFFMVHlwZXNbXCJMYW5nXCJdLFxuICAgIHJlcG9ydFNlbnQ6IEFycmF5PEdyYXBoUUxUeXBlc1tcIlJlcG9ydFwiXT4sXG4gICAgZ29kRmF0aGVyPzogR3JhcGhRTFR5cGVzW1wiVXNlclwiXSxcbiAgICBnb2RDaGlsZHJlbjogQXJyYXk8R3JhcGhRTFR5cGVzW1wiVXNlclwiXT4sXG4gICAgZmlyc3RuYW1lOiBzdHJpbmcsXG4gICAgbGFzdG5hbWU6IHN0cmluZyxcbiAgICBlbWFpbDogc3RyaW5nLFxuICAgIHBob25lOiBzdHJpbmcsXG4gICAgbGFzdExvZ2luOiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXSxcbiAgICByb2xlOiBHcmFwaFFMVHlwZXNbXCJVc2VyUm9sZVwiXSxcbiAgICBzZXNzaW9uczogQXJyYXk8R3JhcGhRTFR5cGVzW1wiVXNlclNlc3Npb25cIl0+LFxuICAgIGNyZWF0ZWRBdDogR3JhcGhRTFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG4gICAgcmVjZWl2ZWRNYWlsczogQXJyYXk8R3JhcGhRTFR5cGVzW1wiTWFpbFwiXT4sXG4gICAgd2FpdGluZ1JlY2VpdmVkTWFpbHM6IEFycmF5PEdyYXBoUUxUeXBlc1tcIldhaXRpbmdSZWNlaXZlZE1haWxcIl0+LFxuICAgIHNlbnRNYWlsczogQXJyYXk8R3JhcGhRTFR5cGVzW1wiTWFpbFwiXT4sXG4gICAgZHJhZnRNYWlsczogQXJyYXk8R3JhcGhRTFR5cGVzW1wiTWFpbFwiXT4sXG4gICAgYXBwU2V0dGluZ3M/OiBHcmFwaFFMVHlwZXNbXCJVc2VyQXBwU2V0dGluZ3NcIl0sXG4gICAgYXBwbGljYXRpb25zOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJBcHBsaWNhdGlvbnNPblVzZXJzXCJdPixcbiAgICBwdWJsaWNLZXk6IHN0cmluZ1xuICB9O1xuICBbXCJNYWlsXCJdOiB7XG4gICAgX190eXBlbmFtZTogXCJNYWlsXCIsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBhcHA6IEdyYXBoUUxUeXBlc1tcIkFwcGxpY2F0aW9uXCJdLFxuICAgIGJvZHk6IHN0cmluZyxcbiAgICBjcmVhdGVkQXQ6IEdyYXBoUUxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuICAgIGRlbGV0ZWRBdD86IEdyYXBoUUxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuICAgIGZpbGVzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJGaWxlc09uTWFpbHNcIl0+LFxuICAgIG1haWxJbnRlZ3JpdHk/OiBHcmFwaFFMVHlwZXNbXCJNYWlsSW50ZWdyaXR5XCJdLFxuICAgIG1haWxJbnRlZ3JpdHlEcmFmdD86IEdyYXBoUUxUeXBlc1tcIk1haWxJbnRlZ3JpdHlEcmFmdFwiXSxcbiAgICBvcGVuZWRBdD86IEdyYXBoUUxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuICAgIHJlY2lwaWVudDogR3JhcGhRTFR5cGVzW1wiVXNlclwiXSxcbiAgICBzZW5kZXI6IEdyYXBoUUxUeXBlc1tcIlVzZXJcIl0sXG4gICAgc3ViamVjdDogc3RyaW5nLFxuICAgIHR5cGU6IEdyYXBoUUxUeXBlc1tcIk1haWxUeXBlXCJdLFxuICAgIHJlY2lwaWVudHM6IEFycmF5PEdyYXBoUUxUeXBlc1tcIlVzZXJcIl0+XG4gIH07XG4gIFtcIk1haWxJbnRlZ3JpdHlcIl06IHtcbiAgICBfX3R5cGVuYW1lOiBcIk1haWxJbnRlZ3JpdHlcIixcbiAgICBpZDogc3RyaW5nLFxuICAgIGhhc2g6IHN0cmluZyxcbiAgICBoYXNoS2V5OiBzdHJpbmcsXG4gICAgYW5zd2VyczogQXJyYXk8R3JhcGhRTFR5cGVzW1wiTWFpbEludGVncml0eVwiXT4sXG4gICAgYXBwOiBHcmFwaFFMVHlwZXNbXCJBcHBsaWNhdGlvblwiXSxcbiAgICBtYWlsczogQXJyYXk8R3JhcGhRTFR5cGVzW1wiTWFpbFwiXT4sXG4gICAgcmVjaXBpZW50czogQXJyYXk8R3JhcGhRTFR5cGVzW1wiVXNlclwiXT4sXG4gICAgdGVtcG9yYXJ5UmVjaXBpZW50czogQXJyYXk8R3JhcGhRTFR5cGVzW1wiVGVtcG9yYXJ5VXNlclwiXT4sXG4gICAgcmVwbHlUbz86IEdyYXBoUUxUeXBlc1tcIk1haWxJbnRlZ3JpdHlcIl1cbiAgfTtcbiAgW1wiRmlsZXNPbk1haWxzXCJdOiB7XG4gICAgX190eXBlbmFtZTogXCJGaWxlc09uTWFpbHNcIixcbiAgICBmaWxlOiBHcmFwaFFMVHlwZXNbXCJGaWxlXCJdLFxuICAgIGZpbGVLZXk6IHN0cmluZyxcbiAgICBmaWxlbmFtZTogc3RyaW5nLFxuICAgIG1haWw6IEdyYXBoUUxUeXBlc1tcIk1haWxcIl1cbiAgfTtcbiAgW1wiRmlsZXNPblVzZXJzT25BcHBsaWNhdGlvbnNcIl06IHtcbiAgICBfX3R5cGVuYW1lOiBcIkZpbGVzT25Vc2Vyc09uQXBwbGljYXRpb25zXCIsXG4gICAgZmlsZTogR3JhcGhRTFR5cGVzW1wiRmlsZVwiXSxcbiAgICB1c2VyQXBwOiBHcmFwaFFMVHlwZXNbXCJBcHBsaWNhdGlvbnNPblVzZXJzXCJdLFxuICAgIC8qKiBFbmNyeXB0ZWQgd2l0aCBVc2VyQXBwIGtleXMgKi9cbiAgICBrZXk6IHN0cmluZ1xuICB9O1xuICBbXCJWRmlsZVwiXToge1xuICAgIF9fdHlwZW5hbWU6IFwiVkZpbGVcIixcbiAgICBpZDogc3RyaW5nLFxuICAgIGlzRmF2b3JpdGU6IGJvb2xlYW4sXG4gICAgY3JlYXRlZEF0OiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXSxcbiAgICBkZWxldGVkQXQ/OiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXSxcbiAgICBmaWxlbmFtZTogc3RyaW5nLFxuICAgIHVzZXJBcHBzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJWRmlsZXNPblVzZXJzT25BcHBsaWNhdGlvbnNcIl0+LFxuICAgIGNyZWF0ZWRCeTogR3JhcGhRTFR5cGVzW1wiQXBwbGljYXRpb25zT25Vc2Vyc1wiXSxcbiAgICB1c2VyQXBwPzogR3JhcGhRTFR5cGVzW1wiVkZpbGVzT25Vc2Vyc09uQXBwbGljYXRpb25zXCJdLFxuICAgIGZvbGRlcjogR3JhcGhRTFR5cGVzW1wiRm9sZGVyXCJdLFxuICAgIGhpc3Rvcnk6IEFycmF5PEdyYXBoUUxUeXBlc1tcIkZpbGVcIl0+LFxuICAgIGN1cnJlbnQ/OiBHcmFwaFFMVHlwZXNbXCJGaWxlXCJdLFxuICAgIHVwZGF0ZWRBdDogR3JhcGhRTFR5cGVzW1wiRGF0ZVRpbWVcIl1cbiAgfTtcbiAgW1wiRm9sZGVyQnJlYWRjcnVtYkl0ZW1cIl06IHtcbiAgICBfX3R5cGVuYW1lOiBcIkZvbGRlckJyZWFkY3J1bWJJdGVtXCIsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgcHViS2V5OiBzdHJpbmcsXG4gICAgbmFtZUtleT86IHN0cmluZ1xuICB9O1xuICBbXCJGb2xkZXJcIl06IHtcbiAgICBfX3R5cGVuYW1lOiBcIkZvbGRlclwiLFxuICAgIGlkOiBzdHJpbmcsXG4gICAgaXNGYXZvcml0ZTogYm9vbGVhbixcbiAgICBjcmVhdGVkQXQ6IEdyYXBoUUxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuICAgIGRlbGV0ZWRBdD86IEdyYXBoUUxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuICAgIHVwZGF0ZWRBdDogR3JhcGhRTFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG4gICAgY3JlYXRlZEJ5OiBHcmFwaFFMVHlwZXNbXCJBcHBsaWNhdGlvbnNPblVzZXJzXCJdLFxuICAgIHVzZXJBcHBzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJGb2xkZXJzT25Vc2Vyc09uQXBwbGljYXRpb25zXCJdPixcbiAgICB1c2VyQXBwPzogR3JhcGhRTFR5cGVzW1wiRm9sZGVyc09uVXNlcnNPbkFwcGxpY2F0aW9uc1wiXSxcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgcGFyZW50Rm9sZGVyPzogR3JhcGhRTFR5cGVzW1wiRm9sZGVyXCJdLFxuICAgIHN1YmZvbGRlcnM6IEFycmF5PEdyYXBoUUxUeXBlc1tcIkZvbGRlclwiXT4sXG4gICAgdkZpbGVzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJWRmlsZVwiXT4sXG4gICAgYnJlYWRjcnVtYjogQXJyYXk8R3JhcGhRTFR5cGVzW1wiRm9sZGVyQnJlYWRjcnVtYkl0ZW1cIl0+XG4gIH07XG4gIFtcIkFwcGxpY2F0aW9uXCJdOiB7XG4gICAgX190eXBlbmFtZTogXCJBcHBsaWNhdGlvblwiLFxuICAgIGlkOiBzdHJpbmcsXG4gICAgbmFtZTogc3RyaW5nXG4gIH07XG4gIFtcIkFwcGxpY2F0aW9uc09uVXNlcnNcIl06IHtcbiAgICBfX3R5cGVuYW1lOiBcIkFwcGxpY2F0aW9uc09uVXNlcnNcIixcbiAgICBmYWtlVXNlcklkOiBzdHJpbmcsXG4gICAga2V5UGFpcj86IEdyYXBoUUxUeXBlc1tcIkFwcEtleVBhaXJcIl0sXG4gICAgc2Vzc2lvbnM6IEFycmF5PEdyYXBoUUxUeXBlc1tcIkFwcFNlc3Npb25cIl0+LFxuICAgIGFwcDogR3JhcGhRTFR5cGVzW1wiQXBwbGljYXRpb25cIl0sXG4gICAgdXNlcjogR3JhcGhRTFR5cGVzW1wiVXNlclwiXSxcbiAgICBmb2xkZXJzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJGb2xkZXJzT25Vc2Vyc09uQXBwbGljYXRpb25zXCJdPixcbiAgICBzZXR0aW5nczogR3JhcGhRTFR5cGVzW1wiVXNlckFwcFNldHRpbmdzXCJdXG4gIH07XG4gIFtcIkFwcEtleVBhaXJcIl06IHtcbiAgICBfX3R5cGVuYW1lOiBcIkFwcEtleVBhaXJcIixcbiAgICBwdWI6IHN0cmluZ1xuICB9O1xuICBbXCJGb2xkZXJTaXplXCJdOiB7XG4gICAgX190eXBlbmFtZTogXCJGb2xkZXJTaXplXCIsXG4gICAgc2l6ZTogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuICAgIHNpemVCZWZvcmU6IEdyYXBoUUxUeXBlc1tcIkJpZ0ludFwiXVxuICB9O1xuICBbXCJVc2VyU2Vzc2lvblwiXToge1xuICAgIF9fdHlwZW5hbWU6IFwiVXNlclNlc3Npb25cIixcbiAgICBpZDogc3RyaW5nLFxuICAgIGFwcFNlc3Npb25zOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJBcHBTZXNzaW9uXCJdPixcbiAgICBsYXN0QWN0aXZpdHk/OiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXSxcbiAgICB1c2VyQWdlbnQ/OiBzdHJpbmcsXG4gICAgaXA/OiBzdHJpbmcsXG4gICAgY2l0eT86IHN0cmluZyxcbiAgICBjb3VudHJ5Pzogc3RyaW5nLFxuICAgIGNyZWF0ZWRBdDogR3JhcGhRTFR5cGVzW1wiRGF0ZVRpbWVcIl1cbiAgfTtcbiAgW1wiQXBwU2Vzc2lvblwiXToge1xuICAgIF9fdHlwZW5hbWU6IFwiQXBwU2Vzc2lvblwiLFxuICAgIGlkOiBzdHJpbmcsXG4gICAgbGFzdEFjdGl2aXR5PzogR3JhcGhRTFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG4gICAgdXNlckFnZW50Pzogc3RyaW5nLFxuICAgIGlwPzogc3RyaW5nLFxuICAgIGNpdHk/OiBzdHJpbmcsXG4gICAgY291bnRyeT86IHN0cmluZyxcbiAgICB1c2VyU2Vzc2lvbjogR3JhcGhRTFR5cGVzW1wiVXNlclNlc3Npb25cIl0sXG4gICAgdXNlckFwcD86IEdyYXBoUUxUeXBlc1tcIkFwcGxpY2F0aW9uc09uVXNlcnNcIl0sXG4gICAgY3JlYXRlZEF0OiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXVxuICB9O1xuICBbXCJVc2VyQXBwU2V0dGluZ3NcIl06IHtcbiAgICBfX3R5cGVuYW1lOiBcIlVzZXJBcHBTZXR0aW5nc1wiLFxuICAgIGlkOiBzdHJpbmcsXG4gICAgY2xvdWRGaWxlRGF5c0ZvckRlbGV0ZTogbnVtYmVyLFxuICAgIGNsb3VkRm9sZGVyRGF5c0ZvckRlbGV0ZTogbnVtYmVyLFxuICAgIGhpc3RvcnlGaWxlRGF5c0ZvckRlbGV0ZT86IG51bWJlcixcbiAgICBoaXN0b3J5TWF4RmlsZUNvdW50OiBudW1iZXIsXG4gICAgYXV0b0Rpc2Nvbm5lY3REZWxheT86IG51bWJlclxuICB9O1xuICBbXCJNYWlsRmlsZUlucHV0XCJdOiB7XG4gICAgaWQ6IHN0cmluZyxcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgZmlsZUtleTogc3RyaW5nXG4gIH07XG4gIFtcIk1haWxSZWNpcGllbnRJbnB1dFwiXToge1xuICAgIGJvZHk6IHN0cmluZyxcbiAgICBzdWJqZWN0OiBzdHJpbmcsXG4gICAgcmVjaXBpZW50SWQ6IHN0cmluZyxcbiAgICBmaWxlczogQXJyYXk8R3JhcGhRTFR5cGVzW1wiTWFpbEZpbGVJbnB1dFwiXT5cbiAgfTtcbiAgW1wiU2hhcmVGaWxlS2V5SW5wdXRcIl06IHtcbiAgICBpZDogc3RyaW5nLFxuICAgIGtleTogc3RyaW5nXG4gIH07XG4gIFtcIk5hbWVLZXlJbnB1dFwiXToge1xuICAgIGlkOiBzdHJpbmcsXG4gICAgbmFtZUtleTogc3RyaW5nLFxuICAgIGZpbGVzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJTaGFyZUZpbGVLZXlJbnB1dFwiXT5cbiAgfTtcbiAgW1wiTmFtZUtleUlucHV0Rm9sZGVyc1wiXToge1xuICAgIGlkOiBzdHJpbmcsXG4gICAgbmFtZUtleTogc3RyaW5nXG4gIH07XG4gIFtcIlNoYXJlRm9sZGVyc0lucHV0XCJdOiB7XG4gICAgZm9sZGVyczogQXJyYXk8R3JhcGhRTFR5cGVzW1wiTmFtZUtleUlucHV0Rm9sZGVyc1wiXT4sXG4gICAgdkZpbGVzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJOYW1lS2V5SW5wdXRcIl0+XG4gIH07XG4gIFtcIlNoYXJlRmlsZUluSGlzdG9yeUlucHV0XCJdOiB7XG4gICAgZmlsZUlkOiBzdHJpbmcsXG4gICAgdXNlcnM6IEFycmF5PEdyYXBoUUxUeXBlc1tcIlNoYXJlRmlsZUtleUlucHV0XCJdPlxuICB9O1xuICBbXCJQYXlJbnB1dFR5cGVcIl06IFBheUlucHV0VHlwZTtcbiAgW1wiUGF5SW5wdXRcIl06IHtcbiAgICB0eXBlOiBHcmFwaFFMVHlwZXNbXCJQYXlJbnB1dFR5cGVcIl0sXG4gICAgdG9rZW46IHN0cmluZyxcbiAgICBmaXJzdE5hbWU6IHN0cmluZyxcbiAgICBsYXN0TmFtZTogc3RyaW5nLFxuICAgIHN0cmVldDogc3RyaW5nLFxuICAgIHBvc3RhbENvZGU6IHN0cmluZyxcbiAgICBjaXR5OiBzdHJpbmcsXG4gICAgY291bnRyeTogc3RyaW5nLFxuICAgIG51bWJlcjogc3RyaW5nLFxuICAgIG1vbnRoOiBzdHJpbmcsXG4gICAgeWVhcjogc3RyaW5nLFxuICAgIGN2djogc3RyaW5nXG4gIH07XG4gIFtcIldhaXRpbmdSZWNlaXZlZE1haWxcIl06IHtcbiAgICBfX3R5cGVuYW1lOiBcIldhaXRpbmdSZWNlaXZlZE1haWxcIixcbiAgICBzZW5kZXI6IEdyYXBoUUxUeXBlc1tcIlVzZXJcIl0sXG4gICAgZGF0ZTogR3JhcGhRTFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG4gICAgcmVjaXBpZW50czogQXJyYXk8R3JhcGhRTFR5cGVzW1wiVXNlclwiXT4sXG4gICAgdGVtcG9yYXJ5UmVjaXBpZW50czogQXJyYXk8R3JhcGhRTFR5cGVzW1wiVGVtcG9yYXJ5VXNlclwiXT4sXG4gICAgYXR0YWNobWVudHNDb3VudDogbnVtYmVyXG4gIH07XG4gIFtcIlRlbXBvcmFyeVVzZXJcIl06IHtcbiAgICBfX3R5cGVuYW1lOiBcIlRlbXBvcmFyeVVzZXJcIixcbiAgICBpZDogc3RyaW5nLFxuICAgIG1haWxzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJNYWlsSW50ZWdyaXR5XCJdPixcbiAgICBkcmFmdE1haWxzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJNYWlsSW50ZWdyaXR5RHJhZnRcIl0+LFxuICAgIGVtYWlsPzogc3RyaW5nXG4gIH07XG4gIFtcIk1haWxJbnRlZ3JpdHlEcmFmdFwiXToge1xuICAgIF9fdHlwZW5hbWU6IFwiTWFpbEludGVncml0eURyYWZ0XCIsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBoYXNoOiBzdHJpbmcsXG4gICAgaGFzaEtleTogc3RyaW5nLFxuICAgIGFwcDogR3JhcGhRTFR5cGVzW1wiQXBwbGljYXRpb25cIl0sXG4gICAgbWFpbDogR3JhcGhRTFR5cGVzW1wiTWFpbFwiXSxcbiAgICByZWNpcGllbnRzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJVc2VyXCJdPixcbiAgICB0ZW1wb3JhcnlSZWNpcGllbnRzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJUZW1wb3JhcnlVc2VyXCJdPixcbiAgICByZXBseVRvPzogR3JhcGhRTFR5cGVzW1wiTWFpbEludGVncml0eVwiXVxuICB9O1xuICBbXCJGYXFcIl06IHtcbiAgICBfX3R5cGVuYW1lOiBcIkZhcVwiLFxuICAgIGlkOiBzdHJpbmcsXG4gICAgb3JkZXI6IG51bWJlcixcbiAgICBlbnRyaWVzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJGYXFFbnRyeVwiXT5cbiAgfTtcbiAgW1wiRmFxRW50cnlcIl06IHtcbiAgICBfX3R5cGVuYW1lOiBcIkZhcUVudHJ5XCIsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBsYW5nOiBHcmFwaFFMVHlwZXNbXCJMYW5nXCJdLFxuICAgIHF1ZXN0aW9uOiBzdHJpbmcsXG4gICAgYW5zd2VyOiBzdHJpbmcsXG4gICAgZmFxOiBHcmFwaFFMVHlwZXNbXCJGYXFcIl1cbiAgfTtcbiAgW1wiUGxhblwiXToge1xuICAgIF9fdHlwZW5hbWU6IFwiUGxhblwiLFxuICAgIGlkOiBzdHJpbmcsXG4gICAga2luZDogR3JhcGhRTFR5cGVzW1wiUGxhbktpbmRcIl0sXG4gICAgY29kZXM6IEFycmF5PHN0cmluZz4sXG4gICAgbGltaXRzOiBHcmFwaFFMVHlwZXNbXCJMaW1pdHNcIl1cbiAgfTtcbiAgW1wiUmVwb3J0XCJdOiB7XG4gICAgX190eXBlbmFtZTogXCJSZXBvcnRcIixcbiAgICBpZDogc3RyaW5nLFxuICAgIHVzZXI6IEdyYXBoUUxUeXBlc1tcIlVzZXJcIl0sXG4gICAgcmVwb3J0ZWRVc2VyOiBHcmFwaFFMVHlwZXNbXCJVc2VyXCJdLFxuICAgIGN1c3RvbU1lc3NhZ2U/OiBzdHJpbmdcbiAgfTtcbiAgW1wiRm9sZGVyc09uVXNlcnNPbkFwcGxpY2F0aW9uc1wiXToge1xuICAgIF9fdHlwZW5hbWU6IFwiRm9sZGVyc09uVXNlcnNPbkFwcGxpY2F0aW9uc1wiLFxuICAgIGZvbGRlcjogR3JhcGhRTFR5cGVzW1wiRm9sZGVyXCJdLFxuICAgIHVzZXJBcHA6IEdyYXBoUUxUeXBlc1tcIkFwcGxpY2F0aW9uc09uVXNlcnNcIl0sXG4gICAgcmlnaHRzOiBHcmFwaFFMVHlwZXNbXCJSaWdodHNcIl0sXG4gICAgbmFtZUtleT86IHN0cmluZyxcbiAgICBpc1Jvb3Q6IGJvb2xlYW5cbiAgfTtcbiAgW1wiVkZpbGVzT25Vc2Vyc09uQXBwbGljYXRpb25zXCJdOiB7XG4gICAgX190eXBlbmFtZTogXCJWRmlsZXNPblVzZXJzT25BcHBsaWNhdGlvbnNcIixcbiAgICB2RmlsZTogR3JhcGhRTFR5cGVzW1wiVkZpbGVcIl0sXG4gICAgdXNlckFwcDogR3JhcGhRTFR5cGVzW1wiQXBwbGljYXRpb25zT25Vc2Vyc1wiXSxcbiAgICByaWdodHM6IEdyYXBoUUxUeXBlc1tcIlJpZ2h0c1wiXSxcbiAgICBuYW1lS2V5OiBzdHJpbmcsXG4gICAgaXNSb290OiBib29sZWFuXG4gIH07XG4gIFtcIkZhcUl0ZW1cIl06IHtcbiAgICBfX3R5cGVuYW1lOiBcIkZhcUl0ZW1cIixcbiAgICBvcmRlcjogbnVtYmVyLFxuICAgIHF1ZXN0aW9uOiBzdHJpbmcsXG4gICAgYW5zd2VyOiBzdHJpbmdcbiAgfTtcbiAgW1wiQmxvZ1wiXToge1xuICAgIF9fdHlwZW5hbWU6IFwiQmxvZ1wiLFxuICAgIGlkOiBzdHJpbmcsXG4gICAgb3JkZXI6IG51bWJlcixcbiAgICBlbnRyaWVzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJCbG9nRW50cnlcIl0+XG4gIH07XG4gIFtcIkJsb2dFbnRyeVwiXToge1xuICAgIF9fdHlwZW5hbWU6IFwiQmxvZ0VudHJ5XCIsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBsYW5nOiBHcmFwaFFMVHlwZXNbXCJMYW5nXCJdLFxuICAgIGF1dGhvcjogc3RyaW5nLFxuICAgIGJvZHk6IHN0cmluZyxcbiAgICBkYXRlOiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXSxcbiAgICBpbWFnZTogc3RyaW5nLFxuICAgIHN1bW1hcnk6IHN0cmluZyxcbiAgICB0aXRsZTogc3RyaW5nXG4gIH07XG4gIFtcIkJsb2dJdGVtXCJdOiB7XG4gICAgX190eXBlbmFtZTogXCJCbG9nSXRlbVwiLFxuICAgIGlkOiBzdHJpbmcsXG4gICAgYmxvZ0lkOiBzdHJpbmcsXG4gICAgb3JkZXI6IG51bWJlcixcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIGJvZHk6IHN0cmluZyxcbiAgICBhdXRob3I6IHN0cmluZyxcbiAgICBpbWFnZTogc3RyaW5nLFxuICAgIGltYWdlQWx0OiBzdHJpbmcsXG4gICAgc3VtbWFyeTogc3RyaW5nLFxuICAgIGRhdGU6IEdyYXBoUUxUeXBlc1tcIkRhdGVUaW1lXCJdXG4gIH07XG4gIFtcIlJlY3VybHlJbnZvaWNlc1wiXToge1xuICAgIF9fdHlwZW5hbWU6IFwiUmVjdXJseUludm9pY2VzXCIsXG4gICAgcGRmOiBzdHJpbmcsXG4gICAgZGF0ZTogR3JhcGhRTFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG4gICAgZHVlOiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXSxcbiAgICBzdGF0dXM6IHN0cmluZyxcbiAgICB0b3RhbDogbnVtYmVyLFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICBjdXJyZW5jeTogc3RyaW5nXG4gIH07XG4gIFtcIlJlY3VybHlTdWJzY3JpcHRpb25cIl06IHtcbiAgICBfX3R5cGVuYW1lOiBcIlJlY3VybHlTdWJzY3JpcHRpb25cIixcbiAgICBhdXRvcmVuZXc6IGJvb2xlYW4sXG4gICAgYWN0aXZhdGVkQXQ/OiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXSxcbiAgICBjdXJyZW50UGVyaW9kRW5kc0F0PzogR3JhcGhRTFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG4gICAgY3VycmVudFBlcmlvZFN0YXJ0ZWRBdD86IEdyYXBoUUxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuICAgIGNhbmNlbGVkQXQ/OiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXSxcbiAgICBjcmVhdGVkQXQ/OiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXSxcbiAgICBleHBpcmVzQXQ/OiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXSxcbiAgICBwYXVzZWRBdD86IEdyYXBoUUxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuICAgIHRyaWFsRW5kc0F0PzogR3JhcGhRTFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG4gICAgdHJpYWxTdGFydGVkQXQ/OiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXSxcbiAgICB1cGRhdGVkQXQ/OiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXSxcbiAgICBzdGF0ZTogc3RyaW5nLFxuICAgIGNvbGxlY3Rpb25NZXRob2Q6IHN0cmluZyxcbiAgICBwbGFuPzogc3RyaW5nLFxuICAgIHBsYW5Db2RlPzogc3RyaW5nLFxuICAgIHRvdGFsPzogbnVtYmVyXG4gIH07XG4gIFtcIlBheW1lbnRJbmZvc1wiXToge1xuICAgIF9fdHlwZW5hbWU6IFwiUGF5bWVudEluZm9zXCIsXG4gICAgaG9zdGVkVXJsOiBzdHJpbmcsXG4gICAgY3VycmVudFN1YnNjcmlwdGlvbjogR3JhcGhRTFR5cGVzW1wiUmVjdXJseVN1YnNjcmlwdGlvblwiXSxcbiAgICBpbnZvaWNlczogQXJyYXk8R3JhcGhRTFR5cGVzW1wiUmVjdXJseUludm9pY2VzXCJdPlxuICB9O1xuICBbXCJTaGFyZUZvbGRlclJlc3BvbnNlXCJdOiB7XG4gICAgX190eXBlbmFtZTogXCJTaGFyZUZvbGRlclJlc3BvbnNlXCIsXG4gICAgZm9sZGVyczogQXJyYXk8c3RyaW5nPixcbiAgICB2RmlsZXM6IEFycmF5PHN0cmluZz5cbiAgfTtcbiAgW1wiUXVlcnlcIl06IHtcbiAgICBfX3R5cGVuYW1lOiBcIlF1ZXJ5XCIsXG4gICAgdGVzdD86IGJvb2xlYW4sXG4gICAgbGltaXRzPzogR3JhcGhRTFR5cGVzW1wiUXVlcnlMaW1pdHNcIl0sXG4gICAgdXNlcj86IEdyYXBoUUxUeXBlc1tcIlVzZXJcIl0sXG4gICAgZGJDb25maWc/OiBHcmFwaFFMVHlwZXNbXCJKc29uXCJdLFxuICAgIGRiR2V0PzogR3JhcGhRTFR5cGVzW1wiSnNvblwiXSxcbiAgICBkYlNlYXJjaDogQXJyYXk8R3JhcGhRTFR5cGVzW1wiSnNvblwiXT4sXG4gICAgZmlsZUNvbnRlbnQ/OiBHcmFwaFFMVHlwZXNbXCJGaWxlQ29udGVudFwiXSxcbiAgICBmaWxlc1NoYXJlZFdpdGhNZTogQXJyYXk8R3JhcGhRTFR5cGVzW1wiRmlsZVNoYXJlZENvbnRlbnRcIl0+LFxuICAgIHZGaWxlc1NoYXJlZFdpdGhNZTogQXJyYXk8R3JhcGhRTFR5cGVzW1wiVkZpbGVcIl0+LFxuICAgIGZvbGRlcnNTaGFyZWRXaXRoTWU6IEFycmF5PEdyYXBoUUxUeXBlc1tcIkZvbGRlclwiXT4sXG4gICAgZm9sZGVyU2l6ZT86IEdyYXBoUUxUeXBlc1tcIkZvbGRlclNpemVcIl0sXG4gICAgZm9sZGVyPzogR3JhcGhRTFR5cGVzW1wiRm9sZGVyXCJdLFxuICAgIHZGaWxlPzogR3JhcGhRTFR5cGVzW1wiVkZpbGVcIl0sXG4gICAgZmlsZT86IEdyYXBoUUxUeXBlc1tcIkZpbGVcIl0sXG4gICAgZmFxOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJGYXFJdGVtXCJdPixcbiAgICBwYXltZW50SW5mb3M/OiBHcmFwaFFMVHlwZXNbXCJQYXltZW50SW5mb3NcIl0sXG4gICAgcGxhbnM6IEFycmF5PEdyYXBoUUxUeXBlc1tcIlBsYW5cIl0+LFxuICAgIHNoYXJlZEZvbGRlcnM6IEFycmF5PEdyYXBoUUxUeXBlc1tcIkZvbGRlclwiXT4sXG4gICAgc2hhcmVkVkZpbGVzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJWRmlsZVwiXT4sXG4gICAgYmxvZzogQXJyYXk8R3JhcGhRTFR5cGVzW1wiQmxvZ0l0ZW1cIl0+LFxuICAgIGRlbGV0ZWRGb2xkZXJzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJGb2xkZXJcIl0+LFxuICAgIGRlbGV0ZWRWRmlsZXM6IEFycmF5PEdyYXBoUUxUeXBlc1tcIlZGaWxlXCJdPixcbiAgICBtYWlsPzogR3JhcGhRTFR5cGVzW1wiTWFpbFwiXVxuICB9O1xuICBbXCJNdXRhdGlvblwiXToge1xuICAgIF9fdHlwZW5hbWU6IFwiTXV0YXRpb25cIixcbiAgICBjcmVhdGVBcHBsaWNhdGlvbj86IHN0cmluZyxcbiAgICBkYlNldD86IEdyYXBoUUxUeXBlc1tcIkpzb25cIl0sXG4gICAgZGJDb25maWc6IEdyYXBoUUxUeXBlc1tcIkpzb25cIl0sXG4gICAgc2hhcmVWRmlsZT86IGJvb2xlYW4sXG4gICAgc2hhcmVGb2xkZXI6IEdyYXBoUUxUeXBlc1tcIlNoYXJlRm9sZGVyUmVzcG9uc2VcIl0sXG4gICAgc2hhcmVGb2xkZXJGaW5pc2g/OiBib29sZWFuLFxuICAgIHVwZGF0ZUZpbGU/OiBHcmFwaFFMVHlwZXNbXCJWRmlsZVwiXSxcbiAgICB1cGRhdGVQcm9maWxlPzogR3JhcGhRTFR5cGVzW1wiVXNlclwiXSxcbiAgICB1cGxvYWRBbm9ueW1vdXM/OiBHcmFwaFFMVHlwZXNbXCJGaWxlUmVzcG9uc2VcIl0sXG4gICAgdXBsb2FkRmlsZT86IEdyYXBoUUxUeXBlc1tcIkZpbGVSZXNwb25zZVwiXSxcbiAgICBjcmVhdGVGb2xkZXI/OiBHcmFwaFFMVHlwZXNbXCJGb2xkZXJcIl0sXG4gICAgbW92ZUZvbGRlcnM/OiBib29sZWFuLFxuICAgIGRlbGV0ZUZvbGRlcj86IGJvb2xlYW4sXG4gICAgbW92ZUZpbGVzPzogYm9vbGVhbixcbiAgICB1cGRhdGVGb2xkZXI/OiBHcmFwaFFMVHlwZXNbXCJGb2xkZXJcIl0sXG4gICAgZGVsZXRlVkZpbGU6IGJvb2xlYW4sXG4gICAgY3JlYXRlRHJhZnRNYWlsPzogR3JhcGhRTFR5cGVzW1wiTWFpbFwiXSxcbiAgICBzZW5kRHJhZnRNYWlsPzogYm9vbGVhbixcbiAgICByZWFkTWFpbD86IGJvb2xlYW4sXG4gICAgdW5yZWFkTWFpbD86IGJvb2xlYW4sXG4gICAgdXBkYXRlQXBwU2V0dGluZ3M6IEdyYXBoUUxUeXBlc1tcIlVzZXJBcHBTZXR0aW5nc1wiXSxcbiAgICB1cGxvYWRGaWxlRW5kPzogc3RyaW5nLFxuICAgIGxvZ291dD86IGJvb2xlYW4sXG4gICAgYWRkRmlsZVRvSGlzdG9yeTogR3JhcGhRTFR5cGVzW1wiVkZpbGVcIl0sXG4gICAgc2VuZE9uZU1haWw/OiBib29sZWFuLFxuICAgIGRlbGV0ZURyYWZ0TWFpbD86IGJvb2xlYW4sXG4gICAgdXBkYXRlRHJhZnRNYWlsPzogR3JhcGhRTFR5cGVzW1wiTWFpbFwiXSxcbiAgICBkZWxldGVVc2VyPzogYm9vbGVhbixcbiAgICBwYXk6IGJvb2xlYW4sXG4gICAgY2FuY2VsUGF5bWVudD86IGJvb2xlYW4sXG4gICAgc2VuZFJlcG9ydD86IEdyYXBoUUxUeXBlc1tcIlJlcG9ydFwiXSxcbiAgICBzYXZlSW5DbG91ZDogR3JhcGhRTFR5cGVzW1wiVkZpbGVcIl0sXG4gICAgZGVsZXRlVkZpbGVTaGFyaW5nOiBib29sZWFuLFxuICAgIGRlbGV0ZUZvbGRlclNoYXJpbmc6IGJvb2xlYW4sXG4gICAgZGVsZXRlTWFpbDogYm9vbGVhbixcbiAgICBkZWxldGVGaWxlOiBib29sZWFuLFxuICAgIHNoYXJlRmlsZUluSGlzdG9yeTogYm9vbGVhbixcbiAgICByZWNvdmVyRmlsZTogYm9vbGVhbixcbiAgICByZWNvdmVyTWFpbDogYm9vbGVhbixcbiAgICByZWNvdmVyRm9sZGVyPzogYm9vbGVhbixcbiAgICBkdXBsaWNhdGVWRmlsZTogYm9vbGVhbixcbiAgICBkZWxldGVGb2xkZXJDbG91ZFRyYXNoPzogYm9vbGVhbixcbiAgICBkZWxldGVWRmlsZUNsb3VkVHJhc2g/OiBib29sZWFuLFxuICAgIGRlbGV0ZU1haWxUcmFzaDogYm9vbGVhbixcbiAgICBlbXB0eUNsb3VkVHJhc2g/OiBib29sZWFuLFxuICAgIGVtcHR5TWFpbFRyYXNoPzogYm9vbGVhbixcbiAgICB1cGxvYWRGaWxlUGFydEVuZDogYm9vbGVhblxuICB9XG59XG5leHBvcnQgZW51bSBMYW5nIHtcbiAgZnIgPSBcImZyXCIsXG4gIGVuID0gXCJlblwiLFxuICBpdCA9IFwiaXRcIixcbiAgZGUgPSBcImRlXCIsXG4gIHB0ID0gXCJwdFwiLFxuICBqYSA9IFwiamFcIixcbiAgZXMgPSBcImVzXCIsXG4gIG5sID0gXCJubFwiLFxuICBwbCA9IFwicGxcIixcbiAgcnUgPSBcInJ1XCIsXG4gIHpoID0gXCJ6aFwiXG59XG5leHBvcnQgZW51bSBQbGFuS2luZCB7XG4gIGZyZWUgPSBcImZyZWVcIixcbiAgYmFzaWMgPSBcImJhc2ljXCIsXG4gIGFkdmFuY2VkID0gXCJhZHZhbmNlZFwiLFxuICBwcm8gPSBcInByb1wiXG59XG5leHBvcnQgZW51bSBVc2VyUm9sZSB7XG4gIHVzZXIgPSBcInVzZXJcIixcbiAgYWRtaW4gPSBcImFkbWluXCJcbn1cbmV4cG9ydCBlbnVtIE1haWxUeXBlIHtcbiAgc2VudCA9IFwic2VudFwiLFxuICByZWNlaXZlZCA9IFwicmVjZWl2ZWRcIlxufVxuZXhwb3J0IGVudW0gUmlnaHRzIHtcbiAgYWRtaW4gPSBcImFkbWluXCIsXG4gIHdyaXRlID0gXCJ3cml0ZVwiLFxuICByZWFkID0gXCJyZWFkXCJcbn1cbmV4cG9ydCBlbnVtIEZpbGVDb250ZW50VHlwZSB7XG4gIGNsb3VkID0gXCJjbG91ZFwiLFxuICBzZW50X21haWwgPSBcInNlbnRfbWFpbFwiLFxuICByZWNlaXZlZF9tYWlsID0gXCJyZWNlaXZlZF9tYWlsXCJcbn1cbmV4cG9ydCBlbnVtIFBheUlucHV0VHlwZSB7XG4gIHNlY3VyZSA9IFwic2VjdXJlXCIsXG4gIGNsYXNzaWMgPSBcImNsYXNzaWNcIlxufVxuZXhwb3J0IGNsYXNzIEdyYXBoUUxFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IocHVibGljIHJlc3BvbnNlOiBHcmFwaFFMUmVzcG9uc2UpIHtcbiAgICBzdXBlcihcIlwiKTtcbiAgICBjb25zb2xlLmVycm9yKHJlc3BvbnNlKTtcbiAgfVxuICB0b1N0cmluZygpIHtcbiAgICByZXR1cm4gXCJHcmFwaFFMIFJlc3BvbnNlIEVycm9yXCI7XG4gIH1cbn1cblxuXG5leHBvcnQgdHlwZSBVbndyYXBQcm9taXNlPFQ+ID0gVCBleHRlbmRzIFByb21pc2U8aW5mZXIgUj4gPyBSIDogVDtcbmV4cG9ydCB0eXBlIFpldXNTdGF0ZTxUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBQcm9taXNlPGFueT4+ID0gTm9uTnVsbGFibGU8XG4gIFVud3JhcFByb21pc2U8UmV0dXJuVHlwZTxUPj5cbj47XG5leHBvcnQgdHlwZSBaZXVzSG9vazxcbiAgVCBleHRlbmRzIChcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApID0+IFJlY29yZDxzdHJpbmcsICguLi5hcmdzOiBhbnlbXSkgPT4gUHJvbWlzZTxhbnk+PixcbiAgTiBleHRlbmRzIGtleW9mIFJldHVyblR5cGU8VD5cbiAgPiA9IFpldXNTdGF0ZTxSZXR1cm5UeXBlPFQ+W05dPjtcblxudHlwZSBXaXRoVHlwZU5hbWVWYWx1ZTxUPiA9IFQgJiB7XG4gIF9fdHlwZW5hbWU/OiB0cnVlO1xufTtcbnR5cGUgQWxpYXNUeXBlPFQ+ID0gV2l0aFR5cGVOYW1lVmFsdWU8VD4gJiB7XG4gIF9fYWxpYXM/OiBSZWNvcmQ8c3RyaW5nLCBXaXRoVHlwZU5hbWVWYWx1ZTxUPj47XG59O1xuZXhwb3J0IGludGVyZmFjZSBHcmFwaFFMUmVzcG9uc2Uge1xuICBkYXRhPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgZXJyb3JzPzogQXJyYXk8e1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgfT47XG59XG50eXBlIERlZXBBbmlmeTxUPiA9IHtcbiAgW1AgaW4ga2V5b2YgVF0/OiBhbnk7XG59O1xudHlwZSBJc1BheUxvYWQ8VD4gPSBUIGV4dGVuZHMgW2FueSwgaW5mZXIgUGF5TG9hZF0gPyBQYXlMb2FkIDogVDtcbnR5cGUgSXNBcnJheTxULCBVPiA9IFQgZXh0ZW5kcyBBcnJheTxpbmZlciBSPiA/IElucHV0VHlwZTxSLCBVPltdIDogSW5wdXRUeXBlPFQsIFU+O1xudHlwZSBGbGF0dGVuQXJyYXk8VD4gPSBUIGV4dGVuZHMgQXJyYXk8aW5mZXIgUj4gPyBSIDogVDtcblxudHlwZSBOb3RVbmlvblR5cGVzPFNSQyBleHRlbmRzIERlZXBBbmlmeTxEU1Q+LCBEU1Q+ID0ge1xuICBbUCBpbiBrZXlvZiBEU1RdOiBTUkNbUF0gZXh0ZW5kcyAnX191bmlvbicgPyBuZXZlciA6IFA7XG59W2tleW9mIERTVF07XG5cbnR5cGUgRXh0cmFjdFVuaW9uczxTUkMgZXh0ZW5kcyBEZWVwQW5pZnk8RFNUPiwgRFNUPiA9IHtcbiAgW1AgaW4ga2V5b2YgU1JDXTogU1JDW1BdIGV4dGVuZHMgJ19fdW5pb24nICYgaW5mZXIgUlxuICA/IFAgZXh0ZW5kcyBrZXlvZiBEU1RcbiAgPyBJc0FycmF5PFIsIERTVFtQXSAmIHsgX190eXBlbmFtZTogdHJ1ZSB9PlxuICA6IHt9XG4gIDogbmV2ZXI7XG59W2tleW9mIFNSQ107XG5cbnR5cGUgSXNJbnRlcmZhY2VkPFNSQyBleHRlbmRzIERlZXBBbmlmeTxEU1Q+LCBEU1Q+ID0gRmxhdHRlbkFycmF5PFNSQz4gZXh0ZW5kcyBaRVVTX0lOVEVSRkFDRVMgfCBaRVVTX1VOSU9OU1xuICA/IEV4dHJhY3RVbmlvbnM8U1JDLCBEU1Q+ICZcbiAge1xuICAgIFtQIGluIGtleW9mIE9taXQ8UGljazxTUkMsIE5vdFVuaW9uVHlwZXM8U1JDLCBEU1Q+PiwgJ19fdHlwZW5hbWUnPl06IERTVFtQXSBleHRlbmRzIHRydWVcbiAgICA/IFNSQ1tQXVxuICAgIDogSXNBcnJheTxTUkNbUF0sIERTVFtQXT47XG4gIH1cbiAgOiB7XG4gICAgW1AgaW4ga2V5b2YgUGljazxTUkMsIGtleW9mIERTVD5dOiBJc1BheUxvYWQ8RFNUW1BdPiBleHRlbmRzIHRydWUgPyBTUkNbUF0gOiBJc0FycmF5PFNSQ1tQXSwgRFNUW1BdPjtcbiAgfTtcblxuXG5cbmV4cG9ydCB0eXBlIE1hcFR5cGU8U1JDLCBEU1Q+ID0gU1JDIGV4dGVuZHMgRGVlcEFuaWZ5PERTVD4gPyBJc0ludGVyZmFjZWQ8U1JDLCBEU1Q+IDogbmV2ZXI7XG5leHBvcnQgdHlwZSBJbnB1dFR5cGU8U1JDLCBEU1Q+ID0gSXNQYXlMb2FkPERTVD4gZXh0ZW5kcyB7IF9fYWxpYXM6IGluZmVyIFIgfVxuICA/IHtcbiAgICBbUCBpbiBrZXlvZiBSXTogTWFwVHlwZTxTUkMsIFJbUF0+O1xuICB9ICZcbiAgTWFwVHlwZTxTUkMsIE9taXQ8SXNQYXlMb2FkPERTVD4sICdfX2FsaWFzJz4+XG4gIDogTWFwVHlwZTxTUkMsIElzUGF5TG9hZDxEU1Q+PjtcbnR5cGUgRnVuYzxQIGV4dGVuZHMgYW55W10sIFI+ID0gKC4uLmFyZ3M6IFApID0+IFI7XG50eXBlIEFueUZ1bmMgPSBGdW5jPGFueSwgYW55PjtcbmV4cG9ydCB0eXBlIEFyZ3NUeXBlPEYgZXh0ZW5kcyBBbnlGdW5jPiA9IEYgZXh0ZW5kcyBGdW5jPGluZmVyIFAsIGFueT4gPyBQIDogbmV2ZXI7XG5leHBvcnQgdHlwZSBPcGVyYXRpb25Ub0dyYXBoUUw8ViwgVD4gPSA8WiBleHRlbmRzIFY+KG86IFogfCBWLCB2YXJpYWJsZXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSA9PiBQcm9taXNlPElucHV0VHlwZTxULCBaPj47XG5leHBvcnQgdHlwZSBTdWJzY3JpcHRpb25Ub0dyYXBoUUw8ViwgVD4gPSA8WiBleHRlbmRzIFY+KFxuICBvOiBaIHwgVixcbiAgdmFyaWFibGVzPzogUmVjb3JkPHN0cmluZywgYW55PixcbikgPT4ge1xuICB3czogV2ViU29ja2V0O1xuICBvbjogKGZuOiAoYXJnczogSW5wdXRUeXBlPFQsIFo+KSA9PiB2b2lkKSA9PiB2b2lkO1xuICBvZmY6IChmbjogKGU6IHsgZGF0YT86IElucHV0VHlwZTxULCBaPjsgY29kZT86IG51bWJlcjsgcmVhc29uPzogc3RyaW5nOyBtZXNzYWdlPzogc3RyaW5nIH0pID0+IHZvaWQpID0+IHZvaWQ7XG4gIGVycm9yOiAoZTogeyBkYXRhPzogSW5wdXRUeXBlPFQsIFo+OyBtZXNzYWdlPzogc3RyaW5nIH0pID0+IHZvaWQ7XG4gIG9wZW46ICgpID0+IHZvaWQ7XG59O1xuZXhwb3J0IHR5cGUgQ2FzdFRvR3JhcGhRTDxWLCBUPiA9IChyZXN1bHRPZllvdXJRdWVyeTogYW55KSA9PiA8WiBleHRlbmRzIFY+KG86IFogfCBWKSA9PiBJbnB1dFR5cGU8VCwgWj47XG5leHBvcnQgdHlwZSBTZWxlY3Rpb25GdW5jdGlvbjxWPiA9IDxUPih0OiBUIHwgVikgPT4gVDtcbmV4cG9ydCB0eXBlIGZldGNoT3B0aW9ucyA9IEFyZ3NUeXBlPHR5cGVvZiBmZXRjaD47XG50eXBlIHdlYnNvY2tldE9wdGlvbnMgPSB0eXBlb2YgV2ViU29ja2V0IGV4dGVuZHMgbmV3IChcbiAgLi4uYXJnczogaW5mZXIgUlxuKSA9PiBXZWJTb2NrZXRcbiAgPyBSXG4gIDogbmV2ZXI7XG5leHBvcnQgdHlwZSBjaGFpbk9wdGlvbnMgPVxuICB8IFtmZXRjaE9wdGlvbnNbMF0sIGZldGNoT3B0aW9uc1sxXSAmIHsgd2Vic29ja2V0Pzogd2Vic29ja2V0T3B0aW9ucyB9XVxuICB8IFtmZXRjaE9wdGlvbnNbMF1dO1xuZXhwb3J0IHR5cGUgRmV0Y2hGdW5jdGlvbiA9IChcbiAgcXVlcnk6IHN0cmluZyxcbiAgdmFyaWFibGVzPzogUmVjb3JkPHN0cmluZywgYW55PixcbikgPT4gUHJvbWlzZTxhbnk+O1xuZXhwb3J0IHR5cGUgU3Vic2NyaXB0aW9uRnVuY3Rpb24gPSAoXG4gIHF1ZXJ5OiBzdHJpbmcsXG4gIHZhcmlhYmxlcz86IFJlY29yZDxzdHJpbmcsIGFueT4sXG4pID0+IHZvaWQ7XG50eXBlIE5vdFVuZGVmaW5lZDxUPiA9IFQgZXh0ZW5kcyB1bmRlZmluZWQgPyBuZXZlciA6IFQ7XG5leHBvcnQgdHlwZSBSZXNvbHZlclR5cGU8Rj4gPSBOb3RVbmRlZmluZWQ8RiBleHRlbmRzIFtpbmZlciBBUkdTLCBhbnldID8gQVJHUyA6IHVuZGVmaW5lZD47XG5cblxuXG5leHBvcnQgY29uc3QgWmV1c1NlbGVjdCA9IDxUPigpID0+ICgodDogYW55KSA9PiB0KSBhcyBTZWxlY3Rpb25GdW5jdGlvbjxUPjtcblxuZXhwb3J0IGNvbnN0IFNjYWxhclJlc29sdmVyID0gKHNjYWxhcjogc3RyaW5nLCB2YWx1ZTogYW55KSA9PiB7XG4gIHN3aXRjaCAoc2NhbGFyKSB7XG4gICAgY2FzZSAnU3RyaW5nJzpcbiAgICAgIHJldHVybiBgJHtKU09OLnN0cmluZ2lmeSh2YWx1ZSl9YDtcbiAgICBjYXNlICdJbnQnOlxuICAgICAgcmV0dXJuIGAke3ZhbHVlfWA7XG4gICAgY2FzZSAnRmxvYXQnOlxuICAgICAgcmV0dXJuIGAke3ZhbHVlfWA7XG4gICAgY2FzZSAnQm9vbGVhbic6XG4gICAgICByZXR1cm4gYCR7dmFsdWV9YDtcbiAgICBjYXNlICdJRCc6XG4gICAgICByZXR1cm4gYFwiJHt2YWx1ZX1cImA7XG4gICAgY2FzZSAnZW51bSc6XG4gICAgICByZXR1cm4gYCR7dmFsdWV9YDtcbiAgICBjYXNlICdzY2FsYXInOlxuICAgICAgcmV0dXJuIGAke3ZhbHVlfWA7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgfVxufTtcblxuXG5leHBvcnQgY29uc3QgVHlwZXNQcm9wc1Jlc29sdmVyID0gKHtcbiAgdmFsdWUsXG4gIHR5cGUsXG4gIG5hbWUsXG4gIGtleSxcbiAgYmxvY2tBcnJheXNcbn06IHtcbiAgdmFsdWU6IGFueTtcbiAgdHlwZTogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGtleT86IHN0cmluZztcbiAgYmxvY2tBcnJheXM/OiBib29sZWFuO1xufSk6IHN0cmluZyA9PiB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgIHJldHVybiBgbnVsbGA7XG4gIH1cbiAgbGV0IHJlc29sdmVkVmFsdWUgPSBBbGxUeXBlc1Byb3BzW3R5cGVdW25hbWVdO1xuICBpZiAoa2V5KSB7XG4gICAgcmVzb2x2ZWRWYWx1ZSA9IHJlc29sdmVkVmFsdWVba2V5XTtcbiAgfVxuICBpZiAoIXJlc29sdmVkVmFsdWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCByZXNvbHZlICR7dHlwZX0gJHtuYW1lfSR7a2V5ID8gYCAke2tleX1gIDogJyd9YClcbiAgfVxuICBjb25zdCB0eXBlUmVzb2x2ZWQgPSByZXNvbHZlZFZhbHVlLnR5cGU7XG4gIGNvbnN0IGlzQXJyYXkgPSByZXNvbHZlZFZhbHVlLmFycmF5O1xuICBjb25zdCBpc0FycmF5UmVxdWlyZWQgPSByZXNvbHZlZFZhbHVlLmFycmF5UmVxdWlyZWQ7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLnN0YXJ0c1dpdGgoYFpFVVNfVkFSJGApKSB7XG4gICAgY29uc3QgaXNSZXF1aXJlZCA9IHJlc29sdmVkVmFsdWUucmVxdWlyZWQgPyAnIScgOiAnJztcbiAgICBsZXQgdCA9IGAke3R5cGVSZXNvbHZlZH1gO1xuICAgIGlmIChpc0FycmF5KSB7XG4gICAgICBpZiAoaXNSZXF1aXJlZCkge1xuICAgICAgICB0ID0gYCR7dH0hYDtcbiAgICAgIH1cbiAgICAgIHQgPSBgWyR7dH1dYDtcbiAgICAgIGlmIChpc0FycmF5UmVxdWlyZWQpIHtcbiAgICAgICAgdCA9IGAke3R9IWA7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChpc1JlcXVpcmVkKSB7XG4gICAgICAgIHQgPSBgJHt0fSFgO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYFxcJCR7dmFsdWUuc3BsaXQoYFpFVVNfVkFSJGApWzFdfV9fWkVVU19WQVJfXyR7dH1gO1xuICB9XG4gIGlmIChpc0FycmF5ICYmICFibG9ja0FycmF5cykge1xuICAgIHJldHVybiBgWyR7dmFsdWVcbiAgICAgIC5tYXAoKHY6IGFueSkgPT4gVHlwZXNQcm9wc1Jlc29sdmVyKHsgdmFsdWU6IHYsIHR5cGUsIG5hbWUsIGtleSwgYmxvY2tBcnJheXM6IHRydWUgfSkpXG4gICAgICAuam9pbignLCcpfV1gO1xuICB9XG4gIGNvbnN0IHJlc2xvdmVkU2NhbGFyID0gU2NhbGFyUmVzb2x2ZXIodHlwZVJlc29sdmVkLCB2YWx1ZSk7XG4gIGlmICghcmVzbG92ZWRTY2FsYXIpIHtcbiAgICBjb25zdCByZXNvbHZlZFR5cGUgPSBBbGxUeXBlc1Byb3BzW3R5cGVSZXNvbHZlZF07XG4gICAgaWYgKHR5cGVvZiByZXNvbHZlZFR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgICBjb25zdCBhcmdzS2V5cyA9IE9iamVjdC5rZXlzKHJlc29sdmVkVHlwZSk7XG4gICAgICByZXR1cm4gYHske2FyZ3NLZXlzXG4gICAgICAgIC5maWx0ZXIoKGFrKSA9PiB2YWx1ZVtha10gIT09IHVuZGVmaW5lZClcbiAgICAgICAgLm1hcChcbiAgICAgICAgICAoYWspID0+IGAke2FrfToke1R5cGVzUHJvcHNSZXNvbHZlcih7IHZhbHVlOiB2YWx1ZVtha10sIHR5cGU6IHR5cGVSZXNvbHZlZCwgbmFtZTogYWsgfSl9YFxuICAgICAgICApfX1gO1xuICAgIH1cbiAgICByZXR1cm4gU2NhbGFyUmVzb2x2ZXIoQWxsVHlwZXNQcm9wc1t0eXBlUmVzb2x2ZWRdLCB2YWx1ZSkgYXMgc3RyaW5nO1xuICB9XG4gIHJldHVybiByZXNsb3ZlZFNjYWxhcjtcbn07XG5cblxuY29uc3QgaXNBcnJheUZ1bmN0aW9uID0gKFxuICBwYXJlbnQ6IHN0cmluZ1tdLFxuICBhOiBhbnlbXVxuKSA9PiB7XG4gIGNvbnN0IFt2YWx1ZXMsIHJdID0gYTtcbiAgY29uc3QgW21haW5LZXksIGtleSwgLi4ua2V5c10gPSBwYXJlbnQ7XG4gIGNvbnN0IGtleVZhbHVlcyA9IE9iamVjdC5rZXlzKHZhbHVlcykuZmlsdGVyKChrKSA9PiB0eXBlb2YgdmFsdWVzW2tdICE9PSAndW5kZWZpbmVkJyk7XG5cbiAgaWYgKCFrZXlzLmxlbmd0aCkge1xuICAgIHJldHVybiBrZXlWYWx1ZXMubGVuZ3RoID4gMFxuICAgICAgPyBgKCR7a2V5VmFsdWVzXG4gICAgICAgIC5tYXAoXG4gICAgICAgICAgKHYpID0+XG4gICAgICAgICAgICBgJHt2fToke1R5cGVzUHJvcHNSZXNvbHZlcih7XG4gICAgICAgICAgICAgIHZhbHVlOiB2YWx1ZXNbdl0sXG4gICAgICAgICAgICAgIHR5cGU6IG1haW5LZXksXG4gICAgICAgICAgICAgIG5hbWU6IGtleSxcbiAgICAgICAgICAgICAga2V5OiB2XG4gICAgICAgICAgICB9KX1gXG4gICAgICAgIClcbiAgICAgICAgLmpvaW4oJywnKX0pJHtyID8gdHJhdmVyc2VUb1NlZWtBcnJheXMocGFyZW50LCByKSA6ICcnfWBcbiAgICAgIDogdHJhdmVyc2VUb1NlZWtBcnJheXMocGFyZW50LCByKTtcbiAgfVxuXG4gIGNvbnN0IFt0eXBlUmVzb2x2ZXJLZXldID0ga2V5cy5zcGxpY2Uoa2V5cy5sZW5ndGggLSAxLCAxKTtcbiAgbGV0IHZhbHVlVG9SZXNvbHZlID0gUmV0dXJuVHlwZXNbbWFpbktleV1ba2V5XTtcbiAgZm9yIChjb25zdCBrIG9mIGtleXMpIHtcbiAgICB2YWx1ZVRvUmVzb2x2ZSA9IFJldHVyblR5cGVzW3ZhbHVlVG9SZXNvbHZlXVtrXTtcbiAgfVxuXG4gIGNvbnN0IGFyZ3VtZW50U3RyaW5nID1cbiAgICBrZXlWYWx1ZXMubGVuZ3RoID4gMFxuICAgICAgPyBgKCR7a2V5VmFsdWVzXG4gICAgICAgIC5tYXAoXG4gICAgICAgICAgKHYpID0+XG4gICAgICAgICAgICBgJHt2fToke1R5cGVzUHJvcHNSZXNvbHZlcih7XG4gICAgICAgICAgICAgIHZhbHVlOiB2YWx1ZXNbdl0sXG4gICAgICAgICAgICAgIHR5cGU6IHZhbHVlVG9SZXNvbHZlLFxuICAgICAgICAgICAgICBuYW1lOiB0eXBlUmVzb2x2ZXJLZXksXG4gICAgICAgICAgICAgIGtleTogdlxuICAgICAgICAgICAgfSl9YFxuICAgICAgICApXG4gICAgICAgIC5qb2luKCcsJyl9KSR7ciA/IHRyYXZlcnNlVG9TZWVrQXJyYXlzKHBhcmVudCwgcikgOiAnJ31gXG4gICAgICA6IHRyYXZlcnNlVG9TZWVrQXJyYXlzKHBhcmVudCwgcik7XG4gIHJldHVybiBhcmd1bWVudFN0cmluZztcbn07XG5cblxuY29uc3QgcmVzb2x2ZUtWID0gKGs6IHN0cmluZywgdjogYm9vbGVhbiB8IHN0cmluZyB8IHsgW3g6IHN0cmluZ106IGJvb2xlYW4gfCBzdHJpbmcgfSkgPT5cbiAgdHlwZW9mIHYgPT09ICdib29sZWFuJyA/IGsgOiB0eXBlb2YgdiA9PT0gJ29iamVjdCcgPyBgJHtrfXske29iamVjdFRvVHJlZSh2KX19YCA6IGAke2t9JHt2fWA7XG5cblxuY29uc3Qgb2JqZWN0VG9UcmVlID0gKG86IHsgW3g6IHN0cmluZ106IGJvb2xlYW4gfCBzdHJpbmcgfSk6IHN0cmluZyA9PlxuICBgeyR7T2JqZWN0LmtleXMobykubWFwKChrKSA9PiBgJHtyZXNvbHZlS1Yoaywgb1trXSl9YCkuam9pbignICcpfX1gO1xuXG5cbmNvbnN0IHRyYXZlcnNlVG9TZWVrQXJyYXlzID0gKHBhcmVudDogc3RyaW5nW10sIGE/OiBhbnkpOiBzdHJpbmcgPT4ge1xuICBpZiAoIWEpIHJldHVybiAnJztcbiAgaWYgKE9iamVjdC5rZXlzKGEpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuICBsZXQgYjogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICBpZiAoQXJyYXkuaXNBcnJheShhKSkge1xuICAgIHJldHVybiBpc0FycmF5RnVuY3Rpb24oWy4uLnBhcmVudF0sIGEpO1xuICB9IGVsc2Uge1xuICAgIGlmICh0eXBlb2YgYSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIE9iamVjdC5rZXlzKGEpXG4gICAgICAgIC5maWx0ZXIoKGspID0+IHR5cGVvZiBhW2tdICE9PSAndW5kZWZpbmVkJylcbiAgICAgICAgLm1hcCgoaykgPT4ge1xuICAgICAgICAgIGlmIChrID09PSAnX19hbGlhcycpIHtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGFba10pLm1hcCgoYWxpYXNLZXkpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgYWxpYXNPcGVyYXRpb25zID0gYVtrXVthbGlhc0tleV07XG4gICAgICAgICAgICAgIGNvbnN0IGFsaWFzT3BlcmF0aW9uTmFtZSA9IE9iamVjdC5rZXlzKGFsaWFzT3BlcmF0aW9ucylbMF07XG4gICAgICAgICAgICAgIGNvbnN0IGFsaWFzT3BlcmF0aW9uID0gYWxpYXNPcGVyYXRpb25zW2FsaWFzT3BlcmF0aW9uTmFtZV07XG4gICAgICAgICAgICAgIGJbXG4gICAgICAgICAgICAgICAgYCR7YWxpYXNPcGVyYXRpb25OYW1lfV9fYWxpYXNfXyR7YWxpYXNLZXl9OiAke2FsaWFzT3BlcmF0aW9uTmFtZX1gXG4gICAgICAgICAgICAgIF0gPSB0cmF2ZXJzZVRvU2Vla0FycmF5cyhbLi4ucGFyZW50LCBhbGlhc09wZXJhdGlvbk5hbWVdLCBhbGlhc09wZXJhdGlvbik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYltrXSA9IHRyYXZlcnNlVG9TZWVrQXJyYXlzKFsuLi5wYXJlbnQsIGtdLCBhW2tdKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG4gIHJldHVybiBvYmplY3RUb1RyZWUoYik7XG59O1xuXG5cbmNvbnN0IGJ1aWxkUXVlcnkgPSAodHlwZTogc3RyaW5nLCBhPzogUmVjb3JkPGFueSwgYW55PikgPT5cbiAgdHJhdmVyc2VUb1NlZWtBcnJheXMoW3R5cGVdLCBhKTtcblxuXG5jb25zdCBpbnNwZWN0VmFyaWFibGVzID0gKHF1ZXJ5OiBzdHJpbmcpID0+IHtcbiAgY29uc3QgcmVnZXggPSAvXFwkXFxiXFx3Kl9fWkVVU19WQVJfX1xcWz9bXiFeXFxdXlxcc14sXlxcKV5cXH1dKlshXT9bXFxdXT9bIV0/L2c7XG4gIGxldCByZXN1bHQ7XG4gIGNvbnN0IEFsbFZhcmlhYmxlczogc3RyaW5nW10gPSBbXTtcbiAgd2hpbGUgKChyZXN1bHQgPSByZWdleC5leGVjKHF1ZXJ5KSkpIHtcbiAgICBpZiAoQWxsVmFyaWFibGVzLmluY2x1ZGVzKHJlc3VsdFswXSkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBBbGxWYXJpYWJsZXMucHVzaChyZXN1bHRbMF0pO1xuICB9XG4gIGlmICghQWxsVmFyaWFibGVzLmxlbmd0aCkge1xuICAgIHJldHVybiBxdWVyeTtcbiAgfVxuICBsZXQgZmlsdGVyZWRRdWVyeSA9IHF1ZXJ5O1xuICBBbGxWYXJpYWJsZXMuZm9yRWFjaCgodmFyaWFibGUpID0+IHtcbiAgICB3aGlsZSAoZmlsdGVyZWRRdWVyeS5pbmNsdWRlcyh2YXJpYWJsZSkpIHtcbiAgICAgIGZpbHRlcmVkUXVlcnkgPSBmaWx0ZXJlZFF1ZXJ5LnJlcGxhY2UodmFyaWFibGUsIHZhcmlhYmxlLnNwbGl0KCdfX1pFVVNfVkFSX18nKVswXSk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIGAoJHtBbGxWYXJpYWJsZXMubWFwKChhKSA9PiBhLnNwbGl0KCdfX1pFVVNfVkFSX18nKSlcbiAgICAubWFwKChbdmFyaWFibGVOYW1lLCB2YXJpYWJsZVR5cGVdKSA9PiBgJHt2YXJpYWJsZU5hbWV9OiR7dmFyaWFibGVUeXBlfWApXG4gICAgLmpvaW4oJywgJyl9KSR7ZmlsdGVyZWRRdWVyeX1gO1xufTtcblxuXG5leHBvcnQgY29uc3QgcXVlcnlDb25zdHJ1Y3QgPSAodDogJ3F1ZXJ5JyB8ICdtdXRhdGlvbicgfCAnc3Vic2NyaXB0aW9uJywgdE5hbWU6IHN0cmluZykgPT4gKG86IFJlY29yZDxhbnksIGFueT4pID0+XG4gIGAke3QudG9Mb3dlckNhc2UoKX0ke2luc3BlY3RWYXJpYWJsZXMoYnVpbGRRdWVyeSh0TmFtZSwgbykpfWA7XG5cblxuY29uc3QgZnVsbENoYWluQ29uc3RydWN0ID0gKGZuOiBGZXRjaEZ1bmN0aW9uKSA9PiAodDogJ3F1ZXJ5JyB8ICdtdXRhdGlvbicgfCAnc3Vic2NyaXB0aW9uJywgdE5hbWU6IHN0cmluZykgPT4gKFxuICBvOiBSZWNvcmQ8YW55LCBhbnk+LFxuICB2YXJpYWJsZXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuKSA9PiBmbihxdWVyeUNvbnN0cnVjdCh0LCB0TmFtZSkobyksIHZhcmlhYmxlcykudGhlbigocjogYW55KSA9PiB7XG4gIHNlZWtGb3JBbGlhc2VzKHIpXG4gIHJldHVybiByXG59KTtcblxuZXhwb3J0IGNvbnN0IGZ1bGxDaGFpbkNvbnN0cnVjdG9yID0gPEYgZXh0ZW5kcyBGZXRjaEZ1bmN0aW9uLCBSIGV4dGVuZHMga2V5b2YgVmFsdWVUeXBlcz4oXG4gIGZuOiBGLFxuICBvcGVyYXRpb246ICdxdWVyeScgfCAnbXV0YXRpb24nIHwgJ3N1YnNjcmlwdGlvbicsXG4gIGtleTogUixcbikgPT5cbiAgKChvLCB2YXJpYWJsZXMpID0+IGZ1bGxDaGFpbkNvbnN0cnVjdChmbikob3BlcmF0aW9uLCBrZXkpKG8gYXMgYW55LCB2YXJpYWJsZXMpKSBhcyBPcGVyYXRpb25Ub0dyYXBoUUw8XG4gICAgVmFsdWVUeXBlc1tSXSxcbiAgICBHcmFwaFFMVHlwZXNbUl1cbiAgPjtcblxuXG5jb25zdCBmdWxsU3Vic2NyaXB0aW9uQ29uc3RydWN0ID0gKGZuOiBTdWJzY3JpcHRpb25GdW5jdGlvbikgPT4gKFxuICB0OiAncXVlcnknIHwgJ211dGF0aW9uJyB8ICdzdWJzY3JpcHRpb24nLFxuICB0TmFtZTogc3RyaW5nLFxuKSA9PiAobzogUmVjb3JkPGFueSwgYW55PiwgdmFyaWFibGVzPzogUmVjb3JkPHN0cmluZywgYW55PikgPT5cbiAgICBmbihxdWVyeUNvbnN0cnVjdCh0LCB0TmFtZSkobyksIHZhcmlhYmxlcyk7XG5cbmV4cG9ydCBjb25zdCBmdWxsU3Vic2NyaXB0aW9uQ29uc3RydWN0b3IgPSA8RiBleHRlbmRzIFN1YnNjcmlwdGlvbkZ1bmN0aW9uLCBSIGV4dGVuZHMga2V5b2YgVmFsdWVUeXBlcz4oXG4gIGZuOiBGLFxuICBvcGVyYXRpb246ICdxdWVyeScgfCAnbXV0YXRpb24nIHwgJ3N1YnNjcmlwdGlvbicsXG4gIGtleTogUixcbikgPT5cbiAgKChvLCB2YXJpYWJsZXMpID0+IGZ1bGxTdWJzY3JpcHRpb25Db25zdHJ1Y3QoZm4pKG9wZXJhdGlvbiwga2V5KShvIGFzIGFueSwgdmFyaWFibGVzKSkgYXMgU3Vic2NyaXB0aW9uVG9HcmFwaFFMPFxuICAgIFZhbHVlVHlwZXNbUl0sXG4gICAgR3JhcGhRTFR5cGVzW1JdXG4gID47XG5cblxuY29uc3Qgc2Vla0ZvckFsaWFzZXMgPSAocmVzcG9uc2U6IGFueSkgPT4ge1xuICBjb25zdCB0cmF2ZXJzZUFsaWFzID0gKHZhbHVlOiBhbnkpID0+IHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHZhbHVlLmZvckVhY2goc2Vla0ZvckFsaWFzZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICBzZWVrRm9yQWxpYXNlcyh2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuICBpZiAodHlwZW9mIHJlc3BvbnNlID09PSAnb2JqZWN0JyAmJiByZXNwb25zZSkge1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhyZXNwb25zZSk7XG4gICAgaWYgKGtleXMubGVuZ3RoIDwgMSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBrZXlzLmZvckVhY2goKGspID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gcmVzcG9uc2Vba107XG4gICAgICBpZiAoay5pbmRleE9mKCdfX2FsaWFzX18nKSAhPT0gLTEpIHtcbiAgICAgICAgY29uc3QgW29wZXJhdGlvbiwgYWxpYXNdID0gay5zcGxpdCgnX19hbGlhc19fJyk7XG4gICAgICAgIHJlc3BvbnNlW2FsaWFzXSA9IHtcbiAgICAgICAgICBbb3BlcmF0aW9uXTogdmFsdWUsXG4gICAgICAgIH07XG4gICAgICAgIGRlbGV0ZSByZXNwb25zZVtrXTtcbiAgICAgIH1cbiAgICAgIHRyYXZlcnNlQWxpYXModmFsdWUpO1xuICAgIH0pO1xuICB9XG59O1xuXG5cbmV4cG9ydCBjb25zdCAkID0gKHQ6IFRlbXBsYXRlU3RyaW5nc0FycmF5KTogYW55ID0+IGBaRVVTX1ZBUiQke3Quam9pbignJyl9YDtcblxuY29uc3QgaGFuZGxlRmV0Y2hSZXNwb25zZSA9IChcbiAgcmVzcG9uc2U6IFBhcmFtZXRlcnM8RXh0cmFjdDxQYXJhbWV0ZXJzPFJldHVyblR5cGU8dHlwZW9mIGZldGNoPlsndGhlbiddPlswXSwgRnVuY3Rpb24+PlswXVxuKTogUHJvbWlzZTxHcmFwaFFMUmVzcG9uc2U+ID0+IHtcbiAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgoXywgcmVqZWN0KSA9PiB7XG4gICAgICByZXNwb25zZS50ZXh0KCkudGhlbih0ZXh0ID0+IHtcbiAgICAgICAgdHJ5IHsgcmVqZWN0KEpTT04ucGFyc2UodGV4dCkpOyB9XG4gICAgICAgIGNhdGNoIChlcnIpIHsgcmVqZWN0KHRleHQpOyB9XG4gICAgICB9KS5jYXRjaChyZWplY3QpO1xuICAgIH0pO1xuICB9XG4gIHJldHVybiByZXNwb25zZS5qc29uKCk7XG59O1xuXG5leHBvcnQgY29uc3QgYXBpRmV0Y2ggPSAob3B0aW9uczogZmV0Y2hPcHRpb25zKSA9PiAocXVlcnk6IHN0cmluZywgdmFyaWFibGVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge30pID0+IHtcbiAgbGV0IGZldGNoRnVuY3Rpb24gPSBmZXRjaDtcbiAgbGV0IHF1ZXJ5U3RyaW5nID0gcXVlcnk7XG4gIGxldCBmZXRjaE9wdGlvbnMgPSBvcHRpb25zWzFdIHx8IHt9O1xuICBpZiAoZmV0Y2hPcHRpb25zLm1ldGhvZCAmJiBmZXRjaE9wdGlvbnMubWV0aG9kID09PSAnR0VUJykge1xuICAgIHF1ZXJ5U3RyaW5nID0gZW5jb2RlVVJJQ29tcG9uZW50KHF1ZXJ5KTtcbiAgICByZXR1cm4gZmV0Y2hGdW5jdGlvbihgJHtvcHRpb25zWzBdfT9xdWVyeT0ke3F1ZXJ5U3RyaW5nfWAsIGZldGNoT3B0aW9ucylcbiAgICAgIC50aGVuKGhhbmRsZUZldGNoUmVzcG9uc2UpXG4gICAgICAudGhlbigocmVzcG9uc2U6IEdyYXBoUUxSZXNwb25zZSkgPT4ge1xuICAgICAgICBpZiAocmVzcG9uc2UuZXJyb3JzKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEdyYXBoUUxFcnJvcihyZXNwb25zZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgICB9KTtcbiAgfVxuICByZXR1cm4gZmV0Y2hGdW5jdGlvbihgJHtvcHRpb25zWzBdfWAsIHtcbiAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7IHF1ZXJ5OiBxdWVyeVN0cmluZywgdmFyaWFibGVzIH0pLFxuICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgIGhlYWRlcnM6IHtcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICB9LFxuICAgIC4uLmZldGNoT3B0aW9uc1xuICB9KVxuICAgIC50aGVuKGhhbmRsZUZldGNoUmVzcG9uc2UpXG4gICAgLnRoZW4oKHJlc3BvbnNlOiBHcmFwaFFMUmVzcG9uc2UpID0+IHtcbiAgICAgIGlmIChyZXNwb25zZS5lcnJvcnMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEdyYXBoUUxFcnJvcihyZXNwb25zZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9KTtcbn07XG5cblxuZXhwb3J0IGNvbnN0IFRodW5kZXIgPSAoZm46IEZldGNoRnVuY3Rpb24pID0+ICh7XG4gIHF1ZXJ5OiBmdWxsQ2hhaW5Db25zdHJ1Y3RvcihmbiwgJ3F1ZXJ5JywgJ1F1ZXJ5JyksXG4gIG11dGF0aW9uOiBmdWxsQ2hhaW5Db25zdHJ1Y3RvcihmbiwgJ211dGF0aW9uJywgJ011dGF0aW9uJylcbn0pO1xuXG5leHBvcnQgY29uc3QgQ2hhaW4gPSAoLi4ub3B0aW9uczogY2hhaW5PcHRpb25zKSA9PiAoe1xuICBxdWVyeTogZnVsbENoYWluQ29uc3RydWN0b3IoYXBpRmV0Y2gob3B0aW9ucyksICdxdWVyeScsICdRdWVyeScpLFxuICBtdXRhdGlvbjogZnVsbENoYWluQ29uc3RydWN0b3IoYXBpRmV0Y2gob3B0aW9ucyksICdtdXRhdGlvbicsICdNdXRhdGlvbicpXG59KTtcbmV4cG9ydCBjb25zdCBaZXVzID0ge1xuICBxdWVyeTogKG86IFZhbHVlVHlwZXNbXCJRdWVyeVwiXSkgPT4gcXVlcnlDb25zdHJ1Y3QoJ3F1ZXJ5JywgJ1F1ZXJ5JykobyksXG4gIG11dGF0aW9uOiAobzogVmFsdWVUeXBlc1tcIk11dGF0aW9uXCJdKSA9PiBxdWVyeUNvbnN0cnVjdCgnbXV0YXRpb24nLCAnTXV0YXRpb24nKShvKVxufTtcbmV4cG9ydCBjb25zdCBDYXN0ID0ge1xuICBxdWVyeTogKChvOiBhbnkpID0+IChfOiBhbnkpID0+IG8pIGFzIENhc3RUb0dyYXBoUUw8XG4gICAgVmFsdWVUeXBlc1tcIlF1ZXJ5XCJdLFxuICAgIEdyYXBoUUxUeXBlc1tcIlF1ZXJ5XCJdXG4gID4sXG4gIG11dGF0aW9uOiAoKG86IGFueSkgPT4gKF86IGFueSkgPT4gbykgYXMgQ2FzdFRvR3JhcGhRTDxcbiAgICBWYWx1ZVR5cGVzW1wiTXV0YXRpb25cIl0sXG4gICAgR3JhcGhRTFR5cGVzW1wiTXV0YXRpb25cIl1cbiAgPlxufTtcbmV4cG9ydCBjb25zdCBTZWxlY3RvcnMgPSB7XG4gIHF1ZXJ5OiBaZXVzU2VsZWN0PFZhbHVlVHlwZXNbXCJRdWVyeVwiXT4oKSxcbiAgbXV0YXRpb246IFpldXNTZWxlY3Q8VmFsdWVUeXBlc1tcIk11dGF0aW9uXCJdPigpXG59O1xuXG5cbmV4cG9ydCBjb25zdCBHcWwgPSBDaGFpbignaHR0cHM6Ly9hcGktZGV2LnNlY3JlY3kubWUvZ3JhcGhxbCcpXG4iXX0=
548
+ export var Gql = Chain('http://localhost:4000/graphql');
549
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy96ZXVzL2luZGV4LnRzIl0sIm5hbWVzIjpbIkFsbFR5cGVzUHJvcHMiLCJSZXR1cm5UeXBlcyIsIkxhbmciLCJQbGFuS2luZCIsIlVzZXJSb2xlIiwiTWFpbFR5cGUiLCJSaWdodHMiLCJGaWxlQ29udGVudFR5cGUiLCJQYXlJbnB1dFR5cGUiLCJHcmFwaFFMRXJyb3IiLCJyZXNwb25zZSIsImNvbnNvbGUiLCJlcnJvciIsInRvU3RyaW5nIiwiRXJyb3IiLCJaZXVzU2VsZWN0IiwidCIsIlNjYWxhclJlc29sdmVyIiwic2NhbGFyIiwidmFsdWUiLCJKU09OIiwic3RyaW5naWZ5IiwiVHlwZXNQcm9wc1Jlc29sdmVyIiwidHlwZSIsIm5hbWUiLCJrZXkiLCJibG9ja0FycmF5cyIsInJlc29sdmVkVmFsdWUiLCJ0eXBlUmVzb2x2ZWQiLCJpc0FycmF5IiwiYXJyYXkiLCJpc0FycmF5UmVxdWlyZWQiLCJhcnJheVJlcXVpcmVkIiwic3RhcnRzV2l0aCIsImlzUmVxdWlyZWQiLCJyZXF1aXJlZCIsInNwbGl0IiwibWFwIiwidiIsImpvaW4iLCJyZXNsb3ZlZFNjYWxhciIsInJlc29sdmVkVHlwZSIsImFyZ3NLZXlzIiwiT2JqZWN0Iiwia2V5cyIsImZpbHRlciIsImFrIiwidW5kZWZpbmVkIiwiaXNBcnJheUZ1bmN0aW9uIiwicGFyZW50IiwiYSIsInZhbHVlcyIsInIiLCJtYWluS2V5Iiwia2V5VmFsdWVzIiwiayIsImxlbmd0aCIsInRyYXZlcnNlVG9TZWVrQXJyYXlzIiwic3BsaWNlIiwidHlwZVJlc29sdmVyS2V5IiwidmFsdWVUb1Jlc29sdmUiLCJhcmd1bWVudFN0cmluZyIsInJlc29sdmVLViIsIm9iamVjdFRvVHJlZSIsIm8iLCJiIiwiQXJyYXkiLCJmb3JFYWNoIiwiYWxpYXNLZXkiLCJhbGlhc09wZXJhdGlvbnMiLCJhbGlhc09wZXJhdGlvbk5hbWUiLCJhbGlhc09wZXJhdGlvbiIsImJ1aWxkUXVlcnkiLCJpbnNwZWN0VmFyaWFibGVzIiwicXVlcnkiLCJyZWdleCIsInJlc3VsdCIsIkFsbFZhcmlhYmxlcyIsImV4ZWMiLCJpbmNsdWRlcyIsInB1c2giLCJmaWx0ZXJlZFF1ZXJ5IiwidmFyaWFibGUiLCJyZXBsYWNlIiwidmFyaWFibGVOYW1lIiwidmFyaWFibGVUeXBlIiwicXVlcnlDb25zdHJ1Y3QiLCJ0TmFtZSIsIm9wZXJhdGlvbk5hbWUiLCJ0b0xvd2VyQ2FzZSIsImZ1bGxDaGFpbkNvbnN0cnVjdCIsImZuIiwib3B0aW9ucyIsInZhcmlhYmxlcyIsInRoZW4iLCJzZWVrRm9yQWxpYXNlcyIsImZ1bGxTdWJzY3JpcHRpb25Db25zdHJ1Y3QiLCJ0cmF2ZXJzZUFsaWFzIiwiaW5kZXhPZiIsIm9wZXJhdGlvbiIsImFsaWFzIiwiJCIsInJlc29sdmVyRm9yIiwiX3R5cGUiLCJfZmllbGQiLCJoYW5kbGVGZXRjaFJlc3BvbnNlIiwib2siLCJQcm9taXNlIiwiXyIsInJlamVjdCIsInRleHQiLCJwYXJzZSIsImVyciIsImNhdGNoIiwianNvbiIsImFwaUZldGNoIiwiZmV0Y2hGdW5jdGlvbiIsImZldGNoIiwicXVlcnlTdHJpbmciLCJmZXRjaE9wdGlvbnMiLCJtZXRob2QiLCJlbmNvZGVVUklDb21wb25lbnQiLCJlcnJvcnMiLCJkYXRhIiwiYm9keSIsImhlYWRlcnMiLCJhcGlTdWJzY3JpcHRpb24iLCJ3c1N0cmluZyIsImhvc3QiLCJ3ZWJzb2NrZXQiLCJ3ZWJTb2NrZXRPcHRpb25zIiwid3MiLCJXZWJTb2NrZXQiLCJvbiIsImUiLCJvbm1lc3NhZ2UiLCJldmVudCIsInBhcnNlZCIsIm9mZiIsIm9uY2xvc2UiLCJvbmVycm9yIiwib3BlbiIsIm9ub3BlbiIsImFsbE9wZXJhdGlvbnMiLCJUaHVuZGVyIiwib3BzIiwiQ2hhaW4iLCJTdWJzY3JpcHRpb25UaHVuZGVyIiwiU3Vic2NyaXB0aW9uIiwiWmV1cyIsIlNlbGVjdG9yIiwiX2tleSIsIkdxbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFFQSxTQUFT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QXJCO0FBQ1AsT0FBTyxJQUFNeUQsSUFBSSxHQUFHLFNBQVBBLElBQU8sQ0FLbEJsRCxTQUxrQixFQU1sQm5DLENBTmtCLEVBT2xCd0IsYUFQa0I7QUFBQSxTQVFmRixjQUFjLENBQUNhLFNBQUQsRUFBWTRDLGFBQWEsQ0FBQzVDLFNBQUQsQ0FBekIsRUFBc0NYLGFBQXRDLENBQWQsQ0FBbUV4QixDQUFuRSxDQVJlO0FBQUEsQ0FBYjtBQVNQLE9BQU8sSUFBTXNGLFFBQVEsR0FBRyxTQUFYQSxRQUFXLENBQTZCQyxJQUE3QjtBQUFBLFNBQXlDeEksVUFBVSxFQUFuRDtBQUFBLENBQWpCO0FBR1AsT0FBTyxJQUFNeUksR0FBRyxHQUFHTixLQUFLLENBQUMsK0JBQUQsQ0FBakIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSAqL1xuXG5pbXBvcnQgeyBBbGxUeXBlc1Byb3BzLCBSZXR1cm5UeXBlcyB9IGZyb20gJy4vY29uc3QuanMnO1xudHlwZSBaRVVTX0lOVEVSRkFDRVMgPSBHcmFwaFFMVHlwZXNbXCJGaWxlQ29udGVudEJhc2VcIl1cbnR5cGUgWkVVU19VTklPTlMgPSBHcmFwaFFMVHlwZXNbXCJGaWxlQ29udGVudFwiXVxuXG5leHBvcnQgdHlwZSBWYWx1ZVR5cGVzID0ge1xuICAgIC8qKiBUaGUgYEJpZ0ludGAgc2NhbGFyIHR5cGUgcmVwcmVzZW50cyBub24tZnJhY3Rpb25hbCBzaWduZWQgd2hvbGUgbnVtZXJpYyB2YWx1ZXMuXG5Ac2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0JpZ0ludCAqL1xuW1wiQmlnSW50XCJdOnVua25vd247XG5cdC8qKiBUaGUgYEJ5dGVgIHNjYWxhciB0eXBlIHJlcHJlc2VudHMgYnl0ZSB2YWx1ZSBhcyBhIEJ1ZmZlciAqL1xuW1wiQnl0ZXNcIl06dW5rbm93bjtcblx0LyoqIEEgZGF0ZS10aW1lIHN0cmluZyBhdCBVVEMsIHN1Y2ggYXMgMjAwNy0xMi0wM1QxMDoxNTozMFosIGNvbXBsaWFudCB3aXRoIHRoZSBgZGF0ZS10aW1lYCBmb3JtYXQgb3V0bGluZWQgaW4gc2VjdGlvbiA1LjYgb2YgdGhlIFJGQyAzMzM5IHByb2ZpbGUgb2YgdGhlIElTTyA4NjAxIHN0YW5kYXJkIGZvciByZXByZXNlbnRhdGlvbiBvZiBkYXRlcyBhbmQgdGltZXMgdXNpbmcgdGhlIEdyZWdvcmlhbiBjYWxlbmRhci4gKi9cbltcIkRhdGVUaW1lXCJdOnVua25vd247XG5cdC8qKiBBbiBhcmJpdHJhcnktcHJlY2lzaW9uIERlY2ltYWwgdHlwZSAqL1xuW1wiRGVjaW1hbFwiXTp1bmtub3duO1xuXHQvKiogVGhlIGBKU09OT2JqZWN0YCBzY2FsYXIgdHlwZSByZXByZXNlbnRzIEpTT04gb2JqZWN0cyBhcyBzcGVjaWZpZWQgYnkgW0VDTUEtNDA0XShodHRwOi8vd3d3LmVjbWEtaW50ZXJuYXRpb25hbC5vcmcvcHVibGljYXRpb25zL2ZpbGVzL0VDTUEtU1QvRUNNQS00MDQucGRmKS4gKi9cbltcIkpzb25cIl06dW5rbm93bjtcblx0W1wiTGFuZ1wiXTpMYW5nO1xuXHRbXCJQbGFuS2luZFwiXTpQbGFuS2luZDtcblx0W1wiVXNlclJvbGVcIl06VXNlclJvbGU7XG5cdFtcIk1haWxUeXBlXCJdOk1haWxUeXBlO1xuXHRbXCJSaWdodHNcIl06UmlnaHRzO1xuXHRbXCJBcHBLZXlQYWlyXCJdOiBBbGlhc1R5cGU8e1xuXHRwdWI/OmJvb2xlYW4sXG5cdFx0X190eXBlbmFtZT86IGJvb2xlYW5cbn0+O1xuXHRbXCJBcHBTZXNzaW9uXCJdOiBBbGlhc1R5cGU8e1xuXHRpZD86Ym9vbGVhbixcblx0bGFzdEFjdGl2aXR5Pzpib29sZWFuLFxuXHR1c2VyQWdlbnQ/OmJvb2xlYW4sXG5cdGlwPzpib29sZWFuLFxuXHRjaXR5Pzpib29sZWFuLFxuXHRjb3VudHJ5Pzpib29sZWFuLFxuXHR1c2VyU2Vzc2lvbj86VmFsdWVUeXBlc1tcIlVzZXJTZXNzaW9uXCJdLFxuXHR1c2VyQXBwPzpWYWx1ZVR5cGVzW1wiQXBwbGljYXRpb25zT25Vc2Vyc1wiXSxcblx0Y3JlYXRlZEF0Pzpib29sZWFuLFxuXHRcdF9fdHlwZW5hbWU/OiBib29sZWFuXG59Pjtcblx0W1wiQXBwbGljYXRpb25cIl06IEFsaWFzVHlwZTx7XG5cdGlkPzpib29sZWFuLFxuXHRuYW1lPzpib29sZWFuLFxuXHRcdF9fdHlwZW5hbWU/OiBib29sZWFuXG59Pjtcblx0W1wiQXBwbGljYXRpb25zT25Vc2Vyc1wiXTogQWxpYXNUeXBlPHtcblx0ZmFrZVVzZXJJZD86Ym9vbGVhbixcblx0a2V5UGFpcj86VmFsdWVUeXBlc1tcIkFwcEtleVBhaXJcIl0sXG5cdHNlc3Npb25zPzpWYWx1ZVR5cGVzW1wiQXBwU2Vzc2lvblwiXSxcblx0YXBwPzpWYWx1ZVR5cGVzW1wiQXBwbGljYXRpb25cIl0sXG5cdHVzZXI/OlZhbHVlVHlwZXNbXCJVc2VyXCJdLFxuXHRmb2xkZXJzPzpWYWx1ZVR5cGVzW1wiRm9sZGVyc09uVXNlcnNPbkFwcGxpY2F0aW9uc1wiXSxcblx0c2V0dGluZ3M/OlZhbHVlVHlwZXNbXCJVc2VyQXBwU2V0dGluZ3NcIl0sXG5cdFx0X190eXBlbmFtZT86IGJvb2xlYW5cbn0+O1xuXHRbXCJCbG9nXCJdOiBBbGlhc1R5cGU8e1xuXHRpZD86Ym9vbGVhbixcblx0b3JkZXI/OmJvb2xlYW4sXG5cdGVudHJpZXM/OlZhbHVlVHlwZXNbXCJCbG9nRW50cnlcIl0sXG5cdFx0X190eXBlbmFtZT86IGJvb2xlYW5cbn0+O1xuXHRbXCJCbG9nRW50cnlcIl06IEFsaWFzVHlwZTx7XG5cdGlkPzpib29sZWFuLFxuXHRsYW5nPzpib29sZWFuLFxuXHRhdXRob3I/OmJvb2xlYW4sXG5cdGJvZHk/OmJvb2xlYW4sXG5cdGRhdGU/OmJvb2xlYW4sXG5cdGltYWdlPzpib29sZWFuLFxuXHRzdW1tYXJ5Pzpib29sZWFuLFxuXHR0aXRsZT86Ym9vbGVhbixcblx0XHRfX3R5cGVuYW1lPzogYm9vbGVhblxufT47XG5cdFtcIkJsb2dJdGVtXCJdOiBBbGlhc1R5cGU8e1xuXHRpZD86Ym9vbGVhbixcblx0YmxvZ0lkPzpib29sZWFuLFxuXHRvcmRlcj86Ym9vbGVhbixcblx0dGl0bGU/OmJvb2xlYW4sXG5cdGJvZHk/OmJvb2xlYW4sXG5cdGF1dGhvcj86Ym9vbGVhbixcblx0aW1hZ2U/OmJvb2xlYW4sXG5cdGltYWdlQWx0Pzpib29sZWFuLFxuXHRzdW1tYXJ5Pzpib29sZWFuLFxuXHRkYXRlPzpib29sZWFuLFxuXHRcdF9fdHlwZW5hbWU/OiBib29sZWFuXG59Pjtcblx0W1wiQ2xvdWRMaW1pdHNcIl06IEFsaWFzVHlwZTx7XG5cdHNpemU/OmJvb2xlYW4sXG5cdG1heFNpemU/OmJvb2xlYW4sXG5cdGNvdW50Pzpib29sZWFuLFxuXHRtYXhDb3VudD86Ym9vbGVhbixcblx0XHRfX3R5cGVuYW1lPzogYm9vbGVhblxufT47XG5cdFtcIkZhcVwiXTogQWxpYXNUeXBlPHtcblx0aWQ/OmJvb2xlYW4sXG5cdG9yZGVyPzpib29sZWFuLFxuXHRlbnRyaWVzPzpWYWx1ZVR5cGVzW1wiRmFxRW50cnlcIl0sXG5cdFx0X190eXBlbmFtZT86IGJvb2xlYW5cbn0+O1xuXHRbXCJGYXFFbnRyeVwiXTogQWxpYXNUeXBlPHtcblx0aWQ/OmJvb2xlYW4sXG5cdGxhbmc/OmJvb2xlYW4sXG5cdHF1ZXN0aW9uPzpib29sZWFuLFxuXHRhbnN3ZXI/OmJvb2xlYW4sXG5cdGZhcT86VmFsdWVUeXBlc1tcIkZhcVwiXSxcblx0XHRfX3R5cGVuYW1lPzogYm9vbGVhblxufT47XG5cdFtcIkZhcUl0ZW1cIl06IEFsaWFzVHlwZTx7XG5cdG9yZGVyPzpib29sZWFuLFxuXHRxdWVzdGlvbj86Ym9vbGVhbixcblx0YW5zd2VyPzpib29sZWFuLFxuXHRcdF9fdHlwZW5hbWU/OiBib29sZWFuXG59Pjtcblx0W1wiRmlsZVwiXTogQWxpYXNUeXBlPHtcblx0aWQ/OmJvb2xlYW4sXG5cdHNpemU/OmJvb2xlYW4sXG5cdHNpemVCZWZvcmU/OmJvb2xlYW4sXG5cdGNyZWF0ZWRBdD86Ym9vbGVhbixcblx0dkZpbGVzPzpWYWx1ZVR5cGVzW1wiVkZpbGVcIl0sXG5cdHZGaWxlc0N1cnJlbnQ/OlZhbHVlVHlwZXNbXCJWRmlsZVwiXSxcblx0dXNlcnM/OlZhbHVlVHlwZXNbXCJGaWxlc09uVXNlcnNPbkFwcGxpY2F0aW9uc1wiXSxcblx0bWQ1Pzpib29sZWFuLFxuXHRtZDVFbmNyeXB0ZWQ/OmJvb2xlYW4sXG5cdGRlbGV0ZWRBdD86Ym9vbGVhbixcblx0dXNlckFwcD86VmFsdWVUeXBlc1tcIkFwcGxpY2F0aW9uc09uVXNlcnNcIl0sXG5cdG1haWxzPzpWYWx1ZVR5cGVzW1wiRmlsZXNPbk1haWxzXCJdLFxuXHR2YWxpZGF0ZWRBdD86Ym9vbGVhbixcblx0dXNlcj86VmFsdWVUeXBlc1tcIkZpbGVzT25Vc2Vyc09uQXBwbGljYXRpb25zXCJdLFxuXHRcdF9fdHlwZW5hbWU/OiBib29sZWFuXG59Pjtcblx0W1wiRmlsZUNvbnRlbnRcIl06IEFsaWFzVHlwZTx7XHRcdFtcIi4uLm9uIEZpbGVDb250ZW50Q2xvdWRcIl0gOiBWYWx1ZVR5cGVzW1wiRmlsZUNvbnRlbnRDbG91ZFwiXSxcblx0XHRbXCIuLi5vbiBGaWxlQ29udGVudFJlY2VpdmVkTWFpbFwiXSA6IFZhbHVlVHlwZXNbXCJGaWxlQ29udGVudFJlY2VpdmVkTWFpbFwiXSxcblx0XHRbXCIuLi5vbiBGaWxlQ29udGVudFNlbnRNYWlsXCJdIDogVmFsdWVUeXBlc1tcIkZpbGVDb250ZW50U2VudE1haWxcIl1cblx0XHRfX3R5cGVuYW1lPzogYm9vbGVhblxufT47XG5cdFtcIkZpbGVDb250ZW50QmFzZVwiXTpBbGlhc1R5cGU8e1xuXHRcdHBhcnRzPzpWYWx1ZVR5cGVzW1wiRmlsZUNvbnRlbnRQYXJ0XCJdLFxuXHRrZXk/OmJvb2xlYW4sXG5cdG1kNT86Ym9vbGVhbixcblx0bWQ1RW5jcnlwdGVkPzpib29sZWFuLFxuXHR0b3RhbFNpemU/OmJvb2xlYW4sXG5cdHR5cGU/OmJvb2xlYW47XG5cdFx0WycuLi5vbiBGaWxlQ29udGVudENsb3VkJ10/OiBPbWl0PFZhbHVlVHlwZXNbXCJGaWxlQ29udGVudENsb3VkXCJdLGtleW9mIFZhbHVlVHlwZXNbXCJGaWxlQ29udGVudEJhc2VcIl0+O1xuXHRcdFsnLi4ub24gRmlsZUNvbnRlbnRSZWNlaXZlZE1haWwnXT86IE9taXQ8VmFsdWVUeXBlc1tcIkZpbGVDb250ZW50UmVjZWl2ZWRNYWlsXCJdLGtleW9mIFZhbHVlVHlwZXNbXCJGaWxlQ29udGVudEJhc2VcIl0+O1xuXHRcdFsnLi4ub24gRmlsZUNvbnRlbnRTZW50TWFpbCddPzogT21pdDxWYWx1ZVR5cGVzW1wiRmlsZUNvbnRlbnRTZW50TWFpbFwiXSxrZXlvZiBWYWx1ZVR5cGVzW1wiRmlsZUNvbnRlbnRCYXNlXCJdPjtcblx0XHRfX3R5cGVuYW1lPzogYm9vbGVhblxufT47XG5cdFtcIkZpbGVDb250ZW50Q2xvdWRcIl06IEFsaWFzVHlwZTx7XG5cdHBhcnRzPzpWYWx1ZVR5cGVzW1wiRmlsZUNvbnRlbnRQYXJ0XCJdLFxuXHRrZXk/OmJvb2xlYW4sXG5cdG1kNT86Ym9vbGVhbixcblx0bWQ1RW5jcnlwdGVkPzpib29sZWFuLFxuXHR0b3RhbFNpemU/OmJvb2xlYW4sXG5cdHR5cGU/OmJvb2xlYW4sXG5cdHB1YmxpY0tleT86Ym9vbGVhbixcblx0XHRfX3R5cGVuYW1lPzogYm9vbGVhblxufT47XG5cdFtcIkZpbGVDb250ZW50UGFydFwiXTogQWxpYXNUeXBlPHtcblx0Y29udGVudFVybD86Ym9vbGVhbixcblx0b3JkZXI/OmJvb2xlYW4sXG5cdG1kNT86Ym9vbGVhbixcblx0XHRfX3R5cGVuYW1lPzogYm9vbGVhblxufT47XG5cdFtcIkZpbGVDb250ZW50UmVjZWl2ZWRNYWlsXCJdOiBBbGlhc1R5cGU8e1xuXHRwYXJ0cz86VmFsdWVUeXBlc1tcIkZpbGVDb250ZW50UGFydFwiXSxcblx0a2V5Pzpib29sZWFuLFxuXHRtZDU/OmJvb2xlYW4sXG5cdG1kNUVuY3J5cHRlZD86Ym9vbGVhbixcblx0dG90YWxTaXplPzpib29sZWFuLFxuXHR0eXBlPzpib29sZWFuLFxuXHRzZW5kZXJQdWJsaWNLZXk/OmJvb2xlYW4sXG5cdFx0X190eXBlbmFtZT86IGJvb2xlYW5cbn0+O1xuXHRbXCJGaWxlQ29udGVudFNlbnRNYWlsXCJdOiBBbGlhc1R5cGU8e1xuXHRwYXJ0cz86VmFsdWVUeXBlc1tcIkZpbGVDb250ZW50UGFydFwiXSxcblx0a2V5Pzpib29sZWFuLFxuXHRtZDU/OmJvb2xlYW4sXG5cdG1kNUVuY3J5cHRlZD86Ym9vbGVhbixcblx0dG90YWxTaXplPzpib29sZWFuLFxuXHR0eXBlPzpib29sZWFuLFxuXHRcdF9fdHlwZW5hbWU/OiBib29sZWFuXG59Pjtcblx0W1wiRmlsZUNvbnRlbnRUeXBlXCJdOkZpbGVDb250ZW50VHlwZTtcblx0W1wiRmlsZVBhcnRcIl06IEFsaWFzVHlwZTx7XG5cdGlkPzpib29sZWFuLFxuXHRmaWxlPzpWYWx1ZVR5cGVzW1wiRmlsZVwiXSxcblx0ZmlsZUlkPzpib29sZWFuLFxuXHRzaXplPzpib29sZWFuLFxuXHRvcmRlcj86Ym9vbGVhbixcblx0bWQ1Pzpib29sZWFuLFxuXHR2YWxpZGF0ZWRBdD86Ym9vbGVhbixcblx0XHRfX3R5cGVuYW1lPzogYm9vbGVhblxufT47XG5cdFtcIkZpbGVQYXJ0UmVzcG9uc2VcIl06IEFsaWFzVHlwZTx7XG5cdGZpZWxkcz86Ym9vbGVhbixcblx0dXJsPzpib29sZWFuLFxuXHRvcmRlcj86Ym9vbGVhbixcblx0XHRfX3R5cGVuYW1lPzogYm9vbGVhblxufT47XG5cdFtcIkZpbGVSZXNwb25zZVwiXTogQWxpYXNUeXBlPHtcblx0ZmlsZUlkPzpib29sZWFuLFxuXHRwYXJ0cz86VmFsdWVUeXBlc1tcIkZpbGVQYXJ0UmVzcG9uc2VcIl0sXG5cdGZpbGVQYXJ0U2l6ZT86Ym9vbGVhbixcblx0XHRfX3R5cGVuYW1lPzogYm9vbGVhblxufT47XG5cdFtcIkZpbGVTaGFyZWRcIl06IEFsaWFzVHlwZTx7XG5cdHVzZXJJZD86Ym9vbGVhbixcblx0bWVzc2FnZT86Ym9vbGVhbixcblx0YXBwSWQ/OmJvb2xlYW4sXG5cdGlkPzpib29sZWFuLFxuXHRmaWxlbmFtZT86Ym9vbGVhbixcblx0c2l6ZT86Ym9vbGVhbixcblx0c2l6ZUJlZm9yZT86Ym9vbGVhbixcblx0XHRfX3R5cGVuYW1lPzogYm9vbGVhblxufT47XG5cdFtcIkZpbGVTaGFyZWRDb250ZW50XCJdOiBBbGlhc1R5cGU8e1xuXHRvd25lcklkPzpib29sZWFuLFxuXHRwdWJLZXk/OmJvb2xlYW4sXG5cdG1lc3NhZ2U/OmJvb2xlYW4sXG5cdGFwcElkPzpib29sZWFuLFxuXHRpZD86Ym9vbGVhbixcblx0dHlwZT86Ym9vbGVhbixcblx0ZmlsZW5hbWU/OmJvb2xlYW4sXG5cdGNvbnRlbnRVcmw/OmJvb2xlYW4sXG5cdGtleT86Ym9vbGVhbixcblx0c2l6ZT86Ym9vbGVhbixcblx0c2l6ZUJlZm9yZT86Ym9vbGVhbixcblx0XHRfX3R5cGVuYW1lPzogYm9vbGVhblxufT47XG5cdFtcIkZpbGVzT25NYWlsc1wiXTogQWxpYXNUeXBlPHtcblx0ZmlsZT86VmFsdWVUeXBlc1tcIkZpbGVcIl0sXG5cdGZpbGVLZXk/OmJvb2xlYW4sXG5cdGZpbGVuYW1lPzpib29sZWFuLFxuXHRtYWlsPzpWYWx1ZVR5cGVzW1wiTWFpbFwiXSxcblx0XHRfX3R5cGVuYW1lPzogYm9vbGVhblxufT47XG5cdFtcIkZpbGVzT25Vc2Vyc09uQXBwbGljYXRpb25zXCJdOiBBbGlhc1R5cGU8e1xuXHRmaWxlPzpWYWx1ZVR5cGVzW1wiRmlsZVwiXSxcblx0dXNlckFwcD86VmFsdWVUeXBlc1tcIkFwcGxpY2F0aW9uc09uVXNlcnNcIl0sXG5cdC8qKiBFbmNyeXB0ZWQgd2l0aCBVc2VyQXBwIGtleXMgKi9cblx0a2V5Pzpib29sZWFuLFxuXHRcdF9fdHlwZW5hbWU/OiBib29sZWFuXG59Pjtcblx0W1wiRm9sZGVyXCJdOiBBbGlhc1R5cGU8e1xuXHRpZD86Ym9vbGVhbixcblx0aXNGYXZvcml0ZT86Ym9vbGVhbixcblx0Y3JlYXRlZEF0Pzpib29sZWFuLFxuXHRkZWxldGVkQXQ/OmJvb2xlYW4sXG5cdHVwZGF0ZWRBdD86Ym9vbGVhbixcblx0Y3JlYXRlZEJ5PzpWYWx1ZVR5cGVzW1wiQXBwbGljYXRpb25zT25Vc2Vyc1wiXSxcblx0dXNlckFwcHM/OlZhbHVlVHlwZXNbXCJGb2xkZXJzT25Vc2Vyc09uQXBwbGljYXRpb25zXCJdLFxuXHR1c2VyQXBwPzpWYWx1ZVR5cGVzW1wiRm9sZGVyc09uVXNlcnNPbkFwcGxpY2F0aW9uc1wiXSxcblx0bmFtZT86Ym9vbGVhbixcblx0cGFyZW50Rm9sZGVyPzpWYWx1ZVR5cGVzW1wiRm9sZGVyXCJdLFxuXHRzdWJmb2xkZXJzPzpWYWx1ZVR5cGVzW1wiRm9sZGVyXCJdLFxuXHR2RmlsZXM/OlZhbHVlVHlwZXNbXCJWRmlsZVwiXSxcblx0YnJlYWRjcnVtYj86VmFsdWVUeXBlc1tcIkZvbGRlckJyZWFkY3J1bWJJdGVtXCJdLFxuXHRcdF9fdHlwZW5hbWU/OiBib29sZWFuXG59Pjtcblx0W1wiRm9sZGVyQnJlYWRjcnVtYkl0ZW1cIl06IEFsaWFzVHlwZTx7XG5cdGlkPzpib29sZWFuLFxuXHRuYW1lPzpib29sZWFuLFxuXHRwdWJLZXk/OmJvb2xlYW4sXG5cdG5hbWVLZXk/OmJvb2xlYW4sXG5cdFx0X190eXBlbmFtZT86IGJvb2xlYW5cbn0+O1xuXHRbXCJGb2xkZXJTaXplXCJdOiBBbGlhc1R5cGU8e1xuXHRzaXplPzpib29sZWFuLFxuXHRzaXplQmVmb3JlPzpib29sZWFuLFxuXHRcdF9fdHlwZW5hbWU/OiBib29sZWFuXG59Pjtcblx0W1wiRm9sZGVyc09uVXNlcnNPbkFwcGxpY2F0aW9uc1wiXTogQWxpYXNUeXBlPHtcblx0Zm9sZGVyPzpWYWx1ZVR5cGVzW1wiRm9sZGVyXCJdLFxuXHR1c2VyQXBwPzpWYWx1ZVR5cGVzW1wiQXBwbGljYXRpb25zT25Vc2Vyc1wiXSxcblx0cmlnaHRzPzpib29sZWFuLFxuXHRuYW1lS2V5Pzpib29sZWFuLFxuXHRpc1Jvb3Q/OmJvb2xlYW4sXG5cdFx0X190eXBlbmFtZT86IGJvb2xlYW5cbn0+O1xuXHRbXCJNYWlsRmlsZUlucHV0XCJdOiB7XG5cdGlkOnN0cmluZyxcblx0bmFtZTpzdHJpbmcsXG5cdGZpbGVLZXk6c3RyaW5nXG59O1xuXHRbXCJNYWlsUmVjaXBpZW50SW5wdXRcIl06IHtcblx0Ym9keTpzdHJpbmcsXG5cdHN1YmplY3Q6c3RyaW5nLFxuXHRyZWNpcGllbnRJZDpzdHJpbmcsXG5cdGZpbGVzOlZhbHVlVHlwZXNbXCJNYWlsRmlsZUlucHV0XCJdW11cbn07XG5cdFtcIk5hbWVLZXlJbnB1dFwiXToge1xuXHRpZDpzdHJpbmcsXG5cdG5hbWVLZXk6c3RyaW5nLFxuXHRmaWxlczpWYWx1ZVR5cGVzW1wiU2hhcmVGaWxlS2V5SW5wdXRcIl1bXVxufTtcblx0W1wiTmFtZUtleUlucHV0Rm9sZGVyc1wiXToge1xuXHRpZDpzdHJpbmcsXG5cdG5hbWVLZXk6c3RyaW5nXG59O1xuXHRbXCJQYXlJbnB1dFwiXToge1xuXHR0eXBlOlZhbHVlVHlwZXNbXCJQYXlJbnB1dFR5cGVcIl0sXG5cdHRva2VuOnN0cmluZyxcblx0Zmlyc3ROYW1lOnN0cmluZyxcblx0bGFzdE5hbWU6c3RyaW5nLFxuXHRzdHJlZXQ6c3RyaW5nLFxuXHRwb3N0YWxDb2RlOnN0cmluZyxcblx0Y2l0eTpzdHJpbmcsXG5cdGNvdW50cnk6c3RyaW5nLFxuXHRudW1iZXI6c3RyaW5nLFxuXHRtb250aDpzdHJpbmcsXG5cdHllYXI6c3RyaW5nLFxuXHRjdnY6c3RyaW5nXG59O1xuXHRbXCJQYXlJbnB1dFR5cGVcIl06UGF5SW5wdXRUeXBlO1xuXHRbXCJTaGFyZUZpbGVJbkhpc3RvcnlJbnB1dFwiXToge1xuXHRmaWxlSWQ6c3RyaW5nLFxuXHR1c2VyczpWYWx1ZVR5cGVzW1wiU2hhcmVGaWxlS2V5SW5wdXRcIl1bXVxufTtcblx0W1wiU2hhcmVGaWxlS2V5SW5wdXRcIl06IHtcblx0aWQ6c3RyaW5nLFxuXHRrZXk6c3RyaW5nXG59O1xuXHRbXCJTaGFyZUZvbGRlcnNJbnB1dFwiXToge1xuXHRmb2xkZXJzOlZhbHVlVHlwZXNbXCJOYW1lS2V5SW5wdXRGb2xkZXJzXCJdW10sXG5cdHZGaWxlczpWYWx1ZVR5cGVzW1wiTmFtZUtleUlucHV0XCJdW11cbn07XG5cdFtcIkxpbWl0c1wiXTogQWxpYXNUeXBlPHtcblx0ZG93bmxvYWRCYW5kd2lkdGg/OmJvb2xlYW4sXG5cdGRvd25sb2FkQ291bnQ/OmJvb2xlYW4sXG5cdGhhcmRGaWxlQ291bnQ/OmJvb2xlYW4sXG5cdGhhcmRGaWxlU2l6ZT86Ym9vbGVhbixcblx0cGVyRmlsZVNpemU/OmJvb2xlYW4sXG5cdHJlY2VpdmVkTWFpbHM/OlZhbHVlVHlwZXNbXCJNYWlsTGltaXRzXCJdLFxuXHRzZW50TWFpbHM/OlZhbHVlVHlwZXNbXCJNYWlsTGltaXRzXCJdLFxuXHR1cGxvYWRCYW5kd2lkdGg/OmJvb2xlYW4sXG5cdHVwbG9hZENvdW50Pzpib29sZWFuLFxuXHRcdF9fdHlwZW5hbWU/OiBib29sZWFuXG59Pjtcblx0W1wiTWFpbExpbWl0c1wiXTogQWxpYXNUeXBlPHtcblx0Y291bnQ/OmJvb2xlYW4sXG5cdGZpbGVDb3VudD86Ym9vbGVhbixcblx0ZmlsZVNpemU/OmJvb2xlYW4sXG5cdGhhcmRDb3VudD86Ym9vbGVhbixcblx0aGFyZEZpbGVDb3VudD86Ym9vbGVhbixcblx0aGFyZEZpbGVTaXplPzpib29sZWFuLFxuXHRwZXJGaWxlU2l6ZT86Ym9vbGVhbixcblx0XHRfX3R5cGVuYW1lPzogYm9vbGVhblxufT47XG5cdFtcIk1haWxMaW1pdHNWYWx1ZXNcIl06IEFsaWFzVHlwZTx7XG5cdGNvdW50Pzpib29sZWFuLFxuXHRtYXhDb3VudD86Ym9vbGVhbixcblx0ZmlsZUNvdW50Pzpib29sZWFuLFxuXHRtYXhGaWxlQ291bnQ/OmJvb2xlYW4sXG5cdGZpbGVTaXplPzpib29sZWFuLFxuXHRtYXhGaWxlU2l6ZT86Ym9vbGVhbixcblx0XHRfX3R5cGVuYW1lPzogYm9vbGVhblxufT47XG5cdFtcIlF1ZXJ5TGltaXRzXCJdOiBBbGlhc1R5cGU8e1xuXHRjbG91ZD86VmFsdWVUeXBlc1tcIkNsb3VkTGltaXRzXCJdLFxuXHRtYWlsPzpWYWx1ZVR5cGVzW1wiVXNlck1haWxMaW1pdHNcIl0sXG5cdFx0X190eXBlbmFtZT86IGJvb2xlYW5cbn0+O1xuXHRbXCJVc2VyTWFpbExpbWl0c1wiXTogQWxpYXNUeXBlPHtcblx0c2VudD86VmFsdWVUeXBlc1tcIk1haWxMaW1pdHNWYWx1ZXNcIl0sXG5cdHJlY2VpdmVkPzpWYWx1ZVR5cGVzW1wiTWFpbExpbWl0c1ZhbHVlc1wiXSxcblx0XHRfX3R5cGVuYW1lPzogYm9vbGVhblxufT47XG5cdFtcIk1haWxcIl06IEFsaWFzVHlwZTx7XG5cdGlkPzpib29sZWFuLFxuXHRhcHA/OlZhbHVlVHlwZXNbXCJBcHBsaWNhdGlvblwiXSxcblx0Ym9keT86Ym9vbGVhbixcblx0Y3JlYXRlZEF0Pzpib29sZWFuLFxuXHRkZWxldGVkQXQ/OmJvb2xlYW4sXG5cdGZpbGVzPzpWYWx1ZVR5cGVzW1wiRmlsZXNPbk1haWxzXCJdLFxuXHRtYWlsSW50ZWdyaXR5PzpWYWx1ZVR5cGVzW1wiTWFpbEludGVncml0eVwiXSxcblx0bWFpbEludGVncml0eURyYWZ0PzpWYWx1ZVR5cGVzW1wiTWFpbEludGVncml0eURyYWZ0XCJdLFxuXHRvcGVuZWRBdD86Ym9vbGVhbixcblx0cmVjaXBpZW50PzpWYWx1ZVR5cGVzW1wiVXNlclwiXSxcblx0c2VuZGVyPzpWYWx1ZVR5cGVzW1wiVXNlclwiXSxcblx0c3ViamVjdD86Ym9vbGVhbixcblx0dHlwZT86Ym9vbGVhbixcblx0cmVjaXBpZW50cz86VmFsdWVUeXBlc1tcIlVzZXJcIl0sXG5cdFx0X190eXBlbmFtZT86IGJvb2xlYW5cbn0+O1xuXHRbXCJNYWlsSW50ZWdyaXR5XCJdOiBBbGlhc1R5cGU8e1xuXHRpZD86Ym9vbGVhbixcblx0aGFzaD86Ym9vbGVhbixcblx0aGFzaEtleT86Ym9vbGVhbixcblx0YW5zd2Vycz86VmFsdWVUeXBlc1tcIk1haWxJbnRlZ3JpdHlcIl0sXG5cdGFwcD86VmFsdWVUeXBlc1tcIkFwcGxpY2F0aW9uXCJdLFxuXHRtYWlscz86VmFsdWVUeXBlc1tcIk1haWxcIl0sXG5cdHJlY2lwaWVudHM/OlZhbHVlVHlwZXNbXCJVc2VyXCJdLFxuXHR0ZW1wb3JhcnlSZWNpcGllbnRzPzpWYWx1ZVR5cGVzW1wiVGVtcG9yYXJ5VXNlclwiXSxcblx0cmVwbHlUbz86VmFsdWVUeXBlc1tcIk1haWxJbnRlZ3JpdHlcIl0sXG5cdFx0X190eXBlbmFtZT86IGJvb2xlYW5cbn0+O1xuXHRbXCJNYWlsSW50ZWdyaXR5RHJhZnRcIl06IEFsaWFzVHlwZTx7XG5cdGlkPzpib29sZWFuLFxuXHRoYXNoPzpib29sZWFuLFxuXHRoYXNoS2V5Pzpib29sZWFuLFxuXHRhcHA/OlZhbHVlVHlwZXNbXCJBcHBsaWNhdGlvblwiXSxcblx0bWFpbD86VmFsdWVUeXBlc1tcIk1haWxcIl0sXG5cdHJlY2lwaWVudHM/OlZhbHVlVHlwZXNbXCJVc2VyXCJdLFxuXHR0ZW1wb3JhcnlSZWNpcGllbnRzPzpWYWx1ZVR5cGVzW1wiVGVtcG9yYXJ5VXNlclwiXSxcblx0cmVwbHlUbz86VmFsdWVUeXBlc1tcIk1haWxJbnRlZ3JpdHlcIl0sXG5cdFx0X190eXBlbmFtZT86IGJvb2xlYW5cbn0+O1xuXHRbXCJQbGFuXCJdOiBBbGlhc1R5cGU8e1xuXHRpZD86Ym9vbGVhbixcblx0a2luZD86Ym9vbGVhbixcblx0Y29kZXM/OmJvb2xlYW4sXG5cdGxpbWl0cz86VmFsdWVUeXBlc1tcIkxpbWl0c1wiXSxcblx0XHRfX3R5cGVuYW1lPzogYm9vbGVhblxufT47XG5cdFtcIlJlcG9ydFwiXTogQWxpYXNUeXBlPHtcblx0aWQ/OmJvb2xlYW4sXG5cdHVzZXI/OlZhbHVlVHlwZXNbXCJVc2VyXCJdLFxuXHRyZXBvcnRlZFVzZXI/OlZhbHVlVHlwZXNbXCJVc2VyXCJdLFxuXHRjdXN0b21NZXNzYWdlPzpib29sZWFuLFxuXHRcdF9fdHlwZW5hbWU/OiBib29sZWFuXG59Pjtcblx0W1wiVGVtcG9yYXJ5VXNlclwiXTogQWxpYXNUeXBlPHtcblx0aWQ/OmJvb2xlYW4sXG5cdG1haWxzPzpWYWx1ZVR5cGVzW1wiTWFpbEludGVncml0eVwiXSxcblx0ZHJhZnRNYWlscz86VmFsdWVUeXBlc1tcIk1haWxJbnRlZ3JpdHlEcmFmdFwiXSxcblx0ZW1haWw/OmJvb2xlYW4sXG5cdFx0X190eXBlbmFtZT86IGJvb2xlYW5cbn0+O1xuXHRbXCJVc2VyXCJdOiBBbGlhc1R5cGU8e1xuXHRpZD86Ym9vbGVhbixcblx0ZGVsZXRlZEF0Pzpib29sZWFuLFxuXHRsYW5nPzpib29sZWFuLFxuXHRyZXBvcnRTZW50PzpWYWx1ZVR5cGVzW1wiUmVwb3J0XCJdLFxuXHRnb2RGYXRoZXI/OlZhbHVlVHlwZXNbXCJVc2VyXCJdLFxuXHRnb2RDaGlsZHJlbj86VmFsdWVUeXBlc1tcIlVzZXJcIl0sXG5cdGZpcnN0bmFtZT86Ym9vbGVhbixcblx0bGFzdG5hbWU/OmJvb2xlYW4sXG5cdGVtYWlsPzpib29sZWFuLFxuXHRwaG9uZT86Ym9vbGVhbixcblx0bGFzdExvZ2luPzpib29sZWFuLFxuXHRyb2xlPzpib29sZWFuLFxuXHRzZXNzaW9ucz86VmFsdWVUeXBlc1tcIlVzZXJTZXNzaW9uXCJdLFxuXHRjcmVhdGVkQXQ/OmJvb2xlYW4sXG5cdHJlY2VpdmVkTWFpbHM/OlZhbHVlVHlwZXNbXCJNYWlsXCJdLFxuXHR3YWl0aW5nUmVjZWl2ZWRNYWlscz86VmFsdWVUeXBlc1tcIldhaXRpbmdSZWNlaXZlZE1haWxcIl0sXG5cdHNlbnRNYWlscz86VmFsdWVUeXBlc1tcIk1haWxcIl0sXG5cdGRyYWZ0TWFpbHM/OlZhbHVlVHlwZXNbXCJNYWlsXCJdLFxuXHRhcHBTZXR0aW5ncz86VmFsdWVUeXBlc1tcIlVzZXJBcHBTZXR0aW5nc1wiXSxcblx0YXBwbGljYXRpb25zPzpWYWx1ZVR5cGVzW1wiQXBwbGljYXRpb25zT25Vc2Vyc1wiXSxcblx0cHVibGljS2V5Pzpib29sZWFuLFxuXHRcdF9fdHlwZW5hbWU/OiBib29sZWFuXG59Pjtcblx0W1wiVXNlckFwcE5vdGlmaWNhdGlvbnNcIl06IEFsaWFzVHlwZTx7XG5cdGlkPzpib29sZWFuLFxuXHRlbmFibGVBbGw/OmJvb2xlYW4sXG5cdG1haWw/OmJvb2xlYW4sXG5cdGNsb3VkPzpib29sZWFuLFxuXHRkaXNhYmxlQWxsVW50aWw/OmJvb2xlYW4sXG5cdFx0X190eXBlbmFtZT86IGJvb2xlYW5cbn0+O1xuXHRbXCJVc2VyQXBwU2V0dGluZ3NcIl06IEFsaWFzVHlwZTx7XG5cdGlkPzpib29sZWFuLFxuXHRjbG91ZEZpbGVEYXlzRm9yRGVsZXRlPzpib29sZWFuLFxuXHRjbG91ZEZvbGRlckRheXNGb3JEZWxldGU/OmJvb2xlYW4sXG5cdGhpc3RvcnlGaWxlRGF5c0ZvckRlbGV0ZT86Ym9vbGVhbixcblx0aGlzdG9yeU1heEZpbGVDb3VudD86Ym9vbGVhbixcblx0YXV0b0Rpc2Nvbm5lY3REZWxheT86Ym9vbGVhbixcblx0XHRfX3R5cGVuYW1lPzogYm9vbGVhblxufT47XG5cdFtcIlVzZXJTZXNzaW9uXCJdOiBBbGlhc1R5cGU8e1xuXHRpZD86Ym9vbGVhbixcblx0YXBwU2Vzc2lvbnM/OlZhbHVlVHlwZXNbXCJBcHBTZXNzaW9uXCJdLFxuXHRsYXN0QWN0aXZpdHk/OmJvb2xlYW4sXG5cdHVzZXJBZ2VudD86Ym9vbGVhbixcblx0aXA/OmJvb2xlYW4sXG5cdGNpdHk/OmJvb2xlYW4sXG5cdGNvdW50cnk/OmJvb2xlYW4sXG5cdGNyZWF0ZWRBdD86Ym9vbGVhbixcblx0XHRfX3R5cGVuYW1lPzogYm9vbGVhblxufT47XG5cdFtcIlZGaWxlXCJdOiBBbGlhc1R5cGU8e1xuXHRpZD86Ym9vbGVhbixcblx0aXNGYXZvcml0ZT86Ym9vbGVhbixcblx0Y3JlYXRlZEF0Pzpib29sZWFuLFxuXHRkZWxldGVkQXQ/OmJvb2xlYW4sXG5cdGZpbGVuYW1lPzpib29sZWFuLFxuXHR1c2VyQXBwcz86VmFsdWVUeXBlc1tcIlZGaWxlc09uVXNlcnNPbkFwcGxpY2F0aW9uc1wiXSxcblx0Y3JlYXRlZEJ5PzpWYWx1ZVR5cGVzW1wiQXBwbGljYXRpb25zT25Vc2Vyc1wiXSxcblx0dXNlckFwcD86VmFsdWVUeXBlc1tcIlZGaWxlc09uVXNlcnNPbkFwcGxpY2F0aW9uc1wiXSxcblx0Zm9sZGVyPzpWYWx1ZVR5cGVzW1wiRm9sZGVyXCJdLFxuXHRoaXN0b3J5PzpWYWx1ZVR5cGVzW1wiRmlsZVwiXSxcblx0Y3VycmVudD86VmFsdWVUeXBlc1tcIkZpbGVcIl0sXG5cdHVwZGF0ZWRBdD86Ym9vbGVhbixcblx0XHRfX3R5cGVuYW1lPzogYm9vbGVhblxufT47XG5cdFtcIlZGaWxlc09uVXNlcnNPbkFwcGxpY2F0aW9uc1wiXTogQWxpYXNUeXBlPHtcblx0dkZpbGU/OlZhbHVlVHlwZXNbXCJWRmlsZVwiXSxcblx0dXNlckFwcD86VmFsdWVUeXBlc1tcIkFwcGxpY2F0aW9uc09uVXNlcnNcIl0sXG5cdHJpZ2h0cz86Ym9vbGVhbixcblx0bmFtZUtleT86Ym9vbGVhbixcblx0aXNSb290Pzpib29sZWFuLFxuXHRcdF9fdHlwZW5hbWU/OiBib29sZWFuXG59Pjtcblx0W1wiV2FpdGluZ1JlY2VpdmVkTWFpbFwiXTogQWxpYXNUeXBlPHtcblx0c2VuZGVyPzpWYWx1ZVR5cGVzW1wiVXNlclwiXSxcblx0ZGF0ZT86Ym9vbGVhbixcblx0cmVjaXBpZW50cz86VmFsdWVUeXBlc1tcIlVzZXJcIl0sXG5cdHRlbXBvcmFyeVJlY2lwaWVudHM/OlZhbHVlVHlwZXNbXCJUZW1wb3JhcnlVc2VyXCJdLFxuXHRhdHRhY2htZW50c0NvdW50Pzpib29sZWFuLFxuXHRcdF9fdHlwZW5hbWU/OiBib29sZWFuXG59Pjtcblx0W1wiUGF5bWVudEluZm9zXCJdOiBBbGlhc1R5cGU8e1xuXHRob3N0ZWRVcmw/OmJvb2xlYW4sXG5cdGN1cnJlbnRTdWJzY3JpcHRpb24/OlZhbHVlVHlwZXNbXCJSZWN1cmx5U3Vic2NyaXB0aW9uXCJdLFxuXHRpbnZvaWNlcz86VmFsdWVUeXBlc1tcIlJlY3VybHlJbnZvaWNlc1wiXSxcblx0XHRfX3R5cGVuYW1lPzogYm9vbGVhblxufT47XG5cdFtcIlJlY3VybHlJbnZvaWNlc1wiXTogQWxpYXNUeXBlPHtcblx0cGRmPzpib29sZWFuLFxuXHRkYXRlPzpib29sZWFuLFxuXHRkdWU/OmJvb2xlYW4sXG5cdHN0YXR1cz86Ym9vbGVhbixcblx0dG90YWw/OmJvb2xlYW4sXG5cdG5hbWU/OmJvb2xlYW4sXG5cdGN1cnJlbmN5Pzpib29sZWFuLFxuXHRcdF9fdHlwZW5hbWU/OiBib29sZWFuXG59Pjtcblx0W1wiUmVjdXJseVN1YnNjcmlwdGlvblwiXTogQWxpYXNUeXBlPHtcblx0YXV0b3JlbmV3Pzpib29sZWFuLFxuXHRhY3RpdmF0ZWRBdD86Ym9vbGVhbixcblx0Y3VycmVudFBlcmlvZEVuZHNBdD86Ym9vbGVhbixcblx0Y3VycmVudFBlcmlvZFN0YXJ0ZWRBdD86Ym9vbGVhbixcblx0Y2FuY2VsZWRBdD86Ym9vbGVhbixcblx0Y3JlYXRlZEF0Pzpib29sZWFuLFxuXHRleHBpcmVzQXQ/OmJvb2xlYW4sXG5cdHBhdXNlZEF0Pzpib29sZWFuLFxuXHR0cmlhbEVuZHNBdD86Ym9vbGVhbixcblx0dHJpYWxTdGFydGVkQXQ/OmJvb2xlYW4sXG5cdHVwZGF0ZWRBdD86Ym9vbGVhbixcblx0c3RhdGU/OmJvb2xlYW4sXG5cdGNvbGxlY3Rpb25NZXRob2Q/OmJvb2xlYW4sXG5cdHBsYW4/OmJvb2xlYW4sXG5cdHBsYW5Db2RlPzpib29sZWFuLFxuXHR0b3RhbD86Ym9vbGVhbixcblx0XHRfX3R5cGVuYW1lPzogYm9vbGVhblxufT47XG5cdFtcIlNoYXJlRm9sZGVyUmVzcG9uc2VcIl06IEFsaWFzVHlwZTx7XG5cdGZvbGRlcnM/OmJvb2xlYW4sXG5cdHZGaWxlcz86Ym9vbGVhbixcblx0XHRfX3R5cGVuYW1lPzogYm9vbGVhblxufT47XG5cdFtcIlF1ZXJ5XCJdOiBBbGlhc1R5cGU8e1xuXHRhcHBOb3RpZmljYXRpb25zPzpWYWx1ZVR5cGVzW1wiVXNlckFwcE5vdGlmaWNhdGlvbnNcIl0sXG5ibG9nPzogW3tcdGxhbmc/OlZhbHVlVHlwZXNbXCJMYW5nXCJdIHwgbnVsbH0sVmFsdWVUeXBlc1tcIkJsb2dJdGVtXCJdXSxcbmRiQ29uZmlnPzogW3tcdGFwcENvZGU6c3RyaW5nfSxib29sZWFuXSxcbmRiR2V0PzogW3tcdGZpZWxkOnN0cmluZyxcdHVzZXJJZD86c3RyaW5nIHwgbnVsbH0sYm9vbGVhbl0sXG5kYlNlYXJjaD86IFt7XHRzZWFyY2g6c3RyaW5nLFx0ZmllbGQ6c3RyaW5nfSxib29sZWFuXSxcblx0ZGVsZXRlZEZvbGRlcnM/OlZhbHVlVHlwZXNbXCJGb2xkZXJcIl0sXG5kZWxldGVkTWFpbHM/OiBbe1x0bWFpbFR5cGU6VmFsdWVUeXBlc1tcIk1haWxUeXBlXCJdfSxWYWx1ZVR5cGVzW1wiTWFpbFwiXV0sXG5cdGRlbGV0ZWRWRmlsZXM/OlZhbHVlVHlwZXNbXCJWRmlsZVwiXSxcbmZhcT86IFt7XHRsYW5nPzpWYWx1ZVR5cGVzW1wiTGFuZ1wiXSB8IG51bGx9LFZhbHVlVHlwZXNbXCJGYXFJdGVtXCJdXSxcbmZpbGU/OiBbe1x0aWQ6c3RyaW5nfSxWYWx1ZVR5cGVzW1wiRmlsZVwiXV0sXG5maWxlQ29udGVudD86IFt7XHRmaWxlSWQ6c3RyaW5nfSxWYWx1ZVR5cGVzW1wiRmlsZUNvbnRlbnRcIl1dLFxuZmlsZXNTaGFyZWRXaXRoTWU/OiBbe1x0YWNjZXB0ZWQ/OmJvb2xlYW4gfCBudWxsfSxWYWx1ZVR5cGVzW1wiRmlsZVNoYXJlZENvbnRlbnRcIl1dLFxuZm9sZGVyPzogW3tcdGlkPzpzdHJpbmcgfCBudWxsLFx0ZGVsZXRlZD86Ym9vbGVhbiB8IG51bGx9LFZhbHVlVHlwZXNbXCJGb2xkZXJcIl1dLFxuZm9sZGVyU2l6ZT86IFt7XHRmb2xkZXJJZD86c3RyaW5nIHwgbnVsbH0sVmFsdWVUeXBlc1tcIkZvbGRlclNpemVcIl1dLFxuXHRmb2xkZXJzU2hhcmVkV2l0aE1lPzpWYWx1ZVR5cGVzW1wiRm9sZGVyXCJdLFxuXHRsaW1pdHM/OlZhbHVlVHlwZXNbXCJRdWVyeUxpbWl0c1wiXSxcbm1haWw/OiBbe1x0aWQ6c3RyaW5nfSxWYWx1ZVR5cGVzW1wiTWFpbFwiXV0sXG5cdHBheW1lbnRJbmZvcz86VmFsdWVUeXBlc1tcIlBheW1lbnRJbmZvc1wiXSxcblx0cGxhbnM/OlZhbHVlVHlwZXNbXCJQbGFuXCJdLFxuXHRzaGFyZWRGb2xkZXJzPzpWYWx1ZVR5cGVzW1wiRm9sZGVyXCJdLFxuXHRzaGFyZWRWRmlsZXM/OlZhbHVlVHlwZXNbXCJWRmlsZVwiXSxcblx0dGVzdD86Ym9vbGVhbixcblx0dW5yZWFkUmVjZWl2ZWRNYWlsc0NvdW50Pzpib29sZWFuLFxudXNlcj86IFt7XHR1c2VySWQ/OnN0cmluZyB8IG51bGx9LFZhbHVlVHlwZXNbXCJVc2VyXCJdXSxcbnZGaWxlPzogW3tcdGlkOnN0cmluZ30sVmFsdWVUeXBlc1tcIlZGaWxlXCJdXSxcblx0dkZpbGVzU2hhcmVkV2l0aE1lPzpWYWx1ZVR5cGVzW1wiVkZpbGVcIl0sXG51c2VyTGlzdD86IFt7XHRzZWFyY2g/OnN0cmluZyB8IG51bGx9LFZhbHVlVHlwZXNbXCJVc2VyXCJdXSxcblx0XHRfX3R5cGVuYW1lPzogYm9vbGVhblxufT47XG5cdFtcIk11dGF0aW9uXCJdOiBBbGlhc1R5cGU8e1xuYWRkRmlsZVRvSGlzdG9yeT86IFt7XHR2RmlsZUlkOnN0cmluZyxcdGZpbGVJZDpzdHJpbmd9LFZhbHVlVHlwZXNbXCJWRmlsZVwiXV0sXG5cdGNhbmNlbFBheW1lbnQ/OmJvb2xlYW4sXG5jcmVhdGVBcHBsaWNhdGlvbj86IFt7XHRuYW1lOnN0cmluZyxcdG9yaWdpbjpzdHJpbmcsXHRkZXZlbG9wZXJJZDpzdHJpbmd9LGJvb2xlYW5dLFxuY3JlYXRlRHJhZnRNYWlsPzogW3tcdGhhc2g6c3RyaW5nLFx0aGFzaEtleTpzdHJpbmcsXHRib2R5OnN0cmluZyxcdHN1YmplY3Q6c3RyaW5nLFx0cmVwbHlUbz86c3RyaW5nIHwgbnVsbCxcdHNlbmRlckZpbGVzOlZhbHVlVHlwZXNbXCJNYWlsRmlsZUlucHV0XCJdW10sXHRyZWNpcGllbnRzOnN0cmluZ1tdfSxWYWx1ZVR5cGVzW1wiTWFpbFwiXV0sXG5jcmVhdGVGb2xkZXI/OiBbe1x0bmFtZTpzdHJpbmcsXHRrZXk6c3RyaW5nLFx0cGFyZW50Rm9sZGVySWQ/OnN0cmluZyB8IG51bGx9LFZhbHVlVHlwZXNbXCJGb2xkZXJcIl1dLFxuZGJDb25maWc/OiBbe1x0YXBwQ29kZTpzdHJpbmcsXHRjb25maWc6c3RyaW5nfSxib29sZWFuXSxcbmRiU2V0PzogW3tcdHZhbHVlOnN0cmluZyxcdHVzZXJJZD86c3RyaW5nIHwgbnVsbH0sYm9vbGVhbl0sXG5kZWxldGVEcmFmdE1haWw/OiBbe1x0ZHJhZnRJZDpzdHJpbmd9LGJvb2xlYW5dLFxuZGVsZXRlRmlsZT86IFt7XHRmaWxlSWQ6c3RyaW5nLFx0dkZpbGVJZDpzdHJpbmd9LGJvb2xlYW5dLFxuZGVsZXRlRm9sZGVyPzogW3tcdGlkOnN0cmluZ30sYm9vbGVhbl0sXG5kZWxldGVGb2xkZXJDbG91ZFRyYXNoPzogW3tcdGlkczpzdHJpbmdbXX0sYm9vbGVhbl0sXG5kZWxldGVGb2xkZXJTaGFyaW5nPzogW3tcdGZvbGRlcklkOnN0cmluZyxcdHVzZXJJZDpzdHJpbmd9LGJvb2xlYW5dLFxuZGVsZXRlTWFpbD86IFt7XHRtYWlsSWQ6c3RyaW5nfSxib29sZWFuXSxcbmRlbGV0ZU1haWxUcmFzaD86IFt7XHRpZHM6c3RyaW5nW119LGJvb2xlYW5dLFxuZGVsZXRlVXNlcj86IFt7XHR1c2VySWQ/OnN0cmluZyB8IG51bGx9LGJvb2xlYW5dLFxuZGVsZXRlVkZpbGU/OiBbe1x0ZmlsZUlkOnN0cmluZ30sYm9vbGVhbl0sXG5kZWxldGVWRmlsZUNsb3VkVHJhc2g/OiBbe1x0aWRzOnN0cmluZ1tdfSxib29sZWFuXSxcbmRlbGV0ZVZGaWxlU2hhcmluZz86IFt7XHR2RmlsZUlkOnN0cmluZyxcdHVzZXJJZDpzdHJpbmd9LGJvb2xlYW5dLFxuZHVwbGljYXRlVkZpbGU/OiBbe1x0dkZpbGVJZDpzdHJpbmcsXHRmb2xkZXJJZD86c3RyaW5nIHwgbnVsbCxcdGN1c3RvbU5hbWU/OnN0cmluZyB8IG51bGx9LGJvb2xlYW5dLFxuXHRlbXB0eUNsb3VkVHJhc2g/OmJvb2xlYW4sXG5cdGVtcHR5TWFpbFRyYXNoPzpib29sZWFuLFxubG9nb3V0PzogW3tcdHNlc3Npb25JZD86c3RyaW5nIHwgbnVsbH0sYm9vbGVhbl0sXG5tb3ZlRmlsZXM/OiBbe1x0ZmlsZXNJZDpzdHJpbmdbXSxcdHBhcmVudEZvbGRlcklkPzpzdHJpbmcgfCBudWxsfSxib29sZWFuXSxcbm1vdmVGb2xkZXJzPzogW3tcdGZvbGRlcnNJZDpzdHJpbmdbXSxcdHBhcmVudEZvbGRlcklkPzpzdHJpbmcgfCBudWxsfSxib29sZWFuXSxcbnBheT86IFt7XHRwbGFuQ29kZTpzdHJpbmcsXHRpbnB1dDpWYWx1ZVR5cGVzW1wiUGF5SW5wdXRcIl0sXHRhdXRvUmVuZXc/OmJvb2xlYW4gfCBudWxsfSxib29sZWFuXSxcbnJlYWRNYWlsPzogW3tcdG1haWxJZDpzdHJpbmd9LGJvb2xlYW5dLFxucmVjb3ZlckZvbGRlcj86IFt7XHRpZDpzdHJpbmd9LGJvb2xlYW5dLFxucmVjb3Zlck1haWw/OiBbe1x0bWFpbElkOnN0cmluZ30sYm9vbGVhbl0sXG5yZWNvdmVyVkZpbGU/OiBbe1x0dkZpbGVJZDpzdHJpbmd9LGJvb2xlYW5dLFxuc2F2ZUluQ2xvdWQ/OiBbe1x0ZmlsZUlkOnN0cmluZyxcdGtleTpzdHJpbmcsXHRmb2xkZXJJZD86c3RyaW5nIHwgbnVsbCxcdGZpbGVuYW1lOnN0cmluZyxcdG5hbWVLZXk6c3RyaW5nfSxWYWx1ZVR5cGVzW1wiVkZpbGVcIl1dLFxuc2VuZERyYWZ0TWFpbD86IFt7XHRkcmFmdE1haWxJZDpzdHJpbmcsXHR0ZW1wb3JhcnlSZWNpcGllbnRzOnN0cmluZ1tdLFx0cmVjaXBpZW50czpWYWx1ZVR5cGVzW1wiTWFpbFJlY2lwaWVudElucHV0XCJdW10sXHRjdXN0b21NZXNzYWdlPzpzdHJpbmcgfCBudWxsfSxib29sZWFuXSxcbnNlbmRPbmVNYWlsPzogW3tcdG1haWxJbnRlZ3JpdHlJZDpzdHJpbmcsXHRyZWNpcGllbnQ6VmFsdWVUeXBlc1tcIk1haWxSZWNpcGllbnRJbnB1dFwiXX0sYm9vbGVhbl0sXG5zZW5kUmVwb3J0PzogW3tcdHJlcG9ydGVkVXNlcklkOnN0cmluZyxcdGN1c3RvbU1lc3NhZ2U/OnN0cmluZyB8IG51bGx9LFZhbHVlVHlwZXNbXCJSZXBvcnRcIl1dLFxuc2hhcmVGaWxlSW5IaXN0b3J5PzogW3tcdGlucHV0OlZhbHVlVHlwZXNbXCJTaGFyZUZpbGVJbkhpc3RvcnlJbnB1dFwiXSxcdHZGaWxlSWQ6c3RyaW5nfSxib29sZWFuXSxcbnNoYXJlRm9sZGVyPzogW3tcdGZvbGRlcklkOnN0cmluZyxcdHVzZXJJZDpzdHJpbmd9LFZhbHVlVHlwZXNbXCJTaGFyZUZvbGRlclJlc3BvbnNlXCJdXSxcbnNoYXJlRm9sZGVyRmluaXNoPzogW3tcdHNoYXJlRm9sZGVyczpWYWx1ZVR5cGVzW1wiU2hhcmVGb2xkZXJzSW5wdXRcIl0sXHR1c2VySWQ6c3RyaW5nLFx0cmlnaHRzOlZhbHVlVHlwZXNbXCJSaWdodHNcIl19LGJvb2xlYW5dLFxuc2hhcmVWRmlsZT86IFt7XHR2RmlsZUlkOnN0cmluZyxcdHVzZXJJZDpzdHJpbmcsXHRuYW1lS2V5OnN0cmluZyxcdHJpZ2h0czpWYWx1ZVR5cGVzW1wiUmlnaHRzXCJdLFx0aGlzdG9yeTpWYWx1ZVR5cGVzW1wiU2hhcmVGaWxlS2V5SW5wdXRcIl1bXX0sYm9vbGVhbl0sXG51bnJlYWRNYWlsPzogW3tcdG1haWxJZDpzdHJpbmd9LGJvb2xlYW5dLFxudXBkYXRlQXBwTm90aWZpY2F0aW9ucz86IFt7XHRlbmFibGVBbGw/OmJvb2xlYW4gfCBudWxsLFx0bWFpbD86Ym9vbGVhbiB8IG51bGwsXHRjbG91ZD86Ym9vbGVhbiB8IG51bGwsXHRkaXNhYmxlQWxsVW50aWw/OlZhbHVlVHlwZXNbXCJEYXRlVGltZVwiXSB8IG51bGx9LFZhbHVlVHlwZXNbXCJVc2VyQXBwTm90aWZpY2F0aW9uc1wiXV0sXG51cGRhdGVBcHBTZXR0aW5ncz86IFt7XHRjbG91ZEZpbGVEYXlzRm9yRGVsZXRlPzpudW1iZXIgfCBudWxsLFx0Y2xvdWRGb2xkZXJEYXlzRm9yRGVsZXRlPzpudW1iZXIgfCBudWxsLFx0aGlzdG9yeUZpbGVEYXlzRm9yRGVsZXRlPzpudW1iZXIgfCBudWxsLFx0aGlzdG9yeU1heEZpbGVDb3VudD86bnVtYmVyIHwgbnVsbCxcdGF1dG9EaXNjb25uZWN0RGVsYXk/Om51bWJlciB8IG51bGx9LFZhbHVlVHlwZXNbXCJVc2VyQXBwU2V0dGluZ3NcIl1dLFxudXBkYXRlRHJhZnRNYWlsPzogW3tcdGRyYWZ0SWQ6c3RyaW5nLFx0aGFzaD86c3RyaW5nIHwgbnVsbCxcdGhhc2hLZXk/OnN0cmluZyB8IG51bGwsXHRib2R5PzpzdHJpbmcgfCBudWxsLFx0c3ViamVjdD86c3RyaW5nIHwgbnVsbCxcdHJlcGx5VG8/OnN0cmluZyB8IG51bGwsXHRzZW5kZXJGaWxlcz86VmFsdWVUeXBlc1tcIk1haWxGaWxlSW5wdXRcIl1bXSxcdHJlY2lwaWVudHM/OnN0cmluZ1tdfSxWYWx1ZVR5cGVzW1wiTWFpbFwiXV0sXG51cGRhdGVGaWxlPzogW3tcdGZpbGVJZDpzdHJpbmcsXHRpc0Zhdm9yaXRlPzpib29sZWFuIHwgbnVsbCxcdGZpbGVuYW1lPzpzdHJpbmcgfCBudWxsLFx0ZGVsZXRlZEF0PzpWYWx1ZVR5cGVzW1wiRGF0ZVRpbWVcIl0gfCBudWxsfSxWYWx1ZVR5cGVzW1wiVkZpbGVcIl1dLFxudXBkYXRlRm9sZGVyPzogW3tcdGZvbGRlcklkOnN0cmluZyxcdG5hbWU/OnN0cmluZyB8IG51bGwsXHRpc0Zhdm9yaXRlPzpib29sZWFuIHwgbnVsbCxcdGRlbGV0ZWRBdD86VmFsdWVUeXBlc1tcIkRhdGVUaW1lXCJdIHwgbnVsbH0sVmFsdWVUeXBlc1tcIkZvbGRlclwiXV0sXG51cGRhdGVQcm9maWxlPzogW3tcdGZpcnN0bmFtZT86c3RyaW5nIHwgbnVsbCxcdGxhc3RuYW1lPzpzdHJpbmcgfCBudWxsLFx0bGFuZz86VmFsdWVUeXBlc1tcIkxhbmdcIl0gfCBudWxsfSxWYWx1ZVR5cGVzW1wiVXNlclwiXV0sXG51cGxvYWRBbm9ueW1vdXM/OiBbe1x0ZmlsZU5hbWU6c3RyaW5nLFx0ZmlsZVNpemU6bnVtYmVyLFx0ZmlsZVNpemVCZWZvcmU6bnVtYmVyLFx0bWVzc2FnZT86c3RyaW5nIHwgbnVsbCxcdHB1YktleTpzdHJpbmcsXHR0b2tlbjpzdHJpbmd9LFZhbHVlVHlwZXNbXCJGaWxlUmVzcG9uc2VcIl1dLFxudXBsb2FkRmlsZT86IFt7XHRmaWxlU2l6ZTpWYWx1ZVR5cGVzW1wiQmlnSW50XCJdLFx0ZmlsZVNpemVCZWZvcmU6VmFsdWVUeXBlc1tcIkJpZ0ludFwiXSxcdGZpbGVLZXk6c3RyaW5nLFx0bWQ1OnN0cmluZyxcdG1kNUVuY3J5cHRlZDpzdHJpbmd9LFZhbHVlVHlwZXNbXCJGaWxlUmVzcG9uc2VcIl1dLFxudXBsb2FkRmlsZUVuZD86IFt7XHRmaWxlSWQ6c3RyaW5nfSxib29sZWFuXSxcbnVwbG9hZEZpbGVQYXJ0RW5kPzogW3tcdGZpbGVJZDpzdHJpbmcsXHRtZDU6c3RyaW5nLFx0b3JkZXI6bnVtYmVyfSxib29sZWFuXSxcbmNoYW5nZVVzZXJQbGFuPzogW3tcdHVzZXJJZDpzdHJpbmcsXHRwbGFuOlZhbHVlVHlwZXNbXCJQbGFuS2luZFwiXX0sVmFsdWVUeXBlc1tcIlVzZXJcIl1dLFxuXHRcdF9fdHlwZW5hbWU/OiBib29sZWFuXG59Pjtcblx0W1wiU3Vic2NyaXB0aW9uXCJdOiBBbGlhc1R5cGU8e1xuXHR0ZXN0Pzpib29sZWFuLFxuXHRcdF9fdHlwZW5hbWU/OiBib29sZWFuXG59PlxuICB9XG5cbmV4cG9ydCB0eXBlIE1vZGVsVHlwZXMgPSB7XG4gICAgLyoqIFRoZSBgQmlnSW50YCBzY2FsYXIgdHlwZSByZXByZXNlbnRzIG5vbi1mcmFjdGlvbmFsIHNpZ25lZCB3aG9sZSBudW1lcmljIHZhbHVlcy5cbkBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvQmlnSW50ICovXG5bXCJCaWdJbnRcIl06YW55O1xuXHQvKiogVGhlIGBCeXRlYCBzY2FsYXIgdHlwZSByZXByZXNlbnRzIGJ5dGUgdmFsdWUgYXMgYSBCdWZmZXIgKi9cbltcIkJ5dGVzXCJdOmFueTtcblx0LyoqIEEgZGF0ZS10aW1lIHN0cmluZyBhdCBVVEMsIHN1Y2ggYXMgMjAwNy0xMi0wM1QxMDoxNTozMFosIGNvbXBsaWFudCB3aXRoIHRoZSBgZGF0ZS10aW1lYCBmb3JtYXQgb3V0bGluZWQgaW4gc2VjdGlvbiA1LjYgb2YgdGhlIFJGQyAzMzM5IHByb2ZpbGUgb2YgdGhlIElTTyA4NjAxIHN0YW5kYXJkIGZvciByZXByZXNlbnRhdGlvbiBvZiBkYXRlcyBhbmQgdGltZXMgdXNpbmcgdGhlIEdyZWdvcmlhbiBjYWxlbmRhci4gKi9cbltcIkRhdGVUaW1lXCJdOmFueTtcblx0LyoqIEFuIGFyYml0cmFyeS1wcmVjaXNpb24gRGVjaW1hbCB0eXBlICovXG5bXCJEZWNpbWFsXCJdOmFueTtcblx0LyoqIFRoZSBgSlNPTk9iamVjdGAgc2NhbGFyIHR5cGUgcmVwcmVzZW50cyBKU09OIG9iamVjdHMgYXMgc3BlY2lmaWVkIGJ5IFtFQ01BLTQwNF0oaHR0cDovL3d3dy5lY21hLWludGVybmF0aW9uYWwub3JnL3B1YmxpY2F0aW9ucy9maWxlcy9FQ01BLVNUL0VDTUEtNDA0LnBkZikuICovXG5bXCJKc29uXCJdOmFueTtcblx0W1wiTGFuZ1wiXTogR3JhcGhRTFR5cGVzW1wiTGFuZ1wiXTtcblx0W1wiUGxhbktpbmRcIl06IEdyYXBoUUxUeXBlc1tcIlBsYW5LaW5kXCJdO1xuXHRbXCJVc2VyUm9sZVwiXTogR3JhcGhRTFR5cGVzW1wiVXNlclJvbGVcIl07XG5cdFtcIk1haWxUeXBlXCJdOiBHcmFwaFFMVHlwZXNbXCJNYWlsVHlwZVwiXTtcblx0W1wiUmlnaHRzXCJdOiBHcmFwaFFMVHlwZXNbXCJSaWdodHNcIl07XG5cdFtcIkFwcEtleVBhaXJcIl06IHtcblx0XHRwdWI6c3RyaW5nXG59O1xuXHRbXCJBcHBTZXNzaW9uXCJdOiB7XG5cdFx0aWQ6c3RyaW5nLFxuXHRsYXN0QWN0aXZpdHk/Ok1vZGVsVHlwZXNbXCJEYXRlVGltZVwiXSxcblx0dXNlckFnZW50PzpzdHJpbmcsXG5cdGlwPzpzdHJpbmcsXG5cdGNpdHk/OnN0cmluZyxcblx0Y291bnRyeT86c3RyaW5nLFxuXHR1c2VyU2Vzc2lvbjpNb2RlbFR5cGVzW1wiVXNlclNlc3Npb25cIl0sXG5cdHVzZXJBcHA/Ok1vZGVsVHlwZXNbXCJBcHBsaWNhdGlvbnNPblVzZXJzXCJdLFxuXHRjcmVhdGVkQXQ6TW9kZWxUeXBlc1tcIkRhdGVUaW1lXCJdXG59O1xuXHRbXCJBcHBsaWNhdGlvblwiXToge1xuXHRcdGlkOnN0cmluZyxcblx0bmFtZTpzdHJpbmdcbn07XG5cdFtcIkFwcGxpY2F0aW9uc09uVXNlcnNcIl06IHtcblx0XHRmYWtlVXNlcklkOnN0cmluZyxcblx0a2V5UGFpcj86TW9kZWxUeXBlc1tcIkFwcEtleVBhaXJcIl0sXG5cdHNlc3Npb25zOk1vZGVsVHlwZXNbXCJBcHBTZXNzaW9uXCJdW10sXG5cdGFwcDpNb2RlbFR5cGVzW1wiQXBwbGljYXRpb25cIl0sXG5cdHVzZXI6TW9kZWxUeXBlc1tcIlVzZXJcIl0sXG5cdGZvbGRlcnM6TW9kZWxUeXBlc1tcIkZvbGRlcnNPblVzZXJzT25BcHBsaWNhdGlvbnNcIl1bXSxcblx0c2V0dGluZ3M6TW9kZWxUeXBlc1tcIlVzZXJBcHBTZXR0aW5nc1wiXVxufTtcblx0W1wiQmxvZ1wiXToge1xuXHRcdGlkOnN0cmluZyxcblx0b3JkZXI6bnVtYmVyLFxuXHRlbnRyaWVzOk1vZGVsVHlwZXNbXCJCbG9nRW50cnlcIl1bXVxufTtcblx0W1wiQmxvZ0VudHJ5XCJdOiB7XG5cdFx0aWQ6c3RyaW5nLFxuXHRsYW5nOk1vZGVsVHlwZXNbXCJMYW5nXCJdLFxuXHRhdXRob3I6c3RyaW5nLFxuXHRib2R5OnN0cmluZyxcblx0ZGF0ZTpNb2RlbFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG5cdGltYWdlOnN0cmluZyxcblx0c3VtbWFyeTpzdHJpbmcsXG5cdHRpdGxlOnN0cmluZ1xufTtcblx0W1wiQmxvZ0l0ZW1cIl06IHtcblx0XHRpZDpzdHJpbmcsXG5cdGJsb2dJZDpzdHJpbmcsXG5cdG9yZGVyOm51bWJlcixcblx0dGl0bGU6c3RyaW5nLFxuXHRib2R5OnN0cmluZyxcblx0YXV0aG9yOnN0cmluZyxcblx0aW1hZ2U6c3RyaW5nLFxuXHRpbWFnZUFsdDpzdHJpbmcsXG5cdHN1bW1hcnk6c3RyaW5nLFxuXHRkYXRlOk1vZGVsVHlwZXNbXCJEYXRlVGltZVwiXVxufTtcblx0W1wiQ2xvdWRMaW1pdHNcIl06IHtcblx0XHRzaXplOk1vZGVsVHlwZXNbXCJCaWdJbnRcIl0sXG5cdG1heFNpemU/Ok1vZGVsVHlwZXNbXCJCaWdJbnRcIl0sXG5cdGNvdW50Ok1vZGVsVHlwZXNbXCJCaWdJbnRcIl0sXG5cdG1heENvdW50PzpNb2RlbFR5cGVzW1wiQmlnSW50XCJdXG59O1xuXHRbXCJGYXFcIl06IHtcblx0XHRpZDpzdHJpbmcsXG5cdG9yZGVyOm51bWJlcixcblx0ZW50cmllczpNb2RlbFR5cGVzW1wiRmFxRW50cnlcIl1bXVxufTtcblx0W1wiRmFxRW50cnlcIl06IHtcblx0XHRpZDpzdHJpbmcsXG5cdGxhbmc6TW9kZWxUeXBlc1tcIkxhbmdcIl0sXG5cdHF1ZXN0aW9uOnN0cmluZyxcblx0YW5zd2VyOnN0cmluZyxcblx0ZmFxOk1vZGVsVHlwZXNbXCJGYXFcIl1cbn07XG5cdFtcIkZhcUl0ZW1cIl06IHtcblx0XHRvcmRlcjpudW1iZXIsXG5cdHF1ZXN0aW9uOnN0cmluZyxcblx0YW5zd2VyOnN0cmluZ1xufTtcblx0W1wiRmlsZVwiXToge1xuXHRcdGlkOnN0cmluZyxcblx0c2l6ZTpNb2RlbFR5cGVzW1wiQmlnSW50XCJdLFxuXHRzaXplQmVmb3JlOk1vZGVsVHlwZXNbXCJCaWdJbnRcIl0sXG5cdGNyZWF0ZWRBdDpNb2RlbFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG5cdHZGaWxlczpNb2RlbFR5cGVzW1wiVkZpbGVcIl1bXSxcblx0dkZpbGVzQ3VycmVudDpNb2RlbFR5cGVzW1wiVkZpbGVcIl1bXSxcblx0dXNlcnM6TW9kZWxUeXBlc1tcIkZpbGVzT25Vc2Vyc09uQXBwbGljYXRpb25zXCJdW10sXG5cdG1kNTpzdHJpbmcsXG5cdG1kNUVuY3J5cHRlZDpzdHJpbmcsXG5cdGRlbGV0ZWRBdD86TW9kZWxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuXHR1c2VyQXBwOk1vZGVsVHlwZXNbXCJBcHBsaWNhdGlvbnNPblVzZXJzXCJdLFxuXHRtYWlsczpNb2RlbFR5cGVzW1wiRmlsZXNPbk1haWxzXCJdW10sXG5cdHZhbGlkYXRlZEF0PzpNb2RlbFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG5cdHVzZXI/Ok1vZGVsVHlwZXNbXCJGaWxlc09uVXNlcnNPbkFwcGxpY2F0aW9uc1wiXVxufTtcblx0W1wiRmlsZUNvbnRlbnRcIl06TW9kZWxUeXBlc1tcIkZpbGVDb250ZW50Q2xvdWRcIl0gfCBNb2RlbFR5cGVzW1wiRmlsZUNvbnRlbnRSZWNlaXZlZE1haWxcIl0gfCBNb2RlbFR5cGVzW1wiRmlsZUNvbnRlbnRTZW50TWFpbFwiXTtcblx0W1wiRmlsZUNvbnRlbnRCYXNlXCJdOiBNb2RlbFR5cGVzW1wiRmlsZUNvbnRlbnRDbG91ZFwiXSB8IE1vZGVsVHlwZXNbXCJGaWxlQ29udGVudFJlY2VpdmVkTWFpbFwiXSB8IE1vZGVsVHlwZXNbXCJGaWxlQ29udGVudFNlbnRNYWlsXCJdO1xuXHRbXCJGaWxlQ29udGVudENsb3VkXCJdOiB7XG5cdFx0cGFydHM6TW9kZWxUeXBlc1tcIkZpbGVDb250ZW50UGFydFwiXVtdLFxuXHRrZXk6c3RyaW5nLFxuXHRtZDU6c3RyaW5nLFxuXHRtZDVFbmNyeXB0ZWQ6c3RyaW5nLFxuXHR0b3RhbFNpemU6TW9kZWxUeXBlc1tcIkJpZ0ludFwiXSxcblx0dHlwZTpNb2RlbFR5cGVzW1wiRmlsZUNvbnRlbnRUeXBlXCJdLFxuXHRwdWJsaWNLZXk6c3RyaW5nXG59O1xuXHRbXCJGaWxlQ29udGVudFBhcnRcIl06IHtcblx0XHRjb250ZW50VXJsOnN0cmluZyxcblx0b3JkZXI6bnVtYmVyLFxuXHRtZDU6c3RyaW5nXG59O1xuXHRbXCJGaWxlQ29udGVudFJlY2VpdmVkTWFpbFwiXToge1xuXHRcdHBhcnRzOk1vZGVsVHlwZXNbXCJGaWxlQ29udGVudFBhcnRcIl1bXSxcblx0a2V5OnN0cmluZyxcblx0bWQ1OnN0cmluZyxcblx0bWQ1RW5jcnlwdGVkOnN0cmluZyxcblx0dG90YWxTaXplOk1vZGVsVHlwZXNbXCJCaWdJbnRcIl0sXG5cdHR5cGU6TW9kZWxUeXBlc1tcIkZpbGVDb250ZW50VHlwZVwiXSxcblx0c2VuZGVyUHVibGljS2V5OnN0cmluZ1xufTtcblx0W1wiRmlsZUNvbnRlbnRTZW50TWFpbFwiXToge1xuXHRcdHBhcnRzOk1vZGVsVHlwZXNbXCJGaWxlQ29udGVudFBhcnRcIl1bXSxcblx0a2V5OnN0cmluZyxcblx0bWQ1OnN0cmluZyxcblx0bWQ1RW5jcnlwdGVkOnN0cmluZyxcblx0dG90YWxTaXplOk1vZGVsVHlwZXNbXCJCaWdJbnRcIl0sXG5cdHR5cGU6TW9kZWxUeXBlc1tcIkZpbGVDb250ZW50VHlwZVwiXVxufTtcblx0W1wiRmlsZUNvbnRlbnRUeXBlXCJdOiBHcmFwaFFMVHlwZXNbXCJGaWxlQ29udGVudFR5cGVcIl07XG5cdFtcIkZpbGVQYXJ0XCJdOiB7XG5cdFx0aWQ6c3RyaW5nLFxuXHRmaWxlOk1vZGVsVHlwZXNbXCJGaWxlXCJdLFxuXHRmaWxlSWQ6c3RyaW5nLFxuXHRzaXplOk1vZGVsVHlwZXNbXCJCaWdJbnRcIl0sXG5cdG9yZGVyOm51bWJlcixcblx0bWQ1OnN0cmluZyxcblx0dmFsaWRhdGVkQXQ/Ok1vZGVsVHlwZXNbXCJEYXRlVGltZVwiXVxufTtcblx0W1wiRmlsZVBhcnRSZXNwb25zZVwiXToge1xuXHRcdGZpZWxkczpNb2RlbFR5cGVzW1wiSnNvblwiXSxcblx0dXJsOnN0cmluZyxcblx0b3JkZXI6bnVtYmVyXG59O1xuXHRbXCJGaWxlUmVzcG9uc2VcIl06IHtcblx0XHRmaWxlSWQ6c3RyaW5nLFxuXHRwYXJ0czpNb2RlbFR5cGVzW1wiRmlsZVBhcnRSZXNwb25zZVwiXVtdLFxuXHRmaWxlUGFydFNpemU6TW9kZWxUeXBlc1tcIkJpZ0ludFwiXVxufTtcblx0W1wiRmlsZVNoYXJlZFwiXToge1xuXHRcdHVzZXJJZDpzdHJpbmcsXG5cdG1lc3NhZ2U/OnN0cmluZyxcblx0YXBwSWQ6c3RyaW5nLFxuXHRpZDpzdHJpbmcsXG5cdGZpbGVuYW1lOnN0cmluZyxcblx0c2l6ZTpudW1iZXIsXG5cdHNpemVCZWZvcmU6bnVtYmVyXG59O1xuXHRbXCJGaWxlU2hhcmVkQ29udGVudFwiXToge1xuXHRcdG93bmVySWQ/OnN0cmluZyxcblx0cHViS2V5PzpzdHJpbmcsXG5cdG1lc3NhZ2U/OnN0cmluZyxcblx0YXBwSWQ6c3RyaW5nLFxuXHRpZDpzdHJpbmcsXG5cdHR5cGU6c3RyaW5nLFxuXHRmaWxlbmFtZTpzdHJpbmcsXG5cdGNvbnRlbnRVcmw6c3RyaW5nLFxuXHRrZXk6c3RyaW5nLFxuXHRzaXplOm51bWJlcixcblx0c2l6ZUJlZm9yZTpudW1iZXJcbn07XG5cdFtcIkZpbGVzT25NYWlsc1wiXToge1xuXHRcdGZpbGU6TW9kZWxUeXBlc1tcIkZpbGVcIl0sXG5cdGZpbGVLZXk6c3RyaW5nLFxuXHRmaWxlbmFtZTpzdHJpbmcsXG5cdG1haWw6TW9kZWxUeXBlc1tcIk1haWxcIl1cbn07XG5cdFtcIkZpbGVzT25Vc2Vyc09uQXBwbGljYXRpb25zXCJdOiB7XG5cdFx0ZmlsZTpNb2RlbFR5cGVzW1wiRmlsZVwiXSxcblx0dXNlckFwcDpNb2RlbFR5cGVzW1wiQXBwbGljYXRpb25zT25Vc2Vyc1wiXSxcblx0LyoqIEVuY3J5cHRlZCB3aXRoIFVzZXJBcHAga2V5cyAqL1xuXHRrZXk6c3RyaW5nXG59O1xuXHRbXCJGb2xkZXJcIl06IHtcblx0XHRpZDpzdHJpbmcsXG5cdGlzRmF2b3JpdGU6Ym9vbGVhbixcblx0Y3JlYXRlZEF0Ok1vZGVsVHlwZXNbXCJEYXRlVGltZVwiXSxcblx0ZGVsZXRlZEF0PzpNb2RlbFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG5cdHVwZGF0ZWRBdDpNb2RlbFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG5cdGNyZWF0ZWRCeTpNb2RlbFR5cGVzW1wiQXBwbGljYXRpb25zT25Vc2Vyc1wiXSxcblx0dXNlckFwcHM6TW9kZWxUeXBlc1tcIkZvbGRlcnNPblVzZXJzT25BcHBsaWNhdGlvbnNcIl1bXSxcblx0dXNlckFwcD86TW9kZWxUeXBlc1tcIkZvbGRlcnNPblVzZXJzT25BcHBsaWNhdGlvbnNcIl0sXG5cdG5hbWU6c3RyaW5nLFxuXHRwYXJlbnRGb2xkZXI/Ok1vZGVsVHlwZXNbXCJGb2xkZXJcIl0sXG5cdHN1YmZvbGRlcnM6TW9kZWxUeXBlc1tcIkZvbGRlclwiXVtdLFxuXHR2RmlsZXM6TW9kZWxUeXBlc1tcIlZGaWxlXCJdW10sXG5cdGJyZWFkY3J1bWI6TW9kZWxUeXBlc1tcIkZvbGRlckJyZWFkY3J1bWJJdGVtXCJdW11cbn07XG5cdFtcIkZvbGRlckJyZWFkY3J1bWJJdGVtXCJdOiB7XG5cdFx0aWQ6c3RyaW5nLFxuXHRuYW1lOnN0cmluZyxcblx0cHViS2V5OnN0cmluZyxcblx0bmFtZUtleT86c3RyaW5nXG59O1xuXHRbXCJGb2xkZXJTaXplXCJdOiB7XG5cdFx0c2l6ZTpNb2RlbFR5cGVzW1wiQmlnSW50XCJdLFxuXHRzaXplQmVmb3JlOk1vZGVsVHlwZXNbXCJCaWdJbnRcIl1cbn07XG5cdFtcIkZvbGRlcnNPblVzZXJzT25BcHBsaWNhdGlvbnNcIl06IHtcblx0XHRmb2xkZXI6TW9kZWxUeXBlc1tcIkZvbGRlclwiXSxcblx0dXNlckFwcDpNb2RlbFR5cGVzW1wiQXBwbGljYXRpb25zT25Vc2Vyc1wiXSxcblx0cmlnaHRzOk1vZGVsVHlwZXNbXCJSaWdodHNcIl0sXG5cdG5hbWVLZXk/OnN0cmluZyxcblx0aXNSb290OmJvb2xlYW5cbn07XG5cdFtcIk1haWxGaWxlSW5wdXRcIl06IEdyYXBoUUxUeXBlc1tcIk1haWxGaWxlSW5wdXRcIl07XG5cdFtcIk1haWxSZWNpcGllbnRJbnB1dFwiXTogR3JhcGhRTFR5cGVzW1wiTWFpbFJlY2lwaWVudElucHV0XCJdO1xuXHRbXCJOYW1lS2V5SW5wdXRcIl06IEdyYXBoUUxUeXBlc1tcIk5hbWVLZXlJbnB1dFwiXTtcblx0W1wiTmFtZUtleUlucHV0Rm9sZGVyc1wiXTogR3JhcGhRTFR5cGVzW1wiTmFtZUtleUlucHV0Rm9sZGVyc1wiXTtcblx0W1wiUGF5SW5wdXRcIl06IEdyYXBoUUxUeXBlc1tcIlBheUlucHV0XCJdO1xuXHRbXCJQYXlJbnB1dFR5cGVcIl06IEdyYXBoUUxUeXBlc1tcIlBheUlucHV0VHlwZVwiXTtcblx0W1wiU2hhcmVGaWxlSW5IaXN0b3J5SW5wdXRcIl06IEdyYXBoUUxUeXBlc1tcIlNoYXJlRmlsZUluSGlzdG9yeUlucHV0XCJdO1xuXHRbXCJTaGFyZUZpbGVLZXlJbnB1dFwiXTogR3JhcGhRTFR5cGVzW1wiU2hhcmVGaWxlS2V5SW5wdXRcIl07XG5cdFtcIlNoYXJlRm9sZGVyc0lucHV0XCJdOiBHcmFwaFFMVHlwZXNbXCJTaGFyZUZvbGRlcnNJbnB1dFwiXTtcblx0W1wiTGltaXRzXCJdOiB7XG5cdFx0ZG93bmxvYWRCYW5kd2lkdGg/Ok1vZGVsVHlwZXNbXCJCaWdJbnRcIl0sXG5cdGRvd25sb2FkQ291bnQ/Ok1vZGVsVHlwZXNbXCJCaWdJbnRcIl0sXG5cdGhhcmRGaWxlQ291bnQ/Ok1vZGVsVHlwZXNbXCJCaWdJbnRcIl0sXG5cdGhhcmRGaWxlU2l6ZT86TW9kZWxUeXBlc1tcIkJpZ0ludFwiXSxcblx0cGVyRmlsZVNpemU/Ok1vZGVsVHlwZXNbXCJCaWdJbnRcIl0sXG5cdHJlY2VpdmVkTWFpbHM6TW9kZWxUeXBlc1tcIk1haWxMaW1pdHNcIl0sXG5cdHNlbnRNYWlsczpNb2RlbFR5cGVzW1wiTWFpbExpbWl0c1wiXSxcblx0dXBsb2FkQmFuZHdpZHRoPzpNb2RlbFR5cGVzW1wiQmlnSW50XCJdLFxuXHR1cGxvYWRDb3VudD86TW9kZWxUeXBlc1tcIkJpZ0ludFwiXVxufTtcblx0W1wiTWFpbExpbWl0c1wiXToge1xuXHRcdGNvdW50PzpNb2RlbFR5cGVzW1wiQmlnSW50XCJdLFxuXHRmaWxlQ291bnQ/Ok1vZGVsVHlwZXNbXCJCaWdJbnRcIl0sXG5cdGZpbGVTaXplPzpNb2RlbFR5cGVzW1wiQmlnSW50XCJdLFxuXHRoYXJkQ291bnQ/Ok1vZGVsVHlwZXNbXCJCaWdJbnRcIl0sXG5cdGhhcmRGaWxlQ291bnQ/Ok1vZGVsVHlwZXNbXCJCaWdJbnRcIl0sXG5cdGhhcmRGaWxlU2l6ZT86TW9kZWxUeXBlc1tcIkJpZ0ludFwiXSxcblx0cGVyRmlsZVNpemU/Ok1vZGVsVHlwZXNbXCJCaWdJbnRcIl1cbn07XG5cdFtcIk1haWxMaW1pdHNWYWx1ZXNcIl06IHtcblx0XHRjb3VudDpNb2RlbFR5cGVzW1wiQmlnSW50XCJdLFxuXHRtYXhDb3VudD86TW9kZWxUeXBlc1tcIkJpZ0ludFwiXSxcblx0ZmlsZUNvdW50Ok1vZGVsVHlwZXNbXCJCaWdJbnRcIl0sXG5cdG1heEZpbGVDb3VudD86TW9kZWxUeXBlc1tcIkJpZ0ludFwiXSxcblx0ZmlsZVNpemU6TW9kZWxUeXBlc1tcIkJpZ0ludFwiXSxcblx0bWF4RmlsZVNpemU/Ok1vZGVsVHlwZXNbXCJCaWdJbnRcIl1cbn07XG5cdFtcIlF1ZXJ5TGltaXRzXCJdOiB7XG5cdFx0Y2xvdWQ6TW9kZWxUeXBlc1tcIkNsb3VkTGltaXRzXCJdLFxuXHRtYWlsOk1vZGVsVHlwZXNbXCJVc2VyTWFpbExpbWl0c1wiXVxufTtcblx0W1wiVXNlck1haWxMaW1pdHNcIl06IHtcblx0XHRzZW50Ok1vZGVsVHlwZXNbXCJNYWlsTGltaXRzVmFsdWVzXCJdLFxuXHRyZWNlaXZlZDpNb2RlbFR5cGVzW1wiTWFpbExpbWl0c1ZhbHVlc1wiXVxufTtcblx0W1wiTWFpbFwiXToge1xuXHRcdGlkOnN0cmluZyxcblx0YXBwOk1vZGVsVHlwZXNbXCJBcHBsaWNhdGlvblwiXSxcblx0Ym9keTpzdHJpbmcsXG5cdGNyZWF0ZWRBdDpNb2RlbFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG5cdGRlbGV0ZWRBdD86TW9kZWxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuXHRmaWxlczpNb2RlbFR5cGVzW1wiRmlsZXNPbk1haWxzXCJdW10sXG5cdG1haWxJbnRlZ3JpdHk/Ok1vZGVsVHlwZXNbXCJNYWlsSW50ZWdyaXR5XCJdLFxuXHRtYWlsSW50ZWdyaXR5RHJhZnQ/Ok1vZGVsVHlwZXNbXCJNYWlsSW50ZWdyaXR5RHJhZnRcIl0sXG5cdG9wZW5lZEF0PzpNb2RlbFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG5cdHJlY2lwaWVudDpNb2RlbFR5cGVzW1wiVXNlclwiXSxcblx0c2VuZGVyOk1vZGVsVHlwZXNbXCJVc2VyXCJdLFxuXHRzdWJqZWN0OnN0cmluZyxcblx0dHlwZTpNb2RlbFR5cGVzW1wiTWFpbFR5cGVcIl0sXG5cdHJlY2lwaWVudHM6TW9kZWxUeXBlc1tcIlVzZXJcIl1bXVxufTtcblx0W1wiTWFpbEludGVncml0eVwiXToge1xuXHRcdGlkOnN0cmluZyxcblx0aGFzaDpzdHJpbmcsXG5cdGhhc2hLZXk6c3RyaW5nLFxuXHRhbnN3ZXJzOk1vZGVsVHlwZXNbXCJNYWlsSW50ZWdyaXR5XCJdW10sXG5cdGFwcDpNb2RlbFR5cGVzW1wiQXBwbGljYXRpb25cIl0sXG5cdG1haWxzOk1vZGVsVHlwZXNbXCJNYWlsXCJdW10sXG5cdHJlY2lwaWVudHM6TW9kZWxUeXBlc1tcIlVzZXJcIl1bXSxcblx0dGVtcG9yYXJ5UmVjaXBpZW50czpNb2RlbFR5cGVzW1wiVGVtcG9yYXJ5VXNlclwiXVtdLFxuXHRyZXBseVRvPzpNb2RlbFR5cGVzW1wiTWFpbEludGVncml0eVwiXVxufTtcblx0W1wiTWFpbEludGVncml0eURyYWZ0XCJdOiB7XG5cdFx0aWQ6c3RyaW5nLFxuXHRoYXNoOnN0cmluZyxcblx0aGFzaEtleTpzdHJpbmcsXG5cdGFwcDpNb2RlbFR5cGVzW1wiQXBwbGljYXRpb25cIl0sXG5cdG1haWw6TW9kZWxUeXBlc1tcIk1haWxcIl0sXG5cdHJlY2lwaWVudHM6TW9kZWxUeXBlc1tcIlVzZXJcIl1bXSxcblx0dGVtcG9yYXJ5UmVjaXBpZW50czpNb2RlbFR5cGVzW1wiVGVtcG9yYXJ5VXNlclwiXVtdLFxuXHRyZXBseVRvPzpNb2RlbFR5cGVzW1wiTWFpbEludGVncml0eVwiXVxufTtcblx0W1wiUGxhblwiXToge1xuXHRcdGlkOnN0cmluZyxcblx0a2luZDpNb2RlbFR5cGVzW1wiUGxhbktpbmRcIl0sXG5cdGNvZGVzOnN0cmluZ1tdLFxuXHRsaW1pdHM6TW9kZWxUeXBlc1tcIkxpbWl0c1wiXVxufTtcblx0W1wiUmVwb3J0XCJdOiB7XG5cdFx0aWQ6c3RyaW5nLFxuXHR1c2VyOk1vZGVsVHlwZXNbXCJVc2VyXCJdLFxuXHRyZXBvcnRlZFVzZXI6TW9kZWxUeXBlc1tcIlVzZXJcIl0sXG5cdGN1c3RvbU1lc3NhZ2U/OnN0cmluZ1xufTtcblx0W1wiVGVtcG9yYXJ5VXNlclwiXToge1xuXHRcdGlkOnN0cmluZyxcblx0bWFpbHM6TW9kZWxUeXBlc1tcIk1haWxJbnRlZ3JpdHlcIl1bXSxcblx0ZHJhZnRNYWlsczpNb2RlbFR5cGVzW1wiTWFpbEludGVncml0eURyYWZ0XCJdW10sXG5cdGVtYWlsPzpzdHJpbmdcbn07XG5cdFtcIlVzZXJcIl06IHtcblx0XHRpZDpzdHJpbmcsXG5cdGRlbGV0ZWRBdD86TW9kZWxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuXHRsYW5nOk1vZGVsVHlwZXNbXCJMYW5nXCJdLFxuXHRyZXBvcnRTZW50Ok1vZGVsVHlwZXNbXCJSZXBvcnRcIl1bXSxcblx0Z29kRmF0aGVyPzpNb2RlbFR5cGVzW1wiVXNlclwiXSxcblx0Z29kQ2hpbGRyZW46TW9kZWxUeXBlc1tcIlVzZXJcIl1bXSxcblx0Zmlyc3RuYW1lOnN0cmluZyxcblx0bGFzdG5hbWU6c3RyaW5nLFxuXHRlbWFpbDpzdHJpbmcsXG5cdHBob25lOnN0cmluZyxcblx0bGFzdExvZ2luOk1vZGVsVHlwZXNbXCJEYXRlVGltZVwiXSxcblx0cm9sZTpNb2RlbFR5cGVzW1wiVXNlclJvbGVcIl0sXG5cdHNlc3Npb25zOk1vZGVsVHlwZXNbXCJVc2VyU2Vzc2lvblwiXVtdLFxuXHRjcmVhdGVkQXQ6TW9kZWxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuXHRyZWNlaXZlZE1haWxzOk1vZGVsVHlwZXNbXCJNYWlsXCJdW10sXG5cdHdhaXRpbmdSZWNlaXZlZE1haWxzOk1vZGVsVHlwZXNbXCJXYWl0aW5nUmVjZWl2ZWRNYWlsXCJdW10sXG5cdHNlbnRNYWlsczpNb2RlbFR5cGVzW1wiTWFpbFwiXVtdLFxuXHRkcmFmdE1haWxzOk1vZGVsVHlwZXNbXCJNYWlsXCJdW10sXG5cdGFwcFNldHRpbmdzPzpNb2RlbFR5cGVzW1wiVXNlckFwcFNldHRpbmdzXCJdLFxuXHRhcHBsaWNhdGlvbnM6TW9kZWxUeXBlc1tcIkFwcGxpY2F0aW9uc09uVXNlcnNcIl1bXSxcblx0cHVibGljS2V5OnN0cmluZ1xufTtcblx0W1wiVXNlckFwcE5vdGlmaWNhdGlvbnNcIl06IHtcblx0XHRpZDpzdHJpbmcsXG5cdGVuYWJsZUFsbDpib29sZWFuLFxuXHRtYWlsOmJvb2xlYW4sXG5cdGNsb3VkOmJvb2xlYW4sXG5cdGRpc2FibGVBbGxVbnRpbD86TW9kZWxUeXBlc1tcIkRhdGVUaW1lXCJdXG59O1xuXHRbXCJVc2VyQXBwU2V0dGluZ3NcIl06IHtcblx0XHRpZDpzdHJpbmcsXG5cdGNsb3VkRmlsZURheXNGb3JEZWxldGU6bnVtYmVyLFxuXHRjbG91ZEZvbGRlckRheXNGb3JEZWxldGU6bnVtYmVyLFxuXHRoaXN0b3J5RmlsZURheXNGb3JEZWxldGU/Om51bWJlcixcblx0aGlzdG9yeU1heEZpbGVDb3VudDpudW1iZXIsXG5cdGF1dG9EaXNjb25uZWN0RGVsYXk/Om51bWJlclxufTtcblx0W1wiVXNlclNlc3Npb25cIl06IHtcblx0XHRpZDpzdHJpbmcsXG5cdGFwcFNlc3Npb25zOk1vZGVsVHlwZXNbXCJBcHBTZXNzaW9uXCJdW10sXG5cdGxhc3RBY3Rpdml0eT86TW9kZWxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuXHR1c2VyQWdlbnQ/OnN0cmluZyxcblx0aXA/OnN0cmluZyxcblx0Y2l0eT86c3RyaW5nLFxuXHRjb3VudHJ5PzpzdHJpbmcsXG5cdGNyZWF0ZWRBdDpNb2RlbFR5cGVzW1wiRGF0ZVRpbWVcIl1cbn07XG5cdFtcIlZGaWxlXCJdOiB7XG5cdFx0aWQ6c3RyaW5nLFxuXHRpc0Zhdm9yaXRlOmJvb2xlYW4sXG5cdGNyZWF0ZWRBdDpNb2RlbFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG5cdGRlbGV0ZWRBdD86TW9kZWxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuXHRmaWxlbmFtZTpzdHJpbmcsXG5cdHVzZXJBcHBzOk1vZGVsVHlwZXNbXCJWRmlsZXNPblVzZXJzT25BcHBsaWNhdGlvbnNcIl1bXSxcblx0Y3JlYXRlZEJ5Ok1vZGVsVHlwZXNbXCJBcHBsaWNhdGlvbnNPblVzZXJzXCJdLFxuXHR1c2VyQXBwPzpNb2RlbFR5cGVzW1wiVkZpbGVzT25Vc2Vyc09uQXBwbGljYXRpb25zXCJdLFxuXHRmb2xkZXI6TW9kZWxUeXBlc1tcIkZvbGRlclwiXSxcblx0aGlzdG9yeTpNb2RlbFR5cGVzW1wiRmlsZVwiXVtdLFxuXHRjdXJyZW50PzpNb2RlbFR5cGVzW1wiRmlsZVwiXSxcblx0dXBkYXRlZEF0Ok1vZGVsVHlwZXNbXCJEYXRlVGltZVwiXVxufTtcblx0W1wiVkZpbGVzT25Vc2Vyc09uQXBwbGljYXRpb25zXCJdOiB7XG5cdFx0dkZpbGU6TW9kZWxUeXBlc1tcIlZGaWxlXCJdLFxuXHR1c2VyQXBwOk1vZGVsVHlwZXNbXCJBcHBsaWNhdGlvbnNPblVzZXJzXCJdLFxuXHRyaWdodHM6TW9kZWxUeXBlc1tcIlJpZ2h0c1wiXSxcblx0bmFtZUtleTpzdHJpbmcsXG5cdGlzUm9vdDpib29sZWFuXG59O1xuXHRbXCJXYWl0aW5nUmVjZWl2ZWRNYWlsXCJdOiB7XG5cdFx0c2VuZGVyOk1vZGVsVHlwZXNbXCJVc2VyXCJdLFxuXHRkYXRlOk1vZGVsVHlwZXNbXCJEYXRlVGltZVwiXSxcblx0cmVjaXBpZW50czpNb2RlbFR5cGVzW1wiVXNlclwiXVtdLFxuXHR0ZW1wb3JhcnlSZWNpcGllbnRzOk1vZGVsVHlwZXNbXCJUZW1wb3JhcnlVc2VyXCJdW10sXG5cdGF0dGFjaG1lbnRzQ291bnQ6bnVtYmVyXG59O1xuXHRbXCJQYXltZW50SW5mb3NcIl06IHtcblx0XHRob3N0ZWRVcmw6c3RyaW5nLFxuXHRjdXJyZW50U3Vic2NyaXB0aW9uOk1vZGVsVHlwZXNbXCJSZWN1cmx5U3Vic2NyaXB0aW9uXCJdLFxuXHRpbnZvaWNlczpNb2RlbFR5cGVzW1wiUmVjdXJseUludm9pY2VzXCJdW11cbn07XG5cdFtcIlJlY3VybHlJbnZvaWNlc1wiXToge1xuXHRcdHBkZjpzdHJpbmcsXG5cdGRhdGU6TW9kZWxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuXHRkdWU6TW9kZWxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuXHRzdGF0dXM6c3RyaW5nLFxuXHR0b3RhbDpudW1iZXIsXG5cdG5hbWU6c3RyaW5nLFxuXHRjdXJyZW5jeTpzdHJpbmdcbn07XG5cdFtcIlJlY3VybHlTdWJzY3JpcHRpb25cIl06IHtcblx0XHRhdXRvcmVuZXc6Ym9vbGVhbixcblx0YWN0aXZhdGVkQXQ/Ok1vZGVsVHlwZXNbXCJEYXRlVGltZVwiXSxcblx0Y3VycmVudFBlcmlvZEVuZHNBdD86TW9kZWxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuXHRjdXJyZW50UGVyaW9kU3RhcnRlZEF0PzpNb2RlbFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG5cdGNhbmNlbGVkQXQ/Ok1vZGVsVHlwZXNbXCJEYXRlVGltZVwiXSxcblx0Y3JlYXRlZEF0PzpNb2RlbFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG5cdGV4cGlyZXNBdD86TW9kZWxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuXHRwYXVzZWRBdD86TW9kZWxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuXHR0cmlhbEVuZHNBdD86TW9kZWxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuXHR0cmlhbFN0YXJ0ZWRBdD86TW9kZWxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuXHR1cGRhdGVkQXQ/Ok1vZGVsVHlwZXNbXCJEYXRlVGltZVwiXSxcblx0c3RhdGU6c3RyaW5nLFxuXHRjb2xsZWN0aW9uTWV0aG9kOnN0cmluZyxcblx0cGxhbj86c3RyaW5nLFxuXHRwbGFuQ29kZT86c3RyaW5nLFxuXHR0b3RhbD86bnVtYmVyXG59O1xuXHRbXCJTaGFyZUZvbGRlclJlc3BvbnNlXCJdOiB7XG5cdFx0Zm9sZGVyczpzdHJpbmdbXSxcblx0dkZpbGVzOnN0cmluZ1tdXG59O1xuXHRbXCJRdWVyeVwiXToge1xuXHRcdGFwcE5vdGlmaWNhdGlvbnM/Ok1vZGVsVHlwZXNbXCJVc2VyQXBwTm90aWZpY2F0aW9uc1wiXSxcblx0YmxvZzpNb2RlbFR5cGVzW1wiQmxvZ0l0ZW1cIl1bXSxcblx0ZGJDb25maWc/Ok1vZGVsVHlwZXNbXCJKc29uXCJdLFxuXHRkYkdldD86TW9kZWxUeXBlc1tcIkpzb25cIl0sXG5cdGRiU2VhcmNoOk1vZGVsVHlwZXNbXCJKc29uXCJdW10sXG5cdGRlbGV0ZWRGb2xkZXJzOk1vZGVsVHlwZXNbXCJGb2xkZXJcIl1bXSxcblx0ZGVsZXRlZE1haWxzOk1vZGVsVHlwZXNbXCJNYWlsXCJdW10sXG5cdGRlbGV0ZWRWRmlsZXM6TW9kZWxUeXBlc1tcIlZGaWxlXCJdW10sXG5cdGZhcTpNb2RlbFR5cGVzW1wiRmFxSXRlbVwiXVtdLFxuXHRmaWxlPzpNb2RlbFR5cGVzW1wiRmlsZVwiXSxcblx0ZmlsZUNvbnRlbnQ/Ok1vZGVsVHlwZXNbXCJGaWxlQ29udGVudFwiXSxcblx0ZmlsZXNTaGFyZWRXaXRoTWU6TW9kZWxUeXBlc1tcIkZpbGVTaGFyZWRDb250ZW50XCJdW10sXG5cdGZvbGRlcj86TW9kZWxUeXBlc1tcIkZvbGRlclwiXSxcblx0Zm9sZGVyU2l6ZT86TW9kZWxUeXBlc1tcIkZvbGRlclNpemVcIl0sXG5cdGZvbGRlcnNTaGFyZWRXaXRoTWU6TW9kZWxUeXBlc1tcIkZvbGRlclwiXVtdLFxuXHRsaW1pdHM/Ok1vZGVsVHlwZXNbXCJRdWVyeUxpbWl0c1wiXSxcblx0bWFpbD86TW9kZWxUeXBlc1tcIk1haWxcIl0sXG5cdHBheW1lbnRJbmZvcz86TW9kZWxUeXBlc1tcIlBheW1lbnRJbmZvc1wiXSxcblx0cGxhbnM6TW9kZWxUeXBlc1tcIlBsYW5cIl1bXSxcblx0c2hhcmVkRm9sZGVyczpNb2RlbFR5cGVzW1wiRm9sZGVyXCJdW10sXG5cdHNoYXJlZFZGaWxlczpNb2RlbFR5cGVzW1wiVkZpbGVcIl1bXSxcblx0dGVzdD86Ym9vbGVhbixcblx0dW5yZWFkUmVjZWl2ZWRNYWlsc0NvdW50PzpudW1iZXIsXG5cdHVzZXI/Ok1vZGVsVHlwZXNbXCJVc2VyXCJdLFxuXHR2RmlsZT86TW9kZWxUeXBlc1tcIlZGaWxlXCJdLFxuXHR2RmlsZXNTaGFyZWRXaXRoTWU6TW9kZWxUeXBlc1tcIlZGaWxlXCJdW10sXG5cdHVzZXJMaXN0Ok1vZGVsVHlwZXNbXCJVc2VyXCJdW11cbn07XG5cdFtcIk11dGF0aW9uXCJdOiB7XG5cdFx0YWRkRmlsZVRvSGlzdG9yeTpNb2RlbFR5cGVzW1wiVkZpbGVcIl0sXG5cdGNhbmNlbFBheW1lbnQ/OmJvb2xlYW4sXG5cdGNyZWF0ZUFwcGxpY2F0aW9uPzpzdHJpbmcsXG5cdGNyZWF0ZURyYWZ0TWFpbD86TW9kZWxUeXBlc1tcIk1haWxcIl0sXG5cdGNyZWF0ZUZvbGRlcj86TW9kZWxUeXBlc1tcIkZvbGRlclwiXSxcblx0ZGJDb25maWc6TW9kZWxUeXBlc1tcIkpzb25cIl0sXG5cdGRiU2V0PzpNb2RlbFR5cGVzW1wiSnNvblwiXSxcblx0ZGVsZXRlRHJhZnRNYWlsPzpib29sZWFuLFxuXHRkZWxldGVGaWxlOmJvb2xlYW4sXG5cdGRlbGV0ZUZvbGRlcj86Ym9vbGVhbixcblx0ZGVsZXRlRm9sZGVyQ2xvdWRUcmFzaD86Ym9vbGVhbixcblx0ZGVsZXRlRm9sZGVyU2hhcmluZzpib29sZWFuLFxuXHRkZWxldGVNYWlsOmJvb2xlYW4sXG5cdGRlbGV0ZU1haWxUcmFzaDpib29sZWFuLFxuXHRkZWxldGVVc2VyPzpib29sZWFuLFxuXHRkZWxldGVWRmlsZTpib29sZWFuLFxuXHRkZWxldGVWRmlsZUNsb3VkVHJhc2g/OmJvb2xlYW4sXG5cdGRlbGV0ZVZGaWxlU2hhcmluZzpib29sZWFuLFxuXHRkdXBsaWNhdGVWRmlsZTpib29sZWFuLFxuXHRlbXB0eUNsb3VkVHJhc2g/OmJvb2xlYW4sXG5cdGVtcHR5TWFpbFRyYXNoPzpib29sZWFuLFxuXHRsb2dvdXQ/OmJvb2xlYW4sXG5cdG1vdmVGaWxlcz86Ym9vbGVhbixcblx0bW92ZUZvbGRlcnM/OmJvb2xlYW4sXG5cdHBheTpib29sZWFuLFxuXHRyZWFkTWFpbD86Ym9vbGVhbixcblx0cmVjb3ZlckZvbGRlcj86Ym9vbGVhbixcblx0cmVjb3Zlck1haWw6Ym9vbGVhbixcblx0cmVjb3ZlclZGaWxlOmJvb2xlYW4sXG5cdHNhdmVJbkNsb3VkOk1vZGVsVHlwZXNbXCJWRmlsZVwiXSxcblx0c2VuZERyYWZ0TWFpbD86Ym9vbGVhbixcblx0c2VuZE9uZU1haWw/OmJvb2xlYW4sXG5cdHNlbmRSZXBvcnQ/Ok1vZGVsVHlwZXNbXCJSZXBvcnRcIl0sXG5cdHNoYXJlRmlsZUluSGlzdG9yeTpib29sZWFuLFxuXHRzaGFyZUZvbGRlcjpNb2RlbFR5cGVzW1wiU2hhcmVGb2xkZXJSZXNwb25zZVwiXSxcblx0c2hhcmVGb2xkZXJGaW5pc2g/OmJvb2xlYW4sXG5cdHNoYXJlVkZpbGU/OmJvb2xlYW4sXG5cdHVucmVhZE1haWw/OmJvb2xlYW4sXG5cdHVwZGF0ZUFwcE5vdGlmaWNhdGlvbnM/Ok1vZGVsVHlwZXNbXCJVc2VyQXBwTm90aWZpY2F0aW9uc1wiXSxcblx0dXBkYXRlQXBwU2V0dGluZ3M6TW9kZWxUeXBlc1tcIlVzZXJBcHBTZXR0aW5nc1wiXSxcblx0dXBkYXRlRHJhZnRNYWlsPzpNb2RlbFR5cGVzW1wiTWFpbFwiXSxcblx0dXBkYXRlRmlsZT86TW9kZWxUeXBlc1tcIlZGaWxlXCJdLFxuXHR1cGRhdGVGb2xkZXI/Ok1vZGVsVHlwZXNbXCJGb2xkZXJcIl0sXG5cdHVwZGF0ZVByb2ZpbGU/Ok1vZGVsVHlwZXNbXCJVc2VyXCJdLFxuXHR1cGxvYWRBbm9ueW1vdXM/Ok1vZGVsVHlwZXNbXCJGaWxlUmVzcG9uc2VcIl0sXG5cdHVwbG9hZEZpbGU/Ok1vZGVsVHlwZXNbXCJGaWxlUmVzcG9uc2VcIl0sXG5cdHVwbG9hZEZpbGVFbmQ/OnN0cmluZyxcblx0dXBsb2FkRmlsZVBhcnRFbmQ6Ym9vbGVhbixcblx0Y2hhbmdlVXNlclBsYW4/Ok1vZGVsVHlwZXNbXCJVc2VyXCJdXG59O1xuXHRbXCJTdWJzY3JpcHRpb25cIl06IHtcblx0XHR0ZXN0OmJvb2xlYW5cbn1cbiAgICB9XG5cbmV4cG9ydCB0eXBlIEdyYXBoUUxUeXBlcyA9IHtcbiAgICAvKiogVGhlIGBCaWdJbnRgIHNjYWxhciB0eXBlIHJlcHJlc2VudHMgbm9uLWZyYWN0aW9uYWwgc2lnbmVkIHdob2xlIG51bWVyaWMgdmFsdWVzLlxuQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9CaWdJbnQgKi9cbltcIkJpZ0ludFwiXTphbnk7XG5cdC8qKiBUaGUgYEJ5dGVgIHNjYWxhciB0eXBlIHJlcHJlc2VudHMgYnl0ZSB2YWx1ZSBhcyBhIEJ1ZmZlciAqL1xuW1wiQnl0ZXNcIl06YW55O1xuXHQvKiogQSBkYXRlLXRpbWUgc3RyaW5nIGF0IFVUQywgc3VjaCBhcyAyMDA3LTEyLTAzVDEwOjE1OjMwWiwgY29tcGxpYW50IHdpdGggdGhlIGBkYXRlLXRpbWVgIGZvcm1hdCBvdXRsaW5lZCBpbiBzZWN0aW9uIDUuNiBvZiB0aGUgUkZDIDMzMzkgcHJvZmlsZSBvZiB0aGUgSVNPIDg2MDEgc3RhbmRhcmQgZm9yIHJlcHJlc2VudGF0aW9uIG9mIGRhdGVzIGFuZCB0aW1lcyB1c2luZyB0aGUgR3JlZ29yaWFuIGNhbGVuZGFyLiAqL1xuW1wiRGF0ZVRpbWVcIl06YW55O1xuXHQvKiogQW4gYXJiaXRyYXJ5LXByZWNpc2lvbiBEZWNpbWFsIHR5cGUgKi9cbltcIkRlY2ltYWxcIl06YW55O1xuXHQvKiogVGhlIGBKU09OT2JqZWN0YCBzY2FsYXIgdHlwZSByZXByZXNlbnRzIEpTT04gb2JqZWN0cyBhcyBzcGVjaWZpZWQgYnkgW0VDTUEtNDA0XShodHRwOi8vd3d3LmVjbWEtaW50ZXJuYXRpb25hbC5vcmcvcHVibGljYXRpb25zL2ZpbGVzL0VDTUEtU1QvRUNNQS00MDQucGRmKS4gKi9cbltcIkpzb25cIl06YW55O1xuXHRbXCJMYW5nXCJdOiBMYW5nO1xuXHRbXCJQbGFuS2luZFwiXTogUGxhbktpbmQ7XG5cdFtcIlVzZXJSb2xlXCJdOiBVc2VyUm9sZTtcblx0W1wiTWFpbFR5cGVcIl06IE1haWxUeXBlO1xuXHRbXCJSaWdodHNcIl06IFJpZ2h0cztcblx0W1wiQXBwS2V5UGFpclwiXToge1xuXHRfX3R5cGVuYW1lOiBcIkFwcEtleVBhaXJcIixcblx0cHViOiBzdHJpbmdcbn07XG5cdFtcIkFwcFNlc3Npb25cIl06IHtcblx0X190eXBlbmFtZTogXCJBcHBTZXNzaW9uXCIsXG5cdGlkOiBzdHJpbmcsXG5cdGxhc3RBY3Rpdml0eT86IEdyYXBoUUxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuXHR1c2VyQWdlbnQ/OiBzdHJpbmcsXG5cdGlwPzogc3RyaW5nLFxuXHRjaXR5Pzogc3RyaW5nLFxuXHRjb3VudHJ5Pzogc3RyaW5nLFxuXHR1c2VyU2Vzc2lvbjogR3JhcGhRTFR5cGVzW1wiVXNlclNlc3Npb25cIl0sXG5cdHVzZXJBcHA/OiBHcmFwaFFMVHlwZXNbXCJBcHBsaWNhdGlvbnNPblVzZXJzXCJdLFxuXHRjcmVhdGVkQXQ6IEdyYXBoUUxUeXBlc1tcIkRhdGVUaW1lXCJdXG59O1xuXHRbXCJBcHBsaWNhdGlvblwiXToge1xuXHRfX3R5cGVuYW1lOiBcIkFwcGxpY2F0aW9uXCIsXG5cdGlkOiBzdHJpbmcsXG5cdG5hbWU6IHN0cmluZ1xufTtcblx0W1wiQXBwbGljYXRpb25zT25Vc2Vyc1wiXToge1xuXHRfX3R5cGVuYW1lOiBcIkFwcGxpY2F0aW9uc09uVXNlcnNcIixcblx0ZmFrZVVzZXJJZDogc3RyaW5nLFxuXHRrZXlQYWlyPzogR3JhcGhRTFR5cGVzW1wiQXBwS2V5UGFpclwiXSxcblx0c2Vzc2lvbnM6IEFycmF5PEdyYXBoUUxUeXBlc1tcIkFwcFNlc3Npb25cIl0+LFxuXHRhcHA6IEdyYXBoUUxUeXBlc1tcIkFwcGxpY2F0aW9uXCJdLFxuXHR1c2VyOiBHcmFwaFFMVHlwZXNbXCJVc2VyXCJdLFxuXHRmb2xkZXJzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJGb2xkZXJzT25Vc2Vyc09uQXBwbGljYXRpb25zXCJdPixcblx0c2V0dGluZ3M6IEdyYXBoUUxUeXBlc1tcIlVzZXJBcHBTZXR0aW5nc1wiXVxufTtcblx0W1wiQmxvZ1wiXToge1xuXHRfX3R5cGVuYW1lOiBcIkJsb2dcIixcblx0aWQ6IHN0cmluZyxcblx0b3JkZXI6IG51bWJlcixcblx0ZW50cmllczogQXJyYXk8R3JhcGhRTFR5cGVzW1wiQmxvZ0VudHJ5XCJdPlxufTtcblx0W1wiQmxvZ0VudHJ5XCJdOiB7XG5cdF9fdHlwZW5hbWU6IFwiQmxvZ0VudHJ5XCIsXG5cdGlkOiBzdHJpbmcsXG5cdGxhbmc6IEdyYXBoUUxUeXBlc1tcIkxhbmdcIl0sXG5cdGF1dGhvcjogc3RyaW5nLFxuXHRib2R5OiBzdHJpbmcsXG5cdGRhdGU6IEdyYXBoUUxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuXHRpbWFnZTogc3RyaW5nLFxuXHRzdW1tYXJ5OiBzdHJpbmcsXG5cdHRpdGxlOiBzdHJpbmdcbn07XG5cdFtcIkJsb2dJdGVtXCJdOiB7XG5cdF9fdHlwZW5hbWU6IFwiQmxvZ0l0ZW1cIixcblx0aWQ6IHN0cmluZyxcblx0YmxvZ0lkOiBzdHJpbmcsXG5cdG9yZGVyOiBudW1iZXIsXG5cdHRpdGxlOiBzdHJpbmcsXG5cdGJvZHk6IHN0cmluZyxcblx0YXV0aG9yOiBzdHJpbmcsXG5cdGltYWdlOiBzdHJpbmcsXG5cdGltYWdlQWx0OiBzdHJpbmcsXG5cdHN1bW1hcnk6IHN0cmluZyxcblx0ZGF0ZTogR3JhcGhRTFR5cGVzW1wiRGF0ZVRpbWVcIl1cbn07XG5cdFtcIkNsb3VkTGltaXRzXCJdOiB7XG5cdF9fdHlwZW5hbWU6IFwiQ2xvdWRMaW1pdHNcIixcblx0c2l6ZTogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuXHRtYXhTaXplPzogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuXHRjb3VudDogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuXHRtYXhDb3VudD86IEdyYXBoUUxUeXBlc1tcIkJpZ0ludFwiXVxufTtcblx0W1wiRmFxXCJdOiB7XG5cdF9fdHlwZW5hbWU6IFwiRmFxXCIsXG5cdGlkOiBzdHJpbmcsXG5cdG9yZGVyOiBudW1iZXIsXG5cdGVudHJpZXM6IEFycmF5PEdyYXBoUUxUeXBlc1tcIkZhcUVudHJ5XCJdPlxufTtcblx0W1wiRmFxRW50cnlcIl06IHtcblx0X190eXBlbmFtZTogXCJGYXFFbnRyeVwiLFxuXHRpZDogc3RyaW5nLFxuXHRsYW5nOiBHcmFwaFFMVHlwZXNbXCJMYW5nXCJdLFxuXHRxdWVzdGlvbjogc3RyaW5nLFxuXHRhbnN3ZXI6IHN0cmluZyxcblx0ZmFxOiBHcmFwaFFMVHlwZXNbXCJGYXFcIl1cbn07XG5cdFtcIkZhcUl0ZW1cIl06IHtcblx0X190eXBlbmFtZTogXCJGYXFJdGVtXCIsXG5cdG9yZGVyOiBudW1iZXIsXG5cdHF1ZXN0aW9uOiBzdHJpbmcsXG5cdGFuc3dlcjogc3RyaW5nXG59O1xuXHRbXCJGaWxlXCJdOiB7XG5cdF9fdHlwZW5hbWU6IFwiRmlsZVwiLFxuXHRpZDogc3RyaW5nLFxuXHRzaXplOiBHcmFwaFFMVHlwZXNbXCJCaWdJbnRcIl0sXG5cdHNpemVCZWZvcmU6IEdyYXBoUUxUeXBlc1tcIkJpZ0ludFwiXSxcblx0Y3JlYXRlZEF0OiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXSxcblx0dkZpbGVzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJWRmlsZVwiXT4sXG5cdHZGaWxlc0N1cnJlbnQ6IEFycmF5PEdyYXBoUUxUeXBlc1tcIlZGaWxlXCJdPixcblx0dXNlcnM6IEFycmF5PEdyYXBoUUxUeXBlc1tcIkZpbGVzT25Vc2Vyc09uQXBwbGljYXRpb25zXCJdPixcblx0bWQ1OiBzdHJpbmcsXG5cdG1kNUVuY3J5cHRlZDogc3RyaW5nLFxuXHRkZWxldGVkQXQ/OiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXSxcblx0dXNlckFwcDogR3JhcGhRTFR5cGVzW1wiQXBwbGljYXRpb25zT25Vc2Vyc1wiXSxcblx0bWFpbHM6IEFycmF5PEdyYXBoUUxUeXBlc1tcIkZpbGVzT25NYWlsc1wiXT4sXG5cdHZhbGlkYXRlZEF0PzogR3JhcGhRTFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG5cdHVzZXI/OiBHcmFwaFFMVHlwZXNbXCJGaWxlc09uVXNlcnNPbkFwcGxpY2F0aW9uc1wiXVxufTtcblx0W1wiRmlsZUNvbnRlbnRcIl06e1xuXHRfX3R5cGVuYW1lOlwiRmlsZUNvbnRlbnRDbG91ZFwiIHwgXCJGaWxlQ29udGVudFJlY2VpdmVkTWFpbFwiIHwgXCJGaWxlQ29udGVudFNlbnRNYWlsXCJcblx0WycuLi5vbiBGaWxlQ29udGVudENsb3VkJ106ICdfX3VuaW9uJyAmIEdyYXBoUUxUeXBlc1tcIkZpbGVDb250ZW50Q2xvdWRcIl07XG5cdFsnLi4ub24gRmlsZUNvbnRlbnRSZWNlaXZlZE1haWwnXTogJ19fdW5pb24nICYgR3JhcGhRTFR5cGVzW1wiRmlsZUNvbnRlbnRSZWNlaXZlZE1haWxcIl07XG5cdFsnLi4ub24gRmlsZUNvbnRlbnRTZW50TWFpbCddOiAnX191bmlvbicgJiBHcmFwaFFMVHlwZXNbXCJGaWxlQ29udGVudFNlbnRNYWlsXCJdO1xufTtcblx0W1wiRmlsZUNvbnRlbnRCYXNlXCJdOiB7XG5cdF9fdHlwZW5hbWU6XCJGaWxlQ29udGVudENsb3VkXCIgfCBcIkZpbGVDb250ZW50UmVjZWl2ZWRNYWlsXCIgfCBcIkZpbGVDb250ZW50U2VudE1haWxcIixcblx0cGFydHM6IEFycmF5PEdyYXBoUUxUeXBlc1tcIkZpbGVDb250ZW50UGFydFwiXT4sXG5cdGtleTogc3RyaW5nLFxuXHRtZDU6IHN0cmluZyxcblx0bWQ1RW5jcnlwdGVkOiBzdHJpbmcsXG5cdHRvdGFsU2l6ZTogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuXHR0eXBlOiBHcmFwaFFMVHlwZXNbXCJGaWxlQ29udGVudFR5cGVcIl1cblx0WycuLi5vbiBGaWxlQ29udGVudENsb3VkJ106ICdfX3VuaW9uJyAmIEdyYXBoUUxUeXBlc1tcIkZpbGVDb250ZW50Q2xvdWRcIl07XG5cdFsnLi4ub24gRmlsZUNvbnRlbnRSZWNlaXZlZE1haWwnXTogJ19fdW5pb24nICYgR3JhcGhRTFR5cGVzW1wiRmlsZUNvbnRlbnRSZWNlaXZlZE1haWxcIl07XG5cdFsnLi4ub24gRmlsZUNvbnRlbnRTZW50TWFpbCddOiAnX191bmlvbicgJiBHcmFwaFFMVHlwZXNbXCJGaWxlQ29udGVudFNlbnRNYWlsXCJdO1xufTtcblx0W1wiRmlsZUNvbnRlbnRDbG91ZFwiXToge1xuXHRfX3R5cGVuYW1lOiBcIkZpbGVDb250ZW50Q2xvdWRcIixcblx0cGFydHM6IEFycmF5PEdyYXBoUUxUeXBlc1tcIkZpbGVDb250ZW50UGFydFwiXT4sXG5cdGtleTogc3RyaW5nLFxuXHRtZDU6IHN0cmluZyxcblx0bWQ1RW5jcnlwdGVkOiBzdHJpbmcsXG5cdHRvdGFsU2l6ZTogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuXHR0eXBlOiBHcmFwaFFMVHlwZXNbXCJGaWxlQ29udGVudFR5cGVcIl0sXG5cdHB1YmxpY0tleTogc3RyaW5nXG59O1xuXHRbXCJGaWxlQ29udGVudFBhcnRcIl06IHtcblx0X190eXBlbmFtZTogXCJGaWxlQ29udGVudFBhcnRcIixcblx0Y29udGVudFVybDogc3RyaW5nLFxuXHRvcmRlcjogbnVtYmVyLFxuXHRtZDU6IHN0cmluZ1xufTtcblx0W1wiRmlsZUNvbnRlbnRSZWNlaXZlZE1haWxcIl06IHtcblx0X190eXBlbmFtZTogXCJGaWxlQ29udGVudFJlY2VpdmVkTWFpbFwiLFxuXHRwYXJ0czogQXJyYXk8R3JhcGhRTFR5cGVzW1wiRmlsZUNvbnRlbnRQYXJ0XCJdPixcblx0a2V5OiBzdHJpbmcsXG5cdG1kNTogc3RyaW5nLFxuXHRtZDVFbmNyeXB0ZWQ6IHN0cmluZyxcblx0dG90YWxTaXplOiBHcmFwaFFMVHlwZXNbXCJCaWdJbnRcIl0sXG5cdHR5cGU6IEdyYXBoUUxUeXBlc1tcIkZpbGVDb250ZW50VHlwZVwiXSxcblx0c2VuZGVyUHVibGljS2V5OiBzdHJpbmdcbn07XG5cdFtcIkZpbGVDb250ZW50U2VudE1haWxcIl06IHtcblx0X190eXBlbmFtZTogXCJGaWxlQ29udGVudFNlbnRNYWlsXCIsXG5cdHBhcnRzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJGaWxlQ29udGVudFBhcnRcIl0+LFxuXHRrZXk6IHN0cmluZyxcblx0bWQ1OiBzdHJpbmcsXG5cdG1kNUVuY3J5cHRlZDogc3RyaW5nLFxuXHR0b3RhbFNpemU6IEdyYXBoUUxUeXBlc1tcIkJpZ0ludFwiXSxcblx0dHlwZTogR3JhcGhRTFR5cGVzW1wiRmlsZUNvbnRlbnRUeXBlXCJdXG59O1xuXHRbXCJGaWxlQ29udGVudFR5cGVcIl06IEZpbGVDb250ZW50VHlwZTtcblx0W1wiRmlsZVBhcnRcIl06IHtcblx0X190eXBlbmFtZTogXCJGaWxlUGFydFwiLFxuXHRpZDogc3RyaW5nLFxuXHRmaWxlOiBHcmFwaFFMVHlwZXNbXCJGaWxlXCJdLFxuXHRmaWxlSWQ6IHN0cmluZyxcblx0c2l6ZTogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuXHRvcmRlcjogbnVtYmVyLFxuXHRtZDU6IHN0cmluZyxcblx0dmFsaWRhdGVkQXQ/OiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXVxufTtcblx0W1wiRmlsZVBhcnRSZXNwb25zZVwiXToge1xuXHRfX3R5cGVuYW1lOiBcIkZpbGVQYXJ0UmVzcG9uc2VcIixcblx0ZmllbGRzOiBHcmFwaFFMVHlwZXNbXCJKc29uXCJdLFxuXHR1cmw6IHN0cmluZyxcblx0b3JkZXI6IG51bWJlclxufTtcblx0W1wiRmlsZVJlc3BvbnNlXCJdOiB7XG5cdF9fdHlwZW5hbWU6IFwiRmlsZVJlc3BvbnNlXCIsXG5cdGZpbGVJZDogc3RyaW5nLFxuXHRwYXJ0czogQXJyYXk8R3JhcGhRTFR5cGVzW1wiRmlsZVBhcnRSZXNwb25zZVwiXT4sXG5cdGZpbGVQYXJ0U2l6ZTogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdXG59O1xuXHRbXCJGaWxlU2hhcmVkXCJdOiB7XG5cdF9fdHlwZW5hbWU6IFwiRmlsZVNoYXJlZFwiLFxuXHR1c2VySWQ6IHN0cmluZyxcblx0bWVzc2FnZT86IHN0cmluZyxcblx0YXBwSWQ6IHN0cmluZyxcblx0aWQ6IHN0cmluZyxcblx0ZmlsZW5hbWU6IHN0cmluZyxcblx0c2l6ZTogbnVtYmVyLFxuXHRzaXplQmVmb3JlOiBudW1iZXJcbn07XG5cdFtcIkZpbGVTaGFyZWRDb250ZW50XCJdOiB7XG5cdF9fdHlwZW5hbWU6IFwiRmlsZVNoYXJlZENvbnRlbnRcIixcblx0b3duZXJJZD86IHN0cmluZyxcblx0cHViS2V5Pzogc3RyaW5nLFxuXHRtZXNzYWdlPzogc3RyaW5nLFxuXHRhcHBJZDogc3RyaW5nLFxuXHRpZDogc3RyaW5nLFxuXHR0eXBlOiBzdHJpbmcsXG5cdGZpbGVuYW1lOiBzdHJpbmcsXG5cdGNvbnRlbnRVcmw6IHN0cmluZyxcblx0a2V5OiBzdHJpbmcsXG5cdHNpemU6IG51bWJlcixcblx0c2l6ZUJlZm9yZTogbnVtYmVyXG59O1xuXHRbXCJGaWxlc09uTWFpbHNcIl06IHtcblx0X190eXBlbmFtZTogXCJGaWxlc09uTWFpbHNcIixcblx0ZmlsZTogR3JhcGhRTFR5cGVzW1wiRmlsZVwiXSxcblx0ZmlsZUtleTogc3RyaW5nLFxuXHRmaWxlbmFtZTogc3RyaW5nLFxuXHRtYWlsOiBHcmFwaFFMVHlwZXNbXCJNYWlsXCJdXG59O1xuXHRbXCJGaWxlc09uVXNlcnNPbkFwcGxpY2F0aW9uc1wiXToge1xuXHRfX3R5cGVuYW1lOiBcIkZpbGVzT25Vc2Vyc09uQXBwbGljYXRpb25zXCIsXG5cdGZpbGU6IEdyYXBoUUxUeXBlc1tcIkZpbGVcIl0sXG5cdHVzZXJBcHA6IEdyYXBoUUxUeXBlc1tcIkFwcGxpY2F0aW9uc09uVXNlcnNcIl0sXG5cdC8qKiBFbmNyeXB0ZWQgd2l0aCBVc2VyQXBwIGtleXMgKi9cblx0a2V5OiBzdHJpbmdcbn07XG5cdFtcIkZvbGRlclwiXToge1xuXHRfX3R5cGVuYW1lOiBcIkZvbGRlclwiLFxuXHRpZDogc3RyaW5nLFxuXHRpc0Zhdm9yaXRlOiBib29sZWFuLFxuXHRjcmVhdGVkQXQ6IEdyYXBoUUxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuXHRkZWxldGVkQXQ/OiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXSxcblx0dXBkYXRlZEF0OiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXSxcblx0Y3JlYXRlZEJ5OiBHcmFwaFFMVHlwZXNbXCJBcHBsaWNhdGlvbnNPblVzZXJzXCJdLFxuXHR1c2VyQXBwczogQXJyYXk8R3JhcGhRTFR5cGVzW1wiRm9sZGVyc09uVXNlcnNPbkFwcGxpY2F0aW9uc1wiXT4sXG5cdHVzZXJBcHA/OiBHcmFwaFFMVHlwZXNbXCJGb2xkZXJzT25Vc2Vyc09uQXBwbGljYXRpb25zXCJdLFxuXHRuYW1lOiBzdHJpbmcsXG5cdHBhcmVudEZvbGRlcj86IEdyYXBoUUxUeXBlc1tcIkZvbGRlclwiXSxcblx0c3ViZm9sZGVyczogQXJyYXk8R3JhcGhRTFR5cGVzW1wiRm9sZGVyXCJdPixcblx0dkZpbGVzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJWRmlsZVwiXT4sXG5cdGJyZWFkY3J1bWI6IEFycmF5PEdyYXBoUUxUeXBlc1tcIkZvbGRlckJyZWFkY3J1bWJJdGVtXCJdPlxufTtcblx0W1wiRm9sZGVyQnJlYWRjcnVtYkl0ZW1cIl06IHtcblx0X190eXBlbmFtZTogXCJGb2xkZXJCcmVhZGNydW1iSXRlbVwiLFxuXHRpZDogc3RyaW5nLFxuXHRuYW1lOiBzdHJpbmcsXG5cdHB1YktleTogc3RyaW5nLFxuXHRuYW1lS2V5Pzogc3RyaW5nXG59O1xuXHRbXCJGb2xkZXJTaXplXCJdOiB7XG5cdF9fdHlwZW5hbWU6IFwiRm9sZGVyU2l6ZVwiLFxuXHRzaXplOiBHcmFwaFFMVHlwZXNbXCJCaWdJbnRcIl0sXG5cdHNpemVCZWZvcmU6IEdyYXBoUUxUeXBlc1tcIkJpZ0ludFwiXVxufTtcblx0W1wiRm9sZGVyc09uVXNlcnNPbkFwcGxpY2F0aW9uc1wiXToge1xuXHRfX3R5cGVuYW1lOiBcIkZvbGRlcnNPblVzZXJzT25BcHBsaWNhdGlvbnNcIixcblx0Zm9sZGVyOiBHcmFwaFFMVHlwZXNbXCJGb2xkZXJcIl0sXG5cdHVzZXJBcHA6IEdyYXBoUUxUeXBlc1tcIkFwcGxpY2F0aW9uc09uVXNlcnNcIl0sXG5cdHJpZ2h0czogR3JhcGhRTFR5cGVzW1wiUmlnaHRzXCJdLFxuXHRuYW1lS2V5Pzogc3RyaW5nLFxuXHRpc1Jvb3Q6IGJvb2xlYW5cbn07XG5cdFtcIk1haWxGaWxlSW5wdXRcIl06IHtcblx0XHRpZDogc3RyaW5nLFxuXHRuYW1lOiBzdHJpbmcsXG5cdGZpbGVLZXk6IHN0cmluZ1xufTtcblx0W1wiTWFpbFJlY2lwaWVudElucHV0XCJdOiB7XG5cdFx0Ym9keTogc3RyaW5nLFxuXHRzdWJqZWN0OiBzdHJpbmcsXG5cdHJlY2lwaWVudElkOiBzdHJpbmcsXG5cdGZpbGVzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJNYWlsRmlsZUlucHV0XCJdPlxufTtcblx0W1wiTmFtZUtleUlucHV0XCJdOiB7XG5cdFx0aWQ6IHN0cmluZyxcblx0bmFtZUtleTogc3RyaW5nLFxuXHRmaWxlczogQXJyYXk8R3JhcGhRTFR5cGVzW1wiU2hhcmVGaWxlS2V5SW5wdXRcIl0+XG59O1xuXHRbXCJOYW1lS2V5SW5wdXRGb2xkZXJzXCJdOiB7XG5cdFx0aWQ6IHN0cmluZyxcblx0bmFtZUtleTogc3RyaW5nXG59O1xuXHRbXCJQYXlJbnB1dFwiXToge1xuXHRcdHR5cGU6IEdyYXBoUUxUeXBlc1tcIlBheUlucHV0VHlwZVwiXSxcblx0dG9rZW46IHN0cmluZyxcblx0Zmlyc3ROYW1lOiBzdHJpbmcsXG5cdGxhc3ROYW1lOiBzdHJpbmcsXG5cdHN0cmVldDogc3RyaW5nLFxuXHRwb3N0YWxDb2RlOiBzdHJpbmcsXG5cdGNpdHk6IHN0cmluZyxcblx0Y291bnRyeTogc3RyaW5nLFxuXHRudW1iZXI6IHN0cmluZyxcblx0bW9udGg6IHN0cmluZyxcblx0eWVhcjogc3RyaW5nLFxuXHRjdnY6IHN0cmluZ1xufTtcblx0W1wiUGF5SW5wdXRUeXBlXCJdOiBQYXlJbnB1dFR5cGU7XG5cdFtcIlNoYXJlRmlsZUluSGlzdG9yeUlucHV0XCJdOiB7XG5cdFx0ZmlsZUlkOiBzdHJpbmcsXG5cdHVzZXJzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJTaGFyZUZpbGVLZXlJbnB1dFwiXT5cbn07XG5cdFtcIlNoYXJlRmlsZUtleUlucHV0XCJdOiB7XG5cdFx0aWQ6IHN0cmluZyxcblx0a2V5OiBzdHJpbmdcbn07XG5cdFtcIlNoYXJlRm9sZGVyc0lucHV0XCJdOiB7XG5cdFx0Zm9sZGVyczogQXJyYXk8R3JhcGhRTFR5cGVzW1wiTmFtZUtleUlucHV0Rm9sZGVyc1wiXT4sXG5cdHZGaWxlczogQXJyYXk8R3JhcGhRTFR5cGVzW1wiTmFtZUtleUlucHV0XCJdPlxufTtcblx0W1wiTGltaXRzXCJdOiB7XG5cdF9fdHlwZW5hbWU6IFwiTGltaXRzXCIsXG5cdGRvd25sb2FkQmFuZHdpZHRoPzogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuXHRkb3dubG9hZENvdW50PzogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuXHRoYXJkRmlsZUNvdW50PzogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuXHRoYXJkRmlsZVNpemU/OiBHcmFwaFFMVHlwZXNbXCJCaWdJbnRcIl0sXG5cdHBlckZpbGVTaXplPzogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuXHRyZWNlaXZlZE1haWxzOiBHcmFwaFFMVHlwZXNbXCJNYWlsTGltaXRzXCJdLFxuXHRzZW50TWFpbHM6IEdyYXBoUUxUeXBlc1tcIk1haWxMaW1pdHNcIl0sXG5cdHVwbG9hZEJhbmR3aWR0aD86IEdyYXBoUUxUeXBlc1tcIkJpZ0ludFwiXSxcblx0dXBsb2FkQ291bnQ/OiBHcmFwaFFMVHlwZXNbXCJCaWdJbnRcIl1cbn07XG5cdFtcIk1haWxMaW1pdHNcIl06IHtcblx0X190eXBlbmFtZTogXCJNYWlsTGltaXRzXCIsXG5cdGNvdW50PzogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuXHRmaWxlQ291bnQ/OiBHcmFwaFFMVHlwZXNbXCJCaWdJbnRcIl0sXG5cdGZpbGVTaXplPzogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuXHRoYXJkQ291bnQ/OiBHcmFwaFFMVHlwZXNbXCJCaWdJbnRcIl0sXG5cdGhhcmRGaWxlQ291bnQ/OiBHcmFwaFFMVHlwZXNbXCJCaWdJbnRcIl0sXG5cdGhhcmRGaWxlU2l6ZT86IEdyYXBoUUxUeXBlc1tcIkJpZ0ludFwiXSxcblx0cGVyRmlsZVNpemU/OiBHcmFwaFFMVHlwZXNbXCJCaWdJbnRcIl1cbn07XG5cdFtcIk1haWxMaW1pdHNWYWx1ZXNcIl06IHtcblx0X190eXBlbmFtZTogXCJNYWlsTGltaXRzVmFsdWVzXCIsXG5cdGNvdW50OiBHcmFwaFFMVHlwZXNbXCJCaWdJbnRcIl0sXG5cdG1heENvdW50PzogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuXHRmaWxlQ291bnQ6IEdyYXBoUUxUeXBlc1tcIkJpZ0ludFwiXSxcblx0bWF4RmlsZUNvdW50PzogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuXHRmaWxlU2l6ZTogR3JhcGhRTFR5cGVzW1wiQmlnSW50XCJdLFxuXHRtYXhGaWxlU2l6ZT86IEdyYXBoUUxUeXBlc1tcIkJpZ0ludFwiXVxufTtcblx0W1wiUXVlcnlMaW1pdHNcIl06IHtcblx0X190eXBlbmFtZTogXCJRdWVyeUxpbWl0c1wiLFxuXHRjbG91ZDogR3JhcGhRTFR5cGVzW1wiQ2xvdWRMaW1pdHNcIl0sXG5cdG1haWw6IEdyYXBoUUxUeXBlc1tcIlVzZXJNYWlsTGltaXRzXCJdXG59O1xuXHRbXCJVc2VyTWFpbExpbWl0c1wiXToge1xuXHRfX3R5cGVuYW1lOiBcIlVzZXJNYWlsTGltaXRzXCIsXG5cdHNlbnQ6IEdyYXBoUUxUeXBlc1tcIk1haWxMaW1pdHNWYWx1ZXNcIl0sXG5cdHJlY2VpdmVkOiBHcmFwaFFMVHlwZXNbXCJNYWlsTGltaXRzVmFsdWVzXCJdXG59O1xuXHRbXCJNYWlsXCJdOiB7XG5cdF9fdHlwZW5hbWU6IFwiTWFpbFwiLFxuXHRpZDogc3RyaW5nLFxuXHRhcHA6IEdyYXBoUUxUeXBlc1tcIkFwcGxpY2F0aW9uXCJdLFxuXHRib2R5OiBzdHJpbmcsXG5cdGNyZWF0ZWRBdDogR3JhcGhRTFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG5cdGRlbGV0ZWRBdD86IEdyYXBoUUxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuXHRmaWxlczogQXJyYXk8R3JhcGhRTFR5cGVzW1wiRmlsZXNPbk1haWxzXCJdPixcblx0bWFpbEludGVncml0eT86IEdyYXBoUUxUeXBlc1tcIk1haWxJbnRlZ3JpdHlcIl0sXG5cdG1haWxJbnRlZ3JpdHlEcmFmdD86IEdyYXBoUUxUeXBlc1tcIk1haWxJbnRlZ3JpdHlEcmFmdFwiXSxcblx0b3BlbmVkQXQ/OiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXSxcblx0cmVjaXBpZW50OiBHcmFwaFFMVHlwZXNbXCJVc2VyXCJdLFxuXHRzZW5kZXI6IEdyYXBoUUxUeXBlc1tcIlVzZXJcIl0sXG5cdHN1YmplY3Q6IHN0cmluZyxcblx0dHlwZTogR3JhcGhRTFR5cGVzW1wiTWFpbFR5cGVcIl0sXG5cdHJlY2lwaWVudHM6IEFycmF5PEdyYXBoUUxUeXBlc1tcIlVzZXJcIl0+XG59O1xuXHRbXCJNYWlsSW50ZWdyaXR5XCJdOiB7XG5cdF9fdHlwZW5hbWU6IFwiTWFpbEludGVncml0eVwiLFxuXHRpZDogc3RyaW5nLFxuXHRoYXNoOiBzdHJpbmcsXG5cdGhhc2hLZXk6IHN0cmluZyxcblx0YW5zd2VyczogQXJyYXk8R3JhcGhRTFR5cGVzW1wiTWFpbEludGVncml0eVwiXT4sXG5cdGFwcDogR3JhcGhRTFR5cGVzW1wiQXBwbGljYXRpb25cIl0sXG5cdG1haWxzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJNYWlsXCJdPixcblx0cmVjaXBpZW50czogQXJyYXk8R3JhcGhRTFR5cGVzW1wiVXNlclwiXT4sXG5cdHRlbXBvcmFyeVJlY2lwaWVudHM6IEFycmF5PEdyYXBoUUxUeXBlc1tcIlRlbXBvcmFyeVVzZXJcIl0+LFxuXHRyZXBseVRvPzogR3JhcGhRTFR5cGVzW1wiTWFpbEludGVncml0eVwiXVxufTtcblx0W1wiTWFpbEludGVncml0eURyYWZ0XCJdOiB7XG5cdF9fdHlwZW5hbWU6IFwiTWFpbEludGVncml0eURyYWZ0XCIsXG5cdGlkOiBzdHJpbmcsXG5cdGhhc2g6IHN0cmluZyxcblx0aGFzaEtleTogc3RyaW5nLFxuXHRhcHA6IEdyYXBoUUxUeXBlc1tcIkFwcGxpY2F0aW9uXCJdLFxuXHRtYWlsOiBHcmFwaFFMVHlwZXNbXCJNYWlsXCJdLFxuXHRyZWNpcGllbnRzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJVc2VyXCJdPixcblx0dGVtcG9yYXJ5UmVjaXBpZW50czogQXJyYXk8R3JhcGhRTFR5cGVzW1wiVGVtcG9yYXJ5VXNlclwiXT4sXG5cdHJlcGx5VG8/OiBHcmFwaFFMVHlwZXNbXCJNYWlsSW50ZWdyaXR5XCJdXG59O1xuXHRbXCJQbGFuXCJdOiB7XG5cdF9fdHlwZW5hbWU6IFwiUGxhblwiLFxuXHRpZDogc3RyaW5nLFxuXHRraW5kOiBHcmFwaFFMVHlwZXNbXCJQbGFuS2luZFwiXSxcblx0Y29kZXM6IEFycmF5PHN0cmluZz4sXG5cdGxpbWl0czogR3JhcGhRTFR5cGVzW1wiTGltaXRzXCJdXG59O1xuXHRbXCJSZXBvcnRcIl06IHtcblx0X190eXBlbmFtZTogXCJSZXBvcnRcIixcblx0aWQ6IHN0cmluZyxcblx0dXNlcjogR3JhcGhRTFR5cGVzW1wiVXNlclwiXSxcblx0cmVwb3J0ZWRVc2VyOiBHcmFwaFFMVHlwZXNbXCJVc2VyXCJdLFxuXHRjdXN0b21NZXNzYWdlPzogc3RyaW5nXG59O1xuXHRbXCJUZW1wb3JhcnlVc2VyXCJdOiB7XG5cdF9fdHlwZW5hbWU6IFwiVGVtcG9yYXJ5VXNlclwiLFxuXHRpZDogc3RyaW5nLFxuXHRtYWlsczogQXJyYXk8R3JhcGhRTFR5cGVzW1wiTWFpbEludGVncml0eVwiXT4sXG5cdGRyYWZ0TWFpbHM6IEFycmF5PEdyYXBoUUxUeXBlc1tcIk1haWxJbnRlZ3JpdHlEcmFmdFwiXT4sXG5cdGVtYWlsPzogc3RyaW5nXG59O1xuXHRbXCJVc2VyXCJdOiB7XG5cdF9fdHlwZW5hbWU6IFwiVXNlclwiLFxuXHRpZDogc3RyaW5nLFxuXHRkZWxldGVkQXQ/OiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXSxcblx0bGFuZzogR3JhcGhRTFR5cGVzW1wiTGFuZ1wiXSxcblx0cmVwb3J0U2VudDogQXJyYXk8R3JhcGhRTFR5cGVzW1wiUmVwb3J0XCJdPixcblx0Z29kRmF0aGVyPzogR3JhcGhRTFR5cGVzW1wiVXNlclwiXSxcblx0Z29kQ2hpbGRyZW46IEFycmF5PEdyYXBoUUxUeXBlc1tcIlVzZXJcIl0+LFxuXHRmaXJzdG5hbWU6IHN0cmluZyxcblx0bGFzdG5hbWU6IHN0cmluZyxcblx0ZW1haWw6IHN0cmluZyxcblx0cGhvbmU6IHN0cmluZyxcblx0bGFzdExvZ2luOiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXSxcblx0cm9sZTogR3JhcGhRTFR5cGVzW1wiVXNlclJvbGVcIl0sXG5cdHNlc3Npb25zOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJVc2VyU2Vzc2lvblwiXT4sXG5cdGNyZWF0ZWRBdDogR3JhcGhRTFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG5cdHJlY2VpdmVkTWFpbHM6IEFycmF5PEdyYXBoUUxUeXBlc1tcIk1haWxcIl0+LFxuXHR3YWl0aW5nUmVjZWl2ZWRNYWlsczogQXJyYXk8R3JhcGhRTFR5cGVzW1wiV2FpdGluZ1JlY2VpdmVkTWFpbFwiXT4sXG5cdHNlbnRNYWlsczogQXJyYXk8R3JhcGhRTFR5cGVzW1wiTWFpbFwiXT4sXG5cdGRyYWZ0TWFpbHM6IEFycmF5PEdyYXBoUUxUeXBlc1tcIk1haWxcIl0+LFxuXHRhcHBTZXR0aW5ncz86IEdyYXBoUUxUeXBlc1tcIlVzZXJBcHBTZXR0aW5nc1wiXSxcblx0YXBwbGljYXRpb25zOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJBcHBsaWNhdGlvbnNPblVzZXJzXCJdPixcblx0cHVibGljS2V5OiBzdHJpbmdcbn07XG5cdFtcIlVzZXJBcHBOb3RpZmljYXRpb25zXCJdOiB7XG5cdF9fdHlwZW5hbWU6IFwiVXNlckFwcE5vdGlmaWNhdGlvbnNcIixcblx0aWQ6IHN0cmluZyxcblx0ZW5hYmxlQWxsOiBib29sZWFuLFxuXHRtYWlsOiBib29sZWFuLFxuXHRjbG91ZDogYm9vbGVhbixcblx0ZGlzYWJsZUFsbFVudGlsPzogR3JhcGhRTFR5cGVzW1wiRGF0ZVRpbWVcIl1cbn07XG5cdFtcIlVzZXJBcHBTZXR0aW5nc1wiXToge1xuXHRfX3R5cGVuYW1lOiBcIlVzZXJBcHBTZXR0aW5nc1wiLFxuXHRpZDogc3RyaW5nLFxuXHRjbG91ZEZpbGVEYXlzRm9yRGVsZXRlOiBudW1iZXIsXG5cdGNsb3VkRm9sZGVyRGF5c0ZvckRlbGV0ZTogbnVtYmVyLFxuXHRoaXN0b3J5RmlsZURheXNGb3JEZWxldGU/OiBudW1iZXIsXG5cdGhpc3RvcnlNYXhGaWxlQ291bnQ6IG51bWJlcixcblx0YXV0b0Rpc2Nvbm5lY3REZWxheT86IG51bWJlclxufTtcblx0W1wiVXNlclNlc3Npb25cIl06IHtcblx0X190eXBlbmFtZTogXCJVc2VyU2Vzc2lvblwiLFxuXHRpZDogc3RyaW5nLFxuXHRhcHBTZXNzaW9uczogQXJyYXk8R3JhcGhRTFR5cGVzW1wiQXBwU2Vzc2lvblwiXT4sXG5cdGxhc3RBY3Rpdml0eT86IEdyYXBoUUxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuXHR1c2VyQWdlbnQ/OiBzdHJpbmcsXG5cdGlwPzogc3RyaW5nLFxuXHRjaXR5Pzogc3RyaW5nLFxuXHRjb3VudHJ5Pzogc3RyaW5nLFxuXHRjcmVhdGVkQXQ6IEdyYXBoUUxUeXBlc1tcIkRhdGVUaW1lXCJdXG59O1xuXHRbXCJWRmlsZVwiXToge1xuXHRfX3R5cGVuYW1lOiBcIlZGaWxlXCIsXG5cdGlkOiBzdHJpbmcsXG5cdGlzRmF2b3JpdGU6IGJvb2xlYW4sXG5cdGNyZWF0ZWRBdDogR3JhcGhRTFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG5cdGRlbGV0ZWRBdD86IEdyYXBoUUxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuXHRmaWxlbmFtZTogc3RyaW5nLFxuXHR1c2VyQXBwczogQXJyYXk8R3JhcGhRTFR5cGVzW1wiVkZpbGVzT25Vc2Vyc09uQXBwbGljYXRpb25zXCJdPixcblx0Y3JlYXRlZEJ5OiBHcmFwaFFMVHlwZXNbXCJBcHBsaWNhdGlvbnNPblVzZXJzXCJdLFxuXHR1c2VyQXBwPzogR3JhcGhRTFR5cGVzW1wiVkZpbGVzT25Vc2Vyc09uQXBwbGljYXRpb25zXCJdLFxuXHRmb2xkZXI6IEdyYXBoUUxUeXBlc1tcIkZvbGRlclwiXSxcblx0aGlzdG9yeTogQXJyYXk8R3JhcGhRTFR5cGVzW1wiRmlsZVwiXT4sXG5cdGN1cnJlbnQ/OiBHcmFwaFFMVHlwZXNbXCJGaWxlXCJdLFxuXHR1cGRhdGVkQXQ6IEdyYXBoUUxUeXBlc1tcIkRhdGVUaW1lXCJdXG59O1xuXHRbXCJWRmlsZXNPblVzZXJzT25BcHBsaWNhdGlvbnNcIl06IHtcblx0X190eXBlbmFtZTogXCJWRmlsZXNPblVzZXJzT25BcHBsaWNhdGlvbnNcIixcblx0dkZpbGU6IEdyYXBoUUxUeXBlc1tcIlZGaWxlXCJdLFxuXHR1c2VyQXBwOiBHcmFwaFFMVHlwZXNbXCJBcHBsaWNhdGlvbnNPblVzZXJzXCJdLFxuXHRyaWdodHM6IEdyYXBoUUxUeXBlc1tcIlJpZ2h0c1wiXSxcblx0bmFtZUtleTogc3RyaW5nLFxuXHRpc1Jvb3Q6IGJvb2xlYW5cbn07XG5cdFtcIldhaXRpbmdSZWNlaXZlZE1haWxcIl06IHtcblx0X190eXBlbmFtZTogXCJXYWl0aW5nUmVjZWl2ZWRNYWlsXCIsXG5cdHNlbmRlcjogR3JhcGhRTFR5cGVzW1wiVXNlclwiXSxcblx0ZGF0ZTogR3JhcGhRTFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG5cdHJlY2lwaWVudHM6IEFycmF5PEdyYXBoUUxUeXBlc1tcIlVzZXJcIl0+LFxuXHR0ZW1wb3JhcnlSZWNpcGllbnRzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJUZW1wb3JhcnlVc2VyXCJdPixcblx0YXR0YWNobWVudHNDb3VudDogbnVtYmVyXG59O1xuXHRbXCJQYXltZW50SW5mb3NcIl06IHtcblx0X190eXBlbmFtZTogXCJQYXltZW50SW5mb3NcIixcblx0aG9zdGVkVXJsOiBzdHJpbmcsXG5cdGN1cnJlbnRTdWJzY3JpcHRpb246IEdyYXBoUUxUeXBlc1tcIlJlY3VybHlTdWJzY3JpcHRpb25cIl0sXG5cdGludm9pY2VzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJSZWN1cmx5SW52b2ljZXNcIl0+XG59O1xuXHRbXCJSZWN1cmx5SW52b2ljZXNcIl06IHtcblx0X190eXBlbmFtZTogXCJSZWN1cmx5SW52b2ljZXNcIixcblx0cGRmOiBzdHJpbmcsXG5cdGRhdGU6IEdyYXBoUUxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuXHRkdWU6IEdyYXBoUUxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuXHRzdGF0dXM6IHN0cmluZyxcblx0dG90YWw6IG51bWJlcixcblx0bmFtZTogc3RyaW5nLFxuXHRjdXJyZW5jeTogc3RyaW5nXG59O1xuXHRbXCJSZWN1cmx5U3Vic2NyaXB0aW9uXCJdOiB7XG5cdF9fdHlwZW5hbWU6IFwiUmVjdXJseVN1YnNjcmlwdGlvblwiLFxuXHRhdXRvcmVuZXc6IGJvb2xlYW4sXG5cdGFjdGl2YXRlZEF0PzogR3JhcGhRTFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG5cdGN1cnJlbnRQZXJpb2RFbmRzQXQ/OiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXSxcblx0Y3VycmVudFBlcmlvZFN0YXJ0ZWRBdD86IEdyYXBoUUxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuXHRjYW5jZWxlZEF0PzogR3JhcGhRTFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG5cdGNyZWF0ZWRBdD86IEdyYXBoUUxUeXBlc1tcIkRhdGVUaW1lXCJdLFxuXHRleHBpcmVzQXQ/OiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXSxcblx0cGF1c2VkQXQ/OiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXSxcblx0dHJpYWxFbmRzQXQ/OiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXSxcblx0dHJpYWxTdGFydGVkQXQ/OiBHcmFwaFFMVHlwZXNbXCJEYXRlVGltZVwiXSxcblx0dXBkYXRlZEF0PzogR3JhcGhRTFR5cGVzW1wiRGF0ZVRpbWVcIl0sXG5cdHN0YXRlOiBzdHJpbmcsXG5cdGNvbGxlY3Rpb25NZXRob2Q6IHN0cmluZyxcblx0cGxhbj86IHN0cmluZyxcblx0cGxhbkNvZGU/OiBzdHJpbmcsXG5cdHRvdGFsPzogbnVtYmVyXG59O1xuXHRbXCJTaGFyZUZvbGRlclJlc3BvbnNlXCJdOiB7XG5cdF9fdHlwZW5hbWU6IFwiU2hhcmVGb2xkZXJSZXNwb25zZVwiLFxuXHRmb2xkZXJzOiBBcnJheTxzdHJpbmc+LFxuXHR2RmlsZXM6IEFycmF5PHN0cmluZz5cbn07XG5cdFtcIlF1ZXJ5XCJdOiB7XG5cdF9fdHlwZW5hbWU6IFwiUXVlcnlcIixcblx0YXBwTm90aWZpY2F0aW9ucz86IEdyYXBoUUxUeXBlc1tcIlVzZXJBcHBOb3RpZmljYXRpb25zXCJdLFxuXHRibG9nOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJCbG9nSXRlbVwiXT4sXG5cdGRiQ29uZmlnPzogR3JhcGhRTFR5cGVzW1wiSnNvblwiXSxcblx0ZGJHZXQ/OiBHcmFwaFFMVHlwZXNbXCJKc29uXCJdLFxuXHRkYlNlYXJjaDogQXJyYXk8R3JhcGhRTFR5cGVzW1wiSnNvblwiXT4sXG5cdGRlbGV0ZWRGb2xkZXJzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJGb2xkZXJcIl0+LFxuXHRkZWxldGVkTWFpbHM6IEFycmF5PEdyYXBoUUxUeXBlc1tcIk1haWxcIl0+LFxuXHRkZWxldGVkVkZpbGVzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJWRmlsZVwiXT4sXG5cdGZhcTogQXJyYXk8R3JhcGhRTFR5cGVzW1wiRmFxSXRlbVwiXT4sXG5cdGZpbGU/OiBHcmFwaFFMVHlwZXNbXCJGaWxlXCJdLFxuXHRmaWxlQ29udGVudD86IEdyYXBoUUxUeXBlc1tcIkZpbGVDb250ZW50XCJdLFxuXHRmaWxlc1NoYXJlZFdpdGhNZTogQXJyYXk8R3JhcGhRTFR5cGVzW1wiRmlsZVNoYXJlZENvbnRlbnRcIl0+LFxuXHRmb2xkZXI/OiBHcmFwaFFMVHlwZXNbXCJGb2xkZXJcIl0sXG5cdGZvbGRlclNpemU/OiBHcmFwaFFMVHlwZXNbXCJGb2xkZXJTaXplXCJdLFxuXHRmb2xkZXJzU2hhcmVkV2l0aE1lOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJGb2xkZXJcIl0+LFxuXHRsaW1pdHM/OiBHcmFwaFFMVHlwZXNbXCJRdWVyeUxpbWl0c1wiXSxcblx0bWFpbD86IEdyYXBoUUxUeXBlc1tcIk1haWxcIl0sXG5cdHBheW1lbnRJbmZvcz86IEdyYXBoUUxUeXBlc1tcIlBheW1lbnRJbmZvc1wiXSxcblx0cGxhbnM6IEFycmF5PEdyYXBoUUxUeXBlc1tcIlBsYW5cIl0+LFxuXHRzaGFyZWRGb2xkZXJzOiBBcnJheTxHcmFwaFFMVHlwZXNbXCJGb2xkZXJcIl0+LFxuXHRzaGFyZWRWRmlsZXM6IEFycmF5PEdyYXBoUUxUeXBlc1tcIlZGaWxlXCJdPixcblx0dGVzdD86IGJvb2xlYW4sXG5cdHVucmVhZFJlY2VpdmVkTWFpbHNDb3VudD86IG51bWJlcixcblx0dXNlcj86IEdyYXBoUUxUeXBlc1tcIlVzZXJcIl0sXG5cdHZGaWxlPzogR3JhcGhRTFR5cGVzW1wiVkZpbGVcIl0sXG5cdHZGaWxlc1NoYXJlZFdpdGhNZTogQXJyYXk8R3JhcGhRTFR5cGVzW1wiVkZpbGVcIl0+LFxuXHR1c2VyTGlzdDogQXJyYXk8R3JhcGhRTFR5cGVzW1wiVXNlclwiXT5cbn07XG5cdFtcIk11dGF0aW9uXCJdOiB7XG5cdF9fdHlwZW5hbWU6IFwiTXV0YXRpb25cIixcblx0YWRkRmlsZVRvSGlzdG9yeTogR3JhcGhRTFR5cGVzW1wiVkZpbGVcIl0sXG5cdGNhbmNlbFBheW1lbnQ/OiBib29sZWFuLFxuXHRjcmVhdGVBcHBsaWNhdGlvbj86IHN0cmluZyxcblx0Y3JlYXRlRHJhZnRNYWlsPzogR3JhcGhRTFR5cGVzW1wiTWFpbFwiXSxcblx0Y3JlYXRlRm9sZGVyPzogR3JhcGhRTFR5cGVzW1wiRm9sZGVyXCJdLFxuXHRkYkNvbmZpZzogR3JhcGhRTFR5cGVzW1wiSnNvblwiXSxcblx0ZGJTZXQ/OiBHcmFwaFFMVHlwZXNbXCJKc29uXCJdLFxuXHRkZWxldGVEcmFmdE1haWw/OiBib29sZWFuLFxuXHRkZWxldGVGaWxlOiBib29sZWFuLFxuXHRkZWxldGVGb2xkZXI/OiBib29sZWFuLFxuXHRkZWxldGVGb2xkZXJDbG91ZFRyYXNoPzogYm9vbGVhbixcblx0ZGVsZXRlRm9sZGVyU2hhcmluZzogYm9vbGVhbixcblx0ZGVsZXRlTWFpbDogYm9vbGVhbixcblx0ZGVsZXRlTWFpbFRyYXNoOiBib29sZWFuLFxuXHRkZWxldGVVc2VyPzogYm9vbGVhbixcblx0ZGVsZXRlVkZpbGU6IGJvb2xlYW4sXG5cdGRlbGV0ZVZGaWxlQ2xvdWRUcmFzaD86IGJvb2xlYW4sXG5cdGRlbGV0ZVZGaWxlU2hhcmluZzogYm9vbGVhbixcblx0ZHVwbGljYXRlVkZpbGU6IGJvb2xlYW4sXG5cdGVtcHR5Q2xvdWRUcmFzaD86IGJvb2xlYW4sXG5cdGVtcHR5TWFpbFRyYXNoPzogYm9vbGVhbixcblx0bG9nb3V0PzogYm9vbGVhbixcblx0bW92ZUZpbGVzPzogYm9vbGVhbixcblx0bW92ZUZvbGRlcnM/OiBib29sZWFuLFxuXHRwYXk6IGJvb2xlYW4sXG5cdHJlYWRNYWlsPzogYm9vbGVhbixcblx0cmVjb3ZlckZvbGRlcj86IGJvb2xlYW4sXG5cdHJlY292ZXJNYWlsOiBib29sZWFuLFxuXHRyZWNvdmVyVkZpbGU6IGJvb2xlYW4sXG5cdHNhdmVJbkNsb3VkOiBHcmFwaFFMVHlwZXNbXCJWRmlsZVwiXSxcblx0c2VuZERyYWZ0TWFpbD86IGJvb2xlYW4sXG5cdHNlbmRPbmVNYWlsPzogYm9vbGVhbixcblx0c2VuZFJlcG9ydD86IEdyYXBoUUxUeXBlc1tcIlJlcG9ydFwiXSxcblx0c2hhcmVGaWxlSW5IaXN0b3J5OiBib29sZWFuLFxuXHRzaGFyZUZvbGRlcjogR3JhcGhRTFR5cGVzW1wiU2hhcmVGb2xkZXJSZXNwb25zZVwiXSxcblx0c2hhcmVGb2xkZXJGaW5pc2g/OiBib29sZWFuLFxuXHRzaGFyZVZGaWxlPzogYm9vbGVhbixcblx0dW5yZWFkTWFpbD86IGJvb2xlYW4sXG5cdHVwZGF0ZUFwcE5vdGlmaWNhdGlvbnM/OiBHcmFwaFFMVHlwZXNbXCJVc2VyQXBwTm90aWZpY2F0aW9uc1wiXSxcblx0dXBkYXRlQXBwU2V0dGluZ3M6IEdyYXBoUUxUeXBlc1tcIlVzZXJBcHBTZXR0aW5nc1wiXSxcblx0dXBkYXRlRHJhZnRNYWlsPzogR3JhcGhRTFR5cGVzW1wiTWFpbFwiXSxcblx0dXBkYXRlRmlsZT86IEdyYXBoUUxUeXBlc1tcIlZGaWxlXCJdLFxuXHR1cGRhdGVGb2xkZXI/OiBHcmFwaFFMVHlwZXNbXCJGb2xkZXJcIl0sXG5cdHVwZGF0ZVByb2ZpbGU/OiBHcmFwaFFMVHlwZXNbXCJVc2VyXCJdLFxuXHR1cGxvYWRBbm9ueW1vdXM/OiBHcmFwaFFMVHlwZXNbXCJGaWxlUmVzcG9uc2VcIl0sXG5cdHVwbG9hZEZpbGU/OiBHcmFwaFFMVHlwZXNbXCJGaWxlUmVzcG9uc2VcIl0sXG5cdHVwbG9hZEZpbGVFbmQ/OiBzdHJpbmcsXG5cdHVwbG9hZEZpbGVQYXJ0RW5kOiBib29sZWFuLFxuXHRjaGFuZ2VVc2VyUGxhbj86IEdyYXBoUUxUeXBlc1tcIlVzZXJcIl1cbn07XG5cdFtcIlN1YnNjcmlwdGlvblwiXToge1xuXHRfX3R5cGVuYW1lOiBcIlN1YnNjcmlwdGlvblwiLFxuXHR0ZXN0OiBib29sZWFuXG59XG4gICAgfVxuZXhwb3J0IGVudW0gTGFuZyB7XG5cdGZyID0gXCJmclwiLFxuXHRlbiA9IFwiZW5cIixcblx0aXQgPSBcIml0XCIsXG5cdGRlID0gXCJkZVwiLFxuXHRwdCA9IFwicHRcIixcblx0amEgPSBcImphXCIsXG5cdGVzID0gXCJlc1wiLFxuXHRubCA9IFwibmxcIixcblx0cGwgPSBcInBsXCIsXG5cdHJ1ID0gXCJydVwiLFxuXHR6aCA9IFwiemhcIixcblx0YXIgPSBcImFyXCIsXG5cdGhlID0gXCJoZVwiLFxuXHRoaSA9IFwiaGlcIixcblx0a28gPSBcImtvXCJcbn1cbmV4cG9ydCBlbnVtIFBsYW5LaW5kIHtcblx0ZnJlZSA9IFwiZnJlZVwiLFxuXHRiYXNpYyA9IFwiYmFzaWNcIixcblx0YWR2YW5jZWQgPSBcImFkdmFuY2VkXCIsXG5cdHBybyA9IFwicHJvXCJcbn1cbmV4cG9ydCBlbnVtIFVzZXJSb2xlIHtcblx0dXNlciA9IFwidXNlclwiLFxuXHRhZG1pbiA9IFwiYWRtaW5cIlxufVxuZXhwb3J0IGVudW0gTWFpbFR5cGUge1xuXHRzZW50ID0gXCJzZW50XCIsXG5cdHJlY2VpdmVkID0gXCJyZWNlaXZlZFwiXG59XG5leHBvcnQgZW51bSBSaWdodHMge1xuXHRhZG1pbiA9IFwiYWRtaW5cIixcblx0d3JpdGUgPSBcIndyaXRlXCIsXG5cdHJlYWQgPSBcInJlYWRcIlxufVxuZXhwb3J0IGVudW0gRmlsZUNvbnRlbnRUeXBlIHtcblx0Y2xvdWQgPSBcImNsb3VkXCIsXG5cdHNlbnRfbWFpbCA9IFwic2VudF9tYWlsXCIsXG5cdHJlY2VpdmVkX21haWwgPSBcInJlY2VpdmVkX21haWxcIlxufVxuZXhwb3J0IGVudW0gUGF5SW5wdXRUeXBlIHtcblx0c2VjdXJlID0gXCJzZWN1cmVcIixcblx0Y2xhc3NpYyA9IFwiY2xhc3NpY1wiXG59XG5leHBvcnQgY2xhc3MgR3JhcGhRTEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyByZXNwb25zZTogR3JhcGhRTFJlc3BvbnNlKSB7XG4gICAgICBzdXBlcihcIlwiKTtcbiAgICAgIGNvbnNvbGUuZXJyb3IocmVzcG9uc2UpO1xuICAgIH1cbiAgICB0b1N0cmluZygpIHtcbiAgICAgIHJldHVybiBcIkdyYXBoUUwgUmVzcG9uc2UgRXJyb3JcIjtcbiAgICB9XG4gIH1cblxuXG5leHBvcnQgdHlwZSBVbndyYXBQcm9taXNlPFQ+ID0gVCBleHRlbmRzIFByb21pc2U8aW5mZXIgUj4gPyBSIDogVDtcbmV4cG9ydCB0eXBlIFpldXNTdGF0ZTxUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBQcm9taXNlPGFueT4+ID0gTm9uTnVsbGFibGU8XG4gIFVud3JhcFByb21pc2U8UmV0dXJuVHlwZTxUPj5cbj47XG5leHBvcnQgdHlwZSBaZXVzSG9vazxcbiAgVCBleHRlbmRzIChcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApID0+IFJlY29yZDxzdHJpbmcsICguLi5hcmdzOiBhbnlbXSkgPT4gUHJvbWlzZTxhbnk+PixcbiAgTiBleHRlbmRzIGtleW9mIFJldHVyblR5cGU8VD5cbj4gPSBaZXVzU3RhdGU8UmV0dXJuVHlwZTxUPltOXT47XG5cbnR5cGUgV2l0aFR5cGVOYW1lVmFsdWU8VD4gPSBUICYge1xuICBfX3R5cGVuYW1lPzogYm9vbGVhbjtcbn07XG50eXBlIEFsaWFzVHlwZTxUPiA9IFdpdGhUeXBlTmFtZVZhbHVlPFQ+ICYge1xuICBfX2FsaWFzPzogUmVjb3JkPHN0cmluZywgV2l0aFR5cGVOYW1lVmFsdWU8VD4+O1xufTtcbmV4cG9ydCBpbnRlcmZhY2UgR3JhcGhRTFJlc3BvbnNlIHtcbiAgZGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIGVycm9ycz86IEFycmF5PHtcbiAgICBtZXNzYWdlOiBzdHJpbmc7XG4gIH0+O1xufVxudHlwZSBEZWVwQW5pZnk8VD4gPSB7XG4gIFtQIGluIGtleW9mIFRdPzogYW55O1xufTtcbnR5cGUgSXNQYXlMb2FkPFQ+ID0gVCBleHRlbmRzIFthbnksIGluZmVyIFBheUxvYWRdID8gUGF5TG9hZCA6IFQ7XG50eXBlIElzQXJyYXk8VCwgVT4gPSBUIGV4dGVuZHMgQXJyYXk8aW5mZXIgUj4gPyBJbnB1dFR5cGU8UiwgVT5bXSA6IElucHV0VHlwZTxULCBVPjtcbnR5cGUgRmxhdHRlbkFycmF5PFQ+ID0gVCBleHRlbmRzIEFycmF5PGluZmVyIFI+ID8gUiA6IFQ7XG5cbnR5cGUgSXNJbnRlcmZhY2VkPFNSQyBleHRlbmRzIERlZXBBbmlmeTxEU1Q+LCBEU1Q+ID0gRmxhdHRlbkFycmF5PFNSQz4gZXh0ZW5kcyBaRVVTX0lOVEVSRkFDRVMgfCBaRVVTX1VOSU9OU1xuICA/IHtcbiAgICAgIFtQIGluIGtleW9mIFNSQ106IFNSQ1tQXSBleHRlbmRzICdfX3VuaW9uJyAmIGluZmVyIFJcbiAgICAgICAgPyBQIGV4dGVuZHMga2V5b2YgRFNUXG4gICAgICAgICAgPyBJc0FycmF5PFIsICdfX3R5cGVuYW1lJyBleHRlbmRzIGtleW9mIERTVCA/IERTVFtQXSAmIHsgX190eXBlbmFtZTogdHJ1ZSB9IDogRFNUW1BdPlxuICAgICAgICAgIDoge31cbiAgICAgICAgOiBuZXZlcjtcbiAgICB9W2tleW9mIERTVF0gJlxuICAgICAge1xuICAgICAgICBbUCBpbiBrZXlvZiBPbWl0PFxuICAgICAgICAgIFBpY2s8XG4gICAgICAgICAgICBTUkMsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIFtQIGluIGtleW9mIERTVF06IFNSQ1tQXSBleHRlbmRzICdfX3VuaW9uJyA/IG5ldmVyIDogUDtcbiAgICAgICAgICAgIH1ba2V5b2YgRFNUXVxuICAgICAgICAgID4sXG4gICAgICAgICAgJ19fdHlwZW5hbWUnXG4gICAgICAgID5dOiBJc1BheUxvYWQ8RFNUW1BdPiBleHRlbmRzIGJvb2xlYW4gPyBTUkNbUF0gOiBJc0FycmF5PFNSQ1tQXSwgRFNUW1BdPjtcbiAgICAgIH1cbiAgOiB7XG4gICAgICBbUCBpbiBrZXlvZiBQaWNrPFNSQywga2V5b2YgRFNUPl06IElzUGF5TG9hZDxEU1RbUF0+IGV4dGVuZHMgYm9vbGVhbiA/IFNSQ1tQXSA6IElzQXJyYXk8U1JDW1BdLCBEU1RbUF0+O1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIE1hcFR5cGU8U1JDLCBEU1Q+ID0gU1JDIGV4dGVuZHMgRGVlcEFuaWZ5PERTVD4gPyBJc0ludGVyZmFjZWQ8U1JDLCBEU1Q+IDogbmV2ZXI7XG5leHBvcnQgdHlwZSBJbnB1dFR5cGU8U1JDLCBEU1Q+ID0gSXNQYXlMb2FkPERTVD4gZXh0ZW5kcyB7IF9fYWxpYXM6IGluZmVyIFIgfVxuICA/IHtcbiAgICAgIFtQIGluIGtleW9mIFJdOiBNYXBUeXBlPFNSQywgUltQXT47XG4gICAgfSAmXG4gICAgICBNYXBUeXBlPFNSQywgT21pdDxJc1BheUxvYWQ8RFNUPiwgJ19fYWxpYXMnPj5cbiAgOiBNYXBUeXBlPFNSQywgSXNQYXlMb2FkPERTVD4+O1xudHlwZSBGdW5jPFAgZXh0ZW5kcyBhbnlbXSwgUj4gPSAoLi4uYXJnczogUCkgPT4gUjtcbnR5cGUgQW55RnVuYyA9IEZ1bmM8YW55LCBhbnk+O1xuZXhwb3J0IHR5cGUgQXJnc1R5cGU8RiBleHRlbmRzIEFueUZ1bmM+ID0gRiBleHRlbmRzIEZ1bmM8aW5mZXIgUCwgYW55PiA/IFAgOiBuZXZlcjtcbmV4cG9ydCB0eXBlIE9wZXJhdGlvbk9wdGlvbnMgPSB7XG4gIHZhcmlhYmxlcz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIG9wZXJhdGlvbk5hbWU/OiBzdHJpbmc7XG59O1xuZXhwb3J0IHR5cGUgU3Vic2NyaXB0aW9uVG9HcmFwaFFMPFosIFQ+ID0ge1xuICB3czogV2ViU29ja2V0O1xuICBvbjogKGZuOiAoYXJnczogSW5wdXRUeXBlPFQsIFo+KSA9PiB2b2lkKSA9PiB2b2lkO1xuICBvZmY6IChmbjogKGU6IHsgZGF0YT86IElucHV0VHlwZTxULCBaPjsgY29kZT86IG51bWJlcjsgcmVhc29uPzogc3RyaW5nOyBtZXNzYWdlPzogc3RyaW5nIH0pID0+IHZvaWQpID0+IHZvaWQ7XG4gIGVycm9yOiAoZm46IChlOiB7IGRhdGE/OiBJbnB1dFR5cGU8VCwgWj47IGVycm9ycz86IHN0cmluZ1tdIH0pID0+IHZvaWQpID0+IHZvaWQ7XG4gIG9wZW46ICgpID0+IHZvaWQ7XG59O1xuZXhwb3J0IHR5cGUgU2VsZWN0aW9uRnVuY3Rpb248Vj4gPSA8VD4odDogVCB8IFYpID0+IFQ7XG5leHBvcnQgdHlwZSBmZXRjaE9wdGlvbnMgPSBBcmdzVHlwZTx0eXBlb2YgZmV0Y2g+O1xudHlwZSB3ZWJzb2NrZXRPcHRpb25zID0gdHlwZW9mIFdlYlNvY2tldCBleHRlbmRzIG5ldyAoXG4gIC4uLmFyZ3M6IGluZmVyIFJcbikgPT4gV2ViU29ja2V0XG4gID8gUlxuICA6IG5ldmVyO1xuZXhwb3J0IHR5cGUgY2hhaW5PcHRpb25zID1cbiAgfCBbZmV0Y2hPcHRpb25zWzBdLCBmZXRjaE9wdGlvbnNbMV0gJiB7d2Vic29ja2V0Pzogd2Vic29ja2V0T3B0aW9uc31dXG4gIHwgW2ZldGNoT3B0aW9uc1swXV07XG5leHBvcnQgdHlwZSBGZXRjaEZ1bmN0aW9uID0gKFxuICBxdWVyeTogc3RyaW5nLFxuICB2YXJpYWJsZXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuKSA9PiBQcm9taXNlPGFueT47XG5leHBvcnQgdHlwZSBTdWJzY3JpcHRpb25GdW5jdGlvbiA9IChxdWVyeTogc3RyaW5nKSA9PiBhbnk7XG50eXBlIE5vdFVuZGVmaW5lZDxUPiA9IFQgZXh0ZW5kcyB1bmRlZmluZWQgPyBuZXZlciA6IFQ7XG5leHBvcnQgdHlwZSBSZXNvbHZlclR5cGU8Rj4gPSBOb3RVbmRlZmluZWQ8RiBleHRlbmRzIFtpbmZlciBBUkdTLCBhbnldID8gQVJHUyA6IHVuZGVmaW5lZD47XG5cblxuXG5leHBvcnQgY29uc3QgWmV1c1NlbGVjdCA9IDxUPigpID0+ICgodDogYW55KSA9PiB0KSBhcyBTZWxlY3Rpb25GdW5jdGlvbjxUPjtcblxuZXhwb3J0IGNvbnN0IFNjYWxhclJlc29sdmVyID0gKHNjYWxhcjogc3RyaW5nLCB2YWx1ZTogYW55KSA9PiB7XG4gIHN3aXRjaCAoc2NhbGFyKSB7XG4gICAgY2FzZSAnU3RyaW5nJzpcbiAgICAgIHJldHVybiAgYCR7SlNPTi5zdHJpbmdpZnkodmFsdWUpfWA7XG4gICAgY2FzZSAnSW50JzpcbiAgICAgIHJldHVybiBgJHt2YWx1ZX1gO1xuICAgIGNhc2UgJ0Zsb2F0JzpcbiAgICAgIHJldHVybiBgJHt2YWx1ZX1gO1xuICAgIGNhc2UgJ0Jvb2xlYW4nOlxuICAgICAgcmV0dXJuIGAke3ZhbHVlfWA7XG4gICAgY2FzZSAnSUQnOlxuICAgICAgcmV0dXJuIGBcIiR7dmFsdWV9XCJgO1xuICAgIGNhc2UgJ2VudW0nOlxuICAgICAgcmV0dXJuIGAke3ZhbHVlfWA7XG4gICAgY2FzZSAnc2NhbGFyJzpcbiAgICAgIHJldHVybiBgJHt2YWx1ZX1gO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn07XG5cblxuZXhwb3J0IGNvbnN0IFR5cGVzUHJvcHNSZXNvbHZlciA9ICh7XG4gICAgdmFsdWUsXG4gICAgdHlwZSxcbiAgICBuYW1lLFxuICAgIGtleSxcbiAgICBibG9ja0FycmF5c1xufToge1xuICAgIHZhbHVlOiBhbnk7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBrZXk/OiBzdHJpbmc7XG4gICAgYmxvY2tBcnJheXM/OiBib29sZWFuO1xufSk6IHN0cmluZyA9PiB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBgbnVsbGA7XG4gICAgfVxuICAgIGxldCByZXNvbHZlZFZhbHVlID0gQWxsVHlwZXNQcm9wc1t0eXBlXVtuYW1lXTtcbiAgICBpZiAoa2V5KSB7XG4gICAgICAgIHJlc29sdmVkVmFsdWUgPSByZXNvbHZlZFZhbHVlW2tleV07XG4gICAgfVxuICAgIGlmICghcmVzb2x2ZWRWYWx1ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCByZXNvbHZlICR7dHlwZX0gJHtuYW1lfSR7a2V5ID8gYCAke2tleX1gIDogJyd9YClcbiAgICB9XG4gICAgY29uc3QgdHlwZVJlc29sdmVkID0gcmVzb2x2ZWRWYWx1ZS50eXBlO1xuICAgIGNvbnN0IGlzQXJyYXkgPSByZXNvbHZlZFZhbHVlLmFycmF5O1xuICAgIGNvbnN0IGlzQXJyYXlSZXF1aXJlZCA9IHJlc29sdmVkVmFsdWUuYXJyYXlSZXF1aXJlZDtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS5zdGFydHNXaXRoKGBaRVVTX1ZBUiRgKSkge1xuICAgICAgICBjb25zdCBpc1JlcXVpcmVkID0gcmVzb2x2ZWRWYWx1ZS5yZXF1aXJlZCA/ICchJyA6ICcnO1xuICAgICAgICBsZXQgdCA9IGAke3R5cGVSZXNvbHZlZH1gO1xuICAgICAgICBpZiAoaXNBcnJheSkge1xuICAgICAgICAgIGlmIChpc1JlcXVpcmVkKSB7XG4gICAgICAgICAgICAgIHQgPSBgJHt0fSFgO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0ID0gYFske3R9XWA7XG4gICAgICAgICAgaWYoaXNBcnJheVJlcXVpcmVkKXtcbiAgICAgICAgICAgIHQgPSBgJHt0fSFgO1xuICAgICAgICAgIH1cbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgaWYgKGlzUmVxdWlyZWQpIHtcbiAgICAgICAgICAgICAgICB0ID0gYCR7dH0hYDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGBcXCQke3ZhbHVlLnNwbGl0KGBaRVVTX1ZBUiRgKVsxXX1fX1pFVVNfVkFSX18ke3R9YDtcbiAgICB9XG4gICAgaWYgKGlzQXJyYXkgJiYgIWJsb2NrQXJyYXlzKSB7XG4gICAgICAgIHJldHVybiBgWyR7dmFsdWVcbiAgICAgICAgLm1hcCgodjogYW55KSA9PiBUeXBlc1Byb3BzUmVzb2x2ZXIoeyB2YWx1ZTogdiwgdHlwZSwgbmFtZSwga2V5LCBibG9ja0FycmF5czogdHJ1ZSB9KSlcbiAgICAgICAgLmpvaW4oJywnKX1dYDtcbiAgICB9XG4gICAgY29uc3QgcmVzbG92ZWRTY2FsYXIgPSBTY2FsYXJSZXNvbHZlcih0eXBlUmVzb2x2ZWQsIHZhbHVlKTtcbiAgICBpZiAoIXJlc2xvdmVkU2NhbGFyKSB7XG4gICAgICAgIGNvbnN0IHJlc29sdmVkVHlwZSA9IEFsbFR5cGVzUHJvcHNbdHlwZVJlc29sdmVkXTtcbiAgICAgICAgaWYgKHR5cGVvZiByZXNvbHZlZFR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGNvbnN0IGFyZ3NLZXlzID0gT2JqZWN0LmtleXMocmVzb2x2ZWRUeXBlKTtcbiAgICAgICAgcmV0dXJuIGB7JHthcmdzS2V5c1xuICAgICAgICAgICAgLmZpbHRlcigoYWspID0+IHZhbHVlW2FrXSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgLm1hcChcbiAgICAgICAgICAgIChhaykgPT4gYCR7YWt9OiR7VHlwZXNQcm9wc1Jlc29sdmVyKHsgdmFsdWU6IHZhbHVlW2FrXSwgdHlwZTogdHlwZVJlc29sdmVkLCBuYW1lOiBhayB9KX1gXG4gICAgICAgICAgICApfX1gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBTY2FsYXJSZXNvbHZlcihBbGxUeXBlc1Byb3BzW3R5cGVSZXNvbHZlZF0sIHZhbHVlKSBhcyBzdHJpbmc7XG4gICAgfVxuICAgIHJldHVybiByZXNsb3ZlZFNjYWxhcjtcbn07XG5cblxuY29uc3QgaXNBcnJheUZ1bmN0aW9uID0gKFxuICBwYXJlbnQ6IHN0cmluZ1tdLFxuICBhOiBhbnlbXVxuKSA9PiB7XG4gIGNvbnN0IFt2YWx1ZXMsIHJdID0gYTtcbiAgY29uc3QgW21haW5LZXksIGtleSwgLi4ua2V5c10gPSBwYXJlbnQ7XG4gIGNvbnN0IGtleVZhbHVlcyA9IE9iamVjdC5rZXlzKHZhbHVlcykuZmlsdGVyKChrKSA9PiB0eXBlb2YgdmFsdWVzW2tdICE9PSAndW5kZWZpbmVkJyk7XG5cbiAgaWYgKCFrZXlzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGtleVZhbHVlcy5sZW5ndGggPiAwXG4gICAgICAgID8gYCgke2tleVZhbHVlc1xuICAgICAgICAgICAgLm1hcChcbiAgICAgICAgICAgICAgKHYpID0+XG4gICAgICAgICAgICAgICAgYCR7dn06JHtUeXBlc1Byb3BzUmVzb2x2ZXIoe1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlc1t2XSxcbiAgICAgICAgICAgICAgICAgIHR5cGU6IG1haW5LZXksXG4gICAgICAgICAgICAgICAgICBuYW1lOiBrZXksXG4gICAgICAgICAgICAgICAgICBrZXk6IHZcbiAgICAgICAgICAgICAgICB9KX1gXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuam9pbignLCcpfSkke3IgPyB0cmF2ZXJzZVRvU2Vla0FycmF5cyhwYXJlbnQsIHIpIDogJyd9YFxuICAgICAgICA6IHRyYXZlcnNlVG9TZWVrQXJyYXlzKHBhcmVudCwgcik7XG4gICAgfVxuXG4gIGNvbnN0IFt0eXBlUmVzb2x2ZXJLZXldID0ga2V5cy5zcGxpY2Uoa2V5cy5sZW5ndGggLSAxLCAxKTtcbiAgbGV0IHZhbHVlVG9SZXNvbHZlID0gUmV0dXJuVHlwZXNbbWFpbktleV1ba2V5XTtcbiAgZm9yIChjb25zdCBrIG9mIGtleXMpIHtcbiAgICB2YWx1ZVRvUmVzb2x2ZSA9IFJldHVyblR5cGVzW3ZhbHVlVG9SZXNvbHZlXVtrXTtcbiAgfVxuXG4gIGNvbnN0IGFyZ3VtZW50U3RyaW5nID1cbiAgICBrZXlWYWx1ZXMubGVuZ3RoID4gMFxuICAgICAgPyBgKCR7a2V5VmFsdWVzXG4gICAgICAgICAgLm1hcChcbiAgICAgICAgICAgICh2KSA9PlxuICAgICAgICAgICAgICBgJHt2fToke1R5cGVzUHJvcHNSZXNvbHZlcih7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlc1t2XSxcbiAgICAgICAgICAgICAgICB0eXBlOiB2YWx1ZVRvUmVzb2x2ZSxcbiAgICAgICAgICAgICAgICBuYW1lOiB0eXBlUmVzb2x2ZXJLZXksXG4gICAgICAgICAgICAgICAga2V5OiB2XG4gICAgICAgICAgICAgIH0pfWBcbiAgICAgICAgICApXG4gICAgICAgICAgLmpvaW4oJywnKX0pJHtyID8gdHJhdmVyc2VUb1NlZWtBcnJheXMocGFyZW50LCByKSA6ICcnfWBcbiAgICAgIDogdHJhdmVyc2VUb1NlZWtBcnJheXMocGFyZW50LCByKTtcbiAgcmV0dXJuIGFyZ3VtZW50U3RyaW5nO1xufTtcblxuXG5jb25zdCByZXNvbHZlS1YgPSAoazogc3RyaW5nLCB2OiBib29sZWFuIHwgc3RyaW5nIHwgeyBbeDogc3RyaW5nXTogYm9vbGVhbiB8IHN0cmluZyB9KSA9PlxuICB0eXBlb2YgdiA9PT0gJ2Jvb2xlYW4nID8gayA6IHR5cGVvZiB2ID09PSAnb2JqZWN0JyA/IGAke2t9eyR7b2JqZWN0VG9UcmVlKHYpfX1gIDogYCR7a30ke3Z9YDtcblxuXG5jb25zdCBvYmplY3RUb1RyZWUgPSAobzogeyBbeDogc3RyaW5nXTogYm9vbGVhbiB8IHN0cmluZyB9KTogc3RyaW5nID0+XG4gIGB7JHtPYmplY3Qua2V5cyhvKS5tYXAoKGspID0+IGAke3Jlc29sdmVLVihrLCBvW2tdKX1gKS5qb2luKCcgJyl9fWA7XG5cblxuY29uc3QgdHJhdmVyc2VUb1NlZWtBcnJheXMgPSAocGFyZW50OiBzdHJpbmdbXSwgYT86IGFueSk6IHN0cmluZyA9PiB7XG4gIGlmICghYSkgcmV0dXJuICcnO1xuICBpZiAoT2JqZWN0LmtleXMoYSkubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG4gIGxldCBiOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gIGlmIChBcnJheS5pc0FycmF5KGEpKSB7XG4gICAgcmV0dXJuIGlzQXJyYXlGdW5jdGlvbihbLi4ucGFyZW50XSwgYSk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHR5cGVvZiBhID09PSAnb2JqZWN0Jykge1xuICAgICAgT2JqZWN0LmtleXMoYSlcbiAgICAgICAgLmZpbHRlcigoaykgPT4gdHlwZW9mIGFba10gIT09ICd1bmRlZmluZWQnKVxuICAgICAgICAuZm9yRWFjaCgoaykgPT4ge1xuICAgICAgICBpZiAoayA9PT0gJ19fYWxpYXMnKSB7XG4gICAgICAgICAgT2JqZWN0LmtleXMoYVtrXSkuZm9yRWFjaCgoYWxpYXNLZXkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFsaWFzT3BlcmF0aW9ucyA9IGFba11bYWxpYXNLZXldO1xuICAgICAgICAgICAgY29uc3QgYWxpYXNPcGVyYXRpb25OYW1lID0gT2JqZWN0LmtleXMoYWxpYXNPcGVyYXRpb25zKVswXTtcbiAgICAgICAgICAgIGNvbnN0IGFsaWFzT3BlcmF0aW9uID0gYWxpYXNPcGVyYXRpb25zW2FsaWFzT3BlcmF0aW9uTmFtZV07XG4gICAgICAgICAgICBiW1xuICAgICAgICAgICAgICBgJHthbGlhc09wZXJhdGlvbk5hbWV9X19hbGlhc19fJHthbGlhc0tleX06ICR7YWxpYXNPcGVyYXRpb25OYW1lfWBcbiAgICAgICAgICAgIF0gPSB0cmF2ZXJzZVRvU2Vla0FycmF5cyhbLi4ucGFyZW50LCBhbGlhc09wZXJhdGlvbk5hbWVdLCBhbGlhc09wZXJhdGlvbik7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYltrXSA9IHRyYXZlcnNlVG9TZWVrQXJyYXlzKFsuLi5wYXJlbnQsIGtdLCBhW2tdKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG9iamVjdFRvVHJlZShiKTtcbn07XG5cblxuY29uc3QgYnVpbGRRdWVyeSA9ICh0eXBlOiBzdHJpbmcsIGE/OiBSZWNvcmQ8YW55LCBhbnk+KSA9PlxuICB0cmF2ZXJzZVRvU2Vla0FycmF5cyhbdHlwZV0sIGEpO1xuXG5cbmNvbnN0IGluc3BlY3RWYXJpYWJsZXMgPSAocXVlcnk6IHN0cmluZykgPT4ge1xuICBjb25zdCByZWdleCA9IC9cXCRcXGJcXHcqX19aRVVTX1ZBUl9fXFxbP1teIV5cXF1eXFxzXixeXFwpXlxcfV0qWyFdP1tcXF1dP1shXT8vZztcbiAgbGV0IHJlc3VsdDtcbiAgY29uc3QgQWxsVmFyaWFibGVzOiBzdHJpbmdbXSA9IFtdO1xuICB3aGlsZSAoKHJlc3VsdCA9IHJlZ2V4LmV4ZWMocXVlcnkpKSkge1xuICAgIGlmIChBbGxWYXJpYWJsZXMuaW5jbHVkZXMocmVzdWx0WzBdKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIEFsbFZhcmlhYmxlcy5wdXNoKHJlc3VsdFswXSk7XG4gIH1cbiAgaWYgKCFBbGxWYXJpYWJsZXMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHF1ZXJ5O1xuICB9XG4gIGxldCBmaWx0ZXJlZFF1ZXJ5ID0gcXVlcnk7XG4gIEFsbFZhcmlhYmxlcy5mb3JFYWNoKCh2YXJpYWJsZSkgPT4ge1xuICAgIHdoaWxlIChmaWx0ZXJlZFF1ZXJ5LmluY2x1ZGVzKHZhcmlhYmxlKSkge1xuICAgICAgZmlsdGVyZWRRdWVyeSA9IGZpbHRlcmVkUXVlcnkucmVwbGFjZSh2YXJpYWJsZSwgdmFyaWFibGUuc3BsaXQoJ19fWkVVU19WQVJfXycpWzBdKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gYCgke0FsbFZhcmlhYmxlcy5tYXAoKGEpID0+IGEuc3BsaXQoJ19fWkVVU19WQVJfXycpKVxuICAgIC5tYXAoKFt2YXJpYWJsZU5hbWUsIHZhcmlhYmxlVHlwZV0pID0+IGAke3ZhcmlhYmxlTmFtZX06JHt2YXJpYWJsZVR5cGV9YClcbiAgICAuam9pbignLCAnKX0pJHtmaWx0ZXJlZFF1ZXJ5fWA7XG59O1xuXG5cbmV4cG9ydCBjb25zdCBxdWVyeUNvbnN0cnVjdCA9ICh0OiAncXVlcnknIHwgJ211dGF0aW9uJyB8ICdzdWJzY3JpcHRpb24nLCB0TmFtZTogc3RyaW5nLCBvcGVyYXRpb25OYW1lPzogc3RyaW5nKSA9PiAobzogUmVjb3JkPGFueSwgYW55PikgPT5cbiAgYCR7dC50b0xvd2VyQ2FzZSgpfSR7b3BlcmF0aW9uTmFtZSA/ICcgJyArIG9wZXJhdGlvbk5hbWUgOiAnJ30ke2luc3BlY3RWYXJpYWJsZXMoYnVpbGRRdWVyeSh0TmFtZSwgbykpfWA7XG5cblxuZXhwb3J0IGNvbnN0IGZ1bGxDaGFpbkNvbnN0cnVjdCA9IChmbjogRmV0Y2hGdW5jdGlvbikgPT4gKHQ6ICdxdWVyeScgfCAnbXV0YXRpb24nIHwgJ3N1YnNjcmlwdGlvbicsIHROYW1lOiBzdHJpbmcpID0+IChcbiAgbzogUmVjb3JkPGFueSwgYW55PixcbiAgb3B0aW9ucz86IE9wZXJhdGlvbk9wdGlvbnMsXG4pID0+IGZuKHF1ZXJ5Q29uc3RydWN0KHQsIHROYW1lLCBvcHRpb25zPy5vcGVyYXRpb25OYW1lKShvKSwgb3B0aW9ucz8udmFyaWFibGVzKS50aGVuKChyOmFueSkgPT4ge1xuICBzZWVrRm9yQWxpYXNlcyhyKVxuICByZXR1cm4gclxufSk7XG5cblxuZXhwb3J0IGNvbnN0IGZ1bGxTdWJzY3JpcHRpb25Db25zdHJ1Y3QgPSAoZm46IFN1YnNjcmlwdGlvbkZ1bmN0aW9uKSA9PiAoXG4gIHQ6ICdxdWVyeScgfCAnbXV0YXRpb24nIHwgJ3N1YnNjcmlwdGlvbicsXG4gIHROYW1lOiBzdHJpbmcsXG4pID0+IChvOiBSZWNvcmQ8YW55LCBhbnk+LCBvcHRpb25zPzogT3BlcmF0aW9uT3B0aW9ucykgPT5cbiAgZm4ocXVlcnlDb25zdHJ1Y3QodCwgdE5hbWUsIG9wdGlvbnM/Lm9wZXJhdGlvbk5hbWUpKG8pKTtcblxuXG5jb25zdCBzZWVrRm9yQWxpYXNlcyA9IChyZXNwb25zZTogYW55KSA9PiB7XG4gIGNvbnN0IHRyYXZlcnNlQWxpYXMgPSAodmFsdWU6IGFueSkgPT4ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgdmFsdWUuZm9yRWFjaChzZWVrRm9yQWxpYXNlcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIHNlZWtGb3JBbGlhc2VzKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG4gIGlmICh0eXBlb2YgcmVzcG9uc2UgPT09ICdvYmplY3QnICYmIHJlc3BvbnNlKSB7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHJlc3BvbnNlKTtcbiAgICBpZiAoa2V5cy5sZW5ndGggPCAxKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGtleXMuZm9yRWFjaCgoaykgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSByZXNwb25zZVtrXTtcbiAgICAgIGlmIChrLmluZGV4T2YoJ19fYWxpYXNfXycpICE9PSAtMSkge1xuICAgICAgICBjb25zdCBbb3BlcmF0aW9uLCBhbGlhc10gPSBrLnNwbGl0KCdfX2FsaWFzX18nKTtcbiAgICAgICAgcmVzcG9uc2VbYWxpYXNdID0ge1xuICAgICAgICAgIFtvcGVyYXRpb25dOiB2YWx1ZSxcbiAgICAgICAgfTtcbiAgICAgICAgZGVsZXRlIHJlc3BvbnNlW2tdO1xuICAgICAgfVxuICAgICAgdHJhdmVyc2VBbGlhcyh2YWx1ZSk7XG4gICAgfSk7XG4gIH1cbn07XG5cblxuZXhwb3J0IGNvbnN0ICQgPSAodDogVGVtcGxhdGVTdHJpbmdzQXJyYXkpOiBhbnkgPT4gYFpFVVNfVkFSJCR7dC5qb2luKCcnKX1gO1xuXG5cbmV4cG9ydCBjb25zdCByZXNvbHZlckZvciA9IDxcbiAgWCxcbiAgVCBleHRlbmRzIGtleW9mIFZhbHVlVHlwZXMsXG4gIFogZXh0ZW5kcyBrZXlvZiBWYWx1ZVR5cGVzW1RdLFxuPihcbiAgX3R5cGU6IFQsXG4gIF9maWVsZDogWixcbiAgZm46IChcbiAgICBhcmdzOiBSZXF1aXJlZDxWYWx1ZVR5cGVzW1RdPltaXSBleHRlbmRzIFtpbmZlciBJbnB1dCwgYW55XSA/IElucHV0IDogYW55LFxuICAgIHNvdXJjZTogYW55LFxuICApID0+IFogZXh0ZW5kcyBrZXlvZiBNb2RlbFR5cGVzW1RdID8gTW9kZWxUeXBlc1tUXVtaXSB8IFByb21pc2U8TW9kZWxUeXBlc1tUXVtaXT4gfCBYIDogYW55LFxuKSA9PiBmbiBhcyAoYXJncz86IGFueSxzb3VyY2U/OiBhbnkpID0+IGFueTtcblxuXG5jb25zdCBoYW5kbGVGZXRjaFJlc3BvbnNlID0gKFxuICByZXNwb25zZTogUGFyYW1ldGVyczxFeHRyYWN0PFBhcmFtZXRlcnM8UmV0dXJuVHlwZTx0eXBlb2YgZmV0Y2g+Wyd0aGVuJ10+WzBdLCBGdW5jdGlvbj4+WzBdXG4pOiBQcm9taXNlPEdyYXBoUUxSZXNwb25zZT4gPT4ge1xuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChfLCByZWplY3QpID0+IHtcbiAgICAgIHJlc3BvbnNlLnRleHQoKS50aGVuKHRleHQgPT4ge1xuICAgICAgICB0cnkgeyByZWplY3QoSlNPTi5wYXJzZSh0ZXh0KSk7IH1cbiAgICAgICAgY2F0Y2ggKGVycikgeyByZWplY3QodGV4dCk7IH1cbiAgICAgIH0pLmNhdGNoKHJlamVjdCk7XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKTtcbn07XG5cbmV4cG9ydCBjb25zdCBhcGlGZXRjaCA9IChvcHRpb25zOiBmZXRjaE9wdGlvbnMpID0+IChxdWVyeTogc3RyaW5nLCB2YXJpYWJsZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fSkgPT4ge1xuICAgIGxldCBmZXRjaEZ1bmN0aW9uID0gZmV0Y2g7XG4gICAgbGV0IHF1ZXJ5U3RyaW5nID0gcXVlcnk7XG4gICAgbGV0IGZldGNoT3B0aW9ucyA9IG9wdGlvbnNbMV0gfHwge307XG4gICAgaWYgKGZldGNoT3B0aW9ucy5tZXRob2QgJiYgZmV0Y2hPcHRpb25zLm1ldGhvZCA9PT0gJ0dFVCcpIHtcbiAgICAgIHF1ZXJ5U3RyaW5nID0gZW5jb2RlVVJJQ29tcG9uZW50KHF1ZXJ5KTtcbiAgICAgIHJldHVybiBmZXRjaEZ1bmN0aW9uKGAke29wdGlvbnNbMF19P3F1ZXJ5PSR7cXVlcnlTdHJpbmd9YCwgZmV0Y2hPcHRpb25zKVxuICAgICAgICAudGhlbihoYW5kbGVGZXRjaFJlc3BvbnNlKVxuICAgICAgICAudGhlbigocmVzcG9uc2U6IEdyYXBoUUxSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIGlmIChyZXNwb25zZS5lcnJvcnMpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBHcmFwaFFMRXJyb3IocmVzcG9uc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBmZXRjaEZ1bmN0aW9uKGAke29wdGlvbnNbMF19YCwge1xuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBxdWVyeTogcXVlcnlTdHJpbmcsIHZhcmlhYmxlcyB9KSxcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICB9LFxuICAgICAgLi4uZmV0Y2hPcHRpb25zXG4gICAgfSlcbiAgICAgIC50aGVuKGhhbmRsZUZldGNoUmVzcG9uc2UpXG4gICAgICAudGhlbigocmVzcG9uc2U6IEdyYXBoUUxSZXNwb25zZSkgPT4ge1xuICAgICAgICBpZiAocmVzcG9uc2UuZXJyb3JzKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEdyYXBoUUxFcnJvcihyZXNwb25zZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgICB9KTtcbiAgfTtcblxuXG5leHBvcnQgY29uc3QgYXBpU3Vic2NyaXB0aW9uID0gKG9wdGlvbnM6IGNoYWluT3B0aW9ucykgPT4gKFxuICAgIHF1ZXJ5OiBzdHJpbmcsXG4gICkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBxdWVyeVN0cmluZyA9IG9wdGlvbnNbMF0gKyAnP3F1ZXJ5PScgKyBlbmNvZGVVUklDb21wb25lbnQocXVlcnkpO1xuICAgICAgY29uc3Qgd3NTdHJpbmcgPSBxdWVyeVN0cmluZy5yZXBsYWNlKCdodHRwJywgJ3dzJyk7XG4gICAgICBjb25zdCBob3N0ID0gKG9wdGlvbnMubGVuZ3RoID4gMSAmJiBvcHRpb25zWzFdPy53ZWJzb2NrZXQ/LlswXSkgfHwgd3NTdHJpbmc7XG4gICAgICBjb25zdCB3ZWJTb2NrZXRPcHRpb25zID0gb3B0aW9uc1sxXT8ud2Vic29ja2V0IHx8IFtob3N0XTtcbiAgICAgIGNvbnN0IHdzID0gbmV3IFdlYlNvY2tldCguLi53ZWJTb2NrZXRPcHRpb25zKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHdzLFxuICAgICAgICBvbjogKGU6IChhcmdzOiBhbnkpID0+IHZvaWQpID0+IHtcbiAgICAgICAgICB3cy5vbm1lc3NhZ2UgPSAoZXZlbnQ6YW55KSA9PiB7XG4gICAgICAgICAgICBpZihldmVudC5kYXRhKXtcbiAgICAgICAgICAgICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShldmVudC5kYXRhKVxuICAgICAgICAgICAgICBjb25zdCBkYXRhID0gcGFyc2VkLmRhdGFcbiAgICAgICAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICAgICAgICBzZWVrRm9yQWxpYXNlcyhkYXRhKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gZShkYXRhKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgICAgICBvZmY6IChlOiAoYXJnczogYW55KSA9PiB2b2lkKSA9PiB7XG4gICAgICAgICAgd3Mub25jbG9zZSA9IGU7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoZTogKGFyZ3M6IGFueSkgPT4gdm9pZCkgPT4ge1xuICAgICAgICAgIHdzLm9uZXJyb3IgPSBlO1xuICAgICAgICB9LFxuICAgICAgICBvcGVuOiAoZTogKCkgPT4gdm9pZCkgPT4ge1xuICAgICAgICAgIHdzLm9ub3BlbiA9IGU7XG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH0gY2F0Y2gge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyB3ZWJzb2NrZXRzIGltcGxlbWVudGVkJyk7XG4gICAgfVxuICB9O1xuXG5cblxuY29uc3QgYWxsT3BlcmF0aW9ucyA9IHtcbiAgICBcInF1ZXJ5XCI6IFwiUXVlcnlcIixcbiAgICBcIm11dGF0aW9uXCI6IFwiTXV0YXRpb25cIixcbiAgICBcInN1YnNjcmlwdGlvblwiOiBcIlN1YnNjcmlwdGlvblwiXG59XG5cbmV4cG9ydCB0eXBlIEdlbmVyaWNPcGVyYXRpb248Tz4gPSBPIGV4dGVuZHMgJ3F1ZXJ5J1xuICA/IFwiUXVlcnlcIlxuICA6IE8gZXh0ZW5kcyAnbXV0YXRpb24nXG4gID8gXCJNdXRhdGlvblwiXG4gIDogXCJTdWJzY3JpcHRpb25cIlxuXG5leHBvcnQgY29uc3QgVGh1bmRlciA9IChmbjogRmV0Y2hGdW5jdGlvbikgPT4gPFxuICBPIGV4dGVuZHMgJ3F1ZXJ5JyB8ICdtdXRhdGlvbicgfCAnc3Vic2NyaXB0aW9uJyxcbiAgUiBleHRlbmRzIGtleW9mIFZhbHVlVHlwZXMgPSBHZW5lcmljT3BlcmF0aW9uPE8+XG4+KFxuICBvcGVyYXRpb246IE8sXG4pID0+IDxaIGV4dGVuZHMgVmFsdWVUeXBlc1tSXT4obzogWiB8IFZhbHVlVHlwZXNbUl0sIG9wcz86IE9wZXJhdGlvbk9wdGlvbnMpID0+XG4gIGZ1bGxDaGFpbkNvbnN0cnVjdChmbikob3BlcmF0aW9uLCBhbGxPcGVyYXRpb25zW29wZXJhdGlvbl0pKG8gYXMgYW55LCBvcHMpIGFzIFByb21pc2U8SW5wdXRUeXBlPEdyYXBoUUxUeXBlc1tSXSwgWj4+O1xuXG5leHBvcnQgY29uc3QgQ2hhaW4gPSAoLi4ub3B0aW9uczogY2hhaW5PcHRpb25zKSA9PiBUaHVuZGVyKGFwaUZldGNoKG9wdGlvbnMpKTtcblxuZXhwb3J0IGNvbnN0IFN1YnNjcmlwdGlvblRodW5kZXIgPSAoZm46IFN1YnNjcmlwdGlvbkZ1bmN0aW9uKSA9PiA8XG4gIE8gZXh0ZW5kcyAncXVlcnknIHwgJ211dGF0aW9uJyB8ICdzdWJzY3JpcHRpb24nLFxuICBSIGV4dGVuZHMga2V5b2YgVmFsdWVUeXBlcyA9IEdlbmVyaWNPcGVyYXRpb248Tz5cbj4oXG4gIG9wZXJhdGlvbjogTyxcbikgPT4gPFogZXh0ZW5kcyBWYWx1ZVR5cGVzW1JdPihcbiAgbzogWiB8IFZhbHVlVHlwZXNbUl0sXG4gIG9wcz86IE9wZXJhdGlvbk9wdGlvbnNcbik9PlxuICBmdWxsU3Vic2NyaXB0aW9uQ29uc3RydWN0KGZuKShvcGVyYXRpb24sIGFsbE9wZXJhdGlvbnNbb3BlcmF0aW9uXSkoXG4gICAgbyBhcyBhbnksXG4gICAgb3BzLFxuICApIGFzIFN1YnNjcmlwdGlvblRvR3JhcGhRTDxaLCBHcmFwaFFMVHlwZXNbUl0+O1xuXG5leHBvcnQgY29uc3QgU3Vic2NyaXB0aW9uID0gKC4uLm9wdGlvbnM6IGNoYWluT3B0aW9ucykgPT4gU3Vic2NyaXB0aW9uVGh1bmRlcihhcGlTdWJzY3JpcHRpb24ob3B0aW9ucykpO1xuZXhwb3J0IGNvbnN0IFpldXMgPSA8XG4gIFogZXh0ZW5kcyBWYWx1ZVR5cGVzW1JdLFxuICBPIGV4dGVuZHMgJ3F1ZXJ5JyB8ICdtdXRhdGlvbicgfCAnc3Vic2NyaXB0aW9uJyxcbiAgUiBleHRlbmRzIGtleW9mIFZhbHVlVHlwZXMgPSBHZW5lcmljT3BlcmF0aW9uPE8+XG4+KFxuICBvcGVyYXRpb246IE8sXG4gIG86IFogfCBWYWx1ZVR5cGVzW1JdLFxuICBvcGVyYXRpb25OYW1lPzogc3RyaW5nLFxuKSA9PiBxdWVyeUNvbnN0cnVjdChvcGVyYXRpb24sIGFsbE9wZXJhdGlvbnNbb3BlcmF0aW9uXSwgb3BlcmF0aW9uTmFtZSkobyBhcyBhbnkpO1xuZXhwb3J0IGNvbnN0IFNlbGVjdG9yID0gPFQgZXh0ZW5kcyBrZXlvZiBWYWx1ZVR5cGVzPihfa2V5OiBUKSA9PiBaZXVzU2VsZWN0PFZhbHVlVHlwZXNbVF0+KCk7XG5cblxuZXhwb3J0IGNvbnN0IEdxbCA9IENoYWluKCdodHRwOi8vbG9jYWxob3N0OjQwMDAvZ3JhcGhxbCcpXG4iXX0=