aril 1.0.4 → 1.0.5-dev-2025-04-30

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.
Files changed (28) hide show
  1. package/esm2022/boot/config/api/src/api.service.mjs +1 -6
  2. package/esm2022/boot/mfe/src/bootstrap.mjs +257 -2
  3. package/esm2022/ui/editor/aril-ui-editor.mjs +5 -0
  4. package/esm2022/ui/editor/index.mjs +3 -0
  5. package/esm2022/ui/editor/src/aril-editor.component.mjs +159 -0
  6. package/esm2022/ui/editor/src/types.mjs +24 -0
  7. package/fesm2022/{aril-app.component-1u4fN5iR.mjs → aril-app.component-Ux9msiiR.mjs} +2 -1
  8. package/fesm2022/aril-app.component-Ux9msiiR.mjs.map +1 -0
  9. package/fesm2022/aril-boot-config-api.mjs +0 -5
  10. package/fesm2022/aril-boot-config-api.mjs.map +1 -1
  11. package/fesm2022/{aril-boot-mfe-app.component-uibOq039.mjs → aril-boot-mfe-app.component-RW39gJnT.mjs} +3 -2
  12. package/fesm2022/aril-boot-mfe-app.component-RW39gJnT.mjs.map +1 -0
  13. package/fesm2022/aril-boot-mfe-aril-boot-mfe-BidobbPl.mjs +368 -0
  14. package/fesm2022/aril-boot-mfe-aril-boot-mfe-BidobbPl.mjs.map +1 -0
  15. package/fesm2022/aril-boot-mfe.mjs +2 -1
  16. package/fesm2022/aril-boot-mfe.mjs.map +1 -1
  17. package/fesm2022/aril-ui-editor.mjs +189 -0
  18. package/fesm2022/aril-ui-editor.mjs.map +1 -0
  19. package/fesm2022/aril.mjs +257 -2
  20. package/fesm2022/aril.mjs.map +1 -1
  21. package/package.json +86 -78
  22. package/ui/editor/index.d.ts +2 -0
  23. package/ui/editor/src/aril-editor.component.d.ts +23 -0
  24. package/ui/editor/src/types.d.ts +21 -0
  25. package/fesm2022/aril-app.component-1u4fN5iR.mjs.map +0 -1
  26. package/fesm2022/aril-boot-mfe-app.component-uibOq039.mjs.map +0 -1
  27. package/fesm2022/aril-boot-mfe-aril-boot-mfe-sashUxA6.mjs +0 -113
  28. package/fesm2022/aril-boot-mfe-aril-boot-mfe-sashUxA6.mjs.map +0 -1
