@gomomento/sdk-core 1.90.1 → 1.92.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.
- package/dist/src/auth/credential-provider.d.ts +15 -3
- package/dist/src/auth/credential-provider.js +17 -1
- package/dist/src/clients/ICacheClient.d.ts +3 -1
- package/dist/src/clients/ICacheClient.js +1 -1
- package/dist/src/clients/IMomentoCache.d.ts +3 -1
- package/dist/src/clients/IMomentoCache.js +1 -1
- package/dist/src/clients/IStorageClient.d.ts +13 -0
- package/dist/src/clients/IStorageClient.js +3 -0
- package/dist/src/errors/errors.d.ts +34 -2
- package/dist/src/errors/errors.js +55 -8
- package/dist/src/index.d.ts +8 -3
- package/dist/src/index.js +17 -6
- package/dist/src/internal/clients/cache/AbstractCacheClient.d.ts +23 -1
- package/dist/src/internal/clients/cache/AbstractCacheClient.js +29 -1
- package/dist/src/internal/clients/cache/IDataClient.d.ts +3 -1
- package/dist/src/internal/clients/cache/IDataClient.js +1 -1
- package/dist/src/internal/clients/cache/momento-cache.d.ts +3 -1
- package/dist/src/internal/clients/cache/momento-cache.js +7 -1
- package/dist/src/internal/clients/index.d.ts +1 -0
- package/dist/src/internal/clients/index.js +2 -1
- package/dist/src/internal/clients/pubsub/AbstractPubsubClient.js +2 -2
- package/dist/src/internal/clients/storage/AbstractStorageClient.d.ts +21 -0
- package/dist/src/internal/clients/storage/AbstractStorageClient.js +48 -0
- package/dist/src/internal/clients/storage/IStorageControlClient.d.ts +7 -0
- package/dist/src/internal/clients/storage/IStorageControlClient.js +3 -0
- package/dist/src/internal/clients/storage/IStorageDataClient.d.ts +10 -0
- package/dist/src/internal/clients/storage/IStorageDataClient.js +3 -0
- package/dist/src/internal/clients/storage/index.d.ts +4 -0
- package/dist/src/internal/clients/storage/index.js +21 -0
- package/dist/src/internal/utils/auth.d.ts +2 -0
- package/dist/src/internal/utils/auth.js +7 -1
- package/dist/src/internal/utils/validators.d.ts +1 -0
- package/dist/src/internal/utils/validators.js +8 -2
- package/dist/src/messages/responses/cache-set-contains-element.d.ts +52 -0
- package/dist/src/messages/responses/cache-set-contains-element.js +61 -0
- package/dist/src/messages/responses/cache-set-contains-elements.d.ts +53 -0
- package/dist/src/messages/responses/cache-set-contains-elements.js +70 -0
- package/dist/src/messages/responses/enums/cache/set/index.d.ts +10 -0
- package/dist/src/messages/responses/enums/cache/set/index.js +14 -2
- package/dist/src/messages/responses/enums/index.d.ts +1 -0
- package/dist/src/messages/responses/enums/index.js +2 -1
- package/dist/src/messages/responses/enums/store/control/index.d.ts +13 -0
- package/dist/src/messages/responses/enums/store/control/index.js +20 -0
- package/dist/src/messages/responses/enums/store/index.d.ts +2 -0
- package/dist/src/messages/responses/enums/store/index.js +19 -0
- package/dist/src/messages/responses/enums/store/scalar/index.d.ts +12 -0
- package/dist/src/messages/responses/enums/store/scalar/index.js +19 -0
- package/dist/src/messages/responses/storage/control/create-store.d.ts +34 -0
- package/dist/src/messages/responses/storage/control/create-store.js +43 -0
- package/dist/src/messages/responses/storage/control/delete-store.d.ts +28 -0
- package/dist/src/messages/responses/storage/control/delete-store.js +33 -0
- package/dist/src/messages/responses/storage/control/index.d.ts +3 -0
- package/dist/src/messages/responses/storage/control/index.js +7 -0
- package/dist/src/messages/responses/storage/control/list-stores.d.ts +37 -0
- package/dist/src/messages/responses/storage/control/list-stores.js +45 -0
- package/dist/src/messages/responses/storage/index.d.ts +2 -0
- package/dist/src/messages/responses/storage/index.js +19 -0
- package/dist/src/messages/responses/storage/scalar/index.d.ts +3 -0
- package/dist/src/messages/responses/storage/scalar/index.js +7 -0
- package/dist/src/messages/responses/storage/scalar/storage-delete.d.ts +28 -0
- package/dist/src/messages/responses/storage/scalar/storage-delete.js +33 -0
- package/dist/src/messages/responses/storage/scalar/storage-get.d.ts +71 -0
- package/dist/src/messages/responses/storage/scalar/storage-get.js +86 -0
- package/dist/src/messages/responses/storage/scalar/storage-put.d.ts +28 -0
- package/dist/src/messages/responses/storage/scalar/storage-put.js +33 -0
- package/dist/src/messages/responses/storage/scalar/storage-value.d.ts +61 -0
- package/dist/src/messages/responses/storage/scalar/storage-value.js +87 -0
- package/dist/src/messages/store-info.d.ts +16 -0
- package/dist/src/messages/store-info.js +24 -0
- package/package.json +1 -1
@@ -1,3 +1,3 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSURhdGFDbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaW50ZXJuYWwvY2xpZW50cy9jYWNoZS9JRGF0YUNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2FjaGVEZWxldGUsXG4gIENhY2hlR2V0LFxuICBDYWNoZUluY3JlbWVudCxcbiAgQ2FjaGVTZXQsXG4gIENhY2hlU2V0SWZOb3RFeGlzdHMsXG4gIENhY2hlU2V0RmV0Y2gsXG4gIENhY2hlU2V0QWRkRWxlbWVudHMsXG4gIENhY2hlU2V0UmVtb3ZlRWxlbWVudHMsXG4gIENhY2hlTGlzdEZldGNoLFxuICBDYWNoZUxpc3RMZW5ndGgsXG4gIENhY2hlTGlzdFB1c2hGcm9udCxcbiAgQ2FjaGVMaXN0UHVzaEJhY2ssXG4gIENhY2hlTGlzdENvbmNhdGVuYXRlQmFjayxcbiAgQ2FjaGVMaXN0Q29uY2F0ZW5hdGVGcm9udCxcbiAgQ2FjaGVMaXN0UG9wQmFjayxcbiAgQ2FjaGVMaXN0UG9wRnJvbnQsXG4gIENhY2hlTGlzdFJlbW92ZVZhbHVlLFxuICBDYWNoZUxpc3RSZXRhaW4sXG4gIENhY2hlRGljdGlvbmFyeVNldEZpZWxkLFxuICBDYWNoZURpY3Rpb25hcnlTZXRGaWVsZHMsXG4gIENhY2hlRGljdGlvbmFyeUdldEZpZWxkLFxuICBDYWNoZURpY3Rpb25hcnlGZXRjaCxcbiAgQ2FjaGVEaWN0aW9uYXJ5SW5jcmVtZW50LFxuICBDYWNoZURpY3Rpb25hcnlSZW1vdmVGaWVsZCxcbiAgQ2FjaGVEaWN0aW9uYXJ5UmVtb3ZlRmllbGRzLFxuICBDYWNoZVNvcnRlZFNldEZldGNoLFxuICBDYWNoZVNvcnRlZFNldFB1dEVsZW1lbnQsXG4gIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudHMsXG4gIENhY2hlU29ydGVkU2V0R2V0UmFuayxcbiAgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZSxcbiAgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZXMsXG4gIENhY2hlU29ydGVkU2V0SW5jcmVtZW50U2NvcmUsXG4gIENhY2hlU29ydGVkU2V0UmVtb3ZlRWxlbWVudCxcbiAgQ2FjaGVTb3J0ZWRTZXRMZW5ndGgsXG4gIENhY2hlU29ydGVkU2V0TGVuZ3RoQnlTY29yZSxcbiAgQ29sbGVjdGlvblR0bCxcbiAgU29ydGVkU2V0T3JkZXIsXG4gIENhY2hlSXRlbUdldFR5cGUsXG4gIENhY2hlSXRlbUdldFR0bCxcbiAgQ2FjaGVLZXlFeGlzdHMsXG4gIENhY2hlS2V5c0V4aXN0LFxuICBDYWNoZVVwZGF0ZVR0bCxcbiAgQ2FjaGVJbmNyZWFzZVR0bCxcbiAgQ2FjaGVEZWNyZWFzZVR0bCxcbiAgQ2FjaGVEaWN0aW9uYXJ5TGVuZ3RoLFxuICBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZHMsXG4gIENhY2hlU2V0QmF0Y2gsXG4gIENhY2hlR2V0QmF0Y2gsXG4gIENhY2hlU2V0SWZBYnNlbnQsXG4gIENhY2hlU2V0SWZQcmVzZW50LFxuICBDYWNoZVNldElmRXF1YWwsXG4gIENhY2hlU2V0SWZOb3RFcXVhbCxcbiAgQ2FjaGVTZXRJZlByZXNlbnRBbmROb3RFcXVhbCxcbiAgQ2FjaGVTZXRJZkFic2VudE9yRXF1YWwsXG4gIENhY2hlU2V0U2FtcGxlLFxuICBDYWNoZVNvcnRlZFNldFJlbW92ZUVsZW1lbnRzLFxufSBmcm9tICcuLi8uLi8uLi9pbmRleCc7XG5pbXBvcnQge1xuICBHZXRCYXRjaENhbGxPcHRpb25zLFxuICBHZXRDYWxsT3B0aW9ucyxcbiAgU2V0QmF0Y2hDYWxsT3B0aW9ucyxcbiAgU2V0QmF0Y2hJdGVtLFxuICBTZXRDYWxsT3B0aW9ucyxcbiAgU2V0SWZBYnNlbnRDYWxsT3B0aW9ucyxcbn0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRhQ2xpZW50IHtcbiAgZ2V0KFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIGtleTogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICBvcHRpb25zPzogR2V0Q2FsbE9wdGlvbnNcbiAgKTogUHJvbWlzZTxDYWNoZUdldC5SZXNwb25zZT47XG4gIHNldChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgdmFsdWU6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgb3B0aW9ucz86IFNldENhbGxPcHRpb25zXG4gICk6IFByb21pc2U8Q2FjaGVTZXQuUmVzcG9uc2U+O1xuICBkZWxldGUoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAga2V5OiBzdHJpbmcgfCBVaW50OEFycmF5XG4gICk6IFByb21pc2U8Q2FjaGVEZWxldGUuUmVzcG9uc2U+O1xuICBpbmNyZW1lbnQoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgZmllbGQ6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgYW1vdW50OiBudW1iZXIsXG4gICAgdHRsPzogbnVtYmVyXG4gICk6IFByb21pc2U8Q2FjaGVJbmNyZW1lbnQuUmVzcG9uc2U+O1xuICBzZXRJZk5vdEV4aXN0cyhcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgZmllbGQ6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgdHRsPzogbnVtYmVyXG4gICk6IFByb21pc2U8Q2FjaGVTZXRJZk5vdEV4aXN0cy5SZXNwb25zZT47XG4gIHNldElmQWJzZW50KFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIGtleTogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICBmaWVsZDogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICBvcHRpb25zPzogU2V0SWZBYnNlbnRDYWxsT3B0aW9uc1xuICApOiBQcm9taXNlPENhY2hlU2V0SWZBYnNlbnQuUmVzcG9uc2U+O1xuICBzZXRJZlByZXNlbnQoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAga2V5OiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIGZpZWxkOiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIHR0bD86IG51bWJlclxuICApOiBQcm9taXNlPENhY2hlU2V0SWZQcmVzZW50LlJlc3BvbnNlPjtcbiAgc2V0SWZFcXVhbChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgZmllbGQ6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgZXF1YWw6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgdHRsPzogbnVtYmVyXG4gICk6IFByb21pc2U8Q2FjaGVTZXRJZkVxdWFsLlJlc3BvbnNlPjtcbiAgc2V0SWZOb3RFcXVhbChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgZmllbGQ6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgbm90RXF1YWw6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgdHRsPzogbnVtYmVyXG4gICk6IFByb21pc2U8Q2FjaGVTZXRJZk5vdEVxdWFsLlJlc3BvbnNlPjtcbiAgc2V0SWZQcmVzZW50QW5kTm90RXF1YWwoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAga2V5OiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIGZpZWxkOiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIG5vdEVxdWFsOiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIHR0bD86IG51bWJlclxuICApOiBQcm9taXNlPENhY2hlU2V0SWZQcmVzZW50QW5kTm90RXF1YWwuUmVzcG9uc2U+O1xuICBzZXRJZkFic2VudE9yRXF1YWwoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAga2V5OiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIGZpZWxkOiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIGVxdWFsOiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIHR0bD86IG51bWJlclxuICApOiBQcm9taXNlPENhY2hlU2V0SWZBYnNlbnRPckVxdWFsLlJlc3BvbnNlPjtcbiAgZ2V0QmF0Y2goXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAga2V5czogQXJyYXk8c3RyaW5nIHwgVWludDhBcnJheT4sXG4gICAgb3B0aW9ucz86IEdldEJhdGNoQ2FsbE9wdGlvbnNcbiAgKTogUHJvbWlzZTxDYWNoZUdldEJhdGNoLlJlc3BvbnNlPjtcbiAgc2V0QmF0Y2goXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgaXRlbXM6XG4gICAgICB8IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IFVpbnQ4QXJyYXk+XG4gICAgICB8IE1hcDxzdHJpbmcgfCBVaW50OEFycmF5LCBzdHJpbmcgfCBVaW50OEFycmF5PlxuICAgICAgfCBBcnJheTxTZXRCYXRjaEl0ZW0+LFxuICAgIG9wdGlvbnM/OiBTZXRCYXRjaENhbGxPcHRpb25zXG4gICk6IFByb21pc2U8Q2FjaGVTZXRCYXRjaC5SZXNwb25zZT47XG4gIHNldEZldGNoKGNhY2hlTmFtZTogc3RyaW5nLCBzZXROYW1lOiBzdHJpbmcpOiBQcm9taXNlPENhY2hlU2V0RmV0Y2guUmVzcG9uc2U+O1xuICBzZXRBZGRFbGVtZW50cyhcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBzZXROYW1lOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6IHN0cmluZ1tdIHwgVWludDhBcnJheVtdLFxuICAgIHR0bD86IENvbGxlY3Rpb25UdGxcbiAgKTogUHJvbWlzZTxDYWNoZVNldEFkZEVsZW1lbnRzLlJlc3BvbnNlPjtcbiAgc2V0UmVtb3ZlRWxlbWVudHMoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgc2V0TmFtZTogc3RyaW5nLFxuICAgIGVsZW1lbnRzOiBzdHJpbmdbXSB8IFVpbnQ4QXJyYXlbXVxuICApOiBQcm9taXNlPENhY2hlU2V0UmVtb3ZlRWxlbWVudHMuUmVzcG9uc2U+O1xuICBzZXRTYW1wbGUoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgc2V0TmFtZTogc3RyaW5nLFxuICAgIGxpbWl0OiBudW1iZXJcbiAgKTogUHJvbWlzZTxDYWNoZVNldFNhbXBsZS5SZXNwb25zZT47XG4gIGxpc3RGZXRjaChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBsaXN0TmFtZTogc3RyaW5nLFxuICAgIHN0YXJ0SW5kZXg/OiBudW1iZXIsXG4gICAgZW5kSW5kZXg/OiBudW1iZXJcbiAgKTogUHJvbWlzZTxDYWNoZUxpc3RGZXRjaC5SZXNwb25zZT47XG4gIGxpc3RMZW5ndGgoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgbGlzdE5hbWU6IHN0cmluZ1xuICApOiBQcm9taXNlPENhY2hlTGlzdExlbmd0aC5SZXNwb25zZT47XG4gIGxpc3RQdXNoRnJvbnQoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgbGlzdE5hbWU6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICB0cnVuY2F0ZUJhY2tUb1NpemU/OiBudW1iZXIsXG4gICAgdHRsPzogQ29sbGVjdGlvblR0bFxuICApOiBQcm9taXNlPENhY2hlTGlzdFB1c2hGcm9udC5SZXNwb25zZT47XG4gIGxpc3RQdXNoQmFjayhcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBsaXN0TmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIHRydW5jYXRlRnJvbnRUb1NpemU/OiBudW1iZXIsXG4gICAgdHRsPzogQ29sbGVjdGlvblR0bFxuICApOiBQcm9taXNlPENhY2hlTGlzdFB1c2hCYWNrLlJlc3BvbnNlPjtcbiAgbGlzdENvbmNhdGVuYXRlQmFjayhcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBsaXN0TmFtZTogc3RyaW5nLFxuICAgIHZhbHVlczogc3RyaW5nW10gfCBVaW50OEFycmF5W10sXG4gICAgdHJ1bmNhdGVGcm9udFRvU2l6ZT86IG51bWJlcixcbiAgICB0dGw/OiBDb2xsZWN0aW9uVHRsXG4gICk6IFByb21pc2U8Q2FjaGVMaXN0Q29uY2F0ZW5hdGVCYWNrLlJlc3BvbnNlPjtcbiAgbGlzdENvbmNhdGVuYXRlRnJvbnQoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgbGlzdE5hbWU6IHN0cmluZyxcbiAgICB2YWx1ZXM6IHN0cmluZ1tdIHwgVWludDhBcnJheVtdLFxuICAgIHRydW5jYXRlQmFja1RvU2l6ZT86IG51bWJlcixcbiAgICB0dGw/OiBDb2xsZWN0aW9uVHRsXG4gICk6IFByb21pc2U8Q2FjaGVMaXN0Q29uY2F0ZW5hdGVGcm9udC5SZXNwb25zZT47XG4gIGxpc3RQb3BCYWNrKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIGxpc3ROYW1lOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxDYWNoZUxpc3RQb3BCYWNrLlJlc3BvbnNlPjtcbiAgbGlzdFBvcEZyb250KFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIGxpc3ROYW1lOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxDYWNoZUxpc3RQb3BGcm9udC5SZXNwb25zZT47XG4gIGxpc3RSZW1vdmVWYWx1ZShcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBsaXN0TmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5XG4gICk6IFByb21pc2U8Q2FjaGVMaXN0UmVtb3ZlVmFsdWUuUmVzcG9uc2U+O1xuICBsaXN0UmV0YWluKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIGxpc3ROYW1lOiBzdHJpbmcsXG4gICAgc3RhcnRJbmRleD86IG51bWJlcixcbiAgICBlbmRJbmRleD86IG51bWJlcixcbiAgICB0dGw/OiBDb2xsZWN0aW9uVHRsXG4gICk6IFByb21pc2U8Q2FjaGVMaXN0UmV0YWluLlJlc3BvbnNlPjtcbiAgZGljdGlvbmFyeVNldEZpZWxkKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIGRpY3Rpb25hcnlOYW1lOiBzdHJpbmcsXG4gICAgZmllbGQ6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgdmFsdWU6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgdHRsPzogQ29sbGVjdGlvblR0bFxuICApOiBQcm9taXNlPENhY2hlRGljdGlvbmFyeVNldEZpZWxkLlJlc3BvbnNlPjtcbiAgZGljdGlvbmFyeVNldEZpZWxkcyhcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBkaWN0aW9uYXJ5TmFtZTogc3RyaW5nLFxuICAgIGVsZW1lbnRzOlxuICAgICAgfCBNYXA8c3RyaW5nIHwgVWludDhBcnJheSwgc3RyaW5nIHwgVWludDhBcnJheT5cbiAgICAgIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgVWludDhBcnJheT5cbiAgICAgIHwgQXJyYXk8W3N0cmluZywgc3RyaW5nIHwgVWludDhBcnJheV0+LFxuICAgIHR0bD86IENvbGxlY3Rpb25UdGxcbiAgKTogUHJvbWlzZTxDYWNoZURpY3Rpb25hcnlTZXRGaWVsZHMuUmVzcG9uc2U+O1xuICBkaWN0aW9uYXJ5R2V0RmllbGQoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgZGljdGlvbmFyeU5hbWU6IHN0cmluZyxcbiAgICBmaWVsZDogc3RyaW5nIHwgVWludDhBcnJheVxuICApOiBQcm9taXNlPENhY2hlRGljdGlvbmFyeUdldEZpZWxkLlJlc3BvbnNlPjtcbiAgZGljdGlvbmFyeUdldEZpZWxkcyhcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBkaWN0aW9uYXJ5TmFtZTogc3RyaW5nLFxuICAgIGZpZWxkczogc3RyaW5nW10gfCBVaW50OEFycmF5W11cbiAgKTogUHJvbWlzZTxDYWNoZURpY3Rpb25hcnlHZXRGaWVsZHMuUmVzcG9uc2U+O1xuICBkaWN0aW9uYXJ5RmV0Y2goXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgZGljdGlvbmFyeU5hbWU6IHN0cmluZ1xuICApOiBQcm9taXNlPENhY2hlRGljdGlvbmFyeUZldGNoLlJlc3BvbnNlPjtcbiAgZGljdGlvbmFyeUluY3JlbWVudChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBkaWN0aW9uYXJ5TmFtZTogc3RyaW5nLFxuICAgIGZpZWxkOiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIGFtb3VudD86IG51bWJlcixcbiAgICB0dGw/OiBDb2xsZWN0aW9uVHRsXG4gICk6IFByb21pc2U8Q2FjaGVEaWN0aW9uYXJ5SW5jcmVtZW50LlJlc3BvbnNlPjtcbiAgZGljdGlvbmFyeVJlbW92ZUZpZWxkKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIGRpY3Rpb25hcnlOYW1lOiBzdHJpbmcsXG4gICAgZmllbGQ6IHN0cmluZyB8IFVpbnQ4QXJyYXlcbiAgKTogUHJvbWlzZTxDYWNoZURpY3Rpb25hcnlSZW1vdmVGaWVsZC5SZXNwb25zZT47XG4gIGRpY3Rpb25hcnlSZW1vdmVGaWVsZHMoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgZGljdGlvbmFyeU5hbWU6IHN0cmluZyxcbiAgICBmaWVsZHM6IHN0cmluZ1tdIHwgVWludDhBcnJheVtdXG4gICk6IFByb21pc2U8Q2FjaGVEaWN0aW9uYXJ5UmVtb3ZlRmllbGRzLlJlc3BvbnNlPjtcbiAgZGljdGlvbmFyeUxlbmd0aChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBkaWN0aW9uYXJ5TmFtZTogc3RyaW5nXG4gICk6IFByb21pc2U8Q2FjaGVEaWN0aW9uYXJ5TGVuZ3RoLlJlc3BvbnNlPjtcbiAgc29ydGVkU2V0RmV0Y2hCeVJhbmsoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgc29ydGVkU2V0TmFtZTogc3RyaW5nLFxuICAgIG9yZGVyPzogU29ydGVkU2V0T3JkZXIsXG4gICAgc3RhcnRSYW5rPzogbnVtYmVyLFxuICAgIGVuZFJhbms/OiBudW1iZXJcbiAgKTogUHJvbWlzZTxDYWNoZVNvcnRlZFNldEZldGNoLlJlc3BvbnNlPjtcbiAgc29ydGVkU2V0RmV0Y2hCeVNjb3JlKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHNvcnRlZFNldE5hbWU6IHN0cmluZyxcbiAgICBvcmRlcj86IFNvcnRlZFNldE9yZGVyLFxuICAgIG1pblNjb3JlPzogbnVtYmVyLFxuICAgIG1heFNjb3JlPzogbnVtYmVyLFxuICAgIG9mZnNldD86IG51bWJlcixcbiAgICBjb3VudD86IG51bWJlclxuICApOiBQcm9taXNlPENhY2hlU29ydGVkU2V0RmV0Y2guUmVzcG9uc2U+O1xuICBzb3J0ZWRTZXRQdXRFbGVtZW50KFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHNvcnRlZFNldE5hbWU6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICBzY29yZTogbnVtYmVyLFxuICAgIHR0bD86IENvbGxlY3Rpb25UdGxcbiAgKTogUHJvbWlzZTxDYWNoZVNvcnRlZFNldFB1dEVsZW1lbnQuUmVzcG9uc2U+O1xuICBzb3J0ZWRTZXRQdXRFbGVtZW50cyhcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBzb3J0ZWRTZXROYW1lOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6XG4gICAgICB8IE1hcDxzdHJpbmcgfCBVaW50OEFycmF5LCBudW1iZXI+XG4gICAgICB8IFJlY29yZDxzdHJpbmcsIG51bWJlcj5cbiAgICAgIHwgQXJyYXk8W3N0cmluZywgbnVtYmVyXT4sXG4gICAgdHRsPzogQ29sbGVjdGlvblR0bFxuICApOiBQcm9taXNlPENhY2hlU29ydGVkU2V0UHV0RWxlbWVudHMuUmVzcG9uc2U+O1xuICBzb3J0ZWRTZXRHZXRSYW5rKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHNvcnRlZFNldE5hbWU6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nIHwgVWludDhBcnJheVxuICApOiBQcm9taXNlPENhY2hlU29ydGVkU2V0R2V0UmFuay5SZXNwb25zZT47XG4gIHNvcnRlZFNldEdldFNjb3JlKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHNvcnRlZFNldE5hbWU6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nIHwgVWludDhBcnJheVxuICApOiBQcm9taXNlPENhY2hlU29ydGVkU2V0R2V0U2NvcmUuUmVzcG9uc2U+O1xuICBzb3J0ZWRTZXRHZXRTY29yZXMoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgc29ydGVkU2V0TmFtZTogc3RyaW5nLFxuICAgIHZhbHVlczogc3RyaW5nW10gfCBVaW50OEFycmF5W11cbiAgKTogUHJvbWlzZTxDYWNoZVNvcnRlZFNldEdldFNjb3Jlcy5SZXNwb25zZT47XG4gIHNvcnRlZFNldEluY3JlbWVudFNjb3JlKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHNvcnRlZFNldE5hbWU6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICBhbW91bnQ/OiBudW1iZXIsXG4gICAgdHRsPzogQ29sbGVjdGlvblR0bFxuICApOiBQcm9taXNlPENhY2hlU29ydGVkU2V0SW5jcmVtZW50U2NvcmUuUmVzcG9uc2U+O1xuICBzb3J0ZWRTZXRSZW1vdmVFbGVtZW50KFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHNvcnRlZFNldE5hbWU6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nIHwgVWludDhBcnJheVxuICApOiBQcm9taXNlPENhY2hlU29ydGVkU2V0UmVtb3ZlRWxlbWVudC5SZXNwb25zZT47XG4gIHNvcnRlZFNldFJlbW92ZUVsZW1lbnRzKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHNvcnRlZFNldE5hbWU6IHN0cmluZyxcbiAgICB2YWx1ZXM6IHN0cmluZ1tdIHwgVWludDhBcnJheVtdXG4gICk6IFByb21pc2U8Q2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50cy5SZXNwb25zZT47XG4gIHNvcnRlZFNldExlbmd0aChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBzb3J0ZWRTZXROYW1lOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxDYWNoZVNvcnRlZFNldExlbmd0aC5SZXNwb25zZT47XG4gIHNvcnRlZFNldExlbmd0aEJ5U2NvcmUoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgc29ydGVkU2V0TmFtZTogc3RyaW5nLFxuICAgIG1pblNjb3JlPzogbnVtYmVyLFxuICAgIG1heFNjb3JlPzogbnVtYmVyXG4gICk6IFByb21pc2U8Q2FjaGVTb3J0ZWRTZXRMZW5ndGhCeVNjb3JlLlJlc3BvbnNlPjtcbiAgaXRlbUdldFR5cGUoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAga2V5OiBzdHJpbmcgfCBVaW50OEFycmF5XG4gICk6IFByb21pc2U8Q2FjaGVJdGVtR2V0VHlwZS5SZXNwb25zZT47XG4gIGl0ZW1HZXRUdGwoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAga2V5OiBzdHJpbmcgfCBVaW50OEFycmF5XG4gICk6IFByb21pc2U8Q2FjaGVJdGVtR2V0VHRsLlJlc3BvbnNlPjtcbiAga2V5RXhpc3RzKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIGtleTogc3RyaW5nIHwgVWludDhBcnJheVxuICApOiBQcm9taXNlPENhY2hlS2V5RXhpc3RzLlJlc3BvbnNlPjtcbiAga2V5c0V4aXN0KFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIGtleXM6IHN0cmluZ1tdIHwgVWludDhBcnJheVtdXG4gICk6IFByb21pc2U8Q2FjaGVLZXlzRXhpc3QuUmVzcG9uc2U+O1xuICB1cGRhdGVUdGwoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAga2V5OiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIHR0bE1pbGxpc2Vjb25kczogbnVtYmVyXG4gICk6IFByb21pc2U8Q2FjaGVVcGRhdGVUdGwuUmVzcG9uc2U+O1xuICBpbmNyZWFzZVR0bChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgdHRsTWlsbGlzZWNvbmRzOiBudW1iZXJcbiAgKTogUHJvbWlzZTxDYWNoZUluY3JlYXNlVHRsLlJlc3BvbnNlPjtcbiAgZGVjcmVhc2VUdGwoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAga2V5OiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIHR0bE1pbGxpc2Vjb25kczogbnVtYmVyXG4gICk6IFByb21pc2U8Q2FjaGVEZWNyZWFzZVR0bC5SZXNwb25zZT47XG4gIGNsb3NlKCk6IHZvaWQ7XG59XG4iXX0=
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSURhdGFDbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaW50ZXJuYWwvY2xpZW50cy9jYWNoZS9JRGF0YUNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2FjaGVEZWxldGUsXG4gIENhY2hlR2V0LFxuICBDYWNoZUluY3JlbWVudCxcbiAgQ2FjaGVTZXQsXG4gIENhY2hlU2V0SWZOb3RFeGlzdHMsXG4gIENhY2hlU2V0RmV0Y2gsXG4gIENhY2hlU2V0QWRkRWxlbWVudHMsXG4gIENhY2hlU2V0Q29udGFpbnNFbGVtZW50LFxuICBDYWNoZVNldENvbnRhaW5zRWxlbWVudHMsXG4gIENhY2hlU2V0UmVtb3ZlRWxlbWVudHMsXG4gIENhY2hlTGlzdEZldGNoLFxuICBDYWNoZUxpc3RMZW5ndGgsXG4gIENhY2hlTGlzdFB1c2hGcm9udCxcbiAgQ2FjaGVMaXN0UHVzaEJhY2ssXG4gIENhY2hlTGlzdENvbmNhdGVuYXRlQmFjayxcbiAgQ2FjaGVMaXN0Q29uY2F0ZW5hdGVGcm9udCxcbiAgQ2FjaGVMaXN0UG9wQmFjayxcbiAgQ2FjaGVMaXN0UG9wRnJvbnQsXG4gIENhY2hlTGlzdFJlbW92ZVZhbHVlLFxuICBDYWNoZUxpc3RSZXRhaW4sXG4gIENhY2hlRGljdGlvbmFyeVNldEZpZWxkLFxuICBDYWNoZURpY3Rpb25hcnlTZXRGaWVsZHMsXG4gIENhY2hlRGljdGlvbmFyeUdldEZpZWxkLFxuICBDYWNoZURpY3Rpb25hcnlGZXRjaCxcbiAgQ2FjaGVEaWN0aW9uYXJ5SW5jcmVtZW50LFxuICBDYWNoZURpY3Rpb25hcnlSZW1vdmVGaWVsZCxcbiAgQ2FjaGVEaWN0aW9uYXJ5UmVtb3ZlRmllbGRzLFxuICBDYWNoZVNvcnRlZFNldEZldGNoLFxuICBDYWNoZVNvcnRlZFNldFB1dEVsZW1lbnQsXG4gIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudHMsXG4gIENhY2hlU29ydGVkU2V0R2V0UmFuayxcbiAgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZSxcbiAgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZXMsXG4gIENhY2hlU29ydGVkU2V0SW5jcmVtZW50U2NvcmUsXG4gIENhY2hlU29ydGVkU2V0UmVtb3ZlRWxlbWVudCxcbiAgQ2FjaGVTb3J0ZWRTZXRMZW5ndGgsXG4gIENhY2hlU29ydGVkU2V0TGVuZ3RoQnlTY29yZSxcbiAgQ29sbGVjdGlvblR0bCxcbiAgU29ydGVkU2V0T3JkZXIsXG4gIENhY2hlSXRlbUdldFR5cGUsXG4gIENhY2hlSXRlbUdldFR0bCxcbiAgQ2FjaGVLZXlFeGlzdHMsXG4gIENhY2hlS2V5c0V4aXN0LFxuICBDYWNoZVVwZGF0ZVR0bCxcbiAgQ2FjaGVJbmNyZWFzZVR0bCxcbiAgQ2FjaGVEZWNyZWFzZVR0bCxcbiAgQ2FjaGVEaWN0aW9uYXJ5TGVuZ3RoLFxuICBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZHMsXG4gIENhY2hlU2V0QmF0Y2gsXG4gIENhY2hlR2V0QmF0Y2gsXG4gIENhY2hlU2V0SWZBYnNlbnQsXG4gIENhY2hlU2V0SWZQcmVzZW50LFxuICBDYWNoZVNldElmRXF1YWwsXG4gIENhY2hlU2V0SWZOb3RFcXVhbCxcbiAgQ2FjaGVTZXRJZlByZXNlbnRBbmROb3RFcXVhbCxcbiAgQ2FjaGVTZXRJZkFic2VudE9yRXF1YWwsXG4gIENhY2hlU2V0U2FtcGxlLFxuICBDYWNoZVNvcnRlZFNldFJlbW92ZUVsZW1lbnRzLFxufSBmcm9tICcuLi8uLi8uLi9pbmRleCc7XG5pbXBvcnQge1xuICBHZXRCYXRjaENhbGxPcHRpb25zLFxuICBHZXRDYWxsT3B0aW9ucyxcbiAgU2V0QmF0Y2hDYWxsT3B0aW9ucyxcbiAgU2V0QmF0Y2hJdGVtLFxuICBTZXRDYWxsT3B0aW9ucyxcbiAgU2V0SWZBYnNlbnRDYWxsT3B0aW9ucyxcbn0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRhQ2xpZW50IHtcbiAgZ2V0KFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIGtleTogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICBvcHRpb25zPzogR2V0Q2FsbE9wdGlvbnNcbiAgKTogUHJvbWlzZTxDYWNoZUdldC5SZXNwb25zZT47XG4gIHNldChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgdmFsdWU6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgb3B0aW9ucz86IFNldENhbGxPcHRpb25zXG4gICk6IFByb21pc2U8Q2FjaGVTZXQuUmVzcG9uc2U+O1xuICBkZWxldGUoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAga2V5OiBzdHJpbmcgfCBVaW50OEFycmF5XG4gICk6IFByb21pc2U8Q2FjaGVEZWxldGUuUmVzcG9uc2U+O1xuICBpbmNyZW1lbnQoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgZmllbGQ6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgYW1vdW50OiBudW1iZXIsXG4gICAgdHRsPzogbnVtYmVyXG4gICk6IFByb21pc2U8Q2FjaGVJbmNyZW1lbnQuUmVzcG9uc2U+O1xuICBzZXRJZk5vdEV4aXN0cyhcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgZmllbGQ6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgdHRsPzogbnVtYmVyXG4gICk6IFByb21pc2U8Q2FjaGVTZXRJZk5vdEV4aXN0cy5SZXNwb25zZT47XG4gIHNldElmQWJzZW50KFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIGtleTogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICBmaWVsZDogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICBvcHRpb25zPzogU2V0SWZBYnNlbnRDYWxsT3B0aW9uc1xuICApOiBQcm9taXNlPENhY2hlU2V0SWZBYnNlbnQuUmVzcG9uc2U+O1xuICBzZXRJZlByZXNlbnQoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAga2V5OiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIGZpZWxkOiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIHR0bD86IG51bWJlclxuICApOiBQcm9taXNlPENhY2hlU2V0SWZQcmVzZW50LlJlc3BvbnNlPjtcbiAgc2V0SWZFcXVhbChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgZmllbGQ6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgZXF1YWw6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgdHRsPzogbnVtYmVyXG4gICk6IFByb21pc2U8Q2FjaGVTZXRJZkVxdWFsLlJlc3BvbnNlPjtcbiAgc2V0SWZOb3RFcXVhbChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgZmllbGQ6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgbm90RXF1YWw6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgdHRsPzogbnVtYmVyXG4gICk6IFByb21pc2U8Q2FjaGVTZXRJZk5vdEVxdWFsLlJlc3BvbnNlPjtcbiAgc2V0SWZQcmVzZW50QW5kTm90RXF1YWwoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAga2V5OiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIGZpZWxkOiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIG5vdEVxdWFsOiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIHR0bD86IG51bWJlclxuICApOiBQcm9taXNlPENhY2hlU2V0SWZQcmVzZW50QW5kTm90RXF1YWwuUmVzcG9uc2U+O1xuICBzZXRJZkFic2VudE9yRXF1YWwoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAga2V5OiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIGZpZWxkOiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIGVxdWFsOiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIHR0bD86IG51bWJlclxuICApOiBQcm9taXNlPENhY2hlU2V0SWZBYnNlbnRPckVxdWFsLlJlc3BvbnNlPjtcbiAgZ2V0QmF0Y2goXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAga2V5czogQXJyYXk8c3RyaW5nIHwgVWludDhBcnJheT4sXG4gICAgb3B0aW9ucz86IEdldEJhdGNoQ2FsbE9wdGlvbnNcbiAgKTogUHJvbWlzZTxDYWNoZUdldEJhdGNoLlJlc3BvbnNlPjtcbiAgc2V0QmF0Y2goXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgaXRlbXM6XG4gICAgICB8IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IFVpbnQ4QXJyYXk+XG4gICAgICB8IE1hcDxzdHJpbmcgfCBVaW50OEFycmF5LCBzdHJpbmcgfCBVaW50OEFycmF5PlxuICAgICAgfCBBcnJheTxTZXRCYXRjaEl0ZW0+LFxuICAgIG9wdGlvbnM/OiBTZXRCYXRjaENhbGxPcHRpb25zXG4gICk6IFByb21pc2U8Q2FjaGVTZXRCYXRjaC5SZXNwb25zZT47XG4gIHNldEZldGNoKGNhY2hlTmFtZTogc3RyaW5nLCBzZXROYW1lOiBzdHJpbmcpOiBQcm9taXNlPENhY2hlU2V0RmV0Y2guUmVzcG9uc2U+O1xuICBzZXRBZGRFbGVtZW50cyhcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBzZXROYW1lOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6IHN0cmluZ1tdIHwgVWludDhBcnJheVtdLFxuICAgIHR0bD86IENvbGxlY3Rpb25UdGxcbiAgKTogUHJvbWlzZTxDYWNoZVNldEFkZEVsZW1lbnRzLlJlc3BvbnNlPjtcbiAgc2V0Q29udGFpbnNFbGVtZW50KFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHNldE5hbWU6IHN0cmluZyxcbiAgICBlbGVtZW50OiBzdHJpbmcgfCBVaW50OEFycmF5XG4gICk6IFByb21pc2U8Q2FjaGVTZXRDb250YWluc0VsZW1lbnQuUmVzcG9uc2U+O1xuICBzZXRDb250YWluc0VsZW1lbnRzKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHNldE5hbWU6IHN0cmluZyxcbiAgICBlbGVtZW50czogc3RyaW5nW10gfCBVaW50OEFycmF5W11cbiAgKTogUHJvbWlzZTxDYWNoZVNldENvbnRhaW5zRWxlbWVudHMuUmVzcG9uc2U+O1xuICBzZXRSZW1vdmVFbGVtZW50cyhcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBzZXROYW1lOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6IHN0cmluZ1tdIHwgVWludDhBcnJheVtdXG4gICk6IFByb21pc2U8Q2FjaGVTZXRSZW1vdmVFbGVtZW50cy5SZXNwb25zZT47XG4gIHNldFNhbXBsZShcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBzZXROYW1lOiBzdHJpbmcsXG4gICAgbGltaXQ6IG51bWJlclxuICApOiBQcm9taXNlPENhY2hlU2V0U2FtcGxlLlJlc3BvbnNlPjtcbiAgbGlzdEZldGNoKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIGxpc3ROYW1lOiBzdHJpbmcsXG4gICAgc3RhcnRJbmRleD86IG51bWJlcixcbiAgICBlbmRJbmRleD86IG51bWJlclxuICApOiBQcm9taXNlPENhY2hlTGlzdEZldGNoLlJlc3BvbnNlPjtcbiAgbGlzdExlbmd0aChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBsaXN0TmFtZTogc3RyaW5nXG4gICk6IFByb21pc2U8Q2FjaGVMaXN0TGVuZ3RoLlJlc3BvbnNlPjtcbiAgbGlzdFB1c2hGcm9udChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBsaXN0TmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIHRydW5jYXRlQmFja1RvU2l6ZT86IG51bWJlcixcbiAgICB0dGw/OiBDb2xsZWN0aW9uVHRsXG4gICk6IFByb21pc2U8Q2FjaGVMaXN0UHVzaEZyb250LlJlc3BvbnNlPjtcbiAgbGlzdFB1c2hCYWNrKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIGxpc3ROYW1lOiBzdHJpbmcsXG4gICAgdmFsdWU6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgdHJ1bmNhdGVGcm9udFRvU2l6ZT86IG51bWJlcixcbiAgICB0dGw/OiBDb2xsZWN0aW9uVHRsXG4gICk6IFByb21pc2U8Q2FjaGVMaXN0UHVzaEJhY2suUmVzcG9uc2U+O1xuICBsaXN0Q29uY2F0ZW5hdGVCYWNrKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIGxpc3ROYW1lOiBzdHJpbmcsXG4gICAgdmFsdWVzOiBzdHJpbmdbXSB8IFVpbnQ4QXJyYXlbXSxcbiAgICB0cnVuY2F0ZUZyb250VG9TaXplPzogbnVtYmVyLFxuICAgIHR0bD86IENvbGxlY3Rpb25UdGxcbiAgKTogUHJvbWlzZTxDYWNoZUxpc3RDb25jYXRlbmF0ZUJhY2suUmVzcG9uc2U+O1xuICBsaXN0Q29uY2F0ZW5hdGVGcm9udChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBsaXN0TmFtZTogc3RyaW5nLFxuICAgIHZhbHVlczogc3RyaW5nW10gfCBVaW50OEFycmF5W10sXG4gICAgdHJ1bmNhdGVCYWNrVG9TaXplPzogbnVtYmVyLFxuICAgIHR0bD86IENvbGxlY3Rpb25UdGxcbiAgKTogUHJvbWlzZTxDYWNoZUxpc3RDb25jYXRlbmF0ZUZyb250LlJlc3BvbnNlPjtcbiAgbGlzdFBvcEJhY2soXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgbGlzdE5hbWU6IHN0cmluZ1xuICApOiBQcm9taXNlPENhY2hlTGlzdFBvcEJhY2suUmVzcG9uc2U+O1xuICBsaXN0UG9wRnJvbnQoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgbGlzdE5hbWU6IHN0cmluZ1xuICApOiBQcm9taXNlPENhY2hlTGlzdFBvcEZyb250LlJlc3BvbnNlPjtcbiAgbGlzdFJlbW92ZVZhbHVlKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIGxpc3ROYW1lOiBzdHJpbmcsXG4gICAgdmFsdWU6IHN0cmluZyB8IFVpbnQ4QXJyYXlcbiAgKTogUHJvbWlzZTxDYWNoZUxpc3RSZW1vdmVWYWx1ZS5SZXNwb25zZT47XG4gIGxpc3RSZXRhaW4oXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgbGlzdE5hbWU6IHN0cmluZyxcbiAgICBzdGFydEluZGV4PzogbnVtYmVyLFxuICAgIGVuZEluZGV4PzogbnVtYmVyLFxuICAgIHR0bD86IENvbGxlY3Rpb25UdGxcbiAgKTogUHJvbWlzZTxDYWNoZUxpc3RSZXRhaW4uUmVzcG9uc2U+O1xuICBkaWN0aW9uYXJ5U2V0RmllbGQoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgZGljdGlvbmFyeU5hbWU6IHN0cmluZyxcbiAgICBmaWVsZDogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICB2YWx1ZTogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICB0dGw/OiBDb2xsZWN0aW9uVHRsXG4gICk6IFByb21pc2U8Q2FjaGVEaWN0aW9uYXJ5U2V0RmllbGQuUmVzcG9uc2U+O1xuICBkaWN0aW9uYXJ5U2V0RmllbGRzKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIGRpY3Rpb25hcnlOYW1lOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6XG4gICAgICB8IE1hcDxzdHJpbmcgfCBVaW50OEFycmF5LCBzdHJpbmcgfCBVaW50OEFycmF5PlxuICAgICAgfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBVaW50OEFycmF5PlxuICAgICAgfCBBcnJheTxbc3RyaW5nLCBzdHJpbmcgfCBVaW50OEFycmF5XT4sXG4gICAgdHRsPzogQ29sbGVjdGlvblR0bFxuICApOiBQcm9taXNlPENhY2hlRGljdGlvbmFyeVNldEZpZWxkcy5SZXNwb25zZT47XG4gIGRpY3Rpb25hcnlHZXRGaWVsZChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBkaWN0aW9uYXJ5TmFtZTogc3RyaW5nLFxuICAgIGZpZWxkOiBzdHJpbmcgfCBVaW50OEFycmF5XG4gICk6IFByb21pc2U8Q2FjaGVEaWN0aW9uYXJ5R2V0RmllbGQuUmVzcG9uc2U+O1xuICBkaWN0aW9uYXJ5R2V0RmllbGRzKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIGRpY3Rpb25hcnlOYW1lOiBzdHJpbmcsXG4gICAgZmllbGRzOiBzdHJpbmdbXSB8IFVpbnQ4QXJyYXlbXVxuICApOiBQcm9taXNlPENhY2hlRGljdGlvbmFyeUdldEZpZWxkcy5SZXNwb25zZT47XG4gIGRpY3Rpb25hcnlGZXRjaChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBkaWN0aW9uYXJ5TmFtZTogc3RyaW5nXG4gICk6IFByb21pc2U8Q2FjaGVEaWN0aW9uYXJ5RmV0Y2guUmVzcG9uc2U+O1xuICBkaWN0aW9uYXJ5SW5jcmVtZW50KFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIGRpY3Rpb25hcnlOYW1lOiBzdHJpbmcsXG4gICAgZmllbGQ6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgYW1vdW50PzogbnVtYmVyLFxuICAgIHR0bD86IENvbGxlY3Rpb25UdGxcbiAgKTogUHJvbWlzZTxDYWNoZURpY3Rpb25hcnlJbmNyZW1lbnQuUmVzcG9uc2U+O1xuICBkaWN0aW9uYXJ5UmVtb3ZlRmllbGQoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgZGljdGlvbmFyeU5hbWU6IHN0cmluZyxcbiAgICBmaWVsZDogc3RyaW5nIHwgVWludDhBcnJheVxuICApOiBQcm9taXNlPENhY2hlRGljdGlvbmFyeVJlbW92ZUZpZWxkLlJlc3BvbnNlPjtcbiAgZGljdGlvbmFyeVJlbW92ZUZpZWxkcyhcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBkaWN0aW9uYXJ5TmFtZTogc3RyaW5nLFxuICAgIGZpZWxkczogc3RyaW5nW10gfCBVaW50OEFycmF5W11cbiAgKTogUHJvbWlzZTxDYWNoZURpY3Rpb25hcnlSZW1vdmVGaWVsZHMuUmVzcG9uc2U+O1xuICBkaWN0aW9uYXJ5TGVuZ3RoKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIGRpY3Rpb25hcnlOYW1lOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxDYWNoZURpY3Rpb25hcnlMZW5ndGguUmVzcG9uc2U+O1xuICBzb3J0ZWRTZXRGZXRjaEJ5UmFuayhcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBzb3J0ZWRTZXROYW1lOiBzdHJpbmcsXG4gICAgb3JkZXI/OiBTb3J0ZWRTZXRPcmRlcixcbiAgICBzdGFydFJhbms/OiBudW1iZXIsXG4gICAgZW5kUmFuaz86IG51bWJlclxuICApOiBQcm9taXNlPENhY2hlU29ydGVkU2V0RmV0Y2guUmVzcG9uc2U+O1xuICBzb3J0ZWRTZXRGZXRjaEJ5U2NvcmUoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgc29ydGVkU2V0TmFtZTogc3RyaW5nLFxuICAgIG9yZGVyPzogU29ydGVkU2V0T3JkZXIsXG4gICAgbWluU2NvcmU/OiBudW1iZXIsXG4gICAgbWF4U2NvcmU/OiBudW1iZXIsXG4gICAgb2Zmc2V0PzogbnVtYmVyLFxuICAgIGNvdW50PzogbnVtYmVyXG4gICk6IFByb21pc2U8Q2FjaGVTb3J0ZWRTZXRGZXRjaC5SZXNwb25zZT47XG4gIHNvcnRlZFNldFB1dEVsZW1lbnQoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgc29ydGVkU2V0TmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIHNjb3JlOiBudW1iZXIsXG4gICAgdHRsPzogQ29sbGVjdGlvblR0bFxuICApOiBQcm9taXNlPENhY2hlU29ydGVkU2V0UHV0RWxlbWVudC5SZXNwb25zZT47XG4gIHNvcnRlZFNldFB1dEVsZW1lbnRzKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHNvcnRlZFNldE5hbWU6IHN0cmluZyxcbiAgICBlbGVtZW50czpcbiAgICAgIHwgTWFwPHN0cmluZyB8IFVpbnQ4QXJyYXksIG51bWJlcj5cbiAgICAgIHwgUmVjb3JkPHN0cmluZywgbnVtYmVyPlxuICAgICAgfCBBcnJheTxbc3RyaW5nLCBudW1iZXJdPixcbiAgICB0dGw/OiBDb2xsZWN0aW9uVHRsXG4gICk6IFByb21pc2U8Q2FjaGVTb3J0ZWRTZXRQdXRFbGVtZW50cy5SZXNwb25zZT47XG4gIHNvcnRlZFNldEdldFJhbmsoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgc29ydGVkU2V0TmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5XG4gICk6IFByb21pc2U8Q2FjaGVTb3J0ZWRTZXRHZXRSYW5rLlJlc3BvbnNlPjtcbiAgc29ydGVkU2V0R2V0U2NvcmUoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgc29ydGVkU2V0TmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5XG4gICk6IFByb21pc2U8Q2FjaGVTb3J0ZWRTZXRHZXRTY29yZS5SZXNwb25zZT47XG4gIHNvcnRlZFNldEdldFNjb3JlcyhcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBzb3J0ZWRTZXROYW1lOiBzdHJpbmcsXG4gICAgdmFsdWVzOiBzdHJpbmdbXSB8IFVpbnQ4QXJyYXlbXVxuICApOiBQcm9taXNlPENhY2hlU29ydGVkU2V0R2V0U2NvcmVzLlJlc3BvbnNlPjtcbiAgc29ydGVkU2V0SW5jcmVtZW50U2NvcmUoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgc29ydGVkU2V0TmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIGFtb3VudD86IG51bWJlcixcbiAgICB0dGw/OiBDb2xsZWN0aW9uVHRsXG4gICk6IFByb21pc2U8Q2FjaGVTb3J0ZWRTZXRJbmNyZW1lbnRTY29yZS5SZXNwb25zZT47XG4gIHNvcnRlZFNldFJlbW92ZUVsZW1lbnQoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgc29ydGVkU2V0TmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5XG4gICk6IFByb21pc2U8Q2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50LlJlc3BvbnNlPjtcbiAgc29ydGVkU2V0UmVtb3ZlRWxlbWVudHMoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgc29ydGVkU2V0TmFtZTogc3RyaW5nLFxuICAgIHZhbHVlczogc3RyaW5nW10gfCBVaW50OEFycmF5W11cbiAgKTogUHJvbWlzZTxDYWNoZVNvcnRlZFNldFJlbW92ZUVsZW1lbnRzLlJlc3BvbnNlPjtcbiAgc29ydGVkU2V0TGVuZ3RoKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHNvcnRlZFNldE5hbWU6IHN0cmluZ1xuICApOiBQcm9taXNlPENhY2hlU29ydGVkU2V0TGVuZ3RoLlJlc3BvbnNlPjtcbiAgc29ydGVkU2V0TGVuZ3RoQnlTY29yZShcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBzb3J0ZWRTZXROYW1lOiBzdHJpbmcsXG4gICAgbWluU2NvcmU/OiBudW1iZXIsXG4gICAgbWF4U2NvcmU/OiBudW1iZXJcbiAgKTogUHJvbWlzZTxDYWNoZVNvcnRlZFNldExlbmd0aEJ5U2NvcmUuUmVzcG9uc2U+O1xuICBpdGVtR2V0VHlwZShcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXlcbiAgKTogUHJvbWlzZTxDYWNoZUl0ZW1HZXRUeXBlLlJlc3BvbnNlPjtcbiAgaXRlbUdldFR0bChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXlcbiAgKTogUHJvbWlzZTxDYWNoZUl0ZW1HZXRUdGwuUmVzcG9uc2U+O1xuICBrZXlFeGlzdHMoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAga2V5OiBzdHJpbmcgfCBVaW50OEFycmF5XG4gICk6IFByb21pc2U8Q2FjaGVLZXlFeGlzdHMuUmVzcG9uc2U+O1xuICBrZXlzRXhpc3QoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAga2V5czogc3RyaW5nW10gfCBVaW50OEFycmF5W11cbiAgKTogUHJvbWlzZTxDYWNoZUtleXNFeGlzdC5SZXNwb25zZT47XG4gIHVwZGF0ZVR0bChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgdHRsTWlsbGlzZWNvbmRzOiBudW1iZXJcbiAgKTogUHJvbWlzZTxDYWNoZVVwZGF0ZVR0bC5SZXNwb25zZT47XG4gIGluY3JlYXNlVHRsKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIGtleTogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICB0dGxNaWxsaXNlY29uZHM6IG51bWJlclxuICApOiBQcm9taXNlPENhY2hlSW5jcmVhc2VUdGwuUmVzcG9uc2U+O1xuICBkZWNyZWFzZVR0bChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgdHRsTWlsbGlzZWNvbmRzOiBudW1iZXJcbiAgKTogUHJvbWlzZTxDYWNoZURlY3JlYXNlVHRsLlJlc3BvbnNlPjtcbiAgY2xvc2UoKTogdm9pZDtcbn1cbiJdfQ==
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { CacheDelete, CacheGet, CacheIncrement, CacheSet, CacheSetIfNotExists, CacheSetIfAbsent, CacheSetIfPresent, CacheSetIfEqual, CacheSetIfNotEqual, CacheSetIfPresentAndNotEqual, CacheSetIfAbsentOrEqual, CacheSetFetch, CacheSetAddElements, CacheSetAddElement, CacheSetRemoveElements, CacheSetRemoveElement, CacheListFetch, CacheListLength, CacheListPushFront, CacheListPushBack, CacheListConcatenateBack, CacheListConcatenateFront, CacheListPopBack, CacheListPopFront, CacheListRemoveValue, CacheListRetain, CacheDictionarySetField, CacheDictionarySetFields, CacheDictionaryGetField, CacheDictionaryFetch, CacheDictionaryIncrement, CacheDictionaryRemoveField, CacheDictionaryRemoveFields, CacheSortedSetFetch, CacheSortedSetPutElement, CacheSortedSetPutElements, CacheSortedSetGetRank, CacheSortedSetGetScore, CacheSortedSetGetScores, CacheSortedSetIncrementScore, CacheSortedSetRemoveElement, CacheSortedSetLength, CacheSortedSetLengthByScore, CacheItemGetType, CacheItemGetTtl, CacheKeyExists, CacheKeysExist, CacheUpdateTtl, CacheIncreaseTtl, CacheDecreaseTtl, ICacheClient, CacheSortedSetRemoveElements, CacheDictionaryGetFields, CacheDictionaryLength, CacheGetBatch, CacheSetBatch, CacheSetSample } from '../../../index';
|
1
|
+
import { CacheDelete, CacheGet, CacheIncrement, CacheSet, CacheSetIfNotExists, CacheSetIfAbsent, CacheSetIfPresent, CacheSetIfEqual, CacheSetIfNotEqual, CacheSetIfPresentAndNotEqual, CacheSetIfAbsentOrEqual, CacheSetFetch, CacheSetAddElements, CacheSetAddElement, CacheSetContainsElement, CacheSetContainsElements, CacheSetRemoveElements, CacheSetRemoveElement, CacheListFetch, CacheListLength, CacheListPushFront, CacheListPushBack, CacheListConcatenateBack, CacheListConcatenateFront, CacheListPopBack, CacheListPopFront, CacheListRemoveValue, CacheListRetain, CacheDictionarySetField, CacheDictionarySetFields, CacheDictionaryGetField, CacheDictionaryFetch, CacheDictionaryIncrement, CacheDictionaryRemoveField, CacheDictionaryRemoveFields, CacheSortedSetFetch, CacheSortedSetPutElement, CacheSortedSetPutElements, CacheSortedSetGetRank, CacheSortedSetGetScore, CacheSortedSetGetScores, CacheSortedSetIncrementScore, CacheSortedSetRemoveElement, CacheSortedSetLength, CacheSortedSetLengthByScore, CacheItemGetType, CacheItemGetTtl, CacheKeyExists, CacheKeysExist, CacheUpdateTtl, CacheIncreaseTtl, CacheDecreaseTtl, ICacheClient, CacheSortedSetRemoveElements, CacheDictionaryGetFields, CacheDictionaryLength, CacheGetBatch, CacheSetBatch, CacheSetSample } from '../../../index';
|
2
2
|
import { ScalarCallOptions, ListFetchCallOptions, ListRetainCallOptions, BackTruncatableCallOptions, FrontTruncatableCallOptions, CollectionCallOptions, SortedSetFetchByRankCallOptions, SortedSetFetchByScoreCallOptions, SortedSetLengthByScoreCallOptions, SetBatchItem } from '../../../utils';
|
3
3
|
import { IMomentoCache } from '../../../clients/IMomentoCache';
|
4
4
|
export type SetOptions = ScalarCallOptions;
|
@@ -46,6 +46,8 @@ export declare class MomentoCache implements IMomentoCache {
|
|
46
46
|
setFetch(setName: string): Promise<CacheSetFetch.Response>;
|
47
47
|
setAddElement(setName: string, element: string | Uint8Array, options?: SetAddElementOptions): Promise<CacheSetAddElement.Response>;
|
48
48
|
setAddElements(setName: string, elements: string[] | Uint8Array[], options?: SetAddElementsOptions): Promise<CacheSetAddElements.Response>;
|
49
|
+
setContainsElement(setName: string, element: string | Uint8Array): Promise<CacheSetContainsElement.Response>;
|
50
|
+
setContainsElements(setName: string, elements: string[] | Uint8Array[]): Promise<CacheSetContainsElements.Response>;
|
49
51
|
setRemoveElement(setName: string, element: string | Uint8Array): Promise<CacheSetRemoveElement.Response>;
|
50
52
|
setRemoveElements(setName: string, elements: string[] | Uint8Array[]): Promise<CacheSetRemoveElements.Response>;
|
51
53
|
setSample(setName: string, limit: number): Promise<CacheSetSample.Response>;
|
@@ -54,6 +54,12 @@ class MomentoCache {
|
|
54
54
|
setAddElements(setName, elements, options) {
|
55
55
|
return this.cacheClient.setAddElements(this.cacheName, setName, elements, options);
|
56
56
|
}
|
57
|
+
setContainsElement(setName, element) {
|
58
|
+
return this.cacheClient.setContainsElement(this.cacheName, setName, element);
|
59
|
+
}
|
60
|
+
setContainsElements(setName, elements) {
|
61
|
+
return this.cacheClient.setContainsElements(this.cacheName, setName, elements);
|
62
|
+
}
|
57
63
|
setRemoveElement(setName, element) {
|
58
64
|
return this.cacheClient.setRemoveElement(this.cacheName, setName, element);
|
59
65
|
}
|
@@ -182,4 +188,4 @@ class MomentoCache {
|
|
182
188
|
}
|
183
189
|
}
|
184
190
|
exports.MomentoCache = MomentoCache;
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9tZW50by1jYWNoZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC9jbGllbnRzL2NhY2hlL21vbWVudG8tY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBb0dBLE1BQWEsWUFBWTtJQUd2QixZQUFZLFdBQXlCLEVBQUUsU0FBaUI7UUFDdEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUF3QjtRQUMxQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUNELEdBQUcsQ0FDRCxHQUF3QixFQUN4QixLQUEwQixFQUMxQixPQUFvQjtRQUVwQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBQ0QsTUFBTSxDQUFDLEdBQXdCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsU0FBUyxDQUNQLEtBQTBCLEVBQzFCLE1BQWMsRUFDZCxPQUEwQjtRQUUxQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBQ0QsY0FBYyxDQUNaLEdBQXdCLEVBQ3hCLEtBQTBCLEVBQzFCLE9BQStCO1FBRS9CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMs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Q0FBQyxDQUFDO0lBQzVFLENBQUM7SUFDRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQixDQUFDO0NBQ0Y7QUExZUQsb0NBMGVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2FjaGVEZWxldGUsXG4gIENhY2hlR2V0LFxuICBDYWNoZUluY3JlbWVudCxcbiAgQ2FjaGVTZXQsXG4gIENhY2hlU2V0SWZOb3RFeGlzdHMsXG4gIENhY2hlU2V0SWZBYnNlbnQsXG4gIENhY2hlU2V0SWZQcmVzZW50LFxuICBDYWNoZVNldElmRXF1YWwsXG4gIENhY2hlU2V0SWZOb3RFcXVhbCxcbiAgQ2FjaGVTZXRJZlByZXNlbnRBbmROb3RFcXVhbCxcbiAgQ2FjaGVTZXRJZkFic2VudE9yRXF1YWwsXG4gIENhY2hlU2V0RmV0Y2gsXG4gIENhY2hlU2V0QWRkRWxlbWVudHMsXG4gIENhY2hlU2V0QWRkRWxlbWVudCxcbiAgQ2FjaGVTZXRSZW1vdmVFbGVtZW50cyxcbiAgQ2FjaGVTZXRSZW1vdmVFbGVtZW50LFxuICBDYWNoZUxpc3RGZXRjaCxcbiAgQ2FjaGVMaXN0TGVuZ3RoLFxuICBDYWNoZUxpc3RQdXNoRnJvbnQsXG4gIENhY2hlTGlzdFB1c2hCYWNrLFxuICBDYWNoZUxpc3RDb25jYXRlbmF0ZUJhY2ssXG4gIENhY2hlTGlzdENvbmNhdGVuYXRlRnJvbnQsXG4gIENhY2hlTGlzdFBvcEJhY2ssXG4gIENhY2hlTGlzdFBvcEZyb250LFxuICBDYWNoZUxpc3RSZW1vdmVWYWx1ZSxcbiAgQ2FjaGVMaXN0UmV0YWluLFxuICBDYWNoZURpY3Rpb25hcnlTZXRGaWVsZCxcbiAgQ2FjaGVEaWN0aW9uYXJ5U2V0RmllbGRzLFxuICBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZCxcbiAgQ2FjaGVEaWN0aW9uYXJ5RmV0Y2gsXG4gIENhY2hlRGljdGlvbmFyeUluY3JlbWVudCxcbiAgQ2FjaGVEaWN0aW9uYXJ5UmVtb3ZlRmllbGQsXG4gIENhY2hlRGljdGlvbmFyeVJlbW92ZUZpZWxkcyxcbiAgQ2FjaGVTb3J0ZWRTZXRGZXRjaCxcbiAgQ2FjaGVTb3J0ZWRTZXRQdXRFbGVtZW50LFxuICBDYWNoZVNvcnRlZFNldFB1dEVsZW1lbnRzLFxuICBDYWNoZVNvcnRlZFNldEdldFJhbmssXG4gIENhY2hlU29ydGVkU2V0R2V0U2NvcmUsXG4gIENhY2hlU29ydGVkU2V0R2V0U2NvcmVzLFxuICBDYWNoZVNvcnRlZFNldEluY3JlbWVudFNjb3JlLFxuICBDYWNoZVNvcnRlZFNldFJlbW92ZUVsZW1lbnQsXG4gIENhY2hlU29ydGVkU2V0TGVuZ3RoLFxuICBDYWNoZVNvcnRlZFNldExlbmd0aEJ5U2NvcmUsXG4gIENhY2hlSXRlbUdldFR5cGUsXG4gIENhY2hlSXRlbUdldFR0bCxcbiAgQ2FjaGVLZXlFeGlzdHMsXG4gIENhY2hlS2V5c0V4aXN0LFxuICBDYWNoZVVwZGF0ZVR0bCxcbiAgQ2FjaGVJbmNyZWFzZVR0bCxcbiAgQ2FjaGVEZWNyZWFzZVR0bCxcbiAgSUNhY2hlQ2xpZW50LFxuICBDYWNoZVNvcnRlZFNldFJlbW92ZUVsZW1lbnRzLFxuICBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZHMsXG4gIENhY2hlRGljdGlvbmFyeUxlbmd0aCxcbiAgQ2FjaGVHZXRCYXRjaCxcbiAgQ2FjaGVTZXRCYXRjaCxcbiAgQ2FjaGVTZXRTYW1wbGUsXG59IGZyb20gJy4uLy4uLy4uL2luZGV4JztcbmltcG9ydCB7XG4gIFNjYWxhckNhbGxPcHRpb25zLFxuICBMaXN0RmV0Y2hDYWxsT3B0aW9ucyxcbiAgTGlzdFJldGFpbkNhbGxPcHRpb25zLFxuICBCYWNrVHJ1bmNhdGFibGVDYWxsT3B0aW9ucyxcbiAgRnJvbnRUcnVuY2F0YWJsZUNhbGxPcHRpb25zLFxuICBDb2xsZWN0aW9uQ2FsbE9wdGlvbnMsXG4gIFNvcnRlZFNldEZldGNoQnlSYW5rQ2FsbE9wdGlvbnMsXG4gIFNvcnRlZFNldEZldGNoQnlTY29yZUNhbGxPcHRpb25zLFxuICBTb3J0ZWRTZXRMZW5ndGhCeVNjb3JlQ2FsbE9wdGlvbnMsXG4gIFNldEJhdGNoSXRlbSxcbn0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHtJTW9tZW50b0NhY2hlfSBmcm9tICcuLi8uLi8uLi9jbGllbnRzL0lNb21lbnRvQ2FjaGUnO1xuXG4vLyBUeXBlIGFsaWFzZXMgdG8gZGlmZmVyZW50aWF0ZSB0aGUgZGlmZmVyZW50IG1ldGhvZHMnIG9wdGlvbmFsIGFyZ3VtZW50cy5cbmV4cG9ydCB0eXBlIFNldE9wdGlvbnMgPSBTY2FsYXJDYWxsT3B0aW9ucztcbmV4cG9ydCB0eXBlIFNldElmTm90RXhpc3RzT3B0aW9ucyA9IFNjYWxhckNhbGxPcHRpb25zO1xuZXhwb3J0IHR5cGUgU2V0SWZBYnNlbnRPcHRpb25zID0gU2NhbGFyQ2FsbE9wdGlvbnM7XG5leHBvcnQgdHlwZSBTZXRJZlByZXNlbnRPcHRpb25zID0gU2NhbGFyQ2FsbE9wdGlvbnM7XG5leHBvcnQgdHlwZSBTZXRJZkVxdWFsT3B0aW9ucyA9IFNjYWxhckNhbGxPcHRpb25zO1xuZXhwb3J0IHR5cGUgU2V0SWZOb3RFcXVhbE9wdGlvbnMgPSBTY2FsYXJDYWxsT3B0aW9ucztcbmV4cG9ydCB0eXBlIFNldElmUHJlc2VudEFuZE5vdEVxdWFsT3B0aW9ucyA9IFNjYWxhckNhbGxPcHRpb25zO1xuZXhwb3J0IHR5cGUgU2V0SWZBYnNlbnRPckVxdWFsT3B0aW9ucyA9IFNjYWxhckNhbGxPcHRpb25zO1xuZXhwb3J0IHR5cGUgU2V0QmF0Y2hPcHRpb25zID0gU2NhbGFyQ2FsbE9wdGlvbnM7XG5leHBvcnQgdHlwZSBMaXN0Q29uY2F0ZW5hdGVCYWNrT3B0aW9ucyA9IEZyb250VHJ1bmNhdGFibGVDYWxsT3B0aW9ucztcbmV4cG9ydCB0eXBlIExpc3RDb25jYXRlbmF0ZUZyb250T3B0aW9ucyA9IEJhY2tUcnVuY2F0YWJsZUNhbGxPcHRpb25zO1xuZXhwb3J0IHR5cGUgTGlzdFB1c2hCYWNrT3B0aW9ucyA9IEZyb250VHJ1bmNhdGFibGVDYWxsT3B0aW9ucztcbmV4cG9ydCB0eXBlIExpc3RQdXNoRnJvbnRPcHRpb25zID0gQmFja1RydW5jYXRhYmxlQ2FsbE9wdGlvbnM7XG5leHBvcnQgdHlwZSBTZXRBZGRFbGVtZW50T3B0aW9ucyA9IENvbGxlY3Rpb25DYWxsT3B0aW9ucztcbmV4cG9ydCB0eXBlIFNldEFkZEVsZW1lbnRzT3B0aW9ucyA9IENvbGxlY3Rpb25DYWxsT3B0aW9ucztcbmV4cG9ydCB0eXBlIERpY3Rpb25hcnlTZXRGaWVsZE9wdGlvbnMgPSBDb2xsZWN0aW9uQ2FsbE9wdGlvbnM7XG5leHBvcnQgdHlwZSBEaWN0aW9uYXJ5U2V0RmllbGRzT3B0aW9ucyA9IENvbGxlY3Rpb25DYWxsT3B0aW9ucztcbmV4cG9ydCB0eXBlIERpY3Rpb25hcnlJbmNyZW1lbnRPcHRpb25zID0gQ29sbGVjdGlvbkNhbGxPcHRpb25zO1xuZXhwb3J0IHR5cGUgSW5jcmVtZW50T3B0aW9ucyA9IFNjYWxhckNhbGxPcHRpb25zO1xuZXhwb3J0IHR5cGUgU29ydGVkU2V0UHV0RWxlbWVudE9wdGlvbnMgPSBDb2xsZWN0aW9uQ2FsbE9wdGlvbnM7XG5leHBvcnQgdHlwZSBTb3J0ZWRTZXRQdXRFbGVtZW50c09wdGlvbnMgPSBDb2xsZWN0aW9uQ2FsbE9wdGlvbnM7XG5leHBvcnQgdHlwZSBTb3J0ZWRTZXRGZXRjaEJ5UmFua09wdGlvbnMgPSBTb3J0ZWRTZXRGZXRjaEJ5UmFua0NhbGxPcHRpb25zO1xuZXhwb3J0IHR5cGUgU29ydGVkU2V0RmV0Y2hCeVNjb3JlT3B0aW9ucyA9IFNvcnRlZFNldEZldGNoQnlTY29yZUNhbGxPcHRpb25zO1xuZXhwb3J0IHR5cGUgU29ydGVkU2V0SW5jcmVtZW50T3B0aW9ucyA9IENvbGxlY3Rpb25DYWxsT3B0aW9ucztcbmV4cG9ydCB0eXBlIFNvcnRlZFNldExlbmd0aEJ5U2NvcmVPcHRpb25zID0gU29ydGVkU2V0TGVuZ3RoQnlTY29yZUNhbGxPcHRpb25zO1xuXG5leHBvcnQgY2xhc3MgTW9tZW50b0NhY2hlIGltcGxlbWVudHMgSU1vbWVudG9DYWNoZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2FjaGVDbGllbnQ6IElDYWNoZUNsaWVudDtcbiAgcHJpdmF0ZSByZWFkb25seSBjYWNoZU5hbWU6IHN0cmluZztcbiAgY29uc3RydWN0b3IoY2FjaGVDbGllbnQ6IElDYWNoZUNsaWVudCwgY2FjaGVOYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNhY2hlQ2xpZW50ID0gY2FjaGVDbGllbnQ7XG4gICAgdGhpcy5jYWNoZU5hbWUgPSBjYWNoZU5hbWU7XG4gIH1cblxuICBnZXQoa2V5OiBzdHJpbmcgfCBVaW50OEFycmF5KTogUHJvbWlzZTxDYWNoZUdldC5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LmdldCh0aGlzLmNhY2hlTmFtZSwga2V5KTtcbiAgfVxuICBzZXQoXG4gICAga2V5OiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIG9wdGlvbnM/OiBTZXRPcHRpb25zXG4gICk6IFByb21pc2U8Q2FjaGVTZXQuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5zZXQodGhpcy5jYWNoZU5hbWUsIGtleSwgdmFsdWUsIG9wdGlvbnMpO1xuICB9XG4gIGRlbGV0ZShrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXkpOiBQcm9taXNlPENhY2hlRGVsZXRlLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuZGVsZXRlKHRoaXMuY2FjaGVOYW1lLCBrZXkpO1xuICB9XG4gIGluY3JlbWVudChcbiAgICBmaWVsZDogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICBhbW91bnQ6IG51bWJlcixcbiAgICBvcHRpb25zPzogSW5jcmVtZW50T3B0aW9uc1xuICApOiBQcm9taXNlPENhY2hlSW5jcmVtZW50LlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuaW5jcmVtZW50KHRoaXMuY2FjaGVOYW1lLCBmaWVsZCwgYW1vdW50LCBvcHRpb25zKTtcbiAgfVxuICBzZXRJZk5vdEV4aXN0cyhcbiAgICBrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgZmllbGQ6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgb3B0aW9ucz86IFNldElmTm90RXhpc3RzT3B0aW9uc1xuICApOiBQcm9taXNlPENhY2hlU2V0SWZOb3RFeGlzdHMuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5zZXRJZk5vdEV4aXN0cyh0aGlzLmNhY2hlTmFtZSwga2V5LCBmaWVsZCwgb3B0aW9ucyk7XG4gIH1cbiAgc2V0SWZBYnNlbnQoXG4gICAga2V5OiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIGZpZWxkOiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIG9wdGlvbnM/OiBTZXRJZkFic2VudE9wdGlvbnNcbiAgKTogUHJvbWlzZTxDYWNoZVNldElmQWJzZW50LlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuc2V0SWZBYnNlbnQodGhpcy5jYWNoZU5hbWUsIGtleSwgZmllbGQsIG9wdGlvbnMpO1xuICB9XG4gIHNldElmUHJlc2VudChcbiAgICBrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgdmFsdWU6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgb3B0aW9ucz86IFNldElmUHJlc2VudE9wdGlvbnNcbiAgKTogUHJvbWlzZTxDYWNoZVNldElmUHJlc2VudC5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LnNldElmUHJlc2VudCh0aGlzLmNhY2hlTmFtZSwga2V5LCB2YWx1ZSwgb3B0aW9ucyk7XG4gIH1cbiAgc2V0SWZFcXVhbChcbiAgICBrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgdmFsdWU6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgZXF1YWw6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgb3B0aW9ucz86IFNldElmRXF1YWxPcHRpb25zXG4gICk6IFByb21pc2U8Q2FjaGVTZXRJZkVxdWFsLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuc2V0SWZFcXVhbChcbiAgICAgIHRoaXMuY2FjaGVOYW1lLFxuICAgICAga2V5LFxuICAgICAgdmFsdWUsXG4gICAgICBlcXVhbCxcbiAgICAgIG9wdGlvbnNcbiAgICApO1xuICB9XG4gIHNldElmTm90RXF1YWwoXG4gICAga2V5OiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIG5vdEVxdWFsOiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIG9wdGlvbnM/OiBTZXRJZk5vdEVxdWFsT3B0aW9uc1xuICApOiBQcm9taXNlPENhY2hlU2V0SWZOb3RFcXVhbC5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LnNldElmTm90RXF1YWwoXG4gICAgICB0aGlzLmNhY2hlTmFtZSxcbiAgICAgIGtleSxcbiAgICAgIHZhbHVlLFxuICAgICAgbm90RXF1YWwsXG4gICAgICBvcHRpb25zXG4gICAgKTtcbiAgfVxuICBzZXRJZlByZXNlbnRBbmROb3RFcXVhbChcbiAgICBrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgdmFsdWU6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgbm90RXF1YWw6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgb3B0aW9ucz86IFNldElmUHJlc2VudEFuZE5vdEVxdWFsT3B0aW9uc1xuICApOiBQcm9taXNlPENhY2hlU2V0SWZQcmVzZW50QW5kTm90RXF1YWwuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5zZXRJZlByZXNlbnRBbmROb3RFcXVhbChcbiAgICAgIHRoaXMuY2FjaGVOYW1lLFxuICAgICAga2V5LFxuICAgICAgdmFsdWUsXG4gICAgICBub3RFcXVhbCxcbiAgICAgIG9wdGlvbnNcbiAgICApO1xuICB9XG4gIHNldElmQWJzZW50T3JFcXVhbChcbiAgICBrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgdmFsdWU6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgZXF1YWw6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgb3B0aW9ucz86IFNldElmQWJzZW50T3JFcXVhbE9wdGlvbnNcbiAgKTogUHJvbWlzZTxDYWNoZVNldElmQWJzZW50T3JFcXVhbC5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LnNldElmQWJzZW50T3JFcXVhbChcbiAgICAgIHRoaXMuY2FjaGVOYW1lLFxuICAgICAga2V5LFxuICAgICAgdmFsdWUsXG4gICAgICBlcXVhbCxcbiAgICAgIG9wdGlvbnNcbiAgICApO1xuICB9XG4gIGdldEJhdGNoKGtleXM6IHN0cmluZ1tdIHwgVWludDhBcnJheVtdKTogUHJvbWlzZTxDYWNoZUdldEJhdGNoLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuZ2V0QmF0Y2godGhpcy5jYWNoZU5hbWUsIGtleXMpO1xuICB9XG4gIHNldEJhdGNoKFxuICAgIGl0ZW1zOlxuICAgICAgfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBVaW50OEFycmF5PlxuICAgICAgfCBNYXA8c3RyaW5nIHwgVWludDhBcnJheSwgc3RyaW5nIHwgVWludDhBcnJheT5cbiAgICAgIHwgQXJyYXk8U2V0QmF0Y2hJdGVtPixcbiAgICBvcHRpb25zPzogU2V0QmF0Y2hPcHRpb25zXG4gICk6IFByb21pc2U8Q2FjaGVTZXRCYXRjaC5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LnNldEJhdGNoKHRoaXMuY2FjaGVOYW1lLCBpdGVtcywgb3B0aW9ucyk7XG4gIH1cbiAgc2V0RmV0Y2goc2V0TmFtZTogc3RyaW5nKTogUHJvbWlzZTxDYWNoZVNldEZldGNoLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuc2V0RmV0Y2godGhpcy5jYWNoZU5hbWUsIHNldE5hbWUpO1xuICB9XG4gIHNldEFkZEVsZW1lbnQoXG4gICAgc2V0TmFtZTogc3RyaW5nLFxuICAgIGVsZW1lbnQ6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgb3B0aW9ucz86IFNldEFkZEVsZW1lbnRPcHRpb25zXG4gICk6IFByb21pc2U8Q2FjaGVTZXRBZGRFbGVtZW50LlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuc2V0QWRkRWxlbWVudChcbiAgICAgIHRoaXMuY2FjaGVOYW1lLFxuICAgICAgc2V0TmFtZSxcbiAgICAgIGVsZW1lbnQsXG4gICAgICBvcHRpb25zXG4gICAgKTtcbiAgfVxuICBzZXRBZGRFbGVtZW50cyhcbiAgICBzZXROYW1lOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6IHN0cmluZ1tdIHwgVWludDhBcnJheVtdLFxuICAgIG9wdGlvbnM/OiBTZXRBZGRFbGVtZW50c09wdGlvbnNcbiAgKTogUHJvbWlzZTxDYWNoZVNldEFkZEVsZW1lbnRzLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuc2V0QWRkRWxlbWVudHMoXG4gICAgICB0aGlzLmNhY2hlTmFtZSxcbiAgICAgIHNldE5hbWUsXG4gICAgICBlbGVtZW50cyxcbiAgICAgIG9wdGlvbnNcbiAgICApO1xuICB9XG4gIHNldFJlbW92ZUVsZW1lbnQoXG4gICAgc2V0TmFtZTogc3RyaW5nLFxuICAgIGVsZW1lbnQ6IHN0cmluZyB8IFVpbnQ4QXJyYXlcbiAgKTogUHJvbWlzZTxDYWNoZVNldFJlbW92ZUVsZW1lbnQuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5zZXRSZW1vdmVFbGVtZW50KHRoaXMuY2FjaGVOYW1lLCBzZXROYW1lLCBlbGVtZW50KTtcbiAgfVxuICBzZXRSZW1vdmVFbGVtZW50cyhcbiAgICBzZXROYW1lOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6IHN0cmluZ1tdIHwgVWludDhBcnJheVtdXG4gICk6IFByb21pc2U8Q2FjaGVTZXRSZW1vdmVFbGVtZW50cy5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LnNldFJlbW92ZUVsZW1lbnRzKFxuICAgICAgdGhpcy5jYWNoZU5hbWUsXG4gICAgICBzZXROYW1lLFxuICAgICAgZWxlbWVudHNcbiAgICApO1xuICB9XG4gIHNldFNhbXBsZShzZXROYW1lOiBzdHJpbmcsIGxpbWl0OiBudW1iZXIpOiBQcm9taXNlPENhY2hlU2V0U2FtcGxlLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuc2V0U2FtcGxlKHRoaXMuY2FjaGVOYW1lLCBzZXROYW1lLCBsaW1pdCk7XG4gIH1cbiAgbGlzdEZldGNoKFxuICAgIGxpc3ROYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IExpc3RGZXRjaENhbGxPcHRpb25zXG4gICk6IFByb21pc2U8Q2FjaGVMaXN0RmV0Y2guUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5saXN0RmV0Y2godGhpcy5jYWNoZU5hbWUsIGxpc3ROYW1lLCBvcHRpb25zKTtcbiAgfVxuICBsaXN0TGVuZ3RoKGxpc3ROYW1lOiBzdHJpbmcpOiBQcm9taXNlPENhY2hlTGlzdExlbmd0aC5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50Lmxpc3RMZW5ndGgodGhpcy5jYWNoZU5hbWUsIGxpc3ROYW1lKTtcbiAgfVxuICBsaXN0UHVzaEZyb250KFxuICAgIGxpc3ROYW1lOiBzdHJpbmcsXG4gICAgdmFsdWU6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgb3B0aW9ucz86IExpc3RQdXNoRnJvbnRPcHRpb25zXG4gICk6IFByb21pc2U8Q2FjaGVMaXN0UHVzaEZyb250LlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQubGlzdFB1c2hGcm9udChcbiAgICAgIHRoaXMuY2FjaGVOYW1lLFxuICAgICAgbGlzdE5hbWUsXG4gICAgICB2YWx1ZSxcbiAgICAgIG9wdGlvbnNcbiAgICApO1xuICB9XG4gIGxpc3RQdXNoQmFjayhcbiAgICBsaXN0TmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIG9wdGlvbnM/OiBMaXN0UHVzaEJhY2tPcHRpb25zXG4gICk6IFByb21pc2U8Q2FjaGVMaXN0UHVzaEJhY2suUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5saXN0UHVzaEJhY2soXG4gICAgICB0aGlzLmNhY2hlTmFtZSxcbiAgICAgIGxpc3ROYW1lLFxuICAgICAgdmFsdWUsXG4gICAgICBvcHRpb25zXG4gICAgKTtcbiAgfVxuICBsaXN0Q29uY2F0ZW5hdGVCYWNrKFxuICAgIGxpc3ROYW1lOiBzdHJpbmcsXG4gICAgdmFsdWVzOiBzdHJpbmdbXSB8IFVpbnQ4QXJyYXlbXSxcbiAgICBvcHRpb25zPzogTGlzdENvbmNhdGVuYXRlQmFja09wdGlvbnNcbiAgKTogUHJvbWlzZTxDYWNoZUxpc3RDb25jYXRlbmF0ZUJhY2suUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5saXN0Q29uY2F0ZW5hdGVCYWNrKFxuICAgICAgdGhpcy5jYWNoZU5hbWUsXG4gICAgICBsaXN0TmFtZSxcbiAgICAgIHZhbHVlcyxcbiAgICAgIG9wdGlvbnNcbiAgICApO1xuICB9XG4gIGxpc3RDb25jYXRlbmF0ZUZyb250KFxuICAgIGxpc3ROYW1lOiBzdHJpbmcsXG4gICAgdmFsdWVzOiBzdHJpbmdbXSB8IFVpbnQ4QXJyYXlbXSxcbiAgICBvcHRpb25zPzogTGlzdENvbmNhdGVuYXRlRnJvbnRPcHRpb25zXG4gICk6IFByb21pc2U8Q2FjaGVMaXN0Q29uY2F0ZW5hdGVGcm9udC5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50Lmxpc3RDb25jYXRlbmF0ZUZyb250KFxuICAgICAgdGhpcy5jYWNoZU5hbWUsXG4gICAgICBsaXN0TmFtZSxcbiAgICAgIHZhbHVlcyxcbiAgICAgIG9wdGlvbnNcbiAgICApO1xuICB9XG4gIGxpc3RQb3BCYWNrKGxpc3ROYW1lOiBzdHJpbmcpOiBQcm9taXNlPENhY2hlTGlzdFBvcEJhY2suUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5saXN0UG9wQmFjayh0aGlzLmNhY2hlTmFtZSwgbGlzdE5hbWUpO1xuICB9XG4gIGxpc3RQb3BGcm9udChsaXN0TmFtZTogc3RyaW5nKTogUHJvbWlzZTxDYWNoZUxpc3RQb3BGcm9udC5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50Lmxpc3RQb3BGcm9udCh0aGlzLmNhY2hlTmFtZSwgbGlzdE5hbWUpO1xuICB9XG4gIGxpc3RSZW1vdmVWYWx1ZShcbiAgICBsaXN0TmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5XG4gICk6IFByb21pc2U8Q2FjaGVMaXN0UmVtb3ZlVmFsdWUuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5saXN0UmVtb3ZlVmFsdWUodGhpcy5jYWNoZU5hbWUsIGxpc3ROYW1lLCB2YWx1ZSk7XG4gIH1cbiAgbGlzdFJldGFpbihcbiAgICBsaXN0TmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBMaXN0UmV0YWluQ2FsbE9wdGlvbnNcbiAgKTogUHJvbWlzZTxDYWNoZUxpc3RSZXRhaW4uUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5saXN0UmV0YWluKHRoaXMuY2FjaGVOYW1lLCBsaXN0TmFtZSwgb3B0aW9ucyk7XG4gIH1cbiAgZGljdGlvbmFyeVNldEZpZWxkKFxuICAgIGRpY3Rpb25hcnlOYW1lOiBzdHJpbmcsXG4gICAgZmllbGQ6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgdmFsdWU6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgb3B0aW9ucz86IERpY3Rpb25hcnlTZXRGaWVsZE9wdGlvbnNcbiAgKTogUHJvbWlzZTxDYWNoZURpY3Rpb25hcnlTZXRGaWVsZC5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LmRpY3Rpb25hcnlTZXRGaWVsZChcbiAgICAgIHRoaXMuY2FjaGVOYW1lLFxuICAgICAgZGljdGlvbmFyeU5hbWUsXG4gICAgICBmaWVsZCxcbiAgICAgIHZhbHVlLFxuICAgICAgb3B0aW9uc1xuICAgICk7XG4gIH1cbiAgZGljdGlvbmFyeVNldEZpZWxkcyhcbiAgICBkaWN0aW9uYXJ5TmFtZTogc3RyaW5nLFxuICAgIGVsZW1lbnRzOlxuICAgICAgfCBNYXA8c3RyaW5nIHwgVWludDhBcnJheSwgc3RyaW5nIHwgVWludDhBcnJheT5cbiAgICAgIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgVWludDhBcnJheT4sXG4gICAgb3B0aW9ucz86IERpY3Rpb25hcnlTZXRGaWVsZHNPcHRpb25zXG4gICk6IFByb21pc2U8Q2FjaGVEaWN0aW9uYXJ5U2V0RmllbGRzLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuZGljdGlvbmFyeVNldEZpZWxkcyhcbiAgICAgIHRoaXMuY2FjaGVOYW1lLFxuICAgICAgZGljdGlvbmFyeU5hbWUsXG4gICAgICBlbGVtZW50cyxcbiAgICAgIG9wdGlvbnNcbiAgICApO1xuICB9XG4gIGRpY3Rpb25hcnlHZXRGaWVsZChcbiAgICBkaWN0aW9uYXJ5TmFtZTogc3RyaW5nLFxuICAgIGZpZWxkOiBzdHJpbmcgfCBVaW50OEFycmF5XG4gICk6IFByb21pc2U8Q2FjaGVEaWN0aW9uYXJ5R2V0RmllbGQuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5kaWN0aW9uYXJ5R2V0RmllbGQoXG4gICAgICB0aGlzLmNhY2hlTmFtZSxcbiAgICAgIGRpY3Rpb25hcnlOYW1lLFxuICAgICAgZmllbGRcbiAgICApO1xuICB9XG4gIGRpY3Rpb25hcnlHZXRGaWVsZHMoXG4gICAgZGljdGlvbmFyeU5hbWU6IHN0cmluZyxcbiAgICBmaWVsZHM6IHN0cmluZ1tdIHwgVWludDhBcnJheVtdXG4gICk6IFByb21pc2U8Q2FjaGVEaWN0aW9uYXJ5R2V0RmllbGRzLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuZGljdGlvbmFyeUdldEZpZWxkcyhcbiAgICAgIHRoaXMuY2FjaGVOYW1lLFxuICAgICAgZGljdGlvbmFyeU5hbWUsXG4gICAgICBmaWVsZHNcbiAgICApO1xuICB9XG4gIGRpY3Rpb25hcnlGZXRjaChcbiAgICBkaWN0aW9uYXJ5TmFtZTogc3RyaW5nXG4gICk6IFByb21pc2U8Q2FjaGVEaWN0aW9uYXJ5RmV0Y2guUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5kaWN0aW9uYXJ5RmV0Y2godGhpcy5jYWNoZU5hbWUsIGRpY3Rpb25hcnlOYW1lKTtcbiAgfVxuICBkaWN0aW9uYXJ5SW5jcmVtZW50KFxuICAgIGRpY3Rpb25hcnlOYW1lOiBzdHJpbmcsXG4gICAgZmllbGQ6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgYW1vdW50PzogbnVtYmVyLFxuICAgIG9wdGlvbnM/OiBEaWN0aW9uYXJ5SW5jcmVtZW50T3B0aW9uc1xuICApOiBQcm9taXNlPENhY2hlRGljdGlvbmFyeUluY3JlbWVudC5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LmRpY3Rpb25hcnlJbmNyZW1lbnQoXG4gICAgICB0aGlzLmNhY2hlTmFtZSxcbiAgICAgIGRpY3Rpb25hcnlOYW1lLFxuICAgICAgZmllbGQsXG4gICAgICBhbW91bnQsXG4gICAgICBvcHRpb25zXG4gICAgKTtcbiAgfVxuICBkaWN0aW9uYXJ5UmVtb3ZlRmllbGQoXG4gICAgZGljdGlvbmFyeU5hbWU6IHN0cmluZyxcbiAgICBmaWVsZDogc3RyaW5nIHwgVWludDhBcnJheVxuICApOiBQcm9taXNlPENhY2hlRGljdGlvbmFyeVJlbW92ZUZpZWxkLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuZGljdGlvbmFyeVJlbW92ZUZpZWxkKFxuICAgICAgdGhpcy5jYWNoZU5hbWUsXG4gICAgICBkaWN0aW9uYXJ5TmFtZSxcbiAgICAgIGZpZWxkXG4gICAgKTtcbiAgfVxuICBkaWN0aW9uYXJ5UmVtb3ZlRmllbGRzKFxuICAgIGRpY3Rpb25hcnlOYW1lOiBzdHJpbmcsXG4gICAgZmllbGRzOiBzdHJpbmdbXSB8IFVpbnQ4QXJyYXlbXVxuICApOiBQcm9taXNlPENhY2hlRGljdGlvbmFyeVJlbW92ZUZpZWxkcy5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LmRpY3Rpb25hcnlSZW1vdmVGaWVsZHMoXG4gICAgICB0aGlzLmNhY2hlTmFtZSxcbiAgICAgIGRpY3Rpb25hcnlOYW1lLFxuICAgICAgZmllbGRzXG4gICAgKTtcbiAgfVxuXG4gIGRpY3Rpb25hcnlMZW5ndGgoXG4gICAgZGljdGlvbmFyeU5hbWU6IHN0cmluZ1xuICApOiBQcm9taXNlPENhY2hlRGljdGlvbmFyeUxlbmd0aC5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LmRpY3Rpb25hcnlMZW5ndGgodGhpcy5jYWNoZU5hbWUsIGRpY3Rpb25hcnlOYW1lKTtcbiAgfVxuXG4gIHNvcnRlZFNldEZldGNoQnlSYW5rKFxuICAgIHNvcnRlZFNldE5hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zPzogU29ydGVkU2V0RmV0Y2hCeVJhbmtPcHRpb25zXG4gICk6IFByb21pc2U8Q2FjaGVTb3J0ZWRTZXRGZXRjaC5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LnNvcnRlZFNldEZldGNoQnlSYW5rKFxuICAgICAgdGhpcy5jYWNoZU5hbWUsXG4gICAgICBzb3J0ZWRTZXROYW1lLFxuICAgICAgb3B0aW9uc1xuICAgICk7XG4gIH1cbiAgc29ydGVkU2V0RmV0Y2hCeVNjb3JlKFxuICAgIHNvcnRlZFNldE5hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zPzogU29ydGVkU2V0RmV0Y2hCeVNjb3JlT3B0aW9uc1xuICApOiBQcm9taXNlPENhY2hlU29ydGVkU2V0RmV0Y2guUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5zb3J0ZWRTZXRGZXRjaEJ5U2NvcmUoXG4gICAgICB0aGlzLmNhY2hlTmFtZSxcbiAgICAgIHNvcnRlZFNldE5hbWUsXG4gICAgICBvcHRpb25zXG4gICAgKTtcbiAgfVxuICBzb3J0ZWRTZXRQdXRFbGVtZW50KFxuICAgIHNvcnRlZFNldE5hbWU6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICBzY29yZTogbnVtYmVyLFxuICAgIG9wdGlvbnM/OiBTb3J0ZWRTZXRQdXRFbGVtZW50T3B0aW9uc1xuICApOiBQcm9taXNlPENhY2hlU29ydGVkU2V0UHV0RWxlbWVudC5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LnNvcnRlZFNldFB1dEVsZW1lbnQoXG4gICAgICB0aGlzLmNhY2hlTmFtZSxcbiAgICAgIHNvcnRlZFNldE5hbWUsXG4gICAgICB2YWx1ZSxcbiAgICAgIHNjb3JlLFxuICAgICAgb3B0aW9uc1xuICAgICk7XG4gIH1cbiAgc29ydGVkU2V0UHV0RWxlbWVudHMoXG4gICAgc29ydGVkU2V0TmFtZTogc3RyaW5nLFxuICAgIGVsZW1lbnRzOiBNYXA8c3RyaW5nIHwgVWludDhBcnJheSwgbnVtYmVyPiB8IFJlY29yZDxzdHJpbmcsIG51bWJlcj4sXG4gICAgb3B0aW9ucz86IFNvcnRlZFNldFB1dEVsZW1lbnRzT3B0aW9uc1xuICApOiBQcm9taXNlPENhY2hlU29ydGVkU2V0UHV0RWxlbWVudHMuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5zb3J0ZWRTZXRQdXRFbGVtZW50cyhcbiAgICAgIHRoaXMuY2FjaGVOYW1lLFxuICAgICAgc29ydGVkU2V0TmFtZSxcbiAgICAgIGVsZW1lbnRzLFxuICAgICAgb3B0aW9uc1xuICAgICk7XG4gIH1cbiAgc29ydGVkU2V0R2V0UmFuayhcbiAgICBzb3J0ZWRTZXROYW1lOiBzdHJpbmcsXG4gICAgdmFsdWU6IHN0cmluZyB8IFVpbnQ4QXJyYXlcbiAgKTogUHJvbWlzZTxDYWNoZVNvcnRlZFNldEdldFJhbmsuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5zb3J0ZWRTZXRHZXRSYW5rKFxuICAgICAgdGhpcy5jYWNoZU5hbWUsXG4gICAgICBzb3J0ZWRTZXROYW1lLFxuICAgICAgdmFsdWVcbiAgICApO1xuICB9XG4gIHNvcnRlZFNldEdldFNjb3JlKFxuICAgIHNvcnRlZFNldE5hbWU6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nIHwgVWludDhBcnJheVxuICApOiBQcm9taXNlPENhY2hlU29ydGVkU2V0R2V0U2NvcmUuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5zb3J0ZWRTZXRHZXRTY29yZShcbiAgICAgIHRoaXMuY2FjaGVOYW1lLFxuICAgICAgc29ydGVkU2V0TmFtZSxcbiAgICAgIHZhbHVlXG4gICAgKTtcbiAgfVxuICBzb3J0ZWRTZXRHZXRTY29yZXMoXG4gICAgc29ydGVkU2V0TmFtZTogc3RyaW5nLFxuICAgIHZhbHVlczogc3RyaW5nW10gfCBVaW50OEFycmF5W11cbiAgKTogUHJvbWlzZTxDYWNoZVNvcnRlZFNldEdldFNjb3Jlcy5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LnNvcnRlZFNldEdldFNjb3JlcyhcbiAgICAgIHRoaXMuY2FjaGVOYW1lLFxuICAgICAgc29ydGVkU2V0TmFtZSxcbiAgICAgIHZhbHVlc1xuICAgICk7XG4gIH1cbiAgc29ydGVkU2V0SW5jcmVtZW50U2NvcmUoXG4gICAgc29ydGVkU2V0TmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIGFtb3VudD86IG51bWJlcixcbiAgICBvcHRpb25zPzogU29ydGVkU2V0SW5jcmVtZW50T3B0aW9uc1xuICApOiBQcm9taXNlPENhY2hlU29ydGVkU2V0SW5jcmVtZW50U2NvcmUuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5zb3J0ZWRTZXRJbmNyZW1lbnRTY29yZShcbiAgICAgIHRoaXMuY2FjaGVOYW1lLFxuICAgICAgc29ydGVkU2V0TmFtZSxcbiAgICAgIHZhbHVlLFxuICAgICAgYW1vdW50LFxuICAgICAgb3B0aW9uc1xuICAgICk7XG4gIH1cbiAgc29ydGVkU2V0UmVtb3ZlRWxlbWVudChcbiAgICBzb3J0ZWRTZXROYW1lOiBzdHJpbmcsXG4gICAgdmFsdWU6IHN0cmluZyB8IFVpbnQ4QXJyYXlcbiAgKTogUHJvbWlzZTxDYWNoZVNvcnRlZFNldFJlbW92ZUVsZW1lbnQuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5zb3J0ZWRTZXRSZW1vdmVFbGVtZW50KFxuICAgICAgdGhpcy5jYWNoZU5hbWUsXG4gICAgICBzb3J0ZWRTZXROYW1lLFxuICAgICAgdmFsdWVcbiAgICApO1xuICB9XG4gIHNvcnRlZFNldFJlbW92ZUVsZW1lbnRzKFxuICAgIHNvcnRlZFNldE5hbWU6IHN0cmluZyxcbiAgICB2YWx1ZXM6IHN0cmluZ1tdIHwgVWludDhBcnJheVtdXG4gICk6IFByb21pc2U8Q2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50cy5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LnNvcnRlZFNldFJlbW92ZUVsZW1lbnRzKFxuICAgICAgdGhpcy5jYWNoZU5hbWUsXG4gICAgICBzb3J0ZWRTZXROYW1lLFxuICAgICAgdmFsdWVzXG4gICAgKTtcbiAgfVxuICBzb3J0ZWRTZXRMZW5ndGgoXG4gICAgc29ydGVkU2V0TmFtZTogc3RyaW5nXG4gICk6IFByb21pc2U8Q2FjaGVTb3J0ZWRTZXRMZW5ndGguUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5zb3J0ZWRTZXRMZW5ndGgodGhpcy5jYWNoZU5hbWUsIHNvcnRlZFNldE5hbWUpO1xuICB9XG4gIHNvcnRlZFNldExlbmd0aEJ5U2NvcmUoXG4gICAgc29ydGVkU2V0TmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBTb3J0ZWRTZXRMZW5ndGhCeVNjb3JlT3B0aW9uc1xuICApOiBQcm9taXNlPENhY2hlU29ydGVkU2V0TGVuZ3RoQnlTY29yZS5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LnNvcnRlZFNldExlbmd0aEJ5U2NvcmUoXG4gICAgICB0aGlzLmNhY2hlTmFtZSxcbiAgICAgIHNvcnRlZFNldE5hbWUsXG4gICAgICBvcHRpb25zXG4gICAgKTtcbiAgfVxuICBpdGVtR2V0VHlwZShrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXkpOiBQcm9taXNlPENhY2hlSXRlbUdldFR5cGUuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5pdGVtR2V0VHlwZSh0aGlzLmNhY2hlTmFtZSwga2V5KTtcbiAgfVxuICBpdGVtR2V0VHRsKGtleTogc3RyaW5nIHwgVWludDhBcnJheSk6IFByb21pc2U8Q2FjaGVJdGVtR2V0VHRsLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuaXRlbUdldFR0bCh0aGlzLmNhY2hlTmFtZSwga2V5KTtcbiAgfVxuICBrZXlFeGlzdHMoa2V5OiBzdHJpbmcgfCBVaW50OEFycmF5KTogUHJvbWlzZTxDYWNoZUtleUV4aXN0cy5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LmtleUV4aXN0cyh0aGlzLmNhY2hlTmFtZSwga2V5KTtcbiAgfVxuICBrZXlzRXhpc3Qoa2V5czogc3RyaW5nW10gfCBVaW50OEFycmF5W10pOiBQcm9taXNlPENhY2hlS2V5c0V4aXN0LlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQua2V5c0V4aXN0KHRoaXMuY2FjaGVOYW1lLCBrZXlzKTtcbiAgfVxuICB1cGRhdGVUdGwoXG4gICAga2V5OiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIHR0bE1pbGxpc2Vjb25kczogbnVtYmVyXG4gICk6IFByb21pc2U8Q2FjaGVVcGRhdGVUdGwuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC51cGRhdGVUdGwodGhpcy5jYWNoZU5hbWUsIGtleSwgdHRsTWlsbGlzZWNvbmRzKTtcbiAgfVxuICBpbmNyZWFzZVR0bChcbiAgICBrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgdHRsTWlsbGlzZWNvbmRzOiBudW1iZXJcbiAgKTogUHJvbWlzZTxDYWNoZUluY3JlYXNlVHRsLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuaW5jcmVhc2VUdGwodGhpcy5jYWNoZU5hbWUsIGtleSwgdHRsTWlsbGlzZWNvbmRzKTtcbiAgfVxuICBkZWNyZWFzZVR0bChcbiAgICBrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgdHRsTWlsbGlzZWNvbmRzOiBudW1iZXJcbiAgKTogUHJvbWlzZTxDYWNoZURlY3JlYXNlVHRsLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuZGVjcmVhc2VUdGwodGhpcy5jYWNoZU5hbWUsIGtleSwgdHRsTWlsbGlzZWNvbmRzKTtcbiAgfVxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmNhY2hlQ2xpZW50LmNsb3NlKCk7XG4gIH1cbn1cbiJdfQ==
|
191
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9tZW50by1jYWNoZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC9jbGllbnRzL2NhY2hlL21vbWVudG8tY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBc0dBLE1BQWEsWUFBWTtJQUd2QixZQUFZLFdBQXlCLEVBQUUsU0FBaUI7UUFDdEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUF3QjtRQUMxQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUNELEdBQUcsQ0FDRCxHQUF3QixFQUN4QixLQUEwQixFQUMxQixPQUFvQjtRQUVwQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBQ0QsTUFBTSxDQUFDLEdBQXdCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsU0FBUyxDQUNQLEtBQTBCLEVBQzFCLE1BQWMsRUFDZCxPQUEwQjtRQUUxQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBQ0QsY0FBYyxDQUNaLEdBQXdCLEVBQ3hCLEtBQTBCLEVBQzFCLE9BQStCO1FBRS9CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMs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LGVBQWUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFDRCxXQUFXLENBQ1QsR0FBd0IsRUFDeEIsZUFBdUI7UUFFdkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBQ0QsV0FBVyxDQUNULEdBQXdCLEVBQ3hCLGVBQXVCO1FBRXZCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUNELEtBQUs7UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FDRjtBQTlmRCxvQ0E4ZkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDYWNoZURlbGV0ZSxcbiAgQ2FjaGVHZXQsXG4gIENhY2hlSW5jcmVtZW50LFxuICBDYWNoZVNldCxcbiAgQ2FjaGVTZXRJZk5vdEV4aXN0cyxcbiAgQ2FjaGVTZXRJZkFic2VudCxcbiAgQ2FjaGVTZXRJZlByZXNlbnQsXG4gIENhY2hlU2V0SWZFcXVhbCxcbiAgQ2FjaGVTZXRJZk5vdEVxdWFsLFxuICBDYWNoZVNldElmUHJlc2VudEFuZE5vdEVxdWFsLFxuICBDYWNoZVNldElmQWJzZW50T3JFcXVhbCxcbiAgQ2FjaGVTZXRGZXRjaCxcbiAgQ2FjaGVTZXRBZGRFbGVtZW50cyxcbiAgQ2FjaGVTZXRBZGRFbGVtZW50LFxuICBDYWNoZVNldENvbnRhaW5zRWxlbWVudCxcbiAgQ2FjaGVTZXRDb250YWluc0VsZW1lbnRzLFxuICBDYWNoZVNldFJlbW92ZUVsZW1lbnRzLFxuICBDYWNoZVNldFJlbW92ZUVsZW1lbnQsXG4gIENhY2hlTGlzdEZldGNoLFxuICBDYWNoZUxpc3RMZW5ndGgsXG4gIENhY2hlTGlzdFB1c2hGcm9udCxcbiAgQ2FjaGVMaXN0UHVzaEJhY2ssXG4gIENhY2hlTGlzdENvbmNhdGVuYXRlQmFjayxcbiAgQ2FjaGVMaXN0Q29uY2F0ZW5hdGVGcm9udCxcbiAgQ2FjaGVMaXN0UG9wQmFjayxcbiAgQ2FjaGVMaXN0UG9wRnJvbnQsXG4gIENhY2hlTGlzdFJlbW92ZVZhbHVlLFxuICBDYWNoZUxpc3RSZXRhaW4sXG4gIENhY2hlRGljdGlvbmFyeVNldEZpZWxkLFxuICBDYWNoZURpY3Rpb25hcnlTZXRGaWVsZHMsXG4gIENhY2hlRGljdGlvbmFyeUdldEZpZWxkLFxuICBDYWNoZURpY3Rpb25hcnlGZXRjaCxcbiAgQ2FjaGVEaWN0aW9uYXJ5SW5jcmVtZW50LFxuICBDYWNoZURpY3Rpb25hcnlSZW1vdmVGaWVsZCxcbiAgQ2FjaGVEaWN0aW9uYXJ5UmVtb3ZlRmllbGRzLFxuICBDYWNoZVNvcnRlZFNldEZldGNoLFxuICBDYWNoZVNvcnRlZFNldFB1dEVsZW1lbnQsXG4gIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudHMsXG4gIENhY2hlU29ydGVkU2V0R2V0UmFuayxcbiAgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZSxcbiAgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZXMsXG4gIENhY2hlU29ydGVkU2V0SW5jcmVtZW50U2NvcmUsXG4gIENhY2hlU29ydGVkU2V0UmVtb3ZlRWxlbWVudCxcbiAgQ2FjaGVTb3J0ZWRTZXRMZW5ndGgsXG4gIENhY2hlU29ydGVkU2V0TGVuZ3RoQnlTY29yZSxcbiAgQ2FjaGVJdGVtR2V0VHlwZSxcbiAgQ2FjaGVJdGVtR2V0VHRsLFxuICBDYWNoZUtleUV4aXN0cyxcbiAgQ2FjaGVLZXlzRXhpc3QsXG4gIENhY2hlVXBkYXRlVHRsLFxuICBDYWNoZUluY3JlYXNlVHRsLFxuICBDYWNoZURlY3JlYXNlVHRsLFxuICBJQ2FjaGVDbGllbnQsXG4gIENhY2hlU29ydGVkU2V0UmVtb3ZlRWxlbWVudHMsXG4gIENhY2hlRGljdGlvbmFyeUdldEZpZWxkcyxcbiAgQ2FjaGVEaWN0aW9uYXJ5TGVuZ3RoLFxuICBDYWNoZUdldEJhdGNoLFxuICBDYWNoZVNldEJhdGNoLFxuICBDYWNoZVNldFNhbXBsZSxcbn0gZnJvbSAnLi4vLi4vLi4vaW5kZXgnO1xuaW1wb3J0IHtcbiAgU2NhbGFyQ2FsbE9wdGlvbnMsXG4gIExpc3RGZXRjaENhbGxPcHRpb25zLFxuICBMaXN0UmV0YWluQ2FsbE9wdGlvbnMsXG4gIEJhY2tUcnVuY2F0YWJsZUNhbGxPcHRpb25zLFxuICBGcm9udFRydW5jYXRhYmxlQ2FsbE9wdGlvbnMsXG4gIENvbGxlY3Rpb25DYWxsT3B0aW9ucyxcbiAgU29ydGVkU2V0RmV0Y2hCeVJhbmtDYWxsT3B0aW9ucyxcbiAgU29ydGVkU2V0RmV0Y2hCeVNjb3JlQ2FsbE9wdGlvbnMsXG4gIFNvcnRlZFNldExlbmd0aEJ5U2NvcmVDYWxsT3B0aW9ucyxcbiAgU2V0QmF0Y2hJdGVtLFxufSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5pbXBvcnQge0lNb21lbnRvQ2FjaGV9IGZyb20gJy4uLy4uLy4uL2NsaWVudHMvSU1vbWVudG9DYWNoZSc7XG5cbi8vIFR5cGUgYWxpYXNlcyB0byBkaWZmZXJlbnRpYXRlIHRoZSBkaWZmZXJlbnQgbWV0aG9kcycgb3B0aW9uYWwgYXJndW1lbnRzLlxuZXhwb3J0IHR5cGUgU2V0T3B0aW9ucyA9IFNjYWxhckNhbGxPcHRpb25zO1xuZXhwb3J0IHR5cGUgU2V0SWZOb3RFeGlzdHNPcHRpb25zID0gU2NhbGFyQ2FsbE9wdGlvbnM7XG5leHBvcnQgdHlwZSBTZXRJZkFic2VudE9wdGlvbnMgPSBTY2FsYXJDYWxsT3B0aW9ucztcbmV4cG9ydCB0eXBlIFNldElmUHJlc2VudE9wdGlvbnMgPSBTY2FsYXJDYWxsT3B0aW9ucztcbmV4cG9ydCB0eXBlIFNldElmRXF1YWxPcHRpb25zID0gU2NhbGFyQ2FsbE9wdGlvbnM7XG5leHBvcnQgdHlwZSBTZXRJZk5vdEVxdWFsT3B0aW9ucyA9IFNjYWxhckNhbGxPcHRpb25zO1xuZXhwb3J0IHR5cGUgU2V0SWZQcmVzZW50QW5kTm90RXF1YWxPcHRpb25zID0gU2NhbGFyQ2FsbE9wdGlvbnM7XG5leHBvcnQgdHlwZSBTZXRJZkFic2VudE9yRXF1YWxPcHRpb25zID0gU2NhbGFyQ2FsbE9wdGlvbnM7XG5leHBvcnQgdHlwZSBTZXRCYXRjaE9wdGlvbnMgPSBTY2FsYXJDYWxsT3B0aW9ucztcbmV4cG9ydCB0eXBlIExpc3RDb25jYXRlbmF0ZUJhY2tPcHRpb25zID0gRnJvbnRUcnVuY2F0YWJsZUNhbGxPcHRpb25zO1xuZXhwb3J0IHR5cGUgTGlzdENvbmNhdGVuYXRlRnJvbnRPcHRpb25zID0gQmFja1RydW5jYXRhYmxlQ2FsbE9wdGlvbnM7XG5leHBvcnQgdHlwZSBMaXN0UHVzaEJhY2tPcHRpb25zID0gRnJvbnRUcnVuY2F0YWJsZUNhbGxPcHRpb25zO1xuZXhwb3J0IHR5cGUgTGlzdFB1c2hGcm9udE9wdGlvbnMgPSBCYWNrVHJ1bmNhdGFibGVDYWxsT3B0aW9ucztcbmV4cG9ydCB0eXBlIFNldEFkZEVsZW1lbnRPcHRpb25zID0gQ29sbGVjdGlvbkNhbGxPcHRpb25zO1xuZXhwb3J0IHR5cGUgU2V0QWRkRWxlbWVudHNPcHRpb25zID0gQ29sbGVjdGlvbkNhbGxPcHRpb25zO1xuZXhwb3J0IHR5cGUgRGljdGlvbmFyeVNldEZpZWxkT3B0aW9ucyA9IENvbGxlY3Rpb25DYWxsT3B0aW9ucztcbmV4cG9ydCB0eXBlIERpY3Rpb25hcnlTZXRGaWVsZHNPcHRpb25zID0gQ29sbGVjdGlvbkNhbGxPcHRpb25zO1xuZXhwb3J0IHR5cGUgRGljdGlvbmFyeUluY3JlbWVudE9wdGlvbnMgPSBDb2xsZWN0aW9uQ2FsbE9wdGlvbnM7XG5leHBvcnQgdHlwZSBJbmNyZW1lbnRPcHRpb25zID0gU2NhbGFyQ2FsbE9wdGlvbnM7XG5leHBvcnQgdHlwZSBTb3J0ZWRTZXRQdXRFbGVtZW50T3B0aW9ucyA9IENvbGxlY3Rpb25DYWxsT3B0aW9ucztcbmV4cG9ydCB0eXBlIFNvcnRlZFNldFB1dEVsZW1lbnRzT3B0aW9ucyA9IENvbGxlY3Rpb25DYWxsT3B0aW9ucztcbmV4cG9ydCB0eXBlIFNvcnRlZFNldEZldGNoQnlSYW5rT3B0aW9ucyA9IFNvcnRlZFNldEZldGNoQnlSYW5rQ2FsbE9wdGlvbnM7XG5leHBvcnQgdHlwZSBTb3J0ZWRTZXRGZXRjaEJ5U2NvcmVPcHRpb25zID0gU29ydGVkU2V0RmV0Y2hCeVNjb3JlQ2FsbE9wdGlvbnM7XG5leHBvcnQgdHlwZSBTb3J0ZWRTZXRJbmNyZW1lbnRPcHRpb25zID0gQ29sbGVjdGlvbkNhbGxPcHRpb25zO1xuZXhwb3J0IHR5cGUgU29ydGVkU2V0TGVuZ3RoQnlTY29yZU9wdGlvbnMgPSBTb3J0ZWRTZXRMZW5ndGhCeVNjb3JlQ2FsbE9wdGlvbnM7XG5cbmV4cG9ydCBjbGFzcyBNb21lbnRvQ2FjaGUgaW1wbGVtZW50cyBJTW9tZW50b0NhY2hlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjYWNoZUNsaWVudDogSUNhY2hlQ2xpZW50O1xuICBwcml2YXRlIHJlYWRvbmx5IGNhY2hlTmFtZTogc3RyaW5nO1xuICBjb25zdHJ1Y3RvcihjYWNoZUNsaWVudDogSUNhY2hlQ2xpZW50LCBjYWNoZU5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuY2FjaGVDbGllbnQgPSBjYWNoZUNsaWVudDtcbiAgICB0aGlzLmNhY2hlTmFtZSA9IGNhY2hlTmFtZTtcbiAgfVxuXG4gIGdldChrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXkpOiBQcm9taXNlPENhY2hlR2V0LlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuZ2V0KHRoaXMuY2FjaGVOYW1lLCBrZXkpO1xuICB9XG4gIHNldChcbiAgICBrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgdmFsdWU6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgb3B0aW9ucz86IFNldE9wdGlvbnNcbiAgKTogUHJvbWlzZTxDYWNoZVNldC5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LnNldCh0aGlzLmNhY2hlTmFtZSwga2V5LCB2YWx1ZSwgb3B0aW9ucyk7XG4gIH1cbiAgZGVsZXRlKGtleTogc3RyaW5nIHwgVWludDhBcnJheSk6IFByb21pc2U8Q2FjaGVEZWxldGUuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5kZWxldGUodGhpcy5jYWNoZU5hbWUsIGtleSk7XG4gIH1cbiAgaW5jcmVtZW50KFxuICAgIGZpZWxkOiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIGFtb3VudDogbnVtYmVyLFxuICAgIG9wdGlvbnM/OiBJbmNyZW1lbnRPcHRpb25zXG4gICk6IFByb21pc2U8Q2FjaGVJbmNyZW1lbnQuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5pbmNyZW1lbnQodGhpcy5jYWNoZU5hbWUsIGZpZWxkLCBhbW91bnQsIG9wdGlvbnMpO1xuICB9XG4gIHNldElmTm90RXhpc3RzKFxuICAgIGtleTogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICBmaWVsZDogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICBvcHRpb25zPzogU2V0SWZOb3RFeGlzdHNPcHRpb25zXG4gICk6IFByb21pc2U8Q2FjaGVTZXRJZk5vdEV4aXN0cy5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LnNldElmTm90RXhpc3RzKHRoaXMuY2FjaGVOYW1lLCBrZXksIGZpZWxkLCBvcHRpb25zKTtcbiAgfVxuICBzZXRJZkFic2VudChcbiAgICBrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgZmllbGQ6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgb3B0aW9ucz86IFNldElmQWJzZW50T3B0aW9uc1xuICApOiBQcm9taXNlPENhY2hlU2V0SWZBYnNlbnQuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5zZXRJZkFic2VudCh0aGlzLmNhY2hlTmFtZSwga2V5LCBmaWVsZCwgb3B0aW9ucyk7XG4gIH1cbiAgc2V0SWZQcmVzZW50KFxuICAgIGtleTogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICB2YWx1ZTogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICBvcHRpb25zPzogU2V0SWZQcmVzZW50T3B0aW9uc1xuICApOiBQcm9taXNlPENhY2hlU2V0SWZQcmVzZW50LlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuc2V0SWZQcmVzZW50KHRoaXMuY2FjaGVOYW1lLCBrZXksIHZhbHVlLCBvcHRpb25zKTtcbiAgfVxuICBzZXRJZkVxdWFsKFxuICAgIGtleTogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICB2YWx1ZTogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICBlcXVhbDogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICBvcHRpb25zPzogU2V0SWZFcXVhbE9wdGlvbnNcbiAgKTogUHJvbWlzZTxDYWNoZVNldElmRXF1YWwuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5zZXRJZkVxdWFsKFxuICAgICAgdGhpcy5jYWNoZU5hbWUsXG4gICAgICBrZXksXG4gICAgICB2YWx1ZSxcbiAgICAgIGVxdWFsLFxuICAgICAgb3B0aW9uc1xuICAgICk7XG4gIH1cbiAgc2V0SWZOb3RFcXVhbChcbiAgICBrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgdmFsdWU6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgbm90RXF1YWw6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgb3B0aW9ucz86IFNldElmTm90RXF1YWxPcHRpb25zXG4gICk6IFByb21pc2U8Q2FjaGVTZXRJZk5vdEVxdWFsLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuc2V0SWZOb3RFcXVhbChcbiAgICAgIHRoaXMuY2FjaGVOYW1lLFxuICAgICAga2V5LFxuICAgICAgdmFsdWUsXG4gICAgICBub3RFcXVhbCxcbiAgICAgIG9wdGlvbnNcbiAgICApO1xuICB9XG4gIHNldElmUHJlc2VudEFuZE5vdEVxdWFsKFxuICAgIGtleTogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICB2YWx1ZTogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICBub3RFcXVhbDogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICBvcHRpb25zPzogU2V0SWZQcmVzZW50QW5kTm90RXF1YWxPcHRpb25zXG4gICk6IFByb21pc2U8Q2FjaGVTZXRJZlByZXNlbnRBbmROb3RFcXVhbC5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LnNldElmUHJlc2VudEFuZE5vdEVxdWFsKFxuICAgICAgdGhpcy5jYWNoZU5hbWUsXG4gICAgICBrZXksXG4gICAgICB2YWx1ZSxcbiAgICAgIG5vdEVxdWFsLFxuICAgICAgb3B0aW9uc1xuICAgICk7XG4gIH1cbiAgc2V0SWZBYnNlbnRPckVxdWFsKFxuICAgIGtleTogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICB2YWx1ZTogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICBlcXVhbDogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICBvcHRpb25zPzogU2V0SWZBYnNlbnRPckVxdWFsT3B0aW9uc1xuICApOiBQcm9taXNlPENhY2hlU2V0SWZBYnNlbnRPckVxdWFsLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuc2V0SWZBYnNlbnRPckVxdWFsKFxuICAgICAgdGhpcy5jYWNoZU5hbWUsXG4gICAgICBrZXksXG4gICAgICB2YWx1ZSxcbiAgICAgIGVxdWFsLFxuICAgICAgb3B0aW9uc1xuICAgICk7XG4gIH1cbiAgZ2V0QmF0Y2goa2V5czogc3RyaW5nW10gfCBVaW50OEFycmF5W10pOiBQcm9taXNlPENhY2hlR2V0QmF0Y2guUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5nZXRCYXRjaCh0aGlzLmNhY2hlTmFtZSwga2V5cyk7XG4gIH1cbiAgc2V0QmF0Y2goXG4gICAgaXRlbXM6XG4gICAgICB8IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IFVpbnQ4QXJyYXk+XG4gICAgICB8IE1hcDxzdHJpbmcgfCBVaW50OEFycmF5LCBzdHJpbmcgfCBVaW50OEFycmF5PlxuICAgICAgfCBBcnJheTxTZXRCYXRjaEl0ZW0+LFxuICAgIG9wdGlvbnM/OiBTZXRCYXRjaE9wdGlvbnNcbiAgKTogUHJvbWlzZTxDYWNoZVNldEJhdGNoLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuc2V0QmF0Y2godGhpcy5jYWNoZU5hbWUsIGl0ZW1zLCBvcHRpb25zKTtcbiAgfVxuICBzZXRGZXRjaChzZXROYW1lOiBzdHJpbmcpOiBQcm9taXNlPENhY2hlU2V0RmV0Y2guUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5zZXRGZXRjaCh0aGlzLmNhY2hlTmFtZSwgc2V0TmFtZSk7XG4gIH1cbiAgc2V0QWRkRWxlbWVudChcbiAgICBzZXROYW1lOiBzdHJpbmcsXG4gICAgZWxlbWVudDogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICBvcHRpb25zPzogU2V0QWRkRWxlbWVudE9wdGlvbnNcbiAgKTogUHJvbWlzZTxDYWNoZVNldEFkZEVsZW1lbnQuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5zZXRBZGRFbGVtZW50KFxuICAgICAgdGhpcy5jYWNoZU5hbWUsXG4gICAgICBzZXROYW1lLFxuICAgICAgZWxlbWVudCxcbiAgICAgIG9wdGlvbnNcbiAgICApO1xuICB9XG4gIHNldEFkZEVsZW1lbnRzKFxuICAgIHNldE5hbWU6IHN0cmluZyxcbiAgICBlbGVtZW50czogc3RyaW5nW10gfCBVaW50OEFycmF5W10sXG4gICAgb3B0aW9ucz86IFNldEFkZEVsZW1lbnRzT3B0aW9uc1xuICApOiBQcm9taXNlPENhY2hlU2V0QWRkRWxlbWVudHMuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5zZXRBZGRFbGVtZW50cyhcbiAgICAgIHRoaXMuY2FjaGVOYW1lLFxuICAgICAgc2V0TmFtZSxcbiAgICAgIGVsZW1lbnRzLFxuICAgICAgb3B0aW9uc1xuICAgICk7XG4gIH1cbiAgc2V0Q29udGFpbnNFbGVtZW50KFxuICAgIHNldE5hbWU6IHN0cmluZyxcbiAgICBlbGVtZW50OiBzdHJpbmcgfCBVaW50OEFycmF5XG4gICk6IFByb21pc2U8Q2FjaGVTZXRDb250YWluc0VsZW1lbnQuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5zZXRDb250YWluc0VsZW1lbnQoXG4gICAgICB0aGlzLmNhY2hlTmFtZSxcbiAgICAgIHNldE5hbWUsXG4gICAgICBlbGVtZW50XG4gICAgKTtcbiAgfVxuICBzZXRDb250YWluc0VsZW1lbnRzKFxuICAgIHNldE5hbWU6IHN0cmluZyxcbiAgICBlbGVtZW50czogc3RyaW5nW10gfCBVaW50OEFycmF5W11cbiAgKTogUHJvbWlzZTxDYWNoZVNldENvbnRhaW5zRWxlbWVudHMuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5zZXRDb250YWluc0VsZW1lbnRzKFxuICAgICAgdGhpcy5jYWNoZU5hbWUsXG4gICAgICBzZXROYW1lLFxuICAgICAgZWxlbWVudHNcbiAgICApO1xuICB9XG4gIHNldFJlbW92ZUVsZW1lbnQoXG4gICAgc2V0TmFtZTogc3RyaW5nLFxuICAgIGVsZW1lbnQ6IHN0cmluZyB8IFVpbnQ4QXJyYXlcbiAgKTogUHJvbWlzZTxDYWNoZVNldFJlbW92ZUVsZW1lbnQuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5zZXRSZW1vdmVFbGVtZW50KHRoaXMuY2FjaGVOYW1lLCBzZXROYW1lLCBlbGVtZW50KTtcbiAgfVxuICBzZXRSZW1vdmVFbGVtZW50cyhcbiAgICBzZXROYW1lOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6IHN0cmluZ1tdIHwgVWludDhBcnJheVtdXG4gICk6IFByb21pc2U8Q2FjaGVTZXRSZW1vdmVFbGVtZW50cy5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LnNldFJlbW92ZUVsZW1lbnRzKFxuICAgICAgdGhpcy5jYWNoZU5hbWUsXG4gICAgICBzZXROYW1lLFxuICAgICAgZWxlbWVudHNcbiAgICApO1xuICB9XG4gIHNldFNhbXBsZShzZXROYW1lOiBzdHJpbmcsIGxpbWl0OiBudW1iZXIpOiBQcm9taXNlPENhY2hlU2V0U2FtcGxlLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuc2V0U2FtcGxlKHRoaXMuY2FjaGVOYW1lLCBzZXROYW1lLCBsaW1pdCk7XG4gIH1cbiAgbGlzdEZldGNoKFxuICAgIGxpc3ROYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IExpc3RGZXRjaENhbGxPcHRpb25zXG4gICk6IFByb21pc2U8Q2FjaGVMaXN0RmV0Y2guUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5saXN0RmV0Y2godGhpcy5jYWNoZU5hbWUsIGxpc3ROYW1lLCBvcHRpb25zKTtcbiAgfVxuICBsaXN0TGVuZ3RoKGxpc3ROYW1lOiBzdHJpbmcpOiBQcm9taXNlPENhY2hlTGlzdExlbmd0aC5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50Lmxpc3RMZW5ndGgodGhpcy5jYWNoZU5hbWUsIGxpc3ROYW1lKTtcbiAgfVxuICBsaXN0UHVzaEZyb250KFxuICAgIGxpc3ROYW1lOiBzdHJpbmcsXG4gICAgdmFsdWU6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgb3B0aW9ucz86IExpc3RQdXNoRnJvbnRPcHRpb25zXG4gICk6IFByb21pc2U8Q2FjaGVMaXN0UHVzaEZyb250LlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQubGlzdFB1c2hGcm9udChcbiAgICAgIHRoaXMuY2FjaGVOYW1lLFxuICAgICAgbGlzdE5hbWUsXG4gICAgICB2YWx1ZSxcbiAgICAgIG9wdGlvbnNcbiAgICApO1xuICB9XG4gIGxpc3RQdXNoQmFjayhcbiAgICBsaXN0TmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIG9wdGlvbnM/OiBMaXN0UHVzaEJhY2tPcHRpb25zXG4gICk6IFByb21pc2U8Q2FjaGVMaXN0UHVzaEJhY2suUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5saXN0UHVzaEJhY2soXG4gICAgICB0aGlzLmNhY2hlTmFtZSxcbiAgICAgIGxpc3ROYW1lLFxuICAgICAgdmFsdWUsXG4gICAgICBvcHRpb25zXG4gICAgKTtcbiAgfVxuICBsaXN0Q29uY2F0ZW5hdGVCYWNrKFxuICAgIGxpc3ROYW1lOiBzdHJpbmcsXG4gICAgdmFsdWVzOiBzdHJpbmdbXSB8IFVpbnQ4QXJyYXlbXSxcbiAgICBvcHRpb25zPzogTGlzdENvbmNhdGVuYXRlQmFja09wdGlvbnNcbiAgKTogUHJvbWlzZTxDYWNoZUxpc3RDb25jYXRlbmF0ZUJhY2suUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5saXN0Q29uY2F0ZW5hdGVCYWNrKFxuICAgICAgdGhpcy5jYWNoZU5hbWUsXG4gICAgICBsaXN0TmFtZSxcbiAgICAgIHZhbHVlcyxcbiAgICAgIG9wdGlvbnNcbiAgICApO1xuICB9XG4gIGxpc3RDb25jYXRlbmF0ZUZyb250KFxuICAgIGxpc3ROYW1lOiBzdHJpbmcsXG4gICAgdmFsdWVzOiBzdHJpbmdbXSB8IFVpbnQ4QXJyYXlbXSxcbiAgICBvcHRpb25zPzogTGlzdENvbmNhdGVuYXRlRnJvbnRPcHRpb25zXG4gICk6IFByb21pc2U8Q2FjaGVMaXN0Q29uY2F0ZW5hdGVGcm9udC5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50Lmxpc3RDb25jYXRlbmF0ZUZyb250KFxuICAgICAgdGhpcy5jYWNoZU5hbWUsXG4gICAgICBsaXN0TmFtZSxcbiAgICAgIHZhbHVlcyxcbiAgICAgIG9wdGlvbnNcbiAgICApO1xuICB9XG4gIGxpc3RQb3BCYWNrKGxpc3ROYW1lOiBzdHJpbmcpOiBQcm9taXNlPENhY2hlTGlzdFBvcEJhY2suUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5saXN0UG9wQmFjayh0aGlzLmNhY2hlTmFtZSwgbGlzdE5hbWUpO1xuICB9XG4gIGxpc3RQb3BGcm9udChsaXN0TmFtZTogc3RyaW5nKTogUHJvbWlzZTxDYWNoZUxpc3RQb3BGcm9udC5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50Lmxpc3RQb3BGcm9udCh0aGlzLmNhY2hlTmFtZSwgbGlzdE5hbWUpO1xuICB9XG4gIGxpc3RSZW1vdmVWYWx1ZShcbiAgICBsaXN0TmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5XG4gICk6IFByb21pc2U8Q2FjaGVMaXN0UmVtb3ZlVmFsdWUuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5saXN0UmVtb3ZlVmFsdWUodGhpcy5jYWNoZU5hbWUsIGxpc3ROYW1lLCB2YWx1ZSk7XG4gIH1cbiAgbGlzdFJldGFpbihcbiAgICBsaXN0TmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBMaXN0UmV0YWluQ2FsbE9wdGlvbnNcbiAgKTogUHJvbWlzZTxDYWNoZUxpc3RSZXRhaW4uUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5saXN0UmV0YWluKHRoaXMuY2FjaGVOYW1lLCBsaXN0TmFtZSwgb3B0aW9ucyk7XG4gIH1cbiAgZGljdGlvbmFyeVNldEZpZWxkKFxuICAgIGRpY3Rpb25hcnlOYW1lOiBzdHJpbmcsXG4gICAgZmllbGQ6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgdmFsdWU6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgb3B0aW9ucz86IERpY3Rpb25hcnlTZXRGaWVsZE9wdGlvbnNcbiAgKTogUHJvbWlzZTxDYWNoZURpY3Rpb25hcnlTZXRGaWVsZC5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LmRpY3Rpb25hcnlTZXRGaWVsZChcbiAgICAgIHRoaXMuY2FjaGVOYW1lLFxuICAgICAgZGljdGlvbmFyeU5hbWUsXG4gICAgICBmaWVsZCxcbiAgICAgIHZhbHVlLFxuICAgICAgb3B0aW9uc1xuICAgICk7XG4gIH1cbiAgZGljdGlvbmFyeVNldEZpZWxkcyhcbiAgICBkaWN0aW9uYXJ5TmFtZTogc3RyaW5nLFxuICAgIGVsZW1lbnRzOlxuICAgICAgfCBNYXA8c3RyaW5nIHwgVWludDhBcnJheSwgc3RyaW5nIHwgVWludDhBcnJheT5cbiAgICAgIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgVWludDhBcnJheT4sXG4gICAgb3B0aW9ucz86IERpY3Rpb25hcnlTZXRGaWVsZHNPcHRpb25zXG4gICk6IFByb21pc2U8Q2FjaGVEaWN0aW9uYXJ5U2V0RmllbGRzLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuZGljdGlvbmFyeVNldEZpZWxkcyhcbiAgICAgIHRoaXMuY2FjaGVOYW1lLFxuICAgICAgZGljdGlvbmFyeU5hbWUsXG4gICAgICBlbGVtZW50cyxcbiAgICAgIG9wdGlvbnNcbiAgICApO1xuICB9XG4gIGRpY3Rpb25hcnlHZXRGaWVsZChcbiAgICBkaWN0aW9uYXJ5TmFtZTogc3RyaW5nLFxuICAgIGZpZWxkOiBzdHJpbmcgfCBVaW50OEFycmF5XG4gICk6IFByb21pc2U8Q2FjaGVEaWN0aW9uYXJ5R2V0RmllbGQuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5kaWN0aW9uYXJ5R2V0RmllbGQoXG4gICAgICB0aGlzLmNhY2hlTmFtZSxcbiAgICAgIGRpY3Rpb25hcnlOYW1lLFxuICAgICAgZmllbGRcbiAgICApO1xuICB9XG4gIGRpY3Rpb25hcnlHZXRGaWVsZHMoXG4gICAgZGljdGlvbmFyeU5hbWU6IHN0cmluZyxcbiAgICBmaWVsZHM6IHN0cmluZ1tdIHwgVWludDhBcnJheVtdXG4gICk6IFByb21pc2U8Q2FjaGVEaWN0aW9uYXJ5R2V0RmllbGRzLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuZGljdGlvbmFyeUdldEZpZWxkcyhcbiAgICAgIHRoaXMuY2FjaGVOYW1lLFxuICAgICAgZGljdGlvbmFyeU5hbWUsXG4gICAgICBmaWVsZHNcbiAgICApO1xuICB9XG4gIGRpY3Rpb25hcnlGZXRjaChcbiAgICBkaWN0aW9uYXJ5TmFtZTogc3RyaW5nXG4gICk6IFByb21pc2U8Q2FjaGVEaWN0aW9uYXJ5RmV0Y2guUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5kaWN0aW9uYXJ5RmV0Y2godGhpcy5jYWNoZU5hbWUsIGRpY3Rpb25hcnlOYW1lKTtcbiAgfVxuICBkaWN0aW9uYXJ5SW5jcmVtZW50KFxuICAgIGRpY3Rpb25hcnlOYW1lOiBzdHJpbmcsXG4gICAgZmllbGQ6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgYW1vdW50PzogbnVtYmVyLFxuICAgIG9wdGlvbnM/OiBEaWN0aW9uYXJ5SW5jcmVtZW50T3B0aW9uc1xuICApOiBQcm9taXNlPENhY2hlRGljdGlvbmFyeUluY3JlbWVudC5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LmRpY3Rpb25hcnlJbmNyZW1lbnQoXG4gICAgICB0aGlzLmNhY2hlTmFtZSxcbiAgICAgIGRpY3Rpb25hcnlOYW1lLFxuICAgICAgZmllbGQsXG4gICAgICBhbW91bnQsXG4gICAgICBvcHRpb25zXG4gICAgKTtcbiAgfVxuICBkaWN0aW9uYXJ5UmVtb3ZlRmllbGQoXG4gICAgZGljdGlvbmFyeU5hbWU6IHN0cmluZyxcbiAgICBmaWVsZDogc3RyaW5nIHwgVWludDhBcnJheVxuICApOiBQcm9taXNlPENhY2hlRGljdGlvbmFyeVJlbW92ZUZpZWxkLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuZGljdGlvbmFyeVJlbW92ZUZpZWxkKFxuICAgICAgdGhpcy5jYWNoZU5hbWUsXG4gICAgICBkaWN0aW9uYXJ5TmFtZSxcbiAgICAgIGZpZWxkXG4gICAgKTtcbiAgfVxuICBkaWN0aW9uYXJ5UmVtb3ZlRmllbGRzKFxuICAgIGRpY3Rpb25hcnlOYW1lOiBzdHJpbmcsXG4gICAgZmllbGRzOiBzdHJpbmdbXSB8IFVpbnQ4QXJyYXlbXVxuICApOiBQcm9taXNlPENhY2hlRGljdGlvbmFyeVJlbW92ZUZpZWxkcy5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LmRpY3Rpb25hcnlSZW1vdmVGaWVsZHMoXG4gICAgICB0aGlzLmNhY2hlTmFtZSxcbiAgICAgIGRpY3Rpb25hcnlOYW1lLFxuICAgICAgZmllbGRzXG4gICAgKTtcbiAgfVxuXG4gIGRpY3Rpb25hcnlMZW5ndGgoXG4gICAgZGljdGlvbmFyeU5hbWU6IHN0cmluZ1xuICApOiBQcm9taXNlPENhY2hlRGljdGlvbmFyeUxlbmd0aC5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LmRpY3Rpb25hcnlMZW5ndGgodGhpcy5jYWNoZU5hbWUsIGRpY3Rpb25hcnlOYW1lKTtcbiAgfVxuXG4gIHNvcnRlZFNldEZldGNoQnlSYW5rKFxuICAgIHNvcnRlZFNldE5hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zPzogU29ydGVkU2V0RmV0Y2hCeVJhbmtPcHRpb25zXG4gICk6IFByb21pc2U8Q2FjaGVTb3J0ZWRTZXRGZXRjaC5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LnNvcnRlZFNldEZldGNoQnlSYW5rKFxuICAgICAgdGhpcy5jYWNoZU5hbWUsXG4gICAgICBzb3J0ZWRTZXROYW1lLFxuICAgICAgb3B0aW9uc1xuICAgICk7XG4gIH1cbiAgc29ydGVkU2V0RmV0Y2hCeVNjb3JlKFxuICAgIHNvcnRlZFNldE5hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zPzogU29ydGVkU2V0RmV0Y2hCeVNjb3JlT3B0aW9uc1xuICApOiBQcm9taXNlPENhY2hlU29ydGVkU2V0RmV0Y2guUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5zb3J0ZWRTZXRGZXRjaEJ5U2NvcmUoXG4gICAgICB0aGlzLmNhY2hlTmFtZSxcbiAgICAgIHNvcnRlZFNldE5hbWUsXG4gICAgICBvcHRpb25zXG4gICAgKTtcbiAgfVxuICBzb3J0ZWRTZXRQdXRFbGVtZW50KFxuICAgIHNvcnRlZFNldE5hbWU6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nIHwgVWludDhBcnJheSxcbiAgICBzY29yZTogbnVtYmVyLFxuICAgIG9wdGlvbnM/OiBTb3J0ZWRTZXRQdXRFbGVtZW50T3B0aW9uc1xuICApOiBQcm9taXNlPENhY2hlU29ydGVkU2V0UHV0RWxlbWVudC5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LnNvcnRlZFNldFB1dEVsZW1lbnQoXG4gICAgICB0aGlzLmNhY2hlTmFtZSxcbiAgICAgIHNvcnRlZFNldE5hbWUsXG4gICAgICB2YWx1ZSxcbiAgICAgIHNjb3JlLFxuICAgICAgb3B0aW9uc1xuICAgICk7XG4gIH1cbiAgc29ydGVkU2V0UHV0RWxlbWVudHMoXG4gICAgc29ydGVkU2V0TmFtZTogc3RyaW5nLFxuICAgIGVsZW1lbnRzOiBNYXA8c3RyaW5nIHwgVWludDhBcnJheSwgbnVtYmVyPiB8IFJlY29yZDxzdHJpbmcsIG51bWJlcj4sXG4gICAgb3B0aW9ucz86IFNvcnRlZFNldFB1dEVsZW1lbnRzT3B0aW9uc1xuICApOiBQcm9taXNlPENhY2hlU29ydGVkU2V0UHV0RWxlbWVudHMuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5zb3J0ZWRTZXRQdXRFbGVtZW50cyhcbiAgICAgIHRoaXMuY2FjaGVOYW1lLFxuICAgICAgc29ydGVkU2V0TmFtZSxcbiAgICAgIGVsZW1lbnRzLFxuICAgICAgb3B0aW9uc1xuICAgICk7XG4gIH1cbiAgc29ydGVkU2V0R2V0UmFuayhcbiAgICBzb3J0ZWRTZXROYW1lOiBzdHJpbmcsXG4gICAgdmFsdWU6IHN0cmluZyB8IFVpbnQ4QXJyYXlcbiAgKTogUHJvbWlzZTxDYWNoZVNvcnRlZFNldEdldFJhbmsuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5zb3J0ZWRTZXRHZXRSYW5rKFxuICAgICAgdGhpcy5jYWNoZU5hbWUsXG4gICAgICBzb3J0ZWRTZXROYW1lLFxuICAgICAgdmFsdWVcbiAgICApO1xuICB9XG4gIHNvcnRlZFNldEdldFNjb3JlKFxuICAgIHNvcnRlZFNldE5hbWU6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nIHwgVWludDhBcnJheVxuICApOiBQcm9taXNlPENhY2hlU29ydGVkU2V0R2V0U2NvcmUuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5zb3J0ZWRTZXRHZXRTY29yZShcbiAgICAgIHRoaXMuY2FjaGVOYW1lLFxuICAgICAgc29ydGVkU2V0TmFtZSxcbiAgICAgIHZhbHVlXG4gICAgKTtcbiAgfVxuICBzb3J0ZWRTZXRHZXRTY29yZXMoXG4gICAgc29ydGVkU2V0TmFtZTogc3RyaW5nLFxuICAgIHZhbHVlczogc3RyaW5nW10gfCBVaW50OEFycmF5W11cbiAgKTogUHJvbWlzZTxDYWNoZVNvcnRlZFNldEdldFNjb3Jlcy5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LnNvcnRlZFNldEdldFNjb3JlcyhcbiAgICAgIHRoaXMuY2FjaGVOYW1lLFxuICAgICAgc29ydGVkU2V0TmFtZSxcbiAgICAgIHZhbHVlc1xuICAgICk7XG4gIH1cbiAgc29ydGVkU2V0SW5jcmVtZW50U2NvcmUoXG4gICAgc29ydGVkU2V0TmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIGFtb3VudD86IG51bWJlcixcbiAgICBvcHRpb25zPzogU29ydGVkU2V0SW5jcmVtZW50T3B0aW9uc1xuICApOiBQcm9taXNlPENhY2hlU29ydGVkU2V0SW5jcmVtZW50U2NvcmUuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5zb3J0ZWRTZXRJbmNyZW1lbnRTY29yZShcbiAgICAgIHRoaXMuY2FjaGVOYW1lLFxuICAgICAgc29ydGVkU2V0TmFtZSxcbiAgICAgIHZhbHVlLFxuICAgICAgYW1vdW50LFxuICAgICAgb3B0aW9uc1xuICAgICk7XG4gIH1cbiAgc29ydGVkU2V0UmVtb3ZlRWxlbWVudChcbiAgICBzb3J0ZWRTZXROYW1lOiBzdHJpbmcsXG4gICAgdmFsdWU6IHN0cmluZyB8IFVpbnQ4QXJyYXlcbiAgKTogUHJvbWlzZTxDYWNoZVNvcnRlZFNldFJlbW92ZUVsZW1lbnQuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5zb3J0ZWRTZXRSZW1vdmVFbGVtZW50KFxuICAgICAgdGhpcy5jYWNoZU5hbWUsXG4gICAgICBzb3J0ZWRTZXROYW1lLFxuICAgICAgdmFsdWVcbiAgICApO1xuICB9XG4gIHNvcnRlZFNldFJlbW92ZUVsZW1lbnRzKFxuICAgIHNvcnRlZFNldE5hbWU6IHN0cmluZyxcbiAgICB2YWx1ZXM6IHN0cmluZ1tdIHwgVWludDhBcnJheVtdXG4gICk6IFByb21pc2U8Q2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50cy5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LnNvcnRlZFNldFJlbW92ZUVsZW1lbnRzKFxuICAgICAgdGhpcy5jYWNoZU5hbWUsXG4gICAgICBzb3J0ZWRTZXROYW1lLFxuICAgICAgdmFsdWVzXG4gICAgKTtcbiAgfVxuICBzb3J0ZWRTZXRMZW5ndGgoXG4gICAgc29ydGVkU2V0TmFtZTogc3RyaW5nXG4gICk6IFByb21pc2U8Q2FjaGVTb3J0ZWRTZXRMZW5ndGguUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5zb3J0ZWRTZXRMZW5ndGgodGhpcy5jYWNoZU5hbWUsIHNvcnRlZFNldE5hbWUpO1xuICB9XG4gIHNvcnRlZFNldExlbmd0aEJ5U2NvcmUoXG4gICAgc29ydGVkU2V0TmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBTb3J0ZWRTZXRMZW5ndGhCeVNjb3JlT3B0aW9uc1xuICApOiBQcm9taXNlPENhY2hlU29ydGVkU2V0TGVuZ3RoQnlTY29yZS5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LnNvcnRlZFNldExlbmd0aEJ5U2NvcmUoXG4gICAgICB0aGlzLmNhY2hlTmFtZSxcbiAgICAgIHNvcnRlZFNldE5hbWUsXG4gICAgICBvcHRpb25zXG4gICAgKTtcbiAgfVxuICBpdGVtR2V0VHlwZShrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXkpOiBQcm9taXNlPENhY2hlSXRlbUdldFR5cGUuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC5pdGVtR2V0VHlwZSh0aGlzLmNhY2hlTmFtZSwga2V5KTtcbiAgfVxuICBpdGVtR2V0VHRsKGtleTogc3RyaW5nIHwgVWludDhBcnJheSk6IFByb21pc2U8Q2FjaGVJdGVtR2V0VHRsLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuaXRlbUdldFR0bCh0aGlzLmNhY2hlTmFtZSwga2V5KTtcbiAgfVxuICBrZXlFeGlzdHMoa2V5OiBzdHJpbmcgfCBVaW50OEFycmF5KTogUHJvbWlzZTxDYWNoZUtleUV4aXN0cy5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlQ2xpZW50LmtleUV4aXN0cyh0aGlzLmNhY2hlTmFtZSwga2V5KTtcbiAgfVxuICBrZXlzRXhpc3Qoa2V5czogc3RyaW5nW10gfCBVaW50OEFycmF5W10pOiBQcm9taXNlPENhY2hlS2V5c0V4aXN0LlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQua2V5c0V4aXN0KHRoaXMuY2FjaGVOYW1lLCBrZXlzKTtcbiAgfVxuICB1cGRhdGVUdGwoXG4gICAga2V5OiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgIHR0bE1pbGxpc2Vjb25kczogbnVtYmVyXG4gICk6IFByb21pc2U8Q2FjaGVVcGRhdGVUdGwuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNsaWVudC51cGRhdGVUdGwodGhpcy5jYWNoZU5hbWUsIGtleSwgdHRsTWlsbGlzZWNvbmRzKTtcbiAgfVxuICBpbmNyZWFzZVR0bChcbiAgICBrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgdHRsTWlsbGlzZWNvbmRzOiBudW1iZXJcbiAgKTogUHJvbWlzZTxDYWNoZUluY3JlYXNlVHRsLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuaW5jcmVhc2VUdGwodGhpcy5jYWNoZU5hbWUsIGtleSwgdHRsTWlsbGlzZWNvbmRzKTtcbiAgfVxuICBkZWNyZWFzZVR0bChcbiAgICBrZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgdHRsTWlsbGlzZWNvbmRzOiBudW1iZXJcbiAgKTogUHJvbWlzZTxDYWNoZURlY3JlYXNlVHRsLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDbGllbnQuZGVjcmVhc2VUdGwodGhpcy5jYWNoZU5hbWUsIGtleSwgdHRsTWlsbGlzZWNvbmRzKTtcbiAgfVxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmNhY2hlQ2xpZW50LmNsb3NlKCk7XG4gIH1cbn1cbiJdfQ==
|
@@ -18,4 +18,5 @@ __exportStar(require("./cache"), exports);
|
|
18
18
|
__exportStar(require("./auth"), exports);
|
19
19
|
__exportStar(require("./pubsub"), exports);
|
20
20
|
__exportStar(require("./leaderboard"), exports);
|
21
|
-
|
21
|
+
__exportStar(require("./storage"), exports);
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW50ZXJuYWwvY2xpZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQXdCO0FBQ3hCLHlDQUF1QjtBQUN2QiwyQ0FBeUI7QUFDekIsZ0RBQThCO0FBQzlCLDRDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FjaGUnO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoJztcbmV4cG9ydCAqIGZyb20gJy4vcHVic3ViJztcbmV4cG9ydCAqIGZyb20gJy4vbGVhZGVyYm9hcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yYWdlJztcbiJdfQ==
|
@@ -104,7 +104,7 @@ class AbstractPubsubClient {
|
|
104
104
|
// Another special case is when the cache is not found.
|
105
105
|
// This happens here if the user deletes the cache in the middle of
|
106
106
|
// a subscription.
|
107
|
-
if (momentoError.errorCode() === errors_1.MomentoErrorCode.
|
107
|
+
if (momentoError.errorCode() === errors_1.MomentoErrorCode.CACHE_NOT_FOUND_ERROR) {
|
108
108
|
this.logger.trace('Stream ended due to cache not found error on topic: %s', options.topicName);
|
109
109
|
options.subscription.unsubscribe();
|
110
110
|
options.onError(momentoError, options.subscription);
|
@@ -116,4 +116,4 @@ class AbstractPubsubClient {
|
|
116
116
|
}
|
117
117
|
}
|
118
118
|
exports.AbstractPubsubClient = AbstractPubsubClient;
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RQdWJzdWJDbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaW50ZXJuYWwvY2xpZW50cy9wdWJzdWIvQWJzdHJhY3RQdWJzdWJDbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBSXFCO0FBQ3JCLDRDQUFpRDtBQUNqRCwwQ0FPd0I7QUFDeEIsaUVBQTJEO0FBd0MzRCxNQUFzQixvQkFBb0I7SUFPakMsV0FBVztRQUNoQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM1RCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN2RCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU8sQ0FDbEIsU0FBaUIsRUFDakIsU0FBaUIsRUFDakIsS0FBMEI7UUFFMUIsSUFBSTtZQUNGLElBQUEseUJBQWlCLEVBQUMsU0FBUyxDQUFDLENBQUM7WUFDN0IsSUFBQSx5QkFBaUIsRUFBQyxTQUFTLENBQUMsQ0FBQztTQUM5QjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsa0JBQWtCLENBQ3BELEdBQVksRUFDWixHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksb0JBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQ25DLENBQUM7WUFDRiw4REFBOEQ7U0FDL0Q7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZix3REFBd0QsRUFDeEQsSUFBQSxzQkFBYyxFQUFDLFNBQVMsQ0FBQyxFQUN6QixLQUFLLENBQUMsTUFBTSxDQUNiLENBQUM7UUFFRixPQUFPLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdELENBQUM7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QXNEO1FBQ3RELG9FQUFvRTtRQUNwRSxJQUFJLGtCQUFrQixFQUFFO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLHdEQUF3RCxDQUN6RCxDQUFDO1lBQ0Ysc0VBQXNFO1lBQ3RFLCtFQUErRTtZQUMvRSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztpQkFDeEIsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDVCxPQUFPO1lBQ1QsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxHQUFHLEVBQUU7Z0JBQ1YsT0FBTztZQUNULENBQUMsQ0FBQyxDQUFDO1lBQ0wsT0FBTyxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztZQUNuQyxPQUFPO1NBQ1I7UUFFRCx1REFBdUQ7UUFDdkQsbUVBQW1FO1FBQ25FLGtCQUFrQjtRQUNsQixJQUFJLFlBQVksQ0FBQyxTQUFTLEVBQUUsS0FBSyx5QkFBZ0IsQ0FBQyxlQUFlLEVBQUU7WUFDakUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ2Ysd0RBQXdELEVBQ3hELE9BQU8sQ0FBQyxTQUFTLENBQ2xCLENBQUM7WUFDRixPQUFPLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25DLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNwRCxPQUFPO1NBQ1I7YUFBTTtZQUNMLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNyRDtJQUNILENBQUM7Q0FDRjtBQXBMRCxvREFvTEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0cnVuY2F0ZVN0cmluZyxcbiAgdmFsaWRhdGVDYWNoZU5hbWUsXG4gIHZhbGlkYXRlVG9waWNOYW1lLFxufSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQge01vbWVudG9FcnJvckNvZGV9IGZyb20gJy4uLy4uLy4uL2Vycm9ycyc7XG5pbXBvcnQge1xuICBDcmVkZW50aWFsUHJvdmlkZXIsXG4gIFRvcGljUHVibGlzaCxcbiAgVG9waWNJdGVtLFxuICBNb21lbnRvTG9nZ2VyLFxuICBUb3BpY1N1YnNjcmliZSxcbiAgU3Vic2NyaWJlQ2FsbE9wdGlvbnMsXG59IGZyb20gJy4uLy4uLy4uL2luZGV4JztcbmltcG9ydCB7U3Vic2NyaXB0aW9uU3RhdGV9IGZyb20gJy4uLy4uL3N1YnNjcmlwdGlvbi1zdGF0ZSc7XG5pbXBvcnQge0lQdWJzdWJDbGllbnR9IGZyb20gJy4vSVB1YnN1YkNsaWVudCc7XG5pbXBvcnQge0lDYWNoZVNlcnZpY2VFcnJvck1hcHBlcn0gZnJvbSAnLi4vLi4vLi4vZXJyb3JzL0lDYWNoZVNlcnZpY2VFcnJvck1hcHBlcic7XG5cbi8qKlxuICogRW5jYXBzdWxhdGVzIHBhcmFtZXRlcnMgZm9yIHRoZSBgc2VuZFN1YnNjcmliZWAgbWV0aG9kLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlbmRTdWJzY3JpYmVPcHRpb25zIHtcbiAgY2FjaGVOYW1lOiBzdHJpbmc7XG4gIHRvcGljTmFtZTogc3RyaW5nO1xuICBvbkl0ZW06IChpdGVtOiBUb3BpY0l0ZW0pID0+IHZvaWQ7XG4gIG9uRXJyb3I6IChcbiAgICBlcnJvcjogVG9waWNTdWJzY3JpYmUuRXJyb3IsXG4gICAgc3Vic2NyaXB0aW9uOiBUb3BpY1N1YnNjcmliZS5TdWJzY3JpcHRpb25cbiAgKSA9PiB2b2lkO1xuICBzdWJzY3JpcHRpb25TdGF0ZTogU3Vic2NyaXB0aW9uU3RhdGU7XG4gIHN1YnNjcmlwdGlvbjogVG9waWNTdWJzY3JpYmUuU3Vic2NyaXB0aW9uO1xufVxuXG4vKipcbiAqIEVuY2Fwc3VsYXRlcyBwYXJhbWV0ZXJzIGZvciB0aGUgc3Vic2NyaWJlIGNhbGxiYWNrIHByZXBhcmUgbWV0aG9kcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcmVwYXJlU3Vic2NyaWJlQ2FsbGJhY2tPcHRpb25zIGV4dGVuZHMgU2VuZFN1YnNjcmliZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHByb21pc2UgcmVzb2x2ZSBmdW5jdGlvbi5cbiAgICovXG4gIHJlc29sdmU6IChcbiAgICB2YWx1ZTogVG9waWNTdWJzY3JpYmUuUmVzcG9uc2UgfCBQcm9taXNlTGlrZTxUb3BpY1N1YnNjcmliZS5TdWJzY3JpcHRpb24+XG4gICkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHN0cmVhbSB3YXMgcmVzdGFydGVkIGR1ZSB0byBhbiBlcnJvci4gSWYgc28sIHdlIHNraXAgdGhlIGVuZCBzdHJlYW0gaGFuZGxlclxuICAgKiBsb2dpYyBhcyB0aGUgZXJyb3IgaGFuZGxlciB3aWxsIGhhdmUgcmVzdGFydGVkIHRoZSBzdHJlYW0uXG4gICAqL1xuICByZXN0YXJ0ZWREdWVUb0Vycm9yOiBib29sZWFuO1xuICAvKipcbiAgICogSWYgdGhlIGZpcnN0IG1lc3NhZ2UgaXMgYW4gZXJyb3IsIHdlIHJldHVybiBhbiBlcnJvciBpbW1lZGlhdGVseSBhbmQgZG8gbm90IHN1YnNjcmliZS5cbiAgICovXG4gIGZpcnN0TWVzc2FnZTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0UHVic3ViQ2xpZW50PFRHcnBjRXJyb3I+XG4gIGltcGxlbWVudHMgSVB1YnN1YkNsaWVudFxue1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbG9nZ2VyOiBNb21lbnRvTG9nZ2VyO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY3JlZGVudGlhbFByb3ZpZGVyOiBDcmVkZW50aWFsUHJvdmlkZXI7XG4gIHByb3RlY3RlZCByZWFkb25seSBjYWNoZVNlcnZpY2VFcnJvck1hcHBlcjogSUNhY2hlU2VydmljZUVycm9yTWFwcGVyPFRHcnBjRXJyb3I+O1xuXG4gIHB1YmxpYyBnZXRFbmRwb2ludCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGVuZHBvaW50ID0gdGhpcy5jcmVkZW50aWFsUHJvdmlkZXIuZ2V0Q2FjaGVFbmRwb2ludCgpO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBVc2luZyBjYWNoZSBlbmRwb2ludDogJHtlbmRwb2ludH1gKTtcbiAgICByZXR1cm4gZW5kcG9pbnQ7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcHVibGlzaChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICB0b3BpY05hbWU6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nIHwgVWludDhBcnJheVxuICApOiBQcm9taXNlPFRvcGljUHVibGlzaC5SZXNwb25zZT4ge1xuICAgIHRyeSB7XG4gICAgICB2YWxpZGF0ZUNhY2hlTmFtZShjYWNoZU5hbWUpO1xuICAgICAgdmFsaWRhdGVUb3BpY05hbWUodG9waWNOYW1lKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHJldHVybiB0aGlzLmNhY2hlU2VydmljZUVycm9yTWFwcGVyLnJldHVybk9yVGhyb3dFcnJvcihcbiAgICAgICAgZXJyIGFzIEVycm9yLFxuICAgICAgICBlcnIgPT4gbmV3IFRvcGljUHVibGlzaC5FcnJvcihlcnIpXG4gICAgICApO1xuICAgICAgLy8gKSAgbmV3IFRvcGljUHVibGlzaC5FcnJvcihub3JtYWxpemVTZGtFcnJvcihlcnIgYXMgRXJyb3IpKTtcbiAgICB9XG4gICAgdGhpcy5sb2dnZXIudHJhY2UoXG4gICAgICAnSXNzdWluZyBwdWJsaXNoIHJlcXVlc3Q7IHRvcGljOiAlcywgbWVzc2FnZSBsZW5ndGg6ICVzJyxcbiAgICAgIHRydW5jYXRlU3RyaW5nKHRvcGljTmFtZSksXG4gICAgICB2YWx1ZS5sZW5ndGhcbiAgICApO1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuc2VuZFB1Ymxpc2goY2FjaGVOYW1lLCB0b3BpY05hbWUsIHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzZW5kUHVibGlzaChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICB0b3BpY05hbWU6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nIHwgVWludDhBcnJheVxuICApOiBQcm9taXNlPFRvcGljUHVibGlzaC5SZXNwb25zZT47XG5cbiAgcHVibGljIGFzeW5jIHN1YnNjcmliZShcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICB0b3BpY05hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zOiBTdWJzY3JpYmVDYWxsT3B0aW9uc1xuICApOiBQcm9taXNlPFRvcGljU3Vic2NyaWJlLlJlc3BvbnNlPiB7XG4gICAgdHJ5IHtcbiAgICAgIHZhbGlkYXRlQ2FjaGVOYW1lKGNhY2hlTmFtZSk7XG4gICAgICB2YWxpZGF0ZVRvcGljTmFtZSh0b3BpY05hbWUpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgcmV0dXJuIHRoaXMuY2FjaGVTZXJ2aWNlRXJyb3JNYXBwZXIucmV0dXJuT3JUaHJvd0Vycm9yKFxuICAgICAgICBlcnIgYXMgRXJyb3IsXG4gICAgICAgIGVyciA9PiBuZXcgVG9waWNTdWJzY3JpYmUuRXJyb3IoZXJyKVxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5sb2dnZXIudHJhY2UoXG4gICAgICAnSXNzdWluZyBzdWJzY3JpYmUgcmVxdWVzdDsgdG9waWM6ICVzJyxcbiAgICAgIHRydW5jYXRlU3RyaW5nKHRvcGljTmFtZSlcbiAgICApO1xuXG4gICAgY29uc3Qgb25JdGVtID1cbiAgICAgIG9wdGlvbnMub25JdGVtID8/XG4gICAgICAoKCkgPT4ge1xuICAgICAgICByZXR1cm47XG4gICAgICB9KTtcbiAgICBjb25zdCBvbkVycm9yID1cbiAgICAgIG9wdGlvbnMub25FcnJvciA/P1xuICAgICAgKCgpID0+IHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSk7XG5cbiAgICBjb25zdCBzdWJzY3JpcHRpb25TdGF0ZSA9IG5ldyBTdWJzY3JpcHRpb25TdGF0ZSgpO1xuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IG5ldyBUb3BpY1N1YnNjcmliZS5TdWJzY3JpcHRpb24oc3Vic2NyaXB0aW9uU3RhdGUpO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnNlbmRTdWJzY3JpYmUoe1xuICAgICAgY2FjaGVOYW1lOiBjYWNoZU5hbWUsXG4gICAgICB0b3BpY05hbWU6IHRvcGljTmFtZSxcbiAgICAgIG9uSXRlbTogb25JdGVtLFxuICAgICAgb25FcnJvcjogb25FcnJvcixcbiAgICAgIHN1YnNjcmlwdGlvblN0YXRlOiBzdWJzY3JpcHRpb25TdGF0ZSxcbiAgICAgIHN1YnNjcmlwdGlvbjogc3Vic2NyaXB0aW9uLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNlbmRTdWJzY3JpYmUoXG4gICAgb3B0aW9uczogU2VuZFN1YnNjcmliZU9wdGlvbnNcbiAgKTogUHJvbWlzZTxUb3BpY1N1YnNjcmliZS5SZXNwb25zZT47XG5cbiAgcHJvdGVjdGVkIHByZXBhcmVFbmRDYWxsYmFjayhcbiAgICBvcHRpb25zOiBQcmVwYXJlU3Vic2NyaWJlQ2FsbGJhY2tPcHRpb25zXG4gICk6ICgpID0+IHZvaWQge1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAvLyBXZSB3YW50IHRvIHJlc3RhcnQgb24gc3RyZWFtIGVuZCwgZXhjZXB0IGlmOlxuICAgICAgLy8gMS4gVGhlIHN0cmVhbSB3YXMgY2FuY2VsbGVkIGJ5IHRoZSBjYWxsZXIuXG4gICAgICAvLyAyLiBUaGUgc3RyZWFtIHdhcyByZXN0YXJ0ZWQgZm9sbG93aW5nIGFuIGVycm9yLlxuICAgICAgaWYgKG9wdGlvbnMucmVzdGFydGVkRHVlVG9FcnJvcikge1xuICAgICAgICB0aGlzLmxvZ2dlci50cmFjZShcbiAgICAgICAgICAnU3RyZWFtIGVuZGVkIGFmdGVyIGVycm9yIGJ1dCB3YXMgcmVzdGFydGVkIG9uIHRvcGljOiAlcycsXG4gICAgICAgICAgb3B0aW9ucy50b3BpY05hbWVcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSBlbHNlIGlmICghb3B0aW9ucy5zdWJzY3JpcHRpb25TdGF0ZS5pc1N1YnNjcmliZWQpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIudHJhY2UoXG4gICAgICAgICAgJ1N0cmVhbSBlbmRlZCBhZnRlciB1bnN1YnNjcmliZSBvbiB0b3BpYzogJXMnLFxuICAgICAgICAgIG9wdGlvbnMudG9waWNOYW1lXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5sb2dnZXIudHJhY2UoXG4gICAgICAgICdTdHJlYW0gZW5kZWQgb24gdG9waWM6ICVzOyByZXN0YXJ0aW5nLicsXG4gICAgICAgIG9wdGlvbnMudG9waWNOYW1lXG4gICAgICApO1xuXG4gICAgICAvLyBXaGVuIHJlc3RhcnRpbmcgdGhlIHN0cmVhbSB3ZSBkbyBub3QgZG8gYW55dGhpbmcgd2l0aCB0aGUgcHJvbWlzZXMsXG4gICAgICAvLyBiZWNhdXNlIHdlIHNob3VsZCBoYXZlIGFscmVhZHkgcmV0dXJuZWQgdGhlIHN1YnNjcmlwdGlvbiBvYmplY3QgdG8gdGhlIHVzZXIuXG4gICAgICB0aGlzLnNlbmRTdWJzY3JpYmUob3B0aW9ucylcbiAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0pO1xuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlU3Vic2NyaWJlRXJyb3IoXG4gICAgb3B0aW9uczogUHJlcGFyZVN1YnNjcmliZUNhbGxiYWNrT3B0aW9ucyxcbiAgICBtb21lbnRvRXJyb3I6IFRvcGljU3Vic2NyaWJlLkVycm9yLFxuICAgIGlzUnN0U3RyZWFtTm9FcnJvcjogYm9vbGVhblxuICApOiB2b2lkIHtcbiAgICAvLyBXaGVuIHRoZSBmaXJzdCBtZXNzYWdlIGlzIGFuIGVycm9yLCBhbiBpcnJlY292ZXJhYmxlIGVycm9yIGhhcyBoYXBwZW5lZCxcbiAgICAvLyBlZyB0aGUgY2FjaGUgZG9lcyBub3QgZXhpc3QuIFRoZSB1c2VyIHNob3VsZCBub3QgcmVjZWl2ZSBhIHN1YnNjcmlwdGlvblxuICAgIC8vIG9iamVjdCBidXQgYW4gZXJyb3IuXG4gICAgaWYgKG9wdGlvbnMuZmlyc3RNZXNzYWdlKSB7XG4gICAgICB0aGlzLmxvZ2dlci50cmFjZShcbiAgICAgICAgJ1JlY2VpdmVkIHN1YnNjcmlwdGlvbiBzdHJlYW0gZXJyb3I7IHRvcGljOiAlcycsXG4gICAgICAgIHRydW5jYXRlU3RyaW5nKG9wdGlvbnMudG9waWNOYW1lKVxuICAgICAgKTtcblxuICAgICAgb3B0aW9ucy5yZXNvbHZlKG1vbWVudG9FcnJvcik7XG4gICAgICBvcHRpb25zLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFRoZSBzZXJ2aWNlIGN1dHMgdGhlIHN0cmVhbSBhZnRlciBhIHBlcmlvZCBvZiB0aW1lLlxuICAgIC8vIFRyYW5zcGFyZW50bHkgcmVzdGFydCB0aGUgc3RyZWFtIGluc3RlYWQgb2YgcHJvcGFnYXRpbmcgYW4gZXJyb3IuXG4gICAgaWYgKGlzUnN0U3RyZWFtTm9FcnJvcikge1xuICAgICAgdGhpcy5sb2dnZXIudHJhY2UoXG4gICAgICAgICdTZXJ2ZXIgY2xvc2VkIHN0cmVhbSBkdWUgdG8gaWRsZSBhY3Rpdml0eS4gUmVzdGFydGluZy4nXG4gICAgICApO1xuICAgICAgLy8gV2hlbiByZXN0YXJ0aW5nIHRoZSBzdHJlYW0gd2UgZG8gbm90IGRvIGFueXRoaW5nIHdpdGggdGhlIHByb21pc2VzLFxuICAgICAgLy8gYmVjYXVzZSB3ZSBzaG91bGQgaGF2ZSBhbHJlYWR5IHJldHVybmVkIHRoZSBzdWJzY3JpcHRpb24gb2JqZWN0IHRvIHRoZSB1c2VyLlxuICAgICAgdGhpcy5zZW5kU3Vic2NyaWJlKG9wdGlvbnMpXG4gICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9KTtcbiAgICAgIG9wdGlvbnMucmVzdGFydGVkRHVlVG9FcnJvciA9IHRydWU7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQW5vdGhlciBzcGVjaWFsIGNhc2UgaXMgd2hlbiB0aGUgY2FjaGUgaXMgbm90IGZvdW5kLlxuICAgIC8vIFRoaXMgaGFwcGVucyBoZXJlIGlmIHRoZSB1c2VyIGRlbGV0ZXMgdGhlIGNhY2hlIGluIHRoZSBtaWRkbGUgb2ZcbiAgICAvLyBhIHN1YnNjcmlwdGlvbi5cbiAgICBpZiAobW9tZW50b0Vycm9yLmVycm9yQ29kZSgpID09PSBNb21lbnRvRXJyb3JDb2RlLk5PVF9GT1VORF9FUlJPUikge1xuICAgICAgdGhpcy5sb2dnZXIudHJhY2UoXG4gICAgICAgICdTdHJlYW0gZW5kZWQgZHVlIHRvIGNhY2hlIG5vdCBmb3VuZCBlcnJvciBvbiB0b3BpYzogJXMnLFxuICAgICAgICBvcHRpb25zLnRvcGljTmFtZVxuICAgICAgKTtcbiAgICAgIG9wdGlvbnMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICBvcHRpb25zLm9uRXJyb3IobW9tZW50b0Vycm9yLCBvcHRpb25zLnN1YnNjcmlwdGlvbik7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIHtcbiAgICAgIG9wdGlvbnMub25FcnJvcihtb21lbnRvRXJyb3IsIG9wdGlvbnMuc3Vic2NyaXB0aW9uKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RQdWJzdWJDbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaW50ZXJuYWwvY2xpZW50cy9wdWJzdWIvQWJzdHJhY3RQdWJzdWJDbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBSXFCO0FBQ3JCLDRDQUFpRDtBQUNqRCwwQ0FPd0I7QUFDeEIsaUVBQTJEO0FBd0MzRCxNQUFzQixvQkFBb0I7SUFPakMsV0FBVztRQUNoQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM1RCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN2RCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU8sQ0FDbEIsU0FBaUIsRUFDakIsU0FBaUIsRUFDakIsS0FBMEI7UUFFMUIsSUFBSTtZQUNGLElBQUEseUJBQWlCLEVBQUMsU0FBUyxDQUFDLENBQUM7WUFDN0IsSUFBQSx5QkFBaUIsRUFBQyxTQUFTLENBQUMsQ0FBQztTQUM5QjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsa0JBQWtCLENBQ3BELEdBQVksRUFDWixHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksb0JBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQ25DLENBQUM7WUFDRiw4REFBOEQ7U0FDL0Q7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZix3REFBd0QsRUFDeEQsSUFBQSxzQkFBYyxFQUFDLFNBQVMsQ0FBQyxFQUN6QixLQUFLLENBQUMsTUFBTSxDQUNiLENBQUM7UUFFRixPQUFPLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdELENBQUM7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QXNEO1FBQ3RELG9FQUFvRTtRQUNwRSxJQUFJLGtCQUFrQixFQUFFO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLHdEQUF3RCxDQUN6RCxDQUFDO1lBQ0Ysc0VBQXNFO1lBQ3RFLCtFQUErRTtZQUMvRSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztpQkFDeEIsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDVCxPQUFPO1lBQ1QsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxHQUFHLEVBQUU7Z0JBQ1YsT0FBTztZQUNULENBQUMsQ0FBQyxDQUFDO1lBQ0wsT0FBTyxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztZQUNuQyxPQUFPO1NBQ1I7UUFFRCx1REFBdUQ7UUFDdkQsbUVBQW1FO1FBQ25FLGtCQUFrQjtRQUNsQixJQUFJLFlBQVksQ0FBQyxTQUFTLEVBQUUsS0FBSyx5QkFBZ0IsQ0FBQyxxQkFBcUIsRUFBRTtZQUN2RSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZix3REFBd0QsRUFDeEQsT0FBTyxDQUFDLFNBQVMsQ0FDbEIsQ0FBQztZQUNGLE9BQU8sQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3BELE9BQU87U0FDUjthQUFNO1lBQ0wsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQztDQUNGO0FBcExELG9EQW9MQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHRydW5jYXRlU3RyaW5nLFxuICB2YWxpZGF0ZUNhY2hlTmFtZSxcbiAgdmFsaWRhdGVUb3BpY05hbWUsXG59IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7TW9tZW50b0Vycm9yQ29kZX0gZnJvbSAnLi4vLi4vLi4vZXJyb3JzJztcbmltcG9ydCB7XG4gIENyZWRlbnRpYWxQcm92aWRlcixcbiAgVG9waWNQdWJsaXNoLFxuICBUb3BpY0l0ZW0sXG4gIE1vbWVudG9Mb2dnZXIsXG4gIFRvcGljU3Vic2NyaWJlLFxuICBTdWJzY3JpYmVDYWxsT3B0aW9ucyxcbn0gZnJvbSAnLi4vLi4vLi4vaW5kZXgnO1xuaW1wb3J0IHtTdWJzY3JpcHRpb25TdGF0ZX0gZnJvbSAnLi4vLi4vc3Vic2NyaXB0aW9uLXN0YXRlJztcbmltcG9ydCB7SVB1YnN1YkNsaWVudH0gZnJvbSAnLi9JUHVic3ViQ2xpZW50JztcbmltcG9ydCB7SUNhY2hlU2VydmljZUVycm9yTWFwcGVyfSBmcm9tICcuLi8uLi8uLi9lcnJvcnMvSUNhY2hlU2VydmljZUVycm9yTWFwcGVyJztcblxuLyoqXG4gKiBFbmNhcHN1bGF0ZXMgcGFyYW1ldGVycyBmb3IgdGhlIGBzZW5kU3Vic2NyaWJlYCBtZXRob2QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZFN1YnNjcmliZU9wdGlvbnMge1xuICBjYWNoZU5hbWU6IHN0cmluZztcbiAgdG9waWNOYW1lOiBzdHJpbmc7XG4gIG9uSXRlbTogKGl0ZW06IFRvcGljSXRlbSkgPT4gdm9pZDtcbiAgb25FcnJvcjogKFxuICAgIGVycm9yOiBUb3BpY1N1YnNjcmliZS5FcnJvcixcbiAgICBzdWJzY3JpcHRpb246IFRvcGljU3Vic2NyaWJlLlN1YnNjcmlwdGlvblxuICApID0+IHZvaWQ7XG4gIHN1YnNjcmlwdGlvblN0YXRlOiBTdWJzY3JpcHRpb25TdGF0ZTtcbiAgc3Vic2NyaXB0aW9uOiBUb3BpY1N1YnNjcmliZS5TdWJzY3JpcHRpb247XG59XG5cbi8qKlxuICogRW5jYXBzdWxhdGVzIHBhcmFtZXRlcnMgZm9yIHRoZSBzdWJzY3JpYmUgY2FsbGJhY2sgcHJlcGFyZSBtZXRob2RzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByZXBhcmVTdWJzY3JpYmVDYWxsYmFja09wdGlvbnMgZXh0ZW5kcyBTZW5kU3Vic2NyaWJlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgcHJvbWlzZSByZXNvbHZlIGZ1bmN0aW9uLlxuICAgKi9cbiAgcmVzb2x2ZTogKFxuICAgIHZhbHVlOiBUb3BpY1N1YnNjcmliZS5SZXNwb25zZSB8IFByb21pc2VMaWtlPFRvcGljU3Vic2NyaWJlLlN1YnNjcmlwdGlvbj5cbiAgKSA9PiB2b2lkO1xuICAvKipcbiAgICogV2hldGhlciB0aGUgc3RyZWFtIHdhcyByZXN0YXJ0ZWQgZHVlIHRvIGFuIGVycm9yLiBJZiBzbywgd2Ugc2tpcCB0aGUgZW5kIHN0cmVhbSBoYW5kbGVyXG4gICAqIGxvZ2ljIGFzIHRoZSBlcnJvciBoYW5kbGVyIHdpbGwgaGF2ZSByZXN0YXJ0ZWQgdGhlIHN0cmVhbS5cbiAgICovXG4gIHJlc3RhcnRlZER1ZVRvRXJyb3I6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJZiB0aGUgZmlyc3QgbWVzc2FnZSBpcyBhbiBlcnJvciwgd2UgcmV0dXJuIGFuIGVycm9yIGltbWVkaWF0ZWx5IGFuZCBkbyBub3Qgc3Vic2NyaWJlLlxuICAgKi9cbiAgZmlyc3RNZXNzYWdlOiBib29sZWFuO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RQdWJzdWJDbGllbnQ8VEdycGNFcnJvcj5cbiAgaW1wbGVtZW50cyBJUHVic3ViQ2xpZW50XG57XG4gIHByb3RlY3RlZCByZWFkb25seSBsb2dnZXI6IE1vbWVudG9Mb2dnZXI7XG4gIHByb3RlY3RlZCByZWFkb25seSBjcmVkZW50aWFsUHJvdmlkZXI6IENyZWRlbnRpYWxQcm92aWRlcjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhY2hlU2VydmljZUVycm9yTWFwcGVyOiBJQ2FjaGVTZXJ2aWNlRXJyb3JNYXBwZXI8VEdycGNFcnJvcj47XG5cbiAgcHVibGljIGdldEVuZHBvaW50KCk6IHN0cmluZyB7XG4gICAgY29uc3QgZW5kcG9pbnQgPSB0aGlzLmNyZWRlbnRpYWxQcm92aWRlci5nZXRDYWNoZUVuZHBvaW50KCk7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoYFVzaW5nIGNhY2hlIGVuZHBvaW50OiAke2VuZHBvaW50fWApO1xuICAgIHJldHVybiBlbmRwb2ludDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBwdWJsaXNoKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHRvcGljTmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5XG4gICk6IFByb21pc2U8VG9waWNQdWJsaXNoLlJlc3BvbnNlPiB7XG4gICAgdHJ5IHtcbiAgICAgIHZhbGlkYXRlQ2FjaGVOYW1lKGNhY2hlTmFtZSk7XG4gICAgICB2YWxpZGF0ZVRvcGljTmFtZSh0b3BpY05hbWUpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgcmV0dXJuIHRoaXMuY2FjaGVTZXJ2aWNlRXJyb3JNYXBwZXIucmV0dXJuT3JUaHJvd0Vycm9yKFxuICAgICAgICBlcnIgYXMgRXJyb3IsXG4gICAgICAgIGVyciA9PiBuZXcgVG9waWNQdWJsaXNoLkVycm9yKGVycilcbiAgICAgICk7XG4gICAgICAvLyApICBuZXcgVG9waWNQdWJsaXNoLkVycm9yKG5vcm1hbGl6ZVNka0Vycm9yKGVyciBhcyBFcnJvcikpO1xuICAgIH1cbiAgICB0aGlzLmxvZ2dlci50cmFjZShcbiAgICAgICdJc3N1aW5nIHB1Ymxpc2ggcmVxdWVzdDsgdG9waWM6ICVzLCBtZXNzYWdlIGxlbmd0aDogJXMnLFxuICAgICAgdHJ1bmNhdGVTdHJpbmcodG9waWNOYW1lKSxcbiAgICAgIHZhbHVlLmxlbmd0aFxuICAgICk7XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5zZW5kUHVibGlzaChjYWNoZU5hbWUsIHRvcGljTmFtZSwgdmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNlbmRQdWJsaXNoKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHRvcGljTmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5XG4gICk6IFByb21pc2U8VG9waWNQdWJsaXNoLlJlc3BvbnNlPjtcblxuICBwdWJsaWMgYXN5bmMgc3Vic2NyaWJlKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHRvcGljTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM6IFN1YnNjcmliZUNhbGxPcHRpb25zXG4gICk6IFByb21pc2U8VG9waWNTdWJzY3JpYmUuUmVzcG9uc2U+IHtcbiAgICB0cnkge1xuICAgICAgdmFsaWRhdGVDYWNoZU5hbWUoY2FjaGVOYW1lKTtcbiAgICAgIHZhbGlkYXRlVG9waWNOYW1lKHRvcGljTmFtZSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICByZXR1cm4gdGhpcy5jYWNoZVNlcnZpY2VFcnJvck1hcHBlci5yZXR1cm5PclRocm93RXJyb3IoXG4gICAgICAgIGVyciBhcyBFcnJvcixcbiAgICAgICAgZXJyID0+IG5ldyBUb3BpY1N1YnNjcmliZS5FcnJvcihlcnIpXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLmxvZ2dlci50cmFjZShcbiAgICAgICdJc3N1aW5nIHN1YnNjcmliZSByZXF1ZXN0OyB0b3BpYzogJXMnLFxuICAgICAgdHJ1bmNhdGVTdHJpbmcodG9waWNOYW1lKVxuICAgICk7XG5cbiAgICBjb25zdCBvbkl0ZW0gPVxuICAgICAgb3B0aW9ucy5vbkl0ZW0gPz9cbiAgICAgICgoKSA9PiB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0pO1xuICAgIGNvbnN0IG9uRXJyb3IgPVxuICAgICAgb3B0aW9ucy5vbkVycm9yID8/XG4gICAgICAoKCkgPT4ge1xuICAgICAgICByZXR1cm47XG4gICAgICB9KTtcblxuICAgIGNvbnN0IHN1YnNjcmlwdGlvblN0YXRlID0gbmV3IFN1YnNjcmlwdGlvblN0YXRlKCk7XG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gbmV3IFRvcGljU3Vic2NyaWJlLlN1YnNjcmlwdGlvbihzdWJzY3JpcHRpb25TdGF0ZSk7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuc2VuZFN1YnNjcmliZSh7XG4gICAgICBjYWNoZU5hbWU6IGNhY2hlTmFtZSxcbiAgICAgIHRvcGljTmFtZTogdG9waWNOYW1lLFxuICAgICAgb25JdGVtOiBvbkl0ZW0sXG4gICAgICBvbkVycm9yOiBvbkVycm9yLFxuICAgICAgc3Vic2NyaXB0aW9uU3RhdGU6IHN1YnNjcmlwdGlvblN0YXRlLFxuICAgICAgc3Vic2NyaXB0aW9uOiBzdWJzY3JpcHRpb24sXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2VuZFN1YnNjcmliZShcbiAgICBvcHRpb25zOiBTZW5kU3Vic2NyaWJlT3B0aW9uc1xuICApOiBQcm9taXNlPFRvcGljU3Vic2NyaWJlLlJlc3BvbnNlPjtcblxuICBwcm90ZWN0ZWQgcHJlcGFyZUVuZENhbGxiYWNrKFxuICAgIG9wdGlvbnM6IFByZXBhcmVTdWJzY3JpYmVDYWxsYmFja09wdGlvbnNcbiAgKTogKCkgPT4gdm9pZCB7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIC8vIFdlIHdhbnQgdG8gcmVzdGFydCBvbiBzdHJlYW0gZW5kLCBleGNlcHQgaWY6XG4gICAgICAvLyAxLiBUaGUgc3RyZWFtIHdhcyBjYW5jZWxsZWQgYnkgdGhlIGNhbGxlci5cbiAgICAgIC8vIDIuIFRoZSBzdHJlYW0gd2FzIHJlc3RhcnRlZCBmb2xsb3dpbmcgYW4gZXJyb3IuXG4gICAgICBpZiAob3B0aW9ucy5yZXN0YXJ0ZWREdWVUb0Vycm9yKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLnRyYWNlKFxuICAgICAgICAgICdTdHJlYW0gZW5kZWQgYWZ0ZXIgZXJyb3IgYnV0IHdhcyByZXN0YXJ0ZWQgb24gdG9waWM6ICVzJyxcbiAgICAgICAgICBvcHRpb25zLnRvcGljTmFtZVxuICAgICAgICApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9IGVsc2UgaWYgKCFvcHRpb25zLnN1YnNjcmlwdGlvblN0YXRlLmlzU3Vic2NyaWJlZCkge1xuICAgICAgICB0aGlzLmxvZ2dlci50cmFjZShcbiAgICAgICAgICAnU3RyZWFtIGVuZGVkIGFmdGVyIHVuc3Vic2NyaWJlIG9uIHRvcGljOiAlcycsXG4gICAgICAgICAgb3B0aW9ucy50b3BpY05hbWVcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmxvZ2dlci50cmFjZShcbiAgICAgICAgJ1N0cmVhbSBlbmRlZCBvbiB0b3BpYzogJXM7IHJlc3RhcnRpbmcuJyxcbiAgICAgICAgb3B0aW9ucy50b3BpY05hbWVcbiAgICAgICk7XG5cbiAgICAgIC8vIFdoZW4gcmVzdGFydGluZyB0aGUgc3RyZWFtIHdlIGRvIG5vdCBkbyBhbnl0aGluZyB3aXRoIHRoZSBwcm9taXNlcyxcbiAgICAgIC8vIGJlY2F1c2Ugd2Ugc2hvdWxkIGhhdmUgYWxyZWFkeSByZXR1cm5lZCB0aGUgc3Vic2NyaXB0aW9uIG9iamVjdCB0byB0aGUgdXNlci5cbiAgICAgIHRoaXMuc2VuZFN1YnNjcmliZShvcHRpb25zKVxuICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVTdWJzY3JpYmVFcnJvcihcbiAgICBvcHRpb25zOiBQcmVwYXJlU3Vic2NyaWJlQ2FsbGJhY2tPcHRpb25zLFxuICAgIG1vbWVudG9FcnJvcjogVG9waWNTdWJzY3JpYmUuRXJyb3IsXG4gICAgaXNSc3RTdHJlYW1Ob0Vycm9yOiBib29sZWFuXG4gICk6IHZvaWQge1xuICAgIC8vIFdoZW4gdGhlIGZpcnN0IG1lc3NhZ2UgaXMgYW4gZXJyb3IsIGFuIGlycmVjb3ZlcmFibGUgZXJyb3IgaGFzIGhhcHBlbmVkLFxuICAgIC8vIGVnIHRoZSBjYWNoZSBkb2VzIG5vdCBleGlzdC4gVGhlIHVzZXIgc2hvdWxkIG5vdCByZWNlaXZlIGEgc3Vic2NyaXB0aW9uXG4gICAgLy8gb2JqZWN0IGJ1dCBhbiBlcnJvci5cbiAgICBpZiAob3B0aW9ucy5maXJzdE1lc3NhZ2UpIHtcbiAgICAgIHRoaXMubG9nZ2VyLnRyYWNlKFxuICAgICAgICAnUmVjZWl2ZWQgc3Vic2NyaXB0aW9uIHN0cmVhbSBlcnJvcjsgdG9waWM6ICVzJyxcbiAgICAgICAgdHJ1bmNhdGVTdHJpbmcob3B0aW9ucy50b3BpY05hbWUpXG4gICAgICApO1xuXG4gICAgICBvcHRpb25zLnJlc29sdmUobW9tZW50b0Vycm9yKTtcbiAgICAgIG9wdGlvbnMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gVGhlIHNlcnZpY2UgY3V0cyB0aGUgc3RyZWFtIGFmdGVyIGEgcGVyaW9kIG9mIHRpbWUuXG4gICAgLy8gVHJhbnNwYXJlbnRseSByZXN0YXJ0IHRoZSBzdHJlYW0gaW5zdGVhZCBvZiBwcm9wYWdhdGluZyBhbiBlcnJvci5cbiAgICBpZiAoaXNSc3RTdHJlYW1Ob0Vycm9yKSB7XG4gICAgICB0aGlzLmxvZ2dlci50cmFjZShcbiAgICAgICAgJ1NlcnZlciBjbG9zZWQgc3RyZWFtIGR1ZSB0byBpZGxlIGFjdGl2aXR5LiBSZXN0YXJ0aW5nLidcbiAgICAgICk7XG4gICAgICAvLyBXaGVuIHJlc3RhcnRpbmcgdGhlIHN0cmVhbSB3ZSBkbyBub3QgZG8gYW55dGhpbmcgd2l0aCB0aGUgcHJvbWlzZXMsXG4gICAgICAvLyBiZWNhdXNlIHdlIHNob3VsZCBoYXZlIGFscmVhZHkgcmV0dXJuZWQgdGhlIHN1YnNjcmlwdGlvbiBvYmplY3QgdG8gdGhlIHVzZXIuXG4gICAgICB0aGlzLnNlbmRTdWJzY3JpYmUob3B0aW9ucylcbiAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0pO1xuICAgICAgb3B0aW9ucy5yZXN0YXJ0ZWREdWVUb0Vycm9yID0gdHJ1ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBBbm90aGVyIHNwZWNpYWwgY2FzZSBpcyB3aGVuIHRoZSBjYWNoZSBpcyBub3QgZm91bmQuXG4gICAgLy8gVGhpcyBoYXBwZW5zIGhlcmUgaWYgdGhlIHVzZXIgZGVsZXRlcyB0aGUgY2FjaGUgaW4gdGhlIG1pZGRsZSBvZlxuICAgIC8vIGEgc3Vic2NyaXB0aW9uLlxuICAgIGlmIChtb21lbnRvRXJyb3IuZXJyb3JDb2RlKCkgPT09IE1vbWVudG9FcnJvckNvZGUuQ0FDSEVfTk9UX0ZPVU5EX0VSUk9SKSB7XG4gICAgICB0aGlzLmxvZ2dlci50cmFjZShcbiAgICAgICAgJ1N0cmVhbSBlbmRlZCBkdWUgdG8gY2FjaGUgbm90IGZvdW5kIGVycm9yIG9uIHRvcGljOiAlcycsXG4gICAgICAgIG9wdGlvbnMudG9waWNOYW1lXG4gICAgICApO1xuICAgICAgb3B0aW9ucy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIG9wdGlvbnMub25FcnJvcihtb21lbnRvRXJyb3IsIG9wdGlvbnMuc3Vic2NyaXB0aW9uKTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2Uge1xuICAgICAgb3B0aW9ucy5vbkVycm9yKG1vbWVudG9FcnJvciwgb3B0aW9ucy5zdWJzY3JpcHRpb24pO1xuICAgIH1cbiAgfVxufVxuIl19
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { CreateStore, DeleteStore, ListStores, StorageGet, StoragePut, StorageDelete } from '../../../index';
|
2
|
+
import { IStorageDataClient } from './IStorageDataClient';
|
3
|
+
import { IStorageClient } from '../../../clients/IStorageClient';
|
4
|
+
import { IStorageControlClient } from './IStorageControlClient';
|
5
|
+
export declare abstract class AbstractStorageClient implements IStorageClient {
|
6
|
+
protected readonly dataClients: IStorageDataClient[];
|
7
|
+
protected readonly controlClient: IStorageControlClient;
|
8
|
+
private nextDataClientIndex;
|
9
|
+
protected constructor(dataClients: IStorageDataClient[], controlClient: IStorageControlClient);
|
10
|
+
createStore(storeName: string): Promise<CreateStore.Response>;
|
11
|
+
listStores(): Promise<ListStores.Response>;
|
12
|
+
deleteStore(storeName: string): Promise<DeleteStore.Response>;
|
13
|
+
get(storeName: string, key: string): Promise<StorageGet.Response>;
|
14
|
+
putInt(storeName: string, key: string, value: number): Promise<StoragePut.Response>;
|
15
|
+
putDouble(storeName: string, key: string, value: number): Promise<StoragePut.Response>;
|
16
|
+
putString(storeName: string, key: string, value: string): Promise<StoragePut.Response>;
|
17
|
+
putBytes(storeName: string, key: string, value: Uint8Array): Promise<StoragePut.Response>;
|
18
|
+
delete(storeName: string, key: string): Promise<StorageDelete.Response>;
|
19
|
+
private getNextDataClient;
|
20
|
+
abstract close(): void;
|
21
|
+
}
|
@@ -0,0 +1,48 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.AbstractStorageClient = void 0;
|
4
|
+
class AbstractStorageClient {
|
5
|
+
constructor(dataClients, controlClient) {
|
6
|
+
this.dataClients = dataClients;
|
7
|
+
this.controlClient = controlClient;
|
8
|
+
// We round-robin the requests through all of our clients. Since javascript
|
9
|
+
// is single-threaded, we don't have to worry about thread safety on this
|
10
|
+
// index variable.
|
11
|
+
this.nextDataClientIndex = 0;
|
12
|
+
}
|
13
|
+
createStore(storeName) {
|
14
|
+
return this.controlClient.createStore(storeName);
|
15
|
+
}
|
16
|
+
listStores() {
|
17
|
+
return this.controlClient.listStores();
|
18
|
+
}
|
19
|
+
deleteStore(storeName) {
|
20
|
+
return this.controlClient.deleteStore(storeName);
|
21
|
+
}
|
22
|
+
get(storeName, key) {
|
23
|
+
return this.getNextDataClient().get(storeName, key);
|
24
|
+
}
|
25
|
+
putInt(storeName, key, value) {
|
26
|
+
return this.getNextDataClient().putInt(storeName, key, value);
|
27
|
+
}
|
28
|
+
putDouble(storeName, key, value) {
|
29
|
+
return this.getNextDataClient().putDouble(storeName, key, value);
|
30
|
+
}
|
31
|
+
putString(storeName, key, value) {
|
32
|
+
return this.getNextDataClient().putString(storeName, key, value);
|
33
|
+
}
|
34
|
+
putBytes(storeName, key, value) {
|
35
|
+
return this.getNextDataClient().putBytes(storeName, key, value);
|
36
|
+
}
|
37
|
+
delete(storeName, key) {
|
38
|
+
return this.getNextDataClient().delete(storeName, key);
|
39
|
+
}
|
40
|
+
getNextDataClient() {
|
41
|
+
const client = this.dataClients[this.nextDataClientIndex];
|
42
|
+
this.nextDataClientIndex =
|
43
|
+
(this.nextDataClientIndex + 1) % this.dataClients.length;
|
44
|
+
return client;
|
45
|
+
}
|
46
|
+
}
|
47
|
+
exports.AbstractStorageClient = AbstractStorageClient;
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RTdG9yYWdlQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2ludGVybmFsL2NsaWVudHMvc3RvcmFnZS9BYnN0cmFjdFN0b3JhZ2VDbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBWUEsTUFBc0IscUJBQXFCO0lBS3pDLFlBQ0UsV0FBaUMsRUFDakMsYUFBb0M7UUFFcEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFFbkMsNEVBQTRFO1FBQzVFLHlFQUF5RTtRQUN6RSxrQkFBa0I7UUFDbEIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsV0FBVyxDQUFDLFNBQWlCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELFdBQVcsQ0FBQyxTQUFpQjtRQUMzQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxHQUFHLENBQUMsU0FBaUIsRUFBRSxHQUFXO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsTUFBTSxDQUNKLFNBQWlCLEVBQ2pCLEdBQVcsRUFDWCxLQUFhO1FBRWIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsU0FBUyxDQUNQLFNBQWlCLEVBQ2pCLEdBQVcsRUFDWCxLQUFhO1FBRWIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsU0FBUyxDQUNQLFNBQWlCLEVBQ2pCLEdBQVcsRUFDWCxLQUFhO1FBRWIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsUUFBUSxDQUNOLFNBQWlCLEVBQ2pCLEdBQVcsRUFDWCxLQUFpQjtRQUVqQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBaUIsRUFBRSxHQUFXO1FBQ25DLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLG1CQUFtQjtZQUN0QixDQUFDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztRQUMzRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBR0Y7QUE5RUQsc0RBOEVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ3JlYXRlU3RvcmUsXG4gIERlbGV0ZVN0b3JlLFxuICBMaXN0U3RvcmVzLFxuICBTdG9yYWdlR2V0LFxuICBTdG9yYWdlUHV0LFxuICBTdG9yYWdlRGVsZXRlLFxufSBmcm9tICcuLi8uLi8uLi9pbmRleCc7XG5pbXBvcnQge0lTdG9yYWdlRGF0YUNsaWVudH0gZnJvbSAnLi9JU3RvcmFnZURhdGFDbGllbnQnO1xuaW1wb3J0IHtJU3RvcmFnZUNsaWVudH0gZnJvbSAnLi4vLi4vLi4vY2xpZW50cy9JU3RvcmFnZUNsaWVudCc7XG5pbXBvcnQge0lTdG9yYWdlQ29udHJvbENsaWVudH0gZnJvbSAnLi9JU3RvcmFnZUNvbnRyb2xDbGllbnQnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RTdG9yYWdlQ2xpZW50IGltcGxlbWVudHMgSVN0b3JhZ2VDbGllbnQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGF0YUNsaWVudHM6IElTdG9yYWdlRGF0YUNsaWVudFtdO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udHJvbENsaWVudDogSVN0b3JhZ2VDb250cm9sQ2xpZW50O1xuICBwcml2YXRlIG5leHREYXRhQ2xpZW50SW5kZXg6IG51bWJlcjtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgZGF0YUNsaWVudHM6IElTdG9yYWdlRGF0YUNsaWVudFtdLFxuICAgIGNvbnRyb2xDbGllbnQ6IElTdG9yYWdlQ29udHJvbENsaWVudFxuICApIHtcbiAgICB0aGlzLmRhdGFDbGllbnRzID0gZGF0YUNsaWVudHM7XG4gICAgdGhpcy5jb250cm9sQ2xpZW50ID0gY29udHJvbENsaWVudDtcblxuICAgIC8vIFdlIHJvdW5kLXJvYmluIHRoZSByZXF1ZXN0cyB0aHJvdWdoIGFsbCBvZiBvdXIgY2xpZW50cy4gIFNpbmNlIGphdmFzY3JpcHRcbiAgICAvLyBpcyBzaW5nbGUtdGhyZWFkZWQsIHdlIGRvbid0IGhhdmUgdG8gd29ycnkgYWJvdXQgdGhyZWFkIHNhZmV0eSBvbiB0aGlzXG4gICAgLy8gaW5kZXggdmFyaWFibGUuXG4gICAgdGhpcy5uZXh0RGF0YUNsaWVudEluZGV4ID0gMDtcbiAgfVxuXG4gIGNyZWF0ZVN0b3JlKHN0b3JlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxDcmVhdGVTdG9yZS5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2xDbGllbnQuY3JlYXRlU3RvcmUoc3RvcmVOYW1lKTtcbiAgfVxuXG4gIGxpc3RTdG9yZXMoKTogUHJvbWlzZTxMaXN0U3RvcmVzLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbENsaWVudC5saXN0U3RvcmVzKCk7XG4gIH1cblxuICBkZWxldGVTdG9yZShzdG9yZU5hbWU6IHN0cmluZyk6IFByb21pc2U8RGVsZXRlU3RvcmUuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sQ2xpZW50LmRlbGV0ZVN0b3JlKHN0b3JlTmFtZSk7XG4gIH1cblxuICBnZXQoc3RvcmVOYW1lOiBzdHJpbmcsIGtleTogc3RyaW5nKTogUHJvbWlzZTxTdG9yYWdlR2V0LlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TmV4dERhdGFDbGllbnQoKS5nZXQoc3RvcmVOYW1lLCBrZXkpO1xuICB9XG5cbiAgcHV0SW50KFxuICAgIHN0b3JlTmFtZTogc3RyaW5nLFxuICAgIGtleTogc3RyaW5nLFxuICAgIHZhbHVlOiBudW1iZXJcbiAgKTogUHJvbWlzZTxTdG9yYWdlUHV0LlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TmV4dERhdGFDbGllbnQoKS5wdXRJbnQoc3RvcmVOYW1lLCBrZXksIHZhbHVlKTtcbiAgfVxuXG4gIHB1dERvdWJsZShcbiAgICBzdG9yZU5hbWU6IHN0cmluZyxcbiAgICBrZXk6IHN0cmluZyxcbiAgICB2YWx1ZTogbnVtYmVyXG4gICk6IFByb21pc2U8U3RvcmFnZVB1dC5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmdldE5leHREYXRhQ2xpZW50KCkucHV0RG91YmxlKHN0b3JlTmFtZSwga2V5LCB2YWx1ZSk7XG4gIH1cblxuICBwdXRTdHJpbmcoXG4gICAgc3RvcmVOYW1lOiBzdHJpbmcsXG4gICAga2V5OiBzdHJpbmcsXG4gICAgdmFsdWU6IHN0cmluZ1xuICApOiBQcm9taXNlPFN0b3JhZ2VQdXQuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5nZXROZXh0RGF0YUNsaWVudCgpLnB1dFN0cmluZyhzdG9yZU5hbWUsIGtleSwgdmFsdWUpO1xuICB9XG5cbiAgcHV0Qnl0ZXMoXG4gICAgc3RvcmVOYW1lOiBzdHJpbmcsXG4gICAga2V5OiBzdHJpbmcsXG4gICAgdmFsdWU6IFVpbnQ4QXJyYXlcbiAgKTogUHJvbWlzZTxTdG9yYWdlUHV0LlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TmV4dERhdGFDbGllbnQoKS5wdXRCeXRlcyhzdG9yZU5hbWUsIGtleSwgdmFsdWUpO1xuICB9XG5cbiAgZGVsZXRlKHN0b3JlTmFtZTogc3RyaW5nLCBrZXk6IHN0cmluZyk6IFByb21pc2U8U3RvcmFnZURlbGV0ZS5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmdldE5leHREYXRhQ2xpZW50KCkuZGVsZXRlKHN0b3JlTmFtZSwga2V5KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TmV4dERhdGFDbGllbnQoKTogSVN0b3JhZ2VEYXRhQ2xpZW50IHtcbiAgICBjb25zdCBjbGllbnQgPSB0aGlzLmRhdGFDbGllbnRzW3RoaXMubmV4dERhdGFDbGllbnRJbmRleF07XG4gICAgdGhpcy5uZXh0RGF0YUNsaWVudEluZGV4ID1cbiAgICAgICh0aGlzLm5leHREYXRhQ2xpZW50SW5kZXggKyAxKSAlIHRoaXMuZGF0YUNsaWVudHMubGVuZ3RoO1xuICAgIHJldHVybiBjbGllbnQ7XG4gIH1cblxuICBhYnN0cmFjdCBjbG9zZSgpOiB2b2lkO1xufVxuIl19
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { CreateStore, DeleteStore, ListStores } from '../../../index';
|
2
|
+
export interface IStorageControlClient {
|
3
|
+
createStore(storeName: string): Promise<CreateStore.Response>;
|
4
|
+
deleteStore(storeName: string): Promise<DeleteStore.Response>;
|
5
|
+
listStores(): Promise<ListStores.Response>;
|
6
|
+
close(): void;
|
7
|
+
}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVN0b3JhZ2VDb250cm9sQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2ludGVybmFsL2NsaWVudHMvc3RvcmFnZS9JU3RvcmFnZUNvbnRyb2xDbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q3JlYXRlU3RvcmUsIERlbGV0ZVN0b3JlLCBMaXN0U3RvcmVzfSBmcm9tICcuLi8uLi8uLi9pbmRleCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVN0b3JhZ2VDb250cm9sQ2xpZW50IHtcbiAgY3JlYXRlU3RvcmUoc3RvcmVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPENyZWF0ZVN0b3JlLlJlc3BvbnNlPjtcbiAgZGVsZXRlU3RvcmUoc3RvcmVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPERlbGV0ZVN0b3JlLlJlc3BvbnNlPjtcbiAgbGlzdFN0b3JlcygpOiBQcm9taXNlPExpc3RTdG9yZXMuUmVzcG9uc2U+O1xuICBjbG9zZSgpOiB2b2lkO1xufVxuIl19
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { StorageGet, StoragePut, StorageDelete } from '../../../index';
|
2
|
+
export interface IStorageDataClient {
|
3
|
+
get(storeName: string, key: string): Promise<StorageGet.Response>;
|
4
|
+
putInt(storeName: string, key: string, value: number): Promise<StoragePut.Response>;
|
5
|
+
putDouble(storeName: string, key: string, value: number): Promise<StoragePut.Response>;
|
6
|
+
putString(storeName: string, key: string, value: string): Promise<StoragePut.Response>;
|
7
|
+
putBytes(storeName: string, key: string, value: Uint8Array): Promise<StoragePut.Response>;
|
8
|
+
delete(storeName: string, key: string): Promise<StorageDelete.Response>;
|
9
|
+
close(): void;
|
10
|
+
}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVN0b3JhZ2VEYXRhQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2ludGVybmFsL2NsaWVudHMvc3RvcmFnZS9JU3RvcmFnZURhdGFDbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U3RvcmFnZUdldCwgU3RvcmFnZVB1dCwgU3RvcmFnZURlbGV0ZX0gZnJvbSAnLi4vLi4vLi4vaW5kZXgnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTdG9yYWdlRGF0YUNsaWVudCB7XG4gIGdldChzdG9yZU5hbWU6IHN0cmluZywga2V5OiBzdHJpbmcpOiBQcm9taXNlPFN0b3JhZ2VHZXQuUmVzcG9uc2U+O1xuICBwdXRJbnQoXG4gICAgc3RvcmVOYW1lOiBzdHJpbmcsXG4gICAga2V5OiBzdHJpbmcsXG4gICAgdmFsdWU6IG51bWJlclxuICApOiBQcm9taXNlPFN0b3JhZ2VQdXQuUmVzcG9uc2U+O1xuICBwdXREb3VibGUoXG4gICAgc3RvcmVOYW1lOiBzdHJpbmcsXG4gICAga2V5OiBzdHJpbmcsXG4gICAgdmFsdWU6IG51bWJlclxuICApOiBQcm9taXNlPFN0b3JhZ2VQdXQuUmVzcG9uc2U+O1xuICBwdXRTdHJpbmcoXG4gICAgc3RvcmVOYW1lOiBzdHJpbmcsXG4gICAga2V5OiBzdHJpbmcsXG4gICAgdmFsdWU6IHN0cmluZ1xuICApOiBQcm9taXNlPFN0b3JhZ2VQdXQuUmVzcG9uc2U+O1xuICBwdXRCeXRlcyhcbiAgICBzdG9yZU5hbWU6IHN0cmluZyxcbiAgICBrZXk6IHN0cmluZyxcbiAgICB2YWx1ZTogVWludDhBcnJheVxuICApOiBQcm9taXNlPFN0b3JhZ2VQdXQuUmVzcG9uc2U+O1xuICBkZWxldGUoc3RvcmVOYW1lOiBzdHJpbmcsIGtleTogc3RyaW5nKTogUHJvbWlzZTxTdG9yYWdlRGVsZXRlLlJlc3BvbnNlPjtcbiAgY2xvc2UoKTogdm9pZDtcbn1cbiJdfQ==
|
@@ -0,0 +1,21 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
+
};
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
__exportStar(require("./AbstractStorageClient"), exports);
|
18
|
+
__exportStar(require("./IStorageControlClient"), exports);
|
19
|
+
__exportStar(require("./IStorageDataClient"), exports);
|
20
|
+
__exportStar(require("../../../clients/IStorageClient"), exports);
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaW50ZXJuYWwvY2xpZW50cy9zdG9yYWdlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwREFBd0M7QUFDeEMsMERBQXdDO0FBQ3hDLHVEQUFxQztBQUNyQyxrRUFBZ0QiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL0Fic3RyYWN0U3RvcmFnZUNsaWVudCc7XG5leHBvcnQgKiBmcm9tICcuL0lTdG9yYWdlQ29udHJvbENsaWVudCc7XG5leHBvcnQgKiBmcm9tICcuL0lTdG9yYWdlRGF0YUNsaWVudCc7XG5leHBvcnQgKiBmcm9tICcuLi8uLi8uLi9jbGllbnRzL0lTdG9yYWdlQ2xpZW50JztcbiJdfQ==
|
@@ -18,6 +18,7 @@ interface TokenAndEndpoints {
|
|
18
18
|
controlEndpoint: string | undefined;
|
19
19
|
cacheEndpoint: string | undefined;
|
20
20
|
tokenEndpoint: string | undefined;
|
21
|
+
storageEndpoint: string | undefined;
|
21
22
|
authToken: string;
|
22
23
|
}
|
23
24
|
export interface Endpoint {
|
@@ -28,6 +29,7 @@ export interface AllEndpoints {
|
|
28
29
|
controlEndpoint: Endpoint;
|
29
30
|
cacheEndpoint: Endpoint;
|
30
31
|
tokenEndpoint: Endpoint;
|
32
|
+
storageEndpoint: Endpoint;
|
31
33
|
}
|
32
34
|
export declare function populateAllEndpointsFromBaseEndpoint(endpointOverride: BaseEndpointOverride): AllEndpoints;
|
33
35
|
/**
|
@@ -27,6 +27,10 @@ function populateAllEndpointsFromBaseEndpoint(endpointOverride) {
|
|
27
27
|
endpoint: `${prefix}token.${endpointOverride.baseEndpoint}`,
|
28
28
|
secureConnection: endpointOverride.secureConnection,
|
29
29
|
},
|
30
|
+
storageEndpoint: {
|
31
|
+
endpoint: `${prefix}storage.${endpointOverride.baseEndpoint}`,
|
32
|
+
secureConnection: endpointOverride.secureConnection,
|
33
|
+
},
|
30
34
|
};
|
31
35
|
}
|
32
36
|
exports.populateAllEndpointsFromBaseEndpoint = populateAllEndpointsFromBaseEndpoint;
|
@@ -56,6 +60,7 @@ const decodeAuthToken = (token) => {
|
|
56
60
|
controlEndpoint: endpoints.controlEndpoint.endpoint,
|
57
61
|
cacheEndpoint: endpoints.cacheEndpoint.endpoint,
|
58
62
|
tokenEndpoint: endpoints.tokenEndpoint.endpoint,
|
63
|
+
storageEndpoint: endpoints.storageEndpoint.endpoint,
|
59
64
|
authToken: base64DecodedToken.api_key,
|
60
65
|
};
|
61
66
|
}
|
@@ -68,6 +73,7 @@ const decodeAuthToken = (token) => {
|
|
68
73
|
controlEndpoint: decodedLegacyToken.cp,
|
69
74
|
cacheEndpoint: decodedLegacyToken.c,
|
70
75
|
tokenEndpoint: decodedLegacyToken.c,
|
76
|
+
storageEndpoint: decodedLegacyToken.c,
|
71
77
|
authToken: token,
|
72
78
|
};
|
73
79
|
}
|
@@ -81,4 +87,4 @@ exports.decodeAuthToken = decodeAuthToken;
|
|
81
87
|
class InternalSuperUserPermissions extends permission_scope_1.PredefinedScope {
|
82
88
|
}
|
83
89
|
exports.InternalSuperUserPermissions = InternalSuperUserPermissions;
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC91dGlscy9hdXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUFrRDtBQUNsRCwyQ0FBbUM7QUFDbkMsNkNBQXNDO0FBQ3RDLHFDQUEwQztBQUMxQyx5RUFBbUU7QUFtQm5FLFNBQVMscUJBQXFCLENBQUksU0FBaUI7SUFDakQsT0FBTyxJQUFBLG9CQUFTLEVBQUksU0FBUyxDQUFDLENBQUM7QUFDakMsQ0FBQztBQXdCRCxTQUFnQixvQ0FBb0MsQ0FDbEQsZ0JBQXNDO0lBRXRDLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNoQixJQUFJLGdCQUFnQixDQUFDLGNBQWMsRUFBRTtRQUNuQyxNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxjQUFjLEdBQUcsQ0FBQztLQUNoRDtJQUNELE9BQU87UUFDTCxlQUFlLEVBQUU7WUFDZixRQUFRLEVBQUUsR0FBRyxNQUFNLFdBQVcsZ0JBQWdCLENBQUMsWUFBWSxFQUFFO1lBQzdELGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLGdCQUFnQjtTQUNwRDtRQUNELGFBQWEsRUFBRTtZQUNiLFFBQVEsRUFBRSxHQUFHLE1BQU0sU0FBUyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUU7WUFDM0QsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsZ0JBQWdCO1NBQ3BEO1FBQ0QsYUFBYSxFQUFFO1lBQ2IsUUFBUSxFQUFFLEdBQUcsTUFBTSxTQUFTLGdCQUFnQixDQUFDLFlBQVksRUFBRTtZQUMzRCxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQyxnQkFBZ0I7U0FDcEQ7UUFDRCxlQUFlLEVBQUU7WUFDZixRQUFRLEVBQUUsR0FBRyxNQUFNLFdBQVcsZ0JBQWdCLENBQUMsWUFBWSxFQUFFO1lBQzdELGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLGdCQUFnQjtTQUNwRDtLQUNGLENBQUM7QUFDSixDQUFDO0FBekJELG9GQXlCQztBQUVEOzs7R0FHRztBQUNJLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBYyxFQUFxQixFQUFFO0lBQ25FLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixNQUFNLElBQUksNkJBQW9CLENBQUMsc0JBQXNCLENBQUMsQ0FBQztLQUN4RDtJQUVELElBQUk7UUFDRix5R0FBeUc7UUFDekcsZ0hBQWdIO1FBQ2hILHFIQUFxSDtRQUNySCx5SEFBeUg7UUFDekgsZ0NBQWdDO1FBQ2hDLElBQUksSUFBQSxxQkFBUSxFQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ25CLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDbkMsSUFBQSx5QkFBZ0IsRUFBQyxLQUFLLENBQUMsQ0FDQSxDQUFDO1lBQzFCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQy9ELE1BQU0sSUFBSSw2QkFBb0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO2FBQ3pEO1lBQ0QsTUFBTSxTQUFTLEdBQUcsb0NBQW9DLENBQUM7Z0JBQ3JELFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxRQUFRO2FBQzFDLENBQUMsQ0FBQztZQUNILE9BQU87Z0JBQ0wsZUFBZSxFQUFFLFNBQVMsQ0FBQyxlQUFlLENBQUMsUUFBUTtnQkFDbkQsYUFBYSxFQUFFLFNBQVMsQ0FBQyxhQUFhLENBQUMsUUFBUTtnQkFDL0MsYUFBYSxFQUFFLFNBQVMsQ0FBQyxhQUFhLENBQUMsUUFBUTtnQkFDL0MsZUFBZSxFQUFFLFNBQVMsQ0FBQyxlQUFlLENBQUMsUUFBUTtnQkFDbkQsU0FBUyxFQUFFLGtCQUFrQixDQUFDLE9BQU87YUFDdEMsQ0FBQztTQUNIO2FBQU07WUFDTCxrSEFBa0g7WUFDbEgsZ0hBQWdIO1lBQ2hILG9IQUFvSDtZQUNwSCxNQUFNLGtCQUFrQixHQUFHLHFCQUFxQixDQUFlLEtBQUssQ0FBQyxDQUFDO1lBQ3RFLE9BQU87Z0JBQ0wsZUFBZSxFQUFFLGtCQUFrQixDQUFDLEVBQUU7Z0JBQ3RDLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO2dCQUNuQyxhQUFhLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztnQkFDbkMsZUFBZSxFQUFFLGtCQUFrQixDQUFDLENBQUM7Z0JBQ3JDLFNBQVMsRUFBRSxLQUFLO2FBQ2pCLENBQUM7U0FDSDtLQUNGO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDViw0RUFBNEU7UUFDNUUsTUFBTSxJQUFJLDZCQUFvQixDQUFDLDBCQUEwQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQy9EO0FBQ0gsQ0FBQyxDQUFDO0FBN0NXLFFBQUEsZUFBZSxtQkE2QzFCO0FBRUYsTUFBYSw0QkFBNkIsU0FBUSxrQ0FBZTtDQUFHO0FBQXBFLG9FQUFvRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW52YWxpZEFyZ3VtZW50RXJyb3J9IGZyb20gJy4uLy4uL2Vycm9ycyc7XG5pbXBvcnQgand0RGVjb2RlIGZyb20gJ2p3dC1kZWNvZGUnO1xuaW1wb3J0IHtpc0Jhc2U2NH0gZnJvbSAnLi92YWxpZGF0b3JzJztcbmltcG9ydCB7ZGVjb2RlRnJvbUJhc2U2NH0gZnJvbSAnLi9zdHJpbmcnO1xuaW1wb3J0IHtQcmVkZWZpbmVkU2NvcGV9IGZyb20gJy4uLy4uL2F1dGgvdG9rZW5zL3Blcm1pc3Npb24tc2NvcGUnO1xuaW1wb3J0IHtCYXNlRW5kcG9pbnRPdmVycmlkZX0gZnJvbSAnLi4vLi4vYXV0aCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGVnYWN5Q2xhaW1zIHtcbiAgLyoqXG4gICAqIGNvbnRyb2wgcGxhbmUgZW5kcG9pbnRcbiAgICovXG4gIGNwOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBjYWNoZSBlbmRwb2ludFxuICAgKi9cbiAgYzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2U2NERlY29kZWRWMVRva2VuIHtcbiAgYXBpX2tleTogc3RyaW5nO1xuICBlbmRwb2ludDogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBkZWNvZGVBdXRoVG9rZW5DbGFpbXM8VD4oYXV0aFRva2VuOiBzdHJpbmcpOiBUIHtcbiAgcmV0dXJuIGp3dERlY29kZTxUPihhdXRoVG9rZW4pO1xufVxuXG5pbnRlcmZhY2UgVG9rZW5BbmRFbmRwb2ludHMge1xuICAvLyBJZiB3ZSBkZWNvZGUgYSBKV1QgdGhhdCBkb2Vzbid0IGFjdHVhbGx5IGhhdmUgdGhlIGNvbnRyb2xFbmRwb2ludC9jYWNoZUVuZHBvaW50IGNsYWltcywgdGhlbiB0aGV5IHdpbGwgY29tZSBiYWNrXG4gIC8vIGFzIHVuZGVmaW5lZDsgdGh1cyB3ZSBuZWVkIHRoZSB0eXBlcyBoZXJlIHRvIGJlIGBzdHJpbmcgfCB1bmRlZmluZWRgLlxuICBjb250cm9sRW5kcG9pbnQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY2FjaGVFbmRwb2ludDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB0b2tlbkVuZHBvaW50OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHN0b3JhZ2VFbmRwb2ludDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBhdXRoVG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbmRwb2ludCB7XG4gIGVuZHBvaW50OiBzdHJpbmc7XG4gIHNlY3VyZUNvbm5lY3Rpb24/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFsbEVuZHBvaW50cyB7XG4gIGNvbnRyb2xFbmRwb2ludDogRW5kcG9pbnQ7XG4gIGNhY2hlRW5kcG9pbnQ6IEVuZHBvaW50O1xuICB0b2tlbkVuZHBvaW50OiBFbmRwb2ludDtcbiAgc3RvcmFnZUVuZHBvaW50OiBFbmRwb2ludDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBvcHVsYXRlQWxsRW5kcG9pbnRzRnJvbUJhc2VFbmRwb2ludChcbiAgZW5kcG9pbnRPdmVycmlkZTogQmFzZUVuZHBvaW50T3ZlcnJpZGVcbik6IEFsbEVuZHBvaW50cyB7XG4gIGxldCBwcmVmaXggPSAnJztcbiAgaWYgKGVuZHBvaW50T3ZlcnJpZGUuZW5kcG9pbnRQcmVmaXgpIHtcbiAgICBwcmVmaXggPSBgJHtlbmRwb2ludE92ZXJyaWRlLmVuZHBvaW50UHJlZml4fS5gO1xuICB9XG4gIHJldHVybiB7XG4gICAgY29udHJvbEVuZHBvaW50OiB7XG4gICAgICBlbmRwb2ludDogYCR7cHJlZml4fWNvbnRyb2wuJHtlbmRwb2ludE92ZXJyaWRlLmJhc2VFbmRwb2ludH1gLFxuICAgICAgc2VjdXJlQ29ubmVjdGlvbjogZW5kcG9pbnRPdmVycmlkZS5zZWN1cmVDb25uZWN0aW9uLFxuICAgIH0sXG4gICAgY2FjaGVFbmRwb2ludDoge1xuICAgICAgZW5kcG9pbnQ6IGAke3ByZWZpeH1jYWNoZS4ke2VuZHBvaW50T3ZlcnJpZGUuYmFzZUVuZHBvaW50fWAsXG4gICAgICBzZWN1cmVDb25uZWN0aW9uOiBlbmRwb2ludE92ZXJyaWRlLnNlY3VyZUNvbm5lY3Rpb24sXG4gICAgfSxcbiAgICB0b2tlbkVuZHBvaW50OiB7XG4gICAgICBlbmRwb2ludDogYCR7cHJlZml4fXRva2VuLiR7ZW5kcG9pbnRPdmVycmlkZS5iYXNlRW5kcG9pbnR9YCxcbiAgICAgIHNlY3VyZUNvbm5lY3Rpb246IGVuZHBvaW50T3ZlcnJpZGUuc2VjdXJlQ29ubmVjdGlvbixcbiAgICB9LFxuICAgIHN0b3JhZ2VFbmRwb2ludDoge1xuICAgICAgZW5kcG9pbnQ6IGAke3ByZWZpeH1zdG9yYWdlLiR7ZW5kcG9pbnRPdmVycmlkZS5iYXNlRW5kcG9pbnR9YCxcbiAgICAgIHNlY3VyZUNvbm5lY3Rpb246IGVuZHBvaW50T3ZlcnJpZGUuc2VjdXJlQ29ubmVjdGlvbixcbiAgICB9LFxuICB9O1xufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB0b2tlblxuICogQHJldHVybnMgVG9rZW5BbmRFbmRwb2ludHNcbiAqL1xuZXhwb3J0IGNvbnN0IGRlY29kZUF1dGhUb2tlbiA9ICh0b2tlbj86IHN0cmluZyk6IFRva2VuQW5kRW5kcG9pbnRzID0+IHtcbiAgaWYgKCF0b2tlbikge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignbWFsZm9ybWVkIGF1dGggdG9rZW4nKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgLy8gdjEgYXBpIHRva2VucyBkb24ndCBoYXZlIGFuIGVuZHBvaW50IGFzIHBhcnQgb2YgdGhlaXIgY2xhaW1zLiBJbnN0ZWFkLCB3aGVuIHRoZSBTREsgcmV0dXJucyB0b2tlbnMsIHdlXG4gICAgLy8gZ2l2ZSBpdCB0byB0aGVtIGFzIGEgYmFzZTY0IGVuY29kZWQgc3RyaW5nIG9mICd7IFwiYXBpX2tleVwiOiBcIjx0aGUga2V5PlwiLCBcImVuZHBvaW50XCI6IFwicHJvZC5tb21lbnRvaHEuY29tXCIgfScuXG4gICAgLy8gU2luY2UgaW4gdGhlIG5lYXIgZnV0dXJlLCBtb3N0IGN1c3RvbWVycyBhcmUgZ29pbmcgdG8gYmUgdXNpbmcgdGhlc2UgbmV3ZXIgdG9rZW5zLCB3ZSBhcmUgZmlyc3QgY2hlY2tpbmcgdG8gc2VlIGlmXG4gICAgLy8gdGhleSBhcmUgYmFzZTY0IGVuY29kZWQsIHdoaWNoIHdpbGwgdGVsbCB1cyB0aGF0IHRoZXkgYXJlIG91ciB2MSBhcGkgdG9rZW5zLiBJZiBpdHMgbm90LCB3ZSB3aWxsIGZhbGwgYmFjayB0byBkZWNvZGluZ1xuICAgIC8vIGl0IGFzIG9uZSBvZiBvdXIgbGVnYWN5IGp3dHMuXG4gICAgaWYgKGlzQmFzZTY0KHRva2VuKSkge1xuICAgICAgY29uc3QgYmFzZTY0RGVjb2RlZFRva2VuID0gSlNPTi5wYXJzZShcbiAgICAgICAgZGVjb2RlRnJvbUJhc2U2NCh0b2tlbilcbiAgICAgICkgYXMgQmFzZTY0RGVjb2RlZFYxVG9rZW47XG4gICAgICBpZiAoIWJhc2U2NERlY29kZWRUb2tlbi5lbmRwb2ludCB8fCAhYmFzZTY0RGVjb2RlZFRva2VuLmFwaV9rZXkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdmYWlsZWQgdG8gcGFyc2UgdG9rZW4nKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGVuZHBvaW50cyA9IHBvcHVsYXRlQWxsRW5kcG9pbnRzRnJvbUJhc2VFbmRwb2ludCh7XG4gICAgICAgIGJhc2VFbmRwb2ludDogYmFzZTY0RGVjb2RlZFRva2VuLmVuZHBvaW50LFxuICAgICAgfSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb250cm9sRW5kcG9pbnQ6IGVuZHBvaW50cy5jb250cm9sRW5kcG9pbnQuZW5kcG9pbnQsXG4gICAgICAgIGNhY2hlRW5kcG9pbnQ6IGVuZHBvaW50cy5jYWNoZUVuZHBvaW50LmVuZHBvaW50LFxuICAgICAgICB0b2tlbkVuZHBvaW50OiBlbmRwb2ludHMudG9rZW5FbmRwb2ludC5lbmRwb2ludCxcbiAgICAgICAgc3RvcmFnZUVuZHBvaW50OiBlbmRwb2ludHMuc3RvcmFnZUVuZHBvaW50LmVuZHBvaW50LFxuICAgICAgICBhdXRoVG9rZW46IGJhc2U2NERlY29kZWRUb2tlbi5hcGlfa2V5LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBkZWNvZGUgZnVuY3Rpb24gdXNlcyBnZW5lcmljcyB0byBhZHZlcnRpc2UgdGhhdCB3ZSB3aWxsIHVzdWFsbHkgZXhwZWN0IHRvIGZpbmQgdGhlIExlZ2FjeUNsYWltcy4gIEhvd2V2ZXIsXG4gICAgICAvLyBpZiB0aGUgdG9rZW4gaXMgYSB2YWxpZCBKV1QgYnV0IG5vdCBhY3R1YWxseSBvbmUgb2Ygb3VyIGxlZ2FjeSB0b2tlbnMsIHRoZSBlbmRwb2ludCBjbGFpbXMgd2lsbCBiZSB1bmRlZmluZWQsXG4gICAgICAvLyB3aGljaCBpcyB3aHkgdGhlIHJldHVybiB0eXBlIGZvciB0aGlzIGZ1bmN0aW9uIHNwZWNpZmllcyB0aGF0IHRoZSBjb250cm9sRW5kcG9pbnQvY2FjaGVFbmRwb2ludCBtYXkgYmUgdW5kZWZpbmVkLlxuICAgICAgY29uc3QgZGVjb2RlZExlZ2FjeVRva2VuID0gZGVjb2RlQXV0aFRva2VuQ2xhaW1zPExlZ2FjeUNsYWltcz4odG9rZW4pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29udHJvbEVuZHBvaW50OiBkZWNvZGVkTGVnYWN5VG9rZW4uY3AsXG4gICAgICAgIGNhY2hlRW5kcG9pbnQ6IGRlY29kZWRMZWdhY3lUb2tlbi5jLFxuICAgICAgICB0b2tlbkVuZHBvaW50OiBkZWNvZGVkTGVnYWN5VG9rZW4uYyxcbiAgICAgICAgc3RvcmFnZUVuZHBvaW50OiBkZWNvZGVkTGVnYWN5VG9rZW4uYyxcbiAgICAgICAgYXV0aFRva2VuOiB0b2tlbixcbiAgICAgIH07XG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihgZmFpbGVkIHRvIHBhcnNlIHRva2VuOiAke2V9YCk7XG4gIH1cbn07XG5cbmV4cG9ydCBjbGFzcyBJbnRlcm5hbFN1cGVyVXNlclBlcm1pc3Npb25zIGV4dGVuZHMgUHJlZGVmaW5lZFNjb3BlIHt9XG4iXX0=
|