@aws-cdk/aws-mediaconnect-alpha 2.264.0-alpha.0 → 2.265.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -86,7 +86,7 @@ var FlowOutputProtocol;
86
86
  */
87
87
  class OutputConfiguration {
88
88
  _output;
89
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.OutputConfiguration", version: "2.264.0-alpha.0" };
89
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.OutputConfiguration", version: "2.265.0-alpha.0" };
90
90
  /**
91
91
  * The source configuration for flows receiving a stream from router.
92
92
  */
@@ -325,7 +325,7 @@ let FlowOutput = (() => {
325
325
  FlowOutput = _classThis = _classDescriptor.value;
326
326
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
327
327
  }
328
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.FlowOutput", version: "2.264.0-alpha.0" };
328
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.FlowOutput", version: "2.265.0-alpha.0" };
329
329
  /** Uniquely identifies this class. */
330
330
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-mediaconnect-alpha.FlowOutput';
331
331
  /**
@@ -356,8 +356,8 @@ let FlowOutput = (() => {
356
356
  if (props.flowOutputName.length > 128) {
357
357
  throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `FlowOutputNameLength`, `Flow output name must be between 1 and 128 characters, got ${props.flowOutputName.length}`, this);
358
358
  }
359
- if (!/^[a-zA-Z0-9-]+$/.test(props.flowOutputName)) {
360
- throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `FlowOutputNameFormat`, `Flow output name must contain only alphanumeric characters and hyphens, got '${props.flowOutputName}'`, this);
359
+ if (!/^[a-zA-Z0-9_-]+$/.test(props.flowOutputName)) {
360
+ throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `FlowOutputNameFormat`, `Flow output name must contain only alphanumeric characters, hyphens, and underscores, got '${props.flowOutputName}'`, this);
361
361
  }
362
362
  }
363
363
  // Enhanced CDK Analytics Telemetry
@@ -409,4 +409,4 @@ function renderOutputEncryption(scope, staticKey, srtPassword, sourceArn) {
409
409
  return (0, shared_1.renderSrtPasswordEncryption)(scope, srtPassword, sourceArn);
410
410
  return undefined;
411
411
  }
412
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1vdXRwdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJmbG93LW91dHB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSw2Q0FBa0g7QUFDbEgsbUVBQTZEO0FBRTdELDRFQUE0RDtBQUM1RCw4RUFBOEU7QUFDOUUsMEVBQTBFO0FBSTFFLHFDQUE4SDtBQW9EOUg7O0dBRUc7QUFDSCxJQUFLLGtCQWlDSjtBQWpDRCxXQUFLLGtCQUFrQjtJQUNyQjs7T0FFRztJQUNILDZDQUFxQixDQUFBO0lBQ3JCOztPQUVHO0lBQ0gseUNBQWlCLENBQUE7SUFDakI7O09BRUc7SUFDSCxpQ0FBUyxDQUFBO0lBQ1Q7O09BRUc7SUFDSCw2Q0FBcUIsQ0FBQTtJQUNyQjs7T0FFRztJQUNILG1DQUFXLENBQUE7SUFDWDs7T0FFRztJQUNILG1EQUEyQixDQUFBO0lBQzNCOztPQUVHO0lBQ0gsK0NBQXVCLENBQUE7SUFDdkI7O09BRUc7SUFDSCwwQ0FBa0IsQ0FBQTtBQUNwQixDQUFDLEVBakNJLGtCQUFrQixLQUFsQixrQkFBa0IsUUFpQ3RCO0FBK1BEOztHQUVHO0FBQ0gsTUFBYSxtQkFBbUI7SUFxSU87O0lBcElyQzs7T0FFRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBMkI7Ozs7Ozs7Ozs7UUFDOUMsT0FBTyxJQUFJLG1CQUFtQixDQUFDO1lBQzdCLHNCQUFzQixFQUFFLGNBQUssQ0FBQyxPQUFPO1lBQ3JDLGtDQUFrQyxFQUFFLEtBQUssRUFBRSxVQUFVO1NBQ3RELENBQUMsQ0FBQztLQUNKO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQXNCOzs7Ozs7Ozs7O1FBQ3RDLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQztZQUM3QixRQUFRLEVBQUUsa0JBQWtCLENBQUMsR0FBRztZQUNoQyxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsSUFBSSxF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SUFFbEIsSUFBSSxTQUFTO1FBQUUsT0FBTyxJQUFBLGtDQUF5QixFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDN0UsSUFBSSxXQUFXO1FBQUUsT0FBTyxJQUFBLG9DQUEyQixFQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbkYsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRHVyYXRpb24sIElSZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IEFubm90YXRpb25zLCBMYXp5LCBOYW1lcywgUmVzb3VyY2UsIFRva2VuLCBVbnNjb3BlZFZhbGlkYXRpb25FcnJvciwgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ2ZuRmxvd091dHB1dCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1tZWRpYWNvbm5lY3QnO1xuaW1wb3J0IHR5cGUgeyBJRmxvd091dHB1dFJlZiwgRmxvd091dHB1dFJlZmVyZW5jZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1tZWRpYWNvbm5lY3QnO1xuaW1wb3J0IHsgbGl0IH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvaGVscGVycy1pbnRlcm5hbCc7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL21ldGFkYXRhLXJlc291cmNlJztcbmltcG9ydCB7IHByb3BlcnR5SW5qZWN0YWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL3Byb3AtaW5qZWN0YWJsZSc7XG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHR5cGUgeyBJRmxvdyB9IGZyb20gJy4vZmxvdyc7XG5pbXBvcnQgdHlwZSB7IFNydFBhc3N3b3JkRW5jcnlwdGlvbiwgU3RhdGljS2V5RW5jcnlwdGlvbiwgVHJhbnNpdEVuY3J5cHRpb24gfSBmcm9tICcuL3NoYXJlZCc7XG5pbXBvcnQgeyBTdGF0ZSwgaXNPcGVuQ2lkciwgcmVuZGVyU3J0UGFzc3dvcmRFbmNyeXB0aW9uLCByZW5kZXJTdGF0aWNLZXlFbmNyeXB0aW9uLCByZW5kZXJUcmFuc2l0RW5jcnlwdGlvbiB9IGZyb20gJy4vc2hhcmVkJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIEZsb3cgT3V0cHV0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUZsb3dPdXRwdXQgZXh0ZW5kcyBJUmVzb3VyY2UsIElGbG93T3V0cHV0UmVmIHtcbiAgLyoqXG4gICAqIFRoZSBBbWF6b24gUmVzb3VyY2UgTmFtZSAoQVJOKSBvZiB0aGUgZmxvdyBvdXRwdXQuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGZsb3dPdXRwdXRBcm46IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBmbG93IG91dHB1dFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dPdXRwdXRQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgb3V0cHV0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGF1dG8tZ2VuZXJhdGVkXG4gICAqL1xuICByZWFkb25seSBmbG93T3V0cHV0TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQSBkZXNjcmlwdGlvbiBvZiB0aGUgb3V0cHV0LlxuICAgKlxuICAgKiBUaGlzIGRlc2NyaXB0aW9uIGFwcGVhcnMgb25seSBvbiB0aGUgTWVkaWFDb25uZWN0IGNvbnNvbGUgYW5kIHdpbGwgbm90IGJlIHNlZW4gYnkgdGhlIGVuZCB1c2VyLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGRlc2NyaXB0aW9uXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQW4gaW5kaWNhdGlvbiBvZiB3aGV0aGVyIHRoZSBvdXRwdXQgc2hvdWxkIHRyYW5zbWl0IGRhdGEgb3Igbm90LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZDsgd2hlbiBvbWl0dGVkLCBNZWRpYUNvbm5lY3QgZW5hYmxlcyB0aGUgb3V0cHV0IChFTkFCTEVEKSBhdCBkZXBsb3kgdGltZVxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0U3RhdHVzPzogU3RhdGU7XG5cbiAgLyoqXG4gICAqIFRoZSBmbG93IHRoaXMgb3V0cHV0IGlzIGF0dGFjaGVkIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgZmxvdzogSUZsb3c7XG5cbiAgLyoqXG4gICAqIE91dHB1dCBjb25maWd1cmF0aW9uXG4gICAqL1xuICByZWFkb25seSBvdXRwdXQ6IE91dHB1dENvbmZpZ3VyYXRpb247XG59XG5cbi8qKlxuICogRmxvdyBvdXRwdXQgcHJvdG9jb2wgb3B0aW9ucy5cbiAqL1xuZW51bSBGbG93T3V0cHV0UHJvdG9jb2wge1xuICAvKipcbiAgICogWklYSV9QVVNIIG9wdGlvblxuICAgKi9cbiAgWklYSV9QVVNIPSd6aXhpLXB1c2gnLFxuICAvKipcbiAgICogUlRQX0ZFQyBvcHRpb25cbiAgICovXG4gIFJUUF9GRUM9J3J0cC1mZWMnLFxuICAvKipcbiAgICogUlRQIG9wdGlvblxuICAgKi9cbiAgUlRQPSdydHAnLFxuICAvKipcbiAgICogWklYSV9QVUxMIG9wdGlvblxuICAgKi9cbiAgWklYSV9QVUxMPSd6aXhpLXB1bGwnLFxuICAvKipcbiAgICogUklTVCBvcHRpb25cbiAgICovXG4gIFJJU1Q9J3Jpc3QnLFxuICAvKipcbiAgICogU1JUX0xJU1RFTkVSIG9wdGlvblxuICAgKi9cbiAgU1JUX0xJU1RFTkVSPSdzcnQtbGlzdGVuZXInLFxuICAvKipcbiAgICogU1JUX0NBTExFUiBvcHRpb25cbiAgICovXG4gIFNSVF9DQUxMRVI9J3NydC1jYWxsZXInLFxuICAvKipcbiAgICogTkRJIG9wdGlvblxuICAgKi9cbiAgTkRJPSduZGktc3BlZWQtaHEnLFxufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgUlRQIG91dHB1dHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnRwT3V0cHV0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBzbW9vdGhpbmcgbGF0ZW5jeSBmb3IgUklTVCwgUlRQLCBhbmQgUlRQLUZFQyBzdHJlYW1zLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHNtb290aGluZyBsYXRlbmN5XG4gICAqL1xuICByZWFkb25seSBzbW9vdGhpbmdMYXRlbmN5PzogRHVyYXRpb247XG4gIC8qKlxuICAgKiBUaGUgSVAgYWRkcmVzcyB3aGVyZSB5b3Ugd2FudCB0byBzZW5kIHRoZSBvdXRwdXQuXG4gICAqL1xuICByZWFkb25seSBkZXN0aW5hdGlvbjogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHBvcnQgdG8gdXNlIHdoZW4gY29udGVudCBpcyBkaXN0cmlidXRlZCB0byB0aGlzIG91dHB1dC5cbiAgICovXG4gIHJlYWRvbmx5IHBvcnQ6IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBWUEMgaW50ZXJmYWNlIGF0dGFjaG1lbnQgdG8gdXNlIGZvciB0aGlzIG91dHB1dC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBWUEMgaW50ZXJmYWNlIGF0dGFjaG1lbnRcbiAgICovXG4gIHJlYWRvbmx5IHZwY0ludGVyZmFjZUF0dGFjaG1lbnROYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgUlRQLUZFQyBvdXRwdXRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJ0cEZlY091dHB1dENvbmZpZyBleHRlbmRzIFJ0cE91dHB1dENvbmZpZyB7IH1cbi8qKlxuICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBSSVNUIG91dHB1dHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmlzdE91dHB1dENvbmZpZyBleHRlbmRzIFJ0cE91dHB1dENvbmZpZyB7IH1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIFppeGkgUHVsbCBvdXRwdXRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFppeGlQdWxsT3V0cHV0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBzdHJlYW0gSUQgdGhhdCB5b3Ugd2FudCB0byB1c2UgZm9yIHRoaXMgdHJhbnNwb3J0LlxuICAgKi9cbiAgcmVhZG9ubHkgc3RyZWFtSWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSByZW1vdGUgSUQgZm9yIHRoZSBaaXhpLXB1bGwgc3RyZWFtLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3RlSWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIGxhdGVuY3kgZm9yIFppeGktYmFzZWQgc3RyZWFtcy5cbiAgICovXG4gIHJlYWRvbmx5IG1heExhdGVuY3k6IER1cmF0aW9uO1xuICAvKipcbiAgICogVGhlIHJhbmdlIG9mIElQIGFkZHJlc3NlcyB0aGF0IHNob3VsZCBiZSBhbGxvd2VkIHRvIGluaXRpYXRlIG91dHB1dCByZXF1ZXN0cyB0byB0aGlzIGZsb3cuXG4gICAqIFRoZXNlIElQIGFkZHJlc3NlcyBzaG91bGQgYmUgaW4gdGhlIGZvcm0gb2YgYSBDbGFzc2xlc3MgSW50ZXItRG9tYWluIFJvdXRpbmcgKENJRFIpIGJsb2NrOyBmb3IgZXhhbXBsZSwgMTAuMC4wLjAvMTYuXG4gICAqXG4gICAqIFJlcXVpcmVkIGJ5IHRoZSBNZWRpYUNvbm5lY3Qgc2VydmljZSBmb3IgWml4aSBQdWxsIG91dHB1dHMuXG4gICAqL1xuICByZWFkb25seSBjaWRyQWxsb3dMaXN0OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIFN0YXRpYyBrZXkgZW5jcnlwdGlvbiBmb3IgdGhpcyBvdXRwdXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZW5jcnlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZW5jcnlwdGlvbj86IFN0YXRpY0tleUVuY3J5cHRpb247XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgVlBDIGludGVyZmFjZSBhdHRhY2htZW50IHRvIHVzZSBmb3IgdGhpcyBvdXRwdXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gVlBDIGludGVyZmFjZSBhdHRhY2htZW50XG4gICAqL1xuICByZWFkb25seSB2cGNJbnRlcmZhY2VBdHRhY2htZW50TmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIFppeGkgUHVzaCBvdXRwdXRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFppeGlQdXNoT3V0cHV0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBzdHJlYW0gSUQgdGhhdCB5b3Ugd2FudCB0byB1c2UgZm9yIHRoaXMgdHJhbnNwb3J0LlxuICAgKi9cbiAgcmVhZG9ubHkgc3RyZWFtSWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIGxhdGVuY3kgZm9yIFppeGktYmFzZWQgc3RyZWFtcy5cbiAgICovXG4gIHJlYWRvbmx5IG1heExhdGVuY3k6IER1cmF0aW9uO1xuICAvKipcbiAgICogVGhlIHJhbmdlIG9mIElQIGFkZHJlc3NlcyB0aGF0IHNob3VsZCBiZSBhbGxvd2VkIHRvIGluaXRpYXRlIG91dHB1dCByZXF1ZXN0cyB0byB0aGlzIGZsb3cuXG4gICAqIFRoZXNlIElQIGFkZHJlc3NlcyBzaG91bGQgYmUgaW4gdGhlIGZvcm0gb2YgYSBDbGFzc2xlc3MgSW50ZXItRG9tYWluIFJvdXRpbmcgKENJRFIpIGJsb2NrOyBmb3IgZXhhbXBsZSwgMTAuMC4wLjAvMTYuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gQ0lEUiBhbGxvdyBsaXN0XG4gICAqL1xuICByZWFkb25seSBjaWRyQWxsb3dMaXN0Pzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBTdGF0aWMga2V5IGVuY3J5cHRpb24gZm9yIHRoaXMgb3V0cHV0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGVuY3J5cHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGVuY3J5cHRpb24/OiBTdGF0aWNLZXlFbmNyeXB0aW9uO1xuICAvKipcbiAgICogVGhlIElQIGFkZHJlc3Mgd2hlcmUgeW91IHdhbnQgdG8gc2VuZCB0aGUgb3V0cHV0LlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzdGluYXRpb246IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBwb3J0IHRvIHVzZSB3aGVuIGNvbnRlbnQgaXMgZGlzdHJpYnV0ZWQgdG8gdGhpcyBvdXRwdXQuXG4gICAqL1xuICByZWFkb25seSBwb3J0OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgVlBDIGludGVyZmFjZSBhdHRhY2htZW50IHRvIHVzZSBmb3IgdGhpcyBvdXRwdXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gVlBDIGludGVyZmFjZSBhdHRhY2htZW50XG4gICAqL1xuICByZWFkb25seSB2cGNJbnRlcmZhY2VBdHRhY2htZW50TmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIFNSVCBDYWxsZXIgb3V0cHV0cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTcnRDYWxsZXJPdXRwdXRDb25maWcge1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gbGF0ZW5jeSBpbiBtaWxsaXNlY29uZHMgZm9yIFNSVC1iYXNlZCBzdHJlYW1zLlxuICAgKlxuICAgKiBJbiBzdHJlYW1zIHRoYXQgdXNlIHRoZSBTUlQgcHJvdG9jb2wsIHRoaXMgdmFsdWUgdGhhdCB5b3Ugc2V0IG9uIHlvdXIgTWVkaWFDb25uZWN0IHNvdXJjZSBvciBvdXRwdXQgcmVwcmVzZW50c1xuICAgKiB0aGUgbWluaW1hbCBwb3RlbnRpYWwgbGF0ZW5jeSBvZiB0aGF0IGNvbm5lY3Rpb24uIFRoZSBsYXRlbmN5IG9mIHRoZSBzdHJlYW0gaXMgc2V0IHRvIHRoZSBoaWdoZXN0IG51bWJlciBiZXR3ZWVuXG4gICAqIHRoZSBzZW5kZXLigJlzIG1pbmltdW0gbGF0ZW5jeSBhbmQgdGhlIHJlY2VpdmVy4oCZcyBtaW5pbXVtIGxhdGVuY3kuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gbWluaW11bSBsYXRlbmN5XG4gICAqL1xuICByZWFkb25seSBtaW5MYXRlbmN5PzogRHVyYXRpb247XG4gIC8qKlxuICAgKiBUaGUgc3RyZWFtIElEIHRoYXQgeW91IHdhbnQgdG8gdXNlIGZvciB0aGlzIHRyYW5zcG9ydC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBzdHJlYW0gSURcbiAgICovXG4gIHJlYWRvbmx5IHN0cmVhbUlkPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIElQIGFkZHJlc3Mgd2hlcmUgeW91IHdhbnQgdG8gc2VuZCB0aGUgb3V0cHV0LlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzdGluYXRpb246IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBwb3J0IHRvIHVzZSB3aGVuIGNvbnRlbnQgaXMgZGlzdHJpYnV0ZWQgdG8gdGhpcyBvdXRwdXQuXG4gICAqL1xuICByZWFkb25seSBwb3J0OiBudW1iZXI7XG4gIC8qKlxuICAgKiBTUlQgcGFzc3dvcmQgZW5jcnlwdGlvbiBmb3IgdGhpcyBvdXRwdXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZW5jcnlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZW5jcnlwdGlvbj86IFNydFBhc3N3b3JkRW5jcnlwdGlvbjtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBWUEMgaW50ZXJmYWNlIGF0dGFjaG1lbnQgdG8gdXNlIGZvciB0aGlzIG91dHB1dC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBWUEMgaW50ZXJmYWNlIGF0dGFjaG1lbnRcbiAgICovXG4gIHJlYWRvbmx5IHZwY0ludGVyZmFjZUF0dGFjaG1lbnROYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgU1JUIExpc3RlbmVyIG91dHB1dHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3J0TGlzdGVuZXJPdXRwdXRDb25maWcge1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gbGF0ZW5jeSBpbiBtaWxsaXNlY29uZHMgZm9yIFNSVC1iYXNlZCBzdHJlYW1zLlxuICAgKlxuICAgKiBJbiBzdHJlYW1zIHRoYXQgdXNlIHRoZSBTUlQgcHJvdG9jb2wsIHRoaXMgdmFsdWUgdGhhdCB5b3Ugc2V0IG9uIHlvdXIgTWVkaWFDb25uZWN0IHNvdXJjZSBvciBvdXRwdXQgcmVwcmVzZW50c1xuICAgKiB0aGUgbWluaW1hbCBwb3RlbnRpYWwgbGF0ZW5jeSBvZiB0aGF0IGNvbm5lY3Rpb24uIFRoZSBsYXRlbmN5IG9mIHRoZSBzdHJlYW0gaXMgc2V0IHRvIHRoZSBoaWdoZXN0IG51bWJlciBiZXR3ZWVuXG4gICAqIHRoZSBzZW5kZXLigJlzIG1pbmltdW0gbGF0ZW5jeSBhbmQgdGhlIHJlY2VpdmVy4oCZcyBtaW5pbXVtIGxhdGVuY3kuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gbWluaW11bSBsYXRlbmN5XG4gICAqL1xuICByZWFkb25seSBtaW5MYXRlbmN5PzogRHVyYXRpb247XG4gIC8qKlxuICAgKiBUaGUgcG9ydCB0byB1c2Ugd2hlbiBjb250ZW50IGlzIGRpc3RyaWJ1dGVkIHRvIHRoaXMgb3V0cHV0LlxuICAgKi9cbiAgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIHJhbmdlIG9mIElQIGFkZHJlc3NlcyB0aGF0IHNob3VsZCBiZSBhbGxvd2VkIHRvIGluaXRpYXRlIG91dHB1dCByZXF1ZXN0cyB0byB0aGlzIGZsb3cuXG4gICAqIFRoZXNlIElQIGFkZHJlc3NlcyBzaG91bGQgYmUgaW4gdGhlIGZvcm0gb2YgYSBDbGFzc2xlc3MgSW50ZXItRG9tYWluIFJvdXRpbmcgKENJRFIpIGJsb2NrOyBmb3IgZXhhbXBsZSwgMTAuMC4wLjAvMTYuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gQ0lEUiBhbGxvdyBsaXN0XG4gICAqL1xuICByZWFkb25seSBjaWRyQWxsb3dMaXN0Pzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBTUlQgcGFzc3dvcmQgZW5jcnlwdGlvbiBmb3IgdGhpcyBvdXRwdXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZW5jcnlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZW5jcnlwdGlvbj86IFNydFBhc3N3b3JkRW5jcnlwdGlvbjtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBWUEMgaW50ZXJmYWNlIGF0dGFjaG1lbnQgdG8gdXNlIGZvciB0aGlzIG91dHB1dC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBWUEMgaW50ZXJmYWNlIGF0dGFjaG1lbnRcbiAgICovXG4gIHJlYWRvbmx5IHZwY0ludGVyZmFjZUF0dGFjaG1lbnROYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgTkRJIG91dHB1dHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmRpT3V0cHV0Q29uZmlnIHtcbiAgLyoqXG4gICAqIEEgc3VmZml4IGZvciB0aGUgbmFtZXMgb2YgdGhlIE5ESSBzb3VyY2VzIHRoYXQgdGhlIGZsb3cgY3JlYXRlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0aGUgb3V0cHV0IG5hbWUgaXMgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgbmRpUHJvZ3JhbU5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBIHF1YWxpdHkgc2V0dGluZyBmb3IgdGhlIE5ESSBTcGVlZCBIUSBlbmNvZGVyLCBleHByZXNzZWQgYXMgYSBwZXJjZW50YWdlLlxuICAgKlxuICAgKiBWYWxpZCByYW5nZTogMTAwLTIwMC4gSGlnaGVyIHZhbHVlcyBwcm9kdWNlIGhpZ2hlciBxdWFsaXR5IGFuZCBsYXJnZXIgYml0cmF0ZS5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2F3cy5hbWF6b24uY29tL2Fib3V0LWF3cy93aGF0cy1uZXcvMjAyNS8wMy9hd3MtZWxlbWVudGFsLW1lZGlhY29ubmVjdC1zdXBwb3J0LW5kaS1vdXRwdXRzL1xuICAgKiBAZGVmYXVsdCAtIHRoZSBNZWRpYUNvbm5lY3Qgc2VydmljZSBkZWZhdWx0XG4gICAqL1xuICByZWFkb25seSBuZGlTcGVlZEhxUXVhbGl0eT86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBJbnRlcm5hbCBmbG93IG91dHB1dCBjb25maWd1cmF0aW9uLiBDRk4tYm91bmQgZmllbGRzIHVzZSBMMSBwcm9wZXJ0eSB0eXBlczsgZW5jcnlwdGlvblxuICogZmllbGRzIGFyZSBrZXB0IGFzIEwyIGNsYXNzZXMgKHJlc29sdmVkIHRvIENGTiBzaGFwZSBpbiB0aGUgRmxvd091dHB1dCBjb25zdHJ1Y3RvcikuXG4gKiBAaW50ZXJuYWxcbiAqL1xuaW50ZXJmYWNlIEZsb3dPdXRwdXRDb25maWcge1xuICByZWFkb25seSBjaWRyQWxsb3dMaXN0Pzogc3RyaW5nW107XG4gIHJlYWRvbmx5IGRlc3RpbmF0aW9uPzogc3RyaW5nO1xuICAvKiogU3RhdGljLWtleSBlbmNyeXB0aW9uIGZvciBaaXhpIFB1bGwgb3V0cHV0cy4gU2V0IGF0IG1vc3Qgb25lIG9mIHRoZXNlIHR3byBmaWVsZHMuICovXG4gIHJlYWRvbmx5IHN0YXRpY0tleUVuY3J5cHRpb24/OiBTdGF0aWNLZXlFbmNyeXB0aW9uO1xuICAvKiogU1JULXBhc3N3b3JkIGVuY3J5cHRpb24gZm9yIFNSVCBvdXRwdXRzLiBTZXQgYXQgbW9zdCBvbmUgb2YgdGhlc2UgdHdvIGZpZWxkcy4gKi9cbiAgcmVhZG9ubHkgc3J0UGFzc3dvcmRFbmNyeXB0aW9uPzogU3J0UGFzc3dvcmRFbmNyeXB0aW9uO1xuICByZWFkb25seSBtYXhMYXRlbmN5PzogbnVtYmVyO1xuICByZWFkb25seSBtaW5MYXRlbmN5PzogbnVtYmVyO1xuICByZWFkb25seSBuZGlQcm9ncmFtTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgbmRpU3BlZWRIcVF1YWxpdHk/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHBvcnQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHByb3RvY29sPzogc3RyaW5nO1xuICByZWFkb25seSByZW1vdGVJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgc21vb3RoaW5nTGF0ZW5jeT86IG51bWJlcjtcbiAgcmVhZG9ubHkgc3RyZWFtSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZwY0ludGVyZmFjZUF0dGFjaG1lbnQ/OiBDZm5GbG93T3V0cHV0LlZwY0ludGVyZmFjZUF0dGFjaG1lbnRQcm9wZXJ0eTtcbiAgcmVhZG9ubHkgcm91dGVySW50ZWdyYXRpb25TdGF0ZT86IFN0YXRlO1xuICByZWFkb25seSByb3V0ZXJJbnRlZ3JhdGlvblRyYW5zaXRFbmNyeXB0aW9uPzogVHJhbnNpdEVuY3J5cHRpb247XG59XG5cbi8qKlxuICogT3V0cHV0IGNvbmZpZ3VyYXRpb24gdG8gUm91dGVyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUm91dGVyVHJhbnNpdENvbmZpZyB7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hldGhlciBlbmNyeXB0aW9uIGlzIHRvIGJlIHVzZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IG5vIGVuY3J5cHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGVuY3J5cHRpb24/OiBUcmFuc2l0RW5jcnlwdGlvbjtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgdG8gZGVmaW5lIGEgRmxvd091dHB1dCBieSBwcm90b2NvbC5cbiAqL1xuZXhwb3J0IGNsYXNzIE91dHB1dENvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogVGhlIHNvdXJjZSBjb25maWd1cmF0aW9uIGZvciBmbG93cyByZWNlaXZpbmcgYSBzdHJlYW0gZnJvbSByb3V0ZXIuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJvdXRlcihpbnB1dD86IFJvdXRlclRyYW5zaXRDb25maWcpOiBPdXRwdXRDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gbmV3IE91dHB1dENvbmZpZ3VyYXRpb24oe1xuICAgICAgcm91dGVySW50ZWdyYXRpb25TdGF0ZTogU3RhdGUuRU5BQkxFRCxcbiAgICAgIHJvdXRlckludGVncmF0aW9uVHJhbnNpdEVuY3J5cHRpb246IGlucHV0Py5lbmNyeXB0aW9uLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wdGlvbiBmb3IgUlRQIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcnRwKGlucHV0OiBSdHBPdXRwdXRDb25maWcpOiBPdXRwdXRDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gbmV3IE91dHB1dENvbmZpZ3VyYXRpb24oe1xuICAgICAgcHJvdG9jb2w6IEZsb3dPdXRwdXRQcm90b2NvbC5SVFAsXG4gICAgICBkZXN0aW5hdGlvbjogaW5wdXQuZGVzdGluYXRpb24sXG4gICAgICBwb3J0OiBpbnB1dC5wb3J0LFxuICAgICAgc21vb3RoaW5nTGF0ZW5jeTogaW5wdXQuc21vb3RoaW5nTGF0ZW5jeT8udG9NaWxsaXNlY29uZHMoKSxcbiAgICAgIHZwY0ludGVyZmFjZUF0dGFjaG1lbnQ6IHRvVnBjSW50ZXJmYWNlQXR0YWNobWVudChpbnB1dC52cGNJbnRlcmZhY2VBdHRhY2htZW50TmFtZSksXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogT3B0aW9uIGZvciBSVFAtRkVDIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcnRwRmVjKGlucHV0OiBSdHBGZWNPdXRwdXRDb25maWcpOiBPdXRwdXRDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gbmV3IE91dHB1dENvbmZpZ3VyYXRpb24oe1xuICAgICAgcHJvdG9jb2w6IEZsb3dPdXRwdXRQcm90b2NvbC5SVFBfRkVDLFxuICAgICAgZGVzdGluYXRpb246IGlucHV0LmRlc3RpbmF0aW9uLFxuICAgICAgcG9ydDogaW5wdXQucG9ydCxcbiAgICAgIHNtb290aGluZ0xhdGVuY3k6IGlucHV0LnNtb290aGluZ0xhdGVuY3k/LnRvTWlsbGlzZWNvbmRzKCksXG4gICAgICB2cGNJbnRlcmZhY2VBdHRhY2htZW50OiB0b1ZwY0ludGVyZmFjZUF0dGFjaG1lbnQoaW5wdXQudnBjSW50ZXJmYWNlQXR0YWNobWVudE5hbWUpLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wdGlvbiBmb3IgUklTVCBjb25maWd1cmF0aW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJpc3QoaW5wdXQ6IFJpc3RPdXRwdXRDb25maWcpOiBPdXRwdXRDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gbmV3IE91dHB1dENvbmZpZ3VyYXRpb24oe1xuICAgICAgcHJvdG9jb2w6IEZsb3dPdXRwdXRQcm90b2NvbC5SSVNULFxuICAgICAgZGVzdGluYXRpb246IGlucHV0LmRlc3RpbmF0aW9uLFxuICAgICAgcG9ydDogaW5wdXQucG9ydCxcbiAgICAgIHNtb290aGluZ0xhdGVuY3k6IGlucHV0LnNtb290aGluZ0xhdGVuY3k/LnRvTWlsbGlzZWNvbmRzKCksXG4gICAgICB2cGNJbnRlcmZhY2VBdHRhY2htZW50OiB0b1ZwY0ludGVyZmFjZUF0dGFjaG1lbnQoaW5wdXQudnBjSW50ZXJmYWNlQXR0YWNobWVudE5hbWUpLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wdGlvbiBmb3IgWml4aSBQdXNoIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgeml4aVB1c2goaW5wdXQ6IFppeGlQdXNoT3V0cHV0Q29uZmlnKTogT3V0cHV0Q29uZmlndXJhdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBPdXRwdXRDb25maWd1cmF0aW9uKHtcbiAgICAgIHByb3RvY29sOiBGbG93T3V0cHV0UHJvdG9jb2wuWklYSV9QVVNILFxuICAgICAgZGVzdGluYXRpb246IGlucHV0LmRlc3RpbmF0aW9uLFxuICAgICAgcG9ydDogaW5wdXQucG9ydCxcbiAgICAgIHN0cmVhbUlkOiBpbnB1dC5zdHJlYW1JZCxcbiAgICAgIG1heExhdGVuY3k6IGlucHV0Lm1heExhdGVuY3kudG9NaWxsaXNlY29uZHMoKSxcbiAgICAgIGNpZHJBbGxvd0xpc3Q6IGlucHV0LmNpZHJBbGxvd0xpc3QsXG4gICAgICBzdGF0aWNLZXlFbmNyeXB0aW9uOiBpbnB1dC5lbmNyeXB0aW9uLFxuICAgICAgdnBjSW50ZXJmYWNlQXR0YWNobWVudDogdG9WcGNJbnRlcmZhY2VBdHRhY2htZW50KGlucHV0LnZwY0ludGVyZmFjZUF0dGFjaG1lbnROYW1lKSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcHRpb24gZm9yIFppeGkgUHVsbCBjb25maWd1cmF0aW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHppeGlQdWxsKGlucHV0OiBaaXhpUHVsbE91dHB1dENvbmZpZyk6IE91dHB1dENvbmZpZ3VyYXRpb24ge1xuICAgIHJldHVybiBuZXcgT3V0cHV0Q29uZmlndXJhdGlvbih7XG4gICAgICBwcm90b2NvbDogRmxvd091dHB1dFByb3RvY29sLlpJWElfUFVMTCxcbiAgICAgIHN0cmVhbUlkOiBpbnB1dC5zdHJlYW1JZCxcbiAgICAgIHJlbW90ZUlkOiBpbnB1dC5yZW1vdGVJZCxcbiAgICAgIG1heExhdGVuY3k6IGlucHV0Lm1heExhdGVuY3kudG9NaWxsaXNlY29uZHMoKSxcbiAgICAgIGNpZHJBbGxvd0xpc3Q6IGlucHV0LmNpZHJBbGxvd0xpc3QsXG4gICAgICBzdGF0aWNLZXlFbmNyeXB0aW9uOiBpbnB1dC5lbmNyeXB0aW9uLFxuICAgICAgdnBjSW50ZXJmYWNlQXR0YWNobWVudDogdG9WcGNJbnRlcmZhY2VBdHRhY2htZW50KGlucHV0LnZwY0ludGVyZmFjZUF0dGFjaG1lbnROYW1lKSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcHRpb24gZm9yIFNSVCBDYWxsZXIgY29uZmlndXJhdGlvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzcnRDYWxsZXIoaW5wdXQ6IFNydENhbGxlck91dHB1dENvbmZpZyk6IE91dHB1dENvbmZpZ3VyYXRpb24ge1xuICAgIHJldHVybiBuZXcgT3V0cHV0Q29uZmlndXJhdGlvbih7XG4gICAgICBwcm90b2NvbDogRmxvd091dHB1dFByb3RvY29sLlNSVF9DQUxMRVIsXG4gICAgICBkZXN0aW5hdGlvbjogaW5wdXQuZGVzdGluYXRpb24sXG4gICAgICBwb3J0OiBpbnB1dC5wb3J0LFxuICAgICAgbWluTGF0ZW5jeTogaW5wdXQubWluTGF0ZW5jeT8udG9NaWxsaXNlY29uZHMoKSxcbiAgICAgIHN0cmVhbUlkOiBpbnB1dC5zdHJlYW1JZCxcbiAgICAgIHNydFBhc3N3b3JkRW5jcnlwdGlvbjogaW5wdXQuZW5jcnlwdGlvbixcbiAgICAgIHZwY0ludGVyZmFjZUF0dGFjaG1lbnQ6IHRvVnBjSW50ZXJmYWNlQXR0YWNobWVudChpbnB1dC52cGNJbnRlcmZhY2VBdHRhY2htZW50TmFtZSksXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogT3B0aW9uIGZvciBTUlQgTGlzdGVuZXIgY29uZmlndXJhdGlvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzcnRMaXN0ZW5lcihpbnB1dDogU3J0TGlzdGVuZXJPdXRwdXRDb25maWcpOiBPdXRwdXRDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gbmV3IE91dHB1dENvbmZpZ3VyYXRpb24oe1xuICAgICAgcHJvdG9jb2w6IEZsb3dPdXRwdXRQcm90b2NvbC5TUlRfTElTVEVORVIsXG4gICAgICBwb3J0OiBpbnB1dC5wb3J0LFxuICAgICAgbWluTGF0ZW5jeTogaW5wdXQubWluTGF0ZW5jeT8udG9NaWxsaXNlY29uZHMoKSxcbiAgICAgIGNpZHJBbGxvd0xpc3Q6IGlucHV0LmNpZHJBbGxvd0xpc3QsXG4gICAgICBzcnRQYXNzd29yZEVuY3J5cHRpb246IGlucHV0LmVuY3J5cHRpb24sXG4gICAgICB2cGNJbnRlcmZhY2VBdHRhY2htZW50OiB0b1ZwY0ludGVyZmFjZUF0dGFjaG1lbnQoaW5wdXQudnBjSW50ZXJmYWNlQXR0YWNobWVudE5hbWUpLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wdGlvbiBmb3IgTkRJIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbmRpKGlucHV0OiBOZGlPdXRwdXRDb25maWcgPSB7fSk6IE91dHB1dENvbmZpZ3VyYXRpb24ge1xuICAgIGlmIChpbnB1dC5uZGlTcGVlZEhxUXVhbGl0eSAhPT0gdW5kZWZpbmVkXG4gICAgICAmJiAhVG9rZW4uaXNVbnJlc29sdmVkKGlucHV0Lm5kaVNwZWVkSHFRdWFsaXR5KVxuICAgICAgJiYgKGlucHV0Lm5kaVNwZWVkSHFRdWFsaXR5IDwgMTAwIHx8IGlucHV0Lm5kaVNwZWVkSHFRdWFsaXR5ID4gMjAwKSkge1xuICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBsaXRgTmRpU3BlZWRIcVF1YWxpdHlSYW5nZWAsXG4gICAgICAgIGBOREkgU3BlZWQgSFEgcXVhbGl0eSBtdXN0IGJlIGJldHdlZW4gMTAwIGFuZCAyMDAsIGdvdCAke2lucHV0Lm5kaVNwZWVkSHFRdWFsaXR5fWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgT3V0cHV0Q29uZmlndXJhdGlvbih7XG4gICAgICBwcm90b2NvbDogRmxvd091dHB1dFByb3RvY29sLk5ESSxcbiAgICAgIG5kaVByb2dyYW1OYW1lOiBpbnB1dC5uZGlQcm9ncmFtTmFtZSxcbiAgICAgIG5kaVNwZWVkSHFRdWFsaXR5OiBpbnB1dC5uZGlTcGVlZEhxUXVhbGl0eSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gb3V0cHV0IC0gQ29uZmlndXJhdGlvbiBmb3Igb3V0cHV0cyBpbiBvdXRwdXRcbiAgICovXG4gIHByaXZhdGUgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfb3V0cHV0OiBGbG93T3V0cHV0Q29uZmlnKSB7IH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIG91dHB1dCBjb25maWd1cmF0aW9uIGlzIGJvdW5kIHRvIGEgRmxvd091dHB1dC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgX2JpbmQoKTogRmxvd091dHB1dENvbmZpZyB7XG4gICAgcmV0dXJuIHsgLi4udGhpcy5fb3V0cHV0IH07XG4gIH1cbn1cblxuLyoqXG4gKiBTaGFyZWQgYmFzZSBmb3IgYm90aCByZWFsIGFuZCBpbXBvcnRlZCBmbG93IG91dHB1dHMuXG4gKi9cbmFic3RyYWN0IGNsYXNzIEZsb3dPdXRwdXRCYXNlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJRmxvd091dHB1dCB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBmbG93T3V0cHV0QXJuOiBzdHJpbmc7XG5cbiAgcHVibGljIGdldCBmbG93T3V0cHV0UmVmKCk6IEZsb3dPdXRwdXRSZWZlcmVuY2Uge1xuICAgIHJldHVybiB7IG91dHB1dEFybjogdGhpcy5mbG93T3V0cHV0QXJuIH07XG4gIH1cbn1cblxuLyoqXG4gKiBSZXNvdXJjZSBkZWZpbmVzIHRoZSBkZXN0aW5hdGlvbiBhZGRyZXNzLCBwcm90b2NvbCwgYW5kIHBvcnQgdGhhdFxuICogQVdTIEVsZW1lbnRhbCBNZWRpYUNvbm5lY3Qgc2VuZHMgdGhlIGluZ2VzdGVkIHZpZGVvIHRvLlxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgRmxvd091dHB1dCBleHRlbmRzIEZsb3dPdXRwdXRCYXNlIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtbWVkaWFjb25uZWN0LWFscGhhLkZsb3dPdXRwdXQnO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgRmxvdyBPdXB1dCBjb25zdHJ1Y3QgdGhhdCByZXByZXNlbnRzIGFuIGV4dGVybmFsIChpbXBvcnRlZCkgRmxvdyBPdXRwdXQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21GbG93T3V0cHV0QXJuKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGZsb3dPdXRwdXRBcm46IHN0cmluZyk6IElGbG93T3V0cHV0IHtcbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBGbG93T3V0cHV0QmFzZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgZmxvd091dHB1dEFybiA9IGZsb3dPdXRwdXRBcm47XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBmbG93T3V0cHV0QXJuOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEZsb3dPdXRwdXRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcGh5c2ljYWxOYW1lOiBwcm9wcz8uZmxvd091dHB1dE5hbWUgPz8gTGF6eS5zdHJpbmcoeyBwcm9kdWNlOiAoKSA9PiBOYW1lcy51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywgeyBtYXhMZW5ndGg6IDEyOCB9KSB9KSxcbiAgICB9KTtcblxuICAgIC8vIFZhbGlkYXRlIGZsb3cgb3V0cHV0IG5hbWUgaWYgcHJvdmlkZWRcbiAgICBpZiAocHJvcHMuZmxvd091dHB1dE5hbWUgIT0gbnVsbCAmJiBwcm9wcy5mbG93T3V0cHV0TmFtZSAhPT0gJycgJiYgIVRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5mbG93T3V0cHV0TmFtZSkpIHtcbiAgICAgIGlmIChwcm9wcy5mbG93T3V0cHV0TmFtZS5sZW5ndGggPiAxMjgpIHtcbiAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihsaXRgRmxvd091dHB1dE5hbWVMZW5ndGhgLCBgRmxvdyBvdXRwdXQgbmFtZSBtdXN0IGJlIGJldHdlZW4gMSBhbmQgMTI4IGNoYXJhY3RlcnMsIGdvdCAke3Byb3BzLmZsb3dPdXRwdXROYW1lLmxlbmd0aH1gLCB0aGlzKTtcbiAgICAgIH1cbiAgICAgIGlmICghL15bYS16QS1aMC05LV0rJC8udGVzdChwcm9wcy5mbG93T3V0cHV0TmFtZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihsaXRgRmxvd091dHB1dE5hbWVGb3JtYXRgLCBgRmxvdyBvdXRwdXQgbmFtZSBtdXN0IGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBhbmQgaHlwaGVucywgZ290ICcke3Byb3BzLmZsb3dPdXRwdXROYW1lfSdgLCB0aGlzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIGNvbnN0IG91dHB1dENvbmZpZyA9IHByb3BzLm91dHB1dC5fYmluZCgpO1xuXG4gICAgLy8gV2FybiBvbiBmdWxseS1vcGVuIENJRFIgYWxsb3cgbGlzdHMuXG4gICAgaWYgKG91dHB1dENvbmZpZy5jaWRyQWxsb3dMaXN0ICE9PSB1bmRlZmluZWQgJiYgIVRva2VuLmlzVW5yZXNvbHZlZChvdXRwdXRDb25maWcuY2lkckFsbG93TGlzdCkpIHtcbiAgICAgIGZvciAoY29uc3QgY2lkciBvZiBvdXRwdXRDb25maWcuY2lkckFsbG93TGlzdCkge1xuICAgICAgICBpZiAoIVRva2VuLmlzVW5yZXNvbHZlZChjaWRyKSAmJiBpc09wZW5DaWRyKGNpZHIpKSB7XG4gICAgICAgICAgQW5ub3RhdGlvbnMub2YodGhpcykuYWRkV2FybmluZ1YyKFxuICAgICAgICAgICAgJ0Bhd3MtY2RrL2F3cy1tZWRpYWNvbm5lY3QtYWxwaGE6b3Blbk91dHB1dENpZHInLFxuICAgICAgICAgICAgYE91dHB1dCBDSURSIGFsbG93IGxpc3QgJyR7Y2lkcn0nIGFsbG93cyBwdWxsIHJlcXVlc3RzIGZyb20gYW55IElQLiBSZXN0cmljdCB0byB0aGUgbmFycm93ZXN0IHJhbmdlIHlvdXIgY29uc3VtZXJzIG5lZWQuYCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHsgc3RhdGljS2V5RW5jcnlwdGlvbiwgc3J0UGFzc3dvcmRFbmNyeXB0aW9uLCByb3V0ZXJJbnRlZ3JhdGlvblRyYW5zaXRFbmNyeXB0aW9uLCAuLi5jZm5PdXRwdXRDb25maWcgfSA9IG91dHB1dENvbmZpZztcblxuICAgIGNvbnN0IHJlc291cmNlID0gbmV3IENmbkZsb3dPdXRwdXQodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgLi4uY2ZuT3V0cHV0Q29uZmlnLFxuICAgICAgZW5jcnlwdGlvbjogcmVuZGVyT3V0cHV0RW5jcnlwdGlvbih0aGlzLCBzdGF0aWNLZXlFbmNyeXB0aW9uLCBzcnRQYXNzd29yZEVuY3J5cHRpb24sIHByb3BzLmZsb3cuZmxvd0FybiksXG4gICAgICBuYW1lOiB0aGlzLnBoeXNpY2FsTmFtZSxcbiAgICAgIGZsb3dBcm46IHByb3BzLmZsb3cuZmxvd0FybixcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgIG91dHB1dFN0YXR1czogcHJvcHMub3V0cHV0U3RhdHVzLFxuICAgICAgcm91dGVySW50ZWdyYXRpb25UcmFuc2l0RW5jcnlwdGlvbjogb3V0cHV0Q29uZmlnLnJvdXRlckludGVncmF0aW9uU3RhdGUgPT09IFN0YXRlLkVOQUJMRURcbiAgICAgICAgPyByZW5kZXJUcmFuc2l0RW5jcnlwdGlvbih0aGlzLCAnUm91dGVyVHJhbnNpdEVuY3J5cHRpb25Sb2xlJywgcm91dGVySW50ZWdyYXRpb25UcmFuc2l0RW5jcnlwdGlvbiwgcHJvcHMuZmxvdy5mbG93QXJuKVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9KTtcblxuICAgIHRoaXMuZmxvd091dHB1dEFybiA9IHJlc291cmNlLmF0dHJPdXRwdXRBcm47XG4gIH1cbn1cblxuLyoqXG4gKiBDb252ZXJ0IGFuIG9wdGlvbmFsIFZQQyBpbnRlcmZhY2UgbmFtZSB0byB0aGUgQ0ZOIGF0dGFjaG1lbnQgcHJvcGVydHkgc2hhcGUuXG4gKi9cbmZ1bmN0aW9uIHRvVnBjSW50ZXJmYWNlQXR0YWNobWVudChuYW1lPzogc3RyaW5nKTogQ2ZuRmxvd091dHB1dC5WcGNJbnRlcmZhY2VBdHRhY2htZW50UHJvcGVydHkgfCB1bmRlZmluZWQge1xuICByZXR1cm4gbmFtZSA/IHsgdnBjSW50ZXJmYWNlTmFtZTogbmFtZSB9IDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFJlc29sdmUgdGhlIG91dHB1dCdzIGtleS1iYXNlZCBlbmNyeXB0aW9uIChlaXRoZXIgc3RhdGljLWtleSBvciBTUlQtcGFzc3dvcmQpIHRvIGl0c1xuICogQ0ZOIHNoYXBlLiBBdCBtb3N0IG9uZSBvZiB0aGUgdHdvIGVuY3J5cHRpb24gZmllbGRzIGlzIHNldCBvbiBhIGdpdmVuIG91dHB1dC5cbiAqL1xuZnVuY3Rpb24gcmVuZGVyT3V0cHV0RW5jcnlwdGlvbihcbiAgc2NvcGU6IENvbnN0cnVjdCxcbiAgc3RhdGljS2V5OiBTdGF0aWNLZXlFbmNyeXB0aW9uIHwgdW5kZWZpbmVkLFxuICBzcnRQYXNzd29yZDogU3J0UGFzc3dvcmRFbmNyeXB0aW9uIHwgdW5kZWZpbmVkLFxuICBzb3VyY2VBcm4/OiBzdHJpbmcsXG4pOiBDZm5GbG93T3V0cHV0LkVuY3J5cHRpb25Qcm9wZXJ0eSB8IHVuZGVmaW5lZCB7XG4gIGlmIChzdGF0aWNLZXkpIHJldHVybiByZW5kZXJTdGF0aWNLZXlFbmNyeXB0aW9uKHNjb3BlLCBzdGF0aWNLZXksIHNvdXJjZUFybik7XG4gIGlmIChzcnRQYXNzd29yZCkgcmV0dXJuIHJlbmRlclNydFBhc3N3b3JkRW5jcnlwdGlvbihzY29wZSwgc3J0UGFzc3dvcmQsIHNvdXJjZUFybik7XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG4iXX0=
412
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1vdXRwdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJmbG93LW91dHB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSw2Q0FBa0g7QUFDbEgsbUVBQTZEO0FBRTdELDRFQUE0RDtBQUM1RCw4RUFBOEU7QUFDOUUsMEVBQTBFO0FBSTFFLHFDQUE4SDtBQW9EOUg7O0dBRUc7QUFDSCxJQUFLLGtCQWlDSjtBQWpDRCxXQUFLLGtCQUFrQjtJQUNyQjs7T0FFRztJQUNILDZDQUFxQixDQUFBO0lBQ3JCOztPQUVHO0lBQ0gseUNBQWlCLENBQUE7SUFDakI7O09BRUc7SUFDSCxpQ0FBUyxDQUFBO0lBQ1Q7O09BRUc7SUFDSCw2Q0FBcUIsQ0FBQTtJQUNyQjs7T0FFRztJQUNILG1DQUFXLENBQUE7SUFDWDs7T0FFRztJQUNILG1EQUEyQixDQUFBO0lBQzNCOztPQUVHO0lBQ0gsK0NBQXVCLENBQUE7SUFDdkI7O09BRUc7SUFDSCwwQ0FBa0IsQ0FBQTtBQUNwQixDQUFDLEVBakNJLGtCQUFrQixLQUFsQixrQkFBa0IsUUFpQ3RCO0FBK1BEOztHQUVHO0FBQ0gsTUFBYSxtQkFBbUI7SUFxSU87O0lBcElyQzs7T0FFRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBMkI7Ozs7Ozs7Ozs7UUFDOUMsT0FBTyxJQUFJLG1CQUFtQixDQUFDO1lBQzdCLHNCQUFzQixFQUFFLGNBQUssQ0FBQyxPQUFPO1lBQ3JDLGtDQUFrQyxFQUFFLEtBQUssRUFBRSxVQUFVO1NBQ3RELENBQUMsQ0FBQztLQUNKO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQXNCOzs7Ozs7Ozs7O1FBQ3RDLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQztZQUM3QixRQUFRLEVBQUUsa0JBQWtCLENBQUMsR0FBRztZQUNoQyxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsSUFBSSxF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SUFFbEIsSUFBSSxTQUFTO1FBQUUsT0FBTyxJQUFBLGtDQUF5QixFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDN0UsSUFBSSxXQUFXO1FBQUUsT0FBTyxJQUFBLG9DQUEyQixFQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbkYsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRHVyYXRpb24sIElSZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IEFubm90YXRpb25zLCBMYXp5LCBOYW1lcywgUmVzb3VyY2UsIFRva2VuLCBVbnNjb3BlZFZhbGlkYXRpb25FcnJvciwgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ2ZuRmxvd091dHB1dCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1tZWRpYWNvbm5lY3QnO1xuaW1wb3J0IHR5cGUgeyBJRmxvd091dHB1dFJlZiwgRmxvd091dHB1dFJlZmVyZW5jZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1tZWRpYWNvbm5lY3QnO1xuaW1wb3J0IHsgbGl0IH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvaGVscGVycy1pbnRlcm5hbCc7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL21ldGFkYXRhLXJlc291cmNlJztcbmltcG9ydCB7IHByb3BlcnR5SW5qZWN0YWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL3Byb3AtaW5qZWN0YWJsZSc7XG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHR5cGUgeyBJRmxvdyB9IGZyb20gJy4vZmxvdyc7XG5pbXBvcnQgdHlwZSB7IFNydFBhc3N3b3JkRW5jcnlwdGlvbiwgU3RhdGljS2V5RW5jcnlwdGlvbiwgVHJhbnNpdEVuY3J5cHRpb24gfSBmcm9tICcuL3NoYXJlZCc7XG5pbXBvcnQgeyBTdGF0ZSwgaXNPcGVuQ2lkciwgcmVuZGVyU3J0UGFzc3dvcmRFbmNyeXB0aW9uLCByZW5kZXJTdGF0aWNLZXlFbmNyeXB0aW9uLCByZW5kZXJUcmFuc2l0RW5jcnlwdGlvbiB9IGZyb20gJy4vc2hhcmVkJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIEZsb3cgT3V0cHV0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUZsb3dPdXRwdXQgZXh0ZW5kcyBJUmVzb3VyY2UsIElGbG93T3V0cHV0UmVmIHtcbiAgLyoqXG4gICAqIFRoZSBBbWF6b24gUmVzb3VyY2UgTmFtZSAoQVJOKSBvZiB0aGUgZmxvdyBvdXRwdXQuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGZsb3dPdXRwdXRBcm46IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBmbG93IG91dHB1dFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dPdXRwdXRQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgb3V0cHV0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGF1dG8tZ2VuZXJhdGVkXG4gICAqL1xuICByZWFkb25seSBmbG93T3V0cHV0TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQSBkZXNjcmlwdGlvbiBvZiB0aGUgb3V0cHV0LlxuICAgKlxuICAgKiBUaGlzIGRlc2NyaXB0aW9uIGFwcGVhcnMgb25seSBvbiB0aGUgTWVkaWFDb25uZWN0IGNvbnNvbGUgYW5kIHdpbGwgbm90IGJlIHNlZW4gYnkgdGhlIGVuZCB1c2VyLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGRlc2NyaXB0aW9uXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQW4gaW5kaWNhdGlvbiBvZiB3aGV0aGVyIHRoZSBvdXRwdXQgc2hvdWxkIHRyYW5zbWl0IGRhdGEgb3Igbm90LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZDsgd2hlbiBvbWl0dGVkLCBNZWRpYUNvbm5lY3QgZW5hYmxlcyB0aGUgb3V0cHV0IChFTkFCTEVEKSBhdCBkZXBsb3kgdGltZVxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0U3RhdHVzPzogU3RhdGU7XG5cbiAgLyoqXG4gICAqIFRoZSBmbG93IHRoaXMgb3V0cHV0IGlzIGF0dGFjaGVkIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgZmxvdzogSUZsb3c7XG5cbiAgLyoqXG4gICAqIE91dHB1dCBjb25maWd1cmF0aW9uXG4gICAqL1xuICByZWFkb25seSBvdXRwdXQ6IE91dHB1dENvbmZpZ3VyYXRpb247XG59XG5cbi8qKlxuICogRmxvdyBvdXRwdXQgcHJvdG9jb2wgb3B0aW9ucy5cbiAqL1xuZW51bSBGbG93T3V0cHV0UHJvdG9jb2wge1xuICAvKipcbiAgICogWklYSV9QVVNIIG9wdGlvblxuICAgKi9cbiAgWklYSV9QVVNIPSd6aXhpLXB1c2gnLFxuICAvKipcbiAgICogUlRQX0ZFQyBvcHRpb25cbiAgICovXG4gIFJUUF9GRUM9J3J0cC1mZWMnLFxuICAvKipcbiAgICogUlRQIG9wdGlvblxuICAgKi9cbiAgUlRQPSdydHAnLFxuICAvKipcbiAgICogWklYSV9QVUxMIG9wdGlvblxuICAgKi9cbiAgWklYSV9QVUxMPSd6aXhpLXB1bGwnLFxuICAvKipcbiAgICogUklTVCBvcHRpb25cbiAgICovXG4gIFJJU1Q9J3Jpc3QnLFxuICAvKipcbiAgICogU1JUX0xJU1RFTkVSIG9wdGlvblxuICAgKi9cbiAgU1JUX0xJU1RFTkVSPSdzcnQtbGlzdGVuZXInLFxuICAvKipcbiAgICogU1JUX0NBTExFUiBvcHRpb25cbiAgICovXG4gIFNSVF9DQUxMRVI9J3NydC1jYWxsZXInLFxuICAvKipcbiAgICogTkRJIG9wdGlvblxuICAgKi9cbiAgTkRJPSduZGktc3BlZWQtaHEnLFxufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgUlRQIG91dHB1dHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnRwT3V0cHV0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBzbW9vdGhpbmcgbGF0ZW5jeSBmb3IgUklTVCwgUlRQLCBhbmQgUlRQLUZFQyBzdHJlYW1zLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHNtb290aGluZyBsYXRlbmN5XG4gICAqL1xuICByZWFkb25seSBzbW9vdGhpbmdMYXRlbmN5PzogRHVyYXRpb247XG4gIC8qKlxuICAgKiBUaGUgSVAgYWRkcmVzcyB3aGVyZSB5b3Ugd2FudCB0byBzZW5kIHRoZSBvdXRwdXQuXG4gICAqL1xuICByZWFkb25seSBkZXN0aW5hdGlvbjogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHBvcnQgdG8gdXNlIHdoZW4gY29udGVudCBpcyBkaXN0cmlidXRlZCB0byB0aGlzIG91dHB1dC5cbiAgICovXG4gIHJlYWRvbmx5IHBvcnQ6IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBWUEMgaW50ZXJmYWNlIGF0dGFjaG1lbnQgdG8gdXNlIGZvciB0aGlzIG91dHB1dC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBWUEMgaW50ZXJmYWNlIGF0dGFjaG1lbnRcbiAgICovXG4gIHJlYWRvbmx5IHZwY0ludGVyZmFjZUF0dGFjaG1lbnROYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgUlRQLUZFQyBvdXRwdXRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJ0cEZlY091dHB1dENvbmZpZyBleHRlbmRzIFJ0cE91dHB1dENvbmZpZyB7IH1cbi8qKlxuICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBSSVNUIG91dHB1dHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmlzdE91dHB1dENvbmZpZyBleHRlbmRzIFJ0cE91dHB1dENvbmZpZyB7IH1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIFppeGkgUHVsbCBvdXRwdXRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFppeGlQdWxsT3V0cHV0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBzdHJlYW0gSUQgdGhhdCB5b3Ugd2FudCB0byB1c2UgZm9yIHRoaXMgdHJhbnNwb3J0LlxuICAgKi9cbiAgcmVhZG9ubHkgc3RyZWFtSWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSByZW1vdGUgSUQgZm9yIHRoZSBaaXhpLXB1bGwgc3RyZWFtLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3RlSWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIGxhdGVuY3kgZm9yIFppeGktYmFzZWQgc3RyZWFtcy5cbiAgICovXG4gIHJlYWRvbmx5IG1heExhdGVuY3k6IER1cmF0aW9uO1xuICAvKipcbiAgICogVGhlIHJhbmdlIG9mIElQIGFkZHJlc3NlcyB0aGF0IHNob3VsZCBiZSBhbGxvd2VkIHRvIGluaXRpYXRlIG91dHB1dCByZXF1ZXN0cyB0byB0aGlzIGZsb3cuXG4gICAqIFRoZXNlIElQIGFkZHJlc3NlcyBzaG91bGQgYmUgaW4gdGhlIGZvcm0gb2YgYSBDbGFzc2xlc3MgSW50ZXItRG9tYWluIFJvdXRpbmcgKENJRFIpIGJsb2NrOyBmb3IgZXhhbXBsZSwgMTAuMC4wLjAvMTYuXG4gICAqXG4gICAqIFJlcXVpcmVkIGJ5IHRoZSBNZWRpYUNvbm5lY3Qgc2VydmljZSBmb3IgWml4aSBQdWxsIG91dHB1dHMuXG4gICAqL1xuICByZWFkb25seSBjaWRyQWxsb3dMaXN0OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIFN0YXRpYyBrZXkgZW5jcnlwdGlvbiBmb3IgdGhpcyBvdXRwdXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZW5jcnlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZW5jcnlwdGlvbj86IFN0YXRpY0tleUVuY3J5cHRpb247XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgVlBDIGludGVyZmFjZSBhdHRhY2htZW50IHRvIHVzZSBmb3IgdGhpcyBvdXRwdXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gVlBDIGludGVyZmFjZSBhdHRhY2htZW50XG4gICAqL1xuICByZWFkb25seSB2cGNJbnRlcmZhY2VBdHRhY2htZW50TmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIFppeGkgUHVzaCBvdXRwdXRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFppeGlQdXNoT3V0cHV0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBzdHJlYW0gSUQgdGhhdCB5b3Ugd2FudCB0byB1c2UgZm9yIHRoaXMgdHJhbnNwb3J0LlxuICAgKi9cbiAgcmVhZG9ubHkgc3RyZWFtSWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIGxhdGVuY3kgZm9yIFppeGktYmFzZWQgc3RyZWFtcy5cbiAgICovXG4gIHJlYWRvbmx5IG1heExhdGVuY3k6IER1cmF0aW9uO1xuICAvKipcbiAgICogVGhlIHJhbmdlIG9mIElQIGFkZHJlc3NlcyB0aGF0IHNob3VsZCBiZSBhbGxvd2VkIHRvIGluaXRpYXRlIG91dHB1dCByZXF1ZXN0cyB0byB0aGlzIGZsb3cuXG4gICAqIFRoZXNlIElQIGFkZHJlc3NlcyBzaG91bGQgYmUgaW4gdGhlIGZvcm0gb2YgYSBDbGFzc2xlc3MgSW50ZXItRG9tYWluIFJvdXRpbmcgKENJRFIpIGJsb2NrOyBmb3IgZXhhbXBsZSwgMTAuMC4wLjAvMTYuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gQ0lEUiBhbGxvdyBsaXN0XG4gICAqL1xuICByZWFkb25seSBjaWRyQWxsb3dMaXN0Pzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBTdGF0aWMga2V5IGVuY3J5cHRpb24gZm9yIHRoaXMgb3V0cHV0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGVuY3J5cHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGVuY3J5cHRpb24/OiBTdGF0aWNLZXlFbmNyeXB0aW9uO1xuICAvKipcbiAgICogVGhlIElQIGFkZHJlc3Mgd2hlcmUgeW91IHdhbnQgdG8gc2VuZCB0aGUgb3V0cHV0LlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzdGluYXRpb246IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBwb3J0IHRvIHVzZSB3aGVuIGNvbnRlbnQgaXMgZGlzdHJpYnV0ZWQgdG8gdGhpcyBvdXRwdXQuXG4gICAqL1xuICByZWFkb25seSBwb3J0OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgVlBDIGludGVyZmFjZSBhdHRhY2htZW50IHRvIHVzZSBmb3IgdGhpcyBvdXRwdXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gVlBDIGludGVyZmFjZSBhdHRhY2htZW50XG4gICAqL1xuICByZWFkb25seSB2cGNJbnRlcmZhY2VBdHRhY2htZW50TmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIFNSVCBDYWxsZXIgb3V0cHV0cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTcnRDYWxsZXJPdXRwdXRDb25maWcge1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gbGF0ZW5jeSBpbiBtaWxsaXNlY29uZHMgZm9yIFNSVC1iYXNlZCBzdHJlYW1zLlxuICAgKlxuICAgKiBJbiBzdHJlYW1zIHRoYXQgdXNlIHRoZSBTUlQgcHJvdG9jb2wsIHRoaXMgdmFsdWUgdGhhdCB5b3Ugc2V0IG9uIHlvdXIgTWVkaWFDb25uZWN0IHNvdXJjZSBvciBvdXRwdXQgcmVwcmVzZW50c1xuICAgKiB0aGUgbWluaW1hbCBwb3RlbnRpYWwgbGF0ZW5jeSBvZiB0aGF0IGNvbm5lY3Rpb24uIFRoZSBsYXRlbmN5IG9mIHRoZSBzdHJlYW0gaXMgc2V0IHRvIHRoZSBoaWdoZXN0IG51bWJlciBiZXR3ZWVuXG4gICAqIHRoZSBzZW5kZXLigJlzIG1pbmltdW0gbGF0ZW5jeSBhbmQgdGhlIHJlY2VpdmVy4oCZcyBtaW5pbXVtIGxhdGVuY3kuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gbWluaW11bSBsYXRlbmN5XG4gICAqL1xuICByZWFkb25seSBtaW5MYXRlbmN5PzogRHVyYXRpb247XG4gIC8qKlxuICAgKiBUaGUgc3RyZWFtIElEIHRoYXQgeW91IHdhbnQgdG8gdXNlIGZvciB0aGlzIHRyYW5zcG9ydC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBzdHJlYW0gSURcbiAgICovXG4gIHJlYWRvbmx5IHN0cmVhbUlkPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIElQIGFkZHJlc3Mgd2hlcmUgeW91IHdhbnQgdG8gc2VuZCB0aGUgb3V0cHV0LlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzdGluYXRpb246IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBwb3J0IHRvIHVzZSB3aGVuIGNvbnRlbnQgaXMgZGlzdHJpYnV0ZWQgdG8gdGhpcyBvdXRwdXQuXG4gICAqL1xuICByZWFkb25seSBwb3J0OiBudW1iZXI7XG4gIC8qKlxuICAgKiBTUlQgcGFzc3dvcmQgZW5jcnlwdGlvbiBmb3IgdGhpcyBvdXRwdXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZW5jcnlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZW5jcnlwdGlvbj86IFNydFBhc3N3b3JkRW5jcnlwdGlvbjtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBWUEMgaW50ZXJmYWNlIGF0dGFjaG1lbnQgdG8gdXNlIGZvciB0aGlzIG91dHB1dC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBWUEMgaW50ZXJmYWNlIGF0dGFjaG1lbnRcbiAgICovXG4gIHJlYWRvbmx5IHZwY0ludGVyZmFjZUF0dGFjaG1lbnROYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgU1JUIExpc3RlbmVyIG91dHB1dHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3J0TGlzdGVuZXJPdXRwdXRDb25maWcge1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gbGF0ZW5jeSBpbiBtaWxsaXNlY29uZHMgZm9yIFNSVC1iYXNlZCBzdHJlYW1zLlxuICAgKlxuICAgKiBJbiBzdHJlYW1zIHRoYXQgdXNlIHRoZSBTUlQgcHJvdG9jb2wsIHRoaXMgdmFsdWUgdGhhdCB5b3Ugc2V0IG9uIHlvdXIgTWVkaWFDb25uZWN0IHNvdXJjZSBvciBvdXRwdXQgcmVwcmVzZW50c1xuICAgKiB0aGUgbWluaW1hbCBwb3RlbnRpYWwgbGF0ZW5jeSBvZiB0aGF0IGNvbm5lY3Rpb24uIFRoZSBsYXRlbmN5IG9mIHRoZSBzdHJlYW0gaXMgc2V0IHRvIHRoZSBoaWdoZXN0IG51bWJlciBiZXR3ZWVuXG4gICAqIHRoZSBzZW5kZXLigJlzIG1pbmltdW0gbGF0ZW5jeSBhbmQgdGhlIHJlY2VpdmVy4oCZcyBtaW5pbXVtIGxhdGVuY3kuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gbWluaW11bSBsYXRlbmN5XG4gICAqL1xuICByZWFkb25seSBtaW5MYXRlbmN5PzogRHVyYXRpb247XG4gIC8qKlxuICAgKiBUaGUgcG9ydCB0byB1c2Ugd2hlbiBjb250ZW50IGlzIGRpc3RyaWJ1dGVkIHRvIHRoaXMgb3V0cHV0LlxuICAgKi9cbiAgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIHJhbmdlIG9mIElQIGFkZHJlc3NlcyB0aGF0IHNob3VsZCBiZSBhbGxvd2VkIHRvIGluaXRpYXRlIG91dHB1dCByZXF1ZXN0cyB0byB0aGlzIGZsb3cuXG4gICAqIFRoZXNlIElQIGFkZHJlc3NlcyBzaG91bGQgYmUgaW4gdGhlIGZvcm0gb2YgYSBDbGFzc2xlc3MgSW50ZXItRG9tYWluIFJvdXRpbmcgKENJRFIpIGJsb2NrOyBmb3IgZXhhbXBsZSwgMTAuMC4wLjAvMTYuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gQ0lEUiBhbGxvdyBsaXN0XG4gICAqL1xuICByZWFkb25seSBjaWRyQWxsb3dMaXN0Pzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBTUlQgcGFzc3dvcmQgZW5jcnlwdGlvbiBmb3IgdGhpcyBvdXRwdXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZW5jcnlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZW5jcnlwdGlvbj86IFNydFBhc3N3b3JkRW5jcnlwdGlvbjtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBWUEMgaW50ZXJmYWNlIGF0dGFjaG1lbnQgdG8gdXNlIGZvciB0aGlzIG91dHB1dC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBWUEMgaW50ZXJmYWNlIGF0dGFjaG1lbnRcbiAgICovXG4gIHJlYWRvbmx5IHZwY0ludGVyZmFjZUF0dGFjaG1lbnROYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgTkRJIG91dHB1dHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmRpT3V0cHV0Q29uZmlnIHtcbiAgLyoqXG4gICAqIEEgc3VmZml4IGZvciB0aGUgbmFtZXMgb2YgdGhlIE5ESSBzb3VyY2VzIHRoYXQgdGhlIGZsb3cgY3JlYXRlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0aGUgb3V0cHV0IG5hbWUgaXMgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgbmRpUHJvZ3JhbU5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBIHF1YWxpdHkgc2V0dGluZyBmb3IgdGhlIE5ESSBTcGVlZCBIUSBlbmNvZGVyLCBleHByZXNzZWQgYXMgYSBwZXJjZW50YWdlLlxuICAgKlxuICAgKiBWYWxpZCByYW5nZTogMTAwLTIwMC4gSGlnaGVyIHZhbHVlcyBwcm9kdWNlIGhpZ2hlciBxdWFsaXR5IGFuZCBsYXJnZXIgYml0cmF0ZS5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2F3cy5hbWF6b24uY29tL2Fib3V0LWF3cy93aGF0cy1uZXcvMjAyNS8wMy9hd3MtZWxlbWVudGFsLW1lZGlhY29ubmVjdC1zdXBwb3J0LW5kaS1vdXRwdXRzL1xuICAgKiBAZGVmYXVsdCAtIHRoZSBNZWRpYUNvbm5lY3Qgc2VydmljZSBkZWZhdWx0XG4gICAqL1xuICByZWFkb25seSBuZGlTcGVlZEhxUXVhbGl0eT86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBJbnRlcm5hbCBmbG93IG91dHB1dCBjb25maWd1cmF0aW9uLiBDRk4tYm91bmQgZmllbGRzIHVzZSBMMSBwcm9wZXJ0eSB0eXBlczsgZW5jcnlwdGlvblxuICogZmllbGRzIGFyZSBrZXB0IGFzIEwyIGNsYXNzZXMgKHJlc29sdmVkIHRvIENGTiBzaGFwZSBpbiB0aGUgRmxvd091dHB1dCBjb25zdHJ1Y3RvcikuXG4gKiBAaW50ZXJuYWxcbiAqL1xuaW50ZXJmYWNlIEZsb3dPdXRwdXRDb25maWcge1xuICByZWFkb25seSBjaWRyQWxsb3dMaXN0Pzogc3RyaW5nW107XG4gIHJlYWRvbmx5IGRlc3RpbmF0aW9uPzogc3RyaW5nO1xuICAvKiogU3RhdGljLWtleSBlbmNyeXB0aW9uIGZvciBaaXhpIFB1bGwgb3V0cHV0cy4gU2V0IGF0IG1vc3Qgb25lIG9mIHRoZXNlIHR3byBmaWVsZHMuICovXG4gIHJlYWRvbmx5IHN0YXRpY0tleUVuY3J5cHRpb24/OiBTdGF0aWNLZXlFbmNyeXB0aW9uO1xuICAvKiogU1JULXBhc3N3b3JkIGVuY3J5cHRpb24gZm9yIFNSVCBvdXRwdXRzLiBTZXQgYXQgbW9zdCBvbmUgb2YgdGhlc2UgdHdvIGZpZWxkcy4gKi9cbiAgcmVhZG9ubHkgc3J0UGFzc3dvcmRFbmNyeXB0aW9uPzogU3J0UGFzc3dvcmRFbmNyeXB0aW9uO1xuICByZWFkb25seSBtYXhMYXRlbmN5PzogbnVtYmVyO1xuICByZWFkb25seSBtaW5MYXRlbmN5PzogbnVtYmVyO1xuICByZWFkb25seSBuZGlQcm9ncmFtTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgbmRpU3BlZWRIcVF1YWxpdHk/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHBvcnQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHByb3RvY29sPzogc3RyaW5nO1xuICByZWFkb25seSByZW1vdGVJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgc21vb3RoaW5nTGF0ZW5jeT86IG51bWJlcjtcbiAgcmVhZG9ubHkgc3RyZWFtSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZwY0ludGVyZmFjZUF0dGFjaG1lbnQ/OiBDZm5GbG93T3V0cHV0LlZwY0ludGVyZmFjZUF0dGFjaG1lbnRQcm9wZXJ0eTtcbiAgcmVhZG9ubHkgcm91dGVySW50ZWdyYXRpb25TdGF0ZT86IFN0YXRlO1xuICByZWFkb25seSByb3V0ZXJJbnRlZ3JhdGlvblRyYW5zaXRFbmNyeXB0aW9uPzogVHJhbnNpdEVuY3J5cHRpb247XG59XG5cbi8qKlxuICogT3V0cHV0IGNvbmZpZ3VyYXRpb24gdG8gUm91dGVyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUm91dGVyVHJhbnNpdENvbmZpZyB7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hldGhlciBlbmNyeXB0aW9uIGlzIHRvIGJlIHVzZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IG5vIGVuY3J5cHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGVuY3J5cHRpb24/OiBUcmFuc2l0RW5jcnlwdGlvbjtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgdG8gZGVmaW5lIGEgRmxvd091dHB1dCBieSBwcm90b2NvbC5cbiAqL1xuZXhwb3J0IGNsYXNzIE91dHB1dENvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogVGhlIHNvdXJjZSBjb25maWd1cmF0aW9uIGZvciBmbG93cyByZWNlaXZpbmcgYSBzdHJlYW0gZnJvbSByb3V0ZXIuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJvdXRlcihpbnB1dD86IFJvdXRlclRyYW5zaXRDb25maWcpOiBPdXRwdXRDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gbmV3IE91dHB1dENvbmZpZ3VyYXRpb24oe1xuICAgICAgcm91dGVySW50ZWdyYXRpb25TdGF0ZTogU3RhdGUuRU5BQkxFRCxcbiAgICAgIHJvdXRlckludGVncmF0aW9uVHJhbnNpdEVuY3J5cHRpb246IGlucHV0Py5lbmNyeXB0aW9uLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wdGlvbiBmb3IgUlRQIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcnRwKGlucHV0OiBSdHBPdXRwdXRDb25maWcpOiBPdXRwdXRDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gbmV3IE91dHB1dENvbmZpZ3VyYXRpb24oe1xuICAgICAgcHJvdG9jb2w6IEZsb3dPdXRwdXRQcm90b2NvbC5SVFAsXG4gICAgICBkZXN0aW5hdGlvbjogaW5wdXQuZGVzdGluYXRpb24sXG4gICAgICBwb3J0OiBpbnB1dC5wb3J0LFxuICAgICAgc21vb3RoaW5nTGF0ZW5jeTogaW5wdXQuc21vb3RoaW5nTGF0ZW5jeT8udG9NaWxsaXNlY29uZHMoKSxcbiAgICAgIHZwY0ludGVyZmFjZUF0dGFjaG1lbnQ6IHRvVnBjSW50ZXJmYWNlQXR0YWNobWVudChpbnB1dC52cGNJbnRlcmZhY2VBdHRhY2htZW50TmFtZSksXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogT3B0aW9uIGZvciBSVFAtRkVDIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcnRwRmVjKGlucHV0OiBSdHBGZWNPdXRwdXRDb25maWcpOiBPdXRwdXRDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gbmV3IE91dHB1dENvbmZpZ3VyYXRpb24oe1xuICAgICAgcHJvdG9jb2w6IEZsb3dPdXRwdXRQcm90b2NvbC5SVFBfRkVDLFxuICAgICAgZGVzdGluYXRpb246IGlucHV0LmRlc3RpbmF0aW9uLFxuICAgICAgcG9ydDogaW5wdXQucG9ydCxcbiAgICAgIHNtb290aGluZ0xhdGVuY3k6IGlucHV0LnNtb290aGluZ0xhdGVuY3k/LnRvTWlsbGlzZWNvbmRzKCksXG4gICAgICB2cGNJbnRlcmZhY2VBdHRhY2htZW50OiB0b1ZwY0ludGVyZmFjZUF0dGFjaG1lbnQoaW5wdXQudnBjSW50ZXJmYWNlQXR0YWNobWVudE5hbWUpLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wdGlvbiBmb3IgUklTVCBjb25maWd1cmF0aW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJpc3QoaW5wdXQ6IFJpc3RPdXRwdXRDb25maWcpOiBPdXRwdXRDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gbmV3IE91dHB1dENvbmZpZ3VyYXRpb24oe1xuICAgICAgcHJvdG9jb2w6IEZsb3dPdXRwdXRQcm90b2NvbC5SSVNULFxuICAgICAgZGVzdGluYXRpb246IGlucHV0LmRlc3RpbmF0aW9uLFxuICAgICAgcG9ydDogaW5wdXQucG9ydCxcbiAgICAgIHNtb290aGluZ0xhdGVuY3k6IGlucHV0LnNtb290aGluZ0xhdGVuY3k/LnRvTWlsbGlzZWNvbmRzKCksXG4gICAgICB2cGNJbnRlcmZhY2VBdHRhY2htZW50OiB0b1ZwY0ludGVyZmFjZUF0dGFjaG1lbnQoaW5wdXQudnBjSW50ZXJmYWNlQXR0YWNobWVudE5hbWUpLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wdGlvbiBmb3IgWml4aSBQdXNoIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgeml4aVB1c2goaW5wdXQ6IFppeGlQdXNoT3V0cHV0Q29uZmlnKTogT3V0cHV0Q29uZmlndXJhdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBPdXRwdXRDb25maWd1cmF0aW9uKHtcbiAgICAgIHByb3RvY29sOiBGbG93T3V0cHV0UHJvdG9jb2wuWklYSV9QVVNILFxuICAgICAgZGVzdGluYXRpb246IGlucHV0LmRlc3RpbmF0aW9uLFxuICAgICAgcG9ydDogaW5wdXQucG9ydCxcbiAgICAgIHN0cmVhbUlkOiBpbnB1dC5zdHJlYW1JZCxcbiAgICAgIG1heExhdGVuY3k6IGlucHV0Lm1heExhdGVuY3kudG9NaWxsaXNlY29uZHMoKSxcbiAgICAgIGNpZHJBbGxvd0xpc3Q6IGlucHV0LmNpZHJBbGxvd0xpc3QsXG4gICAgICBzdGF0aWNLZXlFbmNyeXB0aW9uOiBpbnB1dC5lbmNyeXB0aW9uLFxuICAgICAgdnBjSW50ZXJmYWNlQXR0YWNobWVudDogdG9WcGNJbnRlcmZhY2VBdHRhY2htZW50KGlucHV0LnZwY0ludGVyZmFjZUF0dGFjaG1lbnROYW1lKSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcHRpb24gZm9yIFppeGkgUHVsbCBjb25maWd1cmF0aW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHppeGlQdWxsKGlucHV0OiBaaXhpUHVsbE91dHB1dENvbmZpZyk6IE91dHB1dENvbmZpZ3VyYXRpb24ge1xuICAgIHJldHVybiBuZXcgT3V0cHV0Q29uZmlndXJhdGlvbih7XG4gICAgICBwcm90b2NvbDogRmxvd091dHB1dFByb3RvY29sLlpJWElfUFVMTCxcbiAgICAgIHN0cmVhbUlkOiBpbnB1dC5zdHJlYW1JZCxcbiAgICAgIHJlbW90ZUlkOiBpbnB1dC5yZW1vdGVJZCxcbiAgICAgIG1heExhdGVuY3k6IGlucHV0Lm1heExhdGVuY3kudG9NaWxsaXNlY29uZHMoKSxcbiAgICAgIGNpZHJBbGxvd0xpc3Q6IGlucHV0LmNpZHJBbGxvd0xpc3QsXG4gICAgICBzdGF0aWNLZXlFbmNyeXB0aW9uOiBpbnB1dC5lbmNyeXB0aW9uLFxuICAgICAgdnBjSW50ZXJmYWNlQXR0YWNobWVudDogdG9WcGNJbnRlcmZhY2VBdHRhY2htZW50KGlucHV0LnZwY0ludGVyZmFjZUF0dGFjaG1lbnROYW1lKSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcHRpb24gZm9yIFNSVCBDYWxsZXIgY29uZmlndXJhdGlvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzcnRDYWxsZXIoaW5wdXQ6IFNydENhbGxlck91dHB1dENvbmZpZyk6IE91dHB1dENvbmZpZ3VyYXRpb24ge1xuICAgIHJldHVybiBuZXcgT3V0cHV0Q29uZmlndXJhdGlvbih7XG4gICAgICBwcm90b2NvbDogRmxvd091dHB1dFByb3RvY29sLlNSVF9DQUxMRVIsXG4gICAgICBkZXN0aW5hdGlvbjogaW5wdXQuZGVzdGluYXRpb24sXG4gICAgICBwb3J0OiBpbnB1dC5wb3J0LFxuICAgICAgbWluTGF0ZW5jeTogaW5wdXQubWluTGF0ZW5jeT8udG9NaWxsaXNlY29uZHMoKSxcbiAgICAgIHN0cmVhbUlkOiBpbnB1dC5zdHJlYW1JZCxcbiAgICAgIHNydFBhc3N3b3JkRW5jcnlwdGlvbjogaW5wdXQuZW5jcnlwdGlvbixcbiAgICAgIHZwY0ludGVyZmFjZUF0dGFjaG1lbnQ6IHRvVnBjSW50ZXJmYWNlQXR0YWNobWVudChpbnB1dC52cGNJbnRlcmZhY2VBdHRhY2htZW50TmFtZSksXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogT3B0aW9uIGZvciBTUlQgTGlzdGVuZXIgY29uZmlndXJhdGlvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzcnRMaXN0ZW5lcihpbnB1dDogU3J0TGlzdGVuZXJPdXRwdXRDb25maWcpOiBPdXRwdXRDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gbmV3IE91dHB1dENvbmZpZ3VyYXRpb24oe1xuICAgICAgcHJvdG9jb2w6IEZsb3dPdXRwdXRQcm90b2NvbC5TUlRfTElTVEVORVIsXG4gICAgICBwb3J0OiBpbnB1dC5wb3J0LFxuICAgICAgbWluTGF0ZW5jeTogaW5wdXQubWluTGF0ZW5jeT8udG9NaWxsaXNlY29uZHMoKSxcbiAgICAgIGNpZHJBbGxvd0xpc3Q6IGlucHV0LmNpZHJBbGxvd0xpc3QsXG4gICAgICBzcnRQYXNzd29yZEVuY3J5cHRpb246IGlucHV0LmVuY3J5cHRpb24sXG4gICAgICB2cGNJbnRlcmZhY2VBdHRhY2htZW50OiB0b1ZwY0ludGVyZmFjZUF0dGFjaG1lbnQoaW5wdXQudnBjSW50ZXJmYWNlQXR0YWNobWVudE5hbWUpLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wdGlvbiBmb3IgTkRJIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbmRpKGlucHV0OiBOZGlPdXRwdXRDb25maWcgPSB7fSk6IE91dHB1dENvbmZpZ3VyYXRpb24ge1xuICAgIGlmIChpbnB1dC5uZGlTcGVlZEhxUXVhbGl0eSAhPT0gdW5kZWZpbmVkXG4gICAgICAmJiAhVG9rZW4uaXNVbnJlc29sdmVkKGlucHV0Lm5kaVNwZWVkSHFRdWFsaXR5KVxuICAgICAgJiYgKGlucHV0Lm5kaVNwZWVkSHFRdWFsaXR5IDwgMTAwIHx8IGlucHV0Lm5kaVNwZWVkSHFRdWFsaXR5ID4gMjAwKSkge1xuICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBsaXRgTmRpU3BlZWRIcVF1YWxpdHlSYW5nZWAsXG4gICAgICAgIGBOREkgU3BlZWQgSFEgcXVhbGl0eSBtdXN0IGJlIGJldHdlZW4gMTAwIGFuZCAyMDAsIGdvdCAke2lucHV0Lm5kaVNwZWVkSHFRdWFsaXR5fWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgT3V0cHV0Q29uZmlndXJhdGlvbih7XG4gICAgICBwcm90b2NvbDogRmxvd091dHB1dFByb3RvY29sLk5ESSxcbiAgICAgIG5kaVByb2dyYW1OYW1lOiBpbnB1dC5uZGlQcm9ncmFtTmFtZSxcbiAgICAgIG5kaVNwZWVkSHFRdWFsaXR5OiBpbnB1dC5uZGlTcGVlZEhxUXVhbGl0eSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gb3V0cHV0IC0gQ29uZmlndXJhdGlvbiBmb3Igb3V0cHV0cyBpbiBvdXRwdXRcbiAgICovXG4gIHByaXZhdGUgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfb3V0cHV0OiBGbG93T3V0cHV0Q29uZmlnKSB7IH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIG91dHB1dCBjb25maWd1cmF0aW9uIGlzIGJvdW5kIHRvIGEgRmxvd091dHB1dC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgX2JpbmQoKTogRmxvd091dHB1dENvbmZpZyB7XG4gICAgcmV0dXJuIHsgLi4udGhpcy5fb3V0cHV0IH07XG4gIH1cbn1cblxuLyoqXG4gKiBTaGFyZWQgYmFzZSBmb3IgYm90aCByZWFsIGFuZCBpbXBvcnRlZCBmbG93IG91dHB1dHMuXG4gKi9cbmFic3RyYWN0IGNsYXNzIEZsb3dPdXRwdXRCYXNlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJRmxvd091dHB1dCB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBmbG93T3V0cHV0QXJuOiBzdHJpbmc7XG5cbiAgcHVibGljIGdldCBmbG93T3V0cHV0UmVmKCk6IEZsb3dPdXRwdXRSZWZlcmVuY2Uge1xuICAgIHJldHVybiB7IG91dHB1dEFybjogdGhpcy5mbG93T3V0cHV0QXJuIH07XG4gIH1cbn1cblxuLyoqXG4gKiBSZXNvdXJjZSBkZWZpbmVzIHRoZSBkZXN0aW5hdGlvbiBhZGRyZXNzLCBwcm90b2NvbCwgYW5kIHBvcnQgdGhhdFxuICogQVdTIEVsZW1lbnRhbCBNZWRpYUNvbm5lY3Qgc2VuZHMgdGhlIGluZ2VzdGVkIHZpZGVvIHRvLlxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgRmxvd091dHB1dCBleHRlbmRzIEZsb3dPdXRwdXRCYXNlIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtbWVkaWFjb25uZWN0LWFscGhhLkZsb3dPdXRwdXQnO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgRmxvdyBPdXB1dCBjb25zdHJ1Y3QgdGhhdCByZXByZXNlbnRzIGFuIGV4dGVybmFsIChpbXBvcnRlZCkgRmxvdyBPdXRwdXQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21GbG93T3V0cHV0QXJuKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGZsb3dPdXRwdXRBcm46IHN0cmluZyk6IElGbG93T3V0cHV0IHtcbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBGbG93T3V0cHV0QmFzZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgZmxvd091dHB1dEFybiA9IGZsb3dPdXRwdXRBcm47XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBmbG93T3V0cHV0QXJuOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEZsb3dPdXRwdXRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcGh5c2ljYWxOYW1lOiBwcm9wcz8uZmxvd091dHB1dE5hbWUgPz8gTGF6eS5zdHJpbmcoeyBwcm9kdWNlOiAoKSA9PiBOYW1lcy51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywgeyBtYXhMZW5ndGg6IDEyOCB9KSB9KSxcbiAgICB9KTtcblxuICAgIC8vIFZhbGlkYXRlIGZsb3cgb3V0cHV0IG5hbWUgaWYgcHJvdmlkZWRcbiAgICBpZiAocHJvcHMuZmxvd091dHB1dE5hbWUgIT0gbnVsbCAmJiBwcm9wcy5mbG93T3V0cHV0TmFtZSAhPT0gJycgJiYgIVRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5mbG93T3V0cHV0TmFtZSkpIHtcbiAgICAgIGlmIChwcm9wcy5mbG93T3V0cHV0TmFtZS5sZW5ndGggPiAxMjgpIHtcbiAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihsaXRgRmxvd091dHB1dE5hbWVMZW5ndGhgLCBgRmxvdyBvdXRwdXQgbmFtZSBtdXN0IGJlIGJldHdlZW4gMSBhbmQgMTI4IGNoYXJhY3RlcnMsIGdvdCAke3Byb3BzLmZsb3dPdXRwdXROYW1lLmxlbmd0aH1gLCB0aGlzKTtcbiAgICAgIH1cbiAgICAgIGlmICghL15bYS16QS1aMC05Xy1dKyQvLnRlc3QocHJvcHMuZmxvd091dHB1dE5hbWUpKSB7XG4gICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobGl0YEZsb3dPdXRwdXROYW1lRm9ybWF0YCwgYEZsb3cgb3V0cHV0IG5hbWUgbXVzdCBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGh5cGhlbnMsIGFuZCB1bmRlcnNjb3JlcywgZ290ICcke3Byb3BzLmZsb3dPdXRwdXROYW1lfSdgLCB0aGlzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIGNvbnN0IG91dHB1dENvbmZpZyA9IHByb3BzLm91dHB1dC5fYmluZCgpO1xuXG4gICAgLy8gV2FybiBvbiBmdWxseS1vcGVuIENJRFIgYWxsb3cgbGlzdHMuXG4gICAgaWYgKG91dHB1dENvbmZpZy5jaWRyQWxsb3dMaXN0ICE9PSB1bmRlZmluZWQgJiYgIVRva2VuLmlzVW5yZXNvbHZlZChvdXRwdXRDb25maWcuY2lkckFsbG93TGlzdCkpIHtcbiAgICAgIGZvciAoY29uc3QgY2lkciBvZiBvdXRwdXRDb25maWcuY2lkckFsbG93TGlzdCkge1xuICAgICAgICBpZiAoIVRva2VuLmlzVW5yZXNvbHZlZChjaWRyKSAmJiBpc09wZW5DaWRyKGNpZHIpKSB7XG4gICAgICAgICAgQW5ub3RhdGlvbnMub2YodGhpcykuYWRkV2FybmluZ1YyKFxuICAgICAgICAgICAgJ0Bhd3MtY2RrL2F3cy1tZWRpYWNvbm5lY3QtYWxwaGE6b3Blbk91dHB1dENpZHInLFxuICAgICAgICAgICAgYE91dHB1dCBDSURSIGFsbG93IGxpc3QgJyR7Y2lkcn0nIGFsbG93cyBwdWxsIHJlcXVlc3RzIGZyb20gYW55IElQLiBSZXN0cmljdCB0byB0aGUgbmFycm93ZXN0IHJhbmdlIHlvdXIgY29uc3VtZXJzIG5lZWQuYCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHsgc3RhdGljS2V5RW5jcnlwdGlvbiwgc3J0UGFzc3dvcmRFbmNyeXB0aW9uLCByb3V0ZXJJbnRlZ3JhdGlvblRyYW5zaXRFbmNyeXB0aW9uLCAuLi5jZm5PdXRwdXRDb25maWcgfSA9IG91dHB1dENvbmZpZztcblxuICAgIGNvbnN0IHJlc291cmNlID0gbmV3IENmbkZsb3dPdXRwdXQodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgLi4uY2ZuT3V0cHV0Q29uZmlnLFxuICAgICAgZW5jcnlwdGlvbjogcmVuZGVyT3V0cHV0RW5jcnlwdGlvbih0aGlzLCBzdGF0aWNLZXlFbmNyeXB0aW9uLCBzcnRQYXNzd29yZEVuY3J5cHRpb24sIHByb3BzLmZsb3cuZmxvd0FybiksXG4gICAgICBuYW1lOiB0aGlzLnBoeXNpY2FsTmFtZSxcbiAgICAgIGZsb3dBcm46IHByb3BzLmZsb3cuZmxvd0FybixcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgIG91dHB1dFN0YXR1czogcHJvcHMub3V0cHV0U3RhdHVzLFxuICAgICAgcm91dGVySW50ZWdyYXRpb25UcmFuc2l0RW5jcnlwdGlvbjogb3V0cHV0Q29uZmlnLnJvdXRlckludGVncmF0aW9uU3RhdGUgPT09IFN0YXRlLkVOQUJMRURcbiAgICAgICAgPyByZW5kZXJUcmFuc2l0RW5jcnlwdGlvbih0aGlzLCAnUm91dGVyVHJhbnNpdEVuY3J5cHRpb25Sb2xlJywgcm91dGVySW50ZWdyYXRpb25UcmFuc2l0RW5jcnlwdGlvbiwgcHJvcHMuZmxvdy5mbG93QXJuKVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9KTtcblxuICAgIHRoaXMuZmxvd091dHB1dEFybiA9IHJlc291cmNlLmF0dHJPdXRwdXRBcm47XG4gIH1cbn1cblxuLyoqXG4gKiBDb252ZXJ0IGFuIG9wdGlvbmFsIFZQQyBpbnRlcmZhY2UgbmFtZSB0byB0aGUgQ0ZOIGF0dGFjaG1lbnQgcHJvcGVydHkgc2hhcGUuXG4gKi9cbmZ1bmN0aW9uIHRvVnBjSW50ZXJmYWNlQXR0YWNobWVudChuYW1lPzogc3RyaW5nKTogQ2ZuRmxvd091dHB1dC5WcGNJbnRlcmZhY2VBdHRhY2htZW50UHJvcGVydHkgfCB1bmRlZmluZWQge1xuICByZXR1cm4gbmFtZSA/IHsgdnBjSW50ZXJmYWNlTmFtZTogbmFtZSB9IDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFJlc29sdmUgdGhlIG91dHB1dCdzIGtleS1iYXNlZCBlbmNyeXB0aW9uIChlaXRoZXIgc3RhdGljLWtleSBvciBTUlQtcGFzc3dvcmQpIHRvIGl0c1xuICogQ0ZOIHNoYXBlLiBBdCBtb3N0IG9uZSBvZiB0aGUgdHdvIGVuY3J5cHRpb24gZmllbGRzIGlzIHNldCBvbiBhIGdpdmVuIG91dHB1dC5cbiAqL1xuZnVuY3Rpb24gcmVuZGVyT3V0cHV0RW5jcnlwdGlvbihcbiAgc2NvcGU6IENvbnN0cnVjdCxcbiAgc3RhdGljS2V5OiBTdGF0aWNLZXlFbmNyeXB0aW9uIHwgdW5kZWZpbmVkLFxuICBzcnRQYXNzd29yZDogU3J0UGFzc3dvcmRFbmNyeXB0aW9uIHwgdW5kZWZpbmVkLFxuICBzb3VyY2VBcm4/OiBzdHJpbmcsXG4pOiBDZm5GbG93T3V0cHV0LkVuY3J5cHRpb25Qcm9wZXJ0eSB8IHVuZGVmaW5lZCB7XG4gIGlmIChzdGF0aWNLZXkpIHJldHVybiByZW5kZXJTdGF0aWNLZXlFbmNyeXB0aW9uKHNjb3BlLCBzdGF0aWNLZXksIHNvdXJjZUFybik7XG4gIGlmIChzcnRQYXNzd29yZCkgcmV0dXJuIHJlbmRlclNydFBhc3N3b3JkRW5jcnlwdGlvbihzY29wZSwgc3J0UGFzc3dvcmQsIHNvdXJjZUFybik7XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG4iXX0=
@@ -11,7 +11,7 @@ const shared_1 = require("./shared");
11
11
  */
12
12
  class Encoding {
13
13
  value;
14
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.Encoding", version: "2.264.0-alpha.0" };
14
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.Encoding", version: "2.265.0-alpha.0" };
15
15
  /**
16
16
  * Option for JXSV
17
17
  */
@@ -51,7 +51,7 @@ exports.Encoding = Encoding;
51
51
  * Defines network configuration for a source — either a public network with a CIDR allowlist, or a VPC interface.
52
52
  */
53
53
  class NetworkConfiguration {
54
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.NetworkConfiguration", version: "2.264.0-alpha.0" };
54
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.NetworkConfiguration", version: "2.265.0-alpha.0" };
55
55
  /**
56
56
  * Use a public network with a CIDR allowlist.
57
57
  */
@@ -92,7 +92,7 @@ exports.NetworkConfiguration = NetworkConfiguration;
92
92
  */
93
93
  class SourceProtocol {
94
94
  value;
95
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.SourceProtocol", version: "2.264.0-alpha.0" };
95
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.SourceProtocol", version: "2.265.0-alpha.0" };
96
96
  /**
97
97
  * Options for Zixi Push
98
98
  */
@@ -168,7 +168,7 @@ class SourceConfiguration {
168
168
  staticKeyDecryption;
169
169
  srtPasswordDecryption;
170
170
  routerDecryption;
171
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.SourceConfiguration", version: "2.264.0-alpha.0" };
171
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.SourceConfiguration", version: "2.265.0-alpha.0" };
172
172
  /**
173
173
  * The source configuration for flows receiving a stream from router.
174
174
  */
@@ -74,7 +74,7 @@ let FlowSource = (() => {
74
74
  FlowSource = _classThis = _classDescriptor.value;
75
75
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
76
76
  }
77
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.FlowSource", version: "2.264.0-alpha.0" };
77
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.FlowSource", version: "2.265.0-alpha.0" };
78
78
  /** Uniquely identifies this class. */
79
79
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-mediaconnect-alpha.FlowSource';
80
80
  /**
package/lib/flow.js CHANGED
@@ -52,7 +52,7 @@ const shared_1 = require("./shared");
52
52
  */
53
53
  class FlowSize {
54
54
  value;
55
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.FlowSize", version: "2.264.0-alpha.0" };
55
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.FlowSize", version: "2.265.0-alpha.0" };
56
56
  /**
57
57
  * Medium flow size. The default — standard transport stream distribution; does not
58
58
  * support NDI, CDI, or JPEG XS.
@@ -102,7 +102,7 @@ class FailoverConfig {
102
102
  _state;
103
103
  _recoveryWindow;
104
104
  _primarySource;
105
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.FailoverConfig", version: "2.264.0-alpha.0" };
105
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.FailoverConfig", version: "2.265.0-alpha.0" };
106
106
  /**
107
107
  * Configure merge-mode failover. Requires two binary-identical sources.
108
108
  */
@@ -186,7 +186,7 @@ var EncodingProfile;
186
186
  */
187
187
  class Colorimetry {
188
188
  value;
189
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.Colorimetry", version: "2.264.0-alpha.0" };
189
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.Colorimetry", version: "2.265.0-alpha.0" };
190
190
  /** Option for BT601 */
191
191
  static BT601 = new Colorimetry('BT601');
192
192
  /** Option for BT709 */
@@ -216,7 +216,7 @@ exports.Colorimetry = Colorimetry;
216
216
  */
217
217
  class VideoRange {
218
218
  value;
219
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.VideoRange", version: "2.264.0-alpha.0" };
219
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.VideoRange", version: "2.265.0-alpha.0" };
220
220
  /** Option for Narrow */
221
221
  static NARROW = new VideoRange('NARROW');
222
222
  /** Option for Full */
@@ -238,7 +238,7 @@ exports.VideoRange = VideoRange;
238
238
  */
239
239
  class ScanMode {
240
240
  value;
241
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.ScanMode", version: "2.264.0-alpha.0" };
241
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.ScanMode", version: "2.265.0-alpha.0" };
242
242
  /** Option for Progressive */
243
243
  static PROGRESSIVE = new ScanMode('progressive');
244
244
  /** Option for Interlace */
@@ -260,7 +260,7 @@ exports.ScanMode = ScanMode;
260
260
  */
261
261
  class Tcs {
262
262
  value;
263
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.Tcs", version: "2.264.0-alpha.0" };
263
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.Tcs", version: "2.265.0-alpha.0" };
264
264
  /** Option for SDR */
265
265
  static SDR = new Tcs('SDR');
266
266
  /** Option for PQ */
@@ -294,7 +294,7 @@ exports.Tcs = Tcs;
294
294
  */
295
295
  class AudioStreamOrderOptions {
296
296
  value;
297
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.AudioStreamOrderOptions", version: "2.264.0-alpha.0" };
297
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.AudioStreamOrderOptions", version: "2.265.0-alpha.0" };
298
298
  /** Mono */
299
299
  static MONO = new AudioStreamOrderOptions('SMPTE2110.(M)');
300
300
  /** Dual Mono */
@@ -346,7 +346,7 @@ var MediaStreamType;
346
346
  */
347
347
  class MediaVideoFormat {
348
348
  value;
349
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.MediaVideoFormat", version: "2.264.0-alpha.0" };
349
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.MediaVideoFormat", version: "2.265.0-alpha.0" };
350
350
  /** Option for 2160p */
351
351
  static UHD_2160P = new MediaVideoFormat('2160p');
352
352
  /** Option for 1080p */
@@ -372,7 +372,7 @@ exports.MediaVideoFormat = MediaVideoFormat;
372
372
  */
373
373
  class MediaStream {
374
374
  _config;
375
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.MediaStream", version: "2.264.0-alpha.0" };
375
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.MediaStream", version: "2.265.0-alpha.0" };
376
376
  /**
377
377
  * Configuration for MediaStream Video
378
378
  */
@@ -765,7 +765,7 @@ let Flow = (() => {
765
765
  Flow = _classThis = _classDescriptor.value;
766
766
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
767
767
  }
768
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.Flow", version: "2.264.0-alpha.0" };
768
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.Flow", version: "2.265.0-alpha.0" };
769
769
  /** Uniquely identifies this class. */
770
770
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-mediaconnect-alpha.Flow';
771
771
  /**
package/lib/gateway.js CHANGED
@@ -132,7 +132,7 @@ let Gateway = (() => {
132
132
  Gateway = _classThis = _classDescriptor.value;
133
133
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
134
134
  }
135
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.Gateway", version: "2.264.0-alpha.0" };
135
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.Gateway", version: "2.265.0-alpha.0" };
136
136
  /** Uniquely identifies this class. */
137
137
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-mediaconnect-alpha.Gateway';
138
138
  /**
@@ -166,8 +166,8 @@ let Gateway = (() => {
166
166
  if (props.gatewayName.length > 32) {
167
167
  throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `GatewayNameLength`, `Gateway name must be between 1 and 32 characters, got ${props.gatewayName.length}`, this);
168
168
  }
169
- if (!/^[a-zA-Z0-9-]+$/.test(props.gatewayName)) {
170
- throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `GatewayNameFormat`, `Gateway name must contain only alphanumeric characters and hyphens, got '${props.gatewayName}'`, this);
169
+ if (!/^[a-zA-Z0-9_-]+$/.test(props.gatewayName)) {
170
+ throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `GatewayNameFormat`, `Gateway name must contain only alphanumeric characters, hyphens, and underscores, got '${props.gatewayName}'`, this);
171
171
  }
172
172
  }
173
173
  // Enhanced CDK Analytics Telemetry
@@ -233,4 +233,4 @@ let Gateway = (() => {
233
233
  return Gateway = _classThis;
234
234
  })();
235
235
  exports.Gateway = Gateway;
236
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2F0ZXdheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImdhdGV3YXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsNkNBQW1HO0FBRW5HLCtEQUEwRDtBQUMxRCxtRUFBMEQ7QUFFMUQsNEVBQTREO0FBQzVELDhFQUE4RjtBQUM5RiwwRUFBMEU7QUFHMUUscUNBQXNDO0FBb0d0QyxNQUFlLFdBQVksU0FBUSxzQkFBUTtJQUl6QyxJQUFXLFVBQVU7UUFDbkIsT0FBTztZQUNMLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtTQUM1QixDQUFDO0tBQ0g7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxVQUFrQixFQUFFLEtBQXFCO1FBQ3JELE9BQU8sSUFBSSx1QkFBTSxDQUFDO1lBQ2hCLFVBQVU7WUFDVixTQUFTLEVBQUUsa0JBQWtCO1lBQzdCLEdBQUcsS0FBSztZQUNSLGFBQWEsRUFBRTtnQkFDYixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQzNCLEdBQUcsS0FBSyxFQUFFLGFBQWE7YUFDeEI7U0FDRixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ25CO0lBRUQ7O09BRUc7SUFDSSw4QkFBOEIsQ0FBQyxLQUFxQjtRQUN6RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsMEJBQTBCLEVBQUU7WUFDN0MsU0FBUyxFQUFFLEtBQUs7WUFDaEIsTUFBTSxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM1QixJQUFJLEVBQUUscUJBQUksQ0FBQyxLQUFLO1lBQ2hCLEdBQUcsS0FBSztTQUNULENBQUMsQ0FBQztLQUNKO0lBRUQ7O09BRUc7SUFDSSxnQ0FBZ0MsQ0FBQyxLQUFxQjtRQUMzRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsNEJBQTRCLEVBQUU7WUFDL0MsU0FBUyxFQUFFLEtBQUs7WUFDaEIsTUFBTSxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM1QixJQUFJLEVBQUUscUJBQUksQ0FBQyxLQUFLO1lBQ2hCLEdBQUcsS0FBSztTQUNULENBQUMsQ0FBQztLQUNKO0lBRUQ7O09BRUc7SUFDSSwrQkFBK0IsQ0FBQyxLQUFxQjtRQUMxRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsMkJBQTJCLEVBQUU7WUFDOUMsU0FBUyxFQUFFLEtBQUs7WUFDaEIsTUFBTSxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM1QixJQUFJLEVBQUUscUJBQUksQ0FBQyxLQUFLO1lBQ2hCLEdBQUcsS0FBSztTQUNULENBQUMsQ0FBQztLQUNKO0lBRUQ7O09BRUc7SUFDSSxpQ0FBaUMsQ0FBQyxLQUFxQjtRQUM1RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsNkJBQTZCLEVBQUU7WUFDaEQsU0FBUyxFQUFFLEtBQUs7WUFDaEIsTUFBTSxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM1QixJQUFJLEVBQUUscUJBQUksQ0FBQyxLQUFLO1lBQ2hCLEdBQUcsS0FBSztTQUNULENBQUMsQ0FBQztLQUNKO0NBQ0Y7QUFFRDs7OztHQUlHO0lBRVUsT0FBTzs0QkFEbkIsb0NBQWtCOzs7O3NCQUNVLFdBQVc7Ozt1QkFBbkIsU0FBUSxXQUFXOzs7O3NDQXFGckMsSUFBQSxrQ0FBYyxHQUFFO1lBQ2pCLGlMQUFPLFVBQVUsNkRBR2hCO1lBekZILDZLQTBGQzs7Ozs7UUF6RkMsc0NBQXNDO1FBQy9CLE1BQU0sQ0FBVSxxQkFBcUIsR0FBVyx5Q0FBeUMsQ0FBQztRQUVqRzs7V0FFRztRQUNJLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsVUFBa0I7WUFDM0UsTUFBTSxNQUFPLFNBQVEsV0FBVztnQkFDZCxVQUFVLEdBQUcsVUFBVSxDQUFDO2dCQUN4QixZQUFZLEdBQUcsU0FBUyxDQUFDO2FBQzFDO1lBRUQsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDOUI7UUFFZSxVQUFVLEdBaEJmLG1EQUFPLENBZ0JpQjtRQUNuQixZQUFZLENBQVU7UUFDOUIsUUFBUSxHQUFxQixFQUFFLENBQUM7UUFFeEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFtQjtZQUMzRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtnQkFDZixZQUFZLEVBQUUsS0FBSyxFQUFFLFdBQVcsSUFBSSxrQkFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxtQkFBSyxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7YUFDdEgsQ0FBQyxDQUFDOzs7Ozs7bURBdkJNLE9BQU87Ozs7WUF5QmhCLG9DQUFvQztZQUNwQyxJQUFJLEtBQUssQ0FBQyxXQUFXLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxXQUFXLEtBQUssRUFBRSxJQUFJLENBQUMsbUJBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BHLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsRUFBRSxFQUFFLENBQUM7b0JBQ2xDLE1BQU0sSUFBSSw2QkFBZSxDQUFDLElBQUEsc0JBQUcsRUFBQSxtQkFBbUIsRUFBRSx5REFBeUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDL0ksQ0FBQztnQkFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO29CQUMvQyxNQUFNLElBQUksNkJBQWUsQ0FBQyxJQUFBLHNCQUFHLEVBQUEsbUJBQW1CLEVBQUUsNEVBQTRFLEtBQUssQ0FBQyxXQUFXLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDNUosQ0FBQztZQUNILENBQUM7WUFFRCxtQ0FBbUM7WUFDbkMsSUFBQSx3Q0FBb0IsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFbEMsc0VBQXNFO1lBQ3RFLElBQUksQ0FBQyxtQkFBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO2dCQUNoRCxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO29CQUMxQyxJQUFJLENBQUMsbUJBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksSUFBQSxtQkFBVSxFQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7d0JBQ2xELHlCQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FDL0IsZ0RBQWdELEVBQ2hELHdCQUF3QixJQUFJLGdGQUFnRixDQUM3RyxDQUFDO29CQUNKLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7WUFFRCxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7WUFFSCxNQUFNLFFBQVEsR0FBRyxJQUFJLDZCQUFVLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFDaEQsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUN2QixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO2dCQUN4QyxRQUFRLEVBQUUsa0JBQUksQ0FBQyxHQUFHLENBQUM7b0JBQ2pCLE9BQU8sRUFBRSxHQUFHLEVBQUU7d0JBQ1osSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDOzRCQUFFLE1BQU0sSUFBSSw2QkFBZSxDQUFDLElBQUEsc0JBQUcsRUFBQSxvQkFBb0IsRUFBRSxxREFBcUQsRUFBRSxJQUFJLENBQUMsQ0FBQzt3QkFDaEosSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDOzRCQUFFLE1BQU0sSUFBSSw2QkFBZSxDQUFDLElBQUEsc0JBQUcsRUFBQSxvQkFBb0IsRUFBRSxtREFBbUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQzt3QkFDbEssT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO29CQUN2QixDQUFDO2lCQUNGLEVBQUUsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLENBQUM7YUFDN0IsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDO1lBQzFDLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDO1lBRTlDLCtFQUErRTtZQUMvRSxtRUFBbUU7WUFDbkUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7Z0JBQ3RCLFFBQVEsRUFBRSxHQUFHLEVBQUU7b0JBQ2IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxtQkFBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNqRixNQUFNLFVBQVUsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNoRixPQUFPLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQzt3QkFDMUIsQ0FBQyxDQUFDLENBQUMsNkVBQTZFLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQzt3QkFDeEcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDVCxDQUFDO2FBQ0YsQ0FBQyxDQUFDO1NBQ0o7UUFFRDs7V0FFRztRQUVJLFVBQVUsQ0FBQyxPQUF1Qjs7Ozs7Ozs7OztZQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1QixPQUFPLE9BQU8sQ0FBQztTQUNoQjs7WUF6RlUsdURBQU87Ozs7O0FBQVAsMEJBQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElSZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IEFubm90YXRpb25zLCBEdXJhdGlvbiwgUmVzb3VyY2UsIExhenksIE5hbWVzLCBUb2tlbiwgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHR5cGUgeyBNZXRyaWNPcHRpb25zIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0IHsgTWV0cmljLCBVbml0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0IHsgQ2ZuR2F0ZXdheSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1tZWRpYWNvbm5lY3QnO1xuaW1wb3J0IHR5cGUgeyBJR2F0ZXdheVJlZiwgR2F0ZXdheVJlZmVyZW5jZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1tZWRpYWNvbm5lY3QnO1xuaW1wb3J0IHsgbGl0IH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvaGVscGVycy1pbnRlcm5hbCc7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSwgTWV0aG9kTWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB0eXBlIHsgR2F0ZXdheU5ldHdvcmsgfSBmcm9tICcuL3NoYXJlZCc7XG5pbXBvcnQgeyBpc09wZW5DaWRyIH0gZnJvbSAnLi9zaGFyZWQnO1xuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgR2F0ZXdheVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElHYXRld2F5IGV4dGVuZHMgSVJlc291cmNlLCBJR2F0ZXdheVJlZiB7XG4gIC8qKlxuICAgKiBUaGUgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgdGhlIGdhdGV3YXkuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGdhdGV3YXlBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIGdhdGV3YXkuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGdhdGV3YXlTdGF0ZT86IHN0cmluZztcblxuICAvKipcbiAgICogQ3JlYXRlIGEgQ2xvdWRXYXRjaCBtZXRyaWMgZm9yIHRoaXMgZ2F0ZXdheS5cbiAgICpcbiAgICogVGhlIGdhdGV3YXkgQVJOIGlzIHNldCBhcyB0aGUgYEdhdGV3YXlBUk5gIGRpbWVuc2lvbiBhdXRvbWF0aWNhbGx5LiBGb3JcbiAgICogbWV0cmljcyB0aGF0IHJlcXVpcmUgYWRkaXRpb25hbCBkaW1lbnNpb25zIChzdWNoIGFzIGBOZXR3b3JrTmFtZWAsXG4gICAqIGBJbnN0YW5jZUlkYCBmb3IgYSBzcGVjaWZpYyBhcHBsaWFuY2UsIG9yIGBCcmlkZ2VTb3VyY2VOYW1lYCksIHBhc3MgdGhlbVxuICAgKiB2aWEgYHByb3BzLmRpbWVuc2lvbnNNYXBgLlxuICAgKlxuICAgKiBTZWUgdGhlIE1lZGlhQ29ubmVjdCBkb2N1bWVudGF0aW9uIGZvciBhdmFpbGFibGUgbWV0cmljIG5hbWVzIChmb3IgZXhhbXBsZVxuICAgKiBgSW5ncmVzc0JyaWRnZUJpdFJhdGVgLCBgRWdyZXNzQnJpZGdlQml0UmF0ZWAsIGBJbmdyZXNzQnJpZGdlU291cmNlUGFja2V0TG9zc1BlcmNlbnRgKS5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbWVkaWFjb25uZWN0L2xhdGVzdC91Zy9tb25pdG9yLXdpdGgtY2xvdWR3YXRjaC1tZXRyaWNzLWdhdGV3YXktaGVhbHRoLmh0bWxcbiAgICovXG4gIG1ldHJpYyhtZXRyaWNOYW1lOiBzdHJpbmcsIHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcblxuICAvKipcbiAgICogTWV0cmljIGZvciB0aGUgdG90YWwgbnVtYmVyIG9mIHBhY2tldHMgc2VudCBmcm9tIGVncmVzcyBicmlkZ2VzIGhvc3RlZCBvbiB0aGlzIGdhdGV3YXkuXG4gICAqXG4gICAqIFBhaXIgd2l0aCB7QGxpbmsgbWV0cmljRWdyZXNzQnJpZGdlRHJvcHBlZFBhY2tldHN9IHRvIGNoYXJ0IGFuIGVncmVzcyBkcm9wcGVkLXBhY2tldFxuICAgKiBwZXJjZW50YWdlLiBGb3IgcGVyLWJyaWRnZSBkYXRhLCBwYXNzIGBkaW1lbnNpb25zTWFwOiB7IEJyaWRnZVNvdXJjZU5hbWU6ICcuLi4nIH1gLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHN1bSBvdmVyIDYwIHNlY29uZHNcbiAgICovXG4gIG1ldHJpY0VncmVzc0JyaWRnZVRvdGFsUGFja2V0cyhwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWM7XG5cbiAgLyoqXG4gICAqIE1ldHJpYyBmb3IgdGhlIG51bWJlciBvZiBwYWNrZXRzIGRyb3BwZWQgYnkgZWdyZXNzIGJyaWRnZXMgaG9zdGVkIG9uIHRoaXMgZ2F0ZXdheS5cbiAgICpcbiAgICogUGFpciB3aXRoIHtAbGluayBtZXRyaWNFZ3Jlc3NCcmlkZ2VUb3RhbFBhY2tldHN9IHRvIGNoYXJ0IGEgZHJvcHBlZC1wYWNrZXQgcGVyY2VudGFnZS5cbiAgICogRm9yIHBlci1icmlkZ2UgZGF0YSwgcGFzcyBgZGltZW5zaW9uc01hcDogeyBCcmlkZ2VTb3VyY2VOYW1lOiAnLi4uJyB9YC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBzdW0gb3ZlciA2MCBzZWNvbmRzXG4gICAqL1xuICBtZXRyaWNFZ3Jlc3NCcmlkZ2VEcm9wcGVkUGFja2V0cyhwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWM7XG5cbiAgLyoqXG4gICAqIE1ldHJpYyBmb3IgdGhlIHRvdGFsIG51bWJlciBvZiBwYWNrZXRzIHJlY2VpdmVkIGJ5IGluZ3Jlc3MgYnJpZGdlcyBob3N0ZWQgb24gdGhpcyBnYXRld2F5LlxuICAgKlxuICAgKiBQYWlyIHdpdGgge0BsaW5rIG1ldHJpY0luZ3Jlc3NCcmlkZ2VEcm9wcGVkUGFja2V0c30gdG8gY2hhcnQgYW4gaW5ncmVzcyBkcm9wcGVkLXBhY2tldFxuICAgKiBwZXJjZW50YWdlLiBGb3IgcGVyLWJyaWRnZSBkYXRhLCBwYXNzIGBkaW1lbnNpb25zTWFwOiB7IEJyaWRnZVNvdXJjZU5hbWU6ICcuLi4nIH1gLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHN1bSBvdmVyIDYwIHNlY29uZHNcbiAgICovXG4gIG1ldHJpY0luZ3Jlc3NCcmlkZ2VUb3RhbFBhY2tldHMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xuXG4gIC8qKlxuICAgKiBNZXRyaWMgZm9yIHRoZSBudW1iZXIgb2YgcGFja2V0cyBkcm9wcGVkIGJ5IGluZ3Jlc3MgYnJpZGdlcyBob3N0ZWQgb24gdGhpcyBnYXRld2F5LlxuICAgKlxuICAgKiBQYWlyIHdpdGgge0BsaW5rIG1ldHJpY0luZ3Jlc3NCcmlkZ2VUb3RhbFBhY2tldHN9IHRvIGNoYXJ0IGEgZHJvcHBlZC1wYWNrZXQgcGVyY2VudGFnZS5cbiAgICogRm9yIHBlci1icmlkZ2UgZGF0YSwgcGFzcyBgZGltZW5zaW9uc01hcDogeyBCcmlkZ2VTb3VyY2VOYW1lOiAnLi4uJyB9YC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBzdW0gb3ZlciA2MCBzZWNvbmRzXG4gICAqL1xuICBtZXRyaWNJbmdyZXNzQnJpZGdlRHJvcHBlZFBhY2tldHMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHRoZSBNZWRpYUNvbm5lY3QgR2F0ZXdheS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHYXRld2F5UHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGdhdGV3YXkuIFRoaXMgbmFtZSBjYW4gbm90IGJlIG1vZGlmaWVkIGFmdGVyIHRoZSBnYXRld2F5IGlzIGNyZWF0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYXV0b2dlbmVyYXRlZFxuICAgKi9cbiAgcmVhZG9ubHkgZ2F0ZXdheU5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgcmFuZ2Ugb2YgSVAgYWRkcmVzc2VzIHRoYXQgYXJlIGFsbG93ZWQgdG8gY29udHJpYnV0ZSBjb250ZW50IG9yIGluaXRpYXRlIG91dHB1dCByZXF1ZXN0cyBmb3IgZmxvd3MgY29tbXVuaWNhdGluZyB3aXRoIHRoaXMgZ2F0ZXdheS5cbiAgICogVGhlc2UgSVAgYWRkcmVzc2VzIHNob3VsZCBiZSBpbiB0aGUgZm9ybSBvZiBhIENsYXNzbGVzcyBJbnRlci1Eb21haW4gUm91dGluZyAoQ0lEUikgYmxvY2s7IGZvciBleGFtcGxlLCAxMC4wLjAuMC8xNi5cbiAgICovXG4gIHJlYWRvbmx5IGVncmVzc0NpZHJCbG9ja3M6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBuZXR3b3JrcyBpbiB0aGUgZ2F0ZXdheS4gQSBnYXRld2F5IG11c3QgaGF2ZSBiZXR3ZWVuIDEgYW5kIDQgbmV0d29ya3MuXG4gICAqIFByb3ZpZGUgdGhlIGluaXRpYWwgc2V0IGhlcmU7IHVzZSBgYWRkTmV0d29yaygpYCB0byBhZGQgbW9yZSAodXAgdG8gNCB0b3RhbCkuXG4gICAqL1xuICByZWFkb25seSBuZXR3b3JrczogR2F0ZXdheU5ldHdvcmtbXTtcblxufVxuXG5hYnN0cmFjdCBjbGFzcyBHYXRld2F5QmFzZSBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSUdhdGV3YXkge1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZ2F0ZXdheUFybjogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZ2F0ZXdheVN0YXRlPzogc3RyaW5nO1xuXG4gIHB1YmxpYyBnZXQgZ2F0ZXdheVJlZigpOiBHYXRld2F5UmVmZXJlbmNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgZ2F0ZXdheUFybjogdGhpcy5nYXRld2F5QXJuLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgQ2xvdWRXYXRjaCBtZXRyaWMgZm9yIHRoaXMgZ2F0ZXdheS5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWMobWV0cmljTmFtZTogc3RyaW5nLCBwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiBuZXcgTWV0cmljKHtcbiAgICAgIG1ldHJpY05hbWUsXG4gICAgICBuYW1lc3BhY2U6ICdBV1MvTWVkaWFDb25uZWN0JyxcbiAgICAgIC4uLnByb3BzLFxuICAgICAgZGltZW5zaW9uc01hcDoge1xuICAgICAgICBHYXRld2F5QVJOOiB0aGlzLmdhdGV3YXlBcm4sXG4gICAgICAgIC4uLnByb3BzPy5kaW1lbnNpb25zTWFwLFxuICAgICAgfSxcbiAgICB9KS5hdHRhY2hUbyh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRyaWMgZm9yIHRoZSB0b3RhbCBudW1iZXIgb2YgcGFja2V0cyBzZW50IGZyb20gZWdyZXNzIGJyaWRnZXMgaG9zdGVkIG9uIHRoaXMgZ2F0ZXdheS5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNFZ3Jlc3NCcmlkZ2VUb3RhbFBhY2tldHMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoJ0VncmVzc0JyaWRnZVRvdGFsUGFja2V0cycsIHtcbiAgICAgIHN0YXRpc3RpYzogJ3N1bScsXG4gICAgICBwZXJpb2Q6IER1cmF0aW9uLnNlY29uZHMoNjApLFxuICAgICAgdW5pdDogVW5pdC5DT1VOVCxcbiAgICAgIC4uLnByb3BzLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldHJpYyBmb3IgdGhlIG51bWJlciBvZiBwYWNrZXRzIGRyb3BwZWQgYnkgZWdyZXNzIGJyaWRnZXMgaG9zdGVkIG9uIHRoaXMgZ2F0ZXdheS5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNFZ3Jlc3NCcmlkZ2VEcm9wcGVkUGFja2V0cyhwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLm1ldHJpYygnRWdyZXNzQnJpZGdlRHJvcHBlZFBhY2tldHMnLCB7XG4gICAgICBzdGF0aXN0aWM6ICdzdW0nLFxuICAgICAgcGVyaW9kOiBEdXJhdGlvbi5zZWNvbmRzKDYwKSxcbiAgICAgIHVuaXQ6IFVuaXQuQ09VTlQsXG4gICAgICAuLi5wcm9wcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRyaWMgZm9yIHRoZSB0b3RhbCBudW1iZXIgb2YgcGFja2V0cyByZWNlaXZlZCBieSBpbmdyZXNzIGJyaWRnZXMgaG9zdGVkIG9uIHRoaXMgZ2F0ZXdheS5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNJbmdyZXNzQnJpZGdlVG90YWxQYWNrZXRzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKCdJbmdyZXNzQnJpZGdlVG90YWxQYWNrZXRzJywge1xuICAgICAgc3RhdGlzdGljOiAnc3VtJyxcbiAgICAgIHBlcmlvZDogRHVyYXRpb24uc2Vjb25kcyg2MCksXG4gICAgICB1bml0OiBVbml0LkNPVU5ULFxuICAgICAgLi4ucHJvcHMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTWV0cmljIGZvciB0aGUgbnVtYmVyIG9mIHBhY2tldHMgZHJvcHBlZCBieSBpbmdyZXNzIGJyaWRnZXMgaG9zdGVkIG9uIHRoaXMgZ2F0ZXdheS5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNJbmdyZXNzQnJpZGdlRHJvcHBlZFBhY2tldHMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoJ0luZ3Jlc3NCcmlkZ2VEcm9wcGVkUGFja2V0cycsIHtcbiAgICAgIHN0YXRpc3RpYzogJ3N1bScsXG4gICAgICBwZXJpb2Q6IER1cmF0aW9uLnNlY29uZHMoNjApLFxuICAgICAgdW5pdDogVW5pdC5DT1VOVCxcbiAgICAgIC4uLnByb3BzLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogQVdTIEVsZW1lbnRhbCBNZWRpYUNvbm5lY3QgR2F0ZXdheSBpcyBhIGZlYXR1cmUgb2YgTWVkaWFDb25uZWN0IHRoYXQgYWxsb3dzIHRoZSBkZXBsb3ltZW50IG9mIG9uLXByZW1pc2VzIHJlc291cmNlcyBmb3IgdHJhbnNwb3J0aW5nIGxpdmVcbiAqIHZpZGVvIHRvIGFuZCBmcm9tIHRoZSBBV1MgQ2xvdWQuIE1lZGlhQ29ubmVjdCBHYXRld2F5IGFsbG93cyB5b3UgdG8gY29udHJpYnV0ZSBsaXZlIHZpZGVvIHRvIHRoZSBBV1MgQ2xvdWQgZnJvbSBvbi1wcmVtaXNlcyBoYXJkd2FyZSxcbiAqIGFzIHdlbGwgYXMgZGlzdHJpYnV0ZSBsaXZlIHZpZGVvIGZyb20gdGhlIEFXUyBDbG91ZCB0byB5b3VyIGxvY2FsIGRhdGEgY2VudGVyLlxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgR2F0ZXdheSBleHRlbmRzIEdhdGV3YXlCYXNlIGltcGxlbWVudHMgSUdhdGV3YXkge1xuICAvKiogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ0Bhd3MtY2RrLmF3cy1tZWRpYWNvbm5lY3QtYWxwaGEuR2F0ZXdheSc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBNZWRpYUNvbm5lY3QgR2F0ZXdheSBjb25zdHJ1Y3QgdGhhdCByZXByZXNlbnRzIGFuIGV4dGVybmFsIChpbXBvcnRlZCkgTWVkaWFDb25uZWN0IEdhdGV3YXkuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21HYXRld2F5QXJuKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGdhdGV3YXlBcm46IHN0cmluZyk6IElHYXRld2F5IHtcbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBHYXRld2F5QmFzZSBpbXBsZW1lbnRzIElHYXRld2F5IHtcbiAgICAgIHB1YmxpYyByZWFkb25seSBnYXRld2F5QXJuID0gZ2F0ZXdheUFybjtcbiAgICAgIHB1YmxpYyByZWFkb25seSBnYXRld2F5U3RhdGUgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBnYXRld2F5QXJuOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBnYXRld2F5U3RhdGU/OiBzdHJpbmc7XG4gIHByaXZhdGUgbmV0d29ya3M6IEdhdGV3YXlOZXR3b3JrW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogR2F0ZXdheVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBwaHlzaWNhbE5hbWU6IHByb3BzPy5nYXRld2F5TmFtZSA/PyBMYXp5LnN0cmluZyh7IHByb2R1Y2U6ICgpID0+IE5hbWVzLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzLCB7IG1heExlbmd0aDogMzIgfSkgfSksXG4gICAgfSk7XG5cbiAgICAvLyBWYWxpZGF0ZSBnYXRld2F5IG5hbWUgaWYgcHJvdmlkZWRcbiAgICBpZiAocHJvcHMuZ2F0ZXdheU5hbWUgIT0gbnVsbCAmJiBwcm9wcy5nYXRld2F5TmFtZSAhPT0gJycgJiYgIVRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5nYXRld2F5TmFtZSkpIHtcbiAgICAgIGlmIChwcm9wcy5nYXRld2F5TmFtZS5sZW5ndGggPiAzMikge1xuICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBHYXRld2F5TmFtZUxlbmd0aGAsIGBHYXRld2F5IG5hbWUgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDMyIGNoYXJhY3RlcnMsIGdvdCAke3Byb3BzLmdhdGV3YXlOYW1lLmxlbmd0aH1gLCB0aGlzKTtcbiAgICAgIH1cbiAgICAgIGlmICghL15bYS16QS1aMC05LV0rJC8udGVzdChwcm9wcy5nYXRld2F5TmFtZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihsaXRgR2F0ZXdheU5hbWVGb3JtYXRgLCBgR2F0ZXdheSBuYW1lIG11c3QgY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGFuZCBoeXBoZW5zLCBnb3QgJyR7cHJvcHMuZ2F0ZXdheU5hbWV9J2AsIHRoaXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgLy8gV2FybiBvbiBmdWxseS1vcGVuIGVncmVzcyBDSURSIGJsb2NrcyAoMC4wLjAuMC8wIG9yIGFueSAvMCBwcmVmaXgpLlxuICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmVncmVzc0NpZHJCbG9ja3MpKSB7XG4gICAgICBmb3IgKGNvbnN0IGNpZHIgb2YgcHJvcHMuZWdyZXNzQ2lkckJsb2Nrcykge1xuICAgICAgICBpZiAoIVRva2VuLmlzVW5yZXNvbHZlZChjaWRyKSAmJiBpc09wZW5DaWRyKGNpZHIpKSB7XG4gICAgICAgICAgQW5ub3RhdGlvbnMub2YodGhpcykuYWRkV2FybmluZ1YyKFxuICAgICAgICAgICAgJ0Bhd3MtY2RrL2F3cy1tZWRpYWNvbm5lY3QtYWxwaGE6b3BlbkVncmVzc0NpZHInLFxuICAgICAgICAgICAgYEdhdGV3YXkgZWdyZXNzIENJRFIgJyR7Y2lkcn0nIGFsbG93cyB0cmFmZmljIGZyb20gYW55IElQLiBSZXN0cmljdCB0byB0aGUgbmFycm93ZXN0IHJhbmdlIHlvdXIgZmxvd3MgbmVlZC5gLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm9wcy5uZXR3b3Jrcy5mb3JFYWNoKG5ldHdvcmsgPT4ge1xuICAgICAgdGhpcy5uZXR3b3Jrcy5wdXNoKG5ldHdvcmspO1xuICAgIH0pO1xuXG4gICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgQ2ZuR2F0ZXdheSh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBuYW1lOiB0aGlzLnBoeXNpY2FsTmFtZSxcbiAgICAgIGVncmVzc0NpZHJCbG9ja3M6IHByb3BzLmVncmVzc0NpZHJCbG9ja3MsXG4gICAgICBuZXR3b3JrczogTGF6eS5hbnkoe1xuICAgICAgICBwcm9kdWNlOiAoKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMubmV0d29ya3MubGVuZ3RoID09PSAwKSB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBHYXRld2F5TWluTmV0d29ya3NgLCAnQXQgbGVhc3QgMSBuZXR3b3JrIG11c3QgYmUgc3BlY2lmaWVkIG9uIHRoZSBnYXRld2F5JywgdGhpcyk7XG4gICAgICAgICAgaWYgKHRoaXMubmV0d29ya3MubGVuZ3RoID4gNCkgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihsaXRgR2F0ZXdheU1heE5ldHdvcmtzYCwgYEEgZ2F0ZXdheSBzdXBwb3J0cyBhIG1heGltdW0gb2YgNCBuZXR3b3JrcywgZ290ICR7dGhpcy5uZXR3b3Jrcy5sZW5ndGh9YCwgdGhpcyk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMubmV0d29ya3M7XG4gICAgICAgIH0sXG4gICAgICB9LCB7IG9taXRFbXB0eUFycmF5OiB0cnVlIH0pLFxuICAgIH0pO1xuXG4gICAgdGhpcy5nYXRld2F5QXJuID0gcmVzb3VyY2UuYXR0ckdhdGV3YXlBcm47XG4gICAgdGhpcy5nYXRld2F5U3RhdGUgPSByZXNvdXJjZS5hdHRyR2F0ZXdheVN0YXRlO1xuXG4gICAgLy8gVmFsaWRhdGUgZ2F0ZXdheSBuZXR3b3JrIG5hbWUgdW5pcXVlbmVzcyBhdCBzeW50aCB0aW1lLiBOYW1lcyBtdXN0IGJlIHVuaXF1ZVxuICAgIC8vIHdpdGhpbiBhIGdhdGV3YXk7IHRoZSBzZXJ2aWNlIHJlamVjdHMgZHVwbGljYXRlcyBhdCBkZXBsb3kgdGltZS5cbiAgICB0aGlzLm5vZGUuYWRkVmFsaWRhdGlvbih7XG4gICAgICB2YWxpZGF0ZTogKCkgPT4ge1xuICAgICAgICBjb25zdCBuYW1lcyA9IHRoaXMubmV0d29ya3MubWFwKG4gPT4gbi5uYW1lKS5maWx0ZXIobiA9PiAhVG9rZW4uaXNVbnJlc29sdmVkKG4pKTtcbiAgICAgICAgY29uc3QgZHVwbGljYXRlcyA9IFsuLi5uZXcgU2V0KG5hbWVzLmZpbHRlcigobiwgaSkgPT4gbmFtZXMuaW5kZXhPZihuKSAhPT0gaSkpXTtcbiAgICAgICAgcmV0dXJuIGR1cGxpY2F0ZXMubGVuZ3RoID4gMFxuICAgICAgICAgID8gW2BHYXRld2F5IG5ldHdvcmsgbmFtZXMgbXVzdCBiZSB1bmlxdWUgd2l0aGluIGEgZ2F0ZXdheS4gRHVwbGljYXRlIG5hbWUocyk6ICR7ZHVwbGljYXRlcy5qb2luKCcsICcpfWBdXG4gICAgICAgICAgOiBbXTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgbmV0d29yayB0byB0aGlzIGdhdGV3YXkuXG4gICAqL1xuICBATWV0aG9kTWV0YWRhdGEoKVxuICBwdWJsaWMgYWRkTmV0d29yayhuZXR3b3JrOiBHYXRld2F5TmV0d29yayk6IEdhdGV3YXlOZXR3b3JrIHtcbiAgICB0aGlzLm5ldHdvcmtzLnB1c2gobmV0d29yayk7XG4gICAgcmV0dXJuIG5ldHdvcms7XG4gIH1cbn1cbiJdfQ==
236
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2F0ZXdheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImdhdGV3YXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsNkNBQW1HO0FBRW5HLCtEQUEwRDtBQUMxRCxtRUFBMEQ7QUFFMUQsNEVBQTREO0FBQzVELDhFQUE4RjtBQUM5RiwwRUFBMEU7QUFHMUUscUNBQXNDO0FBb0d0QyxNQUFlLFdBQVksU0FBUSxzQkFBUTtJQUl6QyxJQUFXLFVBQVU7UUFDbkIsT0FBTztZQUNMLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtTQUM1QixDQUFDO0tBQ0g7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxVQUFrQixFQUFFLEtBQXFCO1FBQ3JELE9BQU8sSUFBSSx1QkFBTSxDQUFDO1lBQ2hCLFVBQVU7WUFDVixTQUFTLEVBQUUsa0JBQWtCO1lBQzdCLEdBQUcsS0FBSztZQUNSLGFBQWEsRUFBRTtnQkFDYixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQzNCLEdBQUcsS0FBSyxFQUFFLGFBQWE7YUFDeEI7U0FDRixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ25CO0lBRUQ7O09BRUc7SUFDSSw4QkFBOEIsQ0FBQyxLQUFxQjtRQUN6RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsMEJBQTBCLEVBQUU7WUFDN0MsU0FBUyxFQUFFLEtBQUs7WUFDaEIsTUFBTSxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM1QixJQUFJLEVBQUUscUJBQUksQ0FBQyxLQUFLO1lBQ2hCLEdBQUcsS0FBSztTQUNULENBQUMsQ0FBQztLQUNKO0lBRUQ7O09BRUc7SUFDSSxnQ0FBZ0MsQ0FBQyxLQUFxQjtRQUMzRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsNEJBQTRCLEVBQUU7WUFDL0MsU0FBUyxFQUFFLEtBQUs7WUFDaEIsTUFBTSxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM1QixJQUFJLEVBQUUscUJBQUksQ0FBQyxLQUFLO1lBQ2hCLEdBQUcsS0FBSztTQUNULENBQUMsQ0FBQztLQUNKO0lBRUQ7O09BRUc7SUFDSSwrQkFBK0IsQ0FBQyxLQUFxQjtRQUMxRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsMkJBQTJCLEVBQUU7WUFDOUMsU0FBUyxFQUFFLEtBQUs7WUFDaEIsTUFBTSxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM1QixJQUFJLEVBQUUscUJBQUksQ0FBQyxLQUFLO1lBQ2hCLEdBQUcsS0FBSztTQUNULENBQUMsQ0FBQztLQUNKO0lBRUQ7O09BRUc7SUFDSSxpQ0FBaUMsQ0FBQyxLQUFxQjtRQUM1RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsNkJBQTZCLEVBQUU7WUFDaEQsU0FBUyxFQUFFLEtBQUs7WUFDaEIsTUFBTSxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM1QixJQUFJLEVBQUUscUJBQUksQ0FBQyxLQUFLO1lBQ2hCLEdBQUcsS0FBSztTQUNULENBQUMsQ0FBQztLQUNKO0NBQ0Y7QUFFRDs7OztHQUlHO0lBRVUsT0FBTzs0QkFEbkIsb0NBQWtCOzs7O3NCQUNVLFdBQVc7Ozt1QkFBbkIsU0FBUSxXQUFXOzs7O3NDQXFGckMsSUFBQSxrQ0FBYyxHQUFFO1lBQ2pCLGlMQUFPLFVBQVUsNkRBR2hCO1lBekZILDZLQTBGQzs7Ozs7UUF6RkMsc0NBQXNDO1FBQy9CLE1BQU0sQ0FBVSxxQkFBcUIsR0FBVyx5Q0FBeUMsQ0FBQztRQUVqRzs7V0FFRztRQUNJLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsVUFBa0I7WUFDM0UsTUFBTSxNQUFPLFNBQVEsV0FBVztnQkFDZCxVQUFVLEdBQUcsVUFBVSxDQUFDO2dCQUN4QixZQUFZLEdBQUcsU0FBUyxDQUFDO2FBQzFDO1lBRUQsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDOUI7UUFFZSxVQUFVLEdBaEJmLG1EQUFPLENBZ0JpQjtRQUNuQixZQUFZLENBQVU7UUFDOUIsUUFBUSxHQUFxQixFQUFFLENBQUM7UUFFeEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFtQjtZQUMzRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtnQkFDZixZQUFZLEVBQUUsS0FBSyxFQUFFLFdBQVcsSUFBSSxrQkFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxtQkFBSyxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7YUFDdEgsQ0FBQyxDQUFDOzs7Ozs7bURBdkJNLE9BQU87Ozs7WUF5QmhCLG9DQUFvQztZQUNwQyxJQUFJLEtBQUssQ0FBQyxXQUFXLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxXQUFXLEtBQUssRUFBRSxJQUFJLENBQUMsbUJBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BHLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsRUFBRSxFQUFFLENBQUM7b0JBQ2xDLE1BQU0sSUFBSSw2QkFBZSxDQUFDLElBQUEsc0JBQUcsRUFBQSxtQkFBbUIsRUFBRSx5REFBeUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDL0ksQ0FBQztnQkFDRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO29CQUNoRCxNQUFNLElBQUksNkJBQWUsQ0FBQyxJQUFBLHNCQUFHLEVBQUEsbUJBQW1CLEVBQUUsMEZBQTBGLEtBQUssQ0FBQyxXQUFXLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDMUssQ0FBQztZQUNILENBQUM7WUFFRCxtQ0FBbUM7WUFDbkMsSUFBQSx3Q0FBb0IsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFbEMsc0VBQXNFO1lBQ3RFLElBQUksQ0FBQyxtQkFBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO2dCQUNoRCxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO29CQUMxQyxJQUFJLENBQUMsbUJBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksSUFBQSxtQkFBVSxFQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7d0JBQ2xELHlCQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FDL0IsZ0RBQWdELEVBQ2hELHdCQUF3QixJQUFJLGdGQUFnRixDQUM3RyxDQUFDO29CQUNKLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7WUFFRCxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7WUFFSCxNQUFNLFFBQVEsR0FBRyxJQUFJLDZCQUFVLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFDaEQsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUN2QixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO2dCQUN4QyxRQUFRLEVBQUUsa0JBQUksQ0FBQyxHQUFHLENBQUM7b0JBQ2pCLE9BQU8sRUFBRSxHQUFHLEVBQUU7d0JBQ1osSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDOzRCQUFFLE1BQU0sSUFBSSw2QkFBZSxDQUFDLElBQUEsc0JBQUcsRUFBQSxvQkFBb0IsRUFBRSxxREFBcUQsRUFBRSxJQUFJLENBQUMsQ0FBQzt3QkFDaEosSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDOzRCQUFFLE1BQU0sSUFBSSw2QkFBZSxDQUFDLElBQUEsc0JBQUcsRUFBQSxvQkFBb0IsRUFBRSxtREFBbUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQzt3QkFDbEssT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO29CQUN2QixDQUFDO2lCQUNGLEVBQUUsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLENBQUM7YUFDN0IsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDO1lBQzFDLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDO1lBRTlDLCtFQUErRTtZQUMvRSxtRUFBbUU7WUFDbkUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7Z0JBQ3RCLFFBQVEsRUFBRSxHQUFHLEVBQUU7b0JBQ2IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxtQkFBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNqRixNQUFNLFVBQVUsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNoRixPQUFPLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQzt3QkFDMUIsQ0FBQyxDQUFDLENBQUMsNkVBQTZFLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQzt3QkFDeEcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDVCxDQUFDO2FBQ0YsQ0FBQyxDQUFDO1NBQ0o7UUFFRDs7V0FFRztRQUVJLFVBQVUsQ0FBQyxPQUF1Qjs7Ozs7Ozs7OztZQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1QixPQUFPLE9BQU8sQ0FBQztTQUNoQjs7WUF6RlUsdURBQU87Ozs7O0FBQVAsMEJBQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElSZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IEFubm90YXRpb25zLCBEdXJhdGlvbiwgUmVzb3VyY2UsIExhenksIE5hbWVzLCBUb2tlbiwgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHR5cGUgeyBNZXRyaWNPcHRpb25zIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0IHsgTWV0cmljLCBVbml0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0IHsgQ2ZuR2F0ZXdheSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1tZWRpYWNvbm5lY3QnO1xuaW1wb3J0IHR5cGUgeyBJR2F0ZXdheVJlZiwgR2F0ZXdheVJlZmVyZW5jZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1tZWRpYWNvbm5lY3QnO1xuaW1wb3J0IHsgbGl0IH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvaGVscGVycy1pbnRlcm5hbCc7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSwgTWV0aG9kTWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB0eXBlIHsgR2F0ZXdheU5ldHdvcmsgfSBmcm9tICcuL3NoYXJlZCc7XG5pbXBvcnQgeyBpc09wZW5DaWRyIH0gZnJvbSAnLi9zaGFyZWQnO1xuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgR2F0ZXdheVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElHYXRld2F5IGV4dGVuZHMgSVJlc291cmNlLCBJR2F0ZXdheVJlZiB7XG4gIC8qKlxuICAgKiBUaGUgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgdGhlIGdhdGV3YXkuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGdhdGV3YXlBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIGdhdGV3YXkuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGdhdGV3YXlTdGF0ZT86IHN0cmluZztcblxuICAvKipcbiAgICogQ3JlYXRlIGEgQ2xvdWRXYXRjaCBtZXRyaWMgZm9yIHRoaXMgZ2F0ZXdheS5cbiAgICpcbiAgICogVGhlIGdhdGV3YXkgQVJOIGlzIHNldCBhcyB0aGUgYEdhdGV3YXlBUk5gIGRpbWVuc2lvbiBhdXRvbWF0aWNhbGx5LiBGb3JcbiAgICogbWV0cmljcyB0aGF0IHJlcXVpcmUgYWRkaXRpb25hbCBkaW1lbnNpb25zIChzdWNoIGFzIGBOZXR3b3JrTmFtZWAsXG4gICAqIGBJbnN0YW5jZUlkYCBmb3IgYSBzcGVjaWZpYyBhcHBsaWFuY2UsIG9yIGBCcmlkZ2VTb3VyY2VOYW1lYCksIHBhc3MgdGhlbVxuICAgKiB2aWEgYHByb3BzLmRpbWVuc2lvbnNNYXBgLlxuICAgKlxuICAgKiBTZWUgdGhlIE1lZGlhQ29ubmVjdCBkb2N1bWVudGF0aW9uIGZvciBhdmFpbGFibGUgbWV0cmljIG5hbWVzIChmb3IgZXhhbXBsZVxuICAgKiBgSW5ncmVzc0JyaWRnZUJpdFJhdGVgLCBgRWdyZXNzQnJpZGdlQml0UmF0ZWAsIGBJbmdyZXNzQnJpZGdlU291cmNlUGFja2V0TG9zc1BlcmNlbnRgKS5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbWVkaWFjb25uZWN0L2xhdGVzdC91Zy9tb25pdG9yLXdpdGgtY2xvdWR3YXRjaC1tZXRyaWNzLWdhdGV3YXktaGVhbHRoLmh0bWxcbiAgICovXG4gIG1ldHJpYyhtZXRyaWNOYW1lOiBzdHJpbmcsIHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcblxuICAvKipcbiAgICogTWV0cmljIGZvciB0aGUgdG90YWwgbnVtYmVyIG9mIHBhY2tldHMgc2VudCBmcm9tIGVncmVzcyBicmlkZ2VzIGhvc3RlZCBvbiB0aGlzIGdhdGV3YXkuXG4gICAqXG4gICAqIFBhaXIgd2l0aCB7QGxpbmsgbWV0cmljRWdyZXNzQnJpZGdlRHJvcHBlZFBhY2tldHN9IHRvIGNoYXJ0IGFuIGVncmVzcyBkcm9wcGVkLXBhY2tldFxuICAgKiBwZXJjZW50YWdlLiBGb3IgcGVyLWJyaWRnZSBkYXRhLCBwYXNzIGBkaW1lbnNpb25zTWFwOiB7IEJyaWRnZVNvdXJjZU5hbWU6ICcuLi4nIH1gLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHN1bSBvdmVyIDYwIHNlY29uZHNcbiAgICovXG4gIG1ldHJpY0VncmVzc0JyaWRnZVRvdGFsUGFja2V0cyhwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWM7XG5cbiAgLyoqXG4gICAqIE1ldHJpYyBmb3IgdGhlIG51bWJlciBvZiBwYWNrZXRzIGRyb3BwZWQgYnkgZWdyZXNzIGJyaWRnZXMgaG9zdGVkIG9uIHRoaXMgZ2F0ZXdheS5cbiAgICpcbiAgICogUGFpciB3aXRoIHtAbGluayBtZXRyaWNFZ3Jlc3NCcmlkZ2VUb3RhbFBhY2tldHN9IHRvIGNoYXJ0IGEgZHJvcHBlZC1wYWNrZXQgcGVyY2VudGFnZS5cbiAgICogRm9yIHBlci1icmlkZ2UgZGF0YSwgcGFzcyBgZGltZW5zaW9uc01hcDogeyBCcmlkZ2VTb3VyY2VOYW1lOiAnLi4uJyB9YC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBzdW0gb3ZlciA2MCBzZWNvbmRzXG4gICAqL1xuICBtZXRyaWNFZ3Jlc3NCcmlkZ2VEcm9wcGVkUGFja2V0cyhwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWM7XG5cbiAgLyoqXG4gICAqIE1ldHJpYyBmb3IgdGhlIHRvdGFsIG51bWJlciBvZiBwYWNrZXRzIHJlY2VpdmVkIGJ5IGluZ3Jlc3MgYnJpZGdlcyBob3N0ZWQgb24gdGhpcyBnYXRld2F5LlxuICAgKlxuICAgKiBQYWlyIHdpdGgge0BsaW5rIG1ldHJpY0luZ3Jlc3NCcmlkZ2VEcm9wcGVkUGFja2V0c30gdG8gY2hhcnQgYW4gaW5ncmVzcyBkcm9wcGVkLXBhY2tldFxuICAgKiBwZXJjZW50YWdlLiBGb3IgcGVyLWJyaWRnZSBkYXRhLCBwYXNzIGBkaW1lbnNpb25zTWFwOiB7IEJyaWRnZVNvdXJjZU5hbWU6ICcuLi4nIH1gLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHN1bSBvdmVyIDYwIHNlY29uZHNcbiAgICovXG4gIG1ldHJpY0luZ3Jlc3NCcmlkZ2VUb3RhbFBhY2tldHMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xuXG4gIC8qKlxuICAgKiBNZXRyaWMgZm9yIHRoZSBudW1iZXIgb2YgcGFja2V0cyBkcm9wcGVkIGJ5IGluZ3Jlc3MgYnJpZGdlcyBob3N0ZWQgb24gdGhpcyBnYXRld2F5LlxuICAgKlxuICAgKiBQYWlyIHdpdGgge0BsaW5rIG1ldHJpY0luZ3Jlc3NCcmlkZ2VUb3RhbFBhY2tldHN9IHRvIGNoYXJ0IGEgZHJvcHBlZC1wYWNrZXQgcGVyY2VudGFnZS5cbiAgICogRm9yIHBlci1icmlkZ2UgZGF0YSwgcGFzcyBgZGltZW5zaW9uc01hcDogeyBCcmlkZ2VTb3VyY2VOYW1lOiAnLi4uJyB9YC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBzdW0gb3ZlciA2MCBzZWNvbmRzXG4gICAqL1xuICBtZXRyaWNJbmdyZXNzQnJpZGdlRHJvcHBlZFBhY2tldHMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHRoZSBNZWRpYUNvbm5lY3QgR2F0ZXdheS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHYXRld2F5UHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGdhdGV3YXkuIFRoaXMgbmFtZSBjYW4gbm90IGJlIG1vZGlmaWVkIGFmdGVyIHRoZSBnYXRld2F5IGlzIGNyZWF0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYXV0b2dlbmVyYXRlZFxuICAgKi9cbiAgcmVhZG9ubHkgZ2F0ZXdheU5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgcmFuZ2Ugb2YgSVAgYWRkcmVzc2VzIHRoYXQgYXJlIGFsbG93ZWQgdG8gY29udHJpYnV0ZSBjb250ZW50IG9yIGluaXRpYXRlIG91dHB1dCByZXF1ZXN0cyBmb3IgZmxvd3MgY29tbXVuaWNhdGluZyB3aXRoIHRoaXMgZ2F0ZXdheS5cbiAgICogVGhlc2UgSVAgYWRkcmVzc2VzIHNob3VsZCBiZSBpbiB0aGUgZm9ybSBvZiBhIENsYXNzbGVzcyBJbnRlci1Eb21haW4gUm91dGluZyAoQ0lEUikgYmxvY2s7IGZvciBleGFtcGxlLCAxMC4wLjAuMC8xNi5cbiAgICovXG4gIHJlYWRvbmx5IGVncmVzc0NpZHJCbG9ja3M6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBuZXR3b3JrcyBpbiB0aGUgZ2F0ZXdheS4gQSBnYXRld2F5IG11c3QgaGF2ZSBiZXR3ZWVuIDEgYW5kIDQgbmV0d29ya3MuXG4gICAqIFByb3ZpZGUgdGhlIGluaXRpYWwgc2V0IGhlcmU7IHVzZSBgYWRkTmV0d29yaygpYCB0byBhZGQgbW9yZSAodXAgdG8gNCB0b3RhbCkuXG4gICAqL1xuICByZWFkb25seSBuZXR3b3JrczogR2F0ZXdheU5ldHdvcmtbXTtcblxufVxuXG5hYnN0cmFjdCBjbGFzcyBHYXRld2F5QmFzZSBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSUdhdGV3YXkge1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZ2F0ZXdheUFybjogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZ2F0ZXdheVN0YXRlPzogc3RyaW5nO1xuXG4gIHB1YmxpYyBnZXQgZ2F0ZXdheVJlZigpOiBHYXRld2F5UmVmZXJlbmNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgZ2F0ZXdheUFybjogdGhpcy5nYXRld2F5QXJuLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgQ2xvdWRXYXRjaCBtZXRyaWMgZm9yIHRoaXMgZ2F0ZXdheS5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWMobWV0cmljTmFtZTogc3RyaW5nLCBwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiBuZXcgTWV0cmljKHtcbiAgICAgIG1ldHJpY05hbWUsXG4gICAgICBuYW1lc3BhY2U6ICdBV1MvTWVkaWFDb25uZWN0JyxcbiAgICAgIC4uLnByb3BzLFxuICAgICAgZGltZW5zaW9uc01hcDoge1xuICAgICAgICBHYXRld2F5QVJOOiB0aGlzLmdhdGV3YXlBcm4sXG4gICAgICAgIC4uLnByb3BzPy5kaW1lbnNpb25zTWFwLFxuICAgICAgfSxcbiAgICB9KS5hdHRhY2hUbyh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRyaWMgZm9yIHRoZSB0b3RhbCBudW1iZXIgb2YgcGFja2V0cyBzZW50IGZyb20gZWdyZXNzIGJyaWRnZXMgaG9zdGVkIG9uIHRoaXMgZ2F0ZXdheS5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNFZ3Jlc3NCcmlkZ2VUb3RhbFBhY2tldHMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoJ0VncmVzc0JyaWRnZVRvdGFsUGFja2V0cycsIHtcbiAgICAgIHN0YXRpc3RpYzogJ3N1bScsXG4gICAgICBwZXJpb2Q6IER1cmF0aW9uLnNlY29uZHMoNjApLFxuICAgICAgdW5pdDogVW5pdC5DT1VOVCxcbiAgICAgIC4uLnByb3BzLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldHJpYyBmb3IgdGhlIG51bWJlciBvZiBwYWNrZXRzIGRyb3BwZWQgYnkgZWdyZXNzIGJyaWRnZXMgaG9zdGVkIG9uIHRoaXMgZ2F0ZXdheS5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNFZ3Jlc3NCcmlkZ2VEcm9wcGVkUGFja2V0cyhwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLm1ldHJpYygnRWdyZXNzQnJpZGdlRHJvcHBlZFBhY2tldHMnLCB7XG4gICAgICBzdGF0aXN0aWM6ICdzdW0nLFxuICAgICAgcGVyaW9kOiBEdXJhdGlvbi5zZWNvbmRzKDYwKSxcbiAgICAgIHVuaXQ6IFVuaXQuQ09VTlQsXG4gICAgICAuLi5wcm9wcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRyaWMgZm9yIHRoZSB0b3RhbCBudW1iZXIgb2YgcGFja2V0cyByZWNlaXZlZCBieSBpbmdyZXNzIGJyaWRnZXMgaG9zdGVkIG9uIHRoaXMgZ2F0ZXdheS5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNJbmdyZXNzQnJpZGdlVG90YWxQYWNrZXRzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKCdJbmdyZXNzQnJpZGdlVG90YWxQYWNrZXRzJywge1xuICAgICAgc3RhdGlzdGljOiAnc3VtJyxcbiAgICAgIHBlcmlvZDogRHVyYXRpb24uc2Vjb25kcyg2MCksXG4gICAgICB1bml0OiBVbml0LkNPVU5ULFxuICAgICAgLi4ucHJvcHMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTWV0cmljIGZvciB0aGUgbnVtYmVyIG9mIHBhY2tldHMgZHJvcHBlZCBieSBpbmdyZXNzIGJyaWRnZXMgaG9zdGVkIG9uIHRoaXMgZ2F0ZXdheS5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNJbmdyZXNzQnJpZGdlRHJvcHBlZFBhY2tldHMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoJ0luZ3Jlc3NCcmlkZ2VEcm9wcGVkUGFja2V0cycsIHtcbiAgICAgIHN0YXRpc3RpYzogJ3N1bScsXG4gICAgICBwZXJpb2Q6IER1cmF0aW9uLnNlY29uZHMoNjApLFxuICAgICAgdW5pdDogVW5pdC5DT1VOVCxcbiAgICAgIC4uLnByb3BzLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogQVdTIEVsZW1lbnRhbCBNZWRpYUNvbm5lY3QgR2F0ZXdheSBpcyBhIGZlYXR1cmUgb2YgTWVkaWFDb25uZWN0IHRoYXQgYWxsb3dzIHRoZSBkZXBsb3ltZW50IG9mIG9uLXByZW1pc2VzIHJlc291cmNlcyBmb3IgdHJhbnNwb3J0aW5nIGxpdmVcbiAqIHZpZGVvIHRvIGFuZCBmcm9tIHRoZSBBV1MgQ2xvdWQuIE1lZGlhQ29ubmVjdCBHYXRld2F5IGFsbG93cyB5b3UgdG8gY29udHJpYnV0ZSBsaXZlIHZpZGVvIHRvIHRoZSBBV1MgQ2xvdWQgZnJvbSBvbi1wcmVtaXNlcyBoYXJkd2FyZSxcbiAqIGFzIHdlbGwgYXMgZGlzdHJpYnV0ZSBsaXZlIHZpZGVvIGZyb20gdGhlIEFXUyBDbG91ZCB0byB5b3VyIGxvY2FsIGRhdGEgY2VudGVyLlxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgR2F0ZXdheSBleHRlbmRzIEdhdGV3YXlCYXNlIGltcGxlbWVudHMgSUdhdGV3YXkge1xuICAvKiogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ0Bhd3MtY2RrLmF3cy1tZWRpYWNvbm5lY3QtYWxwaGEuR2F0ZXdheSc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBNZWRpYUNvbm5lY3QgR2F0ZXdheSBjb25zdHJ1Y3QgdGhhdCByZXByZXNlbnRzIGFuIGV4dGVybmFsIChpbXBvcnRlZCkgTWVkaWFDb25uZWN0IEdhdGV3YXkuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21HYXRld2F5QXJuKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGdhdGV3YXlBcm46IHN0cmluZyk6IElHYXRld2F5IHtcbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBHYXRld2F5QmFzZSBpbXBsZW1lbnRzIElHYXRld2F5IHtcbiAgICAgIHB1YmxpYyByZWFkb25seSBnYXRld2F5QXJuID0gZ2F0ZXdheUFybjtcbiAgICAgIHB1YmxpYyByZWFkb25seSBnYXRld2F5U3RhdGUgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBnYXRld2F5QXJuOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBnYXRld2F5U3RhdGU/OiBzdHJpbmc7XG4gIHByaXZhdGUgbmV0d29ya3M6IEdhdGV3YXlOZXR3b3JrW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogR2F0ZXdheVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBwaHlzaWNhbE5hbWU6IHByb3BzPy5nYXRld2F5TmFtZSA/PyBMYXp5LnN0cmluZyh7IHByb2R1Y2U6ICgpID0+IE5hbWVzLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzLCB7IG1heExlbmd0aDogMzIgfSkgfSksXG4gICAgfSk7XG5cbiAgICAvLyBWYWxpZGF0ZSBnYXRld2F5IG5hbWUgaWYgcHJvdmlkZWRcbiAgICBpZiAocHJvcHMuZ2F0ZXdheU5hbWUgIT0gbnVsbCAmJiBwcm9wcy5nYXRld2F5TmFtZSAhPT0gJycgJiYgIVRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5nYXRld2F5TmFtZSkpIHtcbiAgICAgIGlmIChwcm9wcy5nYXRld2F5TmFtZS5sZW5ndGggPiAzMikge1xuICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBHYXRld2F5TmFtZUxlbmd0aGAsIGBHYXRld2F5IG5hbWUgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDMyIGNoYXJhY3RlcnMsIGdvdCAke3Byb3BzLmdhdGV3YXlOYW1lLmxlbmd0aH1gLCB0aGlzKTtcbiAgICAgIH1cbiAgICAgIGlmICghL15bYS16QS1aMC05Xy1dKyQvLnRlc3QocHJvcHMuZ2F0ZXdheU5hbWUpKSB7XG4gICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobGl0YEdhdGV3YXlOYW1lRm9ybWF0YCwgYEdhdGV3YXkgbmFtZSBtdXN0IGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgaHlwaGVucywgYW5kIHVuZGVyc2NvcmVzLCBnb3QgJyR7cHJvcHMuZ2F0ZXdheU5hbWV9J2AsIHRoaXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgLy8gV2FybiBvbiBmdWxseS1vcGVuIGVncmVzcyBDSURSIGJsb2NrcyAoMC4wLjAuMC8wIG9yIGFueSAvMCBwcmVmaXgpLlxuICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmVncmVzc0NpZHJCbG9ja3MpKSB7XG4gICAgICBmb3IgKGNvbnN0IGNpZHIgb2YgcHJvcHMuZWdyZXNzQ2lkckJsb2Nrcykge1xuICAgICAgICBpZiAoIVRva2VuLmlzVW5yZXNvbHZlZChjaWRyKSAmJiBpc09wZW5DaWRyKGNpZHIpKSB7XG4gICAgICAgICAgQW5ub3RhdGlvbnMub2YodGhpcykuYWRkV2FybmluZ1YyKFxuICAgICAgICAgICAgJ0Bhd3MtY2RrL2F3cy1tZWRpYWNvbm5lY3QtYWxwaGE6b3BlbkVncmVzc0NpZHInLFxuICAgICAgICAgICAgYEdhdGV3YXkgZWdyZXNzIENJRFIgJyR7Y2lkcn0nIGFsbG93cyB0cmFmZmljIGZyb20gYW55IElQLiBSZXN0cmljdCB0byB0aGUgbmFycm93ZXN0IHJhbmdlIHlvdXIgZmxvd3MgbmVlZC5gLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm9wcy5uZXR3b3Jrcy5mb3JFYWNoKG5ldHdvcmsgPT4ge1xuICAgICAgdGhpcy5uZXR3b3Jrcy5wdXNoKG5ldHdvcmspO1xuICAgIH0pO1xuXG4gICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgQ2ZuR2F0ZXdheSh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBuYW1lOiB0aGlzLnBoeXNpY2FsTmFtZSxcbiAgICAgIGVncmVzc0NpZHJCbG9ja3M6IHByb3BzLmVncmVzc0NpZHJCbG9ja3MsXG4gICAgICBuZXR3b3JrczogTGF6eS5hbnkoe1xuICAgICAgICBwcm9kdWNlOiAoKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMubmV0d29ya3MubGVuZ3RoID09PSAwKSB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBHYXRld2F5TWluTmV0d29ya3NgLCAnQXQgbGVhc3QgMSBuZXR3b3JrIG11c3QgYmUgc3BlY2lmaWVkIG9uIHRoZSBnYXRld2F5JywgdGhpcyk7XG4gICAgICAgICAgaWYgKHRoaXMubmV0d29ya3MubGVuZ3RoID4gNCkgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihsaXRgR2F0ZXdheU1heE5ldHdvcmtzYCwgYEEgZ2F0ZXdheSBzdXBwb3J0cyBhIG1heGltdW0gb2YgNCBuZXR3b3JrcywgZ290ICR7dGhpcy5uZXR3b3Jrcy5sZW5ndGh9YCwgdGhpcyk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMubmV0d29ya3M7XG4gICAgICAgIH0sXG4gICAgICB9LCB7IG9taXRFbXB0eUFycmF5OiB0cnVlIH0pLFxuICAgIH0pO1xuXG4gICAgdGhpcy5nYXRld2F5QXJuID0gcmVzb3VyY2UuYXR0ckdhdGV3YXlBcm47XG4gICAgdGhpcy5nYXRld2F5U3RhdGUgPSByZXNvdXJjZS5hdHRyR2F0ZXdheVN0YXRlO1xuXG4gICAgLy8gVmFsaWRhdGUgZ2F0ZXdheSBuZXR3b3JrIG5hbWUgdW5pcXVlbmVzcyBhdCBzeW50aCB0aW1lLiBOYW1lcyBtdXN0IGJlIHVuaXF1ZVxuICAgIC8vIHdpdGhpbiBhIGdhdGV3YXk7IHRoZSBzZXJ2aWNlIHJlamVjdHMgZHVwbGljYXRlcyBhdCBkZXBsb3kgdGltZS5cbiAgICB0aGlzLm5vZGUuYWRkVmFsaWRhdGlvbih7XG4gICAgICB2YWxpZGF0ZTogKCkgPT4ge1xuICAgICAgICBjb25zdCBuYW1lcyA9IHRoaXMubmV0d29ya3MubWFwKG4gPT4gbi5uYW1lKS5maWx0ZXIobiA9PiAhVG9rZW4uaXNVbnJlc29sdmVkKG4pKTtcbiAgICAgICAgY29uc3QgZHVwbGljYXRlcyA9IFsuLi5uZXcgU2V0KG5hbWVzLmZpbHRlcigobiwgaSkgPT4gbmFtZXMuaW5kZXhPZihuKSAhPT0gaSkpXTtcbiAgICAgICAgcmV0dXJuIGR1cGxpY2F0ZXMubGVuZ3RoID4gMFxuICAgICAgICAgID8gW2BHYXRld2F5IG5ldHdvcmsgbmFtZXMgbXVzdCBiZSB1bmlxdWUgd2l0aGluIGEgZ2F0ZXdheS4gRHVwbGljYXRlIG5hbWUocyk6ICR7ZHVwbGljYXRlcy5qb2luKCcsICcpfWBdXG4gICAgICAgICAgOiBbXTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgbmV0d29yayB0byB0aGlzIGdhdGV3YXkuXG4gICAqL1xuICBATWV0aG9kTWV0YWRhdGEoKVxuICBwdWJsaWMgYWRkTmV0d29yayhuZXR3b3JrOiBHYXRld2F5TmV0d29yayk6IEdhdGV3YXlOZXR3b3JrIHtcbiAgICB0aGlzLm5ldHdvcmtzLnB1c2gobmV0d29yayk7XG4gICAgcmV0dXJuIG5ldHdvcms7XG4gIH1cbn1cbiJdfQ==
@@ -42,7 +42,7 @@ const iam = __importStar(require("aws-cdk-lib/aws-iam"));
42
42
  * Collection of grant methods for a IFlowRef
43
43
  */
44
44
  class FlowGrants {
45
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.FlowGrants", version: "2.264.0-alpha.0" };
45
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.FlowGrants", version: "2.265.0-alpha.0" };
46
46
  /**
47
47
  * Creates grants for FlowGrants
48
48
  */
@@ -86,7 +86,7 @@ exports.FlowGrants = FlowGrants;
86
86
  * Collection of grant methods for a IRouterInputRef
87
87
  */
88
88
  class RouterInputGrants {
89
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.RouterInputGrants", version: "2.264.0-alpha.0" };
89
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.RouterInputGrants", version: "2.265.0-alpha.0" };
90
90
  /**
91
91
  * Creates grants for RouterInputGrants
92
92
  */