@aws-cdk/toolkit-lib 1.24.0 → 1.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/build-info.json +2 -2
  2. package/db.json.gz +0 -0
  3. package/lib/actions/deploy/index.d.ts +15 -1
  4. package/lib/actions/deploy/index.js +1 -1
  5. package/lib/actions/deploy/private/deployment-method.d.ts +5 -9
  6. package/lib/actions/deploy/private/deployment-method.js +8 -1
  7. package/lib/actions/diagnose/index.d.ts +89 -0
  8. package/lib/actions/diagnose/index.js +3 -0
  9. package/lib/actions/diff/private/helpers.js +12 -15
  10. package/lib/actions/index.d.ts +2 -0
  11. package/lib/actions/index.js +3 -1
  12. package/lib/actions/orphan/index.d.ts +18 -0
  13. package/lib/actions/orphan/index.js +3 -0
  14. package/lib/api/aws-auth/sdk.d.ts +2 -1
  15. package/lib/api/aws-auth/sdk.js +2 -1
  16. package/lib/api/bootstrap/bootstrap-environment.js +4 -4
  17. package/lib/api/bootstrap/bootstrap-template.yaml +5 -16
  18. package/lib/api/bootstrap/deploy-bootstrap.js +9 -1
  19. package/lib/api/cloud-assembly/stack-selector.d.ts +1 -1
  20. package/lib/api/cloud-assembly/stack-selector.js +1 -1
  21. package/lib/api/cloudformation/index.d.ts +1 -0
  22. package/lib/api/cloudformation/index.js +2 -1
  23. package/lib/api/cloudformation/logical-id-map.d.ts +24 -0
  24. package/lib/api/cloudformation/logical-id-map.js +45 -0
  25. package/lib/api/cloudformation/stack-helpers.d.ts +6 -0
  26. package/lib/api/cloudformation/stack-helpers.js +12 -1
  27. package/lib/api/deployments/cfn-api.d.ts +8 -17
  28. package/lib/api/deployments/cfn-api.js +60 -71
  29. package/lib/api/deployments/deploy-stack.d.ts +6 -2
  30. package/lib/api/deployments/deploy-stack.js +42 -61
  31. package/lib/api/deployments/deployments.d.ts +3 -2
  32. package/lib/api/deployments/deployments.js +31 -7
  33. package/lib/api/diagnosing/diagnosis-formatting.d.ts +13 -0
  34. package/lib/api/diagnosing/diagnosis-formatting.js +139 -0
  35. package/lib/api/diagnosing/early-validation.d.ts +49 -0
  36. package/lib/api/diagnosing/early-validation.js +81 -0
  37. package/lib/api/diagnosing/stack-diagnoser.d.ts +99 -0
  38. package/lib/api/diagnosing/stack-diagnoser.js +338 -0
  39. package/lib/api/diagnosing/tree-builder.d.ts +12 -0
  40. package/lib/api/diagnosing/tree-builder.js +86 -0
  41. package/lib/api/diagnosing/tree.d.ts +13 -0
  42. package/lib/api/diagnosing/tree.js +61 -0
  43. package/lib/api/diff/diff-formatter.js +8 -12
  44. package/lib/api/drift/drift-formatter.d.ts +0 -1
  45. package/lib/api/drift/drift-formatter.js +3 -10
  46. package/lib/api/hotswap/hotswap-deployments.js +14 -2
  47. package/lib/api/hotswap/hotswap-template-cache.d.ts +19 -0
  48. package/lib/api/hotswap/hotswap-template-cache.js +96 -0
  49. package/lib/api/index.d.ts +1 -0
  50. package/lib/api/index.js +2 -1
  51. package/lib/api/io/private/messages.d.ts +5 -0
  52. package/lib/api/io/private/messages.js +23 -1
  53. package/lib/api/io/toolkit-action.d.ts +1 -1
  54. package/lib/api/io/toolkit-action.js +1 -1
  55. package/lib/api/orphan/orphaner.d.ts +75 -0
  56. package/lib/api/orphan/orphaner.js +246 -0
  57. package/lib/api/orphan/private/helpers.d.ts +56 -0
  58. package/lib/api/orphan/private/helpers.js +219 -0
  59. package/lib/api/orphan/private/index.d.ts +2 -0
  60. package/lib/api/orphan/private/index.js +18 -0
  61. package/lib/api/resource-import/importer.d.ts +5 -1
  62. package/lib/api/resource-import/importer.js +26 -6
  63. package/lib/api/settings.d.ts +3 -1
  64. package/lib/api/settings.js +16 -3
  65. package/lib/api/source-tracing/index.d.ts +2 -0
  66. package/lib/api/source-tracing/index.js +18 -0
  67. package/lib/api/source-tracing/private/source-tracing.d.ts +16 -0
  68. package/lib/api/source-tracing/private/source-tracing.js +8 -0
  69. package/lib/api/source-tracing/private/stack-source-tracing.d.ts +32 -0
  70. package/lib/api/source-tracing/private/stack-source-tracing.js +134 -0
  71. package/lib/api/source-tracing/types.d.ts +9 -0
  72. package/lib/api/source-tracing/types.js +3 -0
  73. package/lib/api/stack-events/resource-errors.d.ts +82 -0
  74. package/lib/api/stack-events/resource-errors.js +129 -0
  75. package/lib/api/stack-events/stack-activity-monitor.d.ts +2 -29
  76. package/lib/api/stack-events/stack-activity-monitor.js +5 -94
  77. package/lib/api/stack-events/stack-event-poller.d.ts +71 -8
  78. package/lib/api/stack-events/stack-event-poller.js +107 -13
  79. package/lib/api/work-graph/work-graph.d.ts +4 -0
  80. package/lib/api/work-graph/work-graph.js +6 -1
  81. package/lib/index.d.ts +1 -0
  82. package/lib/index.js +2 -1
  83. package/lib/index_bg.wasm +0 -0
  84. package/lib/toolkit/toolkit.d.ts +17 -1
  85. package/lib/toolkit/toolkit.js +194 -57
  86. package/lib/util/arrays.d.ts +1 -0
  87. package/lib/util/arrays.js +23 -1
  88. package/lib/util/type-brands.d.ts +1 -1
  89. package/lib/util/type-brands.js +1 -1
  90. package/package.json +11 -11
  91. package/lib/api/deployments/early-validation.d.ts +0 -19
  92. package/lib/api/deployments/early-validation.js +0 -57
@@ -372,6 +372,12 @@ exports.IO = {
372
372
  code: 'CDK_TOOLKIT_W8010',
373
373
  description: 'Refactor execution not yet supported',
374
374
  }),
375
+ // Orphan (88xx)
376
+ CDK_TOOLKIT_I8810: make.confirm({
377
+ code: 'CDK_TOOLKIT_I8810',
378
+ description: 'Confirm orphan resources',
379
+ interface: 'ConfirmationRequest',
380
+ }),
375
381
  // 9: Bootstrap, gc, flags & publish (9xxx)