@@ -8,11 +8,6 @@ export const loadApiConfigs = (httpClient, keycloak, appName, microAppService) =
8
8
  .pipe(switchMap((configs) => {
9
9
  globalThis.hostMenuItems = signal([]);
10
10
  Object.assign(API_CONFIGS, { ...configs });
11
- globalThis.mwApi = API_CONFIGS.mwApi;
12
- if (isDevMode())
13
- globalThis.hostAPI = API_CONFIGS.api;
14
- else if (appName === Apps.MNG)
15
- API_CONFIGS.api = window.location.origin + '/host/v1'; // Dynamic API for MNG (Standalone Production Mode)
16
11
  return from(keycloak.init({
17
12
  config: API_CONFIGS.keycloak,
18
13
  loadUserProfileAtStartUp: true,
@@ -47,4 +42,4 @@ export function setApiConfigOnMFEMode(httpClient, keycloak, appName) {
47
42
  return firstValueFrom(observable$);
48
43
  };
49
44
  }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL2Jvb3QvY29uZmlnL2FwaS9zcmMvYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFtQixNQUFNLGtCQUFrQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUk3RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVqRSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO0FBRW5ELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FDMUIsQ0FBQyxVQUFzQixFQUFFLFFBQXlCLEVBQUUsT0FBZSxFQUFFLGVBQWlDLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUMvRyxJQUFJLE9BQU8sQ0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQzdCLFVBQVU7S0FDUixHQUFHLENBQW9CLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0tBQzVGLElBQUksQ0FDSixTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtJQUNwQixVQUFrQixDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFL0MsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDMUMsVUFBa0IsQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQztJQUU5QyxJQUFJLFNBQVMsRUFBRTtRQUFHLFVBQWtCLENBQUMsT0FBTyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUM7U0FDMUQsSUFBSSxPQUFPLEtBQUssSUFBSSxDQUFDLEdBQUc7UUFBRSxXQUFXLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxDQUFDLG1EQUFtRDtJQUV6SSxPQUFPLElBQUksQ0FDVixRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ2IsTUFBTSxFQUFFLFdBQVcsQ0FBQyxRQUFRO1FBQzVCLHdCQUF3QixFQUFFLElBQUk7UUFDOUIsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRTtRQUNsRSxrQkFBa0IsRUFBRSxDQUFDLFNBQVMsQ0FBQztLQUMvQixDQUFDLENBQ0YsQ0FBQyxJQUFJLENBQ0wsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUNiLGdCQUFnQixDQUFDLGNBQWMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQzFDLE1BQU0sR0FBRyxHQUFJLEtBQXFCLENBQUMsTUFBTSxDQUFDO1FBQzFDLGFBQWEsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxHQUFHLEdBQUcsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTdFLFFBQVEsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDeEMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUFDLG9CQUFvQixFQUFFLENBQUM7Z0JBQ3ZELGFBQWEsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxHQUFHLEdBQUcsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2hGLENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUNGLENBQ0QsQ0FBQztBQUNILENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLENBQzVFO0tBQ0EsU0FBUyxFQUFFO0tBQ1gsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUNkLENBQUM7QUFFSjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQ3BDLFVBQXNCLEVBQ3RCLFFBQXlCLEVBQ3pCLE9BQWU7SUFFZixPQUFPLEdBQUcsRUFBRTtRQUNYLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUEyQixDQUFDLENBQUM7UUFDdEUsTUFBTSxXQUFXLEdBQUcsVUFBVTthQUM1QixHQUFHLENBQ0gsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixJQUFJLHNDQUFzQztZQUM1RSxDQUFDLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFlBQVk7Z0JBQ3JDLENBQUMsQ0FBQyxNQUFNLE9BQU8sV0FBVyxDQUMxQjthQUNBLElBQUksQ0FDSixHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNmLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUNGLENBQUM7UUFFSCxPQUFPLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNwQyxDQUFDLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgaXNEZXZNb2RlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEtleWNsb2FrRXZlbnRUeXBlLCBLZXljbG9ha1NlcnZpY2UgfSBmcm9tICdrZXljbG9hay1hbmd1bGFyJztcclxuaW1wb3J0IHsgRU1QVFksIGZpbmFsaXplLCBmaXJzdFZhbHVlRnJvbSwgZnJvbSwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IE1pY3JvQXBwU2VydmljZSB9IGZyb20gJ2FyaWwvYm9vdC9jb25maWcvYXBwcyc7XHJcblxyXG5pbXBvcnQgeyBBcGlDb25maWdzRmFjdG9yeSwgQXBwcywgYXBwUG9ydHMgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IEFQSV9DT05GSUdTID0gbmV3IEFwaUNvbmZpZ3NGYWN0b3J5KCk7XHJcblxyXG5leHBvcnQgY29uc3QgbG9hZEFwaUNvbmZpZ3MgPVxyXG5cdChodHRwQ2xpZW50OiBIdHRwQ2xpZW50LCBrZXljbG9hazogS2V5Y2xvYWtTZXJ2aWNlLCBhcHBOYW1lOiBzdHJpbmcsIG1pY3JvQXBwU2VydmljZT86IE1pY3JvQXBwU2VydmljZSkgPT4gKCkgPT5cclxuXHRcdG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PlxyXG5cdFx0XHRodHRwQ2xpZW50XHJcblx0XHRcdFx0LmdldDxBcGlDb25maWdzRmFjdG9yeT4oaXNEZXZNb2RlKCkgPyAnLi9hc3NldHMvbG9jYWwtY29uZmlncy9hcGkubG9jYWwuanNvbicgOiAnLi9hcGkuanNvbicpXHJcblx0XHRcdFx0LnBpcGUoXHJcblx0XHRcdFx0XHRzd2l0Y2hNYXAoKGNvbmZpZ3MpID0+IHtcclxuXHRcdFx0XHRcdFx0KGdsb2JhbFRoaXMgYXMgYW55KS5ob3N0TWVudUl0ZW1zID0gc2lnbmFsKFtdKTtcclxuXHJcblx0XHRcdFx0XHRcdE9iamVjdC5hc3NpZ24oQVBJX0NPTkZJR1MsIHsgLi4uY29uZmlncyB9KTtcclxuXHRcdFx0XHRcdFx0KGdsb2JhbFRoaXMgYXMgYW55KS5td0FwaSA9IEFQSV9DT05GSUdTLm13QXBpO1xyXG5cclxuXHRcdFx0XHRcdFx0aWYgKGlzRGV2TW9kZSgpKSAoZ2xvYmFsVGhpcyBhcyBhbnkpLmhvc3RBUEkgPSBBUElfQ09ORklHUy5hcGk7XHJcblx0XHRcdFx0XHRcdGVsc2UgaWYgKGFwcE5hbWUgPT09IEFwcHMuTU5HKSBBUElfQ09ORklHUy5hcGkgPSB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgJy9ob3N0L3YxJzsgLy8gRHluYW1pYyBBUEkgZm9yIE1ORyAoU3RhbmRhbG9uZSBQcm9kdWN0aW9uIE1vZGUpXHJcblxyXG5cdFx0XHRcdFx0XHRyZXR1cm4gZnJvbShcclxuXHRcdFx0XHRcdFx0XHRrZXljbG9hay5pbml0KHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbmZpZzogQVBJX0NPTkZJR1Mua2V5Y2xvYWssXHJcblx0XHRcdFx0XHRcdFx0XHRsb2FkVXNlclByb2ZpbGVBdFN0YXJ0VXA6IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0XHRpbml0T3B0aW9uczogeyBvbkxvYWQ6ICdsb2dpbi1yZXF1aXJlZCcsIGNoZWNrTG9naW5JZnJhbWU6IGZhbHNlIH0sXHJcblx0XHRcdFx0XHRcdFx0XHRiZWFyZXJFeGNsdWRlZFVybHM6IFsnL2Fzc2V0cyddXHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0KS5waXBlKFxyXG5cdFx0XHRcdFx0XHRcdGZpbmFsaXplKCgpID0+XHJcblx0XHRcdFx0XHRcdFx0XHRhZGRFdmVudExpc3RlbmVyKCdtb2R1bGUtcmVhZHknLCAoZXZlbnQpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29uc3QgYXBwID0gKGV2ZW50IGFzIEN1c3RvbUV2ZW50KS5kZXRhaWw7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KGAke2FwcH06aW5pdC1rZXljbG9ha2AsIHsgZGV0YWlsOiBrZXljbG9hayB9KSk7XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRrZXljbG9hay5rZXljbG9ha0V2ZW50cyQuc3Vic2NyaWJlKChlKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWYgKGUudHlwZSA9PT0gS2V5Y2xvYWtFdmVudFR5cGUuT25BdXRoUmVmcmVzaFN1Y2Nlc3MpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KGAke2FwcH06dXBkYXRlLWtleWNsb2FrYCwgeyBkZXRhaWw6IGtleWNsb2FrIH0pKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0XHQpXHJcblx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHR9KSxcclxuXHRcdFx0XHRcdHN3aXRjaE1hcCgoKSA9PiBtaWNyb0FwcFNlcnZpY2U/LmluaXQoaHR0cENsaWVudCwgQVBJX0NPTkZJR1MuYXBpKSA/PyBFTVBUWSlcclxuXHRcdFx0XHQpXHJcblx0XHRcdFx0LnN1YnNjcmliZSgpXHJcblx0XHRcdFx0LmFkZChyZXNvbHZlKVxyXG5cdFx0KTtcclxuXHJcbi8qKlxyXG4gKiBvbmx5IHdvcmtzIHdoZW4gaXNIb3N0TW9kZSBpcyB0cnVlXHJcbiAqIG1pY3JvLWFwcCBhY2Nlc3MgaXRzIG93biBhcGkuanNvbiBmaWxlIHdoZW4gb3BlbmVkIGluIGhvc3RcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzZXRBcGlDb25maWdPbk1GRU1vZGUoXHJcblx0aHR0cENsaWVudDogSHR0cENsaWVudCxcclxuXHRrZXljbG9hazogS2V5Y2xvYWtTZXJ2aWNlLFxyXG5cdGFwcE5hbWU6IHN0cmluZ1xyXG4pOiAoKSA9PiBQcm9taXNlPGFueT4ge1xyXG5cdHJldHVybiAoKSA9PiB7XHJcblx0XHRjb25zdCBwb3J0ID0gYXBwUG9ydHNbYXBwTmFtZS50b1VwcGVyQ2FzZSgpIGFzIGtleW9mIHR5cGVvZiBhcHBQb3J0c107XHJcblx0XHRjb25zdCBvYnNlcnZhYmxlJCA9IGh0dHBDbGllbnRcclxuXHRcdFx0LmdldDxBcGlDb25maWdzRmFjdG9yeT4oXHJcblx0XHRcdFx0aXNEZXZNb2RlKCkgPyBgaHR0cDovL2xvY2FsaG9zdDoke3BvcnR9L2Fzc2V0cy9sb2NhbC1jb25maWdzL2FwaS5sb2NhbC5qc29uYFxyXG5cdFx0XHRcdDogYXBwTmFtZSA9PT0gQXBwcy5NTkcgPyAnLi9hcGkuanNvbidcclxuXHRcdFx0XHQ6IGAuLi8ke2FwcE5hbWV9L2FwaS5qc29uYFxyXG5cdFx0XHQpXHJcblx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdHRhcCgoY29uZmlncykgPT4ge1xyXG5cdFx0XHRcdFx0T2JqZWN0LmFzc2lnbihBUElfQ09ORklHUywgeyAuLi5jb25maWdzIH0pO1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdCk7XHJcblxyXG5cdFx0cmV0dXJuIGZpcnN0VmFsdWVGcm9tKG9ic2VydmFibGUkKTtcclxuXHR9O1xyXG59XHJcbiJdfQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL2Jvb3QvY29uZmlnL2FwaS9zcmMvYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFtQixNQUFNLGtCQUFrQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUk3RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVqRSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO0FBRW5ELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FDMUIsQ0FBQyxVQUFzQixFQUFFLFFBQXlCLEVBQUUsT0FBZSxFQUFFLGVBQWlDLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUMvRyxJQUFJLE9BQU8sQ0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQzdCLFVBQVU7S0FDUixHQUFHLENBQW9CLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0tBQzVGLElBQUksQ0FDSixTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtJQUNwQixVQUFrQixDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFL0MsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFFM0MsT0FBTyxJQUFJLENBQ1YsUUFBUSxDQUFDLElBQUksQ0FBQztRQUNiLE1BQU0sRUFBRSxXQUFXLENBQUMsUUFBUTtRQUM1Qix3QkFBd0IsRUFBRSxJQUFJO1FBQzlCLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUU7UUFDbEUsa0JBQWtCLEVBQUUsQ0FBQyxTQUFTLENBQUM7S0FDL0IsQ0FBQyxDQUNGLENBQUMsSUFBSSxDQUNMLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDYixnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUMxQyxNQUFNLEdBQUcsR0FBSSxLQUFxQixDQUFDLE1BQU0sQ0FBQztRQUMxQyxhQUFhLENBQUMsSUFBSSxXQUFXLENBQUMsR0FBRyxHQUFHLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUU3RSxRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3hDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2dCQUN2RCxhQUFhLENBQUMsSUFBSSxXQUFXLENBQUMsR0FBRyxHQUFHLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNoRixDQUFDO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDLENBQUMsQ0FDRixDQUNELENBQUM7QUFDSCxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUM1RTtLQUNBLFNBQVMsRUFBRTtLQUNYLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FDZCxDQUFDO0FBRUo7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUNwQyxVQUFzQixFQUN0QixRQUF5QixFQUN6QixPQUFlO0lBRWYsT0FBTyxHQUFHLEVBQUU7UUFDWCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBMkIsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sV0FBVyxHQUFHLFVBQVU7YUFDNUIsR0FBRyxDQUNILFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsSUFBSSxzQ0FBc0M7WUFDNUUsQ0FBQyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxZQUFZO2dCQUNyQyxDQUFDLENBQUMsTUFBTSxPQUFPLFdBQVcsQ0FDMUI7YUFDQSxJQUFJLENBQ0osR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDZixNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FDRixDQUFDO1FBRUgsT0FBTyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEMsQ0FBQyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IGlzRGV2TW9kZSwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBLZXljbG9ha0V2ZW50VHlwZSwgS2V5Y2xvYWtTZXJ2aWNlIH0gZnJvbSAna2V5Y2xvYWstYW5ndWxhcic7XHJcbmltcG9ydCB7IEVNUFRZLCBmaW5hbGl6ZSwgZmlyc3RWYWx1ZUZyb20sIGZyb20sIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBNaWNyb0FwcFNlcnZpY2UgfSBmcm9tICdhcmlsL2Jvb3QvY29uZmlnL2FwcHMnO1xyXG5cclxuaW1wb3J0IHsgQXBpQ29uZmlnc0ZhY3RvcnksIEFwcHMsIGFwcFBvcnRzIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcclxuXHJcbmV4cG9ydCBjb25zdCBBUElfQ09ORklHUyA9IG5ldyBBcGlDb25maWdzRmFjdG9yeSgpO1xyXG5cclxuZXhwb3J0IGNvbnN0IGxvYWRBcGlDb25maWdzID1cclxuXHQoaHR0cENsaWVudDogSHR0cENsaWVudCwga2V5Y2xvYWs6IEtleWNsb2FrU2VydmljZSwgYXBwTmFtZTogc3RyaW5nLCBtaWNyb0FwcFNlcnZpY2U/OiBNaWNyb0FwcFNlcnZpY2UpID0+ICgpID0+XHJcblx0XHRuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT5cclxuXHRcdFx0aHR0cENsaWVudFxyXG5cdFx0XHRcdC5nZXQ8QXBpQ29uZmlnc0ZhY3Rvcnk+KGlzRGV2TW9kZSgpID8gJy4vYXNzZXRzL2xvY2FsLWNvbmZpZ3MvYXBpLmxvY2FsLmpzb24nIDogJy4vYXBpLmpzb24nKVxyXG5cdFx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdFx0c3dpdGNoTWFwKChjb25maWdzKSA9PiB7XHJcblx0XHRcdFx0XHRcdChnbG9iYWxUaGlzIGFzIGFueSkuaG9zdE1lbnVJdGVtcyA9IHNpZ25hbChbXSk7XHJcblxyXG5cdFx0XHRcdFx0XHRPYmplY3QuYXNzaWduKEFQSV9DT05GSUdTLCB7IC4uLmNvbmZpZ3MgfSk7XHJcblxyXG5cdFx0XHRcdFx0XHRyZXR1cm4gZnJvbShcclxuXHRcdFx0XHRcdFx0XHRrZXljbG9hay5pbml0KHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbmZpZzogQVBJX0NPTkZJR1Mua2V5Y2xvYWssXHJcblx0XHRcdFx0XHRcdFx0XHRsb2FkVXNlclByb2ZpbGVBdFN0YXJ0VXA6IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0XHRpbml0T3B0aW9uczogeyBvbkxvYWQ6ICdsb2dpbi1yZXF1aXJlZCcsIGNoZWNrTG9naW5JZnJhbWU6IGZhbHNlIH0sXHJcblx0XHRcdFx0XHRcdFx0XHRiZWFyZXJFeGNsdWRlZFVybHM6IFsnL2Fzc2V0cyddXHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0KS5waXBlKFxyXG5cdFx0XHRcdFx0XHRcdGZpbmFsaXplKCgpID0+XHJcblx0XHRcdFx0XHRcdFx0XHRhZGRFdmVudExpc3RlbmVyKCdtb2R1bGUtcmVhZHknLCAoZXZlbnQpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29uc3QgYXBwID0gKGV2ZW50IGFzIEN1c3RvbUV2ZW50KS5kZXRhaWw7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KGAke2FwcH06aW5pdC1rZXljbG9ha2AsIHsgZGV0YWlsOiBrZXljbG9hayB9KSk7XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRrZXljbG9hay5rZXljbG9ha0V2ZW50cyQuc3Vic2NyaWJlKChlKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWYgKGUudHlwZSA9PT0gS2V5Y2xvYWtFdmVudFR5cGUuT25BdXRoUmVmcmVzaFN1Y2Nlc3MpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KGAke2FwcH06dXBkYXRlLWtleWNsb2FrYCwgeyBkZXRhaWw6IGtleWNsb2FrIH0pKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0XHQpXHJcblx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHR9KSxcclxuXHRcdFx0XHRcdHN3aXRjaE1hcCgoKSA9PiBtaWNyb0FwcFNlcnZpY2U/LmluaXQoaHR0cENsaWVudCwgQVBJX0NPTkZJR1MuYXBpKSA/PyBFTVBUWSlcclxuXHRcdFx0XHQpXHJcblx0XHRcdFx0LnN1YnNjcmliZSgpXHJcblx0XHRcdFx0LmFkZChyZXNvbHZlKVxyXG5cdFx0KTtcclxuXHJcbi8qKlxyXG4gKiBvbmx5IHdvcmtzIHdoZW4gaXNIb3N0TW9kZSBpcyB0cnVlXHJcbiAqIG1pY3JvLWFwcCBhY2Nlc3MgaXRzIG93biBhcGkuanNvbiBmaWxlIHdoZW4gb3BlbmVkIGluIGhvc3RcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzZXRBcGlDb25maWdPbk1GRU1vZGUoXHJcblx0aHR0cENsaWVudDogSHR0cENsaWVudCxcclxuXHRrZXljbG9hazogS2V5Y2xvYWtTZXJ2aWNlLFxyXG5cdGFwcE5hbWU6IHN0cmluZ1xyXG4pOiAoKSA9PiBQcm9taXNlPGFueT4ge1xyXG5cdHJldHVybiAoKSA9PiB7XHJcblx0XHRjb25zdCBwb3J0ID0gYXBwUG9ydHNbYXBwTmFtZS50b1VwcGVyQ2FzZSgpIGFzIGtleW9mIHR5cGVvZiBhcHBQb3J0c107XHJcblx0XHRjb25zdCBvYnNlcnZhYmxlJCA9IGh0dHBDbGllbnRcclxuXHRcdFx0LmdldDxBcGlDb25maWdzRmFjdG9yeT4oXHJcblx0XHRcdFx0aXNEZXZNb2RlKCkgPyBgaHR0cDovL2xvY2FsaG9zdDoke3BvcnR9L2Fzc2V0cy9sb2NhbC1jb25maWdzL2FwaS5sb2NhbC5qc29uYFxyXG5cdFx0XHRcdDogYXBwTmFtZSA9PT0gQXBwcy5NTkcgPyAnLi9hcGkuanNvbidcclxuXHRcdFx0XHQ6IGAuLi8ke2FwcE5hbWV9L2FwaS5qc29uYFxyXG5cdFx0XHQpXHJcblx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdHRhcCgoY29uZmlncykgPT4ge1xyXG5cdFx0XHRcdFx0T2JqZWN0LmFzc2lnbihBUElfQ09ORklHUywgeyAuLi5jb25maWdzIH0pO1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdCk7XHJcblxyXG5cdFx0cmV0dXJuIGZpcnN0VmFsdWVGcm9tKG9ic2VydmFibGUkKTtcclxuXHR9O1xyXG59XHJcbiJdfQ==
@@ -16,6 +16,7 @@ import { provideHost } from 'aril/provider';
16
16
  import { StyleLoaderService } from 'aril/util/loaders';
17
17
  import { appComponentLoader } from './appComponentLoader';
18
18
  import { loadStyles } from './loadStyles';
19
+ import { MonacoEditorModule, NGX_MONACO_EDITOR_CONFIG } from 'ngx-monaco-editor-v2';
19
20
  export var appName;
20
21
  export var menuItems = [];
21
22
  export const boot = (_appName, _routes, _menuItems) => {
@@ -23,6 +24,258 @@ export const boot = (_appName, _routes, _menuItems) => {
23
24
  return;
24
25
  appName = _appName;
25
26
  menuItems = _menuItems;
27
+ const monacoConfig = {
28
+ baseUrl: 'assets',
29
+ defaultOptions: { scrollBeyondLastLine: false },
30
+ onMonacoLoad: () => {
31
+ // JSON düzenleyici ayarları
32
+ if (monaco && monaco.languages && monaco.languages.json) {
33
+ monaco.languages.json.jsonDefaults.setDiagnosticsOptions({
34
+ validate: true,
35
+ allowComments: false,
36
+ schemas: []
37
+ });
38
+ }
39
+ // JavaScript/TypeScript düzenleyici ayarları
40
+ if (monaco && monaco.languages && monaco.languages.typescript) {
41
+ monaco.languages.typescript.javascriptDefaults.setCompilerOptions({
42
+ target: monaco.languages.typescript.ScriptTarget.ES2016,
43
+ allowNonTsExtensions: true,
44
+ moduleResolution: monaco.languages.typescript.ModuleResolutionKind.NodeJs,
45
+ module: monaco.languages.typescript.ModuleKind.CommonJS,
46
+ noEmit: true,
47
+ typeRoots: ["node_modules/@types"]
48
+ });
49
+ // TypeScript düzenleyici ayarları
50
+ monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
51
+ target: monaco.languages.typescript.ScriptTarget.ES2016,
52
+ allowNonTsExtensions: true,
53
+ moduleResolution: monaco.languages.typescript.ModuleResolutionKind.NodeJs,
54
+ module: monaco.languages.typescript.ModuleKind.CommonJS,
55
+ noEmit: true,
56
+ typeRoots: ["node_modules/@types"]
57
+ });
58
+ }
59
+ // HTML, XML ve diğer markup dilleri için ayarlar
60
+ if (monaco && monaco.languages && monaco.languages.html) {
61
+ monaco.languages.html.htmlDefaults.setOptions({
62
+ format: {
63
+ tabSize: 2,
64
+ insertSpaces: true
65
+ },
66
+ suggest: {
67
+ html5: true
68
+ }
69
+ });
70
+ }
71
+ // Python için syntax highlighting ve özel formatlamalar
72
+ if (monaco && monaco.languages) {
73
+ monaco.languages.registerDocumentFormattingEditProvider('python', {
74
+ provideDocumentFormattingEdits: function (model) {
75
+ // Basit bir Python formatlaması örneği
76
+ // Gerçek projede daha kapsamlı bir formatter kullanılabilir
77
+ const text = model.getValue();
78
+ // Burada Python formatlaması yapılabilir
79
+ return [
80
+ {
81
+ range: model.getFullModelRange(),
82
+ text: text // Formatlanmış metin
83
+ }
84
+ ];
85
+ }
86
+ });
87
+ // Python için özel linting kuralları
88
+ monaco.languages.registerCompletionItemProvider('python', {
89
+ provideCompletionItems: function (model, position) {
90
+ const suggestions = [
91
+ {
92
+ label: 'def',
93
+ kind: monaco.languages.CompletionItemKind.Keyword,
94
+ insertText: 'def ${1:function_name}(${2:parameters}):\n\t${3:pass}',
95
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
96
+ documentation: 'Fonksiyon tanımlama'
97
+ },
98
+ {
99
+ label: 'class',
100
+ kind: monaco.languages.CompletionItemKind.Keyword,
101
+ insertText: 'class ${1:ClassName}:\n\tdef __init__(self, ${2:parameters}):\n\t\t${3:pass}',
102
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
103
+ documentation: 'Sınıf tanımlama'
104
+ },
105
+ {
106
+ label: 'if',
107
+ kind: monaco.languages.CompletionItemKind.Keyword,
108
+ insertText: 'if ${1:condition}:\n\t${2:pass}',
109
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
110
+ documentation: 'If bloğu'
111
+ },
112
+ {
113
+ label: 'for',
114
+ kind: monaco.languages.CompletionItemKind.Keyword,
115
+ insertText: 'for ${1:item} in ${2:iterable}:\n\t${3:pass}',
116
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
117
+ documentation: 'For döngüsü'
118
+ }
119
+ ];
120
+ return { suggestions: suggestions };
121
+ }
122
+ });
123
+ }
124
+ // Lua için özel ayarlar
125
+ if (monaco && monaco.languages) {
126
+ monaco.languages.registerDocumentFormattingEditProvider('lua', {
127
+ provideDocumentFormattingEdits: function (model) {
128
+ const text = model.getValue();
129
+ // Lua formatlaması
130
+ return [
131
+ {
132
+ range: model.getFullModelRange(),
133
+ text: text // Formatlanmış metin
134
+ }
135
+ ];
136
+ }
137
+ });
138
+ // Lua için özel öneriler
139
+ monaco.languages.registerCompletionItemProvider('lua', {
140
+ provideCompletionItems: function (model, position) {
141
+ const suggestions = [
142
+ {
143
+ label: 'function',
144
+ kind: monaco.languages.CompletionItemKind.Keyword,
145
+ insertText: 'function ${1:name}(${2:params})\n\t${3:-- body}\nend',
146
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
147
+ documentation: 'Fonksiyon tanımlama'
148
+ },
149
+ {
150
+ label: 'if',
151
+ kind: monaco.languages.CompletionItemKind.Keyword,
152
+ insertText: 'if ${1:condition} then\n\t${2:-- body}\nend',
153
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
154
+ documentation: 'If bloğu'
155
+ },
156
+ {
157
+ label: 'for',
158
+ kind: monaco.languages.CompletionItemKind.Keyword,
159
+ insertText: 'for ${1:i}=${2:1},${3:10} do\n\t${4:-- body}\nend',
160
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
161
+ documentation: 'For döngüsü'
162
+ }
163
+ ];
164
+ return { suggestions: suggestions };
165
+ }
166
+ });
167
+ }
168
+ // Java için özel ayarlar
169
+ if (monaco && monaco.languages) {
170
+ monaco.languages.registerDocumentFormattingEditProvider('java', {
171
+ provideDocumentFormattingEdits: function (model) {
172
+ const text = model.getValue();
173
+ // Java formatlaması
174
+ return [
175
+ {
176
+ range: model.getFullModelRange(),
177
+ text: text // Formatlanmış metin
178
+ }
179
+ ];
180
+ }
181
+ });
182
+ // Java için özel öneriler
183
+ monaco.languages.registerCompletionItemProvider('java', {
184
+ provideCompletionItems: function (model, position) {
185
+ const suggestions = [
186
+ {
187
+ label: 'class',
188
+ kind: monaco.languages.CompletionItemKind.Keyword,
189
+ insertText: 'public class ${1:ClassName} {\n\t${2}\n}',
190
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
191
+ documentation: 'Sınıf tanımlama'
192
+ },
193
+ {
194
+ label: 'main',
195
+ kind: monaco.languages.CompletionItemKind.Snippet,
196
+ insertText: 'public static void main(String[] args) {\n\t${1}\n}',
197
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
198
+ documentation: 'Main metodu'
199
+ },
200
+ {
201
+ label: 'sout',
202
+ kind: monaco.languages.CompletionItemKind.Snippet,
203
+ insertText: 'System.out.println(${1});',
204
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
205
+ documentation: 'Konsola yazdırma'
206
+ }
207
+ ];
208
+ return { suggestions: suggestions };
209
+ }
210
+ });
211
+ }
212
+ // HTML için özel ayarlar
213
+ if (monaco && monaco.languages) {
214
+ monaco.languages.registerCompletionItemProvider('html', {
215
+ provideCompletionItems: function (model, position) {
216
+ const suggestions = [
217
+ {
218
+ label: 'html5',
219
+ kind: monaco.languages.CompletionItemKind.Snippet,
220
+ insertText: '<!DOCTYPE html>\n<html lang="en">\n<head>\n\t<meta charset="UTF-8">\n\t<meta name="viewport" content="width=device-width, initial-scale=1.0">\n\t<title>${1:Document}</title>\n</head>\n<body>\n\t${2}\n</body>\n</html>',
221
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
222
+ documentation: 'HTML5 taslağı'
223
+ },
224
+ {
225
+ label: 'div',
226
+ kind: monaco.languages.CompletionItemKind.Snippet,
227
+ insertText: '<div class="${1:className}">\n\t${2}\n</div>',
228
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
229
+ documentation: 'Div elementi'
230
+ }
231
+ ];
232
+ return { suggestions: suggestions };
233
+ }
234
+ });
235
+ }
236
+ // XML için özel ayarlar
237
+ if (monaco && monaco.languages) {
238
+ monaco.languages.registerCompletionItemProvider('xml', {
239
+ provideCompletionItems: function (model, position) {
240
+ const suggestions = [
241
+ {
242
+ label: 'xml',
243
+ kind: monaco.languages.CompletionItemKind.Snippet,
244
+ insertText: '<?xml version="1.0" encoding="UTF-8"?>\n<${1:root}>\n\t${2}\n</${1:root}>',
245
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
246
+ documentation: 'XML taslağı'
247
+ }
248
+ ];
249
+ return { suggestions: suggestions };
250
+ }
251
+ });
252
+ }
253
+ // JSON için özel ayarlar ve şema doğrulama
254
+ if (monaco && monaco.languages && monaco.languages.json) {
255
+ monaco.languages.json.jsonDefaults.setDiagnosticsOptions({
256
+ validate: true,
257
+ allowComments: false,
258
+ schemas: [
259
+ {
260
+ uri: "http://myserver/schema/package.schema.json",
261
+ fileMatch: ["package.json"],
262
+ schema: {
263
+ type: "object",
264
+ properties: {
265
+ name: { type: "string" },
266
+ version: { type: "string" },
267
+ dependencies: {
268
+ type: "object"
269
+ }
270
+ }
271
+ }
272
+ }
273
+ ]
274
+ });
275
+ }
276
+ // Daha fazla dil ekleme ve özelleştirme işlemleri buraya eklenebilir
277
+ }
278
+ };
26
279
  const appBootConfig = {
27
280
  providers: [
28
281
  provideAnimations(),
@@ -56,7 +309,9 @@ export const boot = (_appName, _routes, _menuItems) => {
56
309
  {
57
310
  provide: i18nFolderName,
58
311
  useValue: _appName
59
- }
312
+ },
313
+ importProvidersFrom(MonacoEditorModule.forRoot()),
314
+ { provide: NGX_MONACO_EDITOR_CONFIG, useValue: monacoConfig }
60
315
  ]
61
316
  };
62
317
  createApplication(appBootConfig).then((appRef) => {
@@ -66,4 +321,4 @@ export const boot = (_appName, _routes, _menuItems) => {
66
321
  });
67
322
  });
68
323
  };
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC9ib290L21mZS9zcmMvYm9vdHN0cmFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsZUFBZSxFQUFxQixtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN6RSxPQUFPLEVBQ04sa0JBQWtCLEVBRWxCLGFBQWEsRUFDYix5QkFBeUIsRUFDekIsZ0JBQWdCLEVBQ2hCLG1CQUFtQixFQUNuQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHlCQUF5QixFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXJHLE9BQU8sRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RSxPQUFPLEVBQVEsaUJBQWlCLEVBQWtCLE1BQU0sdUJBQXVCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUxQyxNQUFNLENBQUMsSUFBSSxPQUFhLENBQUM7QUFDekIsTUFBTSxDQUFDLElBQUksU0FBUyxHQUFxQixFQUFFLENBQUM7QUFFNUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsUUFBYyxFQUFFLE9BQWUsRUFBRSxVQUE0QixFQUFFLEVBQUU7SUFDckYsSUFBSSxjQUFjLENBQUMsR0FBRyxDQUFDLE9BQU8sUUFBUSxFQUFFLENBQUM7UUFBRSxPQUFPO0lBRWxELE9BQU8sR0FBRyxRQUFRLENBQUM7SUFDbkIsU0FBUyxHQUFHLFVBQVUsQ0FBQztJQUV2QixNQUFNLGFBQWEsR0FBc0I7UUFDeEMsU0FBUyxFQUFFO1lBQ1YsaUJBQWlCLEVBQUU7WUFDbkIsV0FBVyxDQUFDLE9BQU8sQ0FBQztZQUNwQix5QkFBeUI7WUFDekIsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUM7WUFDOUQsYUFBYSxDQUFDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxFQUFFLGdCQUFnQixFQUFFLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztZQUM5RixFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUU7WUFDNUQsbUJBQW1CLENBQUMsVUFBVSxFQUFFLHFCQUFxQixDQUFDO1lBQ3RELFNBQVMsRUFBRTtZQUNYLGNBQWM7WUFDZCxtQkFBbUI7WUFDbkI7Z0JBQ0MsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFVBQVUsRUFBUSxVQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsY0FBYztnQkFDakYsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUM7YUFDbkQ7WUFDRDtnQkFDQyxPQUFPLEVBQUUsZUFBZTtnQkFDeEIsVUFBVSxFQUFFLFdBQVc7Z0JBQ3ZCLEtBQUssRUFBRSxJQUFJO2dCQUNYLElBQUksRUFBRSxDQUFDLGtCQUFrQixDQUFDO2FBQzFCO1lBQ0Q7Z0JBQ0MsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFVBQVUsRUFBRSxVQUFVO2dCQUN0QixLQUFLLEVBQUUsSUFBSTtnQkFDWCxJQUFJLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxjQUFjLENBQUM7YUFDMUM7WUFDRDtnQkFDQyxPQUFPLEVBQUUsY0FBYztnQkFDdkIsUUFBUSxFQUFFLFFBQVE7YUFDbEI7U0FDRDtLQUNELENBQUM7SUFFRixpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtRQUNoRCxrQkFBa0IsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQzFDLE1BQU0sR0FBRyxHQUFHLG1CQUFtQixDQUFDLFlBQVksRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUM3RSxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sT0FBTyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIHByb3ZpZGVIdHRwQ2xpZW50LCB3aXRoSW50ZXJjZXB0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIEFwcGxpY2F0aW9uQ29uZmlnLCBpbXBvcnRQcm92aWRlcnNGcm9tIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNyZWF0ZUN1c3RvbUVsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9lbGVtZW50cyc7XHJcbmltcG9ydCB7IGNyZWF0ZUFwcGxpY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IHByb3ZpZGVBbmltYXRpb25zIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcclxuaW1wb3J0IHtcclxuXHRSb3V0ZVJldXNlU3RyYXRlZ3ksXHJcblx0Um91dGVzLFxyXG5cdHByb3ZpZGVSb3V0ZXIsXHJcblx0d2l0aENvbXBvbmVudElucHV0QmluZGluZyxcclxuXHR3aXRoSGFzaExvY2F0aW9uLFxyXG5cdHdpdGhWaWV3VHJhbnNpdGlvbnNcclxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcblxyXG5pbXBvcnQgeyBLZXljbG9ha0FuZ3VsYXJNb2R1bGUsIEtleWNsb2FrQmVhcmVySW50ZXJjZXB0b3IsIEtleWNsb2FrU2VydmljZSB9IGZyb20gJ2tleWNsb2FrLWFuZ3VsYXInO1xyXG5cclxuaW1wb3J0IHsgbG9hZEFwaUNvbmZpZ3MsIHNldEFwaUNvbmZpZ09uTUZFTW9kZSB9IGZyb20gJ2FyaWwvYm9vdC9jb25maWcvYXBpJztcclxuaW1wb3J0IHsgQXBwcywgQXJpbFJldXNlU3RyYXRlZ3ksIFBsdWdpbk1lbnVJdGVtIH0gZnJvbSAnYXJpbC9ib290L2NvbmZpZy9hcHBzJztcclxuaW1wb3J0IHsgZ2V0Tmdab25lLCBsb2FkUGx1Z2lucyB9IGZyb20gJ2FyaWwvYm9vdC9jb25maWcvcGx1Z2lucyc7XHJcbmltcG9ydCB7IEh0dHBCYWNrZW5kU2VydmljZSB9IGZyb20gJ2FyaWwvaHR0cCc7XHJcbmltcG9ydCB7IGkxOG5Gb2xkZXJOYW1lLCBpMThuTW9kdWxlIH0gZnJvbSAnYXJpbC9pMThuJztcclxuaW1wb3J0IHsga2V5Y2xvYWtBdXRoSW50ZXJjZXB0b3IgfSBmcm9tICdhcmlsL2tleWNsb2FrJztcclxuaW1wb3J0IHsgcHJvdmlkZUhvc3QgfSBmcm9tICdhcmlsL3Byb3ZpZGVyJztcclxuaW1wb3J0IHsgU3R5bGVMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnYXJpbC91dGlsL2xvYWRlcnMnO1xyXG5cclxuaW1wb3J0IHsgYXBwQ29tcG9uZW50TG9hZGVyIH0gZnJvbSAnLi9hcHBDb21wb25lbnRMb2FkZXInO1xyXG5pbXBvcnQgeyBsb2FkU3R5bGVzIH0gZnJvbSAnLi9sb2FkU3R5bGVzJztcclxuXHJcbmV4cG9ydCB2YXIgYXBwTmFtZTogQXBwcztcclxuZXhwb3J0IHZhciBtZW51SXRlbXM6IFBsdWdpbk1lbnVJdGVtW10gPSBbXTtcclxuXHJcbmV4cG9ydCBjb25zdCBib290ID0gKF9hcHBOYW1lOiBBcHBzLCBfcm91dGVzOiBSb3V0ZXMsIF9tZW51SXRlbXM6IFBsdWdpbk1lbnVJdGVtW10pID0+IHtcclxuXHRpZiAoY3VzdG9tRWxlbWVudHMuZ2V0KGBhcHAtJHtfYXBwTmFtZX1gKSkgcmV0dXJuO1xyXG5cclxuXHRhcHBOYW1lID0gX2FwcE5hbWU7XHJcblx0bWVudUl0ZW1zID0gX21lbnVJdGVtcztcclxuXHJcblx0Y29uc3QgYXBwQm9vdENvbmZpZzogQXBwbGljYXRpb25Db25maWcgPSB7XHJcblx0XHRwcm92aWRlcnM6IFtcclxuXHRcdFx0cHJvdmlkZUFuaW1hdGlvbnMoKSxcclxuXHRcdFx0cHJvdmlkZUhvc3QoYXBwTmFtZSksXHJcblx0XHRcdEtleWNsb2FrQmVhcmVySW50ZXJjZXB0b3IsXHJcblx0XHRcdHByb3ZpZGVIdHRwQ2xpZW50KHdpdGhJbnRlcmNlcHRvcnMoW2tleWNsb2FrQXV0aEludGVyY2VwdG9yXSkpLFxyXG5cdFx0XHRwcm92aWRlUm91dGVyKF9yb3V0ZXMsIHdpdGhDb21wb25lbnRJbnB1dEJpbmRpbmcoKSwgd2l0aEhhc2hMb2NhdGlvbigpLCB3aXRoVmlld1RyYW5zaXRpb25zKCkpLFxyXG5cdFx0XHR7IHByb3ZpZGU6IFJvdXRlUmV1c2VTdHJhdGVneSwgdXNlQ2xhc3M6IEFyaWxSZXVzZVN0cmF0ZWd5IH0sXHJcblx0XHRcdGltcG9ydFByb3ZpZGVyc0Zyb20oaTE4bk1vZHVsZSwgS2V5Y2xvYWtBbmd1bGFyTW9kdWxlKSxcclxuXHRcdFx0Z2V0Tmdab25lKCksXHJcblx0XHRcdE1lc3NhZ2VTZXJ2aWNlLFxyXG5cdFx0XHRDb25maXJtYXRpb25TZXJ2aWNlLFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG5cdFx0XHRcdHVzZUZhY3Rvcnk6ICg8YW55Pmdsb2JhbFRoaXMpLmlzSG9zdE1vZGUgPyBzZXRBcGlDb25maWdPbk1GRU1vZGUgOiBsb2FkQXBpQ29uZmlncyxcclxuXHRcdFx0XHRtdWx0aTogdHJ1ZSxcclxuXHRcdFx0XHRkZXBzOiBbSHR0cENsaWVudCwgS2V5Y2xvYWtTZXJ2aWNlLCBpMThuRm9sZGVyTmFtZV1cclxuXHRcdFx0fSxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuXHRcdFx0XHR1c2VGYWN0b3J5OiBsb2FkUGx1Z2lucyxcclxuXHRcdFx0XHRtdWx0aTogdHJ1ZSxcclxuXHRcdFx0XHRkZXBzOiBbSHR0cEJhY2tlbmRTZXJ2aWNlXVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG5cdFx0XHRcdHVzZUZhY3Rvcnk6IGxvYWRTdHlsZXMsXHJcblx0XHRcdFx0bXVsdGk6IHRydWUsXHJcblx0XHRcdFx0ZGVwczogW1N0eWxlTG9hZGVyU2VydmljZSwgaTE4bkZvbGRlck5hbWVdXHJcblx0XHRcdH0sXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwcm92aWRlOiBpMThuRm9sZGVyTmFtZSxcclxuXHRcdFx0XHR1c2VWYWx1ZTogX2FwcE5hbWVcclxuXHRcdFx0fVxyXG5cdFx0XVxyXG5cdH07XHJcblxyXG5cdGNyZWF0ZUFwcGxpY2F0aW9uKGFwcEJvb3RDb25maWcpLnRoZW4oKGFwcFJlZikgPT4ge1xyXG5cdFx0YXBwQ29tcG9uZW50TG9hZGVyKCkudGhlbigoQXBwQ29tcG9uZW50KSA9PiB7XHJcblx0XHRcdGNvbnN0IGFwcCA9IGNyZWF0ZUN1c3RvbUVsZW1lbnQoQXBwQ29tcG9uZW50LCB7IGluamVjdG9yOiBhcHBSZWYuaW5qZWN0b3IgfSk7XHJcblx0XHRcdGN1c3RvbUVsZW1lbnRzLmRlZmluZShgYXBwLSR7YXBwTmFtZX1gLCBhcHApO1xyXG5cdFx0fSk7XHJcblx0fSk7XHJcbn07XHJcbiJdfQ==
324
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC9ib290L21mZS9zcmMvYm9vdHN0cmFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsZUFBZSxFQUFxQixtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN6RSxPQUFPLEVBQ04sa0JBQWtCLEVBRWxCLGFBQWEsRUFDYix5QkFBeUIsRUFDekIsZ0JBQWdCLEVBQ2hCLG1CQUFtQixFQUNuQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHlCQUF5QixFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXJHLE9BQU8sRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RSxPQUFPLEVBQVEsaUJBQWlCLEVBQWtCLE1BQU0sdUJBQXVCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxD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QUFDLElBQUksQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQzFDLE1BQU0sR0FBRyxHQUFHLG1CQUFtQixDQUFDLFlBQVksRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUM3RSxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sT0FBTyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIHByb3ZpZGVIdHRwQ2xpZW50LCB3aXRoSW50ZXJjZXB0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIEFwcGxpY2F0aW9uQ29uZmlnLCBpbXBvcnRQcm92aWRlcnNGcm9tIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNyZWF0ZUN1c3RvbUVsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9lbGVtZW50cyc7XHJcbmltcG9ydCB7IGNyZWF0ZUFwcGxpY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IHByb3ZpZGVBbmltYXRpb25zIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcclxuaW1wb3J0IHtcclxuXHRSb3V0ZVJldXNlU3RyYXRlZ3ksXHJcblx0Um91dGVzLFxyXG5cdHByb3ZpZGVSb3V0ZXIsXHJcblx0d2l0aENvbXBvbmVudElucHV0QmluZGluZyxcclxuXHR3aXRoSGFzaExvY2F0aW9uLFxyXG5cdHdpdGhWaWV3VHJhbnNpdGlvbnNcclxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcblxyXG5pbXBvcnQgeyBLZXljbG9ha0FuZ3VsYXJNb2R1bGUsIEtleWNsb2FrQmVhcmVySW50ZXJjZXB0b3IsIEtleWNsb2FrU2VydmljZSB9IGZyb20gJ2tleWNsb2FrLWFuZ3VsYXInO1xyXG5cclxuaW1wb3J0IHsgbG9hZEFwaUNvbmZpZ3MsIHNldEFwaUNvbmZpZ09uTUZFTW9kZSB9IGZyb20gJ2FyaWwvYm9vdC9jb25maWcvYXBpJztcclxuaW1wb3J0IHsgQXBwcywgQXJpbFJldXNlU3RyYXRlZ3ksIFBsdWdpbk1lbnVJdGVtIH0gZnJvbSAnYXJpbC9ib290L2NvbmZpZy9hcHBzJztcclxuaW1wb3J0IHsgZ2V0Tmdab25lLCBsb2FkUGx1Z2lucyB9IGZyb20gJ2FyaWwvYm9vdC9jb25maWcvcGx1Z2lucyc7XHJcbmltcG9ydCB7IEh0dHBCYWNrZW5kU2VydmljZSB9IGZyb20gJ2FyaWwvaHR0cCc7XHJcbmltcG9ydCB7IGkxOG5Gb2xkZXJOYW1lLCBpMThuTW9kdWxlIH0gZnJvbSAnYXJpbC9pMThuJztcclxuaW1wb3J0IHsga2V5Y2xvYWtBdXRoSW50ZXJjZXB0b3IgfSBmcm9tICdhcmlsL2tleWNsb2FrJztcclxuaW1wb3J0IHsgcHJvdmlkZUhvc3QgfSBmcm9tICdhcmlsL3Byb3ZpZGVyJztcclxuaW1wb3J0IHsgU3R5bGVMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnYXJpbC91dGlsL2xvYWRlcnMnO1xyXG5cclxuaW1wb3J0IHsgYXBwQ29tcG9uZW50TG9hZGVyIH0gZnJvbSAnLi9hcHBDb21wb25lbnRMb2FkZXInO1xyXG5pbXBvcnQgeyBsb2FkU3R5bGVzIH0gZnJvbSAnLi9sb2FkU3R5bGVzJztcclxuaW1wb3J0IHsgTW9uYWNvRWRpdG9yTW9kdWxlLCBOR1hfTU9OQUNPX0VESVRPUl9DT05GSUcgfSBmcm9tICduZ3gtbW9uYWNvLWVkaXRvci12Mic7XHJcblxyXG5leHBvcnQgdmFyIGFwcE5hbWU6IEFwcHM7XHJcbmV4cG9ydCB2YXIgbWVudUl0ZW1zOiBQbHVnaW5NZW51SXRlbVtdID0gW107XHJcbmRlY2xhcmUgY29uc3QgbW9uYWNvOiBhbnk7XHJcblxyXG5leHBvcnQgY29uc3QgYm9vdCA9IChfYXBwTmFtZTogQXBwcywgX3JvdXRlczogUm91dGVzLCBfbWVudUl0ZW1zOiBQbHVnaW5NZW51SXRlbVtdKSA9PiB7XHJcblx0aWYgKGN1c3RvbUVsZW1lbnRzLmdldChgYXBwLSR7X2FwcE5hbWV9YCkpIHJldHVybjtcclxuXHJcblx0YXBwTmFtZSA9IF9hcHBOYW1lO1xyXG5cdG1lbnVJdGVtcyA9IF9tZW51SXRlbXM7XHJcblxyXG5cdGNvbnN0IG1vbmFjb0NvbmZpZyA9IHtcclxuXHRcdGJhc2VVcmw6ICdhc3NldHMnLFxyXG5cdFx0ZGVmYXVsdE9wdGlvbnM6IHsgc2Nyb2xsQmV5b25kTGFzdExpbmU6IGZhbHNlIH0sXHJcblx0XHRvbk1vbmFjb0xvYWQ6ICgpID0+IHtcclxuXHRcdFx0Ly8gSlNPTiBkw7x6ZW5sZXlpY2kgYXlhcmxhcsSxXHJcblx0XHRcdGlmIChtb25hY28gJiYgbW9uYWNvLmxhbmd1YWdlcyAmJiBtb25hY28ubGFuZ3VhZ2VzLmpzb24pIHtcclxuXHRcdFx0XHRtb25hY28ubGFuZ3VhZ2VzLmpzb24uanNvbkRlZmF1bHRzLnNldERpYWdub3N0aWNzT3B0aW9ucyh7XHJcblx0XHRcdFx0XHR2YWxpZGF0ZTogdHJ1ZSxcclxuXHRcdFx0XHRcdGFsbG93Q29tbWVudHM6IGZhbHNlLFxyXG5cdFx0XHRcdFx0c2NoZW1hczogW11cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fVxyXG5cdFxyXG5cdFx0XHQvLyBKYXZhU2NyaXB0L1R5cGVTY3JpcHQgZMO8emVubGV5aWNpIGF5YXJsYXLEsVxyXG5cdFx0XHRpZiAobW9uYWNvICYmIG1vbmFjby5sYW5ndWFnZXMgJiYgbW9uYWNvLmxhbmd1YWdlcy50eXBlc2NyaXB0KSB7XHJcblx0XHRcdFx0bW9uYWNvLmxhbmd1YWdlcy50eXBlc2NyaXB0LmphdmFzY3JpcHREZWZhdWx0cy5zZXRDb21waWxlck9wdGlvbnMoe1xyXG5cdFx0XHRcdFx0dGFyZ2V0OiBtb25hY28ubGFuZ3VhZ2VzLnR5cGVzY3JpcHQuU2NyaXB0VGFyZ2V0LkVTMjAxNixcclxuXHRcdFx0XHRcdGFsbG93Tm9uVHNFeHRlbnNpb25zOiB0cnVlLFxyXG5cdFx0XHRcdFx0bW9kdWxlUmVzb2x1dGlvbjogbW9uYWNvLmxhbmd1YWdlcy50eXBlc2NyaXB0Lk1vZHVsZVJlc29sdXRpb25LaW5kLk5vZGVKcyxcclxuXHRcdFx0XHRcdG1vZHVsZTogbW9uYWNvLmxhbmd1YWdlcy50eXBlc2NyaXB0Lk1vZHVsZUtpbmQuQ29tbW9uSlMsXHJcblx0XHRcdFx0XHRub0VtaXQ6IHRydWUsXHJcblx0XHRcdFx0XHR0eXBlUm9vdHM6IFtcIm5vZGVfbW9kdWxlcy9AdHlwZXNcIl1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcclxuXHRcdFx0XHQvLyBUeXBlU2NyaXB0IGTDvHplbmxleWljaSBheWFybGFyxLFcclxuXHRcdFx0XHRtb25hY28ubGFuZ3VhZ2VzLnR5cGVzY3JpcHQudHlwZXNjcmlwdERlZmF1bHRzLnNldENvbXBpbGVyT3B0aW9ucyh7XHJcblx0XHRcdFx0XHR0YXJnZXQ6IG1vbmFjby5sYW5ndWFnZXMudHlwZXNjcmlwdC5TY3JpcHRUYXJnZXQuRVMyMDE2LFxyXG5cdFx0XHRcdFx0YWxsb3dOb25Uc0V4dGVuc2lvbnM6IHRydWUsXHJcblx0XHRcdFx0XHRtb2R1bGVSZXNvbHV0aW9uOiBtb25hY28ubGFuZ3VhZ2VzLnR5cGVzY3JpcHQuTW9kdWxlUmVzb2x1dGlvbktpbmQuTm9kZUpzLFxyXG5cdFx0XHRcdFx0bW9kdWxlOiBtb25hY28ubGFuZ3VhZ2VzLnR5cGVzY3JpcHQuTW9kdWxlS2luZC5Db21tb25KUyxcclxuXHRcdFx0XHRcdG5vRW1pdDogdHJ1ZSxcclxuXHRcdFx0XHRcdHR5cGVSb290czogW1wibm9kZV9tb2R1bGVzL0B0eXBlc1wiXVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHQvLyBIVE1MLCBYTUwgdmUgZGnEn2VyIG1hcmt1cCBkaWxsZXJpIGnDp2luIGF5YXJsYXJcclxuXHRcdFx0aWYgKG1vbmFjbyAmJiBtb25hY28ubGFuZ3VhZ2VzICYmIG1vbmFjby5sYW5ndWFnZXMuaHRtbCkge1xyXG5cdFx0XHRcdG1vbmFjby5sYW5ndWFnZXMuaHRtbC5odG1sRGVmYXVsdHMuc2V0T3B0aW9ucyh7XHJcblx0XHRcdFx0XHRmb3JtYXQ6IHtcclxuXHRcdFx0XHRcdFx0dGFiU2l6ZTogMixcclxuXHRcdFx0XHRcdFx0aW5zZXJ0U3BhY2VzOiB0cnVlXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0c3VnZ2VzdDoge1xyXG5cdFx0XHRcdFx0XHRodG1sNTogdHJ1ZVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHQvLyBQeXRob24gacOnaW4gc3ludGF4IGhpZ2hsaWdodGluZyB2ZSDDtnplbCBmb3JtYXRsYW1hbGFyXHJcbmlmIChtb25hY28gJiYgbW9uYWNvLmxhbmd1YWdlcykge1xyXG4gIG1vbmFjby5sYW5ndWFnZXMucmVnaXN0ZXJEb2N1bWVudEZvcm1hdHRpbmdFZGl0UHJvdmlkZXIoJ3B5dGhvbicsIHtcclxuICAgIHByb3ZpZGVEb2N1bWVudEZvcm1hdHRpbmdFZGl0czogZnVuY3Rpb24obW9kZWw6YW55KSB7XHJcbiAgICAgIC8vIEJhc2l0IGJpciBQeXRob24gZm9ybWF0bGFtYXPEsSDDtnJuZcSfaVxyXG4gICAgICAvLyBHZXLDp2VrIHByb2plZGUgZGFoYSBrYXBzYW1sxLEgYmlyIGZvcm1hdHRlciBrdWxsYW7EsWxhYmlsaXJcclxuICAgICAgY29uc3QgdGV4dCA9IG1vZGVsLmdldFZhbHVlKCk7XHJcbiAgICAgIC8vIEJ1cmFkYSBQeXRob24gZm9ybWF0bGFtYXPEsSB5YXDEsWxhYmlsaXJcclxuICAgICAgcmV0dXJuIFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICByYW5nZTogbW9kZWwuZ2V0RnVsbE1vZGVsUmFuZ2UoKSxcclxuICAgICAgICAgIHRleHQ6IHRleHQgLy8gRm9ybWF0bGFubcSxxZ8gbWV0aW5cclxuICAgICAgICB9XHJcbiAgICAgIF07XHJcbiAgICB9XHJcbiAgfSk7XHJcbiAgXHJcbiAgLy8gUHl0aG9uIGnDp2luIMO2emVsIGxpbnRpbmcga3VyYWxsYXLEsVxyXG4gIG1vbmFjby5sYW5ndWFnZXMucmVnaXN0ZXJDb21wbGV0aW9uSXRlbVByb3ZpZGVyKCdweXRob24nLCB7XHJcbiAgICBwcm92aWRlQ29tcGxldGlvbkl0ZW1zOiBmdW5jdGlvbihtb2RlbDphbnksIHBvc2l0aW9uOmFueSkge1xyXG4gICAgICBjb25zdCBzdWdnZXN0aW9ucyA9IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBsYWJlbDogJ2RlZicsXHJcbiAgICAgICAgICBraW5kOiBtb25hY28ubGFuZ3VhZ2VzLkNvbXBsZXRpb25JdGVtS2luZC5LZXl3b3JkLFxyXG4gICAgICAgICAgaW5zZXJ0VGV4dDogJ2RlZiAkezE6ZnVuY3Rpb25fbmFtZX0oJHsyOnBhcmFtZXRlcnN9KTpcXG5cXHQkezM6cGFzc30nLFxyXG4gICAgICAgICAgaW5zZXJ0VGV4dFJ1bGVzOiBtb25hY28ubGFuZ3VhZ2VzLkNvbXBsZXRpb25JdGVtSW5zZXJ0VGV4dFJ1bGUuSW5zZXJ0QXNTbmlwcGV0LFxyXG4gICAgICAgICAgZG9jdW1lbnRhdGlvbjogJ0ZvbmtzaXlvbiB0YW7EsW1sYW1hJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6ICdjbGFzcycsXHJcbiAgICAgICAgICBraW5kOiBtb25hY28ubGFuZ3VhZ2VzLkNvbXBsZXRpb25JdGVtS2luZC5LZXl3b3JkLFxyXG4gICAgICAgICAgaW5zZXJ0VGV4dDogJ2NsYXNzICR7MTpDbGFzc05hbWV9OlxcblxcdGRlZiBfX2luaXRfXyhzZWxmLCAkezI6cGFyYW1ldGVyc30pOlxcblxcdFxcdCR7MzpwYXNzfScsXHJcbiAgICAgICAgICBpbnNlcnRUZXh0UnVsZXM6IG1vbmFjby5sYW5ndWFnZXMuQ29tcGxldGlvbkl0ZW1JbnNlcnRUZXh0UnVsZS5JbnNlcnRBc1NuaXBwZXQsXHJcbiAgICAgICAgICBkb2N1bWVudGF0aW9uOiAnU8SxbsSxZiB0YW7EsW1sYW1hJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6ICdpZicsXHJcbiAgICAgICAgICBraW5kOiBtb25hY28ubGFuZ3VhZ2VzLkNvbXBsZXRpb25JdGVtS2luZC5LZXl3b3JkLFxyXG4gICAgICAgICAgaW5zZXJ0VGV4dDogJ2lmICR7MTpjb25kaXRpb259OlxcblxcdCR7MjpwYXNzfScsXHJcbiAgICAgICAgICBpbnNlcnRUZXh0UnVsZXM6IG1vbmFjby5sYW5ndWFnZXMuQ29tcGxldGlvbkl0ZW1JbnNlcnRUZXh0UnVsZS5JbnNlcnRBc1NuaXBwZXQsXHJcbiAgICAgICAgICBkb2N1bWVudGF0aW9uOiAnSWYgYmxvxJ91J1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6ICdmb3InLFxyXG4gICAgICAgICAga2luZDogbW9uYWNvLmxhbmd1YWdlcy5Db21wbGV0aW9uSXRlbUtpbmQuS2V5d29yZCxcclxuICAgICAgICAgIGluc2VydFRleHQ6ICdmb3IgJHsxOml0ZW19IGluICR7MjppdGVyYWJsZX06XFxuXFx0JHszOnBhc3N9JyxcclxuICAgICAgICAgIGluc2VydFRleHRSdWxlczogbW9uYWNvLmxhbmd1YWdlcy5Db21wbGV0aW9uSXRlbUluc2VydFRleHRSdWxlLkluc2VydEFzU25pcHBldCxcclxuICAgICAgICAgIGRvY3VtZW50YXRpb246ICdGb3IgZMO2bmfDvHPDvCdcclxuICAgICAgICB9XHJcbiAgICAgIF07XHJcbiAgICAgIFxyXG4gICAgICByZXR1cm4geyBzdWdnZXN0aW9uczogc3VnZ2VzdGlvbnMgfTtcclxuICAgIH1cclxuICB9KTtcclxufVxyXG5cclxuLy8gTHVhIGnDp2luIMO2emVsIGF5YXJsYXJcclxuaWYgKG1vbmFjbyAmJiBtb25hY28ubGFuZ3VhZ2VzKSB7XHJcbiAgbW9uYWNvLmxhbmd1YWdlcy5yZWdpc3RlckRvY3VtZW50Rm9ybWF0dGluZ0VkaXRQcm92aWRlcignbHVhJywge1xyXG4gICAgcHJvdmlkZURvY3VtZW50Rm9ybWF0dGluZ0VkaXRzOiBmdW5jdGlvbihtb2RlbDphbnkpIHtcclxuICAgICAgY29uc3QgdGV4dCA9IG1vZGVsLmdldFZhbHVlKCk7XHJcbiAgICAgIC8vIEx1YSBmb3JtYXRsYW1hc8SxXHJcbiAgICAgIHJldHVybiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcmFuZ2U6IG1vZGVsLmdldEZ1bGxNb2RlbFJhbmdlKCksXHJcbiAgICAgICAgICB0ZXh0OiB0ZXh0IC8vIEZvcm1hdGxhbm3EscWfIG1ldGluXHJcbiAgICAgICAgfVxyXG4gICAgICBdO1xyXG4gICAgfVxyXG4gIH0pO1xyXG4gIFxyXG4gIC8vIEx1YSBpw6dpbiDDtnplbCDDtm5lcmlsZXJcclxuICBtb25hY28ubGFuZ3VhZ2VzLnJlZ2lzdGVyQ29tcGxldGlvbkl0ZW1Qcm92aWRlcignbHVhJywge1xyXG4gICAgcHJvdmlkZUNvbXBsZXRpb25JdGVtczogZnVuY3Rpb24obW9kZWw6YW55LCBwb3NpdGlvbjphbnkpIHtcclxuICAgICAgY29uc3Qgc3VnZ2VzdGlvbnMgPSBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6ICdmdW5jdGlvbicsXHJcbiAgICAgICAgICBraW5kOiBtb25hY28ubGFuZ3VhZ2VzLkNvbXBsZXRpb25JdGVtS2luZC5LZXl3b3JkLFxyXG4gICAgICAgICAgaW5zZXJ0VGV4dDogJ2Z1bmN0aW9uICR7MTpuYW1lfSgkezI6cGFyYW1zfSlcXG5cXHQkezM6LS0gYm9keX1cXG5lbmQnLFxyXG4gICAgICAgICAgaW5zZXJ0VGV4dFJ1bGVzOiBtb25hY28ubGFuZ3VhZ2VzLkNvbXBsZXRpb25JdGVtSW5zZXJ0VGV4dFJ1bGUuSW5zZXJ0QXNTbmlwcGV0LFxyXG4gICAgICAgICAgZG9jdW1lbnRhdGlvbjogJ0ZvbmtzaXlvbiB0YW7EsW1sYW1hJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6ICdpZicsXHJcbiAgICAgICAgICBraW5kOiBtb25hY28ubGFuZ3VhZ2VzLkNvbXBsZXRpb25JdGVtS2luZC5LZXl3b3JkLFxyXG4gICAgICAgICAgaW5zZXJ0VGV4dDogJ2lmICR7MTpjb25kaXRpb259IHRoZW5cXG5cXHQkezI6LS0gYm9keX1cXG5lbmQnLFxyXG4gICAgICAgICAgaW5zZXJ0VGV4dFJ1bGVzOiBtb25hY28ubGFuZ3VhZ2VzLkNvbXBsZXRpb25JdGVtSW5zZXJ0VGV4dFJ1bGUuSW5zZXJ0QXNTbmlwcGV0LFxyXG4gICAgICAgICAgZG9jdW1lbnRhdGlvbjogJ0lmIGJsb8SfdSdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGxhYmVsOiAnZm9yJyxcclxuICAgICAgICAgIGtpbmQ6IG1vbmFjby5sYW5ndWFnZXMuQ29tcGxldGlvbkl0ZW1LaW5kLktleXdvcmQsXHJcbiAgICAgICAgICBpbnNlcnRUZXh0OiAnZm9yICR7MTppfT0kezI6MX0sJHszOjEwfSBkb1xcblxcdCR7NDotLSBib2R5fVxcbmVuZCcsXHJcbiAgICAgICAgICBpbnNlcnRUZXh0UnVsZXM6IG1vbmFjby5sYW5ndWFnZXMuQ29tcGxldGlvbkl0ZW1JbnNlcnRUZXh0UnVsZS5JbnNlcnRBc1NuaXBwZXQsXHJcbiAgICAgICAgICBkb2N1bWVudGF0aW9uOiAnRm9yIGTDtm5nw7xzw7wnXHJcbiAgICAgICAgfVxyXG4gICAgICBdO1xyXG4gICAgICBcclxuICAgICAgcmV0dXJuIHsgc3VnZ2VzdGlvbnM6IHN1Z2dlc3Rpb25zIH07XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbi8vIEphdmEgacOnaW4gw7Z6ZWwgYXlhcmxhclxyXG5pZiAobW9uYWNvICYmIG1vbmFjby5sYW5ndWFnZXMpIHtcclxuICBtb25hY28ubGFuZ3VhZ2VzLnJlZ2lzdGVyRG9jdW1lbnRGb3JtYXR0aW5nRWRpdFByb3ZpZGVyKCdqYXZhJywge1xyXG4gICAgcHJvdmlkZURvY3VtZW50Rm9ybWF0dGluZ0VkaXRzOiBmdW5jdGlvbihtb2RlbDphbnkpIHtcclxuICAgICAgY29uc3QgdGV4dCA9IG1vZGVsLmdldFZhbHVlKCk7XHJcbiAgICAgIC8vIEphdmEgZm9ybWF0bGFtYXPEsVxyXG4gICAgICByZXR1cm4gW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHJhbmdlOiBtb2RlbC5nZXRGdWxsTW9kZWxSYW5nZSgpLFxyXG4gICAgICAgICAgdGV4dDogdGV4dCAvLyBGb3JtYXRsYW5txLHFnyBtZXRpblxyXG4gICAgICAgIH1cclxuICAgICAgXTtcclxuICAgIH1cclxuICB9KTtcclxuICBcclxuICAvLyBKYXZhIGnDp2luIMO2emVsIMO2bmVyaWxlclxyXG4gIG1vbmFjby5sYW5ndWFnZXMucmVnaXN0ZXJDb21wbGV0aW9uSXRlbVByb3ZpZGVyKCdqYXZhJywge1xyXG4gICAgcHJvdmlkZUNvbXBsZXRpb25JdGVtczogZnVuY3Rpb24obW9kZWw6YW55LCBwb3NpdGlvbjphbnkpIHtcclxuICAgICAgY29uc3Qgc3VnZ2VzdGlvbnMgPSBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6ICdjbGFzcycsXHJcbiAgICAgICAgICBraW5kOiBtb25hY28ubGFuZ3VhZ2VzLkNvbXBsZXRpb25JdGVtS2luZC5LZXl3b3JkLFxyXG4gICAgICAgICAgaW5zZXJ0VGV4dDogJ3B1YmxpYyBjbGFzcyAkezE6Q2xhc3NOYW1lfSB7XFxuXFx0JHsyfVxcbn0nLFxyXG4gICAgICAgICAgaW5zZXJ0VGV4dFJ1bGVzOiBtb25hY28ubGFuZ3VhZ2VzLkNvbXBsZXRpb25JdGVtSW5zZXJ0VGV4dFJ1bGUuSW5zZXJ0QXNTbmlwcGV0LFxyXG4gICAgICAgICAgZG9jdW1lbnRhdGlvbjogJ1PEsW7EsWYgdGFuxLFtbGFtYSdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGxhYmVsOiAnbWFpbicsXHJcbiAgICAgICAgICBraW5kOiBtb25hY28ubGFuZ3VhZ2VzLkNvbXBsZXRpb25JdGVtS2luZC5TbmlwcGV0LFxyXG4gICAgICAgICAgaW5zZXJ0VGV4dDogJ3B1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHtcXG5cXHQkezF9XFxufScsXHJcbiAgICAgICAgICBpbnNlcnRUZXh0UnVsZXM6IG1vbmFjby5sYW5ndWFnZXMuQ29tcGxldGlvbkl0ZW1JbnNlcnRUZXh0UnVsZS5JbnNlcnRBc1NuaXBwZXQsXHJcbiAgICAgICAgICBkb2N1bWVudGF0aW9uOiAnTWFpbiBtZXRvZHUnXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBsYWJlbDogJ3NvdXQnLFxyXG4gICAgICAgICAga2luZDogbW9uYWNvLmxhbmd1YWdlcy5Db21wbGV0aW9uSXRlbUtpbmQuU25pcHBldCxcclxuICAgICAgICAgIGluc2VydFRleHQ6ICdTeXN0ZW0ub3V0LnByaW50bG4oJHsxfSk7JyxcclxuICAgICAgICAgIGluc2VydFRleHRSdWxlczogbW9uYWNvLmxhbmd1YWdlcy5Db21wbGV0aW9uSXRlbUluc2VydFRleHRSdWxlLkluc2VydEFzU25pcHBldCxcclxuICAgICAgICAgIGRvY3VtZW50YXRpb246ICdLb25zb2xhIHlhemTEsXJtYSdcclxuICAgICAgICB9XHJcbiAgICAgIF07XHJcbiAgICAgIFxyXG4gICAgICByZXR1cm4geyBzdWdnZXN0aW9uczogc3VnZ2VzdGlvbnMgfTtcclxuICAgIH1cclxuICB9KTtcclxufVxyXG5cclxuLy8gSFRNTCBpw6dpbiDDtnplbCBheWFybGFyXHJcbmlmIChtb25hY28gJiYgbW9uYWNvLmxhbmd1YWdlcykge1xyXG4gIG1vbmFjby5sYW5ndWFnZXMucmVnaXN0ZXJDb21wbGV0aW9uSXRlbVByb3ZpZGVyKCdodG1sJywge1xyXG4gICAgcHJvdmlkZUNvbXBsZXRpb25JdGVtczogZnVuY3Rpb24obW9kZWw6YW55LCBwb3NpdGlvbjphbnkpIHtcclxuICAgICAgY29uc3Qgc3VnZ2VzdGlvbnMgPSBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6ICdodG1sNScsXHJcbiAgICAgICAgICBraW5kOiBtb25hY28ubGFuZ3VhZ2VzLkNvbXBsZXRpb25JdGVtS2luZC5TbmlwcGV0LFxyXG4gICAgICAgICAgaW5zZXJ0VGV4dDogJzwhRE9DVFlQRSBodG1sPlxcbjxodG1sIGxhbmc9XCJlblwiPlxcbjxoZWFkPlxcblxcdDxtZXRhIGNoYXJzZXQ9XCJVVEYtOFwiPlxcblxcdDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiIGNvbnRlbnQ9XCJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wXCI+XFxuXFx0PHRpdGxlPiR7MTpEb2N1bWVudH08L3RpdGxlPlxcbjwvaGVhZD5cXG48Ym9keT5cXG5cXHQkezJ9XFxuPC9ib2R5PlxcbjwvaHRtbD4nLFxyXG4gICAgICAgICAgaW5zZXJ0VGV4dFJ1bGVzOiBtb25hY28ubGFuZ3VhZ2VzLkNvbXBsZXRpb25JdGVtSW5zZXJ0VGV4dFJ1bGUuSW5zZXJ0QXNTbmlwcGV0LFxyXG4gICAgICAgICAgZG9jdW1lbnRhdGlvbjogJ0hUTUw1IHRhc2xhxJ/EsSdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGxhYmVsOiAnZGl2JyxcclxuICAgICAgICAgIGtpbmQ6IG1vbmFjby5sYW5ndWFnZXMuQ29tcGxldGlvbkl0ZW1LaW5kLlNuaXBwZXQsXHJcbiAgICAgICAgICBpbnNlcnRUZXh0OiAnPGRpdiBjbGFzcz1cIiR7MTpjbGFzc05hbWV9XCI+XFxuXFx0JHsyfVxcbjwvZGl2PicsXHJcbiAgICAgICAgICBpbnNlcnRUZXh0UnVsZXM6IG1vbmFjby5sYW5ndWFnZXMuQ29tcGxldGlvbkl0ZW1JbnNlcnRUZXh0UnVsZS5JbnNlcnRBc1NuaXBwZXQsXHJcbiAgICAgICAgICBkb2N1bWVudGF0aW9uOiAnRGl2IGVsZW1lbnRpJ1xyXG4gICAgICAgIH1cclxuICAgICAgXTtcclxuICAgICAgXHJcbiAgICAgIHJldHVybiB7IHN1Z2dlc3Rpb25zOiBzdWdnZXN0aW9ucyB9O1xyXG4gICAgfVxyXG4gIH0pO1xyXG59XHJcblxyXG4vLyBYTUwgacOnaW4gw7Z6ZWwgYXlhcmxhclxyXG5pZiAobW9uYWNvICYmIG1vbmFjby5sYW5ndWFnZXMpIHtcclxuICBtb25hY28ubGFuZ3VhZ2VzLnJlZ2lzdGVyQ29tcGxldGlvbkl0ZW1Qcm92aWRlcigneG1sJywge1xyXG4gICAgcHJvdmlkZUNvbXBsZXRpb25JdGVtczogZnVuY3Rpb24obW9kZWw6YW55LCBwb3NpdGlvbjphbnkpIHtcclxuICAgICAgY29uc3Qgc3VnZ2VzdGlvbnMgPSBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6ICd4bWwnLFxyXG4gICAgICAgICAga2luZDogbW9uYWNvLmxhbmd1YWdlcy5Db21wbGV0aW9uSXRlbUtpbmQuU25pcHBldCxcclxuICAgICAgICAgIGluc2VydFRleHQ6ICc8P3htbCB2ZXJzaW9uPVwiMS4wXCIgZW5jb2Rpbmc9XCJVVEYtOFwiPz5cXG48JHsxOnJvb3R9PlxcblxcdCR7Mn1cXG48LyR7MTpyb290fT4nLFxyXG4gICAgICAgICAgaW5zZXJ0VGV4dFJ1bGVzOiBtb25hY28ubGFuZ3VhZ2VzLkNvbXBsZXRpb25JdGVtSW5zZXJ0VGV4dFJ1bGUuSW5zZXJ0QXNTbmlwcGV0LFxyXG4gICAgICAgICAgZG9jdW1lbnRhdGlvbjogJ1hNTCB0YXNsYcSfxLEnXHJcbiAgICAgICAgfVxyXG4gICAgICBdO1xyXG4gICAgICBcclxuICAgICAgcmV0dXJuIHsgc3VnZ2VzdGlvbnM6IHN1Z2dlc3Rpb25zIH07XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbi8vIEpTT04gacOnaW4gw7Z6ZWwgYXlhcmxhciB2ZSDFn2VtYSBkb8SfcnVsYW1hXHJcbmlmIChtb25hY28gJiYgbW9uYWNvLmxhbmd1YWdlcyAmJiBtb25hY28ubGFuZ3VhZ2VzLmpzb24pIHtcclxuICBtb25hY28ubGFuZ3VhZ2VzLmpzb24uanNvbkRlZmF1bHRzLnNldERpYWdub3N0aWNzT3B0aW9ucyh7XHJcbiAgICB2YWxpZGF0ZTogdHJ1ZSxcclxuICAgIGFsbG93Q29tbWVudHM6IGZhbHNlLFxyXG4gICAgc2NoZW1hczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgdXJpOiBcImh0dHA6Ly9teXNlcnZlci9zY2hlbWEvcGFja2FnZS5zY2hlbWEuanNvblwiLFxyXG4gICAgICAgIGZpbGVNYXRjaDogW1wicGFja2FnZS5qc29uXCJdLFxyXG4gICAgICAgIHNjaGVtYToge1xyXG4gICAgICAgICAgdHlwZTogXCJvYmplY3RcIixcclxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcclxuICAgICAgICAgICAgbmFtZTogeyB0eXBlOiBcInN0cmluZ1wiIH0sXHJcbiAgICAgICAgICAgIHZlcnNpb246IHsgdHlwZTogXCJzdHJpbmdcIiB9LFxyXG4gICAgICAgICAgICBkZXBlbmRlbmNpZXM6IHtcclxuICAgICAgICAgICAgICB0eXBlOiBcIm9iamVjdFwiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIF1cclxuICB9KTtcclxufVxyXG5cdFx0XHRcclxuXHRcdFx0Ly8gRGFoYSBmYXpsYSBkaWwgZWtsZW1lIHZlIMO2emVsbGXFn3Rpcm1lIGnFn2xlbWxlcmkgYnVyYXlhIGVrbGVuZWJpbGlyXHJcblx0XHR9XHJcblx0fTtcclxuXHJcblx0Y29uc3QgYXBwQm9vdENvbmZpZzogQXBwbGljYXRpb25Db25maWcgPSB7XHJcblx0XHRwcm92aWRlcnM6IFtcclxuXHRcdFx0cHJvdmlkZUFuaW1hdGlvbnMoKSxcclxuXHRcdFx0cHJvdmlkZUhvc3QoYXBwTmFtZSksXHJcblx0XHRcdEtleWNsb2FrQmVhcmVySW50ZXJjZXB0b3IsXHJcblx0XHRcdHByb3ZpZGVIdHRwQ2xpZW50KHdpdGhJbnRlcmNlcHRvcnMoW2tleWNsb2FrQXV0aEludGVyY2VwdG9yXSkpLFxyXG5cdFx0XHRwcm92aWRlUm91dGVyKF9yb3V0ZXMsIHdpdGhDb21wb25lbnRJbnB1dEJpbmRpbmcoKSwgd2l0aEhhc2hMb2NhdGlvbigpLCB3aXRoVmlld1RyYW5zaXRpb25zKCkpLFxyXG5cdFx0XHR7IHByb3ZpZGU6IFJvdXRlUmV1c2VTdHJhdGVneSwgdXNlQ2xhc3M6IEFyaWxSZXVzZVN0cmF0ZWd5IH0sXHJcblx0XHRcdGltcG9ydFByb3ZpZGVyc0Zyb20oaTE4bk1vZHVsZSwgS2V5Y2xvYWtBbmd1bGFyTW9kdWxlKSxcclxuXHRcdFx0Z2V0Tmdab25lKCksXHJcblx0XHRcdE1lc3NhZ2VTZXJ2aWNlLFxyXG5cdFx0XHRDb25maXJtYXRpb25TZXJ2aWNlLFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG5cdFx0XHRcdHVzZUZhY3Rvcnk6ICg8YW55Pmdsb2JhbFRoaXMpLmlzSG9zdE1vZGUgPyBzZXRBcGlDb25maWdPbk1GRU1vZGUgOiBsb2FkQXBpQ29uZmlncyxcclxuXHRcdFx0XHRtdWx0aTogdHJ1ZSxcclxuXHRcdFx0XHRkZXBzOiBbSHR0cENsaWVudCwgS2V5Y2xvYWtTZXJ2aWNlLCBpMThuRm9sZGVyTmFtZV1cclxuXHRcdFx0fSxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuXHRcdFx0XHR1c2VGYWN0b3J5OiBsb2FkUGx1Z2lucyxcclxuXHRcdFx0XHRtdWx0aTogdHJ1ZSxcclxuXHRcdFx0XHRkZXBzOiBbSHR0cEJhY2tlbmRTZXJ2aWNlXVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG5cdFx0XHRcdHVzZUZhY3Rvcnk6IGxvYWRTdHlsZXMsXHJcblx0XHRcdFx0bXVsdGk6IHRydWUsXHJcblx0XHRcdFx0ZGVwczogW1N0eWxlTG9hZGVyU2VydmljZSwgaTE4bkZvbGRlck5hbWVdXHJcblx0XHRcdH0sXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwcm92aWRlOiBpMThuRm9sZGVyTmFtZSxcclxuXHRcdFx0XHR1c2VWYWx1ZTogX2FwcE5hbWVcclxuXHRcdFx0fSxcclxuXHRcdFx0aW1wb3J0UHJvdmlkZXJzRnJvbShNb25hY29FZGl0b3JNb2R1bGUuZm9yUm9vdCgpKSxcclxuICAgIFx0eyBwcm92aWRlOiBOR1hfTU9OQUNPX0VESVRPUl9DT05GSUcsIHVzZVZhbHVlOiBtb25hY29Db25maWcgfVxyXG5cdFx0XVxyXG5cdH07XHJcblxyXG5cdGNyZWF0ZUFwcGxpY2F0aW9uKGFwcEJvb3RDb25maWcpLnRoZW4oKGFwcFJlZikgPT4ge1xyXG5cdFx0YXBwQ29tcG9uZW50TG9hZGVyKCkudGhlbigoQXBwQ29tcG9uZW50KSA9PiB7XHJcblx0XHRcdGNvbnN0IGFwcCA9IGNyZWF0ZUN1c3RvbUVsZW1lbnQoQXBwQ29tcG9uZW50LCB7IGluamVjdG9yOiBhcHBSZWYuaW5qZWN0b3IgfSk7XHJcblx0XHRcdGN1c3RvbUVsZW1lbnRzLmRlZmluZShgYXBwLSR7YXBwTmFtZX1gLCBhcHApO1xyXG5cdFx0fSk7XHJcblx0fSk7XHJcbn07XHJcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJpbC11aS1lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3VpL2VkaXRvci9hcmlsLXVpLWVkaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './src/aril-editor.component';
2
+ export * from './src/types';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3VpL2VkaXRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvYXJpbC1lZGl0b3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvdHlwZXMnO1xyXG4iXX0=
@@ -0,0 +1,159 @@
1
+ /* eslint-disable @angular-eslint/component-selector */
2
+ import { Component, Input, ViewEncapsulation } from '@angular/core';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { MonacoEditorModule } from 'ngx-monaco-editor-v2';
5
+ import { CommonModule } from '@angular/common';
6
+ import { BaseInputComponent, ValueAccessorDirective, InputErrorMessagePipe } from 'aril/ui/lib';
7
+ import { TooltipModule } from 'primeng/tooltip';
8
+ import { MonacoLanguageType, MonacoThemeType } from './types';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "aril/ui/lib";
11
+ import * as i2 from "@angular/forms";
12
+ import * as i3 from "ngx-monaco-editor-v2";
13
+ import * as i4 from "primeng/tooltip";
14
+ export class ArilEditorComponent extends BaseInputComponent {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.language = MonacoLanguageType.JSON;
18
+ this.theme = MonacoThemeType.VS_DARK;
19
+ this.showLanguageSelector = false;
20
+ this.editorOptions = {};
21
+ }
22
+ get languageLabel() {
23
+ return this.language.toUpperCase();
24
+ }
25
+ ngOnInit() {
26
+ this.initializeEditor();
27
+ }
28
+ ngOnDestroy() {
29
+ if (this.editorInstance) {
30
+ this.editorInstance.dispose();
31
+ }
32
+ }
33
+ initializeEditor() {
34
+ this.editorOptions = {
35
+ theme: this.theme,
36
+ language: this.language,
37
+ automaticLayout: false,
38
+ minimap: {
39
+ enabled: true
40
+ },
41
+ scrollBeyondLastLine: false,
42
+ lineNumbers: 'on',
43
+ tabSize: 2,
44
+ renderLineHighlight: 'all',
45
+ wordWrap: 'on',
46
+ formatOnType: true,
47
+ formatOnPaste: true
48
+ };
49
+ }
50
+ onEditorInit(editor) {
51
+ this.editorInstance = editor;
52
+ if (editor) {
53
+ // Editör temasını ayarla
54
+ monaco.editor.setTheme(this.theme);
55
+ // Dile göre doğrulama ayarları
56
+ this.setupLanguageValidation();
57
+ }
58
+ }
59
+ setupLanguageValidation() {
60
+ if (!this.editorInstance)
61
+ return;
62
+ try {
63
+ // Her dil için uygun validasyon ayarı
64
+ switch (this.language) {
65
+ case MonacoLanguageType.JAVASCRIPT:
66
+ case MonacoLanguageType.TYPESCRIPT:
67
+ this.setupJSValidation();
68
+ break;
69
+ case MonacoLanguageType.JSON:
70
+ this.setupJSONValidation();
71
+ break;
72
+ case MonacoLanguageType.HTML:
73
+ case MonacoLanguageType.XML:
74
+ this.setupHTMLValidation();
75
+ break;
76
+ // Python, Lua ve Java için özel validasyon gerekli
77
+ // Bu diller için Monaco'nun built-in validasyonu yok
78
+ }
79
+ }
80
+ catch (e) {
81
+ console.error('Language validation setup error:', e);
82
+ }
83
+ }
84
+ setupJSValidation() {
85
+ if (!this.editorInstance)
86
+ return;
87
+ try {
88
+ if (monaco && monaco.languages && monaco.languages.typescript) {
89
+ const compilerOptions = {
90
+ target: monaco.languages.typescript.ScriptTarget.ES2020,
91
+ allowNonTsExtensions: true,
92
+ module: monaco.languages.typescript.ModuleKind.CommonJS,
93
+ noSemanticValidation: false,
94
+ noSyntaxValidation: false
95
+ };
96
+ if (this.language === MonacoLanguageType.JAVASCRIPT) {
97
+ monaco.languages.typescript.javascriptDefaults.setCompilerOptions(compilerOptions);
98
+ monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({
99
+ noSemanticValidation: false,
100
+ noSyntaxValidation: false
101
+ });
102
+ }
103
+ else {
104
+ monaco.languages.typescript.typescriptDefaults.setCompilerOptions(compilerOptions);
105
+ monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions({
106
+ noSemanticValidation: false,
107
+ noSyntaxValidation: false
108
+ });
109
+ }
110
+ }
111
+ }
112
+ catch (e) {
113
+ console.error('JS/TS validation setup error:', e);
114
+ }
115
+ }
116
+ setupJSONValidation() {
117
+ if (!this.editorInstance)
118
+ return;
119
+ try {
120
+ if (monaco.languages && monaco.languages.json) {
121
+ monaco.languages.json.jsonDefaults.setDiagnosticsOptions({
122
+ validate: true,
123
+ allowComments: true,
124
+ schemas: []
125
+ });
126
+ }
127
+ }
128
+ catch (e) {
129
+ console.error('JSON validation setup error:', e);
130
+ }
131
+ }
132
+ setupHTMLValidation() {
133
+ if (!this.editorInstance)
134
+ return;
135
+ try {
136
+ if (monaco.languages && monaco.languages.html) {
137
+ monaco.languages.html.htmlDefaults.setDiagnosticsOptions({
138
+ validate: true
139
+ });
140
+ }
141
+ }
142
+ catch (e) {
143
+ console.error('HTML validation setup error:', e);
144
+ }
145
+ }
146
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ArilEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
147
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ArilEditorComponent, isStandalone: true, selector: "aril-editor[ngModel], aril-editor[formControl], aril-editor[formControlName]", inputs: { language: "language", theme: "theme", showLanguageSelector: "showLanguageSelector" }, usesInheritance: true, hostDirectives: [{ directive: i1.ValueAccessorDirective }], ngImport: i0, template: "<div \r\n [pTooltip]=\"ngControl.invalid ? (ngControl.control.value | inputErrorMessage: ngControl) : ''\"\r\n [tooltipOptions]=\"tooltipOptions\"\r\n [class.p-invalid]=\"ngControl.invalid && (ngControl.dirty || ngControl.touched)\"\r\n class=\"aril-editor-container\">\r\n <ngx-monaco-editor\r\n [options]=\"editorOptions\"\r\n [formControl]=\"ngControl.control\"\r\n (onInit)=\"onEditorInit($event)\"\r\n (ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n >\r\n </ngx-monaco-editor>\r\n</div>", styles: [".aril-editor-container{width:100%;padding:0}.p-invalid{border:1px solid var(--red-500);border-bottom:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MonacoEditorModule }, { kind: "component", type: i3.EditorComponent, selector: "ngx-monaco-editor", inputs: ["options", "model"] }, { kind: "pipe", type: InputErrorMessagePipe, name: "inputErrorMessage" }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }], encapsulation: i0.ViewEncapsulation.None }); }
148
+ }
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ArilEditorComponent, decorators: [{
150
+ type: Component,
151
+ args: [{ selector: 'aril-editor[ngModel], aril-editor[formControl], aril-editor[formControlName]', standalone: true, imports: [CommonModule, FormsModule, ReactiveFormsModule, MonacoEditorModule, InputErrorMessagePipe, TooltipModule], encapsulation: ViewEncapsulation.None, hostDirectives: [ValueAccessorDirective], template: "<div \r\n [pTooltip]=\"ngControl.invalid ? (ngControl.control.value | inputErrorMessage: ngControl) : ''\"\r\n [tooltipOptions]=\"tooltipOptions\"\r\n [class.p-invalid]=\"ngControl.invalid && (ngControl.dirty || ngControl.touched)\"\r\n class=\"aril-editor-container\">\r\n <ngx-monaco-editor\r\n [options]=\"editorOptions\"\r\n [formControl]=\"ngControl.control\"\r\n (onInit)=\"onEditorInit($event)\"\r\n (ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n >\r\n </ngx-monaco-editor>\r\n</div>", styles: [".aril-editor-container{width:100%;padding:0}.p-invalid{border:1px solid var(--red-500);border-bottom:none}\n"] }]
152
+ }], propDecorators: { language: [{
153
+ type: Input
154
+ }], theme: [{
155
+ type: Input
156
+ }], showLanguageSelector: [{
157
+ type: Input
158
+ }] } });
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJpbC1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS9lZGl0b3Ivc3JjL2FyaWwtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWkvZWRpdG9yL3NyYy9hcmlsLWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsaUJBQWlCLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7Ozs7OztBQWE5RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsa0JBQWtCO0lBVDNEOztRQVVVLGFBQVEsR0FBdUIsa0JBQWtCLENBQUMsSUFBSSxDQUFDO1FBQ3ZELFVBQUssR0FBb0IsZUFBZSxDQUFDLE9BQU8sQ0FBQztRQUNqRCx5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFFdEMsa0JBQWEsR0FBUSxFQUFFLENBQUM7S0FvSXhCO0lBaklBLElBQUksYUFBYTtRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELFFBQVE7UUFDUCxJQUFJLENB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QUksTUFBTSxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUMvQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMscUJBQXFCLENBQUM7b0JBQ3hELFFBQVEsRUFBRSxJQUFJO2lCQUNkLENBQUMsQ0FBQztZQUNKLENBQUM7UUFDRixDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMsOEJBQThCLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNGLENBQUM7OEdBeElXLG1CQUFtQjtrR0FBbkIsbUJBQW1CLDJUQ3BCaEMsNGdCQVlNLHFLREVLLFlBQVksOEJBQUUsV0FBVyxzSUFBRSxtQkFBbUIsaU5BQUUsa0JBQWtCLHdJQUFFLHFCQUFxQix5REFBRSxhQUFhOzsyRkFNdEcsbUJBQW1CO2tCQVQvQixTQUFTOytCQUNDLDhFQUE4RSxjQUM1RSxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLGFBQWEsQ0FBQyxpQkFHcEcsaUJBQWlCLENBQUMsSUFBSSxrQkFDckIsQ0FBQyxzQkFBc0IsQ0FBQzs4QkFHL0IsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1vbmFjb0VkaXRvck1vZHVsZSB9IGZyb20gJ25neC1tb25hY28tZWRpdG9yLXYyJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQmFzZUlucHV0Q29tcG9uZW50LCBWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlLCBJbnB1dEVycm9yTWVzc2FnZVBpcGUgfSBmcm9tICdhcmlsL3VpL2xpYic7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBNb25hY29MYW5ndWFnZVR5cGUsIE1vbmFjb1RoZW1lVHlwZSB9IGZyb20gJy4vdHlwZXMnO1xyXG5cclxuZGVjbGFyZSBjb25zdCBtb25hY286IGFueTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXJpbC1lZGl0b3JbbmdNb2RlbF0sIGFyaWwtZWRpdG9yW2Zvcm1Db250cm9sXSwgYXJpbC1lZGl0b3JbZm9ybUNvbnRyb2xOYW1lXScsXHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgTW9uYWNvRWRpdG9yTW9kdWxlLCBJbnB1dEVycm9yTWVzc2FnZVBpcGUsIFRvb2x0aXBNb2R1bGVdLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9hcmlsLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vYXJpbC1lZGl0b3IuY29tcG9uZW50LnNjc3MnXSxcclxuXHRlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG5cdGhvc3REaXJlY3RpdmVzOiBbVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFyaWxFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblx0QElucHV0KCkgbGFuZ3VhZ2U6IE1vbmFjb0xhbmd1YWdlVHlwZSA9IE1vbmFjb0xhbmd1YWdlVHlwZS5KU09OO1xyXG5cdEBJbnB1dCgpIHRoZW1lOiBNb25hY29UaGVtZVR5cGUgPSBNb25hY29UaGVtZVR5cGUuVlNfREFSSztcclxuXHRASW5wdXQoKSBzaG93TGFuZ3VhZ2VTZWxlY3RvciA9IGZhbHNlO1xyXG5cclxuXHRlZGl0b3JPcHRpb25zOiBhbnkgPSB7fTtcclxuXHRlZGl0b3JJbnN0YW5jZTogYW55O1xyXG5cclxuXHRnZXQgbGFuZ3VhZ2VMYWJlbCgpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIHRoaXMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKTtcclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5pbml0aWFsaXplRWRpdG9yKCk7XHJcblx0fVxyXG5cclxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuXHRcdGlmICh0aGlzLmVkaXRvckluc3RhbmNlKSB7XHJcblx0XHRcdHRoaXMuZWRpdG9ySW5zdGFuY2UuZGlzcG9zZSgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBpbml0aWFsaXplRWRpdG9yKCk6IHZvaWQge1xyXG5cdFx0dGhpcy5lZGl0b3JPcHRpb25zID0ge1xyXG5cdFx0XHR0aGVtZTogdGhpcy50aGVtZSxcclxuXHRcdFx0bGFuZ3VhZ2U6IHRoaXMubGFuZ3VhZ2UsXHJcblx0XHRcdGF1dG9tYXRpY0xheW91dDogZmFsc2UsXHJcblx0XHRcdG1pbmltYXA6IHtcclxuXHRcdFx0XHRlbmFibGVkOiB0cnVlXHJcblx0XHRcdH0sXHJcblx0XHRcdHNjcm9sbEJleW9uZExhc3RMaW5lOiBmYWxzZSxcclxuXHRcdFx0bGluZU51bWJlcnM6ICdvbicsXHJcblx0XHRcdHRhYlNpemU6IDIsXHJcblx0XHRcdHJlbmRlckxpbmVIaWdobGlnaHQ6ICdhbGwnLFxyXG5cdFx0XHR3b3JkV3JhcDogJ29uJyxcclxuXHRcdFx0Zm9ybWF0T25UeXBlOiB0cnVlLFxyXG5cdFx0XHRmb3JtYXRPblBhc3RlOiB0cnVlXHJcblx0XHR9O1xyXG5cdH1cclxuXHJcblx0b25FZGl0b3JJbml0KGVkaXRvcjogYW55KTogdm9pZCB7XHJcblx0XHR0aGlzLmVkaXRvckluc3RhbmNlID0gZWRpdG9yO1xyXG5cclxuXHRcdGlmIChlZGl0b3IpIHtcclxuXHRcdFx0Ly8gRWRpdMO2ciB0ZW1hc8SxbsSxIGF5YXJsYVxyXG5cdFx0XHRtb25hY28uZWRpdG9yLnNldFRoZW1lKHRoaXMudGhlbWUpO1xyXG5cdFx0XHQvLyBEaWxlIGfDtnJlIGRvxJ9ydWxhbWEgYXlhcmxhcsSxXHJcblx0XHRcdHRoaXMuc2V0dXBMYW5ndWFnZVZhbGlkYXRpb24oKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByaXZhdGUgc2V0dXBMYW5ndWFnZVZhbGlkYXRpb24oKTogdm9pZCB7XHJcblx0XHRpZiAoIXRoaXMuZWRpdG9ySW5zdGFuY2UpIHJldHVybjtcclxuXHJcblx0XHR0cnkge1xyXG5cdFx0XHQvLyBIZXIgZGlsIGnDp2luIHV5Z3VuIHZhbGlkYXN5b24gYXlhcsSxXHJcblx0XHRcdHN3aXRjaCAodGhpcy5sYW5ndWFnZSkge1xyXG5cdFx0XHRcdGNhc2UgTW9uYWNvTGFuZ3VhZ2VUeXBlLkpBVkFTQ1JJUFQ6XHJcblx0XHRcdFx0Y2FzZSBNb25hY29MYW5ndWFnZVR5cGUuVFlQRVNDUklQVDpcclxuXHRcdFx0XHRcdHRoaXMuc2V0dXBKU1ZhbGlkYXRpb24oKTtcclxuXHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdGNhc2UgTW9uYWNvTGFuZ3VhZ2VUeXBlLkpTT046XHJcblx0XHRcdFx0XHR0aGlzLnNldHVwSlNPTlZhbGlkYXRpb24oKTtcclxuXHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdGNhc2UgTW9uYWNvTGFuZ3VhZ2VUeXBlLkhUTUw6XHJcblx0XHRcdFx0Y2FzZSBNb25hY29MYW5ndWFnZVR5cGUuWE1MOlxyXG5cdFx0XHRcdFx0dGhpcy5zZXR1cEhUTUxWYWxpZGF0aW9uKCk7XHJcblx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHQvLyBQeXRob24sIEx1YSB2ZSBKYXZhIGnDp2luIMO2emVsIHZhbGlkYXN5b24gZ2VyZWtsaVxyXG5cdFx0XHRcdC8vIEJ1IGRpbGxlciBpw6dpbiBNb25hY28nbnVuIGJ1aWx0LWluIHZhbGlkYXN5b251IHlva1xyXG5cdFx0XHR9XHJcblx0XHR9IGNhdGNoIChlKSB7XHJcblx0XHRcdGNvbnNvbGUuZXJyb3IoJ0xhbmd1YWdlIHZhbGlkYXRpb24gc2V0dXAgZXJyb3I6JywgZSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIHNldHVwSlNWYWxpZGF0aW9uKCk6IHZvaWQge1xyXG5cdFx0aWYgKCF0aGlzLmVkaXRvckluc3RhbmNlKSByZXR1cm47XHJcblxyXG5cdFx0dHJ5IHtcclxuXHRcdFx0aWYgKG1vbmFjbyAmJiBtb25hY28ubGFuZ3VhZ2VzICYmIG1vbmFjby5sYW5ndWFnZXMudHlwZXNjcmlwdCkge1xyXG5cdFx0XHRcdGNvbnN0IGNvbXBpbGVyT3B0aW9ucyA9IHtcclxuXHRcdFx0XHRcdHRhcmdldDogbW9uYWNvLmxhbmd1YWdlcy50eXBlc2NyaXB0LlNjcmlwdFRhcmdldC5FUzIwMjAsXHJcblx0XHRcdFx0XHRhbGxvd05vblRzRXh0ZW5zaW9uczogdHJ1ZSxcclxuXHRcdFx0XHRcdG1vZHVsZTogbW9uYWNvLmxhbmd1YWdlcy50eXBlc2NyaXB0Lk1vZHVsZUtpbmQuQ29tbW9uSlMsXHJcblx0XHRcdFx0XHRub1NlbWFudGljVmFsaWRhdGlvbjogZmFsc2UsXHJcblx0XHRcdFx0XHRub1N5bnRheFZhbGlkYXRpb246IGZhbHNlXHJcblx0XHRcdFx0fTtcclxuXHJcblx0XHRcdFx0aWYgKHRoaXMubGFuZ3VhZ2UgPT09IE1vbmFjb0xhbmd1YWdlVHlwZS5KQVZBU0NSSVBUKSB7XHJcblx0XHRcdFx0XHRtb25hY28ubGFuZ3VhZ2VzLnR5cGVzY3JpcHQuamF2YXNjcmlwdERlZmF1bHRzLnNldENvbXBpbGVyT3B0aW9ucyhjb21waWxlck9wdGlvbnMpO1xyXG5cdFx0XHRcdFx0bW9uYWNvLmxhbmd1YWdlcy50eXBlc2NyaXB0LmphdmFzY3JpcHREZWZhdWx0cy5zZXREaWFnbm9zdGljc09wdGlvbnMoe1xyXG5cdFx0XHRcdFx0XHRub1NlbWFudGljVmFsaWRhdGlvbjogZmFsc2UsXHJcblx0XHRcdFx0XHRcdG5vU3ludGF4VmFsaWRhdGlvbjogZmFsc2VcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRtb25hY28ubGFuZ3VhZ2VzLnR5cGVzY3JpcHQudHlwZXNjcmlwdERlZmF1bHRzLnNldENvbXBpbGVyT3B0aW9ucyhjb21waWxlck9wdGlvbnMpO1xyXG5cdFx0XHRcdFx0bW9uYWNvLmxhbmd1YWdlcy50eXBlc2NyaXB0LnR5cGVzY3JpcHREZWZhdWx0cy5zZXREaWFnbm9zdGljc09wdGlvbnMoe1xyXG5cdFx0XHRcdFx0XHRub1NlbWFudGljVmFsaWRhdGlvbjogZmFsc2UsXHJcblx0XHRcdFx0XHRcdG5vU3ludGF4VmFsaWRhdGlvbjogZmFsc2VcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fSBjYXRjaCAoZSkge1xyXG5cdFx0XHRjb25zb2xlLmVycm9yKCdKUy9UUyB2YWxpZGF0aW9uIHNldHVwIGVycm9yOicsIGUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBzZXR1cEpTT05WYWxpZGF0aW9uKCk6IHZvaWQge1xyXG5cdFx0aWYgKCF0aGlzLmVkaXRvckluc3RhbmNlKSByZXR1cm47XHJcblxyXG5cdFx0dHJ5IHtcclxuXHRcdFx0aWYgKG1vbmFjby5sYW5ndWFnZXMgJiYgbW9uYWNvLmxhbmd1YWdlcy5qc29uKSB7XHJcblx0XHRcdFx0bW9uYWNvLmxhbmd1YWdlcy5qc29uLmpzb25EZWZhdWx0cy5zZXREaWFnbm9zdGljc09wdGlvbnMoe1xyXG5cdFx0XHRcdFx0dmFsaWRhdGU6IHRydWUsXHJcblx0XHRcdFx0XHRhbGxvd0NvbW1lbnRzOiB0cnVlLFxyXG5cdFx0XHRcdFx0c2NoZW1hczogW11cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fVxyXG5cdFx0fSBjYXRjaCAoZSkge1xyXG5cdFx0XHRjb25zb2xlLmVycm9yKCdKU09OIHZhbGlkYXRpb24gc2V0dXAgZXJyb3I6JywgZSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIHNldHVwSFRNTFZhbGlkYXRpb24oKTogdm9pZCB7XHJcblx0XHRpZiAoIXRoaXMuZWRpdG9ySW5zdGFuY2UpIHJldHVybjtcclxuXHJcblx0XHR0cnkge1xyXG5cdFx0XHRpZiAobW9uYWNvLmxhbmd1YWdlcyAmJiBtb25hY28ubGFuZ3VhZ2VzLmh0bWwpIHtcclxuXHRcdFx0XHRtb25hY28ubGFuZ3VhZ2VzLmh0bWwuaHRtbERlZmF1bHRzLnNldERpYWdub3N0aWNzT3B0aW9ucyh7XHJcblx0XHRcdFx0XHR2YWxpZGF0ZTogdHJ1ZVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9XHJcblx0XHR9IGNhdGNoIChlKSB7XHJcblx0XHRcdGNvbnNvbGUuZXJyb3IoJ0hUTUwgdmFsaWRhdGlvbiBzZXR1cCBlcnJvcjonLCBlKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiPGRpdiBcclxuICBbcFRvb2x0aXBdPVwibmdDb250cm9sLmludmFsaWQgPyAobmdDb250cm9sLmNvbnRyb2wudmFsdWUgfCBpbnB1dEVycm9yTWVzc2FnZTogbmdDb250cm9sKSA6ICcnXCJcclxuICBbdG9vbHRpcE9wdGlvbnNdPVwidG9vbHRpcE9wdGlvbnNcIlxyXG4gIFtjbGFzcy5wLWludmFsaWRdPVwibmdDb250cm9sLmludmFsaWQgJiYgKG5nQ29udHJvbC5kaXJ0eSB8fCBuZ0NvbnRyb2wudG91Y2hlZClcIlxyXG4gIGNsYXNzPVwiYXJpbC1lZGl0b3ItY29udGFpbmVyXCI+XHJcbiAgPG5neC1tb25hY28tZWRpdG9yXHJcbiAgICBbb3B0aW9uc109XCJlZGl0b3JPcHRpb25zXCJcclxuICAgIFtmb3JtQ29udHJvbF09XCJuZ0NvbnRyb2wuY29udHJvbFwiXHJcbiAgICAob25Jbml0KT1cIm9uRWRpdG9ySW5pdCgkZXZlbnQpXCJcclxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm5nQ29udHJvbC52aWV3VG9Nb2RlbFVwZGF0ZSgkZXZlbnQpXCJcclxuICA+XHJcbiAgPC9uZ3gtbW9uYWNvLWVkaXRvcj5cclxuPC9kaXY+Il19