@auth0/auth0-angular 1.6.0 → 1.8.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.
@@ -88,4 +88,4 @@ AuthClientConfig.ctorParameters = () => [
88
88
  * ```
89
89
  */
90
90
  export const AuthConfigService = new InjectionToken('auth0-angular.config');
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hdXRoMC1hbmd1bGFyL3NyYy9saWIvYXV0aC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFzQjdFOzs7R0FHRztBQUNILE1BQU0sVUFBVSw0QkFBNEIsQ0FDMUMsR0FBdUI7SUFFdkIsT0FBTyxPQUFPLEdBQUcsS0FBSyxRQUFRLENBQUM7QUFDakMsQ0FBQztBQXVORDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5Q0c7QUFFSCxNQUFNLE9BQU8sZ0JBQWdCO0lBRzNCLFlBQW1ELE1BQW1CO1FBQ3BFLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxHQUFHLENBQUMsTUFBa0I7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsR0FBRztRQUNELE9BQU8sSUFBSSxDQUFDLE1BQW9CLENBQUM7SUFDbkMsQ0FBQzs7OztZQXZCRixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzs7NENBSW5CLFFBQVEsWUFBSSxNQUFNLFNBQUMsaUJBQWlCOztBQXNCbkQ7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUNqRCxzQkFBc0IsQ0FDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENhY2hlTG9jYXRpb24sXG4gIEdldFRva2VuU2lsZW50bHlPcHRpb25zLFxuICBJQ2FjaGUsXG59IGZyb20gJ0BhdXRoMC9hdXRoMC1zcGEtanMnO1xuXG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIERlZmluZXMgYSBjb21tb24gc2V0IG9mIEhUVFAgbWV0aG9kcy5cbiAqL1xuZXhwb3J0IGNvbnN0IGVudW0gSHR0cE1ldGhvZCB7XG4gIEdldCA9ICdHRVQnLFxuICBQb3N0ID0gJ1BPU1QnLFxuICBQdXQgPSAnUFVUJyxcbiAgUGF0Y2ggPSAnUEFUQ0gnLFxuICBEZWxldGUgPSAnREVMRVRFJyxcbiAgSGVhZCA9ICdIRUFEJyxcbn1cblxuLyoqXG4gKiBEZWZpbmVzIHRoZSB0eXBlIGZvciBhIHJvdXRlIGNvbmZpZyBlbnRyeS4gQ2FuIGVpdGhlciBiZTpcbiAqXG4gKiAtIGFuIG9iamVjdCBvZiB0eXBlIEh0dHBJbnRlcmNlcHRvclJvdXRlQ29uZmlnXG4gKiAtIGEgc3RyaW5nXG4gKi9cbmV4cG9ydCB0eXBlIEFwaVJvdXRlRGVmaW5pdGlvbiA9IEh0dHBJbnRlcmNlcHRvclJvdXRlQ29uZmlnIHwgc3RyaW5nO1xuXG4vKipcbiAqIEEgY3VzdG9tIHR5cGUgZ3VhcmQgdG8gaGVscCBpZGVudGlmeSByb3V0ZSBkZWZpbml0aW9ucyB0aGF0IGFyZSBhY3R1YWxseSBIdHRwSW50ZXJjZXB0b3JSb3V0ZUNvbmZpZyB0eXBlcy5cbiAqIEBwYXJhbSBkZWYgVGhlIHJvdXRlIGRlZmluaXRpb24gdHlwZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNIdHRwSW50ZXJjZXB0b3JSb3V0ZUNvbmZpZyhcbiAgZGVmOiBBcGlSb3V0ZURlZmluaXRpb25cbik6IGRlZiBpcyBIdHRwSW50ZXJjZXB0b3JSb3V0ZUNvbmZpZyB7XG4gIHJldHVybiB0eXBlb2YgZGVmICE9PSAnc3RyaW5nJztcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUgSHR0cEludGVyY2VwdG9yXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cEludGVyY2VwdG9yQ29uZmlnIHtcbiAgYWxsb3dlZExpc3Q6IEFwaVJvdXRlRGVmaW5pdGlvbltdO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIGEgc2luZ2xlIGludGVyY2VwdG9yIHJvdXRlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cEludGVyY2VwdG9yUm91dGVDb25maWcge1xuICAvKipcbiAgICogVGhlIFVSTCB0byB0ZXN0LCBieSBzdXBwbHlpbmcgdGhlIFVSTCB0byBtYXRjaC5cbiAgICogSWYgYHRlc3RgIGlzIGEgbWF0Y2ggZm9yIHRoZSBjdXJyZW50IHJlcXVlc3QgcGF0aCBmcm9tIHRoZSBIVFRQIGNsaWVudCwgdGhlblxuICAgKiBhbiBhY2Nlc3MgdG9rZW4gaXMgYXR0YWNoZWQgdG8gdGhlIHJlcXVlc3QgaW4gdGhlXG4gICAqICBbXCJBdXRob3JpemF0aW9uXCIgaGVhZGVyXShodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0Zi1vYXV0aC12Mi1iZWFyZXItMjAjc2VjdGlvbi0yLjEpLlxuICAgKlxuICAgKiBJZiB0aGUgdGVzdCBkb2VzIG5vdCBwYXNzLCB0aGUgcmVxdWVzdCBwcm9jZWVkcyB3aXRob3V0IHRoZSBhY2Nlc3MgdG9rZW4gYXR0YWNoZWQuXG4gICAqXG4gICAqIEEgd2lsZGNhcmQgY2hhcmFjdGVyIGNhbiBiZSB1c2VkIHRvIG1hdGNoIG9ubHkgdGhlIHN0YXJ0IG9mIHRoZSBVUkwuXG4gICAqXG4gICAqIEB1c2FnZW5vdGVzXG4gICAqXG4gICAqICcvYXBpJyAtIGV4YWN0bHkgbWF0Y2ggdGhlIHJvdXRlIC9hcGlcbiAgICogJy9hcGkvKicgLSBtYXRjaCBhbnkgcm91dGUgdGhhdCBzdGFydHMgd2l0aCAvYXBpL1xuICAgKi9cbiAgdXJpPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBiZSBjYWxsZWQgd2l0aCB0aGUgSHR0cFJlcXVlc3QudXJsIHZhbHVlLCBhbGxvd2luZyB5b3UgdG8gZG9cbiAgICogYW55IGtpbmQgb2YgZmxleGlibGUgbWF0Y2hpbmcuXG4gICAqXG4gICAqIElmIHRoaXMgZnVuY3Rpb24gcmV0dXJucyB0cnVlLCB0aGVuXG4gICAqIGFuIGFjY2VzcyB0b2tlbiBpcyBhdHRhY2hlZCB0byB0aGUgcmVxdWVzdCBpbiB0aGVcbiAgICogIFtcIkF1dGhvcml6YXRpb25cIiBoZWFkZXJdKGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLW9hdXRoLXYyLWJlYXJlci0yMCNzZWN0aW9uLTIuMSkuXG4gICAqXG4gICAqIElmIGl0IHJldHVybnMgZmFsc2UsIHRoZSByZXF1ZXN0IHByb2NlZWRzIHdpdGhvdXQgdGhlIGFjY2VzcyB0b2tlbiBhdHRhY2hlZC5cbiAgICovXG4gIHVyaU1hdGNoZXI/OiAodXJpOiBzdHJpbmcpID0+IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBvcHRpb25zIHRoYXQgYXJlIHBhc3NlZCB0byB0aGUgU0RLIHdoZW4gcmV0cmlldmluZyB0aGVcbiAgICogYWNjZXNzIHRva2VuIHRvIGF0dGFjaCB0byB0aGUgb3V0Z29pbmcgcmVxdWVzdC5cbiAgICovXG4gIHRva2VuT3B0aW9ucz86IEdldFRva2VuU2lsZW50bHlPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBUaGUgSFRUUCBtZXRob2QgdG8gbWF0Y2ggb24uIElmIHNwZWNpZmllZCwgdGhlIEhUVFAgbWV0aG9kIG9mXG4gICAqIHRoZSBvdXRnb2luZyByZXF1ZXN0IHdpbGwgYmUgY2hlY2tlZCBhZ2FpbnN0IHRoaXMuIElmIHRoZXJlIGlzIG5vIG1hdGNoLCB0aGVcbiAgICogQXV0aG9yaXphdGlvbiBoZWFkZXIgaXMgbm90IGF0dGFjaGVkLlxuICAgKlxuICAgKiBUaGUgSFRUUCBtZXRob2QgbmFtZSBpcyBjYXNlLXNlbnNpdGl2ZS5cbiAgICovXG4gIGh0dHBNZXRob2Q/OiBIdHRwTWV0aG9kIHwgc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbGxvdyB0aGUgSFRUUCBjYWxsIHRvIGJlIGV4ZWN1dGVkIGFub255bW91c2x5LCB3aGVuIG5vIHRva2VuIGlzIGF2YWlsYWJsZS5cbiAgICpcbiAgICogV2hlbiBvbWl0dGVkIChvciBzZXQgdG8gZmFsc2UpLCBjYWxscyB0aGF0IG1hdGNoIHRoZSBjb25maWd1cmF0aW9uIHdpbGwgZmFpbCB3aGVuIG5vIHRva2VuIGlzIGF2YWlsYWJsZS5cbiAgICovXG4gIGFsbG93QW5vbnltb3VzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUgYXV0aGVudGljYXRpb24gc2VydmljZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhDb25maWcge1xuICAvKipcbiAgICogWW91ciBBdXRoMCBhY2NvdW50IGRvbWFpbiBzdWNoIGFzIGAnZXhhbXBsZS5hdXRoMC5jb20nYCxcbiAgICogYCdleGFtcGxlLmV1LmF1dGgwLmNvbSdgIG9yICwgYCdleGFtcGxlLm15Y29tcGFueS5jb20nYFxuICAgKiAod2hlbiB1c2luZyBbY3VzdG9tIGRvbWFpbnNdKGh0dHBzOi8vYXV0aDAuY29tL2RvY3MvY3VzdG9tLWRvbWFpbnMpKVxuICAgKi9cbiAgZG9tYWluOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpc3N1ZXIgdG8gYmUgdXNlZCBmb3IgdmFsaWRhdGlvbiBvZiBKV1RzLCBvcHRpb25hbGx5IGRlZmF1bHRzIHRvIHRoZSBkb21haW4gYWJvdmVcbiAgICovXG4gIGlzc3Vlcj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIENsaWVudCBJRCBmb3VuZCBvbiB5b3VyIEFwcGxpY2F0aW9uIHNldHRpbmdzIHBhZ2VcbiAgICovXG4gIGNsaWVudElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IFVSTCB3aGVyZSBBdXRoMCB3aWxsIHJlZGlyZWN0IHlvdXIgYnJvd3NlciB0byB3aXRoXG4gICAqIHRoZSBhdXRoZW50aWNhdGlvbiByZXN1bHQuIEl0IG11c3QgYmUgYWRkZWQgdG8gdGhlXG4gICAqIFwiQWxsb3dlZCBDYWxsYmFjayBVUkxzXCIgZmllbGQgaW4geW91ciBBdXRoMCBBcHBsaWNhdGlvbidzXG4gICAqIHNldHRpbmdzLiBJZiBub3QgcHJvdmlkZWQgaGVyZSwgaXQgc2hvdWxkIGJlIHByb3ZpZGVkIGluIHRoZSBvdGhlclxuICAgKiBtZXRob2RzIHRoYXQgcHJvdmlkZSBhdXRoZW50aWNhdGlvbi5cbiAgICovXG4gIHJlZGlyZWN0VXJpPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0LCBpZiB0aGUgcGFnZSBVUkwgaGFzIGNvZGUgYW5kIHN0YXRlIHBhcmFtZXRlcnMsIHRoZSBTREsgd2lsbCBhc3N1bWUgdGhleSBhcmUgZm9yXG4gICAqIGFuIEF1dGgwIGFwcGxpY2F0aW9uIGFuZCBhdHRlbXB0IHRvIGV4Y2hhbmdlIHRoZSBjb2RlIGZvciBhIHRva2VuLlxuICAgKiBJbiBzb21lIGNhc2VzIHRoZSBjb2RlIG1pZ2h0IGJlIGZvciBzb21ldGhpbmcgZWxzZSAoZS5nLiBhbm90aGVyIE9BdXRoIFNESykuIEluIHRoZXNlXG4gICAqIGluc3RhbmNlcyB5b3UgY2FuIGluc3RydWN0IHRoZSBjbGllbnQgdG8gaWdub3JlIHRoZW0gYnkgc2V0dGluZyBgc2tpcFJlZGlyZWN0Q2FsbGJhY2tgLlxuICAgKlxuICAgKiBgYGBqc1xuICAgKiBBdXRoTW9kdWxlLmZvclJvb3Qoe1xuICAgKiAgIHNraXBSZWRpcmVjdENhbGxiYWNrOiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgPT09ICcvb3RoZXItY2FsbGJhY2snXG4gICAqIH0pXG4gICAqIGBgYFxuICAgKlxuICAgKiAqKk5vdGUqKjogSW4gdGhlIGFib3ZlIGV4YW1wbGUsIGAvb3RoZXItY2FsbGJhY2tgIGlzIGFuIGV4aXN0aW5nIHJvdXRlIHRoYXQgd2lsbCBiZSBjYWxsZWRcbiAgICogYnkgYW55IG90aGVyIE9BdXRoIHByb3ZpZGVyIHdpdGggYSBgY29kZWAgKG9yIGBlcnJvcmAgaW4gY2FzZSB3aGVuIHNvbWV0aGluZyB3ZW50IHdyb25nKSBhbmQgYHN0YXRlYC5cbiAgICpcbiAgICovXG4gIHNraXBSZWRpcmVjdENhbGxiYWNrPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHZhbHVlIGluIHNlY29uZHMgdXNlZCB0byBhY2NvdW50IGZvciBjbG9jayBza2V3IGluIEpXVCBleHBpcmF0aW9ucy5cbiAgICogVHlwaWNhbGx5LCB0aGlzIHZhbHVlIGlzIG5vIG1vcmUgdGhhbiBhIG1pbnV0ZSBvciB0d28gYXQgbWF4aW11bS5cbiAgICogRGVmYXVsdHMgdG8gNjBzLlxuICAgKi9cbiAgbGVld2F5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbG9jYXRpb24gdG8gdXNlIHdoZW4gc3RvcmluZyBjYWNoZSBkYXRhLiBWYWxpZCB2YWx1ZXMgYXJlIGBtZW1vcnlgIG9yIGBsb2NhbHN0b3JhZ2VgLlxuICAgKiBUaGUgZGVmYXVsdCBzZXR0aW5nIGlzIGBtZW1vcnlgLlxuICAgKi9cbiAgY2FjaGVMb2NhdGlvbj86IENhY2hlTG9jYXRpb247XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgYSBjdXN0b20gY2FjaGUgaW1wbGVtZW50YXRpb24gdG8gdXNlIGZvciB0b2tlbiBzdG9yYWdlIGFuZCByZXRyaWV2YWwuXG4gICAqIFRoaXMgc2V0dGluZyB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgYGNhY2hlTG9jYXRpb25gIGlmIHRoZXkgYXJlIGJvdGggc3BlY2lmaWVkLlxuICAgKlxuICAgKiBSZWFkIG1vcmUgYWJvdXQgW2NyZWF0aW5nIGEgY3VzdG9tIGNhY2hlXShodHRwczovL2dpdGh1Yi5jb20vYXV0aDAvYXV0aDAtc3BhLWpzI2NyZWF0aW5nLWEtY3VzdG9tLWNhY2hlKVxuICAgKi9cbiAgY2FjaGU/OiBJQ2FjaGU7XG5cbiAgLyoqXG4gICAqIElmIHRydWUsIHJlZnJlc2ggdG9rZW5zIGFyZSB1c2VkIHRvIGZldGNoIG5ldyBhY2Nlc3MgdG9rZW5zIGZyb20gdGhlIEF1dGgwIHNlcnZlci5cbiAgICogSWYgZmFsc2UsIHRoZSBsZWdhY3kgdGVjaG5pcXVlIG9mIHVzaW5nIGEgaGlkZGVuIGlmcmFtZSBhbmQgdGhlIGBhdXRob3JpemF0aW9uX2NvZGVgIGdyYW50IHdpdGggYHByb21wdD1ub25lYCBpcyB1c2VkLlxuICAgKiBUaGUgZGVmYXVsdCBzZXR0aW5nIGlzIGBmYWxzZWAuXG4gICAqXG4gICAqICoqTm90ZSoqOiBVc2Ugb2YgcmVmcmVzaCB0b2tlbnMgbXVzdCBiZSBlbmFibGVkIGJ5IGFuIGFkbWluaXN0cmF0b3Igb24geW91ciBBdXRoMCBjbGllbnQgYXBwbGljYXRpb24uXG4gICAqL1xuICB1c2VSZWZyZXNoVG9rZW5zPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSBtYXhpbXVtIG51bWJlciBvZiBzZWNvbmRzIHRvIHdhaXQgYmVmb3JlIGRlY2xhcmluZyBiYWNrZ3JvdW5kIGNhbGxzIHRvIC9hdXRob3JpemUgYXMgZmFpbGVkIGZvciB0aW1lb3V0XG4gICAqIERlZmF1bHRzIHRvIDYwcy5cbiAgICovXG4gIGF1dGhvcml6ZVRpbWVvdXRJblNlY29uZHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIENoYW5nZXMgdG8gcmVjb21tZW5kZWQgZGVmYXVsdHMsIGxpa2UgZGVmYXVsdFNjb3BlXG4gICAqL1xuICBhZHZhbmNlZE9wdGlvbnM/OiB7XG4gICAgLyoqXG4gICAgICogVGhlIGRlZmF1bHQgc2NvcGUgdG8gYmUgaW5jbHVkZWQgd2l0aCBhbGwgcmVxdWVzdHMuXG4gICAgICogSWYgbm90IHByb3ZpZGVkLCAnb3BlbmlkIHByb2ZpbGUgZW1haWwnIGlzIHVzZWQuIFRoaXMgY2FuIGJlIHNldCB0byBgbnVsbGAgaW4gb3JkZXIgdG8gZWZmZWN0aXZlbHkgcmVtb3ZlIHRoZSBkZWZhdWx0IHNjb3Blcy5cbiAgICAgKlxuICAgICAqIE5vdGU6IFRoZSBgb3BlbmlkYCBzY29wZSBpcyAqKmFsd2F5cyBhcHBsaWVkKiogcmVnYXJkbGVzcyBvZiB0aGlzIHNldHRpbmcuXG4gICAgICovXG4gICAgZGVmYXVsdFNjb3BlPzogc3RyaW5nO1xuICB9O1xuXG4gIC8qKlxuICAgKiBNYXhpbXVtIGFsbG93YWJsZSBlbGFwc2VkIHRpbWUgKGluIHNlY29uZHMpIHNpbmNlIGF1dGhlbnRpY2F0aW9uLlxuICAgKiBJZiB0aGUgbGFzdCB0aW1lIHRoZSB1c2VyIGF1dGhlbnRpY2F0ZWQgaXMgZ3JlYXRlciB0aGFuIHRoaXMgdmFsdWUsXG4gICAqIHRoZSB1c2VyIG11c3QgYmUgcmVhdXRoZW50aWNhdGVkLlxuICAgKi9cbiAgbWF4QWdlPzogc3RyaW5nIHwgbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBzY29wZSB0byBiZSB1c2VkIG9uIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3RzLlxuICAgKiBUaGUgZGVmYXVsdFNjb3BlIGRlZmluZWQgaW4gdGhlIEF1dGgwQ2xpZW50IGlzIGluY2x1ZGVkXG4gICAqIGFsb25nIHdpdGggdGhpcyBzY29wZVxuICAgKi9cbiAgc2NvcGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IGF1ZGllbmNlIHRvIGJlIHVzZWQgZm9yIHJlcXVlc3RpbmcgQVBJIGFjY2Vzcy5cbiAgICovXG4gIGF1ZGllbmNlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb25maWd1cmF0aW9uIGZvciB0aGUgYnVpbHQtaW4gSHR0cCBJbnRlcmNlcHRvciwgdXNlZCBmb3JcbiAgICogYXV0b21hdGljYWxseSBhdHRhY2hpbmcgYWNjZXNzIHRva2Vucy5cbiAgICovXG4gIGh0dHBJbnRlcmNlcHRvcj86IEh0dHBJbnRlcmNlcHRvckNvbmZpZztcblxuICAvKipcbiAgICogUGF0aCBpbiB5b3VyIGFwcGxpY2F0aW9uIHRvIHJlZGlyZWN0IHRvIHdoZW4gdGhlIEF1dGhvcml6YXRpb24gc2VydmVyXG4gICAqIHJldHVybnMgYW4gZXJyb3IuIERlZmF1bHRzIHRvIGAvYFxuICAgKi9cbiAgZXJyb3JQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSWQgb2YgYW4gb3JnYW5pemF0aW9uIHRvIGxvZyBpbiB0b1xuICAgKlxuICAgKiBUaGlzIHdpbGwgc3BlY2lmeSBhbiBgb3JnYW5pemF0aW9uYCBwYXJhbWV0ZXIgaW4geW91ciB1c2VyJ3MgbG9naW4gcmVxdWVzdCBhbmQgd2lsbCBhZGQgYSBzdGVwIHRvIHZhbGlkYXRlXG4gICAqIHRoZSBgb3JnX2lkYCBjbGFpbSBpbiB5b3VyIHVzZXIncyBJRCBUb2tlbi5cbiAgICovXG4gIG9yZ2FuaXphdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIElkIG9mIGFuIGludml0YXRpb24gdG8gYWNjZXB0LlxuICAgKlxuICAgKiBUaGlzIGlzIGF2YWlsYWJsZSBmcm9tIHRoZSB1c2VyIGludml0YXRpb24gVVJMIHRoYXQgaXMgZ2l2ZW4gd2hlbiBwYXJ0aWNpcGF0aW5nIGluIGEgdXNlciBpbnZpdGF0aW9uIGZsb3cuXG4gICAqL1xuICBpbnZpdGF0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZiB5b3UgbmVlZCB0byBzZW5kIGN1c3RvbSBwYXJhbWV0ZXJzIHRvIHRoZSBBdXRob3JpemF0aW9uIFNlcnZlcixcbiAgICogbWFrZSBzdXJlIHRvIHVzZSB0aGUgb3JpZ2luYWwgcGFyYW1ldGVyIG5hbWUuXG4gICAqL1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbi8qKlxuICogR2V0cyBhbmQgc2V0cyBjb25maWd1cmF0aW9uIGZvciB0aGUgaW50ZXJuYWwgQXV0aDAgY2xpZW50LiBUaGlzIGNhbiBiZVxuICogdXNlZCB0byBwcm92aWRlIGNvbmZpZ3VyYXRpb24gb3V0c2lkZSBvZiB1c2luZyBBdXRoTW9kdWxlLmZvclJvb3QsIGkuZS4gZnJvbVxuICogYSBmYWN0b3J5IHByb3ZpZGVkIGJ5IEFQUF9JTklUSUFMSVpFUi5cbiAqXG4gKiBAdXNhZ2VcbiAqXG4gKiBgYGBqc1xuICogLy8gYXBwLm1vZHVsZS50c1xuICogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBpbXBvcnQgeyBBdXRoTW9kdWxlLCBBdXRoQ2xpZW50Q29uZmlnIH0gZnJvbSAnQGF1dGgwL2F1dGgwLWFuZ3VsYXInO1xuICpcbiAqIC8vIFByb3ZpZGUgYW4gaW5pdGlhbGl6ZXIgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgUHJvbWlzZVxuICogZnVuY3Rpb24gY29uZmlnSW5pdGlhbGl6ZXIoXG4gKiAgIGh0dHA6IEh0dHBDbGllbnQsXG4gKiAgIGNvbmZpZzogQXV0aENsaWVudENvbmZpZ1xuICogKSB7XG4gKiAgIHJldHVybiAoKSA9PlxuICogICAgIGh0dHBcbiAqICAgICAgIC5nZXQoJy9jb25maWcnKVxuICogICAgICAgLnRvUHJvbWlzZSgpXG4gKiAgICAgICAudGhlbigobG9hZGVkQ29uZmlnOiBhbnkpID0+IGNvbmZpZy5zZXQobG9hZGVkQ29uZmlnKSk7ICAgLy8gU2V0IHRoZSBjb25maWcgdGhhdCB3YXMgbG9hZGVkIGFzeW5jaHJvbm91c2x5IGhlcmVcbiAqIH1cbiAqXG4gKiAvLyBQcm92aWRlIEFQUF9JTklUSUFMSVpFUiB3aXRoIHRoaXMgZnVuY3Rpb24uIE5vdGUgdGhhdCB0aGVyZSBpcyBubyBjb25maWcgcGFzc2VkIHRvIEF1dGhNb2R1bGUuZm9yUm9vdFxuICogaW1wb3J0czogW1xuICogICAvLyBvdGhlciBpbXBvcnRzLi5cbiAqXG4gKiAgIEh0dHBDbGllbnRNb2R1bGUsXG4gKiAgIEF1dGhNb2R1bGUuZm9yUm9vdCgpLCAgIC8vPC0gZG9uJ3QgcGFzcyBhbnkgY29uZmlnIGhlcmVcbiAqIF0sXG4gKiBwcm92aWRlcnM6IFtcbiAqICAge1xuICogICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAqICAgICB1c2VGYWN0b3J5OiBjb25maWdJbml0aWFsaXplciwgICAgLy8gPC0gcGFzcyB5b3VyIGluaXRpYWxpemVyIGZ1bmN0aW9uIGhlcmVcbiAqICAgICBkZXBzOiBbSHR0cENsaWVudCwgQXV0aENsaWVudENvbmZpZ10sXG4gKiAgICAgbXVsdGk6IHRydWUsXG4gKiAgIH0sXG4gKiBdLFxuICogYGBgXG4gKlxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEF1dGhDbGllbnRDb25maWcge1xuICBwcml2YXRlIGNvbmZpZz86IEF1dGhDb25maWc7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChBdXRoQ29uZmlnU2VydmljZSkgY29uZmlnPzogQXV0aENvbmZpZykge1xuICAgIGlmIChjb25maWcpIHtcbiAgICAgIHRoaXMuc2V0KGNvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgY29uZmlndXJhdGlvbiB0byBiZSByZWFkIGJ5IG90aGVyIGNvbnN1bWVycyBvZiB0aGUgc2VydmljZSAoc2VlIHVzYWdlIG5vdGVzKVxuICAgKiBAcGFyYW0gY29uZmlnIFRoZSBjb25maWd1cmF0aW9uIHRvIHNldFxuICAgKi9cbiAgc2V0KGNvbmZpZzogQXV0aENvbmZpZyk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGNvbmZpZyB0aGF0IGhhcyBiZWVuIHNldCBieSBvdGhlciBjb25zdW1lcnMgb2YgdGhlIHNlcnZpY2VcbiAgICovXG4gIGdldCgpOiBBdXRoQ29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcgYXMgQXV0aENvbmZpZztcbiAgfVxufVxuXG4vKipcbiAqIEluamVjdGlvbiB0b2tlbiBmb3IgYWNjZXNzaW5nIGNvbmZpZ3VyYXRpb24uXG4gKlxuICogQHVzYWdlTm90ZXNcbiAqXG4gKiBVc2UgdGhlIGBJbmplY3RgIGRlY29yYXRvciB0byBhY2Nlc3MgdGhlIGNvbmZpZ3VyYXRpb24gZnJvbSBhIHNlcnZpY2Ugb3IgY29tcG9uZW50OlxuICpcbiAqIGBgYFxuICogY2xhc3MgTXlTZXJ2aWNlKEBJbmplY3QoQXV0aENvbmZpZ1NlcnZpY2UpIGNvbmZpZzogQXV0aENvbmZpZykge31cbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgQXV0aENvbmZpZ1NlcnZpY2UgPSBuZXcgSW5qZWN0aW9uVG9rZW48QXV0aENvbmZpZz4oXG4gICdhdXRoMC1hbmd1bGFyLmNvbmZpZydcbik7XG4iXX0=
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hdXRoMC1hbmd1bGFyL3NyYy9saWIvYXV0aC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFzQjdFOzs7R0FHRztBQUNILE1BQU0sVUFBVSw0QkFBNEIsQ0FDMUMsR0FBdUI7SUFFdkIsT0FBTyxPQUFPLEdBQUcsS0FBSyxRQUFRLENBQUM7QUFDakMsQ0FBQztBQXFPRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5Q0c7QUFFSCxNQUFNLE9BQU8sZ0JBQWdCO0lBRzNCLFlBQW1ELE1BQW1CO1FBQ3BFLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxHQUFHLENBQUMsTUFBa0I7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsR0FBRztRQUNELE9BQU8sSUFBSSxDQUFDLE1BQW9CLENBQUM7SUFDbkMsQ0FBQzs7OztZQXZCRixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzs7NENBSW5CLFFBQVEsWUFBSSxNQUFNLFNBQUMsaUJBQWlCOztBQXNCbkQ7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUNqRCxzQkFBc0IsQ0FDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENhY2hlTG9jYXRpb24sXG4gIEdldFRva2VuU2lsZW50bHlPcHRpb25zLFxuICBJQ2FjaGUsXG59IGZyb20gJ0BhdXRoMC9hdXRoMC1zcGEtanMnO1xuXG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIERlZmluZXMgYSBjb21tb24gc2V0IG9mIEhUVFAgbWV0aG9kcy5cbiAqL1xuZXhwb3J0IGNvbnN0IGVudW0gSHR0cE1ldGhvZCB7XG4gIEdldCA9ICdHRVQnLFxuICBQb3N0ID0gJ1BPU1QnLFxuICBQdXQgPSAnUFVUJyxcbiAgUGF0Y2ggPSAnUEFUQ0gnLFxuICBEZWxldGUgPSAnREVMRVRFJyxcbiAgSGVhZCA9ICdIRUFEJyxcbn1cblxuLyoqXG4gKiBEZWZpbmVzIHRoZSB0eXBlIGZvciBhIHJvdXRlIGNvbmZpZyBlbnRyeS4gQ2FuIGVpdGhlciBiZTpcbiAqXG4gKiAtIGFuIG9iamVjdCBvZiB0eXBlIEh0dHBJbnRlcmNlcHRvclJvdXRlQ29uZmlnXG4gKiAtIGEgc3RyaW5nXG4gKi9cbmV4cG9ydCB0eXBlIEFwaVJvdXRlRGVmaW5pdGlvbiA9IEh0dHBJbnRlcmNlcHRvclJvdXRlQ29uZmlnIHwgc3RyaW5nO1xuXG4vKipcbiAqIEEgY3VzdG9tIHR5cGUgZ3VhcmQgdG8gaGVscCBpZGVudGlmeSByb3V0ZSBkZWZpbml0aW9ucyB0aGF0IGFyZSBhY3R1YWxseSBIdHRwSW50ZXJjZXB0b3JSb3V0ZUNvbmZpZyB0eXBlcy5cbiAqIEBwYXJhbSBkZWYgVGhlIHJvdXRlIGRlZmluaXRpb24gdHlwZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNIdHRwSW50ZXJjZXB0b3JSb3V0ZUNvbmZpZyhcbiAgZGVmOiBBcGlSb3V0ZURlZmluaXRpb25cbik6IGRlZiBpcyBIdHRwSW50ZXJjZXB0b3JSb3V0ZUNvbmZpZyB7XG4gIHJldHVybiB0eXBlb2YgZGVmICE9PSAnc3RyaW5nJztcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUgSHR0cEludGVyY2VwdG9yXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cEludGVyY2VwdG9yQ29uZmlnIHtcbiAgYWxsb3dlZExpc3Q6IEFwaVJvdXRlRGVmaW5pdGlvbltdO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIGEgc2luZ2xlIGludGVyY2VwdG9yIHJvdXRlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cEludGVyY2VwdG9yUm91dGVDb25maWcge1xuICAvKipcbiAgICogVGhlIFVSTCB0byB0ZXN0LCBieSBzdXBwbHlpbmcgdGhlIFVSTCB0byBtYXRjaC5cbiAgICogSWYgYHRlc3RgIGlzIGEgbWF0Y2ggZm9yIHRoZSBjdXJyZW50IHJlcXVlc3QgcGF0aCBmcm9tIHRoZSBIVFRQIGNsaWVudCwgdGhlblxuICAgKiBhbiBhY2Nlc3MgdG9rZW4gaXMgYXR0YWNoZWQgdG8gdGhlIHJlcXVlc3QgaW4gdGhlXG4gICAqICBbXCJBdXRob3JpemF0aW9uXCIgaGVhZGVyXShodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0Zi1vYXV0aC12Mi1iZWFyZXItMjAjc2VjdGlvbi0yLjEpLlxuICAgKlxuICAgKiBJZiB0aGUgdGVzdCBkb2VzIG5vdCBwYXNzLCB0aGUgcmVxdWVzdCBwcm9jZWVkcyB3aXRob3V0IHRoZSBhY2Nlc3MgdG9rZW4gYXR0YWNoZWQuXG4gICAqXG4gICAqIEEgd2lsZGNhcmQgY2hhcmFjdGVyIGNhbiBiZSB1c2VkIHRvIG1hdGNoIG9ubHkgdGhlIHN0YXJ0IG9mIHRoZSBVUkwuXG4gICAqXG4gICAqIEB1c2FnZW5vdGVzXG4gICAqXG4gICAqICcvYXBpJyAtIGV4YWN0bHkgbWF0Y2ggdGhlIHJvdXRlIC9hcGlcbiAgICogJy9hcGkvKicgLSBtYXRjaCBhbnkgcm91dGUgdGhhdCBzdGFydHMgd2l0aCAvYXBpL1xuICAgKi9cbiAgdXJpPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBiZSBjYWxsZWQgd2l0aCB0aGUgSHR0cFJlcXVlc3QudXJsIHZhbHVlLCBhbGxvd2luZyB5b3UgdG8gZG9cbiAgICogYW55IGtpbmQgb2YgZmxleGlibGUgbWF0Y2hpbmcuXG4gICAqXG4gICAqIElmIHRoaXMgZnVuY3Rpb24gcmV0dXJucyB0cnVlLCB0aGVuXG4gICAqIGFuIGFjY2VzcyB0b2tlbiBpcyBhdHRhY2hlZCB0byB0aGUgcmVxdWVzdCBpbiB0aGVcbiAgICogIFtcIkF1dGhvcml6YXRpb25cIiBoZWFkZXJdKGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLW9hdXRoLXYyLWJlYXJlci0yMCNzZWN0aW9uLTIuMSkuXG4gICAqXG4gICAqIElmIGl0IHJldHVybnMgZmFsc2UsIHRoZSByZXF1ZXN0IHByb2NlZWRzIHdpdGhvdXQgdGhlIGFjY2VzcyB0b2tlbiBhdHRhY2hlZC5cbiAgICovXG4gIHVyaU1hdGNoZXI/OiAodXJpOiBzdHJpbmcpID0+IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBvcHRpb25zIHRoYXQgYXJlIHBhc3NlZCB0byB0aGUgU0RLIHdoZW4gcmV0cmlldmluZyB0aGVcbiAgICogYWNjZXNzIHRva2VuIHRvIGF0dGFjaCB0byB0aGUgb3V0Z29pbmcgcmVxdWVzdC5cbiAgICovXG4gIHRva2VuT3B0aW9ucz86IEdldFRva2VuU2lsZW50bHlPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBUaGUgSFRUUCBtZXRob2QgdG8gbWF0Y2ggb24uIElmIHNwZWNpZmllZCwgdGhlIEhUVFAgbWV0aG9kIG9mXG4gICAqIHRoZSBvdXRnb2luZyByZXF1ZXN0IHdpbGwgYmUgY2hlY2tlZCBhZ2FpbnN0IHRoaXMuIElmIHRoZXJlIGlzIG5vIG1hdGNoLCB0aGVcbiAgICogQXV0aG9yaXphdGlvbiBoZWFkZXIgaXMgbm90IGF0dGFjaGVkLlxuICAgKlxuICAgKiBUaGUgSFRUUCBtZXRob2QgbmFtZSBpcyBjYXNlLXNlbnNpdGl2ZS5cbiAgICovXG4gIGh0dHBNZXRob2Q/OiBIdHRwTWV0aG9kIHwgc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbGxvdyB0aGUgSFRUUCBjYWxsIHRvIGJlIGV4ZWN1dGVkIGFub255bW91c2x5LCB3aGVuIG5vIHRva2VuIGlzIGF2YWlsYWJsZS5cbiAgICpcbiAgICogV2hlbiBvbWl0dGVkIChvciBzZXQgdG8gZmFsc2UpLCBjYWxscyB0aGF0IG1hdGNoIHRoZSBjb25maWd1cmF0aW9uIHdpbGwgZmFpbCB3aGVuIG5vIHRva2VuIGlzIGF2YWlsYWJsZS5cbiAgICovXG4gIGFsbG93QW5vbnltb3VzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUgYXV0aGVudGljYXRpb24gc2VydmljZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhDb25maWcge1xuICAvKipcbiAgICogWW91ciBBdXRoMCBhY2NvdW50IGRvbWFpbiBzdWNoIGFzIGAnZXhhbXBsZS5hdXRoMC5jb20nYCxcbiAgICogYCdleGFtcGxlLmV1LmF1dGgwLmNvbSdgIG9yICwgYCdleGFtcGxlLm15Y29tcGFueS5jb20nYFxuICAgKiAod2hlbiB1c2luZyBbY3VzdG9tIGRvbWFpbnNdKGh0dHBzOi8vYXV0aDAuY29tL2RvY3MvY3VzdG9tLWRvbWFpbnMpKVxuICAgKi9cbiAgZG9tYWluOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpc3N1ZXIgdG8gYmUgdXNlZCBmb3IgdmFsaWRhdGlvbiBvZiBKV1RzLCBvcHRpb25hbGx5IGRlZmF1bHRzIHRvIHRoZSBkb21haW4gYWJvdmVcbiAgICovXG4gIGlzc3Vlcj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIENsaWVudCBJRCBmb3VuZCBvbiB5b3VyIEFwcGxpY2F0aW9uIHNldHRpbmdzIHBhZ2VcbiAgICovXG4gIGNsaWVudElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IFVSTCB3aGVyZSBBdXRoMCB3aWxsIHJlZGlyZWN0IHlvdXIgYnJvd3NlciB0byB3aXRoXG4gICAqIHRoZSBhdXRoZW50aWNhdGlvbiByZXN1bHQuIEl0IG11c3QgYmUgYWRkZWQgdG8gdGhlXG4gICAqIFwiQWxsb3dlZCBDYWxsYmFjayBVUkxzXCIgZmllbGQgaW4geW91ciBBdXRoMCBBcHBsaWNhdGlvbidzXG4gICAqIHNldHRpbmdzLiBJZiBub3QgcHJvdmlkZWQgaGVyZSwgaXQgc2hvdWxkIGJlIHByb3ZpZGVkIGluIHRoZSBvdGhlclxuICAgKiBtZXRob2RzIHRoYXQgcHJvdmlkZSBhdXRoZW50aWNhdGlvbi5cbiAgICovXG4gIHJlZGlyZWN0VXJpPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0LCBpZiB0aGUgcGFnZSBVUkwgaGFzIGNvZGUgYW5kIHN0YXRlIHBhcmFtZXRlcnMsIHRoZSBTREsgd2lsbCBhc3N1bWUgdGhleSBhcmUgZm9yXG4gICAqIGFuIEF1dGgwIGFwcGxpY2F0aW9uIGFuZCBhdHRlbXB0IHRvIGV4Y2hhbmdlIHRoZSBjb2RlIGZvciBhIHRva2VuLlxuICAgKiBJbiBzb21lIGNhc2VzIHRoZSBjb2RlIG1pZ2h0IGJlIGZvciBzb21ldGhpbmcgZWxzZSAoZS5nLiBhbm90aGVyIE9BdXRoIFNESykuIEluIHRoZXNlXG4gICAqIGluc3RhbmNlcyB5b3UgY2FuIGluc3RydWN0IHRoZSBjbGllbnQgdG8gaWdub3JlIHRoZW0gYnkgc2V0dGluZyBgc2tpcFJlZGlyZWN0Q2FsbGJhY2tgLlxuICAgKlxuICAgKiBgYGBqc1xuICAgKiBBdXRoTW9kdWxlLmZvclJvb3Qoe1xuICAgKiAgIHNraXBSZWRpcmVjdENhbGxiYWNrOiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgPT09ICcvb3RoZXItY2FsbGJhY2snXG4gICAqIH0pXG4gICAqIGBgYFxuICAgKlxuICAgKiAqKk5vdGUqKjogSW4gdGhlIGFib3ZlIGV4YW1wbGUsIGAvb3RoZXItY2FsbGJhY2tgIGlzIGFuIGV4aXN0aW5nIHJvdXRlIHRoYXQgd2lsbCBiZSBjYWxsZWRcbiAgICogYnkgYW55IG90aGVyIE9BdXRoIHByb3ZpZGVyIHdpdGggYSBgY29kZWAgKG9yIGBlcnJvcmAgaW4gY2FzZSB3aGVuIHNvbWV0aGluZyB3ZW50IHdyb25nKSBhbmQgYHN0YXRlYC5cbiAgICpcbiAgICovXG4gIHNraXBSZWRpcmVjdENhbGxiYWNrPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHZhbHVlIGluIHNlY29uZHMgdXNlZCB0byBhY2NvdW50IGZvciBjbG9jayBza2V3IGluIEpXVCBleHBpcmF0aW9ucy5cbiAgICogVHlwaWNhbGx5LCB0aGlzIHZhbHVlIGlzIG5vIG1vcmUgdGhhbiBhIG1pbnV0ZSBvciB0d28gYXQgbWF4aW11bS5cbiAgICogRGVmYXVsdHMgdG8gNjBzLlxuICAgKi9cbiAgbGVld2F5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbG9jYXRpb24gdG8gdXNlIHdoZW4gc3RvcmluZyBjYWNoZSBkYXRhLiBWYWxpZCB2YWx1ZXMgYXJlIGBtZW1vcnlgIG9yIGBsb2NhbHN0b3JhZ2VgLlxuICAgKiBUaGUgZGVmYXVsdCBzZXR0aW5nIGlzIGBtZW1vcnlgLlxuICAgKi9cbiAgY2FjaGVMb2NhdGlvbj86IENhY2hlTG9jYXRpb247XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgYSBjdXN0b20gY2FjaGUgaW1wbGVtZW50YXRpb24gdG8gdXNlIGZvciB0b2tlbiBzdG9yYWdlIGFuZCByZXRyaWV2YWwuXG4gICAqIFRoaXMgc2V0dGluZyB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgYGNhY2hlTG9jYXRpb25gIGlmIHRoZXkgYXJlIGJvdGggc3BlY2lmaWVkLlxuICAgKlxuICAgKiBSZWFkIG1vcmUgYWJvdXQgW2NyZWF0aW5nIGEgY3VzdG9tIGNhY2hlXShodHRwczovL2dpdGh1Yi5jb20vYXV0aDAvYXV0aDAtc3BhLWpzI2NyZWF0aW5nLWEtY3VzdG9tLWNhY2hlKVxuICAgKi9cbiAgY2FjaGU/OiBJQ2FjaGU7XG5cbiAgLyoqXG4gICAqIElmIHRydWUsIHJlZnJlc2ggdG9rZW5zIGFyZSB1c2VkIHRvIGZldGNoIG5ldyBhY2Nlc3MgdG9rZW5zIGZyb20gdGhlIEF1dGgwIHNlcnZlci5cbiAgICogSWYgZmFsc2UsIHRoZSBsZWdhY3kgdGVjaG5pcXVlIG9mIHVzaW5nIGEgaGlkZGVuIGlmcmFtZSBhbmQgdGhlIGBhdXRob3JpemF0aW9uX2NvZGVgIGdyYW50IHdpdGggYHByb21wdD1ub25lYCBpcyB1c2VkLlxuICAgKiBUaGUgZGVmYXVsdCBzZXR0aW5nIGlzIGBmYWxzZWAuXG4gICAqXG4gICAqICoqTm90ZSoqOiBVc2Ugb2YgcmVmcmVzaCB0b2tlbnMgbXVzdCBiZSBlbmFibGVkIGJ5IGFuIGFkbWluaXN0cmF0b3Igb24geW91ciBBdXRoMCBjbGllbnQgYXBwbGljYXRpb24uXG4gICAqL1xuICB1c2VSZWZyZXNoVG9rZW5zPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSBtYXhpbXVtIG51bWJlciBvZiBzZWNvbmRzIHRvIHdhaXQgYmVmb3JlIGRlY2xhcmluZyBiYWNrZ3JvdW5kIGNhbGxzIHRvIC9hdXRob3JpemUgYXMgZmFpbGVkIGZvciB0aW1lb3V0XG4gICAqIERlZmF1bHRzIHRvIDYwcy5cbiAgICovXG4gIGF1dGhvcml6ZVRpbWVvdXRJblNlY29uZHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIENoYW5nZXMgdG8gcmVjb21tZW5kZWQgZGVmYXVsdHMsIGxpa2UgZGVmYXVsdFNjb3BlXG4gICAqL1xuICBhZHZhbmNlZE9wdGlvbnM/OiB7XG4gICAgLyoqXG4gICAgICogVGhlIGRlZmF1bHQgc2NvcGUgdG8gYmUgaW5jbHVkZWQgd2l0aCBhbGwgcmVxdWVzdHMuXG4gICAgICogSWYgbm90IHByb3ZpZGVkLCAnb3BlbmlkIHByb2ZpbGUgZW1haWwnIGlzIHVzZWQuIFRoaXMgY2FuIGJlIHNldCB0byBgbnVsbGAgaW4gb3JkZXIgdG8gZWZmZWN0aXZlbHkgcmVtb3ZlIHRoZSBkZWZhdWx0IHNjb3Blcy5cbiAgICAgKlxuICAgICAqIE5vdGU6IFRoZSBgb3BlbmlkYCBzY29wZSBpcyAqKmFsd2F5cyBhcHBsaWVkKiogcmVnYXJkbGVzcyBvZiB0aGlzIHNldHRpbmcuXG4gICAgICovXG4gICAgZGVmYXVsdFNjb3BlPzogc3RyaW5nO1xuICB9O1xuXG4gIC8qKlxuICAgKiBNYXhpbXVtIGFsbG93YWJsZSBlbGFwc2VkIHRpbWUgKGluIHNlY29uZHMpIHNpbmNlIGF1dGhlbnRpY2F0aW9uLlxuICAgKiBJZiB0aGUgbGFzdCB0aW1lIHRoZSB1c2VyIGF1dGhlbnRpY2F0ZWQgaXMgZ3JlYXRlciB0aGFuIHRoaXMgdmFsdWUsXG4gICAqIHRoZSB1c2VyIG11c3QgYmUgcmVhdXRoZW50aWNhdGVkLlxuICAgKi9cbiAgbWF4QWdlPzogc3RyaW5nIHwgbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBzY29wZSB0byBiZSB1c2VkIG9uIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3RzLlxuICAgKiBUaGUgZGVmYXVsdFNjb3BlIGRlZmluZWQgaW4gdGhlIEF1dGgwQ2xpZW50IGlzIGluY2x1ZGVkXG4gICAqIGFsb25nIHdpdGggdGhpcyBzY29wZVxuICAgKi9cbiAgc2NvcGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IGF1ZGllbmNlIHRvIGJlIHVzZWQgZm9yIHJlcXVlc3RpbmcgQVBJIGFjY2Vzcy5cbiAgICovXG4gIGF1ZGllbmNlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb25maWd1cmF0aW9uIGZvciB0aGUgYnVpbHQtaW4gSHR0cCBJbnRlcmNlcHRvciwgdXNlZCBmb3JcbiAgICogYXV0b21hdGljYWxseSBhdHRhY2hpbmcgYWNjZXNzIHRva2Vucy5cbiAgICovXG4gIGh0dHBJbnRlcmNlcHRvcj86IEh0dHBJbnRlcmNlcHRvckNvbmZpZztcblxuICAvKipcbiAgICogUGF0aCBpbiB5b3VyIGFwcGxpY2F0aW9uIHRvIHJlZGlyZWN0IHRvIHdoZW4gdGhlIEF1dGhvcml6YXRpb24gc2VydmVyXG4gICAqIHJldHVybnMgYW4gZXJyb3IuIERlZmF1bHRzIHRvIGAvYFxuICAgKi9cbiAgZXJyb3JQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSWQgb2YgYW4gb3JnYW5pemF0aW9uIHRvIGxvZyBpbiB0b1xuICAgKlxuICAgKiBUaGlzIHdpbGwgc3BlY2lmeSBhbiBgb3JnYW5pemF0aW9uYCBwYXJhbWV0ZXIgaW4geW91ciB1c2VyJ3MgbG9naW4gcmVxdWVzdCBhbmQgd2lsbCBhZGQgYSBzdGVwIHRvIHZhbGlkYXRlXG4gICAqIHRoZSBgb3JnX2lkYCBjbGFpbSBpbiB5b3VyIHVzZXIncyBJRCBUb2tlbi5cbiAgICovXG4gIG9yZ2FuaXphdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIElkIG9mIGFuIGludml0YXRpb24gdG8gYWNjZXB0LlxuICAgKlxuICAgKiBUaGlzIGlzIGF2YWlsYWJsZSBmcm9tIHRoZSB1c2VyIGludml0YXRpb24gVVJMIHRoYXQgaXMgZ2l2ZW4gd2hlbiBwYXJ0aWNpcGF0aW5nIGluIGEgdXNlciBpbnZpdGF0aW9uIGZsb3cuXG4gICAqL1xuICBpbnZpdGF0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgY29ubmVjdGlvbiBjb25maWd1cmVkIGZvciB5b3VyIGFwcGxpY2F0aW9uLlxuICAgKiBJZiBudWxsLCBpdCB3aWxsIHJlZGlyZWN0IHRvIHRoZSBBdXRoMCBMb2dpbiBQYWdlIGFuZCBzaG93XG4gICAqIHRoZSBMb2dpbiBXaWRnZXQuXG4gICAqL1xuICBjb25uZWN0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBNb2RpZnkgdGhlIHZhbHVlIHVzZWQgYXMgdGhlIGN1cnJlbnQgdGltZSBkdXJpbmcgdGhlIHRva2VuIHZhbGlkYXRpb24uXG4gICAqXG4gICAqICoqTm90ZSoqOiBVc2luZyB0aGlzIGltcHJvcGVybHkgY2FuIHBvdGVudGlhbGx5IGNvbXByb21pc2UgdGhlIHRva2VuIHZhbGlkYXRpb24uXG4gICAqL1xuICBub3dQcm92aWRlcj86ICgpID0+IFByb21pc2U8bnVtYmVyPiB8IG51bWJlcjtcblxuICAvKipcbiAgICogSWYgeW91IG5lZWQgdG8gc2VuZCBjdXN0b20gcGFyYW1ldGVycyB0byB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIsXG4gICAqIG1ha2Ugc3VyZSB0byB1c2UgdGhlIG9yaWdpbmFsIHBhcmFtZXRlciBuYW1lLlxuICAgKi9cbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG4vKipcbiAqIEdldHMgYW5kIHNldHMgY29uZmlndXJhdGlvbiBmb3IgdGhlIGludGVybmFsIEF1dGgwIGNsaWVudC4gVGhpcyBjYW4gYmVcbiAqIHVzZWQgdG8gcHJvdmlkZSBjb25maWd1cmF0aW9uIG91dHNpZGUgb2YgdXNpbmcgQXV0aE1vZHVsZS5mb3JSb290LCBpLmUuIGZyb21cbiAqIGEgZmFjdG9yeSBwcm92aWRlZCBieSBBUFBfSU5JVElBTElaRVIuXG4gKlxuICogQHVzYWdlXG4gKlxuICogYGBganNcbiAqIC8vIGFwcC5tb2R1bGUudHNcbiAqIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogaW1wb3J0IHsgQXV0aE1vZHVsZSwgQXV0aENsaWVudENvbmZpZyB9IGZyb20gJ0BhdXRoMC9hdXRoMC1hbmd1bGFyJztcbiAqXG4gKiAvLyBQcm92aWRlIGFuIGluaXRpYWxpemVyIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIFByb21pc2VcbiAqIGZ1bmN0aW9uIGNvbmZpZ0luaXRpYWxpemVyKFxuICogICBodHRwOiBIdHRwQ2xpZW50LFxuICogICBjb25maWc6IEF1dGhDbGllbnRDb25maWdcbiAqICkge1xuICogICByZXR1cm4gKCkgPT5cbiAqICAgICBodHRwXG4gKiAgICAgICAuZ2V0KCcvY29uZmlnJylcbiAqICAgICAgIC50b1Byb21pc2UoKVxuICogICAgICAgLnRoZW4oKGxvYWRlZENvbmZpZzogYW55KSA9PiBjb25maWcuc2V0KGxvYWRlZENvbmZpZykpOyAgIC8vIFNldCB0aGUgY29uZmlnIHRoYXQgd2FzIGxvYWRlZCBhc3luY2hyb25vdXNseSBoZXJlXG4gKiB9XG4gKlxuICogLy8gUHJvdmlkZSBBUFBfSU5JVElBTElaRVIgd2l0aCB0aGlzIGZ1bmN0aW9uLiBOb3RlIHRoYXQgdGhlcmUgaXMgbm8gY29uZmlnIHBhc3NlZCB0byBBdXRoTW9kdWxlLmZvclJvb3RcbiAqIGltcG9ydHM6IFtcbiAqICAgLy8gb3RoZXIgaW1wb3J0cy4uXG4gKlxuICogICBIdHRwQ2xpZW50TW9kdWxlLFxuICogICBBdXRoTW9kdWxlLmZvclJvb3QoKSwgICAvLzwtIGRvbid0IHBhc3MgYW55IGNvbmZpZyBoZXJlXG4gKiBdLFxuICogcHJvdmlkZXJzOiBbXG4gKiAgIHtcbiAqICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gKiAgICAgdXNlRmFjdG9yeTogY29uZmlnSW5pdGlhbGl6ZXIsICAgIC8vIDwtIHBhc3MgeW91ciBpbml0aWFsaXplciBmdW5jdGlvbiBoZXJlXG4gKiAgICAgZGVwczogW0h0dHBDbGllbnQsIEF1dGhDbGllbnRDb25maWddLFxuICogICAgIG11bHRpOiB0cnVlLFxuICogICB9LFxuICogXSxcbiAqIGBgYFxuICpcbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBdXRoQ2xpZW50Q29uZmlnIHtcbiAgcHJpdmF0ZSBjb25maWc/OiBBdXRoQ29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoQXV0aENvbmZpZ1NlcnZpY2UpIGNvbmZpZz86IEF1dGhDb25maWcpIHtcbiAgICBpZiAoY29uZmlnKSB7XG4gICAgICB0aGlzLnNldChjb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGNvbmZpZ3VyYXRpb24gdG8gYmUgcmVhZCBieSBvdGhlciBjb25zdW1lcnMgb2YgdGhlIHNlcnZpY2UgKHNlZSB1c2FnZSBub3RlcylcbiAgICogQHBhcmFtIGNvbmZpZyBUaGUgY29uZmlndXJhdGlvbiB0byBzZXRcbiAgICovXG4gIHNldChjb25maWc6IEF1dGhDb25maWcpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjb25maWcgdGhhdCBoYXMgYmVlbiBzZXQgYnkgb3RoZXIgY29uc3VtZXJzIG9mIHRoZSBzZXJ2aWNlXG4gICAqL1xuICBnZXQoKTogQXV0aENvbmZpZyB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnIGFzIEF1dGhDb25maWc7XG4gIH1cbn1cblxuLyoqXG4gKiBJbmplY3Rpb24gdG9rZW4gZm9yIGFjY2Vzc2luZyBjb25maWd1cmF0aW9uLlxuICpcbiAqIEB1c2FnZU5vdGVzXG4gKlxuICogVXNlIHRoZSBgSW5qZWN0YCBkZWNvcmF0b3IgdG8gYWNjZXNzIHRoZSBjb25maWd1cmF0aW9uIGZyb20gYSBzZXJ2aWNlIG9yIGNvbXBvbmVudDpcbiAqXG4gKiBgYGBcbiAqIGNsYXNzIE15U2VydmljZShASW5qZWN0KEF1dGhDb25maWdTZXJ2aWNlKSBjb25maWc6IEF1dGhDb25maWcpIHt9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IEF1dGhDb25maWdTZXJ2aWNlID0gbmV3IEluamVjdGlvblRva2VuPEF1dGhDb25maWc+KFxuICAnYXV0aDAtYW5ndWxhci5jb25maWcnXG4pO1xuIl19
@@ -4,20 +4,17 @@ import { of, from, Subject, iif, defer, ReplaySubject, throwError, } from 'rxjs'
4
4
  import { concatMap, tap, map, takeUntil, catchError, switchMap, withLatestFrom, } from 'rxjs/operators';
5
5
  import { Auth0ClientService } from './auth.client';
6
6
  import { AbstractNavigator } from './abstract-navigator';
7
- import { Location } from '@angular/common';
8
7
  import { AuthClientConfig } from './auth.config';
9
8
  import { AuthState } from './auth.state';
10
9
  import * as i0 from "@angular/core";
11
10
  import * as i1 from "./auth.client";
12
11
  import * as i2 from "./auth.config";
13
- import * as i3 from "@angular/common";
14
- import * as i4 from "./abstract-navigator";
15
- import * as i5 from "./auth.state";
12
+ import * as i3 from "./abstract-navigator";
13
+ import * as i4 from "./auth.state";
16
14
  export class AuthService {
17
- constructor(auth0Client, configFactory, location, navigator, authState) {
15
+ constructor(auth0Client, configFactory, navigator, authState) {
18
16
  this.auth0Client = auth0Client;
19
17
  this.configFactory = configFactory;
20
- this.location = location;
21
18
  this.navigator = navigator;
22
19
  this.authState = authState;
23
20
  this.appStateSubject$ = new ReplaySubject(1);
@@ -155,8 +152,10 @@ export class AuthService {
155
152
  *
156
153
  * @param options The options for configuring the token fetch.
157
154
  */
158
- getAccessTokenSilently(options) {
159
- return of(this.auth0Client).pipe(concatMap((client) => client.getTokenSilently(options)), tap((token) => this.authState.setAccessToken(token)), catchError((error) => {
155
+ getAccessTokenSilently(options = {}) {
156
+ return of(this.auth0Client).pipe(concatMap((client) => options.detailedResponse === true
157
+ ? client.getTokenSilently(Object.assign(Object.assign({}, options), { detailedResponse: true }))
158
+ : client.getTokenSilently(options)), tap((token) => this.authState.setAccessToken(typeof token === 'string' ? token : token.access_token)), catchError((error) => {
160
159
  this.authState.setError(error);
161
160
  this.authState.refresh();
162
161
  return throwError(error);
@@ -236,14 +235,14 @@ export class AuthService {
236
235
  return of(this.auth0Client.buildLogoutUrl(options));
237
236
  }
238
237
  shouldHandleCallback() {
239
- return of(this.location.path()).pipe(map((search) => {
238
+ return of(location.search).pipe(map((search) => {
240
239
  return ((search.includes('code=') || search.includes('error=')) &&
241
240
  search.includes('state=') &&
242
241
  !this.configFactory.get().skipRedirectCallback);
243
242
  }));
244
243
  }
245
244
  }
246
- AuthService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AuthService_Factory() { return new AuthService(i0.ɵɵinject(i1.Auth0ClientService), i0.ɵɵinject(i2.AuthClientConfig), i0.ɵɵinject(i3.Location), i0.ɵɵinject(i4.AbstractNavigator), i0.ɵɵinject(i5.AuthState)); }, token: AuthService, providedIn: "root" });
245
+ AuthService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AuthService_Factory() { return new AuthService(i0.ɵɵinject(i1.Auth0ClientService), i0.ɵɵinject(i2.AuthClientConfig), i0.ɵɵinject(i3.AbstractNavigator), i0.ɵɵinject(i4.AuthState)); }, token: AuthService, providedIn: "root" });
247
246
  AuthService.decorators = [
248
247
  { type: Injectable, args: [{
249
248
  providedIn: 'root',
@@ -252,8 +251,7 @@ AuthService.decorators = [
252
251
  AuthService.ctorParameters = () => [
253
252
  { type: Auth0Client, decorators: [{ type: Inject, args: [Auth0ClientService,] }] },
254
253
  { type: AuthClientConfig },
255
- { type: Location },
256
254
  { type: AbstractNavigator },
257
255
  { type: AuthState }
258
256
  ];
259
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYXV0aDAtYW5ndWxhci9zcmMvbGliL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQ0wsV0FBVyxHQVNaLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUNMLEVBQUUsRUFDRixJQUFJLEVBQ0osT0FBTyxFQUVQLEdBQUcsRUFDSCxLQUFLLEVBQ0wsYUFBYSxFQUNiLFVBQVUsR0FDWCxNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFDTCxTQUFTLEVBQ1QsR0FBRyxFQUNILEdBQUcsRUFDSCxTQUFTLEVBRVQsVUFBVSxFQUNWLFNBQVMsRUFDVCxjQUFjLEdBQ2YsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7O0FBS3pDLE1BQU0sT0FBTyxXQUFXO0lBcUN0QixZQUNzQyxXQUF3QixFQUNwRCxhQUErQixFQUMvQixRQUFrQixFQUNsQixTQUE0QixFQUM1QixTQUFvQjtRQUpRLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3BELGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUMvQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBQzVCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUF6Q3RCLHFCQUFn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Ozs7OztPQVVHO0lBQ0gsaUJBQWlCLENBQUMsT0FBOEI7UUFDOUMsT0FBTyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILGNBQWMsQ0FBQyxPQUEwQjtRQUN2QyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDbEMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDYixPQUFPLENBQ0wsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3ZELE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO2dCQUN6QixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQy9DLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7OztZQWxTRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQXpDQyxXQUFXLHVCQWdGUixNQUFNLFNBQUMsa0JBQWtCO1lBNUNyQixnQkFBZ0I7WUFEaEIsUUFBUTtZQURSLGlCQUFpQjtZQUdqQixTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgQXV0aDBDbGllbnQsXG4gIFJlZGlyZWN0TG9naW5PcHRpb25zLFxuICBQb3B1cExvZ2luT3B0aW9ucyxcbiAgUG9wdXBDb25maWdPcHRpb25zLFxuICBMb2dvdXRPcHRpb25zLFxuICBHZXRUb2tlblNpbGVudGx5T3B0aW9ucyxcbiAgR2V0VG9rZW5XaXRoUG9wdXBPcHRpb25zLFxuICBSZWRpcmVjdExvZ2luUmVzdWx0LFxuICBMb2dvdXRVcmxPcHRpb25zLFxufSBmcm9tICdAYXV0aDAvYXV0aDAtc3BhLWpzJztcblxuaW1wb3J0IHtcbiAgb2YsXG4gIGZyb20sXG4gIFN1YmplY3QsXG4gIE9ic2VydmFibGUsXG4gIGlpZixcbiAgZGVmZXIsXG4gIFJlcGxheVN1YmplY3QsXG4gIHRocm93RXJyb3IsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBjb25jYXRNYXAsXG4gIHRhcCxcbiAgbWFwLFxuICB0YWtlVW50aWwsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBjYXRjaEVycm9yLFxuICBzd2l0Y2hNYXAsXG4gIHdpdGhMYXRlc3RGcm9tLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEF1dGgwQ2xpZW50U2VydmljZSB9IGZyb20gJy4vYXV0aC5jbGllbnQnO1xuaW1wb3J0IHsgQWJzdHJhY3ROYXZpZ2F0b3IgfSBmcm9tICcuL2Fic3RyYWN0LW5hdmlnYXRvcic7XG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBdXRoQ2xpZW50Q29uZmlnIH0gZnJvbSAnLi9hdXRoLmNvbmZpZyc7XG5pbXBvcnQgeyBBdXRoU3RhdGUgfSBmcm9tICcuL2F1dGguc3RhdGUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGFwcFN0YXRlU3ViamVjdCQgPSBuZXcgUmVwbGF5U3ViamVjdDxhbnk+KDEpO1xuXG4gIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS80MTE3NzE2M1xuICBwcml2YXRlIG5nVW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgLyoqXG4gICAqIEVtaXRzIGJvb2xlYW4gdmFsdWVzIGluZGljYXRpbmcgdGhlIGxvYWRpbmcgc3RhdGUgb2YgdGhlIFNESy5cbiAgICovXG4gIHJlYWRvbmx5IGlzTG9hZGluZyQgPSB0aGlzLmF1dGhTdGF0ZS5pc0xvYWRpbmckO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBib29sZWFuIHZhbHVlcyBpbmRpY2F0aW5nIHRoZSBhdXRoZW50aWNhdGlvbiBzdGF0ZSBvZiB0aGUgdXNlci4gSWYgYHRydWVgLCBpdCBtZWFucyBhIHVzZXIgaGFzIGF1dGhlbnRpY2F0ZWQuXG4gICAqIFRoaXMgZGVwZW5kcyBvbiB0aGUgdmFsdWUgb2YgYGlzTG9hZGluZyRgLCBzbyB0aGVyZSBpcyBubyBuZWVkIHRvIG1hbnVhbGx5IGNoZWNrIHRoZSBsb2FkaW5nIHN0YXRlIG9mIHRoZSBTREsuXG4gICAqL1xuICByZWFkb25seSBpc0F1dGhlbnRpY2F0ZWQkID0gdGhpcy5hdXRoU3RhdGUuaXNBdXRoZW50aWNhdGVkJDtcblxuICAvKipcbiAgICogRW1pdHMgZGV0YWlscyBhYm91dCB0aGUgYXV0aGVudGljYXRlZCB1c2VyLCBvciBudWxsIGlmIG5vdCBhdXRoZW50aWNhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdXNlciQgPSB0aGlzLmF1dGhTdGF0ZS51c2VyJDtcblxuICAvKipcbiAgICogRW1pdHMgSUQgdG9rZW4gY2xhaW1zIHdoZW4gYXV0aGVudGljYXRlZCwgb3IgbnVsbCBpZiBub3QgYXV0aGVudGljYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGlkVG9rZW5DbGFpbXMkID0gdGhpcy5hdXRoU3RhdGUuaWRUb2tlbkNsYWltcyQ7XG5cbiAgLyoqXG4gICAqIEVtaXRzIGVycm9ycyB0aGF0IG9jY3VyIGR1cmluZyBsb2dpbiwgb3Igd2hlbiBjaGVja2luZyBmb3IgYW4gYWN0aXZlIHNlc3Npb24gb24gc3RhcnR1cC5cbiAgICovXG4gIHJlYWRvbmx5IGVycm9yJCA9IHRoaXMuYXV0aFN0YXRlLmVycm9yJDtcblxuICAvKipcbiAgICogRW1pdHMgdGhlIHZhbHVlIChpZiBhbnkpIHRoYXQgd2FzIHBhc3NlZCB0byB0aGUgYGxvZ2luV2l0aFJlZGlyZWN0YCBtZXRob2QgY2FsbFxuICAgKiBidXQgb25seSAqKmFmdGVyKiogYGhhbmRsZVJlZGlyZWN0Q2FsbGJhY2tgIGlzIGZpcnN0IGNhbGxlZFxuICAgKi9cbiAgcmVhZG9ubHkgYXBwU3RhdGUkID0gdGhpcy5hcHBTdGF0ZVN1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoQXV0aDBDbGllbnRTZXJ2aWNlKSBwcml2YXRlIGF1dGgwQ2xpZW50OiBBdXRoMENsaWVudCxcbiAgICBwcml2YXRlIGNvbmZpZ0ZhY3Rvcnk6IEF1dGhDbGllbnRDb25maWcsXG4gICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXG4gICAgcHJpdmF0ZSBuYXZpZ2F0b3I6IEFic3RyYWN0TmF2aWdhdG9yLFxuICAgIHByaXZhdGUgYXV0aFN0YXRlOiBBdXRoU3RhdGVcbiAgKSB7XG4gICAgY29uc3QgY2hlY2tTZXNzaW9uT3JDYWxsYmFjayQgPSAoaXNDYWxsYmFjazogYm9vbGVhbikgPT5cbiAgICAgIGlpZihcbiAgICAgICAgKCkgPT4gaXNDYWxsYmFjayxcbiAgICAgICAgdGhpcy5oYW5kbGVSZWRpcmVjdENhbGxiYWNrKCksXG4gICAgICAgIGRlZmVyKCgpID0+IHRoaXMuYXV0aDBDbGllbnQuY2hlY2tTZXNzaW9uKCkpXG4gICAgICApO1xuXG4gICAgdGhpcy5zaG91bGRIYW5kbGVDYWxsYmFjaygpXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChpc0NhbGxiYWNrKSA9PlxuICAgICAgICAgIGNoZWNrU2Vzc2lvbk9yQ2FsbGJhY2skKGlzQ2FsbGJhY2spLnBpcGUoXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZ0ZhY3RvcnkuZ2V0KCk7XG4gICAgICAgICAgICAgIHRoaXMuYXV0aFN0YXRlLnNldEVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0b3IubmF2aWdhdGVCeVVybChjb25maWcuZXJyb3JQYXRoIHx8ICcvJyk7XG4gICAgICAgICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5hdXRoU3RhdGUuc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBzZXJ2aWNlIGlzIGRlc3Ryb3llZFxuICAgKi9cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzQxMTc3MTYzXG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIGBgYGpzXG4gICAqIGxvZ2luV2l0aFJlZGlyZWN0KG9wdGlvbnMpO1xuICAgKiBgYGBcbiAgICpcbiAgICogUGVyZm9ybXMgYSByZWRpcmVjdCB0byBgL2F1dGhvcml6ZWAgdXNpbmcgdGhlIHBhcmFtZXRlcnNcbiAgICogcHJvdmlkZWQgYXMgYXJndW1lbnRzLiBSYW5kb20gYW5kIHNlY3VyZSBgc3RhdGVgIGFuZCBgbm9uY2VgXG4gICAqIHBhcmFtZXRlcnMgd2lsbCBiZSBhdXRvLWdlbmVyYXRlZC5cbiAgICpcbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIGxvZ2luIG9wdGlvbnNcbiAgICovXG4gIGxvZ2luV2l0aFJlZGlyZWN0KG9wdGlvbnM/OiBSZWRpcmVjdExvZ2luT3B0aW9ucyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiBmcm9tKHRoaXMuYXV0aDBDbGllbnQubG9naW5XaXRoUmVkaXJlY3Qob3B0aW9ucykpO1xuICB9XG5cbiAgLyoqXG4gICAqIGBgYGpzXG4gICAqIGF3YWl0IGxvZ2luV2l0aFBvcHVwKG9wdGlvbnMpO1xuICAgKiBgYGBcbiAgICpcbiAgICogT3BlbnMgYSBwb3B1cCB3aXRoIHRoZSBgL2F1dGhvcml6ZWAgVVJMIHVzaW5nIHRoZSBwYXJhbWV0ZXJzXG4gICAqIHByb3ZpZGVkIGFzIGFyZ3VtZW50cy4gUmFuZG9tIGFuZCBzZWN1cmUgYHN0YXRlYCBhbmQgYG5vbmNlYFxuICAgKiBwYXJhbWV0ZXJzIHdpbGwgYmUgYXV0by1nZW5lcmF0ZWQuIElmIHRoZSByZXNwb25zZSBpcyBzdWNjZXNzZnVsLFxuICAgKiByZXN1bHRzIHdpbGwgYmUgdmFsaWQgYWNjb3JkaW5nIHRvIHRoZWlyIGV4cGlyYXRpb24gdGltZXMuXG4gICAqXG4gICAqIElNUE9SVEFOVDogVGhpcyBtZXRob2QgaGFzIHRvIGJlIGNhbGxlZCBmcm9tIGFuIGV2ZW50IGhhbmRsZXJcbiAgICogdGhhdCB3YXMgc3RhcnRlZCBieSB0aGUgdXNlciBsaWtlIGEgYnV0dG9uIGNsaWNrLCBmb3IgZXhhbXBsZSxcbiAgICogb3RoZXJ3aXNlIHRoZSBwb3B1cCB3aWxsIGJlIGJsb2NrZWQgaW4gbW9zdCBicm93c2Vycy5cbiAgICpcbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIGxvZ2luIG9wdGlvbnNcbiAgICogQHBhcmFtIGNvbmZpZyBDb25maWd1cmF0aW9uIGZvciB0aGUgcG9wdXAgd2luZG93XG4gICAqL1xuICBsb2dpbldpdGhQb3B1cChcbiAgICBvcHRpb25zPzogUG9wdXBMb2dpbk9wdGlvbnMsXG4gICAgY29uZmlnPzogUG9wdXBDb25maWdPcHRpb25zXG4gICk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiBmcm9tKFxuICAgICAgdGhpcy5hdXRoMENsaWVudC5sb2dpbldpdGhQb3B1cChvcHRpb25zLCBjb25maWcpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmF1dGhTdGF0ZS5yZWZyZXNoKCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogYGBganNcbiAgICogbG9nb3V0KCk7XG4gICAqIGBgYFxuICAgKlxuICAgKiBDbGVhcnMgdGhlIGFwcGxpY2F0aW9uIHNlc3Npb24gYW5kIHBlcmZvcm1zIGEgcmVkaXJlY3QgdG8gYC92Mi9sb2dvdXRgLCB1c2luZ1xuICAgKiB0aGUgcGFyYW1ldGVycyBwcm92aWRlZCBhcyBhcmd1bWVudHMsIHRvIGNsZWFyIHRoZSBBdXRoMCBzZXNzaW9uLlxuICAgKiBJZiB0aGUgYGZlZGVyYXRlZGAgb3B0aW9uIGlzIHNwZWNpZmllZCBpdCBhbHNvIGNsZWFycyB0aGUgSWRlbnRpdHkgUHJvdmlkZXIgc2Vzc2lvbi5cbiAgICogSWYgdGhlIGBsb2NhbE9ubHlgIG9wdGlvbiBpcyBzcGVjaWZpZWQsIGl0IG9ubHkgY2xlYXJzIHRoZSBhcHBsaWNhdGlvbiBzZXNzaW9uLlxuICAgKiBJdCBpcyBpbnZhbGlkIHRvIHNldCBib3RoIHRoZSBgZmVkZXJhdGVkYCBhbmQgYGxvY2FsT25seWAgb3B0aW9ucyB0byBgdHJ1ZWAsXG4gICAqIGFuZCBhbiBlcnJvciB3aWxsIGJlIHRocm93biBpZiB5b3UgZG8uXG4gICAqIFtSZWFkIG1vcmUgYWJvdXQgaG93IExvZ291dCB3b3JrcyBhdCBBdXRoMF0oaHR0cHM6Ly9hdXRoMC5jb20vZG9jcy9sb2dvdXQpLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgbG9nb3V0IG9wdGlvbnNcbiAgICovXG4gIGxvZ291dChvcHRpb25zPzogTG9nb3V0T3B0aW9ucyk6IHZvaWQge1xuICAgIGNvbnN0IGxvZ291dCA9IHRoaXMuYXV0aDBDbGllbnQubG9nb3V0KG9wdGlvbnMpIHx8IG9mKG51bGwpO1xuXG4gICAgZnJvbShsb2dvdXQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAob3B0aW9ucz8ubG9jYWxPbmx5KSB7XG4gICAgICAgIHRoaXMuYXV0aFN0YXRlLnJlZnJlc2goKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBgYGBqc1xuICAgKiBnZXRBY2Nlc3NUb2tlblNpbGVudGx5KG9wdGlvbnMpLnN1YnNjcmliZSh0b2tlbiA9PiAuLi4pXG4gICAqIGBgYFxuICAgKlxuICAgKiBJZiB0aGVyZSdzIGEgdmFsaWQgdG9rZW4gc3RvcmVkLCByZXR1cm4gaXQuIE90aGVyd2lzZSwgb3BlbnMgYW5cbiAgICogaWZyYW1lIHdpdGggdGhlIGAvYXV0aG9yaXplYCBVUkwgdXNpbmcgdGhlIHBhcmFtZXRlcnMgcHJvdmlkZWRcbiAgICogYXMgYXJndW1lbnRzLiBSYW5kb20gYW5kIHNlY3VyZSBgc3RhdGVgIGFuZCBgbm9uY2VgIHBhcmFtZXRlcnNcbiAgICogd2lsbCBiZSBhdXRvLWdlbmVyYXRlZC4gSWYgdGhlIHJlc3BvbnNlIGlzIHN1Y2Nlc3NmdWwsIHJlc3VsdHNcbiAgICogd2lsbCBiZSB2YWxpZCBhY2NvcmRpbmcgdG8gdGhlaXIgZXhwaXJhdGlvbiB0aW1lcy5cbiAgICpcbiAgICogSWYgcmVmcmVzaCB0b2tlbnMgYXJlIHVzZWQsIHRoZSB0b2tlbiBlbmRwb2ludCBpcyBjYWxsZWQgZGlyZWN0bHkgd2l0aCB0aGVcbiAgICogJ3JlZnJlc2hfdG9rZW4nIGdyYW50LiBJZiBubyByZWZyZXNoIHRva2VuIGlzIGF2YWlsYWJsZSB0byBtYWtlIHRoaXMgY2FsbCxcbiAgICogdGhlIFNESyBmYWxscyBiYWNrIHRvIHVzaW5nIGFuIGlmcmFtZSB0byB0aGUgJy9hdXRob3JpemUnIFVSTC5cbiAgICpcbiAgICogVGhpcyBtZXRob2QgbWF5IHVzZSBhIHdlYiB3b3JrZXIgdG8gcGVyZm9ybSB0aGUgdG9rZW4gY2FsbCBpZiB0aGUgaW4tbWVtb3J5XG4gICAqIGNhY2hlIGlzIHVzZWQuXG4gICAqXG4gICAqIElmIGFuIGBhdWRpZW5jZWAgdmFsdWUgaXMgZ2l2ZW4gdG8gdGhpcyBmdW5jdGlvbiwgdGhlIFNESyBhbHdheXMgZmFsbHNcbiAgICogYmFjayB0byB1c2luZyBhbiBpZnJhbWUgdG8gbWFrZSB0aGUgdG9rZW4gZXhjaGFuZ2UuXG4gICAqXG4gICAqIE5vdGUgdGhhdCBpbiBhbGwgY2FzZXMsIGZhbGxpbmcgYmFjayB0byBhbiBpZnJhbWUgcmVxdWlyZXMgYWNjZXNzIHRvXG4gICAqIHRoZSBgYXV0aDBgIGNvb2tpZSwgYW5kIHRodXMgd2lsbCBub3Qgd29yayBpbiBicm93c2VycyB0aGF0IGJsb2NrIHRoaXJkLXBhcnR5XG4gICAqIGNvb2tpZXMgYnkgZGVmYXVsdCAoU2FmYXJpLCBCcmF2ZSwgZXRjKS5cbiAgICpcbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIGNvbmZpZ3VyaW5nIHRoZSB0b2tlbiBmZXRjaC5cbiAgICovXG4gIGdldEFjY2Vzc1Rva2VuU2lsZW50bHkoXG4gICAgb3B0aW9ucz86IEdldFRva2VuU2lsZW50bHlPcHRpb25zXG4gICk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIG9mKHRoaXMuYXV0aDBDbGllbnQpLnBpcGUoXG4gICAgICBjb25jYXRNYXAoKGNsaWVudCkgPT4gY2xpZW50LmdldFRva2VuU2lsZW50bHkob3B0aW9ucykpLFxuICAgICAgdGFwKCh0b2tlbikgPT4gdGhpcy5hdXRoU3RhdGUuc2V0QWNjZXNzVG9rZW4odG9rZW4pKSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuYXV0aFN0YXRlLnNldEVycm9yKGVycm9yKTtcbiAgICAgICAgdGhpcy5hdXRoU3RhdGUucmVmcmVzaCgpO1xuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogYGBganNcbiAgICogZ2V0VG9rZW5XaXRoUG9wdXAob3B0aW9ucykuc3Vic2NyaWJlKHRva2VuID0+IC4uLilcbiAgICogYGBgXG4gICAqXG4gICAqIEdldCBhbiBhY2Nlc3MgdG9rZW4gaW50ZXJhY3RpdmVseS5cbiAgICpcbiAgICogT3BlbnMgYSBwb3B1cCB3aXRoIHRoZSBgL2F1dGhvcml6ZWAgVVJMIHVzaW5nIHRoZSBwYXJhbWV0ZXJzXG4gICAqIHByb3ZpZGVkIGFzIGFyZ3VtZW50cy4gUmFuZG9tIGFuZCBzZWN1cmUgYHN0YXRlYCBhbmQgYG5vbmNlYFxuICAgKiBwYXJhbWV0ZXJzIHdpbGwgYmUgYXV0by1nZW5lcmF0ZWQuIElmIHRoZSByZXNwb25zZSBpcyBzdWNjZXNzZnVsLFxuICAgKiByZXN1bHRzIHdpbGwgYmUgdmFsaWQgYWNjb3JkaW5nIHRvIHRoZWlyIGV4cGlyYXRpb24gdGltZXMuXG4gICAqL1xuICBnZXRBY2Nlc3NUb2tlbldpdGhQb3B1cChcbiAgICBvcHRpb25zPzogR2V0VG9rZW5XaXRoUG9wdXBPcHRpb25zXG4gICk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIG9mKHRoaXMuYXV0aDBDbGllbnQpLnBpcGUoXG4gICAgICBjb25jYXRNYXAoKGNsaWVudCkgPT4gY2xpZW50LmdldFRva2VuV2l0aFBvcHVwKG9wdGlvbnMpKSxcbiAgICAgIHRhcCgodG9rZW4pID0+IHRoaXMuYXV0aFN0YXRlLnNldEFjY2Vzc1Rva2VuKHRva2VuKSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLmF1dGhTdGF0ZS5zZXRFcnJvcihlcnJvcik7XG4gICAgICAgIHRoaXMuYXV0aFN0YXRlLnJlZnJlc2goKTtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGBgYGpzXG4gICAqIGhhbmRsZVJlZGlyZWN0Q2FsbGJhY2sodXJsKS5zdWJzY3JpYmUocmVzdWx0ID0+IC4uLilcbiAgICogYGBgXG4gICAqXG4gICAqIEFmdGVyIHRoZSBicm93c2VyIHJlZGlyZWN0cyBiYWNrIHRvIHRoZSBjYWxsYmFjayBwYWdlLFxuICAgKiBjYWxsIGBoYW5kbGVSZWRpcmVjdENhbGxiYWNrYCB0byBoYW5kbGUgc3VjY2VzcyBhbmQgZXJyb3JcbiAgICogcmVzcG9uc2VzIGZyb20gQXV0aDAuIElmIHRoZSByZXNwb25zZSBpcyBzdWNjZXNzZnVsLCByZXN1bHRzXG4gICAqIHdpbGwgYmUgdmFsaWQgYWNjb3JkaW5nIHRvIHRoZWlyIGV4cGlyYXRpb24gdGltZXMuXG4gICAqXG4gICAqIENhbGxpbmcgdGhpcyBtZXRob2QgYWxzbyByZWZyZXNoZXMgdGhlIGF1dGhlbnRpY2F0aW9uIGFuZCB1c2VyIHN0YXRlcy5cbiAgICpcbiAgICogQHBhcmFtIHVybCBUaGUgVVJMIHRvIHRoYXQgc2hvdWxkIGJlIHVzZWQgdG8gcmV0cmlldmUgdGhlIGBzdGF0ZWAgYW5kIGBjb2RlYCB2YWx1ZXMuIERlZmF1bHRzIHRvIGB3aW5kb3cubG9jYXRpb24uaHJlZmAgaWYgbm90IGdpdmVuLlxuICAgKi9cbiAgaGFuZGxlUmVkaXJlY3RDYWxsYmFjayh1cmw/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJlZGlyZWN0TG9naW5SZXN1bHQ+IHtcbiAgICByZXR1cm4gZGVmZXIoKCkgPT4gdGhpcy5hdXRoMENsaWVudC5oYW5kbGVSZWRpcmVjdENhbGxiYWNrKHVybCkpLnBpcGUoXG4gICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLmF1dGhTdGF0ZS5pc0xvYWRpbmckKSxcbiAgICAgIHRhcCgoW3Jlc3VsdCwgaXNMb2FkaW5nXSkgPT4ge1xuICAgICAgICBpZiAoIWlzTG9hZGluZykge1xuICAgICAgICAgIHRoaXMuYXV0aFN0YXRlLnJlZnJlc2goKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhcHBTdGF0ZSA9IHJlc3VsdD8uYXBwU3RhdGU7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGFwcFN0YXRlPy50YXJnZXQgPz8gJy8nO1xuXG4gICAgICAgIGlmIChhcHBTdGF0ZSkge1xuICAgICAgICAgIHRoaXMuYXBwU3RhdGVTdWJqZWN0JC5uZXh0KGFwcFN0YXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubmF2aWdhdG9yLm5hdmlnYXRlQnlVcmwodGFyZ2V0KTtcbiAgICAgIH0pLFxuICAgICAgbWFwKChbcmVzdWx0XSkgPT4gcmVzdWx0KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogYGBganNcbiAgICogYnVpbGRBdXRob3JpemVVcmwoKS5zdWJzY3JpYmUodXJsID0+IC4uLilcbiAgICogYGBgXG4gICAqXG4gICAqIEJ1aWxkcyBhbiBgL2F1dGhvcml6ZWAgVVJMIGZvciBsb2dpbldpdGhSZWRpcmVjdCB1c2luZyB0aGUgcGFyYW1ldGVyc1xuICAgKiBwcm92aWRlZCBhcyBhcmd1bWVudHMuIFJhbmRvbSBhbmQgc2VjdXJlIGBzdGF0ZWAgYW5kIGBub25jZWBcbiAgICogcGFyYW1ldGVycyB3aWxsIGJlIGF1dG8tZ2VuZXJhdGVkLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9uc1xuICAgKiBAcmV0dXJucyBBIFVSTCB0byB0aGUgYXV0aG9yaXplIGVuZHBvaW50XG4gICAqL1xuICBidWlsZEF1dGhvcml6ZVVybChvcHRpb25zPzogUmVkaXJlY3RMb2dpbk9wdGlvbnMpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiBkZWZlcigoKSA9PiB0aGlzLmF1dGgwQ2xpZW50LmJ1aWxkQXV0aG9yaXplVXJsKG9wdGlvbnMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBgYGBqc1xuICAgKiBidWlsZExvZ291dFVybCgpLnN1YnNjcmliZSh1cmwgPT4gLi4uKVxuICAgKiBgYGBcbiAgICogQnVpbGRzIGEgVVJMIHRvIHRoZSBsb2dvdXQgZW5kcG9pbnQuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIHVzZWQgdG8gY29uZmlndXJlIHRoZSBwYXJhbWV0ZXJzIHRoYXQgYXBwZWFyIGluIHRoZSBsb2dvdXQgZW5kcG9pbnQgVVJMLlxuICAgKiBAcmV0dXJucyBhIFVSTCB0byB0aGUgbG9nb3V0IGVuZHBvaW50IHVzaW5nIHRoZSBwYXJhbWV0ZXJzIHByb3ZpZGVkIGFzIGFyZ3VtZW50cy5cbiAgICovXG4gIGJ1aWxkTG9nb3V0VXJsKG9wdGlvbnM/OiBMb2dvdXRVcmxPcHRpb25zKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gb2YodGhpcy5hdXRoMENsaWVudC5idWlsZExvZ291dFVybChvcHRpb25zKSk7XG4gIH1cblxuICBwcml2YXRlIHNob3VsZEhhbmRsZUNhbGxiYWNrKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBvZih0aGlzLmxvY2F0aW9uLnBhdGgoKSkucGlwZShcbiAgICAgIG1hcCgoc2VhcmNoKSA9PiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgKHNlYXJjaC5pbmNsdWRlcygnY29kZT0nKSB8fCBzZWFyY2guaW5jbHVkZXMoJ2Vycm9yPScpKSAmJlxuICAgICAgICAgIHNlYXJjaC5pbmNsdWRlcygnc3RhdGU9JykgJiZcbiAgICAgICAgICAhdGhpcy5jb25maWdGYWN0b3J5LmdldCgpLnNraXBSZWRpcmVjdENhbGxiYWNrXG4gICAgICAgICk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
257
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYXV0aDAtYW5ndWxhci9zcmMvbGliL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQ0wsV0FBVyxHQVVaLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUNMLEVBQUUsRUFDRixJQUFJLEVBQ0osT0FBTyxFQUVQLEdBQUcsRUFDSCxLQUFLLEVBQ0wsYUFBYSxFQUNiLFVBQVUsR0FDWCxNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFDTCxTQUFTLEVBQ1QsR0FBRyxFQUNILEdBQUcsRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFNBQVMsRUFDVCxjQUFjLEdBQ2YsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7OztBQUt6QyxNQUFNLE9BQU8sV0FBVztJQXFDdEIsWUFDc0MsV0FBd0IsRUFDcEQsYUFBK0IsRUFDL0IsU0FBNEIsRUFDNUIsU0FBb0I7UUFIUSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNwRCxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFDNUIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQXhDdEIscUJBQWdCLEdBQUcsSUFBSSxhQUFhLENBQU0sQ0FBQyxDQUFDLENBQUM7UUFFckQsdUNBQXVDO1FBQy9CLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVEs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QUN2QyxDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FDMUIsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsaUJBQWlCLENBQUMsT0FBOEI7UUFDOUMsT0FBTyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILGNBQWMsQ0FBQyxPQUEwQjtRQUN2QyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDN0IsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDYixPQUFPLENBQ0wsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3ZELE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO2dCQUN6QixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQy9DLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7OztZQXpURixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQXhDQyxXQUFXLHVCQStFUixNQUFNLFNBQUMsa0JBQWtCO1lBNUNyQixnQkFBZ0I7WUFEaEIsaUJBQWlCO1lBRWpCLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBBdXRoMENsaWVudCxcbiAgUmVkaXJlY3RMb2dpbk9wdGlvbnMsXG4gIFBvcHVwTG9naW5PcHRpb25zLFxuICBQb3B1cENvbmZpZ09wdGlvbnMsXG4gIExvZ291dE9wdGlvbnMsXG4gIEdldFRva2VuU2lsZW50bHlPcHRpb25zLFxuICBHZXRUb2tlbldpdGhQb3B1cE9wdGlvbnMsXG4gIFJlZGlyZWN0TG9naW5SZXN1bHQsXG4gIExvZ291dFVybE9wdGlvbnMsXG4gIEdldFRva2VuU2lsZW50bHlWZXJib3NlUmVzcG9uc2UsXG59IGZyb20gJ0BhdXRoMC9hdXRoMC1zcGEtanMnO1xuXG5pbXBvcnQge1xuICBvZixcbiAgZnJvbSxcbiAgU3ViamVjdCxcbiAgT2JzZXJ2YWJsZSxcbiAgaWlmLFxuICBkZWZlcixcbiAgUmVwbGF5U3ViamVjdCxcbiAgdGhyb3dFcnJvcixcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIGNvbmNhdE1hcCxcbiAgdGFwLFxuICBtYXAsXG4gIHRha2VVbnRpbCxcbiAgY2F0Y2hFcnJvcixcbiAgc3dpdGNoTWFwLFxuICB3aXRoTGF0ZXN0RnJvbSxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBBdXRoMENsaWVudFNlcnZpY2UgfSBmcm9tICcuL2F1dGguY2xpZW50JztcbmltcG9ydCB7IEFic3RyYWN0TmF2aWdhdG9yIH0gZnJvbSAnLi9hYnN0cmFjdC1uYXZpZ2F0b3InO1xuaW1wb3J0IHsgQXV0aENsaWVudENvbmZpZyB9IGZyb20gJy4vYXV0aC5jb25maWcnO1xuaW1wb3J0IHsgQXV0aFN0YXRlIH0gZnJvbSAnLi9hdXRoLnN0YXRlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBhcHBTdGF0ZVN1YmplY3QkID0gbmV3IFJlcGxheVN1YmplY3Q8YW55PigxKTtcblxuICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNDExNzcxNjNcbiAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIC8qKlxuICAgKiBFbWl0cyBib29sZWFuIHZhbHVlcyBpbmRpY2F0aW5nIHRoZSBsb2FkaW5nIHN0YXRlIG9mIHRoZSBTREsuXG4gICAqL1xuICByZWFkb25seSBpc0xvYWRpbmckID0gdGhpcy5hdXRoU3RhdGUuaXNMb2FkaW5nJDtcblxuICAvKipcbiAgICogRW1pdHMgYm9vbGVhbiB2YWx1ZXMgaW5kaWNhdGluZyB0aGUgYXV0aGVudGljYXRpb24gc3RhdGUgb2YgdGhlIHVzZXIuIElmIGB0cnVlYCwgaXQgbWVhbnMgYSB1c2VyIGhhcyBhdXRoZW50aWNhdGVkLlxuICAgKiBUaGlzIGRlcGVuZHMgb24gdGhlIHZhbHVlIG9mIGBpc0xvYWRpbmckYCwgc28gdGhlcmUgaXMgbm8gbmVlZCB0byBtYW51YWxseSBjaGVjayB0aGUgbG9hZGluZyBzdGF0ZSBvZiB0aGUgU0RLLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNBdXRoZW50aWNhdGVkJCA9IHRoaXMuYXV0aFN0YXRlLmlzQXV0aGVudGljYXRlZCQ7XG5cbiAgLyoqXG4gICAqIEVtaXRzIGRldGFpbHMgYWJvdXQgdGhlIGF1dGhlbnRpY2F0ZWQgdXNlciwgb3IgbnVsbCBpZiBub3QgYXV0aGVudGljYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHVzZXIkID0gdGhpcy5hdXRoU3RhdGUudXNlciQ7XG5cbiAgLyoqXG4gICAqIEVtaXRzIElEIHRva2VuIGNsYWltcyB3aGVuIGF1dGhlbnRpY2F0ZWQsIG9yIG51bGwgaWYgbm90IGF1dGhlbnRpY2F0ZWQuXG4gICAqL1xuICByZWFkb25seSBpZFRva2VuQ2xhaW1zJCA9IHRoaXMuYXV0aFN0YXRlLmlkVG9rZW5DbGFpbXMkO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBlcnJvcnMgdGhhdCBvY2N1ciBkdXJpbmcgbG9naW4sIG9yIHdoZW4gY2hlY2tpbmcgZm9yIGFuIGFjdGl2ZSBzZXNzaW9uIG9uIHN0YXJ0dXAuXG4gICAqL1xuICByZWFkb25seSBlcnJvciQgPSB0aGlzLmF1dGhTdGF0ZS5lcnJvciQ7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHRoZSB2YWx1ZSAoaWYgYW55KSB0aGF0IHdhcyBwYXNzZWQgdG8gdGhlIGBsb2dpbldpdGhSZWRpcmVjdGAgbWV0aG9kIGNhbGxcbiAgICogYnV0IG9ubHkgKiphZnRlcioqIGBoYW5kbGVSZWRpcmVjdENhbGxiYWNrYCBpcyBmaXJzdCBjYWxsZWRcbiAgICovXG4gIHJlYWRvbmx5IGFwcFN0YXRlJCA9IHRoaXMuYXBwU3RhdGVTdWJqZWN0JC5hc09ic2VydmFibGUoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEF1dGgwQ2xpZW50U2VydmljZSkgcHJpdmF0ZSBhdXRoMENsaWVudDogQXV0aDBDbGllbnQsXG4gICAgcHJpdmF0ZSBjb25maWdGYWN0b3J5OiBBdXRoQ2xpZW50Q29uZmlnLFxuICAgIHByaXZhdGUgbmF2aWdhdG9yOiBBYnN0cmFjdE5hdmlnYXRvcixcbiAgICBwcml2YXRlIGF1dGhTdGF0ZTogQXV0aFN0YXRlXG4gICkge1xuICAgIGNvbnN0IGNoZWNrU2Vzc2lvbk9yQ2FsbGJhY2skID0gKGlzQ2FsbGJhY2s6IGJvb2xlYW4pID0+XG4gICAgICBpaWYoXG4gICAgICAgICgpID0+IGlzQ2FsbGJhY2ssXG4gICAgICAgIHRoaXMuaGFuZGxlUmVkaXJlY3RDYWxsYmFjaygpLFxuICAgICAgICBkZWZlcigoKSA9PiB0aGlzLmF1dGgwQ2xpZW50LmNoZWNrU2Vzc2lvbigpKVxuICAgICAgKTtcblxuICAgIHRoaXMuc2hvdWxkSGFuZGxlQ2FsbGJhY2soKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoaXNDYWxsYmFjaykgPT5cbiAgICAgICAgICBjaGVja1Nlc3Npb25PckNhbGxiYWNrJChpc0NhbGxiYWNrKS5waXBlKFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWdGYWN0b3J5LmdldCgpO1xuICAgICAgICAgICAgICB0aGlzLmF1dGhTdGF0ZS5zZXRFcnJvcihlcnJvcik7XG4gICAgICAgICAgICAgIHRoaXMubmF2aWdhdG9yLm5hdmlnYXRlQnlVcmwoY29uZmlnLmVycm9yUGF0aCB8fCAnLycpO1xuICAgICAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICApLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuYXV0aFN0YXRlLnNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlJClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgc2VydmljZSBpcyBkZXN0cm95ZWRcbiAgICovXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS80MTE3NzE2M1xuICAgIHRoaXMubmdVbnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBgYGBqc1xuICAgKiBsb2dpbldpdGhSZWRpcmVjdChvcHRpb25zKTtcbiAgICogYGBgXG4gICAqXG4gICAqIFBlcmZvcm1zIGEgcmVkaXJlY3QgdG8gYC9hdXRob3JpemVgIHVzaW5nIHRoZSBwYXJhbWV0ZXJzXG4gICAqIHByb3ZpZGVkIGFzIGFyZ3VtZW50cy4gUmFuZG9tIGFuZCBzZWN1cmUgYHN0YXRlYCBhbmQgYG5vbmNlYFxuICAgKiBwYXJhbWV0ZXJzIHdpbGwgYmUgYXV0by1nZW5lcmF0ZWQuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBsb2dpbiBvcHRpb25zXG4gICAqL1xuICBsb2dpbldpdGhSZWRpcmVjdChvcHRpb25zPzogUmVkaXJlY3RMb2dpbk9wdGlvbnMpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gZnJvbSh0aGlzLmF1dGgwQ2xpZW50LmxvZ2luV2l0aFJlZGlyZWN0KG9wdGlvbnMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBgYGBqc1xuICAgKiBhd2FpdCBsb2dpbldpdGhQb3B1cChvcHRpb25zKTtcbiAgICogYGBgXG4gICAqXG4gICAqIE9wZW5zIGEgcG9wdXAgd2l0aCB0aGUgYC9hdXRob3JpemVgIFVSTCB1c2luZyB0aGUgcGFyYW1ldGVyc1xuICAgKiBwcm92aWRlZCBhcyBhcmd1bWVudHMuIFJhbmRvbSBhbmQgc2VjdXJlIGBzdGF0ZWAgYW5kIGBub25jZWBcbiAgICogcGFyYW1ldGVycyB3aWxsIGJlIGF1dG8tZ2VuZXJhdGVkLiBJZiB0aGUgcmVzcG9uc2UgaXMgc3VjY2Vzc2Z1bCxcbiAgICogcmVzdWx0cyB3aWxsIGJlIHZhbGlkIGFjY29yZGluZyB0byB0aGVpciBleHBpcmF0aW9uIHRpbWVzLlxuICAgKlxuICAgKiBJTVBPUlRBTlQ6IFRoaXMgbWV0aG9kIGhhcyB0byBiZSBjYWxsZWQgZnJvbSBhbiBldmVudCBoYW5kbGVyXG4gICAqIHRoYXQgd2FzIHN0YXJ0ZWQgYnkgdGhlIHVzZXIgbGlrZSBhIGJ1dHRvbiBjbGljaywgZm9yIGV4YW1wbGUsXG4gICAqIG90aGVyd2lzZSB0aGUgcG9wdXAgd2lsbCBiZSBibG9ja2VkIGluIG1vc3QgYnJvd3NlcnMuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBsb2dpbiBvcHRpb25zXG4gICAqIEBwYXJhbSBjb25maWcgQ29uZmlndXJhdGlvbiBmb3IgdGhlIHBvcHVwIHdpbmRvd1xuICAgKi9cbiAgbG9naW5XaXRoUG9wdXAoXG4gICAgb3B0aW9ucz86IFBvcHVwTG9naW5PcHRpb25zLFxuICAgIGNvbmZpZz86IFBvcHVwQ29uZmlnT3B0aW9uc1xuICApOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gZnJvbShcbiAgICAgIHRoaXMuYXV0aDBDbGllbnQubG9naW5XaXRoUG9wdXAob3B0aW9ucywgY29uZmlnKS50aGVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5hdXRoU3RhdGUucmVmcmVzaCgpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGBgYGpzXG4gICAqIGxvZ291dCgpO1xuICAgKiBgYGBcbiAgICpcbiAgICogQ2xlYXJzIHRoZSBhcHBsaWNhdGlvbiBzZXNzaW9uIGFuZCBwZXJmb3JtcyBhIHJlZGlyZWN0IHRvIGAvdjIvbG9nb3V0YCwgdXNpbmdcbiAgICogdGhlIHBhcmFtZXRlcnMgcHJvdmlkZWQgYXMgYXJndW1lbnRzLCB0byBjbGVhciB0aGUgQXV0aDAgc2Vzc2lvbi5cbiAgICogSWYgdGhlIGBmZWRlcmF0ZWRgIG9wdGlvbiBpcyBzcGVjaWZpZWQgaXQgYWxzbyBjbGVhcnMgdGhlIElkZW50aXR5IFByb3ZpZGVyIHNlc3Npb24uXG4gICAqIElmIHRoZSBgbG9jYWxPbmx5YCBvcHRpb24gaXMgc3BlY2lmaWVkLCBpdCBvbmx5IGNsZWFycyB0aGUgYXBwbGljYXRpb24gc2Vzc2lvbi5cbiAgICogSXQgaXMgaW52YWxpZCB0byBzZXQgYm90aCB0aGUgYGZlZGVyYXRlZGAgYW5kIGBsb2NhbE9ubHlgIG9wdGlvbnMgdG8gYHRydWVgLFxuICAgKiBhbmQgYW4gZXJyb3Igd2lsbCBiZSB0aHJvd24gaWYgeW91IGRvLlxuICAgKiBbUmVhZCBtb3JlIGFib3V0IGhvdyBMb2dvdXQgd29ya3MgYXQgQXV0aDBdKGh0dHBzOi8vYXV0aDAuY29tL2RvY3MvbG9nb3V0KS5cbiAgICpcbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIGxvZ291dCBvcHRpb25zXG4gICAqL1xuICBsb2dvdXQob3B0aW9ucz86IExvZ291dE9wdGlvbnMpOiB2b2lkIHtcbiAgICBjb25zdCBsb2dvdXQgPSB0aGlzLmF1dGgwQ2xpZW50LmxvZ291dChvcHRpb25zKSB8fCBvZihudWxsKTtcblxuICAgIGZyb20obG9nb3V0KS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKG9wdGlvbnM/LmxvY2FsT25seSkge1xuICAgICAgICB0aGlzLmF1dGhTdGF0ZS5yZWZyZXNoKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2hlcyBhIG5ldyBhY2Nlc3MgdG9rZW4gYW5kIHJldHVybnMgdGhlIHJlc3BvbnNlIGZyb20gdGhlIC9vYXV0aC90b2tlbiBlbmRwb2ludCwgb21pdHRpbmcgdGhlIHJlZnJlc2ggdG9rZW4uXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIGZvciBjb25maWd1cmluZyB0aGUgdG9rZW4gZmV0Y2guXG4gICAqL1xuICBnZXRBY2Nlc3NUb2tlblNpbGVudGx5KFxuICAgIG9wdGlvbnM6IEdldFRva2VuU2lsZW50bHlPcHRpb25zICYgeyBkZXRhaWxlZFJlc3BvbnNlOiB0cnVlIH1cbiAgKTogT2JzZXJ2YWJsZTxHZXRUb2tlblNpbGVudGx5VmVyYm9zZVJlc3BvbnNlPjtcblxuICAvKipcbiAgICogRmV0Y2hlcyBhIG5ldyBhY2Nlc3MgdG9rZW4gYW5kIHJldHVybnMgaXQuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIGZvciBjb25maWd1cmluZyB0aGUgdG9rZW4gZmV0Y2guXG4gICAqL1xuICBnZXRBY2Nlc3NUb2tlblNpbGVudGx5KG9wdGlvbnM/OiBHZXRUb2tlblNpbGVudGx5T3B0aW9ucyk6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICAvKipcbiAgICogYGBganNcbiAgICogZ2V0QWNjZXNzVG9rZW5TaWxlbnRseShvcHRpb25zKS5zdWJzY3JpYmUodG9rZW4gPT4gLi4uKVxuICAgKiBgYGBcbiAgICpcbiAgICogSWYgdGhlcmUncyBhIHZhbGlkIHRva2VuIHN0b3JlZCwgcmV0dXJuIGl0LiBPdGhlcndpc2UsIG9wZW5zIGFuXG4gICAqIGlmcmFtZSB3aXRoIHRoZSBgL2F1dGhvcml6ZWAgVVJMIHVzaW5nIHRoZSBwYXJhbWV0ZXJzIHByb3ZpZGVkXG4gICAqIGFzIGFyZ3VtZW50cy4gUmFuZG9tIGFuZCBzZWN1cmUgYHN0YXRlYCBhbmQgYG5vbmNlYCBwYXJhbWV0ZXJzXG4gICAqIHdpbGwgYmUgYXV0by1nZW5lcmF0ZWQuIElmIHRoZSByZXNwb25zZSBpcyBzdWNjZXNzZnVsLCByZXN1bHRzXG4gICAqIHdpbGwgYmUgdmFsaWQgYWNjb3JkaW5nIHRvIHRoZWlyIGV4cGlyYXRpb24gdGltZXMuXG4gICAqXG4gICAqIElmIHJlZnJlc2ggdG9rZW5zIGFyZSB1c2VkLCB0aGUgdG9rZW4gZW5kcG9pbnQgaXMgY2FsbGVkIGRpcmVjdGx5IHdpdGggdGhlXG4gICAqICdyZWZyZXNoX3Rva2VuJyBncmFudC4gSWYgbm8gcmVmcmVzaCB0b2tlbiBpcyBhdmFpbGFibGUgdG8gbWFrZSB0aGlzIGNhbGwsXG4gICAqIHRoZSBTREsgZmFsbHMgYmFjayB0byB1c2luZyBhbiBpZnJhbWUgdG8gdGhlICcvYXV0aG9yaXplJyBVUkwuXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kIG1heSB1c2UgYSB3ZWIgd29ya2VyIHRvIHBlcmZvcm0gdGhlIHRva2VuIGNhbGwgaWYgdGhlIGluLW1lbW9yeVxuICAgKiBjYWNoZSBpcyB1c2VkLlxuICAgKlxuICAgKiBJZiBhbiBgYXVkaWVuY2VgIHZhbHVlIGlzIGdpdmVuIHRvIHRoaXMgZnVuY3Rpb24sIHRoZSBTREsgYWx3YXlzIGZhbGxzXG4gICAqIGJhY2sgdG8gdXNpbmcgYW4gaWZyYW1lIHRvIG1ha2UgdGhlIHRva2VuIGV4Y2hhbmdlLlxuICAgKlxuICAgKiBOb3RlIHRoYXQgaW4gYWxsIGNhc2VzLCBmYWxsaW5nIGJhY2sgdG8gYW4gaWZyYW1lIHJlcXVpcmVzIGFjY2VzcyB0b1xuICAgKiB0aGUgYGF1dGgwYCBjb29raWUsIGFuZCB0aHVzIHdpbGwgbm90IHdvcmsgaW4gYnJvd3NlcnMgdGhhdCBibG9jayB0aGlyZC1wYXJ0eVxuICAgKiBjb29raWVzIGJ5IGRlZmF1bHQgKFNhZmFyaSwgQnJhdmUsIGV0YykuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIGZvciBjb25maWd1cmluZyB0aGUgdG9rZW4gZmV0Y2guXG4gICAqL1xuICBnZXRBY2Nlc3NUb2tlblNpbGVudGx5KFxuICAgIG9wdGlvbnM6IEdldFRva2VuU2lsZW50bHlPcHRpb25zID0ge31cbiAgKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBHZXRUb2tlblNpbGVudGx5VmVyYm9zZVJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIG9mKHRoaXMuYXV0aDBDbGllbnQpLnBpcGUoXG4gICAgICBjb25jYXRNYXAoKGNsaWVudCkgPT5cbiAgICAgICAgb3B0aW9ucy5kZXRhaWxlZFJlc3BvbnNlID09PSB0cnVlXG4gICAgICAgICAgPyBjbGllbnQuZ2V0VG9rZW5TaWxlbnRseSh7IC4uLm9wdGlvbnMsIGRldGFpbGVkUmVzcG9uc2U6IHRydWUgfSlcbiAgICAgICAgICA6IGNsaWVudC5nZXRUb2tlblNpbGVudGx5KG9wdGlvbnMpXG4gICAgICApLFxuICAgICAgdGFwKCh0b2tlbikgPT5cbiAgICAgICAgdGhpcy5hdXRoU3RhdGUuc2V0QWNjZXNzVG9rZW4oXG4gICAgICAgICAgdHlwZW9mIHRva2VuID09PSAnc3RyaW5nJyA/IHRva2VuIDogdG9rZW4uYWNjZXNzX3Rva2VuXG4gICAgICAgIClcbiAgICAgICksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLmF1dGhTdGF0ZS5zZXRFcnJvcihlcnJvcik7XG4gICAgICAgIHRoaXMuYXV0aFN0YXRlLnJlZnJlc2goKTtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGBgYGpzXG4gICAqIGdldFRva2VuV2l0aFBvcHVwKG9wdGlvbnMpLnN1YnNjcmliZSh0b2tlbiA9PiAuLi4pXG4gICAqIGBgYFxuICAgKlxuICAgKiBHZXQgYW4gYWNjZXNzIHRva2VuIGludGVyYWN0aXZlbHkuXG4gICAqXG4gICAqIE9wZW5zIGEgcG9wdXAgd2l0aCB0aGUgYC9hdXRob3JpemVgIFVSTCB1c2luZyB0aGUgcGFyYW1ldGVyc1xuICAgKiBwcm92aWRlZCBhcyBhcmd1bWVudHMuIFJhbmRvbSBhbmQgc2VjdXJlIGBzdGF0ZWAgYW5kIGBub25jZWBcbiAgICogcGFyYW1ldGVycyB3aWxsIGJlIGF1dG8tZ2VuZXJhdGVkLiBJZiB0aGUgcmVzcG9uc2UgaXMgc3VjY2Vzc2Z1bCxcbiAgICogcmVzdWx0cyB3aWxsIGJlIHZhbGlkIGFjY29yZGluZyB0byB0aGVpciBleHBpcmF0aW9uIHRpbWVzLlxuICAgKi9cbiAgZ2V0QWNjZXNzVG9rZW5XaXRoUG9wdXAoXG4gICAgb3B0aW9ucz86IEdldFRva2VuV2l0aFBvcHVwT3B0aW9uc1xuICApOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiBvZih0aGlzLmF1dGgwQ2xpZW50KS5waXBlKFxuICAgICAgY29uY2F0TWFwKChjbGllbnQpID0+IGNsaWVudC5nZXRUb2tlbldpdGhQb3B1cChvcHRpb25zKSksXG4gICAgICB0YXAoKHRva2VuKSA9PiB0aGlzLmF1dGhTdGF0ZS5zZXRBY2Nlc3NUb2tlbih0b2tlbikpLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgdGhpcy5hdXRoU3RhdGUuc2V0RXJyb3IoZXJyb3IpO1xuICAgICAgICB0aGlzLmF1dGhTdGF0ZS5yZWZyZXNoKCk7XG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBgYGBqc1xuICAgKiBoYW5kbGVSZWRpcmVjdENhbGxiYWNrKHVybCkuc3Vic2NyaWJlKHJlc3VsdCA9PiAuLi4pXG4gICAqIGBgYFxuICAgKlxuICAgKiBBZnRlciB0aGUgYnJvd3NlciByZWRpcmVjdHMgYmFjayB0byB0aGUgY2FsbGJhY2sgcGFnZSxcbiAgICogY2FsbCBgaGFuZGxlUmVkaXJlY3RDYWxsYmFja2AgdG8gaGFuZGxlIHN1Y2Nlc3MgYW5kIGVycm9yXG4gICAqIHJlc3BvbnNlcyBmcm9tIEF1dGgwLiBJZiB0aGUgcmVzcG9uc2UgaXMgc3VjY2Vzc2Z1bCwgcmVzdWx0c1xuICAgKiB3aWxsIGJlIHZhbGlkIGFjY29yZGluZyB0byB0aGVpciBleHBpcmF0aW9uIHRpbWVzLlxuICAgKlxuICAgKiBDYWxsaW5nIHRoaXMgbWV0aG9kIGFsc28gcmVmcmVzaGVzIHRoZSBhdXRoZW50aWNhdGlvbiBhbmQgdXNlciBzdGF0ZXMuXG4gICAqXG4gICAqIEBwYXJhbSB1cmwgVGhlIFVSTCB0byB0aGF0IHNob3VsZCBiZSB1c2VkIHRvIHJldHJpZXZlIHRoZSBgc3RhdGVgIGFuZCBgY29kZWAgdmFsdWVzLiBEZWZhdWx0cyB0byBgd2luZG93LmxvY2F0aW9uLmhyZWZgIGlmIG5vdCBnaXZlbi5cbiAgICovXG4gIGhhbmRsZVJlZGlyZWN0Q2FsbGJhY2sodXJsPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxSZWRpcmVjdExvZ2luUmVzdWx0PiB7XG4gICAgcmV0dXJuIGRlZmVyKCgpID0+IHRoaXMuYXV0aDBDbGllbnQuaGFuZGxlUmVkaXJlY3RDYWxsYmFjayh1cmwpKS5waXBlKFxuICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5hdXRoU3RhdGUuaXNMb2FkaW5nJCksXG4gICAgICB0YXAoKFtyZXN1bHQsIGlzTG9hZGluZ10pID0+IHtcbiAgICAgICAgaWYgKCFpc0xvYWRpbmcpIHtcbiAgICAgICAgICB0aGlzLmF1dGhTdGF0ZS5yZWZyZXNoKCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYXBwU3RhdGUgPSByZXN1bHQ/LmFwcFN0YXRlO1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBhcHBTdGF0ZT8udGFyZ2V0ID8/ICcvJztcblxuICAgICAgICBpZiAoYXBwU3RhdGUpIHtcbiAgICAgICAgICB0aGlzLmFwcFN0YXRlU3ViamVjdCQubmV4dChhcHBTdGF0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm5hdmlnYXRvci5uYXZpZ2F0ZUJ5VXJsKHRhcmdldCk7XG4gICAgICB9KSxcbiAgICAgIG1hcCgoW3Jlc3VsdF0pID0+IHJlc3VsdClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGBgYGpzXG4gICAqIGJ1aWxkQXV0aG9yaXplVXJsKCkuc3Vic2NyaWJlKHVybCA9PiAuLi4pXG4gICAqIGBgYFxuICAgKlxuICAgKiBCdWlsZHMgYW4gYC9hdXRob3JpemVgIFVSTCBmb3IgbG9naW5XaXRoUmVkaXJlY3QgdXNpbmcgdGhlIHBhcmFtZXRlcnNcbiAgICogcHJvdmlkZWQgYXMgYXJndW1lbnRzLiBSYW5kb20gYW5kIHNlY3VyZSBgc3RhdGVgIGFuZCBgbm9uY2VgXG4gICAqIHBhcmFtZXRlcnMgd2lsbCBiZSBhdXRvLWdlbmVyYXRlZC5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnNcbiAgICogQHJldHVybnMgQSBVUkwgdG8gdGhlIGF1dGhvcml6ZSBlbmRwb2ludFxuICAgKi9cbiAgYnVpbGRBdXRob3JpemVVcmwob3B0aW9ucz86IFJlZGlyZWN0TG9naW5PcHRpb25zKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gZGVmZXIoKCkgPT4gdGhpcy5hdXRoMENsaWVudC5idWlsZEF1dGhvcml6ZVVybChvcHRpb25zKSk7XG4gIH1cblxuICAvKipcbiAgICogYGBganNcbiAgICogYnVpbGRMb2dvdXRVcmwoKS5zdWJzY3JpYmUodXJsID0+IC4uLilcbiAgICogYGBgXG4gICAqIEJ1aWxkcyBhIFVSTCB0byB0aGUgbG9nb3V0IGVuZHBvaW50LlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyB1c2VkIHRvIGNvbmZpZ3VyZSB0aGUgcGFyYW1ldGVycyB0aGF0IGFwcGVhciBpbiB0aGUgbG9nb3V0IGVuZHBvaW50IFVSTC5cbiAgICogQHJldHVybnMgYSBVUkwgdG8gdGhlIGxvZ291dCBlbmRwb2ludCB1c2luZyB0aGUgcGFyYW1ldGVycyBwcm92aWRlZCBhcyBhcmd1bWVudHMuXG4gICAqL1xuICBidWlsZExvZ291dFVybChvcHRpb25zPzogTG9nb3V0VXJsT3B0aW9ucyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIG9mKHRoaXMuYXV0aDBDbGllbnQuYnVpbGRMb2dvdXRVcmwob3B0aW9ucykpO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG91bGRIYW5kbGVDYWxsYmFjaygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gb2YobG9jYXRpb24uc2VhcmNoKS5waXBlKFxuICAgICAgbWFwKChzZWFyY2gpID0+IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAoc2VhcmNoLmluY2x1ZGVzKCdjb2RlPScpIHx8IHNlYXJjaC5pbmNsdWRlcygnZXJyb3I9JykpICYmXG4gICAgICAgICAgc2VhcmNoLmluY2x1ZGVzKCdzdGF0ZT0nKSAmJlxuICAgICAgICAgICF0aGlzLmNvbmZpZ0ZhY3RvcnkuZ2V0KCkuc2tpcFJlZGlyZWN0Q2FsbGJhY2tcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,12 +1,12 @@
1
1
  import { Inject, Injectable } from '@angular/core';
2
2
  import { Auth0Client } from '@auth0/auth0-spa-js';
3
3
  import { BehaviorSubject, defer, merge, of, ReplaySubject, Subject, } from 'rxjs';
4
- import { concatMap, distinctUntilChanged, filter, mergeMap, scan, switchMap, } from 'rxjs/operators';
4
+ import { concatMap, distinctUntilChanged, filter, mergeMap, scan, shareReplay, switchMap, } from 'rxjs/operators';
5
5
  import { Auth0ClientService } from './auth.client';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "./auth.client";
8
8
  /**
9
- * @ignore
9
+ * Tracks the Authentication State for the SDK
10
10
  */
11
11
  export class AuthState {
12
12
  constructor(auth0Client) {
@@ -45,7 +45,7 @@ export class AuthState {
45
45
  * Emits boolean values indicating the authentication state of the user. If `true`, it means a user has authenticated.
46
46
  * This depends on the value of `isLoading$`, so there is no need to manually check the loading state of the SDK.
47
47
  */
48
- this.isAuthenticated$ = this.isAuthenticatedTrigger$.pipe(distinctUntilChanged());
48
+ this.isAuthenticated$ = this.isAuthenticatedTrigger$.pipe(distinctUntilChanged(), shareReplay(1));
49
49
  /**
50
50
  * Emits details about the authenticated user, or null if not authenticated.
51
51
  */
@@ -59,6 +59,10 @@ export class AuthState {
59
59
  */
60
60
  this.error$ = this.errorSubject$.asObservable();
61
61
  }
62
+ /**
63
+ * Update the isLoading state using the provided value
64
+ * @param isLoading The new value for isLoading
65
+ */
62
66
  setIsLoading(isLoading) {
63
67
  this.isLoadingSubject$.next(isLoading);
64
68
  }
@@ -91,4 +95,4 @@ AuthState.decorators = [
91
95
  AuthState.ctorParameters = () => [
92
96
  { type: Auth0Client, decorators: [{ type: Inject, args: [Auth0ClientService,] }] }
93
97
  ];
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2F1dGgwLWFuZ3VsYXIvc3JjL2xpYi9hdXRoLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsZUFBZSxFQUNmLEtBQUssRUFDTCxLQUFLLEVBQ0wsRUFBRSxFQUNGLGFBQWEsRUFDYixPQUFPLEdBQ1IsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQ0wsU0FBUyxFQUNULG9CQUFvQixFQUNwQixNQUFNLEVBQ04sUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEdBQ1YsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUVuRDs7R0FFRztBQUVILE1BQU0sT0FBTyxTQUFTO0lBc0ZwQixZQUFnRCxXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQXJGaEUsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDdkQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDL0IsaUJBQVksR0FBRyxJQUFJLGFBQWEsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUM1QyxrQkFBYSxHQUFHLElBQUksYUFBYSxDQUFRLENBQUMsQ0FBQyxDQUFDO1FBRXBEOztXQUVHO1FBQ2EsZUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVuRTs7O1dBR0c7UUFDSyx3QkFBbUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDbEQsSUFBSSxDQUNGLENBQ0UsR0FBd0QsRUFDeEQsT0FBc0IsRUFDdEIsRUFBRTtZQUNGLE9BQU87Z0JBQ0wsUUFBUSxFQUFFLEdBQUcsQ0FBQyxPQUFPO2dCQUNyQixPQUFPO2FBQ1IsQ0FBQztRQUNKLENBQUMsRUFDRCxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUNsQyxFQUNELE1BQU0sQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLEtBQUssT0FBTyxDQUFDLENBQ3hELENBQUM7UUFFRjs7OztXQUlHO1FBQ2MsNEJBQXVCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQzdELE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFDN0Isb0JBQW9CLEVBQUUsRUFDdEIsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLHFFQUFxRTtRQUNyRSx1QkFBdUI7UUFDdkIsMEdBQTBHO1FBQzFHLDJGQUEyRjtRQUMzRiw0Q0FBNEM7UUFDNUMsS0FBSyxDQUNILEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDLEVBQy9DLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQzNCLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQ25ELEVBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUN2RSxDQUNGLENBQ0YsQ0FBQztRQUVGOzs7V0FHRztRQUNNLHFCQUFnQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQzNELG9CQUFvQixFQUFFLENBQ3ZCLENBQUM7UUFFRjs7V0FFRztRQUNNLFVBQUssR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUNoRCxTQUFTLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUMxQixhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FDdEQsQ0FDRixDQUFDO1FBRUY7O1dBRUc7UUFDTSxtQkFBYyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQ3pELFNBQVMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQzFCLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQy9ELENBQ0YsQ0FBQztRQUVGOztXQUVHO1FBQ2EsV0FBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFZ0IsQ0FBQztJQUVyRSxZQUFZLENBQUMsU0FBa0I7UUFDcEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksT0FBTztRQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGNBQWMsQ0FBQyxXQUFtQjtRQUN2QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksUUFBUSxDQUFDLEtBQVU7UUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQzs7OztZQW5IRixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzs7WUF0QnpCLFdBQVcsdUJBNkdMLE1BQU0sU0FBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dGgwQ2xpZW50IH0gZnJvbSAnQGF1dGgwL2F1dGgwLXNwYS1qcyc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGRlZmVyLFxuICBtZXJnZSxcbiAgb2YsXG4gIFJlcGxheVN1YmplY3QsXG4gIFN1YmplY3QsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgY29uY2F0TWFwLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgZmlsdGVyLFxuICBtZXJnZU1hcCxcbiAgc2NhbixcbiAgc3dpdGNoTWFwLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBdXRoMENsaWVudFNlcnZpY2UgfSBmcm9tICcuL2F1dGguY2xpZW50JztcblxuLyoqXG4gKiBAaWdub3JlXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQXV0aFN0YXRlIHtcbiAgcHJpdmF0ZSBpc0xvYWRpbmdTdWJqZWN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHByaXZhdGUgcmVmcmVzaCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIGFjY2Vzc1Rva2VuJCA9IG5ldyBSZXBsYXlTdWJqZWN0PHN0cmluZz4oMSk7XG4gIHByaXZhdGUgZXJyb3JTdWJqZWN0JCA9IG5ldyBSZXBsYXlTdWJqZWN0PEVycm9yPigxKTtcblxuICAvKipcbiAgICogRW1pdHMgYm9vbGVhbiB2YWx1ZXMgaW5kaWNhdGluZyB0aGUgbG9hZGluZyBzdGF0ZSBvZiB0aGUgU0RLLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlzTG9hZGluZyQgPSB0aGlzLmlzTG9hZGluZ1N1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIC8qKlxuICAgKiBUcmlnZ2VyIHVzZWQgdG8gcHVsbCBVc2VyIGluZm9ybWF0aW9uIGZyb20gdGhlIEF1dGgwQ2xpZW50LlxuICAgKiBUcmlnZ2VycyB3aGVuIHRoZSBhY2Nlc3MgdG9rZW4gaGFzIGNoYW5nZWQuXG4gICAqL1xuICBwcml2YXRlIGFjY2Vzc1Rva2VuVHJpZ2dlciQgPSB0aGlzLmFjY2Vzc1Rva2VuJC5waXBlKFxuICAgIHNjYW4oXG4gICAgICAoXG4gICAgICAgIGFjYzogeyBjdXJyZW50OiBzdHJpbmcgfCBudWxsOyBwcmV2aW91czogc3RyaW5nIHwgbnVsbCB9LFxuICAgICAgICBjdXJyZW50OiBzdHJpbmcgfCBudWxsXG4gICAgICApID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwcmV2aW91czogYWNjLmN1cnJlbnQsXG4gICAgICAgICAgY3VycmVudCxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgICB7IGN1cnJlbnQ6IG51bGwsIHByZXZpb3VzOiBudWxsIH1cbiAgICApLFxuICAgIGZpbHRlcigoeyBwcmV2aW91cywgY3VycmVudCB9KSA9PiBwcmV2aW91cyAhPT0gY3VycmVudClcbiAgKTtcblxuICAvKipcbiAgICogVHJpZ2dlciB1c2VkIHRvIHB1bGwgVXNlciBpbmZvcm1hdGlvbiBmcm9tIHRoZSBBdXRoMENsaWVudC5cbiAgICogVHJpZ2dlcnMgd2hlbiBhbiBldmVudCBvY2N1cnMgdGhhdCBuZWVkcyB0byByZXRyaWdnZXIgdGhlIFVzZXIgUHJvZmlsZSBpbmZvcm1hdGlvbi5cbiAgICogRXZlbnRzOiBMb2dpbiwgQWNjZXNzIFRva2VuIGNoYW5nZSBhbmQgTG9nb3V0XG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGlzQXV0aGVudGljYXRlZFRyaWdnZXIkID0gdGhpcy5pc0xvYWRpbmckLnBpcGUoXG4gICAgZmlsdGVyKChsb2FkaW5nKSA9PiAhbG9hZGluZyksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgIC8vIFRvIHRyYWNrIHRoZSB2YWx1ZSBvZiBpc0F1dGhlbnRpY2F0ZWQgb3ZlciB0aW1lLCB3ZSBuZWVkIHRvIG1lcmdlOlxuICAgICAgLy8gIC0gdGhlIGN1cnJlbnQgdmFsdWVcbiAgICAgIC8vICAtIHRoZSB2YWx1ZSB3aGVuZXZlciB0aGUgYWNjZXNzIHRva2VuIGNoYW5nZXMuICh0aGlzIHNob3VsZCBhbHdheXMgYmUgdHJ1ZSBvZiB0aGVyZSBpcyBhbiBhY2Nlc3MgdG9rZW5cbiAgICAgIC8vICAgIGJ1dCBpdCBpcyBzYWZlciB0byBwYXNzIHRoaXMgdGhyb3VnaCB0aGlzLmF1dGgwQ2xpZW50LmlzQXV0aGVudGljYXRlZCgpIG5ldmVydGhlbGVzcylcbiAgICAgIC8vICAtIHRoZSB2YWx1ZSB3aGVuZXZlciByZWZyZXNoU3RhdGUkIGVtaXRzXG4gICAgICBtZXJnZShcbiAgICAgICAgZGVmZXIoKCkgPT4gdGhpcy5hdXRoMENsaWVudC5pc0F1dGhlbnRpY2F0ZWQoKSksXG4gICAgICAgIHRoaXMuYWNjZXNzVG9rZW5UcmlnZ2VyJC5waXBlKFxuICAgICAgICAgIG1lcmdlTWFwKCgpID0+IHRoaXMuYXV0aDBDbGllbnQuaXNBdXRoZW50aWNhdGVkKCkpXG4gICAgICAgICksXG4gICAgICAgIHRoaXMucmVmcmVzaCQucGlwZShtZXJnZU1hcCgoKSA9PiB0aGlzLmF1dGgwQ2xpZW50LmlzQXV0aGVudGljYXRlZCgpKSlcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIGJvb2xlYW4gdmFsdWVzIGluZGljYXRpbmcgdGhlIGF1dGhlbnRpY2F0aW9uIHN0YXRlIG9mIHRoZSB1c2VyLiBJZiBgdHJ1ZWAsIGl0IG1lYW5zIGEgdXNlciBoYXMgYXV0aGVudGljYXRlZC5cbiAgICogVGhpcyBkZXBlbmRzIG9uIHRoZSB2YWx1ZSBvZiBgaXNMb2FkaW5nJGAsIHNvIHRoZXJlIGlzIG5vIG5lZWQgdG8gbWFudWFsbHkgY2hlY2sgdGhlIGxvYWRpbmcgc3RhdGUgb2YgdGhlIFNESy5cbiAgICovXG4gIHJlYWRvbmx5IGlzQXV0aGVudGljYXRlZCQgPSB0aGlzLmlzQXV0aGVudGljYXRlZFRyaWdnZXIkLnBpcGUoXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICApO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBkZXRhaWxzIGFib3V0IHRoZSBhdXRoZW50aWNhdGVkIHVzZXIsIG9yIG51bGwgaWYgbm90IGF1dGhlbnRpY2F0ZWQuXG4gICAqL1xuICByZWFkb25seSB1c2VyJCA9IHRoaXMuaXNBdXRoZW50aWNhdGVkVHJpZ2dlciQucGlwZShcbiAgICBjb25jYXRNYXAoKGF1dGhlbnRpY2F0ZWQpID0+XG4gICAgICBhdXRoZW50aWNhdGVkID8gdGhpcy5hdXRoMENsaWVudC5nZXRVc2VyKCkgOiBvZihudWxsKVxuICAgIClcbiAgKTtcblxuICAvKipcbiAgICogRW1pdHMgSUQgdG9rZW4gY2xhaW1zIHdoZW4gYXV0aGVudGljYXRlZCwgb3IgbnVsbCBpZiBub3QgYXV0aGVudGljYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGlkVG9rZW5DbGFpbXMkID0gdGhpcy5pc0F1dGhlbnRpY2F0ZWRUcmlnZ2VyJC5waXBlKFxuICAgIGNvbmNhdE1hcCgoYXV0aGVudGljYXRlZCkgPT5cbiAgICAgIGF1dGhlbnRpY2F0ZWQgPyB0aGlzLmF1dGgwQ2xpZW50LmdldElkVG9rZW5DbGFpbXMoKSA6IG9mKG51bGwpXG4gICAgKVxuICApO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBlcnJvcnMgdGhhdCBvY2N1ciBkdXJpbmcgbG9naW4sIG9yIHdoZW4gY2hlY2tpbmcgZm9yIGFuIGFjdGl2ZSBzZXNzaW9uIG9uIHN0YXJ0dXAuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZXJyb3IkID0gdGhpcy5lcnJvclN1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQXV0aDBDbGllbnRTZXJ2aWNlKSBwcml2YXRlIGF1dGgwQ2xpZW50OiBBdXRoMENsaWVudCkge31cblxuICBwdWJsaWMgc2V0SXNMb2FkaW5nKGlzTG9hZGluZzogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXNMb2FkaW5nU3ViamVjdCQubmV4dChpc0xvYWRpbmcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZnJlc2ggdGhlIHN0YXRlIHRvIGVuc3VyZSB0aGUgYGlzQXV0aGVudGljYXRlZGAsIGB1c2VyJGAgYW5kIGBpZFRva2VuQ2xhaW1zJGBcbiAgICogcmVmbGVjdCB0aGUgbW9zdCB1cC10by1kYXRlIHZhbHVlcyBmcm9tICBBdXRoMENsaWVudC5cbiAgICovXG4gIHB1YmxpYyByZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMucmVmcmVzaCQubmV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB0aGUgYWNjZXNzIHRva2VuLCBkb2luZyBzbyB3aWxsIGFsc28gcmVmcmVzaCB0aGUgc3RhdGUuXG4gICAqIEBwYXJhbSBhY2Nlc3NUb2tlbiBUaGUgbmV3IEFjY2VzcyBUb2tlblxuICAgKi9cbiAgcHVibGljIHNldEFjY2Vzc1Rva2VuKGFjY2Vzc1Rva2VuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmFjY2Vzc1Rva2VuJC5uZXh0KGFjY2Vzc1Rva2VuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgZXJyb3IgaW4gdGhlIGBlcnJvciRgIG9ic2VydmFibGUuXG4gICAqIEBwYXJhbSBlcnJvciBUaGUgbmV3IGVycm9yXG4gICAqL1xuICBwdWJsaWMgc2V0RXJyb3IoZXJyb3I6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuZXJyb3JTdWJqZWN0JC5uZXh0KGVycm9yKTtcbiAgfVxufVxuIl19
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2F1dGgwLWFuZ3VsYXIvc3JjL2xpYi9hdXRoLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsZUFBZSxFQUNmLEtBQUssRUFDTCxLQUFLLEVBQ0wsRUFBRSxFQUNGLGFBQWEsRUFDYixPQUFPLEdBQ1IsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQ0wsU0FBUyxFQUNULG9CQUFvQixFQUNwQixNQUFNLEVBQ04sUUFBUSxFQUNSLElBQUksRUFDSixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFFbkQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sU0FBUztJQXVGcEIsWUFBZ0QsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUF0RmhFLHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQ3ZELGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQy9CLGlCQUFZLEdBQUcsSUFBSSxhQUFhLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDNUMsa0JBQWEsR0FBRyxJQUFJLGFBQWEsQ0FBUSxDQUFDLENBQUMsQ0FBQztRQUVwRDs7V0FFRztRQUNhLGVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFbkU7OztXQUdHO1FBQ0ssd0JBQW1CLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ2xELElBQUksQ0FDRixDQUNFLEdBQXdELEVBQ3hELE9BQXNCLEVBQ3RC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dCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aDBDbGllbnQgfSBmcm9tICdAYXV0aDAvYXV0aDAtc3BhLWpzJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgZGVmZXIsXG4gIG1lcmdlLFxuICBvZixcbiAgUmVwbGF5U3ViamVjdCxcbiAgU3ViamVjdCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBjb25jYXRNYXAsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmaWx0ZXIsXG4gIG1lcmdlTWFwLFxuICBzY2FuLFxuICBzaGFyZVJlcGxheSxcbiAgc3dpdGNoTWFwLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBdXRoMENsaWVudFNlcnZpY2UgfSBmcm9tICcuL2F1dGguY2xpZW50JztcblxuLyoqXG4gKiBUcmFja3MgdGhlIEF1dGhlbnRpY2F0aW9uIFN0YXRlIGZvciB0aGUgU0RLXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQXV0aFN0YXRlIHtcbiAgcHJpdmF0ZSBpc0xvYWRpbmdTdWJqZWN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHByaXZhdGUgcmVmcmVzaCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIGFjY2Vzc1Rva2VuJCA9IG5ldyBSZXBsYXlTdWJqZWN0PHN0cmluZz4oMSk7XG4gIHByaXZhdGUgZXJyb3JTdWJqZWN0JCA9IG5ldyBSZXBsYXlTdWJqZWN0PEVycm9yPigxKTtcblxuICAvKipcbiAgICogRW1pdHMgYm9vbGVhbiB2YWx1ZXMgaW5kaWNhdGluZyB0aGUgbG9hZGluZyBzdGF0ZSBvZiB0aGUgU0RLLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlzTG9hZGluZyQgPSB0aGlzLmlzTG9hZGluZ1N1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIC8qKlxuICAgKiBUcmlnZ2VyIHVzZWQgdG8gcHVsbCBVc2VyIGluZm9ybWF0aW9uIGZyb20gdGhlIEF1dGgwQ2xpZW50LlxuICAgKiBUcmlnZ2VycyB3aGVuIHRoZSBhY2Nlc3MgdG9rZW4gaGFzIGNoYW5nZWQuXG4gICAqL1xuICBwcml2YXRlIGFjY2Vzc1Rva2VuVHJpZ2dlciQgPSB0aGlzLmFjY2Vzc1Rva2VuJC5waXBlKFxuICAgIHNjYW4oXG4gICAgICAoXG4gICAgICAgIGFjYzogeyBjdXJyZW50OiBzdHJpbmcgfCBudWxsOyBwcmV2aW91czogc3RyaW5nIHwgbnVsbCB9LFxuICAgICAgICBjdXJyZW50OiBzdHJpbmcgfCBudWxsXG4gICAgICApID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwcmV2aW91czogYWNjLmN1cnJlbnQsXG4gICAgICAgICAgY3VycmVudCxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgICB7IGN1cnJlbnQ6IG51bGwsIHByZXZpb3VzOiBudWxsIH1cbiAgICApLFxuICAgIGZpbHRlcigoeyBwcmV2aW91cywgY3VycmVudCB9KSA9PiBwcmV2aW91cyAhPT0gY3VycmVudClcbiAgKTtcblxuICAvKipcbiAgICogVHJpZ2dlciB1c2VkIHRvIHB1bGwgVXNlciBpbmZvcm1hdGlvbiBmcm9tIHRoZSBBdXRoMENsaWVudC5cbiAgICogVHJpZ2dlcnMgd2hlbiBhbiBldmVudCBvY2N1cnMgdGhhdCBuZWVkcyB0byByZXRyaWdnZXIgdGhlIFVzZXIgUHJvZmlsZSBpbmZvcm1hdGlvbi5cbiAgICogRXZlbnRzOiBMb2dpbiwgQWNjZXNzIFRva2VuIGNoYW5nZSBhbmQgTG9nb3V0XG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGlzQXV0aGVudGljYXRlZFRyaWdnZXIkID0gdGhpcy5pc0xvYWRpbmckLnBpcGUoXG4gICAgZmlsdGVyKChsb2FkaW5nKSA9PiAhbG9hZGluZyksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgIC8vIFRvIHRyYWNrIHRoZSB2YWx1ZSBvZiBpc0F1dGhlbnRpY2F0ZWQgb3ZlciB0aW1lLCB3ZSBuZWVkIHRvIG1lcmdlOlxuICAgICAgLy8gIC0gdGhlIGN1cnJlbnQgdmFsdWVcbiAgICAgIC8vICAtIHRoZSB2YWx1ZSB3aGVuZXZlciB0aGUgYWNjZXNzIHRva2VuIGNoYW5nZXMuICh0aGlzIHNob3VsZCBhbHdheXMgYmUgdHJ1ZSBvZiB0aGVyZSBpcyBhbiBhY2Nlc3MgdG9rZW5cbiAgICAgIC8vICAgIGJ1dCBpdCBpcyBzYWZlciB0byBwYXNzIHRoaXMgdGhyb3VnaCB0aGlzLmF1dGgwQ2xpZW50LmlzQXV0aGVudGljYXRlZCgpIG5ldmVydGhlbGVzcylcbiAgICAgIC8vICAtIHRoZSB2YWx1ZSB3aGVuZXZlciByZWZyZXNoU3RhdGUkIGVtaXRzXG4gICAgICBtZXJnZShcbiAgICAgICAgZGVmZXIoKCkgPT4gdGhpcy5hdXRoMENsaWVudC5pc0F1dGhlbnRpY2F0ZWQoKSksXG4gICAgICAgIHRoaXMuYWNjZXNzVG9rZW5UcmlnZ2VyJC5waXBlKFxuICAgICAgICAgIG1lcmdlTWFwKCgpID0+IHRoaXMuYXV0aDBDbGllbnQuaXNBdXRoZW50aWNhdGVkKCkpXG4gICAgICAgICksXG4gICAgICAgIHRoaXMucmVmcmVzaCQucGlwZShtZXJnZU1hcCgoKSA9PiB0aGlzLmF1dGgwQ2xpZW50LmlzQXV0aGVudGljYXRlZCgpKSlcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIGJvb2xlYW4gdmFsdWVzIGluZGljYXRpbmcgdGhlIGF1dGhlbnRpY2F0aW9uIHN0YXRlIG9mIHRoZSB1c2VyLiBJZiBgdHJ1ZWAsIGl0IG1lYW5zIGEgdXNlciBoYXMgYXV0aGVudGljYXRlZC5cbiAgICogVGhpcyBkZXBlbmRzIG9uIHRoZSB2YWx1ZSBvZiBgaXNMb2FkaW5nJGAsIHNvIHRoZXJlIGlzIG5vIG5lZWQgdG8gbWFudWFsbHkgY2hlY2sgdGhlIGxvYWRpbmcgc3RhdGUgb2YgdGhlIFNESy5cbiAgICovXG4gIHJlYWRvbmx5IGlzQXV0aGVudGljYXRlZCQgPSB0aGlzLmlzQXV0aGVudGljYXRlZFRyaWdnZXIkLnBpcGUoXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBkZXRhaWxzIGFib3V0IHRoZSBhdXRoZW50aWNhdGVkIHVzZXIsIG9yIG51bGwgaWYgbm90IGF1dGhlbnRpY2F0ZWQuXG4gICAqL1xuICByZWFkb25seSB1c2VyJCA9IHRoaXMuaXNBdXRoZW50aWNhdGVkVHJpZ2dlciQucGlwZShcbiAgICBjb25jYXRNYXAoKGF1dGhlbnRpY2F0ZWQpID0+XG4gICAgICBhdXRoZW50aWNhdGVkID8gdGhpcy5hdXRoMENsaWVudC5nZXRVc2VyKCkgOiBvZihudWxsKVxuICAgIClcbiAgKTtcblxuICAvKipcbiAgICogRW1pdHMgSUQgdG9rZW4gY2xhaW1zIHdoZW4gYXV0aGVudGljYXRlZCwgb3IgbnVsbCBpZiBub3QgYXV0aGVudGljYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGlkVG9rZW5DbGFpbXMkID0gdGhpcy5pc0F1dGhlbnRpY2F0ZWRUcmlnZ2VyJC5waXBlKFxuICAgIGNvbmNhdE1hcCgoYXV0aGVudGljYXRlZCkgPT5cbiAgICAgIGF1dGhlbnRpY2F0ZWQgPyB0aGlzLmF1dGgwQ2xpZW50LmdldElkVG9rZW5DbGFpbXMoKSA6IG9mKG51bGwpXG4gICAgKVxuICApO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBlcnJvcnMgdGhhdCBvY2N1ciBkdXJpbmcgbG9naW4sIG9yIHdoZW4gY2hlY2tpbmcgZm9yIGFuIGFjdGl2ZSBzZXNzaW9uIG9uIHN0YXJ0dXAuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZXJyb3IkID0gdGhpcy5lcnJvclN1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQXV0aDBDbGllbnRTZXJ2aWNlKSBwcml2YXRlIGF1dGgwQ2xpZW50OiBBdXRoMENsaWVudCkge31cblxuICAvKipcbiAgICogVXBkYXRlIHRoZSBpc0xvYWRpbmcgc3RhdGUgdXNpbmcgdGhlIHByb3ZpZGVkIHZhbHVlXG4gICAqIEBwYXJhbSBpc0xvYWRpbmcgVGhlIG5ldyB2YWx1ZSBmb3IgaXNMb2FkaW5nXG4gICAqL1xuICBwdWJsaWMgc2V0SXNMb2FkaW5nKGlzTG9hZGluZzogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXNMb2FkaW5nU3ViamVjdCQubmV4dChpc0xvYWRpbmcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZnJlc2ggdGhlIHN0YXRlIHRvIGVuc3VyZSB0aGUgYGlzQXV0aGVudGljYXRlZGAsIGB1c2VyJGAgYW5kIGBpZFRva2VuQ2xhaW1zJGBcbiAgICogcmVmbGVjdCB0aGUgbW9zdCB1cC10by1kYXRlIHZhbHVlcyBmcm9tICBBdXRoMENsaWVudC5cbiAgICovXG4gIHB1YmxpYyByZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMucmVmcmVzaCQubmV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB0aGUgYWNjZXNzIHRva2VuLCBkb2luZyBzbyB3aWxsIGFsc28gcmVmcmVzaCB0aGUgc3RhdGUuXG4gICAqIEBwYXJhbSBhY2Nlc3NUb2tlbiBUaGUgbmV3IEFjY2VzcyBUb2tlblxuICAgKi9cbiAgcHVibGljIHNldEFjY2Vzc1Rva2VuKGFjY2Vzc1Rva2VuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmFjY2Vzc1Rva2VuJC5uZXh0KGFjY2Vzc1Rva2VuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgZXJyb3IgaW4gdGhlIGBlcnJvciRgIG9ic2VydmFibGUuXG4gICAqIEBwYXJhbSBlcnJvciBUaGUgbmV3IGVycm9yXG4gICAqL1xuICBwdWJsaWMgc2V0RXJyb3IoZXJyb3I6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuZXJyb3JTdWJqZWN0JC5uZXh0KGVycm9yKTtcbiAgfVxufVxuIl19
@@ -6,5 +6,7 @@ export * from './lib/auth.module';
6
6
  export * from './lib/auth.guard';
7
7
  export * from './lib/auth.interceptor';
8
8
  export * from './lib/auth.config';
9
+ export * from './lib/auth.client';
10
+ export * from './lib/auth.state';
9
11
  export { LocalStorageCache, InMemoryCache, } from '@auth0/auth0-spa-js';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2F1dGgwLWFuZ3VsYXIvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsbUJBQW1CLENBQUM7QUFFbEMsT0FBTyxFQUdMLGlCQUFpQixFQUNqQixhQUFhLEdBQ2QsTUFBTSxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYXV0aDAtYW5ndWxhclxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2F1dGguc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdXRoLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdXRoLmd1YXJkJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F1dGguaW50ZXJjZXB0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXV0aC5jb25maWcnO1xuXG5leHBvcnQge1xuICBJQ2FjaGUsXG4gIENhY2hlYWJsZSxcbiAgTG9jYWxTdG9yYWdlQ2FjaGUsXG4gIEluTWVtb3J5Q2FjaGUsXG59IGZyb20gJ0BhdXRoMC9hdXRoMC1zcGEtanMnO1xuIl19
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2F1dGgwLWFuZ3VsYXIvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGtCQUFrQixDQUFDO0FBRWpDLE9BQU8sRUFHTCxpQkFBaUIsRUFDakIsYUFBYSxHQUNkLE1BQU0scUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGF1dGgwLWFuZ3VsYXJcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdXRoLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXV0aC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXV0aC5ndWFyZCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdXRoLmludGVyY2VwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F1dGguY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F1dGguY2xpZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F1dGguc3RhdGUnO1xuXG5leHBvcnQge1xuICBJQ2FjaGUsXG4gIENhY2hlYWJsZSxcbiAgTG9jYWxTdG9yYWdlQ2FjaGUsXG4gIEluTWVtb3J5Q2FjaGUsXG59IGZyb20gJ0BhdXRoMC9hdXRoMC1zcGEtanMnO1xuIl19
@@ -1,2 +1,2 @@
1
- export default { name: '@auth0/auth0-angular', version: '1.6.0' };
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcmFnZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvYXV0aDAtYW5ndWxhci9zcmMvdXNlcmFnZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGVBQWUsRUFBRSxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgeyBuYW1lOiAnQGF1dGgwL2F1dGgwLWFuZ3VsYXInLCB2ZXJzaW9uOiAnMS42LjAnIH07XG4iXX0=
1
+ export default { name: '@auth0/auth0-angular', version: '1.8.0' };
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcmFnZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvYXV0aDAtYW5ndWxhci9zcmMvdXNlcmFnZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGVBQWUsRUFBRSxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgeyBuYW1lOiAnQGF1dGgwL2F1dGgwLWFuZ3VsYXInLCB2ZXJzaW9uOiAnMS44LjAnIH07XG4iXX0=
@@ -3,13 +3,13 @@ import { InjectionToken, Injectable, Injector, Optional, Inject, NgModule } from
3
3
  import { Auth0Client } from '@auth0/auth0-spa-js';
4
4
  export { InMemoryCache, LocalStorageCache } from '@auth0/auth0-spa-js';
5
5
  import { BehaviorSubject, Subject, ReplaySubject, merge, defer, of, iif, from, throwError } from 'rxjs';
6
- import { scan, filter, distinctUntilChanged, switchMap, mergeMap, concatMap, catchError, tap, takeUntil, withLatestFrom, map, take, pluck, first } from 'rxjs/operators';
6
+ import { scan, filter, distinctUntilChanged, switchMap, mergeMap, shareReplay, concatMap, catchError, tap, takeUntil, withLatestFrom, map, take, pluck, first } from 'rxjs/operators';
7
7
  import { __rest } from 'tslib';
8
8
  import { Router } from '@angular/router';
9
9
  import * as i1 from '@angular/common';
10
10
  import { Location } from '@angular/common';
11
11
 
12
- var useragent = { name: '@auth0/auth0-angular', version: '1.6.0' };
12
+ var useragent = { name: '@auth0/auth0-angular', version: '1.8.0' };
13
13
 
14
14
  class Auth0ClientFactory {
15
15
  static createClient(configFactory) {
@@ -148,7 +148,7 @@ AuthClientConfig.ctorParameters = () => [
148
148
  const AuthConfigService = new InjectionToken('auth0-angular.config');
149
149
 
150
150
  /**
151
- * @ignore
151
+ * Tracks the Authentication State for the SDK
152
152
  */
153
153
  class AuthState {
154
154
  constructor(auth0Client) {
@@ -187,7 +187,7 @@ class AuthState {
187
187
  * Emits boolean values indicating the authentication state of the user. If `true`, it means a user has authenticated.
188
188
  * This depends on the value of `isLoading$`, so there is no need to manually check the loading state of the SDK.
189
189
  */
190
- this.isAuthenticated$ = this.isAuthenticatedTrigger$.pipe(distinctUntilChanged());
190
+ this.isAuthenticated$ = this.isAuthenticatedTrigger$.pipe(distinctUntilChanged(), shareReplay(1));
191
191
  /**
192
192
  * Emits details about the authenticated user, or null if not authenticated.
193
193
  */
@@ -201,6 +201,10 @@ class AuthState {
201
201
  */
202
202
  this.error$ = this.errorSubject$.asObservable();
203
203
  }
204
+ /**
205
+ * Update the isLoading state using the provided value
206
+ * @param isLoading The new value for isLoading
207
+ */
204
208
  setIsLoading(isLoading) {
205
209
  this.isLoadingSubject$.next(isLoading);
206
210
  }
@@ -235,10 +239,9 @@ AuthState.ctorParameters = () => [
235
239
  ];
236
240
 
237
241
  class AuthService {
238
- constructor(auth0Client, configFactory, location, navigator, authState) {
242
+ constructor(auth0Client, configFactory, navigator, authState) {
239
243
  this.auth0Client = auth0Client;
240
244
  this.configFactory = configFactory;
241
- this.location = location;
242
245
  this.navigator = navigator;
243
246
  this.authState = authState;
244
247
  this.appStateSubject$ = new ReplaySubject(1);
@@ -376,8 +379,10 @@ class AuthService {
376
379
  *
377
380
  * @param options The options for configuring the token fetch.
378
381
  */
379
- getAccessTokenSilently(options) {
380
- return of(this.auth0Client).pipe(concatMap((client) => client.getTokenSilently(options)), tap((token) => this.authState.setAccessToken(token)), catchError((error) => {
382
+ getAccessTokenSilently(options = {}) {
383
+ return of(this.auth0Client).pipe(concatMap((client) => options.detailedResponse === true
384
+ ? client.getTokenSilently(Object.assign(Object.assign({}, options), { detailedResponse: true }))
385
+ : client.getTokenSilently(options)), tap((token) => this.authState.setAccessToken(typeof token === 'string' ? token : token.access_token)), catchError((error) => {
381
386
  this.authState.setError(error);
382
387
  this.authState.refresh();
383
388
  return throwError(error);
@@ -457,14 +462,14 @@ class AuthService {
457
462
  return of(this.auth0Client.buildLogoutUrl(options));
458
463
  }
459
464
  shouldHandleCallback() {
460
- return of(this.location.path()).pipe(map((search) => {
465
+ return of(location.search).pipe(map((search) => {
461
466
  return ((search.includes('code=') || search.includes('error=')) &&
462
467
  search.includes('state=') &&
463
468
  !this.configFactory.get().skipRedirectCallback);
464
469
  }));
465
470
  }
466
471
  }
467
- AuthService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AuthService_Factory() { return new AuthService(i0.ɵɵinject(Auth0ClientService), i0.ɵɵinject(AuthClientConfig), i0.ɵɵinject(i1.Location), i0.ɵɵinject(AbstractNavigator), i0.ɵɵinject(AuthState)); }, token: AuthService, providedIn: "root" });
472
+ AuthService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AuthService_Factory() { return new AuthService(i0.ɵɵinject(Auth0ClientService), i0.ɵɵinject(AuthClientConfig), i0.ɵɵinject(AbstractNavigator), i0.ɵɵinject(AuthState)); }, token: AuthService, providedIn: "root" });
468
473
  AuthService.decorators = [
469
474
  { type: Injectable, args: [{
470
475
  providedIn: 'root',
@@ -473,7 +478,6 @@ AuthService.decorators = [
473
478
  AuthService.ctorParameters = () => [
474
479
  { type: Auth0Client, decorators: [{ type: Inject, args: [Auth0ClientService,] }] },
475
480
  { type: AuthClientConfig },
476
- { type: Location },
477
481
  { type: AbstractNavigator },
478
482
  { type: AuthState }
479
483
  ];
@@ -668,5 +672,5 @@ AuthHttpInterceptor.ctorParameters = () => [
668
672
  * Generated bundle index. Do not edit.
669
673
  */
670
674
 
671
- export { AuthClientConfig, AuthConfigService, AuthGuard, AuthHttpInterceptor, AuthModule, AuthService, isHttpInterceptorRouteConfig, Auth0ClientFactory as ɵa, Auth0ClientService as ɵb, AbstractNavigator as ɵc, AuthState as ɵd };
675
+ export { Auth0ClientFactory, Auth0ClientService, AuthClientConfig, AuthConfigService, AuthGuard, AuthHttpInterceptor, AuthModule, AuthService, AuthState, isHttpInterceptorRouteConfig, AbstractNavigator as ɵa };
672
676
  //# sourceMappingURL=auth0-auth0-angular.js.map