@net7/boilerplate-muruca 5.3.3 → 5.3.5

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.
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLW11cnVjYS9zcmMvbGliL2NvbmZpZy10eXBlcy9tdXJ1Y2EvbGF5b3V0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGliT3B0aW9ucywgTmV0d29ya0xpYk9wdGlvbnMgfSBmcm9tICdAbmV0Ny9jb21wb25lbnRzJztcbmltcG9ydCB7IE1yU2VhcmNoQ29uZmlnIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9zZWFyY2guaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIENvbmZpZ011cnVjYUJyZWFkY3J1bWJzU2VjdGlvbixcbiAgQ29uZmlnTXVydWNhQ29sbGVjdGlvblNlY3Rpb24sXG4gIENvbmZpZ011cnVjYUNvbnRlbnRTZWN0aW9uLFxuICBDb25maWdNdXJ1Y2FHYWxsZXJ5U2VjdGlvbixcbiAgQ29uZmlnTXVydWNhSGVyb1NlY3Rpb24sXG4gIENvbmZpZ011cnVjYUltYWdlVmlld2VyU2VjdGlvbixcbiAgQ29uZmlnTXVydWNhSW5mb0JveFNlY3Rpb24sXG4gIENvbmZpZ011cnVjYUl0ZW1QcmV2aWV3U2VjdGlvbixcbiAgQ29uZmlnTXVydWNhTWV0YWRhdGFTZWN0aW9uLFxuICBDb25maWdNdXJ1Y2FTbGlkZXJTZWN0aW9uLFxuICBDb25maWdNdXJ1Y2FUYWJzU2VjdGlvbixcbiAgQ29uZmlnTXVydWNhVGV4dFZpZXdlclNlY3Rpb24sXG4gIENvbmZpZ011cnVjYVRpdGxlU2VjdGlvbixcbiAgQ29uZmlnTXVydWNhTWV0YWRhdGFEeW5hbWljU2VjdGlvbixcbiAgQ29uZmlnTXVydWNhQnV0dG9uU2VjdGlvblxufSBmcm9tICcuL3NlY3Rpb25zJztcblxuZXhwb3J0IGludGVyZmFjZSBDb25maWdNdXJ1Y2FMYXlvdXQge1xuICAvKiogcGFnZSB0aXRsZSAqL1xuICB0aXRsZTogc3RyaW5nO1xuICAvKiogYWRpdGlvbmFsIGJvZHkgY2xhc3NlcyAqL1xuICBib2R5Q2xhc3Nlcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25maWdNdXJ1Y2FIb21lTGF5b3V0IGV4dGVuZHMgQ29uZmlnTXVydWNhTGF5b3V0IHtcbiAgLyoqIGxheW91dCBzZWN0aW9ucyAqL1xuICBzZWN0aW9uczogKFxuICAgIENvbmZpZ011cnVjYVNsaWRlclNlY3Rpb25cbiAgICB8IENvbmZpZ011cnVjYUNvbnRlbnRTZWN0aW9uXG4gICAgfCBDb25maWdNdXJ1Y2FIZXJvU2VjdGlvblxuICAgIHwgQ29uZmlnTXVydWNhQ29sbGVjdGlvblNlY3Rpb25cbiAgKVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ011cnVjYVJlc291cmNlTGF5b3V0IGV4dGVuZHMgQ29uZmlnTXVydWNhTGF5b3V0IHtcbiAgLyoqIHJlc291cmNlIHR5cGUgKHVzZWQgYnkgcmVzb3VyY2UgbW9kYWwpICovXG4gIHR5cGU6IHN0cmluZztcbiAgLyoqIGxheW91dCBzZWN0aW9ucyAodG9wIHwgY29udGVudCkgKi9cbiAgc2VjdGlvbnM6IHtcbiAgICBba2V5IGluICd0b3AnIHwgJ2NvbnRlbnQnXTogKFxuICAgICAgQ29uZmlnTXVydWNhVGFic1NlY3Rpb25cbiAgICAgIHwgQ29uZmlnTXVydWNhVGl0bGVTZWN0aW9uXG4gICAgICB8IENvbmZpZ011cnVjYUltYWdlVmlld2VyU2VjdGlvblxuICAgICAgfCBDb25maWdNdXJ1Y2FNZXRhZGF0YVNlY3Rpb25cbiAgICAgIHwgQ29uZmlnTXVydWNhQ29sbGVjdGlvblNlY3Rpb25cbiAgICAgIHwgQ29uZmlnTXVydWNhSXRlbVByZXZpZXdTZWN0aW9uXG4gICAgICB8IENvbmZpZ011cnVjYVRleHRWaWV3ZXJTZWN0aW9uXG4gICAgICB8IENvbmZpZ011cnVjYUluZm9Cb3hTZWN0aW9uXG4gICAgICB8IENvbmZpZ011cnVjYUJyZWFkY3J1bWJzU2VjdGlvblxuICAgICAgfCBDb25maWdNdXJ1Y2FNZXRhZGF0YUR5bmFtaWNTZWN0aW9uXG4gICAgICB8IENvbmZpZ011cnVjYUJ1dHRvblNlY3Rpb25cbiAgICApW107XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnTXVydWNhSXRpbmVyYXJ5TGF5b3V0IGV4dGVuZHMgQ29uZmlnTXVydWNhTGF5b3V0IHtcbiAgLyoqIGxheW91dCBzZWN0aW9ucyAqL1xuICBzZWN0aW9uczogKFxuICAgIENvbmZpZ011cnVjYU1ldGFkYXRhU2VjdGlvblxuICAgIHwgQ29uZmlnTXVydWNhQ29sbGVjdGlvblNlY3Rpb25cbiAgICB8IENvbmZpZ011cnVjYUdhbGxlcnlTZWN0aW9uXG4gIClbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25maWdNdXJ1Y2FUaW1lbGluZUxheW91dCBleHRlbmRzIENvbmZpZ011cnVjYUxheW91dCB7XG4gIC8qKiBtYXAgaGVhZGVyIHRpdGxlICovXG4gIG1hcEhlYWRlcjogc3RyaW5nO1xuICAvKiogdGltZWxpbmUgbGlicmFyeSBvcHRpb25zICovXG4gIGxpYk9wdGlvbnM6IExpYk9wdGlvbnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnTXVydWNhTmV0d29ya0xheW91dCBleHRlbmRzIENvbmZpZ011cnVjYUxheW91dCB7XG4gIC8qKiBtYXAgaGVhZGVyIHRpdGxlICovXG4gIG1hcEhlYWRlcjogc3RyaW5nO1xuICAvKiogdGltZWxpbmUgbGlicmFyeSBvcHRpb25zICovXG4gIGxpYk9wdGlvbnM6IE5ldHdvcmtMaWJPcHRpb25zO1xufVxuXG50eXBlIFNlYXJjaFNvcnRDb25maWcgPSB7XG4gIC8qKiBzZWxlY3QgbGFiZWwgKi9cbiAgbGFiZWw/OiBzdHJpbmc7XG4gIC8qKiBzZWxlY3Qgb3B0aW9ucyAqL1xuICBvcHRpb25zOiB7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIHNlbGVjdGVkPzogYm9vbGVhbjtcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIH1bXTtcbn1cblxudHlwZSBTZWFyY2hQYWdpbmF0aW9uQ29uZmlnID0ge1xuICAvKiogcmVzdWx0cyBwZXIgcGFnZSAqL1xuICBsaW1pdDogbnVtYmVyO1xuICAvKiogc2VsZWN0IG9wdGlvbnMgKi9cbiAgb3B0aW9uczogbnVtYmVyW107XG4gIC8qKiBzZWxlY3QgbGFiZWwgKi9cbiAgc2VsZWN0TGFiZWw/OiBzdHJpbmc7XG59XG5cbnR5cGUgU2VhcmNoSXRlbVByZXZpZXdDb25maWcgPSB7XG4gIC8qKiBhZGl0aW9uYWwgY3NzIGNsYXNzZXMgKi9cbiAgY2xhc3Nlczogc3RyaW5nO1xuICAvKiogbGluayB0YXJnZXQgPGEgdGFyZ2V0PVwie3RhcmdldH1cIj4gICovXG4gIGxpbmtUYXJnZXQ/OiAnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCc7XG59XG5cbnR5cGUgU2VhcmNoRmFsbGJhY2tDb25maWcgPSB7XG4gIC8qKiBkZXNjcmlwdGlvbiAobm8gcmVzdWx0cyB8IGVycm9yKSAqL1xuICB0ZXh0OiBzdHJpbmc7XG4gIC8qKiBidXR0b24gdGV4dCAqL1xuICBidXR0b246IHN0cmluZztcbiAgLyoqIGJ1dHRvbiBwYXlsb2FkICovXG4gIHBheWxvYWQ/OiBvYmplY3Q7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnTXVydWNhU2VhcmNoTGF5b3V0IGV4dGVuZHMgQ29uZmlnTXVydWNhTGF5b3V0IHtcbiAgLyoqIHNlYXJjaCBpZCAodW5pcXVlKSB1c2VkIGJ5IHNlYXJjaCBzZXJ2aWNlICovXG4gIHNlYXJjaElkOiBzdHJpbmc7XG4gIC8qKiBzZWFyY2ggY29uZmlnICovXG4gIHNlYXJjaENvbmZpZzogTXJTZWFyY2hDb25maWc7XG4gIC8qKiByZXN1bHRzIHJlc291cmNlIHBhdGggKHJvdXRlKSAqL1xuICByZXNvdXJjZVBhdGg6IHN0cmluZztcbiAgLyoqIHRvdGFsIHJlc3VsdHMgdGV4dCAqL1xuICB0b3RhbFJlc3VsdHNUZXh0OiBzdHJpbmc7XG4gIC8qKiBmYWNldHMgc2lkZWJhciB0aXRsZSAqL1xuICBmYWNldHNUaXRsZT86IHN0cmluZztcbiAgLyoqIGZpbHRlcnMgdGl0bGUsIG9uIHRvcCBvZiByZXN1bHRzICovXG4gIGZpbHRlcnNUaXRsZT86IHN0cmluZztcbiAgLyoqIGl0ZW0gcHJldmlldyBpcyBhZHZhbmNlZD8gKi9cbiAgYWR2YW5jZWRSZXN1bHRzPzogYm9vbGVhbjtcbiAgLyoqIGZhY2V0cyBjb2x1bW4gd2lkdGggKCUpICovXG4gIGZhY2V0c1dpZHRoUGVyY2VudGFnZT86IG51bWJlcjtcbiAgLyoqIHBhZ2UgZGVzY3JpcHRpb24gKi9cbiAgZGVzY3JpcHRpb24/OiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBidXR0b25UZXh0OiBzdHJpbmc7XG4gICAgbGlua1RleHQ6IHN0cmluZztcbiAgfTtcbiAgLyoqIHJlc3VsdHMgY3NzIGdyaWQgMSwgMiwgMyAqL1xuICBncmlkPzogbnVtYmVyO1xuICBzb3J0PzogU2VhcmNoU29ydENvbmZpZztcbiAgcGFnaW5hdGlvbjogU2VhcmNoUGFnaW5hdGlvbkNvbmZpZztcbiAgaXRlbVByZXZpZXc/OiBTZWFyY2hJdGVtUHJldmlld0NvbmZpZztcbiAgZGlzYWJsZVNjcm9sbD86IGJvb2xlYW47XG4gIGZhbGxiYWNrOiBTZWFyY2hGYWxsYmFja0NvbmZpZztcbiAga286IFNlYXJjaEZhbGxiYWNrQ29uZmlnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ011cnVjYUxheW91dFBvc3RzIGV4dGVuZHMgQ29uZmlnTXVydWNhTGF5b3V0IHtcbiAgLyoqIGlkICh1bmlxdWUpIHVzZWQgYnkgc2VhcmNoIHNlcnZpY2UgKi9cbiAgc2VhcmNoSWQ6IHN0cmluZztcbiAgLyoqIHJlc3VsdHMgcmVzb3VyY2UgcGF0aCAobGluaykgKi9cbiAgcmVzb3VyY2VQYXRoOiBzdHJpbmc7XG4gIC8qKiB0b3RhbCBwb3N0cyB0ZXh0ICovXG4gIHRvdGFsUmVzdWx0c1RleHQ6IHN0cmluZztcbiAgLyoqIHJlc3VsdHMgY3NzIGdyaWQgMSwgMiwgMyAqL1xuICBncmlkPzogbnVtYmVyO1xuICBzb3J0PzogU2VhcmNoU29ydENvbmZpZztcbiAgcGFnaW5hdGlvbjogU2VhcmNoUGFnaW5hdGlvbkNvbmZpZztcbiAgaXRlbVByZXZpZXc/OiBTZWFyY2hJdGVtUHJldmlld0NvbmZpZztcbiAgZmFsbGJhY2s6IFNlYXJjaEZhbGxiYWNrQ29uZmlnO1xuICBrbzogU2VhcmNoRmFsbGJhY2tDb25maWc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnTXVydWNhTGF5b3V0QWR2YW5jZWRSZXN1bHRzIGV4dGVuZHMgQ29uZmlnTXVydWNhTGF5b3V0IHtcbiAgLyoqIGlkICh1bmlxdWUpIHVzZWQgYnkgc2VhcmNoIHNlcnZpY2UgKi9cbiAgc2VhcmNoSWQ6IHN0cmluZztcbiAgLyoqIHJlc3VsdHMgcmVzb3VyY2UgcGF0aCAobGluaykgKi9cbiAgcmVzb3VyY2VQYXRoOiBzdHJpbmc7XG4gIC8qKiB0b3RhbCByZXN1bHRzIHRleHQgKi9cbiAgdG90YWxSZXN1bHRzVGV4dDogc3RyaW5nO1xuICAvKiogZmlsdGVycyB0byBzaG93ICovXG4gIGZpbHRlcnM6IHtcbiAgICAvKiogZmlsdGVycyB0aXRsZSAqL1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogZmlsdGVycyBsYWJlbHMgbWFwOiBmaWx0ZXJJZCA9PiBsYWJlbFxuICAgICAqIGZpbHRlciBtdXN0IGJlIGluIHRoaXMgbWFwIHRvIGJlIHNob3duIG9uIHBhZ2VcbiAgICAgKi9cbiAgICBsYWJlbHM6IHtcbiAgICAgIFtmaWx0ZXJJZDogc3RyaW5nXTogc3RyaW5nO1xuICAgIH07XG4gIH07XG4gIC8qKiByZXN1bHRzIGNzcyBncmlkIDEsIDIsIDMgKi9cbiAgZ3JpZD86IG51bWJlcjtcbiAgc29ydD86IFNlYXJjaFNvcnRDb25maWc7XG4gIHBhZ2luYXRpb246IFNlYXJjaFBhZ2luYXRpb25Db25maWc7XG4gIGl0ZW1QcmV2aWV3PzogU2VhcmNoSXRlbVByZXZpZXdDb25maWc7XG4gIGhpZ2hsaWdodHM/OiB7XG4gICAgaGFzVG9nZ2xlPzogYm9vbGVhbjtcbiAgICBoaWRkZW4/OiBib29sZWFuO1xuICB9O1xuICBmYWxsYmFjazogU2VhcmNoRmFsbGJhY2tDb25maWc7XG4gIGtvOiBTZWFyY2hGYWxsYmFja0NvbmZpZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25maWdNdXJ1Y2FMYXlvdXRNYXAgZXh0ZW5kcyBDb25maWdNdXJ1Y2FMYXlvdXQge1xuICAvKiogcGFnZSBkZWZhdWx0IGRlc2NyaXB0aW9uICovXG4gIGRlZmF1bHRUZXh0OiBzdHJpbmc7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLW11cnVjYS9zcmMvbGliL2NvbmZpZy10eXBlcy9tdXJ1Y2EvbGF5b3V0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGliT3B0aW9ucywgTmV0d29ya0xpYk9wdGlvbnMgfSBmcm9tICdAbmV0Ny9jb21wb25lbnRzJztcbmltcG9ydCB7IE1yU2VhcmNoQ29uZmlnIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9zZWFyY2guaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIENvbmZpZ011cnVjYUJyZWFkY3J1bWJzU2VjdGlvbixcbiAgQ29uZmlnTXVydWNhQ29sbGVjdGlvblNlY3Rpb24sXG4gIENvbmZpZ011cnVjYUNvbnRlbnRTZWN0aW9uLFxuICBDb25maWdNdXJ1Y2FHYWxsZXJ5U2VjdGlvbixcbiAgQ29uZmlnTXVydWNhSGVyb1NlY3Rpb24sXG4gIENvbmZpZ011cnVjYUltYWdlVmlld2VyU2VjdGlvbixcbiAgQ29uZmlnTXVydWNhSW5mb0JveFNlY3Rpb24sXG4gIENvbmZpZ011cnVjYUl0ZW1QcmV2aWV3U2VjdGlvbixcbiAgQ29uZmlnTXVydWNhTWV0YWRhdGFTZWN0aW9uLFxuICBDb25maWdNdXJ1Y2FTbGlkZXJTZWN0aW9uLFxuICBDb25maWdNdXJ1Y2FUYWJzU2VjdGlvbixcbiAgQ29uZmlnTXVydWNhVGV4dFZpZXdlclNlY3Rpb24sXG4gIENvbmZpZ011cnVjYVRpdGxlU2VjdGlvbixcbiAgQ29uZmlnTXVydWNhTWV0YWRhdGFEeW5hbWljU2VjdGlvbixcbiAgQ29uZmlnTXVydWNhQnV0dG9uU2VjdGlvblxufSBmcm9tICcuL3NlY3Rpb25zJztcblxuZXhwb3J0IGludGVyZmFjZSBDb25maWdNdXJ1Y2FMYXlvdXQge1xuICAvKiogcGFnZSB0aXRsZSAqL1xuICB0aXRsZTogc3RyaW5nO1xuICAvKiogYWRpdGlvbmFsIGJvZHkgY2xhc3NlcyAqL1xuICBib2R5Q2xhc3Nlcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25maWdNdXJ1Y2FIb21lTGF5b3V0IGV4dGVuZHMgQ29uZmlnTXVydWNhTGF5b3V0IHtcbiAgLyoqIGxheW91dCBzZWN0aW9ucyAqL1xuICBzZWN0aW9uczogKFxuICAgIENvbmZpZ011cnVjYVNsaWRlclNlY3Rpb25cbiAgICB8IENvbmZpZ011cnVjYUNvbnRlbnRTZWN0aW9uXG4gICAgfCBDb25maWdNdXJ1Y2FIZXJvU2VjdGlvblxuICAgIHwgQ29uZmlnTXVydWNhQ29sbGVjdGlvblNlY3Rpb25cbiAgKVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ011cnVjYVJlc291cmNlTGF5b3V0IGV4dGVuZHMgQ29uZmlnTXVydWNhTGF5b3V0IHtcbiAgLyoqIHJlc291cmNlIHR5cGUgKHVzZWQgYnkgcmVzb3VyY2UgbW9kYWwpICovXG4gIHR5cGU6IHN0cmluZztcbiAgLyoqIGRlbGF5IHRpbWUgYmVmb3JlIHNjcm9sbGluZyB0byBhbiBhbmNob3IgKi9cbiAgcGFnZUxvYWQ/OiBudW1iZXI7XG4gIC8qKiBUaHJlc2hvbGQgd2hlcmUgdGhlIFwicmVhZC1tb3JlXCIgYnV0dG9uIGFwcGVhcnMgKi9cbiAgbWF4SGVpZ2h0PzogbnVtYmVyO1xuICAvKiogbGF5b3V0IHNlY3Rpb25zICh0b3AgfCBjb250ZW50KSAqL1xuICBzZWN0aW9uczoge1xuICAgIFtrZXkgaW4gJ3RvcCcgfCAnY29udGVudCddOiAoXG4gICAgICBDb25maWdNdXJ1Y2FUYWJzU2VjdGlvblxuICAgICAgfCBDb25maWdNdXJ1Y2FUaXRsZVNlY3Rpb25cbiAgICAgIHwgQ29uZmlnTXVydWNhSW1hZ2VWaWV3ZXJTZWN0aW9uXG4gICAgICB8IENvbmZpZ011cnVjYU1ldGFkYXRhU2VjdGlvblxuICAgICAgfCBDb25maWdNdXJ1Y2FDb2xsZWN0aW9uU2VjdGlvblxuICAgICAgfCBDb25maWdNdXJ1Y2FJdGVtUHJldmlld1NlY3Rpb25cbiAgICAgIHwgQ29uZmlnTXVydWNhVGV4dFZpZXdlclNlY3Rpb25cbiAgICAgIHwgQ29uZmlnTXVydWNhSW5mb0JveFNlY3Rpb25cbiAgICAgIHwgQ29uZmlnTXVydWNhQnJlYWRjcnVtYnNTZWN0aW9uXG4gICAgICB8IENvbmZpZ011cnVjYU1ldGFkYXRhRHluYW1pY1NlY3Rpb25cbiAgICAgIHwgQ29uZmlnTXVydWNhQnV0dG9uU2VjdGlvblxuICAgIClbXTtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25maWdNdXJ1Y2FJdGluZXJhcnlMYXlvdXQgZXh0ZW5kcyBDb25maWdNdXJ1Y2FMYXlvdXQge1xuICAvKiogbGF5b3V0IHNlY3Rpb25zICovXG4gIHNlY3Rpb25zOiAoXG4gICAgQ29uZmlnTXVydWNhTWV0YWRhdGFTZWN0aW9uXG4gICAgfCBDb25maWdNdXJ1Y2FDb2xsZWN0aW9uU2VjdGlvblxuICAgIHwgQ29uZmlnTXVydWNhR2FsbGVyeVNlY3Rpb25cbiAgKVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ011cnVjYVRpbWVsaW5lTGF5b3V0IGV4dGVuZHMgQ29uZmlnTXVydWNhTGF5b3V0IHtcbiAgLyoqIG1hcCBoZWFkZXIgdGl0bGUgKi9cbiAgbWFwSGVhZGVyOiBzdHJpbmc7XG4gIC8qKiB0aW1lbGluZSBsaWJyYXJ5IG9wdGlvbnMgKi9cbiAgbGliT3B0aW9uczogTGliT3B0aW9ucztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25maWdNdXJ1Y2FOZXR3b3JrTGF5b3V0IGV4dGVuZHMgQ29uZmlnTXVydWNhTGF5b3V0IHtcbiAgLyoqIG1hcCBoZWFkZXIgdGl0bGUgKi9cbiAgbWFwSGVhZGVyOiBzdHJpbmc7XG4gIC8qKiB0aW1lbGluZSBsaWJyYXJ5IG9wdGlvbnMgKi9cbiAgbGliT3B0aW9uczogTmV0d29ya0xpYk9wdGlvbnM7XG59XG5cbnR5cGUgU2VhcmNoU29ydENvbmZpZyA9IHtcbiAgLyoqIHNlbGVjdCBsYWJlbCAqL1xuICBsYWJlbD86IHN0cmluZztcbiAgLyoqIHNlbGVjdCBvcHRpb25zICovXG4gIG9wdGlvbnM6IHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgc2VsZWN0ZWQ/OiBib29sZWFuO1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgfVtdO1xufVxuXG50eXBlIFNlYXJjaFBhZ2luYXRpb25Db25maWcgPSB7XG4gIC8qKiByZXN1bHRzIHBlciBwYWdlICovXG4gIGxpbWl0OiBudW1iZXI7XG4gIC8qKiBzZWxlY3Qgb3B0aW9ucyAqL1xuICBvcHRpb25zOiBudW1iZXJbXTtcbiAgLyoqIHNlbGVjdCBsYWJlbCAqL1xuICBzZWxlY3RMYWJlbD86IHN0cmluZztcbn1cblxudHlwZSBTZWFyY2hJdGVtUHJldmlld0NvbmZpZyA9IHtcbiAgLyoqIGFkaXRpb25hbCBjc3MgY2xhc3NlcyAqL1xuICBjbGFzc2VzOiBzdHJpbmc7XG4gIC8qKiBsaW5rIHRhcmdldCA8YSB0YXJnZXQ9XCJ7dGFyZ2V0fVwiPiAgKi9cbiAgbGlua1RhcmdldD86ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJztcbn1cblxudHlwZSBTZWFyY2hGYWxsYmFja0NvbmZpZyA9IHtcbiAgLyoqIGRlc2NyaXB0aW9uIChubyByZXN1bHRzIHwgZXJyb3IpICovXG4gIHRleHQ6IHN0cmluZztcbiAgLyoqIGJ1dHRvbiB0ZXh0ICovXG4gIGJ1dHRvbjogc3RyaW5nO1xuICAvKiogYnV0dG9uIHBheWxvYWQgKi9cbiAgcGF5bG9hZD86IG9iamVjdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25maWdNdXJ1Y2FTZWFyY2hMYXlvdXQgZXh0ZW5kcyBDb25maWdNdXJ1Y2FMYXlvdXQge1xuICAvKiogc2VhcmNoIGlkICh1bmlxdWUpIHVzZWQgYnkgc2VhcmNoIHNlcnZpY2UgKi9cbiAgc2VhcmNoSWQ6IHN0cmluZztcbiAgLyoqIHNlYXJjaCBjb25maWcgKi9cbiAgc2VhcmNoQ29uZmlnOiBNclNlYXJjaENvbmZpZztcbiAgLyoqIHJlc3VsdHMgcmVzb3VyY2UgcGF0aCAocm91dGUpICovXG4gIHJlc291cmNlUGF0aDogc3RyaW5nO1xuICAvKiogdG90YWwgcmVzdWx0cyB0ZXh0ICovXG4gIHRvdGFsUmVzdWx0c1RleHQ6IHN0cmluZztcbiAgLyoqIGZhY2V0cyBzaWRlYmFyIHRpdGxlICovXG4gIGZhY2V0c1RpdGxlPzogc3RyaW5nO1xuICAvKiogZmlsdGVycyB0aXRsZSwgb24gdG9wIG9mIHJlc3VsdHMgKi9cbiAgZmlsdGVyc1RpdGxlPzogc3RyaW5nO1xuICAvKiogaXRlbSBwcmV2aWV3IGlzIGFkdmFuY2VkPyAqL1xuICBhZHZhbmNlZFJlc3VsdHM/OiBib29sZWFuO1xuICAvKiogZmFjZXRzIGNvbHVtbiB3aWR0aCAoJSkgKi9cbiAgZmFjZXRzV2lkdGhQZXJjZW50YWdlPzogbnVtYmVyO1xuICAvKiogcGFnZSBkZXNjcmlwdGlvbiAqL1xuICBkZXNjcmlwdGlvbj86IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGJ1dHRvblRleHQ6IHN0cmluZztcbiAgICBsaW5rVGV4dDogc3RyaW5nO1xuICB9O1xuICAvKiogcmVzdWx0cyBjc3MgZ3JpZCAxLCAyLCAzICovXG4gIGdyaWQ/OiBudW1iZXI7XG4gIHNvcnQ/OiBTZWFyY2hTb3J0Q29uZmlnO1xuICBwYWdpbmF0aW9uOiBTZWFyY2hQYWdpbmF0aW9uQ29uZmlnO1xuICBpdGVtUHJldmlldz86IFNlYXJjaEl0ZW1QcmV2aWV3Q29uZmlnO1xuICBkaXNhYmxlU2Nyb2xsPzogYm9vbGVhbjtcbiAgZmFsbGJhY2s6IFNlYXJjaEZhbGxiYWNrQ29uZmlnO1xuICBrbzogU2VhcmNoRmFsbGJhY2tDb25maWc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnTXVydWNhTGF5b3V0UG9zdHMgZXh0ZW5kcyBDb25maWdNdXJ1Y2FMYXlvdXQge1xuICAvKiogaWQgKHVuaXF1ZSkgdXNlZCBieSBzZWFyY2ggc2VydmljZSAqL1xuICBzZWFyY2hJZDogc3RyaW5nO1xuICAvKiogcmVzdWx0cyByZXNvdXJjZSBwYXRoIChsaW5rKSAqL1xuICByZXNvdXJjZVBhdGg6IHN0cmluZztcbiAgLyoqIHRvdGFsIHBvc3RzIHRleHQgKi9cbiAgdG90YWxSZXN1bHRzVGV4dDogc3RyaW5nO1xuICAvKiogcmVzdWx0cyBjc3MgZ3JpZCAxLCAyLCAzICovXG4gIGdyaWQ/OiBudW1iZXI7XG4gIHNvcnQ/OiBTZWFyY2hTb3J0Q29uZmlnO1xuICBwYWdpbmF0aW9uOiBTZWFyY2hQYWdpbmF0aW9uQ29uZmlnO1xuICBpdGVtUHJldmlldz86IFNlYXJjaEl0ZW1QcmV2aWV3Q29uZmlnO1xuICBmYWxsYmFjazogU2VhcmNoRmFsbGJhY2tDb25maWc7XG4gIGtvOiBTZWFyY2hGYWxsYmFja0NvbmZpZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25maWdNdXJ1Y2FMYXlvdXRBZHZhbmNlZFJlc3VsdHMgZXh0ZW5kcyBDb25maWdNdXJ1Y2FMYXlvdXQge1xuICAvKiogaWQgKHVuaXF1ZSkgdXNlZCBieSBzZWFyY2ggc2VydmljZSAqL1xuICBzZWFyY2hJZDogc3RyaW5nO1xuICAvKiogcmVzdWx0cyByZXNvdXJjZSBwYXRoIChsaW5rKSAqL1xuICByZXNvdXJjZVBhdGg6IHN0cmluZztcbiAgLyoqIHRvdGFsIHJlc3VsdHMgdGV4dCAqL1xuICB0b3RhbFJlc3VsdHNUZXh0OiBzdHJpbmc7XG4gIC8qKiBmaWx0ZXJzIHRvIHNob3cgKi9cbiAgZmlsdGVyczoge1xuICAgIC8qKiBmaWx0ZXJzIHRpdGxlICovXG4gICAgdGl0bGU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBmaWx0ZXJzIGxhYmVscyBtYXA6IGZpbHRlcklkID0+IGxhYmVsXG4gICAgICogZmlsdGVyIG11c3QgYmUgaW4gdGhpcyBtYXAgdG8gYmUgc2hvd24gb24gcGFnZVxuICAgICAqL1xuICAgIGxhYmVsczoge1xuICAgICAgW2ZpbHRlcklkOiBzdHJpbmddOiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbiAgLyoqIHJlc3VsdHMgY3NzIGdyaWQgMSwgMiwgMyAqL1xuICBncmlkPzogbnVtYmVyO1xuICBzb3J0PzogU2VhcmNoU29ydENvbmZpZztcbiAgcGFnaW5hdGlvbjogU2VhcmNoUGFnaW5hdGlvbkNvbmZpZztcbiAgaXRlbVByZXZpZXc/OiBTZWFyY2hJdGVtUHJldmlld0NvbmZpZztcbiAgaGlnaGxpZ2h0cz86IHtcbiAgICBoYXNUb2dnbGU/OiBib29sZWFuO1xuICAgIGhpZGRlbj86IGJvb2xlYW47XG4gIH07XG4gIGZhbGxiYWNrOiBTZWFyY2hGYWxsYmFja0NvbmZpZztcbiAga286IFNlYXJjaEZhbGxiYWNrQ29uZmlnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ011cnVjYUxheW91dE1hcCBleHRlbmRzIENvbmZpZ011cnVjYUxheW91dCB7XG4gIC8qKiBwYWdlIGRlZmF1bHQgZGVzY3JpcHRpb24gKi9cbiAgZGVmYXVsdFRleHQ6IHN0cmluZztcbn1cbiJdfQ==
@@ -63,8 +63,14 @@ export class MrMapDS extends DataSource {
63
63
  // flatten the list of markers
64
64
  .reduce((acc, val) => acc.concat(val), []);
65
65
  }
