/** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ export * from './option/index'; export { /** * @deprecated Use `VERSION` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ VERSION as LEGACY_VERSION, /** * @deprecated Use `AnimationCurves` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ AnimationCurves as LegacyAnimationCurves, /** * @deprecated Use `AnimationDurations` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ AnimationDurations as LegacyAnimationDurations, /** * @deprecated Use `MatCommonModule` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ MatCommonModule as MatLegacyCommonModule, /** * @deprecated Use `MATERIAL_SANITY_CHECKS` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ MATERIAL_SANITY_CHECKS as MATERIAL_LEGACY_SANITY_CHECKS, /** * @deprecated Use `mixinDisabled` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ mixinDisabled as legacyMixinDisabled, /** * @deprecated Use `mixinColor` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ mixinColor as legacyMixinColor, /** * @deprecated Use `mixinDisableRipple` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ mixinDisableRipple as legacyMixinDisableRipple, /** * @deprecated Use `mixinTabIndex` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ mixinTabIndex as legacyMixinTabIndex, /** * @deprecated Use `mixinErrorState` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ mixinErrorState as legacyMixinErrorState, /** * @deprecated Use `mixinInitialized` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ mixinInitialized as legacyMixinInitialized, /** * @deprecated Use `MAT_DATE_LOCALE` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ MAT_DATE_LOCALE as MAT_LEGACY_DATE_LOCALE, /** * @deprecated Use `MAT_DATE_LOCALE_FACTORY` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ MAT_DATE_LOCALE_FACTORY as MAT_LEGACY_DATE_LOCALE_FACTORY, /** * @deprecated Use `DateAdapter` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ DateAdapter as LegacyDateAdapter, /** * @deprecated Use `MAT_DATE_FORMATS` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ MAT_DATE_FORMATS as MAT_LEGACY_DATE_FORMATS, /** * @deprecated Use `NativeDateAdapter` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ NativeDateAdapter as LegacyNativeDateAdapter, /** * @deprecated Use `MAT_NATIVE_DATE_FORMATS` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ MAT_NATIVE_DATE_FORMATS as MAT_LEGACY_NATIVE_DATE_FORMATS, /** * @deprecated Use `NativeDateModule` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ NativeDateModule as LegacyNativeDateModule, /** * @deprecated Use `MatNativeDateModule` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ MatNativeDateModule as MatLegacyNativeDateModule, /** * @deprecated Use `ShowOnDirtyErrorStateMatcher` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ ShowOnDirtyErrorStateMatcher as LegacyShowOnDirtyErrorStateMatcher, /** * @deprecated Use `ErrorStateMatcher` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ ErrorStateMatcher as LegacyErrorStateMatcher, /** * @deprecated Use `MatLine` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ MatLine as MatLegacyLine, /** * @deprecated Use `setLines` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ setLines as legacySetLines, /** * @deprecated Use `MatLineModule` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ MatLineModule as MatLegacyLineModule, /** * @deprecated Use `MAT_RIPPLE_GLOBAL_OPTIONS` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ MAT_RIPPLE_GLOBAL_OPTIONS as MAT_LEGACY_RIPPLE_GLOBAL_OPTIONS, /** * @deprecated Use `MatRipple` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ MatRipple as MatLegacyRipple, /** * @deprecated Use `RippleRef` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ RippleRef as LegacyRippleRef, /** * @deprecated Use `defaultRippleAnimationConfig` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ defaultRippleAnimationConfig as legacyDefaultRippleAnimationConfig, /** * @deprecated Use `RippleRenderer` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ RippleRenderer as LegacyRippleRenderer, /** * @deprecated Use `MatRippleModule` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ MatRippleModule as MatLegacyRippleModule, /** * @deprecated Use `MatPseudoCheckbox` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ MatPseudoCheckbox as MatLegacyPseudoCheckbox, /** * @deprecated Use `MatPseudoCheckboxModule` from `@angular/material/core` instead. See https://material.angular.io/guide/mdc-migration for information about migrating. * @breaking-change 17.0.0 */ MatPseudoCheckboxModule as MatLegacyPseudoCheckboxModule, } from '@angular/material/core'; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9sZWdhY3ktY29yZS9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsT0FBTztBQUNMOzs7R0FHRztBQUNILE9BQU8sSUFBSSxjQUFjO0FBRXpCOzs7R0FHRztBQUNILGVBQWUsSUFBSSxxQkFBcUI7QUFFeEM7OztHQUdHO0FBQ0gsa0JBQWtCLElBQUksd0JBQXdCO0FBRTlDOzs7R0FHRztBQUNILGVBQWUsSUFBSSxxQkFBcUI7QUFFeEM7OztHQUdHO0FBQ0gsc0JBQXNCLElBQUksNkJBQTZCO0FBb0J2RDs7O0dBR0c7QUFDSCxhQUFhLElBQUksbUJBQW1CO0FBUXBDOzs7R0FHRztBQUNILFVBQVUsSUFBSSxnQkFBZ0I7QUFjOUI7OztHQUdHO0FBQ0gsa0JBQWtCLElBQUksd0JBQXdCO0FBUTlDOzs7R0FHRztBQUNILGFBQWEsSUFBSSxtQkFBbUI7QUFRcEM7OztHQUdHO0FBQ0gsZUFBZSxJQUFJLHFCQUFxQjtBQVF4Qzs7O0dBR0c7QUFDSCxnQkFBZ0IsSUFBSSxzQkFBc0I7QUFFMUM7OztHQUdHO0FBQ0gsZUFBZSxJQUFJLHNCQUFzQjtBQUV6Qzs7O0dBR0c7QUFDSCx1QkFBdUIsSUFBSSw4QkFBOEI7QUFFekQ7OztHQUdHO0FBQ0gsV0FBVyxJQUFJLGlCQUFpQjtBQVFoQzs7O0dBR0c7QUFDSCxnQkFBZ0IsSUFBSSx1QkFBdUI7QUFFM0M7OztHQUdHO0FBQ0gsaUJBQWlCLElBQUksdUJBQXVCO0FBRTVDOzs7R0FHRztBQUNILHVCQUF1QixJQUFJLDhCQUE4QjtBQUV6RDs7O0dBR0c7QUFDSCxnQkFBZ0IsSUFBSSxzQkFBc0I7QUFFMUM7OztHQUdHO0FBQ0gsbUJBQW1CLElBQUkseUJBQXlCO0FBRWhEOzs7R0FHRztBQUNILDRCQUE0QixJQUFJLGtDQUFrQztBQUVsRTs7O0dBR0c7QUFDSCxpQkFBaUIsSUFBSSx1QkFBdUI7QUFFNUM7OztHQUdHO0FBQ0gsT0FBTyxJQUFJLGFBQWE7QUFFeEI7OztHQUdHO0FBQ0gsUUFBUSxJQUFJLGNBQWM7QUFFMUI7OztHQUdHO0FBQ0gsYUFBYSxJQUFJLG1CQUFtQjtBQVFwQzs7O0dBR0c7QUFDSCx5QkFBeUIsSUFBSSxnQ0FBZ0M7QUFFN0Q7OztHQUdHO0FBQ0gsU0FBUyxJQUFJLGVBQWU7QUFvQjVCOzs7R0FHRztBQUNILFNBQVMsSUFBSSxlQUFlO0FBUTVCOzs7R0FHRztBQUNILDRCQUE0QixJQUFJLGtDQUFrQztBQUVsRTs7O0dBR0c7QUFDSCxjQUFjLElBQUksb0JBQW9CO0FBRXRDOzs7R0FHRztBQUNILGVBQWUsSUFBSSxxQkFBcUI7QUFReEM7OztHQUdHO0FBQ0gsaUJBQWlCLElBQUksdUJBQXVCO0FBRTVDOzs7R0FHRztBQUNILHVCQUF1QixJQUFJLDZCQUE2QixHQUN6RCxNQUFNLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vb3B0aW9uL2luZGV4JztcblxuZXhwb3J0IHtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgVkVSU0lPTmAgZnJvbSBgQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZWAgaW5zdGVhZC4gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS9tZGMtbWlncmF0aW9uIGZvciBpbmZvcm1hdGlvbiBhYm91dCBtaWdyYXRpbmcuXG4gICAqIEBicmVha2luZy1jaGFuZ2UgMTcuMC4wXG4gICAqL1xuICBWRVJTSU9OIGFzIExFR0FDWV9WRVJTSU9OLFxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYEFuaW1hdGlvbkN1cnZlc2AgZnJvbSBgQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZWAgaW5zdGVhZC4gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS9tZGMtbWlncmF0aW9uIGZvciBpbmZvcm1hdGlvbiBhYm91dCBtaWdyYXRpbmcuXG4gICAqIEBicmVha2luZy1jaGFuZ2UgMTcuMC4wXG4gICAqL1xuICBBbmltYXRpb25DdXJ2ZXMgYXMgTGVnYWN5QW5pbWF0aW9uQ3VydmVzLFxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYEFuaW1hdGlvbkR1cmF0aW9uc2AgZnJvbSBgQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZWAgaW5zdGVhZC4gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS9tZGMtbWlncmF0aW9uIGZvciBpbmZvcm1hdGlvbiBhYm91dCBtaWdyYXRpbmcuXG4gICAqIEBicmVha2luZy1jaGFuZ2UgMTcuMC4wXG4gICAqL1xuICBBbmltYXRpb25EdXJhdGlvbnMgYXMgTGVnYWN5QW5pbWF0aW9uRHVyYXRpb25zLFxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYE1hdENvbW1vbk1vZHVsZWAgZnJvbSBgQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZWAgaW5zdGVhZC4gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS9tZGMtbWlncmF0aW9uIGZvciBpbmZvcm1hdGlvbiBhYm91dCBtaWdyYXRpbmcuXG4gICAqIEBicmVha2luZy1jaGFuZ2UgMTcuMC4wXG4gICAqL1xuICBNYXRDb21tb25Nb2R1bGUgYXMgTWF0TGVnYWN5Q29tbW9uTW9kdWxlLFxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYE1BVEVSSUFMX1NBTklUWV9DSEVDS1NgIGZyb20gYEBhbmd1bGFyL21hdGVyaWFsL2NvcmVgIGluc3RlYWQuIFNlZSBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vZ3VpZGUvbWRjLW1pZ3JhdGlvbiBmb3IgaW5mb3JtYXRpb24gYWJvdXQgbWlncmF0aW5nLlxuICAgKiBAYnJlYWtpbmctY2hhbmdlIDE3LjAuMFxuICAgKi9cbiAgTUFURVJJQUxfU0FOSVRZX0NIRUNLUyBhcyBNQVRFUklBTF9MRUdBQ1lfU0FOSVRZX0NIRUNLUyxcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBTYW5pdHlDaGVja3NgIGZyb20gYEBhbmd1bGFyL21hdGVyaWFsL2NvcmVgIGluc3RlYWQuIFNlZSBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vZ3VpZGUvbWRjLW1pZ3JhdGlvbiBmb3IgaW5mb3JtYXRpb24gYWJvdXQgbWlncmF0aW5nLlxuICAgKiBAYnJlYWtpbmctY2hhbmdlIDE3LjAuMFxuICAgKi9cbiAgU2FuaXR5Q2hlY2tzIGFzIExlZ2FjeVNhbml0eUNoZWNrcyxcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBHcmFudWxhclNhbml0eUNoZWNrc2AgZnJvbSBgQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZWAgaW5zdGVhZC4gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS9tZGMtbWlncmF0aW9uIGZvciBpbmZvcm1hdGlvbiBhYm91dCBtaWdyYXRpbmcuXG4gICAqIEBicmVha2luZy1jaGFuZ2UgMTcuMC4wXG4gICAqL1xuICBHcmFudWxhclNhbml0eUNoZWNrcyBhcyBMZWdhY3lHcmFudWxhclNhbml0eUNoZWNrcyxcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBDYW5EaXNhYmxlYCBmcm9tIGBAYW5ndWxhci9tYXRlcmlhbC9jb3JlYCBpbnN0ZWFkLiBTZWUgaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmlvL2d1aWRlL21kYy1taWdyYXRpb24gZm9yIGluZm9ybWF0aW9uIGFib3V0IG1pZ3JhdGluZy5cbiAgICogQGJyZWFraW5nLWNoYW5nZSAxNy4wLjBcbiAgICovXG4gIENhbkRpc2FibGUgYXMgTGVnYWN5Q2FuRGlzYWJsZSxcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBtaXhpbkRpc2FibGVkYCBmcm9tIGBAYW5ndWxhci9tYXRlcmlhbC9jb3JlYCBpbnN0ZWFkLiBTZWUgaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmlvL2d1aWRlL21kYy1taWdyYXRpb24gZm9yIGluZm9ybWF0aW9uIGFib3V0IG1pZ3JhdGluZy5cbiAgICogQGJyZWFraW5nLWNoYW5nZSAxNy4wLjBcbiAgICovXG4gIG1peGluRGlzYWJsZWQgYXMgbGVnYWN5TWl4aW5EaXNhYmxlZCxcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBDYW5Db2xvcmAgZnJvbSBgQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZWAgaW5zdGVhZC4gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS9tZGMtbWlncmF0aW9uIGZvciBpbmZvcm1hdGlvbiBhYm91dCBtaWdyYXRpbmcuXG4gICAqIEBicmVha2luZy1jaGFuZ2UgMTcuMC4wXG4gICAqL1xuICBDYW5Db2xvciBhcyBMZWdhY3lDYW5Db2xvcixcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBtaXhpbkNvbG9yYCBmcm9tIGBAYW5ndWxhci9tYXRlcmlhbC9jb3JlYCBpbnN0ZWFkLiBTZWUgaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmlvL2d1aWRlL21kYy1taWdyYXRpb24gZm9yIGluZm9ybWF0aW9uIGFib3V0IG1pZ3JhdGluZy5cbiAgICogQGJyZWFraW5nLWNoYW5nZSAxNy4wLjBcbiAgICovXG4gIG1peGluQ29sb3IgYXMgbGVnYWN5TWl4aW5Db2xvcixcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBUaGVtZVBhbGV0dGVgIGZyb20gYEBhbmd1bGFyL21hdGVyaWFsL2NvcmVgIGluc3RlYWQuIFNlZSBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vZ3VpZGUvbWRjLW1pZ3JhdGlvbiBmb3IgaW5mb3JtYXRpb24gYWJvdXQgbWlncmF0aW5nLlxuICAgKiBAYnJlYWtpbmctY2hhbmdlIDE3LjAuMFxuICAgKi9cbiAgVGhlbWVQYWxldHRlIGFzIExlZ2FjeVRoZW1lUGFsZXR0ZSxcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBDYW5EaXNhYmxlUmlwcGxlYCBmcm9tIGBAYW5ndWxhci9tYXRlcmlhbC9jb3JlYCBpbnN0ZWFkLiBTZWUgaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmlvL2d1aWRlL21kYy1taWdyYXRpb24gZm9yIGluZm9ybWF0aW9uIGFib3V0IG1pZ3JhdGluZy5cbiAgICogQGJyZWFraW5nLWNoYW5nZSAxNy4wLjBcbiAgICovXG4gIENhbkRpc2FibGVSaXBwbGUgYXMgTGVnYWN5Q2FuRGlzYWJsZVJpcHBsZSxcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBtaXhpbkRpc2FibGVSaXBwbGVgIGZyb20gYEBhbmd1bGFyL21hdGVyaWFsL2NvcmVgIGluc3RlYWQuIFNlZSBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vZ3VpZGUvbWRjLW1pZ3JhdGlvbiBmb3IgaW5mb3JtYXRpb24gYWJvdXQgbWlncmF0aW5nLlxuICAgKiBAYnJlYWtpbmctY2hhbmdlIDE3LjAuMFxuICAgKi9cbiAgbWl4aW5EaXNhYmxlUmlwcGxlIGFzIGxlZ2FjeU1peGluRGlzYWJsZVJpcHBsZSxcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBIYXNUYWJJbmRleGAgZnJvbSBgQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZWAgaW5zdGVhZC4gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS9tZGMtbWlncmF0aW9uIGZvciBpbmZvcm1hdGlvbiBhYm91dCBtaWdyYXRpbmcuXG4gICAqIEBicmVha2luZy1jaGFuZ2UgMTcuMC4wXG4gICAqL1xuICBIYXNUYWJJbmRleCBhcyBMZWdhY3lIYXNUYWJJbmRleCxcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBtaXhpblRhYkluZGV4YCBmcm9tIGBAYW5ndWxhci9tYXRlcmlhbC9jb3JlYCBpbnN0ZWFkLiBTZWUgaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmlvL2d1aWRlL21kYy1taWdyYXRpb24gZm9yIGluZm9ybWF0aW9uIGFib3V0IG1pZ3JhdGluZy5cbiAgICogQGJyZWFraW5nLWNoYW5nZSAxNy4wLjBcbiAgICovXG4gIG1peGluVGFiSW5kZXggYXMgbGVnYWN5TWl4aW5UYWJJbmRleCxcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBDYW5VcGRhdGVFcnJvclN0YXRlYCBmcm9tIGBAYW5ndWxhci9tYXRlcmlhbC9jb3JlYCBpbnN0ZWFkLiBTZWUgaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmlvL2d1aWRlL21kYy1taWdyYXRpb24gZm9yIGluZm9ybWF0aW9uIGFib3V0IG1pZ3JhdGluZy5cbiAgICogQGJyZWFraW5nLWNoYW5nZSAxNy4wLjBcbiAgICovXG4gIENhblVwZGF0ZUVycm9yU3RhdGUgYXMgTGVnYWN5Q2FuVXBkYXRlRXJyb3JTdGF0ZSxcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBtaXhpbkVycm9yU3RhdGVgIGZyb20gYEBhbmd1bGFyL21hdGVyaWFsL2NvcmVgIGluc3RlYWQuIFNlZSBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vZ3VpZGUvbWRjLW1pZ3JhdGlvbiBmb3IgaW5mb3JtYXRpb24gYWJvdXQgbWlncmF0aW5nLlxuICAgKiBAYnJlYWtpbmctY2hhbmdlIDE3LjAuMFxuICAgKi9cbiAgbWl4aW5FcnJvclN0YXRlIGFzIGxlZ2FjeU1peGluRXJyb3JTdGF0ZSxcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBIYXNJbml0aWFsaXplZGAgZnJvbSBgQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZWAgaW5zdGVhZC4gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS9tZGMtbWlncmF0aW9uIGZvciBpbmZvcm1hdGlvbiBhYm91dCBtaWdyYXRpbmcuXG4gICAqIEBicmVha2luZy1jaGFuZ2UgMTcuMC4wXG4gICAqL1xuICBIYXNJbml0aWFsaXplZCBhcyBMZWdhY3lIYXNJbml0aWFsaXplZCxcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBtaXhpbkluaXRpYWxpemVkYCBmcm9tIGBAYW5ndWxhci9tYXRlcmlhbC9jb3JlYCBpbnN0ZWFkLiBTZWUgaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmlvL2d1aWRlL21kYy1taWdyYXRpb24gZm9yIGluZm9ybWF0aW9uIGFib3V0IG1pZ3JhdGluZy5cbiAgICogQGJyZWFraW5nLWNoYW5nZSAxNy4wLjBcbiAgICovXG4gIG1peGluSW5pdGlhbGl6ZWQgYXMgbGVnYWN5TWl4aW5Jbml0aWFsaXplZCxcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBNQVRfREFURV9MT0NBTEVgIGZyb20gYEBhbmd1bGFyL21hdGVyaWFsL2NvcmVgIGluc3RlYWQuIFNlZSBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vZ3VpZGUvbWRjLW1pZ3JhdGlvbiBmb3IgaW5mb3JtYXRpb24gYWJvdXQgbWlncmF0aW5nLlxuICAgKiBAYnJlYWtpbmctY2hhbmdlIDE3LjAuMFxuICAgKi9cbiAgTUFUX0RBVEVfTE9DQUxFIGFzIE1BVF9MRUdBQ1lfREFURV9MT0NBTEUsXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgTUFUX0RBVEVfTE9DQUxFX0ZBQ1RPUllgIGZyb20gYEBhbmd1bGFyL21hdGVyaWFsL2NvcmVgIGluc3RlYWQuIFNlZSBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vZ3VpZGUvbWRjLW1pZ3JhdGlvbiBmb3IgaW5mb3JtYXRpb24gYWJvdXQgbWlncmF0aW5nLlxuICAgKiBAYnJlYWtpbmctY2hhbmdlIDE3LjAuMFxuICAgKi9cbiAgTUFUX0RBVEVfTE9DQUxFX0ZBQ1RPUlkgYXMgTUFUX0xFR0FDWV9EQVRFX0xPQ0FMRV9GQUNUT1JZLFxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYERhdGVBZGFwdGVyYCBmcm9tIGBAYW5ndWxhci9tYXRlcmlhbC9jb3JlYCBpbnN0ZWFkLiBTZWUgaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmlvL2d1aWRlL21kYy1taWdyYXRpb24gZm9yIGluZm9ybWF0aW9uIGFib3V0IG1pZ3JhdGluZy5cbiAgICogQGJyZWFraW5nLWNoYW5nZSAxNy4wLjBcbiAgICovXG4gIERhdGVBZGFwdGVyIGFzIExlZ2FjeURhdGVBZGFwdGVyLFxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYE1hdERhdGVGb3JtYXRzYCBmcm9tIGBAYW5ndWxhci9tYXRlcmlhbC9jb3JlYCBpbnN0ZWFkLiBTZWUgaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmlvL2d1aWRlL21kYy1taWdyYXRpb24gZm9yIGluZm9ybWF0aW9uIGFib3V0IG1pZ3JhdGluZy5cbiAgICogQGJyZWFraW5nLWNoYW5nZSAxNy4wLjBcbiAgICovXG4gIE1hdERhdGVGb3JtYXRzIGFzIE1hdExlZ2FjeURhdGVGb3JtYXRzLFxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYE1BVF9EQVRFX0ZPUk1BVFNgIGZyb20gYEBhbmd1bGFyL21hdGVyaWFsL2NvcmVgIGluc3RlYWQuIFNlZSBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vZ3VpZGUvbWRjLW1pZ3JhdGlvbiBmb3IgaW5mb3JtYXRpb24gYWJvdXQgbWlncmF0aW5nLlxuICAgKiBAYnJlYWtpbmctY2hhbmdlIDE3LjAuMFxuICAgKi9cbiAgTUFUX0RBVEVfRk9STUFUUyBhcyBNQVRfTEVHQUNZX0RBVEVfRk9STUFUUyxcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBOYXRpdmVEYXRlQWRhcHRlcmAgZnJvbSBgQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZWAgaW5zdGVhZC4gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS9tZGMtbWlncmF0aW9uIGZvciBpbmZvcm1hdGlvbiBhYm91dCBtaWdyYXRpbmcuXG4gICAqIEBicmVha2luZy1jaGFuZ2UgMTcuMC4wXG4gICAqL1xuICBOYXRpdmVEYXRlQWRhcHRlciBhcyBMZWdhY3lOYXRpdmVEYXRlQWRhcHRlcixcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBNQVRfTkFUSVZFX0RBVEVfRk9STUFUU2AgZnJvbSBgQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZWAgaW5zdGVhZC4gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS9tZGMtbWlncmF0aW9uIGZvciBpbmZvcm1hdGlvbiBhYm91dCBtaWdyYXRpbmcuXG4gICAqIEBicmVha2luZy1jaGFuZ2UgMTcuMC4wXG4gICAqL1xuICBNQVRfTkFUSVZFX0RBVEVfRk9STUFUUyBhcyBNQVRfTEVHQUNZX05BVElWRV9EQVRFX0ZPUk1BVFMsXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgTmF0aXZlRGF0ZU1vZHVsZWAgZnJvbSBgQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZWAgaW5zdGVhZC4gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS9tZGMtbWlncmF0aW9uIGZvciBpbmZvcm1hdGlvbiBhYm91dCBtaWdyYXRpbmcuXG4gICAqIEBicmVha2luZy1jaGFuZ2UgMTcuMC4wXG4gICAqL1xuICBOYXRpdmVEYXRlTW9kdWxlIGFzIExlZ2FjeU5hdGl2ZURhdGVNb2R1bGUsXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgTWF0TmF0aXZlRGF0ZU1vZHVsZWAgZnJvbSBgQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZWAgaW5zdGVhZC4gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS9tZGMtbWlncmF0aW9uIGZvciBpbmZvcm1hdGlvbiBhYm91dCBtaWdyYXRpbmcuXG4gICAqIEBicmVha2luZy1jaGFuZ2UgMTcuMC4wXG4gICAqL1xuICBNYXROYXRpdmVEYXRlTW9kdWxlIGFzIE1hdExlZ2FjeU5hdGl2ZURhdGVNb2R1bGUsXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgU2hvd09uRGlydHlFcnJvclN0YXRlTWF0Y2hlcmAgZnJvbSBgQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZWAgaW5zdGVhZC4gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS9tZGMtbWlncmF0aW9uIGZvciBpbmZvcm1hdGlvbiBhYm91dCBtaWdyYXRpbmcuXG4gICAqIEBicmVha2luZy1jaGFuZ2UgMTcuMC4wXG4gICAqL1xuICBTaG93T25EaXJ0eUVycm9yU3RhdGVNYXRjaGVyIGFzIExlZ2FjeVNob3dPbkRpcnR5RXJyb3JTdGF0ZU1hdGNoZXIsXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgRXJyb3JTdGF0ZU1hdGNoZXJgIGZyb20gYEBhbmd1bGFyL21hdGVyaWFsL2NvcmVgIGluc3RlYWQuIFNlZSBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vZ3VpZGUvbWRjLW1pZ3JhdGlvbiBmb3IgaW5mb3JtYXRpb24gYWJvdXQgbWlncmF0aW5nLlxuICAgKiBAYnJlYWtpbmctY2hhbmdlIDE3LjAuMFxuICAgKi9cbiAgRXJyb3JTdGF0ZU1hdGNoZXIgYXMgTGVnYWN5RXJyb3JTdGF0ZU1hdGNoZXIsXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgTWF0TGluZWAgZnJvbSBgQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZWAgaW5zdGVhZC4gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS9tZGMtbWlncmF0aW9uIGZvciBpbmZvcm1hdGlvbiBhYm91dCBtaWdyYXRpbmcuXG4gICAqIEBicmVha2luZy1jaGFuZ2UgMTcuMC4wXG4gICAqL1xuICBNYXRMaW5lIGFzIE1hdExlZ2FjeUxpbmUsXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgc2V0TGluZXNgIGZyb20gYEBhbmd1bGFyL21hdGVyaWFsL2NvcmVgIGluc3RlYWQuIFNlZSBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vZ3VpZGUvbWRjLW1pZ3JhdGlvbiBmb3IgaW5mb3JtYXRpb24gYWJvdXQgbWlncmF0aW5nLlxuICAgKiBAYnJlYWtpbmctY2hhbmdlIDE3LjAuMFxuICAgKi9cbiAgc2V0TGluZXMgYXMgbGVnYWN5U2V0TGluZXMsXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgTWF0TGluZU1vZHVsZWAgZnJvbSBgQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZWAgaW5zdGVhZC4gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS9tZGMtbWlncmF0aW9uIGZvciBpbmZvcm1hdGlvbiBhYm91dCBtaWdyYXRpbmcuXG4gICAqIEBicmVha2luZy1jaGFuZ2UgMTcuMC4wXG4gICAqL1xuICBNYXRMaW5lTW9kdWxlIGFzIE1hdExlZ2FjeUxpbmVNb2R1bGUsXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgUmlwcGxlR2xvYmFsT3B0aW9uc2AgZnJvbSBgQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZWAgaW5zdGVhZC4gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS9tZGMtbWlncmF0aW9uIGZvciBpbmZvcm1hdGlvbiBhYm91dCBtaWdyYXRpbmcuXG4gICAqIEBicmVha2luZy1jaGFuZ2UgMTcuMC4wXG4gICAqL1xuICBSaXBwbGVHbG9iYWxPcHRpb25zIGFzIExlZ2FjeVJpcHBsZUdsb2JhbE9wdGlvbnMsXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgTUFUX1JJUFBMRV9HTE9CQUxfT1BUSU9OU2AgZnJvbSBgQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZWAgaW5zdGVhZC4gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS9tZGMtbWlncmF0aW9uIGZvciBpbmZvcm1hdGlvbiBhYm91dCBtaWdyYXRpbmcuXG4gICAqIEBicmVha2luZy1jaGFuZ2UgMTcuMC4wXG4gICAqL1xuICBNQVRfUklQUExFX0dMT0JBTF9PUFRJT05TIGFzIE1BVF9MRUdBQ1lfUklQUExFX0dMT0JBTF9PUFRJT05TLFxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYE1hdFJpcHBsZWAgZnJvbSBgQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZWAgaW5zdGVhZC4gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS9tZGMtbWlncmF0aW9uIGZvciBpbmZvcm1hdGlvbiBhYm91dCBtaWdyYXRpbmcuXG4gICAqIEBicmVha2luZy1jaGFuZ2UgMTcuMC4wXG4gICAqL1xuICBNYXRSaXBwbGUgYXMgTWF0TGVnYWN5UmlwcGxlLFxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYFJpcHBsZVN0YXRlYCBmcm9tIGBAYW5ndWxhci9tYXRlcmlhbC9jb3JlYCBpbnN0ZWFkLiBTZWUgaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmlvL2d1aWRlL21kYy1taWdyYXRpb24gZm9yIGluZm9ybWF0aW9uIGFib3V0IG1pZ3JhdGluZy5cbiAgICogQGJyZWFraW5nLWNoYW5nZSAxNy4wLjBcbiAgICovXG4gIFJpcHBsZVN0YXRlIGFzIExlZ2FjeVJpcHBsZVN0YXRlLFxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYFJpcHBsZUNvbmZpZ2AgZnJvbSBgQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZWAgaW5zdGVhZC4gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS9tZGMtbWlncmF0aW9uIGZvciBpbmZvcm1hdGlvbiBhYm91dCBtaWdyYXRpbmcuXG4gICAqIEBicmVha2luZy1jaGFuZ2UgMTcuMC4wXG4gICAqL1xuICBSaXBwbGVDb25maWcgYXMgTGVnYWN5UmlwcGxlQ29uZmlnLFxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYFJpcHBsZUFuaW1hdGlvbkNvbmZpZ2AgZnJvbSBgQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZWAgaW5zdGVhZC4gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS9tZGMtbWlncmF0aW9uIGZvciBpbmZvcm1hdGlvbiBhYm91dCBtaWdyYXRpbmcuXG4gICAqIEBicmVha2luZy1jaGFuZ2UgMTcuMC4wXG4gICAqL1xuICBSaXBwbGVBbmltYXRpb25Db25maWcgYXMgTGVnYWN5UmlwcGxlQW5pbWF0aW9uQ29uZmlnLFxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYFJpcHBsZVJlZmAgZnJvbSBgQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZWAgaW5zdGVhZC4gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS9tZGMtbWlncmF0aW9uIGZvciBpbmZvcm1hdGlvbiBhYm91dCBtaWdyYXRpbmcuXG4gICAqIEBicmVha2luZy1jaGFuZ2UgMTcuMC4wXG4gICAqL1xuICBSaXBwbGVSZWYgYXMgTGVnYWN5UmlwcGxlUmVmLFxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYFJpcHBsZVRhcmdldGAgZnJvbSBgQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZWAgaW5zdGVhZC4gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS9tZGMtbWlncmF0aW9uIGZvciBpbmZvcm1hdGlvbiBhYm91dCBtaWdyYXRpbmcuXG4gICAqIEBicmVha2luZy1jaGFuZ2UgMTcuMC4wXG4gICAqL1xuICBSaXBwbGVUYXJnZXQgYXMgTGVnYWN5UmlwcGxlVGFyZ2V0LFxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGRlZmF1bHRSaXBwbGVBbmltYXRpb25Db25maWdgIGZyb20gYEBhbmd1bGFyL21hdGVyaWFsL2NvcmVgIGluc3RlYWQuIFNlZSBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vZ3VpZGUvbWRjLW1pZ3JhdGlvbiBmb3IgaW5mb3JtYXRpb24gYWJvdXQgbWlncmF0aW5nLlxuICAgKiBAYnJlYWtpbmctY2hhbmdlIDE3LjAuMFxuICAgKi9cbiAgZGVmYXVsdFJpcHBsZUFuaW1hdGlvbkNvbmZpZyBhcyBsZWdhY3lEZWZhdWx0UmlwcGxlQW5pbWF0aW9uQ29uZmlnLFxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYFJpcHBsZVJlbmRlcmVyYCBmcm9tIGBAYW5ndWxhci9tYXRlcmlhbC9jb3JlYCBpbnN0ZWFkLiBTZWUgaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmlvL2d1aWRlL21kYy1taWdyYXRpb24gZm9yIGluZm9ybWF0aW9uIGFib3V0IG1pZ3JhdGluZy5cbiAgICogQGJyZWFraW5nLWNoYW5nZSAxNy4wLjBcbiAgICovXG4gIFJpcHBsZVJlbmRlcmVyIGFzIExlZ2FjeVJpcHBsZVJlbmRlcmVyLFxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYE1hdFJpcHBsZU1vZHVsZWAgZnJvbSBgQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZWAgaW5zdGVhZC4gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS9tZGMtbWlncmF0aW9uIGZvciBpbmZvcm1hdGlvbiBhYm91dCBtaWdyYXRpbmcuXG4gICAqIEBicmVha2luZy1jaGFuZ2UgMTcuMC4wXG4gICAqL1xuICBNYXRSaXBwbGVNb2R1bGUgYXMgTWF0TGVnYWN5UmlwcGxlTW9kdWxlLFxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYE1hdFBzZXVkb0NoZWNrYm94U3RhdGVgIGZyb20gYEBhbmd1bGFyL21hdGVyaWFsL2NvcmVgIGluc3RlYWQuIFNlZSBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vZ3VpZGUvbWRjLW1pZ3JhdGlvbiBmb3IgaW5mb3JtYXRpb24gYWJvdXQgbWlncmF0aW5nLlxuICAgKiBAYnJlYWtpbmctY2hhbmdlIDE3LjAuMFxuICAgKi9cbiAgTWF0UHNldWRvQ2hlY2tib3hTdGF0ZSBhcyBNYXRMZWdhY3lQc2V1ZG9DaGVja2JveFN0YXRlLFxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYE1hdFBzZXVkb0NoZWNrYm94YCBmcm9tIGBAYW5ndWxhci9tYXRlcmlhbC9jb3JlYCBpbnN0ZWFkLiBTZWUgaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmlvL2d1aWRlL21kYy1taWdyYXRpb24gZm9yIGluZm9ybWF0aW9uIGFib3V0IG1pZ3JhdGluZy5cbiAgICogQGJyZWFraW5nLWNoYW5nZSAxNy4wLjBcbiAgICovXG4gIE1hdFBzZXVkb0NoZWNrYm94IGFzIE1hdExlZ2FjeVBzZXVkb0NoZWNrYm94LFxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYE1hdFBzZXVkb0NoZWNrYm94TW9kdWxlYCBmcm9tIGBAYW5ndWxhci9tYXRlcmlhbC9jb3JlYCBpbnN0ZWFkLiBTZWUgaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmlvL2d1aWRlL21kYy1taWdyYXRpb24gZm9yIGluZm9ybWF0aW9uIGFib3V0IG1pZ3JhdGluZy5cbiAgICogQGJyZWFraW5nLWNoYW5nZSAxNy4wLjBcbiAgICovXG4gIE1hdFBzZXVkb0NoZWNrYm94TW9kdWxlIGFzIE1hdExlZ2FjeVBzZXVkb0NoZWNrYm94TW9kdWxlLFxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbiJdfQ==