stream-chat-angular 5.1.0 → 5.1.1
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.
- package/assets/version.d.ts +1 -1
- package/esm2020/assets/version.mjs +2 -2
- package/esm2020/lib/channel.service.mjs +2 -3
- package/esm2020/lib/chat-client.service.mjs +2 -3
- package/fesm2015/stream-chat-angular.mjs +3 -5
- package/fesm2015/stream-chat-angular.mjs.map +1 -1
- package/fesm2020/stream-chat-angular.mjs +3 -5
- package/fesm2020/stream-chat-angular.mjs.map +1 -1
- package/package.json +1 -1
- package/src/assets/version.ts +1 -1
|
@@ -149,9 +149,8 @@ export class ChatClientService {
|
|
|
149
149
|
{ id: { $autocomplete: searchTerm } },
|
|
150
150
|
{ name: { $autocomplete: searchTerm } },
|
|
151
151
|
],
|
|
152
|
-
id: { $ne: this.chatClient.userID },
|
|
153
152
|
}); // TODO: find out why we need this typecast
|
|
154
|
-
return result.users;
|
|
153
|
+
return result.users.filter((u) => u.id !== this.chatClient?.user?.id);
|
|
155
154
|
}
|
|
156
155
|
updatePendingInvites(e) {
|
|
157
156
|
if (!this.trackPendingChannelInvites) {
|
|
@@ -225,4 +224,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
225
224
|
providedIn: 'root',
|
|
226
225
|
}]
|
|
227
226
|
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.NotificationService }]; } });
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1jbGllbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGF0LWNsaWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFXbEUsT0FBTyxFQUFzQixVQUFVLEVBQW1CLE1BQU0sYUFBYSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUc1QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQVN0Qzs7R0FFRztBQUlILE1BQU0sT0FBTyxpQkFBaUI7SUEyQzVCLFlBQ1UsTUFBYyxFQUNkLG1CQUF3QztRQUR4QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2Qsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQWYxQyx3QkFBbUIsR0FBRyxJQUFJLGFBQWEsQ0FBaUIsQ0FBQyxDQUFDLENBQUM7UUFDM0QsMkJBQXNCLEdBQUcsSUFBSSxhQUFhLENBQXVCLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLHVCQUFrQixHQUFHLElBQUksZUFBZSxDQUM5QyxTQUFTLENBQ1YsQ0FBQztRQUNNLDBCQUFxQixHQUFHLElBQUksZUFBZSxDQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQzlELGdCQUFXLEdBQUcsSUFBSSxhQUFhLENBRXJDLENBQUMsQ0FBQyxDQUFDO1FBQ0csa0JBQWEsR0FBa0MsRUFBRSxDQUFDO1FBQ2xELCtCQUEwQixHQUFHLElBQUksQ0FBQztRQU94QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcs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QUFDLElBQUksQ0FBQyxFQUFFLEVBQ3RDO1lBQ0EsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUNwRDtJQUNILENBQUM7OzhHQWxSVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZoQixNQUFNOzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgQXBwU2V0dGluZ3NBUElSZXNwb25zZSxcbiAgQ2hhbm5lbCxcbiAgQ2hhbm5lbEZpbHRlcnMsXG4gIENvbm5lY3RBUElSZXNwb25zZSxcbiAgT3duVXNlclJlc3BvbnNlLFxuICBTdHJlYW1DaGF0T3B0aW9ucyxcbiAgVXNlckZpbHRlcnMsXG4gIFVzZXJSZXNwb25zZSxcbn0gZnJvbSAnc3RyZWFtLWNoYXQnO1xuaW1wb3J0IHsgQXBwU2V0dGluZ3MsIEV2ZW50LCBTdHJlYW1DaGF0LCBUb2tlbk9yUHJvdmlkZXIgfSBmcm9tICdzdHJlYW0tY2hhdCc7XG5pbXBvcnQgeyB2ZXJzaW9uIH0gZnJvbSAnLi4vYXNzZXRzL3ZlcnNpb24nO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGVmYXVsdFN0cmVhbUNoYXRHZW5lcmljcyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IHR5cGUgQ2xpZW50RXZlbnQ8XG4gIFQgZXh0ZW5kcyBEZWZhdWx0U3RyZWFtQ2hhdEdlbmVyaWNzID0gRGVmYXVsdFN0cmVhbUNoYXRHZW5lcmljc1xuPiA9IHtcbiAgZXZlbnRUeXBlOiBzdHJpbmc7XG4gIGV2ZW50OiBFdmVudDxUPjtcbn07XG5cbi8qKlxuICogVGhlIGBDaGF0Q2xpZW50YCBzZXJ2aWNlIGNvbm5lY3RzIHRoZSB1c2VyIHRvIHRoZSBTdHJlYW0gY2hhdC5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENoYXRDbGllbnRTZXJ2aWNlPFxuICBUIGV4dGVuZHMgRGVmYXVsdFN0cmVhbUNoYXRHZW5lcmljcyA9IERlZmF1bHRTdHJlYW1DaGF0R2VuZXJpY3Ncbj4ge1xuICAvKipcbiAgICogVGhlIFtTdHJlYW1DaGF0IGNsaWVudF0oaHR0cHM6Ly9naXRodWIuY29tL0dldFN0cmVhbS9zdHJlYW0tY2hhdC1qcy9ibG9iL21hc3Rlci9zcmMvY2xpZW50LnRzKSBpbnN0YW5jZS4gSW4gZ2VuZXJhbCB5b3Ugc2hvdWxkbid0IG5lZWQgdG8gYWNjZXNzIHRoZSBjbGllbnQsIGJ1dCBpdCdzIHRoZXJlIGlmIHlvdSB3YW50IHRvIHVzZSBpdC5cbiAgICovXG4gIGNoYXRDbGllbnQhOiBTdHJlYW1DaGF0PFQ+O1xuICAvKipcbiAgICogRW1pdHMgW2BDbGllbnRFdmVudGBdKGh0dHBzOi8vZ2l0aHViLmNvbS9HZXRTdHJlYW0vc3RyZWFtLWNoYXQtYW5ndWxhci9ibG9iL21hc3Rlci9wcm9qZWN0cy9zdHJlYW0tY2hhdC1hbmd1bGFyL3NyYy9saWIvY2hhdC1jbGllbnQuc2VydmljZS50cykgZXZlbnRzLiBUaGUgcGxhdGZvcm0gZG9jdW1lbnRhdGlvbiBjb3ZlcnMgW3RoZSBsaXN0IG9mIGNsaWVudCwgdXNlciBwcmVzZW5jZSBhbmQgbm90aWZpY2F0aW9uIGV2ZW50c10oaHR0cHM6Ly9nZXRzdHJlYW0uaW8vY2hhdC9kb2NzL2phdmFzY3JpcHQvZXZlbnRfb2JqZWN0Lz9sYW5ndWFnZT1qYXZhc2NyaXB0KS5cbiAgICogOjo6aW1wb3J0YW50XG4gICAqIEZvciBwZXJmb3JtYW5jZSByZWFzb25zIHRoaXMgT2JzZXJ2YWJsZSBvcGVyYXRlcyBvdXRzaWRlIG9mIHRoZSBBbmd1bGFyIGNoYW5nZSBkZXRlY3Rpb24gem9uZS4gSWYgeW91IHN1YnNjcmliZSB0byBpdCwgeW91IG5lZWQgdG8gbWFudWFsbHkgcmVlbnRlciBBbmd1bGFyJ3MgY2hhbmdlIGRldGVjdGlvbiB6b25lLCBvdXIgW0NoYW5nZSBkZXRlY3Rpb24gZ3VpZGVdKC4uL2NvbmNlcHRzL2NoYW5nZS1kZXRlY3Rpb24ubWR4KSBleHBsYWlucyB0aGlzIGluIGRldGFpbC5cbiAgICogOjo6XG4gICAqL1xuICBldmVudHMkOiBPYnNlcnZhYmxlPENsaWVudEV2ZW50PFQ+PjtcbiAgLyoqXG4gICAqIEVtaXRzIHRoZSBjdXJyZW50IFthcHBsaWNhdGlvbiBzZXR0aW5nc10oaHR0cHM6Ly9nZXRzdHJlYW0uaW8vY2hhdC9kb2NzL2phdmFzY3JpcHQvYXBwX3NldHRpbmdfb3ZlcnZpZXcvP2xhbmd1YWdlPWphdmFzY3JpcHQpLiBTaW5jZSBnZXR0aW5nIHRoZSBhcHBsaWNhdGlvbiBzZXR0aW5ncyBpcyBhbiBleHBlbnNpdmUgQVBJIGNhbGwgYW5kIHdlIGRvbid0IGFsd2F5cyBuZWVkIHRoZSByZXN1bHQsIHRoaXMgaXMgbm90IGluaXRpYWxpemVkIGJ5IGRlZmF1bHQsIHlvdSBuZWVkIHRvIGNhbGwgYGdldEFwcGxpY2F0aW9uU2V0dGluZ3NgIHRvIGxvYWQgdGhlbS5cbiAgICovXG4gIGFwcFNldHRpbmdzJDogT2JzZXJ2YWJsZTxBcHBTZXR0aW5ncyB8IHVuZGVmaW5lZD47XG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgY3VycmVudCBjb25uZWN0aW9uIHN0YXRlIG9mIHRoZSB1c2VyIChgb25saW5lYCBvciBgb2ZmbGluZWApXG4gICAqL1xuICBjb25uZWN0aW9uU3RhdGUkOiBPYnNlcnZhYmxlPCdvZmZsaW5lJyB8ICdvbmxpbmUnPjtcbiAgLyoqXG4gICAqIEVtaXRzIHRoZSBsaXN0IG9mIHBlbmRpbmcgaW52aXRlcyBvZiB0aGUgdXNlci4gSXQgZW1pdHMgZXZlcnkgcGVuZGluZyBpbnZpdGF0aW9uIGR1cmluZyBpbml0aWFsaXphdGlvbiBhbmQgdGhlbiBleHRlbmRzIHRoZSBsaXN0IHdoZW4gYSBuZXcgaW52aXRlIGlzIHJlY2VpdmVkLiBNb3JlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiB0aGUgW2NoYW5uZWwgaW52aXRhdGlvbnNdKC4uL2NvZGUtZXhhbXBsZXMvY2hhbm5lbC1pbnZpdGVzLm1keCkgZ3VpZGUuXG4gICAqL1xuICBwZW5kaW5nSW52aXRlcyQ6IE9ic2VydmFibGU8Q2hhbm5lbDxUPltdPjtcbiAgLyoqXG4gICAqIEVtaXRzIHRoZSBjdXJyZW50IGNoYXQgdXNlclxuICAgKi9cbiAgdXNlciQ6IE9ic2VydmFibGU8T3duVXNlclJlc3BvbnNlPFQ+IHwgVXNlclJlc3BvbnNlPFQ+IHwgdW5kZWZpbmVkPjtcbiAgcHJpdmF0ZSBub3RpZmljYXRpb25TdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8Q2xpZW50RXZlbnQ8VD4+KDEpO1xuICBwcml2YXRlIGNvbm5lY3Rpb25TdGF0ZVN1YmplY3QgPSBuZXcgUmVwbGF5U3ViamVjdDwnb2ZmbGluZScgfCAnb25saW5lJz4oMSk7XG4gIHByaXZhdGUgYXBwU2V0dGluZ3NTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcHBTZXR0aW5ncyB8IHVuZGVmaW5lZD4oXG4gICAgdW5kZWZpbmVkXG4gICk7XG4gIHByaXZhdGUgcGVuZGluZ0ludml0ZXNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDaGFubmVsPFQ+W10+KFtdKTtcbiAgcHJpdmF0ZSB1c2VyU3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PFxuICAgIE93blVzZXJSZXNwb25zZTxUPiB8IFVzZXJSZXNwb25zZTxUPiB8IHVuZGVmaW5lZFxuICA+KDEpO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IHsgdW5zdWJzY3JpYmU6ICgpID0+IHZvaWQgfVtdID0gW107XG4gIHByaXZhdGUgdHJhY2tQZW5kaW5nQ2hhbm5lbEludml0ZXMgPSB0cnVlO1xuICBwcml2YXRlIGFwcFNldHRpbmdzUHJvbWlzZT86IFByb21pc2U8QXBwU2V0dGluZ3NBUElSZXNwb25zZTxUPj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5ldmVudHMkID0gdGhpcy5ub3RpZmljYXRpb25TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMuY29ubmVjdGlvblN0YXRlJCA9IHRoaXMuY29ubmVjdGlvblN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLmFwcFNldHRpbmdzJCA9IHRoaXMuYXBwU2V0dGluZ3NTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMucGVuZGluZ0ludml0ZXMkID0gdGhpcy5wZW5kaW5nSW52aXRlc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy51c2VyJCA9IHRoaXMudXNlclN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIFtgU3RyZWFtQ2hhdGBdKGh0dHBzOi8vZ2l0aHViLmNvbS9HZXRTdHJlYW0vc3RyZWFtLWNoYXQtanMvYmxvYi82NjhiM2U1NTIxMzM5ZjRlMTRmYzY1NzgzNDUzMWI0YzhiZjgxNzZiL3NyYy9jbGllbnQudHMjTDEyNCkgaW5zdGFuY2UgdXNpbmcgdGhlIHByb3ZpZGVkIGBhcGlLZXlgLCBhbmQgY29ubmVjdHMgYSB1c2VyIHdpdGggdGhlIGdpdmVuIG1ldGEgZGF0YSBhbmQgdG9rZW4uIE1vcmUgaW5mbyBhYm91dCBbY29ubmVjdGluZyB1c2Vyc10oaHR0cHM6Ly9nZXRzdHJlYW0uaW8vY2hhdC9kb2NzL2phdmFzY3JpcHQvaW5pdF9hbmRfdXNlcnMvP2xhbmd1YWdlPWphdmFzY3JpcHQpIGNhbiBiZSBmb3VuZCBpbiB0aGUgcGxhdGZvcm0gZG9jdW1lbnRhdGlvbi5cbiAgICogQHBhcmFtIGFwaUtleVxuICAgKiBAcGFyYW0gdXNlck9ySWQgeW91IGNhbiBlbWl0IHRoaXMgZm9yIGFub255bW91cyBsb2dpbnNcbiAgICogQHBhcmFtIHVzZXJUb2tlbk9yUHJvdmlkZXIgWW91IGNhbiBwcm92aWRlOjx1bD5cbiAgICogIDxsaT4gYSB0b2tlbiwgPC9saT5cbiAgICogIDxsaT4gYSB0b2tlbiBwcm92aWRlciwgYSBtZXRob2QgdGhhdCByZXR1cm5zIGBQcm9taXNlPHN0cmluZz5gLCB3aGljaCBjYW4gYmUgY2FsbGVkIHdoZW4gdGhlIHByZXZpb3VzIHRva2VuIGV4cGlyZXMgKHJlY29tbWVuZGVkIHNldHVwIGZvciBwcm9kdWN0aW9uIGFwcGxpY2F0aW9ucyk8L2xpPlxuICAgKiAgPGxpPiB0aGUga2V5d29yZCAnZ3Vlc3QnIHRvIGNvbm5lY3QgYXMgW2d1ZXN0IHVzZXJdKGh0dHBzOi8vZ2V0c3RyZWFtLmlvL2NoYXQvZG9jcy9qYXZhc2NyaXB0L2F1dGhsZXNzX3VzZXJzLz9sYW5ndWFnZT1qYXZhc2NyaXB0I2d1ZXN0LXVzZXJzKSA8L2xpPlxuICAgKiAgPGxpPiB0aGUga2V5d29yZCAnYW5vbnltb3VzJyB0byBjb25uZWN0IGFzIFthbm9ueW1vdXMgdXNlcl0oaHR0cHM6Ly9nZXRzdHJlYW0uaW8vY2hhdC9kb2NzL2phdmFzY3JpcHQvYXV0aGxlc3NfdXNlcnMvP2xhbmd1YWdlPWphdmFzY3JpcHQjYW5vbnltb3VzLXVzZXJzKSA8L2xpPlxuICAgKiAgPC91bD5cbiAgICogQHBhcmFtIGNsaWVudE9wdGlvbnMgU2V0dGluZyB0byBwcm92aWRlIHRvIHRoZSBTdHJlYW0gY2xpZW50IGluc3RhbmNlXG4gICAqL1xuICBhc3luYyBpbml0KFxuICAgIGFwaUtleTogc3RyaW5nLFxuICAgIHVzZXJPcklkOiBzdHJpbmcgfCBPd25Vc2VyUmVzcG9uc2U8VD4gfCBVc2VyUmVzcG9uc2U8VD4gfCB1bmRlZmluZWQsXG4gICAgdXNlclRva2VuT3JQcm92aWRlcjogVG9rZW5PclByb3ZpZGVyLFxuICAgIGNsaWVudE9wdGlvbnM/OiBTdHJlYW1DaGF0T3B0aW9ucyAmIHsgdHJhY2tQZW5kaW5nQ2hhbm5lbEludml0ZXM/OiBib29sZWFuIH1cbiAgKTogQ29ubmVjdEFQSVJlc3BvbnNlPFQ+IHtcbiAgICBpZiAodGhpcy5jaGF0Q2xpZW50ICYmIHRoaXMuY2hhdENsaWVudC5rZXkgIT09IGFwaUtleSkge1xuICAgICAgdGhpcy5hcHBTZXR0aW5nc1N1YmplY3QubmV4dCh1bmRlZmluZWQpO1xuICAgICAgdGhpcy5hcHBTZXR0aW5nc1Byb21pc2UgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHRoaXMudHJhY2tQZW5kaW5nQ2hhbm5lbEludml0ZXMgPVxuICAgICAgY2xpZW50T3B0aW9ucz8udHJhY2tQZW5kaW5nQ2hhbm5lbEludml0ZXMgPT09IHRydWU7XG4gICAgdGhpcy5jaGF0Q2xpZW50ID0gU3RyZWFtQ2hhdC5nZXRJbnN0YW5jZTxUPihhcGlLZXksIGNsaWVudE9wdGlvbnMpO1xuICAgIGNvbnN0IHNka1ByZWZpeCA9ICdzdHJlYW0tY2hhdC1hbmd1bGFyJztcbiAgICBpZiAoIXRoaXMuY2hhdENsaWVudC5nZXRVc2VyQWdlbnQoKS5pbmNsdWRlcyhzZGtQcmVmaXgpKSB7XG4gICAgICB0aGlzLmNoYXRDbGllbnQuc2V0VXNlckFnZW50KFxuICAgICAgICBgJHtzZGtQcmVmaXh9LSR7dmVyc2lvbn0tJHt0aGlzLmNoYXRDbGllbnQuZ2V0VXNlckFnZW50KCl9YFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5jaGF0Q2xpZW50LnJlY292ZXJTdGF0ZU9uUmVjb25uZWN0ID0gZmFsc2U7XG4gICAgdGhpcy5jaGF0Q2xpZW50LmRldlRva2VuO1xuICAgIGxldCByZXN1bHQ7XG4gICAgYXdhaXQgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdXNlciA9IHR5cGVvZiB1c2VyT3JJZCA9PT0gJ3N0cmluZycgPyB7IGlkOiB1c2VyT3JJZCB9IDogdXNlck9ySWQ7XG4gICAgICB0cnkge1xuICAgICAgICByZXN1bHQgPSBhd2FpdCAoXG4gICAgICAgICAge1xuICAgICAgICAgICAgZ3Vlc3Q6ICgpID0+IHRoaXMuY2hhdENsaWVudC5zZXRHdWVzdFVzZXIodXNlciEpLFxuICAgICAgICAgICAgYW5vbnltb3VzOiAoKSA9PiB0aGlzLmNoYXRDbGllbnQuY29ubmVjdEFub255bW91c1VzZXIoKSxcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcbiAgICAgICAgICB9W2Ake3VzZXJUb2tlbk9yUHJvdmlkZXJ9YF0gPz9cbiAgICAgICAgICAoKCkgPT4gdGhpcy5jaGF0Q2xpZW50LmNvbm5lY3RVc2VyKHVzZXIhLCB1c2VyVG9rZW5PclByb3ZpZGVyKSlcbiAgICAgICAgKSgpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmFkZFBlcm1hbmVudE5vdGlmaWNhdGlvbihcbiAgICAgICAgICAnc3RyZWFtQ2hhdC5FcnJvciBjb25uZWN0aW5nIHRvIGNoYXQsIHJlZnJlc2ggdGhlIHBhZ2UgdG8gdHJ5IGFnYWluLicsXG4gICAgICAgICAgJ2Vycm9yJ1xuICAgICAgICApO1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH1cbiAgICAgIHRoaXMudXNlclN1YmplY3QubmV4dChcbiAgICAgICAgdGhpcy5jaGF0Q2xpZW50LnVzZXIgPyB7IC4uLnRoaXMuY2hhdENsaWVudC51c2VyIH0gOiB1bmRlZmluZWRcbiAgICAgICk7XG4gICAgfSk7XG4gICAgaWYgKHRoaXMuY2hhdENsaWVudC51c2VyPy5pZCAmJiB0aGlzLnRyYWNrUGVuZGluZ0NoYW5uZWxJbnZpdGVzKSB7XG4gICAgICBjb25zdCBjaGFubmVscyA9IGF3YWl0IHRoaXMuY2hhdENsaWVudC5xdWVyeUNoYW5uZWxzKFxuICAgICAgICB7XG4gICAgICAgICAgaW52aXRlOiAncGVuZGluZycsXG4gICAgICAgICAgbWVtYmVyczogeyAkaW46IFt0aGlzLmNoYXRDbGllbnQudXNlcj8uaWRdIH0sXG4gICAgICAgIH0gYXMgdW5rbm93biBhcyBDaGFubmVsRmlsdGVyczxUPiAvLyBUT0RPOiBmaW5kIG91dCB3aHkgd2UgbmVlZCB0aGlzIHR5cGVjYXN0XG4gICAgICApO1xuICAgICAgdGhpcy5wZW5kaW5nSW52aXRlc1N1YmplY3QubmV4dChjaGFubmVscyk7XG4gICAgfVxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jaGF0Q2xpZW50Lm9uKChlKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlVXNlcihlKTtcbiAgICAgICAgdGhpcy51cGRhdGVQZW5kaW5nSW52aXRlcyhlKTtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TdWJqZWN0Lm5leHQoe1xuICAgICAgICAgIGV2ZW50VHlwZTogZS50eXBlLFxuICAgICAgICAgIGV2ZW50OiBlLFxuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICBsZXQgcmVtb3ZlTm90aWZpY2F0aW9uOiB1bmRlZmluZWQgfCAoKCkgPT4gdm9pZCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmNoYXRDbGllbnQub24oJ2Nvbm5lY3Rpb24uY2hhbmdlZCcsIChlKSA9PiB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgY29uc3QgaXNPbmxpbmUgPSBlLm9ubGluZTtcbiAgICAgICAgICBpZiAoaXNPbmxpbmUpIHtcbiAgICAgICAgICAgIGlmIChyZW1vdmVOb3RpZmljYXRpb24pIHtcbiAgICAgICAgICAgICAgcmVtb3ZlTm90aWZpY2F0aW9uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlbW92ZU5vdGlmaWNhdGlvbiA9XG4gICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5hZGRQZXJtYW5lbnROb3RpZmljYXRpb24oXG4gICAgICAgICAgICAgICAgJ3N0cmVhbUNoYXQuQ29ubmVjdGlvbiBmYWlsdXJlLCByZWNvbm5lY3Rpbmcgbm93Li4uJ1xuICAgICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0ZVN1YmplY3QubmV4dChpc09ubGluZSA/ICdvbmxpbmUnIDogJ29mZmxpbmUnKTtcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNjb25uZWN0cyB0aGUgY3VycmVudCB1c2VyLCBhbmQgY2xvc2VzIHRoZSBXZWJTb2NrZXQgY29ubmVjdGlvbi4gVXNlZnVsIHdoZW4gZGlzY29ubmVjdGluZyBhIGNoYXQgdXNlciwgdXNlIGluIGNvbWJpbmF0aW9uIHdpdGggW2ByZXNldGBdKC4vQ2hhbm5lbFNlcnZpY2UubWR4LyNyZXNldCkuXG4gICAqL1xuICBhc3luYyBkaXNjb25uZWN0VXNlcigpIHtcbiAgICB0aGlzLnBlbmRpbmdJbnZpdGVzU3ViamVjdC5uZXh0KFtdKTtcbiAgICBhd2FpdCB0aGlzLmNoYXRDbGllbnQuZGlzY29ubmVjdFVzZXIoKTtcbiAgICB0aGlzLnVzZXJTdWJqZWN0Lm5leHQodW5kZWZpbmVkKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgocykgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyB0aGUgY3VycmVudCBbYXBwbGljYXRpb24gc2V0dGluZ3NdKGh0dHBzOi8vZ2V0c3RyZWFtLmlvL2NoYXQvZG9jcy9qYXZhc2NyaXB0L2FwcF9zZXR0aW5nX292ZXJ2aWV3Lz9sYW5ndWFnZT1qYXZhc2NyaXB0KSwgaWYgdGhlIGFwcGxpY2F0aW9uIHNldHRpbmdzIGhhdmUgYWxyZWFkeSBiZWVuIGxvYWRlZCwgaXQgZG9lcyBub3RoaW5nLlxuICAgKi9cbiAgYXN5bmMgZ2V0QXBwU2V0dGluZ3MoKSB7XG4gICAgaWYgKHRoaXMuYXBwU2V0dGluZ3NQcm9taXNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmFwcFNldHRpbmdzU3ViamVjdC5nZXRWYWx1ZSgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuYXBwU2V0dGluZ3NQcm9taXNlID0gdGhpcy5jaGF0Q2xpZW50LmdldEFwcFNldHRpbmdzKCk7XG4gICAgdm9pZCB0aGlzLmFwcFNldHRpbmdzUHJvbWlzZS5maW5hbGx5KCgpID0+IHtcbiAgICAgIHRoaXMuYXBwU2V0dGluZ3NQcm9taXNlID0gdW5kZWZpbmVkO1xuICAgIH0pO1xuICAgIGNvbnN0IHNldHRpbmdzID0gYXdhaXQgdGhpcy5hcHBTZXR0aW5nc1Byb21pc2U7XG4gICAgdGhpcy5hcHBTZXR0aW5nc1N1YmplY3QubmV4dCgoc2V0dGluZ3MuYXBwIGFzIEFwcFNldHRpbmdzKSB8fCB7fSk7XG4gIH1cblxuICAvKipcbiAgICogRmxhZyB0aGUgbWVzc2FnZSB3aXRoIHRoZSBnaXZlbiBJRC4gSWYgeW91IHdhbnQgdG8ga25vdyBbbW9yZSBhYm91dCBmbGFnc10oaHR0cHM6Ly9nZXRzdHJlYW0uaW8vY2hhdC9kb2NzL2phdmFzY3JpcHQvbW9kZXJhdGlvbi8/bGFuZ3VhZ2U9amF2YXNjcmlwdCkgY2hlY2sgb3V0IHRoZSBwbGF0Zm9ybSBkb2N1bWVudGF0aW9uLlxuICAgKiBAcGFyYW0gbWVzc2FnZUlkXG4gICAqL1xuICBhc3luYyBmbGFnTWVzc2FnZShtZXNzYWdlSWQ6IHN0cmluZykge1xuICAgIGF3YWl0IHRoaXMuY2hhdENsaWVudC5mbGFnTWVzc2FnZShtZXNzYWdlSWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlYXJjaGVzIGZvciB1c2VycyBpbiB0aGUgYXBwbGljYXRpb24gdGhhdCBoYXZlIElEIG9yIG5hbWUgbWF0Y2hpbmcgdGhlIHByb3ZpZGVkIHNlYXJjaCB0ZXJtXG4gICAqIEBwYXJhbSBzZWFyY2hUZXJtXG4gICAqIEByZXR1cm5zIFRoZSB1c2VycyBtYXRjaGluZyB0aGUgc2VhcmNoXG4gICAqL1xuICBhc3luYyBhdXRvY29tcGxldGVVc2VycyhzZWFyY2hUZXJtOiBzdHJpbmcpIHtcbiAgICBpZiAoIXNlYXJjaFRlcm0pIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5jaGF0Q2xpZW50LnF1ZXJ5VXNlcnMoe1xuICAgICAgJG9yOiBbXG4gICAgICAgIHsgaWQ6IHsgJGF1dG9jb21wbGV0ZTogc2VhcmNoVGVybSB9IH0sXG4gICAgICAgIHsgbmFtZTogeyAkYXV0b2NvbXBsZXRlOiBzZWFyY2hUZXJtIH0gfSxcbiAgICAgIF0sXG4gICAgICBpZDogeyAkbmU6IHRoaXMuY2hhdENsaWVudC51c2VySUQhIH0sXG4gICAgfSBhcyBVc2VyRmlsdGVyczxUPik7IC8vIFRPRE86IGZpbmQgb3V0IHdoeSB3ZSBuZWVkIHRoaXMgdHlwZWNhc3RcbiAgICByZXR1cm4gcmVzdWx0LnVzZXJzO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVQZW5kaW5nSW52aXRlcyhlOiBFdmVudDxUPikge1xuICAgIGlmICghdGhpcy50cmFja1BlbmRpbmdDaGFubmVsSW52aXRlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoZS5tZW1iZXI/LnVzZXI/LmlkID09PSB0aGlzLmNoYXRDbGllbnQudXNlcj8uaWQgJiYgZS5jaGFubmVsKSB7XG4gICAgICBjb25zdCBwZW5kaW5nSW52aXRlcyA9IHRoaXMucGVuZGluZ0ludml0ZXNTdWJqZWN0LmdldFZhbHVlKCk7XG4gICAgICBpZiAoZS50eXBlID09PSAnbm90aWZpY2F0aW9uLmludml0ZWQnKSB7XG4gICAgICAgIGNvbnN0IGNoYW5uZWwgPSB0aGlzLmNoYXRDbGllbnQuY2hhbm5lbChlLmNoYW5uZWw/LnR5cGUsIGUuY2hhbm5lbD8uaWQpO1xuICAgICAgICB0aGlzLnBlbmRpbmdJbnZpdGVzU3ViamVjdC5uZXh0KFsuLi5wZW5kaW5nSW52aXRlcywgY2hhbm5lbF0pO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgZS50eXBlID09PSAnbm90aWZpY2F0aW9uLmludml0ZV9hY2NlcHRlZCcgfHxcbiAgICAgICAgZS50eXBlID09PSAnbm90aWZpY2F0aW9uLmludml0ZV9yZWplY3RlZCdcbiAgICAgICkge1xuICAgICAgICBjb25zdCBpbmRleCA9IHBlbmRpbmdJbnZpdGVzLmZpbmRJbmRleChcbiAgICAgICAgICAoaSkgPT4gaT8uY2lkID09PSBlLmNoYW5uZWw/LmNpZFxuICAgICAgICApO1xuICAgICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgcGVuZGluZ0ludml0ZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICB0aGlzLnBlbmRpbmdJbnZpdGVzU3ViamVjdC5uZXh0KFsuLi5wZW5kaW5nSW52aXRlc10pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVVc2VyKGU6IEV2ZW50PFQ+KSB7XG4gICAgaWYgKHR5cGVvZiBlLnRvdGFsX3VucmVhZF9jb3VudCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGxldCB1c2VyOiBPd25Vc2VyUmVzcG9uc2U8VD4gfCBVc2VyUmVzcG9uc2U8VD4gfCB1bmRlZmluZWQ7XG4gICAgICB0aGlzLnVzZXJTdWJqZWN0LnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCh1KSA9PiB7XG4gICAgICAgIHVzZXIgPSB1O1xuICAgICAgfSk7XG4gICAgICBpZiAodXNlciAmJiB1c2VyLnRvdGFsX3VucmVhZF9jb3VudCAhPT0gZS50b3RhbF91bnJlYWRfY291bnQpIHtcbiAgICAgICAgdGhpcy51c2VyU3ViamVjdC5uZXh0KHtcbiAgICAgICAgICAuLi51c2VyLFxuICAgICAgICAgIHRvdGFsX3VucmVhZF9jb3VudDogZS50b3RhbF91bnJlYWRfY291bnQsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodHlwZW9mIGUudW5yZWFkX2NoYW5uZWxzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgbGV0IHVzZXI6IE93blVzZXJSZXNwb25zZTxUPiB8IFVzZXJSZXNwb25zZTxUPiB8IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMudXNlclN1YmplY3QucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKHUpID0+IHtcbiAgICAgICAgdXNlciA9IHU7XG4gICAgICB9KTtcbiAgICAgIGlmICh1c2VyICYmIHVzZXIudW5yZWFkX2NoYW5uZWxzICE9PSBlLnVucmVhZF9jaGFubmVscykge1xuICAgICAgICB0aGlzLnVzZXJTdWJqZWN0Lm5leHQoe1xuICAgICAgICAgIC4uLnVzZXIsXG4gICAgICAgICAgdW5yZWFkX2NoYW5uZWxzOiBlLnVucmVhZF9jaGFubmVscyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0eXBlb2YgZS51bnJlYWRfY291bnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBsZXQgdXNlcjogT3duVXNlclJlc3BvbnNlPFQ+IHwgVXNlclJlc3BvbnNlPFQ+IHwgdW5kZWZpbmVkO1xuICAgICAgdGhpcy51c2VyU3ViamVjdC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgodSkgPT4ge1xuICAgICAgICB1c2VyID0gdTtcbiAgICAgIH0pO1xuICAgICAgaWYgKHVzZXIgJiYgdXNlci51bnJlYWRfY291bnQgIT09IGUudW5yZWFkX2NvdW50KSB7XG4gICAgICAgIHRoaXMudXNlclN1YmplY3QubmV4dCh7XG4gICAgICAgICAgLi4udXNlcixcbiAgICAgICAgICB1bnJlYWRfY291bnQ6IGUudW5yZWFkX2NvdW50LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKFxuICAgICAgZS50eXBlID09PSAndXNlci51cGRhdGVkJyAmJlxuICAgICAgdGhpcy5jaGF0Q2xpZW50LnVzZXIgJiZcbiAgICAgIGUudXNlcj8uaWQgPT09IHRoaXMuY2hhdENsaWVudC51c2VyLmlkXG4gICAgKSB7XG4gICAgICB0aGlzLnVzZXJTdWJqZWN0Lm5leHQoeyAuLi50aGlzLmNoYXRDbGllbnQudXNlciB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
227
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1jbGllbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGF0LWNsaWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFXbEUsT0FBTyxFQUFzQixVQUFVLEVBQW1CLE1BQU0sYUFBYSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUc1QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQVN0Qzs7R0FFRztBQUlILE1BQU0sT0FBTyxpQkFBaUI7SUEyQzVCLFlBQ1UsTUFBYyxFQUNkLG1CQUF3QztRQUR4QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2Qsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQWYxQyx3QkFBbUIsR0FBRyxJQUFJLGFBQWEsQ0FBaUIsQ0FBQyxDQUFDLENBQUM7UUFDM0QsMkJBQXNCLEdBQUcsSUFBSSxhQUFhLENBQXVCLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLHVCQUFrQixHQUFHLElBQUksZUFBZSxDQUM5QyxTQUFTLENBQ1YsQ0FBQztRQUNNLDBCQUFxQixHQUFHLElBQUksZUFBZSxDQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQzlELGdCQUFXLEdBQUcsSUFBSSxhQUFhLENBRXJDLENBQUMsQ0FBQyxDQUFDO1FBQ0csa0JBQWEsR0FBa0MsRUFBRSxDQUFDO1FBQ2xELCtCQUEwQixHQUFHLElBQUksQ0FBQztRQU94QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcs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QUFDLElBQUksRUFBRSxFQUFFLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUN0QztZQUNBLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7U0FDcEQ7SUFDSCxDQUFDOzs4R0FqUlUsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGaEIsTUFBTTsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEFwcFNldHRpbmdzQVBJUmVzcG9uc2UsXG4gIENoYW5uZWwsXG4gIENoYW5uZWxGaWx0ZXJzLFxuICBDb25uZWN0QVBJUmVzcG9uc2UsXG4gIE93blVzZXJSZXNwb25zZSxcbiAgU3RyZWFtQ2hhdE9wdGlvbnMsXG4gIFVzZXJGaWx0ZXJzLFxuICBVc2VyUmVzcG9uc2UsXG59IGZyb20gJ3N0cmVhbS1jaGF0JztcbmltcG9ydCB7IEFwcFNldHRpbmdzLCBFdmVudCwgU3RyZWFtQ2hhdCwgVG9rZW5PclByb3ZpZGVyIH0gZnJvbSAnc3RyZWFtLWNoYXQnO1xuaW1wb3J0IHsgdmVyc2lvbiB9IGZyb20gJy4uL2Fzc2V0cy92ZXJzaW9uJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IERlZmF1bHRTdHJlYW1DaGF0R2VuZXJpY3MgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCB0eXBlIENsaWVudEV2ZW50PFxuICBUIGV4dGVuZHMgRGVmYXVsdFN0cmVhbUNoYXRHZW5lcmljcyA9IERlZmF1bHRTdHJlYW1DaGF0R2VuZXJpY3Ncbj4gPSB7XG4gIGV2ZW50VHlwZTogc3RyaW5nO1xuICBldmVudDogRXZlbnQ8VD47XG59O1xuXG4vKipcbiAqIFRoZSBgQ2hhdENsaWVudGAgc2VydmljZSBjb25uZWN0cyB0aGUgdXNlciB0byB0aGUgU3RyZWFtIGNoYXQuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDaGF0Q2xpZW50U2VydmljZTxcbiAgVCBleHRlbmRzIERlZmF1bHRTdHJlYW1DaGF0R2VuZXJpY3MgPSBEZWZhdWx0U3RyZWFtQ2hhdEdlbmVyaWNzXG4+IHtcbiAgLyoqXG4gICAqIFRoZSBbU3RyZWFtQ2hhdCBjbGllbnRdKGh0dHBzOi8vZ2l0aHViLmNvbS9HZXRTdHJlYW0vc3RyZWFtLWNoYXQtanMvYmxvYi9tYXN0ZXIvc3JjL2NsaWVudC50cykgaW5zdGFuY2UuIEluIGdlbmVyYWwgeW91IHNob3VsZG4ndCBuZWVkIHRvIGFjY2VzcyB0aGUgY2xpZW50LCBidXQgaXQncyB0aGVyZSBpZiB5b3Ugd2FudCB0byB1c2UgaXQuXG4gICAqL1xuICBjaGF0Q2xpZW50ITogU3RyZWFtQ2hhdDxUPjtcbiAgLyoqXG4gICAqIEVtaXRzIFtgQ2xpZW50RXZlbnRgXShodHRwczovL2dpdGh1Yi5jb20vR2V0U3RyZWFtL3N0cmVhbS1jaGF0LWFuZ3VsYXIvYmxvYi9tYXN0ZXIvcHJvamVjdHMvc3RyZWFtLWNoYXQtYW5ndWxhci9zcmMvbGliL2NoYXQtY2xpZW50LnNlcnZpY2UudHMpIGV2ZW50cy4gVGhlIHBsYXRmb3JtIGRvY3VtZW50YXRpb24gY292ZXJzIFt0aGUgbGlzdCBvZiBjbGllbnQsIHVzZXIgcHJlc2VuY2UgYW5kIG5vdGlmaWNhdGlvbiBldmVudHNdKGh0dHBzOi8vZ2V0c3RyZWFtLmlvL2NoYXQvZG9jcy9qYXZhc2NyaXB0L2V2ZW50X29iamVjdC8/bGFuZ3VhZ2U9amF2YXNjcmlwdCkuXG4gICAqIDo6OmltcG9ydGFudFxuICAgKiBGb3IgcGVyZm9ybWFuY2UgcmVhc29ucyB0aGlzIE9ic2VydmFibGUgb3BlcmF0ZXMgb3V0c2lkZSBvZiB0aGUgQW5ndWxhciBjaGFuZ2UgZGV0ZWN0aW9uIHpvbmUuIElmIHlvdSBzdWJzY3JpYmUgdG8gaXQsIHlvdSBuZWVkIHRvIG1hbnVhbGx5IHJlZW50ZXIgQW5ndWxhcidzIGNoYW5nZSBkZXRlY3Rpb24gem9uZSwgb3VyIFtDaGFuZ2UgZGV0ZWN0aW9uIGd1aWRlXSguLi9jb25jZXB0cy9jaGFuZ2UtZGV0ZWN0aW9uLm1keCkgZXhwbGFpbnMgdGhpcyBpbiBkZXRhaWwuXG4gICAqIDo6OlxuICAgKi9cbiAgZXZlbnRzJDogT2JzZXJ2YWJsZTxDbGllbnRFdmVudDxUPj47XG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgY3VycmVudCBbYXBwbGljYXRpb24gc2V0dGluZ3NdKGh0dHBzOi8vZ2V0c3RyZWFtLmlvL2NoYXQvZG9jcy9qYXZhc2NyaXB0L2FwcF9zZXR0aW5nX292ZXJ2aWV3Lz9sYW5ndWFnZT1qYXZhc2NyaXB0KS4gU2luY2UgZ2V0dGluZyB0aGUgYXBwbGljYXRpb24gc2V0dGluZ3MgaXMgYW4gZXhwZW5zaXZlIEFQSSBjYWxsIGFuZCB3ZSBkb24ndCBhbHdheXMgbmVlZCB0aGUgcmVzdWx0LCB0aGlzIGlzIG5vdCBpbml0aWFsaXplZCBieSBkZWZhdWx0LCB5b3UgbmVlZCB0byBjYWxsIGBnZXRBcHBsaWNhdGlvblNldHRpbmdzYCB0byBsb2FkIHRoZW0uXG4gICAqL1xuICBhcHBTZXR0aW5ncyQ6IE9ic2VydmFibGU8QXBwU2V0dGluZ3MgfCB1bmRlZmluZWQ+O1xuICAvKipcbiAgICogRW1pdHMgdGhlIGN1cnJlbnQgY29ubmVjdGlvbiBzdGF0ZSBvZiB0aGUgdXNlciAoYG9ubGluZWAgb3IgYG9mZmxpbmVgKVxuICAgKi9cbiAgY29ubmVjdGlvblN0YXRlJDogT2JzZXJ2YWJsZTwnb2ZmbGluZScgfCAnb25saW5lJz47XG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgbGlzdCBvZiBwZW5kaW5nIGludml0ZXMgb2YgdGhlIHVzZXIuIEl0IGVtaXRzIGV2ZXJ5IHBlbmRpbmcgaW52aXRhdGlvbiBkdXJpbmcgaW5pdGlhbGl6YXRpb24gYW5kIHRoZW4gZXh0ZW5kcyB0aGUgbGlzdCB3aGVuIGEgbmV3IGludml0ZSBpcyByZWNlaXZlZC4gTW9yZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gdGhlIFtjaGFubmVsIGludml0YXRpb25zXSguLi9jb2RlLWV4YW1wbGVzL2NoYW5uZWwtaW52aXRlcy5tZHgpIGd1aWRlLlxuICAgKi9cbiAgcGVuZGluZ0ludml0ZXMkOiBPYnNlcnZhYmxlPENoYW5uZWw8VD5bXT47XG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgY3VycmVudCBjaGF0IHVzZXJcbiAgICovXG4gIHVzZXIkOiBPYnNlcnZhYmxlPE93blVzZXJSZXNwb25zZTxUPiB8IFVzZXJSZXNwb25zZTxUPiB8IHVuZGVmaW5lZD47XG4gIHByaXZhdGUgbm90aWZpY2F0aW9uU3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PENsaWVudEV2ZW50PFQ+PigxKTtcbiAgcHJpdmF0ZSBjb25uZWN0aW9uU3RhdGVTdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8J29mZmxpbmUnIHwgJ29ubGluZSc+KDEpO1xuICBwcml2YXRlIGFwcFNldHRpbmdzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXBwU2V0dGluZ3MgfCB1bmRlZmluZWQ+KFxuICAgIHVuZGVmaW5lZFxuICApO1xuICBwcml2YXRlIHBlbmRpbmdJbnZpdGVzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2hhbm5lbDxUPltdPihbXSk7XG4gIHByaXZhdGUgdXNlclN1YmplY3QgPSBuZXcgUmVwbGF5U3ViamVjdDxcbiAgICBPd25Vc2VyUmVzcG9uc2U8VD4gfCBVc2VyUmVzcG9uc2U8VD4gfCB1bmRlZmluZWRcbiAgPigxKTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiB7IHVuc3Vic2NyaWJlOiAoKSA9PiB2b2lkIH1bXSA9IFtdO1xuICBwcml2YXRlIHRyYWNrUGVuZGluZ0NoYW5uZWxJbnZpdGVzID0gdHJ1ZTtcbiAgcHJpdmF0ZSBhcHBTZXR0aW5nc1Byb21pc2U/OiBQcm9taXNlPEFwcFNldHRpbmdzQVBJUmVzcG9uc2U8VD4+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZXZlbnRzJCA9IHRoaXMubm90aWZpY2F0aW9uU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLmNvbm5lY3Rpb25TdGF0ZSQgPSB0aGlzLmNvbm5lY3Rpb25TdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5hcHBTZXR0aW5ncyQgPSB0aGlzLmFwcFNldHRpbmdzU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLnBlbmRpbmdJbnZpdGVzJCA9IHRoaXMucGVuZGluZ0ludml0ZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMudXNlciQgPSB0aGlzLnVzZXJTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBbYFN0cmVhbUNoYXRgXShodHRwczovL2dpdGh1Yi5jb20vR2V0U3RyZWFtL3N0cmVhbS1jaGF0LWpzL2Jsb2IvNjY4YjNlNTUyMTMzOWY0ZTE0ZmM2NTc4MzQ1MzFiNGM4YmY4MTc2Yi9zcmMvY2xpZW50LnRzI0wxMjQpIGluc3RhbmNlIHVzaW5nIHRoZSBwcm92aWRlZCBgYXBpS2V5YCwgYW5kIGNvbm5lY3RzIGEgdXNlciB3aXRoIHRoZSBnaXZlbiBtZXRhIGRhdGEgYW5kIHRva2VuLiBNb3JlIGluZm8gYWJvdXQgW2Nvbm5lY3RpbmcgdXNlcnNdKGh0dHBzOi8vZ2V0c3RyZWFtLmlvL2NoYXQvZG9jcy9qYXZhc2NyaXB0L2luaXRfYW5kX3VzZXJzLz9sYW5ndWFnZT1qYXZhc2NyaXB0KSBjYW4gYmUgZm91bmQgaW4gdGhlIHBsYXRmb3JtIGRvY3VtZW50YXRpb24uXG4gICAqIEBwYXJhbSBhcGlLZXlcbiAgICogQHBhcmFtIHVzZXJPcklkIHlvdSBjYW4gZW1pdCB0aGlzIGZvciBhbm9ueW1vdXMgbG9naW5zXG4gICAqIEBwYXJhbSB1c2VyVG9rZW5PclByb3ZpZGVyIFlvdSBjYW4gcHJvdmlkZTo8dWw+XG4gICAqICA8bGk+IGEgdG9rZW4sIDwvbGk+XG4gICAqICA8bGk+IGEgdG9rZW4gcHJvdmlkZXIsIGEgbWV0aG9kIHRoYXQgcmV0dXJucyBgUHJvbWlzZTxzdHJpbmc+YCwgd2hpY2ggY2FuIGJlIGNhbGxlZCB3aGVuIHRoZSBwcmV2aW91cyB0b2tlbiBleHBpcmVzIChyZWNvbW1lbmRlZCBzZXR1cCBmb3IgcHJvZHVjdGlvbiBhcHBsaWNhdGlvbnMpPC9saT5cbiAgICogIDxsaT4gdGhlIGtleXdvcmQgJ2d1ZXN0JyB0byBjb25uZWN0IGFzIFtndWVzdCB1c2VyXShodHRwczovL2dldHN0cmVhbS5pby9jaGF0L2RvY3MvamF2YXNjcmlwdC9hdXRobGVzc191c2Vycy8/bGFuZ3VhZ2U9amF2YXNjcmlwdCNndWVzdC11c2VycykgPC9saT5cbiAgICogIDxsaT4gdGhlIGtleXdvcmQgJ2Fub255bW91cycgdG8gY29ubmVjdCBhcyBbYW5vbnltb3VzIHVzZXJdKGh0dHBzOi8vZ2V0c3RyZWFtLmlvL2NoYXQvZG9jcy9qYXZhc2NyaXB0L2F1dGhsZXNzX3VzZXJzLz9sYW5ndWFnZT1qYXZhc2NyaXB0I2Fub255bW91cy11c2VycykgPC9saT5cbiAgICogIDwvdWw+XG4gICAqIEBwYXJhbSBjbGllbnRPcHRpb25zIFNldHRpbmcgdG8gcHJvdmlkZSB0byB0aGUgU3RyZWFtIGNsaWVudCBpbnN0YW5jZVxuICAgKi9cbiAgYXN5bmMgaW5pdChcbiAgICBhcGlLZXk6IHN0cmluZyxcbiAgICB1c2VyT3JJZDogc3RyaW5nIHwgT3duVXNlclJlc3BvbnNlPFQ+IHwgVXNlclJlc3BvbnNlPFQ+IHwgdW5kZWZpbmVkLFxuICAgIHVzZXJUb2tlbk9yUHJvdmlkZXI6IFRva2VuT3JQcm92aWRlcixcbiAgICBjbGllbnRPcHRpb25zPzogU3RyZWFtQ2hhdE9wdGlvbnMgJiB7IHRyYWNrUGVuZGluZ0NoYW5uZWxJbnZpdGVzPzogYm9vbGVhbiB9XG4gICk6IENvbm5lY3RBUElSZXNwb25zZTxUPiB7XG4gICAgaWYgKHRoaXMuY2hhdENsaWVudCAmJiB0aGlzLmNoYXRDbGllbnQua2V5ICE9PSBhcGlLZXkpIHtcbiAgICAgIHRoaXMuYXBwU2V0dGluZ3NTdWJqZWN0Lm5leHQodW5kZWZpbmVkKTtcbiAgICAgIHRoaXMuYXBwU2V0dGluZ3NQcm9taXNlID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICB0aGlzLnRyYWNrUGVuZGluZ0NoYW5uZWxJbnZpdGVzID1cbiAgICAgIGNsaWVudE9wdGlvbnM/LnRyYWNrUGVuZGluZ0NoYW5uZWxJbnZpdGVzID09PSB0cnVlO1xuICAgIHRoaXMuY2hhdENsaWVudCA9IFN0cmVhbUNoYXQuZ2V0SW5zdGFuY2U8VD4oYXBpS2V5LCBjbGllbnRPcHRpb25zKTtcbiAgICBjb25zdCBzZGtQcmVmaXggPSAnc3RyZWFtLWNoYXQtYW5ndWxhcic7XG4gICAgaWYgKCF0aGlzLmNoYXRDbGllbnQuZ2V0VXNlckFnZW50KCkuaW5jbHVkZXMoc2RrUHJlZml4KSkge1xuICAgICAgdGhpcy5jaGF0Q2xpZW50LnNldFVzZXJBZ2VudChcbiAgICAgICAgYCR7c2RrUHJlZml4fS0ke3ZlcnNpb259LSR7dGhpcy5jaGF0Q2xpZW50LmdldFVzZXJBZ2VudCgpfWBcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuY2hhdENsaWVudC5yZWNvdmVyU3RhdGVPblJlY29ubmVjdCA9IGZhbHNlO1xuICAgIHRoaXMuY2hhdENsaWVudC5kZXZUb2tlbjtcbiAgICBsZXQgcmVzdWx0O1xuICAgIGF3YWl0IHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHVzZXIgPSB0eXBlb2YgdXNlck9ySWQgPT09ICdzdHJpbmcnID8geyBpZDogdXNlck9ySWQgfSA6IHVzZXJPcklkO1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmVzdWx0ID0gYXdhaXQgKFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGd1ZXN0OiAoKSA9PiB0aGlzLmNoYXRDbGllbnQuc2V0R3Vlc3RVc2VyKHVzZXIhKSxcbiAgICAgICAgICAgIGFub255bW91czogKCkgPT4gdGhpcy5jaGF0Q2xpZW50LmNvbm5lY3RBbm9ueW1vdXNVc2VyKCksXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3Jlc3RyaWN0LXRlbXBsYXRlLWV4cHJlc3Npb25zXG4gICAgICAgICAgfVtgJHt1c2VyVG9rZW5PclByb3ZpZGVyfWBdID8/XG4gICAgICAgICAgKCgpID0+IHRoaXMuY2hhdENsaWVudC5jb25uZWN0VXNlcih1c2VyISwgdXNlclRva2VuT3JQcm92aWRlcikpXG4gICAgICAgICkoKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5hZGRQZXJtYW5lbnROb3RpZmljYXRpb24oXG4gICAgICAgICAgJ3N0cmVhbUNoYXQuRXJyb3IgY29ubmVjdGluZyB0byBjaGF0LCByZWZyZXNoIHRoZSBwYWdlIHRvIHRyeSBhZ2Fpbi4nLFxuICAgICAgICAgICdlcnJvcidcbiAgICAgICAgKTtcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9XG4gICAgICB0aGlzLnVzZXJTdWJqZWN0Lm5leHQoXG4gICAgICAgIHRoaXMuY2hhdENsaWVudC51c2VyID8geyAuLi50aGlzLmNoYXRDbGllbnQudXNlciB9IDogdW5kZWZpbmVkXG4gICAgICApO1xuICAgIH0pO1xuICAgIGlmICh0aGlzLmNoYXRDbGllbnQudXNlcj8uaWQgJiYgdGhpcy50cmFja1BlbmRpbmdDaGFubmVsSW52aXRlcykge1xuICAgICAgY29uc3QgY2hhbm5lbHMgPSBhd2FpdCB0aGlzLmNoYXRDbGllbnQucXVlcnlDaGFubmVscyhcbiAgICAgICAge1xuICAgICAgICAgIGludml0ZTogJ3BlbmRpbmcnLFxuICAgICAgICAgIG1lbWJlcnM6IHsgJGluOiBbdGhpcy5jaGF0Q2xpZW50LnVzZXI/LmlkXSB9LFxuICAgICAgICB9IGFzIHVua25vd24gYXMgQ2hhbm5lbEZpbHRlcnM8VD4gLy8gVE9ETzogZmluZCBvdXQgd2h5IHdlIG5lZWQgdGhpcyB0eXBlY2FzdFxuICAgICAgKTtcbiAgICAgIHRoaXMucGVuZGluZ0ludml0ZXNTdWJqZWN0Lm5leHQoY2hhbm5lbHMpO1xuICAgIH1cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuY2hhdENsaWVudC5vbigoZSkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZVVzZXIoZSk7XG4gICAgICAgIHRoaXMudXBkYXRlUGVuZGluZ0ludml0ZXMoZSk7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uU3ViamVjdC5uZXh0KHtcbiAgICAgICAgICBldmVudFR5cGU6IGUudHlwZSxcbiAgICAgICAgICBldmVudDogZSxcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICk7XG4gICAgbGV0IHJlbW92ZU5vdGlmaWNhdGlvbjogdW5kZWZpbmVkIHwgKCgpID0+IHZvaWQpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jaGF0Q2xpZW50Lm9uKCdjb25uZWN0aW9uLmNoYW5nZWQnLCAoZSkgPT4ge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGlzT25saW5lID0gZS5vbmxpbmU7XG4gICAgICAgICAgaWYgKGlzT25saW5lKSB7XG4gICAgICAgICAgICBpZiAocmVtb3ZlTm90aWZpY2F0aW9uKSB7XG4gICAgICAgICAgICAgIHJlbW92ZU5vdGlmaWNhdGlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZW1vdmVOb3RpZmljYXRpb24gPVxuICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuYWRkUGVybWFuZW50Tm90aWZpY2F0aW9uKFxuICAgICAgICAgICAgICAgICdzdHJlYW1DaGF0LkNvbm5lY3Rpb24gZmFpbHVyZSwgcmVjb25uZWN0aW5nIG5vdy4uLidcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5jb25uZWN0aW9uU3RhdGVTdWJqZWN0Lm5leHQoaXNPbmxpbmUgPyAnb25saW5lJyA6ICdvZmZsaW5lJyk7XG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogRGlzY29ubmVjdHMgdGhlIGN1cnJlbnQgdXNlciwgYW5kIGNsb3NlcyB0aGUgV2ViU29ja2V0IGNvbm5lY3Rpb24uIFVzZWZ1bCB3aGVuIGRpc2Nvbm5lY3RpbmcgYSBjaGF0IHVzZXIsIHVzZSBpbiBjb21iaW5hdGlvbiB3aXRoIFtgcmVzZXRgXSguL0NoYW5uZWxTZXJ2aWNlLm1keC8jcmVzZXQpLlxuICAgKi9cbiAgYXN5bmMgZGlzY29ubmVjdFVzZXIoKSB7XG4gICAgdGhpcy5wZW5kaW5nSW52aXRlc1N1YmplY3QubmV4dChbXSk7XG4gICAgYXdhaXQgdGhpcy5jaGF0Q2xpZW50LmRpc2Nvbm5lY3RVc2VyKCk7XG4gICAgdGhpcy51c2VyU3ViamVjdC5uZXh0KHVuZGVmaW5lZCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHMpID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICAvKipcbiAgICogTG9hZHMgdGhlIGN1cnJlbnQgW2FwcGxpY2F0aW9uIHNldHRpbmdzXShodHRwczovL2dldHN0cmVhbS5pby9jaGF0L2RvY3MvamF2YXNjcmlwdC9hcHBfc2V0dGluZ19vdmVydmlldy8/bGFuZ3VhZ2U9amF2YXNjcmlwdCksIGlmIHRoZSBhcHBsaWNhdGlvbiBzZXR0aW5ncyBoYXZlIGFscmVhZHkgYmVlbiBsb2FkZWQsIGl0IGRvZXMgbm90aGluZy5cbiAgICovXG4gIGFzeW5jIGdldEFwcFNldHRpbmdzKCkge1xuICAgIGlmICh0aGlzLmFwcFNldHRpbmdzUHJvbWlzZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5hcHBTZXR0aW5nc1N1YmplY3QuZ2V0VmFsdWUoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmFwcFNldHRpbmdzUHJvbWlzZSA9IHRoaXMuY2hhdENsaWVudC5nZXRBcHBTZXR0aW5ncygpO1xuICAgIHZvaWQgdGhpcy5hcHBTZXR0aW5nc1Byb21pc2UuZmluYWxseSgoKSA9PiB7XG4gICAgICB0aGlzLmFwcFNldHRpbmdzUHJvbWlzZSA9IHVuZGVmaW5lZDtcbiAgICB9KTtcbiAgICBjb25zdCBzZXR0aW5ncyA9IGF3YWl0IHRoaXMuYXBwU2V0dGluZ3NQcm9taXNlO1xuICAgIHRoaXMuYXBwU2V0dGluZ3NTdWJqZWN0Lm5leHQoKHNldHRpbmdzLmFwcCBhcyBBcHBTZXR0aW5ncykgfHwge30pO1xuICB9XG5cbiAgLyoqXG4gICAqIEZsYWcgdGhlIG1lc3NhZ2Ugd2l0aCB0aGUgZ2l2ZW4gSUQuIElmIHlvdSB3YW50IHRvIGtub3cgW21vcmUgYWJvdXQgZmxhZ3NdKGh0dHBzOi8vZ2V0c3RyZWFtLmlvL2NoYXQvZG9jcy9qYXZhc2NyaXB0L21vZGVyYXRpb24vP2xhbmd1YWdlPWphdmFzY3JpcHQpIGNoZWNrIG91dCB0aGUgcGxhdGZvcm0gZG9jdW1lbnRhdGlvbi5cbiAgICogQHBhcmFtIG1lc3NhZ2VJZFxuICAgKi9cbiAgYXN5bmMgZmxhZ01lc3NhZ2UobWVzc2FnZUlkOiBzdHJpbmcpIHtcbiAgICBhd2FpdCB0aGlzLmNoYXRDbGllbnQuZmxhZ01lc3NhZ2UobWVzc2FnZUlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWFyY2hlcyBmb3IgdXNlcnMgaW4gdGhlIGFwcGxpY2F0aW9uIHRoYXQgaGF2ZSBJRCBvciBuYW1lIG1hdGNoaW5nIHRoZSBwcm92aWRlZCBzZWFyY2ggdGVybVxuICAgKiBAcGFyYW0gc2VhcmNoVGVybVxuICAgKiBAcmV0dXJucyBUaGUgdXNlcnMgbWF0Y2hpbmcgdGhlIHNlYXJjaFxuICAgKi9cbiAgYXN5bmMgYXV0b2NvbXBsZXRlVXNlcnMoc2VhcmNoVGVybTogc3RyaW5nKSB7XG4gICAgaWYgKCFzZWFyY2hUZXJtKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY2hhdENsaWVudC5xdWVyeVVzZXJzKHtcbiAgICAgICRvcjogW1xuICAgICAgICB7IGlkOiB7ICRhdXRvY29tcGxldGU6IHNlYXJjaFRlcm0gfSB9LFxuICAgICAgICB7IG5hbWU6IHsgJGF1dG9jb21wbGV0ZTogc2VhcmNoVGVybSB9IH0sXG4gICAgICBdLFxuICAgIH0gYXMgVXNlckZpbHRlcnM8VD4pOyAvLyBUT0RPOiBmaW5kIG91dCB3aHkgd2UgbmVlZCB0aGlzIHR5cGVjYXN0XG4gICAgcmV0dXJuIHJlc3VsdC51c2Vycy5maWx0ZXIoKHUpID0+IHUuaWQgIT09IHRoaXMuY2hhdENsaWVudD8udXNlcj8uaWQpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVQZW5kaW5nSW52aXRlcyhlOiBFdmVudDxUPikge1xuICAgIGlmICghdGhpcy50cmFja1BlbmRpbmdDaGFubmVsSW52aXRlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoZS5tZW1iZXI/LnVzZXI/LmlkID09PSB0aGlzLmNoYXRDbGllbnQudXNlcj8uaWQgJiYgZS5jaGFubmVsKSB7XG4gICAgICBjb25zdCBwZW5kaW5nSW52aXRlcyA9IHRoaXMucGVuZGluZ0ludml0ZXNTdWJqZWN0LmdldFZhbHVlKCk7XG4gICAgICBpZiAoZS50eXBlID09PSAnbm90aWZpY2F0aW9uLmludml0ZWQnKSB7XG4gICAgICAgIGNvbnN0IGNoYW5uZWwgPSB0aGlzLmNoYXRDbGllbnQuY2hhbm5lbChlLmNoYW5uZWw/LnR5cGUsIGUuY2hhbm5lbD8uaWQpO1xuICAgICAgICB0aGlzLnBlbmRpbmdJbnZpdGVzU3ViamVjdC5uZXh0KFsuLi5wZW5kaW5nSW52aXRlcywgY2hhbm5lbF0pO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgZS50eXBlID09PSAnbm90aWZpY2F0aW9uLmludml0ZV9hY2NlcHRlZCcgfHxcbiAgICAgICAgZS50eXBlID09PSAnbm90aWZpY2F0aW9uLmludml0ZV9yZWplY3RlZCdcbiAgICAgICkge1xuICAgICAgICBjb25zdCBpbmRleCA9IHBlbmRpbmdJbnZpdGVzLmZpbmRJbmRleChcbiAgICAgICAgICAoaSkgPT4gaT8uY2lkID09PSBlLmNoYW5uZWw/LmNpZFxuICAgICAgICApO1xuICAgICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgcGVuZGluZ0ludml0ZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICB0aGlzLnBlbmRpbmdJbnZpdGVzU3ViamVjdC5uZXh0KFsuLi5wZW5kaW5nSW52aXRlc10pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVVc2VyKGU6IEV2ZW50PFQ+KSB7XG4gICAgaWYgKHR5cGVvZiBlLnRvdGFsX3VucmVhZF9jb3VudCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGxldCB1c2VyOiBPd25Vc2VyUmVzcG9uc2U8VD4gfCBVc2VyUmVzcG9uc2U8VD4gfCB1bmRlZmluZWQ7XG4gICAgICB0aGlzLnVzZXJTdWJqZWN0LnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCh1KSA9PiB7XG4gICAgICAgIHVzZXIgPSB1O1xuICAgICAgfSk7XG4gICAgICBpZiAodXNlciAmJiB1c2VyLnRvdGFsX3VucmVhZF9jb3VudCAhPT0gZS50b3RhbF91bnJlYWRfY291bnQpIHtcbiAgICAgICAgdGhpcy51c2VyU3ViamVjdC5uZXh0KHtcbiAgICAgICAgICAuLi51c2VyLFxuICAgICAgICAgIHRvdGFsX3VucmVhZF9jb3VudDogZS50b3RhbF91bnJlYWRfY291bnQsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodHlwZW9mIGUudW5yZWFkX2NoYW5uZWxzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgbGV0IHVzZXI6IE93blVzZXJSZXNwb25zZTxUPiB8IFVzZXJSZXNwb25zZTxUPiB8IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMudXNlclN1YmplY3QucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKHUpID0+IHtcbiAgICAgICAgdXNlciA9IHU7XG4gICAgICB9KTtcbiAgICAgIGlmICh1c2VyICYmIHVzZXIudW5yZWFkX2NoYW5uZWxzICE9PSBlLnVucmVhZF9jaGFubmVscykge1xuICAgICAgICB0aGlzLnVzZXJTdWJqZWN0Lm5leHQoe1xuICAgICAgICAgIC4uLnVzZXIsXG4gICAgICAgICAgdW5yZWFkX2NoYW5uZWxzOiBlLnVucmVhZF9jaGFubmVscyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0eXBlb2YgZS51bnJlYWRfY291bnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBsZXQgdXNlcjogT3duVXNlclJlc3BvbnNlPFQ+IHwgVXNlclJlc3BvbnNlPFQ+IHwgdW5kZWZpbmVkO1xuICAgICAgdGhpcy51c2VyU3ViamVjdC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgodSkgPT4ge1xuICAgICAgICB1c2VyID0gdTtcbiAgICAgIH0pO1xuICAgICAgaWYgKHVzZXIgJiYgdXNlci51bnJlYWRfY291bnQgIT09IGUudW5yZWFkX2NvdW50KSB7XG4gICAgICAgIHRoaXMudXNlclN1YmplY3QubmV4dCh7XG4gICAgICAgICAgLi4udXNlcixcbiAgICAgICAgICB1bnJlYWRfY291bnQ6IGUudW5yZWFkX2NvdW50LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKFxuICAgICAgZS50eXBlID09PSAndXNlci51cGRhdGVkJyAmJlxuICAgICAgdGhpcy5jaGF0Q2xpZW50LnVzZXIgJiZcbiAgICAgIGUudXNlcj8uaWQgPT09IHRoaXMuY2hhdENsaWVudC51c2VyLmlkXG4gICAgKSB7XG4gICAgICB0aGlzLnVzZXJTdWJqZWN0Lm5leHQoeyAuLi50aGlzLmNoYXRDbGllbnQudXNlciB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -20,7 +20,7 @@ import transliterate from '@stream-io/transliterate';
|
|
|
20
20
|
import * as i8$1 from 'angular-mentions';
|
|
21
21
|
import { MentionModule } from 'angular-mentions';
|
|
22
22
|
|
|
23
|
-
const version = '5.1.
|
|
23
|
+
const version = '5.1.1';
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* The `NotificationService` can be used to add or remove notifications. By default the [`NotificationList`](../components/NotificationListComponent.mdx) component displays the currently active notifications.
|
|
@@ -252,9 +252,8 @@ class ChatClientService {
|
|
|
252
252
|
{ id: { $autocomplete: searchTerm } },
|
|
253
253
|
{ name: { $autocomplete: searchTerm } },
|
|
254
254
|
],
|
|
255
|
-
id: { $ne: this.chatClient.userID },
|
|
256
255
|
}); // TODO: find out why we need this typecast
|
|
257
|
-
return result.users;
|
|
256
|
+
return result.users.filter((u) => { var _a, _b; return u.id !== ((_b = (_a = this.chatClient) === null || _a === void 0 ? void 0 : _a.user) === null || _b === void 0 ? void 0 : _b.id); });
|
|
258
257
|
});
|
|
259
258
|
}
|
|
260
259
|
updatePendingInvites(e) {
|
|
@@ -1014,9 +1013,8 @@ class ChannelService {
|
|
|
1014
1013
|
}
|
|
1015
1014
|
const result = yield activeChannel.queryMembers({
|
|
1016
1015
|
name: { $autocomplete: searchTerm },
|
|
1017
|
-
id: { $ne: this.chatClientService.chatClient.userID },
|
|
1018
1016
|
}); // TODO: find out why we need typecast here
|
|
1019
|
-
return
|
|
1017
|
+
return result.members.filter((m) => { var _a, _b; return m.user_id !== ((_b = (_a = this.chatClientService.chatClient) === null || _a === void 0 ? void 0 : _a.user) === null || _b === void 0 ? void 0 : _b.id); });
|
|
1020
1018
|
}
|
|
1021
1019
|
});
|
|
1022
1020
|
}
|