66
- const mapCenter = d.map_center ? [d.map_center.lat, d.map_center.lng]
67
- : [54.5260, 15.2551];
66
+ let mapCenter;
67
+ const mapCenterOptions = this.options?.libOptions?.map_center;
68
+ if (mapCenterOptions) {
69
+ mapCenter = mapCenterOptions;
70
+ }
71
+ else {
72
+ mapCenter = d.map_center ? [d.map_center.lat, d.map_center.lng] : [54.5260, 15.2551];
73
+ }
68
74
  const initialView = {
69
75
  // center of europe (only for initial load)
70
76
  center: mapCenter,
@@ -74,14 +80,18 @@ export class MrMapDS extends DataSource {
74
80
  // update the already existing layers.
75
81
  if (this.mapInstance && this.markerLayer) {
76
82
  this.buildMarkers(markers);
77
- this.fitMapToBounds(markers.map((m) => m.coords), d.zoom);
83
+ if (!mapCenterOptions) {
84
+ this.fitMapToBounds(markers.map((m) => m.coords), d.zoom);
85
+ }
78
86
  }
79
87
  return {
80
88
  // only called once, on component init!
81
89
  _setInstance: (instance) => {
82
90
  this.mapInstance = instance;
83
- // center the map on the markers
84
- this.fitMapToBounds(markers.map((m) => m.coords), d.zoom);
91
+ if (!mapCenterOptions) {
92
+ // center the map on the markers
93
+ this.fitMapToBounds(markers.map((m) => m.coords), d.zoom);
94
+ }
85
95
  // load custom markers
86
96
  this.buildMarkers(markers);
87
97
  this.mapLoaded$.next({ map: instance, markers: this.markerLayer });
@@ -170,4 +180,4 @@ export class MrMapDS extends DataSource {
170
180
  this.markerLayer = markerGroup;
171
181
  }
172
182
  }
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvZGF0YS1zb3VyY2VzL21hcC5kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxDQUFDLE1BQU0sU0FBUyxDQUFDO0FBQzdCLE9BQU8sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQTBCL0IsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN6QixPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDbEIsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3JCLFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDcEIsU0FBUyxFQUFFLGFBQWE7Q0FDekIsQ0FBQyxDQUFDO0FBRUgsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2xDLE9BQU8sRUFBRSwwQkFBMEI7SUFDbkMsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUNsQixXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDckIsU0FBUyxFQUFFLHNCQUFzQjtDQUNsQyxDQUFDLENBQUM7QUFFSCxNQUFNLE9BQU8sT0FBUSxTQUFRLFVBQVU7SUFBdkM7O1FBU0UsZUFBVSxHQUFtQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBNEVuQyxrQkFBYSxHQUFHLENBQUMsRUFBVSxFQUFFLEVBQUU7WUFDckMsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFD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bkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWFwRGF0YSwgTWFya2VyRGF0YSB9IGZyb20gJ0BuZXQ3L2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJ0BuZXQ3L2NvcmUnO1xuaW1wb3J0ICogYXMgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCAnbGVhZmxldC5tYXJrZXJjbHVzdGVyJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbi8vIGxlYWZsZXQgaXMgYWxyZWFkeSBwcmVzZW50IGluIHRoZSB3aW5kb3csXG4vLyBhIGRvdWJsZSBpbXBvcnQgcmVzdWx0cyBpbiBlcnJvcnMgd2l0aCB0b29sdGlwcy5cbi8vIGRlY2xhcmUgY29uc3QgTDtcblxuaW50ZXJmYWNlIENvb3JkcyB7IGxhdDogbnVtYmVyOyBsbmc6IG51bWJlciB9XG5cbmludGVyZmFjZSBNYXJrZXIgZXh0ZW5kcyBDb29yZHMge1xuICBsYWJlbDogc3RyaW5nO1xuICBkZWZhdWx0X2xhYmVsOiBzdHJpbmc7XG59XG5cbnR5cGUgVGltZWxpbmVSZXNwb25zZSA9IHtcbiAgaWQ/OiBudW1iZXI7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHNsdWc6IHN0cmluZztcbiAgem9vbTogbnVtYmVyO1xuICBtYXBfY2VudGVyOiBDb29yZHM7XG4gIG1hcmtlcnM6IE1hcmtlcltdO1xufVtdXG5cbmludGVyZmFjZSBNYXJrZXJXaXRoSUQgZXh0ZW5kcyBNYXJrZXJEYXRhIHtcbiAgaWQ/OiBudW1iZXI7XG4gIHNsdWc6IHN0cmluZztcbn1cblxuY29uc3QgTUFSS0VSX0lDT04gPSBMLmljb24oe1xuICBpY29uVXJsOiAnL2Fzc2V0cy9waW4ucG5nJyxcbiAgaWNvblNpemU6IFsyMCwgMzBdLFxuICBwb3B1cEFuY2hvcjogWzAsIC0yMF0sXG4gIGljb25BbmNob3I6IFsxMCwgMzBdLFxuICBjbGFzc05hbWU6ICdtYXJrZXItaWNvbidcbn0pO1xuXG5jb25zdCBNQVJLRVJfSUNPTl9TRUxFQ1RFRCA9IEwuaWNvbih7XG4gIGljb25Vcmw6ICcvYXNzZXRzL3Bpbi1zZWxlY3RlZC5wbmcnLFxuICBpY29uU2l6ZTogWzIwLCAzMF0sXG4gIHBvcHVwQW5jaG9yOiBbMCwgLTIwXSxcbiAgY2xhc3NOYW1lOiAnbWFya2VyLWljb24tc2VsZWN0ZWQnXG59KTtcblxuZXhwb3J0IGNsYXNzIE1yTWFwRFMgZXh0ZW5kcyBEYXRhU291cmNlIHtcbiAgaWQ6IHN0cmluZztcblxuICAvKiogSW5zdGFuY2Ugb2YgdGhlIGxlYWZsZXQgbWFwICovXG4gIG1hcEluc3RhbmNlO1xuXG4gIC8qKiBJbnN0YW5jZSBvZiB0aGUgbWFya2VyIGxheWVyR3JvdXAgKi9cbiAgbWFya2VyTGF5ZXI7XG5cbiAgbWFwTG9hZGVkJDogU3ViamVjdDxMLk1hcD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjb25zaXN0ZW50LXJldHVyblxuICBwcm90ZWN0ZWQgdHJhbnNmb3JtKGRhdGE6IFRpbWVsaW5lUmVzcG9uc2UpOiBNYXBEYXRhIHtcbiAgICBsZXQgbWFya2VyczogTWFya2VyV2l0aElEW107XG4gICAgY29uc3QgZCA9IGRhdGEuZmluZCgoeikgPT4gei56b29tKTtcbiAgICBpZiAoZGF0YS5maW5kKChhKSA9PiBhLm1hcmtlcnMpKSB7XG4gICAgICBtYXJrZXJzID0gZGF0YVxuICAgICAgICAubWFwKChhcmVhKSA9PiAoYXJlYS5tYXJrZXJzXG4gICAgICAgICAgLm1hcCgobSkgPT4gKHtcbiAgICAgICAgICAvLyBjb252ZXJ0IHRvIGxlYWZsZXQgbWFya2VyIGZvcm1hdFxuICAgICAgICAgICAgY29vcmRzOiBbK20ubGF0LCArbS5sbmddIGFzIFtudW1iZXIsIG51bWJlcl0sXG4gICAgICAgICAgICB0ZW1wbGF0ZTogbS5sYWJlbCA/PyBtLmRlZmF1bHRfbGFiZWwsXG4gICAgICAgICAgICB0aXRsZTogbS5sYWJlbCA/PyBtLmRlZmF1bHRfbGFiZWwsXG4gICAgICAgICAgICBpZDogYXJlYS5pZCxcbiAgICAgICAgICAgIHNsdWc6IGFyZWEuc2x1ZyxcbiAgICAgICAgICB9KSkpKVxuICAgICAgICAvLyBmbGF0dGVuIHRoZSBsaXN0IG9mIG1hcmtlcnNcbiAgICAgICAgLnJlZHVjZSgoYWNjLCB2YWwpID0+IGFjYy5jb25jYXQodmFsKSwgW10pO1xuICAgIH1cbiAgICBjb25zdCBtYXBDZW50ZXI6IFtudW1iZXIsIG51bWJlcl0gPSBkLm1hcF9jZW50ZXIgPyBbZC5tYXBfY2VudGVyLmxhdCwgZC5tYXBfY2VudGVyLmxuZ11cbiAgICAgIDogWzU0LjUyNjAsIDE1LjI1NTFdO1xuICAgIGNvbnN0IGluaXRpYWxWaWV3OiB7IGNlbnRlcjogW251bWJlciwgbnVtYmVyXTsgem9vbTogbnVtYmVyIH0gPSB7XG4gICAgLy8gY2VudGVyIG9mIGV1cm9wZSAob25seSBmb3IgaW5pdGlhbCBsb2FkKVxuICAgICAgY2VudGVyOiBtYXBDZW50ZXIsXG4gICAgICB6b29tOiBkLnpvb20sXG4gICAgfTtcblxuICAgIC8vIGlmIHRoZSBtYXAgYW5kIHRoZSBtYXJrZXJzIGFscmVhZHkgZXhpc3RcbiAgICAvLyB1cGRhdGUgdGhlIGFscmVhZHkgZXhpc3RpbmcgbGF5ZXJzLlxuICAgIGlmICh0aGlzLm1hcEluc3RhbmNlICYmIHRoaXMubWFya2VyTGF5ZXIpIHtcbiAgICAgIHRoaXMuYnVpbGRNYXJrZXJzKG1hcmtlcnMpO1xuICAgICAgdGhpcy5maXRNYXBUb0JvdW5kcyhtYXJrZXJzLm1hcCgobSkgPT4gbS5jb29yZHMpLCBkLnpvb20pO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAvLyBvbmx5IGNhbGxlZCBvbmNlLCBvbiBjb21wb25lbnQgaW5pdCFcbiAgICAgIF9zZXRJbnN0YW5jZTogKGluc3RhbmNlKSA9PiB7XG4gICAgICAgIHRoaXMubWFwSW5zdGFuY2UgPSBpbnN0YW5jZTtcbiAgICAgICAgLy8gY2VudGVyIHRoZSBtYXAgb24gdGhlIG1hcmtlcnNcbiAgICAgICAgdGhpcy5maXRNYXBUb0JvdW5kcyhtYXJrZXJzLm1hcCgobSkgPT4gbS5jb29yZHMpLCBkLnpvb20pO1xuICAgICAgICAvLyBsb2FkIGN1c3RvbSBtYXJrZXJzXG4gICAgICAgIHRoaXMuYnVpbGRNYXJrZXJzKG1hcmtlcnMpO1xuICAgICAgICB0aGlzLm1hcExvYWRlZCQubmV4dCh7IG1hcDogaW5zdGFuY2UsIG1hcmtlcnM6IHRoaXMubWFya2VyTGF5ZXIgfSk7XG4gICAgICB9LFxuICAgICAgY29udGFpbmVySWQ6ICdtYXAtY2FudmFzJyxcbiAgICAgIGxpYk9wdGlvbnM6IHtcbiAgICAgICAgYXR0cmlidXRpb25Db250cm9sOiBmYWxzZSxcbiAgICAgICAgLi4udGhpcy5vcHRpb25zLmxpYk9wdGlvbnMsXG4gICAgICB9LFxuICAgICAgdGlsZUxheWVyczogW3tcbiAgICAgICAgLy8gdXJsOiAnaHR0cHM6Ly9jYXJ0b2RiLWJhc2VtYXBzLXtzfS5nbG9iYWwuc3NsLmZhc3RseS5uZXQvbGlnaHRfYWxsL3t6fS97eH0ve3l9LnBuZycsXG4gICAgICAgIC8vIHVybDogJ2h0dHBzOi8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97eX0ucG5nJyxcbiAgICAgICAgdXJsOiAnaHR0cHM6Ly97c30uYmFzZW1hcHMuY2FydG9jZG4uY29tL3Jhc3RlcnRpbGVzL3ZveWFnZXJfbGFiZWxzX3VuZGVyL3t6fS97eH0ve3l9e3J9LnBuZycsXG4gICAgICAgIG9wdGlvbnM6IHt9XG4gICAgICB9XSxcbiAgICAgIGluaXRpYWxWaWV3LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlTWFya2Vyc1N0YXRlKGlkOiBzdHJpbmcpIHtcbiAgICBpZiAoaWQpIHtcbiAgICAgIGNvbnN0IG1hcmtlciA9IHRoaXMuZ2V0TWFya2VyQnlJZChpZCk7XG4gICAgICBpZiAobWFya2VyKSB7XG4gICAgICAgIG1hcmtlci5zZXRJY29uKE1BUktFUl9JQ09OX1NFTEVDVEVEKTtcbiAgICAgICAgbWFya2VyLm9wZW5Qb3B1cCgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBtYXJrZXIgPSB0aGlzLmdldFNlbGVjdGVkTWFya2VyKCk7XG4gICAgICBpZiAobWFya2VyKSB7XG4gICAgICAgIG1hcmtlci5zZXRJY29uKE1BUktFUl9JQ09OKTtcbiAgICAgICAgbWFya2VyLmNsb3NlUG9wdXAoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldE1hcmtlckJ5SWQgPSAoaWQ6IHN0cmluZykgPT4ge1xuICAgIGxldCBtYXJrZXIgPSBudWxsO1xuICAgIHRoaXMubWFwSW5zdGFuY2UuZWFjaExheWVyKChsYXllcikgPT4ge1xuICAgICAgaWYgKGxheWVyIGluc3RhbmNlb2YgTC5NYXJrZXIpIHtcbiAgICAgICAgaWYgKGAke2xheWVyLmlkfWAgPT09IGlkKSB7XG4gICAgICAgICAgbWFya2VyID0gbGF5ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gbWFya2VyO1xuICB9O1xuXG4gIHByaXZhdGUgZ2V0U2VsZWN0ZWRNYXJrZXIgPSAoKSA9PiB7XG4gICAgbGV0IG1hcmtlciA9IG51bGw7XG4gICAgdGhpcy5tYXBJbnN0YW5jZS5lYWNoTGF5ZXIoKGxheWVyKSA9PiB7XG4gICAgICBpZiAobGF5ZXIgaW5zdGFuY2VvZiBMLk1hcmtlcikge1xuICAgICAgICBjb25zdCB7IGljb24gfSA9IGxheWVyLm9wdGlvbnMgfHwge307XG4gICAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IGljb24/Lm9wdGlvbnM/LmNsYXNzTmFtZSB8fCAnJztcbiAgICAgICAgY29uc3QgaXNTZWxlY3RlZCA9IGNsYXNzTmFtZS5pbmNsdWRlcygnc2VsZWN0ZWQnKTtcbiAgICAgICAgaWYgKGlzU2VsZWN0ZWQpIHtcbiAgICAgICAgICBtYXJrZXIgPSBsYXllcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBtYXJrZXI7XG4gIH07XG5cbiAgcHJpdmF0ZSBmaXRNYXBUb0JvdW5kcyhib3VuZHMsIHpvb20gPSAxMCkge1xuICAgIGlmICh0aGlzLm1hcEluc3RhbmNlKSB7XG4gICAgICB0aGlzLm1hcEluc3RhbmNlLmZpdEJvdW5kcyhib3VuZHMsIHtcbiAgICAgICAgbWF4Wm9vbTogem9vbSxcbiAgICAgICAgcGFkZGluZzogWzIwLCAyMF1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oJ21hcCBpbnN0YW5jZSBpcyBtaXNzaW5nJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyBtYXJrZXJzIHdpdGggYSBjdXN0b20gaWNvbiBhbmQgYWRkcyB0aGVtIHRvIHRoZSBtYXAuXG4gICAqIEBwYXJhbSBtYXJrZXJzIGFuIGFycmF5IG9mIG1hcmtlcnNcbiAgICovXG4gIHByaXZhdGUgYnVpbGRNYXJrZXJzKG1hcmtlcnM6IE1hcmtlcldpdGhJRFtdKSB7XG4gICAgaWYgKCFtYXJrZXJzKSByZXR1cm47XG4gICAgLy8gcmVtb3ZlIGFsbCBleGlzdGluZyBtYXJrZXJzXG4gICAgaWYgKHRoaXMubWFya2VyTGF5ZXIpIHtcbiAgICAgIHRoaXMubWFya2VyTGF5ZXIuY2xlYXJMYXllcnMoKTtcbiAgICAgIHRoaXMubWFwSW5zdGFuY2UucmVtb3ZlTGF5ZXIodGhpcy5tYXJrZXJMYXllcik7XG4gICAgfVxuICAgIGNvbnN0IG1hcmtlckdyb3VwID0gTC5tYXJrZXJDbHVzdGVyR3JvdXAoXG4gICAgICB7XG4gICAgICAgIG1heENsdXN0ZXJSYWRpdXM6IDEwLFxuICAgICAgICBkaXNhYmxlQ2x1c3RlcmluZ0F0Wm9vbTogOFxuICAgICAgfVxuICAgICk7XG4gICAgbWFya2Vycy5mb3JFYWNoKCh7XG4gICAgICBjb29yZHMsIHRlbXBsYXRlLCBpZCwgc2x1Z1xuICAgIH0pID0+IHtcbiAgICAgIC8vIGNyZWF0ZSBjdXN0b20gaWNvbiBtYXJrZXJcbiAgICAgIGNvbnN0IG5ld01hcmtlciA9IEwubWFya2VyKGNvb3JkcywgeyBpY29uOiBNQVJLRVJfSUNPTiB9KTtcbiAgICAgIGlmIChpZCAmJiBzbHVnKSB7XG4gICAgICAgIG5ld01hcmtlci5pZCA9IGlkO1xuICAgICAgICBuZXdNYXJrZXIuc2x1ZyA9IHNsdWc7XG4gICAgICB9XG4gICAgICBuZXdNYXJrZXJcbiAgICAgICAgLy8gYWRkIHRoZSBtYXJrZXIgdG8gdGhlIGdyb3VwXG4gICAgICAgIC5hZGRUbyhtYXJrZXJHcm91cClcbiAgICAgICAgLy8gYWRkIHRoZSBvbi1jbGljayB0b29sdGlwXG4gICAgICAgIC5iaW5kUG9wdXAodGVtcGxhdGUsIHtcbiAgICAgICAgICBjbG9zZUJ1dHRvbjogZmFsc2VcbiAgICAgICAgfSk7XG5cbiAgICAgIG5ld01hcmtlci5nZXRQb3B1cCgpLm9uKCdyZW1vdmUnLCAoeyB0YXJnZXQgfSkgPT4ge1xuICAgICAgICB0YXJnZXQuX3NvdXJjZS5zZXRJY29uKE1BUktFUl9JQ09OKTtcbiAgICAgIH0pO1xuXG4gICAgICBuZXdNYXJrZXIuZ2V0UG9wdXAoKS5vbignYWRkJywgKHsgdGFyZ2V0IH0pID0+IHtcbiAgICAgICAgdGFyZ2V0Ll9zb3VyY2Uuc2V0SWNvbihNQVJLRVJfSUNPTl9TRUxFQ1RFRCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICAvLyBhZGQgdGhlIG1hcmtlcnMgdG8gdGhlIG1hcCBpbnN0YW5jZVxuICAgIHRoaXMubWFwSW5zdGFuY2UuYWRkTGF5ZXIobWFya2VyR3JvdXApO1xuICAgIC8vIHVwZGF0ZSB0aGUgbWFya2VyIGxheWVyIGluc3RhbmNlXG4gICAgdGhpcy5tYXJrZXJMYXllciA9IG1hcmtlckdyb3VwO1xuICB9XG59XG4iXX0=
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvZGF0YS1zb3VyY2VzL21hcC5kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxDQUFDLE1BQU0sU0FBUyxDQUFDO0FBQzdCLE9BQU8sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQTBCL0IsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN6QixPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDbEIsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3JCLFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDcEIsU0FBUyxFQUFFLGFBQWE7Q0FDekIsQ0FBQyxDQUFDO0FBRUgsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2xDLE9BQU8sRUFBRSwwQkFBMEI7SUFDbkMsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUNsQixXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDckIsU0FBUyxFQUFFLHNCQUFzQjtDQUNsQyxDQUFDLENBQUM7QUFFSCxNQUFNLE9BQU8sT0FBUSxTQUFRLFVBQVU7SUFBdkM7O1FBU0UsZUFBVSxHQUFtQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBcUZuQyxrQkFBYSxHQUFHLENBQUMsRUFBVSxFQUFFLEVBQUU7WUFDckMsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFD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QUVILFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFO2dCQUM1QyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQy9DLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxzQ0FBc0M7UUFDdEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkMsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hcERhdGEsIE1hcmtlckRhdGEgfSBmcm9tICdAbmV0Ny9jb21wb25lbnRzJztcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICdAbmV0Ny9jb3JlJztcbmltcG9ydCAqIGFzIEwgZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgJ2xlYWZsZXQubWFya2VyY2x1c3Rlcic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG4vLyBsZWFmbGV0IGlzIGFscmVhZHkgcHJlc2VudCBpbiB0aGUgd2luZG93LFxuLy8gYSBkb3VibGUgaW1wb3J0IHJlc3VsdHMgaW4gZXJyb3JzIHdpdGggdG9vbHRpcHMuXG4vLyBkZWNsYXJlIGNvbnN0IEw7XG5cbmludGVyZmFjZSBDb29yZHMgeyBsYXQ6IG51bWJlcjsgbG5nOiBudW1iZXIgfVxuXG5pbnRlcmZhY2UgTWFya2VyIGV4dGVuZHMgQ29vcmRzIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgZGVmYXVsdF9sYWJlbDogc3RyaW5nO1xufVxuXG50eXBlIFRpbWVsaW5lUmVzcG9uc2UgPSB7XG4gIGlkPzogbnVtYmVyO1xuICB0aXRsZTogc3RyaW5nO1xuICBzbHVnOiBzdHJpbmc7XG4gIHpvb206IG51bWJlcjtcbiAgbWFwX2NlbnRlcjogQ29vcmRzO1xuICBtYXJrZXJzOiBNYXJrZXJbXTtcbn1bXVxuXG5pbnRlcmZhY2UgTWFya2VyV2l0aElEIGV4dGVuZHMgTWFya2VyRGF0YSB7XG4gIGlkPzogbnVtYmVyO1xuICBzbHVnOiBzdHJpbmc7XG59XG5cbmNvbnN0IE1BUktFUl9JQ09OID0gTC5pY29uKHtcbiAgaWNvblVybDogJy9hc3NldHMvcGluLnBuZycsXG4gIGljb25TaXplOiBbMjAsIDMwXSxcbiAgcG9wdXBBbmNob3I6IFswLCAtMjBdLFxuICBpY29uQW5jaG9yOiBbMTAsIDMwXSxcbiAgY2xhc3NOYW1lOiAnbWFya2VyLWljb24nXG59KTtcblxuY29uc3QgTUFSS0VSX0lDT05fU0VMRUNURUQgPSBMLmljb24oe1xuICBpY29uVXJsOiAnL2Fzc2V0cy9waW4tc2VsZWN0ZWQucG5nJyxcbiAgaWNvblNpemU6IFsyMCwgMzBdLFxuICBwb3B1cEFuY2hvcjogWzAsIC0yMF0sXG4gIGNsYXNzTmFtZTogJ21hcmtlci1pY29uLXNlbGVjdGVkJ1xufSk7XG5cbmV4cG9ydCBjbGFzcyBNck1hcERTIGV4dGVuZHMgRGF0YVNvdXJjZSB7XG4gIGlkOiBzdHJpbmc7XG5cbiAgLyoqIEluc3RhbmNlIG9mIHRoZSBsZWFmbGV0IG1hcCAqL1xuICBtYXBJbnN0YW5jZTtcblxuICAvKiogSW5zdGFuY2Ugb2YgdGhlIG1hcmtlciBsYXllckdyb3VwICovXG4gIG1hcmtlckxheWVyO1xuXG4gIG1hcExvYWRlZCQ6IFN1YmplY3Q8TC5NYXA+ID0gbmV3IFN1YmplY3QoKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY29uc2lzdGVudC1yZXR1cm5cbiAgcHJvdGVjdGVkIHRyYW5zZm9ybShkYXRhOiBUaW1lbGluZVJlc3BvbnNlKTogTWFwRGF0YSB7XG4gICAgbGV0IG1hcmtlcnM6IE1hcmtlcldpdGhJRFtdO1xuICAgIGNvbnN0IGQgPSBkYXRhLmZpbmQoKHopID0+IHouem9vbSk7XG4gICAgaWYgKGRhdGEuZmluZCgoYSkgPT4gYS5tYXJrZXJzKSkge1xuICAgICAgbWFya2VycyA9IGRhdGFcbiAgICAgICAgLm1hcCgoYXJlYSkgPT4gKGFyZWEubWFya2Vyc1xuICAgICAgICAgIC5tYXAoKG0pID0+ICh7XG4gICAgICAgICAgLy8gY29udmVydCB0byBsZWFmbGV0IG1hcmtlciBmb3JtYXRcbiAgICAgICAgICAgIGNvb3JkczogWyttLmxhdCwgK20ubG5nXSBhcyBbbnVtYmVyLCBudW1iZXJdLFxuICAgICAgICAgICAgdGVtcGxhdGU6IG0ubGFiZWwgPz8gbS5kZWZhdWx0X2xhYmVsLFxuICAgICAgICAgICAgdGl0bGU6IG0ubGFiZWwgPz8gbS5kZWZhdWx0X2xhYmVsLFxuICAgICAgICAgICAgaWQ6IGFyZWEuaWQsXG4gICAgICAgICAgICBzbHVnOiBhcmVhLnNsdWcsXG4gICAgICAgICAgfSkpKSlcbiAgICAgICAgLy8gZmxhdHRlbiB0aGUgbGlzdCBvZiBtYXJrZXJzXG4gICAgICAgIC5yZWR1Y2UoKGFjYywgdmFsKSA9PiBhY2MuY29uY2F0KHZhbCksIFtdKTtcbiAgICB9XG4gICAgbGV0IG1hcENlbnRlcjogW251bWJlciwgbnVtYmVyXTtcbiAgICBjb25zdCBtYXBDZW50ZXJPcHRpb25zID0gdGhpcy5vcHRpb25zPy5saWJPcHRpb25zPy5tYXBfY2VudGVyO1xuICAgIGlmIChtYXBDZW50ZXJPcHRpb25zKSB7XG4gICAgICBtYXBDZW50ZXIgPSBtYXBDZW50ZXJPcHRpb25zO1xuICAgIH0gZWxzZSB7XG4gICAgICBtYXBDZW50ZXIgPSBkLm1hcF9jZW50ZXIgPyBbZC5tYXBfY2VudGVyLmxhdCwgZC5tYXBfY2VudGVyLmxuZ10gOiBbNTQuNTI2MCwgMTUuMjU1MV07XG4gICAgfVxuICAgIGNvbnN0IGluaXRpYWxWaWV3OiB7IGNlbnRlcjogW251bWJlciwgbnVtYmVyXTsgem9vbTogbnVtYmVyIH0gPSB7XG4gICAgLy8gY2VudGVyIG9mIGV1cm9wZSAob25seSBmb3IgaW5pdGlhbCBsb2FkKVxuICAgICAgY2VudGVyOiBtYXBDZW50ZXIsXG4gICAgICB6b29tOiBkLnpvb20sXG4gICAgfTtcblxuICAgIC8vIGlmIHRoZSBtYXAgYW5kIHRoZSBtYXJrZXJzIGFscmVhZHkgZXhpc3RcbiAgICAvLyB1cGRhdGUgdGhlIGFscmVhZHkgZXhpc3RpbmcgbGF5ZXJzLlxuICAgIGlmICh0aGlzLm1hcEluc3RhbmNlICYmIHRoaXMubWFya2VyTGF5ZXIpIHtcbiAgICAgIHRoaXMuYnVpbGRNYXJrZXJzKG1hcmtlcnMpO1xuICAgICAgaWYgKCFtYXBDZW50ZXJPcHRpb25zKSB7XG4gICAgICAgIHRoaXMuZml0TWFwVG9Cb3VuZHMobWFya2Vycy5tYXAoKG0pID0+IG0uY29vcmRzKSwgZC56b29tKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLy8gb25seSBjYWxsZWQgb25jZSwgb24gY29tcG9uZW50IGluaXQhXG4gICAgICBfc2V0SW5zdGFuY2U6IChpbnN0YW5jZSkgPT4ge1xuICAgICAgICB0aGlzLm1hcEluc3RhbmNlID0gaW5zdGFuY2U7XG4gICAgICAgIGlmICghbWFwQ2VudGVyT3B0aW9ucykge1xuICAgICAgICAgIC8vIGNlbnRlciB0aGUgbWFwIG9uIHRoZSBtYXJrZXJzXG4gICAgICAgICAgdGhpcy5maXRNYXBUb0JvdW5kcyhtYXJrZXJzLm1hcCgobSkgPT4gbS5jb29yZHMpLCBkLnpvb20pO1xuICAgICAgICB9XG4gICAgICAgIC8vIGxvYWQgY3VzdG9tIG1hcmtlcnNcbiAgICAgICAgdGhpcy5idWlsZE1hcmtlcnMobWFya2Vycyk7XG4gICAgICAgIHRoaXMubWFwTG9hZGVkJC5uZXh0KHsgbWFwOiBpbnN0YW5jZSwgbWFya2VyczogdGhpcy5tYXJrZXJMYXllciB9KTtcbiAgICAgIH0sXG4gICAgICBjb250YWluZXJJZDogJ21hcC1jYW52YXMnLFxuICAgICAgbGliT3B0aW9uczoge1xuICAgICAgICBhdHRyaWJ1dGlvbkNvbnRyb2w6IGZhbHNlLFxuICAgICAgICAuLi50aGlzLm9wdGlvbnMubGliT3B0aW9ucyxcbiAgICAgIH0sXG4gICAgICB0aWxlTGF5ZXJzOiBbe1xuICAgICAgICAvLyB1cmw6ICdodHRwczovL2NhcnRvZGItYmFzZW1hcHMte3N9Lmdsb2JhbC5zc2wuZmFzdGx5Lm5ldC9saWdodF9hbGwve3p9L3t4fS97eX0ucG5nJyxcbiAgICAgICAgLy8gdXJsOiAnaHR0cHM6Ly97c30udGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmcnLFxuICAgICAgICB1cmw6ICdodHRwczovL3tzfS5iYXNlbWFwcy5jYXJ0b2Nkbi5jb20vcmFzdGVydGlsZXMvdm95YWdlcl9sYWJlbHNfdW5kZXIve3p9L3t4fS97eX17cn0ucG5nJyxcbiAgICAgICAgb3B0aW9uczoge31cbiAgICAgIH1dLFxuICAgICAgaW5pdGlhbFZpZXcsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVNYXJrZXJzU3RhdGUoaWQ6IHN0cmluZykge1xuICAgIGlmIChpZCkge1xuICAgICAgY29uc3QgbWFya2VyID0gdGhpcy5nZXRNYXJrZXJCeUlkKGlkKTtcbiAgICAgIGlmIChtYXJrZXIpIHtcbiAgICAgICAgbWFya2VyLnNldEljb24oTUFSS0VSX0lDT05fU0VMRUNURUQpO1xuICAgICAgICBtYXJrZXIub3BlblBvcHVwKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG1hcmtlciA9IHRoaXMuZ2V0U2VsZWN0ZWRNYXJrZXIoKTtcbiAgICAgIGlmIChtYXJrZXIpIHtcbiAgICAgICAgbWFya2VyLnNldEljb24oTUFSS0VSX0lDT04pO1xuICAgICAgICBtYXJrZXIuY2xvc2VQb3B1cCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0TWFya2VyQnlJZCA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgbGV0IG1hcmtlciA9IG51bGw7XG4gICAgdGhpcy5tYXBJbnN0YW5jZS5lYWNoTGF5ZXIoKGxheWVyKSA9PiB7XG4gICAgICBpZiAobGF5ZXIgaW5zdGFuY2VvZiBMLk1hcmtlcikge1xuICAgICAgICBpZiAoYCR7bGF5ZXIuaWR9YCA9PT0gaWQpIHtcbiAgICAgICAgICBtYXJrZXIgPSBsYXllcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBtYXJrZXI7XG4gIH07XG5cbiAgcHJpdmF0ZSBnZXRTZWxlY3RlZE1hcmtlciA9ICgpID0+IHtcbiAgICBsZXQgbWFya2VyID0gbnVsbDtcbiAgICB0aGlzLm1hcEluc3RhbmNlLmVhY2hMYXllcigobGF5ZXIpID0+IHtcbiAgICAgIGlmIChsYXllciBpbnN0YW5jZW9mIEwuTWFya2VyKSB7XG4gICAgICAgIGNvbnN0IHsgaWNvbiB9ID0gbGF5ZXIub3B0aW9ucyB8fCB7fTtcbiAgICAgICAgY29uc3QgY2xhc3NOYW1lID0gaWNvbj8ub3B0aW9ucz8uY2xhc3NOYW1lIHx8ICcnO1xuICAgICAgICBjb25zdCBpc1NlbGVjdGVkID0gY2xhc3NOYW1lLmluY2x1ZGVzKCdzZWxlY3RlZCcpO1xuICAgICAgICBpZiAoaXNTZWxlY3RlZCkge1xuICAgICAgICAgIG1hcmtlciA9IGxheWVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIG1hcmtlcjtcbiAgfTtcblxuICBwcml2YXRlIGZpdE1hcFRvQm91bmRzKGJvdW5kcywgem9vbSA9IDEwKSB7XG4gICAgaWYgKHRoaXMubWFwSW5zdGFuY2UpIHtcbiAgICAgIHRoaXMubWFwSW5zdGFuY2UuZml0Qm91bmRzKGJvdW5kcywge1xuICAgICAgICBtYXhab29tOiB6b29tLFxuICAgICAgICBwYWRkaW5nOiBbMjAsIDIwXVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUud2FybignbWFwIGluc3RhbmNlIGlzIG1pc3NpbmcnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIG1hcmtlcnMgd2l0aCBhIGN1c3RvbSBpY29uIGFuZCBhZGRzIHRoZW0gdG8gdGhlIG1hcC5cbiAgICogQHBhcmFtIG1hcmtlcnMgYW4gYXJyYXkgb2YgbWFya2Vyc1xuICAgKi9cbiAgcHJpdmF0ZSBidWlsZE1hcmtlcnMobWFya2VyczogTWFya2VyV2l0aElEW10pIHtcbiAgICBpZiAoIW1hcmtlcnMpIHJldHVybjtcbiAgICAvLyByZW1vdmUgYWxsIGV4aXN0aW5nIG1hcmtlcnNcbiAgICBpZiAodGhpcy5tYXJrZXJMYXllcikge1xuICAgICAgdGhpcy5tYXJrZXJMYXllci5jbGVhckxheWVycygpO1xuICAgICAgdGhpcy5tYXBJbnN0YW5jZS5yZW1vdmVMYXllcih0aGlzLm1hcmtlckxheWVyKTtcbiAgICB9XG4gICAgY29uc3QgbWFya2VyR3JvdXAgPSBMLm1hcmtlckNsdXN0ZXJHcm91cChcbiAgICAgIHtcbiAgICAgICAgbWF4Q2x1c3RlclJhZGl1czogMTAsXG4gICAgICAgIGRpc2FibGVDbHVzdGVyaW5nQXRab29tOiA4XG4gICAgICB9XG4gICAgKTtcbiAgICBtYXJrZXJzLmZvckVhY2goKHtcbiAgICAgIGNvb3JkcywgdGVtcGxhdGUsIGlkLCBzbHVnXG4gICAgfSkgPT4ge1xuICAgICAgLy8gY3JlYXRlIGN1c3RvbSBpY29uIG1hcmtlclxuICAgICAgY29uc3QgbmV3TWFya2VyID0gTC5tYXJrZXIoY29vcmRzLCB7IGljb246IE1BUktFUl9JQ09OIH0pO1xuICAgICAgaWYgKGlkICYmIHNsdWcpIHtcbiAgICAgICAgbmV3TWFya2VyLmlkID0gaWQ7XG4gICAgICAgIG5ld01hcmtlci5zbHVnID0gc2x1ZztcbiAgICAgIH1cbiAgICAgIG5ld01hcmtlclxuICAgICAgICAvLyBhZGQgdGhlIG1hcmtlciB0byB0aGUgZ3JvdXBcbiAgICAgICAgLmFkZFRvKG1hcmtlckdyb3VwKVxuICAgICAgICAvLyBhZGQgdGhlIG9uLWNsaWNrIHRvb2x0aXBcbiAgICAgICAgLmJpbmRQb3B1cCh0ZW1wbGF0ZSwge1xuICAgICAgICAgIGNsb3NlQnV0dG9uOiBmYWxzZVxuICAgICAgICB9KTtcblxuICAgICAgbmV3TWFya2VyLmdldFBvcHVwKCkub24oJ3JlbW92ZScsICh7IHRhcmdldCB9KSA9PiB7XG4gICAgICAgIHRhcmdldC5fc291cmNlLnNldEljb24oTUFSS0VSX0lDT04pO1xuICAgICAgfSk7XG5cbiAgICAgIG5ld01hcmtlci5nZXRQb3B1cCgpLm9uKCdhZGQnLCAoeyB0YXJnZXQgfSkgPT4ge1xuICAgICAgICB0YXJnZXQuX3NvdXJjZS5zZXRJY29uKE1BUktFUl9JQ09OX1NFTEVDVEVEKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIC8vIGFkZCB0aGUgbWFya2VycyB0byB0aGUgbWFwIGluc3RhbmNlXG4gICAgdGhpcy5tYXBJbnN0YW5jZS5hZGRMYXllcihtYXJrZXJHcm91cCk7XG4gICAgLy8gdXBkYXRlIHRoZSBtYXJrZXIgbGF5ZXIgaW5zdGFuY2VcbiAgICB0aGlzLm1hcmtlckxheWVyID0gbWFya2VyR3JvdXA7XG4gIH1cbn1cbiJdfQ==
@@ -88,6 +88,7 @@ export class MrSearchResultsDS extends DataSource {
88
88
  anchor = {
89
89
  href: routeLink,
90
90
  queryParams: item.params || null,
91
+ fragment: item.fragment || null,
91
92
  };
92
93
  }
93
94
  else if (item.link) {
@@ -144,4 +145,4 @@ export class MrSearchResultsDS extends DataSource {
144
145
  return linksHelper.joinQueryParams(href, params);
145
146
  }
146
147
  }
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1tdXJ1Y2Evc3JjL2xpYi9kYXRhLXNvdXJjZXMvc2VhcmNoL3NlYXJjaC1yZXN1bHRzLmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLFdBQVcsTUFBTSw0QkFBNEIsQ0FBQztBQXlDckQsTUFBTSxxQkFBcUIsR0FBRztJQUM1QixLQUFLLEVBQUUsR0FBRztJQUNWLFNBQVMsRUFBRSxJQUFJO0NBQ2hCLENBQUM7QUFVRixNQUFNLE9BQU8saUJBQWtCLFNBQVEsVUFBVTtJQUNyQyxTQUFTLENBQUMsSUFBc0I7UUFDeEMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztRQUN6QixNQUFNLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQzNFLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFcEYsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDMUIsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ2xDLFlBQVk7Z0JBQ1osSUFBSSxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDakMsSUFBSSxDQUFDLElBQUksR0FBRyxP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QUFDO0lBQ2QsQ0FBQztJQUVPLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxJQUFJO1FBQzVDLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbEUsaUNBQWlDO1FBQ2pDLElBQUksYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQy9CLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBQ0QsT0FBTyxXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJdGVtUHJldmlld0RhdGEsIE1ldGFkYXRhR3JvdXAgfSBmcm9tICdAbmV0Ny9jb21wb25lbnRzJztcbmltcG9ydCB7IERhdGFTb3VyY2UsIF90IH0gZnJvbSAnQG5ldDcvY29yZSc7XG5pbXBvcnQgeyBtZXJnZSwgY2xvbmUgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgaGVscGVycyB9IGZyb20gJ0BuZXQ3L2JvaWxlcnBsYXRlLWNvbW1vbic7XG5pbXBvcnQgbGlua3NIZWxwZXIgZnJvbSAnLi4vLi4vaGVscGVycy9saW5rcy1oZWxwZXInO1xuaW1wb3J0IHsgTXJMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9jYWxlLnNlcnZpY2UnO1xuXG50eXBlIEhpZ2hsaWdodEl0ZW0gPSBbc3RyaW5nLCBbc3RyaW5nXV0gfCB7XG4gIGxpbms/OiB7XG4gICAgLyoqIGZyb20gdGhlIGJhc2VVcmwgb2YgdGhlIGFwcGxpY2F0aW9uICovXG4gICAgYWJzb2x1dGU/OiBzdHJpbmc7XG4gICAgLyoqIHBhdGggcmVsYXRpdmUgdG8gdGhlIGl0ZW0gcHJldmlldyB1cmwgKi9cbiAgICByZWxhdGl2ZT86IHN0cmluZztcbiAgICAvKiogdXJsIHF1ZXJ5IHBhcmFtcyBpbiBmb3JtYXQga2V5PVwidmFsdWVcIiZrZXkyPVwidmFsdWVcIiAqL1xuICAgIHBhcmFtcz86IHN0cmluZztcbiAgICAvKiogaW5jbHVkZSBjdXJyZW50IHVybCBxdWVyeSBwYXJhbXMgKi9cbiAgICBxdWVyeV9zdHJpbmc/OiBib29sZWFuO1xuICB9O1xuICB0ZXh0Pzogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIE1yU2VhcmNoUmVzdWx0IGV4dGVuZHMgSXRlbVByZXZpZXdEYXRhIHtcbiAgLyoqIHVuaXF1ZSBpZCBmb3IgdGhlIHNlYXJjaCByZXN1bHQgZW50cnkgKi9cbiAgaWQ6IG51bWJlcjtcbiAgLyoqIHJlbGF0aXZlIHBhdGggKi9cbiAgbGluaz86IHN0cmluZztcbiAgLyoqIHJvdXRlIGNvbmZpZyBpZCAqL1xuICByb3V0ZUlkPzogc3RyaW5nO1xuICAvKiogbGluayBxdWVyeSBwYXJhbXMgKi9cbiAgcGFyYW1zPzogb2JqZWN0O1xuICAvKiogbGluayBzbHVnICovXG4gIHNsdWc/OiBzdHJpbmc7XG4gIC8qKiBpdGVtcyB0aGF0IG1hdGNoZWQgdGhlIHNlYXJjaCBpbnB1dCAqL1xuICBoaWdobGlnaHRzPzogSGlnaGxpZ2h0SXRlbVtdO1xuICAvKiogaGlnaGxpZ2h0cyB0aXRsZSAqL1xuICBoaWdobGlnaHRzVGl0bGU/OiBzdHJpbmc7XG4gIC8qKiBwYXlsb2FkIGZvciBpdGVtIGFuY2hvciAqL1xuICBwYXlsb2FkPzoge1xuICAgIGFjdGlvbjogc3RyaW5nO1xuICAgIGlkOiBzdHJpbmcgfCBudW1iZXI7XG4gICAgdHlwZTogc3RyaW5nO1xuICB9O1xufVxuXG5jb25zdCBJVEVNX1BSRVZJRVdfREVGQVVMVFMgPSB7XG4gIGxpbWl0OiAxMDAsXG4gIHN0cmlwdGFnczogdHJ1ZVxufTtcblxudHlwZSBNclNlYXJjaFJlc3BvbnNlID0ge1xuICBsaW1pdDogbnVtYmVyO1xuICBvZmZzZXQ6IG51bWJlcjtcbiAgcmVzdWx0czogTXJTZWFyY2hSZXN1bHRbXTtcbiAgc29ydDogc3RyaW5nO1xuICB0b3RhbF9jb3VudDogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgTXJTZWFyY2hSZXN1bHRzRFMgZXh0ZW5kcyBEYXRhU291cmNlIHtcbiAgcHJvdGVjdGVkIHRyYW5zZm9ybShkYXRhOiBNclNlYXJjaFJlc3BvbnNlKSB7XG4gICAgY29uc3QgeyByZXN1bHRzIH0gPSBkYXRhO1xuICAgIGNvbnN0IHsgaXRlbVByZXZpZXcsIGhpZ2hsaWdodHM6IGhpZ2hsaWdodHNPcHRpb25zIH0gPSB0aGlzLm9wdGlvbnMuY29uZmlnO1xuICAgIGNvbnN0IGl0ZW1QcmV2aWV3T3B0aW9ucyA9IG1lcmdlKGNsb25lKElURU1fUFJFVklFV19ERUZBVUxUUyksIChpdGVtUHJldmlldyB8fCB7fSkpO1xuXG4gICAgcmV0dXJuIHJlc3VsdHMubWFwKChpdGVtKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGl0ZW0udGV4dCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgLy8gc3RyaXB0YWdzXG4gICAgICAgIGlmIChpdGVtUHJldmlld09wdGlvbnMuc3RyaXB0YWdzKSB7XG4gICAgICAgICAgaXRlbS50ZXh0ID0gaGVscGVycy5zdHJpcHRhZ3MoaXRlbS50ZXh0KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBsaW1pdFxuICAgICAgICBpZiAoaXRlbVByZXZpZXdPcHRpb25zLmxpbWl0ICYmIChpdGVtLnRleHQubGVuZ3RoID4gaXRlbVByZXZpZXdPcHRpb25zLmxpbWl0KSkge1xuICAgICAgICAgIGl0ZW0udGV4dCA9IGAke2l0ZW0udGV4dC5zdWJzdHJpbmcoMCwgaXRlbVByZXZpZXdPcHRpb25zLmxpbWl0KX0uLi5gO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBtZXRhZGF0YVxuICAgICAgY29uc3QgbWV0YWRhdGE6IE1ldGFkYXRhR3JvdXBbXSA9IFtdO1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbS5tZXRhZGF0YSkpIHtcbiAgICAgICAgaXRlbS5tZXRhZGF0YS5mb3JFYWNoKChncm91cCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGl0ZW1zID0gW107XG4gICAgICAgICAgKGdyb3VwLml0ZW1zIHx8IFtdKS5mb3JFYWNoKChtZXRhZGF0YUl0ZW0pID0+IHtcbiAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgICAuLi5tZXRhZGF0YUl0ZW0sXG4gICAgICAgICAgICAgIGxhYmVsOiBfdChtZXRhZGF0YUl0ZW0ubGFiZWwpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBtZXRhZGF0YS5wdXNoKHsgaXRlbXMgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICAvLyBsaW5rXG4gICAgICBjb25zdCBhbmNob3IgPSB0aGlzLmdldEl0ZW1QcmV2aWV3QW5jaG9yKGl0ZW0sIGl0ZW1QcmV2aWV3Py5saW5rVGFyZ2V0KTtcblxuICAgICAgLypcbiAgICAgICAgQWRkIHRoZSBoaWdobGlnaHRzIHRvIHRoZSBpdGVtJ3MgbWV0YWRhdGEgd2l0aCBhIGN1c3RvbSBncm91cFxuICAgICAgKi9cbiAgICAgIGNvbnN0IGhpZ2hsaWdodHMgPSBbXTtcbiAgICAgIGlmIChpdGVtLmhpZ2hsaWdodHMpIHtcbiAgICAgICAgY29uc3QgaGlnaGxpZ2h0R3JvdXAgPSB7XG4gICAgICAgICAgdGl0bGU6IF90KCdhZHZhbmNlZHNlYXJjaCNoaWdobGlnaHRzX3RpdGxlJyksXG4gICAgICAgICAgaXRlbXM6IFtdLFxuICAgICAgICAgIGNsYXNzZXM6ICduNy1pdGVtLXByZXZpZXdfX2hpZ2hsaWdodHMnXG4gICAgICAgIH07XG4gICAgICAgIGl0ZW0uaGlnaGxpZ2h0cy5mb3JFYWNoKChoaWdobGlnaHQ6IEhpZ2hsaWdodEl0ZW0pID0+IHtcbiAgICAgICAgICAvLyBpZiB0aGUgaXRlbSBpcyBhbiBhcnJheSBpbnRlcnByZXQgaXQgYXMgW2xhYmVsLCBbdmFsdWVdXVxuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGhpZ2hsaWdodCkpIHtcbiAgICAgICAgICAgIGhpZ2hsaWdodEdyb3VwLml0ZW1zLnB1c2goe1xuICAgICAgICAgICAgICBsYWJlbDogX3QoaGlnaGxpZ2h0WzBdKSxcbiAgICAgICAgICAgICAgdmFsdWU6IF90KGhpZ2hsaWdodFsxXVswXSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gaWYgaXQncyBhbiBvYmplY3QgdGhlbiBpdCBzaG91bGQgaGF2ZSBhIGN1c3RvbSBoeXBlcmxpbmtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaHJlZiA9IHRoaXMuZ2V0SGlnaGxpZ2h0TGluayhoaWdobGlnaHQsIGFuY2hvci5ocmVmKTtcblxuICAgICAgICAgICAgaGlnaGxpZ2h0R3JvdXAuaXRlbXMucHVzaCh7XG4gICAgICAgICAgICAgIGxhYmVsOiBoaWdobGlnaHQubGFiZWwgPyBfdChoaWdobGlnaHQubGFiZWwpIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICB2YWx1ZTogaGlnaGxpZ2h0LnRleHQgPz8gJycsXG4gICAgICAgICAgICAgIHRhcmdldDogaXRlbVByZXZpZXc/LmxpbmtUYXJnZXQgfHwgJ19ibGFuaycsXG4gICAgICAgICAgICAgIGhyZWYsIC8vIGN1c3RvbSBoeXBlcmxpbmtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGhpZ2hsaWdodHMucHVzaChoaWdobGlnaHRHcm91cCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLml0ZW0sXG4gICAgICAgIG1ldGFkYXRhLFxuICAgICAgICBhbmNob3IsXG4gICAgICAgIGhpZ2hsaWdodHMsXG4gICAgICAgIGhpZ2hsaWdodHNIaWRkZW46ICEhaGlnaGxpZ2h0c09wdGlvbnM/LmhpZGRlbixcbiAgICAgICAgaGlnaGxpZ2h0c0hhc1RvZ2dsZTogISFoaWdobGlnaHRzT3B0aW9ucz8uaGFzVG9nZ2xlLFxuICAgICAgICBjbGFzc2VzOiBpdGVtUHJldmlld09wdGlvbnMuY2xhc3NlcyxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SXRlbVByZXZpZXdBbmNob3IoaXRlbSwgdGFyZ2V0ID0gJycpIHtcbiAgICBjb25zdCB7IGxvY2FsZVNlcnZpY2UgfTogeyBsb2NhbGVTZXJ2aWNlOiBNckxvY2FsZVNlcnZpY2UgfSA9IHRoaXMub3B0aW9ucztcbiAgICBsZXQgYW5jaG9yID0gbnVsbDtcbiAgICBpZiAoaXRlbS5yb3V0ZUlkKSB7XG4gICAgICBjb25zdCByb3V0ZUxpbmsgPSBsb2NhbGVTZXJ2aWNlLmdldExpbmtCeVJvdXRlSWQoaXRlbS5yb3V0ZUlkLCBgJHtpdGVtLmlkfWAsIGl0ZW0uc2x1Zyk7XG4gICAgICBhbmNob3IgPSB7XG4gICAgICAgIGhyZWY6IHJvdXRlTGluayxcbiAgICAgICAgcXVlcnlQYXJhbXM6IGl0ZW0ucGFyYW1zIHx8IG51bGwsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAoaXRlbS5saW5rKSB7XG4gICAgICBhbmNob3IgPSB7XG4gICAgICAgIGhyZWY6IGxpbmtzSGVscGVyLmdldFJvdXRlckxpbmsoaXRlbS5saW5rKSxcbiAgICAgICAgcXVlcnlQYXJhbXM6IGxpbmtzSGVscGVyLmdldFF1ZXJ5UGFyYW1zKGl0ZW0ubGluayksXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAoaXRlbS5wYXlsb2FkKSB7XG4gICAgICBhbmNob3IgPSB7XG4gICAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgICAuLi5pdGVtLnBheWxvYWRcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoaXRlbS5yb3V0ZUlkIHx8IGl0ZW0ubGluaykge1xuICAgICAgYW5jaG9yLnRhcmdldCA9IHRhcmdldCB8fCAnX2JsYW5rJztcbiAgICB9XG5cbiAgICByZXR1cm4gYW5jaG9yO1xuICB9XG5cbiAgcHVibGljIGdldEhpZ2hsaWdodExpbmsoaGlnaGxpZ2h0LCBpdGVtTGluaykge1xuICAgIGxldCBocmVmID0gJyc7XG4gICAgaWYgKCFoaWdobGlnaHQubGluaykge1xuICAgICAgcmV0dXJuIGhyZWY7XG4gICAgfVxuICAgIGlmIChoaWdobGlnaHQubGluay5hYnNvbHV0ZSkge1xuICAgICAgLy8gcGF0aCBpcyBhYnNvbHV0ZVxuICAgICAgaHJlZiA9IGAke2hpZ2hsaWdodC5saW5rLmFic29sdXRlfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGhyZWYgPSB0aGlzLmdldEhpZ2hsaWdodFJlbGF0aXZlVXJsKGhpZ2hsaWdodC5saW5rLCBpdGVtTGluayk7XG4gICAgICAvLyBwYXRoIGlzIHJlbGF0aXZlIHRvIHRoZSBpdGVtLXByZXZpZXcgdXJsXG4gICAgfVxuICAgIHJldHVybiB0aGlzLmdldEhpZ2hsaWdodFBhcmFtcyhoaWdobGlnaHQubGluaywgaHJlZik7XG4gIH1cblxuICBwcml2YXRlIGdldEhpZ2hsaWdodFJlbGF0aXZlVXJsKGhpZ2hsaWdodExpbmssIGhyZWYpIHtcbiAgICBpZiAoIWhpZ2hsaWdodExpbmspIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBoaWdobGlnaHRMaW5rID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIGAke2hyZWZ9JHtoaWdobGlnaHRMaW5rfWA7XG4gICAgfVxuICAgIGlmIChoaWdobGlnaHRMaW5rLnJlbGF0aXZlKSB7XG4gICAgICByZXR1cm4gYCR7aHJlZn0ke2hpZ2hsaWdodExpbmsucmVsYXRpdmV9YDtcbiAgICB9XG4gICAgcmV0dXJuIGhyZWY7XG4gIH1cblxuICBwcml2YXRlIGdldEhpZ2hsaWdodFBhcmFtcyhoaWdobGlnaHRMaW5rLCBocmVmKSB7XG4gICAgY29uc3QgcGFyYW1zID0gaGlnaGxpZ2h0TGluay5wYXJhbXMgPyBbaGlnaGxpZ2h0TGluay5wYXJhbXNdIDogW107XG4gICAgLy8gaW5jbHVkZXMgY3VycmVudCBxdWVyeSBfc3RyaW5nXG4gICAgaWYgKGhpZ2hsaWdodExpbmsucXVlcnlfc3RyaW5nKSB7XG4gICAgICBwYXJhbXMucHVzaChkb2N1bWVudC5sb2NhdGlvbi5zZWFyY2gpO1xuICAgIH1cbiAgICByZXR1cm4gbGlua3NIZWxwZXIuam9pblF1ZXJ5UGFyYW1zKGhyZWYsIHBhcmFtcyk7XG4gIH1cbn1cbiJdfQ==
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1tdXJ1Y2Evc3JjL2xpYi9kYXRhLXNvdXJjZXMvc2VhcmNoL3NlYXJjaC1yZXN1bHRzLmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLFdBQVcsTUFBTSw0QkFBNEIsQ0FBQztBQXlDckQsTUFBTSxxQkFBcUIsR0FBRztJQUM1QixLQUFLLEVBQUUsR0FBRztJQUNWLFNBQVMsRUFBRSxJQUFJO0NBQ2hCLENBQUM7QUFVRixNQUFNLE9BQU8saUJBQWtCLFNBQVEsVUFBVTtJQUNyQyxTQUFTLENBQUMsSUFBc0I7UUFDeEMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztRQUN6QixNQUFNLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQzNFLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFcEYsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDMUIsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ2xDLFlBQVk7Z0JBQ1osSUFBSSxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDakMsSUFBSSxDQUFDLElBQUksR0FBRyxP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UUFBUSxFQUFFLENBQUM7UUFDNUMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxJQUFJO1FBQzVDLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbEUsaUNBQWlDO1FBQ2pDLElBQUksYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQy9CLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBQ0QsT0FBTyxXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJdGVtUHJldmlld0RhdGEsIE1ldGFkYXRhR3JvdXAgfSBmcm9tICdAbmV0Ny9jb21wb25lbnRzJztcbmltcG9ydCB7IERhdGFTb3VyY2UsIF90IH0gZnJvbSAnQG5ldDcvY29yZSc7XG5pbXBvcnQgeyBtZXJnZSwgY2xvbmUgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgaGVscGVycyB9IGZyb20gJ0BuZXQ3L2JvaWxlcnBsYXRlLWNvbW1vbic7XG5pbXBvcnQgbGlua3NIZWxwZXIgZnJvbSAnLi4vLi4vaGVscGVycy9saW5rcy1oZWxwZXInO1xuaW1wb3J0IHsgTXJMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9jYWxlLnNlcnZpY2UnO1xuXG50eXBlIEhpZ2hsaWdodEl0ZW0gPSBbc3RyaW5nLCBbc3RyaW5nXV0gfCB7XG4gIGxpbms/OiB7XG4gICAgLyoqIGZyb20gdGhlIGJhc2VVcmwgb2YgdGhlIGFwcGxpY2F0aW9uICovXG4gICAgYWJzb2x1dGU/OiBzdHJpbmc7XG4gICAgLyoqIHBhdGggcmVsYXRpdmUgdG8gdGhlIGl0ZW0gcHJldmlldyB1cmwgKi9cbiAgICByZWxhdGl2ZT86IHN0cmluZztcbiAgICAvKiogdXJsIHF1ZXJ5IHBhcmFtcyBpbiBmb3JtYXQga2V5PVwidmFsdWVcIiZrZXkyPVwidmFsdWVcIiAqL1xuICAgIHBhcmFtcz86IHN0cmluZztcbiAgICAvKiogaW5jbHVkZSBjdXJyZW50IHVybCBxdWVyeSBwYXJhbXMgKi9cbiAgICBxdWVyeV9zdHJpbmc/OiBib29sZWFuO1xuICB9O1xuICB0ZXh0Pzogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIE1yU2VhcmNoUmVzdWx0IGV4dGVuZHMgSXRlbVByZXZpZXdEYXRhIHtcbiAgLyoqIHVuaXF1ZSBpZCBmb3IgdGhlIHNlYXJjaCByZXN1bHQgZW50cnkgKi9cbiAgaWQ6IG51bWJlcjtcbiAgLyoqIHJlbGF0aXZlIHBhdGggKi9cbiAgbGluaz86IHN0cmluZztcbiAgLyoqIHJvdXRlIGNvbmZpZyBpZCAqL1xuICByb3V0ZUlkPzogc3RyaW5nO1xuICAvKiogbGluayBxdWVyeSBwYXJhbXMgKi9cbiAgcGFyYW1zPzogb2JqZWN0O1xuICAvKiogbGluayBzbHVnICovXG4gIHNsdWc/OiBzdHJpbmc7XG4gIC8qKiBpdGVtcyB0aGF0IG1hdGNoZWQgdGhlIHNlYXJjaCBpbnB1dCAqL1xuICBoaWdobGlnaHRzPzogSGlnaGxpZ2h0SXRlbVtdO1xuICAvKiogaGlnaGxpZ2h0cyB0aXRsZSAqL1xuICBoaWdobGlnaHRzVGl0bGU/OiBzdHJpbmc7XG4gIC8qKiBwYXlsb2FkIGZvciBpdGVtIGFuY2hvciAqL1xuICBwYXlsb2FkPzoge1xuICAgIGFjdGlvbjogc3RyaW5nO1xuICAgIGlkOiBzdHJpbmcgfCBudW1iZXI7XG4gICAgdHlwZTogc3RyaW5nO1xuICB9O1xufVxuXG5jb25zdCBJVEVNX1BSRVZJRVdfREVGQVVMVFMgPSB7XG4gIGxpbWl0OiAxMDAsXG4gIHN0cmlwdGFnczogdHJ1ZVxufTtcblxudHlwZSBNclNlYXJjaFJlc3BvbnNlID0ge1xuICBsaW1pdDogbnVtYmVyO1xuICBvZmZzZXQ6IG51bWJlcjtcbiAgcmVzdWx0czogTXJTZWFyY2hSZXN1bHRbXTtcbiAgc29ydDogc3RyaW5nO1xuICB0b3RhbF9jb3VudDogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgTXJTZWFyY2hSZXN1bHRzRFMgZXh0ZW5kcyBEYXRhU291cmNlIHtcbiAgcHJvdGVjdGVkIHRyYW5zZm9ybShkYXRhOiBNclNlYXJjaFJlc3BvbnNlKSB7XG4gICAgY29uc3QgeyByZXN1bHRzIH0gPSBkYXRhO1xuICAgIGNvbnN0IHsgaXRlbVByZXZpZXcsIGhpZ2hsaWdodHM6IGhpZ2hsaWdodHNPcHRpb25zIH0gPSB0aGlzLm9wdGlvbnMuY29uZmlnO1xuICAgIGNvbnN0IGl0ZW1QcmV2aWV3T3B0aW9ucyA9IG1lcmdlKGNsb25lKElURU1fUFJFVklFV19ERUZBVUxUUyksIChpdGVtUHJldmlldyB8fCB7fSkpO1xuXG4gICAgcmV0dXJuIHJlc3VsdHMubWFwKChpdGVtKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGl0ZW0udGV4dCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgLy8gc3RyaXB0YWdzXG4gICAgICAgIGlmIChpdGVtUHJldmlld09wdGlvbnMuc3RyaXB0YWdzKSB7XG4gICAgICAgICAgaXRlbS50ZXh0ID0gaGVscGVycy5zdHJpcHRhZ3MoaXRlbS50ZXh0KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBsaW1pdFxuICAgICAgICBpZiAoaXRlbVByZXZpZXdPcHRpb25zLmxpbWl0ICYmIChpdGVtLnRleHQubGVuZ3RoID4gaXRlbVByZXZpZXdPcHRpb25zLmxpbWl0KSkge1xuICAgICAgICAgIGl0ZW0udGV4dCA9IGAke2l0ZW0udGV4dC5zdWJzdHJpbmcoMCwgaXRlbVByZXZpZXdPcHRpb25zLmxpbWl0KX0uLi5gO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBtZXRhZGF0YVxuICAgICAgY29uc3QgbWV0YWRhdGE6IE1ldGFkYXRhR3JvdXBbXSA9IFtdO1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbS5tZXRhZGF0YSkpIHtcbiAgICAgICAgaXRlbS5tZXRhZGF0YS5mb3JFYWNoKChncm91cCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGl0ZW1zID0gW107XG4gICAgICAgICAgKGdyb3VwLml0ZW1zIHx8IFtdKS5mb3JFYWNoKChtZXRhZGF0YUl0ZW0pID0+IHtcbiAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgICAuLi5tZXRhZGF0YUl0ZW0sXG4gICAgICAgICAgICAgIGxhYmVsOiBfdChtZXRhZGF0YUl0ZW0ubGFiZWwpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBtZXRhZGF0YS5wdXNoKHsgaXRlbXMgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICAvLyBsaW5rXG4gICAgICBjb25zdCBhbmNob3IgPSB0aGlzLmdldEl0ZW1QcmV2aWV3QW5jaG9yKGl0ZW0sIGl0ZW1QcmV2aWV3Py5saW5rVGFyZ2V0KTtcblxuICAgICAgLypcbiAgICAgICAgQWRkIHRoZSBoaWdobGlnaHRzIHRvIHRoZSBpdGVtJ3MgbWV0YWRhdGEgd2l0aCBhIGN1c3RvbSBncm91cFxuICAgICAgKi9cbiAgICAgIGNvbnN0IGhpZ2hsaWdodHMgPSBbXTtcbiAgICAgIGlmIChpdGVtLmhpZ2hsaWdodHMpIHtcbiAgICAgICAgY29uc3QgaGlnaGxpZ2h0R3JvdXAgPSB7XG4gICAgICAgICAgdGl0bGU6IF90KCdhZHZhbmNlZHNlYXJjaCNoaWdobGlnaHRzX3RpdGxlJyksXG4gICAgICAgICAgaXRlbXM6IFtdLFxuICAgICAgICAgIGNsYXNzZXM6ICduNy1pdGVtLXByZXZpZXdfX2hpZ2hsaWdodHMnXG4gICAgICAgIH07XG4gICAgICAgIGl0ZW0uaGlnaGxpZ2h0cy5mb3JFYWNoKChoaWdobGlnaHQ6IEhpZ2hsaWdodEl0ZW0pID0+IHtcbiAgICAgICAgICAvLyBpZiB0aGUgaXRlbSBpcyBhbiBhcnJheSBpbnRlcnByZXQgaXQgYXMgW2xhYmVsLCBbdmFsdWVdXVxuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGhpZ2hsaWdodCkpIHtcbiAgICAgICAgICAgIGhpZ2hsaWdodEdyb3VwLml0ZW1zLnB1c2goe1xuICAgICAgICAgICAgICBsYWJlbDogX3QoaGlnaGxpZ2h0WzBdKSxcbiAgICAgICAgICAgICAgdmFsdWU6IF90KGhpZ2hsaWdodFsxXVswXSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gaWYgaXQncyBhbiBvYmplY3QgdGhlbiBpdCBzaG91bGQgaGF2ZSBhIGN1c3RvbSBoeXBlcmxpbmtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaHJlZiA9IHRoaXMuZ2V0SGlnaGxpZ2h0TGluayhoaWdobGlnaHQsIGFuY2hvci5ocmVmKTtcblxuICAgICAgICAgICAgaGlnaGxpZ2h0R3JvdXAuaXRlbXMucHVzaCh7XG4gICAgICAgICAgICAgIGxhYmVsOiBoaWdobGlnaHQubGFiZWwgPyBfdChoaWdobGlnaHQubGFiZWwpIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICB2YWx1ZTogaGlnaGxpZ2h0LnRleHQgPz8gJycsXG4gICAgICAgICAgICAgIHRhcmdldDogaXRlbVByZXZpZXc/LmxpbmtUYXJnZXQgfHwgJ19ibGFuaycsXG4gICAgICAgICAgICAgIGhyZWYsIC8vIGN1c3RvbSBoeXBlcmxpbmtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGhpZ2hsaWdodHMucHVzaChoaWdobGlnaHRHcm91cCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLml0ZW0sXG4gICAgICAgIG1ldGFkYXRhLFxuICAgICAgICBhbmNob3IsXG4gICAgICAgIGhpZ2hsaWdodHMsXG4gICAgICAgIGhpZ2hsaWdodHNIaWRkZW46ICEhaGlnaGxpZ2h0c09wdGlvbnM/LmhpZGRlbixcbiAgICAgICAgaGlnaGxpZ2h0c0hhc1RvZ2dsZTogISFoaWdobGlnaHRzT3B0aW9ucz8uaGFzVG9nZ2xlLFxuICAgICAgICBjbGFzc2VzOiBpdGVtUHJldmlld09wdGlvbnMuY2xhc3NlcyxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SXRlbVByZXZpZXdBbmNob3IoaXRlbSwgdGFyZ2V0ID0gJycpIHtcbiAgICBjb25zdCB7IGxvY2FsZVNlcnZpY2UgfTogeyBsb2NhbGVTZXJ2aWNlOiBNckxvY2FsZVNlcnZpY2UgfSA9IHRoaXMub3B0aW9ucztcbiAgICBsZXQgYW5jaG9yID0gbnVsbDtcbiAgICBpZiAoaXRlbS5yb3V0ZUlkKSB7XG4gICAgICBjb25zdCByb3V0ZUxpbmsgPSBsb2NhbGVTZXJ2aWNlLmdldExpbmtCeVJvdXRlSWQoaXRlbS5yb3V0ZUlkLCBgJHtpdGVtLmlkfWAsIGl0ZW0uc2x1Zyk7XG4gICAgICBhbmNob3IgPSB7XG4gICAgICAgIGhyZWY6IHJvdXRlTGluayxcbiAgICAgICAgcXVlcnlQYXJhbXM6IGl0ZW0ucGFyYW1zIHx8IG51bGwsXG4gICAgICAgIGZyYWdtZW50OiBpdGVtLmZyYWdtZW50IHx8IG51bGwsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAoaXRlbS5saW5rKSB7XG4gICAgICBhbmNob3IgPSB7XG4gICAgICAgIGhyZWY6IGxpbmtzSGVscGVyLmdldFJvdXRlckxpbmsoaXRlbS5saW5rKSxcbiAgICAgICAgcXVlcnlQYXJhbXM6IGxpbmtzSGVscGVyLmdldFF1ZXJ5UGFyYW1zKGl0ZW0ubGluayksXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAoaXRlbS5wYXlsb2FkKSB7XG4gICAgICBhbmNob3IgPSB7XG4gICAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgICAuLi5pdGVtLnBheWxvYWRcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoaXRlbS5yb3V0ZUlkIHx8IGl0ZW0ubGluaykge1xuICAgICAgYW5jaG9yLnRhcmdldCA9IHRhcmdldCB8fCAnX2JsYW5rJztcbiAgICB9XG5cbiAgICByZXR1cm4gYW5jaG9yO1xuICB9XG5cbiAgcHVibGljIGdldEhpZ2hsaWdodExpbmsoaGlnaGxpZ2h0LCBpdGVtTGluaykge1xuICAgIGxldCBocmVmID0gJyc7XG4gICAgaWYgKCFoaWdobGlnaHQubGluaykge1xuICAgICAgcmV0dXJuIGhyZWY7XG4gICAgfVxuICAgIGlmIChoaWdobGlnaHQubGluay5hYnNvbHV0ZSkge1xuICAgICAgLy8gcGF0aCBpcyBhYnNvbHV0ZVxuICAgICAgaHJlZiA9IGAke2hpZ2hsaWdodC5saW5rLmFic29sdXRlfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGhyZWYgPSB0aGlzLmdldEhpZ2hsaWdodFJlbGF0aXZlVXJsKGhpZ2hsaWdodC5saW5rLCBpdGVtTGluayk7XG4gICAgICAvLyBwYXRoIGlzIHJlbGF0aXZlIHRvIHRoZSBpdGVtLXByZXZpZXcgdXJsXG4gICAgfVxuICAgIHJldHVybiB0aGlzLmdldEhpZ2hsaWdodFBhcmFtcyhoaWdobGlnaHQubGluaywgaHJlZik7XG4gIH1cblxuICBwcml2YXRlIGdldEhpZ2hsaWdodFJlbGF0aXZlVXJsKGhpZ2hsaWdodExpbmssIGhyZWYpIHtcbiAgICBpZiAoIWhpZ2hsaWdodExpbmspIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBoaWdobGlnaHRMaW5rID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIGAke2hyZWZ9JHtoaWdobGlnaHRMaW5rfWA7XG4gICAgfVxuICAgIGlmIChoaWdobGlnaHRMaW5rLnJlbGF0aXZlKSB7XG4gICAgICByZXR1cm4gYCR7aHJlZn0ke2hpZ2hsaWdodExpbmsucmVsYXRpdmV9YDtcbiAgICB9XG4gICAgcmV0dXJuIGhyZWY7XG4gIH1cblxuICBwcml2YXRlIGdldEhpZ2hsaWdodFBhcmFtcyhoaWdobGlnaHRMaW5rLCBocmVmKSB7XG4gICAgY29uc3QgcGFyYW1zID0gaGlnaGxpZ2h0TGluay5wYXJhbXMgPyBbaGlnaGxpZ2h0TGluay5wYXJhbXNdIDogW107XG4gICAgLy8gaW5jbHVkZXMgY3VycmVudCBxdWVyeSBfc3RyaW5nXG4gICAgaWYgKGhpZ2hsaWdodExpbmsucXVlcnlfc3RyaW5nKSB7XG4gICAgICBwYXJhbXMucHVzaChkb2N1bWVudC5sb2NhdGlvbi5zZWFyY2gpO1xuICAgIH1cbiAgICByZXR1cm4gbGlua3NIZWxwZXIuam9pblF1ZXJ5UGFyYW1zKGhyZWYsIHBhcmFtcyk7XG4gIH1cbn1cbiJdfQ==
@@ -84,6 +84,8 @@ export class MrResourceLayoutComponent extends AbstractLayout {
84
84
  });
85
85
  }
86
86
  ngAfterViewInit() {
87
+ const { configId } = this.routerData;
88
+ const timeout = this.configuration.get(configId).pageLoad || 1000;
87
89
  // If a fragment (#id) is present in the url, the page scroll to that fragment
88
90
  this.route.fragment.subscribe((fragment) => {
89
91
  if (fragment) {
@@ -92,7 +94,7 @@ export class MrResourceLayoutComponent extends AbstractLayout {
92
94
  if (element) {
93
95
  element.scrollIntoView({ behavior: 'smooth' });
94
96
  }
95
- }, 1000);
97
+ }, timeout);
96
98
  }
97
99
  });
