@c8y/ngx-components 1018.0.91 → 1018.0.93

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.
@@ -181,6 +181,10 @@ export declare class ApplicationOptions {
181
181
  * Allows to opt out of supporting/loading plugins for this application.
182
182
  */
183
183
  noPlugins?: boolean;
184
+ /**
185
+ * Allows to opt out of the version warning which is shown in the dev tools.
186
+ */
187
+ noVersionWarning?: boolean;
184
188
  }
185
189
  export interface RemotePlugins {
186
190
  /**
@@ -5,4 +5,4 @@
5
5
  */
6
6
  export class ApplicationOptions {
7
7
  }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwbGljYXRpb25PcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9jb21tb24vQXBwbGljYXRpb25PcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0NBd0w5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBcHBsaWNhdGlvbiB9IGZyb20gJ0BjOHkvY2xpZW50JztcblxuLypcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tV0FSTklORy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVGhpcyBmaWxlIGhhcyBhbiAqZXhhY3QqIGNvcHkgaW4gcGFja2FnZXMvY2xpL3NyYy93ZWJwYWNrLy5cbiAqIEFueSBjaGFuZ2VzIHRvIHRoaXMgZmlsZSBtdXN0IGJlIHJlZmxlY3RlZCB0aGVyZSwgdG9vLlxuICovXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25PcHRpb25zIHtcbiAgLyoqIEFwcGxpY2F0aW9uIG5hbWUgKHNhdmVkIHRvIHRoZSBzZXJ2ZXIpLiAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBBcHBsaWNhdGlvbiBjb250ZXh0IHBhdGggKHNhdmVkIHRvIHRoZSBzZXJ2ZXIpLiAqL1xuICBjb250ZXh0UGF0aDogc3RyaW5nO1xuICAvKiogQXBwbGljYXRpb24ga2V5IChzYXZlZCB0byB0aGUgc2VydmVyKS4gKi9cbiAga2V5OiBzdHJpbmc7XG4gIC8qKiBUaGUgdmVyc2lvbiBvZiB0aGUgYXBwbGljYXRpb24gKi9cbiAgdmVyc2lvbj86IHN0cmluZztcbiAgLyoqIFRoZSB2ZXJzaW9uIG9mIHRoZSB1c2VkIFdlYiBTREsgdmVyc2lvbiAqL1xuICB3ZWJTZGtWZXJzaW9uPzogc3RyaW5nO1xuICAvKiogU2V0IHRvIGB0cnVlYCBpZiB0aGUgYXBwbGljYXRpb24gaXMgaHlicmlkIGFuZCB1c2VzIEFuZ3VsYXIgYW5kIEFuZ3VsYXJKUyBzaW11bHRhbmVvdXNseS4gKi9cbiAgdXBncmFkZT86IGJvb2xlYW47XG4gIC8qKiBQYXRoIHRvIHRoZSBicmFuZGluZyBlbnRyeSBmaWxlLiAoU2V0IGl0IHRvIGZhbHNlIHRvIGRpc2FibGUgYW55IHN0eWxpbmcuIFlvdSBjYW4gaGFuZGxlIHRoZSBzdHlsaW5nIHRoZW4gb24geW91ciBvd24gZS5nLiBpbiBhbiBhbmd1bGFyLmpzb24gZmlsZSB1c2luZyBuZy1jbGkpICovXG4gIGJyYW5kaW5nRW50cnk/OiBzdHJpbmcgfCBib29sZWFuO1xuICAvKiogUGF0aCB0byB0c2NjbmZpZy5qc29uIGZpbGUgaWYgVHlwZVNjcmlwdCBpcyB1c2VkIChkZWZhdWx0OiAuL3RzY29uZmlnLmpzb24pLiAqL1xuICB0c0NvbmZpZ1BhdGg/OiBzdHJpbmc7XG4gIC8qKiBFbnRyeSBtb2R1bGUgZm9yIEFuZ3VsYXIgY29tcGlsZXIgKG9ubHkgdXNlZCB3aXRoIGxhenkgbG9hZGVkIHJvdXRlcyksIGUuZy4gYCdhcHAubW9kdWxlLnRzI0FwcE1vZHVsZSdgLiAqL1xuICBlbnRyeU1vZHVsZT86IHN0cmluZztcbiAgLyoqIFBhdGggdG8gY3VzdG9tIGluZGV4Lmh0bWwgKG90aGVyd2lzZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQpLiAqL1xuICBpbmRleFRlbXBsYXRlPzogc3RyaW5nO1xuICAvKiogVVJMIHRvIGR5bmFtaWNhbGx5IGZldGNoZWQgb3B0aW9ucy4gKi9cbiAgZHluYW1pY09wdGlvbnNVcmw/OiBzdHJpbmc7XG4gIC8qKiBVUkwgdG8gZmF2aWNvbi4gKi9cbiAgZmF2aWNvblVybD86IHN0cmluZztcbiAgLyoqIFVSTCB0byAqLmNzcyBmaWxlIHdoaWNoIHdpbGwgcmVwbGFjZSBkZWZhdWx0IGJyYW5kaW5nLiAqL1xuICBicmFuZGluZ1VybD86IHN0cmluZztcbiAgLyoqIE9iamVjdCB3aXRoIHByb3BlcnRpZXMgdGhhdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBDU1MgY3VzdG9tIHZhcmlhYmxlcy4gKi9cbiAgYnJhbmRpbmdDc3NWYXJzPzogQnJhbmRpbmdDc3NWYXJzO1xuICAvKipcbiAgICogQWxsb3dzIGZvciBhZGRpbmcgb3Igb3ZlcnJpZGluZyBsYW5ndWFnZXMgYXZhaWxhYmxlIGluIHRoZSBhcHBsaWNhdGlvbi5cbiAgICpcbiAgICogSXRzIGtleXMgYXJlIGxhbmd1YWdlIGNvZGVzIGFuZCBpdHMgdmFsdWVzIGFyZSBvYmplY3RzIHdpdGggdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOlxuICAgKlxuICAgKiAtIGBuYW1lYDogRW5nbGlzaCBuYW1lIG9mIHRoZSBsYW5ndWFnZSxcbiAgICogLSBgbmF0aXZlTmFtZWA6IG5hdGl2ZSBuYW1lIG9mIHRoZSBsYW5ndWFnZSxcbiAgICogLSBgdXJsYDogZnVsbCBVUkwgdG8gSlNPTiBmaWxlIHdpdGggY29tcGlsZWQgdHJhbnNsYXRpb25zO1xuICAgKiAgICBpZiBub3QgZGVmaW5lZCwgdHJhbnNsYXRpb25zIHdpbGwgYmUgbG9hZGVkIGZyb20gYCR7bG9jYWxlUGF0aH0vJHtsYW5nQ29kZX0uanNvbmAuXG4gICAqXG4gICAqIEV4YW1wbGU6XG4gICAqIGBgYGpzb25cbiAgICogXCJsYW5ndWFnZXNcIjoge1xuICAgKiAgIFwiZGVcIjoge1xuICAgKiAgICAgXCJuYW1lXCI6IFwiR2VybWFuXCIsXG4gICAqICAgICBcIm5hdGl2ZU5hbWVcIjogXCJEZXV0c2NoXCIsXG4gICAqICAgICBcInVybFwiOiBcIi9hcHBzL3B1YmxpYy91aS1hc3NldHMvZGUuanNvblwiXG4gICAqICAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgbGFuZ3VhZ2VzPzogTGFuZ3VhZ2VzO1xuICAvKipcbiAgICogQWxsb3dzIGZvciBhZGRpbmcgY3VzdG9tIHRyYW5zbGF0aW9ucy4gSXQgaXMgYW4gb3B0aW9uYWwgcHJvcGVydHkuXG4gICAqXG4gICAqIEl0cyBrZXlzIGFyZSBsYW5ndWFnZSBjb2RlcyAoaHR0cHM6Ly9jdW11bG9jaXR5LmNvbS9ndWlkZXMvdXNlcnMtZ3VpZGUvZ2V0dGluZy1zdGFydGVkLyNhLW5hbWUtbGFuZ3VhZ2VzLWEtYXZhaWxhYmxlLWxhbmd1YWdlcylcbiAgICogYW5kIGl0cyB2YWx1ZXMgYXJlIG9iamVjdHMgd2l0aCBrZXktdmFsdWUgcGFpcnMsIHdoZXJlIHRoZSBrZXkgaXMgdGhlIG9yaWdpbmFsIHN0cmluZyBpbiBFbmdsaXNoIGFuZCB0aGUgdmFsdWUgLSBpdHMgdHJhbnNsYXRpb24uXG4gICAqXG4gICAqIC0gYEhvbWVgOiBcIlN0YXJ0c2VpdGVcIlxuICAgKlxuICAgKiBGb3IgZXhhbXBsZSB5b3UgY2FuIGFkZCB0aGUgdHJhbnNsYXRpb24gb2YgeW91ciBjdXN0b20gY29va2llIGJhbm5lciBjb25maWd1cmVkIGluIHRoZSBicmFuZGluZyBzZXR0aW5nczpcbiAgICogYGBganNvblxuICAgKiBcImkxOG5FeHRyYVwiOiB7XG4gICAqICAgXCJkZVwiOiB7XG4gICAqICAgICBcIkFib3V0IGNvb2tpZXMgb24gQ3VtdWxvY2l0eSBJb1RcIjogXCJJbmZvcm1hdGlvbmVuIHp1IENvb2tpZXMgaW4gQ3VtdWxvY2l0eSBJb1RcIixcbiAgICogICAgIFwiQ2xpY2sgQWdyZWUgYW5kIFByb2NlZWQgdG8gYWNjZXB0IGNvb2tpZXMgYW5kIGdvIGRpcmVjdGx5IHRvIHRoZSBwbGF0Zm9ybSBvciBjbGljayBvbiBQcml2YWN5IFBvbGljeSB0byBzZWUgZGV0YWlsZWQgZGVzY3JpcHRpb25zIG9mIHRoZSB1c2VkIGNvb2tpZXMuXCI6IFwiS2xpY2tlbiBTaWUgYXVmIFp1c3RpbW1lbiB1bmQgZm9ydGZhaHJlbiwgdW0gQ29va2llcyB6dSBha3plcHRpZXJlbiB1bmQgZGlyZWt0IHp1ciBQbGF0dGZvcm0genUgZ2VsYW5nZW4sIG9kZXIga2xpY2tlbiBTaWUgYXVmIERhdGVuc2NodXR6cmljaHRsaW5pZSwgdW0gZGV0YWlsbGllcnRlIEJlc2NocmVpYnVuZ2VuIGRlciB2ZXJ3ZW5kZXRlbiBDb29raWVzIGFuenV6ZWlnZW4uXCJcbiAgICogICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBpMThuRXh0cmE/OiBJMThuRXh0cmE7XG4gIC8qKiBQYXRoIHRvIHRoZSBmb2xkZXIgZnJvbSB3aGljaCAqLnBvIGZpbGVzIHdpbGwgYmUgbG9hZGVkLiAqL1xuICBsb2NhbGVQYXRoPzogc3RyaW5nO1xuICAvKiogQXJyYXkgb2YgVVJMcyB0byBhZGRpdGlvbmFsICouY3NzIGZpbGVzIHRvIGJlIGxvYWRlZCBhdCBydW50aW1lLiAqL1xuICBleHRyYUNzc1VybHM/OiBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb24gbGlua3Mgc2V0dGluZ3MuICovXG4gIGRvY3M/OiBEb2NzO1xuICAvKiogQXBwbGljYXRpb24gaWNvbiB0byBiZSBkaXNwbGF5ZWQgaW4gYXBwIHN3aXRjaGVyIGFuZCBoZWFkZXIgYmFyLiAqL1xuICBpY29uPzogSWNvbjtcblxuICAvLyBUaGVzZSBhcmUgdGhlIG9sZCBvcHRpb25zXG4gIC8qKiBIaWRlIGFwcGxpY2F0aW9uIGluIGFwcCBzd2l0Y2hlciAoc2F2ZWQgdG8gdGhlIHNlcnZlcikuICovXG4gIG5vQXBwU3dpdGNoZXI/OiBib29sZWFuO1xuICAvKiogSFRNTCBwYWdlIHRpdGxlLiAqL1xuICBnbG9iYWxUaXRsZT86IHN0cmluZztcbiAgLyoqIEhpZGUgXCJwb3dlcmVkIGJ5XCIgYW5kIHZlcnNpb24gaW5mbyBhdCB0aGUgYm90dG9tIG9mIHRoZSBuYXZpZ2F0b3IgYW5kIGluIHRoZSByaWdodCBkcmF3ZXIuICovXG4gIGhpZGVQb3dlcmVkPzogYm9vbGVhbjtcbiAgLyoqIEhpZGVzIHRoZSBcIlBsYXRmb3JtIGluZm9ybWF0aW9uXCIgaW4gdGhlIHJpZ2h0IGRyYXdlciwgd2lsbCBvdmVycnVsZSB0aGUgXCJoaWRlUG93ZXJlZFwiIG9wdGlvbiAqL1xuICBoaWRlUGxhdGZvcm1JbmZvcm1hdGlvbj86IGJvb2xlYW47XG4gIC8qKiBVUkwgdG8gc3VwcG9ydCBwYWdlIChzZXQgdG8gYGZhbHNlYCB0byBoaWRlIHRoZSBsaW5rKS4gKi9cbiAgc3VwcG9ydFVybD86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIC8qKlxuICAgKiBSZXBsYWNlbWVudCBzdHJpbmcgZm9yIGB1c2VyYCBmaWVsZCBpbiBhdWRpdCBsb2dzIGZvciBhY3Rpb25zIHBlcmZvcm1lZCBieSBhIHN1cHBvcnQgdXNlclxuICAgKiAoYXZhaWxhYmxlIHBsYWNlaG9sZGVyczogYHt7c3VwcG9ydF91c2VyfX1gLCBge3tzdXBwb3J0ZWRfdXNlcn19YCkuXG4gICAqL1xuICBzdXBwb3J0VXNlclN0cmluZz86IHN0cmluZztcbiAgLyoqXG4gICAqIERpc2FibGVzIHJlYWx0aW1lIHVwZGF0ZXMgb24gdGhlIG1hcCB3aWRnZXQgYW5kIG1hcHMgaW4gZ2VuZXJhbC5cbiAgICovXG4gIG1hcFdpZGdldFJlYWx0aW1lRGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIGFkanVzdCB0aGUgZGVmYXVsdCBwYWdlc2l6ZSBvZiAxMDAgaXRlbXMgb2YgdGhlIG1hcCB3aWRnZXQgYW5kIG1hcHMgaW4gZ2VuZXJhbC5cbiAgICovXG4gIG1hcFdpZGdldFBhZ2VTaXplPzogbnVtYmVyO1xuICAvKipcbiAgICogQWxsb3dzIHRvIGhpZGUgdGhlIGhpbnQgdGhhdCB0aGVyZSBhcmUgbW9yZSBkZXZpY2VzIHdpdGggZ2VvIGNvb3JkaW5hdGVzIHRoZW4gZGlzcGxheWVkIG9uIHRoZSBtYXAgd2lkZ2V0IGFuZCBtYXBzIGluIGdlbmVyYWwuXG4gICAqL1xuICBtYXBXaWRnZXRIaWRlTWF4RGV2aWNlT25NYXBIaW50PzogYm9vbGVhbjtcbiAgLyoqIEVuYWJsZSBvciBkaXNhYmxlIHRoZSByaWdodCBkcmF3ZXIuICovXG4gIHJpZ2h0RHJhd2VyPzogYm9vbGVhbjtcbiAgLyoqIEVuYWJsZSBvciBkaXNhYmxlIGJyZWFkY3J1bWJzIGluIHRoZSBoZWFkZXIgZm9yIGdyb3VwcyBhbmQgZGV2aWNlcyAoZGVmYXVsdDogZmFsc2UpLiAqL1xuICBicmVhZGNydW1icz86IGJvb2xlYW47XG4gIC8qKiBDb2xsYXBzZSBuYXZpZ2F0b3Igb24gaW5pdGlhbCBsb2FkLiAqL1xuICBoaWRlTmF2aWdhdG9yPzogYm9vbGVhbjtcbiAgLyoqIFNob3cgdGFicyBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS4gKi9cbiAgdGFic0hvcml6b250YWw/OiBib29sZWFuO1xuICAvKiogQWRkaXRpb25hbCBsaW5rIHRvIGRpc3BsYXkgb24gbG9naW4gc2NyZWVuLiAqL1xuICBsb2dpbkV4dHJhTGluaz86IExvZ2luRXh0cmFMaW5rO1xuICAvKiogRW5hYmxlIG9yIGRpc2FibGUgc3RvcmFnZSBsaW1pdGF0aW9uIGZlYXR1cmUuICovXG4gIHN0b3JhZ2VMaW1pdGF0aW9uRmVhdHVyZUVuYWJsZWQ/OiBib29sZWFuO1xuICAvKiogTmFtZSBvZiBjb21wYW55IGhhbmRsaW5nIHN1cHBvcnQgcmVxdWVzdHMgZnJvbSBhcHAgdXNlcnMgKGRpc3BsYXllZCBpbiBub3RpZmljYXRpb24gbWVzc2FnZSkuICovXG4gIGNvbXBhbnlOYW1lPzogc3RyaW5nO1xuICAvKiogVVJMIHRlbXBsYXRlIGZvciBkb2N1bWVudGF0aW9uIGxpbmtzIChkZWZhdWx0OiBgJyR7ZG9jc0Jhc2VVcmx9JHtwYXJ0aWFsVXJsfSdgKS4gKi9cbiAgZ3VpZGVIcmVmVGVtcGxhdGU/OiBzdHJpbmc7XG4gIC8qKiBCYXNlIFVSTCBmb3IgZG9jdW1lbnRhdGlvbiBsaW5rcyAoaW5jbHVkZSBge3sgdmVyc2lvbiB9fWAgcGxhY2Vob2xkZXIsIGlmIHlvdSB3YW50IHZlcnNpb25lZCBsaW5rcykuICovXG4gIGRvY3NCYXNlVXJsPzogc3RyaW5nO1xuICAvKiogQ1NQIHN0cmluZyB0byBiZSBhcHBsaWVkIHRvIGBpbmRleC5odG1sYCBieSByZXBsYWNpbmcgZGVmYXVsdCB2YWx1ZXMuICovXG4gIGNvbnRlbnRTZWN1cml0eVBvbGljeT86IHN0cmluZztcbiAgLyoqIEVuYWJsZXMgY2xvdWQgc2Vuc29yIHdpemFyZCAqL1xuICBzZW5zb3JQaG9uZT86IGJvb2xlYW47XG4gIC8qKiBTaG93IG9yIGhpZGUgYSBuZXdzbGV0dGVyIHN1YnNjcmlwdGlvbiBjaGVja2JveCBpbiBlZGl0IHVzZXIgbW9kYWwuICovXG4gIG5ld3NsZXR0ZXI/OiBib29sZWFuO1xuICAvKiogUGF0aCB0byB0aGUgcm9vdCBub2RlX21vZHVsZXMgZGlyICh1c2VmdWwgd2hlbiB3b3JraW5nIGluIG1vbm9yZXBvIHNldHVwLCBlLmcuIHlhcm4gd29ya3NwYWNlcykuICovXG4gIHJvb3ROb2RlTW9kdWxlc1BhdGg/OiBzdHJpbmc7XG4gIC8qKiBDb29raWUgQmFubmVyIGNvbmZpZ3VyYXRpb24gKi9cbiAgY29va2llQmFubmVyPzogQ29va2llQmFubmVyQ29uZmlndXJhdGlvbjtcbiAgLyoqIENvb2tpZSBwcmVmZXJlbmNlcyBjb25maWd1cmF0aW9uLiBIZXJlIHlvdSBjYW4gZW5hYmxlIG9yIGRpc2FibGUgY29va2llIGNhdGVnb3JpZXMgKi9cbiAgY29va2llUHJlZmVyZW5jZXM/OiBDb29raWVQcmVmZXJlbmNlc0NvbmZpZ3VyYXRpb247XG4gIC8qKiBBIGtleSBmb3IgdGhlIHByb2R1Y3QgZXhwZXJpZW5jZSBzb2Z0d2FyZSBHYWluc2lnaHQuICovXG4gIGdhaW5zaWdodEtleT86IHN0cmluZztcbiAgLyoqIE5nTW9kdWxlIGV4cG9ydCBmb3IgcGx1Z2lucy4gKi9cbiAgZXhwb3J0cz86IFBsdWdpbnNFeHBvcnRzW107XG4gIC8qKiBMaXN0IG9mIGltcG9ydGVkIHJlbW90ZSBwbHVnaW5zLiAqL1xuICByZW1vdGVzPzogUmVtb3RlUGx1Z2lucztcbiAgLyoqIFRoZSBwYWNrYWdlIHNvdXJjZSBhIGFwcGxpY2F0aW9uIG9yaWdpbnMgZnJvbSBhcyBJQXBwbGljYXRpb24gb3Igc2ltcGx5IHRoZSBpZCBvZiB0aGUgc291cmNlICovXG4gIHNvdXJjZT86IHN0cmluZyB8IG51bWJlciB8IElBcHBsaWNhdGlvbjtcbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgYXNzZXRzIHRvIGNvcHkgdG8gdGhlIGJ1aWxkIG91dHB1dC5cbiAgICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWJwYWNrLWNvbnRyaWIvY29weS13ZWJwYWNrLXBsdWdpbiBmb3IgbW9yZSBpbmZvcm1hdGlvblxuICAgKiBhYm91dCB0aGUgcGF0dGVybnMgdG8gYWRkIGhlcmUuXG4gICAqL1xuICBjb3B5PzogW107XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gZW5hYmxlIG9yIGRpc2FibGUgY29udGV4dCBoZWxwLCBvciB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBiYXNlIFVSTCB1c2VkIHRvIGxvYWQgaXRzIGNvbnRlbnRzLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgY29udGV4dCBoZWxwIHVzZXMgdGhlIHNhbWUgYmFzZSBVUkwgYXMgZGVmaW5lZCBpbiB0aGUgYGRvY3NCYXNlVXJsYCBvcHRpb25cbiAgICogKGlmIHRoaXMgb3B0aW9uIGlzIHVuZGVmaW5lZCwgdGhlbiB0aGUgZm9sbG93aW5nIHZhbHVlIHdpbGwgYmUgdXNlZDogYGh0dHBzOi8vd3d3LmN1bXVsb2NpdHkuY29tL2d1aWRlcy97e3ZlcnNpb259fWApLlxuICAgKiBBbHRlcm5hdGl2ZWx5LCBpZiBhIHN0cmluZyBpcyBwcm92aWRlZCBoZXJlLCBpdCdsbCBiZSB1c2VkIGFzIHRoZSBiYXNlIFVSTFxuICAgKiBhbmQgYW55IGB7eyB2ZXJzaW9uIH19YCBwbGFjZWhvbGRlciB3aWxsIGJlIHJlcGxhY2VkIHdpdGggdGhlIHJlbGV2YW50IGRvY3MgdmVyc2lvbi5cbiAgICovXG4gIGNvbnRleHRIZWxwPzogYm9vbGVhbiB8IHN0cmluZztcbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQsIGNvY2twaXQgYW5kIGRldmljZW1hbmFnZW1lbnQgdXNlIHRoZSBvbmx5Um9vdHMgcXVlcnkgdG8gcmVzb2x2ZSByb290IG5vZGVzLiBUaGlzXG4gICAqIGNvdWxkIGxlYWQgdG8gcGVyZm9ybWFuY2UgaXNzdWVzLCBpZiBhIGN1c3RvbWVyIGhhcyBhIGxvdCBvZiByb290IG5vZGVzLiBUaGVyZWZvcmUgeW91IGNhbiBkaXNhYmxlXG4gICAqIHRoZSB1c2Ugb2YgdGhpcyBxdWVyeSB3aXRoIHRoaXMgZmxhZy5cbiAgICovXG4gIGRpc2FibGVPbmx5Um9vdHNRdWVyeT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gZm9yY2Ugc2hvd2luZyB0aGUgc2V0dXAgd2l6YXJkLlxuICAgKi9cbiAgZm9yY2VTZXR1cD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGFwcGxpY2F0aW9uIG5lZWRzIHRvIHNob3cgdGhlIHNldHVwIHdpemFyZC5cbiAgICovXG4gIGlzU2V0dXA/OiBib29sZWFuO1xuICAvKipcbiAgICogQnkgZGVmYXVsdCBhIFdlYlNESyBhcHAgcmVxdWlyZXMgdGhlIHVzZXIgdG8gYmUgbG9nZ2VkIGluLlxuICAgKiBJbiBjYXNlIHlvdSB3b3VsZCBsaWtlIHRvIGRldmVsb3AganVzdCBhIHN0YXRpYyBhcHBsaWNhdGlvbiwgdGhhdCBkb2VzIG5vdCByZXF1aXJlIGFueSBraW5kIG9mIGFjY2VzcyB0byB0aGUgYmFja2VuZCxcbiAgICogeW91IGNhbiB1c2UgdGhpcyBmbGFnIHRvIGRpc2FibGUgdGhlIGxvZ2luIHNjcmVlbi5cbiAgICogTk9URTogbm90IGFsbCBXZWJTREsgY29tcG9uZW50cyBzdXBwb3J0IHRoaXMsIHNvbWUgbWlnaHQgcmVxdWlyZSB0aGUgdXNlciB0byBiZSBsb2dnZWQgaW4gYW5kIHdvbid0IHdvcmsuXG4gICAqL1xuICBub0xvZ2luPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBvcHQgb3V0IG9mIHN1cHBvcnRpbmcvbG9hZGluZyBwbHVnaW5zIGZvciB0aGlzIGFwcGxpY2F0aW9uLlxuICAgKi9cbiAgbm9QbHVnaW5zPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdGVQbHVnaW5zIHtcbiAgLyoqXG4gICAqIEEga2V5IHZhbHVlIHBhaXIsIHdoaWxlIHRoZSB2YWx1ZSBpcyBhbiBhcnJheSBvZiBtb2R1bGVzIHRvIGxvYWQgYW5kIHRoZVxuICAgKiBrZXkgaXMgdGhlIGNvbnRleHQgcGF0aC5cbiAgICogQGV4YW1wbGVcbiAgICogYGBganNcbiAgICoge1xuICAgKiAgICAnY29ja3BpdCc6IFsnSG9tZURhc2hib2FyZE1vZHVsZScsICdEYXRhRXhwbG9yZXJEYXNoYm9hcmQnXSxcbiAgICogICAgJ3dpZGdldC1wYWNrYWdlQDEuMC4wJzogWydFeHRlbmRlZE1hcFdpZGdldCddXG4gICAqIH1cbiAgICogYGBcbiAgICovXG4gIFtrZXk6IHN0cmluZ106IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpbnNFeHBvcnRzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBBbmd1bGFyIG1vZHVsZSBjbGFzcy5cbiAgICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBmaWxlIHBhdGggdG8gdGhlIG1vZHVsZSB0eXBlc2NyaXB0IGZpbGUuXG4gICAqL1xuICBwYXRoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbiBzaG9ydCBkZXNjcmlwdGlvbiBhYm91dCB3aGF0IHRoZSBtb2R1bGUgZG9lcy5cbiAgICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogQWxsb3dzIHRvIHNjb3BlIHRoZSBwbHVnaW4gdG8gY2VydGFpbiBhcHBsaWNhdGlvbnMuIEUuZy4gaWYgeW91XG4gICAqIGFkZCBoZXJlICdjb2NrcGl0JywgdGhlIHBsdWdpbiBjYW4gb25seSBiZSBpbnN0YWxsZWQgaW50byBhblxuICAgKiBhcHBsaWNhdGlvbiBvbiB0aGUgY29udGV4dFBhdGggYGFwcHMvY29ja3BpdGAuIFlvdSBjYW4gdXNlIGNvbW1hXG4gICAqIHNlcGFyYXRlZCB2YWx1ZXMsIGFzdGVyaXNrIChkZWZhdWx0KSB0byBhbGxvdyBhbGwgYXBwbGljYXRpb25zIG9yXG4gICAqIGBzZWxmYCB0byBsaW1pdCB0aGUgcGx1Z2luIHRvIHRoZSBjdXJyZW50IHNvbHV0aW9uLlxuICAgKi9cbiAgc2NvcGU/OiAnKicgfCAnc2VsZicgfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29va2llQmFubmVyQ29uZmlndXJhdGlvbiB7XG4gIC8qKiBIZXJlIHlvdSBjYW4gc2V0IHRoZSB0aXRsZSBvZiBDb29raWUgQmFubmVyICovXG4gIGNvb2tpZUJhbm5lclRpdGxlPzogc3RyaW5nO1xuICAvKiogSGVyZSB5b3UgY2FuIHNldCB0aGUgVGV4dCBvZiBDb29raWUgQmFubmVyICovXG4gIGNvb2tpZUJhbm5lclRleHQ/OiBzdHJpbmc7XG4gIC8qKiBIZXJlIHlvdSBjYW4gc2V0IHRoZSBwb2xpY3lVcmwgb2YgQ29va2llIEJhbm5lciAqL1xuICBwb2xpY3lVcmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29va2llUHJlZmVyZW5jZXNDb25maWd1cmF0aW9uIHtcbiAgLyoqIFRoaXMgY2F0ZWdvcnkgaW5jbHVkZXMgZS5nLiBjb29raWVzIHJlbGF0ZWQgdG8gbG9nZ2luZyBpbiAgKi9cbiAgcmVxdWlyZWQ/OiBib29sZWFuIHwgc3RyaW5nO1xuICAvKiogVGhpcyBjYXRlZ29yeSBpbmNsdWRlcyBlLmcuIHRyYWNraW5nIGNvb2tpZXMgICovXG4gIGZ1bmN0aW9uYWw/OiBib29sZWFuIHwgc3RyaW5nO1xuICAvKiogVGhpcyBjYXRlZ29yeSBpbmNsdWRlcyBlLmcuIGNvb2tpZXMgcmVsYXRlZCB0byBhZHZlcnRpc2luZyAgKi9cbiAgbWFya2V0aW5nPzogYm9vbGVhbiB8IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2dpbkV4dHJhTGluayB7XG4gIHVybDogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljb24ge1xuICBjbGFzcz86IHN0cmluZztcbiAgdXJsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvY3Mge1xuICAvKiogSGlkZSBkZWZhdWx0IGxpbmtzIHRvIGRvY3VtZW50YXRpb24uICovXG4gIG5vRGVmYXVsdDogYm9vbGVhbjtcbiAgLyoqIExpc3Qgb2YgcmVnZXggc3RyaW5ncy4gTWF0Y2hpbmcgZGVmYXVsdCBkb2NzIFVSTHMgd2lsbCBiZSBoaWRkZW4uICovXG4gIGV4Y2x1ZGVEZWZhdWx0OiBzdHJpbmdbXTtcbiAgLyoqIEFkZGl0aW9uYWwgbGlua3MgdG8gYmUgZGlzcGxheWVkLiAqL1xuICBsaW5rczogTGlua3NbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaW5rcyB7XG4gIC8qKiBJY29uIGNsYXNzZXMgd2l0aCBgYzh5LWljb25gLCBlLmcuIGBjOHktaWNvbiBjOHktaWNvbi1hZGQtdXNlcmAgb3IgYGM4eS1pY29uIGM4eS1pY29uLWRldmljZS1jb25uZWN0YC4gKi9cbiAgaWNvbjogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbiAgdHlwZTogJ2RvYycgfCAncXVpY2tsaW5rJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJMThuRXh0cmEge1xuICBbbGFuZ0NvZGU6IHN0cmluZ106IEkxOG5FeHRyYUxhbmdDb2RlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEkxOG5FeHRyYUxhbmdDb2RlIHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExhbmd1YWdlcyB7XG4gIFtsYW5nQ29kZTogc3RyaW5nXTogTGFuZ3VhZ2VzTGFuZ0NvZGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFuZ3VhZ2VzTGFuZ0NvZGUge1xuICBuYW1lOiBzdHJpbmc7XG4gIG5hdGl2ZU5hbWU6IHN0cmluZztcbiAgdXJsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnJhbmRpbmdDc3NWYXJzIHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuIl19
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwbGljYXRpb25PcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9jb21tb24vQXBwbGljYXRpb25PcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0NBNEw5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBcHBsaWNhdGlvbiB9IGZyb20gJ0BjOHkvY2xpZW50JztcblxuLypcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tV0FSTklORy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVGhpcyBmaWxlIGhhcyBhbiAqZXhhY3QqIGNvcHkgaW4gcGFja2FnZXMvY2xpL3NyYy93ZWJwYWNrLy5cbiAqIEFueSBjaGFuZ2VzIHRvIHRoaXMgZmlsZSBtdXN0IGJlIHJlZmxlY3RlZCB0aGVyZSwgdG9vLlxuICovXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25PcHRpb25zIHtcbiAgLyoqIEFwcGxpY2F0aW9uIG5hbWUgKHNhdmVkIHRvIHRoZSBzZXJ2ZXIpLiAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBBcHBsaWNhdGlvbiBjb250ZXh0IHBhdGggKHNhdmVkIHRvIHRoZSBzZXJ2ZXIpLiAqL1xuICBjb250ZXh0UGF0aDogc3RyaW5nO1xuICAvKiogQXBwbGljYXRpb24ga2V5IChzYXZlZCB0byB0aGUgc2VydmVyKS4gKi9cbiAga2V5OiBzdHJpbmc7XG4gIC8qKiBUaGUgdmVyc2lvbiBvZiB0aGUgYXBwbGljYXRpb24gKi9cbiAgdmVyc2lvbj86IHN0cmluZztcbiAgLyoqIFRoZSB2ZXJzaW9uIG9mIHRoZSB1c2VkIFdlYiBTREsgdmVyc2lvbiAqL1xuICB3ZWJTZGtWZXJzaW9uPzogc3RyaW5nO1xuICAvKiogU2V0IHRvIGB0cnVlYCBpZiB0aGUgYXBwbGljYXRpb24gaXMgaHlicmlkIGFuZCB1c2VzIEFuZ3VsYXIgYW5kIEFuZ3VsYXJKUyBzaW11bHRhbmVvdXNseS4gKi9cbiAgdXBncmFkZT86IGJvb2xlYW47XG4gIC8qKiBQYXRoIHRvIHRoZSBicmFuZGluZyBlbnRyeSBmaWxlLiAoU2V0IGl0IHRvIGZhbHNlIHRvIGRpc2FibGUgYW55IHN0eWxpbmcuIFlvdSBjYW4gaGFuZGxlIHRoZSBzdHlsaW5nIHRoZW4gb24geW91ciBvd24gZS5nLiBpbiBhbiBhbmd1bGFyLmpzb24gZmlsZSB1c2luZyBuZy1jbGkpICovXG4gIGJyYW5kaW5nRW50cnk/OiBzdHJpbmcgfCBib29sZWFuO1xuICAvKiogUGF0aCB0byB0c2NjbmZpZy5qc29uIGZpbGUgaWYgVHlwZVNjcmlwdCBpcyB1c2VkIChkZWZhdWx0OiAuL3RzY29uZmlnLmpzb24pLiAqL1xuICB0c0NvbmZpZ1BhdGg/OiBzdHJpbmc7XG4gIC8qKiBFbnRyeSBtb2R1bGUgZm9yIEFuZ3VsYXIgY29tcGlsZXIgKG9ubHkgdXNlZCB3aXRoIGxhenkgbG9hZGVkIHJvdXRlcyksIGUuZy4gYCdhcHAubW9kdWxlLnRzI0FwcE1vZHVsZSdgLiAqL1xuICBlbnRyeU1vZHVsZT86IHN0cmluZztcbiAgLyoqIFBhdGggdG8gY3VzdG9tIGluZGV4Lmh0bWwgKG90aGVyd2lzZSBkZWZhdWx0IG9uZSB3aWxsIGJlIHVzZWQpLiAqL1xuICBpbmRleFRlbXBsYXRlPzogc3RyaW5nO1xuICAvKiogVVJMIHRvIGR5bmFtaWNhbGx5IGZldGNoZWQgb3B0aW9ucy4gKi9cbiAgZHluYW1pY09wdGlvbnNVcmw/OiBzdHJpbmc7XG4gIC8qKiBVUkwgdG8gZmF2aWNvbi4gKi9cbiAgZmF2aWNvblVybD86IHN0cmluZztcbiAgLyoqIFVSTCB0byAqLmNzcyBmaWxlIHdoaWNoIHdpbGwgcmVwbGFjZSBkZWZhdWx0IGJyYW5kaW5nLiAqL1xuICBicmFuZGluZ1VybD86IHN0cmluZztcbiAgLyoqIE9iamVjdCB3aXRoIHByb3BlcnRpZXMgdGhhdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBDU1MgY3VzdG9tIHZhcmlhYmxlcy4gKi9cbiAgYnJhbmRpbmdDc3NWYXJzPzogQnJhbmRpbmdDc3NWYXJzO1xuICAvKipcbiAgICogQWxsb3dzIGZvciBhZGRpbmcgb3Igb3ZlcnJpZGluZyBsYW5ndWFnZXMgYXZhaWxhYmxlIGluIHRoZSBhcHBsaWNhdGlvbi5cbiAgICpcbiAgICogSXRzIGtleXMgYXJlIGxhbmd1YWdlIGNvZGVzIGFuZCBpdHMgdmFsdWVzIGFyZSBvYmplY3RzIHdpdGggdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOlxuICAgKlxuICAgKiAtIGBuYW1lYDogRW5nbGlzaCBuYW1lIG9mIHRoZSBsYW5ndWFnZSxcbiAgICogLSBgbmF0aXZlTmFtZWA6IG5hdGl2ZSBuYW1lIG9mIHRoZSBsYW5ndWFnZSxcbiAgICogLSBgdXJsYDogZnVsbCBVUkwgdG8gSlNPTiBmaWxlIHdpdGggY29tcGlsZWQgdHJhbnNsYXRpb25zO1xuICAgKiAgICBpZiBub3QgZGVmaW5lZCwgdHJhbnNsYXRpb25zIHdpbGwgYmUgbG9hZGVkIGZyb20gYCR7bG9jYWxlUGF0aH0vJHtsYW5nQ29kZX0uanNvbmAuXG4gICAqXG4gICAqIEV4YW1wbGU6XG4gICAqIGBgYGpzb25cbiAgICogXCJsYW5ndWFnZXNcIjoge1xuICAgKiAgIFwiZGVcIjoge1xuICAgKiAgICAgXCJuYW1lXCI6IFwiR2VybWFuXCIsXG4gICAqICAgICBcIm5hdGl2ZU5hbWVcIjogXCJEZXV0c2NoXCIsXG4gICAqICAgICBcInVybFwiOiBcIi9hcHBzL3B1YmxpYy91aS1hc3NldHMvZGUuanNvblwiXG4gICAqICAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgbGFuZ3VhZ2VzPzogTGFuZ3VhZ2VzO1xuICAvKipcbiAgICogQWxsb3dzIGZvciBhZGRpbmcgY3VzdG9tIHRyYW5zbGF0aW9ucy4gSXQgaXMgYW4gb3B0aW9uYWwgcHJvcGVydHkuXG4gICAqXG4gICAqIEl0cyBrZXlzIGFyZSBsYW5ndWFnZSBjb2RlcyAoaHR0cHM6Ly9jdW11bG9jaXR5LmNvbS9ndWlkZXMvdXNlcnMtZ3VpZGUvZ2V0dGluZy1zdGFydGVkLyNhLW5hbWUtbGFuZ3VhZ2VzLWEtYXZhaWxhYmxlLWxhbmd1YWdlcylcbiAgICogYW5kIGl0cyB2YWx1ZXMgYXJlIG9iamVjdHMgd2l0aCBrZXktdmFsdWUgcGFpcnMsIHdoZXJlIHRoZSBrZXkgaXMgdGhlIG9yaWdpbmFsIHN0cmluZyBpbiBFbmdsaXNoIGFuZCB0aGUgdmFsdWUgLSBpdHMgdHJhbnNsYXRpb24uXG4gICAqXG4gICAqIC0gYEhvbWVgOiBcIlN0YXJ0c2VpdGVcIlxuICAgKlxuICAgKiBGb3IgZXhhbXBsZSB5b3UgY2FuIGFkZCB0aGUgdHJhbnNsYXRpb24gb2YgeW91ciBjdXN0b20gY29va2llIGJhbm5lciBjb25maWd1cmVkIGluIHRoZSBicmFuZGluZyBzZXR0aW5nczpcbiAgICogYGBganNvblxuICAgKiBcImkxOG5FeHRyYVwiOiB7XG4gICAqICAgXCJkZVwiOiB7XG4gICAqICAgICBcIkFib3V0IGNvb2tpZXMgb24gQ3VtdWxvY2l0eSBJb1RcIjogXCJJbmZvcm1hdGlvbmVuIHp1IENvb2tpZXMgaW4gQ3VtdWxvY2l0eSBJb1RcIixcbiAgICogICAgIFwiQ2xpY2sgQWdyZWUgYW5kIFByb2NlZWQgdG8gYWNjZXB0IGNvb2tpZXMgYW5kIGdvIGRpcmVjdGx5IHRvIHRoZSBwbGF0Zm9ybSBvciBjbGljayBvbiBQcml2YWN5IFBvbGljeSB0byBzZWUgZGV0YWlsZWQgZGVzY3JpcHRpb25zIG9mIHRoZSB1c2VkIGNvb2tpZXMuXCI6IFwiS2xpY2tlbiBTaWUgYXVmIFp1c3RpbW1lbiB1bmQgZm9ydGZhaHJlbiwgdW0gQ29va2llcyB6dSBha3plcHRpZXJlbiB1bmQgZGlyZWt0IHp1ciBQbGF0dGZvcm0genUgZ2VsYW5nZW4sIG9kZXIga2xpY2tlbiBTaWUgYXVmIERhdGVuc2NodXR6cmljaHRsaW5pZSwgdW0gZGV0YWlsbGllcnRlIEJlc2NocmVpYnVuZ2VuIGRlciB2ZXJ3ZW5kZXRlbiBDb29raWVzIGFuenV6ZWlnZW4uXCJcbiAgICogICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBpMThuRXh0cmE/OiBJMThuRXh0cmE7XG4gIC8qKiBQYXRoIHRvIHRoZSBmb2xkZXIgZnJvbSB3aGljaCAqLnBvIGZpbGVzIHdpbGwgYmUgbG9hZGVkLiAqL1xuICBsb2NhbGVQYXRoPzogc3RyaW5nO1xuICAvKiogQXJyYXkgb2YgVVJMcyB0byBhZGRpdGlvbmFsICouY3NzIGZpbGVzIHRvIGJlIGxvYWRlZCBhdCBydW50aW1lLiAqL1xuICBleHRyYUNzc1VybHM/OiBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb24gbGlua3Mgc2V0dGluZ3MuICovXG4gIGRvY3M/OiBEb2NzO1xuICAvKiogQXBwbGljYXRpb24gaWNvbiB0byBiZSBkaXNwbGF5ZWQgaW4gYXBwIHN3aXRjaGVyIGFuZCBoZWFkZXIgYmFyLiAqL1xuICBpY29uPzogSWNvbjtcblxuICAvLyBUaGVzZSBhcmUgdGhlIG9sZCBvcHRpb25zXG4gIC8qKiBIaWRlIGFwcGxpY2F0aW9uIGluIGFwcCBzd2l0Y2hlciAoc2F2ZWQgdG8gdGhlIHNlcnZlcikuICovXG4gIG5vQXBwU3dpdGNoZXI/OiBib29sZWFuO1xuICAvKiogSFRNTCBwYWdlIHRpdGxlLiAqL1xuICBnbG9iYWxUaXRsZT86IHN0cmluZztcbiAgLyoqIEhpZGUgXCJwb3dlcmVkIGJ5XCIgYW5kIHZlcnNpb24gaW5mbyBhdCB0aGUgYm90dG9tIG9mIHRoZSBuYXZpZ2F0b3IgYW5kIGluIHRoZSByaWdodCBkcmF3ZXIuICovXG4gIGhpZGVQb3dlcmVkPzogYm9vbGVhbjtcbiAgLyoqIEhpZGVzIHRoZSBcIlBsYXRmb3JtIGluZm9ybWF0aW9uXCIgaW4gdGhlIHJpZ2h0IGRyYXdlciwgd2lsbCBvdmVycnVsZSB0aGUgXCJoaWRlUG93ZXJlZFwiIG9wdGlvbiAqL1xuICBoaWRlUGxhdGZvcm1JbmZvcm1hdGlvbj86IGJvb2xlYW47XG4gIC8qKiBVUkwgdG8gc3VwcG9ydCBwYWdlIChzZXQgdG8gYGZhbHNlYCB0byBoaWRlIHRoZSBsaW5rKS4gKi9cbiAgc3VwcG9ydFVybD86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIC8qKlxuICAgKiBSZXBsYWNlbWVudCBzdHJpbmcgZm9yIGB1c2VyYCBmaWVsZCBpbiBhdWRpdCBsb2dzIGZvciBhY3Rpb25zIHBlcmZvcm1lZCBieSBhIHN1cHBvcnQgdXNlclxuICAgKiAoYXZhaWxhYmxlIHBsYWNlaG9sZGVyczogYHt7c3VwcG9ydF91c2VyfX1gLCBge3tzdXBwb3J0ZWRfdXNlcn19YCkuXG4gICAqL1xuICBzdXBwb3J0VXNlclN0cmluZz86IHN0cmluZztcbiAgLyoqXG4gICAqIERpc2FibGVzIHJlYWx0aW1lIHVwZGF0ZXMgb24gdGhlIG1hcCB3aWRnZXQgYW5kIG1hcHMgaW4gZ2VuZXJhbC5cbiAgICovXG4gIG1hcFdpZGdldFJlYWx0aW1lRGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIGFkanVzdCB0aGUgZGVmYXVsdCBwYWdlc2l6ZSBvZiAxMDAgaXRlbXMgb2YgdGhlIG1hcCB3aWRnZXQgYW5kIG1hcHMgaW4gZ2VuZXJhbC5cbiAgICovXG4gIG1hcFdpZGdldFBhZ2VTaXplPzogbnVtYmVyO1xuICAvKipcbiAgICogQWxsb3dzIHRvIGhpZGUgdGhlIGhpbnQgdGhhdCB0aGVyZSBhcmUgbW9yZSBkZXZpY2VzIHdpdGggZ2VvIGNvb3JkaW5hdGVzIHRoZW4gZGlzcGxheWVkIG9uIHRoZSBtYXAgd2lkZ2V0IGFuZCBtYXBzIGluIGdlbmVyYWwuXG4gICAqL1xuICBtYXBXaWRnZXRIaWRlTWF4RGV2aWNlT25NYXBIaW50PzogYm9vbGVhbjtcbiAgLyoqIEVuYWJsZSBvciBkaXNhYmxlIHRoZSByaWdodCBkcmF3ZXIuICovXG4gIHJpZ2h0RHJhd2VyPzogYm9vbGVhbjtcbiAgLyoqIEVuYWJsZSBvciBkaXNhYmxlIGJyZWFkY3J1bWJzIGluIHRoZSBoZWFkZXIgZm9yIGdyb3VwcyBhbmQgZGV2aWNlcyAoZGVmYXVsdDogZmFsc2UpLiAqL1xuICBicmVhZGNydW1icz86IGJvb2xlYW47XG4gIC8qKiBDb2xsYXBzZSBuYXZpZ2F0b3Igb24gaW5pdGlhbCBsb2FkLiAqL1xuICBoaWRlTmF2aWdhdG9yPzogYm9vbGVhbjtcbiAgLyoqIFNob3cgdGFicyBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS4gKi9cbiAgdGFic0hvcml6b250YWw/OiBib29sZWFuO1xuICAvKiogQWRkaXRpb25hbCBsaW5rIHRvIGRpc3BsYXkgb24gbG9naW4gc2NyZWVuLiAqL1xuICBsb2dpbkV4dHJhTGluaz86IExvZ2luRXh0cmFMaW5rO1xuICAvKiogRW5hYmxlIG9yIGRpc2FibGUgc3RvcmFnZSBsaW1pdGF0aW9uIGZlYXR1cmUuICovXG4gIHN0b3JhZ2VMaW1pdGF0aW9uRmVhdHVyZUVuYWJsZWQ/OiBib29sZWFuO1xuICAvKiogTmFtZSBvZiBjb21wYW55IGhhbmRsaW5nIHN1cHBvcnQgcmVxdWVzdHMgZnJvbSBhcHAgdXNlcnMgKGRpc3BsYXllZCBpbiBub3RpZmljYXRpb24gbWVzc2FnZSkuICovXG4gIGNvbXBhbnlOYW1lPzogc3RyaW5nO1xuICAvKiogVVJMIHRlbXBsYXRlIGZvciBkb2N1bWVudGF0aW9uIGxpbmtzIChkZWZhdWx0OiBgJyR7ZG9jc0Jhc2VVcmx9JHtwYXJ0aWFsVXJsfSdgKS4gKi9cbiAgZ3VpZGVIcmVmVGVtcGxhdGU/OiBzdHJpbmc7XG4gIC8qKiBCYXNlIFVSTCBmb3IgZG9jdW1lbnRhdGlvbiBsaW5rcyAoaW5jbHVkZSBge3sgdmVyc2lvbiB9fWAgcGxhY2Vob2xkZXIsIGlmIHlvdSB3YW50IHZlcnNpb25lZCBsaW5rcykuICovXG4gIGRvY3NCYXNlVXJsPzogc3RyaW5nO1xuICAvKiogQ1NQIHN0cmluZyB0byBiZSBhcHBsaWVkIHRvIGBpbmRleC5odG1sYCBieSByZXBsYWNpbmcgZGVmYXVsdCB2YWx1ZXMuICovXG4gIGNvbnRlbnRTZWN1cml0eVBvbGljeT86IHN0cmluZztcbiAgLyoqIEVuYWJsZXMgY2xvdWQgc2Vuc29yIHdpemFyZCAqL1xuICBzZW5zb3JQaG9uZT86IGJvb2xlYW47XG4gIC8qKiBTaG93IG9yIGhpZGUgYSBuZXdzbGV0dGVyIHN1YnNjcmlwdGlvbiBjaGVja2JveCBpbiBlZGl0IHVzZXIgbW9kYWwuICovXG4gIG5ld3NsZXR0ZXI/OiBib29sZWFuO1xuICAvKiogUGF0aCB0byB0aGUgcm9vdCBub2RlX21vZHVsZXMgZGlyICh1c2VmdWwgd2hlbiB3b3JraW5nIGluIG1vbm9yZXBvIHNldHVwLCBlLmcuIHlhcm4gd29ya3NwYWNlcykuICovXG4gIHJvb3ROb2RlTW9kdWxlc1BhdGg/OiBzdHJpbmc7XG4gIC8qKiBDb29raWUgQmFubmVyIGNvbmZpZ3VyYXRpb24gKi9cbiAgY29va2llQmFubmVyPzogQ29va2llQmFubmVyQ29uZmlndXJhdGlvbjtcbiAgLyoqIENvb2tpZSBwcmVmZXJlbmNlcyBjb25maWd1cmF0aW9uLiBIZXJlIHlvdSBjYW4gZW5hYmxlIG9yIGRpc2FibGUgY29va2llIGNhdGVnb3JpZXMgKi9cbiAgY29va2llUHJlZmVyZW5jZXM/OiBDb29raWVQcmVmZXJlbmNlc0NvbmZpZ3VyYXRpb247XG4gIC8qKiBBIGtleSBmb3IgdGhlIHByb2R1Y3QgZXhwZXJpZW5jZSBzb2Z0d2FyZSBHYWluc2lnaHQuICovXG4gIGdhaW5zaWdodEtleT86IHN0cmluZztcbiAgLyoqIE5nTW9kdWxlIGV4cG9ydCBmb3IgcGx1Z2lucy4gKi9cbiAgZXhwb3J0cz86IFBsdWdpbnNFeHBvcnRzW107XG4gIC8qKiBMaXN0IG9mIGltcG9ydGVkIHJlbW90ZSBwbHVnaW5zLiAqL1xuICByZW1vdGVzPzogUmVtb3RlUGx1Z2lucztcbiAgLyoqIFRoZSBwYWNrYWdlIHNvdXJjZSBhIGFwcGxpY2F0aW9uIG9yaWdpbnMgZnJvbSBhcyBJQXBwbGljYXRpb24gb3Igc2ltcGx5IHRoZSBpZCBvZiB0aGUgc291cmNlICovXG4gIHNvdXJjZT86IHN0cmluZyB8IG51bWJlciB8IElBcHBsaWNhdGlvbjtcbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgYXNzZXRzIHRvIGNvcHkgdG8gdGhlIGJ1aWxkIG91dHB1dC5cbiAgICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWJwYWNrLWNvbnRyaWIvY29weS13ZWJwYWNrLXBsdWdpbiBmb3IgbW9yZSBpbmZvcm1hdGlvblxuICAgKiBhYm91dCB0aGUgcGF0dGVybnMgdG8gYWRkIGhlcmUuXG4gICAqL1xuICBjb3B5PzogW107XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gZW5hYmxlIG9yIGRpc2FibGUgY29udGV4dCBoZWxwLCBvciB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBiYXNlIFVSTCB1c2VkIHRvIGxvYWQgaXRzIGNvbnRlbnRzLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgY29udGV4dCBoZWxwIHVzZXMgdGhlIHNhbWUgYmFzZSBVUkwgYXMgZGVmaW5lZCBpbiB0aGUgYGRvY3NCYXNlVXJsYCBvcHRpb25cbiAgICogKGlmIHRoaXMgb3B0aW9uIGlzIHVuZGVmaW5lZCwgdGhlbiB0aGUgZm9sbG93aW5nIHZhbHVlIHdpbGwgYmUgdXNlZDogYGh0dHBzOi8vd3d3LmN1bXVsb2NpdHkuY29tL2d1aWRlcy97e3ZlcnNpb259fWApLlxuICAgKiBBbHRlcm5hdGl2ZWx5LCBpZiBhIHN0cmluZyBpcyBwcm92aWRlZCBoZXJlLCBpdCdsbCBiZSB1c2VkIGFzIHRoZSBiYXNlIFVSTFxuICAgKiBhbmQgYW55IGB7eyB2ZXJzaW9uIH19YCBwbGFjZWhvbGRlciB3aWxsIGJlIHJlcGxhY2VkIHdpdGggdGhlIHJlbGV2YW50IGRvY3MgdmVyc2lvbi5cbiAgICovXG4gIGNvbnRleHRIZWxwPzogYm9vbGVhbiB8IHN0cmluZztcbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQsIGNvY2twaXQgYW5kIGRldmljZW1hbmFnZW1lbnQgdXNlIHRoZSBvbmx5Um9vdHMgcXVlcnkgdG8gcmVzb2x2ZSByb290IG5vZGVzLiBUaGlzXG4gICAqIGNvdWxkIGxlYWQgdG8gcGVyZm9ybWFuY2UgaXNzdWVzLCBpZiBhIGN1c3RvbWVyIGhhcyBhIGxvdCBvZiByb290IG5vZGVzLiBUaGVyZWZvcmUgeW91IGNhbiBkaXNhYmxlXG4gICAqIHRoZSB1c2Ugb2YgdGhpcyBxdWVyeSB3aXRoIHRoaXMgZmxhZy5cbiAgICovXG4gIGRpc2FibGVPbmx5Um9vdHNRdWVyeT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gZm9yY2Ugc2hvd2luZyB0aGUgc2V0dXAgd2l6YXJkLlxuICAgKi9cbiAgZm9yY2VTZXR1cD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGFwcGxpY2F0aW9uIG5lZWRzIHRvIHNob3cgdGhlIHNldHVwIHdpemFyZC5cbiAgICovXG4gIGlzU2V0dXA/OiBib29sZWFuO1xuICAvKipcbiAgICogQnkgZGVmYXVsdCBhIFdlYlNESyBhcHAgcmVxdWlyZXMgdGhlIHVzZXIgdG8gYmUgbG9nZ2VkIGluLlxuICAgKiBJbiBjYXNlIHlvdSB3b3VsZCBsaWtlIHRvIGRldmVsb3AganVzdCBhIHN0YXRpYyBhcHBsaWNhdGlvbiwgdGhhdCBkb2VzIG5vdCByZXF1aXJlIGFueSBraW5kIG9mIGFjY2VzcyB0byB0aGUgYmFja2VuZCxcbiAgICogeW91IGNhbiB1c2UgdGhpcyBmbGFnIHRvIGRpc2FibGUgdGhlIGxvZ2luIHNjcmVlbi5cbiAgICogTk9URTogbm90IGFsbCBXZWJTREsgY29tcG9uZW50cyBzdXBwb3J0IHRoaXMsIHNvbWUgbWlnaHQgcmVxdWlyZSB0aGUgdXNlciB0byBiZSBsb2dnZWQgaW4gYW5kIHdvbid0IHdvcmsuXG4gICAqL1xuICBub0xvZ2luPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBvcHQgb3V0IG9mIHN1cHBvcnRpbmcvbG9hZGluZyBwbHVnaW5zIGZvciB0aGlzIGFwcGxpY2F0aW9uLlxuICAgKi9cbiAgbm9QbHVnaW5zPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBvcHQgb3V0IG9mIHRoZSB2ZXJzaW9uIHdhcm5pbmcgd2hpY2ggaXMgc2hvd24gaW4gdGhlIGRldiB0b29scy5cbiAgICovXG4gIG5vVmVyc2lvbldhcm5pbmc/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlbW90ZVBsdWdpbnMge1xuICAvKipcbiAgICogQSBrZXkgdmFsdWUgcGFpciwgd2hpbGUgdGhlIHZhbHVlIGlzIGFuIGFycmF5IG9mIG1vZHVsZXMgdG8gbG9hZCBhbmQgdGhlXG4gICAqIGtleSBpcyB0aGUgY29udGV4dCBwYXRoLlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBqc1xuICAgKiB7XG4gICAqICAgICdjb2NrcGl0JzogWydIb21lRGFzaGJvYXJkTW9kdWxlJywgJ0RhdGFFeHBsb3JlckRhc2hib2FyZCddLFxuICAgKiAgICAnd2lkZ2V0LXBhY2thZ2VAMS4wLjAnOiBbJ0V4dGVuZGVkTWFwV2lkZ2V0J11cbiAgICogfVxuICAgKiBgYFxuICAgKi9cbiAgW2tleTogc3RyaW5nXTogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luc0V4cG9ydHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIEFuZ3VsYXIgbW9kdWxlIGNsYXNzLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGZpbGUgcGF0aCB0byB0aGUgbW9kdWxlIHR5cGVzY3JpcHQgZmlsZS5cbiAgICovXG4gIHBhdGg6IHN0cmluZztcbiAgLyoqXG4gICAqIEFuIHNob3J0IGRlc2NyaXB0aW9uIGFib3V0IHdoYXQgdGhlIG1vZHVsZSBkb2VzLlxuICAgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gc2NvcGUgdGhlIHBsdWdpbiB0byBjZXJ0YWluIGFwcGxpY2F0aW9ucy4gRS5nLiBpZiB5b3VcbiAgICogYWRkIGhlcmUgJ2NvY2twaXQnLCB0aGUgcGx1Z2luIGNhbiBvbmx5IGJlIGluc3RhbGxlZCBpbnRvIGFuXG4gICAqIGFwcGxpY2F0aW9uIG9uIHRoZSBjb250ZXh0UGF0aCBgYXBwcy9jb2NrcGl0YC4gWW91IGNhbiB1c2UgY29tbWFcbiAgICogc2VwYXJhdGVkIHZhbHVlcywgYXN0ZXJpc2sgKGRlZmF1bHQpIHRvIGFsbG93IGFsbCBhcHBsaWNhdGlvbnMgb3JcbiAgICogYHNlbGZgIHRvIGxpbWl0IHRoZSBwbHVnaW4gdG8gdGhlIGN1cnJlbnQgc29sdXRpb24uXG4gICAqL1xuICBzY29wZT86ICcqJyB8ICdzZWxmJyB8IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb29raWVCYW5uZXJDb25maWd1cmF0aW9uIHtcbiAgLyoqIEhlcmUgeW91IGNhbiBzZXQgdGhlIHRpdGxlIG9mIENvb2tpZSBCYW5uZXIgKi9cbiAgY29va2llQmFubmVyVGl0bGU/OiBzdHJpbmc7XG4gIC8qKiBIZXJlIHlvdSBjYW4gc2V0IHRoZSBUZXh0IG9mIENvb2tpZSBCYW5uZXIgKi9cbiAgY29va2llQmFubmVyVGV4dD86IHN0cmluZztcbiAgLyoqIEhlcmUgeW91IGNhbiBzZXQgdGhlIHBvbGljeVVybCBvZiBDb29raWUgQmFubmVyICovXG4gIHBvbGljeVVybD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb29raWVQcmVmZXJlbmNlc0NvbmZpZ3VyYXRpb24ge1xuICAvKiogVGhpcyBjYXRlZ29yeSBpbmNsdWRlcyBlLmcuIGNvb2tpZXMgcmVsYXRlZCB0byBsb2dnaW5nIGluICAqL1xuICByZXF1aXJlZD86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIC8qKiBUaGlzIGNhdGVnb3J5IGluY2x1ZGVzIGUuZy4gdHJhY2tpbmcgY29va2llcyAgKi9cbiAgZnVuY3Rpb25hbD86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIC8qKiBUaGlzIGNhdGVnb3J5IGluY2x1ZGVzIGUuZy4gY29va2llcyByZWxhdGVkIHRvIGFkdmVydGlzaW5nICAqL1xuICBtYXJrZXRpbmc/OiBib29sZWFuIHwgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvZ2luRXh0cmFMaW5rIHtcbiAgdXJsOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWNvbiB7XG4gIGNsYXNzPzogc3RyaW5nO1xuICB1cmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9jcyB7XG4gIC8qKiBIaWRlIGRlZmF1bHQgbGlua3MgdG8gZG9jdW1lbnRhdGlvbi4gKi9cbiAgbm9EZWZhdWx0OiBib29sZWFuO1xuICAvKiogTGlzdCBvZiByZWdleCBzdHJpbmdzLiBNYXRjaGluZyBkZWZhdWx0IGRvY3MgVVJMcyB3aWxsIGJlIGhpZGRlbi4gKi9cbiAgZXhjbHVkZURlZmF1bHQ6IHN0cmluZ1tdO1xuICAvKiogQWRkaXRpb25hbCBsaW5rcyB0byBiZSBkaXNwbGF5ZWQuICovXG4gIGxpbmtzOiBMaW5rc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpbmtzIHtcbiAgLyoqIEljb24gY2xhc3NlcyB3aXRoIGBjOHktaWNvbmAsIGUuZy4gYGM4eS1pY29uIGM4eS1pY29uLWFkZC11c2VyYCBvciBgYzh5LWljb24gYzh5LWljb24tZGV2aWNlLWNvbm5lY3RgLiAqL1xuICBpY29uOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHVybDogc3RyaW5nO1xuICB0eXBlOiAnZG9jJyB8ICdxdWlja2xpbmsnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEkxOG5FeHRyYSB7XG4gIFtsYW5nQ29kZTogc3RyaW5nXTogSTE4bkV4dHJhTGFuZ0NvZGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSTE4bkV4dHJhTGFuZ0NvZGUge1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFuZ3VhZ2VzIHtcbiAgW2xhbmdDb2RlOiBzdHJpbmddOiBMYW5ndWFnZXNMYW5nQ29kZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYW5ndWFnZXNMYW5nQ29kZSB7XG4gIG5hbWU6IHN0cmluZztcbiAgbmF0aXZlTmFtZTogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCcmFuZGluZ0Nzc1ZhcnMge1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG59XG4iXX0=
@@ -180,6 +180,9 @@ export class AppStateService extends StateService {
180
180
  this.emitNewState();
181
181
  }
182
182
  showIncompatibleVersionsError() {
183
+ if (this.options.noVersionWarning) {
184
+ return;
185
+ }
183
186
  const uiVersion = this.state.versions.ui.ngx;
184
187
  const backendVersion = this.state.versions.backend;
185
188
  if (!satisfies(uiVersion, `<=${backendVersion} || ~${backendVersion}`)) {
@@ -200,4 +203,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
200
203
  type: Injectable,
201
204
  args: [{ providedIn: 'root' }]
202
205
  }], ctorParameters: function () { return [{ type: i1.ApplicationService }, { type: i2.ApiService }, { type: i3.OptionsService }, { type: i1.FetchClient }, { type: i1.TenantLoginOptionsService }]; }, propDecorators: { refreshLoginOptions: [] } });
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvY29tbW9uL3VpLXN0YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFDTCxXQUFXLEVBRVgseUJBQXlCLEVBQ3pCLGtCQUFrQixFQUduQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNsRSxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixHQUFHLEVBQ0gsSUFBSSxFQUNKLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxFQUNULFlBQVksRUFDWixJQUFJLEVBQ0wsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7Ozs7QUFHbkMsTUFBTSxPQUFPLGVBQWdCLFNBQVEsWUFBWTtJQXFDL0MsWUFDVSxrQkFBc0MsRUFDdkMsVUFBc0IsRUFDckIsT0FBdUIsRUFDdkIsV0FBd0IsRUFDeEIseUJBQW9EO1FBRTVELEtBQUssRUFBRSxDQUFDO1FBTkEsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN2QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3JCLFlBQU8sR0FBUCxPQUFP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LENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxLQUFLLGNBQWMsUUFBUSxjQUFjLEVBQUUsQ0FBQyxFQUFFO1lBQ3RFLE1BQU0sWUFBWSxHQUFHLDJCQUEyQixTQUFTLDBCQUEwQixjQUFjLGNBQWMsQ0FBQztZQUNoSCxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxZQUFZLEVBQUUsaURBQWlELENBQUMsQ0FBQztTQUN0RjtJQUNILENBQUM7OzRHQXhPVSxlQUFlO2dIQUFmLGVBQWUsY0FERixNQUFNO0FBa0k5QjtJQURDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7Ozs7MERBSWxDOzJGQXBJVSxlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTtpT0FrSTFCLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGlzRGV2TW9kZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgRmV0Y2hDbGllbnQsXG4gIElBcHBsaWNhdGlvbixcbiAgVGVuYW50TG9naW5PcHRpb25zU2VydmljZSxcbiAgQXBwbGljYXRpb25TZXJ2aWNlLFxuICBJQ3VycmVudFRlbmFudCxcbiAgSVVzZXJcbn0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsga2V5cywgZ2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGZpbHRlcixcbiAgbWFwLFxuICBzY2FuLFxuICBzd2l0Y2hNYXAsXG4gIHNoYXJlUmVwbGF5LFxuICBzdGFydFdpdGgsXG4gIGRlYm91bmNlVGltZSxcbiAgdGFrZVxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBPcHRpb25zU2VydmljZSB9IGZyb20gJy4vb3B0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXRlU2VydmljZSB9IGZyb20gJy4vc3RhdGUtc2VydmljZS5hYnN0cmFjdCc7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9hcGknO1xuaW1wb3J0IHsgQXBwbGljYXRpb25PcHRpb25zIH0gZnJvbSAnLi9BcHBsaWNhdGlvbk9wdGlvbnMnO1xuaW1wb3J0IHsgdGhyb3R0bGUgfSBmcm9tICcuL3Rocm90dGxlLmRlY29yYXRvcic7XG5pbXBvcnQgeyBzYXRpc2ZpZXMgfSBmcm9tICdzZW12ZXInO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFwcFN0YXRlU2VydmljZSBleHRlbmRzIFN0YXRlU2VydmljZSB7XG4gIHN0YXRlJDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oe1xuICAgIGFwcDoge1xuICAgICAgbmFtZTogdGhpcy5vcHRpb25zLm5hbWUsXG4gICAgICBjb250ZXh0UGF0aDogdGhpcy5nZXRDdXJyZW50Q29udGV4dFBhdGgoKSB8fCB0aGlzLm9wdGlvbnMuY29udGV4dFBhdGhcbiAgICB9LFxuICAgIHN1cHBvcnRVcmw6IHRoaXMub3B0aW9ucy5zdXBwb3J0VXJsLFxuICAgIGxhbmc6IHRoaXMub3B0aW9ucy5nZXQoJ2RlZmF1bHRMYW5ndWFnZScsICdlbicpLFxuICAgIGxhbmdzOiB0aGlzLmdldExhbmdzKCksXG4gICAgbGFuZ3NEZXRhaWw6IHRoaXMub3B0aW9ucy5sYW5ndWFnZXMsXG4gICAgbG9naW5PcHRpb25zOiB0aGlzLm9wdGlvbnMubG9naW5PcHRpb25zLFxuICAgIGFjdGl2YXRlU3VwcG9ydFVzZXJBdmFpbGFibGU6IHVuZGVmaW5lZCxcbiAgICB2ZXJzaW9uczoge1xuICAgICAgYmFja2VuZDogdW5kZWZpbmVkLFxuICAgICAgdWk6IHRoaXMub3B0aW9ucy52ZXJzaW9ucyB8fCB7IG5neDogdW5kZWZpbmVkIH1cbiAgICB9LFxuICAgIGhpZGVQb3dlcmVkOiB0aGlzLm9wdGlvbnMuaGlkZVBvd2VyZWQsXG4gICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICBzaG93UmlnaHREcmF3ZXI6IHRoaXMub3B0aW9ucy5yaWdodERyYXdlcixcbiAgICBsb2dpbkV4dHJhTGluazogdGhpcy5vcHRpb25zLmdldCgnbG9naW5fZXh0cmFfbGluaycpLFxuICAgIG5ld3NsZXR0ZXI6IHRoaXMub3B0aW9ucy5uZXdzbGV0dGVyXG4gIH0pO1xuICBjdXJyZW50U3VwcG9ydFVzZXJOYW1lOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgbnVsbD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICBjdXJyZW50VXNlcjogQmVoYXZpb3JTdWJqZWN0PElVc2VyIHwgbnVsbD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICBjdXJyZW50VGVuYW50OiBCZWhhdmlvclN1YmplY3Q8SUN1cnJlbnRUZW5hbnQgfCBudWxsPiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG4gIGN1cnJlbnRBcHBsaWNhdGlvbjogQmVoYXZpb3JTdWJqZWN0PElBcHBsaWNhdGlvbiB8IG51bGw+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcbiAgY3VycmVudEFwcGxpY2F0aW9uQ29uZmlnOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLmN1cnJlbnRBcHBsaWNhdGlvbi5waXBlKFxuICAgIGZpbHRlcihhcHAgPT4gISFhcHApLFxuICAgIG1hcChhcHAgPT4gYXBwPy5jb25maWcgfHwgbnVsbClcbiAgKTtcbiAgLyoqXG4gICAqIEFuIE9ic2VydmFibGUgb2YgdGhlIGFwcGxpY2F0aW9ucyBhdmFpbGFibGUgZm9yIHRoZSBjdXJyZW50IHVzZXIuXG4gICAqIFRoZSBPYnNlcnZhYmxlIGVtaXRzIGEgbmV3IGFycmF5IG9uIHVzZXIgY2hhbmdlcyBvciBpZiB0aGUgYXBwbGljYXRpb25cbiAgICogcGVyZm9ybXMgUE9TVCwgUFVUIG9yIERFTEVURSByZXF1ZXN0cyB0byB0aGUgYXBwbGljYXRpb24gQVBJLlxuICAgKi9cbiAgY3VycmVudEFwcHNPZlVzZXI6IE9ic2VydmFibGU8SUFwcGxpY2F0aW9uW10+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXBwbGljYXRpb25TZXJ2aWNlOiBBcHBsaWNhdGlvblNlcnZpY2UsXG4gICAgcHVibGljIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvcHRpb25zOiBPcHRpb25zU2VydmljZSxcbiAgICBwcml2YXRlIGZldGNoQ2xpZW50OiBGZXRjaENsaWVudCxcbiAgICBwcml2YXRlIHRlbmFudExvZ2luT3B0aW9uc1NlcnZpY2U6IFRlbmFudExvZ2luT3B0aW9uc1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFwaVNlcnZpY2UuY2FsbHNcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHsgdXJsIH0pID0+ICEvbm90aWZpY2F0aW9uXFwvcmVhbHRpbWUvLnRlc3QodXJsKSksXG4gICAgICAgIG1hcCgoeyBwaGFzZSB9KSA9PiAocGhhc2UgPT09ICdzdGFydCcgPyAxIDogLTEpKSxcbiAgICAgICAgc2NhbigoY291bnQsIGl0ZW0pID0+IGNvdW50ICsgaXRlbSwgMCksXG4gICAgICAgIG1hcChjb3VudCA9PiBjb3VudCA+IDApLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGlzTG9hZGluZyA9PiAodGhpcy5zdGF0ZS5pc0xvYWRpbmcgPSBpc0xvYWRpbmcpKTtcblxuICAgIHRoaXMuYXNzaWduQXBwbGljYXRpb25LZXlUb0RlZmF1bHRIZWFkZXJzKCk7XG4gICAgdGhpcy5jdXJyZW50QXBwc09mVXNlciA9IHRoaXMuY3VycmVudEFwcHNPZlVzZXIkKCk7XG4gIH1cblxuICBhc3NpZ25BcHBsaWNhdGlvbktleVRvRGVmYXVsdEhlYWRlcnMoKSB7XG4gICAgaWYgKCFpc0Rldk1vZGUoKSkge1xuICAgICAgdGhpcy5mZXRjaENsaWVudC5kZWZhdWx0SGVhZGVycyA9IHtcbiAgICAgICAgLi4uKHRoaXMuZmV0Y2hDbGllbnQuZGVmYXVsdEhlYWRlcnMgfHwge30pLFxuICAgICAgICAnWC1DdW11bG9jaXR5LUFwcGxpY2F0aW9uLUtleSc6IHRoaXMub3B0aW9ucy5rZXlcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgc3RhdGUuXG4gICAqL1xuICBnZXQgc3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUkLnZhbHVlO1xuICB9XG5cbiAgZ2V0TGFuZ3MoKSB7XG4gICAgY29uc3QgeyBsYW5ndWFnZXMgfSA9IHRoaXMub3B0aW9ucztcbiAgICByZXR1cm4gbGFuZ3VhZ2VzID8ga2V5cyhsYW5ndWFnZXMpLmZpbHRlcihrID0+IGxhbmd1YWdlc1trXSkgOiBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjb3JyZWN0IFVJIHZlcnNpb24uIEluIGh5YnJpZCBtb2RlIGZvciBhbmd1bGFyIGFuZCBuZ3guXG4gICAqL1xuICBnZXQgdWlWZXJzaW9uKCkge1xuICAgIGNvbnN0IHZlcnNpb24gPSB0aGlzLnN0YXRlLnZlcnNpb25zLnVpO1xuICAgIHJldHVybiB2ZXJzaW9uLm5neCB8fCB2ZXJzaW9uLm5nMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyB0aGUgYXBwIG1hbmlmZXN0LiBJZiBubyBhY2Nlc3MgLT4gdGhyb3cgYW4gZXJyb3IgdG8gdmVyaWZ5IGFwcCBhY2Nlc3MuXG4gICAqL1xuICBhc3luYyBsb2FkTWFuaWZlc3QoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgZGF0YTogYXBwbGljYXRpb24gfSA9IGF3YWl0IHRoaXMuYXBwbGljYXRpb25TZXJ2aWNlLmdldE1hbmlmZXN0T2ZDb250ZXh0UGF0aChcbiAgICAgICAgdGhpcy5zdGF0ZS5hcHAuY29udGV4dFBhdGhcbiAgICAgICk7XG4gICAgICB0aGlzLnN0YXRlLmFwcC5tYW5pZmVzdCA9IGFwcGxpY2F0aW9uO1xuICAgICAgdGhpcy5zdGF0ZS5hcHAuaWQgPSBhcHBsaWNhdGlvbi5pZDtcbiAgICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgdGhpcy5hcHBsaWNhdGlvblNlcnZpY2UuZGV0YWlsKGFwcGxpY2F0aW9uLmlkKTtcbiAgICAgIHRoaXMuY3VycmVudEFwcGxpY2F0aW9uLm5leHQoZGF0YSk7XG4gICAgICBhd2FpdCB0aGlzLmxvYWREZWZhdWx0T3B0aW9ucygpO1xuICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICB0aGlzLmN1cnJlbnRBcHBsaWNhdGlvbi5uZXh0KHt9KTtcbiAgICAgIHRocm93IGV4O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEeW5hbWljIG9wdGlvbnMgYXJlIHN0b3JlZCBvbiB0aGUgQVBJIGluIGEgc3BlY2lmaWMgY29uZmlnOiB7fSBvYmplY3QuIFRoZXkgY2FuXG4gICAqIGJlIHVzZWQgdG8gY29uZmlndXJlIHRoZSBhcHAgZHluYW1pY2FsbHkuXG4gICAqXG4gICAqIE5vdGU6IFRvIGF2b2lkcyBjb25mbGljdHMgd2l0aCB0aGUgZGVmYXVsdCBDb25maWcsIGl0IGlzIHJlY29tbWVuZGVkXG4gICAqIHRvIHVzZSBhIGNlcnRhaW4gbmFtZXNwYWNlLlxuICAgKi9cbiAgYXN5bmMgdXBkYXRlQ3VycmVudEFwcGxpY2F0aW9uQ29uZmlnPFQgPSBBcHBsaWNhdGlvbk9wdGlvbnM+KGNvbmZpZzogVCk6IFByb21pc2U8VD4ge1xuICAgIGNvbnN0IGFwcFdpdGhVcGRhdGVkQ29uZmlnID0gYXdhaXQgdGhpcy5hcHBsaWNhdGlvblNlcnZpY2UudXBkYXRlQXBwbGljYXRpb25Db25maWcoXG4gICAgICB0aGlzLnN0YXRlLmFwcC5pZCxcbiAgICAgIGNvbmZpZ1xuICAgICk7XG4gICAgdGhpcy5jdXJyZW50QXBwbGljYXRpb24ubmV4dChhcHBXaXRoVXBkYXRlZENvbmZpZyk7XG4gICAgcmV0dXJuIGFwcFdpdGhVcGRhdGVkQ29uZmlnLmNvbmZpZztcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGVuIHRoaXMgZnVuY3Rpb24gY2FsbGVkLCBpdCByZWZyZXNoZXMgdGhlIHZhbHVlcyBvZiBsb2dpbk9wdGlvbnMgc3RvcmVkIHdpdGhpbiB1aSBzdGF0ZSBvYmplY3QuXG4gICAqIEZ1bmN0aW9uIGlzIHRocm90dGxlZCB0byBleGVjdXRlIHRoZSByZWZyZXNoIG9uY2UgaW4gYSB0aW1lIHNwZWNpZmllZCBieSBwYXJhbXMgb2YgQHRocm90dGxlZCBkZWNvcmF0b3IsXG4gICAqIGl0IHNob3VsZCBiZSBjYWxsZWQgb24gbGVhZGluZyBlZGdlIG9mIHRoZSB0aW1lb3V0LlxuICAgKi9cbiAgQHRocm90dGxlKDYwMCwgeyB0cmFpbGluZzogZmFsc2UgfSlcbiAgYXN5bmMgcmVmcmVzaExvZ2luT3B0aW9ucygpIHtcbiAgICBjb25zdCBsb2dpbk9wdGlvbnMgPSAoYXdhaXQgdGhpcy50ZW5hbnRMb2dpbk9wdGlvbnNTZXJ2aWNlLmxpc3RGb3JDdXJyZW50VGVuYW50KCkpLmRhdGE7XG4gICAgdGhpcy5zdGF0ZSQubmV4dCh7IC4uLnRoaXMuc3RhdGUsIGxvZ2luT3B0aW9ucyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgY3VycmVudCB1c2VycyBhcHBsaWNhdGlvbiBsaXN0IGFuZCBtYXRjaGVzIGl0IGFnYWluc3QgZ2l2ZW4gYXBwbGljYXRpb24gbmFtZS5cbiAgICogUmV0dXJucyB0cnVlIGlmIGFwcGxpY2F0aW9uIGlzIGluIHRoZSBsaXN0LlxuICAgKiBAcGFyYW0gbmFtZSBhcHBsaWNhdGlvbiBuYW1lXG4gICAqL1xuICBhc3luYyBpc0FwcGxpY2F0aW9uQXZhaWxhYmxlKG5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IGFwcHMgPSBhd2FpdCB0aGlzLmN1cnJlbnRBcHBzT2ZVc2VyLnBpcGUodGFrZSgxKSkudG9Qcm9taXNlKCk7XG4gICAgcmV0dXJuIGFwcHMuc29tZShhcHAgPT4gYXBwLm5hbWUgPT09IG5hbWUgfHwgYXBwLmNvbnRleHRQYXRoID09PSBuYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGN1cnJlbnQgdXNlciAoaW5jbHVkaW5nIHN1cHBvcnQgdXNlcikuXG4gICAqIEBwYXJhbSB1c2VySW5mbyBJbmZvIGFib3V0IGN1cnJlbnQgdXNlciBhbmQgc3VwcG9ydCB1c2VyIHRvIGJlIHNldC5cbiAgICovXG4gIHNldFVzZXIodXNlckluZm86IHsgdXNlcjogSVVzZXI7IHN1cHBvcnRVc2VyTmFtZTogc3RyaW5nIH0pIHtcbiAgICB0aGlzLmN1cnJlbnRTdXBwb3J0VXNlck5hbWUubmV4dCh1c2VySW5mby5zdXBwb3J0VXNlck5hbWUgfHwgbnVsbCk7XG4gICAgdGhpcy5jdXJyZW50VXNlci5uZXh0KHVzZXJJbmZvLnVzZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZlcmlmaWVzIGlmIHRoZSBjdXJyZW50IGFwcGxpY2F0aW9uIGlzIG93bmVkIGJ5IHRoZSBjdXJyZW50IHRlbmFudC5cbiAgICogQHBhcmFtIGFwcCBUaGUgYXBwbGljYXRpb24gdG8gdmVyaWZ5LlxuICAgKiBAcmV0dXJucyB0cnVlIGlmIGl0IGJlbG9uZ3MgdG8gdGhlIGN1cnJlbnQgdGVuYW50LlxuICAgKi9cbiAgaXNPd25lck9mQXBwbGljYXRpb24oYXBwPzogSUFwcGxpY2F0aW9uKTogYm9vbGVhbiB7XG4gICAgaWYgKCFhcHApIHtcbiAgICAgIGFwcCA9IHRoaXMuY3VycmVudEFwcGxpY2F0aW9uLnZhbHVlO1xuICAgIH1cbiAgICBjb25zdCBjdXJyZW50VGVuYW50OiBJQ3VycmVudFRlbmFudCA9IHRoaXMuY3VycmVudFRlbmFudC52YWx1ZTtcbiAgICBjb25zdCBhcHBPd25lciA9IGdldChhcHAsICdvd25lci50ZW5hbnQuaWQnKTtcbiAgICByZXR1cm4gY3VycmVudFRlbmFudC5uYW1lID09PSBhcHBPd25lcjtcbiAgfVxuXG4gIGdldEN1cnJlbnRDb250ZXh0UGF0aCgpIHtcbiAgICBjb25zdCBtYXRjaCA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5tYXRjaCgvXFwvYXBwc1xcLyhwdWJsaWNcXC8pezAsMX0oLis/KShcXC98XFw/fCN8JCkvKTtcbiAgICByZXR1cm4gbWF0Y2ggJiYgbWF0Y2hbMl07XG4gIH1cblxuICBwcm90ZWN0ZWQgY3VycmVudEFwcHNPZlVzZXIkKCk6IE9ic2VydmFibGU8SUFwcGxpY2F0aW9uW10+IHtcbiAgICBjb25zdCBhcHBDaGFuZ2VzJCA9IHRoaXMub25BcHBDaGFuZ2VzQ29tcGxldGlvbiQoKS5waXBlKHN0YXJ0V2l0aCh1bmRlZmluZWQgYXMgdm9pZCkpO1xuICAgIGNvbnN0IHVzZXJDaGFuZ2VzJCA9IHRoaXMuY3VycmVudFVzZXIucGlwZShcbiAgICAgIG1hcCh1c2VyID0+IHVzZXI/LmlkKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApO1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFt1c2VyQ2hhbmdlcyQsIGFwcENoYW5nZXMkXSkucGlwZShcbiAgICAgIGZpbHRlcigoW3VzZXJJZF0pID0+ICEhdXNlcklkKSxcbiAgICAgIHN3aXRjaE1hcCgoW3VzZXJJZF0pID0+XG4gICAgICAgIHRoaXMuYXBwbGljYXRpb25TZXJ2aWNlLmxpc3RCeVVzZXIodXNlcklkLCB7XG4gICAgICAgICAgZHJvcE92ZXJ3cml0dGVuQXBwczogdHJ1ZSxcbiAgICAgICAgICBub1BhZ2luZzogdHJ1ZVxuICAgICAgICB9KVxuICAgICAgKSxcbiAgICAgIG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpLFxuICAgICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQW4gT2JzZXJ2YWJsZSBlbWl0dGluZyBvbmNlIGFsbCBQT1NULCBQVVQsIERFTEVURSByZXF1ZXN0cyB0byB0aGUgYXBwbGljYXRpb24gQVBJIGZpbmlzaGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgb25BcHBDaGFuZ2VzQ29tcGxldGlvbiQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3QgbWV0aG9kcyA9IFsnUE9TVCcsICdQVVQnLCAnREVMRVRFJ107XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5jYWxscy5waXBlKFxuICAgICAgZmlsdGVyKFxuICAgICAgICAoeyBtZXRob2QsIHVybCB9KSA9PiBtZXRob2RzLmluY2x1ZGVzKG1ldGhvZCkgJiYgdXJsPy5pbmNsdWRlcygnYXBwbGljYXRpb24vYXBwbGljYXRpb25zJylcbiAgICAgICksXG4gICAgICBtYXAoKHsgcGhhc2UgfSkgPT4gKHBoYXNlID09PSAnc3RhcnQnID8gMSA6IC0xKSksXG4gICAgICBzY2FuKChjb3VudCwgaXRlbSkgPT4gY291bnQgKyBpdGVtLCAwKSxcbiAgICAgIG1hcChjb3VudCA9PiBjb3VudCA9PT0gMCksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgZGVib3VuY2VUaW1lKDUwMCksXG4gICAgICBmaWx0ZXIoY29tcGxldGVkID0+ICEhY29tcGxldGVkKSxcbiAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZERlZmF1bHRPcHRpb25zKCkge1xuICAgIHRoaXMuc3RhdGUuc3VwcG9ydFVybCA9IGF3YWl0IHRoaXMub3B0aW9ucy5nZXRTdXBwb3J0VXJsKCk7XG4gICAgdGhpcy5zdGF0ZS5hY3RpdmF0ZVN1cHBvcnRVc2VyQXZhaWxhYmxlID0gYXdhaXQgdGhpcy5vcHRpb25zLmdldEFjdGl2YXRlU3VwcG9ydFVzZXIoKTtcbiAgICB0aGlzLnN0YXRlLnZlcnNpb25zLmJhY2tlbmQgPSBhd2FpdCB0aGlzLm9wdGlvbnMuZ2V0U3lzdGVtT3B0aW9uKCdzeXN0ZW0nLCAndmVyc2lvbicpO1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnNob3dJbmNvbXBhdGlibGVWZXJzaW9uc0Vycm9yKCk7XG4gICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgIC8vIGlnbm9yZSB0aGlzXG4gICAgfVxuICAgIHRoaXMuZW1pdE5ld1N0YXRlKCk7XG4gIH1cblxuICBwcml2YXRlIHNob3dJbmNvbXBhdGlibGVWZXJzaW9uc0Vycm9yKCkge1xuICAgIGNvbnN0IHVpVmVyc2lvbjogc3RyaW5nID0gdGhpcy5zdGF0ZS52ZXJzaW9ucy51aS5uZ3g7XG4gICAgY29uc3QgYmFja2VuZFZlcnNpb246IHN0cmluZyA9IHRoaXMuc3RhdGUudmVyc2lvbnMuYmFja2VuZDtcblxuICAgIGlmICghc2F0aXNmaWVzKHVpVmVyc2lvbiwgYDw9JHtiYWNrZW5kVmVyc2lvbn0gfHwgfiR7YmFja2VuZFZlcnNpb259YCkpIHtcbiAgICAgIGNvbnN0IGVycm9yQ29udGVudCA9IGBZb3UgYXJlIHJ1bm5pbmcgdmVyc2lvbiAke3VpVmVyc2lvbn0gb2YgdGhlIFVJIGFuZCB2ZXJzaW9uICR7YmFja2VuZFZlcnNpb259IG9mIGJhY2tlbmQhYDtcbiAgICAgIGNvbnNvbGUubG9nKCclYyAnICsgZXJyb3JDb250ZW50LCAnZm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtc2l6ZTogMzBweDsgY29sb3I6IHJlZDsnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvY29tbW9uL3VpLXN0YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFDTCxXQUFXLEVBRVgseUJBQXlCLEVBQ3pCLGtCQUFrQixFQUduQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNsRSxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixHQUFHLEVBQ0gsSUFBSSxFQUNKLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxFQUNULFlBQVksRUFDWixJQUFJLEVBQ0wsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7Ozs7QUFHbkMsTUFBTSxPQUFPLGVBQWdCLFNBQVEsWUFBWTtJQXFDL0MsWUFDVSxrQkFBc0MsRUFDdkMsVUFBc0IsRUFDckIsT0FBdUIsRUFDdkIsV0FBd0IsRUFDeEIseUJBQW9EO1FBRTVELEtBQUssRUFBRSxDQUFDO1FBTkEsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN2QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3JCLFlBQU8sR0FBUCxPQUFP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QWMsR0FBVyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFFM0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsS0FBSyxjQUFjLFFBQVEsY0FBYyxFQUFFLENBQUMsRUFBRTtZQUN0RSxNQUFNLFlBQVksR0FBRywyQkFBMkIsU0FBUywwQkFBMEIsY0FBYyxjQUFjLENBQUM7WUFDaEgsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsWUFBWSxFQUFFLGlEQUFpRCxDQUFDLENBQUM7U0FDdEY7SUFDSCxDQUFDOzs0R0EzT1UsZUFBZTtnSEFBZixlQUFlLGNBREYsTUFBTTtBQWtJOUI7SUFEQyxRQUFRLENBQUMsR0FBRyxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDOzs7OzBEQUlsQzsyRkFwSVUsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7aU9Ba0kxQixtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEZldGNoQ2xpZW50LFxuICBJQXBwbGljYXRpb24sXG4gIFRlbmFudExvZ2luT3B0aW9uc1NlcnZpY2UsXG4gIEFwcGxpY2F0aW9uU2VydmljZSxcbiAgSUN1cnJlbnRUZW5hbnQsXG4gIElVc2VyXG59IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IGtleXMsIGdldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmaWx0ZXIsXG4gIG1hcCxcbiAgc2NhbixcbiAgc3dpdGNoTWFwLFxuICBzaGFyZVJlcGxheSxcbiAgc3RhcnRXaXRoLFxuICBkZWJvdW5jZVRpbWUsXG4gIHRha2Vcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT3B0aW9uc1NlcnZpY2UgfSBmcm9tICcuL29wdGlvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL3N0YXRlLXNlcnZpY2UuYWJzdHJhY3QnO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvYXBpJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uT3B0aW9ucyB9IGZyb20gJy4vQXBwbGljYXRpb25PcHRpb25zJztcbmltcG9ydCB7IHRocm90dGxlIH0gZnJvbSAnLi90aHJvdHRsZS5kZWNvcmF0b3InO1xuaW1wb3J0IHsgc2F0aXNmaWVzIH0gZnJvbSAnc2VtdmVyJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBcHBTdGF0ZVNlcnZpY2UgZXh0ZW5kcyBTdGF0ZVNlcnZpY2Uge1xuICBzdGF0ZSQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHtcbiAgICBhcHA6IHtcbiAgICAgIG5hbWU6IHRoaXMub3B0aW9ucy5uYW1lLFxuICAgICAgY29udGV4dFBhdGg6IHRoaXMuZ2V0Q3VycmVudENvbnRleHRQYXRoKCkgfHwgdGhpcy5vcHRpb25zLmNvbnRleHRQYXRoXG4gICAgfSxcbiAgICBzdXBwb3J0VXJsOiB0aGlzLm9wdGlvbnMuc3VwcG9ydFVybCxcbiAgICBsYW5nOiB0aGlzLm9wdGlvbnMuZ2V0KCdkZWZhdWx0TGFuZ3VhZ2UnLCAnZW4nKSxcbiAgICBsYW5nczogdGhpcy5nZXRMYW5ncygpLFxuICAgIGxhbmdzRGV0YWlsOiB0aGlzLm9wdGlvbnMubGFuZ3VhZ2VzLFxuICAgIGxvZ2luT3B0aW9uczogdGhpcy5vcHRpb25zLmxvZ2luT3B0aW9ucyxcbiAgICBhY3RpdmF0ZVN1cHBvcnRVc2VyQXZhaWxhYmxlOiB1bmRlZmluZWQsXG4gICAgdmVyc2lvbnM6IHtcbiAgICAgIGJhY2tlbmQ6IHVuZGVmaW5lZCxcbiAgICAgIHVpOiB0aGlzLm9wdGlvbnMudmVyc2lvbnMgfHwgeyBuZ3g6IHVuZGVmaW5lZCB9XG4gICAgfSxcbiAgICBoaWRlUG93ZXJlZDogdGhpcy5vcHRpb25zLmhpZGVQb3dlcmVkLFxuICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgc2hvd1JpZ2h0RHJhd2VyOiB0aGlzLm9wdGlvbnMucmlnaHREcmF3ZXIsXG4gICAgbG9naW5FeHRyYUxpbms6IHRoaXMub3B0aW9ucy5nZXQoJ2xvZ2luX2V4dHJhX2xpbmsnKSxcbiAgICBuZXdzbGV0dGVyOiB0aGlzLm9wdGlvbnMubmV3c2xldHRlclxuICB9KTtcbiAgY3VycmVudFN1cHBvcnRVc2VyTmFtZTogQmVoYXZpb3JTdWJqZWN0PHN0cmluZyB8IG51bGw+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcbiAgY3VycmVudFVzZXI6IEJlaGF2aW9yU3ViamVjdDxJVXNlciB8IG51bGw+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcbiAgY3VycmVudFRlbmFudDogQmVoYXZpb3JTdWJqZWN0PElDdXJyZW50VGVuYW50IHwgbnVsbD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICBjdXJyZW50QXBwbGljYXRpb246IEJlaGF2aW9yU3ViamVjdDxJQXBwbGljYXRpb24gfCBudWxsPiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG4gIGN1cnJlbnRBcHBsaWNhdGlvbkNvbmZpZzogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5jdXJyZW50QXBwbGljYXRpb24ucGlwZShcbiAgICBmaWx0ZXIoYXBwID0+ICEhYXBwKSxcbiAgICBtYXAoYXBwID0+IGFwcD8uY29uZmlnIHx8IG51bGwpXG4gICk7XG4gIC8qKlxuICAgKiBBbiBPYnNlcnZhYmxlIG9mIHRoZSBhcHBsaWNhdGlvbnMgYXZhaWxhYmxlIGZvciB0aGUgY3VycmVudCB1c2VyLlxuICAgKiBUaGUgT2JzZXJ2YWJsZSBlbWl0cyBhIG5ldyBhcnJheSBvbiB1c2VyIGNoYW5nZXMgb3IgaWYgdGhlIGFwcGxpY2F0aW9uXG4gICAqIHBlcmZvcm1zIFBPU1QsIFBVVCBvciBERUxFVEUgcmVxdWVzdHMgdG8gdGhlIGFwcGxpY2F0aW9uIEFQSS5cbiAgICovXG4gIGN1cnJlbnRBcHBzT2ZVc2VyOiBPYnNlcnZhYmxlPElBcHBsaWNhdGlvbltdPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFwcGxpY2F0aW9uU2VydmljZTogQXBwbGljYXRpb25TZXJ2aWNlLFxuICAgIHB1YmxpYyBhcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgb3B0aW9uczogT3B0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBmZXRjaENsaWVudDogRmV0Y2hDbGllbnQsXG4gICAgcHJpdmF0ZSB0ZW5hbnRMb2dpbk9wdGlvbnNTZXJ2aWNlOiBUZW5hbnRMb2dpbk9wdGlvbnNTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hcGlTZXJ2aWNlLmNhbGxzXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKCh7IHVybCB9KSA9PiAhL25vdGlmaWNhdGlvblxcL3JlYWx0aW1lLy50ZXN0KHVybCkpLFxuICAgICAgICBtYXAoKHsgcGhhc2UgfSkgPT4gKHBoYXNlID09PSAnc3RhcnQnID8gMSA6IC0xKSksXG4gICAgICAgIHNjYW4oKGNvdW50LCBpdGVtKSA9PiBjb3VudCArIGl0ZW0sIDApLFxuICAgICAgICBtYXAoY291bnQgPT4gY291bnQgPiAwKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShpc0xvYWRpbmcgPT4gKHRoaXMuc3RhdGUuaXNMb2FkaW5nID0gaXNMb2FkaW5nKSk7XG5cbiAgICB0aGlzLmFzc2lnbkFwcGxpY2F0aW9uS2V5VG9EZWZhdWx0SGVhZGVycygpO1xuICAgIHRoaXMuY3VycmVudEFwcHNPZlVzZXIgPSB0aGlzLmN1cnJlbnRBcHBzT2ZVc2VyJCgpO1xuICB9XG5cbiAgYXNzaWduQXBwbGljYXRpb25LZXlUb0RlZmF1bHRIZWFkZXJzKCkge1xuICAgIGlmICghaXNEZXZNb2RlKCkpIHtcbiAgICAgIHRoaXMuZmV0Y2hDbGllbnQuZGVmYXVsdEhlYWRlcnMgPSB7XG4gICAgICAgIC4uLih0aGlzLmZldGNoQ2xpZW50LmRlZmF1bHRIZWFkZXJzIHx8IHt9KSxcbiAgICAgICAgJ1gtQ3VtdWxvY2l0eS1BcHBsaWNhdGlvbi1LZXknOiB0aGlzLm9wdGlvbnMua2V5XG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IHN0YXRlLlxuICAgKi9cbiAgZ2V0IHN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlJC52YWx1ZTtcbiAgfVxuXG4gIGdldExhbmdzKCkge1xuICAgIGNvbnN0IHsgbGFuZ3VhZ2VzIH0gPSB0aGlzLm9wdGlvbnM7XG4gICAgcmV0dXJuIGxhbmd1YWdlcyA/IGtleXMobGFuZ3VhZ2VzKS5maWx0ZXIoayA9PiBsYW5ndWFnZXNba10pIDogW107XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY29ycmVjdCBVSSB2ZXJzaW9uLiBJbiBoeWJyaWQgbW9kZSBmb3IgYW5ndWxhciBhbmQgbmd4LlxuICAgKi9cbiAgZ2V0IHVpVmVyc2lvbigpIHtcbiAgICBjb25zdCB2ZXJzaW9uID0gdGhpcy5zdGF0ZS52ZXJzaW9ucy51aTtcbiAgICByZXR1cm4gdmVyc2lvbi5uZ3ggfHwgdmVyc2lvbi5uZzE7XG4gIH1cblxuICAvKipcbiAgICogTG9hZHMgdGhlIGFwcCBtYW5pZmVzdC4gSWYgbm8gYWNjZXNzIC0+IHRocm93IGFuIGVycm9yIHRvIHZlcmlmeSBhcHAgYWNjZXNzLlxuICAgKi9cbiAgYXN5bmMgbG9hZE1hbmlmZXN0KCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGRhdGE6IGFwcGxpY2F0aW9uIH0gPSBhd2FpdCB0aGlzLmFwcGxpY2F0aW9uU2VydmljZS5nZXRNYW5pZmVzdE9mQ29udGV4dFBhdGgoXG4gICAgICAgIHRoaXMuc3RhdGUuYXBwLmNvbnRleHRQYXRoXG4gICAgICApO1xuICAgICAgdGhpcy5zdGF0ZS5hcHAubWFuaWZlc3QgPSBhcHBsaWNhdGlvbjtcbiAgICAgIHRoaXMuc3RhdGUuYXBwLmlkID0gYXBwbGljYXRpb24uaWQ7XG4gICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHRoaXMuYXBwbGljYXRpb25TZXJ2aWNlLmRldGFpbChhcHBsaWNhdGlvbi5pZCk7XG4gICAgICB0aGlzLmN1cnJlbnRBcHBsaWNhdGlvbi5uZXh0KGRhdGEpO1xuICAgICAgYXdhaXQgdGhpcy5sb2FkRGVmYXVsdE9wdGlvbnMoKTtcbiAgICB9IGNhdGNoIChleCkge1xuICAgICAgdGhpcy5jdXJyZW50QXBwbGljYXRpb24ubmV4dCh7fSk7XG4gICAgICB0aHJvdyBleDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRHluYW1pYyBvcHRpb25zIGFyZSBzdG9yZWQgb24gdGhlIEFQSSBpbiBhIHNwZWNpZmljIGNvbmZpZzoge30gb2JqZWN0LiBUaGV5IGNhblxuICAgKiBiZSB1c2VkIHRvIGNvbmZpZ3VyZSB0aGUgYXBwIGR5bmFtaWNhbGx5LlxuICAgKlxuICAgKiBOb3RlOiBUbyBhdm9pZHMgY29uZmxpY3RzIHdpdGggdGhlIGRlZmF1bHQgQ29uZmlnLCBpdCBpcyByZWNvbW1lbmRlZFxuICAgKiB0byB1c2UgYSBjZXJ0YWluIG5hbWVzcGFjZS5cbiAgICovXG4gIGFzeW5jIHVwZGF0ZUN1cnJlbnRBcHBsaWNhdGlvbkNvbmZpZzxUID0gQXBwbGljYXRpb25PcHRpb25zPihjb25maWc6IFQpOiBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCBhcHBXaXRoVXBkYXRlZENvbmZpZyA9IGF3YWl0IHRoaXMuYXBwbGljYXRpb25TZXJ2aWNlLnVwZGF0ZUFwcGxpY2F0aW9uQ29uZmlnKFxuICAgICAgdGhpcy5zdGF0ZS5hcHAuaWQsXG4gICAgICBjb25maWdcbiAgICApO1xuICAgIHRoaXMuY3VycmVudEFwcGxpY2F0aW9uLm5leHQoYXBwV2l0aFVwZGF0ZWRDb25maWcpO1xuICAgIHJldHVybiBhcHBXaXRoVXBkYXRlZENvbmZpZy5jb25maWc7XG4gIH1cblxuICAvKipcbiAgICogV2hlbiB0aGlzIGZ1bmN0aW9uIGNhbGxlZCwgaXQgcmVmcmVzaGVzIHRoZSB2YWx1ZXMgb2YgbG9naW5PcHRpb25zIHN0b3JlZCB3aXRoaW4gdWkgc3RhdGUgb2JqZWN0LlxuICAgKiBGdW5jdGlvbiBpcyB0aHJvdHRsZWQgdG8gZXhlY3V0ZSB0aGUgcmVmcmVzaCBvbmNlIGluIGEgdGltZSBzcGVjaWZpZWQgYnkgcGFyYW1zIG9mIEB0aHJvdHRsZWQgZGVjb3JhdG9yLFxuICAgKiBpdCBzaG91bGQgYmUgY2FsbGVkIG9uIGxlYWRpbmcgZWRnZSBvZiB0aGUgdGltZW91dC5cbiAgICovXG4gIEB0aHJvdHRsZSg2MDAsIHsgdHJhaWxpbmc6IGZhbHNlIH0pXG4gIGFzeW5jIHJlZnJlc2hMb2dpbk9wdGlvbnMoKSB7XG4gICAgY29uc3QgbG9naW5PcHRpb25zID0gKGF3YWl0IHRoaXMudGVuYW50TG9naW5PcHRpb25zU2VydmljZS5saXN0Rm9yQ3VycmVudFRlbmFudCgpKS5kYXRhO1xuICAgIHRoaXMuc3RhdGUkLm5leHQoeyAuLi50aGlzLnN0YXRlLCBsb2dpbk9wdGlvbnMgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGN1cnJlbnQgdXNlcnMgYXBwbGljYXRpb24gbGlzdCBhbmQgbWF0Y2hlcyBpdCBhZ2FpbnN0IGdpdmVuIGFwcGxpY2F0aW9uIG5hbWUuXG4gICAqIFJldHVybnMgdHJ1ZSBpZiBhcHBsaWNhdGlvbiBpcyBpbiB0aGUgbGlzdC5cbiAgICogQHBhcmFtIG5hbWUgYXBwbGljYXRpb24gbmFtZVxuICAgKi9cbiAgYXN5bmMgaXNBcHBsaWNhdGlvbkF2YWlsYWJsZShuYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBhcHBzID0gYXdhaXQgdGhpcy5jdXJyZW50QXBwc09mVXNlci5waXBlKHRha2UoMSkpLnRvUHJvbWlzZSgpO1xuICAgIHJldHVybiBhcHBzLnNvbWUoYXBwID0+IGFwcC5uYW1lID09PSBuYW1lIHx8IGFwcC5jb250ZXh0UGF0aCA9PT0gbmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBjdXJyZW50IHVzZXIgKGluY2x1ZGluZyBzdXBwb3J0IHVzZXIpLlxuICAgKiBAcGFyYW0gdXNlckluZm8gSW5mbyBhYm91dCBjdXJyZW50IHVzZXIgYW5kIHN1cHBvcnQgdXNlciB0byBiZSBzZXQuXG4gICAqL1xuICBzZXRVc2VyKHVzZXJJbmZvOiB7IHVzZXI6IElVc2VyOyBzdXBwb3J0VXNlck5hbWU6IHN0cmluZyB9KSB7XG4gICAgdGhpcy5jdXJyZW50U3VwcG9ydFVzZXJOYW1lLm5leHQodXNlckluZm8uc3VwcG9ydFVzZXJOYW1lIHx8IG51bGwpO1xuICAgIHRoaXMuY3VycmVudFVzZXIubmV4dCh1c2VySW5mby51c2VyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWZXJpZmllcyBpZiB0aGUgY3VycmVudCBhcHBsaWNhdGlvbiBpcyBvd25lZCBieSB0aGUgY3VycmVudCB0ZW5hbnQuXG4gICAqIEBwYXJhbSBhcHAgVGhlIGFwcGxpY2F0aW9uIHRvIHZlcmlmeS5cbiAgICogQHJldHVybnMgdHJ1ZSBpZiBpdCBiZWxvbmdzIHRvIHRoZSBjdXJyZW50IHRlbmFudC5cbiAgICovXG4gIGlzT3duZXJPZkFwcGxpY2F0aW9uKGFwcD86IElBcHBsaWNhdGlvbik6IGJvb2xlYW4ge1xuICAgIGlmICghYXBwKSB7XG4gICAgICBhcHAgPSB0aGlzLmN1cnJlbnRBcHBsaWNhdGlvbi52YWx1ZTtcbiAgICB9XG4gICAgY29uc3QgY3VycmVudFRlbmFudDogSUN1cnJlbnRUZW5hbnQgPSB0aGlzLmN1cnJlbnRUZW5hbnQudmFsdWU7XG4gICAgY29uc3QgYXBwT3duZXIgPSBnZXQoYXBwLCAnb3duZXIudGVuYW50LmlkJyk7XG4gICAgcmV0dXJuIGN1cnJlbnRUZW5hbnQubmFtZSA9PT0gYXBwT3duZXI7XG4gIH1cblxuICBnZXRDdXJyZW50Q29udGV4dFBhdGgoKSB7XG4gICAgY29uc3QgbWF0Y2ggPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUubWF0Y2goL1xcL2FwcHNcXC8ocHVibGljXFwvKXswLDF9KC4rPykoXFwvfFxcP3wjfCQpLyk7XG4gICAgcmV0dXJuIG1hdGNoICYmIG1hdGNoWzJdO1xuICB9XG5cbiAgcHJvdGVjdGVkIGN1cnJlbnRBcHBzT2ZVc2VyJCgpOiBPYnNlcnZhYmxlPElBcHBsaWNhdGlvbltdPiB7XG4gICAgY29uc3QgYXBwQ2hhbmdlcyQgPSB0aGlzLm9uQXBwQ2hhbmdlc0NvbXBsZXRpb24kKCkucGlwZShzdGFydFdpdGgodW5kZWZpbmVkIGFzIHZvaWQpKTtcbiAgICBjb25zdCB1c2VyQ2hhbmdlcyQgPSB0aGlzLmN1cnJlbnRVc2VyLnBpcGUoXG4gICAgICBtYXAodXNlciA9PiB1c2VyPy5pZCksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKTtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbdXNlckNoYW5nZXMkLCBhcHBDaGFuZ2VzJF0pLnBpcGUoXG4gICAgICBmaWx0ZXIoKFt1c2VySWRdKSA9PiAhIXVzZXJJZCksXG4gICAgICBzd2l0Y2hNYXAoKFt1c2VySWRdKSA9PlxuICAgICAgICB0aGlzLmFwcGxpY2F0aW9uU2VydmljZS5saXN0QnlVc2VyKHVzZXJJZCwge1xuICAgICAgICAgIGRyb3BPdmVyd3JpdHRlbkFwcHM6IHRydWUsXG4gICAgICAgICAgbm9QYWdpbmc6IHRydWVcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICBtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSxcbiAgICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFuIE9ic2VydmFibGUgZW1pdHRpbmcgb25jZSBhbGwgUE9TVCwgUFVULCBERUxFVEUgcmVxdWVzdHMgdG8gdGhlIGFwcGxpY2F0aW9uIEFQSSBmaW5pc2hlZFxuICAgKi9cbiAgcHJvdGVjdGVkIG9uQXBwQ2hhbmdlc0NvbXBsZXRpb24kKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGNvbnN0IG1ldGhvZHMgPSBbJ1BPU1QnLCAnUFVUJywgJ0RFTEVURSddO1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuY2FsbHMucGlwZShcbiAgICAgIGZpbHRlcihcbiAgICAgICAgKHsgbWV0aG9kLCB1cmwgfSkgPT4gbWV0aG9kcy5pbmNsdWRlcyhtZXRob2QpICYmIHVybD8uaW5jbHVkZXMoJ2FwcGxpY2F0aW9uL2FwcGxpY2F0aW9ucycpXG4gICAgICApLFxuICAgICAgbWFwKCh7IHBoYXNlIH0pID0+IChwaGFzZSA9PT0gJ3N0YXJ0JyA/IDEgOiAtMSkpLFxuICAgICAgc2NhbigoY291bnQsIGl0ZW0pID0+IGNvdW50ICsgaXRlbSwgMCksXG4gICAgICBtYXAoY291bnQgPT4gY291bnQgPT09IDApLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIGRlYm91bmNlVGltZSg1MDApLFxuICAgICAgZmlsdGVyKGNvbXBsZXRlZCA9PiAhIWNvbXBsZXRlZCksXG4gICAgICBtYXAoKCkgPT4ge1xuICAgICAgICByZXR1cm47XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWREZWZhdWx0T3B0aW9ucygpIHtcbiAgICB0aGlzLnN0YXRlLnN1cHBvcnRVcmwgPSBhd2FpdCB0aGlzLm9wdGlvbnMuZ2V0U3VwcG9ydFVybCgpO1xuICAgIHRoaXMuc3RhdGUuYWN0aXZhdGVTdXBwb3J0VXNlckF2YWlsYWJsZSA9IGF3YWl0IHRoaXMub3B0aW9ucy5nZXRBY3RpdmF0ZVN1cHBvcnRVc2VyKCk7XG4gICAgdGhpcy5zdGF0ZS52ZXJzaW9ucy5iYWNrZW5kID0gYXdhaXQgdGhpcy5vcHRpb25zLmdldFN5c3RlbU9wdGlvbignc3lzdGVtJywgJ3ZlcnNpb24nKTtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zaG93SW5jb21wYXRpYmxlVmVyc2lvbnNFcnJvcigpO1xuICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAvLyBpZ25vcmUgdGhpc1xuICAgIH1cbiAgICB0aGlzLmVtaXROZXdTdGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93SW5jb21wYXRpYmxlVmVyc2lvbnNFcnJvcigpIHtcbiAgICBpZiAodGhpcy5vcHRpb25zLm5vVmVyc2lvbldhcm5pbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdWlWZXJzaW9uOiBzdHJpbmcgPSB0aGlzLnN0YXRlLnZlcnNpb25zLnVpLm5neDtcbiAgICBjb25zdCBiYWNrZW5kVmVyc2lvbjogc3RyaW5nID0gdGhpcy5zdGF0ZS52ZXJzaW9ucy5iYWNrZW5kO1xuXG4gICAgaWYgKCFzYXRpc2ZpZXModWlWZXJzaW9uLCBgPD0ke2JhY2tlbmRWZXJzaW9ufSB8fCB+JHtiYWNrZW5kVmVyc2lvbn1gKSkge1xuICAgICAgY29uc3QgZXJyb3JDb250ZW50ID0gYFlvdSBhcmUgcnVubmluZyB2ZXJzaW9uICR7dWlWZXJzaW9ufSBvZiB0aGUgVUkgYW5kIHZlcnNpb24gJHtiYWNrZW5kVmVyc2lvbn0gb2YgYmFja2VuZCFgO1xuICAgICAgY29uc29sZS5sb2coJyVjICcgKyBlcnJvckNvbnRlbnQsICdmb250LXdlaWdodDogYm9sZDsgZm9udC1zaXplOiAzMHB4OyBjb2xvcjogcmVkOycpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -759,6 +759,9 @@ class AppStateService extends StateService {
759
759
  });
760
760
  }
761
761
  showIncompatibleVersionsError() {
762
+ if (this.options.noVersionWarning) {
763
+ return;
764
+ }
762
765
  const uiVersion = this.state.versions.ui.ngx;
763
766
  const backendVersion = this.state.versions.backend;
764
767
  if (!satisfies(uiVersion, `<=${backendVersion} || ~${backendVersion}`)) {