376
382
  CDK_TOOLKIT_I9000: make.info({
377
383
  code: 'CDK_TOOLKIT_I9000',
@@ -420,6 +426,22 @@ exports.IO = {
420
426
  description: 'Publish assets results on success',
421
427
  interface: 'AssetsPayload',
422
428
  }),
429
+ // diagnose (95xx)
430
+ CDK_TOOLKIT_I9500: make.info({
431
+ code: 'CDK_TOOLKIT_I9500',
432
+ description: 'Stack diagnosis (no problems found)',
433
+ interface: 'DiagnosedStack',
434
+ }),
435
+ CDK_TOOLKIT_E9500: make.error({
436
+ code: 'CDK_TOOLKIT_E9500',
437
+ description: 'Stack diagnosis (problems found)',
438
+ interface: 'DiagnosedStack',
439
+ }),
440
+ CDK_TOOLKIT_W9501: make.warn({
441
+ code: 'CDK_TOOLKIT_W9501',
442
+ description: 'Stack diagnosis (diagnosis could not be performed)',
443
+ interface: 'DiagnosedStack',
444
+ }),
423
445
  // Notices
424
446
  CDK_TOOLKIT_I0100: make.info({
425
447
  code: 'CDK_TOOLKIT_I0100',
@@ -585,4 +607,4 @@ exports.SPAN = {
585
607
  end: exports.IO.CDK_TOOLKIT_I5410,
586
608
  },
587
609
  };
588
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJtZXNzYWdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx3Q0FBd0M7QUFnQ3hDOzs7OztHQUtHO0FBQ1UsUUFBQSxFQUFFLEdBQUc7SUFDaEIsb0JBQW9CO0lBQ3BCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDM0IsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixXQUFXLEVBQUUsNEJBQTRCO0tBQzFDLENBQUM7SUFFRixrQkFBa0I7SUFDbEIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBWTtRQUN0QyxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSwyQkFBMkI7UUFDeEMsU0FBUyxFQUFFLFdBQVc7S0FDdkIsQ0FBQztJQUNGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQXdCO1FBQ25ELElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLHNDQUFzQztRQUNuRCxTQUFTLEVBQUUsdUJBQXVCO0tBQ25DLENBQUM7SUFDRixpQkFBaUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUF1QjtRQUNuRCxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSxxQkFBcUI7UUFDbEMsU0FBUyxFQUFFLHNCQUFzQjtLQUNsQyxDQUFDO0lBQ0YsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBZTtRQUMzQyxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSw4QkFBOEI7UUFDM0MsU0FBUyxFQUFFLGNBQWM7S0FDMUIsQ0FBQztJQUVGLGlCQUFpQjtJQUNqQixpQkFBaUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFzQjtRQUNsRCxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSxnRUFBZ0U7UUFDN0UsU0FBUyxFQUFFLHFCQUFxQjtLQUNqQyxDQUFDO0lBRUYsc0JBQXNCO0lBQ3RCLGlCQUFpQixFQUFFLElB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QjtLQUMxQjtJQUNELGNBQWMsRUFBRTtRQUNkLElBQUksRUFBRSxTQUFTO1FBQ2YsS0FBSyxFQUFFLFVBQUUsQ0FBQyxpQkFBaUI7UUFDM0IsR0FBRyxFQUFFLFVBQUUsQ0FBQyxpQkFBaUI7S0FDMUI7SUFDRCxnQkFBZ0IsRUFBRTtRQUNoQixJQUFJLEVBQUUsV0FBVztRQUNqQixLQUFLLEVBQUUsVUFBRSxDQUFDLGlCQUFpQjtRQUMzQixHQUFHLEVBQUUsVUFBRSxDQUFDLGlCQUFpQjtLQUMxQjtJQUNELFdBQVcsRUFBRTtRQUNYLElBQUksRUFBRSxhQUFhO1FBQ25CLEtBQUssRUFBRSxVQUFFLENBQUMsaUJBQWlCO1FBQzNCLEdBQUcsRUFBRSxVQUFFLENBQUMsaUJBQWlCO0tBQzFCO0lBQ0QsYUFBYSxFQUFFO1FBQ2IsSUFBSSxFQUFFLGVBQWU7UUFDckIsS0FBSyxFQUFFLFVBQUUsQ0FBQyxpQkFBaUI7UUFDM0IsR0FBRyxFQUFFLFVBQUUsQ0FBQyxpQkFBaUI7S0FDMUI7SUFDRCxPQUFPLEVBQUU7UUFDUCxJQUFJLEVBQUUsb0JBQW9CO1FBQzFCLEtBQUssRUFBRSxVQUFFLENBQUMsaUJBQWlCO1FBQzNCLEdBQUcsRUFBRSxVQUFFLENBQUMsaUJBQWlCO0tBQzFCO0NBQ2lELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSAqIGFzIGN4YXBpIGZyb20gJ0Bhd3MtY2RrL2Nsb3VkLWFzc2VtYmx5LWFwaSc7XG5pbXBvcnQgKiBhcyBtYWtlIGZyb20gJy4vbWVzc2FnZS1tYWtlcic7XG5pbXBvcnQgdHlwZSB7IFNwYW5EZWZpbml0aW9uIH0gZnJvbSAnLi9zcGFuJztcbmltcG9ydCB0eXBlIHsgU3RhY2tEaWZmLCBEaWZmUmVzdWx0IH0gZnJvbSAnLi4vLi4vLi4vcGF5bG9hZHMnO1xuaW1wb3J0IHR5cGUgeyBCb290c3RyYXBFbnZpcm9ubWVudFByb2dyZXNzIH0gZnJvbSAnLi4vLi4vLi4vcGF5bG9hZHMvYm9vdHN0cmFwLWVudmlyb25tZW50LXByb2dyZXNzJztcbmltcG9ydCB0eXBlIHsgTWlzc2luZ0NvbnRleHQsIFVwZGF0ZWRDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vcGF5bG9hZHMvY29udGV4dCc7XG5pbXBvcnQgdHlwZSB7IEJ1aWxkQXNzZXQsIERlcGxveUNvbmZpcm1hdGlvblJlcXVlc3QsIFB1Ymxpc2hBc3NldCwgUHVibGlzaEFzc2V0RXZlbnQsIFN0YWNrRGVwbG95UHJvZ3Jlc3MsIFN1Y2Nlc3NmdWxEZXBsb3lTdGFja1Jlc3VsdCB9IGZyb20gJy4uLy4uLy4uL3BheWxvYWRzL2RlcGxveSc7XG5pbXBvcnQgdHlwZSB7IFN0YWNrRGVzdHJveSwgU3RhY2tEZXN0cm95UHJvZ3Jlc3MgfSBmcm9tICcuLi8uLi8uLi9wYXlsb2Fkcy9kZXN0cm95JztcbmltcG9ydCB0eXBlIHsgRHJpZnRSZXN1bHRQYXlsb2FkIH0gZnJvbSAnLi4vLi4vLi4vcGF5bG9hZHMvZHJpZnQnO1xuaW1wb3J0IHR5cGUgeyBGZWF0dXJlRmxhZ0NoYW5nZVJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9wYXlsb2Fkcy9mbGFncyc7XG5pbXBvcnQgdHlwZSB7IEFzc2V0QmF0Y2hEZWxldGlvblJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9wYXlsb2Fkcy9nYyc7XG5pbXBvcnQgdHlwZSB7IEhvdHN3YXBEZXBsb3ltZW50RGV0YWlscywgSG90c3dhcERlcGxveW1lbnRBdHRlbXB0LCBIb3Rzd2FwcGFibGVDaGFuZ2UsIEhvdHN3YXBSZXN1bHQgfSBmcm9tICcuLi8uLi8uLi9wYXlsb2Fkcy9ob3Rzd2FwJztcbmltcG9ydCB0eXBlIHsgUmVzb3VyY2VJZGVudGlmaWNhdGlvblJlcXVlc3QsIFJlc291cmNlSW1wb3J0UmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL3BheWxvYWRzL2ltcG9ydCc7XG5pbXBvcnQgdHlwZSB7IFN0YWNrRGV0YWlsc1BheWxvYWQgfSBmcm9tICcuLi8uLi8uLi9wYXlsb2Fkcy9saXN0JztcbmltcG9ydCB0eXBlIHsgQ2xvdWRXYXRjaExvZ0V2ZW50LCBDbG91ZFdhdGNoTG9nTW9uaXRvckNvbnRyb2xFdmVudCB9IGZyb20gJy4uLy4uLy4uL3BheWxvYWRzL2xvZ3MtbW9uaXRvcic7XG5pbXBvcnQgdHlwZSB7IEFzc2V0c1BheWxvYWQgfSBmcm9tICcuLi8uLi8uLi9wYXlsb2Fkcy9wdWJsaXNoLWFzc2V0cyc7XG5pbXBvcnQgdHlwZSB7IFJlZmFjdG9yUmVzdWx0IH0gZnJvbSAnLi4vLi4vLi4vcGF5bG9hZHMvcmVmYWN0b3InO1xuaW1wb3J0IHR5cGUgeyBTdGFja1JvbGxiYWNrUHJvZ3Jlc3MgfSBmcm9tICcuLi8uLi8uLi9wYXlsb2Fkcy9yb2xsYmFjayc7XG5pbXBvcnQgdHlwZSB7IE1mYVRva2VuUmVxdWVzdCwgU2RrVHJhY2UgfSBmcm9tICcuLi8uLi8uLi9wYXlsb2Fkcy9zZGsnO1xuaW1wb3J0IHR5cGUgeyBTdGFja0FjdGl2aXR5LCBTdGFja01vbml0b3JpbmdDb250cm9sRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9wYXlsb2Fkcy9zdGFjay1hY3Rpdml0eSc7XG5pbXBvcnQgdHlwZSB7IFN0YWNrU2VsZWN0aW9uRGV0YWlscyB9IGZyb20gJy4uLy4uLy4uL3BheWxvYWRzL3N5bnRoJztcbmltcG9ydCB0eXBlIHtcbiAgQXNzZW1ibHlEYXRhLFxuICBDb25maXJtYXRpb25SZXF1ZXN0LFxuICBDb250ZXh0UHJvdmlkZXJNZXNzYWdlU291cmNlLFxuICBEdXJhdGlvbixcbiAgRXJyb3JQYXlsb2FkLFxuICBPcGVyYXRpb24sXG4gIFNpbmdsZVN0YWNrLFxuICBTdGFja0FuZEFzc2VtYmx5RGF0YSxcbn0gZnJvbSAnLi4vLi4vLi4vcGF5bG9hZHMvdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBGaWxlV2F0Y2hFdmVudCwgV2F0Y2hTZXR0aW5ncyB9IGZyb20gJy4uLy4uLy4uL3BheWxvYWRzL3dhdGNoJztcblxuLyoqXG4gKiBXZSBoYXZlIGEgcm91Z2ggc3lzdGVtIGJ5IHdoaWNoIHdlIGFzc2lnbiBtZXNzYWdlIGNvZGVzOlxuICogLSBGaXJzdCBkaWdpdCBncm91cHMgbWVzc2FnZXMgYnkgYWN0aW9uLCBlLmcuIHN5bnRoIG9yIGRlcGxveVxuICogLSBYMDAwLVgwMDkgYXJlIHJlc2VydmVkIGZvciB0aW1pbmdzXG4gKiAtIFg5MDAtWDk5OSBhcmUgcmVzZXJ2ZWQgZm9yIHJlc3VsdHNcbiAqL1xuZXhwb3J0IGNvbnN0IElPID0ge1xuICAvLyB3YXJuaW5ncyAmIGVycm9yc1xuICBDREtfVE9PTEtJVF9XMDEwMDogbWFrZS53YXJuKHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfVzAxMDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ3JlZGVudGlhbCBwbHVnaW4gd2FybmluZ3MnLFxuICB9KSxcblxuICAvLyAxOiBTeW50aCAoMXh4eClcbiAgQ0RLX1RPT0xLSVRfSTEwMDA6IG1ha2UuaW5mbzxPcGVyYXRpb24+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTEwMDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnUHJvdmlkZXMgc3ludGhlc2lzIHRpbWVzLicsXG4gICAgaW50ZXJmYWNlOiAnT3BlcmF0aW9uJyxcbiAgfSksXG4gIENES19UT09MS0lUX0kxMDAxOiBtYWtlLnRyYWNlPFN0YWNrU2VsZWN0aW9uRGV0YWlscz4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JMTAwMScsXG4gICAgZGVzY3JpcHRpb246ICdDbG91ZCBBc3NlbWJseSBzeW50aGVzaXMgaXMgc3RhcnRpbmcnLFxuICAgIGludGVyZmFjZTogJ1N0YWNrU2VsZWN0aW9uRGV0YWlscycsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9JMTkwMTogbWFrZS5yZXN1bHQ8U3RhY2tBbmRBc3NlbWJseURhdGE+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTE5MDEnLFxuICAgIGRlc2NyaXB0aW9uOiAnUHJvdmlkZXMgc3RhY2sgZGF0YScsXG4gICAgaW50ZXJmYWNlOiAnU3RhY2tBbmRBc3NlbWJseURhdGEnLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfSTE5MDI6IG1ha2UucmVzdWx0PEFzc2VtYmx5RGF0YT4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JMTkwMicsXG4gICAgZGVzY3JpcHRpb246ICdTdWNjZXNzZnVsbHkgZGVwbG95ZWQgc3RhY2tzJyxcbiAgICBpbnRlcmZhY2U6ICdBc3NlbWJseURhdGEnLFxuICB9KSxcblxuICAvLyAyOiBMaXN0ICgyeHh4KVxuICBDREtfVE9PTEtJVF9JMjkwMTogbWFrZS5yZXN1bHQ8U3RhY2tEZXRhaWxzUGF5bG9hZD4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JMjkwMScsXG4gICAgZGVzY3JpcHRpb246ICdQcm92aWRlcyBkZXRhaWxzIG9uIHRoZSBzZWxlY3RlZCBzdGFja3MgYW5kIHRoZWlyIGRlcGVuZGVuY2llcycsXG4gICAgaW50ZXJmYWNlOiAnU3RhY2tEZXRhaWxzUGF5bG9hZCcsXG4gIH0pLFxuXG4gIC8vIDM6IEltcG9ydCAmIE1pZ3JhdGVcbiAgQ0RLX1RPT0xLSVRfSTMxMDA6IG1ha2UuY29uZmlybTxSZXNvdXJjZUltcG9ydFJlcXVlc3Q+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTMxMDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ29uZmlybSB0aGUgaW1wb3J0IG9mIGEgc3BlY2lmaWMgcmVzb3VyY2UnLFxuICAgIGludGVyZmFjZTogJ1Jlc291cmNlSW1wb3J0UmVxdWVzdCcsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9JMzExMDogbWFrZS5xdWVzdGlvbjxSZXNvdXJjZUlkZW50aWZpY2F0aW9uUmVxdWVzdD4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JMzExMCcsXG4gICAgZGVzY3JpcHRpb246ICdBZGRpdGlvbmFsIGluZm9ybWF0aW9uIGlzIG5lZWRlZCB0byBpZGVudGlmeSBhIHJlc291cmNlJyxcbiAgICBpbnRlcmZhY2U6ICdSZXNvdXJjZUlkZW50aWZpY2F0aW9uUmVxdWVzdCcsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9FMzkwMDogbWFrZS5lcnJvcjxFcnJvclBheWxvYWQ+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfRTM5MDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnUmVzb3VyY2UgaW1wb3J0IGZhaWxlZCcsXG4gICAgaW50ZXJmYWNlOiAnRXJyb3JQYXlsb2FkJyxcbiAgfSksXG5cbiAgLy8gNDogRGlmZiAoNDB4eCAtIDQ0eHgpXG4gIENES19UT09MS0lUX0k0MDAwOiBtYWtlLnRyYWNlPFN0YWNrU2VsZWN0aW9uRGV0YWlscz4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JNDAwMCcsXG4gICAgZGVzY3JpcHRpb246ICdEaWZmIHN0YWNrcyBpcyBzdGFydGluZycsXG4gICAgaW50ZXJmYWNlOiAnU3RhY2tTZWxlY3Rpb25EZXRhaWxzJyxcbiAgfSksXG4gIENES19UT09MS0lUX0k0MDAxOiBtYWtlLnJlc3VsdDxEaWZmUmVzdWx0Pih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k0MDAxJyxcbiAgICBkZXNjcmlwdGlvbjogJ091dHB1dCBvZiB0aGUgZGlmZiBjb21tYW5kJyxcbiAgICBpbnRlcmZhY2U6ICdEaWZmUmVzdWx0JyxcbiAgfSksXG4gIENES19UT09MS0lUX0k0MDAyOiBtYWtlLnJlc3VsdDxTdGFja0RpZmY+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTQwMDInLFxuICAgIGRlc2NyaXB0aW9uOiAnVGhlIGRpZmYgZm9yIGEgc2luZ2xlIHN0YWNrJyxcbiAgICBpbnRlcmZhY2U6ICdTdGFja0RpZmYnLFxuICB9KSxcblxuICAvLyA0OiBEcmlmdCAoNDV4eCAtIDQ5eHgpXG4gIENES19UT09MS0lUX0k0NTAwOiBtYWtlLnRyYWNlPFN0YWNrU2VsZWN0aW9uRGV0YWlscz4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JNDUwMCcsXG4gICAgZGVzY3JpcHRpb246ICdEcmlmdCBkZXRlY3Rpb24gaXMgc3RhcnRpbmcnLFxuICAgIGludGVyZmFjZTogJ1N0YWNrU2VsZWN0aW9uRGV0YWlscycsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9JNDUwOTogbWFrZS5yZXN1bHQ8RHVyYXRpb24+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTQ1OTInLFxuICAgIGRlc2NyaXB0aW9uOiAnUmVzdWx0cyBvZiB0aGUgZHJpZnQnLFxuICAgIGludGVyZmFjZTogJ0R1cmF0aW9uJyxcbiAgfSksXG4gIENES19UT09MS0lUX0k0NTkwOiBtYWtlLnJlc3VsdDxEcmlmdFJlc3VsdFBheWxvYWQ+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTQ1OTAnLFxuICAgIGRlc2NyaXB0aW9uOiAnUmVzdWx0cyBvZiBhIHN0YWNrIGRyaWZ0JyxcbiAgICBpbnRlcmZhY2U6ICdEcmlmdFJlc3VsdFBheWxvYWQnLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfVzQ1OTE6IG1ha2Uud2FybjxTaW5nbGVTdGFjaz4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9XNDU5MScsXG4gICAgZGVzY3JpcHRpb246ICdNaXNzaW5nIGRyaWZ0IHJlc3VsdCBmb3J0IGEgc3RhY2suJyxcbiAgICBpbnRlcmZhY2U6ICdTaW5nbGVTdGFjaycsXG4gIH0pLFxuXG4gIC8vIDU6IERlcGxveSAmIFdhdGNoICg1eHh4KVxuICBDREtfVE9PTEtJVF9JNTAwMDogbWFrZS5pbmZvPER1cmF0aW9uPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k1MDAwJyxcbiAgICBkZXNjcmlwdGlvbjogJ1Byb3ZpZGVzIGRlcGxveW1lbnQgdGltZXMnLFxuICAgIGludGVyZmFjZTogJ0R1cmF0aW9uJyxcbiAgfSksXG4gIENES19UT09MS0lUX0k1MDAxOiBtYWtlLmluZm88RHVyYXRpb24+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTUwMDEnLFxuICAgIGRlc2NyaXB0aW9uOiAnUHJvdmlkZXMgdG90YWwgdGltZSBpbiBkZXBsb3kgYWN0aW9uLCBpbmNsdWRpbmcgc3ludGggYW5kIHJvbGxiYWNrJyxcbiAgICBpbnRlcmZhY2U6ICdEdXJhdGlvbicsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9JNTAwMjogbWFrZS5pbmZvPER1cmF0aW9uPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k1MDAyJyxcbiAgICBkZXNjcmlwdGlvbjogJ1Byb3ZpZGVzIHRpbWUgZm9yIHJlc291cmNlIG1pZ3JhdGlvbicsXG4gICAgaW50ZXJmYWNlOiAnRHVyYXRpb24nLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfVzUwMjE6IG1ha2Uud2Fybih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX1c1MDIxJyxcbiAgICBkZXNjcmlwdGlvbjogJ0VtcHR5IG5vbi1leGlzdGVudCBzdGFjaywgZGVwbG95bWVudCBpcyBza2lwcGVkJyxcbiAgfSksXG4gIENES19UT09MS0lUX1c1MDIyOiBtYWtlLndhcm4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9XNTAyMicsXG4gICAgZGVzY3JpcHRpb246ICdFbXB0eSBleGlzdGluZyBzdGFjaywgc3RhY2sgd2lsbCBiZSBkZXN0cm95ZWQnLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfSTUwMzE6IG1ha2UuaW5mbyh7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k1MDMxJyxcbiAgICBkZXNjcmlwdGlvbjogJ0luZm9ybXMgYWJvdXQgYW55IGxvZyBncm91cHMgdGhhdCBhcmUgdHJhY2VkIGFzIHBhcnQgb2YgdGhlIGRlcGxveW1lbnQnLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfSTUwMzI6IG1ha2UuZGVidWc8Q2xvdWRXYXRjaExvZ01vbml0b3JDb250cm9sRXZlbnQ+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTUwMzInLFxuICAgIGRlc2NyaXB0aW9uOiAnU3RhcnQgbW9uaXRvcmluZyBsb2cgZ3JvdXBzJyxcbiAgICBpbnRlcmZhY2U6ICdDbG91ZFdhdGNoTG9nTW9uaXRvckNvbnRyb2xFdmVudCcsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9JNTAzMzogbWFrZS5pbmZvPENsb3VkV2F0Y2hMb2dFdmVudD4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JNTAzMycsXG4gICAgZGVzY3JpcHRpb246ICdBIGxvZyBldmVudCByZWNlaXZlZCBmcm9tIENsb3VkIFdhdGNoJyxcbiAgICBpbnRlcmZhY2U6ICdDbG91ZFdhdGNoTG9nRXZlbnQnLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfSTUwMzQ6IG1ha2UuZGVidWc8Q2xvdWRXYXRjaExvZ01vbml0b3JDb250cm9sRXZlbnQ+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTUwMzQnLFxuICAgIGRlc2NyaXB0aW9uOiAnU3RvcCBtb25pdG9yaW5nIGxvZyBncm91cHMnLFxuICAgIGludGVyZmFjZTogJ0Nsb3VkV2F0Y2hMb2dNb25pdG9yQ29udHJvbEV2ZW50JyxcbiAgfSksXG4gIENES19UT09MS0lUX0U1MDM1OiBtYWtlLmVycm9yPEVycm9yUGF5bG9hZD4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9FNTAzNScsXG4gICAgZGVzY3JpcHRpb246ICdBIGxvZyBtb25pdG9yaW5nIGVycm9yJyxcbiAgICBpbnRlcmZhY2U6ICdFcnJvclBheWxvYWQnLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfSTUwNTA6IG1ha2UuY29uZmlybTxDb25maXJtYXRpb25SZXF1ZXN0Pih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k1MDUwJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NvbmZpcm0gcm9sbGJhY2sgZHVyaW5nIGRlcGxveW1lbnQnLFxuICAgIGludGVyZmFjZTogJ0NvbmZpcm1hdGlvblJlcXVlc3QnLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfSTUwNjA6IG1ha2UuY29uZmlybTxEZXBsb3lDb25maXJtYXRpb25SZXF1ZXN0Pih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k1MDYwJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NvbmZpcm0gZGVwbG95IHNlY3VyaXR5IHNlbnNpdGl2ZSBjaGFuZ2VzJyxcbiAgICBpbnRlcmZhY2U6ICdEZXBsb3lDb25maXJtYXRpb25SZXF1ZXN0JyxcbiAgfSksXG4gIENES19UT09MS0lUX0k1MTAwOiBtYWtlLmluZm88U3RhY2tEZXBsb3lQcm9ncmVzcz4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JNTEwMCcsXG4gICAgZGVzY3JpcHRpb246ICdTdGFjayBkZXBsb3kgcHJvZ3Jlc3MnLFxuICAgIGludGVyZmFjZTogJ1N0YWNrRGVwbG95UHJvZ3Jlc3MnLFxuICB9KSxcblxuICAvLyBBc3NldHMgKDUyeHgpXG4gIENES19UT09MS0lUX0k1MjEwOiBtYWtlLnRyYWNlPEJ1aWxkQXNzZXQ+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTUyMTAnLFxuICAgIGRlc2NyaXB0aW9uOiAnU3RhcnRlZCBidWlsZGluZyBhIHNwZWNpZmljIGFzc2V0JyxcbiAgICBpbnRlcmZhY2U6ICdCdWlsZEFzc2V0JyxcbiAgfSksXG4gIENES19UT09MS0lUX0k1MjExOiBtYWtlLnRyYWNlPER1cmF0aW9uPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k1MjExJyxcbiAgICBkZXNjcmlwdGlvbjogJ0J1aWxkaW5nIHRoZSBhc3NldCBoYXMgY29tcGxldGVkJyxcbiAgICBpbnRlcmZhY2U6ICdEdXJhdGlvbicsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9JNTIyMDogbWFrZS50cmFjZTxQdWJsaXNoQXNzZXQ+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTUyMjAnLFxuICAgIGRlc2NyaXB0aW9uOiAnU3RhcnRlZCBwdWJsaXNoaW5nIGEgc3BlY2lmaWMgYXNzZXQnLFxuICAgIGludGVyZmFjZTogJ1B1Ymxpc2hBc3NldCcsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9JNTIyMTogbWFrZS50cmFjZTxEdXJhdGlvbj4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JNTIyMScsXG4gICAgZGVzY3JpcHRpb246ICdQdWJsaXNoaW5nIHRoZSBhc3NldCBoYXMgY29tcGxldGVkJyxcbiAgICBpbnRlcmZhY2U6ICdEdXJhdGlvbicsXG4gIH0pLFxuXG4gIENES19BU1NFVFNfSTUyNzA6IG1ha2UuaW5mbzxQdWJsaXNoQXNzZXRFdmVudD4oe1xuICAgIGNvZGU6ICdDREtfQVNTRVRTX0k1MjcwJyxcbiAgICBkZXNjcmlwdGlvbjogJ1B1Ymxpc2hpbmcgdGhlIGFzc2V0IGhhcyBzdGFydGVkJyxcbiAgICBpbnRlcmZhY2U6ICdQdWJsaXNoQXNzZXRFdmVudCcsXG4gIH0pLFxuICBDREtfQVNTRVRTX0k1MjcxOiBtYWtlLmRlYnVnPFB1Ymxpc2hBc3NldEV2ZW50Pih7XG4gICAgY29kZTogJ0NES19BU1NFVFNfSTUyNzEnLFxuICAgIGRlc2NyaXB0aW9uOiAnRGVidWcgbWVzc2FnZWQgZW1pdHRlZCBkdXJpbmcgcHVibGlzaGluZyBvZiB0aGUgYXNzZXQnLFxuICAgIGludGVyZmFjZTogJ1B1Ymxpc2hBc3NldEV2ZW50JyxcbiAgfSksXG4gIENES19BU1NFVFNfSTUyNzU6IG1ha2UuaW5mbzxQdWJsaXNoQXNzZXRFdmVudD4oe1xuICAgIGNvZGU6ICdDREtfQVNTRVRTX0k1Mjc1JyxcbiAgICBkZXNjcmlwdGlvbjogJ1B1Ymxpc2hpbmcgdGhlIGFzc2V0IGhhcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5JyxcbiAgICBpbnRlcmZhY2U6ICdQdWJsaXNoQXNzZXRFdmVudCcsXG4gIH0pLFxuICBDREtfQVNTRVRTX0U1Mjc5OiBtYWtlLmVycm9yPFB1Ymxpc2hBc3NldEV2ZW50Pih7XG4gICAgY29kZTogJ0NES19BU1NFVFNfRTUyNzknLFxuICAgIGRlc2NyaXB0aW9uOiAnVGhlcmUgd2FzIGFuIGVycm9yIHdoaWxlIHB1Ymxpc2hpbmcgdGhlIGFzc2V0JyxcbiAgICBpbnRlcmZhY2U6ICdQdWJsaXNoQXNzZXRFdmVudCcsXG4gIH0pLFxuXG4gIC8vIFdhdGNoICg1M3h4KVxuICBDREtfVE9PTEtJVF9JNTMxMDogbWFrZS5kZWJ1ZzxXYXRjaFNldHRpbmdzPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k1MzEwJyxcbiAgICBkZXNjcmlwdGlvbjogJ1RoZSBjb21wdXRlZCBzZXR0aW5ncyB1c2VkIGZvciBmaWxlIHdhdGNoaW5nJyxcbiAgICBpbnRlcmZhY2U6ICdXYXRjaFNldHRpbmdzJyxcbiAgfSksXG4gIENES19UT09MS0lUX0k1MzExOiBtYWtlLmluZm88RmlsZVdhdGNoRXZlbnQ+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTUzMTEnLFxuICAgIGRlc2NyaXB0aW9uOiAnRmlsZSB3YXRjaGluZyBzdGFydGVkJyxcbiAgICBpbnRlcmZhY2U6ICdGaWxlV2F0Y2hFdmVudCcsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9JNTMxMjogbWFrZS5pbmZvPEZpbGVXYXRjaEV2ZW50Pih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k1MzEyJyxcbiAgICBkZXNjcmlwdGlvbjogJ0ZpbGUgZXZlbnQgZGV0ZWN0ZWQsIHN0YXJ0aW5nIGRlcGxveW1lbnQnLFxuICAgIGludGVyZmFjZTogJ0ZpbGVXYXRjaEV2ZW50JyxcbiAgfSksXG4gIENES19UT09MS0lUX0k1MzEzOiBtYWtlLmluZm88RmlsZVdhdGNoRXZlbnQ+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTUzMTMnLFxuICAgIGRlc2NyaXB0aW9uOiAnRmlsZSBldmVudCBkZXRlY3RlZCBkdXJpbmcgYWN0aXZlIGRlcGxveW1lbnQsIGNoYW5nZXMgYXJlIHF1ZXVlZCcsXG4gICAgaW50ZXJmYWNlOiAnRmlsZVdhdGNoRXZlbnQnLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfSTUzMTQ6IG1ha2UuaW5mbyh7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k1MzE0JyxcbiAgICBkZXNjcmlwdGlvbjogJ0luaXRpYWwgd2F0Y2ggZGVwbG95bWVudCBzdGFydGVkJyxcbiAgfSksXG4gIENES19UT09MS0lUX0k1MzE1OiBtYWtlLmluZm8oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JNTMxNScsXG4gICAgZGVzY3JpcHRpb246ICdRdWV1ZWQgd2F0Y2ggZGVwbG95bWVudCBzdGFydGVkJyxcbiAgfSksXG5cbiAgLy8gSG90c3dhcCAoNTR4eClcbiAgQ0RLX1RPT0xLSVRfSTU0MDA6IG1ha2UudHJhY2U8SG90c3dhcERlcGxveW1lbnRBdHRlbXB0Pih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k1NDAwJyxcbiAgICBkZXNjcmlwdGlvbjogJ0F0dGVtcHRpbmcgYSBob3Rzd2FwIGRlcGxveW1lbnQnLFxuICAgIGludGVyZmFjZTogJ0hvdHN3YXBEZXBsb3ltZW50QXR0ZW1wdCcsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9JNTQwMTogbWFrZS50cmFjZTxIb3Rzd2FwRGVwbG95bWVudERldGFpbHM+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTU0MDEnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ29tcHV0ZWQgZGV0YWlscyBmb3IgdGhlIGhvdHN3YXAgZGVwbG95bWVudCcsXG4gICAgaW50ZXJmYWNlOiAnSG90c3dhcERlcGxveW1lbnREZXRhaWxzJyxcbiAgfSksXG4gIENES19UT09MS0lUX0k1NDAyOiBtYWtlLmluZm88SG90c3dhcHBhYmxlQ2hhbmdlPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k1NDAyJyxcbiAgICBkZXNjcmlwdGlvbjogJ0EgaG90c3dhcHBhYmxlIGNoYW5nZSBpcyBwcm9jZXNzZWQgYXMgcGFydCBvZiBhIGhvdHN3YXAgZGVwbG95bWVudCcsXG4gICAgaW50ZXJmYWNlOiAnSG90c3dhcHBhYmxlQ2hhbmdlJyxcbiAgfSksXG4gIENES19UT09MS0lUX0k1NDAzOiBtYWtlLmluZm88SG90c3dhcHBhYmxlQ2hhbmdlPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k1NDAzJyxcbiAgICBkZXNjcmlwdGlvbjogJ1RoZSBob3Rzd2FwcGFibGUgY2hhbmdlIGhhcyBjb21wbGV0ZWQgcHJvY2Vzc2luZycsXG4gICAgaW50ZXJmYWNlOiAnSG90c3dhcHBhYmxlQ2hhbmdlJyxcbiAgfSksXG4gIENES19UT09MS0lUX0k1NDEwOiBtYWtlLmluZm88SG90c3dhcFJlc3VsdD4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JNTQxMCcsXG4gICAgZGVzY3JpcHRpb246ICdIb3Rzd2FwIGRlcGxveW1lbnQgaGFzIGVuZGVkLCBhIGZ1bGwgZGVwbG95bWVudCBtaWdodCBzdGlsbCBmb2xsb3cgaWYgbmVlZGVkJyxcbiAgICBpbnRlcmZhY2U6ICdIb3Rzd2FwUmVzdWx0JyxcbiAgfSksXG5cbiAgLy8gU3RhY2sgTW9uaXRvciAoNTV4eClcbiAgQ0RLX1RPT0xLSVRfSTU1MDE6IG1ha2UuaW5mbzxTdGFja01vbml0b3JpbmdDb250cm9sRXZlbnQ+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTU1MDEnLFxuICAgIGRlc2NyaXB0aW9uOiAnU3RhY2sgTW9uaXRvcmluZzogU3RhcnQgbW9uaXRvcmluZyBvZiBhIHNpbmdsZSBzdGFjaycsXG4gICAgaW50ZXJmYWNlOiAnU3RhY2tNb25pdG9yaW5nQ29udHJvbEV2ZW50JyxcbiAgfSksXG4gIENES19UT09MS0lUX0k1NTAyOiBtYWtlLmluZm88U3RhY2tBY3Rpdml0eT4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JNTUwMicsXG4gICAgZGVzY3JpcHRpb246ICdTdGFjayBNb25pdG9yaW5nOiBBY3Rpdml0eSBldmVudCBmb3IgYSBzaW5nbGUgc3RhY2snLFxuICAgIGludGVyZmFjZTogJ1N0YWNrQWN0aXZpdHknLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfSTU1MDM6IG1ha2UuaW5mbzxTdGFja01vbml0b3JpbmdDb250cm9sRXZlbnQ+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTU1MDMnLFxuICAgIGRlc2NyaXB0aW9uOiAnU3RhY2sgTW9uaXRvcmluZzogRmluaXNoZWQgbW9uaXRvcmluZyBvZiBhIHNpbmdsZSBzdGFjaycsXG4gICAgaW50ZXJmYWNlOiAnU3RhY2tNb25pdG9yaW5nQ29udHJvbEV2ZW50JyxcbiAgfSksXG5cbiAgLy8gU3VjY2VzcyAoNTl4eClcbiAgQ0RLX1RPT0xLSVRfSTU5MDA6IG1ha2UucmVzdWx0PFN1Y2Nlc3NmdWxEZXBsb3lTdGFja1Jlc3VsdD4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JNTkwMCcsXG4gICAgZGVzY3JpcHRpb246ICdEZXBsb3ltZW50IHJlc3VsdHMgb24gc3VjY2VzcycsXG4gICAgaW50ZXJmYWNlOiAnU3VjY2Vzc2Z1bERlcGxveVN0YWNrUmVzdWx0JyxcbiAgfSksXG4gIENES19UT09MS0lUX0k1OTAxOiBtYWtlLmluZm8oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JNTkwMScsXG4gICAgZGVzY3JpcHRpb246ICdHZW5lcmljIGRlcGxveW1lbnQgc3VjY2VzcyBtZXNzYWdlcycsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9XNTQwMDogbWFrZS53YXJuKHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfVzU0MDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnSG90c3dhcCBkaXNjbG9zdXJlIG1lc3NhZ2UnLFxuICB9KSxcblxuICBDREtfVE9PTEtJVF9FNTAwMTogbWFrZS5lcnJvcih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0U1MDAxJyxcbiAgICBkZXNjcmlwdGlvbjogJ05vIHN0YWNrcyBmb3VuZCcsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9FNTUwMDogbWFrZS5lcnJvcjxFcnJvclBheWxvYWQ+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfRTU1MDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnU3RhY2sgTW9uaXRvcmluZyBlcnJvcicsXG4gICAgaW50ZXJmYWNlOiAnRXJyb3JQYXlsb2FkJyxcbiAgfSksXG5cbiAgLy8gNjogUm9sbGJhY2sgKDZ4eHgpXG4gIENES19UT09MS0lUX0k2MDAwOiBtYWtlLmluZm88RHVyYXRpb24+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTYwMDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnUHJvdmlkZXMgcm9sbGJhY2sgdGltZXMnLFxuICAgIGludGVyZmFjZTogJ0R1cmF0aW9uJyxcbiAgfSksXG4gIENES19UT09MS0lUX0k2MTAwOiBtYWtlLmluZm88U3RhY2tSb2xsYmFja1Byb2dyZXNzPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k2MTAwJyxcbiAgICBkZXNjcmlwdGlvbjogJ1N0YWNrIHJvbGxiYWNrIHByb2dyZXNzJyxcbiAgICBpbnRlcmZhY2U6ICdTdGFja1JvbGxiYWNrUHJvZ3Jlc3MnLFxuICB9KSxcblxuICBDREtfVE9PTEtJVF9FNjAwMTogbWFrZS5lcnJvcih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0U2MDAxJyxcbiAgICBkZXNjcmlwdGlvbjogJ05vIHN0YWNrcyBmb3VuZCcsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9FNjkwMDogbWFrZS5lcnJvcjxFcnJvclBheWxvYWQ+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfRTY5MDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnUm9sbGJhY2sgZmFpbGVkJyxcbiAgICBpbnRlcmZhY2U6ICdFcnJvclBheWxvYWQnLFxuICB9KSxcblxuICAvLyA3OiBEZXN0cm95ICg3eHh4KVxuICBDREtfVE9PTEtJVF9JNzAwMDogbWFrZS5pbmZvPER1cmF0aW9uPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k3MDAwJyxcbiAgICBkZXNjcmlwdGlvbjogJ1Byb3ZpZGVzIGRlc3Ryb3kgdGltZXMnLFxuICAgIGludGVyZmFjZTogJ0R1cmF0aW9uJyxcbiAgfSksXG4gIENES19UT09MS0lUX0k3MDAxOiBtYWtlLnRyYWNlPER1cmF0aW9uPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k3MDAxJyxcbiAgICBkZXNjcmlwdGlvbjogJ1Byb3ZpZGVzIGRlc3Ryb3kgdGltZSBmb3IgYSBzaW5nbGUgc3RhY2snLFxuICAgIGludGVyZmFjZTogJ0R1cmF0aW9uJyxcbiAgfSksXG4gIENES19UT09MS0lUX0k3MDEwOiBtYWtlLmNvbmZpcm08Q29uZmlybWF0aW9uUmVxdWVzdD4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JNzAxMCcsXG4gICAgZGVzY3JpcHRpb246ICdDb25maXJtIGRlc3Ryb3kgc3RhY2tzJyxcbiAgICBpbnRlcmZhY2U6ICdDb25maXJtYXRpb25SZXF1ZXN0JyxcbiAgfSksXG4gIENES19UT09MS0lUX0k3MTAwOiBtYWtlLmluZm88U3RhY2tEZXN0cm95UHJvZ3Jlc3M+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTcxMDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnU3RhY2sgZGVzdHJveSBwcm9ncmVzcycsXG4gICAgaW50ZXJmYWNlOiAnU3RhY2tEZXN0cm95UHJvZ3Jlc3MnLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfSTcxMDE6IG1ha2UudHJhY2U8U3RhY2tEZXN0cm95Pih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k3MTAxJyxcbiAgICBkZXNjcmlwdGlvbjogJ1N0YXJ0IHN0YWNrIGRlc3Ryb3lpbmcnLFxuICAgIGludGVyZmFjZTogJ1N0YWNrRGVzdHJveScsXG4gIH0pLFxuXG4gIENES19UT09MS0lUX0k3OTAwOiBtYWtlLnJlc3VsdDxjeGFwaS5DbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3Q+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTc5MDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnU3RhY2sgZGVsZXRpb24gc3VjY2VlZGVkJyxcbiAgICBpbnRlcmZhY2U6ICdjeGFwaS5DbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3QnLFxuICB9KSxcblxuICBDREtfVE9PTEtJVF9FNzAxMDogbWFrZS5lcnJvcih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0U3MDEwJyxcbiAgICBkZXNjcmlwdGlvbjogJ0FjdGlvbiB3YXMgYWJvcnRlZCBkdWUgdG8gbmVnYXRpdmUgY29uZmlybWF0aW9uIG9mIHJlcXVlc3QnLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfRTc5MDA6IG1ha2UuZXJyb3I8RXJyb3JQYXlsb2FkPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0U3OTAwJyxcbiAgICBkZXNjcmlwdGlvbjogJ1N0YWNrIGRlbGV0aW9uIGZhaWxlZCcsXG4gICAgaW50ZXJmYWNlOiAnRXJyb3JQYXlsb2FkJyxcbiAgfSksXG5cbiAgLy8gOC4gUmVmYWN0b3IgKDh4eHgpXG4gIENES19UT09MS0lUX0U4OTAwOiBtYWtlLmVycm9yPEVycm9yUGF5bG9hZD4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9FODkwMCcsXG4gICAgZGVzY3JpcHRpb246ICdTdGFjayByZWZhY3RvciBmYWlsZWQnLFxuICAgIGludGVyZmFjZTogJ0Vycm9yUGF5bG9hZCcsXG4gIH0pLFxuXG4gIENES19UT09MS0lUX0k4OTAwOiBtYWtlLnJlc3VsdDxSZWZhY3RvclJlc3VsdD4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JODkwMCcsXG4gICAgZGVzY3JpcHRpb246ICdSZWZhY3RvciByZXN1bHQnLFxuICAgIGludGVyZmFjZTogJ1JlZmFjdG9yUmVzdWx0JyxcbiAgfSksXG5cbiAgQ0RLX1RPT0xLSVRfSTg5MTA6IG1ha2UuY29uZmlybTxDb25maXJtYXRpb25SZXF1ZXN0Pih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k4OTEwJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NvbmZpcm0gcmVmYWN0b3InLFxuICAgIGludGVyZmFjZTogJ0NvbmZpcm1hdGlvblJlcXVlc3QnLFxuICB9KSxcblxuICBDREtfVE9PTEtJVF9XODAxMDogbWFrZS53YXJuKHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfVzgwMTAnLFxuICAgIGRlc2NyaXB0aW9uOiAnUmVmYWN0b3IgZXhlY3V0aW9uIG5vdCB5ZXQgc3VwcG9ydGVkJyxcbiAgfSksXG5cbiAgLy8gOTogQm9vdHN0cmFwLCBnYywgZmxhZ3MgJiBwdWJsaXNoICg5eHh4KVxuICBDREtfVE9PTEtJVF9JOTAwMDogbWFrZS5pbmZvPER1cmF0aW9uPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k5MDAwJyxcbiAgICBkZXNjcmlwdGlvbjogJ1Byb3ZpZGVzIGJvb3RzdHJhcCB0aW1lcycsXG4gICAgaW50ZXJmYWNlOiAnRHVyYXRpb24nLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfSTkxMDA6IG1ha2UuaW5mbzxCb290c3RyYXBFbnZpcm9ubWVudFByb2dyZXNzPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k5MTAwJyxcbiAgICBkZXNjcmlwdGlvbjogJ0Jvb3RzdHJhcCBwcm9ncmVzcycsXG4gICAgaW50ZXJmYWNlOiAnQm9vdHN0cmFwRW52aXJvbm1lbnRQcm9ncmVzcycsXG4gIH0pLFxuXG4gIC8vIGdjICg5Mnh4KVxuICBDREtfVE9PTEtJVF9JOTIxMDogbWFrZS5xdWVzdGlvbjxBc3NldEJhdGNoRGVsZXRpb25SZXF1ZXN0Pih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k5MjEwJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NvbmZpcm0gdGhlIGRlbGV0aW9uIG9mIGEgYmF0Y2ggb2YgYXNzZXRzJyxcbiAgICBpbnRlcmZhY2U6ICdBc3NldEJhdGNoRGVsZXRpb25SZXF1ZXN0JyxcbiAgfSksXG5cbiAgQ0RLX1RPT0xLSVRfSTk5MDA6IG1ha2UucmVzdWx0PHsgZW52aXJvbm1lbnQ6IGN4YXBpLkVudmlyb25tZW50IH0+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTk5MDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnQm9vdHN0cmFwIHJlc3VsdHMgb24gc3VjY2VzcycsXG4gICAgaW50ZXJmYWNlOiAnY3hhcGkuRW52aXJvbm1lbnQnLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfRTk5MDA6IG1ha2UuZXJyb3I8RXJyb3JQYXlsb2FkPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0U5OTAwJyxcbiAgICBkZXNjcmlwdGlvbjogJ0Jvb3RzdHJhcCBmYWlsZWQnLFxuICAgIGludGVyZmFjZTogJ0Vycm9yUGF5bG9hZCcsXG4gIH0pLFxuXG4gIC8vIGZsYWdzICg5M3h4KVxuICBDREtfVE9PTEtJVF9JOTMwMDogbWFrZS5pbmZvPEZlYXR1cmVGbGFnQ2hhbmdlUmVxdWVzdD4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JOTMwMCcsXG4gICAgZGVzY3JpcHRpb246ICdDb25maXJtIHRoZSBmZWF0dXJlIGZsYWcgY29uZmlndXJhdGlvbiBjaGFuZ2VzJyxcbiAgICBpbnRlcmZhY2U6ICdGZWF0dXJlRmxhZ0NoYW5nZVJlcXVlc3QnLFxuICB9KSxcblxuICAvLyBwdWJsaXNoICg5NHh4KVxuICBDREtfVE9PTEtJVF9JOTQwMDogbWFrZS5pbmZvKHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTk0MDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnQWxsIGFzc2V0cyBhcmUgYWxyZWFkeSBwdWJsaXNoZWQnLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfSTk0MDE6IG1ha2UuaW5mbzxBc3NldHNQYXlsb2FkPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k5NDAxJyxcbiAgICBkZXNjcmlwdGlvbjogJ1B1Ymxpc2hpbmcgYXNzZXRzJyxcbiAgICBpbnRlcmZhY2U6ICdBc3NldHNQYXlsb2FkJyxcbiAgfSksXG4gIENES19UT09MS0lUX0k5NDAyOiBtYWtlLnJlc3VsdDxBc3NldHNQYXlsb2FkPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k5NDAyJyxcbiAgICBkZXNjcmlwdGlvbjogJ1B1Ymxpc2ggYXNzZXRzIHJlc3VsdHMgb24gc3VjY2VzcycsXG4gICAgaW50ZXJmYWNlOiAnQXNzZXRzUGF5bG9hZCcsXG4gIH0pLFxuXG4gIC8vIE5vdGljZXNcbiAgQ0RLX1RPT0xLSVRfSTAxMDA6IG1ha2UuaW5mbyh7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0kwMTAwJyxcbiAgICBkZXNjcmlwdGlvbjogJ05vdGljZXMgZGVjb3JhdGlvbiAodGhlIGhlYWRlciBvciBmb290ZXIgb2YgYSBsaXN0IG9mIG5vdGljZXMpJyxcbiAgfSksXG4gIENES19UT09MS0lUX1cwMTAxOiBtYWtlLndhcm4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9XMDEwMScsXG4gICAgZGVzY3JpcHRpb246ICdBIG5vdGljZSB0aGF0IGlzIG1hcmtlZCBhcyBhIHdhcm5pbmcnLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfRTAxMDE6IG1ha2UuZXJyb3Ioe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9FMDEwMScsXG4gICAgZGVzY3JpcHRpb246ICdBIG5vdGljZSB0aGF0IGlzIG1hcmtlZCBhcyBhbiBlcnJvcicsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9JMDEwMTogbWFrZS5pbmZvKHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTAxMDEnLFxuICAgIGRlc2NyaXB0aW9uOiAnQSBub3RpY2UgdGhhdCBpcyBtYXJrZWQgYXMgaW5mb3JtYXRpb25hbCcsXG4gIH0pLFxuXG4gIC8vIEFzc2VtYmx5IGNvZGVzXG4gIENES19BU1NFTUJMWV9JMDAxMDogbWFrZS5kZWJ1Zyh7XG4gICAgY29kZTogJ0NES19BU1NFTUJMWV9JMDAxMCcsXG4gICAgZGVzY3JpcHRpb246ICdHZW5lcmljIGVudmlyb25tZW50IHByZXBhcmF0aW9uIGRlYnVnIG1lc3NhZ2VzJyxcbiAgfSksXG4gIENES19BU1NFTUJMWV9XMDAxMDogbWFrZS53YXJuKHtcbiAgICBjb2RlOiAnQ0RLX0FTU0VNQkxZX1cwMDEwJyxcbiAgICBkZXNjcmlwdGlvbjogJ0VtaXR0ZWQgaWYgdGhlIGZvdW5kIGZyYW1ld29yayB2ZXJzaW9uIGRvZXMgbm90IHN1cHBvcnQgY29udGV4dCBvdmVyZmxvdycsXG4gIH0pLFxuICBDREtfQVNTRU1CTFlfSTAwNDI6IG1ha2UuZGVidWc8VXBkYXRlZENvbnRleHQ+KHtcbiAgICBjb2RlOiAnQ0RLX0FTU0VNQkxZX0kwMDQyJyxcbiAgICBkZXNjcmlwdGlvbjogJ1dyaXRpbmcgY29udGV4dCB1cGRhdGVzJyxcbiAgICBpbnRlcmZhY2U6ICdVcGRhdGVkQ29udGV4dCcsXG4gIH0pLFxuICBDREtfQVNTRU1CTFlfSTAyNDA6IG1ha2UuZGVidWc8TWlzc2luZ0NvbnRleHQ+KHtcbiAgICBjb2RlOiAnQ0RLX0FTU0VNQkxZX0kwMjQwJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NvbnRleHQgbG9va3VwIHdhcyBzdG9wcGVkIGFzIG5vIGZ1cnRoZXIgcHJvZ3Jlc3Mgd2FzIG1hZGUuICcsXG4gICAgaW50ZXJmYWNlOiAnTWlzc2luZ0NvbnRleHQnLFxuICB9KSxcbiAgQ0RLX0FTU0VNQkxZX0kwMjQxOiBtYWtlLmRlYnVnPE1pc3NpbmdDb250ZXh0Pih7XG4gICAgY29kZTogJ0NES19BU1NFTUJMWV9JMDI0MScsXG4gICAgZGVzY3JpcHRpb246ICdGZXRjaGluZyBtaXNzaW5nIGNvbnRleHQuIFRoaXMgaXMgYW4gaXRlcmF0aXZlIG1lc3NhZ2UgdGhhdCBtYXkgYXBwZWFyIG11bHRpcGxlIHRpbWVzIHdpdGggZGlmZmVyZW50IG1pc3Npbmcga2V5cy4nLFxuICAgIGludGVyZmFjZTogJ01pc3NpbmdDb250ZXh0JyxcbiAgfSksXG4gIENES19BU1NFTUJMWV9JMTAwMDogbWFrZS5kZWJ1Zyh7XG4gICAgY29kZTogJ0NES19BU1NFTUJMWV9JMTAwMCcsXG4gICAgZGVzY3JpcHRpb246ICdDbG91ZCBhc3NlbWJseSBvdXRwdXQgc3RhcnRzJyxcbiAgfSksXG4gIENES19BU1NFTUJMWV9JMTAwMTogbWFrZS5pbmZvKHtcbiAgICBjb2RlOiAnQ0RLX0FTU0VNQkxZX0kxMDAxJyxcbiAgICBkZXNjcmlwdGlvbjogJ091dHB1dCBsaW5lcyBlbWl0dGVkIGJ5IHRoZSBjbG91ZCBhc3NlbWJseSB0byBzdGRvdXQnLFxuICB9KSxcbiAgQ0RLX0FTU0VNQkxZX0UxMDAyOiBtYWtlLmVycm9yKHtcbiAgICBjb2RlOiAnQ0RLX0FTU0VNQkxZX0UxMDAyJyxcbiAgICBkZXNjcmlwdGlvbjogJ091dHB1dCBsaW5lcyBlbWl0dGVkIGJ5IHRoZSBjbG91ZCBhc3NlbWJseSB0byBzdGRlcnInLFxuICB9KSxcbiAgQ0RLX0FTU0VNQkxZX0kxMDAzOiBtYWtlLmluZm8oe1xuICAgIGNvZGU6ICdDREtfQVNTRU1CTFlfSTEwMDMnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ2xvdWQgYXNzZW1ibHkgb3V0cHV0IGZpbmlzaGVkJyxcbiAgfSksXG4gIENES19BU1NFTUJMWV9FMTExMTogbWFrZS5lcnJvcjxFcnJvclBheWxvYWQ+KHtcbiAgICBjb2RlOiAnQ0RLX0FTU0VNQkxZX0UxMTExJyxcbiAgICBkZXNjcmlwdGlvbjogJ0luY29tcGF0aWJsZSBDREsgQ0xJIHZlcnNpb24uIFVwZ3JhZGUgbmVlZGVkLicsXG4gICAgaW50ZXJmYWNlOiAnRXJyb3JQYXlsb2FkJyxcbiAgfSksXG5cbiAgQ0RLX0FTU0VNQkxZX0kwMTUwOiBtYWtlLmRlYnVnPG5ldmVyPih7XG4gICAgY29kZTogJ0NES19BU1NFTUJMWV9JMDE1MCcsXG4gICAgZGVzY3JpcHRpb246ICdJbmRpY2F0ZXMgdGhlIHVzZSBvZiBhIHByZS1zeW50aGVzaXplZCBjbG91ZCBhc3NlbWJseSBkaXJlY3RvcnknLFxuICB9KSxcblxuICBDREtfQVNTRU1CTFlfSTAzMDA6IG1ha2UuaW5mbzxDb250ZXh0UHJvdmlkZXJNZXNzYWdlU291cmNlPih7XG4gICAgY29kZTogJ0NES19BU1NFTUJMWV9JMDMwMCcsXG4gICAgZGVzY3JpcHRpb246ICdBbiBpbmZvIG1lc3NhZ2UgZW1pdHRlZCBieSBhIENvbnRleHQgUHJvdmlkZXInLFxuICAgIGludGVyZmFjZTogJ0NvbnRleHRQcm92aWRlck1lc3NhZ2VTb3VyY2UnLFxuICB9KSxcbiAgQ0RLX0FTU0VNQkxZX0kwMzAxOiBtYWtlLmRlYnVnPENvbnRleHRQcm92aWRlck1lc3NhZ2VTb3VyY2U+KHtcbiAgICBjb2RlOiAnQ0RLX0FTU0VNQkxZX0kwMzAxJyxcbiAgICBkZXNjcmlwdGlvbjogJ0EgZGVidWcgbWVzc2FnZSBlbWl0dGVkIGJ5IGEgQ29udGV4dCBQcm92aWRlcicsXG4gICAgaW50ZXJmYWNlOiAnQ29udGV4dFByb3ZpZGVyTWVzc2FnZVNvdXJjZScsXG4gIH0pLFxuXG4gIC8vIEFzc2VtYmx5IEFubm90YXRpb25zXG4gIENES19BU1NFTUJMWV9JOTk5OTogbWFrZS5pbmZvPGN4YXBpLlN5bnRoZXNpc01lc3NhZ2U+KHtcbiAgICBjb2RlOiAnQ0RLX0FTU0VNQkxZX0k5OTk5JyxcbiAgICBkZXNjcmlwdGlvbjogJ0Fubm90YXRpb25zIGVtaXR0ZWQgYnkgdGhlIGNsb3VkIGFzc2VtYmx5JyxcbiAgICBpbnRlcmZhY2U6ICdjeGFwaS5TeW50aGVzaXNNZXNzYWdlJyxcbiAgfSksXG4gIENES19BU1NFTUJMWV9XOTk5OTogbWFrZS53YXJuPGN4YXBpLlN5bnRoZXNpc01lc3NhZ2U+KHtcbiAgICBjb2RlOiAnQ0RLX0FTU0VNQkxZX1c5OTk5JyxcbiAgICBkZXNjcmlwdGlvbjogJ1dhcm5pbmdzIGVtaXR0ZWQgYnkgdGhlIGNsb3VkIGFzc2VtYmx5JyxcbiAgICBpbnRlcmZhY2U6ICdjeGFwaS5TeW50aGVzaXNNZXNzYWdlJyxcbiAgfSksXG4gIENES19BU1NFTUJMWV9FOTk5OTogbWFrZS5lcnJvcjxjeGFwaS5TeW50aGVzaXNNZXNzYWdlPih7XG4gICAgY29kZTogJ0NES19BU1NFTUJMWV9FOTk5OScsXG4gICAgZGVzY3JpcHRpb246ICdFcnJvcnMgZW1pdHRlZCBieSB0aGUgY2xvdWQgYXNzZW1ibHknLFxuICAgIGludGVyZmFjZTogJ2N4YXBpLlN5bnRoZXNpc01lc3NhZ2UnLFxuICB9KSxcblxuICAvLyBTREsgY29kZXNcbiAgQ0RLX1NES19JMDEwMDogbWFrZS50cmFjZTxTZGtUcmFjZT4oe1xuICAgIGNvZGU6ICdDREtfU0RLX0kwMTAwJyxcbiAgICBkZXNjcmlwdGlvbjogJ0FuIFNESyB0cmFjZS4gU0RLIHRyYWNlcyBhcmUgZW1pdHRlZCBhcyB0cmFjZXMgdG8gdGhlIElvSG9zdCwgYnV0IGNvbnRhaW4gdGhlIG9yaWdpbmFsIFNESyBsb2dnaW5nIGxldmVsLicsXG4gICAgaW50ZXJmYWNlOiAnU2RrVHJhY2UnLFxuICB9KSxcbiAgQ0RLX1NES19JMTEwMDogbWFrZS5xdWVzdGlvbjxNZmFUb2tlblJlcXVlc3Q+KHtcbiAgICBjb2RlOiAnQ0RLX1NES19JMTEwMCcsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgYW4gTUZBIHRva2VuIGZvciBhbiBNRkEgZGV2aWNlLicsXG4gICAgaW50ZXJmYWNlOiAnTWZhVG9rZW5SZXF1ZXN0JyxcbiAgfSksXG59O1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqXG4gKiBQYXlsb2FkIHR5cGUgb2YgdGhlIGVuZCBtZXNzYWdlIG11c3QgZXh0ZW5kIER1cmF0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBTUEFOID0ge1xuICBTWU5USF9BU1NFTUJMWToge1xuICAgIG5hbWU6ICdTeW50aGVzaXMnLFxuICAgIHN0YXJ0OiBJTy5DREtfVE9PTEtJVF9JMTAwMSxcbiAgICBlbmQ6IElPLkNES19UT09MS0lUX0kxMDAwLFxuICB9LFxuICBERVBMT1lfU1RBQ0s6IHtcbiAgICBuYW1lOiAnRGVwbG95bWVudCcsXG4gICAgc3RhcnQ6IElPLkNES19UT09MS0lUX0k1MTAwLFxuICAgIGVuZDogSU8uQ0RLX1RPT0xLSVRfSTUwMDEsXG4gIH0sXG4gIFJPTExCQUNLX1NUQUNLOiB7XG4gICAgbmFtZTogJ1JvbGxiYWNrJyxcbiAgICBzdGFydDogSU8uQ0RLX1RPT0xLSVRfSTYxMDAsXG4gICAgZW5kOiBJTy5DREtfVE9PTEtJVF9JNjAwMCxcbiAgfSxcbiAgRElGRl9TVEFDSzoge1xuICAgIG5hbWU6ICdEaWZmJyxcbiAgICBzdGFydDogSU8uQ0RLX1RPT0xLSVRfSTQwMDAsXG4gICAgZW5kOiBJTy5DREtfVE9PTEtJVF9JNDAwMSxcbiAgfSxcbiAgRFJJRlRfQVBQOiB7XG4gICAgbmFtZTogJ0RyaWZ0JyxcbiAgICBzdGFydDogSU8uQ0RLX1RPT0xLSVRfSTQwMDAsXG4gICAgZW5kOiBJTy5DREtfVE9PTEtJVF9JNDUwOSxcbiAgfSxcbiAgREVTVFJPWV9TVEFDSzoge1xuICAgIG5hbWU6ICdEZXN0cm95JyxcbiAgICBzdGFydDogSU8uQ0RLX1RPT0xLSVRfSTcxMDAsXG4gICAgZW5kOiBJTy5DREtfVE9PTEtJVF9JNzAwMSxcbiAgfSxcbiAgREVTVFJPWV9BQ1RJT046IHtcbiAgICBuYW1lOiAnRGVzdHJveScsXG4gICAgc3RhcnQ6IElPLkNES19UT09MS0lUX0k3MTAxLFxuICAgIGVuZDogSU8uQ0RLX1RPT0xLSVRfSTcwMDAsXG4gIH0sXG4gIEJPT1RTVFJBUF9TSU5HTEU6IHtcbiAgICBuYW1lOiAnQm9vdHN0cmFwJyxcbiAgICBzdGFydDogSU8uQ0RLX1RPT0xLSVRfSTkxMDAsXG4gICAgZW5kOiBJTy5DREtfVE9PTEtJVF9JOTAwMCxcbiAgfSxcbiAgQlVJTERfQVNTRVQ6IHtcbiAgICBuYW1lOiAnQnVpbGQgQXNzZXQnLFxuICAgIHN0YXJ0OiBJTy5DREtfVE9PTEtJVF9JNTIxMCxcbiAgICBlbmQ6IElPLkNES19UT09MS0lUX0k1MjExLFxuICB9LFxuICBQVUJMSVNIX0FTU0VUOiB7XG4gICAgbmFtZTogJ1B1Ymxpc2ggQXNzZXQnLFxuICAgIHN0YXJ0OiBJTy5DREtfVE9PTEtJVF9JNTIyMCxcbiAgICBlbmQ6IElPLkNES19UT09MS0lUX0k1MjIxLFxuICB9LFxuICBIT1RTV0FQOiB7XG4gICAgbmFtZTogJ2hvdHN3YXAtZGVwbG95bWVudCcsXG4gICAgc3RhcnQ6IElPLkNES19UT09MS0lUX0k1NDAwLFxuICAgIGVuZDogSU8uQ0RLX1RPT0xLSVRfSTU0MTAsXG4gIH0sXG59IHNhdGlzZmllcyBSZWNvcmQ8c3RyaW5nLCBTcGFuRGVmaW5pdGlvbjxhbnksIGFueT4+O1xuIl19
610
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJtZXNzYWdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx3Q0FBd0M7QUFpQ3hDOzs7OztHQUtHO0FBQ1UsUUFBQSxFQUFFLEdBQUc7SUFDaEIsb0JBQW9CO0lBQ3BCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDM0IsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixXQUFXLEVBQUUsNEJBQTRCO0tBQzFDLENBQUM7SUFFRixrQkFBa0I7SUFDbEIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBWTtRQUN0QyxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSwyQkFBMkI7UUFDeEMsU0FBUyxFQUFFLFdBQVc7S0FDdkIsQ0FBQztJQUNGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQXdCO1FBQ25ELElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLHNDQUFzQztRQUNuRCxTQUFTLEVBQUUsdUJBQXVCO0tBQ25DLENBQUM7SUFDRixpQkFBaUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUF1QjtRQUNuRCxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSxxQkFBcUI7UUFDbEMsU0FBUyxFQUFFLHNCQUFzQjtLQUNsQyxDQUFDO0lBQ0YsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBZTtRQUMzQyxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSw4QkFBOEI7UUFDM0MsU0FBUyxFQUFFLGNBQWM7S0FDMUIsQ0FBQztJQUVGLGlCQUFpQjtJQUNqQixpQkFBaUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFzQjtRQUNsRCxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSxnRUFBZ0U7UUFDN0UsU0FBUyxFQUFFLHFCQUFxQjtLQUNqQyxDQUFDO0lBRUYsc0JBQXNCO0lBQ3RCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQXdCO1FBQ3JELElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLDJDQUEyQztRQUN4RCxTQUFTLEVBQUUsdUJBQXVCO0tBQ25DLENBQUM7SUFDRixpQkFBaUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFnQztRQUM5RCxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSx5REFBeUQ7UUFDdEUsU0FBUyxFQUFFLCtCQUErQjtLQUMzQyxDQUFDO0lBQ0YsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBZTtRQUMxQyxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSx3QkFBd0I7UUFDckMsU0FBUyxFQUFFLGNBQWM7S0FDMUIsQ0FBQztJQUVGLHdCQUF3QjtJQUN4QixpQkFBaUIsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUF3QjtRQUNuRCxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSx5QkFBeUI7UUFDdEMsU0FBUyxFQUFFLHVCQUF1QjtLQUNuQyxDQUFDO0lBQ0YsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBYTtRQUN6QyxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSw0QkFBNEI7UUFDekMsU0FBUyxFQUFFLFlBQVk7S0FDeEIsQ0FBQztJQUNGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQVk7UUFDeEMsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixXQUFXLEVBQUUsNkJBQTZCO1FBQzFDLFNBQVMsRUFBRSxXQUFXO0tBQ3ZCLENBQUM7SUFFRix5QkFBeUI7SUFDekIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBd0I7UUFDbkQsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixXQUFXLEVBQUUsNkJBQTZCO1FBQzFDLFNBQVMsRUFBRSx1QkFBdUI7S0FDbkMsQ0FBQztJQUNGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQVc7UUFDdkMsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixXQUFXLEVBQUUsc0JBQXNCO1FBQ25DLFNBQVMsRUFBRSxVQUFVO0tBQ3RCLENBQUM7SUFDRixpQkFBaUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFxQjtRQUNqRCxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSwwQkFBMEI7UUFDdkMsU0FBUyxFQUFFLG9CQUFvQjtLQUNoQyxDQUFDO0lBQ0YsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBYztRQUN4QyxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSxvQ0FBb0M7UUFDakQsU0FBUyxFQUFFLGFBQWE7S0FDekIsQ0FBQztJQUVGLDJCQUEyQjtJQUMzQixpQkFBaUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFXO1FBQ3JDLElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLDJCQUEyQjtRQUN4QyxTQUFTLEVBQUUsVUFBVTtLQUN0QixDQUFDO0lBQ0YsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBVztRQUNyQyxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSxvRUFBb0U7UUFDakYsU0FBUyxFQUFFLFVBQVU7S0FDdEIsQ0FBQztJQUNGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQVc7UUFDckMsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixXQUFXLEVBQUUsc0NBQXNDO1FBQ25ELFNBQVMsRUFBRSxVQUFVO0tBQ3RCLENBQUM7SUFDRixpQkFBaUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzNCLElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLGlEQUFpRDtLQUMvRCxDQUFDO0lBQ0YsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMzQixJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSwrQ0FBK0M7S0FDN0QsQ0FBQztJQUNGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDM0IsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixXQUFXLEVBQUUsd0VBQXdFO0tBQ3RGLENBQUM7SUFDRixpQkFBaUIsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFtQztRQUM5RCxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSw2QkFBNkI7UUFDMUMsU0FBUyxFQUFFLGtDQUFrQztLQUM5QyxDQUFDO0lBQ0YsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBcUI7UUFDL0MsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixXQUFXLEVBQUUsdUNBQXVDO1FBQ3BELFNBQVMsRUFBRSxvQkFBb0I7S0FDaEMsQ0FBQztJQUNGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQW1DO1FBQzlELElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLDRCQUE0QjtRQUN6QyxTQUFTLEVBQUUsa0NBQWtDO0tBQzlDLENBQUM7SUFDRixpQkFBaUIsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFlO1FBQzFDLElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLHdCQUF3QjtRQUNyQyxTQUFTLEVBQUUsY0FBYztLQUMxQixDQUFDO0lBQ0YsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBc0I7UUFDbkQsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixXQUFXLEVBQUUsb0NBQW9DO1FBQ2pELFNBQVMsRUFBRSxxQkFBcUI7S0FDakMsQ0FBQztJQUNGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQTRCO1FBQ3pELElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLDJDQUEyQztRQUN4RCxTQUFTLEVBQUUsMkJBQTJCO0tBQ3ZDLENBQUM7SUFDRixpQkFBaUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFzQjtRQUNoRCxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSx1QkFBdUI7UUFDcEMsU0FBUyxFQUFFLHFCQUFxQjtLQUNqQyxDQUFDO0lBRUYsZ0JBQWdCO0lBQ2hCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQWE7UUFDeEMsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixXQUFXLEVBQUUsbUNBQW1DO1FBQ2hELFNBQVMsRUFBRSxZQUFZO0tBQ3hCLENBQUM7SUFDRixpQkFBaUIsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFXO1FBQ3RDLElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLGtDQUFrQztRQUMvQyxTQUFTLEVBQUUsVUFBVTtLQUN0QixDQUFDO0lBQ0YsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBZTtRQUMxQyxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSxxQ0FBcUM7UUFDbEQsU0FBUyxFQUFFLGNBQWM7S0FDMUIsQ0FBQztJQUNGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQVc7UUFDdEMsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixXQUFXLEVBQUUsb0NBQW9DO1FBQ2pELFNBQVMsRUFBRSxVQUFVO0tBQ3RCLENBQUM7SUFFRixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFvQjtRQUM3QyxJQUFJLEVBQUUsa0JBQWtCO1FBQ3hCLFdBQVcsRUFBRSxrQ0FBa0M7UUFDL0MsU0FBUyxFQUFFLG1CQUFtQjtLQUMvQixDQUFDO0lBQ0YsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBb0I7UUFDOUMsSUFBSSxFQUFFLGtCQUFrQjtRQUN4QixXQUFXLEVBQUUsdURBQXVEO1FBQ3BFLFNBQVMsRUFBRSxtQkFBbUI7S0FDL0IsQ0FBQztJQUNGLGdCQUFnQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQW9CO1FBQzdDLElBQUksRUFBRSxrQkFBa0I7UUFDeEIsV0FBVyxFQUFFLGlEQUFpRDtRQUM5RCxTQUFTLEVBQUUsbUJBQW1CO0tBQy9CLENBQUM7SUFDRixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFvQjtRQUM5QyxJQUFJLEVBQUUsa0JBQWtCO1FBQ3hCLFdBQVcsRUFBRSwrQ0FBK0M7UUFDNUQsU0FBUyxFQUFFLG1CQUFtQjtLQUMvQixDQUFDO0lBRUYsZUFBZTtJQUNmLGlCQUFpQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQWdCO1FBQzNDLElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLDhDQUE4QztRQUMzRCxTQUFTLEVBQUUsZUFBZTtLQUMzQixDQUFDO0lBQ0YsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBaUI7UUFDM0MsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixXQUFXLEVBQUUsdUJBQXVCO1FBQ3BDLFNBQVMsRUFBRSxnQkFBZ0I7S0FDNUIsQ0FBQztJQUNGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQWlCO1FBQzNDLElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLDBDQUEwQztRQUN2RCxTQUFTLEVBQUUsZ0JBQWdCO0tBQzVCLENBQUM7SUFDRixpQkFBaUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFpQjtRQUMzQyxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSxrRUFBa0U7UUFDL0UsU0FBUyxFQUFFLGdCQUFnQjtLQUM1QixDQUFDO0lBQ0YsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMzQixJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSxrQ0FBa0M7S0FDaEQsQ0FBQztJQUNGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDM0IsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixXQUFXLEVBQUUsaUNBQWlDO0tBQy9DLENBQUM7SUFFRixpQkFBaUI7SUFDakIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBMkI7UUFDdEQsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixXQUFXLEVBQUUsaUNBQWlDO1FBQzlDLFNBQVMsRUFBRSwwQkFBMEI7S0FDdEMsQ0FBQztJQUNGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQTJCO1FBQ3RELElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLDZDQUE2QztRQUMxRCxTQUFTLEVBQUUsMEJBQTBCO0tBQ3RDLENBQUM7SUFDRixpQkFBaUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFxQjtRQUMvQyxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSxvRUFBb0U7UUFDakYsU0FBUyxFQUFFLG9CQUFvQjtLQUNoQyxDQUFDO0lBQ0YsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBcUI7UUFDL0MsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixXQUFXLEVBQUUsa0RBQWtEO1FBQy9ELFNBQVMsRUFBRSxvQkFBb0I7S0FDaEMsQ0FBQztJQUNGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQWdCO1FBQzFDLElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLDhFQUE4RTtRQUMzRixTQUFTLEVBQUUsZUFBZTtLQUMzQixDQUFDO0lBRUYsdUJBQXVCO0lBQ3ZCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQThCO1FBQ3hELElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLHNEQUFzRDtRQUNuRSxTQUFTLEVBQUUsNkJBQTZCO0tBQ3pDLENBQUM7SUFDRixpQkFBaUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFnQjtRQUMxQyxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSxxREFBcUQ7UUFDbEUsU0FBUyxFQUFFLGVBQWU7S0FDM0IsQ0FBQztJQUNGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQThCO1FBQ3hELElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLHlEQUF5RDtRQUN0RSxTQUFTLEVBQUUsNkJBQTZCO0tBQ3pDLENBQUM7SUFFRixpQkFBaUI7SUFDakIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBOEI7UUFDMUQsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixXQUFXLEVBQUUsK0JBQStCO1FBQzVDLFNBQVMsRUFBRSw2QkFBNkI7S0FDekMsQ0FBQztJQUNGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDM0IsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixXQUFXLEVBQUUscUNBQXFDO0tBQ25ELENBQUM7SUFDRixpQkFBaUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzNCLElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLDRCQUE0QjtLQUMxQyxDQUFDO0lBRUYsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUM1QixJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSxpQkFBaUI7S0FDL0IsQ0FBQztJQUNGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQWU7UUFDMUMsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixXQUFXLEVBQUUsd0JBQXdCO1FBQ3JDLFNBQVMsRUFBRSxjQUFjO0tBQzFCLENBQUM7SUFFRixxQkFBcUI7SUFDckIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBVztRQUNyQyxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSx5QkFBeUI7UUFDdEMsU0FBUyxFQUFFLFVBQVU7S0FDdEIsQ0FBQztJQUNGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQXdCO1FBQ2xELElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLHlCQUF5QjtRQUN0QyxTQUFTLEVBQUUsdUJBQXVCO0tBQ25DLENBQUM7SUFFRixpQkFBaUIsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzVCLElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLGlCQUFpQjtLQUMvQixDQUFDO0lBQ0YsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBZTtRQUMxQyxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSxpQkFBaUI7UUFDOUIsU0FBUyxFQUFFLGNBQWM7S0FDMUIsQ0FBQztJQUVGLG9CQUFvQjtJQUNwQixpQkFBaUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFXO1FBQ3JDLElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLHdCQUF3QjtRQUNyQyxTQUFTLEVBQUUsVUFBVTtLQUN0QixDQUFDO0lBQ0YsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBVztRQUN0QyxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSwwQ0FBMEM7UUFDdkQsU0FBUyxFQUFFLFVBQVU7S0FDdEIsQ0FBQztJQUNGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQXNCO1FBQ25ELElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLHdCQUF3QjtRQUNyQyxTQUFTLEVBQUUscUJBQXFCO0tBQ2pDLENBQUM7SUFDRixpQkFBaUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUF1QjtRQUNqRCxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSx3QkFBd0I7UUFDckMsU0FBUyxFQUFFLHNCQUFzQjtLQUNsQyxDQUFDO0lBQ0YsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBZTtRQUMxQyxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSx3QkFBd0I7UUFDckMsU0FBUyxFQUFFLGNBQWM7S0FDMUIsQ0FBQztJQUVGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQW9DO1FBQ2hFLElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLDBCQUEwQjtRQUN2QyxTQUFTLEVBQUUsbUNBQW1DO0tBQy9DLENBQUM7SUFFRixpQkFBaUIsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzVCLElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLDREQUE0RDtLQUMxRSxDQUFDO0lBQ0YsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBZTtRQUMxQyxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSx1QkFBdUI7UUFDcEMsU0FBUyxFQUFFLGNBQWM7S0FDMUIsQ0FBQztJQUVGLHFCQUFxQjtJQUNyQixpQkFBaUIsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFlO1FBQzFDLElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLHVCQUF1QjtRQUNwQyxTQUFTLEVBQUUsY0FBYztLQUMxQixDQUFDO0lBRUYsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBaUI7UUFDN0MsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixXQUFXLEVBQUUsaUJBQWlCO1FBQzlCLFNBQVMsRUFBRSxnQkFBZ0I7S0FDNUIsQ0FBQztJQUVGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQXNCO1FBQ25ELElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLGtCQUFrQjtRQUMvQixTQUFTLEVBQUUscUJBQXFCO0tBQ2pDLENBQUM7SUFFRixpQkFBaUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzNCLElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLHNDQUFzQztLQUNwRCxDQUFDO0lBRUYsZ0JBQWdCO0lBQ2hCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQXNCO1FBQ25ELElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLDBCQUEwQjtRQUN2QyxTQUFTLEVBQUUscUJBQXFCO0tBQ2pDLENBQUM7SUFFRiwyQ0FBMkM7SUFDM0MsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBVztRQUNyQyxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSwwQkFBMEI7UUFDdkMsU0FBUyxFQUFFLFVBQVU7S0FDdEIsQ0FBQztJQUNGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQStCO1FBQ3pELElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLG9CQUFvQjtRQUNqQyxTQUFTLEVBQUUsOEJBQThCO0tBQzFDLENBQUM7SUFFRixZQUFZO0lBQ1osaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBNEI7UUFDMUQsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixXQUFXLEVBQUUsMkNBQTJDO1FBQ3hELFNBQVMsRUFBRSwyQkFBMkI7S0FDdkMsQ0FBQztJQUVGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQXFDO1FBQ2pFLElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLDhCQUE4QjtRQUMzQyxTQUFTLEVBQUUsbUJBQW1CO0tBQy9CLENBQUM7SUFDRixpQkFBaUIsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFlO1FBQzFDLElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLGtCQUFrQjtRQUMvQixTQUFTLEVBQUUsY0FBYztLQUMxQixDQUFDO0lBRUYsZUFBZTtJQUNmLGlCQUFpQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQTJCO1FBQ3JELElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLGdEQUFnRDtRQUM3RCxTQUFTLEVBQUUsMEJBQTBCO0tBQ3RDLENBQUM7SUFFRixpQkFBaUI7SUFDakIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMzQixJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSxrQ0FBa0M7S0FDaEQsQ0FBQztJQUNGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQWdCO1FBQzFDLElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLG1CQUFtQjtRQUNoQyxTQUFTLEVBQUUsZUFBZTtLQUMzQixDQUFDO0lBQ0YsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBZ0I7UUFDNUMsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixXQUFXLEVBQUUsbUNBQW1DO1FBQ2hELFNBQVMsRUFBRSxlQUFlO0tBQzNCLENBQUM7SUFFRixrQkFBa0I7SUFDbEIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBaUI7UUFDM0MsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixXQUFXLEVBQUUscUNBQXFDO1FBQ2xELFNBQVMsRUFBRSxnQkFBZ0I7S0FDNUIsQ0FBQztJQUVGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQWlCO1FBQzVDLElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLGtDQUFrQztRQUMvQyxTQUFTLEVBQUUsZ0JBQWdCO0tBQzVCLENBQUM7SUFFRixpQkFBaUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFpQjtRQUMzQyxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSxvREFBb0Q7UUFDakUsU0FBUyxFQUFFLGdCQUFnQjtLQUM1QixDQUFDO0lBRUYsVUFBVTtJQUNWLGlCQUFpQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDM0IsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixXQUFXLEVBQUUsZ0VBQWdFO0tBQzlFLENBQUM7SUFDRixpQkFBaUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzNCLElBQUksRUFBRSxtQkFBbUI7UUFDekIsV0FBVyxFQUFFLHNDQUFzQztLQUNwRCxDQUFDO0lBQ0YsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUM1QixJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSxxQ0FBcUM7S0FDbkQsQ0FBQztJQUNGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDM0IsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixXQUFXLEVBQUUsMENBQTBDO0tBQ3hELENBQUM7SUFFRixpQkFBaUI7SUFDakIsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUM3QixJQUFJLEVBQUUsb0JBQW9CO1FBQzFCLFdBQVcsRUFBRSxnREFBZ0Q7S0FDOUQsQ0FBQztJQUNGLGtCQUFrQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDNUIsSUFBSSxFQUFFLG9CQUFvQjtRQUMxQixXQUFXLEVBQUUsMEVBQTBFO0tBQ3hGLENBQUM7SUFDRixrQkFBa0IsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFpQjtRQUM3QyxJQUFJLEVBQUUsb0JBQW9CO1FBQzFCLFdBQVcsRUFBRSx5QkFBeUI7UUFDdEMsU0FBUyxFQUFFLGdCQUFnQjtLQUM1QixDQUFDO0lBQ0Ysa0JBQWtCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBaUI7UUFDN0MsSUFBSSxFQUFFLG9CQUFvQjtRQUMxQixXQUFXLEVBQUUsOERBQThEO1FBQzNFLFNBQVMsRUFBRSxnQkFBZ0I7S0FDNUIsQ0FBQztJQUNGLGtCQUFrQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQWlCO1FBQzdDLElBQUksRUFBRSxvQkFBb0I7UUFDMUIsV0FBVyxFQUFFLG9IQUFvSDtRQUNqSSxTQUFTLEVBQUUsZ0JBQWdCO0tBQzVCLENBQUM7SUFDRixrQkFBa0IsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzdCLElBQUksRUFBRSxvQkFBb0I7UUFDMUIsV0FBVyxFQUFFLDhCQUE4QjtLQUM1QyxDQUFDO0lBQ0Ysa0JBQWtCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM1QixJQUFJLEVBQUUsb0JBQW9CO1FBQzFCLFdBQVcsRUFBRSxzREFBc0Q7S0FDcEUsQ0FBQztJQUNGLGtCQUFrQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDN0IsSUFBSSxFQUFFLG9CQUFvQjtRQUMxQixXQUFXLEVBQUUsc0RBQXNEO0tBQ3BFLENBQUM7SUFDRixrQkFBa0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzVCLElBQUksRUFBRSxvQkFBb0I7UUFDMUIsV0FBVyxFQUFFLGdDQUFnQztLQUM5QyxDQUFDO0lBQ0Ysa0JBQWtCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBZTtRQUMzQyxJQUFJLEVBQUUsb0JBQW9CO1FBQzFCLFdBQVcsRUFBRSwrQ0FBK0M7UUFDNUQsU0FBUyxFQUFFLGNBQWM7S0FDMUIsQ0FBQztJQUVGLGtCQUFrQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQVE7UUFDcEMsSUFBSSxFQUFFLG9CQUFvQjtRQUMxQixXQUFXLEVBQUUsaUVBQWlFO0tBQy9FLENBQUM7SUFFRixrQkFBa0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUErQjtRQUMxRCxJQUFJLEVBQUUsb0JBQW9CO1FBQzFCLFdBQVcsRUFBRSwrQ0FBK0M7UUFDNUQsU0FBUyxFQUFFLDhCQUE4QjtLQUMxQyxDQUFDO0lBQ0Ysa0JBQWtCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBK0I7UUFDM0QsSUFBSSxFQUFFLG9CQUFvQjtRQUMxQixXQUFXLEVBQUUsK0NBQStDO1FBQzVELFNBQVMsRUFBRSw4QkFBOEI7S0FDMUMsQ0FBQztJQUVGLHVCQUF1QjtJQUN2QixrQkFBa0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUF5QjtRQUNwRCxJQUFJLEVBQUUsb0JBQW9CO1FBQzFCLFdBQVcsRUFBRSwyQ0FBMkM7UUFDeEQsU0FBUyxFQUFFLHdCQUF3QjtLQUNwQyxDQUFDO0lBQ0Ysa0JBQWtCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBeUI7UUFDcEQsSUFBSSxFQUFFLG9CQUFvQjtRQUMxQixXQUFXLEVBQUUsd0NBQXdDO1FBQ3JELFNBQVMsRUFBRSx3QkFBd0I7S0FDcEMsQ0FBQztJQUNGLGtCQUFrQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQXlCO1FBQ3JELElBQUksRUFBRSxvQkFBb0I7UUFDMUIsV0FBVyxFQUFFLHNDQUFzQztRQUNuRCxTQUFTLEVBQUUsd0JBQXdCO0tBQ3BDLENBQUM7SUFFRixZQUFZO0lBQ1osYUFBYSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQVc7UUFDbEMsSUFBSSxFQUFFLGVBQWU7UUFDckIsV0FBVyxFQUFFLDJHQUEyRztRQUN4SCxTQUFTLEVBQUUsVUFBVTtLQUN0QixDQUFDO0lBQ0YsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQWtCO1FBQzVDLElBQUksRUFBRSxlQUFlO1FBQ3JCLFdBQVcsRUFBRSxxQ0FBcUM7UUFDbEQsU0FBUyxFQUFFLGlCQUFpQjtLQUM3QixDQUFDO0NBQ0gsQ0FBQztBQUVGLDBGQUEwRjtBQUUxRjs7R0FFRztBQUNVLFFBQUEsSUFBSSxHQUFHO0lBQ2xCLGNBQWMsRUFBRTtRQUNkLElBQUksRUFBRSxXQUFXO1FBQ2pCLEtBQUssRUFBRSxVQUFFLENBQUMsaUJBQWlCO1FBQzNCLEdBQUcsRUFBRSxVQUFFLENBQUMsaUJBQWlCO0tBQzFCO0lBQ0QsWUFBWSxFQUFFO1FBQ1osSUFBSSxFQUFFLFlBQVk7UUFDbEIsS0FBSyxFQUFFLFVBQUUsQ0FBQyxpQkFBaUI7UUFDM0IsR0FBRyxFQUFFLFVBQUUsQ0FBQyxpQkFBaUI7S0FDMUI7SUFDRCxjQUFjLEVBQUU7UUFDZCxJQUFJLEVBQUUsVUFBVTtRQUNoQixLQUFLLEVBQUUsVUFBRSxDQUFDLGlCQUFpQjtRQUMzQixHQUFHLEVBQUUsVUFBRSxDQUFDLGlCQUFpQjtLQUMxQjtJQUNELFVBQVUsRUFBRTtRQUNWLElBQUksRUFBRSxNQUFNO1FBQ1osS0FBSyxFQUFFLFVBQUUsQ0FBQyxpQkFBaUI7UUFDM0IsR0FBRyxFQUFFLFVBQUUsQ0FBQyxpQkFBaUI7S0FDMUI7SUFDRCxTQUFTLEVBQUU7UUFDVCxJQUFJLEVBQUUsT0FBTztRQUNiLEtBQUssRUFBRSxVQUFFLENBQUMsaUJBQWlCO1FBQzNCLEdBQUcsRUFBRSxVQUFFLENBQUMsaUJBQWlCO0tBQzFCO0lBQ0QsYUFBYSxFQUFFO1FBQ2IsSUFBSSxFQUFFLFNBQVM7UUFDZixLQUFLLEVBQUUsVUFBRSxDQUFDLGlCQUFpQjtRQUMzQixHQUFHLEVBQUUsVUFBRSxDQUFDLGlCQUFpQjtLQUMxQjtJQUNELGNBQWMsRUFBRTtRQUNkLElBQUksRUFBRSxTQUFTO1FBQ2YsS0FBSyxFQUFFLFVBQUUsQ0FBQyxpQkFBaUI7UUFDM0IsR0FBRyxFQUFFLFVBQUUsQ0FBQyxpQkFBaUI7S0FDMUI7SUFDRCxnQkFBZ0IsRUFBRTtRQUNoQixJQUFJLEVBQUUsV0FBVztRQUNqQixLQUFLLEVBQUUsVUFBRSxDQUFDLGlCQUFpQjtRQUMzQixHQUFHLEVBQUUsVUFBRSxDQUFDLGlCQUFpQjtLQUMxQjtJQUNELFdBQVcsRUFBRTtRQUNYLElBQUksRUFBRSxhQUFhO1FBQ25CLEtBQUssRUFBRSxVQUFFLENBQUMsaUJBQWlCO1FBQzNCLEdBQUcsRUFBRSxVQUFFLENBQUMsaUJBQWlCO0tBQzFCO0lBQ0QsYUFBYSxFQUFFO1FBQ2IsSUFBSSxFQUFFLGVBQWU7UUFDckIsS0FBSyxFQUFFLFVBQUUsQ0FBQyxpQkFBaUI7UUFDM0IsR0FBRyxFQUFFLFVBQUUsQ0FBQyxpQkFBaUI7S0FDMUI7SUFDRCxPQUFPLEVBQUU7UUFDUCxJQUFJLEVBQUUsb0JBQW9CO1FBQzFCLEtBQUssRUFBRSxVQUFFLENBQUMsaUJBQWlCO1FBQzNCLEdBQUcsRUFBRSxVQUFFLENBQUMsaUJBQWlCO0tBQzFCO0NBQ2lELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSAqIGFzIGN4YXBpIGZyb20gJ0Bhd3MtY2RrL2Nsb3VkLWFzc2VtYmx5LWFwaSc7XG5pbXBvcnQgKiBhcyBtYWtlIGZyb20gJy4vbWVzc2FnZS1tYWtlcic7XG5pbXBvcnQgdHlwZSB7IFNwYW5EZWZpbml0aW9uIH0gZnJvbSAnLi9zcGFuJztcbmltcG9ydCB0eXBlIHsgRGlhZ25vc2VkU3RhY2sgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL2RpYWdub3NlJztcbmltcG9ydCB0eXBlIHsgU3RhY2tEaWZmLCBEaWZmUmVzdWx0IH0gZnJvbSAnLi4vLi4vLi4vcGF5bG9hZHMnO1xuaW1wb3J0IHR5cGUgeyBCb290c3RyYXBFbnZpcm9ubWVudFByb2dyZXNzIH0gZnJvbSAnLi4vLi4vLi4vcGF5bG9hZHMvYm9vdHN0cmFwLWVudmlyb25tZW50LXByb2dyZXNzJztcbmltcG9ydCB0eXBlIHsgTWlzc2luZ0NvbnRleHQsIFVwZGF0ZWRDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vcGF5bG9hZHMvY29udGV4dCc7XG5pbXBvcnQgdHlwZSB7IEJ1aWxkQXNzZXQsIERlcGxveUNvbmZpcm1hdGlvblJlcXVlc3QsIFB1Ymxpc2hBc3NldCwgUHVibGlzaEFzc2V0RXZlbnQsIFN0YWNrRGVwbG95UHJvZ3Jlc3MsIFN1Y2Nlc3NmdWxEZXBsb3lTdGFja1Jlc3VsdCB9IGZyb20gJy4uLy4uLy4uL3BheWxvYWRzL2RlcGxveSc7XG5pbXBvcnQgdHlwZSB7IFN0YWNrRGVzdHJveSwgU3RhY2tEZXN0cm95UHJvZ3Jlc3MgfSBmcm9tICcuLi8uLi8uLi9wYXlsb2Fkcy9kZXN0cm95JztcbmltcG9ydCB0eXBlIHsgRHJpZnRSZXN1bHRQYXlsb2FkIH0gZnJvbSAnLi4vLi4vLi4vcGF5bG9hZHMvZHJpZnQnO1xuaW1wb3J0IHR5cGUgeyBGZWF0dXJlRmxhZ0NoYW5nZVJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9wYXlsb2Fkcy9mbGFncyc7XG5pbXBvcnQgdHlwZSB7IEFzc2V0QmF0Y2hEZWxldGlvblJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9wYXlsb2Fkcy9nYyc7XG5pbXBvcnQgdHlwZSB7IEhvdHN3YXBEZXBsb3ltZW50RGV0YWlscywgSG90c3dhcERlcGxveW1lbnRBdHRlbXB0LCBIb3Rzd2FwcGFibGVDaGFuZ2UsIEhvdHN3YXBSZXN1bHQgfSBmcm9tICcuLi8uLi8uLi9wYXlsb2Fkcy9ob3Rzd2FwJztcbmltcG9ydCB0eXBlIHsgUmVzb3VyY2VJZGVudGlmaWNhdGlvblJlcXVlc3QsIFJlc291cmNlSW1wb3J0UmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL3BheWxvYWRzL2ltcG9ydCc7XG5pbXBvcnQgdHlwZSB7IFN0YWNrRGV0YWlsc1BheWxvYWQgfSBmcm9tICcuLi8uLi8uLi9wYXlsb2Fkcy9saXN0JztcbmltcG9ydCB0eXBlIHsgQ2xvdWRXYXRjaExvZ0V2ZW50LCBDbG91ZFdhdGNoTG9nTW9uaXRvckNvbnRyb2xFdmVudCB9IGZyb20gJy4uLy4uLy4uL3BheWxvYWRzL2xvZ3MtbW9uaXRvcic7XG5pbXBvcnQgdHlwZSB7IEFzc2V0c1BheWxvYWQgfSBmcm9tICcuLi8uLi8uLi9wYXlsb2Fkcy9wdWJsaXNoLWFzc2V0cyc7XG5pbXBvcnQgdHlwZSB7IFJlZmFjdG9yUmVzdWx0IH0gZnJvbSAnLi4vLi4vLi4vcGF5bG9hZHMvcmVmYWN0b3InO1xuaW1wb3J0IHR5cGUgeyBTdGFja1JvbGxiYWNrUHJvZ3Jlc3MgfSBmcm9tICcuLi8uLi8uLi9wYXlsb2Fkcy9yb2xsYmFjayc7XG5pbXBvcnQgdHlwZSB7IE1mYVRva2VuUmVxdWVzdCwgU2RrVHJhY2UgfSBmcm9tICcuLi8uLi8uLi9wYXlsb2Fkcy9zZGsnO1xuaW1wb3J0IHR5cGUgeyBTdGFja0FjdGl2aXR5LCBTdGFja01vbml0b3JpbmdDb250cm9sRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9wYXlsb2Fkcy9zdGFjay1hY3Rpdml0eSc7XG5pbXBvcnQgdHlwZSB7IFN0YWNrU2VsZWN0aW9uRGV0YWlscyB9IGZyb20gJy4uLy4uLy4uL3BheWxvYWRzL3N5bnRoJztcbmltcG9ydCB0eXBlIHtcbiAgQXNzZW1ibHlEYXRhLFxuICBDb25maXJtYXRpb25SZXF1ZXN0LFxuICBDb250ZXh0UHJvdmlkZXJNZXNzYWdlU291cmNlLFxuICBEdXJhdGlvbixcbiAgRXJyb3JQYXlsb2FkLFxuICBPcGVyYXRpb24sXG4gIFNpbmdsZVN0YWNrLFxuICBTdGFja0FuZEFzc2VtYmx5RGF0YSxcbn0gZnJvbSAnLi4vLi4vLi4vcGF5bG9hZHMvdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBGaWxlV2F0Y2hFdmVudCwgV2F0Y2hTZXR0aW5ncyB9IGZyb20gJy4uLy4uLy4uL3BheWxvYWRzL3dhdGNoJztcblxuLyoqXG4gKiBXZSBoYXZlIGEgcm91Z2ggc3lzdGVtIGJ5IHdoaWNoIHdlIGFzc2lnbiBtZXNzYWdlIGNvZGVzOlxuICogLSBGaXJzdCBkaWdpdCBncm91cHMgbWVzc2FnZXMgYnkgYWN0aW9uLCBlLmcuIHN5bnRoIG9yIGRlcGxveVxuICogLSBYMDAwLVgwMDkgYXJlIHJlc2VydmVkIGZvciB0aW1pbmdzXG4gKiAtIFg5MDAtWDk5OSBhcmUgcmVzZXJ2ZWQgZm9yIHJlc3VsdHNcbiAqL1xuZXhwb3J0IGNvbnN0IElPID0ge1xuICAvLyB3YXJuaW5ncyAmIGVycm9yc1xuICBDREtfVE9PTEtJVF9XMDEwMDogbWFrZS53YXJuKHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfVzAxMDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ3JlZGVudGlhbCBwbHVnaW4gd2FybmluZ3MnLFxuICB9KSxcblxuICAvLyAxOiBTeW50aCAoMXh4eClcbiAgQ0RLX1RPT0xLSVRfSTEwMDA6IG1ha2UuaW5mbzxPcGVyYXRpb24+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTEwMDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnUHJvdmlkZXMgc3ludGhlc2lzIHRpbWVzLicsXG4gICAgaW50ZXJmYWNlOiAnT3BlcmF0aW9uJyxcbiAgfSksXG4gIENES19UT09MS0lUX0kxMDAxOiBtYWtlLnRyYWNlPFN0YWNrU2VsZWN0aW9uRGV0YWlscz4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JMTAwMScsXG4gICAgZGVzY3JpcHRpb246ICdDbG91ZCBBc3NlbWJseSBzeW50aGVzaXMgaXMgc3RhcnRpbmcnLFxuICAgIGludGVyZmFjZTogJ1N0YWNrU2VsZWN0aW9uRGV0YWlscycsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9JMTkwMTogbWFrZS5yZXN1bHQ8U3RhY2tBbmRBc3NlbWJseURhdGE+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTE5MDEnLFxuICAgIGRlc2NyaXB0aW9uOiAnUHJvdmlkZXMgc3RhY2sgZGF0YScsXG4gICAgaW50ZXJmYWNlOiAnU3RhY2tBbmRBc3NlbWJseURhdGEnLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfSTE5MDI6IG1ha2UucmVzdWx0PEFzc2VtYmx5RGF0YT4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JMTkwMicsXG4gICAgZGVzY3JpcHRpb246ICdTdWNjZXNzZnVsbHkgZGVwbG95ZWQgc3RhY2tzJyxcbiAgICBpbnRlcmZhY2U6ICdBc3NlbWJseURhdGEnLFxuICB9KSxcblxuICAvLyAyOiBMaXN0ICgyeHh4KVxuICBDREtfVE9PTEtJVF9JMjkwMTogbWFrZS5yZXN1bHQ8U3RhY2tEZXRhaWxzUGF5bG9hZD4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JMjkwMScsXG4gICAgZGVzY3JpcHRpb246ICdQcm92aWRlcyBkZXRhaWxzIG9uIHRoZSBzZWxlY3RlZCBzdGFja3MgYW5kIHRoZWlyIGRlcGVuZGVuY2llcycsXG4gICAgaW50ZXJmYWNlOiAnU3RhY2tEZXRhaWxzUGF5bG9hZCcsXG4gIH0pLFxuXG4gIC8vIDM6IEltcG9ydCAmIE1pZ3JhdGVcbiAgQ0RLX1RPT0xLSVRfSTMxMDA6IG1ha2UuY29uZmlybTxSZXNvdXJjZUltcG9ydFJlcXVlc3Q+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTMxMDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ29uZmlybSB0aGUgaW1wb3J0IG9mIGEgc3BlY2lmaWMgcmVzb3VyY2UnLFxuICAgIGludGVyZmFjZTogJ1Jlc291cmNlSW1wb3J0UmVxdWVzdCcsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9JMzExMDogbWFrZS5xdWVzdGlvbjxSZXNvdXJjZUlkZW50aWZpY2F0aW9uUmVxdWVzdD4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JMzExMCcsXG4gICAgZGVzY3JpcHRpb246ICdBZGRpdGlvbmFsIGluZm9ybWF0aW9uIGlzIG5lZWRlZCB0byBpZGVudGlmeSBhIHJlc291cmNlJyxcbiAgICBpbnRlcmZhY2U6ICdSZXNvdXJjZUlkZW50aWZpY2F0aW9uUmVxdWVzdCcsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9FMzkwMDogbWFrZS5lcnJvcjxFcnJvclBheWxvYWQ+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfRTM5MDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnUmVzb3VyY2UgaW1wb3J0IGZhaWxlZCcsXG4gICAgaW50ZXJmYWNlOiAnRXJyb3JQYXlsb2FkJyxcbiAgfSksXG5cbiAgLy8gNDogRGlmZiAoNDB4eCAtIDQ0eHgpXG4gIENES19UT09MS0lUX0k0MDAwOiBtYWtlLnRyYWNlPFN0YWNrU2VsZWN0aW9uRGV0YWlscz4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JNDAwMCcsXG4gICAgZGVzY3JpcHRpb246ICdEaWZmIHN0YWNrcyBpcyBzdGFydGluZycsXG4gICAgaW50ZXJmYWNlOiAnU3RhY2tTZWxlY3Rpb25EZXRhaWxzJyxcbiAgfSksXG4gIENES19UT09MS0lUX0k0MDAxOiBtYWtlLnJlc3VsdDxEaWZmUmVzdWx0Pih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k0MDAxJyxcbiAgICBkZXNjcmlwdGlvbjogJ091dHB1dCBvZiB0aGUgZGlmZiBjb21tYW5kJyxcbiAgICBpbnRlcmZhY2U6ICdEaWZmUmVzdWx0JyxcbiAgfSksXG4gIENES19UT09MS0lUX0k0MDAyOiBtYWtlLnJlc3VsdDxTdGFja0RpZmY+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTQwMDInLFxuICAgIGRlc2NyaXB0aW9uOiAnVGhlIGRpZmYgZm9yIGEgc2luZ2xlIHN0YWNrJyxcbiAgICBpbnRlcmZhY2U6ICdTdGFja0RpZmYnLFxuICB9KSxcblxuICAvLyA0OiBEcmlmdCAoNDV4eCAtIDQ5eHgpXG4gIENES19UT09MS0lUX0k0NTAwOiBtYWtlLnRyYWNlPFN0YWNrU2VsZWN0aW9uRGV0YWlscz4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JNDUwMCcsXG4gICAgZGVzY3JpcHRpb246ICdEcmlmdCBkZXRlY3Rpb24gaXMgc3RhcnRpbmcnLFxuICAgIGludGVyZmFjZTogJ1N0YWNrU2VsZWN0aW9uRGV0YWlscycsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9JNDUwOTogbWFrZS5yZXN1bHQ8RHVyYXRpb24+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTQ1OTInLFxuICAgIGRlc2NyaXB0aW9uOiAnUmVzdWx0cyBvZiB0aGUgZHJpZnQnLFxuICAgIGludGVyZmFjZTogJ0R1cmF0aW9uJyxcbiAgfSksXG4gIENES19UT09MS0lUX0k0NTkwOiBtYWtlLnJlc3VsdDxEcmlmdFJlc3VsdFBheWxvYWQ+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTQ1OTAnLFxuICAgIGRlc2NyaXB0aW9uOiAnUmVzdWx0cyBvZiBhIHN0YWNrIGRyaWZ0JyxcbiAgICBpbnRlcmZhY2U6ICdEcmlmdFJlc3VsdFBheWxvYWQnLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfVzQ1OTE6IG1ha2Uud2FybjxTaW5nbGVTdGFjaz4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9XNDU5MScsXG4gICAgZGVzY3JpcHRpb246ICdNaXNzaW5nIGRyaWZ0IHJlc3VsdCBmb3J0IGEgc3RhY2suJyxcbiAgICBpbnRlcmZhY2U6ICdTaW5nbGVTdGFjaycsXG4gIH0pLFxuXG4gIC8vIDU6IERlcGxveSAmIFdhdGNoICg1eHh4KVxuICBDREtfVE9PTEtJVF9JNTAwMDogbWFrZS5pbmZvPER1cmF0aW9uPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k1MDAwJyxcbiAgICBkZXNjcmlwdGlvbjogJ1Byb3ZpZGVzIGRlcGxveW1lbnQgdGltZXMnLFxuICAgIGludGVyZmFjZTogJ0R1cmF0aW9uJyxcbiAgfSksXG4gIENES19UT09MS0lUX0k1MDAxOiBtYWtlLmluZm88RHVyYXRpb24+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTUwMDEnLFxuICAgIGRlc2NyaXB0aW9uOiAnUHJvdmlkZXMgdG90YWwgdGltZSBpbiBkZXBsb3kgYWN0aW9uLCBpbmNsdWRpbmcgc3ludGggYW5kIHJvbGxiYWNrJyxcbiAgICBpbnRlcmZhY2U6ICdEdXJhdGlvbicsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9JNTAwMjogbWFrZS5pbmZvPER1cmF0aW9uPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k1MDAyJyxcbiAgICBkZXNjcmlwdGlvbjogJ1Byb3ZpZGVzIHRpbWUgZm9yIHJlc291cmNlIG1pZ3JhdGlvbicsXG4gICAgaW50ZXJmYWNlOiAnRHVyYXRpb24nLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfVzUwMjE6IG1ha2Uud2Fybih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX1c1MDIxJyxcbiAgICBkZXNjcmlwdGlvbjogJ0VtcHR5IG5vbi1leGlzdGVudCBzdGFjaywgZGVwbG95bWVudCBpcyBza2lwcGVkJyxcbiAgfSksXG4gIENES19UT09MS0lUX1c1MDIyOiBtYWtlLndhcm4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9XNTAyMicsXG4gICAgZGVzY3JpcHRpb246ICdFbXB0eSBleGlzdGluZyBzdGFjaywgc3RhY2sgd2lsbCBiZSBkZXN0cm95ZWQnLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfSTUwMzE6IG1ha2UuaW5mbyh7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k1MDMxJyxcbiAgICBkZXNjcmlwdGlvbjogJ0luZm9ybXMgYWJvdXQgYW55IGxvZyBncm91cHMgdGhhdCBhcmUgdHJhY2VkIGFzIHBhcnQgb2YgdGhlIGRlcGxveW1lbnQnLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfSTUwMzI6IG1ha2UuZGVidWc8Q2xvdWRXYXRjaExvZ01vbml0b3JDb250cm9sRXZlbnQ+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTUwMzInLFxuICAgIGRlc2NyaXB0aW9uOiAnU3RhcnQgbW9uaXRvcmluZyBsb2cgZ3JvdXBzJyxcbiAgICBpbnRlcmZhY2U6ICdDbG91ZFdhdGNoTG9nTW9uaXRvckNvbnRyb2xFdmVudCcsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9JNTAzMzogbWFrZS5pbmZvPENsb3VkV2F0Y2hMb2dFdmVudD4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JNTAzMycsXG4gICAgZGVzY3JpcHRpb246ICdBIGxvZyBldmVudCByZWNlaXZlZCBmcm9tIENsb3VkIFdhdGNoJyxcbiAgICBpbnRlcmZhY2U6ICdDbG91ZFdhdGNoTG9nRXZlbnQnLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfSTUwMzQ6IG1ha2UuZGVidWc8Q2xvdWRXYXRjaExvZ01vbml0b3JDb250cm9sRXZlbnQ+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTUwMzQnLFxuICAgIGRlc2NyaXB0aW9uOiAnU3RvcCBtb25pdG9yaW5nIGxvZyBncm91cHMnLFxuICAgIGludGVyZmFjZTogJ0Nsb3VkV2F0Y2hMb2dNb25pdG9yQ29udHJvbEV2ZW50JyxcbiAgfSksXG4gIENES19UT09MS0lUX0U1MDM1OiBtYWtlLmVycm9yPEVycm9yUGF5bG9hZD4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9FNTAzNScsXG4gICAgZGVzY3JpcHRpb246ICdBIGxvZyBtb25pdG9yaW5nIGVycm9yJyxcbiAgICBpbnRlcmZhY2U6ICdFcnJvclBheWxvYWQnLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfSTUwNTA6IG1ha2UuY29uZmlybTxDb25maXJtYXRpb25SZXF1ZXN0Pih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k1MDUwJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NvbmZpcm0gcm9sbGJhY2sgZHVyaW5nIGRlcGxveW1lbnQnLFxuICAgIGludGVyZmFjZTogJ0NvbmZpcm1hdGlvblJlcXVlc3QnLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfSTUwNjA6IG1ha2UuY29uZmlybTxEZXBsb3lDb25maXJtYXRpb25SZXF1ZXN0Pih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k1MDYwJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NvbmZpcm0gZGVwbG95IHNlY3VyaXR5IHNlbnNpdGl2ZSBjaGFuZ2VzJyxcbiAgICBpbnRlcmZhY2U6ICdEZXBsb3lDb25maXJtYXRpb25SZXF1ZXN0JyxcbiAgfSksXG4gIENES19UT09MS0lUX0k1MTAwOiBtYWtlLmluZm88U3RhY2tEZXBsb3lQcm9ncmVzcz4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JNTEwMCcsXG4gICAgZGVzY3JpcHRpb246ICdTdGFjayBkZXBsb3kgcHJvZ3Jlc3MnLFxuICAgIGludGVyZmFjZTogJ1N0YWNrRGVwbG95UHJvZ3Jlc3MnLFxuICB9KSxcblxuICAvLyBBc3NldHMgKDUyeHgpXG4gIENES19UT09MS0lUX0k1MjEwOiBtYWtlLnRyYWNlPEJ1aWxkQXNzZXQ+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTUyMTAnLFxuICAgIGRlc2NyaXB0aW9uOiAnU3RhcnRlZCBidWlsZGluZyBhIHNwZWNpZmljIGFzc2V0JyxcbiAgICBpbnRlcmZhY2U6ICdCdWlsZEFzc2V0JyxcbiAgfSksXG4gIENES19UT09MS0lUX0k1MjExOiBtYWtlLnRyYWNlPER1cmF0aW9uPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k1MjExJyxcbiAgICBkZXNjcmlwdGlvbjogJ0J1aWxkaW5nIHRoZSBhc3NldCBoYXMgY29tcGxldGVkJyxcbiAgICBpbnRlcmZhY2U6ICdEdXJhdGlvbicsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9JNTIyMDogbWFrZS50cmFjZTxQdWJsaXNoQXNzZXQ+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTUyMjAnLFxuICAgIGRlc2NyaXB0aW9uOiAnU3RhcnRlZCBwdWJsaXNoaW5nIGEgc3BlY2lmaWMgYXNzZXQnLFxuICAgIGludGVyZmFjZTogJ1B1Ymxpc2hBc3NldCcsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9JNTIyMTogbWFrZS50cmFjZTxEdXJhdGlvbj4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JNTIyMScsXG4gICAgZGVzY3JpcHRpb246ICdQdWJsaXNoaW5nIHRoZSBhc3NldCBoYXMgY29tcGxldGVkJyxcbiAgICBpbnRlcmZhY2U6ICdEdXJhdGlvbicsXG4gIH0pLFxuXG4gIENES19BU1NFVFNfSTUyNzA6IG1ha2UuaW5mbzxQdWJsaXNoQXNzZXRFdmVudD4oe1xuICAgIGNvZGU6ICdDREtfQVNTRVRTX0k1MjcwJyxcbiAgICBkZXNjcmlwdGlvbjogJ1B1Ymxpc2hpbmcgdGhlIGFzc2V0IGhhcyBzdGFydGVkJyxcbiAgICBpbnRlcmZhY2U6ICdQdWJsaXNoQXNzZXRFdmVudCcsXG4gIH0pLFxuICBDREtfQVNTRVRTX0k1MjcxOiBtYWtlLmRlYnVnPFB1Ymxpc2hBc3NldEV2ZW50Pih7XG4gICAgY29kZTogJ0NES19BU1NFVFNfSTUyNzEnLFxuICAgIGRlc2NyaXB0aW9uOiAnRGVidWcgbWVzc2FnZWQgZW1pdHRlZCBkdXJpbmcgcHVibGlzaGluZyBvZiB0aGUgYXNzZXQnLFxuICAgIGludGVyZmFjZTogJ1B1Ymxpc2hBc3NldEV2ZW50JyxcbiAgfSksXG4gIENES19BU1NFVFNfSTUyNzU6IG1ha2UuaW5mbzxQdWJsaXNoQXNzZXRFdmVudD4oe1xuICAgIGNvZGU6ICdDREtfQVNTRVRTX0k1Mjc1JyxcbiAgICBkZXNjcmlwdGlvbjogJ1B1Ymxpc2hpbmcgdGhlIGFzc2V0IGhhcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5JyxcbiAgICBpbnRlcmZhY2U6ICdQdWJsaXNoQXNzZXRFdmVudCcsXG4gIH0pLFxuICBDREtfQVNTRVRTX0U1Mjc5OiBtYWtlLmVycm9yPFB1Ymxpc2hBc3NldEV2ZW50Pih7XG4gICAgY29kZTogJ0NES19BU1NFVFNfRTUyNzknLFxuICAgIGRlc2NyaXB0aW9uOiAnVGhlcmUgd2FzIGFuIGVycm9yIHdoaWxlIHB1Ymxpc2hpbmcgdGhlIGFzc2V0JyxcbiAgICBpbnRlcmZhY2U6ICdQdWJsaXNoQXNzZXRFdmVudCcsXG4gIH0pLFxuXG4gIC8vIFdhdGNoICg1M3h4KVxuICBDREtfVE9PTEtJVF9JNTMxMDogbWFrZS5kZWJ1ZzxXYXRjaFNldHRpbmdzPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k1MzEwJyxcbiAgICBkZXNjcmlwdGlvbjogJ1RoZSBjb21wdXRlZCBzZXR0aW5ncyB1c2VkIGZvciBmaWxlIHdhdGNoaW5nJyxcbiAgICBpbnRlcmZhY2U6ICdXYXRjaFNldHRpbmdzJyxcbiAgfSksXG4gIENES19UT09MS0lUX0k1MzExOiBtYWtlLmluZm88RmlsZVdhdGNoRXZlbnQ+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTUzMTEnLFxuICAgIGRlc2NyaXB0aW9uOiAnRmlsZSB3YXRjaGluZyBzdGFydGVkJyxcbiAgICBpbnRlcmZhY2U6ICdGaWxlV2F0Y2hFdmVudCcsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9JNTMxMjogbWFrZS5pbmZvPEZpbGVXYXRjaEV2ZW50Pih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k1MzEyJyxcbiAgICBkZXNjcmlwdGlvbjogJ0ZpbGUgZXZlbnQgZGV0ZWN0ZWQsIHN0YXJ0aW5nIGRlcGxveW1lbnQnLFxuICAgIGludGVyZmFjZTogJ0ZpbGVXYXRjaEV2ZW50JyxcbiAgfSksXG4gIENES19UT09MS0lUX0k1MzEzOiBtYWtlLmluZm88RmlsZVdhdGNoRXZlbnQ+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTUzMTMnLFxuICAgIGRlc2NyaXB0aW9uOiAnRmlsZSBldmVudCBkZXRlY3RlZCBkdXJpbmcgYWN0aXZlIGRlcGxveW1lbnQsIGNoYW5nZXMgYXJlIHF1ZXVlZCcsXG4gICAgaW50ZXJmYWNlOiAnRmlsZVdhdGNoRXZlbnQnLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfSTUzMTQ6IG1ha2UuaW5mbyh7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k1MzE0JyxcbiAgICBkZXNjcmlwdGlvbjogJ0luaXRpYWwgd2F0Y2ggZGVwbG95bWVudCBzdGFydGVkJyxcbiAgfSksXG4gIENES19UT09MS0lUX0k1MzE1OiBtYWtlLmluZm8oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JNTMxNScsXG4gICAgZGVzY3JpcHRpb246ICdRdWV1ZWQgd2F0Y2ggZGVwbG95bWVudCBzdGFydGVkJyxcbiAgfSksXG5cbiAgLy8gSG90c3dhcCAoNTR4eClcbiAgQ0RLX1RPT0xLSVRfSTU0MDA6IG1ha2UudHJhY2U8SG90c3dhcERlcGxveW1lbnRBdHRlbXB0Pih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k1NDAwJyxcbiAgICBkZXNjcmlwdGlvbjogJ0F0dGVtcHRpbmcgYSBob3Rzd2FwIGRlcGxveW1lbnQnLFxuICAgIGludGVyZmFjZTogJ0hvdHN3YXBEZXBsb3ltZW50QXR0ZW1wdCcsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9JNTQwMTogbWFrZS50cmFjZTxIb3Rzd2FwRGVwbG95bWVudERldGFpbHM+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTU0MDEnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ29tcHV0ZWQgZGV0YWlscyBmb3IgdGhlIGhvdHN3YXAgZGVwbG95bWVudCcsXG4gICAgaW50ZXJmYWNlOiAnSG90c3dhcERlcGxveW1lbnREZXRhaWxzJyxcbiAgfSksXG4gIENES19UT09MS0lUX0k1NDAyOiBtYWtlLmluZm88SG90c3dhcHBhYmxlQ2hhbmdlPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k1NDAyJyxcbiAgICBkZXNjcmlwdGlvbjogJ0EgaG90c3dhcHBhYmxlIGNoYW5nZSBpcyBwcm9jZXNzZWQgYXMgcGFydCBvZiBhIGhvdHN3YXAgZGVwbG95bWVudCcsXG4gICAgaW50ZXJmYWNlOiAnSG90c3dhcHBhYmxlQ2hhbmdlJyxcbiAgfSksXG4gIENES19UT09MS0lUX0k1NDAzOiBtYWtlLmluZm88SG90c3dhcHBhYmxlQ2hhbmdlPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k1NDAzJyxcbiAgICBkZXNjcmlwdGlvbjogJ1RoZSBob3Rzd2FwcGFibGUgY2hhbmdlIGhhcyBjb21wbGV0ZWQgcHJvY2Vzc2luZycsXG4gICAgaW50ZXJmYWNlOiAnSG90c3dhcHBhYmxlQ2hhbmdlJyxcbiAgfSksXG4gIENES19UT09MS0lUX0k1NDEwOiBtYWtlLmluZm88SG90c3dhcFJlc3VsdD4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JNTQxMCcsXG4gICAgZGVzY3JpcHRpb246ICdIb3Rzd2FwIGRlcGxveW1lbnQgaGFzIGVuZGVkLCBhIGZ1bGwgZGVwbG95bWVudCBtaWdodCBzdGlsbCBmb2xsb3cgaWYgbmVlZGVkJyxcbiAgICBpbnRlcmZhY2U6ICdIb3Rzd2FwUmVzdWx0JyxcbiAgfSksXG5cbiAgLy8gU3RhY2sgTW9uaXRvciAoNTV4eClcbiAgQ0RLX1RPT0xLSVRfSTU1MDE6IG1ha2UuaW5mbzxTdGFja01vbml0b3JpbmdDb250cm9sRXZlbnQ+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTU1MDEnLFxuICAgIGRlc2NyaXB0aW9uOiAnU3RhY2sgTW9uaXRvcmluZzogU3RhcnQgbW9uaXRvcmluZyBvZiBhIHNpbmdsZSBzdGFjaycsXG4gICAgaW50ZXJmYWNlOiAnU3RhY2tNb25pdG9yaW5nQ29udHJvbEV2ZW50JyxcbiAgfSksXG4gIENES19UT09MS0lUX0k1NTAyOiBtYWtlLmluZm88U3RhY2tBY3Rpdml0eT4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JNTUwMicsXG4gICAgZGVzY3JpcHRpb246ICdTdGFjayBNb25pdG9yaW5nOiBBY3Rpdml0eSBldmVudCBmb3IgYSBzaW5nbGUgc3RhY2snLFxuICAgIGludGVyZmFjZTogJ1N0YWNrQWN0aXZpdHknLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfSTU1MDM6IG1ha2UuaW5mbzxTdGFja01vbml0b3JpbmdDb250cm9sRXZlbnQ+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTU1MDMnLFxuICAgIGRlc2NyaXB0aW9uOiAnU3RhY2sgTW9uaXRvcmluZzogRmluaXNoZWQgbW9uaXRvcmluZyBvZiBhIHNpbmdsZSBzdGFjaycsXG4gICAgaW50ZXJmYWNlOiAnU3RhY2tNb25pdG9yaW5nQ29udHJvbEV2ZW50JyxcbiAgfSksXG5cbiAgLy8gU3VjY2VzcyAoNTl4eClcbiAgQ0RLX1RPT0xLSVRfSTU5MDA6IG1ha2UucmVzdWx0PFN1Y2Nlc3NmdWxEZXBsb3lTdGFja1Jlc3VsdD4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JNTkwMCcsXG4gICAgZGVzY3JpcHRpb246ICdEZXBsb3ltZW50IHJlc3VsdHMgb24gc3VjY2VzcycsXG4gICAgaW50ZXJmYWNlOiAnU3VjY2Vzc2Z1bERlcGxveVN0YWNrUmVzdWx0JyxcbiAgfSksXG4gIENES19UT09MS0lUX0k1OTAxOiBtYWtlLmluZm8oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JNTkwMScsXG4gICAgZGVzY3JpcHRpb246ICdHZW5lcmljIGRlcGxveW1lbnQgc3VjY2VzcyBtZXNzYWdlcycsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9XNTQwMDogbWFrZS53YXJuKHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfVzU0MDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnSG90c3dhcCBkaXNjbG9zdXJlIG1lc3NhZ2UnLFxuICB9KSxcblxuICBDREtfVE9PTEtJVF9FNTAwMTogbWFrZS5lcnJvcih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0U1MDAxJyxcbiAgICBkZXNjcmlwdGlvbjogJ05vIHN0YWNrcyBmb3VuZCcsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9FNTUwMDogbWFrZS5lcnJvcjxFcnJvclBheWxvYWQ+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfRTU1MDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnU3RhY2sgTW9uaXRvcmluZyBlcnJvcicsXG4gICAgaW50ZXJmYWNlOiAnRXJyb3JQYXlsb2FkJyxcbiAgfSksXG5cbiAgLy8gNjogUm9sbGJhY2sgKDZ4eHgpXG4gIENES19UT09MS0lUX0k2MDAwOiBtYWtlLmluZm88RHVyYXRpb24+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTYwMDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnUHJvdmlkZXMgcm9sbGJhY2sgdGltZXMnLFxuICAgIGludGVyZmFjZTogJ0R1cmF0aW9uJyxcbiAgfSksXG4gIENES19UT09MS0lUX0k2MTAwOiBtYWtlLmluZm88U3RhY2tSb2xsYmFja1Byb2dyZXNzPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k2MTAwJyxcbiAgICBkZXNjcmlwdGlvbjogJ1N0YWNrIHJvbGxiYWNrIHByb2dyZXNzJyxcbiAgICBpbnRlcmZhY2U6ICdTdGFja1JvbGxiYWNrUHJvZ3Jlc3MnLFxuICB9KSxcblxuICBDREtfVE9PTEtJVF9FNjAwMTogbWFrZS5lcnJvcih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0U2MDAxJyxcbiAgICBkZXNjcmlwdGlvbjogJ05vIHN0YWNrcyBmb3VuZCcsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9FNjkwMDogbWFrZS5lcnJvcjxFcnJvclBheWxvYWQ+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfRTY5MDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnUm9sbGJhY2sgZmFpbGVkJyxcbiAgICBpbnRlcmZhY2U6ICdFcnJvclBheWxvYWQnLFxuICB9KSxcblxuICAvLyA3OiBEZXN0cm95ICg3eHh4KVxuICBDREtfVE9PTEtJVF9JNzAwMDogbWFrZS5pbmZvPER1cmF0aW9uPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k3MDAwJyxcbiAgICBkZXNjcmlwdGlvbjogJ1Byb3ZpZGVzIGRlc3Ryb3kgdGltZXMnLFxuICAgIGludGVyZmFjZTogJ0R1cmF0aW9uJyxcbiAgfSksXG4gIENES19UT09MS0lUX0k3MDAxOiBtYWtlLnRyYWNlPER1cmF0aW9uPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k3MDAxJyxcbiAgICBkZXNjcmlwdGlvbjogJ1Byb3ZpZGVzIGRlc3Ryb3kgdGltZSBmb3IgYSBzaW5nbGUgc3RhY2snLFxuICAgIGludGVyZmFjZTogJ0R1cmF0aW9uJyxcbiAgfSksXG4gIENES19UT09MS0lUX0k3MDEwOiBtYWtlLmNvbmZpcm08Q29uZmlybWF0aW9uUmVxdWVzdD4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JNzAxMCcsXG4gICAgZGVzY3JpcHRpb246ICdDb25maXJtIGRlc3Ryb3kgc3RhY2tzJyxcbiAgICBpbnRlcmZhY2U6ICdDb25maXJtYXRpb25SZXF1ZXN0JyxcbiAgfSksXG4gIENES19UT09MS0lUX0k3MTAwOiBtYWtlLmluZm88U3RhY2tEZXN0cm95UHJvZ3Jlc3M+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTcxMDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnU3RhY2sgZGVzdHJveSBwcm9ncmVzcycsXG4gICAgaW50ZXJmYWNlOiAnU3RhY2tEZXN0cm95UHJvZ3Jlc3MnLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfSTcxMDE6IG1ha2UudHJhY2U8U3RhY2tEZXN0cm95Pih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k3MTAxJyxcbiAgICBkZXNjcmlwdGlvbjogJ1N0YXJ0IHN0YWNrIGRlc3Ryb3lpbmcnLFxuICAgIGludGVyZmFjZTogJ1N0YWNrRGVzdHJveScsXG4gIH0pLFxuXG4gIENES19UT09MS0lUX0k3OTAwOiBtYWtlLnJlc3VsdDxjeGFwaS5DbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3Q+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTc5MDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnU3RhY2sgZGVsZXRpb24gc3VjY2VlZGVkJyxcbiAgICBpbnRlcmZhY2U6ICdjeGFwaS5DbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3QnLFxuICB9KSxcblxuICBDREtfVE9PTEtJVF9FNzAxMDogbWFrZS5lcnJvcih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0U3MDEwJyxcbiAgICBkZXNjcmlwdGlvbjogJ0FjdGlvbiB3YXMgYWJvcnRlZCBkdWUgdG8gbmVnYXRpdmUgY29uZmlybWF0aW9uIG9mIHJlcXVlc3QnLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfRTc5MDA6IG1ha2UuZXJyb3I8RXJyb3JQYXlsb2FkPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0U3OTAwJyxcbiAgICBkZXNjcmlwdGlvbjogJ1N0YWNrIGRlbGV0aW9uIGZhaWxlZCcsXG4gICAgaW50ZXJmYWNlOiAnRXJyb3JQYXlsb2FkJyxcbiAgfSksXG5cbiAgLy8gOC4gUmVmYWN0b3IgKDh4eHgpXG4gIENES19UT09MS0lUX0U4OTAwOiBtYWtlLmVycm9yPEVycm9yUGF5bG9hZD4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9FODkwMCcsXG4gICAgZGVzY3JpcHRpb246ICdTdGFjayByZWZhY3RvciBmYWlsZWQnLFxuICAgIGludGVyZmFjZTogJ0Vycm9yUGF5bG9hZCcsXG4gIH0pLFxuXG4gIENES19UT09MS0lUX0k4OTAwOiBtYWtlLnJlc3VsdDxSZWZhY3RvclJlc3VsdD4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JODkwMCcsXG4gICAgZGVzY3JpcHRpb246ICdSZWZhY3RvciByZXN1bHQnLFxuICAgIGludGVyZmFjZTogJ1JlZmFjdG9yUmVzdWx0JyxcbiAgfSksXG5cbiAgQ0RLX1RPT0xLSVRfSTg5MTA6IG1ha2UuY29uZmlybTxDb25maXJtYXRpb25SZXF1ZXN0Pih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k4OTEwJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NvbmZpcm0gcmVmYWN0b3InLFxuICAgIGludGVyZmFjZTogJ0NvbmZpcm1hdGlvblJlcXVlc3QnLFxuICB9KSxcblxuICBDREtfVE9PTEtJVF9XODAxMDogbWFrZS53YXJuKHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfVzgwMTAnLFxuICAgIGRlc2NyaXB0aW9uOiAnUmVmYWN0b3IgZXhlY3V0aW9uIG5vdCB5ZXQgc3VwcG9ydGVkJyxcbiAgfSksXG5cbiAgLy8gT3JwaGFuICg4OHh4KVxuICBDREtfVE9PTEtJVF9JODgxMDogbWFrZS5jb25maXJtPENvbmZpcm1hdGlvblJlcXVlc3Q+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTg4MTAnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ29uZmlybSBvcnBoYW4gcmVzb3VyY2VzJyxcbiAgICBpbnRlcmZhY2U6ICdDb25maXJtYXRpb25SZXF1ZXN0JyxcbiAgfSksXG5cbiAgLy8gOTogQm9vdHN0cmFwLCBnYywgZmxhZ3MgJiBwdWJsaXNoICg5eHh4KVxuICBDREtfVE9PTEtJVF9JOTAwMDogbWFrZS5pbmZvPER1cmF0aW9uPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k5MDAwJyxcbiAgICBkZXNjcmlwdGlvbjogJ1Byb3ZpZGVzIGJvb3RzdHJhcCB0aW1lcycsXG4gICAgaW50ZXJmYWNlOiAnRHVyYXRpb24nLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfSTkxMDA6IG1ha2UuaW5mbzxCb290c3RyYXBFbnZpcm9ubWVudFByb2dyZXNzPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k5MTAwJyxcbiAgICBkZXNjcmlwdGlvbjogJ0Jvb3RzdHJhcCBwcm9ncmVzcycsXG4gICAgaW50ZXJmYWNlOiAnQm9vdHN0cmFwRW52aXJvbm1lbnRQcm9ncmVzcycsXG4gIH0pLFxuXG4gIC8vIGdjICg5Mnh4KVxuICBDREtfVE9PTEtJVF9JOTIxMDogbWFrZS5xdWVzdGlvbjxBc3NldEJhdGNoRGVsZXRpb25SZXF1ZXN0Pih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k5MjEwJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NvbmZpcm0gdGhlIGRlbGV0aW9uIG9mIGEgYmF0Y2ggb2YgYXNzZXRzJyxcbiAgICBpbnRlcmZhY2U6ICdBc3NldEJhdGNoRGVsZXRpb25SZXF1ZXN0JyxcbiAgfSksXG5cbiAgQ0RLX1RPT0xLSVRfSTk5MDA6IG1ha2UucmVzdWx0PHsgZW52aXJvbm1lbnQ6IGN4YXBpLkVudmlyb25tZW50IH0+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTk5MDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnQm9vdHN0cmFwIHJlc3VsdHMgb24gc3VjY2VzcycsXG4gICAgaW50ZXJmYWNlOiAnY3hhcGkuRW52aXJvbm1lbnQnLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfRTk5MDA6IG1ha2UuZXJyb3I8RXJyb3JQYXlsb2FkPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0U5OTAwJyxcbiAgICBkZXNjcmlwdGlvbjogJ0Jvb3RzdHJhcCBmYWlsZWQnLFxuICAgIGludGVyZmFjZTogJ0Vycm9yUGF5bG9hZCcsXG4gIH0pLFxuXG4gIC8vIGZsYWdzICg5M3h4KVxuICBDREtfVE9PTEtJVF9JOTMwMDogbWFrZS5pbmZvPEZlYXR1cmVGbGFnQ2hhbmdlUmVxdWVzdD4oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JOTMwMCcsXG4gICAgZGVzY3JpcHRpb246ICdDb25maXJtIHRoZSBmZWF0dXJlIGZsYWcgY29uZmlndXJhdGlvbiBjaGFuZ2VzJyxcbiAgICBpbnRlcmZhY2U6ICdGZWF0dXJlRmxhZ0NoYW5nZVJlcXVlc3QnLFxuICB9KSxcblxuICAvLyBwdWJsaXNoICg5NHh4KVxuICBDREtfVE9PTEtJVF9JOTQwMDogbWFrZS5pbmZvKHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTk0MDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnQWxsIGFzc2V0cyBhcmUgYWxyZWFkeSBwdWJsaXNoZWQnLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfSTk0MDE6IG1ha2UuaW5mbzxBc3NldHNQYXlsb2FkPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k5NDAxJyxcbiAgICBkZXNjcmlwdGlvbjogJ1B1Ymxpc2hpbmcgYXNzZXRzJyxcbiAgICBpbnRlcmZhY2U6ICdBc3NldHNQYXlsb2FkJyxcbiAgfSksXG4gIENES19UT09MS0lUX0k5NDAyOiBtYWtlLnJlc3VsdDxBc3NldHNQYXlsb2FkPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k5NDAyJyxcbiAgICBkZXNjcmlwdGlvbjogJ1B1Ymxpc2ggYXNzZXRzIHJlc3VsdHMgb24gc3VjY2VzcycsXG4gICAgaW50ZXJmYWNlOiAnQXNzZXRzUGF5bG9hZCcsXG4gIH0pLFxuXG4gIC8vIGRpYWdub3NlICg5NXh4KVxuICBDREtfVE9PTEtJVF9JOTUwMDogbWFrZS5pbmZvPERpYWdub3NlZFN0YWNrPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0k5NTAwJyxcbiAgICBkZXNjcmlwdGlvbjogJ1N0YWNrIGRpYWdub3NpcyAobm8gcHJvYmxlbXMgZm91bmQpJyxcbiAgICBpbnRlcmZhY2U6ICdEaWFnbm9zZWRTdGFjaycsXG4gIH0pLFxuXG4gIENES19UT09MS0lUX0U5NTAwOiBtYWtlLmVycm9yPERpYWdub3NlZFN0YWNrPih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0U5NTAwJyxcbiAgICBkZXNjcmlwdGlvbjogJ1N0YWNrIGRpYWdub3NpcyAocHJvYmxlbXMgZm91bmQpJyxcbiAgICBpbnRlcmZhY2U6ICdEaWFnbm9zZWRTdGFjaycsXG4gIH0pLFxuXG4gIENES19UT09MS0lUX1c5NTAxOiBtYWtlLndhcm48RGlhZ25vc2VkU3RhY2s+KHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfVzk1MDEnLFxuICAgIGRlc2NyaXB0aW9uOiAnU3RhY2sgZGlhZ25vc2lzIChkaWFnbm9zaXMgY291bGQgbm90IGJlIHBlcmZvcm1lZCknLFxuICAgIGludGVyZmFjZTogJ0RpYWdub3NlZFN0YWNrJyxcbiAgfSksXG5cbiAgLy8gTm90aWNlc1xuICBDREtfVE9PTEtJVF9JMDEwMDogbWFrZS5pbmZvKHtcbiAgICBjb2RlOiAnQ0RLX1RPT0xLSVRfSTAxMDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnTm90aWNlcyBkZWNvcmF0aW9uICh0aGUgaGVhZGVyIG9yIGZvb3RlciBvZiBhIGxpc3Qgb2Ygbm90aWNlcyknLFxuICB9KSxcbiAgQ0RLX1RPT0xLSVRfVzAxMDE6IG1ha2Uud2Fybih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX1cwMTAxJyxcbiAgICBkZXNjcmlwdGlvbjogJ0Egbm90aWNlIHRoYXQgaXMgbWFya2VkIGFzIGEgd2FybmluZycsXG4gIH0pLFxuICBDREtfVE9PTEtJVF9FMDEwMTogbWFrZS5lcnJvcih7XG4gICAgY29kZTogJ0NES19UT09MS0lUX0UwMTAxJyxcbiAgICBkZXNjcmlwdGlvbjogJ0Egbm90aWNlIHRoYXQgaXMgbWFya2VkIGFzIGFuIGVycm9yJyxcbiAgfSksXG4gIENES19UT09MS0lUX0kwMTAxOiBtYWtlLmluZm8oe1xuICAgIGNvZGU6ICdDREtfVE9PTEtJVF9JMDEwMScsXG4gICAgZGVzY3JpcHRpb246ICdBIG5vdGljZSB0aGF0IGlzIG1hcmtlZCBhcyBpbmZvcm1hdGlvbmFsJyxcbiAgfSksXG5cbiAgLy8gQXNzZW1ibHkgY29kZXNcbiAgQ0RLX0FTU0VNQkxZX0kwMDEwOiBtYWtlLmRlYnVnKHtcbiAgICBjb2RlOiAnQ0RLX0FTU0VNQkxZX0kwMDEwJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dlbmVyaWMgZW52aXJvbm1lbnQgcHJlcGFyYXRpb24gZGVidWcgbWVzc2FnZXMnLFxuICB9KSxcbiAgQ0RLX0FTU0VNQkxZX1cwMDEwOiBtYWtlLndhcm4oe1xuICAgIGNvZGU6ICdDREtfQVNTRU1CTFlfVzAwMTAnLFxuICAgIGRlc2NyaXB0aW9uOiAnRW1pdHRlZCBpZiB0aGUgZm91bmQgZnJhbWV3b3JrIHZlcnNpb24gZG9lcyBub3Qgc3VwcG9ydCBjb250ZXh0IG92ZXJmbG93JyxcbiAgfSksXG4gIENES19BU1NFTUJMWV9JMDA0MjogbWFrZS5kZWJ1ZzxVcGRhdGVkQ29udGV4dD4oe1xuICAgIGNvZGU6ICdDREtfQVNTRU1CTFlfSTAwNDInLFxuICAgIGRlc2NyaXB0aW9uOiAnV3JpdGluZyBjb250ZXh0IHVwZGF0ZXMnLFxuICAgIGludGVyZmFjZTogJ1VwZGF0ZWRDb250ZXh0JyxcbiAgfSksXG4gIENES19BU1NFTUJMWV9JMDI0MDogbWFrZS5kZWJ1ZzxNaXNzaW5nQ29udGV4dD4oe1xuICAgIGNvZGU6ICdDREtfQVNTRU1CTFlfSTAyNDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ29udGV4dCBsb29rdXAgd2FzIHN0b3BwZWQgYXMgbm8gZnVydGhlciBwcm9ncmVzcyB3YXMgbWFkZS4gJyxcbiAgICBpbnRlcmZhY2U6ICdNaXNzaW5nQ29udGV4dCcsXG4gIH0pLFxuICBDREtfQVNTRU1CTFlfSTAyNDE6IG1ha2UuZGVidWc8TWlzc2luZ0NvbnRleHQ+KHtcbiAgICBjb2RlOiAnQ0RLX0FTU0VNQkxZX0kwMjQxJyxcbiAgICBkZXNjcmlwdGlvbjogJ0ZldGNoaW5nIG1pc3NpbmcgY29udGV4dC4gVGhpcyBpcyBhbiBpdGVyYXRpdmUgbWVzc2FnZSB0aGF0IG1heSBhcHBlYXIgbXVsdGlwbGUgdGltZXMgd2l0aCBkaWZmZXJlbnQgbWlzc2luZyBrZXlzLicsXG4gICAgaW50ZXJmYWNlOiAnTWlzc2luZ0NvbnRleHQnLFxuICB9KSxcbiAgQ0RLX0FTU0VNQkxZX0kxMDAwOiBtYWtlLmRlYnVnKHtcbiAgICBjb2RlOiAnQ0RLX0FTU0VNQkxZX0kxMDAwJyxcbiAgICBkZXNjcmlwdGlvbjogJ0Nsb3VkIGFzc2VtYmx5IG91dHB1dCBzdGFydHMnLFxuICB9KSxcbiAgQ0RLX0FTU0VNQkxZX0kxMDAxOiBtYWtlLmluZm8oe1xuICAgIGNvZGU6ICdDREtfQVNTRU1CTFlfSTEwMDEnLFxuICAgIGRlc2NyaXB0aW9uOiAnT3V0cHV0IGxpbmVzIGVtaXR0ZWQgYnkgdGhlIGNsb3VkIGFzc2VtYmx5IHRvIHN0ZG91dCcsXG4gIH0pLFxuICBDREtfQVNTRU1CTFlfRTEwMDI6IG1ha2UuZXJyb3Ioe1xuICAgIGNvZGU6ICdDREtfQVNTRU1CTFlfRTEwMDInLFxuICAgIGRlc2NyaXB0aW9uOiAnT3V0cHV0IGxpbmVzIGVtaXR0ZWQgYnkgdGhlIGNsb3VkIGFzc2VtYmx5IHRvIHN0ZGVycicsXG4gIH0pLFxuICBDREtfQVNTRU1CTFlfSTEwMDM6IG1ha2UuaW5mbyh7XG4gICAgY29kZTogJ0NES19BU1NFTUJMWV9JMTAwMycsXG4gICAgZGVzY3JpcHRpb246ICdDbG91ZCBhc3NlbWJseSBvdXRwdXQgZmluaXNoZWQnLFxuICB9KSxcbiAgQ0RLX0FTU0VNQkxZX0UxMTExOiBtYWtlLmVycm9yPEVycm9yUGF5bG9hZD4oe1xuICAgIGNvZGU6ICdDREtfQVNTRU1CTFlfRTExMTEnLFxuICAgIGRlc2NyaXB0aW9uOiAnSW5jb21wYXRpYmxlIENESyBDTEkgdmVyc2lvbi4gVXBncmFkZSBuZWVkZWQuJyxcbiAgICBpbnRlcmZhY2U6ICdFcnJvclBheWxvYWQnLFxuICB9KSxcblxuICBDREtfQVNTRU1CTFlfSTAxNTA6IG1ha2UuZGVidWc8bmV2ZXI+KHtcbiAgICBjb2RlOiAnQ0RLX0FTU0VNQkxZX0kwMTUwJyxcbiAgICBkZXNjcmlwdGlvbjogJ0luZGljYXRlcyB0aGUgdXNlIG9mIGEgcHJlLXN5bnRoZXNpemVkIGNsb3VkIGFzc2VtYmx5IGRpcmVjdG9yeScsXG4gIH0pLFxuXG4gIENES19BU1NFTUJMWV9JMDMwMDogbWFrZS5pbmZvPENvbnRleHRQcm92aWRlck1lc3NhZ2VTb3VyY2U+KHtcbiAgICBjb2RlOiAnQ0RLX0FTU0VNQkxZX0kwMzAwJyxcbiAgICBkZXNjcmlwdGlvbjogJ0FuIGluZm8gbWVzc2FnZSBlbWl0dGVkIGJ5IGEgQ29udGV4dCBQcm92aWRlcicsXG4gICAgaW50ZXJmYWNlOiAnQ29udGV4dFByb3ZpZGVyTWVzc2FnZVNvdXJjZScsXG4gIH0pLFxuICBDREtfQVNTRU1CTFlfSTAzMDE6IG1ha2UuZGVidWc8Q29udGV4dFByb3ZpZGVyTWVzc2FnZVNvdXJjZT4oe1xuICAgIGNvZGU6ICdDREtfQVNTRU1CTFlfSTAzMDEnLFxuICAgIGRlc2NyaXB0aW9uOiAnQSBkZWJ1ZyBtZXNzYWdlIGVtaXR0ZWQgYnkgYSBDb250ZXh0IFByb3ZpZGVyJyxcbiAgICBpbnRlcmZhY2U6ICdDb250ZXh0UHJvdmlkZXJNZXNzYWdlU291cmNlJyxcbiAgfSksXG5cbiAgLy8gQXNzZW1ibHkgQW5ub3RhdGlvbnNcbiAgQ0RLX0FTU0VNQkxZX0k5OTk5OiBtYWtlLmluZm88Y3hhcGkuU3ludGhlc2lzTWVzc2FnZT4oe1xuICAgIGNvZGU6ICdDREtfQVNTRU1CTFlfSTk5OTknLFxuICAgIGRlc2NyaXB0aW9uOiAnQW5ub3RhdGlvbnMgZW1pdHRlZCBieSB0aGUgY2xvdWQgYXNzZW1ibHknLFxuICAgIGludGVyZmFjZTogJ2N4YXBpLlN5bnRoZXNpc01lc3NhZ2UnLFxuICB9KSxcbiAgQ0RLX0FTU0VNQkxZX1c5OTk5OiBtYWtlLndhcm48Y3hhcGkuU3ludGhlc2lzTWVzc2FnZT4oe1xuICAgIGNvZGU6ICdDREtfQVNTRU1CTFlfVzk5OTknLFxuICAgIGRlc2NyaXB0aW9uOiAnV2FybmluZ3MgZW1pdHRlZCBieSB0aGUgY2xvdWQgYXNzZW1ibHknLFxuICAgIGludGVyZmFjZTogJ2N4YXBpLlN5bnRoZXNpc01lc3NhZ2UnLFxuICB9KSxcbiAgQ0RLX0FTU0VNQkxZX0U5OTk5OiBtYWtlLmVycm9yPGN4YXBpLlN5bnRoZXNpc01lc3NhZ2U+KHtcbiAgICBjb2RlOiAnQ0RLX0FTU0VNQkxZX0U5OTk5JyxcbiAgICBkZXNjcmlwdGlvbjogJ0Vycm9ycyBlbWl0dGVkIGJ5IHRoZSBjbG91ZCBhc3NlbWJseScsXG4gICAgaW50ZXJmYWNlOiAnY3hhcGkuU3ludGhlc2lzTWVzc2FnZScsXG4gIH0pLFxuXG4gIC8vIFNESyBjb2Rlc1xuICBDREtfU0RLX0kwMTAwOiBtYWtlLnRyYWNlPFNka1RyYWNlPih7XG4gICAgY29kZTogJ0NES19TREtfSTAxMDAnLFxuICAgIGRlc2NyaXB0aW9uOiAnQW4gU0RLIHRyYWNlLiBTREsgdHJhY2VzIGFyZSBlbWl0dGVkIGFzIHRyYWNlcyB0byB0aGUgSW9Ib3N0LCBidXQgY29udGFpbiB0aGUgb3JpZ2luYWwgU0RLIGxvZ2dpbmcgbGV2ZWwuJyxcbiAgICBpbnRlcmZhY2U6ICdTZGtUcmFjZScsXG4gIH0pLFxuICBDREtfU0RLX0kxMTAwOiBtYWtlLnF1ZXN0aW9uPE1mYVRva2VuUmVxdWVzdD4oe1xuICAgIGNvZGU6ICdDREtfU0RLX0kxMTAwJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBhbiBNRkEgdG9rZW4gZm9yIGFuIE1GQSBkZXZpY2UuJyxcbiAgICBpbnRlcmZhY2U6ICdNZmFUb2tlblJlcXVlc3QnLFxuICB9KSxcbn07XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIFBheWxvYWQgdHlwZSBvZiB0aGUgZW5kIG1lc3NhZ2UgbXVzdCBleHRlbmQgRHVyYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IFNQQU4gPSB7XG4gIFNZTlRIX0FTU0VNQkxZOiB7XG4gICAgbmFtZTogJ1N5bnRoZXNpcycsXG4gICAgc3RhcnQ6IElPLkNES19UT09MS0lUX0kxMDAxLFxuICAgIGVuZDogSU8uQ0RLX1RPT0xLSVRfSTEwMDAsXG4gIH0sXG4gIERFUExPWV9TVEFDSzoge1xuICAgIG5hbWU6ICdEZXBsb3ltZW50JyxcbiAgICBzdGFydDogSU8uQ0RLX1RPT0xLSVRfSTUxMDAsXG4gICAgZW5kOiBJTy5DREtfVE9PTEtJVF9JNTAwMSxcbiAgfSxcbiAgUk9MTEJBQ0tfU1RBQ0s6IHtcbiAgICBuYW1lOiAnUm9sbGJhY2snLFxuICAgIHN0YXJ0OiBJTy5DREtfVE9PTEtJVF9JNjEwMCxcbiAgICBlbmQ6IElPLkNES19UT09MS0lUX0k2MDAwLFxuICB9LFxuICBESUZGX1NUQUNLOiB7XG4gICAgbmFtZTogJ0RpZmYnLFxuICAgIHN0YXJ0OiBJTy5DREtfVE9PTEtJVF9JNDAwMCxcbiAgICBlbmQ6IElPLkNES19UT09MS0lUX0k0MDAxLFxuICB9LFxuICBEUklGVF9BUFA6IHtcbiAgICBuYW1lOiAnRHJpZnQnLFxuICAgIHN0YXJ0OiBJTy5DREtfVE9PTEtJVF9JNDAwMCxcbiAgICBlbmQ6IElPLkNES19UT09MS0lUX0k0NTA5LFxuICB9LFxuICBERVNUUk9ZX1NUQUNLOiB7XG4gICAgbmFtZTogJ0Rlc3Ryb3knLFxuICAgIHN0YXJ0OiBJTy5DREtfVE9PTEtJVF9JNzEwMCxcbiAgICBlbmQ6IElPLkNES19UT09MS0lUX0k3MDAxLFxuICB9LFxuICBERVNUUk9ZX0FDVElPTjoge1xuICAgIG5hbWU6ICdEZXN0cm95JyxcbiAgICBzdGFydDogSU8uQ0RLX1RPT0xLSVRfSTcxMDEsXG4gICAgZW5kOiBJTy5DREtfVE9PTEtJVF9JNzAwMCxcbiAgfSxcbiAgQk9PVFNUUkFQX1NJTkdMRToge1xuICAgIG5hbWU6ICdCb290c3RyYXAnLFxuICAgIHN0YXJ0OiBJTy5DREtfVE9PTEtJVF9JOTEwMCxcbiAgICBlbmQ6IElPLkNES19UT09MS0lUX0k5MDAwLFxuICB9LFxuICBCVUlMRF9BU1NFVDoge1xuICAgIG5hbWU6ICdCdWlsZCBBc3NldCcsXG4gICAgc3RhcnQ6IElPLkNES19UT09MS0lUX0k1MjEwLFxuICAgIGVuZDogSU8uQ0RLX1RPT0xLSVRfSTUyMTEsXG4gIH0sXG4gIFBVQkxJU0hfQVNTRVQ6IHtcbiAgICBuYW1lOiAnUHVibGlzaCBBc3NldCcsXG4gICAgc3RhcnQ6IElPLkNES19UT09MS0lUX0k1MjIwLFxuICAgIGVuZDogSU8uQ0RLX1RPT0xLSVRfSTUyMjEsXG4gIH0sXG4gIEhPVFNXQVA6IHtcbiAgICBuYW1lOiAnaG90c3dhcC1kZXBsb3ltZW50JyxcbiAgICBzdGFydDogSU8uQ0RLX1RPT0xLSVRfSTU0MDAsXG4gICAgZW5kOiBJTy5DREtfVE9PTEtJVF9JNTQxMCxcbiAgfSxcbn0gc2F0aXNmaWVzIFJlY29yZDxzdHJpbmcsIFNwYW5EZWZpbml0aW9uPGFueSwgYW55Pj47XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * The current action being performed by the Toolkit.
3
3
  */
4
- export type ToolkitAction = 'assembly' | 'bootstrap' | 'synth' | 'list' | 'diff' | 'deploy' | 'drift' | 'rollback' | 'publish-assets' | 'watch' | 'destroy' | 'doctor' | 'gc' | 'import' | 'metadata' | 'init' | 'migrate' | 'refactor' | 'flags';
4
+ export type ToolkitAction = 'assembly' | 'bootstrap' | 'synth' | 'list' | 'diff' | 'deploy' | 'drift' | 'rollback' | 'publish-assets' | 'watch' | 'destroy' | 'doctor' | 'gc' | 'import' | 'metadata' | 'init' | 'migrate' | 'refactor' | 'diagnose' | 'orphan' | 'flags';
5
5
  //# sourceMappingURL=toolkit-action.d.ts.map
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGtpdC1hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0b29sa2l0LWFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGUgY3VycmVudCBhY3Rpb24gYmVpbmcgcGVyZm9ybWVkIGJ5IHRoZSBUb29sa2l0LlxuICovXG5leHBvcnQgdHlwZSBUb29sa2l0QWN0aW9uID1cbnwgJ2Fzc2VtYmx5J1xufCAnYm9vdHN0cmFwJ1xufCAnc3ludGgnXG58ICdsaXN0J1xufCAnZGlmZidcbnwgJ2RlcGxveSdcbnwgJ2RyaWZ0J1xufCAncm9sbGJhY2snXG58ICdwdWJsaXNoLWFzc2V0cydcbnwgJ3dhdGNoJ1xufCAnZGVzdHJveSdcbnwgJ2RvY3RvcidcbnwgJ2djJ1xufCAnaW1wb3J0J1xufCAnbWV0YWRhdGEnXG58ICdpbml0J1xufCAnbWlncmF0ZSdcbnwgJ3JlZmFjdG9yJ1xufCAnZmxhZ3MnO1xuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGtpdC1hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0b29sa2l0LWFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGUgY3VycmVudCBhY3Rpb24gYmVpbmcgcGVyZm9ybWVkIGJ5IHRoZSBUb29sa2l0LlxuICovXG5leHBvcnQgdHlwZSBUb29sa2l0QWN0aW9uID1cbnwgJ2Fzc2VtYmx5J1xufCAnYm9vdHN0cmFwJ1xufCAnc3ludGgnXG58ICdsaXN0J1xufCAnZGlmZidcbnwgJ2RlcGxveSdcbnwgJ2RyaWZ0J1xufCAncm9sbGJhY2snXG58ICdwdWJsaXNoLWFzc2V0cydcbnwgJ3dhdGNoJ1xufCAnZGVzdHJveSdcbnwgJ2RvY3RvcidcbnwgJ2djJ1xufCAnaW1wb3J0J1xufCAnbWV0YWRhdGEnXG58ICdpbml0J1xufCAnbWlncmF0ZSdcbnwgJ3JlZmFjdG9yJ1xufCAnZGlhZ25vc2UnXG58ICdvcnBoYW4nXG58ICdmbGFncyc7XG4iXX0=
@@ -0,0 +1,75 @@
1
+ import type * as cxapi from '@aws-cdk/cloud-assembly-api';
2
+ import type { Deployments } from '../deployments';
3
+ import type { IoHelper } from '../io/private';
4
+ export interface ResourceOrphanerProps {
5
+ readonly deployments: Deployments;
6
+ readonly ioHelper: IoHelper;
7
+ readonly roleArn?: string;
8
+ readonly toolkitStackName?: string;
9
+ }
10
+ /**
11
+ * A resource that will be orphaned.
12
+ */
13
+ export interface OrphanedResource {
14
+ readonly logicalId: string;
15
+ readonly resourceType: string;
16
+ readonly cdkPath: string;
17
+ }
18
+ /**
19
+ * The result of planning an orphan operation.
20
+ */
21
+ export interface OrphanPlan {
22
+ /** The stack being modified */
23
+ readonly stackName: string;
24
+ /** Resources that will be detached from the stack */
25
+ readonly orphanedResources: OrphanedResource[];
26
+ /** Execute the orphan operation (3 CloudFormation deployments) */
27
+ execute(): Promise<OrphanResult>;
28
+ }
29
+ /**
30
+ * The result of executing an orphan operation.
31
+ */
32
+ export interface OrphanResult {
33
+ /** Resource mapping JSON for use with `cdk import --resource-mapping` */
34
+ readonly resourceMapping: Record<string, Record<string, string>>;
35
+ }
36
+ /**
37
+ * Orphans all resources under construct path(s) from a CloudFormation stack.
38
+ *
39
+ * Usage:
40
+ * const plan = await orphaner.makePlan(stack, constructPaths);
41
+ * // inspect plan.orphanedResources
42
+ * const result = await plan.execute();
43
+ */
44
+ export declare class ResourceOrphaner {
45
+ private readonly deployments;
46
+ private readonly ioHelper;
47
+ private readonly roleArn?;
48
+ private readonly toolkitStackName?;
49
+ constructor(props: ResourceOrphanerProps);
50
+ /**
51
+ * Analyze the stack and build a plan of what will be orphaned.
52
+ * This is read-only — no changes are made until `plan.execute()` is called.
53
+ */
54
+ makePlan(stack: cxapi.CloudFormationStackArtifact, constructPaths: string[]): Promise<OrphanPlan>;
55
+ private execute;
56
+ /**
57
+ * Deploy a template override to the stack.
58
+ */
59
+ private deployStack;
60
+ /**
61
+ * Resolve GetAtt attribute values for orphaned resources.
62
+ *
63
+ * Current strategy: inject temporary Outputs into the stack that reference
64
+ * each GetAtt, deploy, then read the resolved values from DescribeStacks.
65
+ *
66
+ * This function is intentionally decoupled from the rest of the orphan flow
67
+ * so it can be replaced with a Cloud Control API-based approach later.
68
+ *
69
+ * Returns a complete map of resolved values (Ref + attrs) for each logical ID.
70
+ */
71
+ private resolveGetAttValues;
72
+ private findGetAttReferences;
73
+ private getResourceIdentifiers;
74
+ }
75
+ //# sourceMappingURL=orphaner.d.ts.map