98
100
  }
@@ -146,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
146
148
  type: Component,
147
149
  args: [{ selector: 'mr-resource-layout', template: "<div class=\"mr-resource mr-layout\" \n *ngIf=\"lb.dataSource && lb.dataSource.pageConfig\"\n [ngClass]=\"{\n 'is-loading': ( layoutState.get$('content') | async ) == 'LOADING',\n 'is-error': ( layoutState.get$('content') | async ) == 'ERROR'\n }\">\n <!-- RESOURCE LAYOUT CONTENT -->\n <ng-container [ngSwitch]=\"layoutState.get$('content') | async\">\n <!-- loading -->\n <ng-container *ngSwitchCase=\"'LOADING'\">\n <div class=\"mr-layout__loader\">\n <n7-loader></n7-loader>\n </div>\n </ng-container>\n\n <!-- error -->\n <ng-container *ngSwitchCase=\"'ERROR'\">\n <div class=\"mr-layout__error\">\n <h2>{{ lb.dataSource.errorTitle }}</h2>\n <p>{{ lb.dataSource.errorDescription }}</p>\n </div>\n </ng-container>\n\n <!-- success -->\n <ng-container *ngSwitchCase=\"'SUCCESS'\">\n <ng-container *ngIf=\"lb.dataSource.pageConfig.sections as sections\">\n <!-- Pass the list of blocks to render to the block template -->\n <div class=\"mr-resource__top\">\n <ng-container *ngTemplateOutlet=\"blocks; context: { $implicit: sections.top }\"></ng-container>\n </div>\n <div class=\"mr-resource__content mr-side-margin\">\n <ng-container *ngTemplateOutlet=\"blocks; context: { $implicit: sections.content }\"></ng-container>\n </div>\n </ng-container>\n </ng-container>\n\n </ng-container>\n</div>\n\n<ng-template #blocks let-list>\n <ng-container *ngFor=\"let section of list\">\n <section *ngIf=\"lb.widgets[section.id].ds.out$ | async\"\n class=\"{{ 'mr-resource__section mr-resource__' + section.type }}\">\n <ng-container [ngSwitch]=\"section.type\">\n\n <!-- TABS -->\n <ng-container *ngSwitchCase=\"'tabs'\">\n <ng-container *ngFor=\"let tab of lb.widgets[section.id].ds.out$ | async\">\n <n7-anchor-wrapper [data]=\"tab.anchor\" [classes]=\"tab.classes\" *ngIf=\"!tab.hideTab\">\n <span class=\"mr-resource__tabs-item\">{{ tab.label }}</span>\n </n7-anchor-wrapper>\n </ng-container>\n </ng-container>\n\n <!-- INNER TITLE -->\n <ng-container *ngSwitchCase=\"'title'\">\n <div class=\"mr-resource__title-content mr-side-margin\">\n <n7-inner-title \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-inner-title>\n </div>\n </ng-container>\n\n <!-- CUSTOM BUTTON -->\n <ng-container *ngSwitchCase=\"'button'\">\n <div class=\"mr-resource__button\">\n <n7-button \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-button>\n </div>\n </ng-container>\n \n <!-- IMAGE VIEWER IIIF -->\n <ng-container *ngSwitchCase=\"'viewer-iiif'\">\n <n7-mirador\n (contextmenu)=\"lb.dataSource.hasContextMenu()\"\n [data]=\"lb.widgets[section.id].ds.out$ | async\">\n </n7-mirador>\n </ng-container>\n \n <!-- IMAGE VIEWER -->\n <ng-container *ngSwitchCase=\"'viewer'\">\n\n <n7-image-viewer \n [data]=\"lb.widgets[section.id].ds.out$ | async\" \n [emit]=\"lb.widgets[section.id].emit\">\n </n7-image-viewer>\n <!-- IMAGE VIEWER TOOLS -->\n <n7-image-viewer-tools *ngIf=\"section.tools\" \n [data]=\"lb.widgets[section.id + '-tools'].ds.out$ | async\" \n [emit]=\"lb.widgets[section.id + '-tools'].emit\">\n </n7-image-viewer-tools>\n <!-- IMAGE VIEWER OVERLAY DETAILS -->\n <div *ngIf=\"lb.widgets[section.id + '-overlay-details'].ds.out$ | async as viewerDetailsData\" \n class=\"mr-resource__viewer-overlay-details\">\n <div class=\"mr-resource__viewer-overlay-details__close\">\n <a class=\"mr-resource__viewer-overlay-details__close-link\" \n (click)=\"lb.eventHandler.emitOuter('overlaycloseclick')\">\n <span class=\"n7-icon-close\"></span>\n </a>\n </div>\n <n7-item-preview \n [data]=\"viewerDetailsData\" \n [emit]=\"lb.widgets[section.id + '-overlay-details'].emit\">\n </n7-item-preview>\n </div>\n\n </ng-container>\n \n <!-- METADATA VIEWER -->\n <ng-container *ngSwitchCase=\"'metadata'\">\n \n <div class=\"mr-content-block mr-content-block-metadata\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <mr-read-more [data]=\"section.readmore\">\n <ng-container *ngIf=\" section?.options?.readmore || section?.options?.groupReadmore;\n else wihoutReadmore\">\n <mr-metadata-readmore\n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </mr-metadata-readmore>\n </ng-container>\n <ng-template #wihoutReadmore>\n <n7-metadata-viewer\n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-metadata-viewer>\n </ng-template>\n </mr-read-more>\n </div>\n </div>\n \n </ng-container>\n \n <!-- METADATA DYNAMIC -->\n <ng-container *ngSwitchCase=\"'metadata-dynamic'\">\n <mr-metadata-dynamic \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </mr-metadata-dynamic> \n </ng-container>\n \n <!-- COLLECTION -->\n <ng-container *ngSwitchCase=\"'collection'\">\n <ng-container *ngIf=\"lb.widgets[section.id].ds.out$ | async as collection$\">\n <div *ngIf=\"collection$.items?.length > 0\" class=\"mr-content-block mr-content-block-collection\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content {{ section.grid ? 'n7-grid-' + section.grid : '' }}\">\n <n7-item-preview *ngFor=\"let item of collection$?.items\"\n [data]=\"item\" [emit]=\"lb.widgets[section.id].emit\">\n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n </ng-container>\n \n <!-- ITEM PREVIEW -->\n <ng-container *ngSwitchCase=\"'preview'\">\n <div class=\"mr-content-block mr-content-block-item-preview\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-item-preview [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\"> \n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n \n <!-- TEXT VIEWER -->\n <ng-container *ngSwitchCase=\"'text-viewer'\">\n <div class=\"mr-content-block mr-content-block-text-viewer\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-text-viewer [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\">\n </n7-text-viewer>\n </div>\n </div>\n \n </ng-container>\n\n <!-- MAP -->\n <ng-container *ngSwitchCase=\"'map'\">\n <div class=\"mr-content-block mr-content-block-map\">\n <div class=\"mr-content-block__content\">\n <n7-map [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\"></n7-map>\n </div>\n </div>\n </ng-container>\n \n <!-- INFO BOX -->\n <ng-container *ngSwitchCase=\"'info-box'\">\n <div class=\"mr-content-block mr-content-block-info-box\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <div class=\"info-box__mock\">info-box</div> \n </div>\n </div>\n </ng-container>\n \n <!-- BREADCRUMBS -->\n <ng-container *ngSwitchCase=\"'breadcrumbs'\">\n <n7-breadcrumbs [data]=\"lb.widgets[section.id].ds.out$ | async\">\n </n7-breadcrumbs>\n </ng-container>\n\n </ng-container>\n </section>\n </ng-container>\n</ng-template>\n" }]
