keevo-components 2.0.89 → 2.0.91

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 (39) hide show
  1. package/esm2022/lib/api/components/table/table.config.mjs +1 -1
  2. package/esm2022/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.mjs +11 -0
  3. package/esm2022/lib/components/kv-inputs/kv-editor/config/kv-editor.config.mjs +108 -0
  4. package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.component.mjs +118 -253
  5. package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.mjs +7 -0
  6. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-mention.service.mjs +135 -0
  7. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-pdf.service.mjs +169 -0
  8. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.mjs +78 -0
  9. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.mjs +95 -0
  10. package/esm2022/lib/components/kv-inputs/kv-editor/types/kv-editor.types.mjs +2 -0
  11. package/esm2022/lib/components/kv-layout/layout/kv-layout.component.mjs +3 -3
  12. package/esm2022/lib/components/kv-table/kv-table.component.mjs +3 -3
  13. package/esm2022/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.mjs +15 -0
  14. package/esm2022/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.mjs +18 -0
  15. package/esm2022/lib/components/kv-table-viewer/kv-table-viewer.component.mjs +168 -0
  16. package/esm2022/public-api.mjs +5 -1
  17. package/fesm2022/keevo-components.mjs +932 -315
  18. package/fesm2022/keevo-components.mjs.map +1 -1
  19. package/lib/api/components/table/table.config.d.ts +2 -0
  20. package/lib/components/kv-button/kv-button.component.d.ts +1 -1
  21. package/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.d.ts +1 -1
  22. package/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.d.ts +5 -0
  23. package/lib/components/kv-inputs/kv-editor/config/kv-editor.config.d.ts +55 -0
  24. package/lib/components/kv-inputs/kv-editor/kv-editor.component.d.ts +29 -40
  25. package/lib/components/kv-inputs/kv-editor/kv-editor.d.ts +6 -0
  26. package/lib/components/kv-inputs/kv-editor/services/kv-editor-mention.service.d.ts +41 -0
  27. package/lib/components/kv-inputs/kv-editor/services/kv-editor-pdf.service.d.ts +41 -0
  28. package/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.d.ts +28 -0
  29. package/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.d.ts +45 -0
  30. package/lib/components/kv-inputs/kv-editor/types/kv-editor.types.d.ts +32 -0
  31. package/lib/components/kv-table/kv-table.component.d.ts +1 -1
  32. package/lib/components/kv-table-edit/kv-table-edit.component.d.ts +1 -1
  33. package/lib/components/kv-table-expandable/kv-table-expandable.component.d.ts +1 -1
  34. package/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.d.ts +8 -0
  35. package/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.d.ts +7 -0
  36. package/lib/components/kv-table-viewer/kv-table-viewer.component.d.ts +66 -0
  37. package/lib/components/kv-tag/kv-tag.component.d.ts +1 -1
  38. package/package.json +4 -4
  39. package/public-api.d.ts +4 -0
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2FwaS9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFibGVDb25maWdDb2x1bW4gfSBmcm9tICcuL3RhYmxlLmNvbmZpZy5jb2x1bW4nO1xyXG5pbXBvcnQgeyBLdk1lbnVJdGVtLCBWYWx1ZU9yRm4gfSBmcm9tICcuL2t2LW1lbnVpdGVtJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVDb25maWcge1xyXG4gIGFjdGlvbnM/OiBLdk1lbnVJdGVtW107XHJcbiAgYWN0aW9uc0xvdGU/OiBBY3Rpb25zTG90ZUl0ZW1bXTtcclxuICBjb2x1bW5zOiBUYWJsZUNvbmZpZ0NvbHVtbltdO1xyXG4gIGRhdGFLZXk/OiBzdHJpbmc7XHJcbiAgcm93cz86IGFueTtcclxuICB0aXRsZT86IHN0cmluZztcclxuICBzdWJ0aXRsZT86IHN0cmluZztcclxuICBsYXp5OiBib29sZWFuO1xyXG4gIGZpZWxkR3JvdXA/OiBzdHJpbmc7XHJcbiAgZW5hYmxlQ2F0aW9uPzogYm9vbGVhbjtcclxuICBlbmFibGVGaWx0ZXI/OiBib29sZWFuO1xyXG4gIGVuYWJsZVNlbGVjdD86IGJvb2xlYW47XHJcbiAgZW5hYmxlVG9nZ2xlTm9kZXM/OiBib29sZWFuO1xyXG4gIHRlbXBsYXRlUm93RXhwYW5kZWQ/OiBhbnk7XHJcbiAgLy8gdmlzaWJsZUNvbnRyb2xDaGVja2JveEZ1bmN0aW9uPzogKHJvd0RhdGE6IGFueSkgPT4gYm9vbGVhbjsgLy8gQSBmdW7Dp8OjbyBxdWUgY29udHJvbGEgYSBlZGnDp8Ojb1xyXG4gIGRpc2FibGVDb250cm9sQ2hlY2tib3hGdW5jdGlvbj86IChyb3dEYXRhOiBhbnksIHJvd05vZGU/OiBhbnkpID0+IGJvb2xlYW47IC8vIEEgZnVuw6fDo28gcXVlIGNvbnRyb2xhIGEgZWRpw6fDo29cclxuICBmaWVsZEdyb3VwQ29sb3JGdW5jdGlvbj86IChkYXRhOiBhbnkpID0+IHN0cmluZzsgLy8gTsOjbyDDqSB1dGlsaXphZG9cclxuICBkaXNhYmxlUm93PzogKHJvd0RhdGE6IGFueSkgPT4gYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25zTG90ZUl0ZW0ge1xyXG4gIC8qKlxyXG4gICAqIElnbm9yYWRvIHBvciBlbnF1YW50b1xyXG4gICAqL1xyXG4gIHNldmVyaXR5PzogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAndGVydGlhcnknO1xyXG4gIGljb246IHN0cmluZztcclxuICBzaG93QWNvZXNMb3RlPzogYm9vbGVhbjtcclxuICB0b29sdGlwPzogVmFsdWVPckZuPHN0cmluZyB8IHVuZGVmaW5lZD47XHJcbiAgZGlzYWJsZWQ/OiBWYWx1ZU9yRm48Ym9vbGVhbiB8IHVuZGVmaW5lZD47XHJcbiAgdmlzaWJsZT86IFZhbHVlT3JGbjxib29sZWFuIHwgdW5kZWZpbmVkPjtcclxuICBsYWJlbD86IFZhbHVlT3JGbjxzdHJpbmc+O1xyXG4gIGNvbW1hbmQ/OiAoKSA9PiB2b2lkO1xyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2FwaS9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFibGVDb25maWdDb2x1bW4gfSBmcm9tICcuL3RhYmxlLmNvbmZpZy5jb2x1bW4nO1xyXG5pbXBvcnQgeyBLdk1lbnVJdGVtLCBWYWx1ZU9yRm4gfSBmcm9tICcuL2t2LW1lbnVpdGVtJztcclxuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ29uZmlnIHtcclxuICBhY3Rpb25zPzogS3ZNZW51SXRlbVtdO1xyXG4gIGFjdGlvbnNMb3RlPzogQWN0aW9uc0xvdGVJdGVtW107XHJcbiAgY29sdW1uczogVGFibGVDb25maWdDb2x1bW5bXTtcclxuICBkYXRhS2V5Pzogc3RyaW5nO1xyXG4gIHJvd3M/OiBhbnk7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgc3VidGl0bGU/OiBzdHJpbmc7XHJcbiAgbGF6eTogYm9vbGVhbjtcclxuICBmaWVsZEdyb3VwPzogc3RyaW5nO1xyXG4gIGVuYWJsZUNhdGlvbj86IGJvb2xlYW47XHJcbiAgZW5hYmxlRmlsdGVyPzogYm9vbGVhbjtcclxuICBlbmFibGVTZWxlY3Q/OiBib29sZWFuO1xyXG4gIGVuYWJsZVRvZ2dsZU5vZGVzPzogYm9vbGVhbjtcclxuICB0ZW1wbGF0ZVJvd0V4cGFuZGVkPzogYW55O1xyXG4gIC8vIHZpc2libGVDb250cm9sQ2hlY2tib3hGdW5jdGlvbj86IChyb3dEYXRhOiBhbnkpID0+IGJvb2xlYW47IC8vIEEgZnVuw6fDo28gcXVlIGNvbnRyb2xhIGEgZWRpw6fDo29cclxuICBkaXNhYmxlQ29udHJvbENoZWNrYm94RnVuY3Rpb24/OiAocm93RGF0YTogYW55LCByb3dOb2RlPzogYW55KSA9PiBib29sZWFuOyAvLyBBIGZ1bsOnw6NvIHF1ZSBjb250cm9sYSBhIGVkacOnw6NvXHJcbiAgZmllbGRHcm91cENvbG9yRnVuY3Rpb24/OiAoZGF0YTogYW55KSA9PiBzdHJpbmc7IC8vIE7Do28gw6kgdXRpbGl6YWRvXHJcbiAgZGlzYWJsZVJvdz86IChyb3dEYXRhOiBhbnkpID0+IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uc0xvdGVJdGVtIHtcclxuICAvKipcclxuICAgKiBJZ25vcmFkbyBwb3IgZW5xdWFudG9cclxuICAgKi9cclxuICBzZXZlcml0eT86ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3RlcnRpYXJ5JztcclxuICBpY29uOiBzdHJpbmc7XHJcbiAgc2hvd0Fjb2VzTG90ZT86IGJvb2xlYW47XHJcbiAgdG9vbHRpcD86IFZhbHVlT3JGbjxzdHJpbmcgfCB1bmRlZmluZWQ+O1xyXG4gIGRpc2FibGVkPzogVmFsdWVPckZuPGJvb2xlYW4gfCB1bmRlZmluZWQ+O1xyXG4gIHZpc2libGU/OiBWYWx1ZU9yRm48Ym9vbGVhbiB8IHVuZGVmaW5lZD47XHJcbiAgbGFiZWw/OiBWYWx1ZU9yRm48c3RyaW5nPjtcclxuICBpdGVtcz86IE1lbnVJdGVtW107XHJcbiAgY29tbWFuZD86ICgpID0+IHZvaWQ7XHJcbn1cclxuIl19
@@ -0,0 +1,11 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class KvInstrucoesReportComponent {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvInstrucoesReportComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvInstrucoesReportComponent, isStandalone: true, selector: "kv-instrucoes-report", ngImport: i0, template: "<p>kv-instrucoes-report works!</p>\r\n", styles: [""] }); }
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvInstrucoesReportComponent, decorators: [{
8
+ type: Component,
9
+ args: [{ selector: 'kv-instrucoes-report', standalone: true, imports: [], template: "<p>kv-instrucoes-report works!</p>\r\n" }]
10
+ }] });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtaW5zdHJ1Y29lcy1yZXBvcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWVkaXRvci9jb21wb25lbnRzL2t2LWluc3RydWNvZXMtcmVwb3J0L2t2LWluc3RydWNvZXMtcmVwb3J0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1lZGl0b3IvY29tcG9uZW50cy9rdi1pbnN0cnVjb2VzLXJlcG9ydC9rdi1pbnN0cnVjb2VzLXJlcG9ydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVMxQyxNQUFNLE9BQU8sMkJBQTJCOzhHQUEzQiwyQkFBMkI7a0dBQTNCLDJCQUEyQixnRkNUeEMsd0NBQ0E7OzJGRFFhLDJCQUEyQjtrQkFQdkMsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3YtaW5zdHJ1Y29lcy1yZXBvcnQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW10sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LWluc3RydWNvZXMtcmVwb3J0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4va3YtaW5zdHJ1Y29lcy1yZXBvcnQuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdkluc3RydWNvZXNSZXBvcnRDb21wb25lbnQge1xyXG5cclxufVxyXG4iLCI8cD5rdi1pbnN0cnVjb2VzLXJlcG9ydCB3b3JrcyE8L3A+XHJcbiJdfQ==
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Configuração padrão para o KV Editor
3
+ * Este arquivo demonstra as melhores práticas de configuração
4
+ */
5
+ /**
6
+ * Configuração padrão do componente KV Editor
7
+ */
8
+ export const DEFAULT_KV_EDITOR_CONFIG = {
9
+ contentType: 'html',
10
+ readonly: false,
11
+ debug: false,
12
+ canvaHeigth: '380px'
13
+ };
14
+ /**
15
+ * Configuração padrão do Quill Editor
16
+ */
17
+ export const DEFAULT_QUILL_CONFIG = {
18
+ theme: 'snow',
19
+ modules: {
20
+ toolbar: '#kv-editor-toolbar',
21
+ },
22
+ readOnly: false,
23
+ debug: false,
24
+ };
25
+ /**
26
+ * Configuração de fontes personalizadas
27
+ */
28
+ export const CUSTOM_FONTS = [
29
+ 'monospace',
30
+ 'roboto',
31
+ 'serif',
32
+ 'inter'
33
+ ];
34
+ /**
35
+ * Configuração de tamanhos de fonte
36
+ */
37
+ export const FONT_SIZES = [
38
+ '15px',
39
+ '20px',
40
+ '30px',
41
+ '40px',
42
+ '50px',
43
+ '70px',
44
+ '90px'
45
+ ];
46
+ /**
47
+ * Configuração de estilos CSS para PDF
48
+ */
49
+ export const PDF_STYLES = `
50
+ <style>
51
+ #temp-pdf-render-area {
52
+ font-family: 'Sans Serif', Arial, sans-serif;
53
+ font-size: 11pt;
54
+ line-height: 1.3;
55
+ text-align: justify;
56
+ }
57
+ #temp-pdf-render-area p {
58
+ min-height: 1.3em;
59
+ margin: 0;
60
+ padding: 0;
61
+ }
62
+ #temp-pdf-render-area h1, #temp-pdf-render-area h2, #temp-pdf-render-area h3,
63
+ #temp-pdf-render-area h4, #temp-pdf-render-area h5, #temp-pdf-render-area h6 {
64
+ page-break-after: avoid;
65
+ }
66
+ #temp-pdf-render-area [style*="text-align: center"] {
67
+ text-align: center !important;
68
+ }
69
+ #temp-pdf-render-area p, #temp-pdf-render-area h1, #temp-pdf-render-area h2,
70
+ #temp-pdf-render-area h3, #temp-pdf-render-area h4, #temp-pdf-render-area h5,
71
+ #temp-pdf-render-area h6, #temp-pdf-render-area blockquote, #temp-pdf-render-area ul,
72
+ #temp-pdf-render-area ol, #temp-pdf-render-area li, #temp-pdf-render-area table,
73
+ #temp-pdf-render-area tr, #temp-pdf-render-area img {
74
+ page-break-inside: avoid;
75
+ }
76
+ </style>
77
+ `;
78
+ /**
79
+ * Configuração de tempo de debounce para auto-save
80
+ */
81
+ export const DEBOUNCE_TIME = 500;
82
+ /**
83
+ * Configuração de URLs CDN
84
+ */
85
+ export const CDN_URLS = {
86
+ quillCss: 'https://cdn.jsdelivr.net/npm/quill@2.0.2/dist/quill.snow.css',
87
+ quillJs: 'https://cdn.jsdelivr.net/npm/quill@2.0.2/dist/quill.js',
88
+ robotoFont: 'https://fonts.googleapis.com/css?family=Roboto'
89
+ };
90
+ /**
91
+ * Configuração de mensagens de erro
92
+ */
93
+ export const ERROR_MESSAGES = {
94
+ pdfGeneration: 'Ocorreu um erro ao gerar o relatório.',
95
+ quillInit: 'Erro ao inicializar o editor.',
96
+ saveError: 'Erro ao salvar o conteúdo.',
97
+ loadError: 'Erro ao carregar o conteúdo.'
98
+ };
99
+ /**
100
+ * Configuração de timeouts
101
+ */
102
+ export const TIMEOUTS = {
103
+ pdfGeneration: 2000,
104
+ editorInit: 1000,
105
+ cssLoad: 5000,
106
+ autoSave: 3000
107
+ };
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZWRpdG9yLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1lZGl0b3IvY29uZmlnL2t2LWVkaXRvci5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBSUg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBbUI7SUFDdEQsV0FBVyxFQUFFLE1BQU07SUFDbkIsUUFBUSxFQUFFLEtBQUs7SUFDZixLQUFLLEVBQUUsS0FBSztJQUNaLFdBQVcsRUFBRSxPQUFPO0NBQ3JCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFpQztJQUNoRSxLQUFLLEVBQUUsTUFBTTtJQUNiLE9BQU8sRUFBRTtRQUNQLE9BQU8sRUFBRSxvQkFBb0I7S0FDOUI7SUFDRCxRQUFRLEVBQUUsS0FBSztJQUNmLEtBQUssRUFBRSxLQUFLO0NBQ2IsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQzFCLFdBQVc7SUFDWCxRQUFRO0lBQ1IsT0FBTztJQUNQLE9BQU87Q0FDUixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDeEIsTUFBTTtJQUNOLE1BQU07SUFDTixNQUFNO0lBQ04sTUFBTTtJQUNOLE1BQU07SUFDTixNQUFNO0lBQ04sTUFBTTtDQUNQLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQTRCekIsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQztBQUVqQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRztJQUN0QixRQUFRLEVBQUUsOERBQThEO0lBQ3hFLE9BQU8sRUFBRSx3REFBd0Q7SUFDakUsVUFBVSxFQUFFLGdEQUFnRDtDQUM3RCxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsYUFBYSxFQUFFLHVDQUF1QztJQUN0RCxTQUFTLEVBQUUsK0JBQStCO0lBQzFDLFNBQVMsRUFBRSw0QkFBNEI7SUFDdkMsU0FBUyxFQUFFLDhCQUE4QjtDQUMxQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUc7SUFDdEIsYUFBYSxFQUFFLElBQUk7SUFDbkIsVUFBVSxFQUFFLElBQUk7SUFDaEIsT0FBTyxFQUFFLElBQUk7SUFDYixRQUFRLEVBQUUsSUFBSTtDQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQ29uZmlndXJhw6fDo28gcGFkcsOjbyBwYXJhIG8gS1YgRWRpdG9yXHJcbiAqIEVzdGUgYXJxdWl2byBkZW1vbnN0cmEgYXMgbWVsaG9yZXMgcHLDoXRpY2FzIGRlIGNvbmZpZ3VyYcOnw6NvXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgS3ZFZGl0b3JDb25maWcsIEt2RWRpdG9yUXVpbGxDb25maWcgfSBmcm9tICcuLi90eXBlcy9rdi1lZGl0b3IudHlwZXMnO1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYcOnw6NvIHBhZHLDo28gZG8gY29tcG9uZW50ZSBLViBFZGl0b3JcclxuICovXHJcbmV4cG9ydCBjb25zdCBERUZBVUxUX0tWX0VESVRPUl9DT05GSUc6IEt2RWRpdG9yQ29uZmlnID0ge1xyXG4gIGNvbnRlbnRUeXBlOiAnaHRtbCcsXHJcbiAgcmVhZG9ubHk6IGZhbHNlLFxyXG4gIGRlYnVnOiBmYWxzZSxcclxuICBjYW52YUhlaWd0aDogJzM4MHB4J1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYcOnw6NvIHBhZHLDo28gZG8gUXVpbGwgRWRpdG9yXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgREVGQVVMVF9RVUlMTF9DT05GSUc6IFBhcnRpYWw8S3ZFZGl0b3JRdWlsbENvbmZpZz4gPSB7XHJcbiAgdGhlbWU6ICdzbm93JyxcclxuICBtb2R1bGVzOiB7XHJcbiAgICB0b29sYmFyOiAnI2t2LWVkaXRvci10b29sYmFyJyxcclxuICB9LFxyXG4gIHJlYWRPbmx5OiBmYWxzZSxcclxuICBkZWJ1ZzogZmFsc2UsXHJcbn07XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhw6fDo28gZGUgZm9udGVzIHBlcnNvbmFsaXphZGFzXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgQ1VTVE9NX0ZPTlRTID0gW1xyXG4gICdtb25vc3BhY2UnLFxyXG4gICdyb2JvdG8nLCBcclxuICAnc2VyaWYnLFxyXG4gICdpbnRlcidcclxuXTtcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmHDp8OjbyBkZSB0YW1hbmhvcyBkZSBmb250ZVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IEZPTlRfU0laRVMgPSBbXHJcbiAgJzE1cHgnLFxyXG4gICcyMHB4JywgXHJcbiAgJzMwcHgnLFxyXG4gICc0MHB4JyxcclxuICAnNTBweCcsXHJcbiAgJzcwcHgnLFxyXG4gICc5MHB4J1xyXG5dO1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYcOnw6NvIGRlIGVzdGlsb3MgQ1NTIHBhcmEgUERGXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgUERGX1NUWUxFUyA9IGBcclxuICA8c3R5bGU+XHJcbiAgICAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgeyBcclxuICAgICAgZm9udC1mYW1pbHk6ICdTYW5zIFNlcmlmJywgQXJpYWwsIHNhbnMtc2VyaWY7IFxyXG4gICAgICBmb250LXNpemU6IDExcHQ7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IFxyXG4gICAgfVxyXG4gICAgI3RlbXAtcGRmLXJlbmRlci1hcmVhIHAge1xyXG4gICAgICBtaW4taGVpZ2h0OiAxLjNlbTtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gICAgI3RlbXAtcGRmLXJlbmRlci1hcmVhIGgxLCAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgaDIsICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBoMywgXHJcbiAgICAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgaDQsICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBoNSwgI3RlbXAtcGRmLXJlbmRlci1hcmVhIGg2IHsgXHJcbiAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyBcclxuICAgIH1cclxuICAgICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBbc3R5bGUqPVwidGV4dC1hbGlnbjogY2VudGVyXCJdIHtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgcCwgI3RlbXAtcGRmLXJlbmRlci1hcmVhIGgxLCAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgaDIsIFxyXG4gICAgI3RlbXAtcGRmLXJlbmRlci1hcmVhIGgzLCAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgaDQsICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBoNSwgXHJcbiAgICAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgaDYsICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBibG9ja3F1b3RlLCAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgdWwsIFxyXG4gICAgI3RlbXAtcGRmLXJlbmRlci1hcmVhIG9sLCAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgbGksICN0ZW1wLXBkZi1yZW5kZXItYXJlYSB0YWJsZSwgXHJcbiAgICAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgdHIsICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBpbWcgeyBcclxuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyBcclxuICAgIH1cclxuICA8L3N0eWxlPlxyXG5gO1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYcOnw6NvIGRlIHRlbXBvIGRlIGRlYm91bmNlIHBhcmEgYXV0by1zYXZlXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgREVCT1VOQ0VfVElNRSA9IDUwMDtcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmHDp8OjbyBkZSBVUkxzIENETlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IENETl9VUkxTID0ge1xyXG4gIHF1aWxsQ3NzOiAnaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9xdWlsbEAyLjAuMi9kaXN0L3F1aWxsLnNub3cuY3NzJyxcclxuICBxdWlsbEpzOiAnaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9xdWlsbEAyLjAuMi9kaXN0L3F1aWxsLmpzJyxcclxuICByb2JvdG9Gb250OiAnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bydcclxufTtcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmHDp8OjbyBkZSBtZW5zYWdlbnMgZGUgZXJyb1xyXG4gKi9cclxuZXhwb3J0IGNvbnN0IEVSUk9SX01FU1NBR0VTID0ge1xyXG4gIHBkZkdlbmVyYXRpb246ICdPY29ycmV1IHVtIGVycm8gYW8gZ2VyYXIgbyByZWxhdMOzcmlvLicsXHJcbiAgcXVpbGxJbml0OiAnRXJybyBhbyBpbmljaWFsaXphciBvIGVkaXRvci4nLFxyXG4gIHNhdmVFcnJvcjogJ0Vycm8gYW8gc2FsdmFyIG8gY29udGXDumRvLicsXHJcbiAgbG9hZEVycm9yOiAnRXJybyBhbyBjYXJyZWdhciBvIGNvbnRlw7pkby4nXHJcbn07XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhw6fDo28gZGUgdGltZW91dHNcclxuICovXHJcbmV4cG9ydCBjb25zdCBUSU1FT1VUUyA9IHtcclxuICBwZGZHZW5lcmF0aW9uOiAyMDAwLFxyXG4gIGVkaXRvckluaXQ6IDEwMDAsXHJcbiAgY3NzTG9hZDogNTAwMCxcclxuICBhdXRvU2F2ZTogMzAwMFxyXG59O1xyXG4iXX0=