@valtimo/plugin 10.3.0 → 10.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/esm2020/lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component.mjs +1 -1
  2. package/esm2020/lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component.mjs +1 -1
  3. package/esm2020/lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component.mjs +1 -1
  4. package/esm2020/lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component.mjs +1 -1
  5. package/esm2020/lib/plugins/notificaties-api/notificaties-api-plugin.specification.mjs +1 -1
  6. package/esm2020/lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component.mjs +1 -1
  7. package/esm2020/lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component.mjs +1 -1
  8. package/esm2020/lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component.mjs +1 -1
  9. package/esm2020/lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component.mjs +1 -1
  10. package/esm2020/lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component.mjs +1 -1
  11. package/esm2020/lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component.mjs +54 -0
  12. package/esm2020/lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component.mjs +98 -0
  13. package/esm2020/lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component.mjs +17 -9
  14. package/esm2020/lib/plugins/portaaltaak/models/config.mjs +1 -1
  15. package/esm2020/lib/plugins/portaaltaak/models/object.mjs +1 -1
  16. package/esm2020/lib/plugins/portaaltaak/portaaltaak-plugin.module.mjs +24 -7
  17. package/esm2020/lib/plugins/portaaltaak/portaaltaak-plugin.specification.mjs +93 -1
  18. package/esm2020/lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component.mjs +1 -1
  19. package/esm2020/lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component.mjs +1 -1
  20. package/esm2020/lib/plugins/verzoek/assets/verzoek-plugin-logo.mjs +18 -0
  21. package/esm2020/lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component.mjs +146 -0
  22. package/esm2020/lib/plugins/verzoek/models/config.mjs +17 -0
  23. package/esm2020/lib/plugins/verzoek/models/index.mjs +18 -0
  24. package/esm2020/lib/plugins/verzoek/models/verzoek.mjs +17 -0
  25. package/esm2020/lib/plugins/verzoek/services/index.mjs +17 -0
  26. package/esm2020/lib/plugins/verzoek/services/verzoek-plugin.service.mjs +43 -0
  27. package/esm2020/lib/plugins/verzoek/verzoek-plugin.module.mjs +55 -0
  28. package/esm2020/lib/plugins/verzoek/verzoek-plugin.specification.mjs +107 -0
  29. package/esm2020/lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component.mjs +74 -0
  30. package/esm2020/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.mjs +95 -0
  31. package/esm2020/lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component.mjs +1 -1
  32. package/esm2020/lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component.mjs +1 -1
  33. package/esm2020/lib/plugins/zaken-api/models/config.mjs +1 -1
  34. package/esm2020/lib/plugins/zaken-api/zaken-api-plugin.module.mjs +23 -6
  35. package/esm2020/lib/plugins/zaken-api/zaken-api-plugin.specification.mjs +65 -1
  36. package/esm2020/public-api.mjs +9 -1
  37. package/fesm2015/valtimo-plugin.mjs +902 -40
  38. package/fesm2015/valtimo-plugin.mjs.map +1 -1
  39. package/fesm2020/valtimo-plugin.mjs +888 -40
  40. package/fesm2020/valtimo-plugin.mjs.map +1 -1
  41. package/lib/plugins/notificaties-api/notificaties-api-plugin.specification.d.ts.map +1 -1
  42. package/lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component.d.ts +19 -0
  43. package/lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component.d.ts.map +1 -0
  44. package/lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component.d.ts +39 -0
  45. package/lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component.d.ts.map +1 -0
  46. package/lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component.d.ts +4 -1
  47. package/lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component.d.ts.map +1 -1
  48. package/lib/plugins/portaaltaak/models/config.d.ts +20 -1
  49. package/lib/plugins/portaaltaak/models/config.d.ts.map +1 -1
  50. package/lib/plugins/portaaltaak/models/object.d.ts +1 -0
  51. package/lib/plugins/portaaltaak/models/object.d.ts.map +1 -1
  52. package/lib/plugins/portaaltaak/portaaltaak-plugin.module.d.ts +6 -4
  53. package/lib/plugins/portaaltaak/portaaltaak-plugin.module.d.ts.map +1 -1
  54. package/lib/plugins/portaaltaak/portaaltaak-plugin.specification.d.ts.map +1 -1
  55. package/lib/plugins/verzoek/assets/verzoek-plugin-logo.d.ts +3 -0
  56. package/lib/plugins/verzoek/assets/verzoek-plugin-logo.d.ts.map +1 -0
  57. package/lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component.d.ts +49 -0
  58. package/lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component.d.ts.map +1 -0
  59. package/lib/plugins/verzoek/models/config.d.ts +17 -0
  60. package/lib/plugins/verzoek/models/config.d.ts.map +1 -0
  61. package/lib/plugins/verzoek/models/index.d.ts +3 -0
  62. package/lib/plugins/verzoek/models/index.d.ts.map +1 -0
  63. package/lib/plugins/verzoek/models/verzoek.d.ts +17 -0
  64. package/lib/plugins/verzoek/models/verzoek.d.ts.map +1 -0
  65. package/lib/plugins/verzoek/services/index.d.ts +2 -0
  66. package/lib/plugins/verzoek/services/index.d.ts.map +1 -0
  67. package/lib/plugins/verzoek/services/verzoek-plugin.service.d.ts +15 -0
  68. package/lib/plugins/verzoek/services/verzoek-plugin.service.d.ts.map +1 -0
  69. package/lib/plugins/verzoek/verzoek-plugin.module.d.ts +11 -0
  70. package/lib/plugins/verzoek/verzoek-plugin.module.d.ts.map +1 -0
  71. package/lib/plugins/verzoek/verzoek-plugin.specification.d.ts +4 -0
  72. package/lib/plugins/verzoek/verzoek-plugin.specification.d.ts.map +1 -0
  73. package/lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component.d.ts +24 -0
  74. package/lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component.d.ts.map +1 -0
  75. package/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.d.ts +37 -0
  76. package/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.d.ts.map +1 -0
  77. package/lib/plugins/zaken-api/models/config.d.ts +13 -1
  78. package/lib/plugins/zaken-api/models/config.d.ts.map +1 -1
  79. package/lib/plugins/zaken-api/zaken-api-plugin.module.d.ts +7 -4
  80. package/lib/plugins/zaken-api/zaken-api-plugin.module.d.ts.map +1 -1
  81. package/lib/plugins/zaken-api/zaken-api-plugin.specification.d.ts.map +1 -1
  82. package/package.json +1 -1
  83. package/public-api.d.ts +7 -0
  84. package/public-api.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"valtimo-plugin.mjs","sources":["../../../../projects/valtimo/plugin/src/lib/constants/injection-tokens.ts","../../../../projects/valtimo/plugin/src/lib/constants/index.ts","../../../../projects/valtimo/plugin/src/lib/services/plugin.service.ts","../../../../projects/valtimo/plugin/src/lib/services/plugin-translation.service.ts","../../../../projects/valtimo/plugin/src/lib/services/plugin-management.service.ts","../../../../projects/valtimo/plugin/src/lib/services/index.ts","../../../../projects/valtimo/plugin/src/lib/models/plugin.ts","../../../../projects/valtimo/plugin/src/lib/models/index.ts","../../../../projects/valtimo/plugin/src/lib/pipes/plugin-translate/plugin-translate.pipe.ts","../../../../projects/valtimo/plugin/src/lib/pipes/plugin-translate/plugin-translate-pipe.module.ts","../../../../projects/valtimo/plugin/src/lib/pipes/plugin-translate/index.ts","../../../../projects/valtimo/plugin/src/lib/pipes/index.ts","../../../../projects/valtimo/plugin/src/lib/components/plugin-configuration-container/plugin-configuration-container.component.ts","../../../../projects/valtimo/plugin/src/lib/components/plugin-configuration-container/plugin-configuration-container.component.html","../../../../projects/valtimo/plugin/src/lib/components/plugin-configuration-container/plugin-configuration-container.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/open-zaak-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/assets/open-zaak-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/open-zaak-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/object-token-authentication-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/assets/object-token-authentication-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/object-token-authentication-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/smart-documents-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/assets/smart-documents-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/smart-documents-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/documenten-api-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/assets/documenten-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/documenten-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/objecttypen-api-plugin-module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/assets/objecttypen-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/objecttypen-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/zaken-api-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/assets/zaken-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/zaken-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/objecten-api-plugin-module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/assets/objecten-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/objecten-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/catalogi-api-plugin-module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/assets/catalogi-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/catalogi-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/notificaties-api-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/assets/notificaties-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/notificaties-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/open-notificaties-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/assets/open-notificaties-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/open-notificaties-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/services/object.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/portaaltaak-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/assets/portaaltaak-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/portaaltaak-plugin.specification.ts","../../../../projects/valtimo/plugin/src/public-api.ts","../../../../projects/valtimo/plugin/src/valtimo-plugin.ts"],"sourcesContent":["/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken} from '@angular/core';\nimport {PluginConfig} from '../models';\n\nconst PLUGINS_TOKEN = new InjectionToken<PluginConfig>(\n 'Provide plugin config; an array of plugin specifications.'\n);\n\nexport {PLUGINS_TOKEN};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './injection-tokens';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Inject, Injectable} from '@angular/core';\nimport {PluginConfig, PluginSpecification} from '../models';\nimport {BehaviorSubject, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {PLUGINS_TOKEN} from '../constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PluginService {\n private readonly _pluginSpecifications$ = new BehaviorSubject<Array<PluginSpecification>>([]);\n private readonly _availablePluginIds$ = this._pluginSpecifications$.pipe(\n map(pluginSpecifications => pluginSpecifications.map(specification => specification.pluginId))\n );\n\n constructor(@Inject(PLUGINS_TOKEN) private readonly pluginConfig: PluginConfig) {\n this._pluginSpecifications$.next(pluginConfig);\n }\n\n get pluginSpecifications$(): Observable<Array<PluginSpecification>> {\n return this._pluginSpecifications$.asObservable();\n }\n\n get pluginSpecifications(): Array<PluginSpecification> {\n return this._pluginSpecifications$.getValue();\n }\n\n get availablePluginIds$(): Observable<Array<string>> {\n return this._availablePluginIds$;\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {TranslateService} from '@ngx-translate/core';\nimport {PluginService} from './plugin.service';\nimport {PluginSpecification} from '../models';\nimport {combineLatest, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PluginTranslationService {\n constructor(\n private readonly translateService: TranslateService,\n private readonly pluginService: PluginService\n ) {}\n\n translate(translateKey: string, pluginDefinitionKey: string): Observable<string> {\n return combineLatest([\n this.pluginService.pluginSpecifications$,\n this.translateService.stream('key'),\n ]).pipe(\n map(([pluginSpecifications]) =>\n this.getTranslation(pluginSpecifications, pluginDefinitionKey, translateKey)\n )\n );\n }\n\n instant(translateKey: string, pluginDefinitionKey: string): string {\n return this.getTranslation(\n this.pluginService.pluginSpecifications,\n pluginDefinitionKey,\n translateKey\n );\n }\n\n private getTranslation(\n pluginSpecifications: Array<PluginSpecification>,\n pluginDefinitionKey: string,\n translateKey: string\n ): string {\n const currentLang = this.translateService.currentLang;\n const pluginSpecification = pluginSpecifications.find(\n specification => specification.pluginId === pluginDefinitionKey\n );\n const translation = pluginSpecification?.pluginTranslations[currentLang][translateKey];\n return translation || `${pluginDefinitionKey}.${translateKey}`;\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {combineLatest, Observable} from 'rxjs';\nimport {\n PluginConfiguration,\n PluginConfigurationWithLogo,\n PluginDefinition,\n PluginFunction,\n} from '../models';\nimport {ConfigService} from '@valtimo/config';\nimport {map} from 'rxjs/operators';\nimport {PluginService} from './plugin.service';\nimport {DomSanitizer} from '@angular/platform-browser';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PluginManagementService {\n private readonly VALTIMO_API_ENDPOINT_URI = this.configService.config.valtimoApi.endpointUri;\n\n constructor(\n private readonly configService: ConfigService,\n private readonly pluginService: PluginService,\n private readonly sanitizer: DomSanitizer,\n private readonly http: HttpClient\n ) {}\n\n getPluginDefinitions(): Observable<Array<PluginDefinition>> {\n return this.http.get<Array<PluginDefinition>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/definition`\n );\n }\n\n getPluginFunctions(pluginDefinitionId: string): Observable<Array<PluginFunction>> {\n return this.http.get<Array<PluginFunction>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/definition/${pluginDefinitionId}/action`\n );\n }\n\n getAllPluginConfigurations(): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration`\n );\n }\n\n getPluginConfigurationsByPluginDefinitionKey(\n pluginDefinitionKey: string\n ): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration?pluginDefinitionKey=${pluginDefinitionKey}`\n );\n }\n\n getPluginConfigurationsByCategory(categoryId: string): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration?category=${categoryId}`\n );\n }\n\n getPluginConfigurationsWithActionsForActivityType(\n activityType: string\n ): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration?activityType=${activityType}`\n );\n }\n\n getAllPluginConfigurationsWithLogos(\n activityType?: string\n ): Observable<Array<PluginConfigurationWithLogo>> {\n return activityType && activityType.length > 0\n ? this.returnPluginConfigurationsWithLogos(\n this.getPluginConfigurationsWithActionsForActivityType(activityType)\n )\n : this.returnPluginConfigurationsWithLogos(this.getAllPluginConfigurations());\n }\n\n savePluginConfiguration(\n pluginConfiguration: PluginConfiguration\n ): Observable<PluginConfiguration> {\n return this.http.post<PluginConfiguration>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration`,\n pluginConfiguration\n );\n }\n\n updatePluginConfiguration(\n configurationId: string,\n configurationTitle: string,\n configurationProperties: object\n ): Observable<PluginConfiguration> {\n return this.http.put<PluginConfiguration>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration/${configurationId}`,\n {\n title: configurationTitle,\n properties: configurationProperties,\n }\n );\n }\n\n deletePluginConfiguration(configurationId: string): Observable<void> {\n return this.http.delete<void>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration/${configurationId}`\n );\n }\n\n private returnPluginConfigurationsWithLogos(\n pluginConfigurations$: Observable<Array<PluginConfiguration>>\n ): Observable<Array<PluginConfigurationWithLogo>> {\n return combineLatest([pluginConfigurations$, this.pluginService.pluginSpecifications$]).pipe(\n map(([pluginConfigurations, pluginSpecifications]) =>\n pluginConfigurations?.map(pluginConfiguration => {\n const pluginSpecification = pluginSpecifications.find(\n specification => specification.pluginId === pluginConfiguration?.pluginDefinition?.key\n );\n\n return {\n ...pluginConfiguration,\n ...(pluginSpecification?.pluginLogoBase64 && {\n pluginLogoBase64: this.sanitizer.bypassSecurityTrustResourceUrl(\n pluginSpecification?.pluginLogoBase64\n ),\n }),\n };\n })\n )\n );\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin.service';\nexport * from './plugin-translation.service';\nexport * from './plugin-management.service';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, Type} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {SafeResourceUrl} from '@angular/platform-browser';\n\ninterface PluginConfigurationData {\n configurationTitle: string;\n [key: string]: any;\n}\n\ninterface FunctionConfigurationData {\n [key: string]: any;\n}\n\ninterface ConfigurationComponent {\n save$: Observable<void>;\n disabled$: Observable<boolean>;\n pluginId: string;\n valid: EventEmitter<boolean>;\n}\n\ninterface PluginConfigurationComponent extends ConfigurationComponent {\n prefillConfiguration$?: Observable<PluginConfigurationData>;\n configuration: EventEmitter<PluginConfigurationData>;\n}\n\ninterface FunctionConfigurationComponent extends ConfigurationComponent {\n prefillConfiguration$?: Observable<FunctionConfigurationData>;\n configuration: EventEmitter<FunctionConfigurationData>;\n}\n\ninterface PluginSpecification {\n pluginId: string;\n pluginLogoBase64: string;\n pluginConfigurationComponent: Type<PluginConfigurationComponent>;\n functionConfigurationComponents?: {\n [functionId: string]: Type<FunctionConfigurationComponent>;\n };\n pluginTranslations: {\n [langKey: string]: {\n title: string;\n description: string;\n [translationKey: string]: string;\n };\n };\n}\n\ntype PluginConfig = Array<PluginSpecification>;\n\ntype ConfigurationComponentType = 'function' | 'configuration';\n\ninterface PluginDefinition {\n key: string;\n description?: string;\n title?: string;\n}\n\ninterface PluginDefinitionWithLogo extends PluginDefinition {\n pluginLogoBase64?: SafeResourceUrl;\n}\n\ninterface PluginConfiguration {\n definitionKey?: string;\n pluginDefinition?: PluginDefinition;\n id?: string;\n title: string;\n properties: object;\n}\n\ninterface PluginConfigurationWithLogo extends PluginConfiguration {\n pluginLogoBase64?: SafeResourceUrl;\n}\n\ninterface PluginFunction {\n description?: string;\n key: string;\n title?: string;\n}\n\nexport {\n PluginSpecification,\n PluginConfig,\n PluginConfigurationComponent,\n ConfigurationComponentType,\n PluginConfigurationData,\n FunctionConfigurationComponent,\n FunctionConfigurationData,\n PluginConfiguration,\n PluginDefinition,\n PluginFunction,\n PluginDefinitionWithLogo,\n PluginConfigurationWithLogo,\n};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Pipe, PipeTransform} from '@angular/core';\nimport {combineLatest, Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {TranslateService} from '@ngx-translate/core';\nimport {PluginService} from '../../services';\nimport {PluginSpecification} from '../../models';\nimport {PluginTranslationService} from '../../services/plugin-translation.service';\n\n@Pipe({\n name: 'pluginTranslate',\n})\nexport class PluginTranslatePipe implements PipeTransform {\n constructor(\n private readonly pluginTranslationService: PluginTranslationService,\n private readonly pluginService: PluginService\n ) {}\n\n transform(translateKey: string, pluginDefinitionKey: string): Observable<string> {\n return this.pluginTranslationService.translate(translateKey, pluginDefinitionKey);\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginTranslatePipe} from './plugin-translate.pipe';\nimport {NgModule} from '@angular/core';\nimport {TranslateModule} from '@ngx-translate/core';\n\n@NgModule({\n imports: [TranslateModule],\n declarations: [PluginTranslatePipe],\n exports: [PluginTranslatePipe],\n})\nexport class PluginTranslatePipeModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin-translate.pipe';\nexport * from './plugin-translate-pipe.module';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin-translate';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Component,\n ComponentRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {PluginService} from '../../services';\nimport {BehaviorSubject, combineLatest, Observable, Subscription} from 'rxjs';\nimport {map, take, tap} from 'rxjs/operators';\nimport {\n ConfigurationComponentType,\n FunctionConfigurationComponent,\n FunctionConfigurationData,\n PluginConfigurationComponent,\n PluginConfigurationData,\n} from '../../models';\n\n@Component({\n selector: 'valtimo-plugin-configuration-container',\n templateUrl: './plugin-configuration-container.component.html',\n styleUrls: ['./plugin-configuration-container.component.scss'],\n})\nexport class PluginConfigurationContainerComponent\n implements OnInit, OnDestroy, Omit<PluginConfigurationComponent, 'pluginId'>\n{\n @ViewChild('pluginConfigurationComponent', {static: true, read: ViewContainerRef})\n public dynamicContainer: ViewContainerRef;\n\n @Input() set type(type: ConfigurationComponentType) {\n this._componentType.next(type);\n }\n @Input() set pluginDefinitionKey(key: string) {\n this._pluginDefinitionKey.next(key);\n }\n @Input() set functionKey(key: string) {\n this._functionKey.next(key);\n }\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<PluginConfigurationData> =\n new EventEmitter<PluginConfigurationData>();\n\n readonly noConfigurationComponentAvailable$ = new BehaviorSubject<boolean>(false);\n readonly componentRef$ = new BehaviorSubject<\n ComponentRef<PluginConfigurationComponent | FunctionConfigurationComponent> | undefined\n >(undefined);\n\n private componentRefSubscription!: Subscription;\n private pluginSubscription!: Subscription;\n private validSubscription!: Subscription;\n private configurationSubscription!: Subscription;\n\n private readonly _componentType = new BehaviorSubject<ConfigurationComponentType | null>(null);\n private readonly _pluginDefinitionKey = new BehaviorSubject<string>('');\n private readonly _functionKey = new BehaviorSubject<string>('');\n\n constructor(private readonly pluginService: PluginService) {}\n\n ngOnInit(): void {\n this.openPluginSubscription();\n this.openComponentInstanceSubscription();\n }\n\n ngOnDestroy(): void {\n this.pluginSubscription?.unsubscribe();\n this.componentRefSubscription?.unsubscribe();\n }\n\n private openPluginSubscription(): void {\n this.pluginSubscription = combineLatest([\n this._pluginDefinitionKey,\n this._functionKey,\n this._componentType,\n this.pluginService.pluginSpecifications$,\n ])\n .pipe(\n tap(([pluginDefinitionKey, functionKey, componentType, pluginSpecifications]) => {\n let configurationComponent!: Type<\n PluginConfigurationComponent | FunctionConfigurationComponent\n >;\n\n this.dynamicContainer.clear();\n\n if (componentType === 'configuration' && pluginDefinitionKey) {\n configurationComponent = pluginSpecifications.find(\n specification => specification.pluginId === pluginDefinitionKey\n )?.pluginConfigurationComponent;\n } else if (componentType === 'function' && pluginDefinitionKey && functionKey) {\n const pluginSpecification = pluginSpecifications.find(\n specification => specification.pluginId === pluginDefinitionKey\n );\n configurationComponent =\n pluginSpecification?.functionConfigurationComponents[functionKey];\n }\n\n if (configurationComponent) {\n const componentRef = this.dynamicContainer.createComponent(configurationComponent);\n this.componentRef$.next(componentRef);\n this.noConfigurationComponentAvailable$.next(false);\n } else {\n this.noConfigurationComponentAvailable$.next(true);\n }\n })\n )\n .subscribe();\n }\n\n private openComponentInstanceSubscription(): void {\n this.componentRefSubscription = combineLatest([\n this.componentRef$,\n this._pluginDefinitionKey,\n ]).subscribe(([ref, pluginDefinitionKey]) => {\n const instance = ref?.instance;\n\n this.configurationSubscription?.unsubscribe();\n this.validSubscription?.unsubscribe();\n\n if (instance) {\n instance.save$ = this.save$;\n instance.disabled$ = this.disabled$;\n instance.pluginId = pluginDefinitionKey;\n\n if (this.prefillConfiguration$) {\n instance.prefillConfiguration$ = this.prefillConfiguration$;\n }\n\n this.validSubscription = instance.valid.subscribe(valid => {\n this.valid.emit(valid);\n });\n\n this.configurationSubscription = instance.configuration.subscribe(configuration => {\n this.configuration.emit(configuration);\n });\n }\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-template #pluginConfigurationComponent></ng-template>\n<ng-container *ngIf=\"noConfigurationComponentAvailable$ | async\">\n <v-paragraph [center]=\"true\">{{ 'plugin.noConfigurationComponent' | translate }}</v-paragraph>\n</ng-container>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {PluginConfigurationContainerComponent} from './plugin-configuration-container.component';\nimport {ParagraphModule, TitleModule} from '@valtimo/user-interface';\nimport {SpinnerModule} from '@valtimo/components';\nimport {TranslateModule} from '@ngx-translate/core';\n\n@NgModule({\n declarations: [PluginConfigurationContainerComponent],\n imports: [CommonModule, ParagraphModule, TranslateModule],\n exports: [PluginConfigurationContainerComponent],\n})\nexport class PluginConfigurationContainerModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent, PluginConfigurationData} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {openZaakPluginSpecification} from '../../open-zaak-plugin.specification';\nimport {OpenZaakConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-open-zaak-configuration',\n templateUrl: './open-zaak-configuration.component.html',\n styleUrls: ['./open-zaak-configuration.component.scss'],\n})\nexport class OpenZaakConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<OpenZaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<OpenZaakConfig> = new EventEmitter<OpenZaakConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<OpenZaakConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: OpenZaakConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: OpenZaakConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.clientId && formValue.clientSecret);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [widthPx]=\"350\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"clientId\"\n [title]=\"'clientId' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [widthPx]=\"350\"\n [required]=\"true\"\n [tooltip]=\"'clientIdTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"clientSecret\"\n type=\"password\"\n [title]=\"'clientSecret' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientSecret\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n [tooltip]=\"'clientSecretTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {OpenZaakConfigurationComponent} from './components/open-zaak-configuration/open-zaak-configuration.component';\nimport {FormModule, InputModule} from '@valtimo/user-interface';\nimport {SpinnerModule} from '@valtimo/components';\nimport {PluginTranslatePipeModule} from '../../pipes';\n\n@NgModule({\n declarations: [OpenZaakConfigurationComponent],\n imports: [CommonModule, FormModule, InputModule, PluginTranslatePipeModule],\n exports: [OpenZaakConfigurationComponent],\n})\nexport class OpenZaakPluginModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OPEN_ZAAK_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\n\nexport {OPEN_ZAAK_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './open-zaak-plugin-logo';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {OpenZaakConfigurationComponent} from './components/open-zaak-configuration/open-zaak-configuration.component';\nimport {OPEN_ZAAK_PLUGIN_LOGO_BASE64} from './assets';\n\nconst openZaakPluginSpecification: PluginSpecification = {\n pluginId: 'openzaak',\n pluginConfigurationComponent: OpenZaakConfigurationComponent,\n pluginLogoBase64: OPEN_ZAAK_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'OpenZaak',\n description:\n 'OpenZaak is een productiewaardig API platform die de API-standaard voor zaakgericht werken implementeert (de ZGW-API’s).',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Vul hier het clientId in dat geconfigureerd staat onder OpenZaak-beheer (zie API authorisaties > Applicaties). Dit clientId moet de juiste authorisaties hebben voor de benodigde functionaliteit',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Vul de secret in die hoort bij de clientId hierboven',\n },\n en: {\n title: 'OpenZaak',\n description:\n 'OpenZaak is a production-worthy API platform that implements the API standard for case-oriented working (the ZGW APIs).',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'Under this name, the plugin will be recognizable in the rest of the application',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Enter the clientId here which is configured under OpenZaak management (see API authorizations > Applications). This clientId must have the correct authorizations for the required functionality',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Enter the secret associated with the clientId above',\n },\n de: {\n title: 'OpenZaak',\n description:\n 'OpenZaak ist eine produktionstaugliche API-Plattform, die den API-Standard für fallorientiertes Arbeiten (die ZGW-APIs) implementiert.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Unter diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Geben Sie hier die clientId ein, die unter OpenZaak-Verwaltung konfiguriert ist (siehe API-Berechtigungen > Anwendungen). Diese clientId muss die richtigen Berechtigungen für die erforderliche Funktionalität haben',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Geben Sie das mit der obigen clientId verknüpfte Geheimnis ein',\n },\n },\n};\n\nexport {openZaakPluginSpecification};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {ObjectTokenAuthenticationConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-object-token-authentication-configuration',\n templateUrl: './object-token-authencation-configuration.component.html',\n styleUrls: ['./object-token-authencation-configuration.component.scss'],\n})\nexport class ObjectTokenAuthencationConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ObjectTokenAuthenticationConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ObjectTokenAuthenticationConfig> =\n new EventEmitter<ObjectTokenAuthenticationConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ObjectTokenAuthenticationConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ObjectTokenAuthenticationConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ObjectTokenAuthenticationConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.token);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [widthPx]=\"350\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"token\"\n type=\"password\"\n [title]=\"'token' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [required]=\"true\"\n [tooltip]=\"'tokenTooltip' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {ObjectTokenAuthencationConfigurationComponent} from './components/object-token-authentication-configuration/object-token-authencation-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule} from '@valtimo/user-interface';\nimport {NgModule} from '@angular/core';\n\n@NgModule({\n declarations: [ObjectTokenAuthencationConfigurationComponent],\n imports: [CommonModule, PluginTranslatePipeModule, FormModule, InputModule],\n exports: [ObjectTokenAuthencationConfigurationComponent],\n})\nexport class ObjectTokenAuthenticationPluginModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAAA8CAYAAAC+ej5cAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAAB3RJTUUH5ggRCgE1liNZsAAAAAFvck5UAc+id5oAABALSURBVHja7d15tF11dQfwz+/c+15GMEAYAoggqJi8RIsWJ5AhIQzagriw4oSt7XKoWrQWrcsBqC2tdVm7rNRFi0NbsVLrWC0hL5EiyNACShIiMshMQMCEJDzecO+vf+x733Dfve/e9/IylOa71l153HPPOb+z92/v397fvX+HZNvQhWfjBTgcB2IOvoyfbuO1n2lYhD9AHx7Gnbgd92FwRw9mb7wRl+EX2Iwh5Nq/r9vZ0toFcQr6hYwqQmZ34Bs4G/vsiEGU8Fu4GgO1wTR+BnDGzpbWLohT8LTmMhsUMn0tiu01gFn4BDa1GMTowey2wPEYbYGtPhvxp5gx3Tcv4wKhnIkGsBUP1Qa7G2NxAh4QMppIhv34iGm2xDOFz252w8dxOd6F47EYc3e2tHZBzEGPkNG78U08oblMf42Tp+vG8/BfLW50TW1AXTtbOv8H0Y1luEFz2f5AKH2bcSqeanKDm/H8nS2FZwB6sM54+W7CMe1O7sTPHiMCmNEYxN+IFGI3tg1r8XeoNny/J17Z7uR2CiyLJL0R9+Kqnf3kzyD0iuCvEUe2O7GdArtF0t6Ie/Crnf3UzyA8IiLURuyjTXzRToGFUGIjtgjGZTemBwNCpo3o0kZHU801qmKh3Y3pQTZ+DYTU7sTyzh455O88j4WzeKBKJcXzFPWxV0lD5LK0dN3OHuouh52mwPyjF1MZNDzJ7qtNwKJCtRSeYWCwqqtMjmUg9/ZQKeI3v14oveHftt/4ts7mR8+JBSSVRmyhSPRnTlkrtbWP7Y8drsC8YjGlPKK8WehzoGBwlsjFoVJ+lizpKm8R0dntuA13K1e2yIm918u9i6lWpOW3bfu4rlxCqRKKqiauw8zawYShCqUy1Rwr06oeuTdTLrGxTzrjjh0tSuxgBebexQzuRekJYv19iT5nC9roMOPzzToqgrJbJ6cV+IHsNilXFcWwZaaTb538mFYvZKhMUSUn+st0D+0j6pvPx6GyfZVKs8j9opb3c6zBPYaqg+bOkFcvZqgqLd+xbn6HKTD39sQfXY8jHUZ6P96E/To4vVT73X6CFH6f5Pu4VDXdpMjZ3IPllUPSSZ1ZY758EXunCB2KKjnPktLRuod+W9CDR4hkuhmG8DDpWlHP61XNWxRJ7u2Rlq3dUWLdMQocUV6FweIU/AV+YxsueZAgz09X5K/iYn333y/VrHHpxOtTvnIhdz/M3geSU5eUT5TSuwU3OUdY+x24H4+JOl43DsDzhLd4tihqn45V+Aylq6nk3NtDkaUTt781tluG5+IKvKrh+2/hDcK1TYjcuyhuU6Skmt+KT2P/hp9VhWu6q/bvIJ6FQ/EcrS2hjv/BheQfkCIaaiHAmEyZlMiei/PwZmFVq/FD/DfuJ20xNGtQ91NsOoY9runGfByFs0QBtk50PIpPSy6W9YV0K9LS9Z3oYQa+h+UN318hiuP9rU7crhYYyoOCavWNgj8dzewM4lp8XVSkH5Byn0JWSWVRCTlSEOqv05zWg5fin0ifxeewWZV81VHS8Tc3KA+5jMrJYjIdUrv/paRbyAOjnoByX0zTPX6MNCCCqodqwj1G1O6WC/d+kexAfBJb4j7bF+3ukDRP9jtL4nOq2Xj15fhLY5V3V02Al4tKdOPVB8SsflQurpaq/4DfE41BzdbNeTXBHR5CTRsMPS33LpGW3RoBlEzKBZW3488FGf9B0lXk8CYpMzSD7j2lE64a/0irn0t1DvKQ4IPX4GN4j3Czf4R+0vnkgQ7XxHoFopn8J/SS7VzofOFWFjd8/5WaMFsqMq9eQrWKNI98mbCiOn6MD0jpJjlTrjBUlpatGXuNHx7BjJlxm5wYyEl3Og6fMt6tj8b38T7cK9XOhZQKOb8LH8e/4iIxSeJJyoV0QmeRbF61mFwNEWYzJZ/En4iA66lQaPpqjL1bOunmiS5XFsHQmQ3fXy8i9CdbndiOSnuOaBVsxC+1s8JZB9cf9QwRHNRxHX4fN6lWyFk6fv045UE67U5p6VrK1bhbV8pi1p+Nf9GcfiIar76IQ4aVV8nk/LaakC8inYdHZRRJOmltx8qDtHQN1VrrSvK0CMy+WTs8Gx8mHxFSHmh3uSFRIGjEIS3kP4x2CjzT+Ha3PlFFnhhb7yOCj7cZYdQfqgnwF/qeRiGd1D5SS8etl05aG+F+tSCiw/eKOlorUv0U/K26uy2lE/EhfEq1/Hly9GIWJenENaaCtPxmrlmrFvJuFkq8t3b4hTin5RQbj+uN7w89UES5LTGRAl8v1ptG3KCNAvPqhfU/X4SXjDp0iVRcC2bPDKVMRmBLb2NmpW77m/BRfF7raPgM/JngVApcpJq+pBjKJGnZWmnpzyY1hnFjOh9PDHu4WzGa3ztT4SCZfMfe7S51NZoN5n04rdVJjQqcjSVigf8i9m04/rgIPDZO/FTDS+vLjKQA9+LrsW7kcI1TEdir1zE4XCLbKlod/3GCU34X7zVnXq+cvqbIGU1d9lSRzrrXqBXle0bWrCNwNLjrkHaXeaQm28b17iBcivNF+8Xs0QfLwhXtjQWCOlpkfJ5G5GcfFeHzxKgkUk5yWjjq2+tId4O+bWt7TKfdIv94cZDKUUf7mHCVzfpRu3CerRtvkaySC/bYMom7dYiBvejeyEi7fI+ISl8q+bbUUfn0W8JoLhABZB0HiAj7naJ/5g6hjyfKwm/vMcFFHxeR6Ofwk44fKKcuY8P9n5KHHEDquWmb5ZWOXRN5XVSfHhNr68H4zSY/37cmgHVSdYPNsydxpw7Hc9o19TxzMzYIBcLhqkpK7UkPsRT8PdaLdOQ4kR7VcUDts7T235sLrSO5G/DHOEkwFZ0rL1AYCV6ymDHNGwemKrRla6NKMHsI+S7Bqjzc4ufH4jxZl1Qj1rcPKsYyJ3tJk2q7zPgRfkcQBB/BLS1+Wy20zgXni/yvR2eE86ghZHKuCA6xPqiYgcX0bsRJJ69nS3c8Ri6uwl9pvdvnnZJz5Mibh5mZ6URWNrafs6SDynoTHCSCwB7N+5IgFWK2NDPvw/F2kbT/J96h4579xIK5g0Y6rQp1n16a2dklJoG0vJa/BQ16qQgkmmE2LpTSMOeYr5weJebvPq/+6HuJeKKOrTrgjEdhHj6MFbgEbxH5eCMqovjlbLEGLsBC0YtYX4AJ4S/GF0RUdYERy2qO/q2xCkRYXUePoprk7dVLU2edqltE6vBiMQkbsUDkh+fgRjnJKxdLJ21jVDp3ZniekOHBo448KHUN1NPONtinNrY3GW+1/SLNuF6skRuwuSxKIaMxH68Rvnd0X+IMfFCwMJdMOIzysKHeINoP98UrVIsD8WBe2TPpHHAi5FW19SxXkPYSzbKfFKlQs30aR4pg4R1K+ackuXfxlFOLfPWicNqpSHL1dGNd6Bp5kC1tFVgIouHNTY7dKmi/K8V+ijEnNeIxfFW4z7sajnWLtGNCeied8vP6n7cJ3rMutNfGE9daK6YBuXdRfc1FegX+GUdK+TJ8Vmv3dZRwt0fXueTc2yNfftbk7r96Cf2pNobqywQBMlqWN4IZpXaXWihYq0asxVsFd/tE48GJmJgbhNtsdHkvNDGRHCiVCFd7qQitS4Kxf64CpSyvWDIpYY0T3qrFtWUcvAIXi0l3t5wy6a9r92+Fo8RkPbVeRrT3evmKF+gE+colYfXh7PYTVn/AqJ9cJyaxdGrbToHjjTeMikjfWpK07bjQK9XZ+hGUjaXHmqNveJnsFfU2guW5QJ2dKVXlnxzRkbDGCu6FkQbkzIaHCMv+slgjPkGtoCpvEeTD1ya43JH4ilycq+5uy11y7yJ51cLm91/9/Ihgi0q90rE/PmPsvsg+EQD2qXYUhDabzQ+IHLwl2tUDHxaLZSMzc5BQfkuqNp12ez1MHxD+u0cESGeL/W8fxyZ9s+VVi4Pdb4NhpdWyd+xp/wXvwgfwH7IPSzaBLf3MnUEQEeeKVeoczUP6/QSNdWwoIt9IqshJXtVDuZtqH09uZs6zDCuk3M/QzJcLmqtxP9931VmrcltGu8tYyx2twAm3MLRT4KAIgxsxSye5TSkzmEjukbxfuLMX4Q9FYHO+XLk9gohaq0M1j2kTzCsWUi5HOUiu665LuPHzBN/6BdHOEBxZniGdsTZcXFEl1qJzxRryHiMNg41CPBPHkL4j6nO3SOWNBgcyJebMqz12nouFhma+QUSMCxqutU5Ewk+hk96YQvMUre0Whu3fE7N6Udhp9KC8WPj042qH19eE/+/qiUfLkWZymifI4beImt+DYvZ/e3gs/aTXjES4wz05gRkin/1YE6E3YnNtfD8TkfcmMXGfLdzdEs3fLHGfqHeuVInem7S8bcQ95Z6Y7a5AyCsXoQglhPv9kHBnewlfeKsgC66pCevJ2vczBQtxmOh7OU7kpE+KaPNi0i/rcVar1oX8wyPorhldV8Fg9VixVp5oevei/xznKllRt5sO06VdW4HUIsZqtVZqymXSsaLeuMxI2WpIuLn6iwBmioBnjnDnvxDtEt+Q3SrJqgOkro4Kw7m3J64aT72PmETvtO07jYfEBPyEXHvBUdaJ5dWxa3aljUZaumaUJaQhQdheK4KbE/BywZzMq42rX1Bx14vGoetxi0p6RCmPTL2hqnRaZ/2XadnacOmVgpQfl31W8j2xjp0lItLJyGRIeI9LRJ62SUqkqdc7J4sd2lqfTrsT9XWpUGvhu7n2KQtrmyspyfqFJW6VDA1no/WIrti3addY2zGcuE4+H8cOl6LulF0ouVS46OUiTTpYeKDRMsoiMNlQG/P3sVKyYXh82TOvM3ucEJeFxeQVSyglUpncX3ef49gGTw9GJFoyLVvM0vmwVl55VDQchSIfxGWSb8jmCwL5EJFizBLLxa9FkHK38A7Bjw2gnFi2ZofvWNqp+wOnshllWu8/qtUvX9HD/Cqbiopob3hEnQZrhT0P48l7pFOnrz1jstglNnjuCkinjHV7+epj2CPz+OYgD4pMUeLx2bz+upql7ThX2Qq7FdgC6dXX7OwhdISp5kBTrTLvRnMkIdNGtK2dtlPg6LaI0dhT87dX7MbUUM93G9GqW2IY7RTYrzmZeqjJ9snsxkRYYGwVv45HteFC2ymwKojZRhwiutV2Y3pwqubViGmJko4zwk2O/qwX/ORubBteJfLKRvn+Sid11w4wRzAOzV6JeJtovdjtTieP/QUXfIfmsv26DuKMTiPJE0R9bN8mxwaFIm8UbeWPCJ7zwZ0toV0MC0T14wDBuR4t+mCapXIPit6a9rvAJoF3a/3W3sZXBp8+xXs8k3GyaLNoJ7+NwqtNO0pip099K06rz+631jfHRG+tr39+KdoKt9ub64lOrq+IEHe3AjvHRAp8FF8S7SaTwlSotJvF4rtElF5eKd6dMl+w9q027P9/R31yV4QrfUz831uuFd1/PzOFV3hOBx02U0ShC2r/zhE7me7b2RLbxXCQ6Hp7SljcwyLge3pbLvq/tzlrRmlpAg8AAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDgtMTdUMTA6MDE6NDQrMDA6MDBT+iFgAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTA4LTE3VDEwOjAxOjQ0KzAwOjAwIqeZ3AAAAABJRU5ErkJggg==';\nexport {OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ObjectTokenAuthencationConfigurationComponent} from './components/object-token-authentication-configuration/object-token-authencation-configuration.component';\nimport {OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64} from './assets/object-token-authentication-plugin-logo';\n\nconst objectTokenAuthenticationPluginSpecification: PluginSpecification = {\n pluginId: 'objecttokenauthentication',\n pluginConfigurationComponent: ObjectTokenAuthencationConfigurationComponent,\n pluginLogoBase64: OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64,\n\n pluginTranslations: {\n nl: {\n title: 'Object token authenticatie',\n description:\n 'Auhenticatie met behulp van tokens voor gebruik door de Objecten API en Objecttypen API.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plug-in te herkennen zijn in de rest van de applicatie',\n token: 'Token',\n tokenTooltip:\n 'Het token is een sleutel waarmee toestemmingen verleend zijn om specifieke objecttypen en objecten te mogen ophalen',\n },\n en: {\n title: 'Object token authentication',\n description: 'Authentication using tokens for use by the Objects API and Object Types API.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n token: 'Token',\n tokenTooltip:\n 'The token is a key that grants permissions to access specific object types and objects',\n },\n de: {\n title: 'Object Token-Authentifizierung',\n description:\n 'Authentifizierung mit Token zur Verwendung durch die Objects-API und die Object Types-API.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n token: 'Token',\n tokenTooltip:\n 'Das Token ist ein Schlüssel, der Berechtigungen zum Anzeigen bestimmter Objekttypen und Objekte erteilt',\n },\n },\n};\n\nexport {objectTokenAuthenticationPluginSpecification};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take, tap} from 'rxjs';\nimport {SmartDocumentsConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-smart-documents-configuration',\n templateUrl: './smart-documents-configuration.component.html',\n styleUrls: ['./smart-documents-configuration.component.scss'],\n})\nexport class SmartDocumentsConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<SmartDocumentsConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<SmartDocumentsConfig> =\n new EventEmitter<SmartDocumentsConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<SmartDocumentsConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: SmartDocumentsConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: SmartDocumentsConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.password &&\n formValue.username\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [widthPx]=\"350\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"username\"\n [title]=\"'username' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.username\"\n [required]=\"true\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"password\"\n type=\"password\"\n [title]=\"'password' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.password\"\n [required]=\"true\"\n [widthPx]=\"350\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {\n FunctionConfigurationComponent,\n FunctionConfigurationData,\n PluginConfigurationComponent,\n PluginConfigurationData,\n} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {DocumentFormat, GenerateDocumentConfig, SmartDocumentsConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-generate-document-configuration',\n templateUrl: './generate-document-configuration.component.html',\n styleUrls: ['./generate-document-configuration.component.scss'],\n})\nexport class GenerateDocumentConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GenerateDocumentConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GenerateDocumentConfig> =\n new EventEmitter<GenerateDocumentConfig>();\n\n readonly FORMATS: Array<DocumentFormat> = ['DOCX', 'HTML', 'PDF', 'XML'];\n readonly FORMAT_SELECT_ITEMS: Array<{id: string; text: string}> = this.FORMATS.map(format => ({\n id: format,\n text: format,\n }));\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<GenerateDocumentConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GenerateDocumentConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GenerateDocumentConfig): void {\n const valid = !!(\n formValue.templateGroup &&\n formValue.templateName &&\n formValue.format &&\n formValue.resultingDocumentProcessVariableName &&\n formValue.templateData?.length > 0\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'generateDocumentWarning' | pluginTranslate : pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"templateGroup\"\n [title]=\"'templateGroup' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.templateGroup\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"templateName\"\n [title]=\"'templateName' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.templateName\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"resultingDocumentProcessVariableName\"\n [title]=\"'resultingDocumentProcessVariableName' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultingDocumentProcessVariableName\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'resultingDocumentProcessVariableNameTooltip' | pluginTranslate : pluginId | async\"\n [required]=\"true\"\n >\n </v-input>\n <v-select\n [items]=\"FORMAT_SELECT_ITEMS\"\n [margin]=\"true\"\n [widthInPx]=\"150\"\n name=\"format\"\n [title]=\"'format' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.format\"\n [required]=\"true\"\n ></v-select>\n <v-multi-input\n name=\"templateData\"\n [title]=\"'templateData' | pluginTranslate : pluginId | async\"\n type=\"keyValue\"\n [disabled]=\"obs.disabled\"\n [defaultValues]=\"obs.prefill?.templateData\"\n [margin]=\"true\"\n [required]=\"true\"\n [tooltip]=\"'templateDataTooltip' | pluginTranslate : pluginId | async\"\n ></v-multi-input>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {SmartDocumentsConfigurationComponent} from './components/smart-documents-configuration/smart-documents-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {\n FormModule,\n InputModule,\n SelectModule,\n MultiInputModule,\n ParagraphModule,\n} from '@valtimo/user-interface';\nimport {GenerateDocumentConfigurationComponent} from './components/generate-document-configuration/generate-document-configuration.component';\n\n@NgModule({\n declarations: [SmartDocumentsConfigurationComponent, GenerateDocumentConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n MultiInputModule,\n ParagraphModule,\n ],\n exports: [SmartDocumentsConfigurationComponent, GenerateDocumentConfigurationComponent],\n})\nexport class SmartDocumentsPluginModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst SMART_DOCUMENTS_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\n\nexport {SMART_DOCUMENTS_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './smart-documents-plugin-logo';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {SmartDocumentsConfigurationComponent} from './components/smart-documents-configuration/smart-documents-configuration.component';\nimport {SMART_DOCUMENTS_PLUGIN_LOGO_BASE64} from './assets';\nimport {GenerateDocumentConfigurationComponent} from './components/generate-document-configuration/generate-document-configuration.component';\n\nconst smartDocumentsPluginSpecification: PluginSpecification = {\n pluginId: 'smartdocuments',\n pluginConfigurationComponent: SmartDocumentsConfigurationComponent,\n pluginLogoBase64: SMART_DOCUMENTS_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'generate-document': GenerateDocumentConfigurationComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'SmartDocuments',\n description: 'Automatiseer documenten met slimme templates.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n url: 'SmartDocuments URL',\n username: 'Gebruikersnaam',\n password: 'Wachtwoord',\n 'generate-document': 'Document genereren',\n templateGroup: 'Template-groep',\n templateName: 'Template-naam',\n templateDataTooltip:\n 'De rechter value-kolom ondersteunt ook het gebruik van procesvariabelen zoals pv: en doc:',\n format: 'Documentformaat',\n templateData: 'Template-data',\n resultingDocumentProcessVariableName: 'Naam procesvariabele voor opslag document',\n resultingDocumentProcessVariableNameTooltip:\n 'De locatie van het gegenereerde document wordt opgeslagen in een procesvariabele. Deze procesvariabele kan gebruikt worden om het document te verwerken in een andere BPMN-taak.',\n generateDocumentWarning:\n 'Deze actie genereert een tijdelijk bestand. Het verwerken hiervan moet door een andere actie worden gedaan.',\n },\n en: {\n title: 'SmartDocuments',\n description: 'Automate documents with smart templates.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n url: 'SmartDocuments URL',\n username: 'Username',\n password: 'Password',\n 'generate-document': 'Generate document',\n templateGroup: 'Template group',\n templateName: 'Template name',\n format: 'Document format',\n templateData: 'Template data',\n templateDataTooltip:\n 'The right value-column also supports the use of process variables such as pv: and doc:',\n resultingDocumentProcessVariableName: 'Process variable name for storing document',\n resultingDocumentProcessVariableNameTooltip:\n 'The location of the generated document is stored in a process variable. This process variable can be used to access the document in another BPMN task.',\n generateDocumentWarning:\n 'This action generates a temporary file. It needs to be stored in a following task.',\n },\n de: {\n title: 'SmartDocuments',\n description: 'Automatisieren Sie Dokumente mit intelligenten Templates.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n url: 'SmartDocuments URL',\n username: 'Nutzername',\n password: 'Passwort',\n 'generate-document': 'Dokument generieren',\n templateGroup: 'Templategruppe',\n templateName: 'Templatename',\n format: 'Dokumentformat',\n templateData: 'Templatedaten',\n templateDataTooltip:\n 'Die rechte Wertespalte unterstützt auch die Verwendung von Prozessvariablen wie pv: und doc:',\n resultingDocumentProcessVariableName: 'Prozessvariablenname zum Speichern des Dokuments',\n resultingDocumentProcessVariableNameTooltip:\n 'Der Ort des generierten Dokuments wird in einer Prozessvariablen gespeichert. Diese Prozessvariable wird verwendet, um in einer anderen BPMN-Aufgabe auf das Dokument zuzugreifen.',\n generateDocumentWarning:\n 'Diese Aktion erzeugt eine temporäre Datei. Die Verarbeitung muss durch eine andere Aktion erfolgen.',\n },\n },\n};\n\nexport {smartDocumentsPluginSpecification};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n map,\n Observable,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {DocumentenApiConfig, DocumentStatus} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n selector: 'valtimo-documenten-api-configuration',\n templateUrl: './documenten-api-configuration.component.html',\n styleUrls: ['./documenten-api-configuration.component.scss'],\n})\nexport class DocumentenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<DocumentenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DocumentenApiConfig> =\n new EventEmitter<DocumentenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<DocumentenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory(\n 'documenten-api-authentication'\n ),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: DocumentenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: DocumentenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.bronorganisatie &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate : pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"bronorganisatie\"\n type=\"digitOnly\"\n [title]=\"'bronorganisatie' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.bronorganisatie\"\n [required]=\"true\"\n [widthPx]=\"150\"\n [tooltip]=\"'bronorganisatieTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [tooltip]=\"'authenticationPluginConfigurationTooltip' | pluginTranslate : pluginId | async\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {\n FunctionConfigurationComponent,\n FunctionConfigurationData,\n PluginConfigurationComponent,\n PluginConfigurationData,\n} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {StoreTempDocumentConfig, DocumentLanguage, DocumentStatus} from '../../models';\nimport {TranslateService} from '@ngx-translate/core';\nimport {PluginTranslationService} from '../../../../services';\nimport {ConfidentialityLevel} from '../../../documenten-api/models';\n\n@Component({\n selector: 'valtimo-store-temp-document-configuration',\n templateUrl: './store-temp-document-configuration.component.html',\n styleUrls: ['./store-temp-document-configuration.component.scss'],\n})\nexport class StoreTempDocumentConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<StoreTempDocumentConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<StoreTempDocumentConfig> =\n new EventEmitter<StoreTempDocumentConfig>();\n\n readonly CONFIDENTIALITY_LEVEL_ITEMS: Array<ConfidentialityLevel> = [\n 'openbaar',\n 'beperkt_openbaar',\n 'intern',\n 'zaakvertrouwelijk',\n 'vertrouwelijk',\n 'confidentieel',\n 'geheim',\n 'zeer_geheim',\n ];\n readonly confidentialityLevelItems$: Observable<Array<{id: string; text: string}>> =\n this.translateService.stream('key').pipe(\n map(() =>\n this.CONFIDENTIALITY_LEVEL_ITEMS.map(confidentialityLevel => ({\n id: confidentialityLevel,\n text: this.pluginTranslationService.instant(confidentialityLevel, this.pluginId),\n }))\n )\n );\n\n readonly LANGUAGE_ITEMS: Array<DocumentLanguage> = ['nld'];\n readonly languageSelectItems$: Observable<Array<{id: DocumentLanguage; text: string}>> =\n this.translateService.stream('key').pipe(\n map(() =>\n this.LANGUAGE_ITEMS.map(item => ({\n id: item,\n text: this.pluginTranslationService.instant(item, this.pluginId),\n }))\n )\n );\n readonly STATUS_ITEMS: Array<DocumentStatus> = [\n 'in_bewerking',\n 'ter_vaststelling',\n 'definitief',\n 'gearchiveerd',\n ];\n readonly statusSelectItems$: Observable<Array<{id: DocumentStatus; text: string}>> =\n this.translateService.stream('key').pipe(\n map(() =>\n this.STATUS_ITEMS.map(item => ({\n id: item,\n text: this.pluginTranslationService.instant(item, this.pluginId),\n }))\n )\n );\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<StoreTempDocumentConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: StoreTempDocumentConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: StoreTempDocumentConfig): void {\n const valid = !!(\n formValue.localDocumentLocation &&\n formValue.taal &&\n formValue.status &&\n formValue.informatieobjecttype\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"fileName\"\n [title]=\"'fileName' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.fileName\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'fileNameTooltip' | pluginTranslate : pluginId | async\"\n ></v-input>\n <v-select\n [items]=\"confidentialityLevelItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"200\"\n name=\"confidentialityLevel\"\n [title]=\"'confidentialityLevel' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.confidentialityLevel || CONFIDENTIALITY_LEVEL_ITEMS[3]\"\n [tooltip]=\"'confidentialityLevelTooltip' | pluginTranslate : pluginId | async\"\n ></v-select>\n <v-input\n name=\"title\"\n [title]=\"'inputTitle' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.title\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'inputTitleTooltip' | pluginTranslate : pluginId | async\"\n ></v-input>\n <v-input\n name=\"description\"\n [title]=\"'inputDescription' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.description\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'inputDescriptionTooltip' | pluginTranslate : pluginId | async\"\n ></v-input>\n <v-input\n name=\"localDocumentLocation\"\n [title]=\"'localDocumentLocation' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.localDocumentLocation\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'localDocumentLocationTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"storedDocumentUrl\"\n [title]=\"'storedDocumentUrl' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.storedDocumentUrl\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'storeDocumentUrlTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <v-select\n [items]=\"languageSelectItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"200\"\n name=\"taal\"\n [title]=\"'taal' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.taal || LANGUAGE_ITEMS[0]\"\n [required]=\"true\"\n ></v-select>\n <v-select\n [items]=\"statusSelectItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"200\"\n name=\"status\"\n [title]=\"'status' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.status || STATUS_ITEMS[2]\"\n [required]=\"true\"\n ></v-select>\n <v-input\n name=\"informatieobjecttype\"\n [title]=\"'informatieobjecttype' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.informatieobjecttype\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'informatieobjecttypeTooltip' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {Observable, Subscription} from 'rxjs';\n\n@Component({\n selector: 'valtimo-store-uploaded-document-configuration',\n templateUrl: './store-uploaded-document-configuration.component.html',\n styleUrls: ['./store-uploaded-document-configuration.component.scss'],\n})\nexport class StoreUploadedDocumentConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n\n private saveSubscription!: Subscription;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.emitValid();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private emitValid(): void {\n this.valid.emit(true);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n this.configuration.emit({});\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [center]=\"true\" [fullWidth]=\"true\">\n {{ 'storeUploadedDocumentMessage' | pluginTranslate : pluginId | async }}\n</v-paragraph>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DocumentenApiConfigurationComponent} from './components/documenten-api-configuration/documenten-api-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/user-interface';\nimport {StoreTempDocumentConfigurationComponent} from './components/store-temp-document/store-temp-document-configuration.component';\nimport {StoreUploadedDocumentConfigurationComponent} from './components/store-uploaded-document/store-uploaded-document-configuration.component';\n\n@NgModule({\n declarations: [\n DocumentenApiConfigurationComponent,\n StoreTempDocumentConfigurationComponent,\n StoreUploadedDocumentConfigurationComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [\n DocumentenApiConfigurationComponent,\n StoreTempDocumentConfigurationComponent,\n StoreUploadedDocumentConfigurationComponent,\n ],\n})\nexport class DocumentenApiPluginModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst DOCUMENTEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHMAAAA8CAYAAABVTYVfAAAACXBIWXMAABG3AAARtwGaY1MrAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAADuxJREFUeJztnX10VdWVwH/73pBAAmUoiEASgpWOWsdx1MGRQQYxKeo4OpZK6rQVk6BSrcupVUjiV9/qdAzRjp3iaEVNXkQdK0rtGluQj4RYrTpq/Si1Bb/4yEukoIgCAZLcu+ePlxCSd857930E1MlvrbcWufvcvXey3z33nH32OQgDSWhdFkUnHoPXMZEsmQiMRskD8hB1BtR2qqjuobww1OdauOUk4HxExgTTIZ2g7Sh7wN+G425ln7+ZqwpbM+9wL5JxjQ+0FeHoHIRi0OlAXsZtDCw7KC8Ye/CnB1vOw5dfARn48sk2oBHR1Xg5TzLvqN3p6zxEe0a0hDSLokgpKpcjzCAjv/gRo28wwy2/AZk+AHbageWo3EtF/vOZUJheMJe8MoTso8tAqoAvZcKhTwH9ghnZCPzlgFpU1uHyb1xWsC4dNak/QeG26eSMexXkPj4/gTSxdsAtCDPxaSIcWU59a2GqapIP5pK2XBpa7wf/GZS/StXwZ4fOm4DGw2RsNo7+kXDkO6ncnFw3u7TtBDx9HPTEJO7aDfoCyJ9QeQfRP4PuRZ2O5FzNNDoU4SmDoG83C6AqNEQmo05RINUiwxEvD3UmgH8cyEkIp6JkJeHgz/FzrkxmkBQ8mPWtJYj+AhgRoPX7KP+Ny3I25b9MSLoC2zlcLN2Wh9e1xyCJDWYmqNsxArdjJviXoHIRMCzhPcIfED2Xy4JNaYIFMxyZAzwE5CRo+TpCDbn5yykVL5DuI8XhDuahLHl3JNnZV4FcBySytRmHc7is4K1EahMHM9x2EfhPAG6cVm0g11M24TFENKHOTwNHMpg9LGnLJdu/CbgByI7Tsg3caZSP3xxPXfwBUMPWfwD/UeIH8kGGDDuB8vyff2YC+Wlh/oR2ygtuwnX+Bng9TssJ4D3Nkra4GSj7k7m0bSKe/xrwRUuLA8B3KC9oSODyp5PwpqHIENMA6GPKCi4+Iv6QvRj0ijitniEvv9j2CjMHM6RZFLU2A9OMcmEPOF+nbMLqJF0eJBHhlkqQGmyxUf0hFYU/MInM3WxR663EC6SvJYOBHCDKC2sRFljlIjdT13amURRzpa71OBx9A/PItRNx/mkwkIeB+pZaRBZapOvZkn9q/ylf7JPp6F3YpyBVg4E8TGwtqAa1/a1Poqj12v4X+z6Z9S0zEGm2KPg1ZfkXDI5YDyNLt43F894AHRcjEz7AyZrE3HF7ey71TS+J3GRR2w7uNXEDOa12BDn+uWahs4WmypcSew+cWTOKbEqMsiE5jaz6/k6KbxuNytlWHQ7vsLb6tbh25ixz+fDd2THXxemksfKXgXwFmHVHHr53FlCCciowpvvjAbuAj0BfR51XyOpcy+qbWwLrnjtuO+GW60EeiZEpY+jquhL4yUHXDwrrIifj2OY6Wk154aK4hkMhh2dz3gMx5S83M33/sYRCfsJfoKRmASq3GyTbyc6dyMprD1BSewaqL8TRsp0DejzPVX9kbXFBKJf2oXsNkk9orBqZ0M/zbjuKDud7wDXAFxK2j+IBT4FzJ40Lnw14D4Qj64CzDJJW8vKLeqYqve9Ml8ssqj6kPee/EhoMhXxEHrBIJ/HssBkJdQColJuvU8/Kaw8E0gFjGercFrBt8pQs+mc6nLeAGwkeSIgmXy4C/xnOXnQf5y1OlB6NohqySPLZ03KwF4sGM6RZKN+03PBTvjvWlPaKRaQeMCfVxTcH6VCKb5sKnGCQ+Pi6JJAPPaheydm1pyd1TxBKakIoTwJ/kYYWQbiCjvYfBmpdUfgMwnNmTe6lPf+MBnNiZBpwtKGph6P1gV1cU9kG/NooU5nNtNoEKy5uhfm6rqC5enNgP6I4OHoPc5bFS0UmR3HtPFR+QGbKbV5mv/wocGsfS6+nFxLSLOgJpjDToqIp6PJLr1H/Poskj6GUWu+bdUce6DeMMpF7k/KhB+U0Ptx0VUr39qe4ZgpoIj86QF4AngSeAl7C3FNtJNs/n99WBi/o2pe9HDC940dwTOsU6H1nmkeGor8KbKyHMZNXAVvNQi2z3uf5F2NeK93MmftXJu1HD6I/4qzbY4f2ySuqpf/o/6CIj1C5jv0yhsbKv6exajaNVRfSWPV3CGMQXQh83N06gmadw8obdyRlPvqqe8Yo86MPY/eTKacYG3VpU1IGAR4v9YA6i3QaX739y2aRWrpYuS/QKNjOSFzvx2ncD8W1M8Hae22iS0+nqfI/jU/a2qqPWVt9ByJTEX6Hz7k03bAlJT9UbAVfpwE41O0YgTI8RizsYV7hm6kZ7arD3L0I6sWOms+qmQyYyhkP4Dq2L0YSyDe7A5IaqnMskg4cZzbN1e8k1LG28k+srZzCuqrU/qYAKi+aBXIcgIN2mpe4lLdSzvY03dyK6AqzXmcuoVDfNKIr5ZgGFcpyVi/YnoTljcBOw3VB9R7mhOItANsRzjdeVx5kzcJ465D9FaWXPetig1mgk0ElC6czz7j2rCT+tsVD3fvBv9AgKOTZYcXAGiCaidn53lyjDoefJWdTPsDx70QldhojHM/OYdcDNUnpLP73o4GJRpk4D9nvW/Qo0UxQfDznUpoXbgvky/wJHxCOfAz0T2rkEGp2HcS3fVt3BTJg44uTVoKYU1d6yEDow/dmAQWGVutZW2WeW8XjzAMPAJbuSG/mrJpJySnMNk3ZADx2jbTYiXoClCT8ZEviwq6+mOPylbGOA+4Qo9AxDoOD83iph1oGQsLXKFk0svvftoFPatORUMhH9GqiqbP+5OLK4qT0SZe5HkjZye/mdybvYJoI5ulM5Auug5tl7sc1AxNjnzrMf9RhoN+g+LbRwAUG+R6y9z2cst211a+B3m2RXsDMWkP3b0Fcc8AE80Mw0PiWeqxRXeqgrqUYWYPUx8anuTICap4jqlMGzrcxrZ0qD7Ey9ElatrMP3AK0GWWOv5jdw3MD6ZGuP1skIxNntAYAx1K33DHJc/A9W2X56IwYV7FkhHQq0RLDWMRNrYs9lJWhT0C/bxZKEW7nLYH0+M77gKn3ErKtc0+IJk7eO+QTLL8dD1VBLQV2o/AdHM+WUsrMzqfRX1oBRCxS08DnORoX/D4jthurH6Nn1ByDfDeQjrVVH2Mrg3Swpwobq6bRWHXswQ8kn03rT7itADD1KLspFc9hmHFeBshklryS/nvh8VIP0eATf9V70rZ5KJ5eDew3SIIn4G1zZvRcihd9OyW/UsER04oSiGwEcCgt3IfwgaFJNjnjM7OE5Hi2gVB/tpOT94uM2Owhmp0xLXYHx9GHsfu/hJKar6elPyjqG6vyULqDGcU8X1K1l2YkQ7RU4umE7ZJbgA6Ot78GeDfl+1ffuAFosEhzUXmC4kVPcnbNrD4LzlPvHEbx7dMprrkb+MeU7fdijodG4+d0/2BO4Cpfy4ADUXzbQKi3BVluojap0RzaD3pNWjocuRWIl1q8CJFVdLTvp3jRB5Qs2kluRzv4vwG5muQqEmKp2zoBOMMoy5JG6Ammb9lMKpzSfdJG+ui+FUCctVFdweoFmzJiy0Rj9dPAEynfv6ayrfvLbXr/9mc0yqiUbZlwnX/B/J5v49LxG6AnmPMK3gBbEleuzogzzaEuiFe14CZXFpIKnlwHlgxKEJqqnkeZjWAvFBsIlqmLMt8m7VkQ6V29EGwZl3IebMnPiFM6xDYQ2hzN5Q4wzZURIJSWjqaqlTjuaaj8Nk1vdgM/JWevLSnRS3vkEsC8Dqy9yf7eYPqyFDClrnLw5NYkHTXTdMMWRFbFCuS+7kXtgcfbvxg0vXns6gWbaKo8E9VzgCaCjdQhunNuDcK1CIU0Vn2Pp0Ltce9Y/HZOd92RidepmPBqzw+9ZRAV+S2EI48AZTG3CJcTjoQpL4i3ShCMvUMuxj0wtM+1rP3JdX1d+16hKyc2E6IBtts3h7qYeucZMT4c9GVo8DXHpurVwGpKFo1EZSboKaBjUBmDI4KvuxDZhejbqLMBV15l9YLkFjBGDFuI7amUvst5fZPp0U1Db2J80cqbdMjpzJ8Q/5s0SOaIFqa/CJi+eBvYkn8iITlYUtN3xX9e/kawlvSdSLZ3V+Y8HSQudTtG4LAMcyBBpPLQQIJpF5inNwKWyjGpINxq3zs4SGZY8soQnI5lWPPj8jRl+f/T/2psMC8v3InaVhsAtJaG1nmp+jlIAkKaRfb4BlDLJiz9BNc1ThfNO6crCh9GWWoxJ6jeH92uPUhGWfx2DpNaHwW1bRUB4WrmjjMmV+IcULEtD6/zJZCv2K3L/eT5/0pp4b7gHmeAZduHs7fDUGgtL1Geb/lGf8pZuu0YvK7HgCnWNsLPKCuwJnHsR8fMHbcX1z2P+Cm4K9grL1LfdmoQfzPGbhFgVOwnA9URR4KGlm/hdb1KvEDCCjbnx+yWPpT45wDNnbAVzz8Xcy1qD3+N+C/R0HIX9e8fFVffIH2pi5xMfaQJlYeJv6vsRdys0kTH1iU+1fLyiX/A82cQ9wnFReUaxNtEQ+ROGrYem1Dv/1dUhXDbdMItv8ThtTibtnpoxM+Zdeh2dxvBK/AeaCvC8Vcixv2T/VHgeZTlKE1U5P8+o2ch1O0YgXPAVPD1POUF5iNvjiThTUNxhkzFpwS4hKDn84o+Su4nZZSeGOgE0OTKKe/ePpzczntBv5XUfdHC3Y3AW8AOVPcgJM4kqePh8Ba5u57u8wvZg7kFNLkq+IFAZCQqwxEdj3Ic0flisF3SUToQXcBlBXcl8xCkVhtb31qO6I+xH8WWaV4mT2ccHDXbg/l5YD348yif+HKyN6Z2rHdFfhh1jwcexFyGmGmm0E68M+U++wh7EG6gY9tpqQQS0jmjvWL8DsoLykBPBh4D0tlDmRh1Pp9HiAt7UFmMdn6ZsoL/YP7fprzlIZljps2UF64HLiHccgtIGXApkPKh8VZEN2Zc55HlfxF5CO14hIpj0tuk1U3m/5OakDpMbDsDhxLULwGZgi3zHxj9I/7QMw6eV/7ZfGd+CPos6jQi/irKC9/OtIHMB7M/qkJdZBSuOxbXG0kXQ3HcHNQL0iv4qLudzvHrmS+93U9oXRZFk2cNnNNp4jgd+N4B/Kx9SOdOhg/bTmnA43fS4P8A/zvlqbh/D8sAAAAASUVORK5CYII=';\n\nexport {DOCUMENTEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './documenten-api-plugin-logo';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {StoreTempDocumentConfigurationComponent} from './components/store-temp-document/store-temp-document-configuration.component';\nimport {DOCUMENTEN_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {DocumentenApiConfigurationComponent} from './components/documenten-api-configuration/documenten-api-configuration.component';\nimport {StoreUploadedDocumentConfigurationComponent} from './components/store-uploaded-document/store-uploaded-document-configuration.component';\n\nconst documentenApiPluginSpecification: PluginSpecification = {\n pluginId: 'documentenapi',\n pluginConfigurationComponent: DocumentenApiConfigurationComponent,\n pluginLogoBase64: DOCUMENTEN_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'store-temp-document': StoreTempDocumentConfigurationComponent,\n 'store-uploaded-document': StoreUploadedDocumentConfigurationComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Documenten API',\n description: 'API voor opslag en ontsluiting van documenten en daarbij behorende metadata.',\n 'store-temp-document': 'Document opslaan',\n 'store-uploaded-document': 'Geupload document opslaan',\n storeUploadedDocumentMessage:\n 'Het opslaan van een geupload document heeft geen configuratie nodig.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Hier kunt je een eigen naam verzinnen. Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n url: 'Documenten API URL',\n urlTooltip:\n 'In dit veld moet de verwijzing komen naar de REST API van Documenten. Deze url moet dus eindigen op /documenten/api/v1/',\n bronorganisatie: 'Bronorganisatie RSIN',\n bronorganisatieTooltip:\n 'Vul hier het RSIN van de organisatie in die verantwoordelijk is voor de documenten',\n fileName: 'Bestandsnaam',\n fileNameTooltip:\n 'De naam van het fysieke bestand waarin de inhoud van het document is vastgelegd, inclusief extensie',\n confidentialityLevel: 'Vertrouwelijkheidsaanduiding',\n confidentialityLevelTooltip:\n 'Aanduiding van de mate waarin het document voor de openbaarheid bestemd is',\n inputTitle: 'Titel',\n inputTitleTooltip: 'De naam waaronder het document formeel bekend is',\n inputDescription: 'Beschrijving',\n inputDescriptionTooltip: 'Een generieke beschrijving van de inhoud van het document',\n openbaar: 'Openbaar',\n beperkt_openbaar: 'Beperkt openbaar',\n intern: 'Intern',\n zaakvertrouwelijk: 'Zaakvertrouwelijk',\n vertrouwelijk: 'Vertrouwelijk',\n confidentieel: 'Confidentieel',\n geheim: 'Geheim',\n zeer_geheim: 'Zeer geheim',\n localDocumentLocation: 'Naam procesvariabele met document',\n localDocumentLocationTooltip:\n 'Hier moet de procesvariabele ingevuld worden die wijst naar de locatie waar het document lokaal staat opgeslagen',\n storedDocumentUrl: 'Naam procesvariabele voor opslag document-URL',\n storeDocumentUrlTooltip:\n 'Nadat het document geupload is naar de Documenten API zal de applicatie in deze procesvariabele de URL naar het document opslaan.',\n taal: 'Taal',\n status: 'Status',\n informatieobjecttype: 'URL naar het informatieobjecttype',\n informatieobjecttypeTooltip:\n 'Vul in dit veld de volledige URL naar een informatieobjecttype van een Zaak catalogus. Deze URL moet dus eindigen op /catalogi/api/v1/informatieobjecttypen/{uuid}',\n nld: 'Nederlands',\n in_bewerking: 'In bewerking',\n ter_vaststelling: 'Ter vaststelling',\n definitief: 'Definitief',\n gearchiveerd: 'Gearchiveerd',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n authenticationPluginConfigurationTooltip:\n 'Selecteer de plugin die de authenticatie kan afhandelen. Wanneer de selectiebox leeg blijft zal de authenticatie plugin (bv. OpenZaak) eerst aangemaakt moeten worden',\n },\n en: {\n title: 'Documenten API',\n description: 'API for storing and accessing documents and associated metadata.',\n 'store-temp-document': 'Save document',\n 'store-uploaded-document': 'Save uploaded document',\n storeUploadedDocumentMessage:\n 'Saving an uploaded document does not require any configuration.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'Here you can enter a name for the plugin. This name will be used to recognize the plugin throughout the rest of the application',\n url: 'Documenten API URL',\n urlTooltip:\n 'This field must contain the URL to the REST API of Documenten, therefore this URL should end with /documenten/api/v1/',\n bronorganisatie: 'Organisation RSIN',\n bronorganisatieTooltip:\n 'Enter here the RSIN of the organization responsible for the documents. The RSIN is a dutch identification number for legal entities and partnerships ',\n fileName: 'File name',\n fileNameTooltip:\n 'The name of the physical file in which the content of the document is captured, including extension',\n confidentialityLevel: 'Confidentiality level',\n confidentialityLevelTooltip:\n 'Indication of the extent to which the document is intended for public access',\n inputTitle: 'Title',\n inputTitleTooltip: 'The name by which the document is formally known',\n inputDescription: 'Description',\n inputDescriptionTooltip: 'A generic description of the content of the document',\n openbaar: 'Public',\n beperkt_openbaar: 'Restricted public',\n intern: 'Internal',\n zaakvertrouwelijk: 'Case confidential',\n vertrouwelijk: 'Private',\n confidentieel: 'Confidential',\n geheim: 'Secret',\n zeer_geheim: 'Very secret',\n localDocumentLocation: 'Name of process variable with document',\n localDocumentLocationTooltip:\n 'Enter the process variable that points to the location where the document is stored locally',\n storedDocumentUrl: 'Process variable name for storing document URL',\n storeDocumentUrlTooltip:\n 'After the document has been uploaded to the Documenten API, the application will store the URL to the document in this process variable.',\n taal: 'Language',\n status: 'Status',\n informatieobjecttype: 'URL to the informationobjecttype',\n informatieobjecttypeTooltip:\n 'Enter the full URL to an information object type of a Zaak catalog in this field. So this URL must end with /catalogi/api/v1/informatieobjecttypen/{uuid}',\n nld: 'Dutch',\n in_bewerking: 'Editing',\n ter_vaststelling: 'To be confirmed',\n definitief: 'Final',\n gearchiveerd: 'Archived',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n authenticationPluginConfigurationTooltip:\n 'Select the plugin that can handle the authentication. If the selection box remains empty, the authentication plugin (e.g. OpenZaak) will have to be created first',\n },\n de: {\n title: 'Documenten API',\n description: 'API zum Speichern und Zugreifen auf Dokumente und zugehörige Metadaten.',\n 'store-temp-document': 'Dokument speichern',\n 'store-uploaded-document': 'Hochgeladenes Dokument speichern',\n storeUploadedDocumentMessage:\n 'Das Speichern eines hochgeladenen Dokuments erfordert keine Konfiguration.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Hier können Sie einen Namen für das Plugin eingeben. Dieser Name wird verwendet, um das Plugin im Rest der Anwendung zu erkennen',\n url: 'Documenten API URL',\n urlTooltip:\n 'Dieses Feld muss die URL zur REST API von Documenten enthalten, daher sollte diese URL mit enden /documenten/api/v1/',\n bronorganisatie: 'Organisation RSIN',\n bronorganisatieTooltip:\n 'Geben Sie hier den RAIN der für die Dokumente verantwortlichen Organisation ein. Der RAIN ist eine niederländische Identifikationsnummer für juristische Personen und Personengesellschaften',\n fileName: 'Dateiname',\n fileNameTooltip:\n 'Der Name der physischen Datei, in der der Inhalt des Dokuments erfasst wird, einschließlich Erweiterung',\n confidentialityLevel: 'Vertraulichkeitshinweis',\n confidentialityLevelTooltip:\n 'Angabe, inwieweit das Dokument für die Öffentlichkeit bestimmt ist',\n inputTitle: 'Titel',\n inputTitleTooltip: 'Der Name, unter dem das Dokument offiziell bekannt ist',\n inputDescription: 'Beschreibung',\n inputDescriptionTooltip: 'Eine allgemeine Beschreibung des Inhalts des Dokuments',\n openbaar: 'Öffentlichkeit',\n beperkt_openbaar: 'Eingeschränkt_öffentlich',\n intern: 'Intern',\n zaakvertrouwelijk: 'Geschäftlich vertraulich',\n vertrouwelijk: 'Vertraulich',\n confidentieel: 'Geheim',\n geheim: 'Geheimnis',\n zeer_geheim: 'Sehr geheim',\n localDocumentLocation: 'Name Prozessvariable mit Dokument',\n localDocumentLocationTooltip:\n 'Geben Sie die Prozessvariable ein, die auf den Ort zeigt, an dem das Dokument lokal gespeichert ist',\n storedDocumentUrl: 'Name der Prozessvariablen zum Speichern der Dokument-URL',\n storeDocumentUrlTooltip:\n 'Nachdem das Dokument in die Dokumenten-API hochgeladen wurde, speichert die Anwendung die URL zum Dokument in dieser Prozessvariablen.',\n taal: 'Sprache',\n status: 'Status',\n informatieobjecttype: 'URL zum Informationsobjekttyp',\n informatieobjecttypeTooltip:\n 'Geben Sie in diesem Feld die vollständige URL zu einem Informationsobjekttyp eines Case Katalogs. Diese URL muss daher mit enden /catalogi/api/v1/informatieobjecttypen/{uuid}',\n nld: 'Niederländisch',\n in_bewerking: 'In Bearbeitung',\n ter_vaststelling: 'Zu bestimmen',\n definitief: 'Endgültig',\n gearchiveerd: 'Archiviert',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n authenticationPluginConfigurationTooltip:\n 'Wählen Sie das Plugin aus, das die Authentifizierung verarbeiten kann. Bleibt das Auswahlfeld leer, muss zunächst das Authentifizierungs-Plugin (z. B. OpenZaak) erstellt werden',\n },\n },\n};\n\nexport {documentenApiPluginSpecification};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {ObjecttypenApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n selector: 'valtimo-objecttypen-api-configuration',\n templateUrl: './objecttypen-api-configuration.component.html',\n styleUrls: ['./objecttypen-api-configuration.component.scss'],\n})\nexport class ObjecttypenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ObjecttypenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ObjecttypenApiConfig> =\n new EventEmitter<ObjecttypenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ObjecttypenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('objecten-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ObjecttypenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ObjecttypenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate : pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {ObjecttypenApiConfigurationComponent} from './components/objecttypen-api-configuration/objecttypen-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/user-interface';\n\n@NgModule({\n declarations: [ObjecttypenApiConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [ObjecttypenApiConfigurationComponent],\n})\nexport class ObjecttypenApiPluginModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OBJECTTYPEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\nexport {OBJECTTYPEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './objecttypen-api-plugin-logo';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ObjecttypenApiConfigurationComponent} from './components/objecttypen-api-configuration/objecttypen-api-configuration.component';\nimport {OBJECTTYPEN_API_PLUGIN_LOGO_BASE64} from './assets';\n\nconst objecttypenApiPluginSpecification: PluginSpecification = {\n pluginId: 'objecttypenapi',\n pluginConfigurationComponent: ObjecttypenApiConfigurationComponent,\n pluginLogoBase64: OBJECTTYPEN_API_PLUGIN_LOGO_BASE64,\n\n pluginTranslations: {\n nl: {\n title: 'Objecttypen API',\n url: 'Objecttypen API URL',\n urlTooltip: 'In dit veld moet de verwijzing komen naar de REST API van Objecttypen',\n description:\n 'Met de Overige Objecten Registratie API-specificaties (Objecttypen) kunnen gemeenten eenduidig objecten registreren, opslaan en ontsluiten.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n },\n en: {\n title: 'Objecttypen API',\n url: 'Objecttypen API URL',\n urlTooltip: 'This field must contain the URL to the REST API of Objecttypen',\n description:\n 'With the Other Objects Registration API specifications (Object types), municipalities can unambiguously register, store and access objects.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n },\n de: {\n title: 'Objecttypen API',\n url: 'Objecttypen API URL',\n urlTooltip: 'Dieses Feld muss die URL zur REST API von Objecttypen enthalten',\n description:\n 'Mit den Spezifikationen der Other Objects Registration API (Objekttypen) können Kommunen Objekte eindeutig registrieren, speichern und darauf zugreifen.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n },\n },\n};\n\nexport {objecttypenApiPluginSpecification};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ZakenApiConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-zaken-api-configuration',\n templateUrl: './zaken-api-configuration.component.html',\n styleUrls: ['./zaken-api-configuration.component.scss'],\n})\nexport class ZakenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ZakenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ZakenApiConfig> = new EventEmitter<ZakenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ZakenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('zaken-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ZakenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ZakenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate : pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [tooltip]=\"'authenticationPluginConfigurationTooltip' | pluginTranslate : pluginId | async\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {LinkDocumentToZaakConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-link-document-to-zaak-configuration',\n templateUrl: './link-document-to-zaak-configuration.component.html',\n styleUrls: ['./link-document-to-zaak-configuration.component.scss'],\n})\nexport class LinkDocumentToZaakConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<LinkDocumentToZaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<LinkDocumentToZaakConfig> =\n new EventEmitter<LinkDocumentToZaakConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<LinkDocumentToZaakConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('link-document-to-zaak'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: LinkDocumentToZaakConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: LinkDocumentToZaakConfig): void {\n const valid = !!formValue.documentUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'linkDocumentInformation' | pluginTranslate : pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"documentUrl\"\n [title]=\"'documentUrl' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.documentUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'documentUrlTooltip' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"titel\"\n [title]=\"'titel' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.titel\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'titelTooltip' | pluginTranslate : pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"beschrijving\"\n [title]=\"'beschrijving' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.beschrijving\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'beschrijvingTooltip' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {Observable, Subscription} from 'rxjs';\n\n@Component({\n selector: 'valtimo-link-uploaded-document-to-zaak-configuration',\n templateUrl: './link-uploaded-document-to-zaak-configuration.component.html',\n styleUrls: ['./link-uploaded-document-to-zaak-configuration.component.scss'],\n})\nexport class LinkUploadedDocumentToZaakConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n\n private saveSubscription!: Subscription;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.emitValid();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private emitValid(): void {\n this.valid.emit(true);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n this.configuration.emit({});\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [center]=\"true\" [fullWidth]=\"true\">\n {{ 'linkUploadedDocumentToZaakMessage' | pluginTranslate : pluginId | async }}\n</v-paragraph>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/user-interface';\nimport {ZakenApiConfigurationComponent} from './components/zaken-api-configuration/zaken-api-configuration.component';\nimport {LinkDocumentToZaakConfigurationComponent} from './components/link-document-to-zaak/link-document-to-zaak-configuration.component';\nimport {LinkUploadedDocumentToZaakConfigurationComponent} from './components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component';\n\n@NgModule({\n declarations: [\n ZakenApiConfigurationComponent,\n LinkDocumentToZaakConfigurationComponent,\n LinkUploadedDocumentToZaakConfigurationComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [\n ZakenApiConfigurationComponent,\n LinkDocumentToZaakConfigurationComponent,\n LinkUploadedDocumentToZaakConfigurationComponent,\n ],\n})\nexport class ZakenApiPluginModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst ZAKEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\n\nexport {ZAKEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './zaken-api-plugin-logo';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ZAKEN_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {LinkDocumentToZaakConfigurationComponent} from './components/link-document-to-zaak/link-document-to-zaak-configuration.component';\nimport {ZakenApiConfigurationComponent} from './components/zaken-api-configuration/zaken-api-configuration.component';\nimport {LinkUploadedDocumentToZaakConfigurationComponent} from './components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component';\n\nconst zakenApiPluginSpecification: PluginSpecification = {\n pluginId: 'zakenapi',\n pluginConfigurationComponent: ZakenApiConfigurationComponent,\n pluginLogoBase64: ZAKEN_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'link-document-to-zaak': LinkDocumentToZaakConfigurationComponent,\n 'link-uploaded-document-to-zaak': LinkUploadedDocumentToZaakConfigurationComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Zaken API',\n url: 'Zaken API URL',\n urlTooltip:\n 'In dit veld moet de verwijzing komen naar de REST api van Open zaak. Deze url moet dus eindigen op /zaken/api/v1/',\n description:\n 'De API ondersteunt het opslaan en het naar andere applicaties ontsluiten van gegevens over alle gemeentelijke zaken, van elk type.',\n 'link-document-to-zaak': 'Koppel document aan zaak',\n 'link-uploaded-document-to-zaak': 'Koppel geupload document aan zaak',\n linkUploadedDocumentToZaakMessage:\n 'Het koppelen van een geupload document aan een zaak heeft geen configuratie nodig.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n documentUrl: 'URL naar het document',\n documentUrlTooltip:\n 'Dit veld ondersteunt URLs en proces variabelen. Gebruik pv:variable om een proces variabele uit te lezen',\n titel: 'Documenttitel',\n titelTooltip:\n '(Optioneel) Vult het titel veld in de metadata van de link tussen de Zaak en het Document',\n beschrijving: 'Documentbeschrijving',\n beschrijvingTooltip:\n '(Optioneel) Vult het beschrijving veld in de metadata van de link tussen de Zaak en het Document',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n authenticationPluginConfigurationTooltip:\n 'Selecteer de plugin die de authenticatie kan afhandelen. Wanneer de selectiebox leeg blijft zal de authenticatie plugin (bv. OpenZaak) eerst aangemaakt moeten worden',\n linkDocumentInformation:\n 'Deze actie koppelt een document uit de Documenten API aan de zaak die bij het dossier hoort.',\n },\n en: {\n title: 'Zaken API',\n url: 'URL',\n urlTooltip:\n 'This field must contain the URL to the rest API of Open Zaak, therefore this URL should end with /zaken/api/v1/',\n description:\n 'The API supports the storage and disclosure of data on all municipal matters to other applications, of all types.',\n 'link-document-to-zaak': 'Link document to zaak',\n 'link-uploaded-document-to-zaak': 'Link uploaded document to zaak',\n linkUploadedDocumentToZaakMessage:\n 'Linking an uploaded document to a zaak requires no configuration.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n documentUrl: 'URL to the document',\n documentUrlTooltip:\n 'This field supports URLs and process variables. Use pv:variable to read a process variable',\n titel: 'Document title',\n titelTooltip:\n '(Optional) Fills the title field in the metadata of the link between the Zaak and the Document',\n beschrijving: 'Document description',\n beschrijvingTooltip:\n '(Optional) Fills the description field in the metadata of the link between the Zaak and the Document',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n authenticationPluginConfigurationTooltip:\n 'Select the plugin that can handle the authentication. If the selection box remains empty, the authentication plugin (e.g. OpenZaak) will have to be created first',\n linkDocumentInformation:\n 'This action links a document from the Documents API to the zaak associated with the case.',\n },\n de: {\n title: 'Zaken API',\n url: 'URL',\n urlTooltip:\n 'Dieses Feld muss die URL zur rest API von Open Zaak enthalten, daher sollte diese URL mit enden /zaken/api/v1/',\n description:\n 'Die API unterstützt die Speicherung und Weitergabe von Daten zu allen kommunalen Belangen an andere Anwendungen.',\n 'link-document-to-zaak': 'Dokument mit Zaak verknüpfen',\n 'link-uploaded-document-to-zaak': 'Hochgeladenes Dokument mit Zaak verknüpfen',\n linkUploadedDocumentToZaakMessage:\n 'Das Verknüpfen eines hochgeladenen Dokuments mit einem Zaak erfordert keine Konfiguration.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n documentUrl: 'URL zum Dokument',\n documentUrlTooltip:\n 'Dieses Feld unterstützt URLs und Prozessvariablen. Verwenden Sie pv:Variablen, um eine Prozessvariable zu lesen',\n titel: 'Dokumenttitel',\n titelTooltip:\n '(Optional) Füllt das Titelfeld in den Metadaten des Links zwischen dem Zaak und dem Dokument aus',\n beschrijving: 'Dokumentbeschreibung',\n beschrijvingTooltip:\n '(Optional) Füllt das Beschreibungsfeld in den Metadaten des Links zwischen dem Zaak und dem Dokument aus',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n authenticationPluginConfigurationTooltip:\n 'Wählen Sie das Plugin aus, das die Authentifizierung verarbeiten kann. Bleibt das Auswahlfeld leer, muss zunächst das Authentifizierungs-Plugin (z. B. OpenZaak) erstellt werden',\n linkDocumentInformation:\n 'Diese Aktion verknüpft ein Dokument aus der Dokumenten-API mit dem mit dem Fall verknüpften Zaak.',\n },\n },\n};\n\nexport {zakenApiPluginSpecification};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {ObjectenApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n selector: 'valtimo-objecten-api-configuration',\n templateUrl: './objecten-api-configuration.component.html',\n styleUrls: ['./objecten-api-configuration.component.scss'],\n})\nexport class ObjectenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ObjectenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ObjectenApiConfig> = new EventEmitter<ObjectenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ObjectenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('objecten-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ObjectenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ObjectenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate : pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {ObjectenApiConfigurationComponent} from './components/objecten-api-configuration/objecten-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/user-interface';\n\n@NgModule({\n declarations: [ObjectenApiConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [ObjectenApiConfigurationComponent],\n})\nexport class ObjectenApiPluginModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OBJECTEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\n\nexport {OBJECTEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './objecten-api-plugin-logo';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ObjectenApiConfigurationComponent} from './components/objecten-api-configuration/objecten-api-configuration.component';\nimport {OBJECTEN_API_PLUGIN_LOGO_BASE64} from './assets';\n\nconst objectenApiPluginSpecification: PluginSpecification = {\n pluginId: 'objectenapi',\n pluginConfigurationComponent: ObjectenApiConfigurationComponent,\n pluginLogoBase64: OBJECTEN_API_PLUGIN_LOGO_BASE64,\n\n pluginTranslations: {\n nl: {\n title: 'Objecten API',\n url: 'Objecten API URL',\n urlTooltip: 'Een URL naar de REST API van Objecten',\n description:\n 'Met de Overige Objecten Registratie API-specificaties (Objecten) kunnen gemeenten eenduidig objecten registreren, opslaan en ontsluiten.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plug-in te herkennen zijn in de rest van de applicatie',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n },\n en: {\n title: 'Objects API',\n url: 'Objects API URL',\n urlTooltip: 'A URL to the REST API of Objects',\n description:\n 'With the Other Objects Registration API specifications (Objects), municipalities can unambiguously register, store and access objects.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n },\n de: {\n title: 'Objecten API',\n url: 'Objecten API URL',\n urlTooltip: 'Die URL zur REST API von Objecten',\n description:\n 'Mit den Spezifikationen der Other Objects Registration API (Objecten) können Kommunen Objecten eindeutig registrieren, speichern und darauf zugreifen.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n },\n },\n};\n\nexport {objectenApiPluginSpecification};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {CatalogiApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n selector: 'valtimo-catalogi-api-configuration',\n templateUrl: './catalogi-api-configuration.component.html',\n styleUrls: ['./catalogi-api-configuration.component.scss'],\n})\nexport class CatalogiApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CatalogiApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CatalogiApiConfig> = new EventEmitter<CatalogiApiConfig>();\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('catalogi-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<CatalogiApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CatalogiApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CatalogiApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate : pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CatalogiApiConfigurationComponent} from './components/catalogi-api-configuration/catalogi-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/user-interface';\n\n@NgModule({\n declarations: [CatalogiApiConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [CatalogiApiConfigurationComponent],\n})\nexport class CatalogiApiPluginModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst CATALOGI_API_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\n\nexport {CATALOGI_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './catalogi-api-plugin-logo';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {CatalogiApiConfigurationComponent} from './components/catalogi-api-configuration/catalogi-api-configuration.component';\nimport {CATALOGI_API_PLUGIN_LOGO_BASE64} from './assets';\n\nconst catalogiApiPluginSpecification: PluginSpecification = {\n pluginId: 'catalogiapi',\n pluginConfigurationComponent: CatalogiApiConfigurationComponent,\n pluginLogoBase64: CATALOGI_API_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'Catalogi API',\n url: 'Catalogi API URL',\n urlTooltip: 'Een URL naar de REST API van Catalogi',\n description:\n 'API voor opslag en ontsluiting van zaaktype-catalogi, zaaktypen en onderliggende typen.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n },\n en: {\n title: 'Catalogi API',\n url: 'Catalogi API URL',\n urlTooltip: 'A URL to the REST API of Catalogi',\n description:\n 'API for storage and retrieval of case type catalogs, case types and child types.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n },\n de: {\n title: 'Catalogi API',\n url: 'Catalogi API URL',\n urlTooltip: 'Die URL zur REST API von Catalogi',\n description:\n 'API zum Speichern und Abrufen von Falltypkatalogen, Falltypen und untergeordneten Typen.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n },\n },\n};\n\nexport {catalogiApiPluginSpecification};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {NotificatiesApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n selector: 'valtimo-notificaties-api-configuration',\n templateUrl: './notificaties-api-configuration.component.html',\n styleUrls: ['./notificaties-api-configuration.component.scss'],\n})\nexport class NotificatiesApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<NotificatiesApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<NotificatiesApiConfig> =\n new EventEmitter<NotificatiesApiConfig>();\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory(\n 'notificaties-api-authentication'\n ),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<NotificatiesApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: NotificatiesApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: NotificatiesApiConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.url && formValue.callbackUrl);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate : pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"callbackUrl\"\n [title]=\"'callbackUrl' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.callbackUrl\"\n [required]=\"true\"\n [tooltip]=\"'callbackUrlTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {NotificatiesApiConfigurationComponent} from './components/notificaties-api-configuration/notificaties-api-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {CommonModule} from '@angular/common';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/user-interface';\n\n@NgModule({\n declarations: [NotificatiesApiConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [NotificatiesApiConfigurationComponent],\n})\nexport class NotificatiesApiPluginModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst NOTIFICATIES_API_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHMAAAA8CAYAAABVTYVfAAAACXBIWXMAABG3AAARtwGaY1MrAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAADuxJREFUeJztnX10VdWVwH/73pBAAmUoiEASgpWOWsdx1MGRQQYxKeo4OpZK6rQVk6BSrcupVUjiV9/qdAzRjp3iaEVNXkQdK0rtGluQj4RYrTpq/Si1Bb/4yEukoIgCAZLcu+ePlxCSd857930E1MlvrbcWufvcvXey3z33nH32OQgDSWhdFkUnHoPXMZEsmQiMRskD8hB1BtR2qqjuobww1OdauOUk4HxExgTTIZ2g7Sh7wN+G425ln7+ZqwpbM+9wL5JxjQ+0FeHoHIRi0OlAXsZtDCw7KC8Ye/CnB1vOw5dfARn48sk2oBHR1Xg5TzLvqN3p6zxEe0a0hDSLokgpKpcjzCAjv/gRo28wwy2/AZk+AHbageWo3EtF/vOZUJheMJe8MoTso8tAqoAvZcKhTwH9ghnZCPzlgFpU1uHyb1xWsC4dNak/QeG26eSMexXkPj4/gTSxdsAtCDPxaSIcWU59a2GqapIP5pK2XBpa7wf/GZS/StXwZ4fOm4DGw2RsNo7+kXDkO6ncnFw3u7TtBDx9HPTEJO7aDfoCyJ9QeQfRP4PuRZ2O5FzNNDoU4SmDoG83C6AqNEQmo05RINUiwxEvD3UmgH8cyEkIp6JkJeHgz/FzrkxmkBQ8mPWtJYj+AhgRoPX7KP+Ny3I25b9MSLoC2zlcLN2Wh9e1xyCJDWYmqNsxArdjJviXoHIRMCzhPcIfED2Xy4JNaYIFMxyZAzwE5CRo+TpCDbn5yykVL5DuI8XhDuahLHl3JNnZV4FcBySytRmHc7is4K1EahMHM9x2EfhPAG6cVm0g11M24TFENKHOTwNHMpg9LGnLJdu/CbgByI7Tsg3caZSP3xxPXfwBUMPWfwD/UeIH8kGGDDuB8vyff2YC+Wlh/oR2ygtuwnX+Bng9TssJ4D3Nkra4GSj7k7m0bSKe/xrwRUuLA8B3KC9oSODyp5PwpqHIENMA6GPKCi4+Iv6QvRj0ijitniEvv9j2CjMHM6RZFLU2A9OMcmEPOF+nbMLqJF0eJBHhlkqQGmyxUf0hFYU/MInM3WxR663EC6SvJYOBHCDKC2sRFljlIjdT13amURRzpa71OBx9A/PItRNx/mkwkIeB+pZaRBZapOvZkn9q/ylf7JPp6F3YpyBVg4E8TGwtqAa1/a1Poqj12v4X+z6Z9S0zEGm2KPg1ZfkXDI5YDyNLt43F894AHRcjEz7AyZrE3HF7ey71TS+J3GRR2w7uNXEDOa12BDn+uWahs4WmypcSew+cWTOKbEqMsiE5jaz6/k6KbxuNytlWHQ7vsLb6tbh25ixz+fDd2THXxemksfKXgXwFmHVHHr53FlCCciowpvvjAbuAj0BfR51XyOpcy+qbWwLrnjtuO+GW60EeiZEpY+jquhL4yUHXDwrrIifj2OY6Wk154aK4hkMhh2dz3gMx5S83M33/sYRCfsJfoKRmASq3GyTbyc6dyMprD1BSewaqL8TRsp0DejzPVX9kbXFBKJf2oXsNkk9orBqZ0M/zbjuKDud7wDXAFxK2j+IBT4FzJ40Lnw14D4Qj64CzDJJW8vKLeqYqve9Ml8ssqj6kPee/EhoMhXxEHrBIJ/HssBkJdQColJuvU8/Kaw8E0gFjGercFrBt8pQs+mc6nLeAGwkeSIgmXy4C/xnOXnQf5y1OlB6NohqySPLZ03KwF4sGM6RZKN+03PBTvjvWlPaKRaQeMCfVxTcH6VCKb5sKnGCQ+Pi6JJAPPaheydm1pyd1TxBKakIoTwJ/kYYWQbiCjvYfBmpdUfgMwnNmTe6lPf+MBnNiZBpwtKGph6P1gV1cU9kG/NooU5nNtNoEKy5uhfm6rqC5enNgP6I4OHoPc5bFS0UmR3HtPFR+QGbKbV5mv/wocGsfS6+nFxLSLOgJpjDToqIp6PJLr1H/Poskj6GUWu+bdUce6DeMMpF7k/KhB+U0Ptx0VUr39qe4ZgpoIj86QF4AngSeAl7C3FNtJNs/n99WBi/o2pe9HDC940dwTOsU6H1nmkeGor8KbKyHMZNXAVvNQi2z3uf5F2NeK93MmftXJu1HD6I/4qzbY4f2ySuqpf/o/6CIj1C5jv0yhsbKv6exajaNVRfSWPV3CGMQXQh83N06gmadw8obdyRlPvqqe8Yo86MPY/eTKacYG3VpU1IGAR4v9YA6i3QaX739y2aRWrpYuS/QKNjOSFzvx2ncD8W1M8Hae22iS0+nqfI/jU/a2qqPWVt9ByJTEX6Hz7k03bAlJT9UbAVfpwE41O0YgTI8RizsYV7hm6kZ7arD3L0I6sWOms+qmQyYyhkP4Dq2L0YSyDe7A5IaqnMskg4cZzbN1e8k1LG28k+srZzCuqrU/qYAKi+aBXIcgIN2mpe4lLdSzvY03dyK6AqzXmcuoVDfNKIr5ZgGFcpyVi/YnoTljcBOw3VB9R7mhOItANsRzjdeVx5kzcJ465D9FaWXPetig1mgk0ElC6czz7j2rCT+tsVD3fvBv9AgKOTZYcXAGiCaidn53lyjDoefJWdTPsDx70QldhojHM/OYdcDNUnpLP73o4GJRpk4D9nvW/Qo0UxQfDznUpoXbgvky/wJHxCOfAz0T2rkEGp2HcS3fVt3BTJg44uTVoKYU1d6yEDow/dmAQWGVutZW2WeW8XjzAMPAJbuSG/mrJpJySnMNk3ZADx2jbTYiXoClCT8ZEviwq6+mOPylbGOA+4Qo9AxDoOD83iph1oGQsLXKFk0svvftoFPatORUMhH9GqiqbP+5OLK4qT0SZe5HkjZye/mdybvYJoI5ulM5Auug5tl7sc1AxNjnzrMf9RhoN+g+LbRwAUG+R6y9z2cst211a+B3m2RXsDMWkP3b0Fcc8AE80Mw0PiWeqxRXeqgrqUYWYPUx8anuTICap4jqlMGzrcxrZ0qD7Ey9ElatrMP3AK0GWWOv5jdw3MD6ZGuP1skIxNntAYAx1K33DHJc/A9W2X56IwYV7FkhHQq0RLDWMRNrYs9lJWhT0C/bxZKEW7nLYH0+M77gKn3ErKtc0+IJk7eO+QTLL8dD1VBLQV2o/AdHM+WUsrMzqfRX1oBRCxS08DnORoX/D4jthurH6Nn1ByDfDeQjrVVH2Mrg3Swpwobq6bRWHXswQ8kn03rT7itADD1KLspFc9hmHFeBshklryS/nvh8VIP0eATf9V70rZ5KJ5eDew3SIIn4G1zZvRcihd9OyW/UsER04oSiGwEcCgt3IfwgaFJNjnjM7OE5Hi2gVB/tpOT94uM2Owhmp0xLXYHx9GHsfu/hJKar6elPyjqG6vyULqDGcU8X1K1l2YkQ7RU4umE7ZJbgA6Ot78GeDfl+1ffuAFosEhzUXmC4kVPcnbNrD4LzlPvHEbx7dMprrkb+MeU7fdijodG4+d0/2BO4Cpfy4ADUXzbQKi3BVluojap0RzaD3pNWjocuRWIl1q8CJFVdLTvp3jRB5Qs2kluRzv4vwG5muQqEmKp2zoBOMMoy5JG6Ammb9lMKpzSfdJG+ui+FUCctVFdweoFmzJiy0Rj9dPAEynfv6ayrfvLbXr/9mc0yqiUbZlwnX/B/J5v49LxG6AnmPMK3gBbEleuzogzzaEuiFe14CZXFpIKnlwHlgxKEJqqnkeZjWAvFBsIlqmLMt8m7VkQ6V29EGwZl3IebMnPiFM6xDYQ2hzN5Q4wzZURIJSWjqaqlTjuaaj8Nk1vdgM/JWevLSnRS3vkEsC8Dqy9yf7eYPqyFDClrnLw5NYkHTXTdMMWRFbFCuS+7kXtgcfbvxg0vXns6gWbaKo8E9VzgCaCjdQhunNuDcK1CIU0Vn2Pp0Ltce9Y/HZOd92RidepmPBqzw+9ZRAV+S2EI48AZTG3CJcTjoQpL4i3ShCMvUMuxj0wtM+1rP3JdX1d+16hKyc2E6IBtts3h7qYeucZMT4c9GVo8DXHpurVwGpKFo1EZSboKaBjUBmDI4KvuxDZhejbqLMBV15l9YLkFjBGDFuI7amUvst5fZPp0U1Db2J80cqbdMjpzJ8Q/5s0SOaIFqa/CJi+eBvYkn8iITlYUtN3xX9e/kawlvSdSLZ3V+Y8HSQudTtG4LAMcyBBpPLQQIJpF5inNwKWyjGpINxq3zs4SGZY8soQnI5lWPPj8jRl+f/T/2psMC8v3InaVhsAtJaG1nmp+jlIAkKaRfb4BlDLJiz9BNc1ThfNO6crCh9GWWoxJ6jeH92uPUhGWfx2DpNaHwW1bRUB4WrmjjMmV+IcULEtD6/zJZCv2K3L/eT5/0pp4b7gHmeAZduHs7fDUGgtL1Geb/lGf8pZuu0YvK7HgCnWNsLPKCuwJnHsR8fMHbcX1z2P+Cm4K9grL1LfdmoQfzPGbhFgVOwnA9URR4KGlm/hdb1KvEDCCjbnx+yWPpT45wDNnbAVzz8Xcy1qD3+N+C/R0HIX9e8fFVffIH2pi5xMfaQJlYeJv6vsRdys0kTH1iU+1fLyiX/A82cQ9wnFReUaxNtEQ+ROGrYem1Dv/1dUhXDbdMItv8ThtTibtnpoxM+Zdeh2dxvBK/AeaCvC8Vcixv2T/VHgeZTlKE1U5P8+o2ch1O0YgXPAVPD1POUF5iNvjiThTUNxhkzFpwS4hKDn84o+Su4nZZSeGOgE0OTKKe/ePpzczntBv5XUfdHC3Y3AW8AOVPcgJM4kqePh8Ba5u57u8wvZg7kFNLkq+IFAZCQqwxEdj3Ic0flisF3SUToQXcBlBXcl8xCkVhtb31qO6I+xH8WWaV4mT2ccHDXbg/l5YD348yif+HKyN6Z2rHdFfhh1jwcexFyGmGmm0E68M+U++wh7EG6gY9tpqQQS0jmjvWL8DsoLykBPBh4D0tlDmRh1Pp9HiAt7UFmMdn6ZsoL/YP7fprzlIZljps2UF64HLiHccgtIGXApkPKh8VZEN2Zc55HlfxF5CO14hIpj0tuk1U3m/5OakDpMbDsDhxLULwGZgi3zHxj9I/7QMw6eV/7ZfGd+CPos6jQi/irKC9/OtIHMB7M/qkJdZBSuOxbXG0kXQ3HcHNQL0iv4qLudzvHrmS+93U9oXRZFk2cNnNNp4jgd+N4B/Kx9SOdOhg/bTmnA43fS4P8A/zvlqbh/D8sAAAAASUVORK5CYII=';\n\nexport {NOTIFICATIES_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {NotificatiesApiConfigurationComponent} from './components/notificaties-api-configuration/notificaties-api-configuration.component';\nimport {NOTIFICATIES_API_PLUGIN_LOGO_BASE64} from './assets/notificaties-api-plugin-logo';\n\nconst notificatiesApiPluginSpecification: PluginSpecification = {\n pluginId: 'notificatiesapi',\n pluginConfigurationComponent: NotificatiesApiConfigurationComponent,\n pluginLogoBase64: NOTIFICATIES_API_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'Notificaties API',\n url: 'Notificaties API URL',\n urlTooltip: 'Een URL naar de REST API van Notificaties',\n callbackUrl: 'Callback URL',\n callbackUrlTooltip: 'Het GZAC API-endpoint waar notificaties naartoe moeten worden gestuurd.',\n description: 'Een API om een notificatierouteringscomponent te benaderen.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n },\n en: {\n title: 'Notificaties API',\n url: 'Notificaties API URL',\n urlTooltip: 'A URL to the REST API of Notificaties',\n callbackUrl: 'Callback URL',\n callbackUrlTooltip: 'The GZAC API-endpoint where notifications should be sent.',\n description: 'An API to access a notification routing component.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n },\n de: {\n title: 'Notificaties API',\n url: 'Notificaties API URL',\n urlTooltip: 'Die URL zur REST API von Notificaties',\n callbackUrl: 'Callback URL',\n callbackUrlTooltip: 'Der GZAC-API-endpoint, an den Benachrichtigungen gesendet werden sollen.',\n description: 'Eine API für den Zugriff auf eine Komponente für das Benachrichtigungsrouting.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n },\n },\n};\n\nexport {notificatiesApiPluginSpecification};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {OpenNotificatiesConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-open-notificaties-configuration',\n templateUrl: './open-notificaties-configuration.component.html',\n styleUrls: ['./open-notificaties-configuration.component.scss'],\n})\nexport class OpenNotificatiesConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<OpenNotificatiesConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<OpenNotificatiesConfig> =\n new EventEmitter<OpenNotificatiesConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<OpenNotificatiesConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: OpenNotificatiesConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: OpenNotificatiesConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.clientId && formValue.clientSecret);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [widthPx]=\"350\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"clientId\"\n [title]=\"'clientId' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [widthPx]=\"350\"\n [required]=\"true\"\n [tooltip]=\"'clientIdTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"clientSecret\"\n type=\"password\"\n [title]=\"'clientSecret' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientSecret\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n [tooltip]=\"'clientSecretTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {OpenNotificatiesConfigurationComponent} from './components/open-notificaties-configuration/open-notificaties-configuration.component';\nimport {FormModule, InputModule} from '@valtimo/user-interface';\nimport {PluginTranslatePipeModule} from '../../pipes';\n\n@NgModule({\n declarations: [OpenNotificatiesConfigurationComponent],\n imports: [CommonModule, FormModule, InputModule, PluginTranslatePipeModule],\n exports: [OpenNotificatiesConfigurationComponent],\n})\nexport class OpenNotificatiesPluginModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\n\nexport {OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './open-notificaties-plugin-logo';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {OpenNotificatiesConfigurationComponent} from './components/open-notificaties-configuration/open-notificaties-configuration.component';\nimport {OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64} from './assets';\n\nconst openNotificatiesPluginSpecification: PluginSpecification = {\n pluginId: 'notificatiesapiauthentication',\n pluginConfigurationComponent: OpenNotificatiesConfigurationComponent,\n pluginLogoBase64: OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'OpenNotificaties',\n description:\n 'OpenNotificaties is een productiewaardig API platform die de API-standaard voor zaakgericht werken implementeert (de ZGW-API’s).',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Vul hier het clientId in dat geconfigureerd staat onder OpenNotificaties-beheer (zie API authorisaties > Applicaties). Dit clientId moet de juiste authorisaties hebben voor de benodigde functionaliteit',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Vul de secret in die hoort bij de clientId hierboven',\n },\n en: {\n title: 'OpenNotificaties',\n description:\n 'OpenNotificaties is a production-worthy API platform that implements the API standard for case-oriented working (the ZGW APIs).',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'Under this name, the plugin will be recognizable in the rest of the application',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Enter the clientId here which is configured under OpenNotificaties management (see API authorizations > Applications). This clientId must have the correct authorizations for the required functionality',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Enter the secret associated with the clientId above',\n },\n de: {\n title: 'OpenNotificaties',\n description:\n 'OpenNotificaties ist eine produktionstaugliche API-Plattform, die den API-Standard für fallorientiertes Arbeiten (die ZGW-APIs) implementiert.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Unter diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Geben Sie hier die clientId ein, die unter OpenNotificaties-Verwaltung konfiguriert ist (siehe API-Berechtigungen > Anwendungen). Diese clientId muss die richtigen Berechtigungen für die erforderliche Funktionalität haben',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Geben Sie das mit der obigen clientId verknüpfte Geheimnis ein',\n },\n },\n};\n\nexport {openNotificatiesPluginSpecification};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\nimport {Objecttype} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ObjectService {\n private valtimoEndpointUri: string;\n\n constructor(private http: HttpClient, configService: ConfigService) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n public getAllObjects(): Observable<Objecttype[]> {\n return this.http.get<Objecttype[]>(\n `${this.valtimoEndpointUri}v1/object/management/configuration`\n );\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './object.service';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {PortaaltaakConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {SelectItem} from '@valtimo/user-interface';\nimport {ObjectService} from '../../services';\n\n@Component({\n selector: 'valtimo-portaaltaak-configuration',\n templateUrl: './portaaltaak-configuration.component.html',\n styleUrls: ['./portaaltaak-configuration.component.scss'],\n})\nexport class PortaaltaakConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<PortaaltaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<PortaaltaakConfig> = new EventEmitter<PortaaltaakConfig>();\n readonly notificatiesApiPluginSelectItems$: Observable<Array<SelectItem>> = combineLatest([\n this.pluginManagementService.getPluginConfigurationsByPluginDefinitionKey('notificatiesapi'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n readonly objectManagementConfigurationItems$: Observable<Array<SelectItem>> = combineLatest([\n this.objectManagementService.getAllObjects(),\n this.translateService.stream('key'),\n ]).pipe(\n map(([objectManagementConfigurations]) =>\n objectManagementConfigurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title}`,\n }))\n )\n );\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<PortaaltaakConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly objectManagementService: ObjectService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: PortaaltaakConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: PortaaltaakConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.notificatiesApiPluginConfiguration &&\n formValue.objectManagementConfigurationId\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate : pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <ng-container\n *ngIf=\"notificatiesApiPluginSelectItems$ | async as notificatiesApiPluginSelectItems\"\n >\n <v-select\n [items]=\"notificatiesApiPluginSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"notificatiesApiPluginConfiguration\"\n [title]=\"'notificatiesApiPluginConfiguration' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.notificatiesApiPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!notificatiesApiPluginSelectItems\"\n [tooltip]=\"'notificatiesApiPluginConfigurationTooltip' | pluginTranslate : pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container\n *ngIf=\"objectManagementConfigurationItems$ | async as objectManagementConfigurationItems\"\n >\n <v-select\n [items]=\"objectManagementConfigurationItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objectManagementConfigurationId\"\n [title]=\"'objectManagementConfiguration' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.objectManagementConfigurationId\"\n [required]=\"true\"\n [loading]=\"!objectManagementConfigurationItems\"\n [tooltip]=\"'objectManagementConfigurationTooltip' | pluginTranslate : pluginId | async\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {PortaaltaakConfigurationComponent} from './components/portaaltaak-configuration/portaaltaak-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {CommonModule} from '@angular/common';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/user-interface';\n\n@NgModule({\n declarations: [PortaaltaakConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [PortaaltaakConfigurationComponent],\n})\nexport class PortaaltaakPluginModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst PORTAALTAAK_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\nexport {PORTAALTAAK_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {PortaaltaakConfigurationComponent} from './components/portaaltaak-configuration/portaaltaak-configuration.component';\nimport {PORTAALTAAK_PLUGIN_LOGO_BASE64} from './assets/portaaltaak-plugin-logo';\n\nconst portaaltaakPluginSpecification: PluginSpecification = {\n pluginId: 'portaaltaak',\n pluginConfigurationComponent: PortaaltaakConfigurationComponent,\n pluginLogoBase64: PORTAALTAAK_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'Portaaltaak',\n description: 'Een component om een portaaltaakrouteringscomponent te benaderen.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n notificatiesApiPluginConfiguration: 'Notificaties API plugin',\n notificatiesApiPluginConfigurationTooltip:\n 'Selecteer de Notificaties API plugin. Wanneer de selectiebox leeg us, zal de notificatie API plugin eerst aangemaakt moeten worden.',\n objectManagementConfiguration: 'Object management configuratie',\n objectManagementConfigurationTooltip:\n 'Selecteer de gewenste object management configuratie. Wanneer de selectiebox leeg is, zal de object management configuratie eerst aangemaakt moeten worden.',\n },\n en: {\n title: 'Portal task',\n description: 'A component to access a portal task routing component.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n notificatiesApiPluginConfiguration: 'Notification API plugin',\n notificatiesApiPluginConfigurationTooltip:\n 'Select the Notifications API plugin. If the selection box remains empty, the Notifications API plugin will first have to be created.',\n objectManagementConfiguration: 'Object management configuration',\n objectManagementConfigurationTooltip:\n 'Select the object management configuration. If the selection box remains empty, the object management configuration will first have to be created.',\n },\n de: {\n title: 'Portalaufgabe',\n description:\n 'Eine Komponente für den Zugriff auf eine Portal-Aufgabenweiterleitungskomponente.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n notificatiesApiPluginConfiguration: 'Benachrichtigungs-API plugin',\n notificatiesApiPluginConfigurationTooltip:\n 'Wählen Sie das Benachrichtigungs-API-Plugin aus. Bleibt das Auswahlfeld leer, muss das Benachrichtigungs-API-Plugin erst erstellt werden',\n objectManagementConfiguration: 'Objektverwaltungskonfiguration',\n objectManagementConfigurationTooltip:\n 'Wählen Sie die Objektverwaltungskonfiguration aus. Bleibt das Auswahlfeld leer, muss zunächst die Objektverwaltungskonfiguration erstellt werden.',\n },\n },\n};\n\nexport {portaaltaakPluginSpecification};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of plugin\n */\n\nexport * from './lib/services';\nexport * from './lib/models';\nexport * from './lib/pipes';\nexport * from './lib/constants';\n/* plugin configuration container */\nexport * from './lib/components/plugin-configuration-container/plugin-configuration-container.component';\nexport * from './lib/components/plugin-configuration-container/plugin-configuration-container.module';\n/* open-zaak plugin */\nexport * from './lib/plugins/open-zaak/open-zaak-plugin.module';\nexport * from './lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component';\nexport * from './lib/plugins/open-zaak/open-zaak-plugin.specification';\n/* object token authentication plugin */\nexport * from './lib/plugins/object-token-authentication/object-token-authentication-plugin.module';\nexport * from './lib/plugins/object-token-authentication/object-token-authentication-plugin.specification';\nexport * from './lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component';\n/* smart-documents plugin */\nexport * from './lib/plugins/smart-documents/smart-documents-plugin.module';\nexport * from './lib/plugins/smart-documents/smart-documents-plugin.specification';\nexport * from './lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component';\nexport * from './lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component';\n/* documenten api plugin */\nexport * from './lib/plugins/documenten-api/documenten-api-plugin.module';\nexport * from './lib/plugins/documenten-api/documenten-api-plugin.specification';\nexport * from './lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component';\nexport * from './lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component';\nexport * from './lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component';\n/* objecttypen api plugin */\nexport * from './lib/plugins/objecttypen-api/objecttypen-api-plugin-module';\nexport * from './lib/plugins/objecttypen-api/objecttypen-api-plugin.specification';\nexport * from './lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component';\n/* zaken api plugin */\nexport * from './lib/plugins/zaken-api/zaken-api-plugin.module';\nexport * from './lib/plugins/zaken-api/zaken-api-plugin.specification';\nexport * from './lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component';\nexport * from './lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component';\nexport * from './lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component';\n/* objecten api plugin */\nexport * from './lib/plugins/objecten-api/objecten-api-plugin-module';\nexport * from './lib/plugins/objecten-api/objecten-api-plugin.specification';\nexport * from './lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component';\n/* catalogi api plugin */\nexport * from './lib/plugins/catalogi-api/catalogi-api-plugin-module';\nexport * from './lib/plugins/catalogi-api/catalogi-api-plugin.specification';\nexport * from './lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component';\n/* notificaties api plugin */\nexport * from './lib/plugins/notificaties-api/notificaties-api-plugin.module';\nexport * from './lib/plugins/notificaties-api/notificaties-api-plugin.specification';\nexport * from './lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component';\n/* notificaties api authentication plugin */\nexport * from './lib/plugins/notificaties-api-authentication/open-notificaties-plugin.module';\nexport * from './lib/plugins/notificaties-api-authentication/open-notificaties-plugin.specification';\nexport * from './lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component';\n/* portaaltaak plugin */\nexport * from './lib/plugins/portaaltaak/portaaltaak-plugin.module';\nexport * from './lib/plugins/portaaltaak/portaaltaak-plugin.specification';\nexport * from './lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.PluginService","i1.PluginTranslationService","i1.PluginService","i2","i3","i4","i3.PluginTranslatePipe","map","i1.PluginManagementService","i5.PluginTranslatePipe","i2.PluginTranslationService","i2.ObjectService","i5","i6.PluginTranslatePipe"],"mappings":";;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;AAcG;AAKH,MAAM,aAAa,GAAG,IAAI,cAAc,CACtC,2DAA2D;;ACpB7D;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;MAWU,aAAa,CAAA;AAMxB,IAAA,WAAA,CAAoD,YAA0B,EAAA;QAA1B,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;AAL7D,QAAA,IAAA,CAAA,sBAAsB,GAAG,IAAI,eAAe,CAA6B,EAAE,CAAC,CAAC;QAC7E,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CACtE,GAAG,CAAC,oBAAoB,IAAI,oBAAoB,CAAC,GAAG,CAAC,aAAa,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC,CAC/F,CAAC;AAGA,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAChD;AAED,IAAA,IAAI,qBAAqB,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,CAAC;KACnD;AAED,IAAA,IAAI,oBAAoB,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,CAAC;KAC/C;AAED,IAAA,IAAI,mBAAmB,GAAA;QACrB,OAAO,IAAI,CAAC,oBAAoB,CAAC;KAClC;;AApBU,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,kBAMJ,aAAa,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AANtB,aAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA;4FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAOc,MAAM;2BAAC,aAAa,CAAA;;;AC/BnC;;;;;;;;;;;;;;AAcG;MAYU,wBAAwB,CAAA;IACnC,WACmB,CAAA,gBAAkC,EAClC,aAA4B,EAAA;QAD5B,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAClC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;KAC3C;IAEJ,SAAS,CAAC,YAAoB,EAAE,mBAA2B,EAAA;AACzD,QAAA,OAAO,aAAa,CAAC;YACnB,IAAI,CAAC,aAAa,CAAC,qBAAqB;AACxC,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC,IAAI,CACL,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,KACzB,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAC7E,CACF,CAAC;KACH;IAED,OAAO,CAAC,YAAoB,EAAE,mBAA2B,EAAA;AACvD,QAAA,OAAO,IAAI,CAAC,cAAc,CACxB,IAAI,CAAC,aAAa,CAAC,oBAAoB,EACvC,mBAAmB,EACnB,YAAY,CACb,CAAC;KACH;AAEO,IAAA,cAAc,CACpB,oBAAgD,EAChD,mBAA2B,EAC3B,YAAoB,EAAA;AAEpB,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;AACtD,QAAA,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,IAAI,CACnD,aAAa,IAAI,aAAa,CAAC,QAAQ,KAAK,mBAAmB,CAChE,CAAC;QACF,MAAM,WAAW,GAAG,mBAAmB,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC;AACvF,QAAA,OAAO,WAAW,IAAI,CAAA,EAAG,mBAAmB,CAAI,CAAA,EAAA,YAAY,EAAE,CAAC;KAChE;;sHApCU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFvB,MAAM,EAAA,CAAA,CAAA;4FAEP,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACzBD;;;;;;;;;;;;;;AAcG;MAmBU,uBAAuB,CAAA;AAGlC,IAAA,WAAA,CACmB,aAA4B,EAC5B,aAA4B,EAC5B,SAAuB,EACvB,IAAgB,EAAA;QAHhB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAC5B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAC5B,IAAS,CAAA,SAAA,GAAT,SAAS,CAAc;QACvB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QANlB,IAAwB,CAAA,wBAAA,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;KAOzF;IAEJ,oBAAoB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAG,EAAA,IAAI,CAAC,wBAAwB,CAAsB,oBAAA,CAAA,CACvD,CAAC;KACH;AAED,IAAA,kBAAkB,CAAC,kBAA0B,EAAA;AAC3C,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAA,EAAG,IAAI,CAAC,wBAAwB,CAAA,qBAAA,EAAwB,kBAAkB,CAAA,OAAA,CAAS,CACpF,CAAC;KACH;IAED,0BAA0B,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAG,EAAA,IAAI,CAAC,wBAAwB,CAAyB,uBAAA,CAAA,CAC1D,CAAC;KACH;AAED,IAAA,4CAA4C,CAC1C,mBAA2B,EAAA;AAE3B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAA,EAAG,IAAI,CAAC,wBAAwB,CAAA,4CAAA,EAA+C,mBAAmB,CAAA,CAAE,CACrG,CAAC;KACH;AAED,IAAA,iCAAiC,CAAC,UAAkB,EAAA;AAClD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAA,EAAG,IAAI,CAAC,wBAAwB,CAAA,iCAAA,EAAoC,UAAU,CAAA,CAAE,CACjF,CAAC;KACH;AAED,IAAA,iDAAiD,CAC/C,YAAoB,EAAA;AAEpB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAA,EAAG,IAAI,CAAC,wBAAwB,CAAA,qCAAA,EAAwC,YAAY,CAAA,CAAE,CACvF,CAAC;KACH;AAED,IAAA,mCAAmC,CACjC,YAAqB,EAAA;AAErB,QAAA,OAAO,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;cAC1C,IAAI,CAAC,mCAAmC,CACtC,IAAI,CAAC,iDAAiD,CAAC,YAAY,CAAC,CACrE;cACD,IAAI,CAAC,mCAAmC,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC;KACjF;AAED,IAAA,uBAAuB,CACrB,mBAAwC,EAAA;AAExC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,CAAA,EAAG,IAAI,CAAC,wBAAwB,CAAA,uBAAA,CAAyB,EACzD,mBAAmB,CACpB,CAAC;KACH;AAED,IAAA,yBAAyB,CACvB,eAAuB,EACvB,kBAA0B,EAC1B,uBAA+B,EAAA;AAE/B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAG,EAAA,IAAI,CAAC,wBAAwB,CAA2B,wBAAA,EAAA,eAAe,EAAE,EAC5E;AACE,YAAA,KAAK,EAAE,kBAAkB;AACzB,YAAA,UAAU,EAAE,uBAAuB;AACpC,SAAA,CACF,CAAC;KACH;AAED,IAAA,yBAAyB,CAAC,eAAuB,EAAA;AAC/C,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CACrB,CAAA,EAAG,IAAI,CAAC,wBAAwB,CAAA,wBAAA,EAA2B,eAAe,CAAA,CAAE,CAC7E,CAAC;KACH;AAEO,IAAA,mCAAmC,CACzC,qBAA6D,EAAA;AAE7D,QAAA,OAAO,aAAa,CAAC,CAAC,qBAAqB,EAAE,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAC1F,GAAG,CAAC,CAAC,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,KAC/C,oBAAoB,EAAE,GAAG,CAAC,mBAAmB,IAAG;YAC9C,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,IAAI,CACnD,aAAa,IAAI,aAAa,CAAC,QAAQ,KAAK,mBAAmB,EAAE,gBAAgB,EAAE,GAAG,CACvF,CAAC;YAEF,OAAO;AACL,gBAAA,GAAG,mBAAmB;AACtB,gBAAA,IAAI,mBAAmB,EAAE,gBAAgB,IAAI;oBAC3C,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAC7D,mBAAmB,EAAE,gBAAgB,CACtC;iBACF,CAAC;aACH,CAAC;SACH,CAAC,CACH,CACF,CAAC;KACH;;qHA9GU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFtB,MAAM,EAAA,CAAA,CAAA;4FAEP,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;AChCD;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;MAaU,mBAAmB,CAAA;IAC9B,WACmB,CAAA,wBAAkD,EAClD,aAA4B,EAAA;QAD5B,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;QAClD,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;KAC3C;IAEJ,SAAS,CAAC,YAAoB,EAAE,mBAA2B,EAAA;QACzD,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;KACnF;;iHARU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAAD,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;+GAAnB,mBAAmB,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,CAAA;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,iBAAiB;AACxB,iBAAA,CAAA;;;AC1BD;;;;;;;;;;;;;;AAcG;MAWU,yBAAyB,CAAA;;uHAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,EAHrB,YAAA,EAAA,CAAA,mBAAmB,CADxB,EAAA,OAAA,EAAA,CAAA,eAAe,aAEf,mBAAmB,CAAA,EAAA,CAAA,CAAA;AAElB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,YAJ1B,eAAe,CAAA,EAAA,CAAA,CAAA;4FAId,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,eAAe,CAAC;oBAC1B,YAAY,EAAE,CAAC,mBAAmB,CAAC;oBACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;AAC/B,iBAAA,CAAA;;;ACxBD;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;MA8BU,qCAAqC,CAAA;AAoChD,IAAA,WAAA,CAA6B,aAA4B,EAAA;QAA5B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAlB/C,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW,CAAC;AAC3D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAA2B,CAAC;AAErC,QAAA,IAAA,CAAA,kCAAkC,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;AACzE,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,eAAe,CAE1C,SAAS,CAAC,CAAC;AAOI,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,eAAe,CAAoC,IAAI,CAAC,CAAC;AAC9E,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC,CAAC;AACvD,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC,CAAC;KAEH;IA9B7D,IAAa,IAAI,CAAC,IAAgC,EAAA;AAChD,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAChC;IACD,IAAa,mBAAmB,CAAC,GAAW,EAAA;AAC1C,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACrC;IACD,IAAa,WAAW,CAAC,GAAW,EAAA;AAClC,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC7B;IAwBD,QAAQ,GAAA;QACN,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,iCAAiC,EAAE,CAAC;KAC1C;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,CAAC;AACvC,QAAA,IAAI,CAAC,wBAAwB,EAAE,WAAW,EAAE,CAAC;KAC9C;IAEO,sBAAsB,GAAA;AAC5B,QAAA,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC;AACtC,YAAA,IAAI,CAAC,oBAAoB;AACzB,YAAA,IAAI,CAAC,YAAY;AACjB,YAAA,IAAI,CAAC,cAAc;YACnB,IAAI,CAAC,aAAa,CAAC,qBAAqB;SACzC,CAAC;AACC,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,CAAC,mBAAmB,EAAE,WAAW,EAAE,aAAa,EAAE,oBAAoB,CAAC,KAAI;AAC9E,YAAA,IAAI,sBAEH,CAAC;AAEF,YAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;AAE9B,YAAA,IAAI,aAAa,KAAK,eAAe,IAAI,mBAAmB,EAAE;AAC5D,gBAAA,sBAAsB,GAAG,oBAAoB,CAAC,IAAI,CAChD,aAAa,IAAI,aAAa,CAAC,QAAQ,KAAK,mBAAmB,CAChE,EAAE,4BAA4B,CAAC;AACjC,aAAA;AAAM,iBAAA,IAAI,aAAa,KAAK,UAAU,IAAI,mBAAmB,IAAI,WAAW,EAAE;AAC7E,gBAAA,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,IAAI,CACnD,aAAa,IAAI,aAAa,CAAC,QAAQ,KAAK,mBAAmB,CAChE,CAAC;gBACF,sBAAsB;AACpB,oBAAA,mBAAmB,EAAE,+BAA+B,CAAC,WAAW,CAAC,CAAC;AACrE,aAAA;AAED,YAAA,IAAI,sBAAsB,EAAE;gBAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;AACnF,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACtC,gBAAA,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrD,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpD,aAAA;AACH,SAAC,CAAC,CACH;AACA,aAAA,SAAS,EAAE,CAAC;KAChB;IAEO,iCAAiC,GAAA;AACvC,QAAA,IAAI,CAAC,wBAAwB,GAAG,aAAa,CAAC;AAC5C,YAAA,IAAI,CAAC,aAAa;AAClB,YAAA,IAAI,CAAC,oBAAoB;SAC1B,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,mBAAmB,CAAC,KAAI;AAC1C,YAAA,MAAM,QAAQ,GAAG,GAAG,EAAE,QAAQ,CAAC;AAE/B,YAAA,IAAI,CAAC,yBAAyB,EAAE,WAAW,EAAE,CAAC;AAC9C,YAAA,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,CAAC;AAEtC,YAAA,IAAI,QAAQ,EAAE;AACZ,gBAAA,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AAC5B,gBAAA,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AACpC,gBAAA,QAAQ,CAAC,QAAQ,GAAG,mBAAmB,CAAC;gBAExC,IAAI,IAAI,CAAC,qBAAqB,EAAE;AAC9B,oBAAA,QAAQ,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;AAC7D,iBAAA;gBAED,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAG;AACxD,oBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzB,iBAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,yBAAyB,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,aAAa,IAAG;AAChF,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACzC,iBAAC,CAAC,CAAC;AACJ,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;;mIAnHU,qCAAqC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAE,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;uHAArC,qCAAqC,EAAA,QAAA,EAAA,wCAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAGgB,gBAAgB,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/ClF,u4BAoBA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDwBa,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBALjD,SAAS;+BACE,wCAAwC,EAAA,QAAA,EAAA,u4BAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,CAAA;iGAQ3C,gBAAgB,EAAA,CAAA;sBADtB,SAAS;uBAAC,8BAA8B,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAC,CAAA;gBAGpE,IAAI,EAAA,CAAA;sBAAhB,KAAK;gBAGO,mBAAmB,EAAA,CAAA;sBAA/B,KAAK;gBAGO,WAAW,EAAA,CAAA;sBAAvB,KAAK;gBAGG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACI,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;AE/DT;;;;;;;;;;;;;;AAcG;MAcU,kCAAkC,CAAA;;gIAAlC,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;iIAAlC,kCAAkC,EAAA,YAAA,EAAA,CAJ9B,qCAAqC,CAC1C,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,eAAe,EAAE,eAAe,CAAA,EAAA,OAAA,EAAA,CAC9C,qCAAqC,CAAA,EAAA,CAAA,CAAA;AAEpC,kCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kCAAkC,EAHnC,OAAA,EAAA,CAAA,YAAY,EAAE,eAAe,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA;4FAG7C,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAL9C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,qCAAqC,CAAC;AACrD,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,eAAe,CAAC;oBACzD,OAAO,EAAE,CAAC,qCAAqC,CAAC;AACjD,iBAAA,CAAA;;;AC3BD;;;;;;;;;;;;;;AAcG;MAaU,8BAA8B,CAAA;AAL3C,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW,CAAC;AAC3D,QAAA,IAAA,CAAA,aAAa,GAAiC,IAAI,YAAY,EAAkB,CAAC;AAI1E,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAwB,IAAI,CAAC,CAAC;AAC9D,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;AAiC/D,KAAA;IA/BC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC;KACtC;AAED,IAAA,eAAe,CAAC,SAAyB,EAAA;AACvC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;KAC7B;AAEO,IAAA,WAAW,CAAC,SAAyB,EAAA;AAC3C,QAAA,MAAM,KAAK,GAAG,CAAC,EAAE,SAAS,CAAC,kBAAkB,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,YAAY,CAAC,CAAC;AAE/F,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxB;IAEO,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1C,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACb,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;AAChC,gBAAA,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACpC,iBAAA;AACH,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACJ;;4HA7CU,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA9B,8BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,8BAA8B,8PC3B3C,u7DA0DA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAN,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAO,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FD/Ba,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAL1C,SAAS;+BACE,iCAAiC,EAAA,QAAA,EAAA,u7DAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,CAAA;8BAOlC,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACI,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;AEnCT;;;;;;;;;;;;;;AAcG;MAcU,oBAAoB,CAAA;;kHAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;mHAApB,oBAAoB,EAAA,YAAA,EAAA,CAJhB,8BAA8B,CAAA,EAAA,OAAA,EAAA,CACnC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,yBAAyB,CAAA,EAAA,OAAA,EAAA,CAChE,8BAA8B,CAAA,EAAA,CAAA,CAAA;AAE7B,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAHrB,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,yBAAyB,CAAA,EAAA,CAAA,CAAA;4FAG/D,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,8BAA8B,CAAC;oBAC9C,OAAO,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,yBAAyB,CAAC;oBAC3E,OAAO,EAAE,CAAC,8BAA8B,CAAC;AAC1C,iBAAA,CAAA;;;AC3BD;;;;;;;;;;;;;;AAcG;AAEH,MAAM,4BAA4B,GAChC,whJAAwhJ;;ACjB1hJ;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;AAMH,MAAM,2BAA2B,GAAwB;AACvD,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,4BAA4B,EAAE,8BAA8B;AAC5D,IAAA,gBAAgB,EAAE,4BAA4B;AAC9C,IAAA,kBAAkB,EAAE;AAClB,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,UAAU;AACjB,YAAA,WAAW,EACT,0HAA0H;AAC5H,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,yBAAyB,EACvB,8EAA8E;AAChF,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,eAAe,EACb,mMAAmM;AACrM,YAAA,YAAY,EAAE,QAAQ;AACtB,YAAA,mBAAmB,EAAE,sDAAsD;AAC5E,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,UAAU;AACjB,YAAA,WAAW,EACT,yHAAyH;AAC3H,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,iFAAiF;AACnF,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,eAAe,EACb,kMAAkM;AACpM,YAAA,YAAY,EAAE,QAAQ;AACtB,YAAA,mBAAmB,EAAE,qDAAqD;AAC3E,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,UAAU;AACjB,YAAA,WAAW,EACT,wIAAwI;AAC1I,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,yEAAyE;AAC3E,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,eAAe,EACb,uNAAuN;AACzN,YAAA,YAAY,EAAE,QAAQ;AACtB,YAAA,mBAAmB,EAAE,gEAAgE;AACtF,SAAA;AACF,KAAA;;;AChEH;;;;;;;;;;;;;;AAcG;MAYU,6CAA6C,CAAA;AAL1D,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW,CAAC;AAC3D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAAmC,CAAC;AAIrC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAyC,IAAI,CAAC,CAAC;AAC/E,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;AAiC/D,KAAA;IA/BC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC;KACtC;AAED,IAAA,eAAe,CAAC,SAA0C,EAAA;AACxD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;KAC7B;AAEO,IAAA,WAAW,CAAC,SAA0C,EAAA;AAC5D,QAAA,MAAM,KAAK,GAAG,CAAC,EAAE,SAAS,CAAC,kBAAkB,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;AAElE,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxB;IAEO,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1C,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACb,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;AAChC,gBAAA,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACpC,iBAAA;AACH,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACJ;;2IA9CU,6CAA6C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7C,6CAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6CAA6C,gRC1B1D,ukDA+CA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAP,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAO,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDrBa,6CAA6C,EAAA,UAAA,EAAA,CAAA;kBALzD,SAAS;+BACE,mDAAmD,EAAA,QAAA,EAAA,ukDAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,CAAA;8BAOpD,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACI,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;AElCT;;;;;;;;;;;;;;AAcG;MAaU,qCAAqC,CAAA;;mIAArC,qCAAqC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oIAArC,qCAAqC,EAAA,YAAA,EAAA,CAJjC,6CAA6C,CAAA,EAAA,OAAA,EAAA,CAClD,YAAY,EAAE,yBAAyB,EAAE,UAAU,EAAE,WAAW,CAAA,EAAA,OAAA,EAAA,CAChE,6CAA6C,CAAA,EAAA,CAAA,CAAA;AAE5C,qCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qCAAqC,YAHtC,YAAY,EAAE,yBAAyB,EAAE,UAAU,EAAE,WAAW,CAAA,EAAA,CAAA,CAAA;4FAG/D,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBALjD,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,6CAA6C,CAAC;oBAC7D,OAAO,EAAE,CAAC,YAAY,EAAE,yBAAyB,EAAE,UAAU,EAAE,WAAW,CAAC;oBAC3E,OAAO,EAAE,CAAC,6CAA6C,CAAC;AACzD,iBAAA,CAAA;;;AC1BD;;;;;;;;;;;;;;AAcG;AAEH,MAAM,8CAA8C,GAClD,guLAAguL;;ACjBluL;;;;;;;;;;;;;;AAcG;AAMH,MAAM,4CAA4C,GAAwB;AACxE,IAAA,QAAQ,EAAE,2BAA2B;AACrC,IAAA,4BAA4B,EAAE,6CAA6C;AAC3E,IAAA,gBAAgB,EAAE,8CAA8C;AAEhE,IAAA,kBAAkB,EAAE;AAClB,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,4BAA4B;AACnC,YAAA,WAAW,EACT,0FAA0F;AAC5F,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,yBAAyB,EACvB,+EAA+E;AACjF,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,YAAY,EACV,qHAAqH;AACxH,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,6BAA6B;AACpC,YAAA,WAAW,EAAE,8EAA8E;AAC3F,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,+EAA+E;AACjF,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,YAAY,EACV,wFAAwF;AAC3F,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,gCAAgC;AACvC,YAAA,WAAW,EACT,4FAA4F;AAC9F,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,sEAAsE;AACxE,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,YAAY,EACV,yGAAyG;AAC5G,SAAA;AACF,KAAA;;;AC1DH;;;;;;;;;;;;;;AAcG;MAYU,oCAAoC,CAAA;AALjD,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW,CAAC;AAC3D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAAwB,CAAC;AAI1B,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAA8B,IAAI,CAAC,CAAC;AACpE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;AAsC/D,KAAA;IApCC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC;KACtC;AAED,IAAA,eAAe,CAAC,SAA+B,EAAA;AAC7C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;KAC7B;AAEO,IAAA,WAAW,CAAC,SAA+B,EAAA;AACjD,QAAA,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,CAAC,kBAAkB;AAC5B,YAAA,SAAS,CAAC,GAAG;AACb,YAAA,SAAS,CAAC,QAAQ;YAClB,SAAS,CAAC,QAAQ,CACnB,CAAC;AAEF,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxB;IAEO,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1C,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACb,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;AAChC,gBAAA,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACpC,iBAAA;AACH,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACJ;;kIAnDU,oCAAoC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApC,oCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oCAAoC,oQC1BjD,ihEAkEA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAP,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAO,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDxCa,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBALhD,SAAS;+BACE,uCAAuC,EAAA,QAAA,EAAA,ihEAAA,EAAA,CAAA;8BAOxC,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACI,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;AElCT;;;;;;;;;;;;;;AAcG;MAiBU,sCAAsC,CAAA;AALnD,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW,CAAC;AAC3D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAA0B,CAAC;QAEpC,IAAO,CAAA,OAAA,GAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAChE,IAAmB,CAAA,mBAAA,GAAsC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK;AAC5F,YAAA,EAAE,EAAE,MAAM;AACV,YAAA,IAAI,EAAE,MAAM;AACb,SAAA,CAAC,CAAC,CAAC;AAGa,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAgC,IAAI,CAAC,CAAC;AACtE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;AAuC/D,KAAA;IArCC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC;KACtC;AAED,IAAA,eAAe,CAAC,SAAiC,EAAA;AAC/C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;KAC7B;AAEO,IAAA,WAAW,CAAC,SAAiC,EAAA;AACnD,QAAA,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,CAAC,aAAa;AACvB,YAAA,SAAS,CAAC,YAAY;AACtB,YAAA,SAAS,CAAC,MAAM;AAChB,YAAA,SAAS,CAAC,oCAAoC;AAC9C,YAAA,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,CAAC,CACnC,CAAC;AAEF,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxB;IAEO,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1C,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACb,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;AAChC,gBAAA,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACpC,iBAAA;AACH,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACJ;;oIAzDU,sCAAsC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtC,sCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sCAAsC,sQC/BnD,okFA2EA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAP,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,yBAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAO,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FD5Ca,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBALlD,SAAS;+BACE,yCAAyC,EAAA,QAAA,EAAA,okFAAA,EAAA,CAAA;8BAO1C,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACI,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;AEvCT;;;;;;;;;;;;;;AAcG;MA4BU,0BAA0B,CAAA;;wHAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA1B,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,EAZtB,YAAA,EAAA,CAAA,oCAAoC,EAAE,sCAAsC,aAEzF,YAAY;QACZ,yBAAyB;QACzB,UAAU;QACV,WAAW;QACX,YAAY;QACZ,gBAAgB;QAChB,eAAe,CAAA,EAAA,OAAA,EAAA,CAEP,oCAAoC,EAAE,sCAAsC,CAAA,EAAA,CAAA,CAAA;AAE3E,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,YAVnC,YAAY;QACZ,yBAAyB;QACzB,UAAU;QACV,WAAW;QACX,YAAY;QACZ,gBAAgB;QAChB,eAAe,CAAA,EAAA,CAAA,CAAA;4FAIN,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAbtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,oCAAoC,EAAE,sCAAsC,CAAC;AAC5F,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,yBAAyB;wBACzB,UAAU;wBACV,WAAW;wBACX,YAAY;wBACZ,gBAAgB;wBAChB,eAAe;AAChB,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAC,oCAAoC,EAAE,sCAAsC,CAAC;AACxF,iBAAA,CAAA;;;ACzCD;;;;;;;;;;;;;;AAcG;AAEH,MAAM,kCAAkC,GACtC,42XAA42X;;ACjB92X;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;AAOH,MAAM,iCAAiC,GAAwB;AAC7D,IAAA,QAAQ,EAAE,gBAAgB;AAC1B,IAAA,4BAA4B,EAAE,oCAAoC;AAClE,IAAA,gBAAgB,EAAE,kCAAkC;AACpD,IAAA,+BAA+B,EAAE;AAC/B,QAAA,mBAAmB,EAAE,sCAAsC;AAC5D,KAAA;AACD,IAAA,kBAAkB,EAAE;AAClB,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,gBAAgB;AACvB,YAAA,WAAW,EAAE,+CAA+C;AAC5D,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,yBAAyB,EACvB,8EAA8E;AAChF,YAAA,GAAG,EAAE,oBAAoB;AACzB,YAAA,QAAQ,EAAE,gBAAgB;AAC1B,YAAA,QAAQ,EAAE,YAAY;AACtB,YAAA,mBAAmB,EAAE,oBAAoB;AACzC,YAAA,aAAa,EAAE,gBAAgB;AAC/B,YAAA,YAAY,EAAE,eAAe;AAC7B,YAAA,mBAAmB,EACjB,2FAA2F;AAC7F,YAAA,MAAM,EAAE,iBAAiB;AACzB,YAAA,YAAY,EAAE,eAAe;AAC7B,YAAA,oCAAoC,EAAE,2CAA2C;AACjF,YAAA,2CAA2C,EACzC,kLAAkL;AACpL,YAAA,uBAAuB,EACrB,6GAA6G;AAChH,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,gBAAgB;AACvB,YAAA,WAAW,EAAE,0CAA0C;AACvD,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,+EAA+E;AACjF,YAAA,GAAG,EAAE,oBAAoB;AACzB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,mBAAmB,EAAE,mBAAmB;AACxC,YAAA,aAAa,EAAE,gBAAgB;AAC/B,YAAA,YAAY,EAAE,eAAe;AAC7B,YAAA,MAAM,EAAE,iBAAiB;AACzB,YAAA,YAAY,EAAE,eAAe;AAC7B,YAAA,mBAAmB,EACjB,wFAAwF;AAC1F,YAAA,oCAAoC,EAAE,4CAA4C;AAClF,YAAA,2CAA2C,EACzC,wJAAwJ;AAC1J,YAAA,uBAAuB,EACrB,oFAAoF;AACvF,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,gBAAgB;AACvB,YAAA,WAAW,EAAE,2DAA2D;AACxE,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,sEAAsE;AACxE,YAAA,GAAG,EAAE,oBAAoB;AACzB,YAAA,QAAQ,EAAE,YAAY;AACtB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,mBAAmB,EAAE,qBAAqB;AAC1C,YAAA,aAAa,EAAE,gBAAgB;AAC/B,YAAA,YAAY,EAAE,cAAc;AAC5B,YAAA,MAAM,EAAE,gBAAgB;AACxB,YAAA,YAAY,EAAE,eAAe;AAC7B,YAAA,mBAAmB,EACjB,8FAA8F;AAChG,YAAA,oCAAoC,EAAE,kDAAkD;AACxF,YAAA,2CAA2C,EACzC,oLAAoL;AACtL,YAAA,uBAAuB,EACrB,qGAAqG;AACxG,SAAA;AACF,KAAA;;;AC/FH;;;;;;;;;;;;;;AAcG;MAuBU,mCAAmC,CAAA;AAkC9C,IAAA,WAAA,CACmB,uBAAgD,EAChD,gBAAkC,EAClC,wBAAkD,EAAA;QAFlD,IAAuB,CAAA,uBAAA,GAAvB,uBAAuB,CAAyB;QAChD,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAClC,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;AA9B3D,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW,CAAC;AAC3D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAAuB,CAAC;AAIzB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAA6B,IAAI,CAAC,CAAC;AACnE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAErD,IAAgC,CAAA,gCAAA,GACvC,aAAa,CAAC;AACZ,YAAA,IAAI,CAAC,uBAAuB,CAAC,iCAAiC,CAC5D,+BAA+B,CAChC;AACD,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC,IAAI,CACLC,KAAG,CAAC,CAAC,CAAC,cAAc,CAAC,KACnB,cAAc,CAAC,GAAG,CAAC,aAAa,KAAK;YACnC,EAAE,EAAE,aAAa,CAAC,EAAE;YACpB,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,CAAM,GAAA,EAAA,IAAI,CAAC,wBAAwB,CAAC,OAAO,CACrE,OAAO,EACP,aAAa,CAAC,gBAAgB,CAAC,GAAG,CACnC,CAAE,CAAA;SACJ,CAAC,CAAC,CACJ,CACF,CAAC;KAMA;IAEJ,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC;KACtC;AAED,IAAA,eAAe,CAAC,SAA8B,EAAA;AAC5C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;KAC7B;AAEO,IAAA,WAAW,CAAC,SAA8B,EAAA;AAChD,QAAA,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,CAAC,kBAAkB;AAC5B,YAAA,SAAS,CAAC,GAAG;AACb,YAAA,SAAS,CAAC,eAAe;YACzB,SAAS,CAAC,iCAAiC,CAC5C,CAAC;AAEF,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxB;IAEO,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1C,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACb,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;AAChC,gBAAA,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACpC,iBAAA;AACH,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACJ;;iIA3EU,mCAAmC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAP,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnC,mCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mCAAmC,mQCrChD,6oFA0EA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAK,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDrCa,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAL/C,SAAS;+BACE,sCAAsC,EAAA,QAAA,EAAA,6oFAAA,EAAA,CAAA;8KAOvC,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACI,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;AE7CT;;;;;;;;;;;;;;AAcG;MAoBU,uCAAuC,CAAA;IA6DlD,WACmB,CAAA,gBAAkC,EAClC,wBAAkD,EAAA;QADlD,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAClC,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;AAxD3D,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW,CAAC;AAC3D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAA2B,CAAC;AAErC,QAAA,IAAA,CAAA,2BAA2B,GAAgC;YAClE,UAAU;YACV,kBAAkB;YAClB,QAAQ;YACR,mBAAmB;YACnB,eAAe;YACf,eAAe;YACf,QAAQ;YACR,aAAa;SACd,CAAC;QACO,IAA0B,CAAA,0BAAA,GACjC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CACtCF,KAAG,CAAC,MACF,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,oBAAoB,KAAK;AAC5D,YAAA,EAAE,EAAE,oBAAoB;AACxB,YAAA,IAAI,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,QAAQ,CAAC;SACjF,CAAC,CAAC,CACJ,CACF,CAAC;AAEK,QAAA,IAAA,CAAA,cAAc,GAA4B,CAAC,KAAK,CAAC,CAAC;QAClD,IAAoB,CAAA,oBAAA,GAC3B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CACtCA,KAAG,CAAC,MACF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,KAAK;AAC/B,YAAA,EAAE,EAAE,IAAI;AACR,YAAA,IAAI,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;SACjE,CAAC,CAAC,CACJ,CACF,CAAC;AACK,QAAA,IAAA,CAAA,YAAY,GAA0B;YAC7C,cAAc;YACd,kBAAkB;YAClB,YAAY;YACZ,cAAc;SACf,CAAC;QACO,IAAkB,CAAA,kBAAA,GACzB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CACtCA,KAAG,CAAC,MACF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,KAAK;AAC7B,YAAA,EAAE,EAAE,IAAI;AACR,YAAA,IAAI,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;SACjE,CAAC,CAAC,CACJ,CACF,CAAC;AAGa,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAiC,IAAI,CAAC,CAAC;AACvE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;KAK1D;IAEJ,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC;KACtC;AAED,IAAA,eAAe,CAAC,SAAkC,EAAA;AAChD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;KAC7B;AAEO,IAAA,WAAW,CAAC,SAAkC,EAAA;AACpD,QAAA,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,CAAC,qBAAqB;AAC/B,YAAA,SAAS,CAAC,IAAI;AACd,YAAA,SAAS,CAAC,MAAM;YAChB,SAAS,CAAC,oBAAoB,CAC/B,CAAC;AAEF,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxB;IAEO,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1C,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACb,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;AAChC,gBAAA,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACpC,iBAAA;AACH,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACJ;;qIArGU,uCAAuC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAR,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAW,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvC,uCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uCAAuC,wQClCpD,q4HA4GA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAN,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAK,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FD1Ea,uCAAuC,EAAA,UAAA,EAAA,CAAA;kBALnD,SAAS;+BACE,2CAA2C,EAAA,QAAA,EAAA,q4HAAA,EAAA,CAAA;2IAO5C,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACI,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;AE1CT;;;;;;;;;;;;;;AAcG;MAWU,2CAA2C,CAAA;AALxD,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW,CAAC;AAC3D,QAAA,IAAA,CAAA,aAAa,GAAsB,IAAI,YAAY,EAAO,CAAC;AAsBtE,KAAA;IAlBC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC;KACtC;IAEO,SAAS,GAAA;AACf,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACvB;IAEO,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;AACnD,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9B,SAAC,CAAC,CAAC;KACJ;;yIA7BU,2CAA2C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3C,2CAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2CAA2C,4QCzBxD,qyBAmBA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAG,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDMa,2CAA2C,EAAA,UAAA,EAAA,CAAA;kBALvD,SAAS;+BACE,+CAA+C,EAAA,QAAA,EAAA,qyBAAA,EAAA,CAAA;8BAOhD,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACI,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;AEjCT;;;;;;;;;;;;;;AAcG;MA8BU,yBAAyB,CAAA;;uHAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,iBAlBlC,mCAAmC;QACnC,uCAAuC;AACvC,QAAA,2CAA2C,aAG3C,YAAY;QACZ,yBAAyB;QACzB,UAAU;QACV,WAAW;QACX,YAAY;AACZ,QAAA,eAAe,aAGf,mCAAmC;QACnC,uCAAuC;QACvC,2CAA2C,CAAA,EAAA,CAAA,CAAA;AAGlC,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,YAblC,YAAY;QACZ,yBAAyB;QACzB,UAAU;QACV,WAAW;QACX,YAAY;QACZ,eAAe,CAAA,EAAA,CAAA,CAAA;4FAQN,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBApBrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,mCAAmC;wBACnC,uCAAuC;wBACvC,2CAA2C;AAC5C,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,yBAAyB;wBACzB,UAAU;wBACV,WAAW;wBACX,YAAY;wBACZ,eAAe;AAChB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,mCAAmC;wBACnC,uCAAuC;wBACvC,2CAA2C;AAC5C,qBAAA;AACF,iBAAA,CAAA;;;AC3CD;;;;;;;;;;;;;;AAcG;AAEH,MAAM,iCAAiC,GACrC,wpKAAwpK;;ACjB1pK;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;AAQH,MAAM,gCAAgC,GAAwB;AAC5D,IAAA,QAAQ,EAAE,eAAe;AACzB,IAAA,4BAA4B,EAAE,mCAAmC;AACjE,IAAA,gBAAgB,EAAE,iCAAiC;AACnD,IAAA,+BAA+B,EAAE;AAC/B,QAAA,qBAAqB,EAAE,uCAAuC;AAC9D,QAAA,yBAAyB,EAAE,2CAA2C;AACvE,KAAA;AACD,IAAA,kBAAkB,EAAE;AAClB,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,gBAAgB;AACvB,YAAA,WAAW,EAAE,8EAA8E;AAC3F,YAAA,qBAAqB,EAAE,kBAAkB;AACzC,YAAA,yBAAyB,EAAE,2BAA2B;AACtD,YAAA,4BAA4B,EAC1B,sEAAsE;AACxE,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,yBAAyB,EACvB,qHAAqH;AACvH,YAAA,GAAG,EAAE,oBAAoB;AACzB,YAAA,UAAU,EACR,yHAAyH;AAC3H,YAAA,eAAe,EAAE,sBAAsB;AACvC,YAAA,sBAAsB,EACpB,oFAAoF;AACtF,YAAA,QAAQ,EAAE,cAAc;AACxB,YAAA,eAAe,EACb,qGAAqG;AACvG,YAAA,oBAAoB,EAAE,8BAA8B;AACpD,YAAA,2BAA2B,EACzB,4EAA4E;AAC9E,YAAA,UAAU,EAAE,OAAO;AACnB,YAAA,iBAAiB,EAAE,kDAAkD;AACrE,YAAA,gBAAgB,EAAE,cAAc;AAChC,YAAA,uBAAuB,EAAE,2DAA2D;AACpF,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,gBAAgB,EAAE,kBAAkB;AACpC,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,iBAAiB,EAAE,mBAAmB;AACtC,YAAA,aAAa,EAAE,eAAe;AAC9B,YAAA,aAAa,EAAE,eAAe;AAC9B,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,qBAAqB,EAAE,mCAAmC;AAC1D,YAAA,4BAA4B,EAC1B,kHAAkH;AACpH,YAAA,iBAAiB,EAAE,+CAA+C;AAClE,YAAA,uBAAuB,EACrB,mIAAmI;AACrI,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,oBAAoB,EAAE,mCAAmC;AACzD,YAAA,2BAA2B,EACzB,oKAAoK;AACtK,YAAA,GAAG,EAAE,YAAY;AACjB,YAAA,YAAY,EAAE,cAAc;AAC5B,YAAA,gBAAgB,EAAE,kBAAkB;AACpC,YAAA,UAAU,EAAE,YAAY;AACxB,YAAA,YAAY,EAAE,cAAc;AAC5B,YAAA,iCAAiC,EAAE,oCAAoC;AACvE,YAAA,wCAAwC,EACtC,uKAAuK;AAC1K,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,gBAAgB;AACvB,YAAA,WAAW,EAAE,kEAAkE;AAC/E,YAAA,qBAAqB,EAAE,eAAe;AACtC,YAAA,yBAAyB,EAAE,wBAAwB;AACnD,YAAA,4BAA4B,EAC1B,iEAAiE;AACnE,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,iIAAiI;AACnI,YAAA,GAAG,EAAE,oBAAoB;AACzB,YAAA,UAAU,EACR,uHAAuH;AACzH,YAAA,eAAe,EAAE,mBAAmB;AACpC,YAAA,sBAAsB,EACpB,uJAAuJ;AACzJ,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,eAAe,EACb,qGAAqG;AACvG,YAAA,oBAAoB,EAAE,uBAAuB;AAC7C,YAAA,2BAA2B,EACzB,8EAA8E;AAChF,YAAA,UAAU,EAAE,OAAO;AACnB,YAAA,iBAAiB,EAAE,kDAAkD;AACrE,YAAA,gBAAgB,EAAE,aAAa;AAC/B,YAAA,uBAAuB,EAAE,sDAAsD;AAC/E,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,gBAAgB,EAAE,mBAAmB;AACrC,YAAA,MAAM,EAAE,UAAU;AAClB,YAAA,iBAAiB,EAAE,mBAAmB;AACtC,YAAA,aAAa,EAAE,SAAS;AACxB,YAAA,aAAa,EAAE,cAAc;AAC7B,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,qBAAqB,EAAE,wCAAwC;AAC/D,YAAA,4BAA4B,EAC1B,6FAA6F;AAC/F,YAAA,iBAAiB,EAAE,gDAAgD;AACnE,YAAA,uBAAuB,EACrB,0IAA0I;AAC5I,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,oBAAoB,EAAE,kCAAkC;AACxD,YAAA,2BAA2B,EACzB,2JAA2J;AAC7J,YAAA,GAAG,EAAE,OAAO;AACZ,YAAA,YAAY,EAAE,SAAS;AACvB,YAAA,gBAAgB,EAAE,iBAAiB;AACnC,YAAA,UAAU,EAAE,OAAO;AACnB,YAAA,YAAY,EAAE,UAAU;AACxB,YAAA,iCAAiC,EAAE,qCAAqC;AACxE,YAAA,wCAAwC,EACtC,mKAAmK;AACtK,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,gBAAgB;AACvB,YAAA,WAAW,EAAE,yEAAyE;AACtF,YAAA,qBAAqB,EAAE,oBAAoB;AAC3C,YAAA,yBAAyB,EAAE,kCAAkC;AAC7D,YAAA,4BAA4B,EAC1B,4EAA4E;AAC9E,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,kIAAkI;AACpI,YAAA,GAAG,EAAE,oBAAoB;AACzB,YAAA,UAAU,EACR,sHAAsH;AACxH,YAAA,eAAe,EAAE,mBAAmB;AACpC,YAAA,sBAAsB,EACpB,8LAA8L;AAChM,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,eAAe,EACb,yGAAyG;AAC3G,YAAA,oBAAoB,EAAE,yBAAyB;AAC/C,YAAA,2BAA2B,EACzB,oEAAoE;AACtE,YAAA,UAAU,EAAE,OAAO;AACnB,YAAA,iBAAiB,EAAE,wDAAwD;AAC3E,YAAA,gBAAgB,EAAE,cAAc;AAChC,YAAA,uBAAuB,EAAE,wDAAwD;AACjF,YAAA,QAAQ,EAAE,gBAAgB;AAC1B,YAAA,gBAAgB,EAAE,0BAA0B;AAC5C,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,iBAAiB,EAAE,0BAA0B;AAC7C,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,aAAa,EAAE,QAAQ;AACvB,YAAA,MAAM,EAAE,WAAW;AACnB,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,qBAAqB,EAAE,mCAAmC;AAC1D,YAAA,4BAA4B,EAC1B,qGAAqG;AACvG,YAAA,iBAAiB,EAAE,0DAA0D;AAC7E,YAAA,uBAAuB,EACrB,wIAAwI;AAC1I,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,oBAAoB,EAAE,+BAA+B;AACrD,YAAA,2BAA2B,EACzB,gLAAgL;AAClL,YAAA,GAAG,EAAE,gBAAgB;AACrB,YAAA,YAAY,EAAE,gBAAgB;AAC9B,YAAA,gBAAgB,EAAE,cAAc;AAChC,YAAA,UAAU,EAAE,WAAW;AACvB,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,iCAAiC,EAAE,yCAAyC;AAC5E,YAAA,wCAAwC,EACtC,kLAAkL;AACrL,SAAA;AACF,KAAA;;;ACjMH;;;;;;;;;;;;;;AAcG;MAcU,oCAAoC,CAAA;AAgC/C,IAAA,WAAA,CACmB,uBAAgD,EAChD,gBAAkC,EAClC,wBAAkD,EAAA;QAFlD,IAAuB,CAAA,uBAAA,GAAvB,uBAAuB,CAAyB;QAChD,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAClC,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;AA5B3D,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW,CAAC;AAC3D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAAwB,CAAC;AAI1B,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAA8B,IAAI,CAAC,CAAC;AACpE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAErD,IAAgC,CAAA,gCAAA,GACvC,aAAa,CAAC;AACZ,YAAA,IAAI,CAAC,uBAAuB,CAAC,iCAAiC,CAAC,6BAA6B,CAAC;AAC7F,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC,IAAI,CACLC,KAAG,CAAC,CAAC,CAAC,cAAc,CAAC,KACnB,cAAc,CAAC,GAAG,CAAC,aAAa,KAAK;YACnC,EAAE,EAAE,aAAa,CAAC,EAAE;YACpB,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,CAAM,GAAA,EAAA,IAAI,CAAC,wBAAwB,CAAC,OAAO,CACrE,OAAO,EACP,aAAa,CAAC,gBAAgB,CAAC,GAAG,CACnC,CAAE,CAAA;SACJ,CAAC,CAAC,CACJ,CACF,CAAC;KAMA;IAEJ,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC;KACtC;AAED,IAAA,eAAe,CAAC,SAA+B,EAAA;AAC7C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;KAC7B;AAEO,IAAA,WAAW,CAAC,SAA+B,EAAA;AACjD,QAAA,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,CAAC,kBAAkB;AAC5B,YAAA,SAAS,CAAC,GAAG;YACb,SAAS,CAAC,iCAAiC,CAC5C,CAAC;AAEF,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxB;IAEO,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1C,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACb,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;AAChC,gBAAA,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACpC,iBAAA;AACH,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACJ;;kIAxEU,oCAAoC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAP,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApC,oCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oCAAoC,oQC5BjD,6pEA6DA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAK,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDjCa,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBALhD,SAAS;+BACE,uCAAuC,EAAA,QAAA,EAAA,6pEAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,CAAA;8KAOxC,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACI,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;AEpCT;;;;;;;;;;;;;;AAcG;MAoBU,0BAA0B,CAAA;;wHAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;yHAA1B,0BAA0B,EAAA,YAAA,EAAA,CAXtB,oCAAoC,CAAA,EAAA,OAAA,EAAA,CAEjD,YAAY;QACZ,yBAAyB;QACzB,UAAU;QACV,WAAW;QACX,YAAY;AACZ,QAAA,eAAe,aAEP,oCAAoC,CAAA,EAAA,CAAA,CAAA;AAEnC,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,YATnC,YAAY;QACZ,yBAAyB;QACzB,UAAU;QACV,WAAW;QACX,YAAY;QACZ,eAAe,CAAA,EAAA,CAAA,CAAA;4FAIN,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAZtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,oCAAoC,CAAC;AACpD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,yBAAyB;wBACzB,UAAU;wBACV,WAAW;wBACX,YAAY;wBACZ,eAAe;AAChB,qBAAA;oBACD,OAAO,EAAE,CAAC,oCAAoC,CAAC;AAChD,iBAAA,CAAA;;;ACjCD;;;;;;;;;;;;;;AAcG;AAEH,MAAM,kCAAkC,GACtC,guLAAguL;;ACjBluL;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;AAMH,MAAM,iCAAiC,GAAwB;AAC7D,IAAA,QAAQ,EAAE,gBAAgB;AAC1B,IAAA,4BAA4B,EAAE,oCAAoC;AAClE,IAAA,gBAAgB,EAAE,kCAAkC;AAEpD,IAAA,kBAAkB,EAAE;AAClB,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,iBAAiB;AACxB,YAAA,GAAG,EAAE,qBAAqB;AAC1B,YAAA,UAAU,EAAE,uEAAuE;AACnF,YAAA,WAAW,EACT,6IAA6I;AAC/I,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,yBAAyB,EACvB,8EAA8E;AAChF,YAAA,iCAAiC,EAAE,oCAAoC;AACxE,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,iBAAiB;AACxB,YAAA,GAAG,EAAE,qBAAqB;AAC1B,YAAA,UAAU,EAAE,gEAAgE;AAC5E,YAAA,WAAW,EACT,6IAA6I;AAC/I,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,+EAA+E;AACjF,YAAA,iCAAiC,EAAE,qCAAqC;AACzE,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,iBAAiB;AACxB,YAAA,GAAG,EAAE,qBAAqB;AAC1B,YAAA,UAAU,EAAE,iEAAiE;AAC7E,YAAA,WAAW,EACT,0JAA0J;AAC5J,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,sEAAsE;AACxE,YAAA,iCAAiC,EAAE,yCAAyC;AAC7E,SAAA;AACF,KAAA;;;AC3DH;;;;;;;;;;;;;;AAcG;MAcU,8BAA8B,CAAA;AA+BzC,IAAA,WAAA,CACmB,uBAAgD,EAChD,gBAAkC,EAClC,wBAAkD,EAAA;QAFlD,IAAuB,CAAA,uBAAA,GAAvB,uBAAuB,CAAyB;QAChD,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAClC,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;AA3B3D,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW,CAAC;AAC3D,QAAA,IAAA,CAAA,aAAa,GAAiC,IAAI,YAAY,EAAkB,CAAC;AAI1E,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAwB,IAAI,CAAC,CAAC;AAC9D,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAErD,IAAgC,CAAA,gCAAA,GACvC,aAAa,CAAC;AACZ,YAAA,IAAI,CAAC,uBAAuB,CAAC,iCAAiC,CAAC,0BAA0B,CAAC;AAC1F,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC,IAAI,CACLF,KAAG,CAAC,CAAC,CAAC,cAAc,CAAC,KACnB,cAAc,CAAC,GAAG,CAAC,aAAa,KAAK;YACnC,EAAE,EAAE,aAAa,CAAC,EAAE;YACpB,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,CAAM,GAAA,EAAA,IAAI,CAAC,wBAAwB,CAAC,OAAO,CACrE,OAAO,EACP,aAAa,CAAC,gBAAgB,CAAC,GAAG,CACnC,CAAE,CAAA;SACJ,CAAC,CAAC,CACJ,CACF,CAAC;KAMA;IAEJ,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC;KACtC;AAED,IAAA,eAAe,CAAC,SAAyB,EAAA;AACvC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;KAC7B;AAEO,IAAA,WAAW,CAAC,SAAyB,EAAA;AAC3C,QAAA,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,CAAC,kBAAkB;AAC5B,YAAA,SAAS,CAAC,GAAG;YACb,SAAS,CAAC,iCAAiC,CAC5C,CAAC;AAEF,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxB;IAEO,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1C,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACb,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;AAChC,gBAAA,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACpC,iBAAA;AACH,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACJ;;4HAvEU,8BAA8B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAP,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA9B,8BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,8BAA8B,8PC5B3C,kwEA8DA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAK,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDlCa,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAL1C,SAAS;+BACE,iCAAiC,EAAA,QAAA,EAAA,kwEAAA,EAAA,CAAA;8KAOlC,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACI,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;AEpCT;;;;;;;;;;;;;;AAcG;MAcU,wCAAwC,CAAA;AAgCnD,IAAA,WAAA,CACmB,uBAAgD,EAChD,gBAAkC,EAClC,wBAAkD,EAAA;QAFlD,IAAuB,CAAA,uBAAA,GAAvB,uBAAuB,CAAyB;QAChD,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAClC,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;AA5B3D,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW,CAAC;AAC3D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAA4B,CAAC;AAI9B,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAkC,IAAI,CAAC,CAAC;AACxE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAErD,IAAgC,CAAA,gCAAA,GACvC,aAAa,CAAC;AACZ,YAAA,IAAI,CAAC,uBAAuB,CAAC,iCAAiC,CAAC,uBAAuB,CAAC;AACvF,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC,IAAI,CACLF,KAAG,CAAC,CAAC,CAAC,cAAc,CAAC,KACnB,cAAc,CAAC,GAAG,CAAC,aAAa,KAAK;YACnC,EAAE,EAAE,aAAa,CAAC,EAAE;YACpB,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,CAAM,GAAA,EAAA,IAAI,CAAC,wBAAwB,CAAC,OAAO,CACrE,OAAO,EACP,aAAa,CAAC,gBAAgB,CAAC,GAAG,CACnC,CAAE,CAAA;SACJ,CAAC,CAAC,CACJ,CACF,CAAC;KAMA;IAEJ,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC;KACtC;AAED,IAAA,eAAe,CAAC,SAAmC,EAAA;AACjD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;KAC7B;AAEO,IAAA,WAAW,CAAC,SAAmC,EAAA;AACrD,QAAA,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC;AAEtC,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxB;IAEO,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1C,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACb,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;AAChC,gBAAA,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACpC,iBAAA;AACH,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACJ;;sIApEU,wCAAwC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAP,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxC,wCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wCAAwC,0QC5BrD,wgEA4DA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAK,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDhCa,wCAAwC,EAAA,UAAA,EAAA,CAAA;kBALpD,SAAS;+BACE,6CAA6C,EAAA,QAAA,EAAA,wgEAAA,EAAA,CAAA;8KAO9C,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACI,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;AEpCT;;;;;;;;;;;;;;AAcG;MAWU,gDAAgD,CAAA;AAL7D,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW,CAAC;AAC3D,QAAA,IAAA,CAAA,aAAa,GAAsB,IAAI,YAAY,EAAO,CAAC;AAsBtE,KAAA;IAlBC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC;KACtC;IAEO,SAAS,GAAA;AACf,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACvB;IAEO,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;AACnD,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9B,SAAC,CAAC,CAAC;KACJ;;8IA7BU,gDAAgD,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhD,gDAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gDAAgD,mRCzB7D,0yBAmBA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAG,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDMa,gDAAgD,EAAA,UAAA,EAAA,CAAA;kBAL5D,SAAS;+BACE,sDAAsD,EAAA,QAAA,EAAA,0yBAAA,EAAA,CAAA;8BAOvD,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACI,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;AEjCT;;;;;;;;;;;;;;AAcG;MA8BU,oBAAoB,CAAA;;kHAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,iBAlB7B,8BAA8B;QAC9B,wCAAwC;AACxC,QAAA,gDAAgD,aAGhD,YAAY;QACZ,yBAAyB;QACzB,UAAU;QACV,WAAW;QACX,YAAY;AACZ,QAAA,eAAe,aAGf,8BAA8B;QAC9B,wCAAwC;QACxC,gDAAgD,CAAA,EAAA,CAAA,CAAA;AAGvC,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAb7B,YAAY;QACZ,yBAAyB;QACzB,UAAU;QACV,WAAW;QACX,YAAY;QACZ,eAAe,CAAA,EAAA,CAAA,CAAA;4FAQN,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBApBhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,8BAA8B;wBAC9B,wCAAwC;wBACxC,gDAAgD;AACjD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,yBAAyB;wBACzB,UAAU;wBACV,WAAW;wBACX,YAAY;wBACZ,eAAe;AAChB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,8BAA8B;wBAC9B,wCAAwC;wBACxC,gDAAgD;AACjD,qBAAA;AACF,iBAAA,CAAA;;;AC3CD;;;;;;;;;;;;;;AAcG;AAEH,MAAM,4BAA4B,GAChC,wpKAAwpK;;ACjB1pK;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;AAQH,MAAM,2BAA2B,GAAwB;AACvD,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,4BAA4B,EAAE,8BAA8B;AAC5D,IAAA,gBAAgB,EAAE,4BAA4B;AAC9C,IAAA,+BAA+B,EAAE;AAC/B,QAAA,uBAAuB,EAAE,wCAAwC;AACjE,QAAA,gCAAgC,EAAE,gDAAgD;AACnF,KAAA;AACD,IAAA,kBAAkB,EAAE;AAClB,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,WAAW;AAClB,YAAA,GAAG,EAAE,eAAe;AACpB,YAAA,UAAU,EACR,mHAAmH;AACrH,YAAA,WAAW,EACT,oIAAoI;AACtI,YAAA,uBAAuB,EAAE,0BAA0B;AACnD,YAAA,gCAAgC,EAAE,mCAAmC;AACrE,YAAA,iCAAiC,EAC/B,oFAAoF;AACtF,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,yBAAyB,EACvB,8EAA8E;AAChF,YAAA,WAAW,EAAE,uBAAuB;AACpC,YAAA,kBAAkB,EAChB,0GAA0G;AAC5G,YAAA,KAAK,EAAE,eAAe;AACtB,YAAA,YAAY,EACV,2FAA2F;AAC7F,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,mBAAmB,EACjB,kGAAkG;AACpG,YAAA,iCAAiC,EAAE,oCAAoC;AACvE,YAAA,wCAAwC,EACtC,uKAAuK;AACzK,YAAA,uBAAuB,EACrB,8FAA8F;AACjG,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,WAAW;AAClB,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,UAAU,EACR,iHAAiH;AACnH,YAAA,WAAW,EACT,mHAAmH;AACrH,YAAA,uBAAuB,EAAE,uBAAuB;AAChD,YAAA,gCAAgC,EAAE,gCAAgC;AAClE,YAAA,iCAAiC,EAC/B,mEAAmE;AACrE,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,+EAA+E;AACjF,YAAA,WAAW,EAAE,qBAAqB;AAClC,YAAA,kBAAkB,EAChB,4FAA4F;AAC9F,YAAA,KAAK,EAAE,gBAAgB;AACvB,YAAA,YAAY,EACV,gGAAgG;AAClG,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,mBAAmB,EACjB,sGAAsG;AACxG,YAAA,iCAAiC,EAAE,qCAAqC;AACxE,YAAA,wCAAwC,EACtC,mKAAmK;AACrK,YAAA,uBAAuB,EACrB,2FAA2F;AAC9F,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,WAAW;AAClB,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,UAAU,EACR,gHAAgH;AAClH,YAAA,WAAW,EACT,kHAAkH;AACpH,YAAA,uBAAuB,EAAE,8BAA8B;AACvD,YAAA,gCAAgC,EAAE,4CAA4C;AAC9E,YAAA,iCAAiC,EAC/B,4FAA4F;AAC9F,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,sEAAsE;AACxE,YAAA,WAAW,EAAE,kBAAkB;AAC/B,YAAA,kBAAkB,EAChB,iHAAiH;AACnH,YAAA,KAAK,EAAE,eAAe;AACtB,YAAA,YAAY,EACV,kGAAkG;AACpG,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,mBAAmB,EACjB,0GAA0G;AAC5G,YAAA,iCAAiC,EAAE,yCAAyC;AAC5E,YAAA,wCAAwC,EACtC,kLAAkL;AACpL,YAAA,uBAAuB,EACrB,mGAAmG;AACtG,SAAA;AACF,KAAA;;;ACtHH;;;;;;;;;;;;;;AAcG;MAcU,iCAAiC,CAAA;AA+B5C,IAAA,WAAA,CACmB,uBAAgD,EAChD,gBAAkC,EAClC,wBAAkD,EAAA;QAFlD,IAAuB,CAAA,uBAAA,GAAvB,uBAAuB,CAAyB;QAChD,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAClC,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;AA3B3D,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW,CAAC;AAC3D,QAAA,IAAA,CAAA,aAAa,GAAoC,IAAI,YAAY,EAAqB,CAAC;AAIhF,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAA2B,IAAI,CAAC,CAAC;AACjE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAErD,IAAgC,CAAA,gCAAA,GACvC,aAAa,CAAC;AACZ,YAAA,IAAI,CAAC,uBAAuB,CAAC,iCAAiC,CAAC,6BAA6B,CAAC;AAC7F,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC,IAAI,CACLC,KAAG,CAAC,CAAC,CAAC,cAAc,CAAC,KACnB,cAAc,CAAC,GAAG,CAAC,aAAa,KAAK;YACnC,EAAE,EAAE,aAAa,CAAC,EAAE;YACpB,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,CAAM,GAAA,EAAA,IAAI,CAAC,wBAAwB,CAAC,OAAO,CACrE,OAAO,EACP,aAAa,CAAC,gBAAgB,CAAC,GAAG,CACnC,CAAE,CAAA;SACJ,CAAC,CAAC,CACJ,CACF,CAAC;KAMA;IAEJ,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC;KACtC;AAED,IAAA,eAAe,CAAC,SAA4B,EAAA;AAC1C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;KAC7B;AAEO,IAAA,WAAW,CAAC,SAA4B,EAAA;AAC9C,QAAA,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,CAAC,kBAAkB;AAC5B,YAAA,SAAS,CAAC,GAAG;YACb,SAAS,CAAC,iCAAiC,CAC5C,CAAC;AAEF,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxB;IAEO,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1C,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACb,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;AAChC,gBAAA,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACpC,iBAAA;AACH,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACJ;;+HAvEU,iCAAiC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAP,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,iCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iCAAiC,iQC5B9C,6pEA6DA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAK,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDjCa,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAL7C,SAAS;+BACE,oCAAoC,EAAA,QAAA,EAAA,6pEAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,CAAA;8KAOrC,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACI,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;AEpCT;;;;;;;;;;;;;;AAcG;MAoBU,uBAAuB,CAAA;;qHAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;sHAAvB,uBAAuB,EAAA,YAAA,EAAA,CAXnB,iCAAiC,CAAA,EAAA,OAAA,EAAA,CAE9C,YAAY;QACZ,yBAAyB;QACzB,UAAU;QACV,WAAW;QACX,YAAY;AACZ,QAAA,eAAe,aAEP,iCAAiC,CAAA,EAAA,CAAA,CAAA;AAEhC,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,YAThC,YAAY;QACZ,yBAAyB;QACzB,UAAU;QACV,WAAW;QACX,YAAY;QACZ,eAAe,CAAA,EAAA,CAAA,CAAA;4FAIN,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAZnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,iCAAiC,CAAC;AACjD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,yBAAyB;wBACzB,UAAU;wBACV,WAAW;wBACX,YAAY;wBACZ,eAAe;AAChB,qBAAA;oBACD,OAAO,EAAE,CAAC,iCAAiC,CAAC;AAC7C,iBAAA,CAAA;;;ACjCD;;;;;;;;;;;;;;AAcG;AAEH,MAAM,+BAA+B,GACnC,guLAAguL;;ACjBluL;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;AAMH,MAAM,8BAA8B,GAAwB;AAC1D,IAAA,QAAQ,EAAE,aAAa;AACvB,IAAA,4BAA4B,EAAE,iCAAiC;AAC/D,IAAA,gBAAgB,EAAE,+BAA+B;AAEjD,IAAA,kBAAkB,EAAE;AAClB,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,GAAG,EAAE,kBAAkB;AACvB,YAAA,UAAU,EAAE,uCAAuC;AACnD,YAAA,WAAW,EACT,0IAA0I;AAC5I,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,yBAAyB,EACvB,+EAA+E;AACjF,YAAA,iCAAiC,EAAE,oCAAoC;AACxE,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,GAAG,EAAE,iBAAiB;AACtB,YAAA,UAAU,EAAE,kCAAkC;AAC9C,YAAA,WAAW,EACT,wIAAwI;AAC1I,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,+EAA+E;AACjF,YAAA,iCAAiC,EAAE,qCAAqC;AACzE,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,GAAG,EAAE,kBAAkB;AACvB,YAAA,UAAU,EAAE,mCAAmC;AAC/C,YAAA,WAAW,EACT,wJAAwJ;AAC1J,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,sEAAsE;AACxE,YAAA,iCAAiC,EAAE,yCAAyC;AAC7E,SAAA;AACF,KAAA;;;AC3DH;;;;;;;;;;;;;;AAcG;MAcU,iCAAiC,CAAA;AA4B5C,IAAA,WAAA,CACmB,uBAAgD,EAChD,gBAAkC,EAClC,wBAAkD,EAAA;QAFlD,IAAuB,CAAA,uBAAA,GAAvB,uBAAuB,CAAyB;QAChD,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAClC,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;AAxB3D,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW,CAAC;AAC3D,QAAA,IAAA,CAAA,aAAa,GAAoC,IAAI,YAAY,EAAqB,CAAC;QACxF,IAAgC,CAAA,gCAAA,GACvC,aAAa,CAAC;AACZ,YAAA,IAAI,CAAC,uBAAuB,CAAC,iCAAiC,CAAC,6BAA6B,CAAC;AAC7F,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC,IAAI,CACLF,KAAG,CAAC,CAAC,CAAC,cAAc,CAAC,KACnB,cAAc,CAAC,GAAG,CAAC,aAAa,KAAK;YACnC,EAAE,EAAE,aAAa,CAAC,EAAE;YACpB,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,CAAM,GAAA,EAAA,IAAI,CAAC,wBAAwB,CAAC,OAAO,CACrE,OAAO,EACP,aAAa,CAAC,gBAAgB,CAAC,GAAG,CACnC,CAAE,CAAA;SACJ,CAAC,CAAC,CACJ,CACF,CAAC;AAEa,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAA2B,IAAI,CAAC,CAAC;AACjE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;KAM1D;IAEJ,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC;KACtC;AAED,IAAA,eAAe,CAAC,SAA4B,EAAA;AAC1C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;KAC7B;AAEO,IAAA,WAAW,CAAC,SAA4B,EAAA;AAC9C,QAAA,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,CAAC,kBAAkB;AAC5B,YAAA,SAAS,CAAC,GAAG;YACb,SAAS,CAAC,iCAAiC,CAC5C,CAAC;AAEF,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxB;IAEO,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1C,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACb,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;AAChC,gBAAA,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACpC,iBAAA;AACH,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACJ;;+HApEU,iCAAiC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAP,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,iCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iCAAiC,iQC5B9C,6pEA6DA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAK,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDjCa,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAL7C,SAAS;+BACE,oCAAoC,EAAA,QAAA,EAAA,6pEAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,CAAA;8KAOrC,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACI,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;AEpCT;;;;;;;;;;;;;;AAcG;MAoBU,uBAAuB,CAAA;;qHAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;sHAAvB,uBAAuB,EAAA,YAAA,EAAA,CAXnB,iCAAiC,CAAA,EAAA,OAAA,EAAA,CAE9C,YAAY;QACZ,yBAAyB;QACzB,UAAU;QACV,WAAW;QACX,YAAY;AACZ,QAAA,eAAe,aAEP,iCAAiC,CAAA,EAAA,CAAA,CAAA;AAEhC,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,YAThC,YAAY;QACZ,yBAAyB;QACzB,UAAU;QACV,WAAW;QACX,YAAY;QACZ,eAAe,CAAA,EAAA,CAAA,CAAA;4FAIN,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAZnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,iCAAiC,CAAC;AACjD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,yBAAyB;wBACzB,UAAU;wBACV,WAAW;wBACX,YAAY;wBACZ,eAAe;AAChB,qBAAA;oBACD,OAAO,EAAE,CAAC,iCAAiC,CAAC;AAC7C,iBAAA,CAAA;;;ACjCD;;;;;;;;;;;;;;AAcG;AAEH,MAAM,+BAA+B,GACnC,wpKAAwpK;;ACjB1pK;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;AAMH,MAAM,8BAA8B,GAAwB;AAC1D,IAAA,QAAQ,EAAE,aAAa;AACvB,IAAA,4BAA4B,EAAE,iCAAiC;AAC/D,IAAA,gBAAgB,EAAE,+BAA+B;AACjD,IAAA,kBAAkB,EAAE;AAClB,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,GAAG,EAAE,kBAAkB;AACvB,YAAA,UAAU,EAAE,uCAAuC;AACnD,YAAA,WAAW,EACT,yFAAyF;AAC3F,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,yBAAyB,EACvB,oIAAoI;AACtI,YAAA,iCAAiC,EAAE,oCAAoC;AACxE,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,GAAG,EAAE,kBAAkB;AACvB,YAAA,UAAU,EAAE,mCAAmC;AAC/C,YAAA,WAAW,EACT,kFAAkF;AACpF,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,+HAA+H;AACjI,YAAA,iCAAiC,EAAE,qCAAqC;AACzE,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,GAAG,EAAE,kBAAkB;AACvB,YAAA,UAAU,EAAE,mCAAmC;AAC/C,YAAA,WAAW,EACT,0FAA0F;AAC5F,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,wHAAwH;AAC1H,YAAA,iCAAiC,EAAE,yCAAyC;AAC7E,SAAA;AACF,KAAA;;;AC1DH;;;;;;;;;;;;;;AAcG;MAcU,qCAAqC,CAAA;AA+BhD,IAAA,WAAA,CACmB,uBAAgD,EAChD,gBAAkC,EAClC,wBAAkD,EAAA;QAFlD,IAAuB,CAAA,uBAAA,GAAvB,uBAAuB,CAAyB;QAChD,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAClC,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;AA3B3D,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW,CAAC;AAC3D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAAyB,CAAC;QACnC,IAAgC,CAAA,gCAAA,GACvC,aAAa,CAAC;AACZ,YAAA,IAAI,CAAC,uBAAuB,CAAC,iCAAiC,CAC5D,iCAAiC,CAClC;AACD,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC,IAAI,CACLF,KAAG,CAAC,CAAC,CAAC,cAAc,CAAC,KACnB,cAAc,CAAC,GAAG,CAAC,aAAa,KAAK;YACnC,EAAE,EAAE,aAAa,CAAC,EAAE;YACpB,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,CAAM,GAAA,EAAA,IAAI,CAAC,wBAAwB,CAAC,OAAO,CACrE,OAAO,EACP,aAAa,CAAC,gBAAgB,CAAC,GAAG,CACnC,CAAE,CAAA;SACJ,CAAC,CAAC,CACJ,CACF,CAAC;AAEa,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAA+B,IAAI,CAAC,CAAC;AACrE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;KAM1D;IAEJ,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC;KACtC;AAED,IAAA,eAAe,CAAC,SAAgC,EAAA;AAC9C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;KAC7B;AAEO,IAAA,WAAW,CAAC,SAAgC,EAAA;AAClD,QAAA,MAAM,KAAK,GAAG,CAAC,EAAE,SAAS,CAAC,kBAAkB,IAAI,SAAS,CAAC,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,CAAC;AAEzF,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxB;IAEO,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1C,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACb,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;AAChC,gBAAA,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACpC,iBAAA;AACH,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACJ;;mIAnEU,qCAAqC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAP,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArC,qCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qCAAqC,qQC5BlD,mgFAwEA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAK,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FD5Ca,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBALjD,SAAS;+BACE,wCAAwC,EAAA,QAAA,EAAA,mgFAAA,EAAA,CAAA;8KAOzC,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACI,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;AEpCT;;;;;;;;;;;;;;AAcG;MAoBU,2BAA2B,CAAA;;yHAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;0HAA3B,2BAA2B,EAAA,YAAA,EAAA,CAXvB,qCAAqC,CAAA,EAAA,OAAA,EAAA,CAElD,YAAY;QACZ,yBAAyB;QACzB,UAAU;QACV,WAAW;QACX,YAAY;AACZ,QAAA,eAAe,aAEP,qCAAqC,CAAA,EAAA,CAAA,CAAA;AAEpC,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,YATpC,YAAY;QACZ,yBAAyB;QACzB,UAAU;QACV,WAAW;QACX,YAAY;QACZ,eAAe,CAAA,EAAA,CAAA,CAAA;4FAIN,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAZvC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,qCAAqC,CAAC;AACrD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,yBAAyB;wBACzB,UAAU;wBACV,WAAW;wBACX,YAAY;wBACZ,eAAe;AAChB,qBAAA;oBACD,OAAO,EAAE,CAAC,qCAAqC,CAAC;AACjD,iBAAA,CAAA;;;ACjCD;;;;;;;;;;;;;;AAcG;AAEH,MAAM,mCAAmC,GACvC,wpKAAwpK;;ACjB1pK;;;;;;;;;;;;;;AAcG;AAMH,MAAM,kCAAkC,GAAwB;AAC9D,IAAA,QAAQ,EAAE,iBAAiB;AAC3B,IAAA,4BAA4B,EAAE,qCAAqC;AACnE,IAAA,gBAAgB,EAAE,mCAAmC;AACrD,IAAA,kBAAkB,EAAE;AAClB,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,kBAAkB;AACzB,YAAA,GAAG,EAAE,sBAAsB;AAC3B,YAAA,UAAU,EAAE,2CAA2C;AACvD,YAAA,WAAW,EAAE,cAAc;AAC3B,YAAA,kBAAkB,EAAE,yEAAyE;AAC7F,YAAA,WAAW,EAAE,6DAA6D;AAC1E,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,yBAAyB,EACvB,oIAAoI;AACtI,YAAA,iCAAiC,EAAE,oCAAoC;AACxE,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,kBAAkB;AACzB,YAAA,GAAG,EAAE,sBAAsB;AAC3B,YAAA,UAAU,EAAE,uCAAuC;AACnD,YAAA,WAAW,EAAE,cAAc;AAC3B,YAAA,kBAAkB,EAAE,2DAA2D;AAC/E,YAAA,WAAW,EAAE,oDAAoD;AACjE,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,+HAA+H;AACjI,YAAA,iCAAiC,EAAE,qCAAqC;AACzE,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,kBAAkB;AACzB,YAAA,GAAG,EAAE,sBAAsB;AAC3B,YAAA,UAAU,EAAE,uCAAuC;AACnD,YAAA,WAAW,EAAE,cAAc;AAC3B,YAAA,kBAAkB,EAAE,0EAA0E;AAC9F,YAAA,WAAW,EAAE,gFAAgF;AAC7F,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,wHAAwH;AAC1H,YAAA,iCAAiC,EAAE,yCAAyC;AAC7E,SAAA;AACF,KAAA;;;AC7DH;;;;;;;;;;;;;;AAcG;MAYU,sCAAsC,CAAA;AALnD,IAAA,WAAA,GAAA;AAYY,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW,CAAC;AAC3D,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAA0B,CAAC;AAI5B,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAgC,IAAI,CAAC,CAAC;AACtE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;AAiC/D,KAAA;IA/BC,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC;KACtC;AAED,IAAA,eAAe,CAAC,SAAiC,EAAA;AAC/C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;KAC7B;AAEO,IAAA,WAAW,CAAC,SAAiC,EAAA;AACnD,QAAA,MAAM,KAAK,GAAG,CAAC,EAAE,SAAS,CAAC,kBAAkB,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,YAAY,CAAC,CAAC;AAE/F,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxB;IAEO,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1C,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACb,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;AAChC,gBAAA,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACpC,iBAAA;AACH,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACJ;;oIA9CU,sCAAsC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtC,sCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sCAAsC,sQC1BnD,u7DA0DA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAO,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDhCa,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBALlD,SAAS;+BACE,yCAAyC,EAAA,QAAA,EAAA,u7DAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,CAAA;8BAO1C,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACI,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;AElCT;;;;;;;;;;;;;;AAcG;MAaU,4BAA4B,CAAA;;0HAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;2HAA5B,4BAA4B,EAAA,YAAA,EAAA,CAJxB,sCAAsC,CAAA,EAAA,OAAA,EAAA,CAC3C,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,yBAAyB,CAAA,EAAA,OAAA,EAAA,CAChE,sCAAsC,CAAA,EAAA,CAAA,CAAA;AAErC,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,YAH7B,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,yBAAyB,CAAA,EAAA,CAAA,CAAA;4FAG/D,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,sCAAsC,CAAC;oBACtD,OAAO,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,yBAAyB,CAAC;oBAC3E,OAAO,EAAE,CAAC,sCAAsC,CAAC;AAClD,iBAAA,CAAA;;;AC1BD;;;;;;;;;;;;;;AAcG;AAEH,MAAM,oCAAoC,GACxC,ooYAAooY;;ACjBtoY;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;AAMH,MAAM,mCAAmC,GAAwB;AAC/D,IAAA,QAAQ,EAAE,+BAA+B;AACzC,IAAA,4BAA4B,EAAE,sCAAsC;AACpE,IAAA,gBAAgB,EAAE,oCAAoC;AACtD,IAAA,kBAAkB,EAAE;AAClB,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,kBAAkB;AACzB,YAAA,WAAW,EACT,kIAAkI;AACpI,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,yBAAyB,EACvB,8EAA8E;AAChF,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,eAAe,EACb,2MAA2M;AAC7M,YAAA,YAAY,EAAE,QAAQ;AACtB,YAAA,mBAAmB,EAAE,sDAAsD;AAC5E,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,kBAAkB;AACzB,YAAA,WAAW,EACT,iIAAiI;AACnI,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,iFAAiF;AACnF,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,eAAe,EACb,0MAA0M;AAC5M,YAAA,YAAY,EAAE,QAAQ;AACtB,YAAA,mBAAmB,EAAE,qDAAqD;AAC3E,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,kBAAkB;AACzB,YAAA,WAAW,EACT,gJAAgJ;AAClJ,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,yEAAyE;AAC3E,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,eAAe,EACb,+NAA+N;AACjO,YAAA,YAAY,EAAE,QAAQ;AACtB,YAAA,mBAAmB,EAAE,gEAAgE;AACtF,SAAA;AACF,KAAA;;;AChEH;;;;;;;;;;;;;;AAcG;MAWU,aAAa,CAAA;IAGxB,WAAoB,CAAA,IAAgB,EAAE,aAA4B,EAAA;QAA9C,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAClC,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;KACvE;IAEM,aAAa,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAG,EAAA,IAAI,CAAC,kBAAkB,CAAoC,kCAAA,CAAA,CAC/D,CAAC;KACH;;2GAXU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAP,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAI,EAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA;4FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACxBD;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;MAgBU,iCAAiC,CAAA;AAsC5C,IAAA,WAAA,CACmB,uBAAgD,EAChD,uBAAsC,EACtC,gBAAkC,EAClC,wBAAkD,EAAA;QAHlD,IAAuB,CAAA,uBAAA,GAAvB,uBAAuB,CAAyB;QAChD,IAAuB,CAAA,uBAAA,GAAvB,uBAAuB,CAAe;QACtC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAClC,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;AAnC3D,QAAA,IAAA,CAAA,KAAK,GAA0B,IAAI,YAAY,EAAW,CAAC;AAC3D,QAAA,IAAA,CAAA,aAAa,GAAoC,IAAI,YAAY,EAAqB,CAAC;QACxF,IAAiC,CAAA,iCAAA,GAAkC,aAAa,CAAC;AACxF,YAAA,IAAI,CAAC,uBAAuB,CAAC,4CAA4C,CAAC,iBAAiB,CAAC;AAC5F,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC,IAAI,CACLI,KAAG,CAAC,CAAC,CAAC,cAAc,CAAC,KACnB,cAAc,CAAC,GAAG,CAAC,aAAa,KAAK;YACnC,EAAE,EAAE,aAAa,CAAC,EAAE;YACpB,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,CAAM,GAAA,EAAA,IAAI,CAAC,wBAAwB,CAAC,OAAO,CACrE,OAAO,EACP,aAAa,CAAC,gBAAgB,CAAC,GAAG,CACnC,CAAE,CAAA;SACJ,CAAC,CAAC,CACJ,CACF,CAAC;QACO,IAAmC,CAAA,mCAAA,GAAkC,aAAa,CAAC;AAC1F,YAAA,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE;AAC5C,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC,IAAI,CACLA,KAAG,CAAC,CAAC,CAAC,8BAA8B,CAAC,KACnC,8BAA8B,CAAC,GAAG,CAAC,aAAa,KAAK;YACnD,EAAE,EAAE,aAAa,CAAC,EAAE;AACpB,YAAA,IAAI,EAAE,CAAA,EAAG,aAAa,CAAC,KAAK,CAAE,CAAA;SAC/B,CAAC,CAAC,CACJ,CACF,CAAC;AAEe,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAA2B,IAAI,CAAC,CAAC;AACjE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;KAO1D;IAEJ,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC;KACtC;AAED,IAAA,eAAe,CAAC,SAA4B,EAAA;AAC1C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;KAC7B;AAEO,IAAA,WAAW,CAAC,SAA4B,EAAA;AAC9C,QAAA,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,CAAC,kBAAkB;AAC5B,YAAA,SAAS,CAAC,kCAAkC;YAC5C,SAAS,CAAC,+BAA+B,CAC1C,CAAC;AAEF,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxB;IAEO,oBAAoB,GAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;YACnD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1C,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACb,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAI;AAChC,gBAAA,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACpC,iBAAA;AACH,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACJ;;+HA/EU,iCAAiC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAAG,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAP,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAH,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,iCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iCAAiC,gQC9B9C,2mFAmEA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAO,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAP,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAQ,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDrCa,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAL7C,SAAS;+BACE,mCAAmC,EAAA,QAAA,EAAA,2mFAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,CAAA;uMAOpC,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACI,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;AEtCT;;;;;;;;;;;;;;AAcG;MAoBU,uBAAuB,CAAA;;qHAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;sHAAvB,uBAAuB,EAAA,YAAA,EAAA,CAXnB,iCAAiC,CAAA,EAAA,OAAA,EAAA,CAE9C,YAAY;QACZ,yBAAyB;QACzB,UAAU;QACV,WAAW;QACX,YAAY;AACZ,QAAA,eAAe,aAEP,iCAAiC,CAAA,EAAA,CAAA,CAAA;AAEhC,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,YAThC,YAAY;QACZ,yBAAyB;QACzB,UAAU;QACV,WAAW;QACX,YAAY;QACZ,eAAe,CAAA,EAAA,CAAA,CAAA;4FAIN,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAZnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,iCAAiC,CAAC;AACjD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,yBAAyB;wBACzB,UAAU;wBACV,WAAW;wBACX,YAAY;wBACZ,eAAe;AAChB,qBAAA;oBACD,OAAO,EAAE,CAAC,iCAAiC,CAAC;AAC7C,iBAAA,CAAA;;;ACjCD;;;;;;;;;;;;;;AAcG;AAEH,MAAM,8BAA8B,GAClC,wpKAAwpK;;ACjB1pK;;;;;;;;;;;;;;AAcG;AAMH,MAAM,8BAA8B,GAAwB;AAC1D,IAAA,QAAQ,EAAE,aAAa;AACvB,IAAA,4BAA4B,EAAE,iCAAiC;AAC/D,IAAA,gBAAgB,EAAE,8BAA8B;AAChD,IAAA,kBAAkB,EAAE;AAClB,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,WAAW,EAAE,mEAAmE;AAChF,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,yBAAyB,EACvB,oIAAoI;AACtI,YAAA,kCAAkC,EAAE,yBAAyB;AAC7D,YAAA,yCAAyC,EACvC,qIAAqI;AACvI,YAAA,6BAA6B,EAAE,gCAAgC;AAC/D,YAAA,oCAAoC,EAClC,6JAA6J;AAChK,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,WAAW,EAAE,wDAAwD;AACrE,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,+HAA+H;AACjI,YAAA,kCAAkC,EAAE,yBAAyB;AAC7D,YAAA,yCAAyC,EACvC,sIAAsI;AACxI,YAAA,6BAA6B,EAAE,iCAAiC;AAChE,YAAA,oCAAoC,EAClC,oJAAoJ;AACvJ,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE,eAAe;AACtB,YAAA,WAAW,EACT,mFAAmF;AACrF,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,yBAAyB,EACvB,wHAAwH;AAC1H,YAAA,kCAAkC,EAAE,8BAA8B;AAClE,YAAA,yCAAyC,EACvC,0IAA0I;AAC5I,YAAA,6BAA6B,EAAE,gCAAgC;AAC/D,YAAA,oCAAoC,EAClC,mJAAmJ;AACtJ,SAAA;AACF,KAAA;;;ACjEH;;;;;;;;;;;;;;AAcG;;ACdH;;AAEG;;;;"}
1
+ {"version":3,"file":"valtimo-plugin.mjs","sources":["../../../../projects/valtimo/plugin/src/lib/constants/injection-tokens.ts","../../../../projects/valtimo/plugin/src/lib/constants/index.ts","../../../../projects/valtimo/plugin/src/lib/services/plugin.service.ts","../../../../projects/valtimo/plugin/src/lib/services/plugin-translation.service.ts","../../../../projects/valtimo/plugin/src/lib/services/plugin-management.service.ts","../../../../projects/valtimo/plugin/src/lib/services/index.ts","../../../../projects/valtimo/plugin/src/lib/models/plugin.ts","../../../../projects/valtimo/plugin/src/lib/models/index.ts","../../../../projects/valtimo/plugin/src/lib/pipes/plugin-translate/plugin-translate.pipe.ts","../../../../projects/valtimo/plugin/src/lib/pipes/plugin-translate/plugin-translate-pipe.module.ts","../../../../projects/valtimo/plugin/src/lib/pipes/plugin-translate/index.ts","../../../../projects/valtimo/plugin/src/lib/pipes/index.ts","../../../../projects/valtimo/plugin/src/lib/components/plugin-configuration-container/plugin-configuration-container.component.ts","../../../../projects/valtimo/plugin/src/lib/components/plugin-configuration-container/plugin-configuration-container.component.html","../../../../projects/valtimo/plugin/src/lib/components/plugin-configuration-container/plugin-configuration-container.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/open-zaak-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/assets/open-zaak-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/open-zaak-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/object-token-authentication-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/assets/object-token-authentication-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/object-token-authentication-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/smart-documents-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/assets/smart-documents-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/smart-documents-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/documenten-api-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/assets/documenten-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/documenten-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/objecttypen-api-plugin-module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/assets/objecttypen-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/objecttypen-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/zaken-api-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/assets/zaken-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/zaken-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/objecten-api-plugin-module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/assets/objecten-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/objecten-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/catalogi-api-plugin-module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/assets/catalogi-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/catalogi-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/notificaties-api-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/assets/notificaties-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/notificaties-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/open-notificaties-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/assets/open-notificaties-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/open-notificaties-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/services/object.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/portaaltaak-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/assets/portaaltaak-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/portaaltaak-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/services/verzoek-plugin.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/verzoek-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/assets/verzoek-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/verzoek-plugin.specification.ts","../../../../projects/valtimo/plugin/src/public-api.ts","../../../../projects/valtimo/plugin/src/valtimo-plugin.ts"],"sourcesContent":["/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken} from '@angular/core';\nimport {PluginConfig} from '../models';\n\nconst PLUGINS_TOKEN = new InjectionToken<PluginConfig>(\n 'Provide plugin config; an array of plugin specifications.'\n);\n\nexport {PLUGINS_TOKEN};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './injection-tokens';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Inject, Injectable} from '@angular/core';\nimport {PluginConfig, PluginSpecification} from '../models';\nimport {BehaviorSubject, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {PLUGINS_TOKEN} from '../constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PluginService {\n private readonly _pluginSpecifications$ = new BehaviorSubject<Array<PluginSpecification>>([]);\n private readonly _availablePluginIds$ = this._pluginSpecifications$.pipe(\n map(pluginSpecifications => pluginSpecifications.map(specification => specification.pluginId))\n );\n\n constructor(@Inject(PLUGINS_TOKEN) private readonly pluginConfig: PluginConfig) {\n this._pluginSpecifications$.next(pluginConfig);\n }\n\n get pluginSpecifications$(): Observable<Array<PluginSpecification>> {\n return this._pluginSpecifications$.asObservable();\n }\n\n get pluginSpecifications(): Array<PluginSpecification> {\n return this._pluginSpecifications$.getValue();\n }\n\n get availablePluginIds$(): Observable<Array<string>> {\n return this._availablePluginIds$;\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {TranslateService} from '@ngx-translate/core';\nimport {PluginService} from './plugin.service';\nimport {PluginSpecification} from '../models';\nimport {combineLatest, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PluginTranslationService {\n constructor(\n private readonly translateService: TranslateService,\n private readonly pluginService: PluginService\n ) {}\n\n translate(translateKey: string, pluginDefinitionKey: string): Observable<string> {\n return combineLatest([\n this.pluginService.pluginSpecifications$,\n this.translateService.stream('key'),\n ]).pipe(\n map(([pluginSpecifications]) =>\n this.getTranslation(pluginSpecifications, pluginDefinitionKey, translateKey)\n )\n );\n }\n\n instant(translateKey: string, pluginDefinitionKey: string): string {\n return this.getTranslation(\n this.pluginService.pluginSpecifications,\n pluginDefinitionKey,\n translateKey\n );\n }\n\n private getTranslation(\n pluginSpecifications: Array<PluginSpecification>,\n pluginDefinitionKey: string,\n translateKey: string\n ): string {\n const currentLang = this.translateService.currentLang;\n const pluginSpecification = pluginSpecifications.find(\n specification => specification.pluginId === pluginDefinitionKey\n );\n const translation = pluginSpecification?.pluginTranslations[currentLang][translateKey];\n return translation || `${pluginDefinitionKey}.${translateKey}`;\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {combineLatest, Observable} from 'rxjs';\nimport {\n PluginConfiguration,\n PluginConfigurationWithLogo,\n PluginDefinition,\n PluginFunction,\n} from '../models';\nimport {ConfigService} from '@valtimo/config';\nimport {map} from 'rxjs/operators';\nimport {PluginService} from './plugin.service';\nimport {DomSanitizer} from '@angular/platform-browser';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PluginManagementService {\n private readonly VALTIMO_API_ENDPOINT_URI = this.configService.config.valtimoApi.endpointUri;\n\n constructor(\n private readonly configService: ConfigService,\n private readonly pluginService: PluginService,\n private readonly sanitizer: DomSanitizer,\n private readonly http: HttpClient\n ) {}\n\n getPluginDefinitions(): Observable<Array<PluginDefinition>> {\n return this.http.get<Array<PluginDefinition>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/definition`\n );\n }\n\n getPluginFunctions(pluginDefinitionId: string): Observable<Array<PluginFunction>> {\n return this.http.get<Array<PluginFunction>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/definition/${pluginDefinitionId}/action`\n );\n }\n\n getAllPluginConfigurations(): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration`\n );\n }\n\n getPluginConfigurationsByPluginDefinitionKey(\n pluginDefinitionKey: string\n ): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration?pluginDefinitionKey=${pluginDefinitionKey}`\n );\n }\n\n getPluginConfigurationsByCategory(categoryId: string): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration?category=${categoryId}`\n );\n }\n\n getPluginConfigurationsWithActionsForActivityType(\n activityType: string\n ): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration?activityType=${activityType}`\n );\n }\n\n getAllPluginConfigurationsWithLogos(\n activityType?: string\n ): Observable<Array<PluginConfigurationWithLogo>> {\n return activityType && activityType.length > 0\n ? this.returnPluginConfigurationsWithLogos(\n this.getPluginConfigurationsWithActionsForActivityType(activityType)\n )\n : this.returnPluginConfigurationsWithLogos(this.getAllPluginConfigurations());\n }\n\n savePluginConfiguration(\n pluginConfiguration: PluginConfiguration\n ): Observable<PluginConfiguration> {\n return this.http.post<PluginConfiguration>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration`,\n pluginConfiguration\n );\n }\n\n updatePluginConfiguration(\n configurationId: string,\n configurationTitle: string,\n configurationProperties: object\n ): Observable<PluginConfiguration> {\n return this.http.put<PluginConfiguration>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration/${configurationId}`,\n {\n title: configurationTitle,\n properties: configurationProperties,\n }\n );\n }\n\n deletePluginConfiguration(configurationId: string): Observable<void> {\n return this.http.delete<void>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration/${configurationId}`\n );\n }\n\n private returnPluginConfigurationsWithLogos(\n pluginConfigurations$: Observable<Array<PluginConfiguration>>\n ): Observable<Array<PluginConfigurationWithLogo>> {\n return combineLatest([pluginConfigurations$, this.pluginService.pluginSpecifications$]).pipe(\n map(([pluginConfigurations, pluginSpecifications]) =>\n pluginConfigurations?.map(pluginConfiguration => {\n const pluginSpecification = pluginSpecifications.find(\n specification => specification.pluginId === pluginConfiguration?.pluginDefinition?.key\n );\n\n return {\n ...pluginConfiguration,\n ...(pluginSpecification?.pluginLogoBase64 && {\n pluginLogoBase64: this.sanitizer.bypassSecurityTrustResourceUrl(\n pluginSpecification?.pluginLogoBase64\n ),\n }),\n };\n })\n )\n );\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin.service';\nexport * from './plugin-translation.service';\nexport * from './plugin-management.service';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, Type} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {SafeResourceUrl} from '@angular/platform-browser';\n\ninterface PluginConfigurationData {\n configurationTitle: string;\n [key: string]: any;\n}\n\ninterface FunctionConfigurationData {\n [key: string]: any;\n}\n\ninterface ConfigurationComponent {\n save$: Observable<void>;\n disabled$: Observable<boolean>;\n pluginId: string;\n valid: EventEmitter<boolean>;\n}\n\ninterface PluginConfigurationComponent extends ConfigurationComponent {\n prefillConfiguration$?: Observable<PluginConfigurationData>;\n configuration: EventEmitter<PluginConfigurationData>;\n}\n\ninterface FunctionConfigurationComponent extends ConfigurationComponent {\n prefillConfiguration$?: Observable<FunctionConfigurationData>;\n configuration: EventEmitter<FunctionConfigurationData>;\n}\n\ninterface PluginSpecification {\n pluginId: string;\n pluginLogoBase64: string;\n pluginConfigurationComponent: Type<PluginConfigurationComponent>;\n functionConfigurationComponents?: {\n [functionId: string]: Type<FunctionConfigurationComponent>;\n };\n pluginTranslations: {\n [langKey: string]: {\n title: string;\n description: string;\n [translationKey: string]: string;\n };\n };\n}\n\ntype PluginConfig = Array<PluginSpecification>;\n\ntype ConfigurationComponentType = 'function' | 'configuration';\n\ninterface PluginDefinition {\n key: string;\n description?: string;\n title?: string;\n}\n\ninterface PluginDefinitionWithLogo extends PluginDefinition {\n pluginLogoBase64?: SafeResourceUrl;\n}\n\ninterface PluginConfiguration {\n definitionKey?: string;\n pluginDefinition?: PluginDefinition;\n id?: string;\n title: string;\n properties: object;\n}\n\ninterface PluginConfigurationWithLogo extends PluginConfiguration {\n pluginLogoBase64?: SafeResourceUrl;\n}\n\ninterface PluginFunction {\n description?: string;\n key: string;\n title?: string;\n}\n\nexport {\n PluginSpecification,\n PluginConfig,\n PluginConfigurationComponent,\n ConfigurationComponentType,\n PluginConfigurationData,\n FunctionConfigurationComponent,\n FunctionConfigurationData,\n PluginConfiguration,\n PluginDefinition,\n PluginFunction,\n PluginDefinitionWithLogo,\n PluginConfigurationWithLogo,\n};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Pipe, PipeTransform} from '@angular/core';\nimport {combineLatest, Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {TranslateService} from '@ngx-translate/core';\nimport {PluginService} from '../../services';\nimport {PluginSpecification} from '../../models';\nimport {PluginTranslationService} from '../../services/plugin-translation.service';\n\n@Pipe({\n name: 'pluginTranslate',\n})\nexport class PluginTranslatePipe implements PipeTransform {\n constructor(\n private readonly pluginTranslationService: PluginTranslationService,\n private readonly pluginService: PluginService\n ) {}\n\n transform(translateKey: string, pluginDefinitionKey: string): Observable<string> {\n return this.pluginTranslationService.translate(translateKey, pluginDefinitionKey);\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginTranslatePipe} from './plugin-translate.pipe';\nimport {NgModule} from '@angular/core';\nimport {TranslateModule} from '@ngx-translate/core';\n\n@NgModule({\n imports: [TranslateModule],\n declarations: [PluginTranslatePipe],\n exports: [PluginTranslatePipe],\n})\nexport class PluginTranslatePipeModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin-translate.pipe';\nexport * from './plugin-translate-pipe.module';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin-translate';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Component,\n ComponentRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {PluginService} from '../../services';\nimport {BehaviorSubject, combineLatest, Observable, Subscription} from 'rxjs';\nimport {map, take, tap} from 'rxjs/operators';\nimport {\n ConfigurationComponentType,\n FunctionConfigurationComponent,\n FunctionConfigurationData,\n PluginConfigurationComponent,\n PluginConfigurationData,\n} from '../../models';\n\n@Component({\n selector: 'valtimo-plugin-configuration-container',\n templateUrl: './plugin-configuration-container.component.html',\n styleUrls: ['./plugin-configuration-container.component.scss'],\n})\nexport class PluginConfigurationContainerComponent\n implements OnInit, OnDestroy, Omit<PluginConfigurationComponent, 'pluginId'>\n{\n @ViewChild('pluginConfigurationComponent', {static: true, read: ViewContainerRef})\n public dynamicContainer: ViewContainerRef;\n\n @Input() set type(type: ConfigurationComponentType) {\n this._componentType.next(type);\n }\n @Input() set pluginDefinitionKey(key: string) {\n this._pluginDefinitionKey.next(key);\n }\n @Input() set functionKey(key: string) {\n this._functionKey.next(key);\n }\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<PluginConfigurationData> =\n new EventEmitter<PluginConfigurationData>();\n\n readonly noConfigurationComponentAvailable$ = new BehaviorSubject<boolean>(false);\n readonly componentRef$ = new BehaviorSubject<\n ComponentRef<PluginConfigurationComponent | FunctionConfigurationComponent> | undefined\n >(undefined);\n\n private componentRefSubscription!: Subscription;\n private pluginSubscription!: Subscription;\n private validSubscription!: Subscription;\n private configurationSubscription!: Subscription;\n\n private readonly _componentType = new BehaviorSubject<ConfigurationComponentType | null>(null);\n private readonly _pluginDefinitionKey = new BehaviorSubject<string>('');\n private readonly _functionKey = new BehaviorSubject<string>('');\n\n constructor(private readonly pluginService: PluginService) {}\n\n ngOnInit(): void {\n this.openPluginSubscription();\n this.openComponentInstanceSubscription();\n }\n\n ngOnDestroy(): void {\n this.pluginSubscription?.unsubscribe();\n this.componentRefSubscription?.unsubscribe();\n }\n\n private openPluginSubscription(): void {\n this.pluginSubscription = combineLatest([\n this._pluginDefinitionKey,\n this._functionKey,\n this._componentType,\n this.pluginService.pluginSpecifications$,\n ])\n .pipe(\n tap(([pluginDefinitionKey, functionKey, componentType, pluginSpecifications]) => {\n let configurationComponent!: Type<\n PluginConfigurationComponent | FunctionConfigurationComponent\n >;\n\n this.dynamicContainer.clear();\n\n if (componentType === 'configuration' && pluginDefinitionKey) {\n configurationComponent = pluginSpecifications.find(\n specification => specification.pluginId === pluginDefinitionKey\n )?.pluginConfigurationComponent;\n } else if (componentType === 'function' && pluginDefinitionKey && functionKey) {\n const pluginSpecification = pluginSpecifications.find(\n specification => specification.pluginId === pluginDefinitionKey\n );\n configurationComponent =\n pluginSpecification?.functionConfigurationComponents[functionKey];\n }\n\n if (configurationComponent) {\n const componentRef = this.dynamicContainer.createComponent(configurationComponent);\n this.componentRef$.next(componentRef);\n this.noConfigurationComponentAvailable$.next(false);\n } else {\n this.noConfigurationComponentAvailable$.next(true);\n }\n })\n )\n .subscribe();\n }\n\n private openComponentInstanceSubscription(): void {\n this.componentRefSubscription = combineLatest([\n this.componentRef$,\n this._pluginDefinitionKey,\n ]).subscribe(([ref, pluginDefinitionKey]) => {\n const instance = ref?.instance;\n\n this.configurationSubscription?.unsubscribe();\n this.validSubscription?.unsubscribe();\n\n if (instance) {\n instance.save$ = this.save$;\n instance.disabled$ = this.disabled$;\n instance.pluginId = pluginDefinitionKey;\n\n if (this.prefillConfiguration$) {\n instance.prefillConfiguration$ = this.prefillConfiguration$;\n }\n\n this.validSubscription = instance.valid.subscribe(valid => {\n this.valid.emit(valid);\n });\n\n this.configurationSubscription = instance.configuration.subscribe(configuration => {\n this.configuration.emit(configuration);\n });\n }\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-template #pluginConfigurationComponent></ng-template>\n<ng-container *ngIf=\"noConfigurationComponentAvailable$ | async\">\n <v-paragraph [center]=\"true\">{{ 'plugin.noConfigurationComponent' | translate }}</v-paragraph>\n</ng-container>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {PluginConfigurationContainerComponent} from './plugin-configuration-container.component';\nimport {ParagraphModule, TitleModule} from '@valtimo/user-interface';\nimport {SpinnerModule} from '@valtimo/components';\nimport {TranslateModule} from '@ngx-translate/core';\n\n@NgModule({\n declarations: [PluginConfigurationContainerComponent],\n imports: [CommonModule, ParagraphModule, TranslateModule],\n exports: [PluginConfigurationContainerComponent],\n})\nexport class PluginConfigurationContainerModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent, PluginConfigurationData} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {openZaakPluginSpecification} from '../../open-zaak-plugin.specification';\nimport {OpenZaakConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-open-zaak-configuration',\n templateUrl: './open-zaak-configuration.component.html',\n styleUrls: ['./open-zaak-configuration.component.scss'],\n})\nexport class OpenZaakConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<OpenZaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<OpenZaakConfig> = new EventEmitter<OpenZaakConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<OpenZaakConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: OpenZaakConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: OpenZaakConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.clientId && formValue.clientSecret);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [widthPx]=\"350\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"clientId\"\n [title]=\"'clientId' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [widthPx]=\"350\"\n [required]=\"true\"\n [tooltip]=\"'clientIdTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"clientSecret\"\n type=\"password\"\n [title]=\"'clientSecret' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientSecret\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n [tooltip]=\"'clientSecretTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {OpenZaakConfigurationComponent} from './components/open-zaak-configuration/open-zaak-configuration.component';\nimport {FormModule, InputModule} from '@valtimo/user-interface';\nimport {SpinnerModule} from '@valtimo/components';\nimport {PluginTranslatePipeModule} from '../../pipes';\n\n@NgModule({\n declarations: [OpenZaakConfigurationComponent],\n imports: [CommonModule, FormModule, InputModule, PluginTranslatePipeModule],\n exports: [OpenZaakConfigurationComponent],\n})\nexport class OpenZaakPluginModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OPEN_ZAAK_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\n\nexport {OPEN_ZAAK_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './open-zaak-plugin-logo';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {OpenZaakConfigurationComponent} from './components/open-zaak-configuration/open-zaak-configuration.component';\nimport {OPEN_ZAAK_PLUGIN_LOGO_BASE64} from './assets';\n\nconst openZaakPluginSpecification: PluginSpecification = {\n pluginId: 'openzaak',\n pluginConfigurationComponent: OpenZaakConfigurationComponent,\n pluginLogoBase64: OPEN_ZAAK_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'OpenZaak',\n description:\n 'OpenZaak is een productiewaardig API platform die de API-standaard voor zaakgericht werken implementeert (de ZGW-API’s).',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Vul hier het clientId in dat geconfigureerd staat onder OpenZaak-beheer (zie API authorisaties > Applicaties). Dit clientId moet de juiste authorisaties hebben voor de benodigde functionaliteit',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Vul de secret in die hoort bij de clientId hierboven',\n },\n en: {\n title: 'OpenZaak',\n description:\n 'OpenZaak is a production-worthy API platform that implements the API standard for case-oriented working (the ZGW APIs).',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'Under this name, the plugin will be recognizable in the rest of the application',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Enter the clientId here which is configured under OpenZaak management (see API authorizations > Applications). This clientId must have the correct authorizations for the required functionality',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Enter the secret associated with the clientId above',\n },\n de: {\n title: 'OpenZaak',\n description:\n 'OpenZaak ist eine produktionstaugliche API-Plattform, die den API-Standard für fallorientiertes Arbeiten (die ZGW-APIs) implementiert.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Unter diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Geben Sie hier die clientId ein, die unter OpenZaak-Verwaltung konfiguriert ist (siehe API-Berechtigungen > Anwendungen). Diese clientId muss die richtigen Berechtigungen für die erforderliche Funktionalität haben',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Geben Sie das mit der obigen clientId verknüpfte Geheimnis ein',\n },\n },\n};\n\nexport {openZaakPluginSpecification};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {ObjectTokenAuthenticationConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-object-token-authentication-configuration',\n templateUrl: './object-token-authencation-configuration.component.html',\n styleUrls: ['./object-token-authencation-configuration.component.scss'],\n})\nexport class ObjectTokenAuthencationConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ObjectTokenAuthenticationConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ObjectTokenAuthenticationConfig> =\n new EventEmitter<ObjectTokenAuthenticationConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ObjectTokenAuthenticationConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ObjectTokenAuthenticationConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ObjectTokenAuthenticationConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.token);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [widthPx]=\"350\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"token\"\n type=\"password\"\n [title]=\"'token' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [required]=\"true\"\n [tooltip]=\"'tokenTooltip' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {ObjectTokenAuthencationConfigurationComponent} from './components/object-token-authentication-configuration/object-token-authencation-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule} from '@valtimo/user-interface';\nimport {NgModule} from '@angular/core';\n\n@NgModule({\n declarations: [ObjectTokenAuthencationConfigurationComponent],\n imports: [CommonModule, PluginTranslatePipeModule, FormModule, InputModule],\n exports: [ObjectTokenAuthencationConfigurationComponent],\n})\nexport class ObjectTokenAuthenticationPluginModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\nexport {OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ObjectTokenAuthencationConfigurationComponent} from './components/object-token-authentication-configuration/object-token-authencation-configuration.component';\nimport {OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64} from './assets/object-token-authentication-plugin-logo';\n\nconst objectTokenAuthenticationPluginSpecification: PluginSpecification = {\n pluginId: 'objecttokenauthentication',\n pluginConfigurationComponent: ObjectTokenAuthencationConfigurationComponent,\n pluginLogoBase64: OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64,\n\n pluginTranslations: {\n nl: {\n title: 'Object token authenticatie',\n description:\n 'Auhenticatie met behulp van tokens voor gebruik door de Objecten API en Objecttypen API.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plug-in te herkennen zijn in de rest van de applicatie',\n token: 'Token',\n tokenTooltip:\n 'Het token is een sleutel waarmee toestemmingen verleend zijn om specifieke objecttypen en objecten te mogen ophalen',\n },\n en: {\n title: 'Object token authentication',\n description: 'Authentication using tokens for use by the Objects API and Object Types API.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n token: 'Token',\n tokenTooltip:\n 'The token is a key that grants permissions to access specific object types and objects',\n },\n de: {\n title: 'Object Token-Authentifizierung',\n description:\n 'Authentifizierung mit Token zur Verwendung durch die Objects-API und die Object Types-API.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n token: 'Token',\n tokenTooltip:\n 'Das Token ist ein Schlüssel, der Berechtigungen zum Anzeigen bestimmter Objekttypen und Objekte erteilt',\n },\n },\n};\n\nexport {objectTokenAuthenticationPluginSpecification};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take, tap} from 'rxjs';\nimport {SmartDocumentsConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-smart-documents-configuration',\n templateUrl: './smart-documents-configuration.component.html',\n styleUrls: ['./smart-documents-configuration.component.scss'],\n})\nexport class SmartDocumentsConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<SmartDocumentsConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<SmartDocumentsConfig> =\n new EventEmitter<SmartDocumentsConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<SmartDocumentsConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: SmartDocumentsConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: SmartDocumentsConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.password &&\n formValue.username\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [widthPx]=\"350\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"username\"\n [title]=\"'username' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.username\"\n [required]=\"true\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"password\"\n type=\"password\"\n [title]=\"'password' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.password\"\n [required]=\"true\"\n [widthPx]=\"350\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {\n FunctionConfigurationComponent,\n FunctionConfigurationData,\n PluginConfigurationComponent,\n PluginConfigurationData,\n} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {DocumentFormat, GenerateDocumentConfig, SmartDocumentsConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-generate-document-configuration',\n templateUrl: './generate-document-configuration.component.html',\n styleUrls: ['./generate-document-configuration.component.scss'],\n})\nexport class GenerateDocumentConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GenerateDocumentConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GenerateDocumentConfig> =\n new EventEmitter<GenerateDocumentConfig>();\n\n readonly FORMATS: Array<DocumentFormat> = ['DOCX', 'HTML', 'PDF', 'XML'];\n readonly FORMAT_SELECT_ITEMS: Array<{id: string; text: string}> = this.FORMATS.map(format => ({\n id: format,\n text: format,\n }));\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<GenerateDocumentConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GenerateDocumentConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GenerateDocumentConfig): void {\n const valid = !!(\n formValue.templateGroup &&\n formValue.templateName &&\n formValue.format &&\n formValue.resultingDocumentProcessVariableName &&\n formValue.templateData?.length > 0\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'generateDocumentWarning' | pluginTranslate : pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"templateGroup\"\n [title]=\"'templateGroup' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.templateGroup\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"templateName\"\n [title]=\"'templateName' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.templateName\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"resultingDocumentProcessVariableName\"\n [title]=\"'resultingDocumentProcessVariableName' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultingDocumentProcessVariableName\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'resultingDocumentProcessVariableNameTooltip' | pluginTranslate : pluginId | async\"\n [required]=\"true\"\n >\n </v-input>\n <v-select\n [items]=\"FORMAT_SELECT_ITEMS\"\n [margin]=\"true\"\n [widthInPx]=\"150\"\n name=\"format\"\n [title]=\"'format' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.format\"\n [required]=\"true\"\n ></v-select>\n <v-multi-input\n name=\"templateData\"\n [title]=\"'templateData' | pluginTranslate : pluginId | async\"\n type=\"keyValue\"\n [disabled]=\"obs.disabled\"\n [defaultValues]=\"obs.prefill?.templateData\"\n [margin]=\"true\"\n [required]=\"true\"\n [tooltip]=\"'templateDataTooltip' | pluginTranslate : pluginId | async\"\n ></v-multi-input>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {SmartDocumentsConfigurationComponent} from './components/smart-documents-configuration/smart-documents-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {\n FormModule,\n InputModule,\n SelectModule,\n MultiInputModule,\n ParagraphModule,\n} from '@valtimo/user-interface';\nimport {GenerateDocumentConfigurationComponent} from './components/generate-document-configuration/generate-document-configuration.component';\n\n@NgModule({\n declarations: [SmartDocumentsConfigurationComponent, GenerateDocumentConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n MultiInputModule,\n ParagraphModule,\n ],\n exports: [SmartDocumentsConfigurationComponent, GenerateDocumentConfigurationComponent],\n})\nexport class SmartDocumentsPluginModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst SMART_DOCUMENTS_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\n\nexport {SMART_DOCUMENTS_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './smart-documents-plugin-logo';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {SmartDocumentsConfigurationComponent} from './components/smart-documents-configuration/smart-documents-configuration.component';\nimport {SMART_DOCUMENTS_PLUGIN_LOGO_BASE64} from './assets';\nimport {GenerateDocumentConfigurationComponent} from './components/generate-document-configuration/generate-document-configuration.component';\n\nconst smartDocumentsPluginSpecification: PluginSpecification = {\n pluginId: 'smartdocuments',\n pluginConfigurationComponent: SmartDocumentsConfigurationComponent,\n pluginLogoBase64: SMART_DOCUMENTS_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'generate-document': GenerateDocumentConfigurationComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'SmartDocuments',\n description: 'Automatiseer documenten met slimme templates.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n url: 'SmartDocuments URL',\n username: 'Gebruikersnaam',\n password: 'Wachtwoord',\n 'generate-document': 'Document genereren',\n templateGroup: 'Template-groep',\n templateName: 'Template-naam',\n templateDataTooltip:\n 'De rechter value-kolom ondersteunt ook het gebruik van procesvariabelen zoals pv: en doc:',\n format: 'Documentformaat',\n templateData: 'Template-data',\n resultingDocumentProcessVariableName: 'Naam procesvariabele voor opslag document',\n resultingDocumentProcessVariableNameTooltip:\n 'De locatie van het gegenereerde document wordt opgeslagen in een procesvariabele. Deze procesvariabele kan gebruikt worden om het document te verwerken in een andere BPMN-taak.',\n generateDocumentWarning:\n 'Deze actie genereert een tijdelijk bestand. Het verwerken hiervan moet door een andere actie worden gedaan.',\n },\n en: {\n title: 'SmartDocuments',\n description: 'Automate documents with smart templates.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n url: 'SmartDocuments URL',\n username: 'Username',\n password: 'Password',\n 'generate-document': 'Generate document',\n templateGroup: 'Template group',\n templateName: 'Template name',\n format: 'Document format',\n templateData: 'Template data',\n templateDataTooltip:\n 'The right value-column also supports the use of process variables such as pv: and doc:',\n resultingDocumentProcessVariableName: 'Process variable name for storing document',\n resultingDocumentProcessVariableNameTooltip:\n 'The location of the generated document is stored in a process variable. This process variable can be used to access the document in another BPMN task.',\n generateDocumentWarning:\n 'This action generates a temporary file. It needs to be stored in a following task.',\n },\n de: {\n title: 'SmartDocuments',\n description: 'Automatisieren Sie Dokumente mit intelligenten Templates.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n url: 'SmartDocuments URL',\n username: 'Nutzername',\n password: 'Passwort',\n 'generate-document': 'Dokument generieren',\n templateGroup: 'Templategruppe',\n templateName: 'Templatename',\n format: 'Dokumentformat',\n templateData: 'Templatedaten',\n templateDataTooltip:\n 'Die rechte Wertespalte unterstützt auch die Verwendung von Prozessvariablen wie pv: und doc:',\n resultingDocumentProcessVariableName: 'Prozessvariablenname zum Speichern des Dokuments',\n resultingDocumentProcessVariableNameTooltip:\n 'Der Ort des generierten Dokuments wird in einer Prozessvariablen gespeichert. Diese Prozessvariable wird verwendet, um in einer anderen BPMN-Aufgabe auf das Dokument zuzugreifen.',\n generateDocumentWarning:\n 'Diese Aktion erzeugt eine temporäre Datei. Die Verarbeitung muss durch eine andere Aktion erfolgen.',\n },\n },\n};\n\nexport {smartDocumentsPluginSpecification};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n map,\n Observable,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {DocumentenApiConfig, DocumentStatus} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n selector: 'valtimo-documenten-api-configuration',\n templateUrl: './documenten-api-configuration.component.html',\n styleUrls: ['./documenten-api-configuration.component.scss'],\n})\nexport class DocumentenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<DocumentenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DocumentenApiConfig> =\n new EventEmitter<DocumentenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<DocumentenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory(\n 'documenten-api-authentication'\n ),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: DocumentenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: DocumentenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.bronorganisatie &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate : pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"bronorganisatie\"\n type=\"digitOnly\"\n [title]=\"'bronorganisatie' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.bronorganisatie\"\n [required]=\"true\"\n [widthPx]=\"150\"\n [tooltip]=\"'bronorganisatieTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [tooltip]=\"'authenticationPluginConfigurationTooltip' | pluginTranslate : pluginId | async\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {\n FunctionConfigurationComponent,\n FunctionConfigurationData,\n PluginConfigurationComponent,\n PluginConfigurationData,\n} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {StoreTempDocumentConfig, DocumentLanguage, DocumentStatus} from '../../models';\nimport {TranslateService} from '@ngx-translate/core';\nimport {PluginTranslationService} from '../../../../services';\nimport {ConfidentialityLevel} from '../../../documenten-api/models';\n\n@Component({\n selector: 'valtimo-store-temp-document-configuration',\n templateUrl: './store-temp-document-configuration.component.html',\n styleUrls: ['./store-temp-document-configuration.component.scss'],\n})\nexport class StoreTempDocumentConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<StoreTempDocumentConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<StoreTempDocumentConfig> =\n new EventEmitter<StoreTempDocumentConfig>();\n\n readonly CONFIDENTIALITY_LEVEL_ITEMS: Array<ConfidentialityLevel> = [\n 'openbaar',\n 'beperkt_openbaar',\n 'intern',\n 'zaakvertrouwelijk',\n 'vertrouwelijk',\n 'confidentieel',\n 'geheim',\n 'zeer_geheim',\n ];\n readonly confidentialityLevelItems$: Observable<Array<{id: string; text: string}>> =\n this.translateService.stream('key').pipe(\n map(() =>\n this.CONFIDENTIALITY_LEVEL_ITEMS.map(confidentialityLevel => ({\n id: confidentialityLevel,\n text: this.pluginTranslationService.instant(confidentialityLevel, this.pluginId),\n }))\n )\n );\n\n readonly LANGUAGE_ITEMS: Array<DocumentLanguage> = ['nld'];\n readonly languageSelectItems$: Observable<Array<{id: DocumentLanguage; text: string}>> =\n this.translateService.stream('key').pipe(\n map(() =>\n this.LANGUAGE_ITEMS.map(item => ({\n id: item,\n text: this.pluginTranslationService.instant(item, this.pluginId),\n }))\n )\n );\n readonly STATUS_ITEMS: Array<DocumentStatus> = [\n 'in_bewerking',\n 'ter_vaststelling',\n 'definitief',\n 'gearchiveerd',\n ];\n readonly statusSelectItems$: Observable<Array<{id: DocumentStatus; text: string}>> =\n this.translateService.stream('key').pipe(\n map(() =>\n this.STATUS_ITEMS.map(item => ({\n id: item,\n text: this.pluginTranslationService.instant(item, this.pluginId),\n }))\n )\n );\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<StoreTempDocumentConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: StoreTempDocumentConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: StoreTempDocumentConfig): void {\n const valid = !!(\n formValue.localDocumentLocation &&\n formValue.taal &&\n formValue.status &&\n formValue.informatieobjecttype\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"fileName\"\n [title]=\"'fileName' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.fileName\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'fileNameTooltip' | pluginTranslate : pluginId | async\"\n ></v-input>\n <v-select\n [items]=\"confidentialityLevelItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"200\"\n name=\"confidentialityLevel\"\n [title]=\"'confidentialityLevel' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.confidentialityLevel || CONFIDENTIALITY_LEVEL_ITEMS[3]\"\n [tooltip]=\"'confidentialityLevelTooltip' | pluginTranslate : pluginId | async\"\n ></v-select>\n <v-input\n name=\"title\"\n [title]=\"'inputTitle' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.title\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'inputTitleTooltip' | pluginTranslate : pluginId | async\"\n ></v-input>\n <v-input\n name=\"description\"\n [title]=\"'inputDescription' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.description\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'inputDescriptionTooltip' | pluginTranslate : pluginId | async\"\n ></v-input>\n <v-input\n name=\"localDocumentLocation\"\n [title]=\"'localDocumentLocation' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.localDocumentLocation\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'localDocumentLocationTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"storedDocumentUrl\"\n [title]=\"'storedDocumentUrl' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.storedDocumentUrl\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'storeDocumentUrlTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <v-select\n [items]=\"languageSelectItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"200\"\n name=\"taal\"\n [title]=\"'taal' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.taal || LANGUAGE_ITEMS[0]\"\n [required]=\"true\"\n ></v-select>\n <v-select\n [items]=\"statusSelectItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"200\"\n name=\"status\"\n [title]=\"'status' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.status || STATUS_ITEMS[2]\"\n [required]=\"true\"\n ></v-select>\n <v-input\n name=\"informatieobjecttype\"\n [title]=\"'informatieobjecttype' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.informatieobjecttype\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'informatieobjecttypeTooltip' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {Observable, Subscription} from 'rxjs';\n\n@Component({\n selector: 'valtimo-store-uploaded-document-configuration',\n templateUrl: './store-uploaded-document-configuration.component.html',\n styleUrls: ['./store-uploaded-document-configuration.component.scss'],\n})\nexport class StoreUploadedDocumentConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n\n private saveSubscription!: Subscription;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.emitValid();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private emitValid(): void {\n this.valid.emit(true);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n this.configuration.emit({});\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [center]=\"true\" [fullWidth]=\"true\">\n {{ 'storeUploadedDocumentMessage' | pluginTranslate : pluginId | async }}\n</v-paragraph>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DocumentenApiConfigurationComponent} from './components/documenten-api-configuration/documenten-api-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/user-interface';\nimport {StoreTempDocumentConfigurationComponent} from './components/store-temp-document/store-temp-document-configuration.component';\nimport {StoreUploadedDocumentConfigurationComponent} from './components/store-uploaded-document/store-uploaded-document-configuration.component';\n\n@NgModule({\n declarations: [\n DocumentenApiConfigurationComponent,\n StoreTempDocumentConfigurationComponent,\n StoreUploadedDocumentConfigurationComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [\n DocumentenApiConfigurationComponent,\n StoreTempDocumentConfigurationComponent,\n StoreUploadedDocumentConfigurationComponent,\n ],\n})\nexport class DocumentenApiPluginModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst DOCUMENTEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\n\nexport {DOCUMENTEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './documenten-api-plugin-logo';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {StoreTempDocumentConfigurationComponent} from './components/store-temp-document/store-temp-document-configuration.component';\nimport {DOCUMENTEN_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {DocumentenApiConfigurationComponent} from './components/documenten-api-configuration/documenten-api-configuration.component';\nimport {StoreUploadedDocumentConfigurationComponent} from './components/store-uploaded-document/store-uploaded-document-configuration.component';\n\nconst documentenApiPluginSpecification: PluginSpecification = {\n pluginId: 'documentenapi',\n pluginConfigurationComponent: DocumentenApiConfigurationComponent,\n pluginLogoBase64: DOCUMENTEN_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'store-temp-document': StoreTempDocumentConfigurationComponent,\n 'store-uploaded-document': StoreUploadedDocumentConfigurationComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Documenten API',\n description: 'API voor opslag en ontsluiting van documenten en daarbij behorende metadata.',\n 'store-temp-document': 'Document opslaan',\n 'store-uploaded-document': 'Geupload document opslaan',\n storeUploadedDocumentMessage:\n 'Het opslaan van een geupload document heeft geen configuratie nodig.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Hier kunt je een eigen naam verzinnen. Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n url: 'Documenten API URL',\n urlTooltip:\n 'In dit veld moet de verwijzing komen naar de REST API van Documenten. Deze url moet dus eindigen op /documenten/api/v1/',\n bronorganisatie: 'Bronorganisatie RSIN',\n bronorganisatieTooltip:\n 'Vul hier het RSIN van de organisatie in die verantwoordelijk is voor de documenten',\n fileName: 'Bestandsnaam',\n fileNameTooltip:\n 'De naam van het fysieke bestand waarin de inhoud van het document is vastgelegd, inclusief extensie',\n confidentialityLevel: 'Vertrouwelijkheidsaanduiding',\n confidentialityLevelTooltip:\n 'Aanduiding van de mate waarin het document voor de openbaarheid bestemd is',\n inputTitle: 'Titel',\n inputTitleTooltip: 'De naam waaronder het document formeel bekend is',\n inputDescription: 'Beschrijving',\n inputDescriptionTooltip: 'Een generieke beschrijving van de inhoud van het document',\n openbaar: 'Openbaar',\n beperkt_openbaar: 'Beperkt openbaar',\n intern: 'Intern',\n zaakvertrouwelijk: 'Zaakvertrouwelijk',\n vertrouwelijk: 'Vertrouwelijk',\n confidentieel: 'Confidentieel',\n geheim: 'Geheim',\n zeer_geheim: 'Zeer geheim',\n localDocumentLocation: 'Naam procesvariabele met document',\n localDocumentLocationTooltip:\n 'Hier moet de procesvariabele ingevuld worden die wijst naar de locatie waar het document lokaal staat opgeslagen',\n storedDocumentUrl: 'Naam procesvariabele voor opslag document-URL',\n storeDocumentUrlTooltip:\n 'Nadat het document geupload is naar de Documenten API zal de applicatie in deze procesvariabele de URL naar het document opslaan.',\n taal: 'Taal',\n status: 'Status',\n informatieobjecttype: 'URL naar het informatieobjecttype',\n informatieobjecttypeTooltip:\n 'Vul in dit veld de volledige URL naar een informatieobjecttype van een Zaak catalogus. Deze URL moet dus eindigen op /catalogi/api/v1/informatieobjecttypen/{uuid}',\n nld: 'Nederlands',\n in_bewerking: 'In bewerking',\n ter_vaststelling: 'Ter vaststelling',\n definitief: 'Definitief',\n gearchiveerd: 'Gearchiveerd',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n authenticationPluginConfigurationTooltip:\n 'Selecteer de plugin die de authenticatie kan afhandelen. Wanneer de selectiebox leeg blijft zal de authenticatie plugin (bv. OpenZaak) eerst aangemaakt moeten worden',\n },\n en: {\n title: 'Documenten API',\n description: 'API for storing and accessing documents and associated metadata.',\n 'store-temp-document': 'Save document',\n 'store-uploaded-document': 'Save uploaded document',\n storeUploadedDocumentMessage:\n 'Saving an uploaded document does not require any configuration.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'Here you can enter a name for the plugin. This name will be used to recognize the plugin throughout the rest of the application',\n url: 'Documenten API URL',\n urlTooltip:\n 'This field must contain the URL to the REST API of Documenten, therefore this URL should end with /documenten/api/v1/',\n bronorganisatie: 'Organisation RSIN',\n bronorganisatieTooltip:\n 'Enter here the RSIN of the organization responsible for the documents. The RSIN is a dutch identification number for legal entities and partnerships ',\n fileName: 'File name',\n fileNameTooltip:\n 'The name of the physical file in which the content of the document is captured, including extension',\n confidentialityLevel: 'Confidentiality level',\n confidentialityLevelTooltip:\n 'Indication of the extent to which the document is intended for public access',\n inputTitle: 'Title',\n inputTitleTooltip: 'The name by which the document is formally known',\n inputDescription: 'Description',\n inputDescriptionTooltip: 'A generic description of the content of the document',\n openbaar: 'Public',\n beperkt_openbaar: 'Restricted public',\n intern: 'Internal',\n zaakvertrouwelijk: 'Case confidential',\n vertrouwelijk: 'Private',\n confidentieel: 'Confidential',\n geheim: 'Secret',\n zeer_geheim: 'Very secret',\n localDocumentLocation: 'Name of process variable with document',\n localDocumentLocationTooltip:\n 'Enter the process variable that points to the location where the document is stored locally',\n storedDocumentUrl: 'Process variable name for storing document URL',\n storeDocumentUrlTooltip:\n 'After the document has been uploaded to the Documenten API, the application will store the URL to the document in this process variable.',\n taal: 'Language',\n status: 'Status',\n informatieobjecttype: 'URL to the informationobjecttype',\n informatieobjecttypeTooltip:\n 'Enter the full URL to an information object type of a Zaak catalog in this field. So this URL must end with /catalogi/api/v1/informatieobjecttypen/{uuid}',\n nld: 'Dutch',\n in_bewerking: 'Editing',\n ter_vaststelling: 'To be confirmed',\n definitief: 'Final',\n gearchiveerd: 'Archived',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n authenticationPluginConfigurationTooltip:\n 'Select the plugin that can handle the authentication. If the selection box remains empty, the authentication plugin (e.g. OpenZaak) will have to be created first',\n },\n de: {\n title: 'Documenten API',\n description: 'API zum Speichern und Zugreifen auf Dokumente und zugehörige Metadaten.',\n 'store-temp-document': 'Dokument speichern',\n 'store-uploaded-document': 'Hochgeladenes Dokument speichern',\n storeUploadedDocumentMessage:\n 'Das Speichern eines hochgeladenen Dokuments erfordert keine Konfiguration.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Hier können Sie einen Namen für das Plugin eingeben. Dieser Name wird verwendet, um das Plugin im Rest der Anwendung zu erkennen',\n url: 'Documenten API URL',\n urlTooltip:\n 'Dieses Feld muss die URL zur REST API von Documenten enthalten, daher sollte diese URL mit enden /documenten/api/v1/',\n bronorganisatie: 'Organisation RSIN',\n bronorganisatieTooltip:\n 'Geben Sie hier den RAIN der für die Dokumente verantwortlichen Organisation ein. Der RAIN ist eine niederländische Identifikationsnummer für juristische Personen und Personengesellschaften',\n fileName: 'Dateiname',\n fileNameTooltip:\n 'Der Name der physischen Datei, in der der Inhalt des Dokuments erfasst wird, einschließlich Erweiterung',\n confidentialityLevel: 'Vertraulichkeitshinweis',\n confidentialityLevelTooltip:\n 'Angabe, inwieweit das Dokument für die Öffentlichkeit bestimmt ist',\n inputTitle: 'Titel',\n inputTitleTooltip: 'Der Name, unter dem das Dokument offiziell bekannt ist',\n inputDescription: 'Beschreibung',\n inputDescriptionTooltip: 'Eine allgemeine Beschreibung des Inhalts des Dokuments',\n openbaar: 'Öffentlichkeit',\n beperkt_openbaar: 'Eingeschränkt_öffentlich',\n intern: 'Intern',\n zaakvertrouwelijk: 'Geschäftlich vertraulich',\n vertrouwelijk: 'Vertraulich',\n confidentieel: 'Geheim',\n geheim: 'Geheimnis',\n zeer_geheim: 'Sehr geheim',\n localDocumentLocation: 'Name Prozessvariable mit Dokument',\n localDocumentLocationTooltip:\n 'Geben Sie die Prozessvariable ein, die auf den Ort zeigt, an dem das Dokument lokal gespeichert ist',\n storedDocumentUrl: 'Name der Prozessvariablen zum Speichern der Dokument-URL',\n storeDocumentUrlTooltip:\n 'Nachdem das Dokument in die Dokumenten-API hochgeladen wurde, speichert die Anwendung die URL zum Dokument in dieser Prozessvariablen.',\n taal: 'Sprache',\n status: 'Status',\n informatieobjecttype: 'URL zum Informationsobjekttyp',\n informatieobjecttypeTooltip:\n 'Geben Sie in diesem Feld die vollständige URL zu einem Informationsobjekttyp eines Case Katalogs. Diese URL muss daher mit enden /catalogi/api/v1/informatieobjecttypen/{uuid}',\n nld: 'Niederländisch',\n in_bewerking: 'In Bearbeitung',\n ter_vaststelling: 'Zu bestimmen',\n definitief: 'Endgültig',\n gearchiveerd: 'Archiviert',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n authenticationPluginConfigurationTooltip:\n 'Wählen Sie das Plugin aus, das die Authentifizierung verarbeiten kann. Bleibt das Auswahlfeld leer, muss zunächst das Authentifizierungs-Plugin (z. B. OpenZaak) erstellt werden',\n },\n },\n};\n\nexport {documentenApiPluginSpecification};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {ObjecttypenApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n selector: 'valtimo-objecttypen-api-configuration',\n templateUrl: './objecttypen-api-configuration.component.html',\n styleUrls: ['./objecttypen-api-configuration.component.scss'],\n})\nexport class ObjecttypenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ObjecttypenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ObjecttypenApiConfig> =\n new EventEmitter<ObjecttypenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ObjecttypenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('objecten-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ObjecttypenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ObjecttypenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate : pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {ObjecttypenApiConfigurationComponent} from './components/objecttypen-api-configuration/objecttypen-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/user-interface';\n\n@NgModule({\n declarations: [ObjecttypenApiConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [ObjecttypenApiConfigurationComponent],\n})\nexport class ObjecttypenApiPluginModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OBJECTTYPEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\nexport {OBJECTTYPEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './objecttypen-api-plugin-logo';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ObjecttypenApiConfigurationComponent} from './components/objecttypen-api-configuration/objecttypen-api-configuration.component';\nimport {OBJECTTYPEN_API_PLUGIN_LOGO_BASE64} from './assets';\n\nconst objecttypenApiPluginSpecification: PluginSpecification = {\n pluginId: 'objecttypenapi',\n pluginConfigurationComponent: ObjecttypenApiConfigurationComponent,\n pluginLogoBase64: OBJECTTYPEN_API_PLUGIN_LOGO_BASE64,\n\n pluginTranslations: {\n nl: {\n title: 'Objecttypen API',\n url: 'Objecttypen API URL',\n urlTooltip: 'In dit veld moet de verwijzing komen naar de REST API van Objecttypen',\n description:\n 'Met de Overige Objecten Registratie API-specificaties (Objecttypen) kunnen gemeenten eenduidig objecten registreren, opslaan en ontsluiten.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n },\n en: {\n title: 'Objecttypen API',\n url: 'Objecttypen API URL',\n urlTooltip: 'This field must contain the URL to the REST API of Objecttypen',\n description:\n 'With the Other Objects Registration API specifications (Object types), municipalities can unambiguously register, store and access objects.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n },\n de: {\n title: 'Objecttypen API',\n url: 'Objecttypen API URL',\n urlTooltip: 'Dieses Feld muss die URL zur REST API von Objecttypen enthalten',\n description:\n 'Mit den Spezifikationen der Other Objects Registration API (Objekttypen) können Kommunen Objekte eindeutig registrieren, speichern und darauf zugreifen.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n },\n },\n};\n\nexport {objecttypenApiPluginSpecification};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ZakenApiConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-zaken-api-configuration',\n templateUrl: './zaken-api-configuration.component.html',\n styleUrls: ['./zaken-api-configuration.component.scss'],\n})\nexport class ZakenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ZakenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ZakenApiConfig> = new EventEmitter<ZakenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ZakenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('zaken-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ZakenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ZakenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate : pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [tooltip]=\"'authenticationPluginConfigurationTooltip' | pluginTranslate : pluginId | async\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {LinkDocumentToZaakConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-link-document-to-zaak-configuration',\n templateUrl: './link-document-to-zaak-configuration.component.html',\n styleUrls: ['./link-document-to-zaak-configuration.component.scss'],\n})\nexport class LinkDocumentToZaakConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<LinkDocumentToZaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<LinkDocumentToZaakConfig> =\n new EventEmitter<LinkDocumentToZaakConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<LinkDocumentToZaakConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('link-document-to-zaak'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: LinkDocumentToZaakConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: LinkDocumentToZaakConfig): void {\n const valid = !!formValue.documentUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'linkDocumentInformation' | pluginTranslate : pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"documentUrl\"\n [title]=\"'documentUrl' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.documentUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'documentUrlTooltip' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"titel\"\n [title]=\"'titel' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.titel\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'titelTooltip' | pluginTranslate : pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"beschrijving\"\n [title]=\"'beschrijving' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.beschrijving\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'beschrijvingTooltip' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {Observable, Subscription} from 'rxjs';\n\n@Component({\n selector: 'valtimo-link-uploaded-document-to-zaak-configuration',\n templateUrl: './link-uploaded-document-to-zaak-configuration.component.html',\n styleUrls: ['./link-uploaded-document-to-zaak-configuration.component.scss'],\n})\nexport class LinkUploadedDocumentToZaakConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n\n private saveSubscription!: Subscription;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.emitValid();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private emitValid(): void {\n this.valid.emit(true);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n this.configuration.emit({});\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [center]=\"true\" [fullWidth]=\"true\">\n {{ 'linkUploadedDocumentToZaakMessage' | pluginTranslate : pluginId | async }}\n</v-paragraph>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {CreateNatuurlijkePersoonZaakRolConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-create-natuurlijk-persoon-zaak-rol-configuration',\n templateUrl: './create-natuurlijk-persoon-zaak-rol.component.html',\n styleUrls: ['./create-natuurlijk-persoon-zaak-rol.component.scss'],\n})\nexport class CreateNatuurlijkPersoonZaakRolComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreateNatuurlijkePersoonZaakRolConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateNatuurlijkePersoonZaakRolConfig> =\n new EventEmitter<CreateNatuurlijkePersoonZaakRolConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<CreateNatuurlijkePersoonZaakRolConfig | null>(\n null\n );\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CreateNatuurlijkePersoonZaakRolConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreateNatuurlijkePersoonZaakRolConfig): void {\n const valid = !!(formValue.rolToelichting && formValue.roltypeUrl);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"roltypeUrl\"\n [title]=\"'roltypeUrl' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.roltypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'roltypeUrlTooltip' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"rolToelichting\"\n [title]=\"'rolToelichting' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.rolToelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'rolToelichtingTooltip' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"inpBsn\"\n [title]=\"'inpBsn' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.inpBsn\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'inpBsnTooltip' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"anpIdentificatie\"\n [title]=\"'anpIdentificatie' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.anpIdentificatie\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'anpIdentificatieTooltip' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"inpA_nummer\"\n [title]=\"'inpA_nummer' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.inpA_nummer\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'inpA_nummerTooltip' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n forkJoin,\n map,\n Observable,\n Subscription,\n switchMap,\n take,\n} from 'rxjs';\nimport {CreateZaakConfig} from '../../models';\nimport {OpenZaakService} from '@valtimo/resource';\nimport {DocumentService} from '@valtimo/document';\n\n@Component({\n selector: 'valtimo-create-zaak-configuration',\n templateUrl: './create-zaak-configuration.component.html',\n styleUrls: ['./create-zaak-configuration.component.scss'],\n})\nexport class CreateZaakConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreateZaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateZaakConfig> = new EventEmitter<CreateZaakConfig>();\n\n public inputTypeTextZaakType: boolean;\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<CreateZaakConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly zaakTypeSelectItems$: Observable<Array<{id: string; text: string}>> = combineLatest([\n this.documentService.getAllDefinitions(),\n ]).pipe(\n map(([definitions]) =>\n forkJoin(\n definitions.content.map(definition =>\n this.openZaakService.getZaakTypeLink(definition.id.name)\n )\n ).pipe(\n map(zaakTypeLinks => zaakTypeLinks.filter(this.isNonNull)),\n map(zaakTypeLinks => this.distinct(zaakTypeLinks, zaakTypeLink => zaakTypeLink.zaakTypeUrl))\n )\n ),\n switchMap(zaakTypeLinksObs =>\n combineLatest([zaakTypeLinksObs, this.openZaakService.getZaakTypes()]).pipe(\n map(([zaakTypeLinks, zaakTypes]) =>\n zaakTypeLinks.map(zaakTypeLink => ({\n id: zaakTypeLink.zaakTypeUrl,\n text:\n zaakTypes.find(zaakType => zaakType.url === zaakTypeLink.zaakTypeUrl)?.omschrijving ||\n zaakTypeLink.zaakTypeUrl,\n }))\n )\n )\n )\n );\n\n constructor(\n private readonly openZaakService: OpenZaakService,\n private readonly documentService: DocumentService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CreateZaakConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n toggleInputTypeZaakType() {\n this.inputTypeTextZaakType = !this.inputTypeTextZaakType;\n }\n\n private handleValid(formValue: CreateZaakConfig): void {\n const valid = !!(formValue.rsin && formValue.zaaktypeUrl);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n\n private isNonNull<T>(value: T): value is NonNullable<T> {\n return value != null;\n }\n\n private distinct<T>(array: T[], callbackFn: (prop: any) => any): T[] {\n return array.filter(\n (value, index) =>\n index === array.findIndex(value2 => callbackFn(value) === callbackFn(value2))\n );\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'createZaakInformation' | pluginTranslate : pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"rsin\"\n [title]=\"'rsin' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.rsin\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'rsinTooltip' | pluginTranslate : pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <div [ngClass]=\"'v-toggle--margin'\">\n <v-input-label\n [title]=\"'inputTypeZaakTypeToggle' | pluginTranslate : pluginId | async\"\n [name]=\"'inputTypeZaakTypeToggle'\"\n [required]=\"false\"\n >\n </v-input-label>\n <ibm-toggle\n [onText]=\"'text' | pluginTranslate : pluginId | async\"\n [offText]=\"'selection' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [checked]=\"false\"\n (checkedChange)=\"toggleInputTypeZaakType()\"\n >\n </ibm-toggle>\n </div>\n <v-input\n *ngIf=\"inputTypeTextZaakType\"\n name=\"zaaktypeUrl\"\n [title]=\"'zaakType' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.zaaktypeUrl\"\n [disabled]=\"obs.disabled || !inputTypeTextZaakType\"\n [required]=\"true\"\n [tooltip]=\"'zaakTypeTooltip' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <ng-container\n *ngIf=\"!inputTypeTextZaakType && {zaakTypeSelectItems: zaakTypeSelectItems$ | async} as vars\"\n >\n <v-select\n [items]=\"vars.zaakTypeSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"zaaktypeUrl\"\n [title]=\"'zaakType' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled || inputTypeTextZaakType\"\n [defaultSelectionId]=\"obs.prefill?.zaaktypeUrl\"\n [required]=\"true\"\n [loading]=\"!vars.zaakTypeSelectItems\"\n [tooltip]=\"'zaakTypeTooltip' | pluginTranslate : pluginId | async\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {\n FormModule,\n InputLabelModule,\n InputModule,\n ParagraphModule,\n SelectModule,\n} from '@valtimo/user-interface';\nimport {ZakenApiConfigurationComponent} from './components/zaken-api-configuration/zaken-api-configuration.component';\nimport {LinkDocumentToZaakConfigurationComponent} from './components/link-document-to-zaak/link-document-to-zaak-configuration.component';\nimport {LinkUploadedDocumentToZaakConfigurationComponent} from './components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component';\nimport {CreateNatuurlijkPersoonZaakRolComponent} from './components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component';\nimport {CreateZaakConfigurationComponent} from './components/create-zaak/create-zaak-configuration.component';\nimport {ToggleModule} from 'carbon-components-angular';\n\n@NgModule({\n declarations: [\n ZakenApiConfigurationComponent,\n LinkDocumentToZaakConfigurationComponent,\n LinkUploadedDocumentToZaakConfigurationComponent,\n CreateNatuurlijkPersoonZaakRolComponent,\n CreateZaakConfigurationComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ToggleModule,\n InputLabelModule,\n ],\n exports: [\n ZakenApiConfigurationComponent,\n LinkDocumentToZaakConfigurationComponent,\n LinkUploadedDocumentToZaakConfigurationComponent,\n CreateZaakConfigurationComponent,\n CreateNatuurlijkPersoonZaakRolComponent,\n ],\n})\nexport class ZakenApiPluginModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst ZAKEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\n\nexport {ZAKEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './zaken-api-plugin-logo';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ZAKEN_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {LinkDocumentToZaakConfigurationComponent} from './components/link-document-to-zaak/link-document-to-zaak-configuration.component';\nimport {ZakenApiConfigurationComponent} from './components/zaken-api-configuration/zaken-api-configuration.component';\nimport {LinkUploadedDocumentToZaakConfigurationComponent} from './components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component';\nimport {CreateNatuurlijkPersoonZaakRolComponent} from './components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component';\nimport {CreateZaakConfigurationComponent} from './components/create-zaak/create-zaak-configuration.component';\n\nconst zakenApiPluginSpecification: PluginSpecification = {\n pluginId: 'zakenapi',\n pluginConfigurationComponent: ZakenApiConfigurationComponent,\n pluginLogoBase64: ZAKEN_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'link-document-to-zaak': LinkDocumentToZaakConfigurationComponent,\n 'link-uploaded-document-to-zaak': LinkUploadedDocumentToZaakConfigurationComponent,\n 'create-zaak': CreateZaakConfigurationComponent,\n 'create-natuurlijk-persoon-zaak-rol': CreateNatuurlijkPersoonZaakRolComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Zaken API',\n url: 'Zaken API URL',\n urlTooltip:\n 'In dit veld moet de verwijzing komen naar de REST api van Open zaak. Deze url moet dus eindigen op /zaken/api/v1/',\n description:\n 'De API ondersteunt het opslaan en het naar andere applicaties ontsluiten van gegevens over alle gemeentelijke zaken, van elk type.',\n 'link-document-to-zaak': 'Koppel document aan zaak',\n 'link-uploaded-document-to-zaak': 'Koppel geupload document aan zaak',\n linkUploadedDocumentToZaakMessage:\n 'Het koppelen van een geupload document aan een zaak heeft geen configuratie nodig.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n documentUrl: 'URL naar het document',\n documentUrlTooltip:\n 'Dit veld ondersteunt URLs en proces variabelen. Gebruik pv:variable om een proces variabele uit te lezen',\n titel: 'Documenttitel',\n titelTooltip:\n '(Optioneel) Vult het titel veld in de metadata van de link tussen de Zaak en het Document',\n beschrijving: 'Documentbeschrijving',\n beschrijvingTooltip:\n '(Optioneel) Vult het beschrijving veld in de metadata van de link tussen de Zaak en het Document',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n authenticationPluginConfigurationTooltip:\n 'Selecteer de plugin die de authenticatie kan afhandelen. Wanneer de selectiebox leeg blijft zal de authenticatie plugin (bv. OpenZaak) eerst aangemaakt moeten worden',\n linkDocumentInformation:\n 'Deze actie koppelt een document uit de Documenten API aan de zaak die bij het dossier hoort.',\n 'create-zaak': 'Zaak aanmaken',\n createZaakInformation:\n 'Deze actie creëert een zaak in de Zaken API en koppeld de nieuwe zaak aan het dossier.',\n rsin: 'RSIN',\n rsinTooltip: 'Rechtspersonen en Samenwerkingsverbanden Informatienummer',\n zaakType: 'Zaaktype',\n zaakTypeTooltip: 'In dit veld moet de verwijzing komen naar de type zaak.',\n inputTypeZaakTypeToggle: 'Invoertype Zaaktype-URL',\n text: 'Tekst',\n selection: 'Selectie',\n 'create-natuurlijk-persoon-zaak-rol': 'Zaakrol aanmaken - natuurlijk persoon',\n roltypeUrl: 'Roltype URL',\n rolToelichting: 'Roltoelichting',\n inpBsn: 'Initiator BSN',\n anpIdentificatie: 'Ander natuurlijk persoon identificatie',\n inpA_nummer: 'Administratienummer persoon',\n roltypeUrlTooltip: 'URL naar een roltype binnen het Zaaktype van een Zaak',\n rolToelichtingTooltip: 'Omschrijving van de aard van de rol',\n inpBsnTooltip: 'Het burgerservicenummer van de initiator',\n anpIdentificatieTooltip:\n 'Het door de gemeente uitgegeven unieke nummer voor een ander natuurlijk persoon',\n inpA_nummerTooltip: 'Het administratienummer van de persoon, bedoeld in de Wet BRP',\n },\n en: {\n title: 'Zaken API',\n url: 'URL',\n urlTooltip:\n 'This field must contain the URL to the rest API of Open Zaak, therefore this URL should end with /zaken/api/v1/',\n description:\n 'The API supports the storage and disclosure of data on all municipal matters to other applications, of all types.',\n 'link-document-to-zaak': 'Link document to zaak',\n 'link-uploaded-document-to-zaak': 'Link uploaded document to zaak',\n linkUploadedDocumentToZaakMessage:\n 'Linking an uploaded document to a zaak requires no configuration.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n documentUrl: 'URL to the document',\n documentUrlTooltip:\n 'This field supports URLs and process variables. Use pv:variable to read a process variable',\n titel: 'Document title',\n titelTooltip:\n '(Optional) Fills the title field in the metadata of the link between the Zaak and the Document',\n beschrijving: 'Document description',\n beschrijvingTooltip:\n '(Optional) Fills the description field in the metadata of the link between the Zaak and the Document',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n authenticationPluginConfigurationTooltip:\n 'Select the plugin that can handle the authentication. If the selection box remains empty, the authentication plugin (e.g. OpenZaak) will have to be created first',\n linkDocumentInformation:\n 'This action links a document from the Documents API to the zaak associated with the case.',\n 'create-zaak': 'Create zaak',\n createZaakInformation:\n 'This action creates a zaak in the Zaken API and links the new zaak with the case.',\n rsin: 'RSIN',\n rsinTooltip: 'Legal Entities and Partnerships Information Number',\n zaakType: 'Zaaktype',\n zaakTypeTooltip: 'In this field the reference must be made to the type of the zaak.',\n inputTypeZaakTypeToggle: 'Input type Zaaktype-URL',\n text: 'Text',\n selection: 'Selection',\n 'create-natuurlijk-persoon-zaak-rol': 'Create Zaakrol - natural person',\n roltypeUrl: 'Role type URL',\n rolToelichting: 'Role explanation',\n inpBsn: 'Initiator BSN',\n anpIdentificatie: 'Other natural person identification',\n inpA_nummer: 'Administration number person',\n roltypeUrlTooltip: 'URL to a role type within the Zaaktype of a Zaak',\n rolToelichtingTooltip: 'Description of the nature of the role',\n inpBsnTooltip: \"The initiator's social security number\",\n anpIdentificatieTooltip:\n 'The unique number issued by the municipality for another natural person',\n inpA_nummerTooltip: 'The administration number of the person, as referred to in the Wet BRP',\n },\n de: {\n title: 'Zaken API',\n url: 'URL',\n urlTooltip:\n 'Dieses Feld muss die URL zur rest API von Open Zaak enthalten, daher sollte diese URL mit enden /zaken/api/v1/',\n description:\n 'Die API unterstützt die Speicherung und Weitergabe von Daten zu allen kommunalen Belangen an andere Anwendungen.',\n 'link-document-to-zaak': 'Dokument mit Zaak verknüpfen',\n 'link-uploaded-document-to-zaak': 'Hochgeladenes Dokument mit Zaak verknüpfen',\n linkUploadedDocumentToZaakMessage:\n 'Das Verknüpfen eines hochgeladenen Dokuments mit einem Zaak erfordert keine Konfiguration.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n documentUrl: 'URL zum Dokument',\n documentUrlTooltip:\n 'Dieses Feld unterstützt URLs und Prozessvariablen. Verwenden Sie pv:Variablen, um eine Prozessvariable zu lesen',\n titel: 'Dokumenttitel',\n titelTooltip:\n '(Optional) Füllt das Titelfeld in den Metadaten des Links zwischen dem Zaak und dem Dokument aus',\n beschrijving: 'Dokumentbeschreibung',\n beschrijvingTooltip:\n '(Optional) Füllt das Beschreibungsfeld in den Metadaten des Links zwischen dem Zaak und dem Dokument aus',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n authenticationPluginConfigurationTooltip:\n 'Wählen Sie das Plugin aus, das die Authentifizierung verarbeiten kann. Bleibt das Auswahlfeld leer, muss zunächst das Authentifizierungs-Plugin (z. B. OpenZaak) erstellt werden',\n linkDocumentInformation:\n 'Diese Aktion verknüpft ein Dokument aus der Dokumenten-API mit dem mit dem Fall verknüpften Zaak.',\n 'create-zaak': 'Zaak erschaffen',\n createZaakInformation:\n 'Diese Aktion hat einen zaak in der Zaken-API definiert und den neuen zaak mit dem Fall verknüpft.',\n rsin: 'RSIN',\n rsinTooltip: 'Informationsnummer für juristische Personen und Partnerschaften.',\n zaakType: 'Zaaktype',\n zaakTypeTooltip: 'In diesem Feld muss auf die zaaktype verwiesen werden.',\n inputTypeZaakTypeToggle: 'Eingabetyp Zaaktype-URL',\n text: 'Text',\n selection: 'Auswahl',\n 'create-natuurlijk-persoon-zaak-rol': 'Zaakrol erstellen – natürliche Person',\n roltypeUrl: 'Rollentyp-URL',\n rolToelichting: 'Rollenerklärung',\n inpBsn: 'Initiator BSN',\n anpIdentificatie: 'Andere Identifizierung natürlicher Personen',\n inpA_nummer: 'Verwaltungsnummer Person',\n roltypeUrlTooltip: 'URL zu einem Rollentyp innerhalb des Zaaktypes eines Zaaks',\n rolToelichtingTooltip: 'Beschreibung der Art der Rolle',\n inpBsnTooltip: 'Die Sozialversicherungsnummer des Initiators',\n anpIdentificatieTooltip:\n 'Die eindeutige Nummer, die von der Gemeinde für eine andere natürliche Person vergeben wird',\n inpA_nummerTooltip: 'Die Verwaltungsnummer der Person im Sinne des Wet BRP',\n },\n },\n};\n\nexport {zakenApiPluginSpecification};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {ObjectenApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n selector: 'valtimo-objecten-api-configuration',\n templateUrl: './objecten-api-configuration.component.html',\n styleUrls: ['./objecten-api-configuration.component.scss'],\n})\nexport class ObjectenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ObjectenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ObjectenApiConfig> = new EventEmitter<ObjectenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ObjectenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('objecten-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ObjectenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ObjectenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate : pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {ObjectenApiConfigurationComponent} from './components/objecten-api-configuration/objecten-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/user-interface';\n\n@NgModule({\n declarations: [ObjectenApiConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [ObjectenApiConfigurationComponent],\n})\nexport class ObjectenApiPluginModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OBJECTEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\n\nexport {OBJECTEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './objecten-api-plugin-logo';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ObjectenApiConfigurationComponent} from './components/objecten-api-configuration/objecten-api-configuration.component';\nimport {OBJECTEN_API_PLUGIN_LOGO_BASE64} from './assets';\n\nconst objectenApiPluginSpecification: PluginSpecification = {\n pluginId: 'objectenapi',\n pluginConfigurationComponent: ObjectenApiConfigurationComponent,\n pluginLogoBase64: OBJECTEN_API_PLUGIN_LOGO_BASE64,\n\n pluginTranslations: {\n nl: {\n title: 'Objecten API',\n url: 'Objecten API URL',\n urlTooltip: 'Een URL naar de REST API van Objecten',\n description:\n 'Met de Overige Objecten Registratie API-specificaties (Objecten) kunnen gemeenten eenduidig objecten registreren, opslaan en ontsluiten.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plug-in te herkennen zijn in de rest van de applicatie',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n },\n en: {\n title: 'Objects API',\n url: 'Objects API URL',\n urlTooltip: 'A URL to the REST API of Objects',\n description:\n 'With the Other Objects Registration API specifications (Objects), municipalities can unambiguously register, store and access objects.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n },\n de: {\n title: 'Objecten API',\n url: 'Objecten API URL',\n urlTooltip: 'Die URL zur REST API von Objecten',\n description:\n 'Mit den Spezifikationen der Other Objects Registration API (Objecten) können Kommunen Objecten eindeutig registrieren, speichern und darauf zugreifen.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n },\n },\n};\n\nexport {objectenApiPluginSpecification};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {CatalogiApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n selector: 'valtimo-catalogi-api-configuration',\n templateUrl: './catalogi-api-configuration.component.html',\n styleUrls: ['./catalogi-api-configuration.component.scss'],\n})\nexport class CatalogiApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CatalogiApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CatalogiApiConfig> = new EventEmitter<CatalogiApiConfig>();\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('catalogi-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<CatalogiApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CatalogiApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CatalogiApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate : pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CatalogiApiConfigurationComponent} from './components/catalogi-api-configuration/catalogi-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/user-interface';\n\n@NgModule({\n declarations: [CatalogiApiConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [CatalogiApiConfigurationComponent],\n})\nexport class CatalogiApiPluginModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst CATALOGI_API_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\n\nexport {CATALOGI_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './catalogi-api-plugin-logo';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {CatalogiApiConfigurationComponent} from './components/catalogi-api-configuration/catalogi-api-configuration.component';\nimport {CATALOGI_API_PLUGIN_LOGO_BASE64} from './assets';\n\nconst catalogiApiPluginSpecification: PluginSpecification = {\n pluginId: 'catalogiapi',\n pluginConfigurationComponent: CatalogiApiConfigurationComponent,\n pluginLogoBase64: CATALOGI_API_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'Catalogi API',\n url: 'Catalogi API URL',\n urlTooltip: 'Een URL naar de REST API van Catalogi',\n description:\n 'API voor opslag en ontsluiting van zaaktype-catalogi, zaaktypen en onderliggende typen.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n },\n en: {\n title: 'Catalogi API',\n url: 'Catalogi API URL',\n urlTooltip: 'A URL to the REST API of Catalogi',\n description:\n 'API for storage and retrieval of case type catalogs, case types and child types.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n },\n de: {\n title: 'Catalogi API',\n url: 'Catalogi API URL',\n urlTooltip: 'Die URL zur REST API von Catalogi',\n description:\n 'API zum Speichern und Abrufen von Falltypkatalogen, Falltypen und untergeordneten Typen.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n },\n },\n};\n\nexport {catalogiApiPluginSpecification};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {NotificatiesApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n selector: 'valtimo-notificaties-api-configuration',\n templateUrl: './notificaties-api-configuration.component.html',\n styleUrls: ['./notificaties-api-configuration.component.scss'],\n})\nexport class NotificatiesApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<NotificatiesApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<NotificatiesApiConfig> =\n new EventEmitter<NotificatiesApiConfig>();\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory(\n 'notificaties-api-authentication'\n ),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<NotificatiesApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: NotificatiesApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: NotificatiesApiConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.url && formValue.callbackUrl);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate : pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"callbackUrl\"\n [title]=\"'callbackUrl' | pluginTranslate : pluginId | async\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.callbackUrl\"\n [required]=\"true\"\n [tooltip]=\"'callbackUrlTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {NotificatiesApiConfigurationComponent} from './components/notificaties-api-configuration/notificaties-api-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {CommonModule} from '@angular/common';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/user-interface';\n\n@NgModule({\n declarations: [NotificatiesApiConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [NotificatiesApiConfigurationComponent],\n})\nexport class NotificatiesApiPluginModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst NOTIFICATIES_API_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\n\nexport {NOTIFICATIES_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {NotificatiesApiConfigurationComponent} from './components/notificaties-api-configuration/notificaties-api-configuration.component';\nimport {NOTIFICATIES_API_PLUGIN_LOGO_BASE64} from './assets/notificaties-api-plugin-logo';\n\nconst notificatiesApiPluginSpecification: PluginSpecification = {\n pluginId: 'notificatiesapi',\n pluginConfigurationComponent: NotificatiesApiConfigurationComponent,\n pluginLogoBase64: NOTIFICATIES_API_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'Notificaties API',\n url: 'Notificaties API URL',\n urlTooltip: 'Een URL naar de REST API van Notificaties',\n callbackUrl: 'Callback URL',\n callbackUrlTooltip: 'Het GZAC API-endpoint waar notificaties naartoe moeten worden gestuurd.',\n description: 'Een API om een notificatierouteringscomponent te benaderen.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n },\n en: {\n title: 'Notificaties API',\n url: 'Notificaties API URL',\n urlTooltip: 'A URL to the REST API of Notificaties',\n callbackUrl: 'Callback URL',\n callbackUrlTooltip: 'The GZAC API-endpoint where notifications should be sent.',\n description: 'An API to access a notification routing component.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n },\n de: {\n title: 'Notificaties API',\n url: 'Notificaties API URL',\n urlTooltip: 'Die URL zur REST API von Notificaties',\n callbackUrl: 'Callback URL',\n callbackUrlTooltip:\n 'Der GZAC-API-endpoint, an den Benachrichtigungen gesendet werden sollen.',\n description: 'Eine API für den Zugriff auf eine Komponente für das Benachrichtigungsrouting.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n },\n },\n};\n\nexport {notificatiesApiPluginSpecification};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {OpenNotificatiesConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-open-notificaties-configuration',\n templateUrl: './open-notificaties-configuration.component.html',\n styleUrls: ['./open-notificaties-configuration.component.scss'],\n})\nexport class OpenNotificatiesConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<OpenNotificatiesConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<OpenNotificatiesConfig> =\n new EventEmitter<OpenNotificatiesConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<OpenNotificatiesConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: OpenNotificatiesConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: OpenNotificatiesConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.clientId && formValue.clientSecret);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [widthPx]=\"350\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"clientId\"\n [title]=\"'clientId' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [widthPx]=\"350\"\n [required]=\"true\"\n [tooltip]=\"'clientIdTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"clientSecret\"\n type=\"password\"\n [title]=\"'clientSecret' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientSecret\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n [tooltip]=\"'clientSecretTooltip' | pluginTranslate : pluginId | async\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {OpenNotificatiesConfigurationComponent} from './components/open-notificaties-configuration/open-notificaties-configuration.component';\nimport {FormModule, InputModule} from '@valtimo/user-interface';\nimport {PluginTranslatePipeModule} from '../../pipes';\n\n@NgModule({\n declarations: [OpenNotificatiesConfigurationComponent],\n imports: [CommonModule, FormModule, InputModule, PluginTranslatePipeModule],\n exports: [OpenNotificatiesConfigurationComponent],\n})\nexport class OpenNotificatiesPluginModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\n\nexport {OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './open-notificaties-plugin-logo';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {OpenNotificatiesConfigurationComponent} from './components/open-notificaties-configuration/open-notificaties-configuration.component';\nimport {OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64} from './assets';\n\nconst openNotificatiesPluginSpecification: PluginSpecification = {\n pluginId: 'notificatiesapiauthentication',\n pluginConfigurationComponent: OpenNotificatiesConfigurationComponent,\n pluginLogoBase64: OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'OpenNotificaties',\n description:\n 'OpenNotificaties is een productiewaardig API platform die de API-standaard voor zaakgericht werken implementeert (de ZGW-API’s).',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Vul hier het clientId in dat geconfigureerd staat onder OpenNotificaties-beheer (zie API authorisaties > Applicaties). Dit clientId moet de juiste authorisaties hebben voor de benodigde functionaliteit',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Vul de secret in die hoort bij de clientId hierboven',\n },\n en: {\n title: 'OpenNotificaties',\n description:\n 'OpenNotificaties is a production-worthy API platform that implements the API standard for case-oriented working (the ZGW APIs).',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'Under this name, the plugin will be recognizable in the rest of the application',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Enter the clientId here which is configured under OpenNotificaties management (see API authorizations > Applications). This clientId must have the correct authorizations for the required functionality',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Enter the secret associated with the clientId above',\n },\n de: {\n title: 'OpenNotificaties',\n description:\n 'OpenNotificaties ist eine produktionstaugliche API-Plattform, die den API-Standard für fallorientiertes Arbeiten (die ZGW-APIs) implementiert.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Unter diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Geben Sie hier die clientId ein, die unter OpenNotificaties-Verwaltung konfiguriert ist (siehe API-Berechtigungen > Anwendungen). Diese clientId muss die richtigen Berechtigungen für die erforderliche Funktionalität haben',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Geben Sie das mit der obigen clientId verknüpfte Geheimnis ein',\n },\n },\n};\n\nexport {openNotificatiesPluginSpecification};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\nimport {Objecttype} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ObjectService {\n private valtimoEndpointUri: string;\n\n constructor(private http: HttpClient, configService: ConfigService) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n public getAllObjects(): Observable<Objecttype[]> {\n return this.http.get<Objecttype[]>(\n `${this.valtimoEndpointUri}v1/object/management/configuration`\n );\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './object.service';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {PortaaltaakConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {SelectItem} from '@valtimo/user-interface';\nimport {ProcessService} from '@valtimo/process';\nimport {ObjectService} from '../../services';\n\n@Component({\n selector: 'valtimo-portaaltaak-configuration',\n templateUrl: './portaaltaak-configuration.component.html',\n styleUrls: ['./portaaltaak-configuration.component.scss'],\n})\nexport class PortaaltaakConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<PortaaltaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<PortaaltaakConfig> = new EventEmitter<PortaaltaakConfig>();\n readonly notificatiesApiPluginSelectItems$: Observable<Array<SelectItem>> = combineLatest([\n this.pluginManagementService.getPluginConfigurationsByPluginDefinitionKey('notificatiesapi'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n readonly objectManagementConfigurationItems$: Observable<Array<SelectItem>> = combineLatest([\n this.objectManagementService.getAllObjects(),\n this.translateService.stream('key'),\n ]).pipe(\n map(([objectManagementConfigurations]) =>\n objectManagementConfigurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title}`,\n }))\n )\n );\n\n readonly processSelectItems$: Observable<Array<SelectItem>> = this.processService\n .getProcessDefinitions()\n .pipe(\n map(processDefinitions =>\n processDefinitions.map(processDefinition => ({\n id: processDefinition.key,\n text: processDefinition.name,\n }))\n )\n );\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<PortaaltaakConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly objectManagementService: ObjectService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService,\n private readonly processService: ProcessService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: PortaaltaakConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: PortaaltaakConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.notificatiesApiPluginConfiguration &&\n formValue.objectManagementConfigurationId\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate : pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <ng-container\n *ngIf=\"notificatiesApiPluginSelectItems$ | async as notificatiesApiPluginSelectItems\"\n >\n <v-select\n [items]=\"notificatiesApiPluginSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"notificatiesApiPluginConfiguration\"\n [title]=\"'notificatiesApiPluginConfiguration' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.notificatiesApiPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!notificatiesApiPluginSelectItems\"\n [tooltip]=\"'notificatiesApiPluginConfigurationTooltip' | pluginTranslate : pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container\n *ngIf=\"objectManagementConfigurationItems$ | async as objectManagementConfigurationItems\"\n >\n <v-select\n [items]=\"objectManagementConfigurationItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objectManagementConfigurationId\"\n [title]=\"'objectManagementConfiguration' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.objectManagementConfigurationId\"\n [required]=\"true\"\n [loading]=\"!objectManagementConfigurationItems\"\n [tooltip]=\"'objectManagementConfigurationTooltip' | pluginTranslate : pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container *ngIf=\"{processSelectItems: processSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.processSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"uploadedDocumentsHandlerProcess\"\n [title]=\"'uploadedDocumentsHandlerProcess' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.uploadedDocumentsHandlerProcess\"\n [required]=\"true\"\n [loading]=\"!vars.processSelectItems\"\n [tooltip]=\"'uploadedDocumentsHandlerProcessTooltip' | pluginTranslate : pluginId | async\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {TranslateService} from '@ngx-translate/core';\nimport {PluginTranslationService} from '../../../../services';\nimport {CreatePortalTaskConfig, FormType, OtherReceiver, Receiver} from '../../models';\nimport {SelectItem} from '@valtimo/user-interface';\n\n@Component({\n selector: 'valtimo-create-portal-task',\n templateUrl: './create-portal-task.component.html',\n styleUrls: ['./create-portal-task.component.scss'],\n})\nexport class CreatePortalTaskComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreatePortalTaskConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreatePortalTaskConfig> =\n new EventEmitter<CreatePortalTaskConfig>();\n readonly FORM_TYPE_ITEMS: Array<FormType> = ['id', 'url'];\n readonly formTypeSelectItems$ = this.selectItemsToTranslatedItems(this.FORM_TYPE_ITEMS);\n\n readonly RECEIVER_ITEMS: Array<Receiver> = ['zaakInitiator', 'other'];\n readonly receiverSelectItems$ = this.selectItemsToTranslatedItems(this.RECEIVER_ITEMS);\n\n readonly OTHER_RECEIVER_ITEMS: Array<OtherReceiver> = ['kvk', 'bsn'];\n readonly otherReceiverSelectItems$ = this.selectItemsToTranslatedItems(this.OTHER_RECEIVER_ITEMS);\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<CreatePortalTaskConfig | null>(null);\n readonly formTypeIsUrl$: Observable<boolean> = this.formValue$.pipe(\n map(value => !!(value?.formType === 'url'))\n );\n readonly receiverIsOther$: Observable<boolean> = this.formValue$.pipe(\n map(value => !!(value?.receiver === 'other'))\n );\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CreatePortalTaskConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreatePortalTaskConfig): void {\n const valid =\n !!formValue.formType &&\n (!!(formValue.formType === 'url' && formValue.formTypeUrl) ||\n !!(formValue.formType === 'id' && formValue.formTypeId)) &&\n !!formValue?.receiver &&\n (formValue.receiver === 'other'\n ? !!(formValue.identificationValue && formValue.identificationKey)\n : true);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n\n private selectItemsToTranslatedItems(selectItems: Array<string>): Observable<Array<SelectItem>> {\n return this.translateService.stream('key').pipe(\n map(() =>\n selectItems.map(item => ({\n id: item,\n text: this.pluginTranslationService.instant(item, this.pluginId),\n }))\n )\n );\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n formTypeIsUrl: formTypeIsUrl$ | async,\n receiverIsOther: receiverIsOther$ | async\n } as obs\"\n>\n <v-select\n [items]=\"formTypeSelectItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"250\"\n name=\"formType\"\n [title]=\"'formType' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.formType || FORM_TYPE_ITEMS[0]\"\n [tooltip]=\"'formTypeTooltip' | pluginTranslate : pluginId | async\"\n [required]=\"true\"\n [clearable]=\"false\"\n ></v-select>\n <v-input\n *ngIf=\"obs.formTypeIsUrl === false\"\n name=\"formTypeId\"\n [title]=\"'formTypeId' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.formTypeId\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'formTypeIdTooltip' | pluginTranslate : pluginId | async\"\n [required]=\"true\"\n ></v-input>\n <v-input\n *ngIf=\"obs.formTypeIsUrl\"\n name=\"formTypeUrl\"\n [title]=\"'formTypeUrl' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.formTypeUrl\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'formTypeUrlTooltip' | pluginTranslate : pluginId | async\"\n [required]=\"true\"\n ></v-input>\n <v-multi-input\n name=\"sendData\"\n [title]=\"'sendData' | pluginTranslate : pluginId | async\"\n type=\"keyValue\"\n [disabled]=\"obs.disabled\"\n [defaultValues]=\"obs.prefill?.sendData\"\n [margin]=\"true\"\n [required]=\"false\"\n [tooltip]=\"'sendDataTooltip' | pluginTranslate : pluginId | async\"\n [minimumAmountOfRows]=\"0\"\n [initialAmountOfRows]=\"0\"\n ></v-multi-input>\n <v-multi-input\n name=\"receiveData\"\n [title]=\"'receiveData' | pluginTranslate : pluginId | async\"\n type=\"keyValue\"\n [disabled]=\"obs.disabled\"\n [defaultValues]=\"obs.prefill?.receiveData\"\n [margin]=\"true\"\n [required]=\"false\"\n [tooltip]=\"'receiveDataTooltip' | pluginTranslate : pluginId | async\"\n [minimumAmountOfRows]=\"0\"\n [initialAmountOfRows]=\"0\"\n ></v-multi-input>\n <v-select\n [items]=\"receiverSelectItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"250\"\n name=\"receiver\"\n [title]=\"'receiver' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.receiver || RECEIVER_ITEMS[0]\"\n [tooltip]=\"'receiverTooltip' | pluginTranslate : pluginId | async\"\n [required]=\"true\"\n [clearable]=\"false\"\n ></v-select>\n <v-input\n *ngIf=\"obs.receiverIsOther\"\n name=\"identificationKey\"\n [title]=\"'identificationKey' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.identificationKey\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'identificationKeyTooltip' | pluginTranslate : pluginId | async\"\n [required]=\"true\"\n ></v-input>\n <v-input\n *ngIf=\"obs.receiverIsOther\"\n name=\"identificationValue\"\n [title]=\"'identificationValue' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.identificationValue\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'identificationValueTooltip' | pluginTranslate : pluginId | async\"\n [required]=\"true\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {Observable, Subscription} from 'rxjs';\n\n@Component({\n selector: 'valtimo-complete-portal-task',\n templateUrl: './complete-portal-task.component.html',\n styleUrls: ['./complete-portal-task.component.scss'],\n})\nexport class CompletePortalTaskComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n private saveSubscription!: Subscription;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.valid.emit(true);\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n this.configuration.emit({});\n });\n }\n}\n","<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {PortaaltaakConfigurationComponent} from './components/portaaltaak-configuration/portaaltaak-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {CommonModule} from '@angular/common';\nimport {\n FormModule,\n InputModule,\n MultiInputModule,\n ParagraphModule,\n SelectModule,\n} from '@valtimo/user-interface';\nimport {CreatePortalTaskComponent} from './components/create-portal-task/create-portal-task.component';\nimport {CompletePortalTaskComponent} from './components/complete-portal-task/complete-portal-task.component';\n\n@NgModule({\n declarations: [\n PortaaltaakConfigurationComponent,\n CreatePortalTaskComponent,\n CompletePortalTaskComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n MultiInputModule,\n ],\n exports: [\n PortaaltaakConfigurationComponent,\n CreatePortalTaskComponent,\n CompletePortalTaskComponent,\n ],\n})\nexport class PortaaltaakPluginModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst PORTAALTAAK_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\nexport {PORTAALTAAK_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {PortaaltaakConfigurationComponent} from './components/portaaltaak-configuration/portaaltaak-configuration.component';\nimport {PORTAALTAAK_PLUGIN_LOGO_BASE64} from './assets/portaaltaak-plugin-logo';\nimport {CreatePortalTaskComponent} from './components/create-portal-task/create-portal-task.component';\nimport {CompletePortalTaskComponent} from './components/complete-portal-task/complete-portal-task.component';\n\nconst portaaltaakPluginSpecification: PluginSpecification = {\n pluginId: 'portaaltaak',\n pluginConfigurationComponent: PortaaltaakConfigurationComponent,\n pluginLogoBase64: PORTAALTAAK_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'create-portaaltaak': CreatePortalTaskComponent,\n 'complete-portaaltaak': CompletePortalTaskComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Portaaltaak',\n description: 'Een component om een portaaltaakrouteringscomponent te benaderen.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n notificatiesApiPluginConfiguration: 'Notificaties API plugin',\n notificatiesApiPluginConfigurationTooltip:\n 'Selecteer de Notificaties API plugin. Wanneer de selectiebox leeg us, zal de notificatie API plugin eerst aangemaakt moeten worden.',\n objectManagementConfiguration: 'Object management configuratie',\n objectManagementConfigurationTooltip:\n 'Selecteer de gewenste object management configuratie. Wanneer de selectiebox leeg is, zal de object management configuratie eerst aangemaakt moeten worden.',\n 'create-portaaltaak': 'Portaaltaak aanmaken',\n 'complete-portaaltaak': 'Portaaltaak afronden',\n formType: 'Formuliertype',\n formTypeTooltip:\n 'Kies hier of het te tonen formulier afomstig moet zijn van een ingestelde definitie, of van een externe URL.',\n id: 'Formulierdefinitie',\n url: 'URL',\n formTypeId: 'Formulier ID',\n formTypeIdTooltip: 'Het ID van het formulier dat getoond moet worden',\n formTypeUrl: 'Formulier URL',\n formTypeUrlTooltip: 'Een URL die wijst naar het formulier dat getoond moet worden',\n sendData: 'Taakgegevens voor de ontvanger',\n sendDataTooltip:\n \"Voor hier sleutels en waarden in voor data die verstuurd moet worden naar de Objecten API. De sleutel is hier de sleutel van het Form.IO-veld dat gevuld moet worden (bijvoorbeeld 'firstName'). De waarde wijst naar de data waarmee dit veld gevuld moet worden (bijvoorbeeld 'doc:/customer/firstName').\",\n receiveData: 'Ingevulde gegevens door de ontvanger',\n receiveDataTooltip:\n \"Voor hier sleutels en waarden in voor data die ontvangen moet worden van de Objecten API. De sleutel is hier de locatie waar de data opgeslagen moet worden (bijvoorbeeld 'doc:/customer/signedAgreement'). De waarde wijst naar de sleutel van het Form.IO-veld waar de data vandaan moet komen (bijvoorbeeld '/signedAgreement').\",\n receiver: 'Ontvanger',\n receiverTooltip: 'Bepaal hier bij wie de data van de afgeronde taak terecht moet komen.',\n zaakInitiator: 'Zaak-initiator',\n other: 'Anders',\n otherReceiver: 'Andere ontvanger',\n otherReceiverTooltip:\n 'U heeft de optie geselecteerd voor een andere ontvanger. Selecteer hier welk type dit moet zijn.',\n kvk: 'KVK-nummer',\n bsn: 'Burgerservicenummer (BSN)',\n kvkTooltip: 'Het KVK-nummer van de gewenste ontvanger.',\n bsnTooltip: 'Het Burgerservicenummer (BSN) van de gewenste ontvanger.',\n uploadedDocumentsHandlerProcess: 'Geüploade documentverwerkingsproces',\n uploadedDocumentsHandlerProcessTooltip:\n 'Het proces dat de geüploade documenten in de portal moet afhandelen.',\n identificationKey: 'Identificatiesleutel',\n identificationKeyTooltip:\n \"De ingevoerde sleutel bepaalt hoe de ontvanger wordt geïdentificeerd. Geldige voorbeelden zijn 'bsn' of 'kvk'.\",\n identificationValue: 'Identificatiewaarde',\n identificationValueTooltip:\n \"De waarde waarmee de ontvanger wordt geïdentificeerd. Wanneer er bijvoorbeeld in het veld 'Identificatiesleutel' de waarde 'bsn' is ingevoerd, kan er in dit veld een burgerservicenummer worden ingevoerd (bijvoorbeeld 558099476).\",\n },\n en: {\n title: 'Portal task',\n description: 'A component to access a portal task routing component.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n notificatiesApiPluginConfiguration: 'Notification API plugin',\n notificatiesApiPluginConfigurationTooltip:\n 'Select the Notifications API plugin. If the selection box remains empty, the Notifications API plugin will first have to be created.',\n objectManagementConfiguration: 'Object management configuration',\n objectManagementConfigurationTooltip:\n 'Select the object management configuration. If the selection box remains empty, the object management configuration will first have to be created.',\n 'create-portaaltaak': 'Create portal task',\n 'complete-portaaltaak': 'Complete portal task',\n formType: 'Form type',\n formTypeTooltip:\n 'Choose here whether the form to be displayed should come from a set definition or from an external URL.',\n id: 'Form definition',\n url: 'URL',\n formTypeId: 'Formulier ID',\n formTypeIdTooltip: 'Het ID van het formulier dat getoond moet worden',\n formTypeUrl: 'Formulier URL',\n formTypeUrlTooltip: 'Een URL die wijst naar het formulier dat getoond moet worden',\n sendData: 'Task data for the recipient',\n sendDataTooltip:\n \"Enter keys and values here for data to be sent to the Objecten API. The key here is the key of the Form.IO field to be populated (e.g. 'firstName'). The value points to the data with which this field must be filled (e.g. 'doc:/customer/firstName').\",\n receiveData: 'Information entered by the recipient',\n receiveDataTooltip:\n \"Enter keys and values here for data to be received from the Objecten API. The key here is the location where the data should be stored (e.g. 'doc:/customer/signedAgreement'). The value points to the key of the Form.IO field where the data should come from (e.g. '/signedAgreement').\",\n receiver: 'Receiver',\n receiverTooltip: 'Determine here who should receive the data of the completed task.',\n zaakInitiator: 'Case initiator',\n other: 'Other',\n otherReceiver: 'Other receiver',\n otherReceiverTooltip:\n 'You have selected the option for another receiver. Select here which type this should be.',\n kvk: 'KVK number',\n bsn: 'Citizen service number (BSN)',\n kvkTooltip: 'The KVK number of the desired receiver.',\n bsnTooltip: 'The Citizen service number (BSN) of the desired receiver',\n uploadedDocumentsHandlerProcess: 'Uploaded documents handler process',\n uploadedDocumentsHandlerProcessTooltip:\n 'The process that should handle the uploaded documents in the portal.',\n identificationKey: 'Identification key',\n identificationKeyTooltip:\n \"The key entered determines how the recipient is identified. Valid examples are 'bsn' or 'kvk'.\",\n identificationValue: 'Identification value',\n identificationValueTooltip:\n \"The value that identifies the recipient. For example, if the value 'bsn' is entered in the 'Identification key' field, a citizen service number can be entered in this field (for example 558099476).\",\n },\n de: {\n title: 'Portalaufgabe',\n description:\n 'Eine Komponente für den Zugriff auf eine Portal-Aufgabenweiterleitungskomponente.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n notificatiesApiPluginConfiguration: 'Benachrichtigungs-API plugin',\n notificatiesApiPluginConfigurationTooltip:\n 'Wählen Sie das Benachrichtigungs-API-Plugin aus. Bleibt das Auswahlfeld leer, muss das Benachrichtigungs-API-Plugin erst erstellt werden',\n objectManagementConfiguration: 'Objektverwaltungskonfiguration',\n objectManagementConfigurationTooltip:\n 'Wählen Sie die Objektverwaltungskonfiguration aus. Bleibt das Auswahlfeld leer, muss zunächst die Objektverwaltungskonfiguration erstellt werden.',\n 'create-portaaltaak': 'Portalaufgabe erstellen',\n 'complete-portaaltaak': 'Portaaltaak komplett',\n formType: 'Formulartyp',\n formTypeTooltip:\n 'Wählen Sie hier aus, ob das anzuzeigende Formular aus einer Set-Definition oder von einer externen URL stammen soll.',\n id: 'Formulardefinition',\n url: 'URL',\n sendData: 'Auftragsdaten für den Empfänger',\n sendDataTooltip:\n \"Geben Sie hier Schlüssel und Werte für Daten ein, die an die Objecten API gesendet werden sollen. Der Schlüssel hier ist der Schlüssel des Form.IO-Felds, das gefüllt werden soll (z. B. 'firstName‘). Der Wert zeigt auf die Daten, mit denen dieses Feld gefüllt wird muss ausgefüllt werden (z.B. 'doc:/customer/firstName').\",\n receiveData: 'Vom Empfänger eingegebene Informationen',\n receiveDataTooltip:\n \"Geben Sie hier Schlüssel und Werte für Daten ein, die von der Objecten API empfangen werden sollen. Der Schlüssel hier ist der Ort, an dem die Daten gespeichert werden sollen (z. B. 'doc:/customer/signedAgreement'). Der Wert zeigt auf den Schlüssel des Form.IO-Feld, aus dem die Daten stammen sollen (z. B. '/signedAgreement').\",\n receiver: 'Empfänger',\n receiverTooltip:\n 'Bestimmen Sie hier, wer die Daten der abgeschlossenen Aufgabe erhalten soll.',\n zaakInitiator: 'Initiator des Falles',\n other: 'Andere',\n otherReceiver: 'Anderer Empfänger',\n otherReceiverTooltip:\n 'Sie haben die Option für einen anderen Empfänger gewählt. Wählen Sie hier aus, welcher Typ das sein soll.',\n kvk: 'KVK-Nummer',\n bsn: 'Bürgerservicenummer (BSN)',\n kvkTooltip: 'Die KVK-Nummer des gewünschten Empfängers.',\n bsnTooltip: 'Die Bürgerservicenummer (BSN) des gewünschten Empfängers.',\n uploadedDocumentsHandlerProcess: 'Handhabungsprozess für hochgeladene Dokumente',\n uploadedDocumentsHandlerProcessTooltip:\n 'Der Prozess, der die hochgeladenen Dokumente im Portal handhaben soll.',\n identificationKey: 'Identifikationsschlüssel',\n identificationKeyTooltip:\n \"Der eingegebene Schlüssel bestimmt, wie der Empfänger identifiziert wird. Gültige Beispiele sind 'bsn' oder 'kvk'.\",\n identificationValue: 'Identifikationswert',\n identificationValueTooltip:\n \"Der Wert, der den Empfänger identifiziert. Wird beispielsweise im Feld 'Identifikationsschlüssel' der Wert 'bsn' eingetragen, kann in diesem Feld eine Sozialversicherungsnummer eingetragen werden (z. B. 558099476).\",\n },\n },\n};\n\nexport {portaaltaakPluginSpecification};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {catchError, Observable, of} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\nimport {Objecttype, Roltype} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class VerzoekPluginService {\n private valtimoEndpointUri: string;\n\n constructor(private http: HttpClient, configService: ConfigService) {\n this.valtimoEndpointUri = configService.config?.valtimoApi?.endpointUri;\n }\n\n getAllObjects(): Observable<Objecttype[]> {\n return this.http.get<Objecttype[]>(\n `${this.valtimoEndpointUri}v1/object/management/configuration`\n );\n }\n\n getRoltypesByDocumentDefinitionName(documentDefinitionName: string): Observable<Array<Roltype>> {\n return this.http\n .get<Array<Roltype>>(\n `${this.valtimoEndpointUri}v1/case-definition/${documentDefinitionName}/zaaktype/roltype`\n )\n .pipe(catchError(() => of([])));\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './verzoek-plugin.service';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, of, Subscription, take} from 'rxjs';\nimport {VerzoekConfig, VerzoekType} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {SelectItem} from '@valtimo/user-interface';\nimport {VerzoekPluginService} from '../../services';\nimport {ProcessService} from '@valtimo/process';\nimport {DocumentService} from '@valtimo/document';\n\n@Component({\n selector: 'valtimo-verzoek-configuration',\n templateUrl: './verzoek-configuration.component.html',\n styleUrls: ['./verzoek-configuration.component.scss'],\n})\nexport class VerzoekConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<VerzoekConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<VerzoekConfig> = new EventEmitter<VerzoekConfig>();\n\n readonly notificatiePluginSelectItems$: Observable<Array<SelectItem>> = combineLatest([\n this.pluginManagementService.getPluginConfigurationsByPluginDefinitionKey('notificatiesapi'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n readonly objectManagementSelectItems$: Observable<Array<SelectItem>> = this.verzoekPluginService\n .getAllObjects()\n .pipe(\n map(objects =>\n objects.map(object => ({\n id: object.id,\n text: object.title,\n }))\n )\n );\n\n readonly processSelectItems$: Observable<Array<SelectItem>> = this.processService\n .getProcessDefinitions()\n .pipe(\n map(processDefinitions =>\n processDefinitions.map(processDefinition => ({\n id: processDefinition.key,\n text: processDefinition.name,\n }))\n )\n );\n\n readonly documentSelectItems$: Observable<Array<SelectItem>> = this.documentService\n .getAllDefinitions()\n .pipe(\n map(documentDefinitions =>\n documentDefinitions.content.map(documentDefinition => ({\n id: documentDefinition.id.name,\n text: documentDefinition.id.name,\n }))\n )\n );\n\n rolTypeSelectItemsObservables: {\n [uuid: string]: {caseDefinitionName: string; items: Observable<Array<SelectItem>>};\n } = {};\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<VerzoekConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService,\n private readonly verzoekPluginService: VerzoekPluginService,\n private readonly processService: ProcessService,\n private readonly documentService: DocumentService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: VerzoekConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n verzoekTypeFormChange(formValue: VerzoekType, uuid: string): void {\n const caseDefinitionName = formValue?.caseDefinitionName;\n const rolTypeSelectItemsObservables = this.rolTypeSelectItemsObservables;\n\n if (caseDefinitionName) {\n if (\n !rolTypeSelectItemsObservables[uuid] ||\n rolTypeSelectItemsObservables[uuid].caseDefinitionName !== caseDefinitionName\n ) {\n rolTypeSelectItemsObservables[uuid] = {\n caseDefinitionName,\n items: this.verzoekPluginService\n .getRoltypesByDocumentDefinitionName(caseDefinitionName)\n .pipe(\n map(rolTypes => rolTypes.map(rolType => ({text: rolType.name, id: rolType.url})))\n ),\n };\n }\n } else {\n rolTypeSelectItemsObservables[uuid] = {\n caseDefinitionName,\n items: of([]),\n };\n }\n }\n\n deleteRow(uuid: string) {\n delete this.rolTypeSelectItemsObservables[uuid];\n }\n\n private handleValid(formValue: VerzoekConfig): void {\n const validForm = !!(\n formValue.configurationTitle &&\n formValue.notificatiesApiPluginConfiguration &&\n formValue.rsin &&\n formValue.objectManagementId &&\n formValue.processToStart\n );\n const verzoekTypen = formValue.verzoekProperties || [];\n const validVerzoekTypen = verzoekTypen.filter(\n type =>\n !!(\n type.type &&\n type.caseDefinitionName &&\n type.initiatorRoltypeUrl &&\n type.processDefinitionKey &&\n type.initiatorRolDescription\n )\n );\n const valid = validForm && verzoekTypen.length === validVerzoekTypen.length;\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate : pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{notificatiePluginSelectItems: notificatiePluginSelectItems$ | async} as vars\"\n >\n <v-select\n [items]=\"vars.notificatiePluginSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"notificatiesApiPluginConfiguration\"\n [title]=\"'notificatiesApiPluginConfiguration' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.notificatiesApiPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!vars.notificatiePluginSelectItems\"\n [tooltip]=\"'notificatiesApiPluginConfigurationTooltip' | pluginTranslate : pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container *ngIf=\"{objectManagementSelectItems: objectManagementSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.objectManagementSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objectManagementId\"\n [title]=\"'objectManagementId' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.objectManagementId\"\n [required]=\"true\"\n [loading]=\"!vars.objectManagementSelectItems\"\n [tooltip]=\"'objectManagementIdTooltip' | pluginTranslate : pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container *ngIf=\"{processSelectItems: processSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.processSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"processToStart\"\n [title]=\"'processToStart' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.processToStart\"\n [required]=\"true\"\n [loading]=\"!vars.processSelectItems\"\n [tooltip]=\"'processToStartTooltip' | pluginTranslate : pluginId | async\"\n ></v-select>\n </ng-container>\n <v-input\n name=\"rsin\"\n [title]=\"'rsin' | pluginTranslate : pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.rsin\"\n [required]=\"true\"\n [tooltip]=\"'rsinTooltip' | pluginTranslate : pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-multi-input-form\n name=\"verzoekProperties\"\n [title]=\"'verzoekProperties' | pluginTranslate : pluginId | async\"\n [formTemplate]=\"mappingForm\"\n [addRowText]=\"'addVerzoekType' | pluginTranslate : pluginId | async\"\n [required]=\"false\"\n [tooltip]=\"'verzoekPropertiesTooltip' | pluginTranslate : pluginId | async\"\n (deleteRowEvent)=\"deleteRow($event)\"\n [initialAmountOfRows]=\"0\"\n [minimumAmountOfRows]=\"0\"\n [defaultValues]=\"obs.prefill?.verzoekProperties\"\n >\n </v-multi-input-form>\n</v-form>\n\n<ng-template\n #mappingForm\n let-index=\"index\"\n let-uuid=\"uuid\"\n let-changeFunction=\"changeFunction\"\n let-prefill=\"prefill\"\n>\n <v-form\n (valueChange)=\"changeFunction($event, uuid); verzoekTypeFormChange($event, uuid)\"\n *ngIf=\"{\n disabled: disabled$ | async\n } as obs\"\n >\n <v-input\n name=\"type\"\n [title]=\"'type' | pluginTranslate : pluginId | async\"\n [margin]=\"false\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"prefill?.type\"\n [required]=\"true\"\n [tooltip]=\"'typeTooltip' | pluginTranslate : pluginId | async\"\n [widthPx]=\"350\"\n [smallMargin]=\"true\"\n >\n </v-input>\n <ng-container *ngIf=\"{documentSelectItems: documentSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.documentSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinitionName\"\n [title]=\"'caseDefinitionName' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.caseDefinitionName\"\n [required]=\"true\"\n [loading]=\"!vars.documentSelectItems\"\n [tooltip]=\"'caseDefinitionNameTooltip' | pluginTranslate : pluginId | async\"\n ></v-select>\n </ng-container>\n <v-select\n [items]=\"\n rolTypeSelectItemsObservables[uuid]?.caseDefinitionName &&\n (rolTypeSelectItemsObservables[uuid].items | async)\n \"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"initiatorRoltypeUrl\"\n [title]=\"'initiatorRoltypeUrl' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled || !rolTypeSelectItemsObservables[uuid]?.caseDefinitionName\"\n [defaultSelectionId]=\"prefill?.initiatorRoltypeUrl\"\n [required]=\"true\"\n [tooltip]=\"'initiatorRoltypeUrlTooltip' | pluginTranslate : pluginId | async\"\n ></v-select>\n <v-input\n name=\"initiatorRolDescription\"\n [title]=\"'initiatorRolDescription' | pluginTranslate : pluginId | async\"\n [margin]=\"false\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"prefill?.initiatorRolDescription || 'Initiator'\"\n [required]=\"true\"\n [tooltip]=\"'initiatorRolDescriptionTooltip' | pluginTranslate : pluginId | async\"\n [widthPx]=\"350\"\n [smallMargin]=\"true\"\n >\n </v-input>\n <ng-container *ngIf=\"{processSelectItems: processSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.processSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"processDefinitionKey\"\n [title]=\"'processDefinitionKey' | pluginTranslate : pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.processDefinitionKey\"\n [required]=\"true\"\n [loading]=\"!vars.processSelectItems\"\n [tooltip]=\"'processDefinitionKeyTooltip' | pluginTranslate : pluginId | async\"\n ></v-select>\n </ng-container>\n </v-form>\n</ng-template>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {VerzoekConfigurationComponent} from './components/verzoek-configuration/verzoek-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {CommonModule} from '@angular/common';\nimport {\n FormModule,\n InputModule,\n MultiInputFormModule,\n ParagraphModule,\n SelectModule,\n} from '@valtimo/user-interface';\n\n@NgModule({\n declarations: [VerzoekConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n MultiInputFormModule,\n ],\n exports: [VerzoekConfigurationComponent],\n})\nexport class VerzoekPluginModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst VERZOEK_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\n\nexport {VERZOEK_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {VerzoekConfigurationComponent} from './components/verzoek-configuration/verzoek-configuration.component';\nimport {VERZOEK_PLUGIN_LOGO_BASE64} from './assets/verzoek-plugin-logo';\n\nconst verzoekPluginSpecification: PluginSpecification = {\n pluginId: 'verzoek',\n pluginConfigurationComponent: VerzoekConfigurationComponent,\n pluginLogoBase64: VERZOEK_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'Verzoek',\n description:\n 'De Verzoek-plugin handelt aanvragen af en maakt een Zaakdossier aan. Een Verzoek is een Object in de Objecten API en wordt meestal met behulp van een portaal aangemaakt.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n notificatiesApiPluginConfiguration: 'Notificaties API-configuratie',\n objectManagementId: 'Object management-configuratie',\n processToStart: 'Proces',\n rsin: 'RSIN',\n verzoekProperties: 'Verzoektypen',\n type: 'Type',\n caseDefinitionName: 'Dossierdefinitie',\n initiatorRoltypeUrl: 'Roltype',\n processDefinitionKey: 'Procesdefinitie',\n initiatorRolDescription: 'Rolbeschrijving',\n addVerzoekType: 'Verzoektype toevoegen',\n verzoekPropertiesTooltip:\n 'De verzoektypen die aangemaakt worden wannneer er een notificatie binnenkomt.',\n notificatiesApiPluginConfigurationTooltip:\n 'Configuratie van de Notificaties API die wordt gebruikt om te communiceren tussen GZAC en andere applicaties.',\n objectManagementIdTooltip:\n 'Configuratie van het object dat wordt gebruikt om een verzoek op te slaan.',\n processToStartTooltip: 'Het proces dat een zaak aanmaakt wanneer een notificatie binnenkomt.',\n rsinTooltip: 'Dit nummer moet voldoen aan dezelfde specificaties als een BSN-nummer.',\n typeTooltip:\n \"Het type van het verzoek dat wordt gebruikt om het object te identificeren. Bv. 'verzoek'.\",\n caseDefinitionNameTooltip:\n 'Selecteer hier het dossiertype waarvan een instantie gestart moet worden wanneer er een verzoek binnenkomt.',\n initiatorRoltypeUrlTooltip:\n 'Het roltype van de aanvrager die wordt opgeslagen wanneer er een verzoek binnenkomt.',\n initiatorRolDescriptionTooltip:\n 'Een beschrijving van het roltype van de aanvrager die wordt opgeslagen wanneer er een verzoek binnenkomt.',\n processDefinitionKeyTooltip:\n 'Selecteer hier het proces dat gestart moet worden wanneer het eerder geselecteerde systeemproces afgerond is.',\n },\n en: {\n title: 'Verzoek',\n description:\n 'The Verzoek plugin handles requests and creates a Zaakdossier. A Verzoek is an Object in the Objecten API and is usually created using a portal.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n notificatiesApiPluginConfiguration: 'Notificaties API configuration',\n objectManagementId: 'Object management configuration',\n processToStart: 'Process',\n rsin: 'RSIN',\n verzoekProperties: 'Verzoek types',\n type: 'Type',\n caseDefinitionName: 'Case definition',\n initiatorRoltypeUrl: 'Role type',\n processDefinitionKey: 'Process definition',\n initiatorRolDescription: 'Role description',\n addVerzoekType: 'Add verzoek type',\n verzoekPropertiesTooltip:\n 'The verzoek types that are created when a notification is received.',\n notificatiesApiPluginConfigurationTooltip:\n 'Configuration of the Notificaties API used to communicate between GZAC and other applications.',\n objectManagementIdTooltip: 'Configuration of the object used to store a verzoek.',\n processToStartTooltip: 'The process that creates a case when a notification is received.',\n rsinTooltip: 'This number must meet the same specifications as a BSN number.',\n typeTooltip: \"The type of verzoek used to identify the object. Eg. 'verzoek'.\",\n caseDefinitionNameTooltip:\n 'The case type of which an instance should be started when a verzoek comes in.',\n initiatorRoltypeUrlTooltip:\n 'The role type of the requestor that is saved when a verzoek comes in.',\n initiatorRolDescriptionTooltip:\n \"A description of the requester's role type that is saved when a verzoek comes in.\",\n processDefinitionKeyTooltip:\n 'Select the process that should be started when the previously selected system process has finished.',\n },\n de: {\n title: 'Verzoek',\n description:\n 'Das Verzoek-Plugin verarbeitet Anfragen und erstellt eine Zaakdossier. Eine Verzoek ist ein Object in der Objecten API und wird normalerweise mithilfe eines Portals erstellt.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n notificatiesApiPluginConfiguration: 'Notificaties API-Konfiguration',\n objectManagementId: 'Object management-Konfiguration',\n processToStart: 'Prozess',\n rsin: 'RSIN',\n verzoekProperties: 'Verzoektypen',\n type: 'Typ',\n caseDefinitionName: 'Dateidefinition',\n initiatorRoltypeUrl: 'Rollentyp',\n processDefinitionKey: 'Prozessdefinition',\n initiatorRolDescription: 'Rollenbeschreibung',\n addVerzoekType: 'Verzoektyp hinzufügen',\n verzoekPropertiesTooltip:\n 'Die Verzoektypen die erstellt werden wenn eine Benachrichtigung eintrifft.',\n notificatiesApiPluginConfigurationTooltip:\n 'Konfiguration der Notificaties API, die für die Kommunikation zwischen GZAC und anderen Anwendungen verwendet wird.',\n objectManagementIdTooltip:\n 'Konfiguration des Objects, das zum Speichern einer Verzoek verwendet wird.',\n processToStartTooltip:\n 'Der Prozess, der einen Fall erstellt, wenn eine Benachrichtigung eintrifft.',\n rsinTooltip: 'Diese Nummer muss die gleichen Spezifikationen wie eine BSN-Nummer erfüllen.',\n typeTooltip:\n \"Der Verzoektyp, der zum Identifizieren des Objects verwendet wird. Z.B. 'verzoek'.\",\n caseDefinitionNameTooltip:\n 'Wählen Sie hier den Falltyp aus, von dem eine Instanz gestartet werden soll, wenn eine Verzoek eintrifft.',\n initiatorRoltypeUrlTooltip:\n 'Der Rollentyp des Anforderers, der gespeichert wird, wenn eine Verzoek eingeht.',\n initiatorRolDescriptionTooltip:\n 'Eine Beschreibung des Rollentyps des Anforderers, die gespeichert wird, wenn eine Verzoek eingeht.',\n processDefinitionKeyTooltip:\n 'Wählen Sie hier den Prozess aus, der gestartet werden soll, wenn der zuvor ausgewählte Systemprozess beendet ist.',\n },\n },\n};\n\nexport {verzoekPluginSpecification};\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of plugin\n */\n\nexport * from './lib/services';\nexport * from './lib/models';\nexport * from './lib/pipes';\nexport * from './lib/constants';\n/* plugin configuration container */\nexport * from './lib/components/plugin-configuration-container/plugin-configuration-container.component';\nexport * from './lib/components/plugin-configuration-container/plugin-configuration-container.module';\n/* open-zaak plugin */\nexport * from './lib/plugins/open-zaak/open-zaak-plugin.module';\nexport * from './lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component';\nexport * from './lib/plugins/open-zaak/open-zaak-plugin.specification';\n/* object token authentication plugin */\nexport * from './lib/plugins/object-token-authentication/object-token-authentication-plugin.module';\nexport * from './lib/plugins/object-token-authentication/object-token-authentication-plugin.specification';\nexport * from './lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component';\n/* smart-documents plugin */\nexport * from './lib/plugins/smart-documents/smart-documents-plugin.module';\nexport * from './lib/plugins/smart-documents/smart-documents-plugin.specification';\nexport * from './lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component';\nexport * from './lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component';\n/* documenten api plugin */\nexport * from './lib/plugins/documenten-api/documenten-api-plugin.module';\nexport * from './lib/plugins/documenten-api/documenten-api-plugin.specification';\nexport * from './lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component';\nexport * from './lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component';\nexport * from './lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component';\n/* objecttypen api plugin */\nexport * from './lib/plugins/objecttypen-api/objecttypen-api-plugin-module';\nexport * from './lib/plugins/objecttypen-api/objecttypen-api-plugin.specification';\nexport * from './lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component';\n/* zaken api plugin */\nexport * from './lib/plugins/zaken-api/zaken-api-plugin.module';\nexport * from './lib/plugins/zaken-api/zaken-api-plugin.specification';\nexport * from './lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component';\nexport * from './lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component';\nexport * from './lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component';\nexport * from './lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component';\nexport * from './lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component';\n/* objecten api plugin */\nexport * from './lib/plugins/objecten-api/objecten-api-plugin-module';\nexport * from './lib/plugins/objecten-api/objecten-api-plugin.specification';\nexport * from './lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component';\n/* catalogi api plugin */\nexport * from './lib/plugins/catalogi-api/catalogi-api-plugin-module';\nexport * from './lib/plugins/catalogi-api/catalogi-api-plugin.specification';\nexport * from './lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component';\n/* notificaties api plugin */\nexport * from './lib/plugins/notificaties-api/notificaties-api-plugin.module';\nexport * from './lib/plugins/notificaties-api/notificaties-api-plugin.specification';\nexport * from './lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component';\n/* notificaties api authentication plugin */\nexport * from './lib/plugins/notificaties-api-authentication/open-notificaties-plugin.module';\nexport * from './lib/plugins/notificaties-api-authentication/open-notificaties-plugin.specification';\nexport * from './lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component';\n/* portaaltaak plugin */\nexport * from './lib/plugins/portaaltaak/portaaltaak-plugin.module';\nexport * from './lib/plugins/portaaltaak/portaaltaak-plugin.specification';\nexport * from './lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component';\nexport * from './lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component';\nexport * from './lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component';\n/* verzoek plugin */\nexport * from './lib/plugins/verzoek/verzoek-plugin.module';\nexport * from './lib/plugins/verzoek/verzoek-plugin.specification';\nexport * from './lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.PluginService","i4","i1.PluginTranslationService","i1.PluginService","i2","i3","i3.PluginTranslatePipe","map","i1.PluginManagementService","i5.PluginTranslatePipe","i2.PluginTranslationService","i6.PluginTranslatePipe","i2.ObjectService","i5","i6","i7.PluginTranslatePipe","i3.VerzoekPluginService","i7","i8.PluginTranslatePipe"],"mappings":"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"}