148
150
  }], ctorParameters: () => [{ type: i1.LayoutsConfigurationService }, { type: i2.ActivatedRoute }, { type: i1.ConfigurationService }, { type: i1.CommunicationService }, { type: i1.MainStateService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: i3.MrLayoutStateService }, { type: i4.MrResourceModalService }, { type: i5.MrLocaleService }] });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtbGF5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvbGF5b3V0cy9yZXNvdXJjZS1sYXlvdXQvcmVzb3VyY2UtbGF5b3V0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvbGF5b3V0cy9yZXNvdXJjZS1sYXlvdXQvcmVzb3VyY2UtbGF5b3V0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsY0FBYyxFQUtmLE1BQU0sMEJBQTBCLENBQUM7QUFHbEMsT0FBTyxFQUFFLHNCQUFzQixJQUFJLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEVBQ0wsZUFBZSxFQUNmLFVBQVUsRUFDVixjQUFjLEVBQ2QsZUFBZSxFQUNmLG9CQUFvQixFQUNwQixXQUFXLEVBQ1gsY0FBYyxFQUNkLGVBQWUsRUFDZixZQUFZLEVBQ1osY0FBYyxFQUNkLGdCQUFnQixFQUNoQiw2QkFBNkIsRUFDN0IsbUJBQW1CLEVBQ25CLG1CQUFtQixHQUNwQixNQUFNLG9CQUFvQixDQUFDO0FB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SW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIERhdGEsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBBYnN0cmFjdExheW91dCxcbiAgQ29tbXVuaWNhdGlvblNlcnZpY2UsXG4gIExheW91dHNDb25maWd1cmF0aW9uU2VydmljZSxcbiAgQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gIE1haW5TdGF0ZVNlcnZpY2Vcbn0gZnJvbSAnQG5ldDcvYm9pbGVycGxhdGUtY29tbW9uJztcbmltcG9ydCB7IE1yTGF5b3V0U3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGF5b3V0LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTXJSZXNvdXJjZU1vZGFsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Jlc291cmNlLW1vZGFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgTXJSZXNvdXJjZUxheW91dENvbmZpZyBhcyBjb25maWcgfSBmcm9tICcuL3Jlc291cmNlLWxheW91dC5jb25maWcnO1xuaW1wb3J0IHsgTXJJbWFnZVZpZXdlckVIIH0gZnJvbSAnLi4vLi4vZXZlbnQtaGFuZGxlcnMvaW1hZ2Utdmlld2VyLmVoJztcbmltcG9ydCB7IE1yVGV4dFZpZXdlckVIIH0gZnJvbSAnLi4vLi4vZXZlbnQtaGFuZGxlcnMvdGV4dC12aWV3ZXIuZWgnO1xuaW1wb3J0IHsgTXJJbWFnZVZpZXdlclRvb2xzRUggfSBmcm9tICcuLi8uLi9ldmVudC1oYW5kbGVycy9pbWFnZS12aWV3ZXItdG9vbHMuZWgnO1xuaW1wb3J0IHsgTXJDb2xsZWN0aW9uRUggfSBmcm9tICcuLi8uLi9ldmVudC1oYW5kbGVycy9jb2xsZWN0aW9uLmVoJztcbmltcG9ydCB7IE1ySW1hZ2VWaWV3ZXJPdmVybGF5RGV0YWlsc0VIIH0gZnJvbSAnLi4vLi4vZXZlbnQtaGFuZGxlcnMvaW1hZ2Utdmlld2VyLW92ZXJsYXktZGV0YWlscy5laCc7XG5pbXBvcnQgeyBNckJ1dHRvbkVILCBNck1ldGFkYXRhRHluYW1pY0VIIH0gZnJvbSAnLi4vLi4vZXZlbnQtaGFuZGxlcnMnO1xuaW1wb3J0IHtcbiAgTXJCcmVhZGNydW1ic0RTLFxuICBNckJ1dHRvbkRTLFxuICBNckNvbGxlY3Rpb25EUyxcbiAgTXJJbWFnZVZpZXdlckRTLFxuICBNckltYWdlVmlld2VyVG9vbHNEUyxcbiAgTXJJbmZvQm94RFMsXG4gIE1ySW5uZXJUaXRsZURTLFxuICBNckl0ZW1QcmV2aWV3RFMsXG4gIE1yTWV0YWRhdGFEUyxcbiAgTXJUZXh0Vmlld2VyRFMsXG4gIE1yUmVzb3VyY2VUYWJzRFMsXG4gIE1ySW1hZ2VWaWV3ZXJPdmVybGF5RGV0YWlsc0RTLFxuICBNck1ldGFkYXRhRHluYW1pY0RTLFxuICBNckltYWdlVmlld2VySWlpZkRTLFxufSBmcm9tICcuLi8uLi9kYXRhLXNvdXJjZXMnO1xuaW1wb3J0IHsgTXJNYXBEUyB9IGZyb20gJy4uLy4uL2RhdGEtc291cmNlcy9tYXAuZHMnO1xuaW1wb3J0IHsgTXJMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9jYWxlLnNlcnZpY2UnO1xuXG5jb25zdCBEQVRBU09VUkNFX01BUCA9IHtcbiAgYnJlYWRjcnVtYnM6IE1yQnJlYWRjcnVtYnNEUyxcbiAgYnV0dG9uOiBNckJ1dHRvbkRTLFxuICBjb2xsZWN0aW9uOiBNckNvbGxlY3Rpb25EUyxcbiAgaW5mbzogTXJJbmZvQm94RFMsXG4gIG1hcDogTXJNYXBEUyxcbiAgbWV0YWRhdGE6IE1yTWV0YWRhdGFEUyxcbiAgcHJldmlldzogTXJJdGVtUHJldmlld0RTLFxuICB0YWJzOiBNclJlc291cmNlVGFic0RTLFxuICB0ZXh0OiBNclRleHRWaWV3ZXJEUyxcbiAgdGl0bGU6IE1ySW5uZXJUaXRsZURTLFxuICB2aWV3ZXI6IE1ySW1hZ2VWaWV3ZXJEUyxcbiAgJ3ZpZXdlci10b29scyc6IE1ySW1hZ2VWaWV3ZXJUb29sc0RTLFxuICAndmlld2VyLW92ZXJsYXktZGV0YWlscyc6IE1ySW1hZ2VWaWV3ZXJPdmVybGF5RGV0YWlsc0RTLFxuICAndGV4dC12aWV3ZXInOiBNclRleHRWaWV3ZXJEUyxcbiAgJ21ldGFkYXRhLWR5bmFtaWMnOiBNck1ldGFkYXRhRHluYW1pY0RTLFxuICAndmlld2VyLWlpaWYnOiBNckltYWdlVmlld2VySWlpZkRTLFxufTtcblxuY29uc3QgRVZFTlRIQU5ETEVSX01BUCA9IHtcbiAgdmlld2VyOiBNckltYWdlVmlld2VyRUgsXG4gICd2aWV3ZXItdG9vbHMnOiBNckltYWdlVmlld2VyVG9vbHNFSCxcbiAgJ3ZpZXdlci1vdmVybGF5LWRldGFpbHMnOiBNckltYWdlVmlld2VyT3ZlcmxheURldGFpbHNFSCxcbiAgJ3RleHQtdmlld2VyJzogTXJUZXh0Vmlld2VyRUgsXG4gIGNvbGxlY3Rpb246IE1yQ29sbGVjdGlvbkVILFxuICAnbWV0YWRhdGEtZHluYW1pYyc6IE1yTWV0YWRhdGFEeW5hbWljRUgsXG4gIGJ1dHRvbjogTXJCdXR0b25FSCxcbiAgLy8gbWFwOiBNck1hcEVIXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtci1yZXNvdXJjZS1sYXlvdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVzb3VyY2UtbGF5b3V0Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBNclJlc291cmNlTGF5b3V0Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RMYXlvdXQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSxcbkFmdGVyVmlld0luaXQge1xuICBwcml2YXRlIHJvdXRlckRhdGE6IERhdGE7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbGF5b3V0c0NvbmZpZ3VyYXRpb246IExheW91dHNDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY29tbXVuaWNhdGlvbjogQ29tbXVuaWNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtYWluU3RhdGU6IE1haW5TdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwdWJsaWMgbGF5b3V0U3RhdGU6IE1yTGF5b3V0U3RhdGVTZXJ2aWNlLFxuICAgIHB1YmxpYyBtb2RhbFNlcnZpY2U6IE1yUmVzb3VyY2VNb2RhbFNlcnZpY2UsXG4gICAgcHVibGljIGxvY2FsZVNlcnZpY2U6IE1yTG9jYWxlU2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIobGF5b3V0c0NvbmZpZ3VyYXRpb24uZ2V0KCdNclJlc291cmNlTGF5b3V0Q29uZmlnJykgfHwgY29uZmlnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpbml0UGF5bG9hZCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcm91dGVyRGF0YTogdGhpcy5yb3V0ZXJEYXRhLFxuICAgICAgY29uZmlndXJhdGlvbjogdGhpcy5jb25maWd1cmF0aW9uLFxuICAgICAgY29tbXVuaWNhdGlvbjogdGhpcy5jb21tdW5pY2F0aW9uLFxuICAgICAgbWFpblN0YXRlOiB0aGlzLm1haW5TdGF0ZSxcbiAgICAgIGxheW91dFN0YXRlOiB0aGlzLmxheW91dFN0YXRlLFxuICAgICAgbW9kYWxTZXJ2aWNlOiB0aGlzLm1vZGFsU2VydmljZSxcbiAgICAgIGxvY2FsZVNlcnZpY2U6IHRoaXMubG9jYWxlU2VydmljZSxcbiAgICAgIG9wdGlvbnM6IHRoaXMuY29uZmlnLm9wdGlvbnMgfHwge30sXG4gICAgICByb3V0ZTogdGhpcy5yb3V0ZSxcbiAgICAgIHJvdXRlcjogdGhpcy5yb3V0ZXJcbiAgICB9O1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5kYXRhLnN1YnNjcmliZSgocm91dGVyRGF0YSkgPT4ge1xuICAgICAgdGhpcy5sYXlvdXRTdGF0ZS5hZGQoJ2NvbnRlbnQnKTtcbiAgICAgIHRoaXMucm91dGVyRGF0YSA9IHJvdXRlckRhdGE7XG4gICAgICB0aGlzLmxvYWRXaWRnZXRzKCk7XG4gICAgICB0aGlzLm9uSW5pdCgpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIC8vIElmIGEgZnJhZ21lbnQgKCNpZCkgaXMgcHJlc2VudCBpbiB0aGUgdXJsLCB0aGUgcGFnZSBzY3JvbGwgdG8gdGhhdCBmcmFnbWVudFxuICAgIHRoaXMucm91dGUuZnJhZ21lbnQuc3Vic2NyaWJlKChmcmFnbWVudCkgPT4ge1xuICAgICAgaWYgKGZyYWdtZW50KSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmcmFnbWVudCk7XG4gICAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LCAxMDAwKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMub25EZXN0cm95KCk7XG4gIH1cblxuICBsb2FkV2lkZ2V0cygpIHtcbiAgICBjb25zdCB7IGNvbmZpZ0lkIH0gPSB0aGlzLnJvdXRlckRhdGE7XG4gICAgY29uc3QgeyB0b3AsIGNvbnRlbnQgfSA9IHRoaXMuY29uZmlndXJhdGlvbi5nZXQoY29uZmlnSWQpLnNlY3Rpb25zO1xuICAgIGNvbnN0IHNlY3Rpb25zID0gdG9wLmNvbmNhdChjb250ZW50KTtcbiAgICB0aGlzLndpZGdldHMgPSBbXTtcbiAgICBpZiAoc2VjdGlvbnMpIHtcbiAgICAgIHNlY3Rpb25zLmZvckVhY2goKHtcbiAgICAgICAgaWQsIHR5cGUsIG9wdGlvbnMsIHRvb2xzXG4gICAgICB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHdpZGdldE9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgICAgICB3aWRnZXRPcHRpb25zLmxvY2FsZVNlcnZpY2UgPSB0aGlzLmxvY2FsZVNlcnZpY2U7XG4gICAgICAgIC8vIEFkZCByb3V0ZSB0byBtZXRhZGF0YS1keW5hbWljIG9wdGlvbnNcbiAgICAgICAgaWYgKHR5cGUgPT09ICdtZXRhZGF0YS1keW5hbWljJykge1xuICAgICAgICAgIG9wdGlvbnMucm91dGUgPSB0aGlzLnJvdXRlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMud2lkZ2V0cy5wdXNoKHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICBvcHRpb25zOiB3aWRnZXRPcHRpb25zLFxuICAgICAgICAgIGRhdGFTb3VyY2U6IERBVEFTT1VSQ0VfTUFQW3R5cGVdLFxuICAgICAgICAgIGV2ZW50SGFuZGxlcjogRVZFTlRIQU5ETEVSX01BUFt0eXBlXVxuICAgICAgICB9KTtcbiAgICAgICAgLy8gaW1hZ2Ugdmlld2VyIG92ZXJsYXkgZGV0YWlsc1xuICAgICAgICBpZiAodHlwZSA9PT0gJ3ZpZXdlcicpIHtcbiAgICAgICAgICB0aGlzLndpZGdldHMucHVzaCh7XG4gICAgICAgICAgICBpZDogYCR7aWR9LW92ZXJsYXktZGV0YWlsc2AsXG4gICAgICAgICAgICBvcHRpb25zOiB3aWRnZXRPcHRpb25zLFxuICAgICAgICAgICAgZGF0YVNvdXJjZTogREFUQVNPVVJDRV9NQVBbYCR7dHlwZX0tb3ZlcmxheS1kZXRhaWxzYF0sXG4gICAgICAgICAgICBldmVudEhhbmRsZXI6IEVWRU5USEFORExFUl9NQVBbYCR7dHlwZX0tb3ZlcmxheS1kZXRhaWxzYF1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBpbWFnZSB2aWV3ZXIgdG9vbHNcbiAgICAgICAgaWYgKHR5cGUgPT09ICd2aWV3ZXInICYmIHRvb2xzKSB7XG4gICAgICAgICAgdGhpcy53aWRnZXRzLnB1c2goe1xuICAgICAgICAgICAgaWQ6IGAke2lkfS10b29sc2AsXG4gICAgICAgICAgICBvcHRpb25zOiB3aWRnZXRPcHRpb25zLFxuICAgICAgICAgICAgZGF0YVNvdXJjZTogREFUQVNPVVJDRV9NQVBbYCR7dHlwZX0tdG9vbHNgXSxcbiAgICAgICAgICAgIGV2ZW50SGFuZGxlcjogRVZFTlRIQU5ETEVSX01BUFtgJHt0eXBlfS10b29sc2BdXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1yLXJlc291cmNlIG1yLWxheW91dFwiIFxuICAgICAqbmdJZj1cImxiLmRhdGFTb3VyY2UgJiYgbGIuZGF0YVNvdXJjZS5wYWdlQ29uZmlnXCJcbiAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnaXMtbG9hZGluZyc6ICggbGF5b3V0U3RhdGUuZ2V0JCgnY29udGVudCcpIHwgYXN5bmMgKSA9PSAnTE9BRElORycsXG4gICAgICAgICdpcy1lcnJvcic6ICggbGF5b3V0U3RhdGUuZ2V0JCgnY29udGVudCcpIHwgYXN5bmMgKSA9PSAnRVJST1InXG4gICAgICB9XCI+XG4gICAgPCEtLSBSRVNPVVJDRSBMQVlPVVQgQ09OVEVOVCAtLT5cbiAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJsYXlvdXRTdGF0ZS5nZXQkKCdjb250ZW50JykgfCBhc3luY1wiPlxuICAgICAgICA8IS0tIGxvYWRpbmcgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidMT0FESU5HJ1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yLWxheW91dF9fbG9hZGVyXCI+XG4gICAgICAgICAgICAgICAgPG43LWxvYWRlcj48L243LWxvYWRlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIGVycm9yIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInRVJST1InXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXItbGF5b3V0X19lcnJvclwiPlxuICAgICAgICAgICAgICAgIDxoMj57eyBsYi5kYXRhU291cmNlLmVycm9yVGl0bGUgfX08L2gyPlxuICAgICAgICAgICAgICAgIDxwPnt7IGxiLmRhdGFTb3VyY2UuZXJyb3JEZXNjcmlwdGlvbiB9fTwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIHN1Y2Nlc3MgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidTVUNDRVNTJ1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxiLmRhdGFTb3VyY2UucGFnZUNvbmZpZy5zZWN0aW9ucyBhcyBzZWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgIDwhLS0gUGFzcyB0aGUgbGlzdCBvZiBibG9ja3MgdG8gcmVuZGVyIHRvIHRoZSBibG9jayB0ZW1wbGF0ZSAtLT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXItcmVzb3VyY2VfX3RvcFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYmxvY2tzOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogc2VjdGlvbnMudG9wIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXItcmVzb3VyY2VfX2NvbnRlbnQgbXItc2lkZS1tYXJnaW5cIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJsb2NrczsgY29udGV4dDogeyAkaW1wbGljaXQ6IHNlY3Rpb25zLmNvbnRlbnQgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNibG9ja3MgbGV0LWxpc3Q+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc2VjdGlvbiBvZiBsaXN0XCI+XG4gICAgICAgIDxzZWN0aW9uICpuZ0lmPVwibGIud2lkZ2V0c1tzZWN0aW9uLmlkXS5kcy5vdXQkIHwgYXN5bmNcIlxuICAgICAgICBjbGFzcz1cInt7ICdtci1yZXNvdXJjZV9fc2VjdGlvbiBtci1yZXNvdXJjZV9fJyArIHNlY3Rpb24udHlwZSB9fVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwic2VjdGlvbi50eXBlXCI+XG5cbiAgICAgICAgICAgICAgICA8IS0tIFRBQlMgLS0+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3RhYnMnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhYiBvZiBsYi53aWRnZXRzW3NlY3Rpb24uaWRdLmRzLm91dCQgfCBhc3luY1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG43LWFuY2hvci13cmFwcGVyIFtkYXRhXT1cInRhYi5hbmNob3JcIiBbY2xhc3Nlc109XCJ0YWIuY2xhc3Nlc1wiICpuZ0lmPVwiIXRhYi5oaWRlVGFiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtci1yZXNvdXJjZV9fdGFicy1pdGVtXCI+e3sgdGFiLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uNy1hbmNob3Itd3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8IS0tIElOTkVSIFRJVExFIC0tPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid0aXRsZSdcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yLXJlc291cmNlX190aXRsZS1jb250ZW50IG1yLXNpZGUtbWFyZ2luXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bjctaW5uZXItdGl0bGUgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwibGIud2lkZ2V0c1tzZWN0aW9uLmlkXS5kcy5vdXQkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbWl0XT1cImxiLndpZGdldHNbc2VjdGlvbi5pZF0uZW1pdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uNy1pbm5lci10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8IS0tIENVU1RPTSBCVVRUT04gLS0+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2J1dHRvbidcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yLXJlc291cmNlX19idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuNy1idXR0b24gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwibGIud2lkZ2V0c1tzZWN0aW9uLmlkXS5kcy5vdXQkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbWl0XT1cImxiLndpZGdldHNbc2VjdGlvbi5pZF0uZW1pdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uNy1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIFxuICAgICAgICAgICAgICAgIDwhLS0gSU1BR0UgVklFV0VSIElJSUYgLS0+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3ZpZXdlci1paWlmJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8bjctbWlyYWRvclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnRleHRtZW51KT1cImxiLmRhdGFTb3VyY2UuaGFzQ29udGV4dE1lbnUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJsYi53aWRnZXRzW3NlY3Rpb24uaWRdLmRzLm91dCQgfCBhc3luY1wiPlxuICAgICAgICAgICAgICAgICAgICA8L243LW1pcmFkb3I+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgXG4gICAgICAgICAgICAgICAgPCEtLSBJTUFHRSBWSUVXRVIgLS0+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3ZpZXdlcidcIj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPG43LWltYWdlLXZpZXdlciBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJsYi53aWRnZXRzW3NlY3Rpb24uaWRdLmRzLm91dCQgfCBhc3luY1wiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbWl0XT1cImxiLndpZGdldHNbc2VjdGlvbi5pZF0uZW1pdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uNy1pbWFnZS12aWV3ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIElNQUdFIFZJRVdFUiBUT09MUyAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuNy1pbWFnZS12aWV3ZXItdG9vbHMgKm5nSWY9XCJzZWN0aW9uLnRvb2xzXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwibGIud2lkZ2V0c1tzZWN0aW9uLmlkICsgJy10b29scyddLmRzLm91dCQgfCBhc3luY1wiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbWl0XT1cImxiLndpZGdldHNbc2VjdGlvbi5pZCArICctdG9vbHMnXS5lbWl0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L243LWltYWdlLXZpZXdlci10b29scz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gSU1BR0UgVklFV0VSIE9WRVJMQVkgREVUQUlMUyAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJsYi53aWRnZXRzW3NlY3Rpb24uaWQgKyAnLW92ZXJsYXktZGV0YWlscyddLmRzLm91dCQgfCBhc3luYyBhcyB2aWV3ZXJEZXRhaWxzRGF0YVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXItcmVzb3VyY2VfX3ZpZXdlci1vdmVybGF5LWRldGFpbHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXItcmVzb3VyY2VfX3ZpZXdlci1vdmVybGF5LWRldGFpbHNfX2Nsb3NlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwibXItcmVzb3VyY2VfX3ZpZXdlci1vdmVybGF5LWRldGFpbHNfX2Nsb3NlLWxpbmtcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJsYi5ldmVudEhhbmRsZXIuZW1pdE91dGVyKCdvdmVybGF5Y2xvc2VjbGljaycpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm43LWljb24tY2xvc2VcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bjctaXRlbS1wcmV2aWV3IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJ2aWV3ZXJEZXRhaWxzRGF0YVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW1pdF09XCJsYi53aWRnZXRzW3NlY3Rpb24uaWQgKyAnLW92ZXJsYXktZGV0YWlscyddLmVtaXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L243LWl0ZW0tcHJldmlldz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgXG4gICAgICAgICAgICAgICAgPCEtLSBNRVRBREFUQSBWSUVXRVIgLS0+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ21ldGFkYXRhJ1wiPlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yLWNvbnRlbnQtYmxvY2sgbXItY29udGVudC1ibG9jay1tZXRhZGF0YVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGgzICpuZ0lmPVwic2VjdGlvbi50aXRsZVwiIGNsYXNzPVwibXItY29udGVudC1ibG9ja19fdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBzZWN0aW9uLnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yLWNvbnRlbnQtYmxvY2tfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bXItcmVhZC1tb3JlIFtkYXRhXT1cInNlY3Rpb24ucmVhZG1vcmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiBzZWN0aW9uPy5vcHRpb25zPy5yZWFkbW9yZSB8fCBzZWN0aW9uPy5vcHRpb25zPy5ncm91cFJlYWRtb3JlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHdpaG91dFJlYWRtb3JlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bXItbWV0YWRhdGEtcmVhZG1vcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJsYi53aWRnZXRzW3NlY3Rpb24uaWRdLmRzLm91dCQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtaXRdPVwibGIud2lkZ2V0c1tzZWN0aW9uLmlkXS5lbWl0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21yLW1ldGFkYXRhLXJlYWRtb3JlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN3aWhvdXRSZWFkbW9yZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuNy1tZXRhZGF0YS12aWV3ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJsYi53aWRnZXRzW3NlY3Rpb24uaWRdLmRzLm91dCQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtaXRdPVwibGIud2lkZ2V0c1tzZWN0aW9uLmlkXS5lbWl0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L243LW1ldGFkYXRhLXZpZXdlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21yLXJlYWQtbW9yZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgIFxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8IS0tIE1FVEFEQVRBIERZTkFNSUMgLS0+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ21ldGFkYXRhLWR5bmFtaWMnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtci1tZXRhZGF0YS1keW5hbWljIFxuICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJsYi53aWRnZXRzW3NlY3Rpb24uaWRdLmRzLm91dCQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgIFtlbWl0XT1cImxiLndpZGdldHNbc2VjdGlvbi5pZF0uZW1pdFwiPlxuICAgICAgICAgICAgICAgICAgICA8L21yLW1ldGFkYXRhLWR5bmFtaWM+ICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICBcbiAgICAgICAgICAgICAgICA8IS0tIENPTExFQ1RJT04gLS0+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NvbGxlY3Rpb24nXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsYi53aWRnZXRzW3NlY3Rpb24uaWRdLmRzLm91dCQgfCBhc3luYyBhcyBjb2xsZWN0aW9uJFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbGxlY3Rpb24kLml0ZW1zPy5sZW5ndGggPiAwXCIgY2xhc3M9XCJtci1jb250ZW50LWJsb2NrIG1yLWNvbnRlbnQtYmxvY2stY29sbGVjdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyAqbmdJZj1cInNlY3Rpb24udGl0bGVcIiBjbGFzcz1cIm1yLWNvbnRlbnQtYmxvY2tfX3RpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHNlY3Rpb24udGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtci1jb250ZW50LWJsb2NrX19jb250ZW50IHt7IHNlY3Rpb24uZ3JpZCA/ICduNy1ncmlkLScgKyBzZWN0aW9uLmdyaWQgOiAnJyB9fVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bjctaXRlbS1wcmV2aWV3ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbGxlY3Rpb24kPy5pdGVtc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJpdGVtXCIgW2VtaXRdPVwibGIud2lkZ2V0c1tzZWN0aW9uLmlkXS5lbWl0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbjctaXRlbS1wcmV2aWV3PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIFxuICAgICAgICAgICAgICAgIDwhLS0gSVRFTSBQUkVWSUVXIC0tPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidwcmV2aWV3J1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXItY29udGVudC1ibG9jayBtci1jb250ZW50LWJsb2NrLWl0ZW0tcHJldmlld1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGgzICpuZ0lmPVwic2VjdGlvbi50aXRsZVwiIGNsYXNzPVwibXItY29udGVudC1ibG9ja19fdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBzZWN0aW9uLnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yLWNvbnRlbnQtYmxvY2tfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bjctaXRlbS1wcmV2aWV3IFtkYXRhXT1cImxiLndpZGdldHNbc2VjdGlvbi5pZF0uZHMub3V0JCB8IGFzeW5jXCIgW2VtaXRdPVwibGIud2lkZ2V0c1tzZWN0aW9uLmlkXS5lbWl0XCI+ICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L243LWl0ZW0tcHJldmlldz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICBcbiAgICAgICAgICAgICAgICA8IS0tIFRFWFQgVklFV0VSIC0tPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid0ZXh0LXZpZXdlcidcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtci1jb250ZW50LWJsb2NrIG1yLWNvbnRlbnQtYmxvY2stdGV4dC12aWV3ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyAqbmdJZj1cInNlY3Rpb24udGl0bGVcIiBjbGFzcz1cIm1yLWNvbnRlbnQtYmxvY2tfX3RpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgc2VjdGlvbi50aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtci1jb250ZW50LWJsb2NrX19jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxuNy10ZXh0LXZpZXdlciBbZGF0YV09XCJsYi53aWRnZXRzW3NlY3Rpb24uaWRdLmRzLm91dCQgfCBhc3luY1wiIFtlbWl0XT1cImxiLndpZGdldHNbc2VjdGlvbi5pZF0uZW1pdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L243LXRleHQtdmlld2VyPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8IS0tIE1BUCAtLT5cbiAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbWFwJ1wiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yLWNvbnRlbnQtYmxvY2sgbXItY29udGVudC1ibG9jay1tYXBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yLWNvbnRlbnQtYmxvY2tfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuNy1tYXAgW2RhdGFdPVwibGIud2lkZ2V0c1tzZWN0aW9uLmlkXS5kcy5vdXQkIHwgYXN5bmNcIiBbZW1pdF09XCJsYi53aWRnZXRzW3NlY3Rpb24uaWRdLmVtaXRcIj48L243LW1hcD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICBcbiAgICAgICAgICAgICAgICA8IS0tIElORk8gQk9YIC0tPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidpbmZvLWJveCdcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yLWNvbnRlbnQtYmxvY2sgbXItY29udGVudC1ibG9jay1pbmZvLWJveFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGgzICpuZ0lmPVwic2VjdGlvbi50aXRsZVwiIGNsYXNzPVwibXItY29udGVudC1ibG9ja19fdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBzZWN0aW9uLnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yLWNvbnRlbnQtYmxvY2tfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1ib3hfX21vY2tcIj5pbmZvLWJveDwvZGl2PiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICBcbiAgICAgICAgICAgICAgICA8IS0tIEJSRUFEQ1JVTUJTIC0tPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidicmVhZGNydW1icydcIj5cbiAgICAgICAgICAgICAgICAgICAgPG43LWJyZWFkY3J1bWJzIFtkYXRhXT1cImxiLndpZGdldHNbc2VjdGlvbi5pZF0uZHMub3V0JCB8IGFzeW5jXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvbjctYnJlYWRjcnVtYnM+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtbGF5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvbGF5b3V0cy9yZXNvdXJjZS1sYXlvdXQvcmVzb3VyY2UtbGF5b3V0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvbGF5b3V0cy9yZXNvdXJjZS1sYXlvdXQvcmVzb3VyY2UtbGF5b3V0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsY0FBYyxFQUtmLE1BQU0sMEJBQTBCLENBQUM7QUFHbEMsT0FBTyxFQUFFLHNCQUFzQixJQUFJLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEVBQ0wsZUFBZSxFQUNmLFVBQVUsRUFDVixjQUFjLEVBQ2QsZUFBZSxFQUNmLG9CQUFvQixFQUNwQixXQUFXLEVBQ1gsY0FBYyxFQUNkLGVBQWUsRUFDZixZQUFZLEVBQ1osY0FBYyxFQUNkLGdCQUFnQixFQUNoQiw2QkFBNkIsRUFDN0IsbUJBQW1CLEVBQ25CLG1CQUFtQixHQUNwQixNQUFNLG9CQUFvQixDQUFDO0FB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Q0gsQ0FBQzsrR0F6R1UseUJBQXlCO21HQUF6Qix5QkFBeUIsaUZDekV0Qyw4N1ZBNk5BOzs0RkRwSmEseUJBQXlCO2tCQUpyQyxTQUFTOytCQUNFLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgRGF0YSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIEFic3RyYWN0TGF5b3V0LFxuICBDb21tdW5pY2F0aW9uU2VydmljZSxcbiAgTGF5b3V0c0NvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgTWFpblN0YXRlU2VydmljZVxufSBmcm9tICdAbmV0Ny9ib2lsZXJwbGF0ZS1jb21tb24nO1xuaW1wb3J0IHsgTXJMYXlvdXRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sYXlvdXQtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBNclJlc291cmNlTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVzb3VyY2UtbW9kYWwuc2VydmljZSc7XG5pbXBvcnQgeyBNclJlc291cmNlTGF5b3V0Q29uZmlnIGFzIGNvbmZpZyB9IGZyb20gJy4vcmVzb3VyY2UtbGF5b3V0LmNvbmZpZyc7XG5pbXBvcnQgeyBNckltYWdlVmlld2VyRUggfSBmcm9tICcuLi8uLi9ldmVudC1oYW5kbGVycy9pbWFnZS12aWV3ZXIuZWgnO1xuaW1wb3J0IHsgTXJUZXh0Vmlld2VyRUggfSBmcm9tICcuLi8uLi9ldmVudC1oYW5kbGVycy90ZXh0LXZpZXdlci5laCc7XG5pbXBvcnQgeyBNckltYWdlVmlld2VyVG9vbHNFSCB9IGZyb20gJy4uLy4uL2V2ZW50LWhhbmRsZXJzL2ltYWdlLXZpZXdlci10b29scy5laCc7XG5pbXBvcnQgeyBNckNvbGxlY3Rpb25FSCB9IGZyb20gJy4uLy4uL2V2ZW50LWhhbmRsZXJzL2NvbGxlY3Rpb24uZWgnO1xuaW1wb3J0IHsgTXJJbWFnZVZpZXdlck92ZXJsYXlEZXRhaWxzRUggfSBmcm9tICcuLi8uLi9ldmVudC1oYW5kbGVycy9pbWFnZS12aWV3ZXItb3ZlcmxheS1kZXRhaWxzLmVoJztcbmltcG9ydCB7IE1yQnV0dG9uRUgsIE1yTWV0YWRhdGFEeW5hbWljRUggfSBmcm9tICcuLi8uLi9ldmVudC1oYW5kbGVycyc7XG5pbXBvcnQge1xuICBNckJyZWFkY3J1bWJzRFMsXG4gIE1yQnV0dG9uRFMsXG4gIE1yQ29sbGVjdGlvbkRTLFxuICBNckltYWdlVmlld2VyRFMsXG4gIE1ySW1hZ2VWaWV3ZXJUb29sc0RTLFxuICBNckluZm9Cb3hEUyxcbiAgTXJJbm5lclRpdGxlRFMsXG4gIE1ySXRlbVByZXZpZXdEUyxcbiAgTXJNZXRhZGF0YURTLFxuICBNclRleHRWaWV3ZXJEUyxcbiAgTXJSZXNvdXJjZVRhYnNEUyxcbiAgTXJJbWFnZVZpZXdlck92ZXJsYXlEZXRhaWxzRFMsXG4gIE1yTWV0YWRhdGFEeW5hbWljRFMsXG4gIE1ySW1hZ2VWaWV3ZXJJaWlmRFMsXG59IGZyb20gJy4uLy4uL2RhdGEtc291cmNlcyc7XG5pbXBvcnQgeyBNck1hcERTIH0gZnJvbSAnLi4vLi4vZGF0YS1zb3VyY2VzL21hcC5kcyc7XG5pbXBvcnQgeyBNckxvY2FsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2NhbGUuc2VydmljZSc7XG5cbmNvbnN0IERBVEFTT1VSQ0VfTUFQID0ge1xuICBicmVhZGNydW1iczogTXJCcmVhZGNydW1ic0RTLFxuICBidXR0b246IE1yQnV0dG9uRFMsXG4gIGNvbGxlY3Rpb246IE1yQ29sbGVjdGlvbkRTLFxuICBpbmZvOiBNckluZm9Cb3hEUyxcbiAgbWFwOiBNck1hcERTLFxuICBtZXRhZGF0YTogTXJNZXRhZGF0YURTLFxuICBwcmV2aWV3OiBNckl0ZW1QcmV2aWV3RFMsXG4gIHRhYnM6IE1yUmVzb3VyY2VUYWJzRFMsXG4gIHRleHQ6IE1yVGV4dFZpZXdlckRTLFxuICB0aXRsZTogTXJJbm5lclRpdGxlRFMsXG4gIHZpZXdlcjogTXJJbWFnZVZpZXdlckRTLFxuICAndmlld2VyLXRvb2xzJzogTXJJbWFnZVZpZXdlclRvb2xzRFMsXG4gICd2aWV3ZXItb3ZlcmxheS1kZXRhaWxzJzogTXJJbWFnZVZpZXdlck92ZXJsYXlEZXRhaWxzRFMsXG4gICd0ZXh0LXZpZXdlcic6IE1yVGV4dFZpZXdlckRTLFxuICAnbWV0YWRhdGEtZHluYW1pYyc6IE1yTWV0YWRhdGFEeW5hbWljRFMsXG4gICd2aWV3ZXItaWlpZic6IE1ySW1hZ2VWaWV3ZXJJaWlmRFMsXG59O1xuXG5jb25zdCBFVkVOVEhBTkRMRVJfTUFQID0ge1xuICB2aWV3ZXI6IE1ySW1hZ2VWaWV3ZXJFSCxcbiAgJ3ZpZXdlci10b29scyc6IE1ySW1hZ2VWaWV3ZXJUb29sc0VILFxuICAndmlld2VyLW92ZXJsYXktZGV0YWlscyc6IE1ySW1hZ2VWaWV3ZXJPdmVybGF5RGV0YWlsc0VILFxuICAndGV4dC12aWV3ZXInOiBNclRleHRWaWV3ZXJFSCxcbiAgY29sbGVjdGlvbjogTXJDb2xsZWN0aW9uRUgsXG4gICdtZXRhZGF0YS1keW5hbWljJzogTXJNZXRhZGF0YUR5bmFtaWNFSCxcbiAgYnV0dG9uOiBNckJ1dHRvbkVILFxuICAvLyBtYXA6IE1yTWFwRUhcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21yLXJlc291cmNlLWxheW91dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXNvdXJjZS1sYXlvdXQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE1yUmVzb3VyY2VMYXlvdXRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdExheW91dCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LFxuQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgcm91dGVyRGF0YTogRGF0YTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBsYXlvdXRzQ29uZmlndXJhdGlvbjogTGF5b3V0c0NvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb21tdW5pY2F0aW9uOiBDb21tdW5pY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIG1haW5TdGF0ZTogTWFpblN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHB1YmxpYyBsYXlvdXRTdGF0ZTogTXJMYXlvdXRTdGF0ZVNlcnZpY2UsXG4gICAgcHVibGljIG1vZGFsU2VydmljZTogTXJSZXNvdXJjZU1vZGFsU2VydmljZSxcbiAgICBwdWJsaWMgbG9jYWxlU2VydmljZTogTXJMb2NhbGVTZXJ2aWNlLFxuICApIHtcbiAgICBzdXBlcihsYXlvdXRzQ29uZmlndXJhdGlvbi5nZXQoJ01yUmVzb3VyY2VMYXlvdXRDb25maWcnKSB8fCBjb25maWcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGluaXRQYXlsb2FkKCkge1xuICAgIHJldHVybiB7XG4gICAgICByb3V0ZXJEYXRhOiB0aGlzLnJvdXRlckRhdGEsXG4gICAgICBjb25maWd1cmF0aW9uOiB0aGlzLmNvbmZpZ3VyYXRpb24sXG4gICAgICBjb21tdW5pY2F0aW9uOiB0aGlzLmNvbW11bmljYXRpb24sXG4gICAgICBtYWluU3RhdGU6IHRoaXMubWFpblN0YXRlLFxuICAgICAgbGF5b3V0U3RhdGU6IHRoaXMubGF5b3V0U3RhdGUsXG4gICAgICBtb2RhbFNlcnZpY2U6IHRoaXMubW9kYWxTZXJ2aWNlLFxuICAgICAgbG9jYWxlU2VydmljZTogdGhpcy5sb2NhbGVTZXJ2aWNlLFxuICAgICAgb3B0aW9uczogdGhpcy5jb25maWcub3B0aW9ucyB8fCB7fSxcbiAgICAgIHJvdXRlOiB0aGlzLnJvdXRlLFxuICAgICAgcm91dGVyOiB0aGlzLnJvdXRlclxuICAgIH07XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLmRhdGEuc3Vic2NyaWJlKChyb3V0ZXJEYXRhKSA9PiB7XG4gICAgICB0aGlzLmxheW91dFN0YXRlLmFkZCgnY29udGVudCcpO1xuICAgICAgdGhpcy5yb3V0ZXJEYXRhID0gcm91dGVyRGF0YTtcbiAgICAgIHRoaXMubG9hZFdpZGdldHMoKTtcbiAgICAgIHRoaXMub25Jbml0KCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgeyBjb25maWdJZCB9ID0gdGhpcy5yb3V0ZXJEYXRhO1xuICAgIGNvbnN0IHRpbWVvdXQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KGNvbmZpZ0lkKS5wYWdlTG9hZCB8fCAxMDAwO1xuXG4gICAgLy8gSWYgYSBmcmFnbWVudCAoI2lkKSBpcyBwcmVzZW50IGluIHRoZSB1cmwsIHRoZSBwYWdlIHNjcm9sbCB0byB0aGF0IGZyYWdtZW50XG4gICAgdGhpcy5yb3V0ZS5mcmFnbWVudC5zdWJzY3JpYmUoKGZyYWdtZW50KSA9PiB7XG4gICAgICBpZiAoZnJhZ21lbnQpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGZyYWdtZW50KTtcbiAgICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgZWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIHRpbWVvdXQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5vbkRlc3Ryb3koKTtcbiAgfVxuXG4gIGxvYWRXaWRnZXRzKCkge1xuICAgIGNvbnN0IHsgY29uZmlnSWQgfSA9IHRoaXMucm91dGVyRGF0YTtcbiAgICBjb25zdCB7IHRvcCwgY29udGVudCB9ID0gdGhpcy5jb25maWd1cmF0aW9uLmdldChjb25maWdJZCkuc2VjdGlvbnM7XG4gICAgY29uc3Qgc2VjdGlvbnMgPSB0b3AuY29uY2F0KGNvbnRlbnQpO1xuICAgIHRoaXMud2lkZ2V0cyA9IFtdO1xuICAgIGlmIChzZWN0aW9ucykge1xuICAgICAgc2VjdGlvbnMuZm9yRWFjaCgoe1xuICAgICAgICBpZCwgdHlwZSwgb3B0aW9ucywgdG9vbHNcbiAgICAgIH0pID0+IHtcbiAgICAgICAgY29uc3Qgd2lkZ2V0T3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgICAgIHdpZGdldE9wdGlvbnMubG9jYWxlU2VydmljZSA9IHRoaXMubG9jYWxlU2VydmljZTtcbiAgICAgICAgLy8gQWRkIHJvdXRlIHRvIG1ldGFkYXRhLWR5bmFtaWMgb3B0aW9uc1xuICAgICAgICBpZiAodHlwZSA9PT0gJ21ldGFkYXRhLWR5bmFtaWMnKSB7XG4gICAgICAgICAgb3B0aW9ucy5yb3V0ZSA9IHRoaXMucm91dGU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy53aWRnZXRzLnB1c2goe1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIG9wdGlvbnM6IHdpZGdldE9wdGlvbnMsXG4gICAgICAgICAgZGF0YVNvdXJjZTogREFUQVNPVVJDRV9NQVBbdHlwZV0sXG4gICAgICAgICAgZXZlbnRIYW5kbGVyOiBFVkVOVEhBTkRMRVJfTUFQW3R5cGVdXG4gICAgICAgIH0pO1xuICAgICAgICAvLyBpbWFnZSB2aWV3ZXIgb3ZlcmxheSBkZXRhaWxzXG4gICAgICAgIGlmICh0eXBlID09PSAndmlld2VyJykge1xuICAgICAgICAgIHRoaXMud2lkZ2V0cy5wdXNoKHtcbiAgICAgICAgICAgIGlkOiBgJHtpZH0tb3ZlcmxheS1kZXRhaWxzYCxcbiAgICAgICAgICAgIG9wdGlvbnM6IHdpZGdldE9wdGlvbnMsXG4gICAgICAgICAgICBkYXRhU291cmNlOiBEQVRBU09VUkNFX01BUFtgJHt0eXBlfS1vdmVybGF5LWRldGFpbHNgXSxcbiAgICAgICAgICAgIGV2ZW50SGFuZGxlcjogRVZFTlRIQU5ETEVSX01BUFtgJHt0eXBlfS1vdmVybGF5LWRldGFpbHNgXVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIC8vIGltYWdlIHZpZXdlciB0b29sc1xuICAgICAgICBpZiAodHlwZSA9PT0gJ3ZpZXdlcicgJiYgdG9vbHMpIHtcbiAgICAgICAgICB0aGlzLndpZGdldHMucHVzaCh7XG4gICAgICAgICAgICBpZDogYCR7aWR9LXRvb2xzYCxcbiAgICAgICAgICAgIG9wdGlvbnM6IHdpZGdldE9wdGlvbnMsXG4gICAgICAgICAgICBkYXRhU291cmNlOiBEQVRBU09VUkNFX01BUFtgJHt0eXBlfS10b29sc2BdLFxuICAgICAgICAgICAgZXZlbnRIYW5kbGVyOiBFVkVOVEhBTkRMRVJfTUFQW2Ake3R5cGV9LXRvb2xzYF1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibXItcmVzb3VyY2UgbXItbGF5b3V0XCIgXG4gICAgICpuZ0lmPVwibGIuZGF0YVNvdXJjZSAmJiBsYi5kYXRhU291cmNlLnBhZ2VDb25maWdcIlxuICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdpcy1sb2FkaW5nJzogKCBsYXlvdXRTdGF0ZS5nZXQkKCdjb250ZW50JykgfCBhc3luYyApID09ICdMT0FESU5HJyxcbiAgICAgICAgJ2lzLWVycm9yJzogKCBsYXlvdXRTdGF0ZS5nZXQkKCdjb250ZW50JykgfCBhc3luYyApID09ICdFUlJPUidcbiAgICAgIH1cIj5cbiAgICA8IS0tIFJFU09VUkNFIExBWU9VVCBDT05URU5UIC0tPlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImxheW91dFN0YXRlLmdldCQoJ2NvbnRlbnQnKSB8IGFzeW5jXCI+XG4gICAgICAgIDwhLS0gbG9hZGluZyAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ0xPQURJTkcnXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXItbGF5b3V0X19sb2FkZXJcIj5cbiAgICAgICAgICAgICAgICA8bjctbG9hZGVyPjwvbjctbG9hZGVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gZXJyb3IgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidFUlJPUidcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtci1sYXlvdXRfX2Vycm9yXCI+XG4gICAgICAgICAgICAgICAgPGgyPnt7IGxiLmRhdGFTb3VyY2UuZXJyb3JUaXRsZSB9fTwvaDI+XG4gICAgICAgICAgICAgICAgPHA+e3sgbGIuZGF0YVNvdXJjZS5lcnJvckRlc2NyaXB0aW9uIH19PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gc3VjY2VzcyAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ1NVQ0NFU1MnXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGIuZGF0YVNvdXJjZS5wYWdlQ29uZmlnLnNlY3Rpb25zIGFzIHNlY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgPCEtLSBQYXNzIHRoZSBsaXN0IG9mIGJsb2NrcyB0byByZW5kZXIgdG8gdGhlIGJsb2NrIHRlbXBsYXRlIC0tPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtci1yZXNvdXJjZV9fdG9wXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJibG9ja3M7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBzZWN0aW9ucy50b3AgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtci1yZXNvdXJjZV9fY29udGVudCBtci1zaWRlLW1hcmdpblwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYmxvY2tzOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogc2VjdGlvbnMuY29udGVudCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2Jsb2NrcyBsZXQtbGlzdD5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzZWN0aW9uIG9mIGxpc3RcIj5cbiAgICAgICAgPHNlY3Rpb24gKm5nSWY9XCJsYi53aWRnZXRzW3NlY3Rpb24uaWRdLmRzLm91dCQgfCBhc3luY1wiXG4gICAgICAgIGNsYXNzPVwie3sgJ21yLXJlc291cmNlX19zZWN0aW9uIG1yLXJlc291cmNlX18nICsgc2VjdGlvbi50eXBlIH19XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJzZWN0aW9uLnR5cGVcIj5cblxuICAgICAgICAgICAgICAgIDwhLS0gVEFCUyAtLT5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGFicydcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIGxiLndpZGdldHNbc2VjdGlvbi5pZF0uZHMub3V0JCB8IGFzeW5jXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bjctYW5jaG9yLXdyYXBwZXIgW2RhdGFdPVwidGFiLmFuY2hvclwiIFtjbGFzc2VzXT1cInRhYi5jbGFzc2VzXCIgKm5nSWY9XCIhdGFiLmhpZGVUYWJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yLXJlc291cmNlX190YWJzLWl0ZW1cIj57eyB0YWIubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L243LWFuY2hvci13cmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDwhLS0gSU5ORVIgVElUTEUgLS0+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3RpdGxlJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXItcmVzb3VyY2VfX3RpdGxlLWNvbnRlbnQgbXItc2lkZS1tYXJnaW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuNy1pbm5lci10aXRsZSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJsYi53aWRnZXRzW3NlY3Rpb24uaWRdLmRzLm91dCQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtaXRdPVwibGIud2lkZ2V0c1tzZWN0aW9uLmlkXS5lbWl0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L243LWlubmVyLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDwhLS0gQ1VTVE9NIEJVVFRPTiAtLT5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInYnV0dG9uJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXItcmVzb3VyY2VfX2J1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG43LWJ1dHRvbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJsYi53aWRnZXRzW3NlY3Rpb24uaWRdLmRzLm91dCQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtaXRdPVwibGIud2lkZ2V0c1tzZWN0aW9uLmlkXS5lbWl0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L243LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgXG4gICAgICAgICAgICAgICAgPCEtLSBJTUFHRSBWSUVXRVIgSUlJRiAtLT5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndmlld2VyLWlpaWYnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuNy1taXJhZG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAoY29udGV4dG1lbnUpPVwibGIuZGF0YVNvdXJjZS5oYXNDb250ZXh0TWVudSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImxiLndpZGdldHNbc2VjdGlvbi5pZF0uZHMub3V0JCB8IGFzeW5jXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvbjctbWlyYWRvcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICBcbiAgICAgICAgICAgICAgICA8IS0tIElNQUdFIFZJRVdFUiAtLT5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndmlld2VyJ1wiPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8bjctaW1hZ2Utdmlld2VyIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImxiLndpZGdldHNbc2VjdGlvbi5pZF0uZHMub3V0JCB8IGFzeW5jXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtaXRdPVwibGIud2lkZ2V0c1tzZWN0aW9uLmlkXS5lbWl0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L243LWltYWdlLXZpZXdlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gSU1BR0UgVklFV0VSIFRPT0xTIC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG43LWltYWdlLXZpZXdlci10b29scyAqbmdJZj1cInNlY3Rpb24udG9vbHNcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJsYi53aWRnZXRzW3NlY3Rpb24uaWQgKyAnLXRvb2xzJ10uZHMub3V0JCB8IGFzeW5jXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtaXRdPVwibGIud2lkZ2V0c1tzZWN0aW9uLmlkICsgJy10b29scyddLmVtaXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbjctaW1hZ2Utdmlld2VyLXRvb2xzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBJTUFHRSBWSUVXRVIgT1ZFUkxBWSBERVRBSUxTIC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImxiLndpZGdldHNbc2VjdGlvbi5pZCArICctb3ZlcmxheS1kZXRhaWxzJ10uZHMub3V0JCB8IGFzeW5jIGFzIHZpZXdlckRldGFpbHNEYXRhXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtci1yZXNvdXJjZV9fdmlld2VyLW92ZXJsYXktZGV0YWlsc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtci1yZXNvdXJjZV9fdmlld2VyLW92ZXJsYXktZGV0YWlsc19fY2xvc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJtci1yZXNvdXJjZV9fdmlld2VyLW92ZXJsYXktZGV0YWlsc19fY2xvc2UtbGlua1wiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImxiLmV2ZW50SGFuZGxlci5lbWl0T3V0ZXIoJ292ZXJsYXljbG9zZWNsaWNrJylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibjctaWNvbi1jbG9zZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuNy1pdGVtLXByZXZpZXcgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cInZpZXdlckRldGFpbHNEYXRhXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbWl0XT1cImxiLndpZGdldHNbc2VjdGlvbi5pZCArICctb3ZlcmxheS1kZXRhaWxzJ10uZW1pdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbjctaXRlbS1wcmV2aWV3PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICBcbiAgICAgICAgICAgICAgICA8IS0tIE1FVEFEQVRBIFZJRVdFUiAtLT5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbWV0YWRhdGEnXCI+XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXItY29udGVudC1ibG9jayBtci1jb250ZW50LWJsb2NrLW1ldGFkYXRhXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgKm5nSWY9XCJzZWN0aW9uLnRpdGxlXCIgY2xhc3M9XCJtci1jb250ZW50LWJsb2NrX190aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHNlY3Rpb24udGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXItY29udGVudC1ibG9ja19fY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtci1yZWFkLW1vcmUgW2RhdGFdPVwic2VjdGlvbi5yZWFkbW9yZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIHNlY3Rpb24/Lm9wdGlvbnM/LnJlYWRtb3JlIHx8IHNlY3Rpb24/Lm9wdGlvbnM/Lmdyb3VwUmVhZG1vcmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Ugd2lob3V0UmVhZG1vcmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtci1tZXRhZGF0YS1yZWFkbW9yZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImxiLndpZGdldHNbc2VjdGlvbi5pZF0uZHMub3V0JCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW1pdF09XCJsYi53aWRnZXRzW3NlY3Rpb24uaWRdLmVtaXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbXItbWV0YWRhdGEtcmVhZG1vcmU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3dpaG91dFJlYWRtb3JlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG43LW1ldGFkYXRhLXZpZXdlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImxiLndpZGdldHNbc2VjdGlvbi5pZF0uZHMub3V0JCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW1pdF09XCJsYi53aWRnZXRzW3NlY3Rpb24uaWRdLmVtaXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbjctbWV0YWRhdGEtdmlld2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbXItcmVhZC1tb3JlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDwhLS0gTUVUQURBVEEgRFlOQU1JQyAtLT5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbWV0YWRhdGEtZHluYW1pYydcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1yLW1ldGFkYXRhLWR5bmFtaWMgXG4gICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImxiLndpZGdldHNbc2VjdGlvbi5pZF0uZHMub3V0JCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgW2VtaXRdPVwibGIud2lkZ2V0c1tzZWN0aW9uLmlkXS5lbWl0XCI+XG4gICAgICAgICAgICAgICAgICAgIDwvbXItbWV0YWRhdGEtZHluYW1pYz4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIFxuICAgICAgICAgICAgICAgIDwhLS0gQ09MTEVDVElPTiAtLT5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInY29sbGVjdGlvbidcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxiLndpZGdldHNbc2VjdGlvbi5pZF0uZHMub3V0JCB8IGFzeW5jIGFzIGNvbGxlY3Rpb24kXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sbGVjdGlvbiQuaXRlbXM/Lmxlbmd0aCA+IDBcIiBjbGFzcz1cIm1yLWNvbnRlbnQtYmxvY2sgbXItY29udGVudC1ibG9jay1jb2xsZWN0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzICpuZ0lmPVwic2VjdGlvbi50aXRsZVwiIGNsYXNzPVwibXItY29udGVudC1ibG9ja19fdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgc2VjdGlvbi50aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yLWNvbnRlbnQtYmxvY2tfX2NvbnRlbnQge3sgc2VjdGlvbi5ncmlkID8gJ243LWdyaWQtJyArIHNlY3Rpb24uZ3JpZCA6ICcnIH19XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuNy1pdGVtLXByZXZpZXcgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY29sbGVjdGlvbiQ/Lml0ZW1zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cIml0ZW1cIiBbZW1pdF09XCJsYi53aWRnZXRzW3NlY3Rpb24uaWRdLmVtaXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uNy1pdGVtLXByZXZpZXc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgXG4gICAgICAgICAgICAgICAgPCEtLSBJVEVNIFBSRVZJRVcgLS0+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3ByZXZpZXcnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtci1jb250ZW50LWJsb2NrIG1yLWNvbnRlbnQtYmxvY2staXRlbS1wcmV2aWV3XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgKm5nSWY9XCJzZWN0aW9uLnRpdGxlXCIgY2xhc3M9XCJtci1jb250ZW50LWJsb2NrX190aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHNlY3Rpb24udGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXItY29udGVudC1ibG9ja19fY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuNy1pdGVtLXByZXZpZXcgW2RhdGFdPVwibGIud2lkZ2V0c1tzZWN0aW9uLmlkXS5kcy5vdXQkIHwgYXN5bmNcIiBbZW1pdF09XCJsYi53aWRnZXRzW3NlY3Rpb24uaWRdLmVtaXRcIj4gICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbjctaXRlbS1wcmV2aWV3PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIFxuICAgICAgICAgICAgICAgIDwhLS0gVEVYVCBWSUVXRVIgLS0+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3RleHQtdmlld2VyJ1wiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yLWNvbnRlbnQtYmxvY2sgbXItY29udGVudC1ibG9jay10ZXh0LXZpZXdlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGgzICpuZ0lmPVwic2VjdGlvbi50aXRsZVwiIGNsYXNzPVwibXItY29udGVudC1ibG9ja19fdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBzZWN0aW9uLnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yLWNvbnRlbnQtYmxvY2tfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG43LXRleHQtdmlld2VyIFtkYXRhXT1cImxiLndpZGdldHNbc2VjdGlvbi5pZF0uZHMub3V0JCB8IGFzeW5jXCIgW2VtaXRdPVwibGIud2lkZ2V0c1tzZWN0aW9uLmlkXS5lbWl0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbjctdGV4dC12aWV3ZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDwhLS0gTUFQIC0tPlxuICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidtYXAnXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXItY29udGVudC1ibG9jayBtci1jb250ZW50LWJsb2NrLW1hcFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXItY29udGVudC1ibG9ja19fY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG43LW1hcCBbZGF0YV09XCJsYi53aWRnZXRzW3NlY3Rpb24uaWRdLmRzLm91dCQgfCBhc3luY1wiIFtlbWl0XT1cImxiLndpZGdldHNbc2VjdGlvbi5pZF0uZW1pdFwiPjwvbjctbWFwPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIFxuICAgICAgICAgICAgICAgIDwhLS0gSU5GTyBCT1ggLS0+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2luZm8tYm94J1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXItY29udGVudC1ibG9jayBtci1jb250ZW50LWJsb2NrLWluZm8tYm94XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgKm5nSWY9XCJzZWN0aW9uLnRpdGxlXCIgY2xhc3M9XCJtci1jb250ZW50LWJsb2NrX190aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHNlY3Rpb24udGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXItY29udGVudC1ibG9ja19fY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWJveF9fbW9ja1wiPmluZm8tYm94PC9kaXY+ICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIFxuICAgICAgICAgICAgICAgIDwhLS0gQlJFQURDUlVNQlMgLS0+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2JyZWFkY3J1bWJzJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8bjctYnJlYWRjcnVtYnMgW2RhdGFdPVwibGIud2lkZ2V0c1tzZWN0aW9uLmlkXS5kcy5vdXQkIHwgYXN5bmNcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9uNy1icmVhZGNydW1icz5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1861,8 +1861,14 @@ class MrMapDS extends DataSource {
1861
1861
  // flatten the list of markers
1862
1862
  .reduce((acc, val) => acc.concat(val), []);
1863
1863
  }
