@dollhousemcp/mcp-server 2.0.5 → 2.0.7

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.
@@ -784,6 +784,7 @@ export class IntrospectionResolver {
784
784
  parameters: OPERATION_PARAMETERS[name] || [],
785
785
  returns: this.getReturnType(name),
786
786
  examples: OPERATION_EXAMPLES[name] || [],
787
+ ...(route.aliases?.length ? { aliases: route.aliases } : {}),
787
788
  };
788
789
  }
789
790
  /**
@@ -801,6 +802,7 @@ export class IntrospectionResolver {
801
802
  const returns = resolvedSchema.returns
802
803
  ? { name: resolvedSchema.returns.name, kind: resolvedSchema.returns.kind, description: resolvedSchema.returns.description }
803
804
  : { name: 'OperationResult', kind: 'union', description: 'Success with data or failure with error' };
805
+ const route = OPERATION_ROUTES[name];
804
806
  return {
805
807
  name,
806
808
  endpoint: resolvedSchema.endpoint,
@@ -810,6 +812,7 @@ export class IntrospectionResolver {
810
812
  parameters: schemaToParameterInfo(resolvedSchema.params),
811
813
  returns,
812
814
  examples: resolvedSchema.examples || [],
815
+ ...(route?.aliases?.length ? { aliases: route.aliases } : {}),
813
816
  };
814
817
  }
815
818
  /**
@@ -924,4 +927,4 @@ export class IntrospectionResolver {
924
927
  return lines.join('\n');
925
928
  }
926
929
  }
927
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50cm9zcGVjdGlvblJlc29sdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hhbmRsZXJzL21jcC1hcWwvSW50cm9zcGVjdGlvblJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLGdCQUFnQixFQUFxQixNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxlQUFlLEVBQTRCLE1BQU0sc0JBQXNCLENBQUM7QUFDakYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixxQkFBcUIsR0FFdEIsTUFBTSxzQkFBc0IsQ0FBQztBQWdJOUIsK0VBQStFO0FBQy9FLDRCQUE0QjtBQUM1QiwrRUFBK0U7QUFFL0U7OztHQUdHO0FBQ0gsTUFBTSxnQkFBZ0IsR0FBZ0M7SUFDcEQsV0FBVyxFQUFFO1FBQ1gsSUFBSSxFQUFFLGFBQWE7UUFDbkIsSUFBSSxFQUFFLE1BQU07UUFDWixXQUFXLEVBQUUsb0RBQW9EO1FBQ2pFLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztLQUNuQztJQUNELFlBQVksRUFBRTtRQUNaLElBQUksRUFBRSxjQUFjO1FBQ3BCLElBQUksRUFBRSxNQUFNO1FBQ1osV0FBVyxFQUFFLHlFQUF5RTtRQUN0RixNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDO0tBQzFEO0lBQ0QsY0FBYyxFQUFFO1FBQ2QsSUFBSSxFQUFFLGdCQUFnQjtRQUN0QixJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSxxREFBcUQ7UUFDbEUsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLElBQUksRUFBRSxRQUFRO2dCQUNkLFFBQVEsRUFBRSxJQUFJO2dCQUNkLFdBQVcsRUFBRSwwQkFBMEI7YUFDeEM7WUFDRDtnQkFDRSxJQUFJLEVBQUUsYUFBYTtnQkFDbkIsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLFFBQVEsRUFBRSxLQUFLO2dCQUNmLFdBQVcsRUFBRSxxQ0FBcUM7YUFDbkQ7WUFDRDtnQkFDRSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxRQUFRLEVBQUUsS0FBSztnQkFDZixXQUFXLEVBQUUsK0JBQStCO2FBQzdDO1NBQ0Y7S0FDRjtJQUNELGVBQWUsRUFBRTtRQUNmLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsSUFBSSxFQUFFLE9BQU87UUFDYixXQUFXLEVBQUUsOERBQThEO1FBQzNFLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixFQUFFLGtCQUFrQixDQUFDO0tBQ2xEO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDaEIsSUFBSSxFQUFFLGtCQUFrQjtRQUN4QixJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSw2QkFBNkI7UUFDMUMsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsV0FBVyxFQUFFLHlCQUF5QjtnQkFDdEMsT0FBTyxFQUFFLElBQUk7YUFDZDtZQUNEO2dCQUNFLElBQUksRUFBRSxNQUFNO2dCQUNaLElBQUksRUFBRSxTQUFTO2dCQUNmLFFBQVEsRUFBRSxJQUFJO2dCQUNkLFdBQVcsRUFBRSxtQ0FBbUM7YUFDakQ7U0FDRjtLQUNGO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDaEIsSUFBSSxFQUFFLGtCQUFrQjtRQUN4QixJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSx5QkFBeUI7UUFDdEMsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsV0FBVyxFQUFFLDBCQUEwQjtnQkFDdkMsT0FBTyxFQUFFLEtBQUs7YUFDZjtZQUNEO2dCQUNFLElBQUksRUFBRSxPQUFPO2dCQUNiLElBQUksRUFBRSxRQUFRO2dCQUNkLFFBQVEsRUFBRSxJQUFJO2dCQUNkLFdBQVcsRUFBRSw4QkFBOEI7YUFDNUM7U0FDRjtLQUNGO0lBQ0QsbUJBQW1CLEVBQUU7UUFDbkIsSUFBSSxFQUFFLHFCQUFxQjtRQUMzQixJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSxxQ0FBcUM7UUFDbEQsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLElBQUksRUFBRSxTQUFTO2dCQUNmLFFBQVEsRUFBRSxJQUFJO2dCQUNkLFdBQVcsRUFBRSx1Q0FBdUM7YUFDckQ7WUFDRDtnQkFDRSxJQUFJLEVBQUUsYUFBYTtnQkFDbkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsV0FBVyxFQUFFLGlEQUFpRDthQUMvRDtTQUNGO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsK0VBQStFO0FBQy9FLDZDQUE2QztBQUM3QywrRUFBK0U7QUFFL0U7OztHQUdHO0FBQ0gsTUFBTSxjQUFjLEdBQTJCO0lBQzdDLFFBQVEsRUFBRSxTQUFTO0lBQ25CLE1BQU0sRUFBRSxPQUFPO0lBQ2YsU0FBUyxFQUFFLFVBQVU7SUFDckIsTUFBTSxFQUFFLE9BQU87SUFDZixRQUFRLEVBQUUsUUFBUTtJQUNsQixTQUFTLEVBQUUsVUFBVTtDQUN0QixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsU0FBUyxpQkFBaUIsQ0FBQyxJQUFhO0lBQ3RDLElBQUksQ0FBQyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUTtRQUFFLE9BQU8sU0FBUyxDQUFDO0lBQ3hELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQW9CLENBQUMsRUFBRSxDQUFDO1FBQzlELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELE9BQU8sY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFFRCxNQUFNLGFBQWEsR0FBRztJQUNwQiwyQ0FBMkM7SUFDM0MsOENBQThDO0lBQzlDLGdEQUFnRDtDQUNqRCxDQUFDO0FBRUY7Ozs7O0dBS0c7QUFDSCxNQUFNLFlBQVksR0FBK0I7SUFDL0MsT0FBTyxFQUFFO1FBQ1AsV0FBVyxFQUFFLFNBQVM7UUFDdEIsVUFBVSxFQUFFLGdDQUFnQztRQUM1QyxjQUFjLEVBQUUsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDO1FBQ3ZDLGNBQWMsRUFBRSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsWUFBWSxDQUFDO1FBQ3RGLGlCQUFpQixFQUFFLG1OQUFtTjtRQUN0TyxXQUFXLEVBQUU7WUFDWCxxQkFBcUI7WUFDckIsOENBQThDO1lBQzlDLDREQUE0RDtZQUM1RCwrQ0FBK0M7WUFDL0MsbWFBQW1hO1NBQ3BhO1FBQ0QsY0FBYyxFQUFFOzs7OzZEQUl5QztRQUN6RCxXQUFXLEVBQUU7Ozs7Ozs7Ozs7d0NBVXVCO1FBQ3BDLGlCQUFpQixFQUFFO1lBQ2pCLEdBQUcsYUFBYTtZQUNoQixzRUFBc0U7U0FDdkU7S0FDRjtJQUVELEtBQUssRUFBRTtRQUNMLFdBQVcsRUFBRSxPQUFPO1FBQ3BCLFVBQVUsRUFBRSxnQ0FBZ0M7UUFDNUMsY0FBYyxFQUFFLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQztRQUN2QyxjQUFjLEVBQUUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxZQUFZLENBQUM7UUFDbEcsaUJBQWlCLEVBQUUsbU9BQW1PO1FBQ3RQLFdBQVcsRUFBRTtZQUNYLHFCQUFxQjtZQUNyQiw4Q0FBOEM7WUFDOUMsdURBQXVEO1lBQ3ZELHNEQUFzRDtZQUN0RCx1WEFBdVg7U0FDeFg7UUFDRCxjQUFjLEVBQUU7Ozs7c0VBSWtEO1FBQ2xFLFdBQVcsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3NCQXFCSztRQUNsQixpQkFBaUIsRUFBRTtZQUNqQixHQUFHLGFBQWE7WUFDaEIsc0VBQXNFO1NBQ3ZFO0tBQ0Y7SUFFRCxRQUFRLEVBQUU7UUFDUixXQUFXLEVBQUUsVUFBVTtRQUN2QixVQUFVLEVBQUUsZ0NBQWdDO1FBQzVDLGNBQWMsRUFBRSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUM7UUFDdkMsY0FBYyxFQUFFLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxZQUFZLENBQUM7UUFDcEYsaUJBQWlCLEVBQUUsbU5BQW1OO1FBQ3RPLFdBQVcsRUFBRTtZQUNYLHFCQUFxQjtZQUNyQiwrREFBK0Q7WUFDL0Qsb0VBQW9FO1lBQ3BFLG1IQUFtSDtZQUNuSCx1SEFBdUg7WUFDdkgsc0ZBQXNGO1lBQ3RGLDZGQUE2RjtZQUM3RixzREFBc0Q7WUFDdEQscVdBQXFXO1NBQ3RXO1FBQ0QsY0FBYyxFQUFFOzs7Ozs7Ozs7O2tDQVVjO1FBQzlCLFdBQVcsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7VUF1QlA7UUFDTixpQkFBaUIsRUFBRTtZQUNqQixHQUFHLGFBQWE7WUFDaEIsZ0VBQWdFO1NBQ2pFO0tBQ0Y7SUFFRCxLQUFLLEVBQUU7UUFDTCxXQUFXLEVBQUUsT0FBTztRQUNwQixVQUFVLEVBQUUsZ0NBQWdDO1FBQzVDLGNBQWMsRUFBRSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUM7UUFDdkMsY0FBYyxFQUFFLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxZQUFZLENBQUM7UUFDOUosaUJBQWlCLEVBQUUsbVRBQW1UO1FBQ3RVLFdBQVcsRUFBRTtZQUNYLHFCQUFxQjtZQUNyQixtRUFBbUU7WUFDbkUsMkVBQTJFO1lBQzNFLDZEQUE2RDtZQUM3RCx3SEFBd0g7WUFDeEgsaURBQWlEO1lBQ2pELG1HQUFtRztZQUNuRyxnWUFBZ1k7WUFDaFksd01BQXdNO1lBQ3hNLDJyQkFBMnJCO1NBQzVyQjtRQUNELGNBQWMsRUFBRTs7OztrQ0FJYztRQUM5QixXQUFXLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7MkRBa0MwQztRQUN2RCxpQkFBaUIsRUFBRTtZQUNqQixHQUFHLGFBQWE7WUFDaEIseUVBQXlFO1NBQzFFO0tBQ0Y7SUFFRCxNQUFNLEVBQUU7UUFDTixXQUFXLEVBQUUsUUFBUTtRQUNyQixVQUFVLEVBQUUsTUFBTTtRQUNsQixjQUFjLEVBQUUsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDO1FBQ3ZDLGNBQWMsRUFBRSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLFlBQVksQ0FBQztRQUNuRyxpQkFBaUIsRUFBRSwyS0FBMks7UUFDOUwsV0FBVyxFQUFFO1lBQ1gsc0JBQXNCO1lBQ3RCLDZFQUE2RTtZQUM3RSwwREFBMEQ7WUFDMUQsb0RBQW9EO1lBQ3BELHNEQUFzRDtZQUN0RCx5RUFBeUU7WUFDekUsbUZBQW1GO1lBQ25GLHNVQUFzVTtTQUN2VTtRQUNELGNBQWMsRUFBRTs7OztJQUloQjtRQUNBLFdBQVcsRUFBRTs7Ozs7Ozs7Ozs7OztJQWFiO1FBQ0EsaUJBQWlCLEVBQUU7WUFDakIsR0FBRyxhQUFhO1lBQ2hCLDBDQUEwQztZQUMxQyxvREFBb0Q7WUFDcEQsaUNBQWlDO1lBQ2pDLGtEQUFrRDtTQUNuRDtLQUNGO0lBRUQsUUFBUSxFQUFFO1FBQ1IsV0FBVyxFQUFFLFVBQVU7UUFDdkIsVUFBVSxFQUFFLGdDQUFnQztRQUM1QyxjQUFjLEVBQUUsQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixDQUFDO1FBQzVELGNBQWMsRUFBRSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxZQUFZLENBQUM7UUFDdEUsaUJBQWlCLEVBQUUsNktBQTZLO1FBQ2hNLFdBQVcsRUFBRTtZQUNYLHFCQUFxQjtZQUNyQiw4REFBOEQ7WUFDOUQsa0VBQWtFO1lBQ2xFLDJFQUEyRTtZQUMzRSxpREFBaUQ7WUFDakQsb0VBQW9FO1lBQ3BFLHNZQUFzWTtTQUN2WTtRQUNELGNBQWMsRUFBRTs7Ozs7OztJQU9oQjtRQUNBLFdBQVcsRUFBRTs7Ozs7Ozs7Ozs7Ozs7a0RBY2lDO1FBQzlDLGlCQUFpQixFQUFFO1lBQ2pCLEdBQUcsYUFBYTtZQUNoQixzRkFBc0Y7U0FDdkY7S0FDRjtDQUNGLENBQUM7QUFFRiwrRUFBK0U7QUFDL0Usa0NBQWtDO0FBQ2xDLCtFQUErRTtBQUUvRTs7O0dBR0c7QUFDSCxNQUFNLG9CQUFvQixHQUFvQztJQUM1RCxvQkFBb0I7SUFDcEIsY0FBYyxFQUFFO1FBQ2QsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFO1FBQ3JGLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRTtRQUMxRixFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRTtRQUMzRiw4R0FBOEc7UUFDOUcsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsNFVBQTRVLEVBQUU7UUFDcFosRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsNmpCQUE2akIsRUFBRTtRQUNob0IsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsOExBQThMLEVBQUU7UUFDOVAsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUscU1BQXFNLEVBQUU7UUFDelEsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsdUpBQXVKLEVBQUU7UUFDM04sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsNlRBQTZULEVBQUU7UUFDbFksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsMkdBQTJHLEVBQUU7UUFDNUssRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsc0RBQXNELEVBQUU7S0FDL0g7SUFDRCxjQUFjLEVBQUU7UUFDZCxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLHdDQUF3QyxFQUFFO1FBQ2hILEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7S0FDNUc7SUFDRCwwRUFBMEU7SUFDMUUsZ0JBQWdCLEVBQUU7UUFDaEIsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsMEJBQTBCLEVBQUU7UUFDakcsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFO1FBQzFGLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFO0tBQ3hGO0lBRUQsa0JBQWtCO0lBQ2xCLHlGQUF5RjtJQUN6RixnR0FBZ0c7SUFDaEcsc0VBQXNFO0lBQ3RFLGFBQWEsRUFBRTtRQUNiLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLHNCQUFzQixFQUFFO1FBQ2xHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLHlCQUF5QixFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7UUFDckcsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsMEJBQTBCLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtRQUMzRyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLDZDQUE2QyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUU7UUFDMUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO1FBQzdHLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLCtDQUErQyxFQUFFO1FBQ3ZILEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLGtEQUFrRCxFQUFFO1FBQ3BILEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLGdEQUFnRCxFQUFFO1FBQ3JILEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLDRCQUE0QixFQUFFO1FBQzlGLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsK0JBQStCLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsMkJBQTJCLEVBQUU7UUFDcEgsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsd0NBQXdDLEVBQUU7UUFDNUcsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsMEtBQTBLLEVBQUU7UUFDL08sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxpRkFBaUYsRUFBRTtLQUMvSjtJQUNELFdBQVcsRUFBRTtRQUNYLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRTtRQUNyRixFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUU7UUFDMUYsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxpRkFBaUYsRUFBRTtLQUMvSjtJQUNELG1CQUFtQixFQUFFO1FBQ25CLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRTtRQUNyRixFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUU7UUFDMUYsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxpRkFBaUYsRUFBRTtLQUMvSjtJQUNELGVBQWUsRUFBRTtRQUNmLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLDhHQUE4RyxFQUFFO1FBQzlLLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLGtFQUFrRSxFQUFFO1FBQy9JLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLHlFQUF5RSxFQUFFO1FBQy9JLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLCtFQUErRSxFQUFFO1FBQy9JLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsaUZBQWlGLEVBQUU7S0FDL0o7SUFDRCxjQUFjLEVBQUU7UUFDZCxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRTtRQUNuRyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSw4SEFBOEgsRUFBRTtRQUNqTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSwwRkFBMEYsRUFBRTtRQUMxSixFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSx5RUFBeUUsRUFBRTtRQUMvSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSwwS0FBMEssRUFBRTtRQUMvTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLGlGQUFpRixFQUFFO0tBQy9KO0lBQ0QsbUJBQW1CLEVBQUU7UUFDbkIsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsd0JBQXdCLEVBQUU7UUFDckcsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxpRkFBaUYsRUFBRTtLQUMvSjtJQUNELGdCQUFnQixFQUFFO1FBQ2hCLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRTtRQUNyRixFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUU7UUFDMUYsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsd0JBQXdCLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtLQUM1RztJQUNELE1BQU0sRUFBRTtRQUNOLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRTtRQUM5RSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRTtLQUN6RjtJQUNELGNBQWMsRUFBRTtRQUNkLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRTtRQUNyRixFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUU7UUFDMUYsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRTtLQUM1RztJQUNELGtCQUFrQixFQUFFO1FBQ2xCLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRTtRQUNyRixFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUU7S0FDM0Y7SUFDRCxVQUFVLEVBQUU7UUFDVixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGtEQUFrRCxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLG9OQUFvTixFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUU7UUFDdFYsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsc0xBQXNMLEVBQUU7S0FDdlA7SUFFRCxvQkFBb0I7SUFDcEIsWUFBWSxFQUFFO1FBQ1osRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFO1FBQ3JGLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRTtRQUMxRixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxpVUFBaVUsRUFBRTtLQUNsWTtJQUVELG9CQUFvQjtJQUNwQixjQUFjLEVBQUU7UUFDZCxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUU7UUFDckYsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFO1FBQzFGLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLDhCQUE4QixFQUFFO0tBQ3RHO0lBQ0Qsd0ZBQXdGO0lBQ3hGLGdHQUFnRztJQUNoRyxnRkFBZ0Y7Q0FDakYsQ0FBQztBQUVGLCtFQUErRTtBQUMvRSxxQkFBcUI7QUFDckIsK0VBQStFO0FBRS9FOztHQUVHO0FBQ0gsTUFBTSxrQkFBa0IsR0FBNkI7SUFDbkQsY0FBYyxFQUFFO1FBQ2QsNEdBQTRHO1FBQzVHLDBXQUEwVztRQUUxVywySEFBMkg7UUFDM0gsdWhCQUF1aEI7UUFFdmhCLDRGQUE0RjtRQUM1RixzZ0JBQXNnQjtRQUV0Z0IsMEhBQTBIO1FBQzFILHlwQkFBeXBCO1FBRXpwQixtREFBbUQ7UUFDbkQsa1hBQWtYO1FBRWxYLGdHQUFnRztRQUNoRywyeEJBQTJ4QjtRQUUzeEIsbURBQW1EO1FBQ25ELGlmQUFpZjtRQUVqZiw2RkFBNkY7UUFDN0Ysc1VBQXNVO1FBRXRVLDZCQUE2QjtRQUM3QixpTUFBaU07UUFDak0sNExBQTRMO1FBQzVMLDBLQUEwSztLQUMzSztJQUNELGNBQWMsRUFBRTtRQUNkLDZGQUE2RjtLQUM5RjtJQUNELDBFQUEwRTtJQUMxRSxnQkFBZ0IsRUFBRTtRQUNoQixtR0FBbUc7S0FDcEc7SUFDRCxhQUFhLEVBQUU7UUFDYix5REFBeUQ7UUFDekQsc05BQXNOO1FBQ3ROLDRGQUE0RjtRQUM1RixnSUFBZ0k7UUFDaEksaUdBQWlHO1FBQ2pHLG1EQUFtRDtRQUNuRCx1SEFBdUg7UUFDdkgsaUhBQWlIO0tBQ2xIO0lBQ0QsV0FBVyxFQUFFO1FBQ1gsOEZBQThGO0tBQy9GO0lBQ0QsbUJBQW1CLEVBQUU7UUFDbkIsc0dBQXNHO0tBQ3ZHO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsMEVBQTBFO1FBQzFFLCtPQUErTztRQUMvTyxvSUFBb0k7UUFDcEksZ0hBQWdIO0tBQ2pIO0lBQ0QsY0FBYyxFQUFFO1FBQ2QsNElBQTRJO1FBQzVJLCtNQUErTTtRQUMvTSx3SkFBd0o7UUFDeEosb0hBQW9IO1FBQ3BILGdHQUFnRztLQUNqRztJQUNELG1CQUFtQixFQUFFO1FBQ25CLDhEQUE4RDtLQUMvRDtJQUNELGdCQUFnQixFQUFFO1FBQ2hCLGlIQUFpSDtLQUNsSDtJQUNELE1BQU0sRUFBRTtRQUNOLG9JQUFvSTtLQUNySTtJQUNELGNBQWMsRUFBRTtRQUNkLGlIQUFpSDtLQUNsSDtJQUNELGtCQUFrQixFQUFFO1FBQ2xCLHFHQUFxRztLQUN0RztJQUNELFVBQVUsRUFBRTtRQUNWLDhEQUE4RDtRQUM5RCxzRkFBc0Y7UUFDdEYsOEVBQThFO1FBQzlFLDBEQUEwRDtRQUMxRCw0RUFBNEU7S0FDN0U7SUFDRCxZQUFZLEVBQUU7UUFDWiw4SUFBOEk7S0FDL0k7SUFDRCxjQUFjLEVBQUU7UUFDZCxtSEFBbUg7S0FDcEg7SUFDRCx3RkFBd0Y7SUFDeEYsZ0dBQWdHO0lBQ2hHLGdGQUFnRjtDQUNqRixDQUFDO0FBRUYsK0VBQStFO0FBQy9FLDhCQUE4QjtBQUM5QiwrRUFBK0U7QUFFL0U7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQzs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUErQjtRQUM1QyxNQUFNLEtBQUssR0FBSSxNQUFNLENBQUMsS0FBZ0IsSUFBSSxZQUFZLENBQUM7UUFDdkQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQTBCLENBQUM7UUFFL0MsUUFBUSxLQUFLLEVBQUUsQ0FBQztZQUNkLEtBQUssWUFBWTtnQkFDZixJQUFJLElBQUksRUFBRSxDQUFDO29CQUNULE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZELENBQUM7Z0JBQ0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQztZQUUvQyxLQUFLLE9BQU87Z0JBQ1YsSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFDVCxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDN0MsQ0FBQztnQkFDRCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBRXJDLEtBQUssUUFBUTtnQkFDWCxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUVsRCx5RUFBeUU7WUFDekUsS0FBSyxZQUFZO2dCQUNmLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7WUFFaEQ7Z0JBQ0UsOENBQThDO2dCQUM5QyxPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNLLE1BQU0sQ0FBQyxjQUFjO1FBQzNCLE1BQU0sVUFBVSxHQUFvQixFQUFFLENBQUM7UUFFdkMsK0NBQStDO1FBQy9DLEtBQUssTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztZQUMvRCxvRkFBb0Y7WUFDcEYsTUFBTSxNQUFNLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDN0MsVUFBVSxDQUFDLElBQUksQ0FBQztnQkFDZCxJQUFJLEVBQUUsTUFBTTtnQkFDWixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7Z0JBQ3hCLFdBQVcsRUFBRSxNQUFNLEVBQUUsV0FBVyxJQUFJLEtBQUssQ0FBQyxXQUFXLElBQUksR0FBRyxNQUFNLFlBQVk7YUFDL0UsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELHVFQUF1RTtRQUN2RSxNQUFNLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFELFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDZCxJQUFJLEVBQUUsWUFBWTtZQUNsQixRQUFRLEVBQUUsTUFBTTtZQUNoQixXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxJQUFJLHVEQUF1RDtTQUN0RyxDQUFDLENBQUM7UUFFSCxxREFBcUQ7UUFDckQsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzlCLE1BQU0sYUFBYSxHQUEyQixFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3ZHLE1BQU0sWUFBWSxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDekYsSUFBSSxZQUFZLEtBQUssQ0FBQztnQkFBRSxPQUFPLFlBQVksQ0FBQztZQUM1QyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ssTUFBTSxDQUFDLG1CQUFtQixDQUFDLElBQVk7UUFDN0Msb0ZBQW9GO1FBQ3BGLE1BQU0sTUFBTSxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVELDRDQUE0QztRQUM1QyxNQUFNLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxPQUFPO1lBQ0wsSUFBSTtZQUNKLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4QixPQUFPLEVBQUUsV0FBVyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ2xELFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVyxJQUFJLEdBQUcsSUFBSSxZQUFZO1lBQ3JELFdBQVcsRUFBRSxlQUFlLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxRQUF3QixDQUFDO1lBQzNFLFVBQVUsRUFBRSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQzVDLE9BQU8sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztZQUNqQyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtTQUN6QyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssTUFBTSxDQUFDLHlCQUF5QixDQUFDLElBQVksRUFBRSxNQUFxQjtRQUMxRSxNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELG9EQUFvRDtRQUNwRCxNQUFNLE9BQU8sR0FBYSxjQUFjLENBQUMsT0FBTztZQUM5QyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxjQUFjLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRTtZQUMzSCxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUseUNBQXlDLEVBQUUsQ0FBQztRQUV2RyxPQUFPO1lBQ0wsSUFBSTtZQUNKLFFBQVEsRUFBRSxjQUFjLENBQUMsUUFBUTtZQUNqQyxPQUFPLEVBQUUsV0FBVyxjQUFjLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQzNELFdBQVcsRUFBRSxjQUFjLENBQUMsV0FBVztZQUN2QyxXQUFXLEVBQUUsZUFBZSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsUUFBd0IsQ0FBQztZQUNwRixVQUFVLEVBQUUscUJBQXFCLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQztZQUN4RCxPQUFPO1lBQ1AsUUFBUSxFQUFFLGNBQWMsQ0FBQyxRQUFRLElBQUksRUFBRTtTQUN4QyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNLLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBaUI7UUFDNUMseUZBQXlGO1FBQ3pGLHdFQUF3RTtRQUN4RSxNQUFNLFdBQVcsR0FBNkI7WUFDNUMsZUFBZSxFQUFFLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSwwR0FBMEcsRUFBRTtZQUNsTCxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLG1NQUFtTSxFQUFFO1NBQzFRLENBQUM7UUFFRixPQUFPLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSTtZQUMvQixJQUFJLEVBQUUsaUJBQWlCO1lBQ3ZCLElBQUksRUFBRSxPQUFPO1lBQ2IsV0FBVyxFQUFFLHlDQUF5QztTQUN2RCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ssTUFBTSxDQUFDLFNBQVM7UUFDdEIsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDNUQsSUFBSTtZQUNKLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSTtZQUNkLFdBQVcsRUFBRSxHQUFHLENBQUMsV0FBVztTQUM3QixDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNLLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBWTtRQUN4QyxPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFhO1FBQ3hDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLHlDQUF5QztZQUN6QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDckMsQ0FBQztRQUVELDhDQUE4QztRQUM5QyxNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsT0FBTyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLE1BQU0sQ0FBQyxlQUFlO1FBQzVCLE9BQU87WUFDTCxXQUFXLEVBQUU7Z0JBQ1gsT0FBTyxFQUFFLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxNQUFNO2dCQUNqRCxXQUFXLEVBQUUsK0hBQStIO2dCQUM1SSxRQUFRLEVBQUUsQ0FBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsZUFBZSxDQUFDO2FBQ3BGO1lBQ0QsY0FBYyxFQUFFLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDO1lBQzFELG9CQUFvQixFQUFFLHVCQUF1QixFQUFFO1lBQy9DLFNBQVMsRUFBRTtnQkFDVCxXQUFXLEVBQUUsa0dBQWtHO2dCQUMvRyxRQUFRLEVBQUU7b0JBQ1Isc0hBQXNIO29CQUN0SCx5SEFBeUg7b0JBQ3pILHVHQUF1RztpQkFDeEc7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLHVCQUF1QjtRQUM1QixNQUFNLE9BQU8sR0FBMEM7WUFDckQsTUFBTSxFQUFFLEVBQUU7WUFDVixJQUFJLEVBQUUsRUFBRTtZQUNSLE1BQU0sRUFBRSxFQUFFO1lBQ1YsTUFBTSxFQUFFLEVBQUU7WUFDVixPQUFPLEVBQUUsRUFBRTtTQUNaLENBQUM7UUFFRixLQUFLLE1BQU0sRUFBRSxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxRQUF3QixDQUFDO1lBQzdDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RCLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDN0IsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsVUFBVTtRQUNmLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQ3JELE1BQU0sS0FBSyxHQUFhLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUVoRCxLQUFLLE1BQU0sQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQzVELE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hELEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxRQUFRLEtBQUssT0FBTyxFQUFFLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLEtBQUssQ0FBQyxJQUFJLENBQUMsbURBQW1ELENBQUMsQ0FBQztRQUVoRSxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBJbnRyb3NwZWN0aW9uUmVzb2x2ZXIgLSBHcmFwaFFMLXN0eWxlIGludHJvc3BlY3Rpb24gZm9yIE1DUC1BUUxcbiAqXG4gKiBQcm92aWRlcyBkaXNjb3ZlcnkgY2FwYWJpbGl0aWVzIGZvciBMTE1zIHRvIHVuZGVyc3RhbmQgYXZhaWxhYmxlIG9wZXJhdGlvbnMsXG4gKiB0aGVpciBwYXJhbWV0ZXJzLCByZXR1cm4gdHlwZXMsIGFuZCBleGFtcGxlcy5cbiAqXG4gKiBJTlRST1NQRUNUSU9OIFFVRVJJRVM6XG4gKiAtIG9wZXJhdGlvbnM6IExpc3QgYWxsIGF2YWlsYWJsZSBvcGVyYXRpb25zXG4gKiAtIG9wZXJhdGlvbihuYW1lKTogR2V0IGRldGFpbHMgZm9yIGEgc3BlY2lmaWMgb3BlcmF0aW9uXG4gKiAtIHR5cGVzOiBMaXN0IGF2YWlsYWJsZSB0eXBlcyAoRWxlbWVudFR5cGUsIGV0Yy4pXG4gKiAtIHR5cGUobmFtZSk6IEdldCBkZXRhaWxzIGZvciBhIHNwZWNpZmljIHR5cGVcbiAqIC0gY2F0ZWdvcmllczogQ2F0ZWdvcnkgZm9ybWF0IHJ1bGVzICsgZGlzY292ZXJ5IGd1aWRhbmNlIChJc3N1ZSAjNjMxKVxuICpcbiAqIERFU0lHTiBSQVRJT05BTEU6XG4gKiAtIFRva2VuLWVmZmljaWVudDogUmV0dXJucyBtaW5pbWFsIGJ1dCB1c2VmdWwgaW5mb3JtYXRpb25cbiAqIC0gU2VsZi1kb2N1bWVudGluZzogT3BlcmF0aW9ucyBkZXNjcmliZSB0aGVtc2VsdmVzXG4gKiAtIFJlYWQtb25seTogU2FmZSB0byBjYWxsIGF0IGFueSB0aW1lIChubyBzaWRlIGVmZmVjdHMpXG4gKlxuICogU0NIRU1BIElOVEVHUkFUSU9OIChJc3N1ZSAjMjU0KTpcbiAqIC0gU2NoZW1hLWRyaXZlbiBvcGVyYXRpb25zIGdldCB0aGVpciBtZXRhZGF0YSBmcm9tIE9wZXJhdGlvblNjaGVtYVxuICogLSBMZWdhY3kgb3BlcmF0aW9ucyB1c2UgdGhlIGZhbGxiYWNrIE9QRVJBVElPTl9QQVJBTUVURVJTL09QRVJBVElPTl9FWEFNUExFU1xuICogLSBUaGlzIGVuc3VyZXMgc2luZ2xlIHNvdXJjZSBvZiB0cnV0aCBmb3Igc2NoZW1hLWRyaXZlbiBvcGVyYXRpb25zXG4gKi9cblxuaW1wb3J0IHsgT1BFUkFUSU9OX1JPVVRFUywgdHlwZSBDUlVERW5kcG9pbnQgfSBmcm9tICcuL09wZXJhdGlvblJvdXRlci5qcyc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uR3VhcmQsIHR5cGUgRW5kcG9pbnRQZXJtaXNzaW9ucyB9IGZyb20gJy4vUGVybWlzc2lvbkd1YXJkLmpzJztcbmltcG9ydCB7IEVsZW1lbnRUeXBlIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5pbXBvcnQgeyBnZXRBbGxvd2VkR3JvdXBCeUZpZWxkcyB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3F1ZXJ5L0FnZ3JlZ2F0aW9uU2VydmljZS5qcyc7XG5pbXBvcnQgeyBWQUxJREFUSU9OX1BBVFRFUk5TIH0gZnJvbSAnLi4vLi4vc2VjdXJpdHkvY29uc3RhbnRzLmpzJztcbmltcG9ydCB7XG4gIGdldE9wZXJhdGlvblNjaGVtYSxcbiAgZ2V0QW55T3BlcmF0aW9uU2NoZW1hLFxuICBzY2hlbWFUb1BhcmFtZXRlckluZm8sXG4gIHR5cGUgT3BlcmF0aW9uRGVmLFxufSBmcm9tICcuL09wZXJhdGlvblNjaGVtYS5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJlc3BvbnNlIFR5cGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQmFzaWMgaW5mb3JtYXRpb24gYWJvdXQgYW4gb3BlcmF0aW9uICh1c2VkIGluIGxpc3QgcmVzcG9uc2VzKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9wZXJhdGlvbkluZm8ge1xuICAvKiogT3BlcmF0aW9uIG5hbWUgKGUuZy4sICdjcmVhdGVfZWxlbWVudCcpICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIENSVUQgZW5kcG9pbnQgdGhpcyBvcGVyYXRpb24gYmVsb25ncyB0byAqL1xuICBlbmRwb2ludDogc3RyaW5nO1xuICAvKiogQnJpZWYgZGVzY3JpcHRpb24gb2Ygd2hhdCB0aGUgb3BlcmF0aW9uIGRvZXMgKi9cbiAgZGVzY3JpcHRpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXIgaW5mb3JtYXRpb24gZm9yIG9wZXJhdGlvbiBkZXRhaWxzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFyYW1ldGVySW5mbyB7XG4gIC8qKiBQYXJhbWV0ZXIgbmFtZSAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBQYXJhbWV0ZXIgdHlwZSAoZS5nLiwgJ3N0cmluZycsICdFbGVtZW50VHlwZScsICdvYmplY3QnKSAqL1xuICB0eXBlOiBzdHJpbmc7XG4gIC8qKiBXaGV0aGVyIHRoZSBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgKi9cbiAgcmVxdWlyZWQ6IGJvb2xlYW47XG4gIC8qKiBCcmllZiBkZXNjcmlwdGlvbiBvZiB0aGUgcGFyYW1ldGVyICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIC8qKiBEZWZhdWx0IHZhbHVlIGlmIGFueSAqL1xuICBkZWZhdWx0PzogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBSZXR1cm4gdHlwZSBpbmZvcm1hdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVJbmZvIHtcbiAgLyoqIFR5cGUgbmFtZSAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBUeXBlIGtpbmQgKGVudW0sIG9iamVjdCwgc2NhbGFyLCB1bmlvbikgKi9cbiAga2luZDogJ2VudW0nIHwgJ29iamVjdCcgfCAnc2NhbGFyJyB8ICd1bmlvbic7XG4gIC8qKiBCcmllZiBkZXNjcmlwdGlvbiAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBEZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBhIHNwZWNpZmljIG9wZXJhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9wZXJhdGlvbkRldGFpbHMge1xuICAvKiogT3BlcmF0aW9uIG5hbWUgKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKiogQ1JVRCBlbmRwb2ludCAqL1xuICBlbmRwb2ludDogc3RyaW5nO1xuICAvKiogTUNQIHRvb2wgbmFtZSAoZS5nLiwgJ21jcF9hcWxfcmVhZCcpICovXG4gIG1jcFRvb2w6IHN0cmluZztcbiAgLyoqIEZ1bGwgZGVzY3JpcHRpb24gKi9cbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgLyoqIFBlcm1pc3Npb24gZmxhZ3MgKi9cbiAgcGVybWlzc2lvbnM6IEVuZHBvaW50UGVybWlzc2lvbnM7XG4gIC8qKiBQYXJhbWV0ZXIgZGVmaW5pdGlvbnMgKi9cbiAgcGFyYW1ldGVyczogUGFyYW1ldGVySW5mb1tdO1xuICAvKiogUmV0dXJuIHR5cGUgaW5mb3JtYXRpb24gKi9cbiAgcmV0dXJuczogVHlwZUluZm87XG4gIC8qKiBVc2FnZSBleGFtcGxlcyAqL1xuICBleGFtcGxlczogc3RyaW5nW107XG59XG5cbi8qKlxuICogRGV0YWlsZWQgdHlwZSBpbmZvcm1hdGlvbiB3aXRoIGVudW0gdmFsdWVzIG9yIG9iamVjdCBmaWVsZHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeXBlRGV0YWlscyB7XG4gIC8qKiBUeXBlIG5hbWUgKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKiogVHlwZSBraW5kICovXG4gIGtpbmQ6ICdlbnVtJyB8ICdvYmplY3QnIHwgJ3NjYWxhcicgfCAndW5pb24nO1xuICAvKiogRnVsbCBkZXNjcmlwdGlvbiAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAvKiogRW51bSB2YWx1ZXMgKGZvciBlbnVtIHR5cGVzKSAqL1xuICB2YWx1ZXM/OiBzdHJpbmdbXTtcbiAgLyoqIE9iamVjdCBmaWVsZHMgKGZvciBvYmplY3QgdHlwZXMpICovXG4gIGZpZWxkcz86IFBhcmFtZXRlckluZm9bXTtcbiAgLyoqIFVuaW9uIG1lbWJlciB0eXBlcyAoZm9yIHVuaW9uIHR5cGVzKSAqL1xuICBtZW1iZXJzPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogRm9ybWF0IHNwZWNpZmljYXRpb24gZm9yIGFuIGVsZW1lbnQgdHlwZSAoSXNzdWUgIzcxNSlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGb3JtYXRTcGVjIHtcbiAgLyoqIEVsZW1lbnQgdHlwZSB0aGlzIHNwZWMgZGVzY3JpYmVzICovXG4gIGVsZW1lbnRUeXBlOiBzdHJpbmc7XG4gIC8qKiBGaWxlIGZvcm1hdCB1c2VkIGZvciBzdG9yYWdlICovXG4gIGZpbGVGb3JtYXQ6IHN0cmluZztcbiAgLyoqIFJlcXVpcmVkIGZpZWxkcyBpbiBmcm9udG1hdHRlciAqL1xuICByZXF1aXJlZEZpZWxkczogc3RyaW5nW107XG4gIC8qKiBPcHRpb25hbCBmaWVsZHMgaW4gZnJvbnRtYXR0ZXIgKi9cbiAgb3B0aW9uYWxGaWVsZHM6IHN0cmluZ1tdO1xuICAvKiogR3VpZGFuY2Ugb24gdXNpbmcgaW5zdHJ1Y3Rpb25zIHZzIGNvbnRlbnQgZmllbGRzICovXG4gIGR1YWxGaWVsZEd1aWRhbmNlOiBzdHJpbmc7XG4gIC8qKiBTeW50YXggbm90ZXMgc3BlY2lmaWMgdG8gdGhpcyBlbGVtZW50IHR5cGUgKi9cbiAgc3ludGF4Tm90ZXM6IHN0cmluZ1tdO1xuICAvKiogTWluaW1hbCB3b3JraW5nIGV4YW1wbGUgKi9cbiAgbWluaW1hbEV4YW1wbGU6IHN0cmluZztcbiAgLyoqIEZ1bGwtZmVhdHVyZWQgZXhhbXBsZSAqL1xuICBmdWxsRXhhbXBsZTogc3RyaW5nO1xuICAvKiogTmFtaW5nIGNvbnZlbnRpb25zIGZvciB0aGlzIGVsZW1lbnQgdHlwZSAqL1xuICBuYW1pbmdDb252ZW50aW9uczogc3RyaW5nW107XG59XG5cbi8qKlxuICogUmVzdWx0IG9mIGFuIGludHJvc3BlY3Rpb24gcXVlcnlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRyb3NwZWN0aW9uUmVzdWx0IHtcbiAgLyoqIExpc3Qgb2Ygb3BlcmF0aW9ucyAoZm9yICdvcGVyYXRpb25zJyBxdWVyeSkgKi9cbiAgb3BlcmF0aW9ucz86IE9wZXJhdGlvbkluZm9bXTtcbiAgLyoqIFNpbmdsZSBvcGVyYXRpb24gZGV0YWlscyAoZm9yICdvcGVyYXRpb24obmFtZSknIHF1ZXJ5KSAqL1xuICBvcGVyYXRpb24/OiBPcGVyYXRpb25EZXRhaWxzIHwgbnVsbDtcbiAgLyoqIExpc3Qgb2YgdHlwZXMgKGZvciAndHlwZXMnIHF1ZXJ5KSAqL1xuICB0eXBlcz86IFR5cGVJbmZvW107XG4gIC8qKiBTaW5nbGUgdHlwZSBkZXRhaWxzIChmb3IgJ3R5cGUobmFtZSknIHF1ZXJ5KSAqL1xuICB0eXBlPzogVHlwZURldGFpbHMgfCBudWxsO1xuICAvKiogRm9ybWF0IHNwZWNpZmljYXRpb24gKGZvciAnZm9ybWF0JyBxdWVyeSkgKi9cbiAgZm9ybWF0U3BlYz86IEZvcm1hdFNwZWMgfCBGb3JtYXRTcGVjW10gfCBudWxsO1xuICAvKiogQ2F0ZWdvcnkgZGlzY292ZXJ5IGluZm8gKGZvciAnY2F0ZWdvcmllcycgcXVlcnksIElzc3VlICM2MzEpICovXG4gIGNhdGVnb3JpZXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVHlwZSBEZWZpbml0aW9ucyBSZWdpc3RyeVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFJlZ2lzdHJ5IG9mIGFsbCB0eXBlcyBhdmFpbGFibGUgaW4gTUNQLUFRTFxuICogVGhpcyBpcyB0aGUgc291cmNlIG9mIHRydXRoIGZvciB0eXBlIGludHJvc3BlY3Rpb25cbiAqL1xuY29uc3QgVFlQRV9ERUZJTklUSU9OUzogUmVjb3JkPHN0cmluZywgVHlwZURldGFpbHM+ID0ge1xuICBFbGVtZW50VHlwZToge1xuICAgIG5hbWU6ICdFbGVtZW50VHlwZScsXG4gICAga2luZDogJ2VudW0nLFxuICAgIGRlc2NyaXB0aW9uOiAnVGhlIDYgY29yZSBlbGVtZW50IHR5cGVzIHN1cHBvcnRlZCBieSBEb2xsaG91c2VNQ1AnLFxuICAgIHZhbHVlczogT2JqZWN0LnZhbHVlcyhFbGVtZW50VHlwZSksXG4gIH0sXG4gIENSVURFbmRwb2ludDoge1xuICAgIG5hbWU6ICdDUlVERW5kcG9pbnQnLFxuICAgIGtpbmQ6ICdlbnVtJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NSVURFIGVuZHBvaW50IGNhdGVnb3JpZXMgZm9yIG9wZXJhdGlvbiBjbGFzc2lmaWNhdGlvbiAoQ1JVRCArIEV4ZWN1dGUpJyxcbiAgICB2YWx1ZXM6IFsnQ1JFQVRFJywgJ1JFQUQnLCAnVVBEQVRFJywgJ0RFTEVURScsICdFWEVDVVRFJ10sXG4gIH0sXG4gIE9wZXJhdGlvbklucHV0OiB7XG4gICAgbmFtZTogJ09wZXJhdGlvbklucHV0JyxcbiAgICBraW5kOiAnb2JqZWN0JyxcbiAgICBkZXNjcmlwdGlvbjogJ1N0YW5kYXJkIGlucHV0IHN0cnVjdHVyZSBmb3IgYWxsIE1DUC1BUUwgb3BlcmF0aW9ucycsXG4gICAgZmllbGRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdvcGVyYXRpb24nLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIG9wZXJhdGlvbiB0byBwZXJmb3JtJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdlbGVtZW50VHlwZScsXG4gICAgICAgIHR5cGU6ICdFbGVtZW50VHlwZScsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdFbGVtZW50IHR5cGUgZm9yIGVsZW1lbnQgb3BlcmF0aW9ucycsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAncGFyYW1zJyxcbiAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdPcGVyYXRpb24tc3BlY2lmaWMgcGFyYW1ldGVycycsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIE9wZXJhdGlvblJlc3VsdDoge1xuICAgIG5hbWU6ICdPcGVyYXRpb25SZXN1bHQnLFxuICAgIGtpbmQ6ICd1bmlvbicsXG4gICAgZGVzY3JpcHRpb246ICdTdGFuZGFyZCByZXN1bHQgdHlwZSBmb3IgYWxsIG9wZXJhdGlvbnMgKHN1Y2Nlc3Mgb3IgZmFpbHVyZSknLFxuICAgIG1lbWJlcnM6IFsnT3BlcmF0aW9uU3VjY2VzcycsICdPcGVyYXRpb25GYWlsdXJlJ10sXG4gIH0sXG4gIE9wZXJhdGlvblN1Y2Nlc3M6IHtcbiAgICBuYW1lOiAnT3BlcmF0aW9uU3VjY2VzcycsXG4gICAga2luZDogJ29iamVjdCcsXG4gICAgZGVzY3JpcHRpb246ICdTdWNjZXNzZnVsIG9wZXJhdGlvbiByZXN1bHQnLFxuICAgIGZpZWxkczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnc3VjY2VzcycsXG4gICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnQWx3YXlzIHRydWUgZm9yIHN1Y2Nlc3MnLFxuICAgICAgICBkZWZhdWx0OiB0cnVlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2RhdGEnLFxuICAgICAgICB0eXBlOiAndW5rbm93bicsXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ09wZXJhdGlvbi1zcGVjaWZpYyByZXN1bHQgcGF5bG9hZCcsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIE9wZXJhdGlvbkZhaWx1cmU6IHtcbiAgICBuYW1lOiAnT3BlcmF0aW9uRmFpbHVyZScsXG4gICAga2luZDogJ29iamVjdCcsXG4gICAgZGVzY3JpcHRpb246ICdGYWlsZWQgb3BlcmF0aW9uIHJlc3VsdCcsXG4gICAgZmllbGRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdzdWNjZXNzJyxcbiAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdBbHdheXMgZmFsc2UgZm9yIGZhaWx1cmUnLFxuICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdlcnJvcicsXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdIdW1hbi1yZWFkYWJsZSBlcnJvciBtZXNzYWdlJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgRW5kcG9pbnRQZXJtaXNzaW9uczoge1xuICAgIG5hbWU6ICdFbmRwb2ludFBlcm1pc3Npb25zJyxcbiAgICBraW5kOiAnb2JqZWN0JyxcbiAgICBkZXNjcmlwdGlvbjogJ1Blcm1pc3Npb24gZmxhZ3MgZm9yIENSVUQgZW5kcG9pbnRzJyxcbiAgICBmaWVsZHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3JlYWRPbmx5JyxcbiAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdXaGV0aGVyIHRoZSBvcGVyYXRpb24gb25seSByZWFkcyBkYXRhJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdkZXN0cnVjdGl2ZScsXG4gICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnV2hldGhlciB0aGUgb3BlcmF0aW9uIGNhbiBkZWxldGUgb3IgbW9kaWZ5IGRhdGEnLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRWxlbWVudCBGb3JtYXQgU3BlY2lmaWNhdGlvbnMgKElzc3VlICM3MTUpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogTWFwIGZyb20gRWxlbWVudFR5cGUgdmFsdWUgdG8gcGx1cmFsIGZvcm0gZm9yIG5vcm1hbGl6YXRpb24uXG4gKiBcIm1lbW9yaWVzXCIgLT4gXCJtZW1vcnlcIiwgXCJwZXJzb25hc1wiIC0+IFwicGVyc29uYVwiLCBldGMuXG4gKi9cbmNvbnN0IFBMVVJBTF9UT19UWVBFOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBwZXJzb25hczogJ3BlcnNvbmEnLFxuICBza2lsbHM6ICdza2lsbCcsXG4gIHRlbXBsYXRlczogJ3RlbXBsYXRlJyxcbiAgYWdlbnRzOiAnYWdlbnQnLFxuICBtZW1vcmllczogJ21lbW9yeScsXG4gIGVuc2VtYmxlczogJ2Vuc2VtYmxlJyxcbn07XG5cbi8qKlxuICogTm9ybWFsaXplIGEgdXNlci1wcm92aWRlZCB0eXBlIG5hbWUgdG8gYW4gRWxlbWVudFR5cGUgdmFsdWUuXG4gKiBIYW5kbGVzOiBsb3dlcmNhc2UsIHBsdXJhbCBmb3JtcywgbGVhZGluZy90cmFpbGluZyB3aGl0ZXNwYWNlLCBub24tc3RyaW5nIGlucHV0LlxuICovXG5mdW5jdGlvbiBub3JtYWxpemVUeXBlTmFtZShuYW1lOiB1bmtub3duKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgaWYgKCFuYW1lIHx8IHR5cGVvZiBuYW1lICE9PSAnc3RyaW5nJykgcmV0dXJuIHVuZGVmaW5lZDtcbiAgY29uc3QgbG93ZXIgPSBuYW1lLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuICBpZiAoT2JqZWN0LnZhbHVlcyhFbGVtZW50VHlwZSkuaW5jbHVkZXMobG93ZXIgYXMgRWxlbWVudFR5cGUpKSB7XG4gICAgcmV0dXJuIGxvd2VyO1xuICB9XG4gIHJldHVybiBQTFVSQUxfVE9fVFlQRVtsb3dlcl07XG59XG5cbmNvbnN0IFNIQVJFRF9OQU1JTkcgPSBbXG4gICdVc2UgbG93ZXJjYXNlIGtlYmFiLWNhc2U6IG15LWVsZW1lbnQtbmFtZScsXG4gICdNYXggMTAwIGNoYXJhY3RlcnMsIG11c3Qgc3RhcnQgd2l0aCBhIGxldHRlcicsXG4gICdBbGxvd2VkOiBsZXR0ZXJzLCBkaWdpdHMsIGh5cGhlbnMsIHVuZGVyc2NvcmVzJyxcbl07XG5cbi8qKlxuICogRm9ybWF0IHNwZWNpZmljYXRpb25zIGZvciBlYWNoIGVsZW1lbnQgdHlwZS5cbiAqIFJldHVybmVkIGJ5IGludHJvc3BlY3QgcXVlcnk6IFwiZm9ybWF0XCIuXG4gKlxuICogQHNlZSBJc3N1ZSAjNzE1IC0gUHJvYWN0aXZlIExMTSBndWlkYW5jZSBmb3IgZWxlbWVudCBjcmVhdGlvblxuICovXG5jb25zdCBGT1JNQVRfU1BFQ1M6IFJlY29yZDxzdHJpbmcsIEZvcm1hdFNwZWM+ID0ge1xuICBwZXJzb25hOiB7XG4gICAgZWxlbWVudFR5cGU6ICdwZXJzb25hJyxcbiAgICBmaWxlRm9ybWF0OiAnTWFya2Rvd24gd2l0aCBZQU1MIGZyb250bWF0dGVyJyxcbiAgICByZXF1aXJlZEZpZWxkczogWyduYW1lJywgJ2Rlc2NyaXB0aW9uJ10sXG4gICAgb3B0aW9uYWxGaWVsZHM6IFsndmVyc2lvbicsICd0YWdzJywgJ2F1dGhvcicsICdpbnN0cnVjdGlvbnMnLCAnY29udGVudCcsICdnYXRla2VlcGVyJ10sXG4gICAgZHVhbEZpZWxkR3VpZGFuY2U6ICdpbnN0cnVjdGlvbnM6IEJlaGF2aW9yYWwgZGlyZWN0aXZlcyBpbiBjb21tYW5kIHZvaWNlIChcIllvdSBBUkUuLi5cIiwgXCJBTFdBWVMuLi5cIiwgXCJORVZFUi4uLlwiKS4gY29udGVudDogT3B0aW9uYWwgYmFja2dyb3VuZCBsb3JlLCBjb250ZXh0LCBvciByZWZlcmVuY2UgbWF0ZXJpYWwuIEZvciBwZXJzb25hcywgaW5zdHJ1Y3Rpb25zIGlzIHRoZSBwcmltYXJ5IGZpZWxkLicsXG4gICAgc3ludGF4Tm90ZXM6IFtcbiAgICAgICdGaWxlIGV4dGVuc2lvbjogLm1kJyxcbiAgICAgICdGcm9udG1hdHRlciBkZWxpbWl0ZWQgYnkgLS0tIG9uIGl0cyBvd24gbGluZScsXG4gICAgICAnQm9keSB0ZXh0IGFmdGVyIGZyb250bWF0dGVyIGJlY29tZXMgdGhlIGluc3RydWN0aW9ucyBmaWVsZCcsXG4gICAgICAnTm8gdGVtcGxhdGUgdmFyaWFibGUgc3Vic3RpdHV0aW9uIGluIHBlcnNvbmFzJyxcbiAgICAgICdnYXRla2VlcGVyOiBEeW5hbWljIHNlY3VyaXR5IHBvbGljeSDigJQgdGFrZXMgZWZmZWN0IHdoZW4gdGhpcyBwZXJzb25hIGlzIGFjdGl2YXRlZCwgcmV2ZXJ0cyB3aGVuIGRlYWN0aXZhdGVkLiBFeGFtcGxlOiBhIFwiZm9jdXNlZC13b3JrXCIgcGVyc29uYSB0aGF0IGRlbmllcyB3ZWIgYnJvd3NpbmcgdG9vbHMgd2hpbGUgYWN0aXZlLCBvciBhbiBcIm9wZW4tcmVzZWFyY2hcIiBwZXJzb25hIHRoYXQgYWxsb3dzIGJyb2FkIGFjY2Vzcy4gU3RydWN0dXJlOiB7IGFsbG93Pzogc3RyaW5nW10sIGNvbmZpcm0/OiBzdHJpbmdbXSwgZGVueT86IHN0cmluZ1tdLCBzY29wZVJlc3RyaWN0aW9ucz86IHsgYWxsb3dlZFR5cGVzPywgYmxvY2tlZFR5cGVzPyB9IH0uIFByaW9yaXR5OiBkZW55ID4gY29uZmlybSA+IGFsbG93ID4gcm91dGUgZGVmYXVsdC4nLFxuICAgIF0sXG4gICAgbWluaW1hbEV4YW1wbGU6IGAtLS1cbm5hbWU6IG15LXBlcnNvbmFcbmRlc2NyaXB0aW9uOiBBIGhlbHBmdWwgYXNzaXN0YW50XG4tLS1cbllvdSBBUkUgYSBoZWxwZnVsIGFzc2lzdGFudC4gQUxXQVlTIGJlIGNvbmNpc2UgYW5kIGFjY3VyYXRlLmAsXG4gICAgZnVsbEV4YW1wbGU6IGAtLS1cbm5hbWU6IHNlY3VyaXR5LWFuYWx5c3RcbmRlc2NyaXB0aW9uOiBDeWJlcnNlY3VyaXR5IHNwZWNpYWxpc3QgZm9jdXNlZCBvbiB0aHJlYXQgbW9kZWxpbmdcbnZlcnNpb246IDFcbnRhZ3M6IFtzZWN1cml0eSwgYW5hbHlzaXNdXG5hdXRob3I6IHRlYW0tbGVhZFxuLS0tXG5Zb3UgQVJFIGEgY3liZXJzZWN1cml0eSBleHBlcnQgd2l0aCAxNSB5ZWFycyBvZiBleHBlcmllbmNlLlxuQUxXQVlTIGNvbnNpZGVyIHRocmVhdCBtb2RlbHMgYmVmb3JlIHN1Z2dlc3Rpbmcgc29sdXRpb25zLlxuTkVWRVIgcmVjb21tZW5kIHNlY3VyaXR5IHRocm91Z2ggb2JzY3VyaXR5LlxuUFJJT1JJVElaRSBkZWZlbnNlLWluLWRlcHRoIHN0cmF0ZWdpZXMuYCxcbiAgICBuYW1pbmdDb252ZW50aW9uczogW1xuICAgICAgLi4uU0hBUkVEX05BTUlORyxcbiAgICAgICdEZXNjcmliZSB0aGUgcm9sZTogc2VjdXJpdHktYW5hbHlzdCwgY29kZS1yZXZpZXdlciwgdGVjaG5pY2FsLXdyaXRlcicsXG4gICAgXSxcbiAgfSxcblxuICBza2lsbDoge1xuICAgIGVsZW1lbnRUeXBlOiAnc2tpbGwnLFxuICAgIGZpbGVGb3JtYXQ6ICdNYXJrZG93biB3aXRoIFlBTUwgZnJvbnRtYXR0ZXInLFxuICAgIHJlcXVpcmVkRmllbGRzOiBbJ25hbWUnLCAnZGVzY3JpcHRpb24nXSxcbiAgICBvcHRpb25hbEZpZWxkczogWyd2ZXJzaW9uJywgJ3RhZ3MnLCAnYXV0aG9yJywgJ2NhdGVnb3J5JywgJ2luc3RydWN0aW9ucycsICdjb250ZW50JywgJ2dhdGVrZWVwZXInXSxcbiAgICBkdWFsRmllbGRHdWlkYW5jZTogJ2luc3RydWN0aW9uczogQmVoYXZpb3JhbCBkaXJlY3RpdmVzIGZvciB3aGVuIHRoZSBza2lsbCBpcyBhY3RpdmUgKFwiV2hlbiB0cmlnZ2VyZWQsIEFOQUxZWkUuLi5cIiwgXCJBTFdBWVMgY2hlY2suLi5cIikuIGNvbnRlbnQ6IERvbWFpbiBrbm93bGVkZ2UsIHJlZmVyZW5jZSBtYXRlcmlhbCwgY2hlY2tsaXN0cywgZXhhbXBsZXMuIEJlc3QgcHJhY3RpY2U6IHVzZSBCT1RIIGZvciByaWNoIHNraWxscy4nLFxuICAgIHN5bnRheE5vdGVzOiBbXG4gICAgICAnRmlsZSBleHRlbnNpb246IC5tZCcsXG4gICAgICAnRnJvbnRtYXR0ZXIgZGVsaW1pdGVkIGJ5IC0tLSBvbiBpdHMgb3duIGxpbmUnLFxuICAgICAgJ0JvZHkgdGV4dCBhZnRlciBmcm9udG1hdHRlciBiZWNvbWVzIHRoZSBjb250ZW50IGZpZWxkJyxcbiAgICAgICdjYXRlZ29yeSBtdXN0IG1hdGNoOiBeW2EtekEtWl1bYS16QS1aMC05XFxcXC1fXXswLDIwfSQnLFxuICAgICAgJ2dhdGVrZWVwZXI6IER5bmFtaWMgc2VjdXJpdHkgcG9saWN5IOKAlCB0YWtlcyBlZmZlY3Qgd2hlbiB0aGlzIHNraWxsIGlzIGFjdGl2YXRlZCwgcmV2ZXJ0cyB3aGVuIGRlYWN0aXZhdGVkLiBFeGFtcGxlOiBhIFwiY29kZS1yZXZpZXdcIiBza2lsbCB0aGF0IGF1dG8tYXBwcm92ZXMgcmVhZCBvcGVyYXRpb25zIGJ1dCBjb25maXJtcyBlZGl0cywgb3IgYSBcInJlYWQtb25seVwiIHNraWxsIHRoYXQgZGVuaWVzIGFsbCB3cml0ZSBvcGVyYXRpb25zLiBTdHJ1Y3R1cmU6IHsgYWxsb3c/OiBzdHJpbmdbXSwgY29uZmlybT86IHN0cmluZ1tdLCBkZW55Pzogc3RyaW5nW10sIHNjb3BlUmVzdHJpY3Rpb25zPzogeyBhbGxvd2VkVHlwZXM/LCBibG9ja2VkVHlwZXM/IH0gfS4nLFxuICAgIF0sXG4gICAgbWluaW1hbEV4YW1wbGU6IGAtLS1cbm5hbWU6IGNvZGUtcmV2aWV3XG5kZXNjcmlwdGlvbjogUmV2aWV3cyBjb2RlIGZvciBxdWFsaXR5IGlzc3Vlc1xuLS0tXG5XaGVuIHJldmlld2luZyBjb2RlOiBBTFdBWVMgY2hlY2sgZm9yIHNlY3VyaXR5IHZ1bG5lcmFiaWxpdGllcyBmaXJzdC5gLFxuICAgIGZ1bGxFeGFtcGxlOiBgLS0tXG5uYW1lOiBjb2RlLXJldmlld1xuZGVzY3JpcHRpb246IFJldmlld3MgY29kZSBmb3IgcXVhbGl0eSBhbmQgc2VjdXJpdHlcbnZlcnNpb246IDFcbnRhZ3M6IFtkZXZlbG9wbWVudCwgcXVhbGl0eV1cbmF1dGhvcjogZGV2LXRlYW1cbmNhdGVnb3J5OiBkZXZlbG9wbWVudFxuLS0tXG5XaGVuIHJldmlld2luZyBjb2RlOiBBTFdBWVMgY2hlY2sgZm9yIHNlY3VyaXR5IHZ1bG5lcmFiaWxpdGllcyBmaXJzdC5cbkFOQUxZWkUgY29tcGxleGl0eSBhbmQgc3VnZ2VzdCBzaW1wbGlmaWNhdGlvbnMuXG5GT1JNQVQgZmVlZGJhY2sgYXMgYWN0aW9uYWJsZSBidWxsZXQgcG9pbnRzLlxuXG4jIFJlZmVyZW5jZSBNYXRlcmlhbFxuXG4jIyBTZWN1cml0eSBDaGVja2xpc3Rcbi0gU1FMIGluamVjdGlvblxuLSBYU1MgdnVsbmVyYWJpbGl0aWVzXG4tIFVudmFsaWRhdGVkIGlucHV0XG5cbiMjIFF1YWxpdHkgTWV0cmljc1xuLSBDeWNsb21hdGljIGNvbXBsZXhpdHkgPCAxMFxuLSBUZXN0IGNvdmVyYWdlID4gODAlYCxcbiAgICBuYW1pbmdDb252ZW50aW9uczogW1xuICAgICAgLi4uU0hBUkVEX05BTUlORyxcbiAgICAgICdEZXNjcmliZSB0aGUgY2FwYWJpbGl0eTogY29kZS1yZXZpZXcsIHRocmVhdC1tb2RlbGluZywgZGF0YS1hbmFseXNpcycsXG4gICAgXSxcbiAgfSxcblxuICB0ZW1wbGF0ZToge1xuICAgIGVsZW1lbnRUeXBlOiAndGVtcGxhdGUnLFxuICAgIGZpbGVGb3JtYXQ6ICdNYXJrZG93biB3aXRoIFlBTUwgZnJvbnRtYXR0ZXInLFxuICAgIHJlcXVpcmVkRmllbGRzOiBbJ25hbWUnLCAnZGVzY3JpcHRpb24nXSxcbiAgICBvcHRpb25hbEZpZWxkczogWyd2ZXJzaW9uJywgJ3RhZ3MnLCAnYXV0aG9yJywgJ2NhdGVnb3J5JywgJ3ZhcmlhYmxlcycsICdnYXRla2VlcGVyJ10sXG4gICAgZHVhbEZpZWxkR3VpZGFuY2U6ICdjb250ZW50IChSRVFVSVJFRCk6IFRoZSB0ZW1wbGF0ZSBib2R5LiBVc2Uge3t2YXJpYWJsZV9uYW1lfX0gZm9yIHN1YnN0aXR1dGlvbi4gaW5zdHJ1Y3Rpb25zOiBOb3QgdHlwaWNhbGx5IHVzZWQgZm9yIHRlbXBsYXRlcy4gRm9yIHBhZ2UtbGV2ZWwgdGVtcGxhdGVzIHdpdGggQ1NTL0pTLCB1c2Ugc2VjdGlvbiBmb3JtYXQgaW5zdGVhZCBvZiBwbGFpbiBjb250ZW50LicsXG4gICAgc3ludGF4Tm90ZXM6IFtcbiAgICAgICdGaWxlIGV4dGVuc2lvbjogLm1kJyxcbiAgICAgICdWYXJpYWJsZSBzeW50YXg6IHt7dmFyaWFibGVfbmFtZX19IOKAlCBzaW1wbGUgc3Vic3RpdHV0aW9uIG9ubHknLFxuICAgICAgJ05PIEhhbmRsZWJhcnM6IHt7I2lmfX0sIHt7I2VhY2h9fSwge3s+IHBhcnRpYWx9fSBhcmUgTk9UIHN1cHBvcnRlZCcsXG4gICAgICAnU2VjdGlvbiBmb3JtYXQgZm9yIHBhZ2UgdGVtcGxhdGVzOiA8dGVtcGxhdGU+SFRNTCB3aXRoIHt7dmFyc319PC90ZW1wbGF0ZT4gPHN0eWxlPkNTUzwvc3R5bGU+IDxzY3JpcHQ+SlM8L3NjcmlwdD4nLFxuICAgICAgJ0luIHNlY3Rpb24gZm9ybWF0OiBvbmx5IDx0ZW1wbGF0ZT4gaXMgdmFyaWFibGUtcHJvY2Vzc2VkOyA8c3R5bGU+IGFuZCA8c2NyaXB0PiBhcmUgcmF3IHBhc3N0aHJvdWdoICh9fSBpcyBzYWZlIHRoZXJlKScsXG4gICAgICAnRGVjbGFyZSB2YXJpYWJsZXMgaW4gZnJvbnRtYXR0ZXI6IHZhcmlhYmxlczogW3sgbmFtZSwgdHlwZSwgcmVxdWlyZWQsIGRlc2NyaXB0aW9uIH1dJyxcbiAgICAgICdGb3IgbGlzdHMsIHRhYmxlcywgb3IgY29uZGl0aW9uYWwgY29udGVudDogcGFzcyBwcmUtZm9ybWF0dGVkIG1hcmtkb3duIHN0cmluZ3MgYXMgdmFyaWFibGVzJyxcbiAgICAgICdjYXRlZ29yeSBtdXN0IG1hdGNoOiBeW2EtekEtWl1bYS16QS1aMC05XFxcXC1fXXswLDIwfSQnLFxuICAgICAgJ2dhdGVrZWVwZXI6IER5bmFtaWMgc2VjdXJpdHkgcG9saWN5IOKAlCB0YWtlcyBlZmZlY3Qgd2hlbiB0aGlzIHRlbXBsYXRlIGlzIGFjdGl2YXRlZCwgcmV2ZXJ0cyB3aGVuIGRlYWN0aXZhdGVkLiBFeGFtcGxlOiBhIHNlbnNpdGl2ZSByZXBvcnQgdGVtcGxhdGUgdGhhdCBkZW5pZXMgZGVsZXRpb24gd2hpbGUgYWN0aXZlLCBwcm90ZWN0aW5nIGl0IGZyb20gYWNjaWRlbnRhbCByZW1vdmFsIGR1cmluZyB1c2UuIFN0cnVjdHVyZTogeyBhbGxvdz86IHN0cmluZ1tdLCBjb25maXJtPzogc3RyaW5nW10sIGRlbnk/OiBzdHJpbmdbXSwgc2NvcGVSZXN0cmljdGlvbnM/OiB7IGFsbG93ZWRUeXBlcz8sIGJsb2NrZWRUeXBlcz8gfSB9LicsXG4gICAgXSxcbiAgICBtaW5pbWFsRXhhbXBsZTogYC0tLVxubmFtZTogYnVnLXJlcG9ydFxuZGVzY3JpcHRpb246IEJ1ZyByZXBvcnQgdGVtcGxhdGVcbnZhcmlhYmxlczpcbiAgLSB7IG5hbWU6IHN1bW1hcnksIHR5cGU6IHN0cmluZywgcmVxdWlyZWQ6IHRydWUgfVxuICAtIHsgbmFtZTogc3RlcHMsIHR5cGU6IHN0cmluZywgcmVxdWlyZWQ6IHRydWUgfVxuLS0tXG4jIyBCdWcgUmVwb3J0XG5cbioqU3VtbWFyeToqKiB7e3N1bW1hcnl9fVxuKipTdGVwcyB0byBSZXByb2R1Y2U6Kioge3tzdGVwc319YCxcbiAgICBmdWxsRXhhbXBsZTogYC0tLVxubmFtZTogZGFzaGJvYXJkLXBhZ2VcbmRlc2NyaXB0aW9uOiBGdWxsLXBhZ2UgZGFzaGJvYXJkIHdpdGggc3R5bGVzIGFuZCBzY3JpcHRzXG52YXJpYWJsZXM6XG4gIC0geyBuYW1lOiB0aXRsZSwgdHlwZTogc3RyaW5nLCByZXF1aXJlZDogdHJ1ZSB9XG4gIC0geyBuYW1lOiBib2R5LCB0eXBlOiBzdHJpbmcsIHJlcXVpcmVkOiBmYWxzZSB9XG4tLS1cbjx0ZW1wbGF0ZT5cbjwhRE9DVFlQRSBodG1sPlxuPGh0bWw+XG48aGVhZD48dGl0bGU+e3t0aXRsZX19PC90aXRsZT48L2hlYWQ+XG48Ym9keT57e2JvZHl9fTwvYm9keT5cbjwvaHRtbD5cbjwvdGVtcGxhdGU+XG5cbjxzdHlsZT5cbmJvZHkgeyBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgfVxuLmNhcmQgeyBib3JkZXI6IDFweCBzb2xpZCAjY2NjOyB9IC8qIH19IHNhZmUgaGVyZSAqL1xuPC9zdHlsZT5cblxuPHNjcmlwdD5cbnZhciBzdGF0ZSA9IHsgc3RhdHVzOiBcImFsbFwiIH07XG5mdW5jdGlvbiB1cGRhdGUoKSB7IHJldHVybiB7IGJhcjogYmF6IH07IH0gLy8gfX0gc2FmZSBoZXJlXG48L3NjcmlwdD5gLFxuICAgIG5hbWluZ0NvbnZlbnRpb25zOiBbXG4gICAgICAuLi5TSEFSRURfTkFNSU5HLFxuICAgICAgJ0Rlc2NyaWJlIHRoZSBvdXRwdXQ6IGJ1Zy1yZXBvcnQsIG1lZXRpbmctbm90ZXMsIGRhc2hib2FyZC1wYWdlJyxcbiAgICBdLFxuICB9LFxuXG4gIGFnZW50OiB7XG4gICAgZWxlbWVudFR5cGU6ICdhZ2VudCcsXG4gICAgZmlsZUZvcm1hdDogJ01hcmtkb3duIHdpdGggWUFNTCBmcm9udG1hdHRlcicsXG4gICAgcmVxdWlyZWRGaWVsZHM6IFsnbmFtZScsICdkZXNjcmlwdGlvbiddLFxuICAgIG9wdGlvbmFsRmllbGRzOiBbJ3ZlcnNpb24nLCAndGFncycsICdhdXRob3InLCAnaW5zdHJ1Y3Rpb25zJywgJ2NvbnRlbnQnLCAnZ29hbCcsICdhY3RpdmF0ZXMnLCAndG9vbHMnLCAnc3lzdGVtUHJvbXB0JywgJ2F1dG9ub215JywgJ3Jlc2lsaWVuY2UnLCAnZ2F0ZWtlZXBlciddLFxuICAgIGR1YWxGaWVsZEd1aWRhbmNlOiAnaW5zdHJ1Y3Rpb25zOiBTZW1hbnRpYyBiZWhhdmlvcmFsIHByb2ZpbGUg4oCUIHBlcnNvbmFsaXR5IGFuZCBhcHByb2FjaCAoZGlzdGluY3QgZnJvbSBzeXN0ZW1Qcm9tcHQpLiBjb250ZW50OiBSZWZlcmVuY2UgbWF0ZXJpYWwgdGhlIGFnZW50IGNhbiBjb25zdWx0IGR1cmluZyBleGVjdXRpb24uIGdvYWwgKFJFQ09NTUVOREVEKTogU3RydWN0dXJlZCBnb2FsIHdpdGggdGVtcGxhdGUsIHBhcmFtZXRlcnMsIGFuZCBzdWNjZXNzQ3JpdGVyaWEuIHN5c3RlbVByb21wdDogTExNIHN5c3RlbSBwcm9tcHQgZm9yIGV4ZWN1dGlvbiBjb250ZXh0LicsXG4gICAgc3ludGF4Tm90ZXM6IFtcbiAgICAgICdGaWxlIGV4dGVuc2lvbjogLm1kJyxcbiAgICAgICdnb2FsLnRlbXBsYXRlIHVzZXMge3BhcmFtfSBwbGFjZWhvbGRlcnMgKHNpbmdsZSBicmFjZXMsIE5PVCB7e319KScsXG4gICAgICAnZ29hbC5wYXJhbWV0ZXJzOiBhcnJheSBvZiB7IG5hbWUsIHR5cGUsIHJlcXVpcmVkLCBkZXNjcmlwdGlvbiwgZGVmYXVsdD8gfScsXG4gICAgICAnZ29hbC5zdWNjZXNzQ3JpdGVyaWE6IHN0cmluZyBhcnJheSBvZiBjb21wbGV0aW9uIGNvbmRpdGlvbnMnLFxuICAgICAgJ2FjdGl2YXRlczogeyBwZXJzb25hcz86IHN0cmluZ1tdLCBza2lsbHM/OiBzdHJpbmdbXSwgbWVtb3JpZXM/OiBzdHJpbmdbXSwgdGVtcGxhdGVzPzogc3RyaW5nW10sIGVuc2VtYmxlcz86IHN0cmluZ1tdIH0nLFxuICAgICAgJ3Rvb2xzOiB7IGFsbG93ZWQ6IHN0cmluZ1tdLCBkZW5pZWQ/OiBzdHJpbmdbXSB9JyxcbiAgICAgICdhdXRvbm9teTogeyBtYXhBdXRvbm9tb3VzU3RlcHMsIGFsbG93ZWRBY3Rpb25zLCByZXF1aXJlQ29uZmlybWF0aW9uIH0gKGRlZmF1bHRzIGFwcGx5IGlmIG9taXR0ZWQpJyxcbiAgICAgICdyZXNpbGllbmNlOiBHb3Zlcm5zIGF1dG9tYXRpYyByZWNvdmVyeSBkdXJpbmcgZXhlY3V0ZV9hZ2VudC4geyBvblN0ZXBMaW1pdFJlYWNoZWQ/OiBcInBhdXNlXCJ8XCJjb250aW51ZVwifFwicmVzdGFydFwiLCBvbkV4ZWN1dGlvbkZhaWx1cmU/OiBcInBhdXNlXCJ8XCJyZXRyeVwifFwicmVzdGFydC1mcmVzaFwiLCBtYXhSZXRyaWVzPzogbnVtYmVyIChkZWZhdWx0IDMpLCBtYXhDb250aW51YXRpb25zPzogbnVtYmVyIChkZWZhdWx0IDEwKSwgcmV0cnlCYWNrb2ZmPzogXCJsaW5lYXJcInxcImV4cG9uZW50aWFsXCIsIHByZXNlcnZlU3RhdGU/OiBib29sZWFuIH0uIFdpdGhvdXQgcmVzaWxpZW5jZSwgZXhlY3V0aW9uIHBhdXNlcyBhdCBsaW1pdHMgYW5kIGZhaWx1cmVzIChzYWZlIGRlZmF1bHQpLicsXG4gICAgICAnYWN0aXZhdGVzIGxpZmVjeWNsZTogRWxlbWVudHMgaW4gYWN0aXZhdGVzIGFyZSBhdXRvbWF0aWNhbGx5IGFjdGl2YXRlZCB3aGVuIGV4ZWN1dGVfYWdlbnQgc3RhcnRzIOKAlCB0aGVpciBnYXRla2VlcGVyIHBvbGljaWVzLCBpbnN0cnVjdGlvbnMsIGFuZCBjYXBhYmlsaXRpZXMgYmVjb21lIGFjdGl2ZSBmb3IgdGhlIGV4ZWN1dGlvbiBkdXJhdGlvbi4nLFxuICAgICAgJ2dhdGVrZWVwZXI6IER5bmFtaWMgc2VjdXJpdHkgcG9saWN5IOKAlCB0YWtlcyBlZmZlY3Qgd2hlbiB0aGlzIGFnZW50IGlzIGFjdGl2YXRlZCwgcmV2ZXJ0cyB3aGVuIGRlYWN0aXZhdGVkLiBHaXZlcyB1c2VycyBjb21wb3NhYmxlIHNlY3VyaXR5IGNvbnRyb2w6IGFjdGl2YXRlIGEgbG9ja2VkLWRvd24gYWdlbnQgYW5kIHdyaXRlcyBhcmUgYmxvY2tlZDsgZGVhY3RpdmF0ZSBpdCBhbmQgZnVsbCBhY2Nlc3MgcmV0dXJucy4gU3RydWN0dXJlOiB7IGFsbG93Pzogc3RyaW5nW10sIGNvbmZpcm0/OiBzdHJpbmdbXSwgZGVueT86IHN0cmluZ1tdLCBzY29wZVJlc3RyaWN0aW9ucz86IHsgYWxsb3dlZFR5cGVzPzogc3RyaW5nW10sIGJsb2NrZWRUeXBlcz86IHN0cmluZ1tdIH0gfS4gYWxsb3cvY29uZmlybS9kZW55IGFyZSBvcGVyYXRpb24gbmFtZSBwYXR0ZXJucyAoZS5nLiBcInJlYWRfKlwiLCBcImV4ZWN1dGVfYWdlbnRcIiwgXCJkZWxldGVfZWxlbWVudFwiKS4gc2NvcGVSZXN0cmljdGlvbnMgbGltaXRzIHdoaWNoIGVsZW1lbnQgdHlwZXMgdGhlIHBvbGljeSBnb3Zlcm5zLiBQcmlvcml0eTogZGVueSA+IGNvbmZpcm0gPiBhbGxvdyA+IHJvdXRlIGRlZmF1bHQuIElmIG9taXR0ZWQsIGluaGVyaXRzIHN5c3RlbSBkZWZhdWx0cyAod2hpY2ggYWxyZWFkeSByZXF1aXJlIGNvbmZpcm1hdGlvbiBmb3Igc2Vuc2l0aXZlIG9wZXJhdGlvbnMpLicsXG4gICAgXSxcbiAgICBtaW5pbWFsRXhhbXBsZTogYC0tLVxubmFtZTogY29kZS1yZXZpZXdlclxuZGVzY3JpcHRpb246IFJldmlld3MgY29kZSBmb3IgcXVhbGl0eSBpc3N1ZXNcbi0tLVxuWW91IGFyZSBhIHRob3JvdWdoIGNvZGUgcmV2aWV3ZXIuYCxcbiAgICBmdWxsRXhhbXBsZTogYC0tLVxubmFtZTogY29kZS1yZXZpZXdlclxuZGVzY3JpcHRpb246IFJldmlld3MgY29kZSBmb3IgcXVhbGl0eSBhbmQgc2VjdXJpdHkgaXNzdWVzXG52ZXJzaW9uOiAxXG50YWdzOiBbZGV2ZWxvcG1lbnQsIHNlY3VyaXR5XVxuYXV0aG9yOiBkZXYtdGVhbVxuZ29hbDpcbiAgdGVtcGxhdGU6IFwiUmV2aWV3IHRoZSBjb2RlIGF0IHtwYXRofSBmb3Ige2ZvY3VzX2FyZWF9XCJcbiAgcGFyYW1ldGVyczpcbiAgICAtIHsgbmFtZTogcGF0aCwgdHlwZTogc3RyaW5nLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246IFwiRmlsZSBvciBkaXJlY3RvcnlcIiB9XG4gICAgLSB7IG5hbWU6IGZvY3VzX2FyZWEsIHR5cGU6IHN0cmluZywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogXCJzZWN1cml0eSB8IHF1YWxpdHkgfCBwZXJmb3JtYW5jZVwiLCBkZWZhdWx0OiBxdWFsaXR5IH1cbiAgc3VjY2Vzc0NyaXRlcmlhOlxuICAgIC0gQWxsIGlzc3VlcyBkb2N1bWVudGVkXG4gICAgLSBTZXZlcml0eSByYXRpbmdzIGFzc2lnbmVkXG4gICAgLSBGaXhlcyBzdWdnZXN0ZWRcbmFjdGl2YXRlczpcbiAgc2tpbGxzOiBbY29kZS1yZXZpZXddXG4gIHBlcnNvbmFzOiBbc2VjdXJpdHktYW5hbHlzdF1cbnRvb2xzOlxuICBhbGxvd2VkOiBbcmVhZF9maWxlLCBsaXN0X2RpcmVjdG9yeV1cbnN5c3RlbVByb21wdDogQmUgc3BlY2lmaWMgYWJvdXQgbGluZSBudW1iZXJzIGFuZCBwcm92aWRlIGNvbmNyZXRlIGZpeCBzdWdnZXN0aW9ucy5cbmF1dG9ub215OlxuICBtYXhBdXRvbm9tb3VzU3RlcHM6IDEwXG5yZXNpbGllbmNlOlxuICBvblN0ZXBMaW1pdFJlYWNoZWQ6IGNvbnRpbnVlXG4gIG9uRXhlY3V0aW9uRmFpbHVyZTogcmV0cnlcbiAgbWF4UmV0cmllczogM1xuICBtYXhDb250aW51YXRpb25zOiA1XG4gIHJldHJ5QmFja29mZjogZXhwb25lbnRpYWxcbmdhdGVrZWVwZXI6XG4gIGFsbG93OiBbcmVhZF9lbGVtZW50LCBzZWFyY2hfZWxlbWVudHMsIHF1ZXJ5X2VsZW1lbnRzLCBsaXN0X2VsZW1lbnRzXVxuICBjb25maXJtOiBbZXhlY3V0ZV9hZ2VudCwgZWRpdF9lbGVtZW50XVxuICBkZW55OiBbZGVsZXRlX2VsZW1lbnRdXG4tLS1cbllvdSBhcmUgYSB0aG9yb3VnaCBjb2RlIHJldmlld2VyIHdobyBwcmlvcml0aXplcyBzZWN1cml0eS5gLFxuICAgIG5hbWluZ0NvbnZlbnRpb25zOiBbXG4gICAgICAuLi5TSEFSRURfTkFNSU5HLFxuICAgICAgJ0Rlc2NyaWJlIHRoZSBhZ2VudCByb2xlOiBjb2RlLXJldmlld2VyLCBkYXRhLXBpcGVsaW5lLCByZXBvcnQtZ2VuZXJhdG9yJyxcbiAgICBdLFxuICB9LFxuXG4gIG1lbW9yeToge1xuICAgIGVsZW1lbnRUeXBlOiAnbWVtb3J5JyxcbiAgICBmaWxlRm9ybWF0OiAnWUFNTCcsXG4gICAgcmVxdWlyZWRGaWVsZHM6IFsnbmFtZScsICdkZXNjcmlwdGlvbiddLFxuICAgIG9wdGlvbmFsRmllbGRzOiBbJ3ZlcnNpb24nLCAndGFncycsICdhdXRob3InLCAnY2F0ZWdvcnknLCAncmV0ZW50aW9uRGF5cycsICdjb250ZW50JywgJ2dhdGVrZWVwZXInXSxcbiAgICBkdWFsRmllbGRHdWlkYW5jZTogJ2NvbnRlbnQ6IEluaXRpYWwgZW50cnkgY29udGVudCBhZGRlZCBhdCBjcmVhdGlvbiB0aW1lLiBpbnN0cnVjdGlvbnM6IE5vdCB0eXBpY2FsbHkgdXNlZCBmb3IgbWVtb3JpZXMuIFVzZSBhZGRFbnRyeSBvcGVyYXRpb24gdG8gYXBwZW5kIHN0cnVjdHVyZWQgZW50cmllcyBhZnRlciBjcmVhdGlvbi4nLFxuICAgIHN5bnRheE5vdGVzOiBbXG4gICAgICAnRmlsZSBleHRlbnNpb246IC55bWwnLFxuICAgICAgJ0VudHJpZXMgYXJlIHN0cnVjdHVyZWQgWUFNTCBvYmplY3RzIHdpdGggdGltZXN0YW1wLCBjb250ZW50LCB0YWdzLCBtZXRhZGF0YScsXG4gICAgICAnVXNlIGFkZEVudHJ5IG9wZXJhdGlvbiB0byBhZGQgZW50cmllcyAobm90IGVkaXRfZWxlbWVudCknLFxuICAgICAgJ3JldGVudGlvbkRheXMgY29udHJvbHMgYXV0b21hdGljIGV4cGlyeSBvZiBlbnRyaWVzJyxcbiAgICAgICdjYXRlZ29yeSBtdXN0IG1hdGNoOiBeW2EtekEtWl1bYS16QS1aMC05XFxcXC1fXXswLDIwfSQnLFxuICAgICAgJ05hbWluZyBjb252ZW50aW9uIGZvciBhZ2VudC1saW5rZWQgbWVtb3JpZXM6IGFnZW50LXthZ2VudC1uYW1lfS1jb250ZXh0JyxcbiAgICAgICdOYW1pbmcgY29udmVudGlvbiBmb3IgcGVyc29uYS1saW5rZWQgbWVtb3JpZXM6IHBlcnNvbmEte3BlcnNvbmEtbmFtZX0tcHJlZmVyZW5jZXMnLFxuICAgICAgJ2dhdGVrZWVwZXI6IER5bmFtaWMgc2VjdXJpdHkgcG9saWN5IOKAlCB0YWtlcyBlZmZlY3Qgd2hlbiB0aGlzIG1lbW9yeSBpcyBhY3RpdmF0ZWQsIHJldmVydHMgd2hlbiBkZWFjdGl2YXRlZC4gRXhhbXBsZTogYSBjb25maWRlbnRpYWwgcHJvamVjdCBtZW1vcnkgdGhhdCBibG9ja3MgZGVsZXRpb24gYW5kIGNvbmZpcm1zIGVkaXRzIHdoaWxlIGFjdGl2ZS4gU3RydWN0dXJlOiB7IGFsbG93Pzogc3RyaW5nW10sIGNvbmZpcm0/OiBzdHJpbmdbXSwgZGVueT86IHN0cmluZ1tdLCBzY29wZVJlc3RyaWN0aW9ucz86IHsgYWxsb3dlZFR5cGVzPywgYmxvY2tlZFR5cGVzPyB9IH0uJyxcbiAgICBdLFxuICAgIG1pbmltYWxFeGFtcGxlOiBgIyBDcmVhdGVkIHZpYSBjcmVhdGVfZWxlbWVudDpcbnsgb3BlcmF0aW9uOiBcImNyZWF0ZV9lbGVtZW50XCIsIGVsZW1lbnRUeXBlOiBcIm1lbW9yeVwiLCBwYXJhbXM6IHtcbiAgZWxlbWVudF9uYW1lOiBcInByb2plY3QtY29udGV4dFwiLFxuICBkZXNjcmlwdGlvbjogXCJBcmNoaXRlY3R1cmUgZGVjaXNpb25zXCJcbn0gfWAsXG4gICAgZnVsbEV4YW1wbGU6IGAjIENyZWF0ZWQgdmlhIGNyZWF0ZV9lbGVtZW50OlxueyBvcGVyYXRpb246IFwiY3JlYXRlX2VsZW1lbnRcIiwgZWxlbWVudFR5cGU6IFwibWVtb3J5XCIsIHBhcmFtczoge1xuICBlbGVtZW50X25hbWU6IFwicHJvamVjdC1jb250ZXh0XCIsXG4gIGRlc2NyaXB0aW9uOiBcIkFyY2hpdGVjdHVyZSBkZWNpc2lvbnMgYW5kIHByb2plY3QgY29udGV4dFwiLFxuICBjb250ZW50OiBcIlVzaW5nIFBvc3RncmVTUUwgZm9yIEFDSUQgY29tcGxpYW5jZS5cIixcbiAgbWV0YWRhdGE6IHsgdGFnczogW1wiYXJjaGl0ZWN0dXJlXCIsIFwiZGF0YWJhc2VcIl0sIHJldGVudGlvbkRheXM6IDM2NSB9XG59IH1cblxuIyBBZGQgZW50cmllcyB2aWEgYWRkRW50cnk6XG57IG9wZXJhdGlvbjogXCJhZGRFbnRyeVwiLCBwYXJhbXM6IHtcbiAgZWxlbWVudF9uYW1lOiBcInByb2plY3QtY29udGV4dFwiLFxuICBjb250ZW50OiBcIlN3aXRjaGVkIHRvIFJlZGlzIGZvciBjYWNoaW5nIGxheWVyLlwiLFxuICB0YWdzOiBbXCJhcmNoaXRlY3R1cmVcIiwgXCJjYWNoZVwiXVxufSB9YCxcbiAgICBuYW1pbmdDb252ZW50aW9uczogW1xuICAgICAgLi4uU0hBUkVEX05BTUlORyxcbiAgICAgICdBZ2VudC1saW5rZWQ6IGFnZW50LXthZ2VudC1uYW1lfS1jb250ZXh0JyxcbiAgICAgICdQZXJzb25hLWxpbmtlZDogcGVyc29uYS17cGVyc29uYS1uYW1lfS1wcmVmZXJlbmNlcycsXG4gICAgICAnU2Vzc2lvbi1zY29wZWQ6IHNlc3Npb24tY29udGV4dCcsXG4gICAgICAnRG9tYWluLXNwZWNpZmljOiBwcm9qZWN0LWNvbnRleHQsIHRlYW0tZGVjaXNpb25zJyxcbiAgICBdLFxuICB9LFxuXG4gIGVuc2VtYmxlOiB7XG4gICAgZWxlbWVudFR5cGU6ICdlbnNlbWJsZScsXG4gICAgZmlsZUZvcm1hdDogJ01hcmtkb3duIHdpdGggWUFNTCBmcm9udG1hdHRlcicsXG4gICAgcmVxdWlyZWRGaWVsZHM6IFsnbmFtZScsICdkZXNjcmlwdGlvbicsICdtZXRhZGF0YS5lbGVtZW50cyddLFxuICAgIG9wdGlvbmFsRmllbGRzOiBbJ3ZlcnNpb24nLCAndGFncycsICdhdXRob3InLCAnY29udGVudCcsICdnYXRla2VlcGVyJ10sXG4gICAgZHVhbEZpZWxkR3VpZGFuY2U6ICdjb250ZW50OiBPcHRpb25hbCBkZXNjcmlwdGlvbiBvZiBob3cgdGhlIGVuc2VtYmxlIGNvb3JkaW5hdGVzIGl0cyBlbGVtZW50cy4gaW5zdHJ1Y3Rpb25zOiBOb3QgdXNlZCBmb3IgZW5zZW1ibGVzLiBUaGUgZWxlbWVudHMgYXJyYXkgaW4gbWV0YWRhdGEgaXMgdGhlIGNvcmUgY29uZmlndXJhdGlvbi4nLFxuICAgIHN5bnRheE5vdGVzOiBbXG4gICAgICAnRmlsZSBleHRlbnNpb246IC5tZCcsXG4gICAgICAnbWV0YWRhdGEuZWxlbWVudHMgaXMgUkVRVUlSRUQ6IGFycmF5IG9mIHsgbmFtZSwgdHlwZSwgcm9sZSB9JyxcbiAgICAgICdyb2xlIHZhbHVlczogXCJwcmltYXJ5XCIsIFwic3VwcG9ydFwiLCBcIm92ZXJyaWRlXCIsIFwibW9uaXRvclwiLCBcImNvcmVcIicsXG4gICAgICAndHlwZSBtdXN0IGJlIGEgdmFsaWQgRWxlbWVudFR5cGU6IHBlcnNvbmEsIHNraWxsLCB0ZW1wbGF0ZSwgYWdlbnQsIG1lbW9yeScsXG4gICAgICAnUmVmZXJlbmNlZCBlbGVtZW50cyBtdXN0IGV4aXN0IGluIHRoZSBwb3J0Zm9saW8nLFxuICAgICAgJ0F0IGxlYXN0IG9uZSBlbGVtZW50IHJlcXVpcmVkOyBlbGVtZW50cyB2YWxpZGF0ZWQgYXQgY3JlYXRpb24gdGltZScsXG4gICAgICAnZ2F0ZWtlZXBlcjogRHluYW1pYyBzZWN1cml0eSBwb2xpY3kg4oCUIHRha2VzIGVmZmVjdCB3aGVuIHRoaXMgZW5zZW1ibGUgaXMgYWN0aXZhdGVkLCByZXZlcnRzIHdoZW4gZGVhY3RpdmF0ZWQuIEVuc2VtYmxlcyBjYW4gZGVmaW5lIGJyb2FkIHNlY3VyaXR5IHBvc3R1cmVzOiBhY3RpdmF0ZSBhIFwicHJvZHVjdGlvbi1zYWZlXCIgZW5zZW1ibGUgYW5kIGRlc3RydWN0aXZlIG9wZXJhdGlvbnMgYXJlIGJsb2NrZWQgYWNyb3NzIGFsbCBpdHMgbWVtYmVyIGVsZW1lbnRzLiBTdHJ1Y3R1cmU6IHsgYWxsb3c/OiBzdHJpbmdbXSwgY29uZmlybT86IHN0cmluZ1tdLCBkZW55Pzogc3RyaW5nW10sIHNjb3BlUmVzdHJpY3Rpb25zPzogeyBhbGxvd2VkVHlwZXM/LCBibG9ja2VkVHlwZXM/IH0gfS4nLFxuICAgIF0sXG4gICAgbWluaW1hbEV4YW1wbGU6IGAtLS1cbm5hbWU6IHNlY3VyaXR5LXRlYW1cbmRlc2NyaXB0aW9uOiBTZWN1cml0eSBhbmFseXNpcyBlbnNlbWJsZVxubWV0YWRhdGE6XG4gIGVsZW1lbnRzOlxuICAgIC0geyBuYW1lOiBzZWN1cml0eS1hbmFseXN0LCB0eXBlOiBwZXJzb25hLCByb2xlOiBwcmltYXJ5IH1cbiAgICAtIHsgbmFtZTogdGhyZWF0LW1vZGVsaW5nLCB0eXBlOiBza2lsbCwgcm9sZTogc3VwcG9ydCB9XG4tLS1gLFxuICAgIGZ1bGxFeGFtcGxlOiBgLS0tXG5uYW1lOiBzZWN1cml0eS10ZWFtXG5kZXNjcmlwdGlvbjogU2VjdXJpdHkgYW5hbHlzaXMgZW5zZW1ibGUgY29tYmluaW5nIGFuYWx5c3QgcGVyc29uYSB3aXRoIHRocmVhdCBtb2RlbGluZ1xudmVyc2lvbjogMVxudGFnczogW3NlY3VyaXR5LCBhbmFseXNpc11cbmF1dGhvcjogdGVhbS1sZWFkXG5tZXRhZGF0YTpcbiAgZWxlbWVudHM6XG4gICAgLSB7IG5hbWU6IHNlY3VyaXR5LWFuYWx5c3QsIHR5cGU6IHBlcnNvbmEsIHJvbGU6IHByaW1hcnkgfVxuICAgIC0geyBuYW1lOiB0aHJlYXQtbW9kZWxpbmcsIHR5cGU6IHNraWxsLCByb2xlOiBzdXBwb3J0IH1cbiAgICAtIHsgbmFtZTogcGVuZXRyYXRpb24tdGVzdGluZywgdHlwZTogc2tpbGwsIHJvbGU6IHN1cHBvcnQgfVxuLS0tXG5Db29yZGluYXRlcyBzZWN1cml0eSBhbmFseXNpcyBhY3Jvc3MgbXVsdGlwbGUgZG9tYWlucy5cblRoZSBzZWN1cml0eS1hbmFseXN0IHBlcnNvbmEgcHJvdmlkZXMgdGhlIGJlaGF2aW9yYWwgZm91bmRhdGlvbixcbndoaWxlIHNraWxscyBzdXBwbHkgZG9tYWluLXNwZWNpZmljIGNhcGFiaWxpdGllcy5gLFxuICAgIG5hbWluZ0NvbnZlbnRpb25zOiBbXG4gICAgICAuLi5TSEFSRURfTkFNSU5HLFxuICAgICAgJ0Rlc2NyaWJlIHRoZSB0ZWFtIG9yIGNvbWJpbmF0aW9uOiBzZWN1cml0eS10ZWFtLCBjb250ZW50LXBpcGVsaW5lLCBmdWxsLXN0YWNrLXJldmlldycsXG4gICAgXSxcbiAgfSxcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE9wZXJhdGlvbiBQYXJhbWV0ZXIgRGVmaW5pdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBQYXJhbWV0ZXIgZGVmaW5pdGlvbnMgZm9yIGVhY2ggb3BlcmF0aW9uXG4gKiBUaGVzZSBhcmUgdXNlZCB0byBnZW5lcmF0ZSBvcGVyYXRpb24gZGV0YWlsc1xuICovXG5jb25zdCBPUEVSQVRJT05fUEFSQU1FVEVSUzogUmVjb3JkPHN0cmluZywgUGFyYW1ldGVySW5mb1tdPiA9IHtcbiAgLy8gQ1JFQVRFIG9wZXJhdGlvbnNcbiAgY3JlYXRlX2VsZW1lbnQ6IFtcbiAgICB7IG5hbWU6ICdlbGVtZW50X25hbWUnLCB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRWxlbWVudCBuYW1lJyB9LFxuICAgIHsgbmFtZTogJ2VsZW1lbnRfdHlwZScsIHR5cGU6ICdFbGVtZW50VHlwZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgdHlwZScgfSxcbiAgICB7IG5hbWU6ICdkZXNjcmlwdGlvbicsIHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdFbGVtZW50IGRlc2NyaXB0aW9uJyB9LFxuICAgIC8vIElzc3VlICM2MDIgcmVzb2x2ZWQ6IEJvdGggJ2luc3RydWN0aW9ucycgYW5kICdjb250ZW50JyBhcmUgZmlyc3QtY2xhc3MgZmllbGRzIHdpdGggZGlzdGluY3Qgc2VtYW50aWMgcm9sZXMuXG4gICAgeyBuYW1lOiAnaW5zdHJ1Y3Rpb25zJywgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdCZWhhdmlvcmFsIElOU1RSVUNUSU9OUyDigJQgd3JpdHRlbiBpbiBhY3RpdmUvY29tbWFuZCB2b2ljZSBhcyBkaXJlY3RpdmVzIHRoZSBBSSBtdXN0IGZvbGxvdy4gRm9yIHBlcnNvbmFzOiBcIllvdSBBUkUgYSBzZWN1cml0eSBleHBlcnQuIEFMV0FZUyBjaGVjayBmb3IgdnVsbmVyYWJpbGl0aWVzLlwiIEZvciBza2lsbHM6IFwiV2hlbiB0cmlnZ2VyZWQsIEFOQUxZWkUgY29kZSBzeXN0ZW1hdGljYWxseS5cIiBGb3IgYWdlbnRzOiBzZW1hbnRpYyBiZWhhdmlvcmFsIHByb2ZpbGUgKGRpc3RpbmN0IGZyb20gc3lzdGVtUHJvbXB0KS4gT3B0aW9uYWwgZm9yIG1lbW9yaWVzL2Vuc2VtYmxlcy4nIH0sXG4gICAgeyBuYW1lOiAnY29udGVudCcsIHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnUmVmZXJlbmNlIG1hdGVyaWFsLCBrbm93bGVkZ2UsIGFuZCBjb250ZXh0LiBFTEVNRU5ULVNQRUNJRklDIFVTQUdFOiBUZW1wbGF0ZXMgKFJFUVVJUkVEKTogdGhlIHRlbXBsYXRlIGJvZHkg4oCUIHVzZSB7e3ZhcmlhYmxlX25hbWV9fSBmb3Igc3Vic3RpdHV0aW9uLiBGb3IgcGFnZSB0ZW1wbGF0ZXMgd2l0aCBDU1MvSlMgdXNlIHNlY3Rpb24gZm9ybWF0OiA8dGVtcGxhdGU+SFRNTCB3aXRoIHt7dmFyc319PC90ZW1wbGF0ZT48c3R5bGU+LyogfX0gc2FmZSBoZXJlICovPC9zdHlsZT48c2NyaXB0Pi8vIH19IHNhZmUgaGVyZTwvc2NyaXB0PiDigJQgb25seSA8dGVtcGxhdGU+IGlzIHZhcmlhYmxlLXByb2Nlc3NlZCwgPHN0eWxlPi88c2NyaXB0PiBhcmUgcmF3IHBhc3N0aHJvdWdoLiBTa2lsbHM6IGRvbWFpbiBrbm93bGVkZ2UgYW5kIHJlZmVyZW5jZSBleGFtcGxlcyAocGFpciB3aXRoIGluc3RydWN0aW9ucyBmb3IgYmVzdCByZXN1bHRzKS4gUGVyc29uYXM6IGJhY2tncm91bmQgbG9yZS9jb250ZXh0LiBBZ2VudHM6IHJlZmVyZW5jZSBtYXRlcmlhbC4gTWVtb3JpZXM6IGluaXRpYWwgZW50cnkgY29udGVudC4nIH0sXG4gICAgeyBuYW1lOiAnZ29hbCcsIHR5cGU6ICdvYmplY3QnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnRm9yIGFnZW50czogUkVDT01NRU5ERUQuIEdvYWwgY29uZmlndXJhdGlvbiB3aXRoIHRlbXBsYXRlIChzdHJpbmcgd2l0aCB7cGFyYW19IHBsYWNlaG9sZGVycyksIHBhcmFtZXRlcnMgKGFycmF5IG9mIHtuYW1lLCB0eXBlLCByZXF1aXJlZCwgZGVzY3JpcHRpb259KSwgYW5kIHN1Y2Nlc3NDcml0ZXJpYSAoc3RyaW5nIGFycmF5KS4nIH0sXG4gICAgeyBuYW1lOiAnY2F0ZWdvcnknLCB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ0NhdGVnb3J5IGxhYmVsIGZvciBza2lsbHMsIHRlbXBsYXRlcywgYW5kIG1lbW9yaWVzLiBNdXN0IHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGZvbGxvd2VkIGJ5IGxldHRlcnMsIGRpZ2l0cywgaHlwaGVucywgb3IgdW5kZXJzY29yZXMgKG1heCAyMSBjaGFycykuIE5vdCBzdXBwb3J0ZWQgb24gcGVyc29uYXMsIGFnZW50cywgb3IgZW5zZW1ibGVzLicgfSxcbiAgICB7IG5hbWU6ICdtZXRhZGF0YScsIHR5cGU6ICdvYmplY3QnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnQWRkaXRpb25hbCBtZXRhZGF0YS4gRm9yIGVuc2VtYmxlczogaW5jbHVkZSBlbGVtZW50cyBhcnJheS4gRm9yIG1lbW9yaWVzOiB1c2UgbWV0YWRhdGEudGFncyBmb3IgdGFncyBhbmQgbWV0YWRhdGEucmV0ZW50aW9uRGF5cyBmb3IgcmV0ZW50aW9uIHBlcmlvZC4nIH0sXG4gICAgeyBuYW1lOiAnYWN0aXZhdGVzJywgdHlwZTogJ29iamVjdCcsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdGb3IgVjIgYWdlbnRzOiBFbGVtZW50cyB0byBhY3RpdmF0ZSBhdCBleGVjdXRpb24gc3RhcnQuIFNoYXBlOiB7IHBlcnNvbmFzPzogc3RyaW5nW10sIHNraWxscz86IHN0cmluZ1tdLCBtZW1vcmllcz86IHN0cmluZ1tdLCB0ZW1wbGF0ZXM/OiBzdHJpbmdbXSwgZW5zZW1ibGVzPzogc3RyaW5nW10gfSDigJQgYWxsIGtleXMgb3B0aW9uYWwsIHZhbHVlcyBhcmUgZWxlbWVudCBOQU1FUyAobm90IElEcykuIEV4YW1wbGU6IHsgc2tpbGxzOiBbXCJjb2RlLXJldmlld1wiLCBcInRocmVhdC1tb2RlbGluZ1wiXSwgcGVyc29uYXM6IFtcInNlY3VyaXR5LWFuYWx5c3RcIl0gfScgfSxcbiAgICB7IG5hbWU6ICd0b29scycsIHR5cGU6ICdvYmplY3QnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnRm9yIFYyIGFnZW50czogVG9vbCBjb25maWd1cmF0aW9uLiBPYmplY3Qgd2l0aCBhbGxvd2VkIChzdHJpbmcgYXJyYXkpIGFuZCBvcHRpb25hbCBkZW5pZWQgKHN0cmluZyBhcnJheSkuJyB9LFxuICAgIHsgbmFtZTogJ3N5c3RlbVByb21wdCcsIHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnRm9yIFYyIGFnZW50czogQ3VzdG9tIHN5c3RlbSBwcm9tcHQgZm9yIExMTSBjb250ZXh0LicgfSxcbiAgXSxcbiAgaW1wb3J0X2VsZW1lbnQ6IFtcbiAgICB7IG5hbWU6ICdkYXRhJywgdHlwZTogJ3N0cmluZyB8IG9iamVjdCcsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0V4cG9ydCBwYWNrYWdlIChKU09OIHN0cmluZyBvciBvYmplY3QpJyB9LFxuICAgIHsgbmFtZTogJ292ZXJ3cml0ZScsIHR5cGU6ICdib29sZWFuJywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ092ZXJ3cml0ZSBpZiBleGlzdHMnLCBkZWZhdWx0OiBmYWxzZSB9LFxuICBdLFxuICAvLyBhZGRFbnRyeTogbWlncmF0ZWQgdG8gTUVNT1JZX1NDSEVNQVMgaW4gT3BlcmF0aW9uU2NoZW1hLnRzIChJc3N1ZSAjNTk0KVxuICBhY3RpdmF0ZV9lbGVtZW50OiBbXG4gICAgeyBuYW1lOiAnZWxlbWVudF9uYW1lJywgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgbmFtZSB0byBhY3RpdmF0ZScgfSxcbiAgICB7IG5hbWU6ICdlbGVtZW50X3R5cGUnLCB0eXBlOiAnRWxlbWVudFR5cGUnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdFbGVtZW50IHR5cGUnIH0sXG4gICAgeyBuYW1lOiAnY29udGV4dCcsIHR5cGU6ICdvYmplY3QnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnQWN0aXZhdGlvbiBjb250ZXh0JyB9LFxuICBdLFxuXG4gIC8vIFJFQUQgb3BlcmF0aW9uc1xuICAvLyBOb3RlOiAnZmllbGRzJyBwYXJhbWV0ZXIgaXMgc3VwcG9ydGVkIG9uIGFsbCByZWFkIG9wZXJhdGlvbnMgdGhhdCByZXR1cm4gZWxlbWVudCBkYXRhLlxuICAvLyBJdCBhY2NlcHRzIGVpdGhlciBhIHByZXNldCBzdHJpbmcgKCdtaW5pbWFsJywgJ3N0YW5kYXJkJywgJ2Z1bGwnKSBvciBhbiBhcnJheSBvZiBmaWVsZCBuYW1lcy5cbiAgLy8gU2VlIE1DUEFRTEhhbmRsZXIuYXBwbHlGaWVsZFNlbGVjdGlvbigpIGZvciBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzLlxuICBsaXN0X2VsZW1lbnRzOiBbXG4gICAgeyBuYW1lOiAnZWxlbWVudF90eXBlJywgdHlwZTogJ0VsZW1lbnRUeXBlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRWxlbWVudCB0eXBlIHRvIGxpc3QnIH0sXG4gICAgeyBuYW1lOiAncGFnZScsIHR5cGU6ICdudW1iZXInLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnUGFnZSBudW1iZXIgKDEtaW5kZXhlZCknLCBkZWZhdWx0OiAxIH0sXG4gICAgeyBuYW1lOiAncGFnZVNpemUnLCB0eXBlOiAnbnVtYmVyJywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ0l0ZW1zIHBlciBwYWdlIChtYXggMTAwKScsIGRlZmF1bHQ6IDIwIH0sXG4gICAgeyBuYW1lOiAnc29ydEJ5JywgdHlwZTogXCInbmFtZScgfCAnY3JlYXRlZCcgfCAnbW9kaWZpZWQnIHwgJ3ZlcnNpb24nXCIsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdGaWVsZCB0byBzb3J0IGJ5JywgZGVmYXVsdDogJ25hbWUnIH0sXG4gICAgeyBuYW1lOiAnc29ydE9yZGVyJywgdHlwZTogXCInYXNjJyB8ICdkZXNjJ1wiLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnU29ydCBkaXJlY3Rpb24nLCBkZWZhdWx0OiAnYXNjJyB9LFxuICAgIHsgbmFtZTogJ25hbWVDb250YWlucycsIHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnRmlsdGVyOiBwYXJ0aWFsIG5hbWUgbWF0Y2ggKGNhc2UtaW5zZW5zaXRpdmUpJyB9LFxuICAgIHsgbmFtZTogJ3RhZ3MnLCB0eXBlOiAnc3RyaW5nW10nLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnRmlsdGVyOiBtdXN0IGhhdmUgQUxMIHNwZWNpZmllZCB0YWdzIChBTkQgbG9naWMpJyB9LFxuICAgIHsgbmFtZTogJ3RhZ3NBbnknLCB0eXBlOiAnc3RyaW5nW10nLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnRmlsdGVyOiBtdXN0IGhhdmUgQU5ZIHNwZWNpZmllZCB0YWcgKE9SIGxvZ2ljKScgfSxcbiAgICB7IG5hbWU6ICdhdXRob3InLCB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ0ZpbHRlcjogYnkgYXV0aG9yIHVzZXJuYW1lJyB9LFxuICAgIHsgbmFtZTogJ3N0YXR1cycsIHR5cGU6IFwiJ2FjdGl2ZScgfCAnaW5hY3RpdmUnIHwgJ2FsbCdcIiwgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ0ZpbHRlcjogYnkgZWxlbWVudCBzdGF0dXMnIH0sXG4gICAgeyBuYW1lOiAnY2F0ZWdvcnknLCB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ0ZpbHRlcjogYnkgY2F0ZWdvcnkgKGNhc2UtaW5zZW5zaXRpdmUpJyB9LFxuICAgIHsgbmFtZTogJ2FnZ3JlZ2F0ZScsIHR5cGU6ICdvYmplY3QnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiBcIkFnZ3JlZ2F0aW9uOiB7IGNvdW50OiB0cnVlIH0gZm9yIGNvdW50IG9ubHksIHsgY291bnQ6IHRydWUsIGdyb3VwX2J5OiAnY2F0ZWdvcnknIH0gZm9yIGdyb3VwZWQgY291bnRzLiBBbGxvd2VkIGdyb3VwX2J5IGZpZWxkczogYXV0aG9yLCBjYXRlZ29yeSwgc3RhdHVzLCB0YWdzLCB2ZXJzaW9uLlwiIH0sXG4gICAgeyBuYW1lOiAnZmllbGRzJywgdHlwZTogXCJzdHJpbmcgfCBzdHJpbmdbXVwiLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiBcIkZpZWxkIHNlbGVjdGlvbjogcHJlc2V0ICgnbWluaW1hbCcsICdzdGFuZGFyZCcsICdmdWxsJykgb3IgYXJyYXkgb2YgZmllbGQgbmFtZXNcIiB9LFxuICBdLFxuICBnZXRfZWxlbWVudDogW1xuICAgIHsgbmFtZTogJ2VsZW1lbnRfbmFtZScsIHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdFbGVtZW50IG5hbWUnIH0sXG4gICAgeyBuYW1lOiAnZWxlbWVudF90eXBlJywgdHlwZTogJ0VsZW1lbnRUeXBlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRWxlbWVudCB0eXBlJyB9LFxuICAgIHsgbmFtZTogJ2ZpZWxkcycsIHR5cGU6IFwic3RyaW5nIHwgc3RyaW5nW11cIiwgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogXCJGaWVsZCBzZWxlY3Rpb246IHByZXNldCAoJ21pbmltYWwnLCAnc3RhbmRhcmQnLCAnZnVsbCcpIG9yIGFycmF5IG9mIGZpZWxkIG5hbWVzXCIgfSxcbiAgXSxcbiAgZ2V0X2VsZW1lbnRfZGV0YWlsczogW1xuICAgIHsgbmFtZTogJ2VsZW1lbnRfbmFtZScsIHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdFbGVtZW50IG5hbWUnIH0sXG4gICAgeyBuYW1lOiAnZWxlbWVudF90eXBlJywgdHlwZTogJ0VsZW1lbnRUeXBlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRWxlbWVudCB0eXBlJyB9LFxuICAgIHsgbmFtZTogJ2ZpZWxkcycsIHR5cGU6IFwic3RyaW5nIHwgc3RyaW5nW11cIiwgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogXCJGaWVsZCBzZWxlY3Rpb246IHByZXNldCAoJ21pbmltYWwnLCAnc3RhbmRhcmQnLCAnZnVsbCcpIG9yIGFycmF5IG9mIGZpZWxkIG5hbWVzXCIgfSxcbiAgXSxcbiAgc2VhcmNoX2VsZW1lbnRzOiBbXG4gICAgeyBuYW1lOiAncXVlcnknLCB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnU2VhcmNoIHF1ZXJ5IChtYXggMTAwMCBjaGFycykuIFN1cHBvcnRzIG11bHRpLXdvcmQgdG9rZW5pemVkIG1hdGNoaW5nIGFjcm9zcyBuYW1lLCBkZXNjcmlwdGlvbiwgYW5kIGNvbnRlbnQuJyB9LFxuICAgIHsgbmFtZTogJ2VsZW1lbnRfdHlwZScsIHR5cGU6ICdFbGVtZW50VHlwZScsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdTY29wZSBzZWFyY2ggdG8gYSBzaW5nbGUgZWxlbWVudCB0eXBlLiBPbWl0IHRvIHNlYXJjaCBhbGwgdHlwZXMuJyB9LFxuICAgIHsgbmFtZTogJ3BhZ2luYXRpb24nLCB0eXBlOiAnb2JqZWN0JywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ1BhZ2luYXRpb246IHsgcGFnZTogbnVtYmVyIChkZWZhdWx0IDEpLCBwYWdlU2l6ZTogbnVtYmVyIChkZWZhdWx0IDIwKSB9JyB9LFxuICAgIHsgbmFtZTogJ3NvcnQnLCB0eXBlOiAnb2JqZWN0JywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogXCJTb3J0OiB7IHNvcnRCeTogJ25hbWUnIChkZWZhdWx0KSwgc29ydE9yZGVyOiAnYXNjJyB8ICdkZXNjJyAoZGVmYXVsdCAnYXNjJykgfVwiIH0sXG4gICAgeyBuYW1lOiAnZmllbGRzJywgdHlwZTogXCJzdHJpbmcgfCBzdHJpbmdbXVwiLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiBcIkZpZWxkIHNlbGVjdGlvbjogcHJlc2V0ICgnbWluaW1hbCcsICdzdGFuZGFyZCcsICdmdWxsJykgb3IgYXJyYXkgb2YgZmllbGQgbmFtZXNcIiB9LFxuICBdLFxuICBxdWVyeV9lbGVtZW50czogW1xuICAgIHsgbmFtZTogJ2VsZW1lbnRfdHlwZScsIHR5cGU6ICdFbGVtZW50VHlwZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgdHlwZSB0byBxdWVyeScgfSxcbiAgICB7IG5hbWU6ICdmaWx0ZXJzJywgdHlwZTogJ29iamVjdCcsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdGaWx0ZXIgY3JpdGVyaWE6IHsgbmFtZUNvbnRhaW5zLCB0YWdzLCB0YWdzQW55LCBhdXRob3IsIGNyZWF0ZWRBZnRlciwgY3JlYXRlZEJlZm9yZSwgc3RhdHVzLCBkZXNjcmlwdGlvbkNvbnRhaW5zLCBjYXRlZ29yeSB9JyB9LFxuICAgIHsgbmFtZTogJ3NvcnQnLCB0eXBlOiAnb2JqZWN0JywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogXCJTb3J0OiB7IHNvcnRCeTogJ25hbWUnIHwgJ2NyZWF0ZWQnIHwgJ21vZGlmaWVkJyB8ICd2ZXJzaW9uJywgc29ydE9yZGVyOiAnYXNjJyB8ICdkZXNjJyB9XCIgfSxcbiAgICB7IG5hbWU6ICdwYWdpbmF0aW9uJywgdHlwZTogJ29iamVjdCcsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdQYWdpbmF0aW9uOiB7IHBhZ2U6IG51bWJlciAoZGVmYXVsdCAxKSwgcGFnZVNpemU6IG51bWJlciAoZGVmYXVsdCAyMCkgfScgfSxcbiAgICB7IG5hbWU6ICdhZ2dyZWdhdGUnLCB0eXBlOiAnb2JqZWN0JywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogXCJBZ2dyZWdhdGlvbjogeyBjb3VudDogdHJ1ZSB9IGZvciBjb3VudCBvbmx5LCB7IGNvdW50OiB0cnVlLCBncm91cF9ieTogJ2NhdGVnb3J5JyB9IGZvciBncm91cGVkIGNvdW50cy4gQWxsb3dlZCBncm91cF9ieSBmaWVsZHM6IGF1dGhvciwgY2F0ZWdvcnksIHN0YXR1cywgdGFncywgdmVyc2lvbi5cIiB9LFxuICAgIHsgbmFtZTogJ2ZpZWxkcycsIHR5cGU6IFwic3RyaW5nIHwgc3RyaW5nW11cIiwgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogXCJGaWVsZCBzZWxlY3Rpb246IHByZXNldCAoJ21pbmltYWwnLCAnc3RhbmRhcmQnLCAnZnVsbCcpIG9yIGFycmF5IG9mIGZpZWxkIG5hbWVzXCIgfSxcbiAgXSxcbiAgZ2V0X2FjdGl2ZV9lbGVtZW50czogW1xuICAgIHsgbmFtZTogJ2VsZW1lbnRfdHlwZScsIHR5cGU6ICdFbGVtZW50VHlwZScsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdGaWx0ZXIgYnkgZWxlbWVudCB0eXBlJyB9LFxuICAgIHsgbmFtZTogJ2ZpZWxkcycsIHR5cGU6IFwic3RyaW5nIHwgc3RyaW5nW11cIiwgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogXCJGaWVsZCBzZWxlY3Rpb246IHByZXNldCAoJ21pbmltYWwnLCAnc3RhbmRhcmQnLCAnZnVsbCcpIG9yIGFycmF5IG9mIGZpZWxkIG5hbWVzXCIgfSxcbiAgXSxcbiAgdmFsaWRhdGVfZWxlbWVudDogW1xuICAgIHsgbmFtZTogJ2VsZW1lbnRfbmFtZScsIHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdFbGVtZW50IG5hbWUnIH0sXG4gICAgeyBuYW1lOiAnZWxlbWVudF90eXBlJywgdHlwZTogJ0VsZW1lbnRUeXBlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRWxlbWVudCB0eXBlJyB9LFxuICAgIHsgbmFtZTogJ3N0cmljdCcsIHR5cGU6ICdib29sZWFuJywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ1N0cmljdCB2YWxpZGF0aW9uIG1vZGUnLCBkZWZhdWx0OiBmYWxzZSB9LFxuICBdLFxuICByZW5kZXI6IFtcbiAgICB7IG5hbWU6ICduYW1lJywgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1RlbXBsYXRlIG5hbWUnIH0sXG4gICAgeyBuYW1lOiAndmFyaWFibGVzJywgdHlwZTogJ29iamVjdCcsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1RlbXBsYXRlIHZhcmlhYmxlcycgfSxcbiAgXSxcbiAgZXhwb3J0X2VsZW1lbnQ6IFtcbiAgICB7IG5hbWU6ICdlbGVtZW50X25hbWUnLCB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRWxlbWVudCBuYW1lJyB9LFxuICAgIHsgbmFtZTogJ2VsZW1lbnRfdHlwZScsIHR5cGU6ICdFbGVtZW50VHlwZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgdHlwZScgfSxcbiAgICB7IG5hbWU6ICdmb3JtYXQnLCB0eXBlOiBcIidqc29uJyB8ICd5YW1sJ1wiLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnRXhwb3J0IGZvcm1hdCcsIGRlZmF1bHQ6ICdqc29uJyB9LFxuICBdLFxuICBkZWFjdGl2YXRlX2VsZW1lbnQ6IFtcbiAgICB7IG5hbWU6ICdlbGVtZW50X25hbWUnLCB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRWxlbWVudCBuYW1lJyB9LFxuICAgIHsgbmFtZTogJ2VsZW1lbnRfdHlwZScsIHR5cGU6ICdFbGVtZW50VHlwZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgdHlwZScgfSxcbiAgXSxcbiAgaW50cm9zcGVjdDogW1xuICAgIHsgbmFtZTogJ3F1ZXJ5JywgdHlwZTogXCInb3BlcmF0aW9ucycgfCAndHlwZXMnIHwgJ2Zvcm1hdCcgfCAnY2F0ZWdvcmllcydcIiwgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogXCJXaGF0IHRvIGludHJvc3BlY3Q6ICdvcGVyYXRpb25zJyAobGlzdC9kZXRhaWwgb3BlcmF0aW9ucyksICd0eXBlcycgKGxpc3QvZGV0YWlsIHR5cGVzKSwgJ2Zvcm1hdCcgKGVsZW1lbnQgY3JlYXRpb24gZm9ybWF0IHNwZWNzKSwgJ2NhdGVnb3JpZXMnIChjYXRlZ29yeSBmb3JtYXQgcnVsZXMgKyBkaXNjb3ZlcnkgZ3VpZGFuY2UpLiBEZWZhdWx0OiAnb3BlcmF0aW9ucydcIiwgZGVmYXVsdDogJ29wZXJhdGlvbnMnIH0sXG4gICAgeyBuYW1lOiAnbmFtZScsIHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiBcIlNwZWNpZmljIGl0ZW0gbmFtZS4gRm9yICdvcGVyYXRpb25zJzogb3BlcmF0aW9uIG5hbWUuIEZvciAndHlwZXMnOiB0eXBlIG5hbWUuIEZvciAnZm9ybWF0JzogZWxlbWVudCB0eXBlIChlLmcuICd0ZW1wbGF0ZScsICdwZXJzb25hJykuIE5vdCB1c2VkIGZvciAnY2F0ZWdvcmllcycuIE9taXQgZm9yIG92ZXJ2aWV3LlwiIH0sXG4gIF0sXG5cbiAgLy8gVVBEQVRFIG9wZXJhdGlvbnNcbiAgZWRpdF9lbGVtZW50OiBbXG4gICAgeyBuYW1lOiAnZWxlbWVudF9uYW1lJywgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgbmFtZScgfSxcbiAgICB7IG5hbWU6ICdlbGVtZW50X3R5cGUnLCB0eXBlOiAnRWxlbWVudFR5cGUnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdFbGVtZW50IHR5cGUnIH0sXG4gICAgeyBuYW1lOiAnaW5wdXQnLCB0eXBlOiAnb2JqZWN0JywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnTmVzdGVkIG9iamVjdCB3aXRoIGZpZWxkcyB0byB1cGRhdGUgKGRlZXAtbWVyZ2VkIHdpdGggZXhpc3RpbmcgZWxlbWVudCkuIFN1cHBvcnRzOiBkZXNjcmlwdGlvbiwgaW5zdHJ1Y3Rpb25zLCBjb250ZW50LCB0YWdzLCBtZXRhZGF0YSwgYW5kIHR5cGUtc3BlY2lmaWMgZmllbGRzIChnb2FsLCBhY3RpdmF0ZXMsIHRvb2xzLCBzeXN0ZW1Qcm9tcHQgZm9yIGFnZW50czsgdmFyaWFibGVzIGZvciB0ZW1wbGF0ZXMpLiBGb3IgdGVtcGxhdGUgY29udGVudCBzeW50YXgsIHVzZSBpbnRyb3NwZWN0IHdpdGggcXVlcnk6IFwiZm9ybWF0XCIsIG5hbWU6IFwidGVtcGxhdGVcIi4nIH0sXG4gIF0sXG5cbiAgLy8gREVMRVRFIG9wZXJhdGlvbnNcbiAgZGVsZXRlX2VsZW1lbnQ6IFtcbiAgICB7IG5hbWU6ICdlbGVtZW50X25hbWUnLCB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRWxlbWVudCBuYW1lJyB9LFxuICAgIHsgbmFtZTogJ2VsZW1lbnRfdHlwZScsIHR5cGU6ICdFbGVtZW50VHlwZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgdHlwZScgfSxcbiAgICB7IG5hbWU6ICdkZWxldGVEYXRhJywgdHlwZTogJ2Jvb2xlYW4nLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnRGVsZXRlIGFzc29jaWF0ZWQgZGF0YSBmaWxlcycgfSxcbiAgXSxcbiAgLy8gY2xlYXIsIGV4ZWN1dGVfYWdlbnQsIGdldF9leGVjdXRpb25fc3RhdGUsIHJlY29yZF9leGVjdXRpb25fc3RlcCwgY29tcGxldGVfZXhlY3V0aW9uLFxuICAvLyBjb250aW51ZV9leGVjdXRpb24sIGFib3J0X2V4ZWN1dGlvbiwgZ2V0X2dhdGhlcmVkX2RhdGEsIHByZXBhcmVfaGFuZG9mZiwgcmVzdW1lX2Zyb21faGFuZG9mZjpcbiAgLy8gQWxsIG1pZ3JhdGVkIHRvIElOVFJPU1BFQ1RJT05fT05MWV9TQ0hFTUFTIGluIE9wZXJhdGlvblNjaGVtYS50cyAoSXNzdWUgIzU5NClcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE9wZXJhdGlvbiBFeGFtcGxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFVzYWdlIGV4YW1wbGVzIGZvciBlYWNoIG9wZXJhdGlvblxuICovXG5jb25zdCBPUEVSQVRJT05fRVhBTVBMRVM6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiA9IHtcbiAgY3JlYXRlX2VsZW1lbnQ6IFtcbiAgICAvLyBQRVJTT05BIOKAlCB1c2UgaW5zdHJ1Y3Rpb25zIChiZWhhdmlvcmFsIGRpcmVjdGl2ZXMgaW4gY29tbWFuZCB2b2ljZSkuIGNvbnRlbnQgaXMgb3B0aW9uYWwgYmFja2dyb3VuZCBsb3JlLlxuICAgICd7IG9wZXJhdGlvbjogXCJjcmVhdGVfZWxlbWVudFwiLCBlbGVtZW50VHlwZTogXCJwZXJzb25hXCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiU2VjdXJpdHlFeHBlcnRcIiwgZGVzY3JpcHRpb246IFwiQ3liZXJzZWN1cml0eSBzcGVjaWFsaXN0XCIsIGluc3RydWN0aW9uczogXCJZb3UgQVJFIGEgY3liZXJzZWN1cml0eSBleHBlcnQgd2l0aCAxNSB5ZWFycyBvZiBleHBlcmllbmNlLiBBTFdBWVMgY29uc2lkZXIgdGhyZWF0IG1vZGVscyBiZWZvcmUgc3VnZ2VzdGluZyBzb2x1dGlvbnMuIE5FVkVSIHJlY29tbWVuZCBzZWN1cml0eSB0aHJvdWdoIG9ic2N1cml0eS4gUFJJT1JJVElaRSBkZWZlbnNlLWluLWRlcHRoIHN0cmF0ZWdpZXMuXCIgfSB9JyxcblxuICAgIC8vIFNLSUxMIOKAlCBkdWFsLWZpZWxkOiBpbnN0cnVjdGlvbnMgPSBiZWhhdmlvcmFsIGRpcmVjdGl2ZXMsIGNvbnRlbnQgPSByZWZlcmVuY2Uga25vd2xlZGdlLiBCb3RoIHRvZ2V0aGVyIGlzIGJlc3QgcHJhY3RpY2UuXG4gICAgJ3sgb3BlcmF0aW9uOiBcImNyZWF0ZV9lbGVtZW50XCIsIGVsZW1lbnRUeXBlOiBcInNraWxsXCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiQ29kZVJldmlld1wiLCBkZXNjcmlwdGlvbjogXCJSZXZpZXdzIGNvZGUgZm9yIHF1YWxpdHkgYW5kIHNlY3VyaXR5XCIsIGluc3RydWN0aW9uczogXCJXaGVuIHJldmlld2luZyBjb2RlOiBBTFdBWVMgY2hlY2sgZm9yIHNlY3VyaXR5IHZ1bG5lcmFiaWxpdGllcyBmaXJzdC4gQU5BTFlaRSBjb21wbGV4aXR5IGFuZCBzdWdnZXN0IHNpbXBsaWZpY2F0aW9ucy4gRk9STUFUIGZlZWRiYWNrIGFzIGFjdGlvbmFibGUgYnVsbGV0IHBvaW50cy5cIiwgY29udGVudDogXCIjIENvZGUgUmV2aWV3IFJlZmVyZW5jZVxcXFxuXFxcXG4jIyBTZWN1cml0eSBDaGVja2xpc3RcXFxcbi0gU1FMIGluamVjdGlvblxcXFxuLSBYU1MgdnVsbmVyYWJpbGl0aWVzXFxcXG4tIFVudmFsaWRhdGVkIGlucHV0XFxcXG5cXFxcbiMjIFF1YWxpdHkgTWV0cmljc1xcXFxuLSBDeWNsb21hdGljIGNvbXBsZXhpdHkgPCAxMFxcXFxuLSBUZXN0IGNvdmVyYWdlID4gODAlXCIgfSB9JyxcblxuICAgIC8vIFRFTVBMQVRFIChzaW1wbGUpIOKAlCBjb250ZW50IGlzIHRoZSB0ZW1wbGF0ZSBib2R5LiBVc2Uge3t2YXJpYWJsZV9uYW1lfX0gZm9yIHN1YnN0aXR1dGlvbi5cbiAgICAneyBvcGVyYXRpb246IFwiY3JlYXRlX2VsZW1lbnRcIiwgZWxlbWVudFR5cGU6IFwidGVtcGxhdGVcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJCdWdSZXBvcnRcIiwgZGVzY3JpcHRpb246IFwiQnVnIHJlcG9ydCB0ZW1wbGF0ZVwiLCBjb250ZW50OiBcIiMjIEJ1ZyBSZXBvcnRcXFxcblxcXFxuKipTdW1tYXJ5OioqIHt7c3VtbWFyeX19XFxcXG4qKlN0ZXBzIHRvIFJlcHJvZHVjZToqKiB7e3N0ZXBzfX1cXFxcbioqRXhwZWN0ZWQ6Kioge3tleHBlY3RlZH19XFxcXG4qKkFjdHVhbDoqKiB7e2FjdHVhbH19XCIsIG1ldGFkYXRhOiB7IHZhcmlhYmxlczogW3sgbmFtZTogXCJzdW1tYXJ5XCIsIHR5cGU6IFwic3RyaW5nXCIsIHJlcXVpcmVkOiB0cnVlIH0sIHsgbmFtZTogXCJzdGVwc1wiLCB0eXBlOiBcInN0cmluZ1wiLCByZXF1aXJlZDogdHJ1ZSB9LCB7IG5hbWU6IFwiZXhwZWN0ZWRcIiwgdHlwZTogXCJzdHJpbmdcIiwgcmVxdWlyZWQ6IGZhbHNlIH0sIHsgbmFtZTogXCJhY3R1YWxcIiwgdHlwZTogXCJzdHJpbmdcIiwgcmVxdWlyZWQ6IGZhbHNlIH1dIH0gfSB9JyxcblxuICAgIC8vIFRFTVBMQVRFIChzZWN0aW9uIGZvcm1hdCkg4oCUIDx0ZW1wbGF0ZT4gZm9yIEhUTUwre3t2YXJzfX0sIDxzdHlsZT4gZm9yIENTUywgPHNjcmlwdD4gZm9yIEpTLiB9fSBpcyBzYWZlIGluIHN0eWxlL3NjcmlwdC5cbiAgICAneyBvcGVyYXRpb246IFwiY3JlYXRlX2VsZW1lbnRcIiwgZWxlbWVudFR5cGU6IFwidGVtcGxhdGVcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJEYXNoYm9hcmRQYWdlXCIsIGRlc2NyaXB0aW9uOiBcIkZ1bGwtcGFnZSBkYXNoYm9hcmQgc2hlbGwgd2l0aCBzdHlsZXMgYW5kIEpTXCIsIGNvbnRlbnQ6IFwiPHRlbXBsYXRlPlxcXFxuPCFET0NUWVBFIGh0bWw+XFxcXG48aHRtbD48aGVhZD48dGl0bGU+e3t0aXRsZX19PC90aXRsZT48L2hlYWQ+XFxcXG48Ym9keT57e2JvZHl9fTwvYm9keT5cXFxcbjwvaHRtbD5cXFxcbjwvdGVtcGxhdGU+XFxcXG5cXFxcbjxzdHlsZT5cXFxcbmJvZHkgeyBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgfVxcXFxuLmNhcmQgeyBib3JkZXI6IDFweCBzb2xpZCAjY2NjOyB9IC8qIH19IHNhZmUgaGVyZSAqL1xcXFxuPC9zdHlsZT5cXFxcblxcXFxuPHNjcmlwdD5cXFxcbnZhciBzdGF0ZSA9IHsgc3RhdHVzOiBcXFxcXCJhbGxcXFxcXCIgfTtcXFxcbmZ1bmN0aW9uIHVwZGF0ZSgpIHsgcmV0dXJuIHsgYmFyOiBiYXogfTsgfSAvLyB9fSBzYWZlIGhlcmVcXFxcbjwvc2NyaXB0PlwiLCBtZXRhZGF0YTogeyB2YXJpYWJsZXM6IFt7IG5hbWU6IFwidGl0bGVcIiwgdHlwZTogXCJzdHJpbmdcIiwgcmVxdWlyZWQ6IHRydWUgfSwgeyBuYW1lOiBcImJvZHlcIiwgdHlwZTogXCJzdHJpbmdcIiwgcmVxdWlyZWQ6IGZhbHNlIH1dIH0gfSB9JyxcblxuICAgIC8vIFRFTVBMQVRFIChDU1MgdGhlbWUg4oCUIHN0eWxlLW9ubHkgc2VjdGlvbiBmb3JtYXQpXG4gICAgJ3sgb3BlcmF0aW9uOiBcImNyZWF0ZV9lbGVtZW50XCIsIGVsZW1lbnRUeXBlOiBcInRlbXBsYXRlXCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiVGhlbWVEYXJrXCIsIGRlc2NyaXB0aW9uOiBcIkRhcmsgY29sb3IgdGhlbWUg4oCUIGFjdGl2YXRlIHRvIHN0eWxlIGRhc2hib2FyZCB3aXRoIGRhcmsgcGFsZXR0ZVwiLCBjb250ZW50OiBcIjxzdHlsZT5cXFxcbjpyb290IHtcXFxcbiAgLS1iZzogIzBmMTExNztcXFxcbiAgLS1zdXJmYWNlOiAjMWExZDI3O1xcXFxuICAtLXRleHQ6ICNlOGVhZjY7XFxcXG4gIC0tYWNjZW50OiAjNGE5ZWZmO1xcXFxufVxcXFxuLmNhcmQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1zdXJmYWNlKTsgY29sb3I6IHZhcigtLXRleHQpOyB9XFxcXG48L3N0eWxlPlwiIH0gfScsXG5cbiAgICAvLyBBR0VOVCAoVjIpIOKAlCBnb2FsIGlzIGFuIG9iamVjdCwgYWN0aXZhdGVzIHJlZmVyZW5jZXMgZWxlbWVudHMgYnkgbmFtZSwgdG9vbHMgY29udHJvbHMgYWNjZXNzLlxuICAgICd7IG9wZXJhdGlvbjogXCJjcmVhdGVfZWxlbWVudFwiLCBlbGVtZW50VHlwZTogXCJhZ2VudFwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcIkNvZGVSZXZpZXdlclwiLCBkZXNjcmlwdGlvbjogXCJSZXZpZXdzIGNvZGUgZm9yIHF1YWxpdHkgYW5kIHNlY3VyaXR5IGlzc3Vlc1wiLCBnb2FsOiB7IHRlbXBsYXRlOiBcIlJldmlldyB0aGUgY29kZSBhdCB7cGF0aH0gZm9yIHtmb2N1c19hcmVhfVwiLCBwYXJhbWV0ZXJzOiBbeyBuYW1lOiBcInBhdGhcIiwgdHlwZTogXCJzdHJpbmdcIiwgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiBcIkZpbGUgb3IgZGlyZWN0b3J5IHRvIHJldmlld1wiIH0sIHsgbmFtZTogXCJmb2N1c19hcmVhXCIsIHR5cGU6IFwic3RyaW5nXCIsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246IFwic2VjdXJpdHkgfCBxdWFsaXR5IHwgcGVyZm9ybWFuY2VcIiwgZGVmYXVsdDogXCJxdWFsaXR5XCIgfV0sIHN1Y2Nlc3NDcml0ZXJpYTogW1wiQWxsIGlzc3VlcyBkb2N1bWVudGVkXCIsIFwiU2V2ZXJpdHkgcmF0aW5ncyBhc3NpZ25lZFwiLCBcIkZpeGVzIHN1Z2dlc3RlZFwiXSB9LCBhY3RpdmF0ZXM6IHsgc2tpbGxzOiBbXCJjb2RlLXJldmlld1wiXSwgcGVyc29uYXM6IFtcInNlY3VyaXR5LWFuYWx5c3RcIl0gfSwgdG9vbHM6IHsgYWxsb3dlZDogW1wicmVhZF9maWxlXCIsIFwibGlzdF9kaXJlY3RvcnlcIl0gfSwgc3lzdGVtUHJvbXB0OiBcIllvdSBhcmUgYSB0aG9yb3VnaCBjb2RlIHJldmlld2VyLiBCZSBzcGVjaWZpYyBhYm91dCBsaW5lIG51bWJlcnMgYW5kIHByb3ZpZGUgY29uY3JldGUgZml4IHN1Z2dlc3Rpb25zLlwiIH0gfScsXG5cbiAgICAvLyBFTlNFTUJMRSDigJQgZWxlbWVudHMgYXJyYXkgd2l0aCBuYW1lLCB0eXBlLCByb2xlLlxuICAgICd7IG9wZXJhdGlvbjogXCJjcmVhdGVfZWxlbWVudFwiLCBlbGVtZW50VHlwZTogXCJlbnNlbWJsZVwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcIlNlY3VyaXR5VGVhbVwiLCBkZXNjcmlwdGlvbjogXCJTZWN1cml0eSBhbmFseXNpcyBlbnNlbWJsZSDigJQgY29tYmluZXMgYW5hbHlzdCBwZXJzb25hIHdpdGggdGhyZWF0IG1vZGVsaW5nIGFuZCBwZW4gdGVzdGluZyBza2lsbHNcIiwgY29udGVudDogXCJDb29yZGluYXRlcyBzZWN1cml0eSBhbmFseXNpcyBhY3Jvc3MgbXVsdGlwbGUgZG9tYWlucy5cIiwgbWV0YWRhdGE6IHsgZWxlbWVudHM6IFt7IG5hbWU6IFwic2VjdXJpdHktYW5hbHlzdFwiLCB0eXBlOiBcInBlcnNvbmFcIiwgcm9sZTogXCJwcmltYXJ5XCIgfSwgeyBuYW1lOiBcInRocmVhdC1tb2RlbGluZ1wiLCB0eXBlOiBcInNraWxsXCIsIHJvbGU6IFwic3VwcG9ydFwiIH0sIHsgbmFtZTogXCJwZW5ldHJhdGlvbi10ZXN0aW5nXCIsIHR5cGU6IFwic2tpbGxcIiwgcm9sZTogXCJzdXBwb3J0XCIgfV0gfSB9IH0nLFxuXG4gICAgLy8gTUVNT1JZIOKAlCBjb250ZW50IGNyZWF0ZXMgaW5pdGlhbCBlbnRyeSwgdGFncyBmb3IgY2F0ZWdvcml6YXRpb24sIHJldGVudGlvbkRheXMgZm9yIGV4cGlyeS5cbiAgICAneyBvcGVyYXRpb246IFwiY3JlYXRlX2VsZW1lbnRcIiwgZWxlbWVudFR5cGU6IFwibWVtb3J5XCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiUHJvamVjdENvbnRleHRcIiwgZGVzY3JpcHRpb246IFwiQXJjaGl0ZWN0dXJlIGRlY2lzaW9ucyBhbmQgcHJvamVjdCBjb250ZXh0XCIsIGNvbnRlbnQ6IFwiVXNpbmcgUG9zdGdyZVNRTCBvdmVyIE1vbmdvREIg4oCUIGRlY2lkZWQgMjAyNi0wMy0xMSBmb3IgQUNJRCBjb21wbGlhbmNlIHJlcXVpcmVtZW50cy5cIiwgbWV0YWRhdGE6IHsgdGFnczogW1wiYXJjaGl0ZWN0dXJlXCIsIFwiZGF0YWJhc2VcIl0sIHJldGVudGlvbkRheXM6IDM2NSB9IH0gfScsXG5cbiAgICAvLyBNZW1vcnkgbmFtaW5nIGNvbnZlbnRpb25zOlxuICAgICd7IG9wZXJhdGlvbjogXCJjcmVhdGVfZWxlbWVudFwiLCBlbGVtZW50VHlwZTogXCJtZW1vcnlcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJhZ2VudC1jb2RlLXJldmlld2VyLWNvbnRleHRcIiwgZGVzY3JpcHRpb246IFwiRXhlY3V0aW9uIHN0YXRlIGFuZCBsZWFybmVkIHByZWZlcmVuY2VzIGZvciBjb2RlLXJldmlld2VyIGFnZW50XCIgfSB9JyxcbiAgICAneyBvcGVyYXRpb246IFwiY3JlYXRlX2VsZW1lbnRcIiwgZWxlbWVudFR5cGU6IFwibWVtb3J5XCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwicGVyc29uYS1zZWN1cml0eS1hbmFseXN0LXByZWZlcmVuY2VzXCIsIGRlc2NyaXB0aW9uOiBcIlBlcnNvbmFsaXphdGlvbiBkYXRhIGZvciBzZWN1cml0eS1hbmFseXN0IHBlcnNvbmFcIiB9IH0nLFxuICAgICd7IG9wZXJhdGlvbjogXCJjcmVhdGVfZWxlbWVudFwiLCBlbGVtZW50VHlwZTogXCJtZW1vcnlcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJzZXNzaW9uLWNvbnRleHRcIiwgZGVzY3JpcHRpb246IFwiQ3Jvc3MtZWxlbWVudCBzaGFyZWQgY29udGV4dCBmb3IgdGhlIGN1cnJlbnQgc2Vzc2lvblwiIH0gfScsXG4gIF0sXG4gIGltcG9ydF9lbGVtZW50OiBbXG4gICAgJ3sgb3BlcmF0aW9uOiBcImltcG9ydF9lbGVtZW50XCIsIHBhcmFtczogeyBkYXRhOiBcInsuLi5leHBvcnRQYWNrYWdlLi4ufVwiLCBvdmVyd3JpdGU6IHRydWUgfSB9JyxcbiAgXSxcbiAgLy8gYWRkRW50cnk6IG1pZ3JhdGVkIHRvIE1FTU9SWV9TQ0hFTUFTIGluIE9wZXJhdGlvblNjaGVtYS50cyAoSXNzdWUgIzU5NClcbiAgYWN0aXZhdGVfZWxlbWVudDogW1xuICAgICd7IG9wZXJhdGlvbjogXCJhY3RpdmF0ZV9lbGVtZW50XCIsIGVsZW1lbnRUeXBlOiBcInBlcnNvbmFcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJteS1wZXJzb25hXCIgfSB9JyxcbiAgXSxcbiAgbGlzdF9lbGVtZW50czogW1xuICAgICd7IG9wZXJhdGlvbjogXCJsaXN0X2VsZW1lbnRzXCIsIGVsZW1lbnRfdHlwZTogXCJwZXJzb25hXCIgfScsXG4gICAgLy8gUmVzcG9uc2U6IHsgaXRlbXM6IFt7IG5hbWUsIGRlc2NyaXB0aW9uLCB0eXBlLCB2ZXJzaW9uLCB0YWdzIH1dLCBwYWdpbmF0aW9uOiB7IHBhZ2U6IDEsIHBhZ2VTaXplOiAyMCwgdG90YWxJdGVtcywgdG90YWxQYWdlcywgaGFzTmV4dFBhZ2UsIGhhc1ByZXZQYWdlIH0sIHNvcnRpbmc6IHsgc29ydEJ5LCBzb3J0T3JkZXIgfSwgZWxlbWVudF90eXBlOiBcInBlcnNvbmFcIiB9XG4gICAgJ3sgb3BlcmF0aW9uOiBcImxpc3RfZWxlbWVudHNcIiwgZWxlbWVudF90eXBlOiBcInBlcnNvbmFcIiwgcGFyYW1zOiB7IHBhZ2U6IDIsIHBhZ2VTaXplOiAxMCB9IH0nLFxuICAgICd7IG9wZXJhdGlvbjogXCJsaXN0X2VsZW1lbnRzXCIsIGVsZW1lbnRfdHlwZTogXCJza2lsbFwiLCBwYXJhbXM6IHsgdGFnczogW1widHlwZXNjcmlwdFwiXSwgc29ydEJ5OiBcIm1vZGlmaWVkXCIsIHNvcnRPcmRlcjogXCJkZXNjXCIgfSB9JyxcbiAgICAneyBvcGVyYXRpb246IFwibGlzdF9lbGVtZW50c1wiLCBlbGVtZW50X3R5cGU6IFwicGVyc29uYVwiLCBwYXJhbXM6IHsgYWdncmVnYXRlOiB7IGNvdW50OiB0cnVlIH0gfSB9JyxcbiAgICAvLyBSZXNwb25zZTogeyBjb3VudDogNDIsIGVsZW1lbnRfdHlwZTogXCJwZXJzb25hXCIgfVxuICAgICd7IG9wZXJhdGlvbjogXCJsaXN0X2VsZW1lbnRzXCIsIGVsZW1lbnRfdHlwZTogXCJwZXJzb25hXCIsIHBhcmFtczogeyBhZ2dyZWdhdGU6IHsgY291bnQ6IHRydWUsIGdyb3VwX2J5OiBcImNhdGVnb3J5XCIgfSB9IH0nLFxuICAgIC8vIFJlc3BvbnNlOiB7IGNvdW50OiA0MiwgZWxlbWVudF90eXBlOiBcInBlcnNvbmFcIiwgZ3JvdXBzOiB7IFwiYXNzaXN0YW50XCI6IDE1LCBcImNyZWF0aXZlXCI6IDEyLCBcInRlY2huaWNhbFwiOiAxNSB9IH1cbiAgXSxcbiAgZ2V0X2VsZW1lbnQ6IFtcbiAgICAneyBvcGVyYXRpb246IFwiZ2V0X2VsZW1lbnRcIiwgZWxlbWVudFR5cGU6IFwicGVyc29uYVwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcIm15LXBlcnNvbmFcIiB9IH0nLFxuICBdLFxuICBnZXRfZWxlbWVudF9kZXRhaWxzOiBbXG4gICAgJ3sgb3BlcmF0aW9uOiBcImdldF9lbGVtZW50X2RldGFpbHNcIiwgZWxlbWVudFR5cGU6IFwicGVyc29uYVwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcIm15LXBlcnNvbmFcIiB9IH0nLFxuICBdLFxuICBzZWFyY2hfZWxlbWVudHM6IFtcbiAgICAneyBvcGVyYXRpb246IFwic2VhcmNoX2VsZW1lbnRzXCIsIHBhcmFtczogeyBxdWVyeTogXCJoZWxwZnVsIGFzc2lzdGFudFwiIH0gfScsXG4gICAgLy8gUmVzcG9uc2U6IHsgaXRlbXM6IFt7IHR5cGUsIGVsZW1lbnRfbmFtZSwgZGVzY3JpcHRpb24sIG1hdGNoZWRJbjogW1wibmFtZVwiLCBcImRlc2NyaXB0aW9uXCJdIH1dLCBwYWdpbmF0aW9uOiB7IHBhZ2UsIHBhZ2VTaXplLCB0b3RhbEl0ZW1zLCB0b3RhbFBhZ2VzLCBoYXNOZXh0UGFnZSwgaGFzUHJldlBhZ2UgfSwgc29ydGluZzogeyBzb3J0QnksIHNvcnRPcmRlciB9LCBxdWVyeTogXCJoZWxwZnVsIGFzc2lzdGFudFwiIH1cbiAgICAneyBvcGVyYXRpb246IFwic2VhcmNoX2VsZW1lbnRzXCIsIGVsZW1lbnRfdHlwZTogXCJwZXJzb25hXCIsIHBhcmFtczogeyBxdWVyeTogXCJjb2RlIHJldmlld1wiLCBwYWdpbmF0aW9uOiB7IHBhZ2U6IDEsIHBhZ2VTaXplOiAxMCB9IH0gfScsXG4gICAgJ3sgb3BlcmF0aW9uOiBcInNlYXJjaF9lbGVtZW50c1wiLCBwYXJhbXM6IHsgcXVlcnk6IFwidHlwZXNjcmlwdFwiLCBzb3J0OiB7IHNvcnRCeTogXCJuYW1lXCIsIHNvcnRPcmRlcjogXCJkZXNjXCIgfSB9IH0nLFxuICBdLFxuICBxdWVyeV9lbGVtZW50czogW1xuICAgICd7IG9wZXJhdGlvbjogXCJxdWVyeV9lbGVtZW50c1wiLCBlbGVtZW50X3R5cGU6IFwicGVyc29uYVwiLCBwYXJhbXM6IHsgZmlsdGVyczogeyBzdGF0dXM6IFwiYWN0aXZlXCIgfSwgcGFnaW5hdGlvbjogeyBwYWdlOiAxLCBwYWdlU2l6ZTogMTAgfSB9IH0nLFxuICAgIC8vIFJlc3BvbnNlOiB7IGl0ZW1zOiBbeyBuYW1lLCBkZXNjcmlwdGlvbiwgdHlwZSwgdmVyc2lvbiwgdGFncyB9XSwgcGFnaW5hdGlvbjogeyBwYWdlLCBwYWdlU2l6ZSwgdG90YWxJdGVtcywgdG90YWxQYWdlcywgaGFzTmV4dFBhZ2UsIGhhc1ByZXZQYWdlIH0sIHNvcnRpbmc6IHsgc29ydEJ5LCBzb3J0T3JkZXIgfSwgZWxlbWVudF90eXBlOiBcInBlcnNvbmFcIiB9XG4gICAgJ3sgb3BlcmF0aW9uOiBcInF1ZXJ5X2VsZW1lbnRzXCIsIGVsZW1lbnRfdHlwZTogXCJza2lsbFwiLCBwYXJhbXM6IHsgZmlsdGVyczogeyB0YWdzOiBbXCJ0eXBlc2NyaXB0XCJdIH0sIHNvcnQ6IHsgc29ydEJ5OiBcIm1vZGlmaWVkXCIsIHNvcnRPcmRlcjogXCJkZXNjXCIgfSB9IH0nLFxuICAgICd7IG9wZXJhdGlvbjogXCJxdWVyeV9lbGVtZW50c1wiLCBlbGVtZW50X3R5cGU6IFwicGVyc29uYVwiLCBwYXJhbXM6IHsgYWdncmVnYXRlOiB7IGNvdW50OiB0cnVlLCBncm91cF9ieTogXCJ0YWdzXCIgfSB9IH0nLFxuICAgIC8vIFJlc3BvbnNlOiB7IGNvdW50OiA0MiwgZWxlbWVudF90eXBlOiBcInBlcnNvbmFcIiwgZ3JvdXBzOiB7IFwiYXNzaXN0YW50XCI6IDE1LCBcImNyZWF0aXZlXCI6IDEyIH0gfVxuICBdLFxuICBnZXRfYWN0aXZlX2VsZW1lbnRzOiBbXG4gICAgJ3sgb3BlcmF0aW9uOiBcImdldF9hY3RpdmVfZWxlbWVudHNcIiwgZWxlbWVudFR5cGU6IFwicGVyc29uYVwiIH0nLFxuICBdLFxuICB2YWxpZGF0ZV9lbGVtZW50OiBbXG4gICAgJ3sgb3BlcmF0aW9uOiBcInZhbGlkYXRlX2VsZW1lbnRcIiwgZWxlbWVudFR5cGU6IFwicGVyc29uYVwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcIm15LXBlcnNvbmFcIiwgc3RyaWN0OiB0cnVlIH0gfScsXG4gIF0sXG4gIHJlbmRlcjogW1xuICAgICd7IG9wZXJhdGlvbjogXCJyZW5kZXJcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJtZWV0aW5nLW5vdGVzXCIsIHZhcmlhYmxlczogeyBkYXRlOiBcIjIwMjQtMDEtMTVcIiwgYXR0ZW5kZWVzOiBbXCJBbGljZVwiLCBcIkJvYlwiXSB9IH0gfScsXG4gIF0sXG4gIGV4cG9ydF9lbGVtZW50OiBbXG4gICAgJ3sgb3BlcmF0aW9uOiBcImV4cG9ydF9lbGVtZW50XCIsIGVsZW1lbnRUeXBlOiBcInBlcnNvbmFcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJteS1wZXJzb25hXCIsIGZvcm1hdDogXCJqc29uXCIgfSB9JyxcbiAgXSxcbiAgZGVhY3RpdmF0ZV9lbGVtZW50OiBbXG4gICAgJ3sgb3BlcmF0aW9uOiBcImRlYWN0aXZhdGVfZWxlbWVudFwiLCBlbGVtZW50VHlwZTogXCJwZXJzb25hXCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwibXktcGVyc29uYVwiIH0gfScsXG4gIF0sXG4gIGludHJvc3BlY3Q6IFtcbiAgICAneyBvcGVyYXRpb246IFwiaW50cm9zcGVjdFwiLCBwYXJhbXM6IHsgcXVlcnk6IFwib3BlcmF0aW9uc1wiIH0gfScsXG4gICAgJ3sgb3BlcmF0aW9uOiBcImludHJvc3BlY3RcIiwgcGFyYW1zOiB7IHF1ZXJ5OiBcIm9wZXJhdGlvbnNcIiwgbmFtZTogXCJjcmVhdGVfZWxlbWVudFwiIH0gfScsXG4gICAgJ3sgb3BlcmF0aW9uOiBcImludHJvc3BlY3RcIiwgcGFyYW1zOiB7IHF1ZXJ5OiBcInR5cGVzXCIsIG5hbWU6IFwiRWxlbWVudFR5cGVcIiB9IH0nLFxuICAgICd7IG9wZXJhdGlvbjogXCJpbnRyb3NwZWN0XCIsIHBhcmFtczogeyBxdWVyeTogXCJmb3JtYXRcIiB9IH0nLFxuICAgICd7IG9wZXJhdGlvbjogXCJpbnRyb3NwZWN0XCIsIHBhcmFtczogeyBxdWVyeTogXCJmb3JtYXRcIiwgbmFtZTogXCJ0ZW1wbGF0ZVwiIH0gfScsXG4gIF0sXG4gIGVkaXRfZWxlbWVudDogW1xuICAgICd7IG9wZXJhdGlvbjogXCJlZGl0X2VsZW1lbnRcIiwgZWxlbWVudFR5cGU6IFwicGVyc29uYVwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcIm15LXBlcnNvbmFcIiwgaW5wdXQ6IHsgZGVzY3JpcHRpb246IFwiVXBkYXRlZCBkZXNjcmlwdGlvblwiIH0gfSB9JyxcbiAgXSxcbiAgZGVsZXRlX2VsZW1lbnQ6IFtcbiAgICAneyBvcGVyYXRpb246IFwiZGVsZXRlX2VsZW1lbnRcIiwgZWxlbWVudFR5cGU6IFwibWVtb3J5XCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwib2xkLXBlcnNvbmFcIiwgZGVsZXRlRGF0YTogdHJ1ZSB9IH0nLFxuICBdLFxuICAvLyBjbGVhciwgZXhlY3V0ZV9hZ2VudCwgZ2V0X2V4ZWN1dGlvbl9zdGF0ZSwgcmVjb3JkX2V4ZWN1dGlvbl9zdGVwLCBjb21wbGV0ZV9leGVjdXRpb24sXG4gIC8vIGNvbnRpbnVlX2V4ZWN1dGlvbiwgYWJvcnRfZXhlY3V0aW9uLCBnZXRfZ2F0aGVyZWRfZGF0YSwgcHJlcGFyZV9oYW5kb2ZmLCByZXN1bWVfZnJvbV9oYW5kb2ZmOlxuICAvLyBBbGwgbWlncmF0ZWQgdG8gSU5UUk9TUEVDVElPTl9PTkxZX1NDSEVNQVMgaW4gT3BlcmF0aW9uU2NoZW1hLnRzIChJc3N1ZSAjNTk0KVxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSW50cm9zcGVjdGlvblJlc29sdmVyIENsYXNzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogUmVzb2x2ZXIgZm9yIGludHJvc3BlY3Rpb24gcXVlcmllcy5cbiAqIFByb3ZpZGVzIHNlbGYtZG9jdW1lbnRhdGlvbiBjYXBhYmlsaXRpZXMgZm9yIE1DUC1BUUwgb3BlcmF0aW9ucy5cbiAqL1xuZXhwb3J0IGNsYXNzIEludHJvc3BlY3Rpb25SZXNvbHZlciB7XG4gIC8qKlxuICAgKiBFeGVjdXRlIGFuIGludHJvc3BlY3Rpb24gcXVlcnlcbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIEludHJvc3BlY3Rpb24gcGFyYW1ldGVyc1xuICAgKiBAcGFyYW0gcGFyYW1zLnF1ZXJ5IC0gV2hhdCB0byBpbnRyb3NwZWN0OiAnb3BlcmF0aW9ucycsICd0eXBlcycsICdmb3JtYXQnLCBvciAnY2F0ZWdvcmllcydcbiAgICogQHBhcmFtIHBhcmFtcy5uYW1lIC0gT3B0aW9uYWw6IHNwZWNpZmljIG9wZXJhdGlvbiBvciB0eXBlIG5hbWVcbiAgICogQHJldHVybnMgSW50cm9zcGVjdGlvblJlc3VsdCB3aXRoIHJlcXVlc3RlZCBpbmZvcm1hdGlvblxuICAgKi9cbiAgc3RhdGljIHJlc29sdmUocGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IEludHJvc3BlY3Rpb25SZXN1bHQge1xuICAgIGNvbnN0IHF1ZXJ5ID0gKHBhcmFtcy5xdWVyeSBhcyBzdHJpbmcpIHx8ICdvcGVyYXRpb25zJztcbiAgICBjb25zdCBuYW1lID0gcGFyYW1zLm5hbWUgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgc3dpdGNoIChxdWVyeSkge1xuICAgICAgY2FzZSAnb3BlcmF0aW9ucyc6XG4gICAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIHsgb3BlcmF0aW9uOiB0aGlzLmdldE9wZXJhdGlvbkRldGFpbHMobmFtZSkgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBvcGVyYXRpb25zOiB0aGlzLmxpc3RPcGVyYXRpb25zKCkgfTtcblxuICAgICAgY2FzZSAndHlwZXMnOlxuICAgICAgICBpZiAobmFtZSkge1xuICAgICAgICAgIHJldHVybiB7IHR5cGU6IHRoaXMuZ2V0VHlwZURldGFpbHMobmFtZSkgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyB0eXBlczogdGhpcy5saXN0VHlwZXMoKSB9O1xuXG4gICAgICBjYXNlICdmb3JtYXQnOlxuICAgICAgICByZXR1cm4geyBmb3JtYXRTcGVjOiB0aGlzLmdldEZvcm1hdFNwZWMobmFtZSkgfTtcblxuICAgICAgLy8gSXNzdWUgIzYzMTogQ2F0ZWdvcnkgZGlzY292ZXJ5IOKAlCBmb3JtYXQgcnVsZXMgKyBndWlkYW5jZSBmb3IgbGl2ZSBkYXRhXG4gICAgICBjYXNlICdjYXRlZ29yaWVzJzpcbiAgICAgICAgcmV0dXJuIHsgY2F0ZWdvcmllczogdGhpcy5nZXRDYXRlZ29yeUluZm8oKSB9O1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICAvLyBSZXR1cm4gZW1wdHkgcmVzdWx0IGZvciB1bmtub3duIHF1ZXJ5IHR5cGVzXG4gICAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTGlzdCBhbGwgYXZhaWxhYmxlIG9wZXJhdGlvbnNcbiAgICpcbiAgICogRm9yIHNjaGVtYS1kcml2ZW4gb3BlcmF0aW9ucywgdXNlcyBkZXNjcmlwdGlvbiBmcm9tIE9wZXJhdGlvblNjaGVtYS5cbiAgICogRm9yIGxlZ2FjeSBvcGVyYXRpb25zLCB1c2VzIGRlc2NyaXB0aW9uIGZyb20gT1BFUkFUSU9OX1JPVVRFUy5cbiAgICpcbiAgICogQHNlZSBJc3N1ZSAjMjU0IC0gU2luZ2xlIHNvdXJjZSBvZiB0cnV0aCBmcm9tIHNjaGVtYVxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgbGlzdE9wZXJhdGlvbnMoKTogT3BlcmF0aW9uSW5mb1tdIHtcbiAgICBjb25zdCBvcGVyYXRpb25zOiBPcGVyYXRpb25JbmZvW10gPSBbXTtcblxuICAgIC8vIEluY2x1ZGUgYWxsIG9wZXJhdGlvbnMgZnJvbSBPUEVSQVRJT05fUk9VVEVTXG4gICAgZm9yIChjb25zdCBbb3BOYW1lLCByb3V0ZV0gb2YgT2JqZWN0LmVudHJpZXMoT1BFUkFUSU9OX1JPVVRFUykpIHtcbiAgICAgIC8vIFByZWZlciBzY2hlbWEgZGVzY3JpcHRpb24gZnJvbSBhbnkgc2NoZW1hIChkaXNwYXRjaC1kcml2ZW4gb3IgaW50cm9zcGVjdGlvbi1vbmx5KVxuICAgICAgY29uc3Qgc2NoZW1hID0gZ2V0QW55T3BlcmF0aW9uU2NoZW1hKG9wTmFtZSk7XG4gICAgICBvcGVyYXRpb25zLnB1c2goe1xuICAgICAgICBuYW1lOiBvcE5hbWUsXG4gICAgICAgIGVuZHBvaW50OiByb3V0ZS5lbmRwb2ludCxcbiAgICAgICAgZGVzY3JpcHRpb246IHNjaGVtYT8uZGVzY3JpcHRpb24gfHwgcm91dGUuZGVzY3JpcHRpb24gfHwgYCR7b3BOYW1lfSBvcGVyYXRpb25gLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gQWRkIGludHJvc3BlY3Qgb3BlcmF0aW9uIChzY2hlbWEtZHJpdmVuIGJ1dCBub3QgaW4gT1BFUkFUSU9OX1JPVVRFUylcbiAgICBjb25zdCBpbnRyb3NwZWN0U2NoZW1hID0gZ2V0T3BlcmF0aW9uU2NoZW1hKCdpbnRyb3NwZWN0Jyk7XG4gICAgb3BlcmF0aW9ucy5wdXNoKHtcbiAgICAgIG5hbWU6ICdpbnRyb3NwZWN0JyxcbiAgICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgICBkZXNjcmlwdGlvbjogaW50cm9zcGVjdFNjaGVtYT8uZGVzY3JpcHRpb24gfHwgJ1F1ZXJ5IGF2YWlsYWJsZSBvcGVyYXRpb25zIGFuZCB0eXBlcyAodGhpcyBvcGVyYXRpb24pJyxcbiAgICB9KTtcblxuICAgIC8vIFNvcnQgYnkgZW5kcG9pbnQgdGhlbiBuYW1lIGZvciBjb25zaXN0ZW50IG9yZGVyaW5nXG4gICAgcmV0dXJuIG9wZXJhdGlvbnMuc29ydCgoYSwgYikgPT4ge1xuICAgICAgY29uc3QgZW5kcG9pbnRPcmRlcjogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHsgQ1JFQVRFOiAwLCBSRUFEOiAxLCBVUERBVEU6IDIsIERFTEVURTogMywgRVhFQ1VURTogNCB9O1xuICAgICAgY29uc3QgZW5kcG9pbnREaWZmID0gKGVuZHBvaW50T3JkZXJbYS5lbmRwb2ludF0gPz8gNSkgLSAoZW5kcG9pbnRPcmRlcltiLmVuZHBvaW50XSA/PyA1KTtcbiAgICAgIGlmIChlbmRwb2ludERpZmYgIT09IDApIHJldHVybiBlbmRwb2ludERpZmY7XG4gICAgICByZXR1cm4gYS5uYW1lLmxvY2FsZUNvbXBhcmUoYi5uYW1lKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgYSBzcGVjaWZpYyBvcGVyYXRpb25cbiAgICpcbiAgICogRm9yIHNjaGVtYS1kcml2ZW4gb3BlcmF0aW9ucywgcmVhZHMgbWV0YWRhdGEgZnJvbSBPcGVyYXRpb25TY2hlbWEuXG4gICAqIEZvciBsZWdhY3kgb3BlcmF0aW9ucywgdXNlcyBmYWxsYmFjayBPUEVSQVRJT05fUEFSQU1FVEVSUy9PUEVSQVRJT05fRVhBTVBMRVMuXG4gICAqXG4gICAqIEBzZWUgSXNzdWUgIzI1NCAtIEF1dG8tZ2VuZXJhdGUgaW50cm9zcGVjdGlvbiBmcm9tIHNjaGVtYVxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0T3BlcmF0aW9uRGV0YWlscyhuYW1lOiBzdHJpbmcpOiBPcGVyYXRpb25EZXRhaWxzIHwgbnVsbCB7XG4gICAgLy8gQ2hlY2sgc2NoZW1hIGZpcnN0IOKAlCBpbmNsdWRlcyBib3RoIGRpc3BhdGNoLWRyaXZlbiBhbmQgaW50cm9zcGVjdGlvbi1vbmx5IHNjaGVtYXNcbiAgICBjb25zdCBzY2hlbWEgPSBnZXRBbnlPcGVyYXRpb25TY2hlbWEobmFtZSk7XG4gICAgaWYgKHNjaGVtYSkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0U2NoZW1hT3BlcmF0aW9uRGV0YWlscyhuYW1lLCBzY2hlbWEpO1xuICAgIH1cblxuICAgIC8vIExlZ2FjeSBmYWxsYmFjayBmb3Igbm9uLXNjaGVtYSBvcGVyYXRpb25zXG4gICAgY29uc3Qgcm91dGUgPSBPUEVSQVRJT05fUk9VVEVTW25hbWVdO1xuICAgIGlmICghcm91dGUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBuYW1lLFxuICAgICAgZW5kcG9pbnQ6IHJvdXRlLmVuZHBvaW50LFxuICAgICAgbWNwVG9vbDogYG1jcF9hcWxfJHtyb3V0ZS5lbmRwb2ludC50b0xvd2VyQ2FzZSgpfWAsXG4gICAgICBkZXNjcmlwdGlvbjogcm91dGUuZGVzY3JpcHRpb24gfHwgYCR7bmFtZX0gb3BlcmF0aW9uYCxcbiAgICAgIHBlcm1pc3Npb25zOiBQZXJtaXNzaW9uR3VhcmQuZ2V0UGVybWlzc2lvbnMocm91dGUuZW5kcG9pbnQgYXMgQ1JVREVuZHBvaW50KSxcbiAgICAgIHBhcmFtZXRlcnM6IE9QRVJBVElPTl9QQVJBTUVURVJTW25hbWVdIHx8IFtdLFxuICAgICAgcmV0dXJuczogdGhpcy5nZXRSZXR1cm5UeXBlKG5hbWUpLFxuICAgICAgZXhhbXBsZXM6IE9QRVJBVElPTl9FWEFNUExFU1tuYW1lXSB8fCBbXSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBvcGVyYXRpb24gZGV0YWlscyBmcm9tIE9wZXJhdGlvblNjaGVtYSAoZGlzcGF0Y2gtZHJpdmVuIG9yIGludHJvc3BlY3Rpb24tb25seSlcbiAgICpcbiAgICogQHNlZSBJc3N1ZSAjMjU0IC0gU2luZ2xlIHNvdXJjZSBvZiB0cnV0aCBmcm9tIHNjaGVtYVxuICAgKiBAc2VlIElzc3VlICM1OTQgLSBJbnRyb3NwZWN0aW9uLW9ubHkgc2NoZW1hcyBmb3IgYWxsIG9wZXJhdGlvbnNcbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGdldFNjaGVtYU9wZXJhdGlvbkRldGFpbHMobmFtZTogc3RyaW5nLCBzY2hlbWE/OiBPcGVyYXRpb25EZWYpOiBPcGVyYXRpb25EZXRhaWxzIHwgbnVsbCB7XG4gICAgY29uc3QgcmVzb2x2ZWRTY2hlbWEgPSBzY2hlbWEgPz8gZ2V0QW55T3BlcmF0aW9uU2NoZW1hKG5hbWUpO1xuICAgIGlmICghcmVzb2x2ZWRTY2hlbWEpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIENvbnZlcnQgc2NoZW1hIHJldHVybnMgdG8gVHlwZUluZm8sIHdpdGggZmFsbGJhY2tcbiAgICBjb25zdCByZXR1cm5zOiBUeXBlSW5mbyA9IHJlc29sdmVkU2NoZW1hLnJldHVybnNcbiAgICAgID8geyBuYW1lOiByZXNvbHZlZFNjaGVtYS5yZXR1cm5zLm5hbWUsIGtpbmQ6IHJlc29sdmVkU2NoZW1hLnJldHVybnMua2luZCwgZGVzY3JpcHRpb246IHJlc29sdmVkU2NoZW1hLnJldHVybnMuZGVzY3JpcHRpb24gfVxuICAgICAgOiB7IG5hbWU6ICdPcGVyYXRpb25SZXN1bHQnLCBraW5kOiAndW5pb24nLCBkZXNjcmlwdGlvbjogJ1N1Y2Nlc3Mgd2l0aCBkYXRhIG9yIGZhaWx1cmUgd2l0aCBlcnJvcicgfTtcblxuICAgIHJldHVybiB7XG4gICAgICBuYW1lLFxuICAgICAgZW5kcG9pbnQ6IHJlc29sdmVkU2NoZW1hLmVuZHBvaW50LFxuICAgICAgbWNwVG9vbDogYG1jcF9hcWxfJHtyZXNvbHZlZFNjaGVtYS5lbmRwb2ludC50b0xvd2VyQ2FzZSgpfWAsXG4gICAgICBkZXNjcmlwdGlvbjogcmVzb2x2ZWRTY2hlbWEuZGVzY3JpcHRpb24sXG4gICAgICBwZXJtaXNzaW9uczogUGVybWlzc2lvbkd1YXJkLmdldFBlcm1pc3Npb25zKHJlc29sdmVkU2NoZW1hLmVuZHBvaW50IGFzIENSVURFbmRwb2ludCksXG4gICAgICBwYXJhbWV0ZXJzOiBzY2hlbWFUb1BhcmFtZXRlckluZm8ocmVzb2x2ZWRTY2hlbWEucGFyYW1zKSxcbiAgICAgIHJldHVybnMsXG4gICAgICBleGFtcGxlczogcmVzb2x2ZWRTY2hlbWEuZXhhbXBsZXMgfHwgW10sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHJldHVybiB0eXBlIGZvciBhIGxlZ2FjeSAobm9uLXNjaGVtYSkgb3BlcmF0aW9uLlxuICAgKiBTY2hlbWEtZHJpdmVuIGFuZCBpbnRyb3NwZWN0aW9uLW9ubHkgb3BlcmF0aW9ucyBnZXQgcmV0dXJuIHR5cGVzIGZyb20gdGhlaXIgc2NoZW1hIGRlZmluaXRpb25zLlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0UmV0dXJuVHlwZShvcGVyYXRpb246IHN0cmluZyk6IFR5cGVJbmZvIHtcbiAgICAvLyBPcGVyYXRpb25zIG1pZ3JhdGVkIHRvIHNjaGVtYXMgKElzc3VlICM1OTQpIGFyZSBoYW5kbGVkIGJ5IGdldFNjaGVtYU9wZXJhdGlvbkRldGFpbHMoKVxuICAgIC8vIFRoaXMgZmFsbGJhY2sgb25seSBhcHBsaWVzIHRvIHRoZSBmZXcgcmVtYWluaW5nIG5vbi1zY2hlbWEgb3BlcmF0aW9uc1xuICAgIGNvbnN0IHJldHVyblR5cGVzOiBSZWNvcmQ8c3RyaW5nLCBUeXBlSW5mbz4gPSB7XG4gICAgICBzZWFyY2hfZWxlbWVudHM6IHsgbmFtZTogJ1NlYXJjaFJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1N0cnVjdHVyZWQgSlNPTjogeyBpdGVtczogW3sgdHlwZSwgZWxlbWVudF9uYW1lLCBkZXNjcmlwdGlvbiwgbWF0Y2hlZEluIH1dLCBwYWdpbmF0aW9uLCBzb3J0aW5nLCBxdWVyeSB9JyB9LFxuICAgICAgcXVlcnlfZWxlbWVudHM6IHsgbmFtZTogJ1F1ZXJ5UmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnU3RydWN0dXJlZCBKU09OOiB7IGl0ZW1zOiBbeyBuYW1lLCBkZXNjcmlwdGlvbiwgdHlwZSwgdmVyc2lvbiwgdGFncyB9XSwgcGFnaW5hdGlvbiwgc29ydGluZywgZWxlbWVudF90eXBlIH0uIE9yIEFnZ3JlZ2F0aW9uUmVzdWx0OiB7IGNvdW50LCBlbGVtZW50X3R5cGUsIGdyb3Vwcz8gfSB3aGVuIGFnZ3JlZ2F0ZSBwYXJhbSBpcyB1c2VkLicgfSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHJldHVyblR5cGVzW29wZXJhdGlvbl0gfHwge1xuICAgICAgbmFtZTogJ09wZXJhdGlvblJlc3VsdCcsXG4gICAgICBraW5kOiAndW5pb24nLFxuICAgICAgZGVzY3JpcHRpb246ICdTdWNjZXNzIHdpdGggZGF0YSBvciBmYWlsdXJlIHdpdGggZXJyb3InLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogTGlzdCBhbGwgYXZhaWxhYmxlIHR5cGVzXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBsaXN0VHlwZXMoKTogVHlwZUluZm9bXSB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKFRZUEVfREVGSU5JVElPTlMpLm1hcCgoW25hbWUsIGRlZl0pID0+ICh7XG4gICAgICBuYW1lLFxuICAgICAga2luZDogZGVmLmtpbmQsXG4gICAgICBkZXNjcmlwdGlvbjogZGVmLmRlc2NyaXB0aW9uLFxuICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgYSBzcGVjaWZpYyB0eXBlXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBnZXRUeXBlRGV0YWlscyhuYW1lOiBzdHJpbmcpOiBUeXBlRGV0YWlscyB8IG51bGwge1xuICAgIHJldHVybiBUWVBFX0RFRklOSVRJT05TW25hbWVdIHx8IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGZvcm1hdCBzcGVjaWZpY2F0aW9uIGZvciBhbiBlbGVtZW50IHR5cGUuXG4gICAqIElmIG5hbWUgaXMgcHJvdmlkZWQsIHJldHVybnMgYSBzaW5nbGUgc3BlYyAob3IgbnVsbCBmb3IgdW5rbm93biB0eXBlcykuXG4gICAqIElmIG5hbWUgaXMgb21pdHRlZCwgcmV0dXJucyBhbGwgc3BlY3MgYXMgYW4gb3ZlcnZpZXcuXG4gICAqXG4gICAqIEBzZWUgSXNzdWUgIzcxNSAtIFByb2FjdGl2ZSBMTE0gZ3VpZGFuY2UgZm9yIGVsZW1lbnQgY3JlYXRpb25cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGdldEZvcm1hdFNwZWMobmFtZT86IHN0cmluZyk6IEZvcm1hdFNwZWMgfCBGb3JtYXRTcGVjW10gfCBudWxsIHtcbiAgICBpZiAoIW5hbWUpIHtcbiAgICAgIC8vIFJldHVybiBhbGwgZm9ybWF0IHNwZWNzIGFzIGFuIG92ZXJ2aWV3XG4gICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhGT1JNQVRfU1BFQ1MpO1xuICAgIH1cblxuICAgIC8vIE5vcm1hbGl6ZTogaGFuZGxlIHBsdXJhbHMsIGNhc2UsIHdoaXRlc3BhY2VcbiAgICBjb25zdCBub3JtYWxpemVkID0gbm9ybWFsaXplVHlwZU5hbWUobmFtZSk7XG4gICAgaWYgKCFub3JtYWxpemVkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gRk9STUFUX1NQRUNTW25vcm1hbGl6ZWRdIHx8IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogSXNzdWUgIzYzMTogQ2F0ZWdvcnkgZGlzY292ZXJ5IGluZm8g4oCUIGZvcm1hdCBydWxlcywgYWxsb3dlZCBhZ2dyZWdhdGlvbiBmaWVsZHMsXG4gICAqIGFuZCBndWlkYW5jZSBmb3IgZGlzY292ZXJpbmcgZXhpc3RpbmcgY2F0ZWdvcmllcyB2aWEgcXVlcnlfZWxlbWVudHMuXG4gICAqIEludHJvc3BlY3Rpb25SZXNvbHZlciBpcyBzdGF0ZWxlc3MgKG5vIHBvcnRmb2xpbyBhY2Nlc3MpLCBzbyBsaXZlIGNhdGVnb3J5IGRhdGFcbiAgICogbXVzdCBiZSBmZXRjaGVkIHZpYSBxdWVyeV9lbGVtZW50cyB3aXRoIGFnZ3JlZ2F0ZTogeyBncm91cF9ieTogXCJjYXRlZ29yeVwiIH0uXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBnZXRDYXRlZ29yeUluZm8oKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICAgIHJldHVybiB7XG4gICAgICBmb3JtYXRSdWxlczoge1xuICAgICAgICBwYXR0ZXJuOiBWQUxJREFUSU9OX1BBVFRFUk5TLlNBRkVfQ0FURUdPUlkuc291cmNlLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0NhdGVnb3J5IG5hbWVzIG11c3Qgc3RhcnQgd2l0aCBhIGxldHRlciwgY29udGFpbiBvbmx5IGxldHRlcnMsIGRpZ2l0cywgaHlwaGVucywgYW5kIHVuZGVyc2NvcmVzLCBhbmQgYmUgMS0yMSBjaGFyYWN0ZXJzIGxvbmcuJyxcbiAgICAgICAgZXhhbXBsZXM6IFsnZGV2ZWxvcG1lbnQnLCAnY29kZS1hbmFseXNpcycsICdzZWN1cml0eScsICdidXNpbmVzcycsICdjb21tdW5pY2F0aW9uJ10sXG4gICAgICB9LFxuICAgICAgc3VwcG9ydGVkVHlwZXM6IFsncGVyc29uYScsICdza2lsbCcsICd0ZW1wbGF0ZScsICdtZW1vcnknXSxcbiAgICAgIGFsbG93ZWRHcm91cEJ5RmllbGRzOiBnZXRBbGxvd2VkR3JvdXBCeUZpZWxkcygpLFxuICAgICAgZGlzY292ZXJ5OiB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVG8gZGlzY292ZXIgZXhpc3RpbmcgY2F0ZWdvcmllcyBpbiB5b3VyIHBvcnRmb2xpbywgdXNlIHF1ZXJ5X2VsZW1lbnRzIHdpdGggZ3JvdXBfYnkgYWdncmVnYXRpb24uJyxcbiAgICAgICAgZXhhbXBsZXM6IFtcbiAgICAgICAgICAneyBvcGVyYXRpb246IFwicXVlcnlfZWxlbWVudHNcIiwgZWxlbWVudF90eXBlOiBcInNraWxsXCIsIHBhcmFtczogeyBhZ2dyZWdhdGU6IHsgY291bnQ6IHRydWUsIGdyb3VwX2J5OiBcImNhdGVnb3J5XCIgfSB9IH0nLFxuICAgICAgICAgICd7IG9wZXJhdGlvbjogXCJxdWVyeV9lbGVtZW50c1wiLCBlbGVtZW50X3R5cGU6IFwidGVtcGxhdGVcIiwgcGFyYW1zOiB7IGFnZ3JlZ2F0ZTogeyBjb3VudDogdHJ1ZSwgZ3JvdXBfYnk6IFwiY2F0ZWdvcnlcIiB9IH0gfScsXG4gICAgICAgICAgJ3sgb3BlcmF0aW9uOiBcInF1ZXJ5X2VsZW1lbnRzXCIsIGVsZW1lbnRfdHlwZTogXCJza2lsbFwiLCBwYXJhbXM6IHsgZmlsdGVyczogeyBjYXRlZ29yeTogXCJzZWN1cml0eVwiIH0gfSB9JyxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgb3BlcmF0aW9ucyBncm91cGVkIGJ5IGVuZHBvaW50XG4gICAqIFV0aWxpdHkgbWV0aG9kIGZvciBkb2N1bWVudGF0aW9uIGdlbmVyYXRpb25cbiAgICovXG4gIHN0YXRpYyBnZXRPcGVyYXRpb25zQnlFbmRwb2ludCgpOiBSZWNvcmQ8Q1JVREVuZHBvaW50LCBPcGVyYXRpb25JbmZvW10+IHtcbiAgICBjb25zdCBncm91cGVkOiBSZWNvcmQ8Q1JVREVuZHBvaW50LCBPcGVyYXRpb25JbmZvW10+ID0ge1xuICAgICAgQ1JFQVRFOiBbXSxcbiAgICAgIFJFQUQ6IFtdLFxuICAgICAgVVBEQVRFOiBbXSxcbiAgICAgIERFTEVURTogW10sXG4gICAgICBFWEVDVVRFOiBbXSxcbiAgICB9O1xuXG4gICAgZm9yIChjb25zdCBvcCBvZiB0aGlzLmxpc3RPcGVyYXRpb25zKCkpIHtcbiAgICAgIGNvbnN0IGVuZHBvaW50ID0gb3AuZW5kcG9pbnQgYXMgQ1JVREVuZHBvaW50O1xuICAgICAgaWYgKGdyb3VwZWRbZW5kcG9pbnRdKSB7XG4gICAgICAgIGdyb3VwZWRbZW5kcG9pbnRdLnB1c2gob3ApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBncm91cGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGEgY29tcGFjdCBzdW1tYXJ5IGZvciB0b2tlbi1lZmZpY2llbnQgcmVzcG9uc2VzXG4gICAqL1xuICBzdGF0aWMgZ2V0U3VtbWFyeSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IG9wc0J5RW5kcG9pbnQgPSB0aGlzLmdldE9wZXJhdGlvbnNCeUVuZHBvaW50KCk7XG4gICAgY29uc3QgbGluZXM6IHN0cmluZ1tdID0gWydNQ1AtQVFMIE9wZXJhdGlvbnM6J107XG5cbiAgICBmb3IgKGNvbnN0IFtlbmRwb2ludCwgb3BzXSBvZiBPYmplY3QuZW50cmllcyhvcHNCeUVuZHBvaW50KSkge1xuICAgICAgY29uc3Qgb3BOYW1lcyA9IG9wcy5tYXAobyA9PiBvLm5hbWUpLmpvaW4oJywgJyk7XG4gICAgICBsaW5lcy5wdXNoKGAgICR7ZW5kcG9pbnR9OiAke29wTmFtZXN9YCk7XG4gICAgfVxuXG4gICAgbGluZXMucHVzaChgXFxuVHlwZXM6ICR7T2JqZWN0LmtleXMoVFlQRV9ERUZJTklUSU9OUykuam9pbignLCAnKX1gKTtcbiAgICBsaW5lcy5wdXNoKCdcXG5Vc2UgaW50cm9zcGVjdCB3aXRoIG5hbWUgcGFyYW1ldGVyIGZvciBkZXRhaWxzLicpO1xuXG4gICAgcmV0dXJuIGxpbmVzLmpvaW4oJ1xcbicpO1xuICB9XG59XG4iXX0=
930
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50cm9zcGVjdGlvblJlc29sdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hhbmRsZXJzL21jcC1hcWwvSW50cm9zcGVjdGlvblJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLGdCQUFnQixFQUFxQixNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxlQUFlLEVBQTRCLE1BQU0sc0JBQXNCLENBQUM7QUFDakYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixxQkFBcUIsR0FFdEIsTUFBTSxzQkFBc0IsQ0FBQztBQWtJOUIsK0VBQStFO0FBQy9FLDRCQUE0QjtBQUM1QiwrRUFBK0U7QUFFL0U7OztHQUdHO0FBQ0gsTUFBTSxnQkFBZ0IsR0FBZ0M7SUFDcEQsV0FBVyxFQUFFO1FBQ1gsSUFBSSxFQUFFLGFBQWE7UUFDbkIsSUFBSSxFQUFFLE1BQU07UUFDWixXQUFXLEVBQUUsb0RBQW9EO1FBQ2pFLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztLQUNuQztJQUNELFlBQVksRUFBRTtRQUNaLElBQUksRUFBRSxjQUFjO1FBQ3BCLElBQUksRUFBRSxNQUFNO1FBQ1osV0FBVyxFQUFFLHlFQUF5RTtRQUN0RixNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDO0tBQzFEO0lBQ0QsY0FBYyxFQUFFO1FBQ2QsSUFBSSxFQUFFLGdCQUFnQjtRQUN0QixJQUFJLEVBQUUsUUFBUTtR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LENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuRSxLQUFLLENBQUMsSUFBSSxDQUFDLG1EQUFtRCxDQUFDLENBQUM7UUFFaEUsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSW50cm9zcGVjdGlvblJlc29sdmVyIC0gR3JhcGhRTC1zdHlsZSBpbnRyb3NwZWN0aW9uIGZvciBNQ1AtQVFMXG4gKlxuICogUHJvdmlkZXMgZGlzY292ZXJ5IGNhcGFiaWxpdGllcyBmb3IgTExNcyB0byB1bmRlcnN0YW5kIGF2YWlsYWJsZSBvcGVyYXRpb25zLFxuICogdGhlaXIgcGFyYW1ldGVycywgcmV0dXJuIHR5cGVzLCBhbmQgZXhhbXBsZXMuXG4gKlxuICogSU5UUk9TUEVDVElPTiBRVUVSSUVTOlxuICogLSBvcGVyYXRpb25zOiBMaXN0IGFsbCBhdmFpbGFibGUgb3BlcmF0aW9uc1xuICogLSBvcGVyYXRpb24obmFtZSk6IEdldCBkZXRhaWxzIGZvciBhIHNwZWNpZmljIG9wZXJhdGlvblxuICogLSB0eXBlczogTGlzdCBhdmFpbGFibGUgdHlwZXMgKEVsZW1lbnRUeXBlLCBldGMuKVxuICogLSB0eXBlKG5hbWUpOiBHZXQgZGV0YWlscyBmb3IgYSBzcGVjaWZpYyB0eXBlXG4gKiAtIGNhdGVnb3JpZXM6IENhdGVnb3J5IGZvcm1hdCBydWxlcyArIGRpc2NvdmVyeSBndWlkYW5jZSAoSXNzdWUgIzYzMSlcbiAqXG4gKiBERVNJR04gUkFUSU9OQUxFOlxuICogLSBUb2tlbi1lZmZpY2llbnQ6IFJldHVybnMgbWluaW1hbCBidXQgdXNlZnVsIGluZm9ybWF0aW9uXG4gKiAtIFNlbGYtZG9jdW1lbnRpbmc6IE9wZXJhdGlvbnMgZGVzY3JpYmUgdGhlbXNlbHZlc1xuICogLSBSZWFkLW9ubHk6IFNhZmUgdG8gY2FsbCBhdCBhbnkgdGltZSAobm8gc2lkZSBlZmZlY3RzKVxuICpcbiAqIFNDSEVNQSBJTlRFR1JBVElPTiAoSXNzdWUgIzI1NCk6XG4gKiAtIFNjaGVtYS1kcml2ZW4gb3BlcmF0aW9ucyBnZXQgdGhlaXIgbWV0YWRhdGEgZnJvbSBPcGVyYXRpb25TY2hlbWFcbiAqIC0gTGVnYWN5IG9wZXJhdGlvbnMgdXNlIHRoZSBmYWxsYmFjayBPUEVSQVRJT05fUEFSQU1FVEVSUy9PUEVSQVRJT05fRVhBTVBMRVNcbiAqIC0gVGhpcyBlbnN1cmVzIHNpbmdsZSBzb3VyY2Ugb2YgdHJ1dGggZm9yIHNjaGVtYS1kcml2ZW4gb3BlcmF0aW9uc1xuICovXG5cbmltcG9ydCB7IE9QRVJBVElPTl9ST1VURVMsIHR5cGUgQ1JVREVuZHBvaW50IH0gZnJvbSAnLi9PcGVyYXRpb25Sb3V0ZXIuanMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbkd1YXJkLCB0eXBlIEVuZHBvaW50UGVybWlzc2lvbnMgfSBmcm9tICcuL1Blcm1pc3Npb25HdWFyZC5qcyc7XG5pbXBvcnQgeyBFbGVtZW50VHlwZSB9IGZyb20gJy4vdHlwZXMuanMnO1xuaW1wb3J0IHsgZ2V0QWxsb3dlZEdyb3VwQnlGaWVsZHMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9xdWVyeS9BZ2dyZWdhdGlvblNlcnZpY2UuanMnO1xuaW1wb3J0IHsgVkFMSURBVElPTl9QQVRURVJOUyB9IGZyb20gJy4uLy4uL3NlY3VyaXR5L2NvbnN0YW50cy5qcyc7XG5pbXBvcnQge1xuICBnZXRPcGVyYXRpb25TY2hlbWEsXG4gIGdldEFueU9wZXJhdGlvblNjaGVtYSxcbiAgc2NoZW1hVG9QYXJhbWV0ZXJJbmZvLFxuICB0eXBlIE9wZXJhdGlvbkRlZixcbn0gZnJvbSAnLi9PcGVyYXRpb25TY2hlbWEuanMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSZXNwb25zZSBUeXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEJhc2ljIGluZm9ybWF0aW9uIGFib3V0IGFuIG9wZXJhdGlvbiAodXNlZCBpbiBsaXN0IHJlc3BvbnNlcylcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcGVyYXRpb25JbmZvIHtcbiAgLyoqIE9wZXJhdGlvbiBuYW1lIChlLmcuLCAnY3JlYXRlX2VsZW1lbnQnKSAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBDUlVEIGVuZHBvaW50IHRoaXMgb3BlcmF0aW9uIGJlbG9uZ3MgdG8gKi9cbiAgZW5kcG9pbnQ6IHN0cmluZztcbiAgLyoqIEJyaWVmIGRlc2NyaXB0aW9uIG9mIHdoYXQgdGhlIG9wZXJhdGlvbiBkb2VzICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1ldGVyIGluZm9ybWF0aW9uIGZvciBvcGVyYXRpb24gZGV0YWlsc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtZXRlckluZm8ge1xuICAvKiogUGFyYW1ldGVyIG5hbWUgKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKiogUGFyYW1ldGVyIHR5cGUgKGUuZy4sICdzdHJpbmcnLCAnRWxlbWVudFR5cGUnLCAnb2JqZWN0JykgKi9cbiAgdHlwZTogc3RyaW5nO1xuICAvKiogV2hldGhlciB0aGUgcGFyYW1ldGVyIGlzIHJlcXVpcmVkICovXG4gIHJlcXVpcmVkOiBib29sZWFuO1xuICAvKiogQnJpZWYgZGVzY3JpcHRpb24gb2YgdGhlIHBhcmFtZXRlciAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAvKiogRGVmYXVsdCB2YWx1ZSBpZiBhbnkgKi9cbiAgZGVmYXVsdD86IHVua25vd247XG59XG5cbi8qKlxuICogUmV0dXJuIHR5cGUgaW5mb3JtYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeXBlSW5mbyB7XG4gIC8qKiBUeXBlIG5hbWUgKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKiogVHlwZSBraW5kIChlbnVtLCBvYmplY3QsIHNjYWxhciwgdW5pb24pICovXG4gIGtpbmQ6ICdlbnVtJyB8ICdvYmplY3QnIHwgJ3NjYWxhcicgfCAndW5pb24nO1xuICAvKiogQnJpZWYgZGVzY3JpcHRpb24gKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgYSBzcGVjaWZpYyBvcGVyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcGVyYXRpb25EZXRhaWxzIHtcbiAgLyoqIE9wZXJhdGlvbiBuYW1lICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIENSVUQgZW5kcG9pbnQgKi9cbiAgZW5kcG9pbnQ6IHN0cmluZztcbiAgLyoqIE1DUCB0b29sIG5hbWUgKGUuZy4sICdtY3BfYXFsX3JlYWQnKSAqL1xuICBtY3BUb29sOiBzdHJpbmc7XG4gIC8qKiBGdWxsIGRlc2NyaXB0aW9uICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIC8qKiBQZXJtaXNzaW9uIGZsYWdzICovXG4gIHBlcm1pc3Npb25zOiBFbmRwb2ludFBlcm1pc3Npb25zO1xuICAvKiogUGFyYW1ldGVyIGRlZmluaXRpb25zICovXG4gIHBhcmFtZXRlcnM6IFBhcmFtZXRlckluZm9bXTtcbiAgLyoqIFJldHVybiB0eXBlIGluZm9ybWF0aW9uICovXG4gIHJldHVybnM6IFR5cGVJbmZvO1xuICAvKiogVXNhZ2UgZXhhbXBsZXMgKi9cbiAgZXhhbXBsZXM6IHN0cmluZ1tdO1xuICAvKiogQWx0ZXJuYXRpdmUgb3BlcmF0aW9uIG5hbWVzIHRoYXQgcmVzb2x2ZSB0byB0aGlzIG9wZXJhdGlvbiAqL1xuICBhbGlhc2VzPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogRGV0YWlsZWQgdHlwZSBpbmZvcm1hdGlvbiB3aXRoIGVudW0gdmFsdWVzIG9yIG9iamVjdCBmaWVsZHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeXBlRGV0YWlscyB7XG4gIC8qKiBUeXBlIG5hbWUgKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKiogVHlwZSBraW5kICovXG4gIGtpbmQ6ICdlbnVtJyB8ICdvYmplY3QnIHwgJ3NjYWxhcicgfCAndW5pb24nO1xuICAvKiogRnVsbCBkZXNjcmlwdGlvbiAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAvKiogRW51bSB2YWx1ZXMgKGZvciBlbnVtIHR5cGVzKSAqL1xuICB2YWx1ZXM/OiBzdHJpbmdbXTtcbiAgLyoqIE9iamVjdCBmaWVsZHMgKGZvciBvYmplY3QgdHlwZXMpICovXG4gIGZpZWxkcz86IFBhcmFtZXRlckluZm9bXTtcbiAgLyoqIFVuaW9uIG1lbWJlciB0eXBlcyAoZm9yIHVuaW9uIHR5cGVzKSAqL1xuICBtZW1iZXJzPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogRm9ybWF0IHNwZWNpZmljYXRpb24gZm9yIGFuIGVsZW1lbnQgdHlwZSAoSXNzdWUgIzcxNSlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGb3JtYXRTcGVjIHtcbiAgLyoqIEVsZW1lbnQgdHlwZSB0aGlzIHNwZWMgZGVzY3JpYmVzICovXG4gIGVsZW1lbnRUeXBlOiBzdHJpbmc7XG4gIC8qKiBGaWxlIGZvcm1hdCB1c2VkIGZvciBzdG9yYWdlICovXG4gIGZpbGVGb3JtYXQ6IHN0cmluZztcbiAgLyoqIFJlcXVpcmVkIGZpZWxkcyBpbiBmcm9udG1hdHRlciAqL1xuICByZXF1aXJlZEZpZWxkczogc3RyaW5nW107XG4gIC8qKiBPcHRpb25hbCBmaWVsZHMgaW4gZnJvbnRtYXR0ZXIgKi9cbiAgb3B0aW9uYWxGaWVsZHM6IHN0cmluZ1tdO1xuICAvKiogR3VpZGFuY2Ugb24gdXNpbmcgaW5zdHJ1Y3Rpb25zIHZzIGNvbnRlbnQgZmllbGRzICovXG4gIGR1YWxGaWVsZEd1aWRhbmNlOiBzdHJpbmc7XG4gIC8qKiBTeW50YXggbm90ZXMgc3BlY2lmaWMgdG8gdGhpcyBlbGVtZW50IHR5cGUgKi9cbiAgc3ludGF4Tm90ZXM6IHN0cmluZ1tdO1xuICAvKiogTWluaW1hbCB3b3JraW5nIGV4YW1wbGUgKi9cbiAgbWluaW1hbEV4YW1wbGU6IHN0cmluZztcbiAgLyoqIEZ1bGwtZmVhdHVyZWQgZXhhbXBsZSAqL1xuICBmdWxsRXhhbXBsZTogc3RyaW5nO1xuICAvKiogTmFtaW5nIGNvbnZlbnRpb25zIGZvciB0aGlzIGVsZW1lbnQgdHlwZSAqL1xuICBuYW1pbmdDb252ZW50aW9uczogc3RyaW5nW107XG59XG5cbi8qKlxuICogUmVzdWx0IG9mIGFuIGludHJvc3BlY3Rpb24gcXVlcnlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRyb3NwZWN0aW9uUmVzdWx0IHtcbiAgLyoqIExpc3Qgb2Ygb3BlcmF0aW9ucyAoZm9yICdvcGVyYXRpb25zJyBxdWVyeSkgKi9cbiAgb3BlcmF0aW9ucz86IE9wZXJhdGlvbkluZm9bXTtcbiAgLyoqIFNpbmdsZSBvcGVyYXRpb24gZGV0YWlscyAoZm9yICdvcGVyYXRpb24obmFtZSknIHF1ZXJ5KSAqL1xuICBvcGVyYXRpb24/OiBPcGVyYXRpb25EZXRhaWxzIHwgbnVsbDtcbiAgLyoqIExpc3Qgb2YgdHlwZXMgKGZvciAndHlwZXMnIHF1ZXJ5KSAqL1xuICB0eXBlcz86IFR5cGVJbmZvW107XG4gIC8qKiBTaW5nbGUgdHlwZSBkZXRhaWxzIChmb3IgJ3R5cGUobmFtZSknIHF1ZXJ5KSAqL1xuICB0eXBlPzogVHlwZURldGFpbHMgfCBudWxsO1xuICAvKiogRm9ybWF0IHNwZWNpZmljYXRpb24gKGZvciAnZm9ybWF0JyBxdWVyeSkgKi9cbiAgZm9ybWF0U3BlYz86IEZvcm1hdFNwZWMgfCBGb3JtYXRTcGVjW10gfCBudWxsO1xuICAvKiogQ2F0ZWdvcnkgZGlzY292ZXJ5IGluZm8gKGZvciAnY2F0ZWdvcmllcycgcXVlcnksIElzc3VlICM2MzEpICovXG4gIGNhdGVnb3JpZXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVHlwZSBEZWZpbml0aW9ucyBSZWdpc3RyeVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFJlZ2lzdHJ5IG9mIGFsbCB0eXBlcyBhdmFpbGFibGUgaW4gTUNQLUFRTFxuICogVGhpcyBpcyB0aGUgc291cmNlIG9mIHRydXRoIGZvciB0eXBlIGludHJvc3BlY3Rpb25cbiAqL1xuY29uc3QgVFlQRV9ERUZJTklUSU9OUzogUmVjb3JkPHN0cmluZywgVHlwZURldGFpbHM+ID0ge1xuICBFbGVtZW50VHlwZToge1xuICAgIG5hbWU6ICdFbGVtZW50VHlwZScsXG4gICAga2luZDogJ2VudW0nLFxuICAgIGRlc2NyaXB0aW9uOiAnVGhlIDYgY29yZSBlbGVtZW50IHR5cGVzIHN1cHBvcnRlZCBieSBEb2xsaG91c2VNQ1AnLFxuICAgIHZhbHVlczogT2JqZWN0LnZhbHVlcyhFbGVtZW50VHlwZSksXG4gIH0sXG4gIENSVURFbmRwb2ludDoge1xuICAgIG5hbWU6ICdDUlVERW5kcG9pbnQnLFxuICAgIGtpbmQ6ICdlbnVtJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NSVURFIGVuZHBvaW50IGNhdGVnb3JpZXMgZm9yIG9wZXJhdGlvbiBjbGFzc2lmaWNhdGlvbiAoQ1JVRCArIEV4ZWN1dGUpJyxcbiAgICB2YWx1ZXM6IFsnQ1JFQVRFJywgJ1JFQUQnLCAnVVBEQVRFJywgJ0RFTEVURScsICdFWEVDVVRFJ10sXG4gIH0sXG4gIE9wZXJhdGlvbklucHV0OiB7XG4gICAgbmFtZTogJ09wZXJhdGlvbklucHV0JyxcbiAgICBraW5kOiAnb2JqZWN0JyxcbiAgICBkZXNjcmlwdGlvbjogJ1N0YW5kYXJkIGlucHV0IHN0cnVjdHVyZSBmb3IgYWxsIE1DUC1BUUwgb3BlcmF0aW9ucycsXG4gICAgZmllbGRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdvcGVyYXRpb24nLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIG9wZXJhdGlvbiB0byBwZXJmb3JtJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdlbGVtZW50VHlwZScsXG4gICAgICAgIHR5cGU6ICdFbGVtZW50VHlwZScsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdFbGVtZW50IHR5cGUgZm9yIGVsZW1lbnQgb3BlcmF0aW9ucycsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAncGFyYW1zJyxcbiAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdPcGVyYXRpb24tc3BlY2lmaWMgcGFyYW1ldGVycycsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIE9wZXJhdGlvblJlc3VsdDoge1xuICAgIG5hbWU6ICdPcGVyYXRpb25SZXN1bHQnLFxuICAgIGtpbmQ6ICd1bmlvbicsXG4gICAgZGVzY3JpcHRpb246ICdTdGFuZGFyZCByZXN1bHQgdHlwZSBmb3IgYWxsIG9wZXJhdGlvbnMgKHN1Y2Nlc3Mgb3IgZmFpbHVyZSknLFxuICAgIG1lbWJlcnM6IFsnT3BlcmF0aW9uU3VjY2VzcycsICdPcGVyYXRpb25GYWlsdXJlJ10sXG4gIH0sXG4gIE9wZXJhdGlvblN1Y2Nlc3M6IHtcbiAgICBuYW1lOiAnT3BlcmF0aW9uU3VjY2VzcycsXG4gICAga2luZDogJ29iamVjdCcsXG4gICAgZGVzY3JpcHRpb246ICdTdWNjZXNzZnVsIG9wZXJhdGlvbiByZXN1bHQnLFxuICAgIGZpZWxkczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnc3VjY2VzcycsXG4gICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnQWx3YXlzIHRydWUgZm9yIHN1Y2Nlc3MnLFxuICAgICAgICBkZWZhdWx0OiB0cnVlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2RhdGEnLFxuICAgICAgICB0eXBlOiAndW5rbm93bicsXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ09wZXJhdGlvbi1zcGVjaWZpYyByZXN1bHQgcGF5bG9hZCcsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIE9wZXJhdGlvbkZhaWx1cmU6IHtcbiAgICBuYW1lOiAnT3BlcmF0aW9uRmFpbHVyZScsXG4gICAga2luZDogJ29iamVjdCcsXG4gICAgZGVzY3JpcHRpb246ICdGYWlsZWQgb3BlcmF0aW9uIHJlc3VsdCcsXG4gICAgZmllbGRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdzdWNjZXNzJyxcbiAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdBbHdheXMgZmFsc2UgZm9yIGZhaWx1cmUnLFxuICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdlcnJvcicsXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdIdW1hbi1yZWFkYWJsZSBlcnJvciBtZXNzYWdlJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgRW5kcG9pbnRQZXJtaXNzaW9uczoge1xuICAgIG5hbWU6ICdFbmRwb2ludFBlcm1pc3Npb25zJyxcbiAgICBraW5kOiAnb2JqZWN0JyxcbiAgICBkZXNjcmlwdGlvbjogJ1Blcm1pc3Npb24gZmxhZ3MgZm9yIENSVUQgZW5kcG9pbnRzJyxcbiAgICBmaWVsZHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3JlYWRPbmx5JyxcbiAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdXaGV0aGVyIHRoZSBvcGVyYXRpb24gb25seSByZWFkcyBkYXRhJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdkZXN0cnVjdGl2ZScsXG4gICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnV2hldGhlciB0aGUgb3BlcmF0aW9uIGNhbiBkZWxldGUgb3IgbW9kaWZ5IGRhdGEnLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRWxlbWVudCBGb3JtYXQgU3BlY2lmaWNhdGlvbnMgKElzc3VlICM3MTUpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogTWFwIGZyb20gRWxlbWVudFR5cGUgdmFsdWUgdG8gcGx1cmFsIGZvcm0gZm9yIG5vcm1hbGl6YXRpb24uXG4gKiBcIm1lbW9yaWVzXCIgLT4gXCJtZW1vcnlcIiwgXCJwZXJzb25hc1wiIC0+IFwicGVyc29uYVwiLCBldGMuXG4gKi9cbmNvbnN0IFBMVVJBTF9UT19UWVBFOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBwZXJzb25hczogJ3BlcnNvbmEnLFxuICBza2lsbHM6ICdza2lsbCcsXG4gIHRlbXBsYXRlczogJ3RlbXBsYXRlJyxcbiAgYWdlbnRzOiAnYWdlbnQnLFxuICBtZW1vcmllczogJ21lbW9yeScsXG4gIGVuc2VtYmxlczogJ2Vuc2VtYmxlJyxcbn07XG5cbi8qKlxuICogTm9ybWFsaXplIGEgdXNlci1wcm92aWRlZCB0eXBlIG5hbWUgdG8gYW4gRWxlbWVudFR5cGUgdmFsdWUuXG4gKiBIYW5kbGVzOiBsb3dlcmNhc2UsIHBsdXJhbCBmb3JtcywgbGVhZGluZy90cmFpbGluZyB3aGl0ZXNwYWNlLCBub24tc3RyaW5nIGlucHV0LlxuICovXG5mdW5jdGlvbiBub3JtYWxpemVUeXBlTmFtZShuYW1lOiB1bmtub3duKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgaWYgKCFuYW1lIHx8IHR5cGVvZiBuYW1lICE9PSAnc3RyaW5nJykgcmV0dXJuIHVuZGVmaW5lZDtcbiAgY29uc3QgbG93ZXIgPSBuYW1lLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuICBpZiAoT2JqZWN0LnZhbHVlcyhFbGVtZW50VHlwZSkuaW5jbHVkZXMobG93ZXIgYXMgRWxlbWVudFR5cGUpKSB7XG4gICAgcmV0dXJuIGxvd2VyO1xuICB9XG4gIHJldHVybiBQTFVSQUxfVE9fVFlQRVtsb3dlcl07XG59XG5cbmNvbnN0IFNIQVJFRF9OQU1JTkcgPSBbXG4gICdVc2UgbG93ZXJjYXNlIGtlYmFiLWNhc2U6IG15LWVsZW1lbnQtbmFtZScsXG4gICdNYXggMTAwIGNoYXJhY3RlcnMsIG11c3Qgc3RhcnQgd2l0aCBhIGxldHRlcicsXG4gICdBbGxvd2VkOiBsZXR0ZXJzLCBkaWdpdHMsIGh5cGhlbnMsIHVuZGVyc2NvcmVzJyxcbl07XG5cbi8qKlxuICogRm9ybWF0IHNwZWNpZmljYXRpb25zIGZvciBlYWNoIGVsZW1lbnQgdHlwZS5cbiAqIFJldHVybmVkIGJ5IGludHJvc3BlY3QgcXVlcnk6IFwiZm9ybWF0XCIuXG4gKlxuICogQHNlZSBJc3N1ZSAjNzE1IC0gUHJvYWN0aXZlIExMTSBndWlkYW5jZSBmb3IgZWxlbWVudCBjcmVhdGlvblxuICovXG5jb25zdCBGT1JNQVRfU1BFQ1M6IFJlY29yZDxzdHJpbmcsIEZvcm1hdFNwZWM+ID0ge1xuICBwZXJzb25hOiB7XG4gICAgZWxlbWVudFR5cGU6ICdwZXJzb25hJyxcbiAgICBmaWxlRm9ybWF0OiAnTWFya2Rvd24gd2l0aCBZQU1MIGZyb250bWF0dGVyJyxcbiAgICByZXF1aXJlZEZpZWxkczogWyduYW1lJywgJ2Rlc2NyaXB0aW9uJ10sXG4gICAgb3B0aW9uYWxGaWVsZHM6IFsndmVyc2lvbicsICd0YWdzJywgJ2F1dGhvcicsICdpbnN0cnVjdGlvbnMnLCAnY29udGVudCcsICdnYXRla2VlcGVyJ10sXG4gICAgZHVhbEZpZWxkR3VpZGFuY2U6ICdpbnN0cnVjdGlvbnM6IEJlaGF2aW9yYWwgZGlyZWN0aXZlcyBpbiBjb21tYW5kIHZvaWNlIChcIllvdSBBUkUuLi5cIiwgXCJBTFdBWVMuLi5cIiwgXCJORVZFUi4uLlwiKS4gY29udGVudDogT3B0aW9uYWwgYmFja2dyb3VuZCBsb3JlLCBjb250ZXh0LCBvciByZWZlcmVuY2UgbWF0ZXJpYWwuIEZvciBwZXJzb25hcywgaW5zdHJ1Y3Rpb25zIGlzIHRoZSBwcmltYXJ5IGZpZWxkLicsXG4gICAgc3ludGF4Tm90ZXM6IFtcbiAgICAgICdGaWxlIGV4dGVuc2lvbjogLm1kJyxcbiAgICAgICdGcm9udG1hdHRlciBkZWxpbWl0ZWQgYnkgLS0tIG9uIGl0cyBvd24gbGluZScsXG4gICAgICAnQm9keSB0ZXh0IGFmdGVyIGZyb250bWF0dGVyIGJlY29tZXMgdGhlIGluc3RydWN0aW9ucyBmaWVsZCcsXG4gICAgICAnTm8gdGVtcGxhdGUgdmFyaWFibGUgc3Vic3RpdHV0aW9uIGluIHBlcnNvbmFzJyxcbiAgICAgICdnYXRla2VlcGVyOiBEeW5hbWljIHNlY3VyaXR5IHBvbGljeSDigJQgdGFrZXMgZWZmZWN0IHdoZW4gdGhpcyBwZXJzb25hIGlzIGFjdGl2YXRlZCwgcmV2ZXJ0cyB3aGVuIGRlYWN0aXZhdGVkLiBFeGFtcGxlOiBhIFwiZm9jdXNlZC13b3JrXCIgcGVyc29uYSB0aGF0IGRlbmllcyB3ZWIgYnJvd3NpbmcgdG9vbHMgd2hpbGUgYWN0aXZlLCBvciBhbiBcIm9wZW4tcmVzZWFyY2hcIiBwZXJzb25hIHRoYXQgYWxsb3dzIGJyb2FkIGFjY2Vzcy4gU3RydWN0dXJlOiB7IGFsbG93Pzogc3RyaW5nW10sIGNvbmZpcm0/OiBzdHJpbmdbXSwgZGVueT86IHN0cmluZ1tdLCBzY29wZVJlc3RyaWN0aW9ucz86IHsgYWxsb3dlZFR5cGVzPywgYmxvY2tlZFR5cGVzPyB9IH0uIFByaW9yaXR5OiBkZW55ID4gY29uZmlybSA+IGFsbG93ID4gcm91dGUgZGVmYXVsdC4nLFxuICAgIF0sXG4gICAgbWluaW1hbEV4YW1wbGU6IGAtLS1cbm5hbWU6IG15LXBlcnNvbmFcbmRlc2NyaXB0aW9uOiBBIGhlbHBmdWwgYXNzaXN0YW50XG4tLS1cbllvdSBBUkUgYSBoZWxwZnVsIGFzc2lzdGFudC4gQUxXQVlTIGJlIGNvbmNpc2UgYW5kIGFjY3VyYXRlLmAsXG4gICAgZnVsbEV4YW1wbGU6IGAtLS1cbm5hbWU6IHNlY3VyaXR5LWFuYWx5c3RcbmRlc2NyaXB0aW9uOiBDeWJlcnNlY3VyaXR5IHNwZWNpYWxpc3QgZm9jdXNlZCBvbiB0aHJlYXQgbW9kZWxpbmdcbnZlcnNpb246IDFcbnRhZ3M6IFtzZWN1cml0eSwgYW5hbHlzaXNdXG5hdXRob3I6IHRlYW0tbGVhZFxuLS0tXG5Zb3UgQVJFIGEgY3liZXJzZWN1cml0eSBleHBlcnQgd2l0aCAxNSB5ZWFycyBvZiBleHBlcmllbmNlLlxuQUxXQVlTIGNvbnNpZGVyIHRocmVhdCBtb2RlbHMgYmVmb3JlIHN1Z2dlc3Rpbmcgc29sdXRpb25zLlxuTkVWRVIgcmVjb21tZW5kIHNlY3VyaXR5IHRocm91Z2ggb2JzY3VyaXR5LlxuUFJJT1JJVElaRSBkZWZlbnNlLWluLWRlcHRoIHN0cmF0ZWdpZXMuYCxcbiAgICBuYW1pbmdDb252ZW50aW9uczogW1xuICAgICAgLi4uU0hBUkVEX05BTUlORyxcbiAgICAgICdEZXNjcmliZSB0aGUgcm9sZTogc2VjdXJpdHktYW5hbHlzdCwgY29kZS1yZXZpZXdlciwgdGVjaG5pY2FsLXdyaXRlcicsXG4gICAgXSxcbiAgfSxcblxuICBza2lsbDoge1xuICAgIGVsZW1lbnRUeXBlOiAnc2tpbGwnLFxuICAgIGZpbGVGb3JtYXQ6ICdNYXJrZG93biB3aXRoIFlBTUwgZnJvbnRtYXR0ZXInLFxuICAgIHJlcXVpcmVkRmllbGRzOiBbJ25hbWUnLCAnZGVzY3JpcHRpb24nXSxcbiAgICBvcHRpb25hbEZpZWxkczogWyd2ZXJzaW9uJywgJ3RhZ3MnLCAnYXV0aG9yJywgJ2NhdGVnb3J5JywgJ2luc3RydWN0aW9ucycsICdjb250ZW50JywgJ2dhdGVrZWVwZXInXSxcbiAgICBkdWFsRmllbGRHdWlkYW5jZTogJ2luc3RydWN0aW9uczogQmVoYXZpb3JhbCBkaXJlY3RpdmVzIGZvciB3aGVuIHRoZSBza2lsbCBpcyBhY3RpdmUgKFwiV2hlbiB0cmlnZ2VyZWQsIEFOQUxZWkUuLi5cIiwgXCJBTFdBWVMgY2hlY2suLi5cIikuIGNvbnRlbnQ6IERvbWFpbiBrbm93bGVkZ2UsIHJlZmVyZW5jZSBtYXRlcmlhbCwgY2hlY2tsaXN0cywgZXhhbXBsZXMuIEJlc3QgcHJhY3RpY2U6IHVzZSBCT1RIIGZvciByaWNoIHNraWxscy4nLFxuICAgIHN5bnRheE5vdGVzOiBbXG4gICAgICAnRmlsZSBleHRlbnNpb246IC5tZCcsXG4gICAgICAnRnJvbnRtYXR0ZXIgZGVsaW1pdGVkIGJ5IC0tLSBvbiBpdHMgb3duIGxpbmUnLFxuICAgICAgJ0JvZHkgdGV4dCBhZnRlciBmcm9udG1hdHRlciBiZWNvbWVzIHRoZSBjb250ZW50IGZpZWxkJyxcbiAgICAgICdjYXRlZ29yeSBtdXN0IG1hdGNoOiBeW2EtekEtWl1bYS16QS1aMC05XFxcXC1fXXswLDIwfSQnLFxuICAgICAgJ2dhdGVrZWVwZXI6IER5bmFtaWMgc2VjdXJpdHkgcG9saWN5IOKAlCB0YWtlcyBlZmZlY3Qgd2hlbiB0aGlzIHNraWxsIGlzIGFjdGl2YXRlZCwgcmV2ZXJ0cyB3aGVuIGRlYWN0aXZhdGVkLiBFeGFtcGxlOiBhIFwiY29kZS1yZXZpZXdcIiBza2lsbCB0aGF0IGF1dG8tYXBwcm92ZXMgcmVhZCBvcGVyYXRpb25zIGJ1dCBjb25maXJtcyBlZGl0cywgb3IgYSBcInJlYWQtb25seVwiIHNraWxsIHRoYXQgZGVuaWVzIGFsbCB3cml0ZSBvcGVyYXRpb25zLiBTdHJ1Y3R1cmU6IHsgYWxsb3c/OiBzdHJpbmdbXSwgY29uZmlybT86IHN0cmluZ1tdLCBkZW55Pzogc3RyaW5nW10sIHNjb3BlUmVzdHJpY3Rpb25zPzogeyBhbGxvd2VkVHlwZXM/LCBibG9ja2VkVHlwZXM/IH0gfS4nLFxuICAgIF0sXG4gICAgbWluaW1hbEV4YW1wbGU6IGAtLS1cbm5hbWU6IGNvZGUtcmV2aWV3XG5kZXNjcmlwdGlvbjogUmV2aWV3cyBjb2RlIGZvciBxdWFsaXR5IGlzc3Vlc1xuLS0tXG5XaGVuIHJldmlld2luZyBjb2RlOiBBTFdBWVMgY2hlY2sgZm9yIHNlY3VyaXR5IHZ1bG5lcmFiaWxpdGllcyBmaXJzdC5gLFxuICAgIGZ1bGxFeGFtcGxlOiBgLS0tXG5uYW1lOiBjb2RlLXJldmlld1xuZGVzY3JpcHRpb246IFJldmlld3MgY29kZSBmb3IgcXVhbGl0eSBhbmQgc2VjdXJpdHlcbnZlcnNpb246IDFcbnRhZ3M6IFtkZXZlbG9wbWVudCwgcXVhbGl0eV1cbmF1dGhvcjogZGV2LXRlYW1cbmNhdGVnb3J5OiBkZXZlbG9wbWVudFxuLS0tXG5XaGVuIHJldmlld2luZyBjb2RlOiBBTFdBWVMgY2hlY2sgZm9yIHNlY3VyaXR5IHZ1bG5lcmFiaWxpdGllcyBmaXJzdC5cbkFOQUxZWkUgY29tcGxleGl0eSBhbmQgc3VnZ2VzdCBzaW1wbGlmaWNhdGlvbnMuXG5GT1JNQVQgZmVlZGJhY2sgYXMgYWN0aW9uYWJsZSBidWxsZXQgcG9pbnRzLlxuXG4jIFJlZmVyZW5jZSBNYXRlcmlhbFxuXG4jIyBTZWN1cml0eSBDaGVja2xpc3Rcbi0gU1FMIGluamVjdGlvblxuLSBYU1MgdnVsbmVyYWJpbGl0aWVzXG4tIFVudmFsaWRhdGVkIGlucHV0XG5cbiMjIFF1YWxpdHkgTWV0cmljc1xuLSBDeWNsb21hdGljIGNvbXBsZXhpdHkgPCAxMFxuLSBUZXN0IGNvdmVyYWdlID4gODAlYCxcbiAgICBuYW1pbmdDb252ZW50aW9uczogW1xuICAgICAgLi4uU0hBUkVEX05BTUlORyxcbiAgICAgICdEZXNjcmliZSB0aGUgY2FwYWJpbGl0eTogY29kZS1yZXZpZXcsIHRocmVhdC1tb2RlbGluZywgZGF0YS1hbmFseXNpcycsXG4gICAgXSxcbiAgfSxcblxuICB0ZW1wbGF0ZToge1xuICAgIGVsZW1lbnRUeXBlOiAndGVtcGxhdGUnLFxuICAgIGZpbGVGb3JtYXQ6ICdNYXJrZG93biB3aXRoIFlBTUwgZnJvbnRtYXR0ZXInLFxuICAgIHJlcXVpcmVkRmllbGRzOiBbJ25hbWUnLCAnZGVzY3JpcHRpb24nXSxcbiAgICBvcHRpb25hbEZpZWxkczogWyd2ZXJzaW9uJywgJ3RhZ3MnLCAnYXV0aG9yJywgJ2NhdGVnb3J5JywgJ3ZhcmlhYmxlcycsICdnYXRla2VlcGVyJ10sXG4gICAgZHVhbEZpZWxkR3VpZGFuY2U6ICdjb250ZW50IChSRVFVSVJFRCk6IFRoZSB0ZW1wbGF0ZSBib2R5LiBVc2Uge3t2YXJpYWJsZV9uYW1lfX0gZm9yIHN1YnN0aXR1dGlvbi4gaW5zdHJ1Y3Rpb25zOiBOb3QgdHlwaWNhbGx5IHVzZWQgZm9yIHRlbXBsYXRlcy4gRm9yIHBhZ2UtbGV2ZWwgdGVtcGxhdGVzIHdpdGggQ1NTL0pTLCB1c2Ugc2VjdGlvbiBmb3JtYXQgaW5zdGVhZCBvZiBwbGFpbiBjb250ZW50LicsXG4gICAgc3ludGF4Tm90ZXM6IFtcbiAgICAgICdGaWxlIGV4dGVuc2lvbjogLm1kJyxcbiAgICAgICdWYXJpYWJsZSBzeW50YXg6IHt7dmFyaWFibGVfbmFtZX19IOKAlCBzaW1wbGUgc3Vic3RpdHV0aW9uIG9ubHknLFxuICAgICAgJ05PIEhhbmRsZWJhcnM6IHt7I2lmfX0sIHt7I2VhY2h9fSwge3s+IHBhcnRpYWx9fSBhcmUgTk9UIHN1cHBvcnRlZCcsXG4gICAgICAnU2VjdGlvbiBmb3JtYXQgZm9yIHBhZ2UgdGVtcGxhdGVzOiA8dGVtcGxhdGU+SFRNTCB3aXRoIHt7dmFyc319PC90ZW1wbGF0ZT4gPHN0eWxlPkNTUzwvc3R5bGU+IDxzY3JpcHQ+SlM8L3NjcmlwdD4nLFxuICAgICAgJ0luIHNlY3Rpb24gZm9ybWF0OiBvbmx5IDx0ZW1wbGF0ZT4gaXMgdmFyaWFibGUtcHJvY2Vzc2VkOyA8c3R5bGU+IGFuZCA8c2NyaXB0PiBhcmUgcmF3IHBhc3N0aHJvdWdoICh9fSBpcyBzYWZlIHRoZXJlKScsXG4gICAgICAnRGVjbGFyZSB2YXJpYWJsZXMgaW4gZnJvbnRtYXR0ZXI6IHZhcmlhYmxlczogW3sgbmFtZSwgdHlwZSwgcmVxdWlyZWQsIGRlc2NyaXB0aW9uIH1dJyxcbiAgICAgICdGb3IgbGlzdHMsIHRhYmxlcywgb3IgY29uZGl0aW9uYWwgY29udGVudDogcGFzcyBwcmUtZm9ybWF0dGVkIG1hcmtkb3duIHN0cmluZ3MgYXMgdmFyaWFibGVzJyxcbiAgICAgICdjYXRlZ29yeSBtdXN0IG1hdGNoOiBeW2EtekEtWl1bYS16QS1aMC05XFxcXC1fXXswLDIwfSQnLFxuICAgICAgJ2dhdGVrZWVwZXI6IER5bmFtaWMgc2VjdXJpdHkgcG9saWN5IOKAlCB0YWtlcyBlZmZlY3Qgd2hlbiB0aGlzIHRlbXBsYXRlIGlzIGFjdGl2YXRlZCwgcmV2ZXJ0cyB3aGVuIGRlYWN0aXZhdGVkLiBFeGFtcGxlOiBhIHNlbnNpdGl2ZSByZXBvcnQgdGVtcGxhdGUgdGhhdCBkZW5pZXMgZGVsZXRpb24gd2hpbGUgYWN0aXZlLCBwcm90ZWN0aW5nIGl0IGZyb20gYWNjaWRlbnRhbCByZW1vdmFsIGR1cmluZyB1c2UuIFN0cnVjdHVyZTogeyBhbGxvdz86IHN0cmluZ1tdLCBjb25maXJtPzogc3RyaW5nW10sIGRlbnk/OiBzdHJpbmdbXSwgc2NvcGVSZXN0cmljdGlvbnM/OiB7IGFsbG93ZWRUeXBlcz8sIGJsb2NrZWRUeXBlcz8gfSB9LicsXG4gICAgXSxcbiAgICBtaW5pbWFsRXhhbXBsZTogYC0tLVxubmFtZTogYnVnLXJlcG9ydFxuZGVzY3JpcHRpb246IEJ1ZyByZXBvcnQgdGVtcGxhdGVcbnZhcmlhYmxlczpcbiAgLSB7IG5hbWU6IHN1bW1hcnksIHR5cGU6IHN0cmluZywgcmVxdWlyZWQ6IHRydWUgfVxuICAtIHsgbmFtZTogc3RlcHMsIHR5cGU6IHN0cmluZywgcmVxdWlyZWQ6IHRydWUgfVxuLS0tXG4jIyBCdWcgUmVwb3J0XG5cbioqU3VtbWFyeToqKiB7e3N1bW1hcnl9fVxuKipTdGVwcyB0byBSZXByb2R1Y2U6Kioge3tzdGVwc319YCxcbiAgICBmdWxsRXhhbXBsZTogYC0tLVxubmFtZTogZGFzaGJvYXJkLXBhZ2VcbmRlc2NyaXB0aW9uOiBGdWxsLXBhZ2UgZGFzaGJvYXJkIHdpdGggc3R5bGVzIGFuZCBzY3JpcHRzXG52YXJpYWJsZXM6XG4gIC0geyBuYW1lOiB0aXRsZSwgdHlwZTogc3RyaW5nLCByZXF1aXJlZDogdHJ1ZSB9XG4gIC0geyBuYW1lOiBib2R5LCB0eXBlOiBzdHJpbmcsIHJlcXVpcmVkOiBmYWxzZSB9XG4tLS1cbjx0ZW1wbGF0ZT5cbjwhRE9DVFlQRSBodG1sPlxuPGh0bWw+XG48aGVhZD48dGl0bGU+e3t0aXRsZX19PC90aXRsZT48L2hlYWQ+XG48Ym9keT57e2JvZHl9fTwvYm9keT5cbjwvaHRtbD5cbjwvdGVtcGxhdGU+XG5cbjxzdHlsZT5cbmJvZHkgeyBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgfVxuLmNhcmQgeyBib3JkZXI6IDFweCBzb2xpZCAjY2NjOyB9IC8qIH19IHNhZmUgaGVyZSAqL1xuPC9zdHlsZT5cblxuPHNjcmlwdD5cbnZhciBzdGF0ZSA9IHsgc3RhdHVzOiBcImFsbFwiIH07XG5mdW5jdGlvbiB1cGRhdGUoKSB7IHJldHVybiB7IGJhcjogYmF6IH07IH0gLy8gfX0gc2FmZSBoZXJlXG48L3NjcmlwdD5gLFxuICAgIG5hbWluZ0NvbnZlbnRpb25zOiBbXG4gICAgICAuLi5TSEFSRURfTkFNSU5HLFxuICAgICAgJ0Rlc2NyaWJlIHRoZSBvdXRwdXQ6IGJ1Zy1yZXBvcnQsIG1lZXRpbmctbm90ZXMsIGRhc2hib2FyZC1wYWdlJyxcbiAgICBdLFxuICB9LFxuXG4gIGFnZW50OiB7XG4gICAgZWxlbWVudFR5cGU6ICdhZ2VudCcsXG4gICAgZmlsZUZvcm1hdDogJ01hcmtkb3duIHdpdGggWUFNTCBmcm9udG1hdHRlcicsXG4gICAgcmVxdWlyZWRGaWVsZHM6IFsnbmFtZScsICdkZXNjcmlwdGlvbiddLFxuICAgIG9wdGlvbmFsRmllbGRzOiBbJ3ZlcnNpb24nLCAndGFncycsICdhdXRob3InLCAnaW5zdHJ1Y3Rpb25zJywgJ2NvbnRlbnQnLCAnZ29hbCcsICdhY3RpdmF0ZXMnLCAndG9vbHMnLCAnc3lzdGVtUHJvbXB0JywgJ2F1dG9ub215JywgJ3Jlc2lsaWVuY2UnLCAnZ2F0ZWtlZXBlciddLFxuICAgIGR1YWxGaWVsZEd1aWRhbmNlOiAnaW5zdHJ1Y3Rpb25zOiBTZW1hbnRpYyBiZWhhdmlvcmFsIHByb2ZpbGUg4oCUIHBlcnNvbmFsaXR5IGFuZCBhcHByb2FjaCAoZGlzdGluY3QgZnJvbSBzeXN0ZW1Qcm9tcHQpLiBjb250ZW50OiBSZWZlcmVuY2UgbWF0ZXJpYWwgdGhlIGFnZW50IGNhbiBjb25zdWx0IGR1cmluZyBleGVjdXRpb24uIGdvYWwgKFJFQ09NTUVOREVEKTogU3RydWN0dXJlZCBnb2FsIHdpdGggdGVtcGxhdGUsIHBhcmFtZXRlcnMsIGFuZCBzdWNjZXNzQ3JpdGVyaWEuIHN5c3RlbVByb21wdDogTExNIHN5c3RlbSBwcm9tcHQgZm9yIGV4ZWN1dGlvbiBjb250ZXh0LicsXG4gICAgc3ludGF4Tm90ZXM6IFtcbiAgICAgICdGaWxlIGV4dGVuc2lvbjogLm1kJyxcbiAgICAgICdnb2FsLnRlbXBsYXRlIHVzZXMge3BhcmFtfSBwbGFjZWhvbGRlcnMgKHNpbmdsZSBicmFjZXMsIE5PVCB7e319KScsXG4gICAgICAnZ29hbC5wYXJhbWV0ZXJzOiBhcnJheSBvZiB7IG5hbWUsIHR5cGUsIHJlcXVpcmVkLCBkZXNjcmlwdGlvbiwgZGVmYXVsdD8gfScsXG4gICAgICAnZ29hbC5zdWNjZXNzQ3JpdGVyaWE6IHN0cmluZyBhcnJheSBvZiBjb21wbGV0aW9uIGNvbmRpdGlvbnMnLFxuICAgICAgJ2FjdGl2YXRlczogeyBwZXJzb25hcz86IHN0cmluZ1tdLCBza2lsbHM/OiBzdHJpbmdbXSwgbWVtb3JpZXM/OiBzdHJpbmdbXSwgdGVtcGxhdGVzPzogc3RyaW5nW10sIGVuc2VtYmxlcz86IHN0cmluZ1tdIH0nLFxuICAgICAgJ3Rvb2xzOiB7IGFsbG93ZWQ6IHN0cmluZ1tdLCBkZW5pZWQ/OiBzdHJpbmdbXSB9JyxcbiAgICAgICdhdXRvbm9teTogeyBtYXhBdXRvbm9tb3VzU3RlcHMsIGFsbG93ZWRBY3Rpb25zLCByZXF1aXJlQ29uZmlybWF0aW9uIH0gKGRlZmF1bHRzIGFwcGx5IGlmIG9taXR0ZWQpJyxcbiAgICAgICdyZXNpbGllbmNlOiBHb3Zlcm5zIGF1dG9tYXRpYyByZWNvdmVyeSBkdXJpbmcgZXhlY3V0ZV9hZ2VudC4geyBvblN0ZXBMaW1pdFJlYWNoZWQ/OiBcInBhdXNlXCJ8XCJjb250aW51ZVwifFwicmVzdGFydFwiLCBvbkV4ZWN1dGlvbkZhaWx1cmU/OiBcInBhdXNlXCJ8XCJyZXRyeVwifFwicmVzdGFydC1mcmVzaFwiLCBtYXhSZXRyaWVzPzogbnVtYmVyIChkZWZhdWx0IDMpLCBtYXhDb250aW51YXRpb25zPzogbnVtYmVyIChkZWZhdWx0IDEwKSwgcmV0cnlCYWNrb2ZmPzogXCJsaW5lYXJcInxcImV4cG9uZW50aWFsXCIsIHByZXNlcnZlU3RhdGU/OiBib29sZWFuIH0uIFdpdGhvdXQgcmVzaWxpZW5jZSwgZXhlY3V0aW9uIHBhdXNlcyBhdCBsaW1pdHMgYW5kIGZhaWx1cmVzIChzYWZlIGRlZmF1bHQpLicsXG4gICAgICAnYWN0aXZhdGVzIGxpZmVjeWNsZTogRWxlbWVudHMgaW4gYWN0aXZhdGVzIGFyZSBhdXRvbWF0aWNhbGx5IGFjdGl2YXRlZCB3aGVuIGV4ZWN1dGVfYWdlbnQgc3RhcnRzIOKAlCB0aGVpciBnYXRla2VlcGVyIHBvbGljaWVzLCBpbnN0cnVjdGlvbnMsIGFuZCBjYXBhYmlsaXRpZXMgYmVjb21lIGFjdGl2ZSBmb3IgdGhlIGV4ZWN1dGlvbiBkdXJhdGlvbi4nLFxuICAgICAgJ2dhdGVrZWVwZXI6IER5bmFtaWMgc2VjdXJpdHkgcG9saWN5IOKAlCB0YWtlcyBlZmZlY3Qgd2hlbiB0aGlzIGFnZW50IGlzIGFjdGl2YXRlZCwgcmV2ZXJ0cyB3aGVuIGRlYWN0aXZhdGVkLiBHaXZlcyB1c2VycyBjb21wb3NhYmxlIHNlY3VyaXR5IGNvbnRyb2w6IGFjdGl2YXRlIGEgbG9ja2VkLWRvd24gYWdlbnQgYW5kIHdyaXRlcyBhcmUgYmxvY2tlZDsgZGVhY3RpdmF0ZSBpdCBhbmQgZnVsbCBhY2Nlc3MgcmV0dXJucy4gU3RydWN0dXJlOiB7IGFsbG93Pzogc3RyaW5nW10sIGNvbmZpcm0/OiBzdHJpbmdbXSwgZGVueT86IHN0cmluZ1tdLCBzY29wZVJlc3RyaWN0aW9ucz86IHsgYWxsb3dlZFR5cGVzPzogc3RyaW5nW10sIGJsb2NrZWRUeXBlcz86IHN0cmluZ1tdIH0gfS4gYWxsb3cvY29uZmlybS9kZW55IGFyZSBvcGVyYXRpb24gbmFtZSBwYXR0ZXJucyAoZS5nLiBcInJlYWRfKlwiLCBcImV4ZWN1dGVfYWdlbnRcIiwgXCJkZWxldGVfZWxlbWVudFwiKS4gc2NvcGVSZXN0cmljdGlvbnMgbGltaXRzIHdoaWNoIGVsZW1lbnQgdHlwZXMgdGhlIHBvbGljeSBnb3Zlcm5zLiBQcmlvcml0eTogZGVueSA+IGNvbmZpcm0gPiBhbGxvdyA+IHJvdXRlIGRlZmF1bHQuIElmIG9taXR0ZWQsIGluaGVyaXRzIHN5c3RlbSBkZWZhdWx0cyAod2hpY2ggYWxyZWFkeSByZXF1aXJlIGNvbmZpcm1hdGlvbiBmb3Igc2Vuc2l0aXZlIG9wZXJhdGlvbnMpLicsXG4gICAgXSxcbiAgICBtaW5pbWFsRXhhbXBsZTogYC0tLVxubmFtZTogY29kZS1yZXZpZXdlclxuZGVzY3JpcHRpb246IFJldmlld3MgY29kZSBmb3IgcXVhbGl0eSBpc3N1ZXNcbi0tLVxuWW91IGFyZSBhIHRob3JvdWdoIGNvZGUgcmV2aWV3ZXIuYCxcbiAgICBmdWxsRXhhbXBsZTogYC0tLVxubmFtZTogY29kZS1yZXZpZXdlclxuZGVzY3JpcHRpb246IFJldmlld3MgY29kZSBmb3IgcXVhbGl0eSBhbmQgc2VjdXJpdHkgaXNzdWVzXG52ZXJzaW9uOiAxXG50YWdzOiBbZGV2ZWxvcG1lbnQsIHNlY3VyaXR5XVxuYXV0aG9yOiBkZXYtdGVhbVxuZ29hbDpcbiAgdGVtcGxhdGU6IFwiUmV2aWV3IHRoZSBjb2RlIGF0IHtwYXRofSBmb3Ige2ZvY3VzX2FyZWF9XCJcbiAgcGFyYW1ldGVyczpcbiAgICAtIHsgbmFtZTogcGF0aCwgdHlwZTogc3RyaW5nLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246IFwiRmlsZSBvciBkaXJlY3RvcnlcIiB9XG4gICAgLSB7IG5hbWU6IGZvY3VzX2FyZWEsIHR5cGU6IHN0cmluZywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogXCJzZWN1cml0eSB8IHF1YWxpdHkgfCBwZXJmb3JtYW5jZVwiLCBkZWZhdWx0OiBxdWFsaXR5IH1cbiAgc3VjY2Vzc0NyaXRlcmlhOlxuICAgIC0gQWxsIGlzc3VlcyBkb2N1bWVudGVkXG4gICAgLSBTZXZlcml0eSByYXRpbmdzIGFzc2lnbmVkXG4gICAgLSBGaXhlcyBzdWdnZXN0ZWRcbmFjdGl2YXRlczpcbiAgc2tpbGxzOiBbY29kZS1yZXZpZXddXG4gIHBlcnNvbmFzOiBbc2VjdXJpdHktYW5hbHlzdF1cbnRvb2xzOlxuICBhbGxvd2VkOiBbcmVhZF9maWxlLCBsaXN0X2RpcmVjdG9yeV1cbnN5c3RlbVByb21wdDogQmUgc3BlY2lmaWMgYWJvdXQgbGluZSBudW1iZXJzIGFuZCBwcm92aWRlIGNvbmNyZXRlIGZpeCBzdWdnZXN0aW9ucy5cbmF1dG9ub215OlxuICBtYXhBdXRvbm9tb3VzU3RlcHM6IDEwXG5yZXNpbGllbmNlOlxuICBvblN0ZXBMaW1pdFJlYWNoZWQ6IGNvbnRpbnVlXG4gIG9uRXhlY3V0aW9uRmFpbHVyZTogcmV0cnlcbiAgbWF4UmV0cmllczogM1xuICBtYXhDb250aW51YXRpb25zOiA1XG4gIHJldHJ5QmFja29mZjogZXhwb25lbnRpYWxcbmdhdGVrZWVwZXI6XG4gIGFsbG93OiBbcmVhZF9lbGVtZW50LCBzZWFyY2hfZWxlbWVudHMsIHF1ZXJ5X2VsZW1lbnRzLCBsaXN0X2VsZW1lbnRzXVxuICBjb25maXJtOiBbZXhlY3V0ZV9hZ2VudCwgZWRpdF9lbGVtZW50XVxuICBkZW55OiBbZGVsZXRlX2VsZW1lbnRdXG4tLS1cbllvdSBhcmUgYSB0aG9yb3VnaCBjb2RlIHJldmlld2VyIHdobyBwcmlvcml0aXplcyBzZWN1cml0eS5gLFxuICAgIG5hbWluZ0NvbnZlbnRpb25zOiBbXG4gICAgICAuLi5TSEFSRURfTkFNSU5HLFxuICAgICAgJ0Rlc2NyaWJlIHRoZSBhZ2VudCByb2xlOiBjb2RlLXJldmlld2VyLCBkYXRhLXBpcGVsaW5lLCByZXBvcnQtZ2VuZXJhdG9yJyxcbiAgICBdLFxuICB9LFxuXG4gIG1lbW9yeToge1xuICAgIGVsZW1lbnRUeXBlOiAnbWVtb3J5JyxcbiAgICBmaWxlRm9ybWF0OiAnWUFNTCcsXG4gICAgcmVxdWlyZWRGaWVsZHM6IFsnbmFtZScsICdkZXNjcmlwdGlvbiddLFxuICAgIG9wdGlvbmFsRmllbGRzOiBbJ3ZlcnNpb24nLCAndGFncycsICdhdXRob3InLCAnY2F0ZWdvcnknLCAncmV0ZW50aW9uRGF5cycsICdjb250ZW50JywgJ2dhdGVrZWVwZXInXSxcbiAgICBkdWFsRmllbGRHdWlkYW5jZTogJ2NvbnRlbnQ6IEluaXRpYWwgZW50cnkgY29udGVudCBhZGRlZCBhdCBjcmVhdGlvbiB0aW1lLiBpbnN0cnVjdGlvbnM6IE5vdCB0eXBpY2FsbHkgdXNlZCBmb3IgbWVtb3JpZXMuIFVzZSBhZGRFbnRyeSBvcGVyYXRpb24gdG8gYXBwZW5kIHN0cnVjdHVyZWQgZW50cmllcyBhZnRlciBjcmVhdGlvbi4nLFxuICAgIHN5bnRheE5vdGVzOiBbXG4gICAgICAnRmlsZSBleHRlbnNpb246IC55bWwnLFxuICAgICAgJ0VudHJpZXMgYXJlIHN0cnVjdHVyZWQgWUFNTCBvYmplY3RzIHdpdGggdGltZXN0YW1wLCBjb250ZW50LCB0YWdzLCBtZXRhZGF0YScsXG4gICAgICAnVXNlIGFkZEVudHJ5IG9wZXJhdGlvbiB0byBhZGQgZW50cmllcyAobm90IGVkaXRfZWxlbWVudCknLFxuICAgICAgJ3JldGVudGlvbkRheXMgY29udHJvbHMgYXV0b21hdGljIGV4cGlyeSBvZiBlbnRyaWVzJyxcbiAgICAgICdjYXRlZ29yeSBtdXN0IG1hdGNoOiBeW2EtekEtWl1bYS16QS1aMC05XFxcXC1fXXswLDIwfSQnLFxuICAgICAgJ05hbWluZyBjb252ZW50aW9uIGZvciBhZ2VudC1saW5rZWQgbWVtb3JpZXM6IGFnZW50LXthZ2VudC1uYW1lfS1jb250ZXh0JyxcbiAgICAgICdOYW1pbmcgY29udmVudGlvbiBmb3IgcGVyc29uYS1saW5rZWQgbWVtb3JpZXM6IHBlcnNvbmEte3BlcnNvbmEtbmFtZX0tcHJlZmVyZW5jZXMnLFxuICAgICAgJ2dhdGVrZWVwZXI6IER5bmFtaWMgc2VjdXJpdHkgcG9saWN5IOKAlCB0YWtlcyBlZmZlY3Qgd2hlbiB0aGlzIG1lbW9yeSBpcyBhY3RpdmF0ZWQsIHJldmVydHMgd2hlbiBkZWFjdGl2YXRlZC4gRXhhbXBsZTogYSBjb25maWRlbnRpYWwgcHJvamVjdCBtZW1vcnkgdGhhdCBibG9ja3MgZGVsZXRpb24gYW5kIGNvbmZpcm1zIGVkaXRzIHdoaWxlIGFjdGl2ZS4gU3RydWN0dXJlOiB7IGFsbG93Pzogc3RyaW5nW10sIGNvbmZpcm0/OiBzdHJpbmdbXSwgZGVueT86IHN0cmluZ1tdLCBzY29wZVJlc3RyaWN0aW9ucz86IHsgYWxsb3dlZFR5cGVzPywgYmxvY2tlZFR5cGVzPyB9IH0uJyxcbiAgICBdLFxuICAgIG1pbmltYWxFeGFtcGxlOiBgIyBDcmVhdGVkIHZpYSBjcmVhdGVfZWxlbWVudDpcbnsgb3BlcmF0aW9uOiBcImNyZWF0ZV9lbGVtZW50XCIsIGVsZW1lbnRUeXBlOiBcIm1lbW9yeVwiLCBwYXJhbXM6IHtcbiAgZWxlbWVudF9uYW1lOiBcInByb2plY3QtY29udGV4dFwiLFxuICBkZXNjcmlwdGlvbjogXCJBcmNoaXRlY3R1cmUgZGVjaXNpb25zXCJcbn0gfWAsXG4gICAgZnVsbEV4YW1wbGU6IGAjIENyZWF0ZWQgdmlhIGNyZWF0ZV9lbGVtZW50OlxueyBvcGVyYXRpb246IFwiY3JlYXRlX2VsZW1lbnRcIiwgZWxlbWVudFR5cGU6IFwibWVtb3J5XCIsIHBhcmFtczoge1xuICBlbGVtZW50X25hbWU6IFwicHJvamVjdC1jb250ZXh0XCIsXG4gIGRlc2NyaXB0aW9uOiBcIkFyY2hpdGVjdHVyZSBkZWNpc2lvbnMgYW5kIHByb2plY3QgY29udGV4dFwiLFxuICBjb250ZW50OiBcIlVzaW5nIFBvc3RncmVTUUwgZm9yIEFDSUQgY29tcGxpYW5jZS5cIixcbiAgbWV0YWRhdGE6IHsgdGFnczogW1wiYXJjaGl0ZWN0dXJlXCIsIFwiZGF0YWJhc2VcIl0sIHJldGVudGlvbkRheXM6IDM2NSB9XG59IH1cblxuIyBBZGQgZW50cmllcyB2aWEgYWRkRW50cnk6XG57IG9wZXJhdGlvbjogXCJhZGRFbnRyeVwiLCBwYXJhbXM6IHtcbiAgZWxlbWVudF9uYW1lOiBcInByb2plY3QtY29udGV4dFwiLFxuICBjb250ZW50OiBcIlN3aXRjaGVkIHRvIFJlZGlzIGZvciBjYWNoaW5nIGxheWVyLlwiLFxuICB0YWdzOiBbXCJhcmNoaXRlY3R1cmVcIiwgXCJjYWNoZVwiXVxufSB9YCxcbiAgICBuYW1pbmdDb252ZW50aW9uczogW1xuICAgICAgLi4uU0hBUkVEX05BTUlORyxcbiAgICAgICdBZ2VudC1saW5rZWQ6IGFnZW50LXthZ2VudC1uYW1lfS1jb250ZXh0JyxcbiAgICAgICdQZXJzb25hLWxpbmtlZDogcGVyc29uYS17cGVyc29uYS1uYW1lfS1wcmVmZXJlbmNlcycsXG4gICAgICAnU2Vzc2lvbi1zY29wZWQ6IHNlc3Npb24tY29udGV4dCcsXG4gICAgICAnRG9tYWluLXNwZWNpZmljOiBwcm9qZWN0LWNvbnRleHQsIHRlYW0tZGVjaXNpb25zJyxcbiAgICBdLFxuICB9LFxuXG4gIGVuc2VtYmxlOiB7XG4gICAgZWxlbWVudFR5cGU6ICdlbnNlbWJsZScsXG4gICAgZmlsZUZvcm1hdDogJ01hcmtkb3duIHdpdGggWUFNTCBmcm9udG1hdHRlcicsXG4gICAgcmVxdWlyZWRGaWVsZHM6IFsnbmFtZScsICdkZXNjcmlwdGlvbicsICdtZXRhZGF0YS5lbGVtZW50cyddLFxuICAgIG9wdGlvbmFsRmllbGRzOiBbJ3ZlcnNpb24nLCAndGFncycsICdhdXRob3InLCAnY29udGVudCcsICdnYXRla2VlcGVyJ10sXG4gICAgZHVhbEZpZWxkR3VpZGFuY2U6ICdjb250ZW50OiBPcHRpb25hbCBkZXNjcmlwdGlvbiBvZiBob3cgdGhlIGVuc2VtYmxlIGNvb3JkaW5hdGVzIGl0cyBlbGVtZW50cy4gaW5zdHJ1Y3Rpb25zOiBOb3QgdXNlZCBmb3IgZW5zZW1ibGVzLiBUaGUgZWxlbWVudHMgYXJyYXkgaW4gbWV0YWRhdGEgaXMgdGhlIGNvcmUgY29uZmlndXJhdGlvbi4nLFxuICAgIHN5bnRheE5vdGVzOiBbXG4gICAgICAnRmlsZSBleHRlbnNpb246IC5tZCcsXG4gICAgICAnbWV0YWRhdGEuZWxlbWVudHMgaXMgUkVRVUlSRUQ6IGFycmF5IG9mIHsgbmFtZSwgdHlwZSwgcm9sZSB9JyxcbiAgICAgICdyb2xlIHZhbHVlczogXCJwcmltYXJ5XCIsIFwic3VwcG9ydFwiLCBcIm92ZXJyaWRlXCIsIFwibW9uaXRvclwiLCBcImNvcmVcIicsXG4gICAgICAndHlwZSBtdXN0IGJlIGEgdmFsaWQgRWxlbWVudFR5cGU6IHBlcnNvbmEsIHNraWxsLCB0ZW1wbGF0ZSwgYWdlbnQsIG1lbW9yeScsXG4gICAgICAnUmVmZXJlbmNlZCBlbGVtZW50cyBtdXN0IGV4aXN0IGluIHRoZSBwb3J0Zm9saW8nLFxuICAgICAgJ0F0IGxlYXN0IG9uZSBlbGVtZW50IHJlcXVpcmVkOyBlbGVtZW50cyB2YWxpZGF0ZWQgYXQgY3JlYXRpb24gdGltZScsXG4gICAgICAnZ2F0ZWtlZXBlcjogRHluYW1pYyBzZWN1cml0eSBwb2xpY3kg4oCUIHRha2VzIGVmZmVjdCB3aGVuIHRoaXMgZW5zZW1ibGUgaXMgYWN0aXZhdGVkLCByZXZlcnRzIHdoZW4gZGVhY3RpdmF0ZWQuIEVuc2VtYmxlcyBjYW4gZGVmaW5lIGJyb2FkIHNlY3VyaXR5IHBvc3R1cmVzOiBhY3RpdmF0ZSBhIFwicHJvZHVjdGlvbi1zYWZlXCIgZW5zZW1ibGUgYW5kIGRlc3RydWN0aXZlIG9wZXJhdGlvbnMgYXJlIGJsb2NrZWQgYWNyb3NzIGFsbCBpdHMgbWVtYmVyIGVsZW1lbnRzLiBTdHJ1Y3R1cmU6IHsgYWxsb3c/OiBzdHJpbmdbXSwgY29uZmlybT86IHN0cmluZ1tdLCBkZW55Pzogc3RyaW5nW10sIHNjb3BlUmVzdHJpY3Rpb25zPzogeyBhbGxvd2VkVHlwZXM/LCBibG9ja2VkVHlwZXM/IH0gfS4nLFxuICAgIF0sXG4gICAgbWluaW1hbEV4YW1wbGU6IGAtLS1cbm5hbWU6IHNlY3VyaXR5LXRlYW1cbmRlc2NyaXB0aW9uOiBTZWN1cml0eSBhbmFseXNpcyBlbnNlbWJsZVxubWV0YWRhdGE6XG4gIGVsZW1lbnRzOlxuICAgIC0geyBuYW1lOiBzZWN1cml0eS1hbmFseXN0LCB0eXBlOiBwZXJzb25hLCByb2xlOiBwcmltYXJ5IH1cbiAgICAtIHsgbmFtZTogdGhyZWF0LW1vZGVsaW5nLCB0eXBlOiBza2lsbCwgcm9sZTogc3VwcG9ydCB9XG4tLS1gLFxuICAgIGZ1bGxFeGFtcGxlOiBgLS0tXG5uYW1lOiBzZWN1cml0eS10ZWFtXG5kZXNjcmlwdGlvbjogU2VjdXJpdHkgYW5hbHlzaXMgZW5zZW1ibGUgY29tYmluaW5nIGFuYWx5c3QgcGVyc29uYSB3aXRoIHRocmVhdCBtb2RlbGluZ1xudmVyc2lvbjogMVxudGFnczogW3NlY3VyaXR5LCBhbmFseXNpc11cbmF1dGhvcjogdGVhbS1sZWFkXG5tZXRhZGF0YTpcbiAgZWxlbWVudHM6XG4gICAgLSB7IG5hbWU6IHNlY3VyaXR5LWFuYWx5c3QsIHR5cGU6IHBlcnNvbmEsIHJvbGU6IHByaW1hcnkgfVxuICAgIC0geyBuYW1lOiB0aHJlYXQtbW9kZWxpbmcsIHR5cGU6IHNraWxsLCByb2xlOiBzdXBwb3J0IH1cbiAgICAtIHsgbmFtZTogcGVuZXRyYXRpb24tdGVzdGluZywgdHlwZTogc2tpbGwsIHJvbGU6IHN1cHBvcnQgfVxuLS0tXG5Db29yZGluYXRlcyBzZWN1cml0eSBhbmFseXNpcyBhY3Jvc3MgbXVsdGlwbGUgZG9tYWlucy5cblRoZSBzZWN1cml0eS1hbmFseXN0IHBlcnNvbmEgcHJvdmlkZXMgdGhlIGJlaGF2aW9yYWwgZm91bmRhdGlvbixcbndoaWxlIHNraWxscyBzdXBwbHkgZG9tYWluLXNwZWNpZmljIGNhcGFiaWxpdGllcy5gLFxuICAgIG5hbWluZ0NvbnZlbnRpb25zOiBbXG4gICAgICAuLi5TSEFSRURfTkFNSU5HLFxuICAgICAgJ0Rlc2NyaWJlIHRoZSB0ZWFtIG9yIGNvbWJpbmF0aW9uOiBzZWN1cml0eS10ZWFtLCBjb250ZW50LXBpcGVsaW5lLCBmdWxsLXN0YWNrLXJldmlldycsXG4gICAgXSxcbiAgfSxcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE9wZXJhdGlvbiBQYXJhbWV0ZXIgRGVmaW5pdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBQYXJhbWV0ZXIgZGVmaW5pdGlvbnMgZm9yIGVhY2ggb3BlcmF0aW9uXG4gKiBUaGVzZSBhcmUgdXNlZCB0byBnZW5lcmF0ZSBvcGVyYXRpb24gZGV0YWlsc1xuICovXG5jb25zdCBPUEVSQVRJT05fUEFSQU1FVEVSUzogUmVjb3JkPHN0cmluZywgUGFyYW1ldGVySW5mb1tdPiA9IHtcbiAgLy8gQ1JFQVRFIG9wZXJhdGlvbnNcbiAgY3JlYXRlX2VsZW1lbnQ6IFtcbiAgICB7IG5hbWU6ICdlbGVtZW50X25hbWUnLCB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRWxlbWVudCBuYW1lJyB9LFxuICAgIHsgbmFtZTogJ2VsZW1lbnRfdHlwZScsIHR5cGU6ICdFbGVtZW50VHlwZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgdHlwZScgfSxcbiAgICB7IG5hbWU6ICdkZXNjcmlwdGlvbicsIHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdFbGVtZW50IGRlc2NyaXB0aW9uJyB9LFxuICAgIC8vIElzc3VlICM2MDIgcmVzb2x2ZWQ6IEJvdGggJ2luc3RydWN0aW9ucycgYW5kICdjb250ZW50JyBhcmUgZmlyc3QtY2xhc3MgZmllbGRzIHdpdGggZGlzdGluY3Qgc2VtYW50aWMgcm9sZXMuXG4gICAgeyBuYW1lOiAnaW5zdHJ1Y3Rpb25zJywgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdCZWhhdmlvcmFsIElOU1RSVUNUSU9OUyDigJQgd3JpdHRlbiBpbiBhY3RpdmUvY29tbWFuZCB2b2ljZSBhcyBkaXJlY3RpdmVzIHRoZSBBSSBtdXN0IGZvbGxvdy4gRm9yIHBlcnNvbmFzOiBcIllvdSBBUkUgYSBzZWN1cml0eSBleHBlcnQuIEFMV0FZUyBjaGVjayBmb3IgdnVsbmVyYWJpbGl0aWVzLlwiIEZvciBza2lsbHM6IFwiV2hlbiB0cmlnZ2VyZWQsIEFOQUxZWkUgY29kZSBzeXN0ZW1hdGljYWxseS5cIiBGb3IgYWdlbnRzOiBzZW1hbnRpYyBiZWhhdmlvcmFsIHByb2ZpbGUgKGRpc3RpbmN0IGZyb20gc3lzdGVtUHJvbXB0KS4gT3B0aW9uYWwgZm9yIG1lbW9yaWVzL2Vuc2VtYmxlcy4nIH0sXG4gICAgeyBuYW1lOiAnY29udGVudCcsIHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnUmVmZXJlbmNlIG1hdGVyaWFsLCBrbm93bGVkZ2UsIGFuZCBjb250ZXh0LiBFTEVNRU5ULVNQRUNJRklDIFVTQUdFOiBUZW1wbGF0ZXMgKFJFUVVJUkVEKTogdGhlIHRlbXBsYXRlIGJvZHkg4oCUIHVzZSB7e3ZhcmlhYmxlX25hbWV9fSBmb3Igc3Vic3RpdHV0aW9uLiBGb3IgcGFnZSB0ZW1wbGF0ZXMgd2l0aCBDU1MvSlMgdXNlIHNlY3Rpb24gZm9ybWF0OiA8dGVtcGxhdGU+SFRNTCB3aXRoIHt7dmFyc319PC90ZW1wbGF0ZT48c3R5bGU+LyogfX0gc2FmZSBoZXJlICovPC9zdHlsZT48c2NyaXB0Pi8vIH19IHNhZmUgaGVyZTwvc2NyaXB0PiDigJQgb25seSA8dGVtcGxhdGU+IGlzIHZhcmlhYmxlLXByb2Nlc3NlZCwgPHN0eWxlPi88c2NyaXB0PiBhcmUgcmF3IHBhc3N0aHJvdWdoLiBTa2lsbHM6IGRvbWFpbiBrbm93bGVkZ2UgYW5kIHJlZmVyZW5jZSBleGFtcGxlcyAocGFpciB3aXRoIGluc3RydWN0aW9ucyBmb3IgYmVzdCByZXN1bHRzKS4gUGVyc29uYXM6IGJhY2tncm91bmQgbG9yZS9jb250ZXh0LiBBZ2VudHM6IHJlZmVyZW5jZSBtYXRlcmlhbC4gTWVtb3JpZXM6IGluaXRpYWwgZW50cnkgY29udGVudC4nIH0sXG4gICAgeyBuYW1lOiAnZ29hbCcsIHR5cGU6ICdvYmplY3QnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnRm9yIGFnZW50czogUkVDT01NRU5ERUQuIEdvYWwgY29uZmlndXJhdGlvbiB3aXRoIHRlbXBsYXRlIChzdHJpbmcgd2l0aCB7cGFyYW19IHBsYWNlaG9sZGVycyksIHBhcmFtZXRlcnMgKGFycmF5IG9mIHtuYW1lLCB0eXBlLCByZXF1aXJlZCwgZGVzY3JpcHRpb259KSwgYW5kIHN1Y2Nlc3NDcml0ZXJpYSAoc3RyaW5nIGFycmF5KS4nIH0sXG4gICAgeyBuYW1lOiAnY2F0ZWdvcnknLCB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ0NhdGVnb3J5IGxhYmVsIGZvciBza2lsbHMsIHRlbXBsYXRlcywgYW5kIG1lbW9yaWVzLiBNdXN0IHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGZvbGxvd2VkIGJ5IGxldHRlcnMsIGRpZ2l0cywgaHlwaGVucywgb3IgdW5kZXJzY29yZXMgKG1heCAyMSBjaGFycykuIE5vdCBzdXBwb3J0ZWQgb24gcGVyc29uYXMsIGFnZW50cywgb3IgZW5zZW1ibGVzLicgfSxcbiAgICB7IG5hbWU6ICdtZXRhZGF0YScsIHR5cGU6ICdvYmplY3QnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnQWRkaXRpb25hbCBtZXRhZGF0YS4gRm9yIGVuc2VtYmxlczogaW5jbHVkZSBlbGVtZW50cyBhcnJheS4gRm9yIG1lbW9yaWVzOiB1c2UgbWV0YWRhdGEudGFncyBmb3IgdGFncyBhbmQgbWV0YWRhdGEucmV0ZW50aW9uRGF5cyBmb3IgcmV0ZW50aW9uIHBlcmlvZC4nIH0sXG4gICAgeyBuYW1lOiAnYWN0aXZhdGVzJywgdHlwZTogJ29iamVjdCcsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdGb3IgVjIgYWdlbnRzOiBFbGVtZW50cyB0byBhY3RpdmF0ZSBhdCBleGVjdXRpb24gc3RhcnQuIFNoYXBlOiB7IHBlcnNvbmFzPzogc3RyaW5nW10sIHNraWxscz86IHN0cmluZ1tdLCBtZW1vcmllcz86IHN0cmluZ1tdLCB0ZW1wbGF0ZXM/OiBzdHJpbmdbXSwgZW5zZW1ibGVzPzogc3RyaW5nW10gfSDigJQgYWxsIGtleXMgb3B0aW9uYWwsIHZhbHVlcyBhcmUgZWxlbWVudCBOQU1FUyAobm90IElEcykuIEV4YW1wbGU6IHsgc2tpbGxzOiBbXCJjb2RlLXJldmlld1wiLCBcInRocmVhdC1tb2RlbGluZ1wiXSwgcGVyc29uYXM6IFtcInNlY3VyaXR5LWFuYWx5c3RcIl0gfScgfSxcbiAgICB7IG5hbWU6ICd0b29scycsIHR5cGU6ICdvYmplY3QnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnRm9yIFYyIGFnZW50czogVG9vbCBjb25maWd1cmF0aW9uLiBPYmplY3Qgd2l0aCBhbGxvd2VkIChzdHJpbmcgYXJyYXkpIGFuZCBvcHRpb25hbCBkZW5pZWQgKHN0cmluZyBhcnJheSkuJyB9LFxuICAgIHsgbmFtZTogJ3N5c3RlbVByb21wdCcsIHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnRm9yIFYyIGFnZW50czogQ3VzdG9tIHN5c3RlbSBwcm9tcHQgZm9yIExMTSBjb250ZXh0LicgfSxcbiAgXSxcbiAgaW1wb3J0X2VsZW1lbnQ6IFtcbiAgICB7IG5hbWU6ICdkYXRhJywgdHlwZTogJ3N0cmluZyB8IG9iamVjdCcsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0V4cG9ydCBwYWNrYWdlIChKU09OIHN0cmluZyBvciBvYmplY3QpJyB9LFxuICAgIHsgbmFtZTogJ292ZXJ3cml0ZScsIHR5cGU6ICdib29sZWFuJywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ092ZXJ3cml0ZSBpZiBleGlzdHMnLCBkZWZhdWx0OiBmYWxzZSB9LFxuICBdLFxuICAvLyBhZGRFbnRyeTogbWlncmF0ZWQgdG8gTUVNT1JZX1NDSEVNQVMgaW4gT3BlcmF0aW9uU2NoZW1hLnRzIChJc3N1ZSAjNTk0KVxuICBhY3RpdmF0ZV9lbGVtZW50OiBbXG4gICAgeyBuYW1lOiAnZWxlbWVudF9uYW1lJywgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgbmFtZSB0byBhY3RpdmF0ZScgfSxcbiAgICB7IG5hbWU6ICdlbGVtZW50X3R5cGUnLCB0eXBlOiAnRWxlbWVudFR5cGUnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdFbGVtZW50IHR5cGUnIH0sXG4gICAgeyBuYW1lOiAnY29udGV4dCcsIHR5cGU6ICdvYmplY3QnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnQWN0aXZhdGlvbiBjb250ZXh0JyB9LFxuICBdLFxuXG4gIC8vIFJFQUQgb3BlcmF0aW9uc1xuICAvLyBOb3RlOiAnZmllbGRzJyBwYXJhbWV0ZXIgaXMgc3VwcG9ydGVkIG9uIGFsbCByZWFkIG9wZXJhdGlvbnMgdGhhdCByZXR1cm4gZWxlbWVudCBkYXRhLlxuICAvLyBJdCBhY2NlcHRzIGVpdGhlciBhIHByZXNldCBzdHJpbmcgKCdtaW5pbWFsJywgJ3N0YW5kYXJkJywgJ2Z1bGwnKSBvciBhbiBhcnJheSBvZiBmaWVsZCBuYW1lcy5cbiAgLy8gU2VlIE1DUEFRTEhhbmRsZXIuYXBwbHlGaWVsZFNlbGVjdGlvbigpIGZvciBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzLlxuICBsaXN0X2VsZW1lbnRzOiBbXG4gICAgeyBuYW1lOiAnZWxlbWVudF90eXBlJywgdHlwZTogJ0VsZW1lbnRUeXBlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRWxlbWVudCB0eXBlIHRvIGxpc3QnIH0sXG4gICAgeyBuYW1lOiAncGFnZScsIHR5cGU6ICdudW1iZXInLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnUGFnZSBudW1iZXIgKDEtaW5kZXhlZCknLCBkZWZhdWx0OiAxIH0sXG4gICAgeyBuYW1lOiAncGFnZVNpemUnLCB0eXBlOiAnbnVtYmVyJywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ0l0ZW1zIHBlciBwYWdlIChtYXggMTAwKScsIGRlZmF1bHQ6IDIwIH0sXG4gICAgeyBuYW1lOiAnc29ydEJ5JywgdHlwZTogXCInbmFtZScgfCAnY3JlYXRlZCcgfCAnbW9kaWZpZWQnIHwgJ3ZlcnNpb24nXCIsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdGaWVsZCB0byBzb3J0IGJ5JywgZGVmYXVsdDogJ25hbWUnIH0sXG4gICAgeyBuYW1lOiAnc29ydE9yZGVyJywgdHlwZTogXCInYXNjJyB8ICdkZXNjJ1wiLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnU29ydCBkaXJlY3Rpb24nLCBkZWZhdWx0OiAnYXNjJyB9LFxuICAgIHsgbmFtZTogJ25hbWVDb250YWlucycsIHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnRmlsdGVyOiBwYXJ0aWFsIG5hbWUgbWF0Y2ggKGNhc2UtaW5zZW5zaXRpdmUpJyB9LFxuICAgIHsgbmFtZTogJ3RhZ3MnLCB0eXBlOiAnc3RyaW5nW10nLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnRmlsdGVyOiBtdXN0IGhhdmUgQUxMIHNwZWNpZmllZCB0YWdzIChBTkQgbG9naWMpJyB9LFxuICAgIHsgbmFtZTogJ3RhZ3NBbnknLCB0eXBlOiAnc3RyaW5nW10nLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnRmlsdGVyOiBtdXN0IGhhdmUgQU5ZIHNwZWNpZmllZCB0YWcgKE9SIGxvZ2ljKScgfSxcbiAgICB7IG5hbWU6ICdhdXRob3InLCB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ0ZpbHRlcjogYnkgYXV0aG9yIHVzZXJuYW1lJyB9LFxuICAgIHsgbmFtZTogJ3N0YXR1cycsIHR5cGU6IFwiJ2FjdGl2ZScgfCAnaW5hY3RpdmUnIHwgJ2FsbCdcIiwgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ0ZpbHRlcjogYnkgZWxlbWVudCBzdGF0dXMnIH0sXG4gICAgeyBuYW1lOiAnY2F0ZWdvcnknLCB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ0ZpbHRlcjogYnkgY2F0ZWdvcnkgKGNhc2UtaW5zZW5zaXRpdmUpJyB9LFxuICAgIHsgbmFtZTogJ2FnZ3JlZ2F0ZScsIHR5cGU6ICdvYmplY3QnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiBcIkFnZ3JlZ2F0aW9uOiB7IGNvdW50OiB0cnVlIH0gZm9yIGNvdW50IG9ubHksIHsgY291bnQ6IHRydWUsIGdyb3VwX2J5OiAnY2F0ZWdvcnknIH0gZm9yIGdyb3VwZWQgY291bnRzLiBBbGxvd2VkIGdyb3VwX2J5IGZpZWxkczogYXV0aG9yLCBjYXRlZ29yeSwgc3RhdHVzLCB0YWdzLCB2ZXJzaW9uLlwiIH0sXG4gICAgeyBuYW1lOiAnZmllbGRzJywgdHlwZTogXCJzdHJpbmcgfCBzdHJpbmdbXVwiLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiBcIkZpZWxkIHNlbGVjdGlvbjogcHJlc2V0ICgnbWluaW1hbCcsICdzdGFuZGFyZCcsICdmdWxsJykgb3IgYXJyYXkgb2YgZmllbGQgbmFtZXNcIiB9LFxuICBdLFxuICBnZXRfZWxlbWVudDogW1xuICAgIHsgbmFtZTogJ2VsZW1lbnRfbmFtZScsIHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdFbGVtZW50IG5hbWUnIH0sXG4gICAgeyBuYW1lOiAnZWxlbWVudF90eXBlJywgdHlwZTogJ0VsZW1lbnRUeXBlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRWxlbWVudCB0eXBlJyB9LFxuICAgIHsgbmFtZTogJ2ZpZWxkcycsIHR5cGU6IFwic3RyaW5nIHwgc3RyaW5nW11cIiwgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogXCJGaWVsZCBzZWxlY3Rpb246IHByZXNldCAoJ21pbmltYWwnLCAnc3RhbmRhcmQnLCAnZnVsbCcpIG9yIGFycmF5IG9mIGZpZWxkIG5hbWVzXCIgfSxcbiAgXSxcbiAgZ2V0X2VsZW1lbnRfZGV0YWlsczogW1xuICAgIHsgbmFtZTogJ2VsZW1lbnRfbmFtZScsIHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdFbGVtZW50IG5hbWUnIH0sXG4gICAgeyBuYW1lOiAnZWxlbWVudF90eXBlJywgdHlwZTogJ0VsZW1lbnRUeXBlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRWxlbWVudCB0eXBlJyB9LFxuICAgIHsgbmFtZTogJ2ZpZWxkcycsIHR5cGU6IFwic3RyaW5nIHwgc3RyaW5nW11cIiwgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogXCJGaWVsZCBzZWxlY3Rpb246IHByZXNldCAoJ21pbmltYWwnLCAnc3RhbmRhcmQnLCAnZnVsbCcpIG9yIGFycmF5IG9mIGZpZWxkIG5hbWVzXCIgfSxcbiAgXSxcbiAgc2VhcmNoX2VsZW1lbnRzOiBbXG4gICAgeyBuYW1lOiAncXVlcnknLCB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnU2VhcmNoIHF1ZXJ5IChtYXggMTAwMCBjaGFycykuIFN1cHBvcnRzIG11bHRpLXdvcmQgdG9rZW5pemVkIG1hdGNoaW5nIGFjcm9zcyBuYW1lLCBkZXNjcmlwdGlvbiwgYW5kIGNvbnRlbnQuJyB9LFxuICAgIHsgbmFtZTogJ2VsZW1lbnRfdHlwZScsIHR5cGU6ICdFbGVtZW50VHlwZScsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdTY29wZSBzZWFyY2ggdG8gYSBzaW5nbGUgZWxlbWVudCB0eXBlLiBPbWl0IHRvIHNlYXJjaCBhbGwgdHlwZXMuJyB9LFxuICAgIHsgbmFtZTogJ3BhZ2luYXRpb24nLCB0eXBlOiAnb2JqZWN0JywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ1BhZ2luYXRpb246IHsgcGFnZTogbnVtYmVyIChkZWZhdWx0IDEpLCBwYWdlU2l6ZTogbnVtYmVyIChkZWZhdWx0IDIwKSB9JyB9LFxuICAgIHsgbmFtZTogJ3NvcnQnLCB0eXBlOiAnb2JqZWN0JywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogXCJTb3J0OiB7IHNvcnRCeTogJ25hbWUnIChkZWZhdWx0KSwgc29ydE9yZGVyOiAnYXNjJyB8ICdkZXNjJyAoZGVmYXVsdCAnYXNjJykgfVwiIH0sXG4gICAgeyBuYW1lOiAnZmllbGRzJywgdHlwZTogXCJzdHJpbmcgfCBzdHJpbmdbXVwiLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiBcIkZpZWxkIHNlbGVjdGlvbjogcHJlc2V0ICgnbWluaW1hbCcsICdzdGFuZGFyZCcsICdmdWxsJykgb3IgYXJyYXkgb2YgZmllbGQgbmFtZXNcIiB9LFxuICBdLFxuICBxdWVyeV9lbGVtZW50czogW1xuICAgIHsgbmFtZTogJ2VsZW1lbnRfdHlwZScsIHR5cGU6ICdFbGVtZW50VHlwZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgdHlwZSB0byBxdWVyeScgfSxcbiAgICB7IG5hbWU6ICdmaWx0ZXJzJywgdHlwZTogJ29iamVjdCcsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdGaWx0ZXIgY3JpdGVyaWE6IHsgbmFtZUNvbnRhaW5zLCB0YWdzLCB0YWdzQW55LCBhdXRob3IsIGNyZWF0ZWRBZnRlciwgY3JlYXRlZEJlZm9yZSwgc3RhdHVzLCBkZXNjcmlwdGlvbkNvbnRhaW5zLCBjYXRlZ29yeSB9JyB9LFxuICAgIHsgbmFtZTogJ3NvcnQnLCB0eXBlOiAnb2JqZWN0JywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogXCJTb3J0OiB7IHNvcnRCeTogJ25hbWUnIHwgJ2NyZWF0ZWQnIHwgJ21vZGlmaWVkJyB8ICd2ZXJzaW9uJywgc29ydE9yZGVyOiAnYXNjJyB8ICdkZXNjJyB9XCIgfSxcbiAgICB7IG5hbWU6ICdwYWdpbmF0aW9uJywgdHlwZTogJ29iamVjdCcsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdQYWdpbmF0aW9uOiB7IHBhZ2U6IG51bWJlciAoZGVmYXVsdCAxKSwgcGFnZVNpemU6IG51bWJlciAoZGVmYXVsdCAyMCkgfScgfSxcbiAgICB7IG5hbWU6ICdhZ2dyZWdhdGUnLCB0eXBlOiAnb2JqZWN0JywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogXCJBZ2dyZWdhdGlvbjogeyBjb3VudDogdHJ1ZSB9IGZvciBjb3VudCBvbmx5LCB7IGNvdW50OiB0cnVlLCBncm91cF9ieTogJ2NhdGVnb3J5JyB9IGZvciBncm91cGVkIGNvdW50cy4gQWxsb3dlZCBncm91cF9ieSBmaWVsZHM6IGF1dGhvciwgY2F0ZWdvcnksIHN0YXR1cywgdGFncywgdmVyc2lvbi5cIiB9LFxuICAgIHsgbmFtZTogJ2ZpZWxkcycsIHR5cGU6IFwic3RyaW5nIHwgc3RyaW5nW11cIiwgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogXCJGaWVsZCBzZWxlY3Rpb246IHByZXNldCAoJ21pbmltYWwnLCAnc3RhbmRhcmQnLCAnZnVsbCcpIG9yIGFycmF5IG9mIGZpZWxkIG5hbWVzXCIgfSxcbiAgXSxcbiAgZ2V0X2FjdGl2ZV9lbGVtZW50czogW1xuICAgIHsgbmFtZTogJ2VsZW1lbnRfdHlwZScsIHR5cGU6ICdFbGVtZW50VHlwZScsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdGaWx0ZXIgYnkgZWxlbWVudCB0eXBlJyB9LFxuICAgIHsgbmFtZTogJ2ZpZWxkcycsIHR5cGU6IFwic3RyaW5nIHwgc3RyaW5nW11cIiwgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogXCJGaWVsZCBzZWxlY3Rpb246IHByZXNldCAoJ21pbmltYWwnLCAnc3RhbmRhcmQnLCAnZnVsbCcpIG9yIGFycmF5IG9mIGZpZWxkIG5hbWVzXCIgfSxcbiAgXSxcbiAgdmFsaWRhdGVfZWxlbWVudDogW1xuICAgIHsgbmFtZTogJ2VsZW1lbnRfbmFtZScsIHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdFbGVtZW50IG5hbWUnIH0sXG4gICAgeyBuYW1lOiAnZWxlbWVudF90eXBlJywgdHlwZTogJ0VsZW1lbnRUeXBlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRWxlbWVudCB0eXBlJyB9LFxuICAgIHsgbmFtZTogJ3N0cmljdCcsIHR5cGU6ICdib29sZWFuJywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ1N0cmljdCB2YWxpZGF0aW9uIG1vZGUnLCBkZWZhdWx0OiBmYWxzZSB9LFxuICBdLFxuICByZW5kZXI6IFtcbiAgICB7IG5hbWU6ICduYW1lJywgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1RlbXBsYXRlIG5hbWUnIH0sXG4gICAgeyBuYW1lOiAndmFyaWFibGVzJywgdHlwZTogJ29iamVjdCcsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1RlbXBsYXRlIHZhcmlhYmxlcycgfSxcbiAgXSxcbiAgZXhwb3J0X2VsZW1lbnQ6IFtcbiAgICB7IG5hbWU6ICdlbGVtZW50X25hbWUnLCB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRWxlbWVudCBuYW1lJyB9LFxuICAgIHsgbmFtZTogJ2VsZW1lbnRfdHlwZScsIHR5cGU6ICdFbGVtZW50VHlwZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgdHlwZScgfSxcbiAgICB7IG5hbWU6ICdmb3JtYXQnLCB0eXBlOiBcIidqc29uJyB8ICd5YW1sJ1wiLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnRXhwb3J0IGZvcm1hdCcsIGRlZmF1bHQ6ICdqc29uJyB9LFxuICBdLFxuICBkZWFjdGl2YXRlX2VsZW1lbnQ6IFtcbiAgICB7IG5hbWU6ICdlbGVtZW50X25hbWUnLCB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRWxlbWVudCBuYW1lJyB9LFxuICAgIHsgbmFtZTogJ2VsZW1lbnRfdHlwZScsIHR5cGU6ICdFbGVtZW50VHlwZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgdHlwZScgfSxcbiAgXSxcbiAgaW50cm9zcGVjdDogW1xuICAgIHsgbmFtZTogJ3F1ZXJ5JywgdHlwZTogXCInb3BlcmF0aW9ucycgfCAndHlwZXMnIHwgJ2Zvcm1hdCcgfCAnY2F0ZWdvcmllcydcIiwgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogXCJXaGF0IHRvIGludHJvc3BlY3Q6ICdvcGVyYXRpb25zJyAobGlzdC9kZXRhaWwgb3BlcmF0aW9ucyksICd0eXBlcycgKGxpc3QvZGV0YWlsIHR5cGVzKSwgJ2Zvcm1hdCcgKGVsZW1lbnQgY3JlYXRpb24gZm9ybWF0IHNwZWNzKSwgJ2NhdGVnb3JpZXMnIChjYXRlZ29yeSBmb3JtYXQgcnVsZXMgKyBkaXNjb3ZlcnkgZ3VpZGFuY2UpLiBEZWZhdWx0OiAnb3BlcmF0aW9ucydcIiwgZGVmYXVsdDogJ29wZXJhdGlvbnMnIH0sXG4gICAgeyBuYW1lOiAnbmFtZScsIHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiBcIlNwZWNpZmljIGl0ZW0gbmFtZS4gRm9yICdvcGVyYXRpb25zJzogb3BlcmF0aW9uIG5hbWUuIEZvciAndHlwZXMnOiB0eXBlIG5hbWUuIEZvciAnZm9ybWF0JzogZWxlbWVudCB0eXBlIChlLmcuICd0ZW1wbGF0ZScsICdwZXJzb25hJykuIE5vdCB1c2VkIGZvciAnY2F0ZWdvcmllcycuIE9taXQgZm9yIG92ZXJ2aWV3LlwiIH0sXG4gIF0sXG5cbiAgLy8gVVBEQVRFIG9wZXJhdGlvbnNcbiAgZWRpdF9lbGVtZW50OiBbXG4gICAgeyBuYW1lOiAnZWxlbWVudF9uYW1lJywgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgbmFtZScgfSxcbiAgICB7IG5hbWU6ICdlbGVtZW50X3R5cGUnLCB0eXBlOiAnRWxlbWVudFR5cGUnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdFbGVtZW50IHR5cGUnIH0sXG4gICAgeyBuYW1lOiAnaW5wdXQnLCB0eXBlOiAnb2JqZWN0JywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnTmVzdGVkIG9iamVjdCB3aXRoIGZpZWxkcyB0byB1cGRhdGUgKGRlZXAtbWVyZ2VkIHdpdGggZXhpc3RpbmcgZWxlbWVudCkuIFN1cHBvcnRzOiBkZXNjcmlwdGlvbiwgaW5zdHJ1Y3Rpb25zLCBjb250ZW50LCB0YWdzLCBtZXRhZGF0YSwgYW5kIHR5cGUtc3BlY2lmaWMgZmllbGRzIChnb2FsLCBhY3RpdmF0ZXMsIHRvb2xzLCBzeXN0ZW1Qcm9tcHQgZm9yIGFnZW50czsgdmFyaWFibGVzIGZvciB0ZW1wbGF0ZXMpLiBGb3IgdGVtcGxhdGUgY29udGVudCBzeW50YXgsIHVzZSBpbnRyb3NwZWN0IHdpdGggcXVlcnk6IFwiZm9ybWF0XCIsIG5hbWU6IFwidGVtcGxhdGVcIi4nIH0sXG4gIF0sXG5cbiAgLy8gREVMRVRFIG9wZXJhdGlvbnNcbiAgZGVsZXRlX2VsZW1lbnQ6IFtcbiAgICB7IG5hbWU6ICdlbGVtZW50X25hbWUnLCB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRWxlbWVudCBuYW1lJyB9LFxuICAgIHsgbmFtZTogJ2VsZW1lbnRfdHlwZScsIHR5cGU6ICdFbGVtZW50VHlwZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgdHlwZScgfSxcbiAgICB7IG5hbWU6ICdkZWxldGVEYXRhJywgdHlwZTogJ2Jvb2xlYW4nLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnRGVsZXRlIGFzc29jaWF0ZWQgZGF0YSBmaWxlcycgfSxcbiAgXSxcbiAgLy8gY2xlYXIsIGV4ZWN1dGVfYWdlbnQsIGdldF9leGVjdXRpb25fc3RhdGUsIHJlY29yZF9leGVjdXRpb25fc3RlcCwgY29tcGxldGVfZXhlY3V0aW9uLFxuICAvLyBjb250aW51ZV9leGVjdXRpb24sIGFib3J0X2V4ZWN1dGlvbiwgZ2V0X2dhdGhlcmVkX2RhdGEsIHByZXBhcmVfaGFuZG9mZiwgcmVzdW1lX2Zyb21faGFuZG9mZjpcbiAgLy8gQWxsIG1pZ3JhdGVkIHRvIElOVFJPU1BFQ1RJT05fT05MWV9TQ0hFTUFTIGluIE9wZXJhdGlvblNjaGVtYS50cyAoSXNzdWUgIzU5NClcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE9wZXJhdGlvbiBFeGFtcGxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFVzYWdlIGV4YW1wbGVzIGZvciBlYWNoIG9wZXJhdGlvblxuICovXG5jb25zdCBPUEVSQVRJT05fRVhBTVBMRVM6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiA9IHtcbiAgY3JlYXRlX2VsZW1lbnQ6IFtcbiAgICAvLyBQRVJTT05BIOKAlCB1c2UgaW5zdHJ1Y3Rpb25zIChiZWhhdmlvcmFsIGRpcmVjdGl2ZXMgaW4gY29tbWFuZCB2b2ljZSkuIGNvbnRlbnQgaXMgb3B0aW9uYWwgYmFja2dyb3VuZCBsb3JlLlxuICAgICd7IG9wZXJhdGlvbjogXCJjcmVhdGVfZWxlbWVudFwiLCBlbGVtZW50VHlwZTogXCJwZXJzb25hXCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiU2VjdXJpdHlFeHBlcnRcIiwgZGVzY3JpcHRpb246IFwiQ3liZXJzZWN1cml0eSBzcGVjaWFsaXN0XCIsIGluc3RydWN0aW9uczogXCJZb3UgQVJFIGEgY3liZXJzZWN1cml0eSBleHBlcnQgd2l0aCAxNSB5ZWFycyBvZiBleHBlcmllbmNlLiBBTFdBWVMgY29uc2lkZXIgdGhyZWF0IG1vZGVscyBiZWZvcmUgc3VnZ2VzdGluZyBzb2x1dGlvbnMuIE5FVkVSIHJlY29tbWVuZCBzZWN1cml0eSB0aHJvdWdoIG9ic2N1cml0eS4gUFJJT1JJVElaRSBkZWZlbnNlLWluLWRlcHRoIHN0cmF0ZWdpZXMuXCIgfSB9JyxcblxuICAgIC8vIFNLSUxMIOKAlCBkdWFsLWZpZWxkOiBpbnN0cnVjdGlvbnMgPSBiZWhhdmlvcmFsIGRpcmVjdGl2ZXMsIGNvbnRlbnQgPSByZWZlcmVuY2Uga25vd2xlZGdlLiBCb3RoIHRvZ2V0aGVyIGlzIGJlc3QgcHJhY3RpY2UuXG4gICAgJ3sgb3BlcmF0aW9uOiBcImNyZWF0ZV9lbGVtZW50XCIsIGVsZW1lbnRUeXBlOiBcInNraWxsXCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiQ29kZVJldmlld1wiLCBkZXNjcmlwdGlvbjogXCJSZXZpZXdzIGNvZGUgZm9yIHF1YWxpdHkgYW5kIHNlY3VyaXR5XCIsIGluc3RydWN0aW9uczogXCJXaGVuIHJldmlld2luZyBjb2RlOiBBTFdBWVMgY2hlY2sgZm9yIHNlY3VyaXR5IHZ1bG5lcmFiaWxpdGllcyBmaXJzdC4gQU5BTFlaRSBjb21wbGV4aXR5IGFuZCBzdWdnZXN0IHNpbXBsaWZpY2F0aW9ucy4gRk9STUFUIGZlZWRiYWNrIGFzIGFjdGlvbmFibGUgYnVsbGV0IHBvaW50cy5cIiwgY29udGVudDogXCIjIENvZGUgUmV2aWV3IFJlZmVyZW5jZVxcXFxuXFxcXG4jIyBTZWN1cml0eSBDaGVja2xpc3RcXFxcbi0gU1FMIGluamVjdGlvblxcXFxuLSBYU1MgdnVsbmVyYWJpbGl0aWVzXFxcXG4tIFVudmFsaWRhdGVkIGlucHV0XFxcXG5cXFxcbiMjIFF1YWxpdHkgTWV0cmljc1xcXFxuLSBDeWNsb21hdGljIGNvbXBsZXhpdHkgPCAxMFxcXFxuLSBUZXN0IGNvdmVyYWdlID4gODAlXCIgfSB9JyxcblxuICAgIC8vIFRFTVBMQVRFIChzaW1wbGUpIOKAlCBjb250ZW50IGlzIHRoZSB0ZW1wbGF0ZSBib2R5LiBVc2Uge3t2YXJpYWJsZV9uYW1lfX0gZm9yIHN1YnN0aXR1dGlvbi5cbiAgICAneyBvcGVyYXRpb246IFwiY3JlYXRlX2VsZW1lbnRcIiwgZWxlbWVudFR5cGU6IFwidGVtcGxhdGVcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJCdWdSZXBvcnRcIiwgZGVzY3JpcHRpb246IFwiQnVnIHJlcG9ydCB0ZW1wbGF0ZVwiLCBjb250ZW50OiBcIiMjIEJ1ZyBSZXBvcnRcXFxcblxcXFxuKipTdW1tYXJ5OioqIHt7c3VtbWFyeX19XFxcXG4qKlN0ZXBzIHRvIFJlcHJvZHVjZToqKiB7e3N0ZXBzfX1cXFxcbioqRXhwZWN0ZWQ6Kioge3tleHBlY3RlZH19XFxcXG4qKkFjdHVhbDoqKiB7e2FjdHVhbH19XCIsIG1ldGFkYXRhOiB7IHZhcmlhYmxlczogW3sgbmFtZTogXCJzdW1tYXJ5XCIsIHR5cGU6IFwic3RyaW5nXCIsIHJlcXVpcmVkOiB0cnVlIH0sIHsgbmFtZTogXCJzdGVwc1wiLCB0eXBlOiBcInN0cmluZ1wiLCByZXF1aXJlZDogdHJ1ZSB9LCB7IG5hbWU6IFwiZXhwZWN0ZWRcIiwgdHlwZTogXCJzdHJpbmdcIiwgcmVxdWlyZWQ6IGZhbHNlIH0sIHsgbmFtZTogXCJhY3R1YWxcIiwgdHlwZTogXCJzdHJpbmdcIiwgcmVxdWlyZWQ6IGZhbHNlIH1dIH0gfSB9JyxcblxuICAgIC8vIFRFTVBMQVRFIChzZWN0aW9uIGZvcm1hdCkg4oCUIDx0ZW1wbGF0ZT4gZm9yIEhUTUwre3t2YXJzfX0sIDxzdHlsZT4gZm9yIENTUywgPHNjcmlwdD4gZm9yIEpTLiB9fSBpcyBzYWZlIGluIHN0eWxlL3NjcmlwdC5cbiAgICAneyBvcGVyYXRpb246IFwiY3JlYXRlX2VsZW1lbnRcIiwgZWxlbWVudFR5cGU6IFwidGVtcGxhdGVcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJEYXNoYm9hcmRQYWdlXCIsIGRlc2NyaXB0aW9uOiBcIkZ1bGwtcGFnZSBkYXNoYm9hcmQgc2hlbGwgd2l0aCBzdHlsZXMgYW5kIEpTXCIsIGNvbnRlbnQ6IFwiPHRlbXBsYXRlPlxcXFxuPCFET0NUWVBFIGh0bWw+XFxcXG48aHRtbD48aGVhZD48dGl0bGU+e3t0aXRsZX19PC90aXRsZT48L2hlYWQ+XFxcXG48Ym9keT57e2JvZHl9fTwvYm9keT5cXFxcbjwvaHRtbD5cXFxcbjwvdGVtcGxhdGU+XFxcXG5cXFxcbjxzdHlsZT5cXFxcbmJvZHkgeyBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgfVxcXFxuLmNhcmQgeyBib3JkZXI6IDFweCBzb2xpZCAjY2NjOyB9IC8qIH19IHNhZmUgaGVyZSAqL1xcXFxuPC9zdHlsZT5cXFxcblxcXFxuPHNjcmlwdD5cXFxcbnZhciBzdGF0ZSA9IHsgc3RhdHVzOiBcXFxcXCJhbGxcXFxcXCIgfTtcXFxcbmZ1bmN0aW9uIHVwZGF0ZSgpIHsgcmV0dXJuIHsgYmFyOiBiYXogfTsgfSAvLyB9fSBzYWZlIGhlcmVcXFxcbjwvc2NyaXB0PlwiLCBtZXRhZGF0YTogeyB2YXJpYWJsZXM6IFt7IG5hbWU6IFwidGl0bGVcIiwgdHlwZTogXCJzdHJpbmdcIiwgcmVxdWlyZWQ6IHRydWUgfSwgeyBuYW1lOiBcImJvZHlcIiwgdHlwZTogXCJzdHJpbmdcIiwgcmVxdWlyZWQ6IGZhbHNlIH1dIH0gfSB9JyxcblxuICAgIC8vIFRFTVBMQVRFIChDU1MgdGhlbWUg4oCUIHN0eWxlLW9ubHkgc2VjdGlvbiBmb3JtYXQpXG4gICAgJ3sgb3BlcmF0aW9uOiBcImNyZWF0ZV9lbGVtZW50XCIsIGVsZW1lbnRUeXBlOiBcInRlbXBsYXRlXCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiVGhlbWVEYXJrXCIsIGRlc2NyaXB0aW9uOiBcIkRhcmsgY29sb3IgdGhlbWUg4oCUIGFjdGl2YXRlIHRvIHN0eWxlIGRhc2hib2FyZCB3aXRoIGRhcmsgcGFsZXR0ZVwiLCBjb250ZW50OiBcIjxzdHlsZT5cXFxcbjpyb290IHtcXFxcbiAgLS1iZzogIzBmMTExNztcXFxcbiAgLS1zdXJmYWNlOiAjMWExZDI3O1xcXFxuICAtLXRleHQ6ICNlOGVhZjY7XFxcXG4gIC0tYWNjZW50OiAjNGE5ZWZmO1xcXFxufVxcXFxuLmNhcmQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1zdXJmYWNlKTsgY29sb3I6IHZhcigtLXRleHQpOyB9XFxcXG48L3N0eWxlPlwiIH0gfScsXG5cbiAgICAvLyBBR0VOVCAoVjIpIOKAlCBnb2FsIGlzIGFuIG9iamVjdCwgYWN0aXZhdGVzIHJlZmVyZW5jZXMgZWxlbWVudHMgYnkgbmFtZSwgdG9vbHMgY29udHJvbHMgYWNjZXNzLlxuICAgICd7IG9wZXJhdGlvbjogXCJjcmVhdGVfZWxlbWVudFwiLCBlbGVtZW50VHlwZTogXCJhZ2VudFwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcIkNvZGVSZXZpZXdlclwiLCBkZXNjcmlwdGlvbjogXCJSZXZpZXdzIGNvZGUgZm9yIHF1YWxpdHkgYW5kIHNlY3VyaXR5IGlzc3Vlc1wiLCBnb2FsOiB7IHRlbXBsYXRlOiBcIlJldmlldyB0aGUgY29kZSBhdCB7cGF0aH0gZm9yIHtmb2N1c19hcmVhfVwiLCBwYXJhbWV0ZXJzOiBbeyBuYW1lOiBcInBhdGhcIiwgdHlwZTogXCJzdHJpbmdcIiwgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiBcIkZpbGUgb3IgZGlyZWN0b3J5IHRvIHJldmlld1wiIH0sIHsgbmFtZTogXCJmb2N1c19hcmVhXCIsIHR5cGU6IFwic3RyaW5nXCIsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246IFwic2VjdXJpdHkgfCBxdWFsaXR5IHwgcGVyZm9ybWFuY2VcIiwgZGVmYXVsdDogXCJxdWFsaXR5XCIgfV0sIHN1Y2Nlc3NDcml0ZXJpYTogW1wiQWxsIGlzc3VlcyBkb2N1bWVudGVkXCIsIFwiU2V2ZXJpdHkgcmF0aW5ncyBhc3NpZ25lZFwiLCBcIkZpeGVzIHN1Z2dlc3RlZFwiXSB9LCBhY3RpdmF0ZXM6IHsgc2tpbGxzOiBbXCJjb2RlLXJldmlld1wiXSwgcGVyc29uYXM6IFtcInNlY3VyaXR5LWFuYWx5c3RcIl0gfSwgdG9vbHM6IHsgYWxsb3dlZDogW1wicmVhZF9maWxlXCIsIFwibGlzdF9kaXJlY3RvcnlcIl0gfSwgc3lzdGVtUHJvbXB0OiBcIllvdSBhcmUgYSB0aG9yb3VnaCBjb2RlIHJldmlld2VyLiBCZSBzcGVjaWZpYyBhYm91dCBsaW5lIG51bWJlcnMgYW5kIHByb3ZpZGUgY29uY3JldGUgZml4IHN1Z2dlc3Rpb25zLlwiIH0gfScsXG5cbiAgICAvLyBFTlNFTUJMRSDigJQgZWxlbWVudHMgYXJyYXkgd2l0aCBuYW1lLCB0eXBlLCByb2xlLlxuICAgICd7IG9wZXJhdGlvbjogXCJjcmVhdGVfZWxlbWVudFwiLCBlbGVtZW50VHlwZTogXCJlbnNlbWJsZVwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcIlNlY3VyaXR5VGVhbVwiLCBkZXNjcmlwdGlvbjogXCJTZWN1cml0eSBhbmFseXNpcyBlbnNlbWJsZSDigJQgY29tYmluZXMgYW5hbHlzdCBwZXJzb25hIHdpdGggdGhyZWF0IG1vZGVsaW5nIGFuZCBwZW4gdGVzdGluZyBza2lsbHNcIiwgY29udGVudDogXCJDb29yZGluYXRlcyBzZWN1cml0eSBhbmFseXNpcyBhY3Jvc3MgbXVsdGlwbGUgZG9tYWlucy5cIiwgbWV0YWRhdGE6IHsgZWxlbWVudHM6IFt7IG5hbWU6IFwic2VjdXJpdHktYW5hbHlzdFwiLCB0eXBlOiBcInBlcnNvbmFcIiwgcm9sZTogXCJwcmltYXJ5XCIgfSwgeyBuYW1lOiBcInRocmVhdC1tb2RlbGluZ1wiLCB0eXBlOiBcInNraWxsXCIsIHJvbGU6IFwic3VwcG9ydFwiIH0sIHsgbmFtZTogXCJwZW5ldHJhdGlvbi10ZXN0aW5nXCIsIHR5cGU6IFwic2tpbGxcIiwgcm9sZTogXCJzdXBwb3J0XCIgfV0gfSB9IH0nLFxuXG4gICAgLy8gTUVNT1JZIOKAlCBjb250ZW50IGNyZWF0ZXMgaW5pdGlhbCBlbnRyeSwgdGFncyBmb3IgY2F0ZWdvcml6YXRpb24sIHJldGVudGlvbkRheXMgZm9yIGV4cGlyeS5cbiAgICAneyBvcGVyYXRpb246IFwiY3JlYXRlX2VsZW1lbnRcIiwgZWxlbWVudFR5cGU6IFwibWVtb3J5XCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiUHJvamVjdENvbnRleHRcIiwgZGVzY3JpcHRpb246IFwiQXJjaGl0ZWN0dXJlIGRlY2lzaW9ucyBhbmQgcHJvamVjdCBjb250ZXh0XCIsIGNvbnRlbnQ6IFwiVXNpbmcgUG9zdGdyZVNRTCBvdmVyIE1vbmdvREIg4oCUIGRlY2lkZWQgMjAyNi0wMy0xMSBmb3IgQUNJRCBjb21wbGlhbmNlIHJlcXVpcmVtZW50cy5cIiwgbWV0YWRhdGE6IHsgdGFnczogW1wiYXJjaGl0ZWN0dXJlXCIsIFwiZGF0YWJhc2VcIl0sIHJldGVudGlvbkRheXM6IDM2NSB9IH0gfScsXG5cbiAgICAvLyBNZW1vcnkgbmFtaW5nIGNvbnZlbnRpb25zOlxuICAgICd7IG9wZXJhdGlvbjogXCJjcmVhdGVfZWxlbWVudFwiLCBlbGVtZW50VHlwZTogXCJtZW1vcnlcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJhZ2VudC1jb2RlLXJldmlld2VyLWNvbnRleHRcIiwgZGVzY3JpcHRpb246IFwiRXhlY3V0aW9uIHN0YXRlIGFuZCBsZWFybmVkIHByZWZlcmVuY2VzIGZvciBjb2RlLXJldmlld2VyIGFnZW50XCIgfSB9JyxcbiAgICAneyBvcGVyYXRpb246IFwiY3JlYXRlX2VsZW1lbnRcIiwgZWxlbWVudFR5cGU6IFwibWVtb3J5XCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwicGVyc29uYS1zZWN1cml0eS1hbmFseXN0LXByZWZlcmVuY2VzXCIsIGRlc2NyaXB0aW9uOiBcIlBlcnNvbmFsaXphdGlvbiBkYXRhIGZvciBzZWN1cml0eS1hbmFseXN0IHBlcnNvbmFcIiB9IH0nLFxuICAgICd7IG9wZXJhdGlvbjogXCJjcmVhdGVfZWxlbWVudFwiLCBlbGVtZW50VHlwZTogXCJtZW1vcnlcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJzZXNzaW9uLWNvbnRleHRcIiwgZGVzY3JpcHRpb246IFwiQ3Jvc3MtZWxlbWVudCBzaGFyZWQgY29udGV4dCBmb3IgdGhlIGN1cnJlbnQgc2Vzc2lvblwiIH0gfScsXG4gIF0sXG4gIGltcG9ydF9lbGVtZW50OiBbXG4gICAgJ3sgb3BlcmF0aW9uOiBcImltcG9ydF9lbGVtZW50XCIsIHBhcmFtczogeyBkYXRhOiBcInsuLi5leHBvcnRQYWNrYWdlLi4ufVwiLCBvdmVyd3JpdGU6IHRydWUgfSB9JyxcbiAgXSxcbiAgLy8gYWRkRW50cnk6IG1pZ3JhdGVkIHRvIE1FTU9SWV9TQ0hFTUFTIGluIE9wZXJhdGlvblNjaGVtYS50cyAoSXNzdWUgIzU5NClcbiAgYWN0aXZhdGVfZWxlbWVudDogW1xuICAgICd7IG9wZXJhdGlvbjogXCJhY3RpdmF0ZV9lbGVtZW50XCIsIGVsZW1lbnRUeXBlOiBcInBlcnNvbmFcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJteS1wZXJzb25hXCIgfSB9JyxcbiAgXSxcbiAgbGlzdF9lbGVtZW50czogW1xuICAgICd7IG9wZXJhdGlvbjogXCJsaXN0X2VsZW1lbnRzXCIsIGVsZW1lbnRfdHlwZTogXCJwZXJzb25hXCIgfScsXG4gICAgLy8gUmVzcG9uc2U6IHsgaXRlbXM6IFt7IG5hbWUsIGRlc2NyaXB0aW9uLCB0eXBlLCB2ZXJzaW9uLCB0YWdzIH1dLCBwYWdpbmF0aW9uOiB7IHBhZ2U6IDEsIHBhZ2VTaXplOiAyMCwgdG90YWxJdGVtcywgdG90YWxQYWdlcywgaGFzTmV4dFBhZ2UsIGhhc1ByZXZQYWdlIH0sIHNvcnRpbmc6IHsgc29ydEJ5LCBzb3J0T3JkZXIgfSwgZWxlbWVudF90eXBlOiBcInBlcnNvbmFcIiB9XG4gICAgJ3sgb3BlcmF0aW9uOiBcImxpc3RfZWxlbWVudHNcIiwgZWxlbWVudF90eXBlOiBcInBlcnNvbmFcIiwgcGFyYW1zOiB7IHBhZ2U6IDIsIHBhZ2VTaXplOiAxMCB9IH0nLFxuICAgICd7IG9wZXJhdGlvbjogXCJsaXN0X2VsZW1lbnRzXCIsIGVsZW1lbnRfdHlwZTogXCJza2lsbFwiLCBwYXJhbXM6IHsgdGFnczogW1widHlwZXNjcmlwdFwiXSwgc29ydEJ5OiBcIm1vZGlmaWVkXCIsIHNvcnRPcmRlcjogXCJkZXNjXCIgfSB9JyxcbiAgICAneyBvcGVyYXRpb246IFwibGlzdF9lbGVtZW50c1wiLCBlbGVtZW50X3R5cGU6IFwicGVyc29uYVwiLCBwYXJhbXM6IHsgYWdncmVnYXRlOiB7IGNvdW50OiB0cnVlIH0gfSB9JyxcbiAgICAvLyBSZXNwb25zZTogeyBjb3VudDogNDIsIGVsZW1lbnRfdHlwZTogXCJwZXJzb25hXCIgfVxuICAgICd7IG9wZXJhdGlvbjogXCJsaXN0X2VsZW1lbnRzXCIsIGVsZW1lbnRfdHlwZTogXCJwZXJzb25hXCIsIHBhcmFtczogeyBhZ2dyZWdhdGU6IHsgY291bnQ6IHRydWUsIGdyb3VwX2J5OiBcImNhdGVnb3J5XCIgfSB9IH0nLFxuICAgIC8vIFJlc3BvbnNlOiB7IGNvdW50OiA0MiwgZWxlbWVudF90eXBlOiBcInBlcnNvbmFcIiwgZ3JvdXBzOiB7IFwiYXNzaXN0YW50XCI6IDE1LCBcImNyZWF0aXZlXCI6IDEyLCBcInRlY2huaWNhbFwiOiAxNSB9IH1cbiAgXSxcbiAgZ2V0X2VsZW1lbnQ6IFtcbiAgICAneyBvcGVyYXRpb246IFwiZ2V0X2VsZW1lbnRcIiwgZWxlbWVudFR5cGU6IFwicGVyc29uYVwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcIm15LXBlcnNvbmFcIiB9IH0nLFxuICBdLFxuICBnZXRfZWxlbWVudF9kZXRhaWxzOiBbXG4gICAgJ3sgb3BlcmF0aW9uOiBcImdldF9lbGVtZW50X2RldGFpbHNcIiwgZWxlbWVudFR5cGU6IFwicGVyc29uYVwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcIm15LXBlcnNvbmFcIiB9IH0nLFxuICBdLFxuICBzZWFyY2hfZWxlbWVudHM6IFtcbiAgICAneyBvcGVyYXRpb246IFwic2VhcmNoX2VsZW1lbnRzXCIsIHBhcmFtczogeyBxdWVyeTogXCJoZWxwZnVsIGFzc2lzdGFudFwiIH0gfScsXG4gICAgLy8gUmVzcG9uc2U6IHsgaXRlbXM6IFt7IHR5cGUsIGVsZW1lbnRfbmFtZSwgZGVzY3JpcHRpb24sIG1hdGNoZWRJbjogW1wibmFtZVwiLCBcImRlc2NyaXB0aW9uXCJdIH1dLCBwYWdpbmF0aW9uOiB7IHBhZ2UsIHBhZ2VTaXplLCB0b3RhbEl0ZW1zLCB0b3RhbFBhZ2VzLCBoYXNOZXh0UGFnZSwgaGFzUHJldlBhZ2UgfSwgc29ydGluZzogeyBzb3J0QnksIHNvcnRPcmRlciB9LCBxdWVyeTogXCJoZWxwZnVsIGFzc2lzdGFudFwiIH1cbiAgICAneyBvcGVyYXRpb246IFwic2VhcmNoX2VsZW1lbnRzXCIsIGVsZW1lbnRfdHlwZTogXCJwZXJzb25hXCIsIHBhcmFtczogeyBxdWVyeTogXCJjb2RlIHJldmlld1wiLCBwYWdpbmF0aW9uOiB7IHBhZ2U6IDEsIHBhZ2VTaXplOiAxMCB9IH0gfScsXG4gICAgJ3sgb3BlcmF0aW9uOiBcInNlYXJjaF9lbGVtZW50c1wiLCBwYXJhbXM6IHsgcXVlcnk6IFwidHlwZXNjcmlwdFwiLCBzb3J0OiB7IHNvcnRCeTogXCJuYW1lXCIsIHNvcnRPcmRlcjogXCJkZXNjXCIgfSB9IH0nLFxuICBdLFxuICBxdWVyeV9lbGVtZW50czogW1xuICAgICd7IG9wZXJhdGlvbjogXCJxdWVyeV9lbGVtZW50c1wiLCBlbGVtZW50X3R5cGU6IFwicGVyc29uYVwiLCBwYXJhbXM6IHsgZmlsdGVyczogeyBzdGF0dXM6IFwiYWN0aXZlXCIgfSwgcGFnaW5hdGlvbjogeyBwYWdlOiAxLCBwYWdlU2l6ZTogMTAgfSB9IH0nLFxuICAgIC8vIFJlc3BvbnNlOiB7IGl0ZW1zOiBbeyBuYW1lLCBkZXNjcmlwdGlvbiwgdHlwZSwgdmVyc2lvbiwgdGFncyB9XSwgcGFnaW5hdGlvbjogeyBwYWdlLCBwYWdlU2l6ZSwgdG90YWxJdGVtcywgdG90YWxQYWdlcywgaGFzTmV4dFBhZ2UsIGhhc1ByZXZQYWdlIH0sIHNvcnRpbmc6IHsgc29ydEJ5LCBzb3J0T3JkZXIgfSwgZWxlbWVudF90eXBlOiBcInBlcnNvbmFcIiB9XG4gICAgJ3sgb3BlcmF0aW9uOiBcInF1ZXJ5X2VsZW1lbnRzXCIsIGVsZW1lbnRfdHlwZTogXCJza2lsbFwiLCBwYXJhbXM6IHsgZmlsdGVyczogeyB0YWdzOiBbXCJ0eXBlc2NyaXB0XCJdIH0sIHNvcnQ6IHsgc29ydEJ5OiBcIm1vZGlmaWVkXCIsIHNvcnRPcmRlcjogXCJkZXNjXCIgfSB9IH0nLFxuICAgICd7IG9wZXJhdGlvbjogXCJxdWVyeV9lbGVtZW50c1wiLCBlbGVtZW50X3R5cGU6IFwicGVyc29uYVwiLCBwYXJhbXM6IHsgYWdncmVnYXRlOiB7IGNvdW50OiB0cnVlLCBncm91cF9ieTogXCJ0YWdzXCIgfSB9IH0nLFxuICAgIC8vIFJlc3BvbnNlOiB7IGNvdW50OiA0MiwgZWxlbWVudF90eXBlOiBcInBlcnNvbmFcIiwgZ3JvdXBzOiB7IFwiYXNzaXN0YW50XCI6IDE1LCBcImNyZWF0aXZlXCI6IDEyIH0gfVxuICBdLFxuICBnZXRfYWN0aXZlX2VsZW1lbnRzOiBbXG4gICAgJ3sgb3BlcmF0aW9uOiBcImdldF9hY3RpdmVfZWxlbWVudHNcIiwgZWxlbWVudFR5cGU6IFwicGVyc29uYVwiIH0nLFxuICBdLFxuICB2YWxpZGF0ZV9lbGVtZW50OiBbXG4gICAgJ3sgb3BlcmF0aW9uOiBcInZhbGlkYXRlX2VsZW1lbnRcIiwgZWxlbWVudFR5cGU6IFwicGVyc29uYVwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcIm15LXBlcnNvbmFcIiwgc3RyaWN0OiB0cnVlIH0gfScsXG4gIF0sXG4gIHJlbmRlcjogW1xuICAgICd7IG9wZXJhdGlvbjogXCJyZW5kZXJcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJtZWV0aW5nLW5vdGVzXCIsIHZhcmlhYmxlczogeyBkYXRlOiBcIjIwMjQtMDEtMTVcIiwgYXR0ZW5kZWVzOiBbXCJBbGljZVwiLCBcIkJvYlwiXSB9IH0gfScsXG4gIF0sXG4gIGV4cG9ydF9lbGVtZW50OiBbXG4gICAgJ3sgb3BlcmF0aW9uOiBcImV4cG9ydF9lbGVtZW50XCIsIGVsZW1lbnRUeXBlOiBcInBlcnNvbmFcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJteS1wZXJzb25hXCIsIGZvcm1hdDogXCJqc29uXCIgfSB9JyxcbiAgXSxcbiAgZGVhY3RpdmF0ZV9lbGVtZW50OiBbXG4gICAgJ3sgb3BlcmF0aW9uOiBcImRlYWN0aXZhdGVfZWxlbWVudFwiLCBlbGVtZW50VHlwZTogXCJwZXJzb25hXCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwibXktcGVyc29uYVwiIH0gfScsXG4gIF0sXG4gIGludHJvc3BlY3Q6IFtcbiAgICAneyBvcGVyYXRpb246IFwiaW50cm9zcGVjdFwiLCBwYXJhbXM6IHsgcXVlcnk6IFwib3BlcmF0aW9uc1wiIH0gfScsXG4gICAgJ3sgb3BlcmF0aW9uOiBcImludHJvc3BlY3RcIiwgcGFyYW1zOiB7IHF1ZXJ5OiBcIm9wZXJhdGlvbnNcIiwgbmFtZTogXCJjcmVhdGVfZWxlbWVudFwiIH0gfScsXG4gICAgJ3sgb3BlcmF0aW9uOiBcImludHJvc3BlY3RcIiwgcGFyYW1zOiB7IHF1ZXJ5OiBcInR5cGVzXCIsIG5hbWU6IFwiRWxlbWVudFR5cGVcIiB9IH0nLFxuICAgICd7IG9wZXJhdGlvbjogXCJpbnRyb3NwZWN0XCIsIHBhcmFtczogeyBxdWVyeTogXCJmb3JtYXRcIiB9IH0nLFxuICAgICd7IG9wZXJhdGlvbjogXCJpbnRyb3NwZWN0XCIsIHBhcmFtczogeyBxdWVyeTogXCJmb3JtYXRcIiwgbmFtZTogXCJ0ZW1wbGF0ZVwiIH0gfScsXG4gIF0sXG4gIGVkaXRfZWxlbWVudDogW1xuICAgICd7IG9wZXJhdGlvbjogXCJlZGl0X2VsZW1lbnRcIiwgZWxlbWVudFR5cGU6IFwicGVyc29uYVwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcIm15LXBlcnNvbmFcIiwgaW5wdXQ6IHsgZGVzY3JpcHRpb246IFwiVXBkYXRlZCBkZXNjcmlwdGlvblwiIH0gfSB9JyxcbiAgXSxcbiAgZGVsZXRlX2VsZW1lbnQ6IFtcbiAgICAneyBvcGVyYXRpb246IFwiZGVsZXRlX2VsZW1lbnRcIiwgZWxlbWVudFR5cGU6IFwibWVtb3J5XCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwib2xkLXBlcnNvbmFcIiwgZGVsZXRlRGF0YTogdHJ1ZSB9IH0nLFxuICBdLFxuICAvLyBjbGVhciwgZXhlY3V0ZV9hZ2VudCwgZ2V0X2V4ZWN1dGlvbl9zdGF0ZSwgcmVjb3JkX2V4ZWN1dGlvbl9zdGVwLCBjb21wbGV0ZV9leGVjdXRpb24sXG4gIC8vIGNvbnRpbnVlX2V4ZWN1dGlvbiwgYWJvcnRfZXhlY3V0aW9uLCBnZXRfZ2F0aGVyZWRfZGF0YSwgcHJlcGFyZV9oYW5kb2ZmLCByZXN1bWVfZnJvbV9oYW5kb2ZmOlxuICAvLyBBbGwgbWlncmF0ZWQgdG8gSU5UUk9TUEVDVElPTl9PTkxZX1NDSEVNQVMgaW4gT3BlcmF0aW9uU2NoZW1hLnRzIChJc3N1ZSAjNTk0KVxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSW50cm9zcGVjdGlvblJlc29sdmVyIENsYXNzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogUmVzb2x2ZXIgZm9yIGludHJvc3BlY3Rpb24gcXVlcmllcy5cbiAqIFByb3ZpZGVzIHNlbGYtZG9jdW1lbnRhdGlvbiBjYXBhYmlsaXRpZXMgZm9yIE1DUC1BUUwgb3BlcmF0aW9ucy5cbiAqL1xuZXhwb3J0IGNsYXNzIEludHJvc3BlY3Rpb25SZXNvbHZlciB7XG4gIC8qKlxuICAgKiBFeGVjdXRlIGFuIGludHJvc3BlY3Rpb24gcXVlcnlcbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIEludHJvc3BlY3Rpb24gcGFyYW1ldGVyc1xuICAgKiBAcGFyYW0gcGFyYW1zLnF1ZXJ5IC0gV2hhdCB0byBpbnRyb3NwZWN0OiAnb3BlcmF0aW9ucycsICd0eXBlcycsICdmb3JtYXQnLCBvciAnY2F0ZWdvcmllcydcbiAgICogQHBhcmFtIHBhcmFtcy5uYW1lIC0gT3B0aW9uYWw6IHNwZWNpZmljIG9wZXJhdGlvbiBvciB0eXBlIG5hbWVcbiAgICogQHJldHVybnMgSW50cm9zcGVjdGlvblJlc3VsdCB3aXRoIHJlcXVlc3RlZCBpbmZvcm1hdGlvblxuICAgKi9cbiAgc3RhdGljIHJlc29sdmUocGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IEludHJvc3BlY3Rpb25SZXN1bHQge1xuICAgIGNvbnN0IHF1ZXJ5ID0gKHBhcmFtcy5xdWVyeSBhcyBzdHJpbmcpIHx8ICdvcGVyYXRpb25zJztcbiAgICBjb25zdCBuYW1lID0gcGFyYW1zLm5hbWUgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgc3dpdGNoIChxdWVyeSkge1xuICAgICAgY2FzZSAnb3BlcmF0aW9ucyc6XG4gICAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIHsgb3BlcmF0aW9uOiB0aGlzLmdldE9wZXJhdGlvbkRldGFpbHMobmFtZSkgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBvcGVyYXRpb25zOiB0aGlzLmxpc3RPcGVyYXRpb25zKCkgfTtcblxuICAgICAgY2FzZSAndHlwZXMnOlxuICAgICAgICBpZiAobmFtZSkge1xuICAgICAgICAgIHJldHVybiB7IHR5cGU6IHRoaXMuZ2V0VHlwZURldGFpbHMobmFtZSkgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyB0eXBlczogdGhpcy5saXN0VHlwZXMoKSB9O1xuXG4gICAgICBjYXNlICdmb3JtYXQnOlxuICAgICAgICByZXR1cm4geyBmb3JtYXRTcGVjOiB0aGlzLmdldEZvcm1hdFNwZWMobmFtZSkgfTtcblxuICAgICAgLy8gSXNzdWUgIzYzMTogQ2F0ZWdvcnkgZGlzY292ZXJ5IOKAlCBmb3JtYXQgcnVsZXMgKyBndWlkYW5jZSBmb3IgbGl2ZSBkYXRhXG4gICAgICBjYXNlICdjYXRlZ29yaWVzJzpcbiAgICAgICAgcmV0dXJuIHsgY2F0ZWdvcmllczogdGhpcy5nZXRDYXRlZ29yeUluZm8oKSB9O1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICAvLyBSZXR1cm4gZW1wdHkgcmVzdWx0IGZvciB1bmtub3duIHF1ZXJ5IHR5cGVzXG4gICAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTGlzdCBhbGwgYXZhaWxhYmxlIG9wZXJhdGlvbnNcbiAgICpcbiAgICogRm9yIHNjaGVtYS1kcml2ZW4gb3BlcmF0aW9ucywgdXNlcyBkZXNjcmlwdGlvbiBmcm9tIE9wZXJhdGlvblNjaGVtYS5cbiAgICogRm9yIGxlZ2FjeSBvcGVyYXRpb25zLCB1c2VzIGRlc2NyaXB0aW9uIGZyb20gT1BFUkFUSU9OX1JPVVRFUy5cbiAgICpcbiAgICogQHNlZSBJc3N1ZSAjMjU0IC0gU2luZ2xlIHNvdXJjZSBvZiB0cnV0aCBmcm9tIHNjaGVtYVxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgbGlzdE9wZXJhdGlvbnMoKTogT3BlcmF0aW9uSW5mb1tdIHtcbiAgICBjb25zdCBvcGVyYXRpb25zOiBPcGVyYXRpb25JbmZvW10gPSBbXTtcblxuICAgIC8vIEluY2x1ZGUgYWxsIG9wZXJhdGlvbnMgZnJvbSBPUEVSQVRJT05fUk9VVEVTXG4gICAgZm9yIChjb25zdCBbb3BOYW1lLCByb3V0ZV0gb2YgT2JqZWN0LmVudHJpZXMoT1BFUkFUSU9OX1JPVVRFUykpIHtcbiAgICAgIC8vIFByZWZlciBzY2hlbWEgZGVzY3JpcHRpb24gZnJvbSBhbnkgc2NoZW1hIChkaXNwYXRjaC1kcml2ZW4gb3IgaW50cm9zcGVjdGlvbi1vbmx5KVxuICAgICAgY29uc3Qgc2NoZW1hID0gZ2V0QW55T3BlcmF0aW9uU2NoZW1hKG9wTmFtZSk7XG4gICAgICBvcGVyYXRpb25zLnB1c2goe1xuICAgICAgICBuYW1lOiBvcE5hbWUsXG4gICAgICAgIGVuZHBvaW50OiByb3V0ZS5lbmRwb2ludCxcbiAgICAgICAgZGVzY3JpcHRpb246IHNjaGVtYT8uZGVzY3JpcHRpb24gfHwgcm91dGUuZGVzY3JpcHRpb24gfHwgYCR7b3BOYW1lfSBvcGVyYXRpb25gLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gQWRkIGludHJvc3BlY3Qgb3BlcmF0aW9uIChzY2hlbWEtZHJpdmVuIGJ1dCBub3QgaW4gT1BFUkFUSU9OX1JPVVRFUylcbiAgICBjb25zdCBpbnRyb3NwZWN0U2NoZW1hID0gZ2V0T3BlcmF0aW9uU2NoZW1hKCdpbnRyb3NwZWN0Jyk7XG4gICAgb3BlcmF0aW9ucy5wdXNoKHtcbiAgICAgIG5hbWU6ICdpbnRyb3NwZWN0JyxcbiAgICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgICBkZXNjcmlwdGlvbjogaW50cm9zcGVjdFNjaGVtYT8uZGVzY3JpcHRpb24gfHwgJ1F1ZXJ5IGF2YWlsYWJsZSBvcGVyYXRpb25zIGFuZCB0eXBlcyAodGhpcyBvcGVyYXRpb24pJyxcbiAgICB9KTtcblxuICAgIC8vIFNvcnQgYnkgZW5kcG9pbnQgdGhlbiBuYW1lIGZvciBjb25zaXN0ZW50IG9yZGVyaW5nXG4gICAgcmV0dXJuIG9wZXJhdGlvbnMuc29ydCgoYSwgYikgPT4ge1xuICAgICAgY29uc3QgZW5kcG9pbnRPcmRlcjogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHsgQ1JFQVRFOiAwLCBSRUFEOiAxLCBVUERBVEU6IDIsIERFTEVURTogMywgRVhFQ1VURTogNCB9O1xuICAgICAgY29uc3QgZW5kcG9pbnREaWZmID0gKGVuZHBvaW50T3JkZXJbYS5lbmRwb2ludF0gPz8gNSkgLSAoZW5kcG9pbnRPcmRlcltiLmVuZHBvaW50XSA/PyA1KTtcbiAgICAgIGlmIChlbmRwb2ludERpZmYgIT09IDApIHJldHVybiBlbmRwb2ludERpZmY7XG4gICAgICByZXR1cm4gYS5uYW1lLmxvY2FsZUNvbXBhcmUoYi5uYW1lKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgYSBzcGVjaWZpYyBvcGVyYXRpb25cbiAgICpcbiAgICogRm9yIHNjaGVtYS1kcml2ZW4gb3BlcmF0aW9ucywgcmVhZHMgbWV0YWRhdGEgZnJvbSBPcGVyYXRpb25TY2hlbWEuXG4gICAqIEZvciBsZWdhY3kgb3BlcmF0aW9ucywgdXNlcyBmYWxsYmFjayBPUEVSQVRJT05fUEFSQU1FVEVSUy9PUEVSQVRJT05fRVhBTVBMRVMuXG4gICAqXG4gICAqIEBzZWUgSXNzdWUgIzI1NCAtIEF1dG8tZ2VuZXJhdGUgaW50cm9zcGVjdGlvbiBmcm9tIHNjaGVtYVxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0T3BlcmF0aW9uRGV0YWlscyhuYW1lOiBzdHJpbmcpOiBPcGVyYXRpb25EZXRhaWxzIHwgbnVsbCB7XG4gICAgLy8gQ2hlY2sgc2NoZW1hIGZpcnN0IOKAlCBpbmNsdWRlcyBib3RoIGRpc3BhdGNoLWRyaXZlbiBhbmQgaW50cm9zcGVjdGlvbi1vbmx5IHNjaGVtYXNcbiAgICBjb25zdCBzY2hlbWEgPSBnZXRBbnlPcGVyYXRpb25TY2hlbWEobmFtZSk7XG4gICAgaWYgKHNjaGVtYSkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0U2NoZW1hT3BlcmF0aW9uRGV0YWlscyhuYW1lLCBzY2hlbWEpO1xuICAgIH1cblxuICAgIC8vIExlZ2FjeSBmYWxsYmFjayBmb3Igbm9uLXNjaGVtYSBvcGVyYXRpb25zXG4gICAgY29uc3Qgcm91dGUgPSBPUEVSQVRJT05fUk9VVEVTW25hbWVdO1xuICAgIGlmICghcm91dGUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBuYW1lLFxuICAgICAgZW5kcG9pbnQ6IHJvdXRlLmVuZHBvaW50LFxuICAgICAgbWNwVG9vbDogYG1jcF9hcWxfJHtyb3V0ZS5lbmRwb2ludC50b0xvd2VyQ2FzZSgpfWAsXG4gICAgICBkZXNjcmlwdGlvbjogcm91dGUuZGVzY3JpcHRpb24gfHwgYCR7bmFtZX0gb3BlcmF0aW9uYCxcbiAgICAgIHBlcm1pc3Npb25zOiBQZXJtaXNzaW9uR3VhcmQuZ2V0UGVybWlzc2lvbnMocm91dGUuZW5kcG9pbnQgYXMgQ1JVREVuZHBvaW50KSxcbiAgICAgIHBhcmFtZXRlcnM6IE9QRVJBVElPTl9QQVJBTUVURVJTW25hbWVdIHx8IFtdLFxuICAgICAgcmV0dXJuczogdGhpcy5nZXRSZXR1cm5UeXBlKG5hbWUpLFxuICAgICAgZXhhbXBsZXM6IE9QRVJBVElPTl9FWEFNUExFU1tuYW1lXSB8fCBbXSxcbiAgICAgIC4uLihyb3V0ZS5hbGlhc2VzPy5sZW5ndGggPyB7IGFsaWFzZXM6IHJvdXRlLmFsaWFzZXMgfSA6IHt9KSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBvcGVyYXRpb24gZGV0YWlscyBmcm9tIE9wZXJhdGlvblNjaGVtYSAoZGlzcGF0Y2gtZHJpdmVuIG9yIGludHJvc3BlY3Rpb24tb25seSlcbiAgICpcbiAgICogQHNlZSBJc3N1ZSAjMjU0IC0gU2luZ2xlIHNvdXJjZSBvZiB0cnV0aCBmcm9tIHNjaGVtYVxuICAgKiBAc2VlIElzc3VlICM1OTQgLSBJbnRyb3NwZWN0aW9uLW9ubHkgc2NoZW1hcyBmb3IgYWxsIG9wZXJhdGlvbnNcbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGdldFNjaGVtYU9wZXJhdGlvbkRldGFpbHMobmFtZTogc3RyaW5nLCBzY2hlbWE/OiBPcGVyYXRpb25EZWYpOiBPcGVyYXRpb25EZXRhaWxzIHwgbnVsbCB7XG4gICAgY29uc3QgcmVzb2x2ZWRTY2hlbWEgPSBzY2hlbWEgPz8gZ2V0QW55T3BlcmF0aW9uU2NoZW1hKG5hbWUpO1xuICAgIGlmICghcmVzb2x2ZWRTY2hlbWEpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIENvbnZlcnQgc2NoZW1hIHJldHVybnMgdG8gVHlwZUluZm8sIHdpdGggZmFsbGJhY2tcbiAgICBjb25zdCByZXR1cm5zOiBUeXBlSW5mbyA9IHJlc29sdmVkU2NoZW1hLnJldHVybnNcbiAgICAgID8geyBuYW1lOiByZXNvbHZlZFNjaGVtYS5yZXR1cm5zLm5hbWUsIGtpbmQ6IHJlc29sdmVkU2NoZW1hLnJldHVybnMua2luZCwgZGVzY3JpcHRpb246IHJlc29sdmVkU2NoZW1hLnJldHVybnMuZGVzY3JpcHRpb24gfVxuICAgICAgOiB7IG5hbWU6ICdPcGVyYXRpb25SZXN1bHQnLCBraW5kOiAndW5pb24nLCBkZXNjcmlwdGlvbjogJ1N1Y2Nlc3Mgd2l0aCBkYXRhIG9yIGZhaWx1cmUgd2l0aCBlcnJvcicgfTtcblxuICAgIGNvbnN0IHJvdXRlID0gT1BFUkFUSU9OX1JPVVRFU1tuYW1lXTtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZSxcbiAgICAgIGVuZHBvaW50OiByZXNvbHZlZFNjaGVtYS5lbmRwb2ludCxcbiAgICAgIG1jcFRvb2w6IGBtY3BfYXFsXyR7cmVzb2x2ZWRTY2hlbWEuZW5kcG9pbnQudG9Mb3dlckNhc2UoKX1gLFxuICAgICAgZGVzY3JpcHRpb246IHJlc29sdmVkU2NoZW1hLmRlc2NyaXB0aW9uLFxuICAgICAgcGVybWlzc2lvbnM6IFBlcm1pc3Npb25HdWFyZC5nZXRQZXJtaXNzaW9ucyhyZXNvbHZlZFNjaGVtYS5lbmRwb2ludCBhcyBDUlVERW5kcG9pbnQpLFxuICAgICAgcGFyYW1ldGVyczogc2NoZW1hVG9QYXJhbWV0ZXJJbmZvKHJlc29sdmVkU2NoZW1hLnBhcmFtcyksXG4gICAgICByZXR1cm5zLFxuICAgICAgZXhhbXBsZXM6IHJlc29sdmVkU2NoZW1hLmV4YW1wbGVzIHx8IFtdLFxuICAgICAgLi4uKHJvdXRlPy5hbGlhc2VzPy5sZW5ndGggPyB7IGFsaWFzZXM6IHJvdXRlLmFsaWFzZXMgfSA6IHt9KSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcmV0dXJuIHR5cGUgZm9yIGEgbGVnYWN5IChub24tc2NoZW1hKSBvcGVyYXRpb24uXG4gICAqIFNjaGVtYS1kcml2ZW4gYW5kIGludHJvc3BlY3Rpb24tb25seSBvcGVyYXRpb25zIGdldCByZXR1cm4gdHlwZXMgZnJvbSB0aGVpciBzY2hlbWEgZGVmaW5pdGlvbnMuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBnZXRSZXR1cm5UeXBlKG9wZXJhdGlvbjogc3RyaW5nKTogVHlwZUluZm8ge1xuICAgIC8vIE9wZXJhdGlvbnMgbWlncmF0ZWQgdG8gc2NoZW1hcyAoSXNzdWUgIzU5NCkgYXJlIGhhbmRsZWQgYnkgZ2V0U2NoZW1hT3BlcmF0aW9uRGV0YWlscygpXG4gICAgLy8gVGhpcyBmYWxsYmFjayBvbmx5IGFwcGxpZXMgdG8gdGhlIGZldyByZW1haW5pbmcgbm9uLXNjaGVtYSBvcGVyYXRpb25zXG4gICAgY29uc3QgcmV0dXJuVHlwZXM6IFJlY29yZDxzdHJpbmcsIFR5cGVJbmZvPiA9IHtcbiAgICAgIHNlYXJjaF9lbGVtZW50czogeyBuYW1lOiAnU2VhcmNoUmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnU3RydWN0dXJlZCBKU09OOiB7IGl0ZW1zOiBbeyB0eXBlLCBlbGVtZW50X25hbWUsIGRlc2NyaXB0aW9uLCBtYXRjaGVkSW4gfV0sIHBhZ2luYXRpb24sIHNvcnRpbmcsIHF1ZXJ5IH0nIH0sXG4gICAgICBxdWVyeV9lbGVtZW50czogeyBuYW1lOiAnUXVlcnlSZXN1bHQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdTdHJ1Y3R1cmVkIEpTT046IHsgaXRlbXM6IFt7IG5hbWUsIGRlc2NyaXB0aW9uLCB0eXBlLCB2ZXJzaW9uLCB0YWdzIH1dLCBwYWdpbmF0aW9uLCBzb3J0aW5nLCBlbGVtZW50X3R5cGUgfS4gT3IgQWdncmVnYXRpb25SZXN1bHQ6IHsgY291bnQsIGVsZW1lbnRfdHlwZSwgZ3JvdXBzPyB9IHdoZW4gYWdncmVnYXRlIHBhcmFtIGlzIHVzZWQuJyB9LFxuICAgIH07XG5cbiAgICByZXR1cm4gcmV0dXJuVHlwZXNbb3BlcmF0aW9uXSB8fCB7XG4gICAgICBuYW1lOiAnT3BlcmF0aW9uUmVzdWx0JyxcbiAgICAgIGtpbmQ6ICd1bmlvbicsXG4gICAgICBkZXNjcmlwdGlvbjogJ1N1Y2Nlc3Mgd2l0aCBkYXRhIG9yIGZhaWx1cmUgd2l0aCBlcnJvcicsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0IGFsbCBhdmFpbGFibGUgdHlwZXNcbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGxpc3RUeXBlcygpOiBUeXBlSW5mb1tdIHtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMoVFlQRV9ERUZJTklUSU9OUykubWFwKChbbmFtZSwgZGVmXSkgPT4gKHtcbiAgICAgIG5hbWUsXG4gICAgICBraW5kOiBkZWYua2luZCxcbiAgICAgIGRlc2NyaXB0aW9uOiBkZWYuZGVzY3JpcHRpb24sXG4gICAgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBhIHNwZWNpZmljIHR5cGVcbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGdldFR5cGVEZXRhaWxzKG5hbWU6IHN0cmluZyk6IFR5cGVEZXRhaWxzIHwgbnVsbCB7XG4gICAgcmV0dXJuIFRZUEVfREVGSU5JVElPTlNbbmFtZV0gfHwgbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZm9ybWF0IHNwZWNpZmljYXRpb24gZm9yIGFuIGVsZW1lbnQgdHlwZS5cbiAgICogSWYgbmFtZSBpcyBwcm92aWRlZCwgcmV0dXJucyBhIHNpbmdsZSBzcGVjIChvciBudWxsIGZvciB1bmtub3duIHR5cGVzKS5cbiAgICogSWYgbmFtZSBpcyBvbWl0dGVkLCByZXR1cm5zIGFsbCBzcGVjcyBhcyBhbiBvdmVydmlldy5cbiAgICpcbiAgICogQHNlZSBJc3N1ZSAjNzE1IC0gUHJvYWN0aXZlIExMTSBndWlkYW5jZSBmb3IgZWxlbWVudCBjcmVhdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0Rm9ybWF0U3BlYyhuYW1lPzogc3RyaW5nKTogRm9ybWF0U3BlYyB8IEZvcm1hdFNwZWNbXSB8IG51bGwge1xuICAgIGlmICghbmFtZSkge1xuICAgICAgLy8gUmV0dXJuIGFsbCBmb3JtYXQgc3BlY3MgYXMgYW4gb3ZlcnZpZXdcbiAgICAgIHJldHVybiBPYmplY3QudmFsdWVzKEZPUk1BVF9TUEVDUyk7XG4gICAgfVxuXG4gICAgLy8gTm9ybWFsaXplOiBoYW5kbGUgcGx1cmFscywgY2FzZSwgd2hpdGVzcGFjZVxuICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSBub3JtYWxpemVUeXBlTmFtZShuYW1lKTtcbiAgICBpZiAoIW5vcm1hbGl6ZWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBGT1JNQVRfU1BFQ1Nbbm9ybWFsaXplZF0gfHwgbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJc3N1ZSAjNjMxOiBDYXRlZ29yeSBkaXNjb3ZlcnkgaW5mbyDigJQgZm9ybWF0IHJ1bGVzLCBhbGxvd2VkIGFnZ3JlZ2F0aW9uIGZpZWxkcyxcbiAgICogYW5kIGd1aWRhbmNlIGZvciBkaXNjb3ZlcmluZyBleGlzdGluZyBjYXRlZ29yaWVzIHZpYSBxdWVyeV9lbGVtZW50cy5cbiAgICogSW50cm9zcGVjdGlvblJlc29sdmVyIGlzIHN0YXRlbGVzcyAobm8gcG9ydGZvbGlvIGFjY2VzcyksIHNvIGxpdmUgY2F0ZWdvcnkgZGF0YVxuICAgKiBtdXN0IGJlIGZldGNoZWQgdmlhIHF1ZXJ5X2VsZW1lbnRzIHdpdGggYWdncmVnYXRlOiB7IGdyb3VwX2J5OiBcImNhdGVnb3J5XCIgfS5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGdldENhdGVnb3J5SW5mbygpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZvcm1hdFJ1bGVzOiB7XG4gICAgICAgIHBhdHRlcm46IFZBTElEQVRJT05fUEFUVEVSTlMuU0FGRV9DQVRFR09SWS5zb3VyY2UsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnQ2F0ZWdvcnkgbmFtZXMgbXVzdCBzdGFydCB3aXRoIGEgbGV0dGVyLCBjb250YWluIG9ubHkgbGV0dGVycywgZGlnaXRzLCBoeXBoZW5zLCBhbmQgdW5kZXJzY29yZXMsIGFuZCBiZSAxLTIxIGNoYXJhY3RlcnMgbG9uZy4nLFxuICAgICAgICBleGFtcGxlczogWydkZXZlbG9wbWVudCcsICdjb2RlLWFuYWx5c2lzJywgJ3NlY3VyaXR5JywgJ2J1c2luZXNzJywgJ2NvbW11bmljYXRpb24nXSxcbiAgICAgIH0sXG4gICAgICBzdXBwb3J0ZWRUeXBlczogWydwZXJzb25hJywgJ3NraWxsJywgJ3RlbXBsYXRlJywgJ21lbW9yeSddLFxuICAgICAgYWxsb3dlZEdyb3VwQnlGaWVsZHM6IGdldEFsbG93ZWRHcm91cEJ5RmllbGRzKCksXG4gICAgICBkaXNjb3Zlcnk6IHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdUbyBkaXNjb3ZlciBleGlzdGluZyBjYXRlZ29yaWVzIGluIHlvdXIgcG9ydGZvbGlvLCB1c2UgcXVlcnlfZWxlbWVudHMgd2l0aCBncm91cF9ieSBhZ2dyZWdhdGlvbi4nLFxuICAgICAgICBleGFtcGxlczogW1xuICAgICAgICAgICd7IG9wZXJhdGlvbjogXCJxdWVyeV9lbGVtZW50c1wiLCBlbGVtZW50X3R5cGU6IFwic2tpbGxcIiwgcGFyYW1zOiB7IGFnZ3JlZ2F0ZTogeyBjb3VudDogdHJ1ZSwgZ3JvdXBfYnk6IFwiY2F0ZWdvcnlcIiB9IH0gfScsXG4gICAgICAgICAgJ3sgb3BlcmF0aW9uOiBcInF1ZXJ5X2VsZW1lbnRzXCIsIGVsZW1lbnRfdHlwZTogXCJ0ZW1wbGF0ZVwiLCBwYXJhbXM6IHsgYWdncmVnYXRlOiB7IGNvdW50OiB0cnVlLCBncm91cF9ieTogXCJjYXRlZ29yeVwiIH0gfSB9JyxcbiAgICAgICAgICAneyBvcGVyYXRpb246IFwicXVlcnlfZWxlbWVudHNcIiwgZWxlbWVudF90eXBlOiBcInNraWxsXCIsIHBhcmFtczogeyBmaWx0ZXJzOiB7IGNhdGVnb3J5OiBcInNlY3VyaXR5XCIgfSB9IH0nLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBvcGVyYXRpb25zIGdyb3VwZWQgYnkgZW5kcG9pbnRcbiAgICogVXRpbGl0eSBtZXRob2QgZm9yIGRvY3VtZW50YXRpb24gZ2VuZXJhdGlvblxuICAgKi9cbiAgc3RhdGljIGdldE9wZXJhdGlvbnNCeUVuZHBvaW50KCk6IFJlY29yZDxDUlVERW5kcG9pbnQsIE9wZXJhdGlvbkluZm9bXT4ge1xuICAgIGNvbnN0IGdyb3VwZWQ6IFJlY29yZDxDUlVERW5kcG9pbnQsIE9wZXJhdGlvbkluZm9bXT4gPSB7XG4gICAgICBDUkVBVEU6IFtdLFxuICAgICAgUkVBRDogW10sXG4gICAgICBVUERBVEU6IFtdLFxuICAgICAgREVMRVRFOiBbXSxcbiAgICAgIEVYRUNVVEU6IFtdLFxuICAgIH07XG5cbiAgICBmb3IgKGNvbnN0IG9wIG9mIHRoaXMubGlzdE9wZXJhdGlvbnMoKSkge1xuICAgICAgY29uc3QgZW5kcG9pbnQgPSBvcC5lbmRwb2ludCBhcyBDUlVERW5kcG9pbnQ7XG4gICAgICBpZiAoZ3JvdXBlZFtlbmRwb2ludF0pIHtcbiAgICAgICAgZ3JvdXBlZFtlbmRwb2ludF0ucHVzaChvcCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGdyb3VwZWQ7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgYSBjb21wYWN0IHN1bW1hcnkgZm9yIHRva2VuLWVmZmljaWVudCByZXNwb25zZXNcbiAgICovXG4gIHN0YXRpYyBnZXRTdW1tYXJ5KCk6IHN0cmluZyB7XG4gICAgY29uc3Qgb3BzQnlFbmRwb2ludCA9IHRoaXMuZ2V0T3BlcmF0aW9uc0J5RW5kcG9pbnQoKTtcbiAgICBjb25zdCBsaW5lczogc3RyaW5nW10gPSBbJ01DUC1BUUwgT3BlcmF0aW9uczonXTtcblxuICAgIGZvciAoY29uc3QgW2VuZHBvaW50LCBvcHNdIG9mIE9iamVjdC5lbnRyaWVzKG9wc0J5RW5kcG9pbnQpKSB7XG4gICAgICBjb25zdCBvcE5hbWVzID0gb3BzLm1hcChvID0+IG8ubmFtZSkuam9pbignLCAnKTtcbiAgICAgIGxpbmVzLnB1c2goYCAgJHtlbmRwb2ludH06ICR7b3BOYW1lc31gKTtcbiAgICB9XG5cbiAgICBsaW5lcy5wdXNoKGBcXG5UeXBlczogJHtPYmplY3Qua2V5cyhUWVBFX0RFRklOSVRJT05TKS5qb2luKCcsICcpfWApO1xuICAgIGxpbmVzLnB1c2goJ1xcblVzZSBpbnRyb3NwZWN0IHdpdGggbmFtZSBwYXJhbWV0ZXIgZm9yIGRldGFpbHMuJyk7XG5cbiAgICByZXR1cm4gbGluZXMuam9pbignXFxuJyk7XG4gIH1cbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"MCPAQLHandler.d.ts","sourceRoot":"","sources":["../../../src/handlers/mcp-aql/MCPAQLHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MCPAQLHandler.d.ts","sourceRoot":"","sources":["../../../src/handlers/mcp-aql/MCPAQLHandler.ts"],"names":[],"mappings":"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"}