1864
- const mapCenter = d.map_center ? [d.map_center.lat, d.map_center.lng]
1865
- : [54.5260, 15.2551];
1864
+ let mapCenter;
1865
+ const mapCenterOptions = this.options?.libOptions?.map_center;
1866
+ if (mapCenterOptions) {
1867
+ mapCenter = mapCenterOptions;
1868
+ }
1869
+ else {
1870
+ mapCenter = d.map_center ? [d.map_center.lat, d.map_center.lng] : [54.5260, 15.2551];
1871
+ }
1866
1872
  const initialView = {
1867
1873
  // center of europe (only for initial load)
1868
1874
  center: mapCenter,
@@ -1872,14 +1878,18 @@ class MrMapDS extends DataSource {
1872
1878
  // update the already existing layers.
1873
1879
  if (this.mapInstance && this.markerLayer) {
1874
1880
  this.buildMarkers(markers);
1875
- this.fitMapToBounds(markers.map((m) => m.coords), d.zoom);
1881
+ if (!mapCenterOptions) {
1882
+ this.fitMapToBounds(markers.map((m) => m.coords), d.zoom);
1883
+ }
1876
1884
  }
1877
1885
  return {
1878
1886
  // only called once, on component init!
1879
1887
  _setInstance: (instance) => {
1880
1888
  this.mapInstance = instance;
1881
- // center the map on the markers
1882
- this.fitMapToBounds(markers.map((m) => m.coords), d.zoom);
1889
+ if (!mapCenterOptions) {
1890
+ // center the map on the markers
1891
+ this.fitMapToBounds(markers.map((m) => m.coords), d.zoom);
1892
+ }
1883
1893
  // load custom markers
1884
1894
  this.buildMarkers(markers);
1885
1895
  this.mapLoaded$.next({ map: instance, markers: this.markerLayer });
@@ -2654,6 +2664,7 @@ class MrSearchResultsDS extends DataSource {
2654
2664
  anchor = {
2655
2665
  href: routeLink,
2656
2666
  queryParams: item.params || null,
2667
+ fragment: item.fragment || null,
2657
2668
  };
2658
2669
  }
2659
2670
  else if (item.link) {
@@ -5895,6 +5906,8 @@ class MrResourceLayoutComponent extends AbstractLayout {
5895
5906
  });
5896
5907
  }
5897
5908
  ngAfterViewInit() {
5909
+ const { configId } = this.routerData;
5910
+ const timeout = this.configuration.get(configId).pageLoad || 1000;
5898
5911
  // If a fragment (#id) is present in the url, the page scroll to that fragment
5899
5912
  this.route.fragment.subscribe((fragment) => {
5900
5913
  if (fragment) {
@@ -5903,7 +5916,7 @@ class MrResourceLayoutComponent extends AbstractLayout {
5903
5916
  if (element) {
5904
5917
  element.scrollIntoView({ behavior: 'smooth' });
5905
5918
  }
5906
- }, 1000);
5919
+ }, timeout);
5907
5920
  }
5908
5921
  });
5909
5922
  }