@po-ui/ng-code-editor 16.0.0 → 16.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -20
- package/esm2022/lib/components/po-code-editor/interfaces/po-code-editor-registerable-options.interface.mjs +1 -1
- package/esm2022/lib/components/po-code-editor/interfaces/po-code-editor-registerable-suggestion.interface.mjs +1 -1
- package/esm2022/lib/components/po-code-editor/interfaces/po-code-editor-registerable-tokens.interface.mjs +1 -1
- package/esm2022/lib/components/po-code-editor/interfaces/po-code-editor-registerable.interface.mjs +1 -1
- package/esm2022/lib/components/po-code-editor/po-code-editor-base.component.mjs +1 -1
- package/esm2022/lib/components/po-code-editor/po-code-editor-register.service.mjs +1 -1
- package/esm2022/lib/components/po-code-editor/po-code-editor-suggestion.service.mjs +1 -1
- package/esm2022/lib/components/po-code-editor/po-code-editor.component.mjs +2 -2
- package/esm2022/lib/components/po-code-editor/po-code-editor.module.mjs +1 -1
- package/esm2022/lib/index.mjs +1 -1
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/po-ui-ng-code-editor.mjs +1 -1
- package/fesm2022/po-ui-ng-code-editor.mjs.map +1 -1
- package/package.json +4 -4
- package/po-ui-ng-code-editor-16.2.0.tgz +0 -0
- package/schematics/README.md +98 -98
- package/schematics/collection.json +10 -10
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-add/schema.json +16 -16
- package/po-ui-ng-code-editor-16.0.0.tgz +0 -0
package/README.md
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
# PO Code Editor
|
|
2
|
-
|
|
3
|
-
O **PO Code Editor** é uma biblioteca Angular de componente para edição de código fonte.
|
|
4
|
-
|
|
5
|
-
Tem dependência das bibliotecas:
|
|
6
|
-
- [PO UI](http://po-ui.io);
|
|
7
|
-
- [Monaco](https://microsoft.github.io/monaco-editor/).
|
|
8
|
-
|
|
9
|
-
#### Instalação
|
|
10
|
-
|
|
11
|
-
Instalando com npm:
|
|
12
|
-
```
|
|
13
|
-
npm install @po-ui/ng-code-editor
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
Caso prefira instalar com o yarn:
|
|
17
|
-
```
|
|
18
|
-
yarn add @po-ui/ng-code-editor
|
|
19
|
-
```
|
|
20
|
-
|
|
1
|
+
# PO Code Editor
|
|
2
|
+
|
|
3
|
+
O **PO Code Editor** é uma biblioteca Angular de componente para edição de código fonte.
|
|
4
|
+
|
|
5
|
+
Tem dependência das bibliotecas:
|
|
6
|
+
- [PO UI](http://po-ui.io);
|
|
7
|
+
- [Monaco](https://microsoft.github.io/monaco-editor/).
|
|
8
|
+
|
|
9
|
+
#### Instalação
|
|
10
|
+
|
|
11
|
+
Instalando com npm:
|
|
12
|
+
```
|
|
13
|
+
npm install @po-ui/ng-code-editor
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Caso prefira instalar com o yarn:
|
|
17
|
+
```
|
|
18
|
+
yarn add @po-ui/ng-code-editor
|
|
19
|
+
```
|
|
20
|
+
|
|
21
21
|
Para maiores informações, acesse **[documentação do PO Code Editor](https://po-ui.io/documentation/po-code-editor)**.
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tY29kZS1lZGl0b3ItcmVnaXN0ZXJhYmxlLW9wdGlvbnMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29kZS1lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL2ludGVyZmFjZXMvcG8tY29kZS1lZGl0b3ItcmVnaXN0ZXJhYmxlLW9wdGlvbnMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVUb2tlbnMgfSBmcm9tICcuL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyYWJsZS10b2tlbnMuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBAdXNlZEJ5IFBvQ29kZUVkaXRvclJlZ2lzdGVyXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogSW50ZXJmYWNlIHBhcmEgY29uZmlndXJhw6fDo28gZGUgT3DDp8O1ZXMgZGUgbm92YXMgc2ludGF4ZXMgYW8gY29kZSBlZGl0b3IuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlT3B0aW9ucyB7XG4gIC8qKiBQYWxhdnJhcyBjaGF2ZXMgZGEgc2ludGF4ZS4gKi9cbiAga2V5d29yZHM6IEFycmF5PHN0cmluZz47XG5cbiAgLyoqIE9wZXJhZG9yZXMgZXNwZWPDrWZpY29zIGRhIHNpbnRheGUuICAqL1xuICBvcGVyYXRvcnM6IEFycmF5PHN0cmluZz47XG5cbiAgLyoqIFPDrW1ib2xvcyBlc3BlY8OtZmljb3MgZGEgc2ludGF4ZXMuICovXG4gIHN5bWJvbHM6IFJlZ0V4cDtcblxuICAvKiogRXNjYXBlcyBlc3BlY8OtZmljb3MgZGEgc2ludGF4ZXMuICovXG4gIGVzY2FwZXM6IFJlZ0V4cDtcblxuICAvKiogSW50ZXJmYWNlIHBhcmEgcmVjZWJpbWVudG8gZGUgdG9rZW4gZXNwZWPDrWZpY29zIGRhIHNpbnRheGUuICovXG4gIHRva2VuaXplcjogUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlVG9rZW5zO1xuXG4gIC8qKiBEZWZpbmUgc2UgYSBzaW50YXhlIHNlcsOhIGNhc2Ugc2Vuc2l0aXZlIG91IG7Do28uICovXG4gIGlnbm9yZUNhc2U/OiBib29sZWFuO1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tY29kZS1lZGl0b3ItcmVnaXN0ZXJhYmxlLXN1Z2dlc3Rpb24uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29kZS1lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL2ludGVyZmFjZXMvcG8tY29kZS1lZGl0b3ItcmVnaXN0ZXJhYmxlLXN1Z2dlc3Rpb24uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEB1c2VkQnkgUG9Db2RlRWRpdG9yUmVnaXN0ZXIsIFBvQ29kZUVkaXRvckNvbXBvbmVudFxuICpcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIEludGVyZmFjZSBwYXJhIGNvbmZpZ3VyYcOnw6NvIGRhIGxpc3RhIGRlIHN1Z2VzdMOjbyBkbyBhdXRvY29tcGxldGUgZG8gY29kZSBlZGl0b3IuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlU3VnZ2VzdGlvbiB7XG4gIC8qKiBUZXh0byBxdWUgc2Vyw6EgZXhpYmlkbyBuYSBsaXN0YSBkZSBzdWdlc3TDtWVzLiAqL1xuICBsYWJlbDogc3RyaW5nO1xuXG4gIC8qKiBUZXh0byBxdWUgc2Vyw6EgaW5zZXJpZG8gbm8gZWRpdG9yIGFvIHNlbGVjaW9uYXIgYSBzdWdlc3TDo28gZXhpYmlkYSBwZWxvIGF1dG9jb21wbGV0ZS4gKi9cbiAgaW5zZXJ0VGV4dDogc3RyaW5nO1xuXG4gIC8qKiBUZXh0byBkZSBhanVkYSBxdWUgc2Vyw6EgZXhpYmlkbyBjYXNvIG8gdXN1w6FyaW8gZGVzZWplIHZlciBtYWlzIGluZm9ybWHDp8O1ZXMgc29icmUgYSBzdWdlc3TDo28uICovXG4gIGRvY3VtZW50YXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQHVzZWRCeSBQb0NvZGVFZGl0b3JSZWdpc3RlciwgUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogSW50ZXJmYWNlIGRvIG9iamV0byB1c2FkbyBwZWxvIG1vbmFjbyBwYXJhIGxpc3RhIGRlIHN1Z2VzdMOjbyBkbyBhdXRvY29tcGxldGUgZG8gY29kZSBlZGl0b3IuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlU3VnZ2VzdGlvblR5cGUge1xuICBwcm92aWRlQ29tcGxldGlvbkl0ZW1zOiAoKSA9PiB7IHN1Z2dlc3Rpb25zOiBBcnJheTxQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVTdWdnZXN0aW9uPiB9O1xufVxuXG4vKipcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBJbnRlcmZhY2UgZG8gb2JqZXRvIHVzYWRvIHBlbG8gbW9uYWNvIHBhcmEgbGlzdGEgZGUgc3VnZXN0w6NvIGRvIGF1dG9jb21wbGV0ZSBkbyBjb2RlIGVkaXRvci5cbiAqIFV0aWxpemFkbyBpbnRlcm5hbWVudGUgcGVsbyBzZXJ2acOnbyBQb0NvZGVFZGl0b3JTdWdnZXN0aW9uU2VydmljZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvQ29kZUVkaXRvclN1Z2dlc3Rpb25MaXN0IHtcbiAgW2luZGV4OiBzdHJpbmddOiBBcnJheTxQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVTdWdnZXN0aW9uPjtcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tY29kZS1lZGl0b3ItcmVnaXN0ZXJhYmxlLXRva2Vucy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2RlLWVkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcG8tY29kZS1lZGl0b3IvaW50ZXJmYWNlcy9wby1jb2RlLWVkaXRvci1yZWdpc3RlcmFibGUtdG9rZW5zLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAdXNlZEJ5IFBvQ29kZUVkaXRvclJlZ2lzdGVyXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogSW50ZXJmYWNlIHBhcmEgY29uZmlndXJhw6fDo28gZGUgdG9rZW5zIGRlIG5vdmFzIHNpbnRheGVzIGFvIGNvZGUgZWRpdG9yLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZVRva2VucyB7XG4gIC8qKiBQcmluY2lwYWwgdG9rZW5pemVyIGRhIHNpbnRheGUgY3VzdG9taXphZGEuICovXG4gIHJvb3Q6IEFycmF5PGFueT47XG5cbiAgLyoqIFRva2VuaXplciBkZSBjb21lbnTDoXJpb3MuICovXG4gIGNvbW1lbnQ/OiBBcnJheTxhbnk+O1xuXG4gIC8qKiBUb2tlbml6ZXIgZGUgc3RyaW5ncy4gKi9cbiAgc3RyaW5nPzogQXJyYXk8YW55PjtcblxuICAvKiogVG9rZW5pemVyIGRlIHdoaXRlc3BhY2VzLiAqL1xuICB3aGl0ZXNwYWNlPzogQXJyYXk8YW55PjtcblxuICAvKiogU2VxdcOqbmNpYSBkZSBpbnRlcnBvbGHDp8Ojby4gICovXG4gIGludGVycG9sYXRlZD86IEFycmF5PGFueT47XG5cbiAgLyoqIFNlcXXDqm5jaWEgZGUgaW50ZXJwb2xhw6fDo28gY29tcG9zdGEuICovXG4gIGludGVycG9sYXRlZENvbXBvdW5kPzogQXJyYXk8YW55Pjtcbn1cbiJdfQ==
|
package/esm2022/lib/components/po-code-editor/interfaces/po-code-editor-registerable.interface.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tY29kZS1lZGl0b3ItcmVnaXN0ZXJhYmxlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZGUtZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9wby1jb2RlLWVkaXRvci9pbnRlcmZhY2VzL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyYWJsZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZU9wdGlvbnMgfSBmcm9tICcuL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyYWJsZS1vcHRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVTdWdnZXN0aW9uVHlwZSB9IGZyb20gJy4vcG8tY29kZS1lZGl0b3ItcmVnaXN0ZXJhYmxlLXN1Z2dlc3Rpb24uaW50ZXJmYWNlJztcblxuLyoqXG4gKiBAdXNlZEJ5IFBvQ29kZUVkaXRvclJlZ2lzdGVyXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogSW50ZXJmYWNlIHBhcmEgY29uZmlndXJhw6fDo28gZGUgbm92YXMgc2ludGF4ZXMgYW8gY29kZSBlZGl0b3IuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlIHtcbiAgLyoqIE5vbWUgZGEgc2ludGF4ZSBhIHNlciByZWdpc3RyYWRhIG5vIGNvZGUgZWRpdG9yLiAqL1xuICBsYW5ndWFnZTogc3RyaW5nO1xuXG4gIC8qKiBPcMOnw7VlcyBkZSBjb25maWd1cmHDp8OjbyBkYSBzaW50YXhlIGN1c3RvbWl6YWRhLiAqL1xuICBvcHRpb25zOiBQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVPcHRpb25zO1xuXG4gIC8qKiBMaXN0YSBkZSBzdWdlc3TDtWVzIHBhcmEgYSBmdW7Dp8OjbyBkZSBhdXRvY29tcGxldGUuICovXG4gIHN1Z2dlc3Rpb25zPzogUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlU3VnZ2VzdGlvblR5cGU7XG59XG4iXX0=
|
|
@@ -258,4 +258,4 @@ export class PoCodeEditorBaseComponent {
|
|
|
258
258
|
type: Input,
|
|
259
259
|
args: ['p-height']
|
|
260
260
|
}] }); })();
|
|
261
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tY29kZS1lZGl0b3ItYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2RlLWVkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcG8tY29kZS1lZGl0b3IvcG8tY29kZS1lZGl0b3ItYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS2pELE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQzVELE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxDQUFDO0FBRTFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5REc7QUFFSCxNQUFNLE9BQWdCLHlCQUF5QjtJQUM3QyxNQUFNLENBQU07SUFDWixhQUFhLEdBQVcsRUFBRSxDQUFDO0lBQzNCLEtBQUssR0FBUSxFQUFFLENBQUM7SUFFUixPQUFPLEdBQVcsR0FBRyxDQUFDO0lBQ3RCLFNBQVMsR0FBRyxXQUFXLENBQUM7SUFDeEIsU0FBUyxHQUFZLEtBQUssQ0FBQztJQUMzQixTQUFTLEdBQVksS0FBSyxDQUFDO0lBQzNCLFlBQVksQ0FBNEM7SUFDeEQsTUFBTSxHQUFHLDRCQUE0QixDQUFDO0lBRTlDOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSCxJQUF5QixRQUFRLENBQUMsUUFBZ0I7UUFDaEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFFN0UsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDakMsSUFBSSxDQUFDLFdBQVcs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dkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVTLGdCQUFnQixDQUFDLEdBQVE7UUFDakMsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUU7WUFDM0IsR0FBRyxHQUFHLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMvQixPQUFPLEdBQUcsS0FBSyxNQUFNLElBQUksR0FBRyxLQUFLLElBQUksSUFBSSxHQUFHLEtBQUssRUFBRSxDQUFDO1NBQ3JEO1FBRUQsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUU7WUFDM0IsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDO1NBQ2xCO1FBRUQsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ2YsQ0FBQzttRkFyTW1CLHlCQUF5Qjs2REFBekIseUJBQXlCOzt1RkFBekIseUJBQXlCO2NBRDlDLFNBQVM7Z0JBMkJpQixRQUFRO2tCQUFoQyxLQUFLO21CQUFDLFlBQVk7WUF5Qk0sUUFBUTtrQkFBaEMsS0FBSzttQkFBQyxZQUFZO1lBNEJPLFFBQVE7a0JBQWpDLEtBQUs7bUJBQUMsYUFBYTtZQStCUSxXQUFXO2tCQUF0QyxLQUFLO21CQUFDLGVBQWU7WUE4QkEsS0FBSztrQkFBMUIsS0FBSzttQkFBQyxTQUFTO1lBcUJPLE1BQU07a0JBQTVCLEtBQUs7bUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0LCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVTdWdnZXN0aW9uIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyYWJsZS1zdWdnZXN0aW9uLmludGVyZmFjZSc7XHJcblxyXG5jb25zdCBQT19DT0RFX0VESVRPUl9USEVNRVMgPSBbJ3ZzLWRhcmsnLCAndnMnLCAnaGMtYmxhY2snXTtcclxuY29uc3QgUE9fQ09ERV9FRElUT1JfVEhFTUVfREVGQVVMVCA9ICd2cyc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqXHJcbiAqIE8gYHBvLWNvZGUtZWRpdG9yYCDDqSB1bSBjb21wb25lbnRlIHBhcmEgZWRpw6fDo28gZGUgY8OzZGlnbyBmb250ZSBiYXNlYWRvIG5vIE1vbmFjbyBFZGl0b3IgZGEgTWljcm9zb2Z0LlxyXG4gKlxyXG4gKiBTZW5kbyBhc3NpbSwgYWxndW1hcyBjb25maWd1cmHDp8O1ZXMgcHJlc2VudGVzIG5vIE1vbmFjbyBwb2RlbSBzZXIgdXRpbGl6YWRhcyBhcXVpLCBjb21vIGEgZXNjb2xoYSBkYSBsaW5ndWFnZW1cclxuICogKHV0aWxpemFuZG8gbyBoaWdobGlnaHQgc3ludGF4IGVzcGVjw61maWNvKSwgZXNjb2xoYSBkbyB0ZW1hIGUgb3DDp8OjbyBkZSBkaWZmLCBhbMOpbSBkZSBzZXIgbXVpdG8gc2ltaWxhciBhbyBWaXN1YWxcclxuICogU3R1ZGlvIENvZGUsIGNvbSBhdXRvY29tcGxldGUgZSBmZWNoYW1lbnRvIGF1dG9tw6F0aWNvIGRlIGJyYWNrZXRzLlxyXG4gKlxyXG4gKiBFc3RlIGNvbXBvbmVudGUgcG9kZSBzZXIgdXNhZG8gZW0gcXVhbHF1ZXIgc2l0dWHDp8OjbyBxdWUgbmVjZXNzaXRlIGRlIGFkacOnw6NvIGRlIGPDs2RpZ29zLCBjb21vIHBvciBleGVtcGxvLCBjcmlhclxyXG4gKiByZWNlaXRhcyB1dGlsaXphbmRvIFRlcnJhZm9ybSBwYXJhIGdlcmVuY2lhciB0b3BvbG9naWFzLlxyXG4gKiDDiSBpbXBvcnRhbnRlIHJlc3NhbHRhciBxdWUgZXN0ZSBuw6NvIMOpIHVtIGNvbXBvbmVudGUgcGFyYSBlZGnDp8OjbyBkZSB0ZXh0b3MgY29tdW5zLlxyXG4gKlxyXG4gKiBPIFsobmdNb2RlbCldIGRldmUgc2VyIHVzYWRvIHBhcmEgbWFuaXB1bGFyIG8gY29udGXDumRvIGRvIHBvLWNvZGUtZWRpdG9yLCBvdSBzZWphLCB0YW50byBwYXJhIGluY2x1aXIgdW0gY29udGXDumRvIHF1YW50b1xyXG4gKiBwYXJhIHJlY3VwZXJhciBvIGNvbnRlw7pkbyBkbyBwby1jb2RlLWVkaXRvciwgdXRpbGl6YS1zZSB1bWEgdmFyacOhdmVsIHBhc3NhZGEgcG9yIFsobmdNb2RlbCldLlxyXG4gKlxyXG4gKiAjIyMjIEFkaWNpb25hbmRvIG8gcGFjb3RlIEBwby11aS9uZy1jb2RlLWVkaXRvclxyXG4gKlxyXG4gKiBQYXJhIGluc3RhbGFyIG8gcGFjb3RlIGBwby1jb2RlLWVkaXRvcmAgZW0gc3VhIGFwbGljYcOnw6NvIGV4ZWN1dGU6XHJcbiAqXHJcbiAqIGBgYHNoZWxsXHJcbiAqIG5nIGFkZCBAcG8tdWkvbmctY29kZS1lZGl0b3JcclxuICogYGBgXHJcbiAqXHJcbiAqIE8gY29tYW5kbyBgbmcgYWRkYCBkbyBgQW5ndWxhciBDTElgOlxyXG4gKiAtIGluY2x1aSBvIGBwby1jb2RlLWVkaXRvcmAgbm8gc2V1IHByb2pldG87XHJcbiAqIC0gYWRpY2lvbmEgbyBtw7NkdWxvIGBQb0NvZGVFZGl0b3JNb2R1bGVgOjtcclxuICpcclxuICogYGBgXHJcbiAqIC8vIGFwcC5tb2R1bGUudHNcclxuICogLi4uXHJcbiAqIGltcG9ydCB7IFBvTW9kdWxlIH0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xyXG4gKiBpbXBvcnQgeyBQb0NvZGVFZGl0b3JNb2R1bGUgfSBmcm9tICdAcG8tdWkvbmctY29kZS1lZGl0b3InO1xyXG4gKiAuLi5cclxuICogQE5nTW9kdWxlKHtcclxuICogICBpbXBvcnRzOiBbXHJcbiAqICAgICAuLi5cclxuICogICAgIFBvTW9kdWxlLFxyXG4gKiAgICAgUG9Db2RlRWRpdG9yTW9kdWxlXHJcbiAqICAgXSxcclxuICogICAuLi5cclxuICogfSlcclxuICogZXhwb3J0IGNsYXNzIEFwcE1vZHVsZSB7IH1cclxuICogYGBgXHJcbiAqXHJcbiAqIC0gYWRpY2lvbmEgbyB0ZW1hIFBPIFVJIGUgdGFtYsOpbSBvICphc3NldCogZG8gTW9uYWNvIG5vIGFycXVpdm8gYGFuZ3VsYXIuanNvbmAsIGNvbmZvcm1lIGFiYWl4bzpcclxuICpcclxuICogPHByZSBuZ05vbkJpbmRhYmxlPlxyXG4gKiAuLi5cclxuICogXCJhc3NldHNcIjogW1xyXG4gKiAgICB7IFwiZ2xvYlwiOiBcIiYjNDI7JiM0MjsvJiM0MjtcIiwgXCJpbnB1dFwiOiBcIm5vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL21pblwiLCBcIm91dHB1dFwiOiBcIi9hc3NldHMvbW9uYWNvL1wiIH1cclxuICogIF0sXHJcbiAqIFwic3R5bGVzXCI6IFtcclxuICogICAgXCIuL25vZGVfbW9kdWxlcy9AcG8tdWkvc3R5bGUvY3NzL3BvLXRoZW1lLWRlZmF1bHQubWluLmNzc1wiXHJcbiAqIF1cclxuICogLi4uXHJcbiAqIDwvcHJlPlxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQb0NvZGVFZGl0b3JCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIGVkaXRvcjogYW55O1xyXG4gIG1vZGlmaWVkVmFsdWU6IHN0cmluZyA9ICcnO1xyXG4gIHZhbHVlOiBhbnkgPSAnJztcclxuXHJcbiAgcHJpdmF0ZSBfaGVpZ2h0OiBudW1iZXIgPSAxNTA7XHJcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSAncGxhaW5UZXh0JztcclxuICBwcml2YXRlIF9yZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX3Nob3dEaWZmOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfc3VnZ2VzdGlvbnM6IEFycmF5PFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZVN1Z2dlc3Rpb24+O1xyXG4gIHByaXZhdGUgX3RoZW1lID0gUE9fQ09ERV9FRElUT1JfVEhFTUVfREVGQVVMVDtcclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIExpbmd1YWdlbSBuYSBxdWFsIHNlcsOhIGFwcmVzZW50YWRvIG8gY8OzZGlnbyBmb250ZS5cclxuICAgKiBQYXJhIHNhYmVyIHF1YWlzIHPDo28gYXMgbGluZ3VhZ2VucyBjb21wYXTDrXZlaXMsIGNvbnN1bHRlIGEgZG9jdW1lbnRhw6fDo28gb2ZpY2lhbCBkb1xyXG4gICAqIFsqKk1vbmFjbyBFZGl0b3IqKl0oaHR0cHM6Ly9taWNyb3NvZnQuZ2l0aHViLmlvL21vbmFjby1lZGl0b3IvKS5cclxuICAgKlxyXG4gICAqIFRhbWLDqW0gw6kgcG9zc8OtdmVsIGFkaWNpb25hciB1bWEgbm92YSBsaW5ndWFnZW0gcGVyc29uYWxpemFkYSB1dGlsaXphbmRvIG8gc2VydmnDp286XHJcbiAgICogWyoqcG8tY29kZS1lZGl0b3ItcmVnaXN0ZXIqKl0oaHR0cHM6Ly9wby11aS5pby9kb2N1bWVudGF0aW9uL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyP3ZpZXc9ZG9jKS5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IGBwbGFpblRleHRgXHJcbiAgICovXHJcbiAgQElucHV0KCdwLWxhbmd1YWdlJykgc2V0IGxhbmd1YWdlKGxhbmd1YWdlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2xhbmd1YWdlID0gbGFuZ3VhZ2UgJiYgbGFuZ3VhZ2UubGVuZ3RoID8gbGFuZ3VhZ2UudHJpbSgpIDogJ3BsYWluVGV4dCc7XHJcblxyXG4gICAgaWYgKHRoaXMuZWRpdG9yICYmIHRoaXMuX2xhbmd1YWdlKSB7XHJcbiAgICAgIHRoaXMuc2V0TGFuZ3VhZ2UodGhpcy5fbGFuZ3VhZ2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IGxhbmd1YWdlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGFuZ3VhZ2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogSW5kaWNhIHNlIG8gZWRpdG9yIHNlcsOhIGFiZXJ0byBlbSBtb2RvIGRlIGxlaXR1cmEuXHJcbiAgICpcclxuICAgKiBOZXN0ZSBjYXNvLCBuw6NvIMOpIHBvc3PDrXZlbCBlZGl0YXIgbyBjw7NkaWdvIGluc2VyaWRvLlxyXG4gICAqXHJcbiAgICogT2JzOiBFc3RhIHByb3ByaWVkYWRlIG7Do28gcmVmbGV0aXLDoSBlZmVpdG8gc2UgYWx0ZXJhZGEgYXDDs3MgbyBjYXJyZWdhbWVudG8gZG8gY29tcG9uZW50ZS5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcclxuICAgKi9cclxuICBASW5wdXQoJ3AtcmVhZG9ubHknKSBzZXQgcmVhZG9ubHkocmVhZG9ubHk6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX3JlYWRvbmx5ID0gPGFueT5yZWFkb25seSA9PT0gJycgPyB0cnVlIDogdGhpcy5jb252ZXJ0VG9Cb29sZWFuKHJlYWRvbmx5KTtcclxuXHJcbiAgICBpZiAodGhpcy5lZGl0b3IpIHtcclxuICAgICAgdGhpcy5zZXRSZWFkT25seShyZWFkb25seSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgcmVhZG9ubHkoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVhZG9ubHk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogSW5kaWNhIHNlIG8gZWRpdG9yIHNlcsOhIGFiZXJ0byBlbSBtb2RvIGRlIGNvbXBhcmHDp8Ojby5cclxuICAgKlxyXG4gICAqIENhc28gZXN0ZWphIGhhYmlsaXRhZGEgZXN0YSBvcMOnw6NvLCBlbnTDo28gbyBbKG5nTW9kZWwpXSBkZXZlcsOhIHNlciBwYXNzYWRvIGNvbW8gdW0gYXJyYXksIGN1amEgcHJpbWVpcmEgb3DDp8OjbyBkZXZlXHJcbiAgICogY29udGVyIHVtYSBzdHJpbmcgY29tIG8gY8OzZGlnbyBvcmlnaW5hbCBlIG5hIHNlZ3VuZGEgcG9zacOnw6NvIHVtYSBzdHJpbmcgY8OzZGlnbyBtb2RpZmljYWRvIHBhcmEgZWZlaXRvIGRlXHJcbiAgICogY29tcGFyYcOnw6NvLiBOZXN0ZSBjYXNvLCBvIHVzdcOhcmlvIGNvbnNlZ3VpcsOhIGVkaXRhciBhcGVuYXMgbyBjw7NkaWdvIG1vZGlmaWNhZG8gZSBpc3NvIHJlZmxldGlyw6EgbmEgc2VndW5kYSBwb3Npw6fDo29cclxuICAgKiBkbyBhcnJheSBjb25zZXF1ZW50ZW1lbnRlLlxyXG4gICAqXHJcbiAgICogT2JzOiBFc3RhIHByb3ByaWVkYWRlIG7Do28gcmVmbGV0aXLDoSBlZmVpdG8gc2UgYWx0ZXJhZGEgYXDDs3MgbyBjYXJyZWdhbWVudG8gZG8gY29tcG9uZW50ZS5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcclxuICAgKi9cclxuICBASW5wdXQoJ3Atc2hvdy1kaWZmJykgc2V0IHNob3dEaWZmKHNob3dEaWZmOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9zaG93RGlmZiA9IDxhbnk+c2hvd0RpZmYgPT09ICcnID8gdHJ1ZSA6IHRoaXMuY29udmVydFRvQm9vbGVhbihzaG93RGlmZik7XHJcbiAgfVxyXG5cclxuICBnZXQgc2hvd0RpZmYoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2hvd0RpZmY7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogTGlzdGEgZGUgc3VnZXN0w7VlcyB1c2FkYXMgcGVsbyBhdXRvY29tcGxldGUgZGVudHJvIGRvIGVkaXRvci5cclxuICAgKlxyXG4gICAqIFBhcmEgdmlzdWFsaXphciBhIGxpc3RhIGRlIHN1Z2VzdMO1ZXMgdXNlIG8gY29tYW5kbyBgQ1RSTCArIFNQQUNFYC5cclxuICAgKlxyXG4gICAqIENhc28gbyBlZGl0b3IgZXN0ZWphIHVzYW5kbyB1bWEgbGluZ3VhZ2VtIHF1ZSBqw6EgdGVuaGEgdW1hIGxpc3RhIGRlIHN1Z2VzdMO1ZXMgcHJlZGVmaW5pZGEsIG8gdmFsb3IgcGFzc2FkbyBzZXLDoSBhZGljaW9uYWRvXHJcbiAgICogYSBsaXN0YSBwcmVleGlzdGVudGUsIGF1bWVudGFuZG8gYXMgb3DDp8O1ZXMgcGFyYSBvIHVzdcOhcmlvLlxyXG4gICAqXHJcbiAgICogQ2FzbyB0ZW5oYSBtYWlzIGRlIHVtIGVkaXRvciBkYSBtZXNtYSBsaW5ndWFnZW0gbmEgYXBsaWNhw6fDo28sIGFzIHN1Z2VzdMO1ZXMgc2Vyw6NvIGFkaWNpb25hZGFzIHBhcmEgcXVlIHRvZG9zIG9zIGVkaXRvcmVzIGRhIG1lc21hIGxpbmd1YWdlbVxyXG4gICAqIHRlbmhhbSBhcyBtZXNtYXMgc3VnZXN0w7Vlcy5cclxuICAgKlxyXG4gICAqIGBgYFxyXG4gICAqICA8cG8tY29kZS1lZGl0b3JcclxuICAgKiAgICBbcC1zdWdnZXN0aW9uc109XCJbeyBsYWJlbDogJ3BvJywgaW5zZXJ0VGV4dDogJ1BvcnRpbmFyaSBVSScgfSwgeyBsYWJlbDogJ25nJywgaW5zZXJ0VGV4dDogJ0FuZ3VsYXInIH1dXCI+XHJcbiAgICogIDwvcG8tY29kZS1lZGl0b3I+XHJcbiAgICogYGBgXHJcbiAgICpcclxuICAgKiBBbyBmb3JuZWNlciB1bWEgbGlzdGEgZGUgc3VnZXN0w7VlcyDDqSBwb3Nzw612ZWwgYWNlbGVyYXIgYSBlc2NyaXRhIGRlIHNjcmlwdHMgcGVsb3MgdXN1w6FyaW9zLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgncC1zdWdnZXN0aW9ucycpIHNldCBzdWdnZXN0aW9ucyh2YWx1ZXM6IEFycmF5PFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZVN1Z2dlc3Rpb24+KSB7XHJcbiAgICB0aGlzLl9zdWdnZXN0aW9ucyA9IHZhbHVlcztcclxuXHJcbiAgICBpZiAodGhpcy5lZGl0b3IgJiYgdGhpcy5fc3VnZ2VzdGlvbnMpIHtcclxuICAgICAgdGhpcy5zZXRTdWdnZXN0aW9ucyh0aGlzLl9zdWdnZXN0aW9ucyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgc3VnZ2VzdGlvbnMoKTogQXJyYXk8UG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlU3VnZ2VzdGlvbj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N1Z2dlc3Rpb25zO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIERlZmluZSB1bSB0ZW1hIHBhcmEgbyBlZGl0b3IuXHJcbiAgICpcclxuICAgKiBUZW1hcyB2w6FsaWRvczpcclxuICAgKiAgLSBgdnMtZGFya2BcclxuICAgKiAgLSBgdnNgXHJcbiAgICogIC0gYGhjLWJsYWNrYFxyXG4gICAqXHJcbiAgICogw4kgaW1wb3J0YW50ZSBzYWxpZW50YXIgcXVlIG8gdGVtYSBzZXLDoSBhcGxpY2Fkb3MgYSB0b2RvcyBvcyBjb21wb25lbnRlcyBwby1jb2RlLWVkaXRvciBleGlzdGVudGVzIG5hIHRlbGEsXHJcbiAgICogb3Ugc2VqYSwgdG9kYXMgYXMgaW5zdMOibmNpYXMgZG8gY29tcG9uZW50ZSByZWNlYmVyw6NvIG8gw7psdGltbyB0ZW1hIGF0cmlidcOtZG8gb3UgbyB0ZW1hIGRhIMO6bHRpbWEgaW5zdMOibmNpYVxyXG4gICAqIGNyaWFkYS5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IGB2c2BcclxuICAgKi9cclxuICBASW5wdXQoJ3AtdGhlbWUnKSBzZXQgdGhlbWUodGhlbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fdGhlbWUgPSBQT19DT0RFX0VESVRPUl9USEVNRVMuaW5jbHVkZXModGhlbWUpID8gdGhlbWUgOiBQT19DT0RFX0VESVRPUl9USEVNRV9ERUZBVUxUO1xyXG5cclxuICAgIGlmICh0aGlzLmVkaXRvcikge1xyXG4gICAgICB0aGlzLnNldFRoZW1lKHRoZW1lKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCB0aGVtZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RoZW1lO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIERlZmluZSBhIGFsdHVyYSBkbyBjb21wb25lbnRlIGVtIHBpeGVscyBkbyBwby1jb2RlLWVkaXRvci5cclxuICAgKiBFc3RhIHByb3ByaWVkYWRlIG7Do28gcG9kZXLDoSBzZXIgYWx0ZXJhZGEgYXDDs3MgbyBjb21wb25lbnRlIHRlciBzaWRvIGluaWNpYWRvLlxyXG4gICAqIEEgYWx0dXJhIG3DrW5pbWEgw6kgMTUwIHBpeGVscy5cclxuICAgKi9cclxuICBASW5wdXQoJ3AtaGVpZ2h0Jykgc2V0IGhlaWdodChoZWlnaHQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5faGVpZ2h0ID0gcGFyc2VGbG9hdChoZWlnaHQpID49IDE1MCA/IHBhcnNlRmxvYXQoaGVpZ2h0KSA6IDE1MDtcclxuICB9XHJcblxyXG4gIGdldCBoZWlnaHQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgJHt0aGlzLl9oZWlnaHR9cHhgO1xyXG4gIH1cclxuXHJcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cclxuICBvblRvdWNoZWQgPSAodmFsdWU6IGFueSkgPT4ge307XHJcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cclxuICBvbkNoYW5nZVByb3BhZ2F0ZSA9ICh2YWx1ZTogYW55KSA9PiB7fTtcclxuXHJcbiAgZ2V0T3B0aW9ucygpIHtcclxuICAgIHJldHVybiB7IGxhbmd1YWdlOiB0aGlzLmxhbmd1YWdlLCB0aGVtZTogdGhpcy50aGVtZSwgcmVhZE9ubHk6IHRoaXMucmVhZG9ubHkgfTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZVByb3BhZ2F0ZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBjb252ZXJ0VG9Cb29sZWFuKHZhbDogYW55KTogYm9vbGVhbiB7XHJcbiAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgdmFsID0gdmFsLnRvTG93ZXJDYXNlKCkudHJpbSgpO1xyXG4gICAgICByZXR1cm4gdmFsID09PSAndHJ1ZScgfHwgdmFsID09PSAnb24nIHx8IHZhbCA9PT0gJyc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHR5cGVvZiB2YWwgPT09ICdudW1iZXInKSB7XHJcbiAgICAgIHJldHVybiB2YWwgPT09IDE7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICEhdmFsO1xyXG4gIH1cclxuXHJcbiAgYWJzdHJhY3Qgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTtcclxuXHJcbiAgYWJzdHJhY3Qgc2V0TGFuZ3VhZ2UodmFsdWU6IGFueSk7XHJcblxyXG4gIGFic3RyYWN0IHNldFRoZW1lKHZhbHVlOiBhbnkpO1xyXG5cclxuICBhYnN0cmFjdCBzZXRSZWFkT25seSh2YWx1ZTogYW55KTtcclxuXHJcbiAgYWJzdHJhY3Qgc2V0U3VnZ2VzdGlvbnModmFsdWU6IGFueSk7XHJcbn1cclxuIl19
|
|
261
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tY29kZS1lZGl0b3ItYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2RlLWVkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcG8tY29kZS1lZGl0b3IvcG8tY29kZS1lZGl0b3ItYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS2pELE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQzVELE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxDQUFDO0FBRTFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5REc7QUFFSCxNQUFNLE9BQWdCLHlCQUF5QjtJQUM3QyxNQUFNLENBQU07SUFDWixhQUFhLEdBQVcsRUFBRSxDQUFDO0lBQzNCLEtBQUssR0FBUSxFQUFFLENBQUM7SUFFUixPQUFPLEdBQVcsR0FBRyxDQUFDO0lBQ3RCLFNBQVMsR0FBRyxXQUFXLENBQUM7SUFDeEIsU0FBUyxHQUFZLEtBQUssQ0FBQztJQUMzQixTQUFTLEdBQVksS0FBSyxDQUFDO0lBQzNCLFlBQVksQ0FBNEM7SUFDeEQsTUFBTSxHQUFHLDRCQUE0QixDQUFDO0lBRTlDOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSCxJQUF5QixRQUFRLENBQUMsUUFBZ0I7UUFDaEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFFN0UsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDakMsSUFBSSxDQUFDLFdBQVcs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dkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVTLGdCQUFnQixDQUFDLEdBQVE7UUFDakMsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUU7WUFDM0IsR0FBRyxHQUFHLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMvQixPQUFPLEdBQUcsS0FBSyxNQUFNLElBQUksR0FBRyxLQUFLLElBQUksSUFBSSxHQUFHLEtBQUssRUFBRSxDQUFDO1NBQ3JEO1FBRUQsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUU7WUFDM0IsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDO1NBQ2xCO1FBRUQsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ2YsQ0FBQzttRkFyTW1CLHlCQUF5Qjs2REFBekIseUJBQXlCOzt1RkFBekIseUJBQXlCO2NBRDlDLFNBQVM7Z0JBMkJpQixRQUFRO2tCQUFoQyxLQUFLO21CQUFDLFlBQVk7WUF5Qk0sUUFBUTtrQkFBaEMsS0FBSzttQkFBQyxZQUFZO1lBNEJPLFFBQVE7a0JBQWpDLEtBQUs7bUJBQUMsYUFBYTtZQStCUSxXQUFXO2tCQUF0QyxLQUFLO21CQUFDLGVBQWU7WUE4QkEsS0FBSztrQkFBMUIsS0FBSzttQkFBQyxTQUFTO1lBcUJPLE1BQU07a0JBQTVCLEtBQUs7bUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0LCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVTdWdnZXN0aW9uIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyYWJsZS1zdWdnZXN0aW9uLmludGVyZmFjZSc7XG5cbmNvbnN0IFBPX0NPREVfRURJVE9SX1RIRU1FUyA9IFsndnMtZGFyaycsICd2cycsICdoYy1ibGFjayddO1xuY29uc3QgUE9fQ09ERV9FRElUT1JfVEhFTUVfREVGQVVMVCA9ICd2cyc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogTyBgcG8tY29kZS1lZGl0b3JgIMOpIHVtIGNvbXBvbmVudGUgcGFyYSBlZGnDp8OjbyBkZSBjw7NkaWdvIGZvbnRlIGJhc2VhZG8gbm8gTW9uYWNvIEVkaXRvciBkYSBNaWNyb3NvZnQuXG4gKlxuICogU2VuZG8gYXNzaW0sIGFsZ3VtYXMgY29uZmlndXJhw6fDtWVzIHByZXNlbnRlcyBubyBNb25hY28gcG9kZW0gc2VyIHV0aWxpemFkYXMgYXF1aSwgY29tbyBhIGVzY29saGEgZGEgbGluZ3VhZ2VtXG4gKiAodXRpbGl6YW5kbyBvIGhpZ2hsaWdodCBzeW50YXggZXNwZWPDrWZpY28pLCBlc2NvbGhhIGRvIHRlbWEgZSBvcMOnw6NvIGRlIGRpZmYsIGFsw6ltIGRlIHNlciBtdWl0byBzaW1pbGFyIGFvIFZpc3VhbFxuICogU3R1ZGlvIENvZGUsIGNvbSBhdXRvY29tcGxldGUgZSBmZWNoYW1lbnRvIGF1dG9tw6F0aWNvIGRlIGJyYWNrZXRzLlxuICpcbiAqIEVzdGUgY29tcG9uZW50ZSBwb2RlIHNlciB1c2FkbyBlbSBxdWFscXVlciBzaXR1YcOnw6NvIHF1ZSBuZWNlc3NpdGUgZGUgYWRpw6fDo28gZGUgY8OzZGlnb3MsIGNvbW8gcG9yIGV4ZW1wbG8sIGNyaWFyXG4gKiByZWNlaXRhcyB1dGlsaXphbmRvIFRlcnJhZm9ybSBwYXJhIGdlcmVuY2lhciB0b3BvbG9naWFzLlxuICogw4kgaW1wb3J0YW50ZSByZXNzYWx0YXIgcXVlIGVzdGUgbsOjbyDDqSB1bSBjb21wb25lbnRlIHBhcmEgZWRpw6fDo28gZGUgdGV4dG9zIGNvbXVucy5cbiAqXG4gKiBPIFsobmdNb2RlbCldIGRldmUgc2VyIHVzYWRvIHBhcmEgbWFuaXB1bGFyIG8gY29udGXDumRvIGRvIHBvLWNvZGUtZWRpdG9yLCBvdSBzZWphLCB0YW50byBwYXJhIGluY2x1aXIgdW0gY29udGXDumRvIHF1YW50b1xuICogcGFyYSByZWN1cGVyYXIgbyBjb250ZcO6ZG8gZG8gcG8tY29kZS1lZGl0b3IsIHV0aWxpemEtc2UgdW1hIHZhcmnDoXZlbCBwYXNzYWRhIHBvciBbKG5nTW9kZWwpXS5cbiAqXG4gKiAjIyMjIEFkaWNpb25hbmRvIG8gcGFjb3RlIEBwby11aS9uZy1jb2RlLWVkaXRvclxuICpcbiAqIFBhcmEgaW5zdGFsYXIgbyBwYWNvdGUgYHBvLWNvZGUtZWRpdG9yYCBlbSBzdWEgYXBsaWNhw6fDo28gZXhlY3V0ZTpcbiAqXG4gKiBgYGBzaGVsbFxuICogbmcgYWRkIEBwby11aS9uZy1jb2RlLWVkaXRvclxuICogYGBgXG4gKlxuICogTyBjb21hbmRvIGBuZyBhZGRgIGRvIGBBbmd1bGFyIENMSWA6XG4gKiAtIGluY2x1aSBvIGBwby1jb2RlLWVkaXRvcmAgbm8gc2V1IHByb2pldG87XG4gKiAtIGFkaWNpb25hIG8gbcOzZHVsbyBgUG9Db2RlRWRpdG9yTW9kdWxlYDo7XG4gKlxuICogYGBgXG4gKiAvLyBhcHAubW9kdWxlLnRzXG4gKiAuLi5cbiAqIGltcG9ydCB7IFBvTW9kdWxlIH0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xuICogaW1wb3J0IHsgUG9Db2RlRWRpdG9yTW9kdWxlIH0gZnJvbSAnQHBvLXVpL25nLWNvZGUtZWRpdG9yJztcbiAqIC4uLlxuICogQE5nTW9kdWxlKHtcbiAqICAgaW1wb3J0czogW1xuICogICAgIC4uLlxuICogICAgIFBvTW9kdWxlLFxuICogICAgIFBvQ29kZUVkaXRvck1vZHVsZVxuICogICBdLFxuICogICAuLi5cbiAqIH0pXG4gKiBleHBvcnQgY2xhc3MgQXBwTW9kdWxlIHsgfVxuICogYGBgXG4gKlxuICogLSBhZGljaW9uYSBvIHRlbWEgUE8gVUkgZSB0YW1iw6ltIG8gKmFzc2V0KiBkbyBNb25hY28gbm8gYXJxdWl2byBgYW5ndWxhci5qc29uYCwgY29uZm9ybWUgYWJhaXhvOlxuICpcbiAqIDxwcmUgbmdOb25CaW5kYWJsZT5cbiAqIC4uLlxuICogXCJhc3NldHNcIjogW1xuICogICAgeyBcImdsb2JcIjogXCImIzQyOyYjNDI7LyYjNDI7XCIsIFwiaW5wdXRcIjogXCJub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9taW5cIiwgXCJvdXRwdXRcIjogXCIvYXNzZXRzL21vbmFjby9cIiB9XG4gKiAgXSxcbiAqIFwic3R5bGVzXCI6IFtcbiAqICAgIFwiLi9ub2RlX21vZHVsZXMvQHBvLXVpL3N0eWxlL2Nzcy9wby10aGVtZS1kZWZhdWx0Lm1pbi5jc3NcIlxuICogXVxuICogLi4uXG4gKiA8L3ByZT5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUG9Db2RlRWRpdG9yQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgZWRpdG9yOiBhbnk7XG4gIG1vZGlmaWVkVmFsdWU6IHN0cmluZyA9ICcnO1xuICB2YWx1ZTogYW55ID0gJyc7XG5cbiAgcHJpdmF0ZSBfaGVpZ2h0OiBudW1iZXIgPSAxNTA7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gJ3BsYWluVGV4dCc7XG4gIHByaXZhdGUgX3JlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3Nob3dEaWZmOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3N1Z2dlc3Rpb25zOiBBcnJheTxQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVTdWdnZXN0aW9uPjtcbiAgcHJpdmF0ZSBfdGhlbWUgPSBQT19DT0RFX0VESVRPUl9USEVNRV9ERUZBVUxUO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIExpbmd1YWdlbSBuYSBxdWFsIHNlcsOhIGFwcmVzZW50YWRvIG8gY8OzZGlnbyBmb250ZS5cbiAgICogUGFyYSBzYWJlciBxdWFpcyBzw6NvIGFzIGxpbmd1YWdlbnMgY29tcGF0w612ZWlzLCBjb25zdWx0ZSBhIGRvY3VtZW50YcOnw6NvIG9maWNpYWwgZG9cbiAgICogWyoqTW9uYWNvIEVkaXRvcioqXShodHRwczovL21pY3Jvc29mdC5naXRodWIuaW8vbW9uYWNvLWVkaXRvci8pLlxuICAgKlxuICAgKiBUYW1iw6ltIMOpIHBvc3PDrXZlbCBhZGljaW9uYXIgdW1hIG5vdmEgbGluZ3VhZ2VtIHBlcnNvbmFsaXphZGEgdXRpbGl6YW5kbyBvIHNlcnZpw6dvOlxuICAgKiBbKipwby1jb2RlLWVkaXRvci1yZWdpc3RlcioqXShodHRwczovL3BvLXVpLmlvL2RvY3VtZW50YXRpb24vcG8tY29kZS1lZGl0b3ItcmVnaXN0ZXI/dmlldz1kb2MpLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgcGxhaW5UZXh0YFxuICAgKi9cbiAgQElucHV0KCdwLWxhbmd1YWdlJykgc2V0IGxhbmd1YWdlKGxhbmd1YWdlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9sYW5ndWFnZSA9IGxhbmd1YWdlICYmIGxhbmd1YWdlLmxlbmd0aCA/IGxhbmd1YWdlLnRyaW0oKSA6ICdwbGFpblRleHQnO1xuXG4gICAgaWYgKHRoaXMuZWRpdG9yICYmIHRoaXMuX2xhbmd1YWdlKSB7XG4gICAgICB0aGlzLnNldExhbmd1YWdlKHRoaXMuX2xhbmd1YWdlKTtcbiAgICB9XG4gIH1cblxuICBnZXQgbGFuZ3VhZ2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbGFuZ3VhZ2U7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBJbmRpY2Egc2UgbyBlZGl0b3Igc2Vyw6EgYWJlcnRvIGVtIG1vZG8gZGUgbGVpdHVyYS5cbiAgICpcbiAgICogTmVzdGUgY2FzbywgbsOjbyDDqSBwb3Nzw612ZWwgZWRpdGFyIG8gY8OzZGlnbyBpbnNlcmlkby5cbiAgICpcbiAgICogT2JzOiBFc3RhIHByb3ByaWVkYWRlIG7Do28gcmVmbGV0aXLDoSBlZmVpdG8gc2UgYWx0ZXJhZGEgYXDDs3MgbyBjYXJyZWdhbWVudG8gZG8gY29tcG9uZW50ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgQElucHV0KCdwLXJlYWRvbmx5Jykgc2V0IHJlYWRvbmx5KHJlYWRvbmx5OiBib29sZWFuKSB7XG4gICAgdGhpcy5fcmVhZG9ubHkgPSA8YW55PnJlYWRvbmx5ID09PSAnJyA/IHRydWUgOiB0aGlzLmNvbnZlcnRUb0Jvb2xlYW4ocmVhZG9ubHkpO1xuXG4gICAgaWYgKHRoaXMuZWRpdG9yKSB7XG4gICAgICB0aGlzLnNldFJlYWRPbmx5KHJlYWRvbmx5KTtcbiAgICB9XG4gIH1cblxuICBnZXQgcmVhZG9ubHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlYWRvbmx5O1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogSW5kaWNhIHNlIG8gZWRpdG9yIHNlcsOhIGFiZXJ0byBlbSBtb2RvIGRlIGNvbXBhcmHDp8Ojby5cbiAgICpcbiAgICogQ2FzbyBlc3RlamEgaGFiaWxpdGFkYSBlc3RhIG9ww6fDo28sIGVudMOjbyBvIFsobmdNb2RlbCldIGRldmVyw6Egc2VyIHBhc3NhZG8gY29tbyB1bSBhcnJheSwgY3VqYSBwcmltZWlyYSBvcMOnw6NvIGRldmVcbiAgICogY29udGVyIHVtYSBzdHJpbmcgY29tIG8gY8OzZGlnbyBvcmlnaW5hbCBlIG5hIHNlZ3VuZGEgcG9zacOnw6NvIHVtYSBzdHJpbmcgY8OzZGlnbyBtb2RpZmljYWRvIHBhcmEgZWZlaXRvIGRlXG4gICAqIGNvbXBhcmHDp8Ojby4gTmVzdGUgY2FzbywgbyB1c3XDoXJpbyBjb25zZWd1aXLDoSBlZGl0YXIgYXBlbmFzIG8gY8OzZGlnbyBtb2RpZmljYWRvIGUgaXNzbyByZWZsZXRpcsOhIG5hIHNlZ3VuZGEgcG9zacOnw6NvXG4gICAqIGRvIGFycmF5IGNvbnNlcXVlbnRlbWVudGUuXG4gICAqXG4gICAqIE9iczogRXN0YSBwcm9wcmllZGFkZSBuw6NvIHJlZmxldGlyw6EgZWZlaXRvIHNlIGFsdGVyYWRhIGFww7NzIG8gY2FycmVnYW1lbnRvIGRvIGNvbXBvbmVudGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCgncC1zaG93LWRpZmYnKSBzZXQgc2hvd0RpZmYoc2hvd0RpZmY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93RGlmZiA9IDxhbnk+c2hvd0RpZmYgPT09ICcnID8gdHJ1ZSA6IHRoaXMuY29udmVydFRvQm9vbGVhbihzaG93RGlmZik7XG4gIH1cblxuICBnZXQgc2hvd0RpZmYoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3dEaWZmO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogTGlzdGEgZGUgc3VnZXN0w7VlcyB1c2FkYXMgcGVsbyBhdXRvY29tcGxldGUgZGVudHJvIGRvIGVkaXRvci5cbiAgICpcbiAgICogUGFyYSB2aXN1YWxpemFyIGEgbGlzdGEgZGUgc3VnZXN0w7VlcyB1c2UgbyBjb21hbmRvIGBDVFJMICsgU1BBQ0VgLlxuICAgKlxuICAgKiBDYXNvIG8gZWRpdG9yIGVzdGVqYSB1c2FuZG8gdW1hIGxpbmd1YWdlbSBxdWUgasOhIHRlbmhhIHVtYSBsaXN0YSBkZSBzdWdlc3TDtWVzIHByZWRlZmluaWRhLCBvIHZhbG9yIHBhc3NhZG8gc2Vyw6EgYWRpY2lvbmFkb1xuICAgKiBhIGxpc3RhIHByZWV4aXN0ZW50ZSwgYXVtZW50YW5kbyBhcyBvcMOnw7VlcyBwYXJhIG8gdXN1w6FyaW8uXG4gICAqXG4gICAqIENhc28gdGVuaGEgbWFpcyBkZSB1bSBlZGl0b3IgZGEgbWVzbWEgbGluZ3VhZ2VtIG5hIGFwbGljYcOnw6NvLCBhcyBzdWdlc3TDtWVzIHNlcsOjbyBhZGljaW9uYWRhcyBwYXJhIHF1ZSB0b2RvcyBvcyBlZGl0b3JlcyBkYSBtZXNtYSBsaW5ndWFnZW1cbiAgICogdGVuaGFtIGFzIG1lc21hcyBzdWdlc3TDtWVzLlxuICAgKlxuICAgKiBgYGBcbiAgICogIDxwby1jb2RlLWVkaXRvclxuICAgKiAgICBbcC1zdWdnZXN0aW9uc109XCJbeyBsYWJlbDogJ3BvJywgaW5zZXJ0VGV4dDogJ1BvcnRpbmFyaSBVSScgfSwgeyBsYWJlbDogJ25nJywgaW5zZXJ0VGV4dDogJ0FuZ3VsYXInIH1dXCI+XG4gICAqICA8L3BvLWNvZGUtZWRpdG9yPlxuICAgKiBgYGBcbiAgICpcbiAgICogQW8gZm9ybmVjZXIgdW1hIGxpc3RhIGRlIHN1Z2VzdMO1ZXMgw6kgcG9zc8OtdmVsIGFjZWxlcmFyIGEgZXNjcml0YSBkZSBzY3JpcHRzIHBlbG9zIHVzdcOhcmlvcy5cbiAgICovXG4gIEBJbnB1dCgncC1zdWdnZXN0aW9ucycpIHNldCBzdWdnZXN0aW9ucyh2YWx1ZXM6IEFycmF5PFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZVN1Z2dlc3Rpb24+KSB7XG4gICAgdGhpcy5fc3VnZ2VzdGlvbnMgPSB2YWx1ZXM7XG5cbiAgICBpZiAodGhpcy5lZGl0b3IgJiYgdGhpcy5fc3VnZ2VzdGlvbnMpIHtcbiAgICAgIHRoaXMuc2V0U3VnZ2VzdGlvbnModGhpcy5fc3VnZ2VzdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzdWdnZXN0aW9ucygpOiBBcnJheTxQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVTdWdnZXN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N1Z2dlc3Rpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGVmaW5lIHVtIHRlbWEgcGFyYSBvIGVkaXRvci5cbiAgICpcbiAgICogVGVtYXMgdsOhbGlkb3M6XG4gICAqICAtIGB2cy1kYXJrYFxuICAgKiAgLSBgdnNgXG4gICAqICAtIGBoYy1ibGFja2BcbiAgICpcbiAgICogw4kgaW1wb3J0YW50ZSBzYWxpZW50YXIgcXVlIG8gdGVtYSBzZXLDoSBhcGxpY2Fkb3MgYSB0b2RvcyBvcyBjb21wb25lbnRlcyBwby1jb2RlLWVkaXRvciBleGlzdGVudGVzIG5hIHRlbGEsXG4gICAqIG91IHNlamEsIHRvZGFzIGFzIGluc3TDom5jaWFzIGRvIGNvbXBvbmVudGUgcmVjZWJlcsOjbyBvIMO6bHRpbW8gdGVtYSBhdHJpYnXDrWRvIG91IG8gdGVtYSBkYSDDumx0aW1hIGluc3TDom5jaWFcbiAgICogY3JpYWRhLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgdnNgXG4gICAqL1xuICBASW5wdXQoJ3AtdGhlbWUnKSBzZXQgdGhlbWUodGhlbWU6IHN0cmluZykge1xuICAgIHRoaXMuX3RoZW1lID0gUE9fQ09ERV9FRElUT1JfVEhFTUVTLmluY2x1ZGVzKHRoZW1lKSA/IHRoZW1lIDogUE9fQ09ERV9FRElUT1JfVEhFTUVfREVGQVVMVDtcblxuICAgIGlmICh0aGlzLmVkaXRvcikge1xuICAgICAgdGhpcy5zZXRUaGVtZSh0aGVtZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHRoZW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3RoZW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGVmaW5lIGEgYWx0dXJhIGRvIGNvbXBvbmVudGUgZW0gcGl4ZWxzIGRvIHBvLWNvZGUtZWRpdG9yLlxuICAgKiBFc3RhIHByb3ByaWVkYWRlIG7Do28gcG9kZXLDoSBzZXIgYWx0ZXJhZGEgYXDDs3MgbyBjb21wb25lbnRlIHRlciBzaWRvIGluaWNpYWRvLlxuICAgKiBBIGFsdHVyYSBtw61uaW1hIMOpIDE1MCBwaXhlbHMuXG4gICAqL1xuICBASW5wdXQoJ3AtaGVpZ2h0Jykgc2V0IGhlaWdodChoZWlnaHQ6IHN0cmluZykge1xuICAgIHRoaXMuX2hlaWdodCA9IHBhcnNlRmxvYXQoaGVpZ2h0KSA+PSAxNTAgPyBwYXJzZUZsb2F0KGhlaWdodCkgOiAxNTA7XG4gIH1cblxuICBnZXQgaGVpZ2h0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuX2hlaWdodH1weGA7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBvblRvdWNoZWQgPSAodmFsdWU6IGFueSkgPT4ge307XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIG9uQ2hhbmdlUHJvcGFnYXRlID0gKHZhbHVlOiBhbnkpID0+IHt9O1xuXG4gIGdldE9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHsgbGFuZ3VhZ2U6IHRoaXMubGFuZ3VhZ2UsIHRoZW1lOiB0aGlzLnRoZW1lLCByZWFkT25seTogdGhpcy5yZWFkb25seSB9O1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZVByb3BhZ2F0ZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBwcm90ZWN0ZWQgY29udmVydFRvQm9vbGVhbih2YWw6IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgICAgdmFsID0gdmFsLnRvTG93ZXJDYXNlKCkudHJpbSgpO1xuICAgICAgcmV0dXJuIHZhbCA9PT0gJ3RydWUnIHx8IHZhbCA9PT0gJ29uJyB8fCB2YWwgPT09ICcnO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIHZhbCA9PT0gMTtcbiAgICB9XG5cbiAgICByZXR1cm4gISF2YWw7XG4gIH1cblxuICBhYnN0cmFjdCB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpO1xuXG4gIGFic3RyYWN0IHNldExhbmd1YWdlKHZhbHVlOiBhbnkpO1xuXG4gIGFic3RyYWN0IHNldFRoZW1lKHZhbHVlOiBhbnkpO1xuXG4gIGFic3RyYWN0IHNldFJlYWRPbmx5KHZhbHVlOiBhbnkpO1xuXG4gIGFic3RyYWN0IHNldFN1Z2dlc3Rpb25zKHZhbHVlOiBhbnkpO1xufVxuIl19
|
|
@@ -69,4 +69,4 @@ export class PoCodeEditorRegister {
|
|
|
69
69
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoCodeEditorRegister, [{
|
|
70
70
|
type: Injectable
|
|
71
71
|
}], null, null); })();
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tY29kZS1lZGl0b3ItcmVnaXN0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZGUtZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9wby1jb2RlLWVkaXRvci9wby1jb2RlLWVkaXRvci1yZWdpc3Rlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdURHO0FBRUgsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixnQ0FBZ0M7SUFDaEMsUUFBUSxDQUFTO0lBRWpCLHlEQUF5RDtJQUN6RCxPQUFPLENBQWtDO0lBRXpDLHVFQUF1RTtJQUN2RSxXQUFXLENBQTBDOzhFQVIxQyxvQkFBb0I7Z0VBQXBCLG9CQUFvQixXQUFwQixvQkFBb0I7O3VGQUFwQixvQkFBb0I7Y0FEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyYWJsZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlT3B0aW9ucyB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1jb2RlLWVkaXRvci1yZWdpc3RlcmFibGUtb3B0aW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlU3VnZ2VzdGlvblR5cGUgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tY29kZS1lZGl0b3ItcmVnaXN0ZXJhYmxlLXN1Z2dlc3Rpb24uaW50ZXJmYWNlJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBXcmFwcGVyIHBhcmEgcmVnaXN0cm8gZGUgc2ludGF4ZXMgY3VzdG9taXphZGFzIHBhcmEgbyBwby1jb2RlLWVkaXRvci5cbiAqXG4gKiBQYXJhIHV0aWxpemHDp8OjbyBkbyBzZXJ2acOnbyBkZSBpZGlvbWFzICoqUG9Db2RlRWRpdG9yUmVnaXN0ZXIqKixcbiAqIGRldmUtc2UgaW1wb3J0YXIgbyBtw7NkdWxvIFBvQ29kZUVkaXRvck1vZHVsZSBtZXNtbyBqw6EgdGVuZG8gaW1wb3J0YWRvXG4gKiBvIG3Ds2R1bG8gUG9Nb2R1bGUuXG4gKiBOYSBpbXBvcnRhw6fDo28gb3BjaW9uYWxtZW50ZSBwb2RlIHNlciBpbnZvY2FkbyBvIG3DqXRvZG8gKipmb3JSZWdpc3RlcioqIGluZm9ybWFuZG8gdW0gb2JqZXRvIHBhcmEgY29uZmlndXJhw6fDo28uXG4gKlxuICogRXhlbXBsbyBkZSBjb25maWd1cmHDp8OjbzpcbiAqIGBgYFxuICogaW1wb3J0IHsgUG9Db2RlRWRpdG9yTW9kdWxlLCBQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGUgfSBmcm9tICdAcG8tdWkvbmctY29kZS1lZGl0b3InO1xuICpcbiAqIGRlY2xhcmUgY29uc3QgbW9uYWNvOiBhbnk7IC8vIEltcG9ydGFudGUgcGFyYSB1c2FyIGNvbmZpZ3VyYcOnw7VlcyBjb20gdGlwb3MgZGVmaW5pZG9zIHBlbG8gTW9uYWNvXG4gKlxuICogLy8gQSBmdW7Dp8OjbyBgcHJvdmlkZUNvbXBsZXRpb25JdGVtc2AgcHJlY2lzYSBzZXIgZXhwb3J0YWRhIHBhcmEgc2VyIGNvbXBhdMOtdmVsIGNvbSBBT1QuXG4gKiBleHBvcnQgZnVuY3Rpb24gcHJvdmlkZUNvbXBsZXRpb25JdGVtcygpIHtcbiAqICAgY29uc3Qgc3VnZ2VzdGlvbnMgPSBbe1xuICogICAgIGxhYmVsOiAndGVycmFmb3JtJyxcbiAqICAgICBpbnNlcnRUZXh0OiAnI3RlcnJhZm9ybSBsYW5ndWFnZSdcbiAqICAgfSwge1xuICogICAgIGxhYmVsOiAnc2VydmVyJyxcbiAqICAgICBpbnNlcnRUZXh0OiAnc2VydmVyICR7MTppcH0nXG4gKiAgIH1dO1xuICpcbiAqICAgcmV0dXJuIHsgc3VnZ2VzdGlvbnM6IHN1Z2dlc3Rpb25zIH07XG4gKiB9XG4gKlxuICogY29uc3QgY3VzdG9tRWRpdG9yOiBQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGUgPSB7XG4gKiAgIGxhbmd1YWdlOiAndGVycmFmb3JtJyxcbiAqICAgb3B0aW9uczoge1xuICogICAgIGtleXdvcmRzOiBbJ3Jlc291cmNlJywgJ3Byb3ZpZGVyJywgJ3ZhcmlhYmxlJywgJ291dHB1dCcsICdtb2R1bGUnLCAndHJ1ZScsICdmYWxzZSddLFxuICogICAgIG9wZXJhdG9yczogWyd7JywgJ30nLCAnKCcsICcpJywgJ1snLCAnXScsICc/JywgJzonXSxcbiAqICAgICBzeW1ib2xzOiAgL1s9Pjwhfj86JnwrXFwtKlxcL1xcXiVdKy8sXG4gKiAgICAgZXNjYXBlczogL1xcXFwoPzpbYWJmbnJ0dlxcXFxcIiddfHhbMC05QS1GYS1mXXsxLDR9fHVbMC05QS1GYS1mXXs0fXxVWzAtOUEtRmEtZl17OH0pLyxcbiAqICAgICB0b2tlbml6ZXI6IHtcbiAqICAgICAgLi4uXG4gKiAgICAgfVxuICogICB9LFxuICogICBzdWdnZXN0aW9uczogeyBwcm92aWRlQ29tcGxldGlvbkl0ZW1zOiBwcm92aWRlQ29tcGxldGlvbkl0ZW1zIH1cbiAqIH07XG4gKlxuICogQE5nTW9kdWxlKHtcbiAqICAgZGVjbGFyYXRpb25zOiBbXSxcbiAqICAgaW1wb3J0czogW1xuICogICAgIFBvTW9kdWxlLFxuICogICAgIFBvQ29kZUVkaXRvck1vZHVsZS5mb3JSZWdpc3RlcihjdXN0b21FZGl0b3IpXG4gKiAgIF0sXG4gKiAgIGJvb3RzdHJhcDogW0FwcENvbXBvbmVudF1cbiAqIH0pXG4gKiBgYGBcbiAqXG4gKiA+IEFzIGNvbmZpZ3VyYcOnw7VlcyBwYXJhIG8gcmVnaXN0cm8gZGUgdW1hIG5vdmEgc2ludGF4ZSBubyBNb25hY28gY29kZSBlZGl0b3IgcG9kZW0gc2VyIGVuY29udHJhZGFzIGVtXG4gKiA+IFsqKk1vbmFjbyBFZGl0b3IqKl0oaHR0cHM6Ly9taWNyb3NvZnQuZ2l0aHViLmlvL21vbmFjby1lZGl0b3IvcGxheWdyb3VuZC5odG1sI2V4dGVuZGluZy1sYW5ndWFnZS1zZXJ2aWNlcy1jdXN0b20tbGFuZ3VhZ2VzKS5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBvQ29kZUVkaXRvclJlZ2lzdGVyIGltcGxlbWVudHMgUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlIHtcbiAgLyoqIFNpbnRheGUgYSBzZXIgcmVnaXN0cmFkYS4gKi9cbiAgbGFuZ3VhZ2U6IHN0cmluZztcblxuICAvKiogT3DDp8O1ZXMgZGEgc2ludGF4ZSBwYXJhIHJlZ2lzdHJvIG5vIHBvLWNvZGUtZWRpdG9yLiAqL1xuICBvcHRpb25zOiBQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVPcHRpb25zO1xuXG4gIC8qKiBMaXN0YSBkZSBzdWdlc3TDtWVzIHBhcmEgYSBmdW7Dp8OjbyBkZSBhdXRvY29tcGxldGUgKENUUkwgKyBTUEFDRSkuICovXG4gIHN1Z2dlc3Rpb25zPzogUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlU3VnZ2VzdGlvblR5cGU7XG59XG4iXX0=
|
|
@@ -25,4 +25,4 @@ export class PoCodeEditorSuggestionService {
|
|
|
25
25
|
providedIn: 'root'
|
|
26
26
|
}]
|
|
27
27
|
}], function () { return []; }, null); })();
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tY29kZS1lZGl0b3Itc3VnZ2VzdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29kZS1lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL3BvLWNvZGUtZWRpdG9yLXN1Z2dlc3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVMzQyxNQUFNLE9BQU8sNkJBQTZCO0lBQ2hDLFdBQVcsR0FBK0IsRUFBRSxDQUFDO0lBQ3JELGdCQUFlLENBQUM7SUFFVCxhQUFhLENBQUMsUUFBZ0IsRUFBRSxhQUF3RDtRQUM3RixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDOUIsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUN0RyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEdBQUcsc0JBQXNCLENBQUMsQ0FBQztZQUN4RixPQUFPLHNCQUFzQixDQUFDO1NBQy9CO2FBQU07WUFDTCxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQztTQUMxRDtJQUNILENBQUM7SUFFTyxzQkFBc0IsQ0FDNUIsbUJBQThELEVBQzlELGNBQXlEO1FBRXpELE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FDMUIsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FDakcsQ0FBQztJQUNKLENBQUM7dUZBckJVLDZCQUE2QjtnRUFBN0IsNkJBQTZCLFdBQTdCLDZCQUE2QixtQkFGNUIsTUFBTTs7dUZBRVAsNkJBQTZCO2NBSHpDLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFBvQ29kZUVkaXRvclN1Z2dlc3Rpb25MaXN0LFxuICBQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVTdWdnZXN0aW9uXG59IGZyb20gJy4vaW50ZXJmYWNlcy9wby1jb2RlLWVkaXRvci1yZWdpc3RlcmFibGUtc3VnZ2VzdGlvbi5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQb0NvZGVFZGl0b3JTdWdnZXN0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgc3VnZ2VzdGlvbnM6IFBvQ29kZUVkaXRvclN1Z2dlc3Rpb25MaXN0ID0ge307XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwdWJsaWMgZ2V0U3VnZ2VzdGlvbihsYW5ndWFnZTogc3RyaW5nLCBuZXdTdWdnZXN0aW9uOiBBcnJheTxQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVTdWdnZXN0aW9uPikge1xuICAgIGlmICh0aGlzLnN1Z2dlc3Rpb25zW2xhbmd1YWdlXSkge1xuICAgICAgY29uc3QgZGVkdXBsaWNhdGVTdWdnZXN0aW9ucyA9IHRoaXMuZGVkdXBsaWNhdGVTdWdnZXN0aW9ucyh0aGlzLnN1Z2dlc3Rpb25zW2xhbmd1YWdlXSwgbmV3U3VnZ2VzdGlvbik7XG4gICAgICB0aGlzLnN1Z2dlc3Rpb25zW2xhbmd1YWdlXSA9IFsuLi50aGlzLnN1Z2dlc3Rpb25zW2xhbmd1YWdlXSwgLi4uZGVkdXBsaWNhdGVTdWdnZXN0aW9uc107XG4gICAgICByZXR1cm4gZGVkdXBsaWNhdGVTdWdnZXN0aW9ucztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICh0aGlzLnN1Z2dlc3Rpb25zW2xhbmd1YWdlXSA9IFsuLi5uZXdTdWdnZXN0aW9uXSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZWR1cGxpY2F0ZVN1Z2dlc3Rpb25zKFxuICAgIG9yaWdpbmFsU3VnZ2VzdGlvbnM6IEFycmF5PFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZVN1Z2dlc3Rpb24+LFxuICAgIG5ld1N1Z2dlc3Rpb25zOiBBcnJheTxQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVTdWdnZXN0aW9uPlxuICApIHtcbiAgICByZXR1cm4gbmV3U3VnZ2VzdGlvbnMuZmlsdGVyKFxuICAgICAgbmV3SXRlbSA9PiAhb3JpZ2luYWxTdWdnZXN0aW9ucy5maW5kKG9yaWdpbmFsSXRlbSA9PiBvcmlnaW5hbEl0ZW1bJ2xhYmVsJ10gPT09IG5ld0l0ZW1bJ2xhYmVsJ10pXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -226,9 +226,9 @@ export class PoCodeEditorComponent extends PoCodeEditorBaseComponent {
|
|
|
226
226
|
}
|
|
227
227
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoCodeEditorComponent, [{
|
|
228
228
|
type: Component,
|
|
229
|
-
args: [{ selector: 'po-code-editor', providers: providers, template: "<div #editorContainer [style.height]=\"height\"></div>\
|
|
229
|
+
args: [{ selector: 'po-code-editor', providers: providers, template: "<div #editorContainer [style.height]=\"height\"></div>\n" }]
|
|
230
230
|
}], function () { return [{ type: i0.NgZone }, { type: i0.ElementRef }, { type: i1.PoCodeEditorSuggestionService }, { type: i2.PoCodeEditorRegister }]; }, { editorContainer: [{
|
|
231
231
|
type: ViewChild,
|
|
232
232
|
args: ['editorContainer', { static: true }]
|
|
233
233
|
}] }); })();
|
|
234
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tY29kZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29kZS1lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL3BvLWNvZGUtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZGUtZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9wby1jb2RlLWVkaXRvci9wby1jb2RlLWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBdUIsVUFBVSxFQUFVLFNBQVMsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUN2SCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7QUFLNUUsbUNBQW1DO0FBQ25DLElBQUksWUFBWSxHQUFZLEtBQUssQ0FBQztBQUNsQyxJQUFJLFdBQTBCLENBQUM7QUFNL0IsMEJBQTBCO0FBQzFCLE1BQU0sU0FBUyxHQUFvQjtJQUNqQztRQUNFLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsMkJBQTJCO1FBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUM7UUFDcEQsS0FBSyxFQUFFLElBQUk7S0FDWjtDQUNGLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCRztBQU1ILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx5QkFBeUI7SUFNeEQ7SUFDQTtJQUNBO0lBQ0E7SUFSc0MsZUFBZSxDQUFhO0lBRTVFLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFFaEIsWUFDVSxJQUFZLEVBQ1osRUFBYyxFQUNkLDZCQUE0RCxFQUM1RCxrQkFBeUM7UUFFakQsS0FBSyxFQUFF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QUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIERvQ2hlY2ssIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIE5nWm9uZSwgVmlld0NoaWxkLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IFBvQ29kZUVkaXRvckJhc2VDb21wb25lbnQgfSBmcm9tICcuL3BvLWNvZGUtZWRpdG9yLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUG9Db2RlRWRpdG9yUmVnaXN0ZXIgfSBmcm9tICcuL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVTdWdnZXN0aW9uIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyYWJsZS1zdWdnZXN0aW9uLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFBvQ29kZUVkaXRvclN1Z2dlc3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9wby1jb2RlLWVkaXRvci1zdWdnZXN0aW9uLnNlcnZpY2UnO1xyXG5cclxuLy8gdmFyacOhdmVpcyByZWxhY2lvbmFkYXMgYW8gTW9uYWNvXHJcbmxldCBsb2FkZWRNb25hY286IGJvb2xlYW4gPSBmYWxzZTtcclxubGV0IGxvYWRQcm9taXNlOiBQcm9taXNlPHZvaWQ+O1xyXG5cclxuZGVjbGFyZSBjb25zdCBtb25hY286IGFueTtcclxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXHJcbmRlY2xhcmUgY29uc3QgcmVxdWlyZTogYW55O1xyXG5cclxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cclxuY29uc3QgcHJvdmlkZXJzOiBBcnJheTxQcm92aWRlcj4gPSBbXHJcbiAge1xyXG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcclxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBvQ29kZUVkaXRvckNvbXBvbmVudCksXHJcbiAgICBtdWx0aTogdHJ1ZVxyXG4gIH1cclxuXTtcclxuXHJcbi8qKlxyXG4gKiBAZG9jc0V4dGVuZHMgUG9Db2RlRWRpdG9yQmFzZUNvbXBvbmVudFxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKlxyXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tY29kZS1lZGl0b3ItYmFzaWNcIiB0aXRsZT1cIlBPIENvZGUgRWRpdG9yIEJhc2ljXCI+XHJcbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLWJhc2ljL3NhbXBsZS1wby1jb2RlLWVkaXRvci1iYXNpYy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XHJcbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLWJhc2ljL3NhbXBsZS1wby1jb2RlLWVkaXRvci1iYXNpYy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxyXG4gKiA8L2V4YW1wbGU+XHJcbiAqXHJcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1jb2RlLWVkaXRvci1sYWJzXCIgdGl0bGU9XCJQTyBDb2RlIEVkaXRvciBMYWJzXCI+XHJcbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLWxhYnMvc2FtcGxlLXBvLWNvZGUtZWRpdG9yLWxhYnMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxyXG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci1sYWJzL3NhbXBsZS1wby1jb2RlLWVkaXRvci1sYWJzLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XHJcbiAqIDwvZXhhbXBsZT5cclxuICpcclxuICogPGV4YW1wbGUgbmFtZT1cInBvLWNvZGUtZWRpdG9yLWRpZmZcIiB0aXRsZT1cIlBPIENvZGUgRWRpdG9yIC0gRGlmZlwiPlxyXG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci1kaWZmL3NhbXBsZS1wby1jb2RlLWVkaXRvci1kaWZmLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cclxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tY29kZS1lZGl0b3ItZGlmZi9zYW1wbGUtcG8tY29kZS1lZGl0b3ItZGlmZi5jb21wb25lbnQudHNcIj4gPC9maWxlPlxyXG4gKiA8L2V4YW1wbGU+XHJcbiAqXHJcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1jb2RlLWVkaXRvci10ZXJyYWZvcm1cIiB0aXRsZT1cIlBPIENvZGUgRWRpdG9yIC0gVGVycmFmb3JtXCI+XHJcbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLXRlcnJhZm9ybS9zYW1wbGUtcG8tY29kZS1lZGl0b3ItdGVycmFmb3JtLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cclxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tY29kZS1lZGl0b3ItdGVycmFmb3JtL3NhbXBsZS1wby1jb2RlLWVkaXRvci10ZXJyYWZvcm0uY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cclxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tY29kZS1lZGl0b3ItdGVycmFmb3JtL3NhbXBsZS1wby1jb2RlLWVkaXRvci10ZXJyYWZvcm0uY29uc3RhbnQudHNcIj4gPC9maWxlPlxyXG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci10ZXJyYWZvcm0vc2FtcGxlLXBvLWNvZGUtZWRpdG9yLXRlcnJhZm9ybS5tb2R1bGUudHNcIj4gPC9maWxlPlxyXG4gKiA8L2V4YW1wbGU+XHJcbiAqXHJcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1jb2RlLWVkaXRvci1zdWdnZXN0aW9uXCIgdGl0bGU9XCJQTyBDb2RlIEVkaXRvciBTdWdnZXN0aW9uXCI+XHJcbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLXN1Z2dlc3Rpb24vc2FtcGxlLXBvLWNvZGUtZWRpdG9yLXN1Z2dlc3Rpb24uY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxyXG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci1zdWdnZXN0aW9uL3NhbXBsZS1wby1jb2RlLWVkaXRvci1zdWdnZXN0aW9uLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XHJcbiAqIDwvZXhhbXBsZT5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncG8tY29kZS1lZGl0b3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wby1jb2RlLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgcHJvdmlkZXJzXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQb0NvZGVFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBQb0NvZGVFZGl0b3JCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgRG9DaGVjayB7XHJcbiAgQFZpZXdDaGlsZCgnZWRpdG9yQ29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSkgZWRpdG9yQ29udGFpbmVyOiBFbGVtZW50UmVmO1xyXG5cclxuICBjYW5Mb2FkID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXHJcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBwb0NvZGVFZGl0b3JTdWdnZXN0aW9uU2VydmljZTogUG9Db2RlRWRpdG9yU3VnZ2VzdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvZGVFZGl0b3JSZWdpc3Rlcj86IFBvQ29kZUVkaXRvclJlZ2lzdGVyXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAobG9hZGVkTW9uYWNvKSB7XHJcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXHJcbiAgICAgIGxvYWRQcm9taXNlLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCkge1xyXG4gICAgICAgICAgICB0aGlzLnJlZ2lzdGVyQ3VzdG9tTGFuZ3VhZ2UoKTtcclxuICAgICAgICAgICAgdGhpcy5pbml0TW9uYWNvKHRoaXMuZ2V0T3B0aW9ucygpKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2FuTG9hZCA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbG9hZGVkTW9uYWNvID0gdHJ1ZTtcclxuICAgICAgbG9hZFByb21pc2UgPSBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZTogYW55KSA9PiB7XHJcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cclxuICAgICAgICBjb25zdCBvbkdvdEFtZExvYWRlcjogYW55ID0gKCkgPT4ge1xyXG4gICAgICAgICAgKDxhbnk+d2luZG93KS5yZXF1aXJlLmNvbmZpZyh7IHBhdGhzOiB7ICd2cyc6ICcuL2Fzc2V0cy9tb25hY28vdnMnIH0gfSk7XHJcbiAgICAgICAgICAoPGFueT53aW5kb3cpLnJlcXVpcmUoWyd2cy9lZGl0b3IvZWRpdG9yLm1haW4nXSwgKCkgPT4ge1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlZ2lzdGVyQ3VzdG9tTGFuZ3VhZ2UoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5pdE1vbmFjbyh0aGlzLmdldE9wdGlvbnMoKSk7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2FuTG9hZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBpZiAoISg8YW55PndpbmRvdykucmVxdWlyZSkge1xyXG4gICAgICAgICAgY29uc3QgbG9hZGVyU2NyaXB0OiBIVE1MU2NyaXB0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xyXG4gICAgICAgICAgbG9hZGVyU2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcclxuICAgICAgICAgIGxvYWRlclNjcmlwdC5zcmMgPSAnLi9hc3NldHMvbW9uYWNvL3ZzL2xvYWRlci5qcyc7XHJcbiAgICAgICAgICBsb2FkZXJTY3JpcHQuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIG9uR290QW1kTG9hZGVyKTtcclxuICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobG9hZGVyU2NyaXB0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdEb0NoZWNrKCkge1xyXG4gICAgaWYgKHRoaXMuY2FuTG9hZCAmJiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpIHtcclxuICAgICAgdGhpcy5yZWdpc3RlckN1c3RvbUxhbmd1YWdlKCk7XHJcbiAgICAgIHRoaXMuaW5pdE1vbmFjbyh0aGlzLmdldE9wdGlvbnMoKSk7XHJcbiAgICAgIHRoaXMuY2FuTG9hZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cclxuICBtb25hY29DcmVhdGVNb2RlbCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gbW9uYWNvLmVkaXRvci5jcmVhdGVNb2RlbCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBzZXRWYWx1ZUluRWRpdG9yKCkge1xyXG4gICAgaWYgKHRoaXMuc2hvd0RpZmYpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuZWRpdG9yKSB7XHJcbiAgICAgICAgICB0aGlzLmVkaXRvci5zZXRNb2RlbCh7XHJcbiAgICAgICAgICAgIG9yaWdpbmFsOiB0aGlzLm1vbmFjb0NyZWF0ZU1vZGVsKHRoaXMudmFsdWUpLFxyXG4gICAgICAgICAgICBtb2RpZmllZDogdGhpcy5tb25hY29DcmVhdGVNb2RlbCh0aGlzLm1vZGlmaWVkVmFsdWUpXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuZWRpdG9yKSB7XHJcbiAgICAgICAgICB0aGlzLmVkaXRvci5zZXRWYWx1ZSh0aGlzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0TGFuZ3VhZ2UobGFuZ3VhZ2U6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuc2hvd0RpZmYpIHtcclxuICAgICAgdGhpcy5zZXRNb25hY29MYW5ndWFnZSh0aGlzLmVkaXRvci5nZXRNb2RlbCgpLm9yaWdpbmFsLCBsYW5ndWFnZSk7XHJcbiAgICAgIHRoaXMuc2V0TW9uYWNvTGFuZ3VhZ2UodGhpcy5lZGl0b3IuZ2V0TW9kZWwoKS5tb2RpZmllZCwgbGFuZ3VhZ2UpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRNb25hY29MYW5ndWFnZSh0aGlzLmVkaXRvci5nZXRNb2RlbCgpLCBsYW5ndWFnZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xyXG4gIHNldFRoZW1lKHRoZW1lOiBzdHJpbmcpIHtcclxuICAgIG1vbmFjby5lZGl0b3Iuc2V0VGhlbWUodGhlbWUpO1xyXG4gIH1cclxuXHJcbiAgc2V0UmVhZE9ubHkocmVhZE9ubHk6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuZWRpdG9yLnVwZGF0ZU9wdGlvbnMoeyByZWFkT25seTogcmVhZE9ubHkgfSk7XHJcbiAgfVxyXG5cclxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xyXG4gIHNldFN1Z2dlc3Rpb25zKG5ld1N1Z2dlc3Rpb25zOiBBcnJheTxQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVTdWdnZXN0aW9uPiwgbGFuZ3VhZ2UgPSB0aGlzLmxhbmd1YWdlKSB7XHJcbiAgICBpZiAoIW5ld1N1Z2dlc3Rpb25zKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBzdWdnZXN0aW9ucyA9IHRoaXMucG9Db2RlRWRpdG9yU3VnZ2VzdGlvblNlcnZpY2UuZ2V0U3VnZ2VzdGlvbihsYW5ndWFnZSwgbmV3U3VnZ2VzdGlvbnMpO1xyXG5cclxuICAgIG1vbmFjby5sYW5ndWFnZXMucmVnaXN0ZXJDb21wbGV0aW9uSXRlbVByb3ZpZGVyKGxhbmd1YWdlLCB7XHJcbiAgICAgIHByb3ZpZGVDb21wbGV0aW9uSXRlbXM6ICgpID0+ICh7IHN1Z2dlc3Rpb25zIH0pXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWUpIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZSAmJiB2YWx1ZSBpbnN0YW5jZW9mIEFycmF5ID8gdmFsdWVbMF0gOiB2YWx1ZTtcclxuICAgIHRoaXMubW9kaWZpZWRWYWx1ZSA9IHZhbHVlICYmIHZhbHVlIGluc3RhbmNlb2YgQXJyYXkgJiYgdmFsdWUubGVuZ3RoID4gMCA/IHZhbHVlWzFdIDogJyc7XHJcbiAgICB0aGlzLnNldFZhbHVlSW5FZGl0b3IoKTtcclxuICB9XHJcblxyXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXHJcbiAgcHJpdmF0ZSBpbml0TW9uYWNvKG9wdGlvbnM6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2hvd0RpZmYpIHtcclxuICAgICAgdGhpcy5lZGl0b3IgPSBtb25hY28uZWRpdG9yLmNyZWF0ZURpZmZFZGl0b3IodGhpcy5lZGl0b3JDb250YWluZXIubmF0aXZlRWxlbWVudCwgb3B0aW9ucyk7XHJcblxyXG4gICAgICB0aGlzLmVkaXRvci5zZXRNb2RlbCh7XHJcbiAgICAgICAgb3JpZ2luYWw6IG1vbmFjby5lZGl0b3IuY3JlYXRlTW9kZWwodGhpcy52YWx1ZSksXHJcbiAgICAgICAgbW9kaWZpZWQ6IG1vbmFjby5lZGl0b3IuY3JlYXRlTW9kZWwodGhpcy5tb2RpZmllZFZhbHVlKVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuZWRpdG9yLm9uRGlkVXBkYXRlRGlmZigoZTogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3Qgb3JpZ2luYWwgPSB0aGlzLmVkaXRvci5nZXRNb2RlbCgpLm9yaWdpbmFsLmdldFZhbHVlKCk7XHJcbiAgICAgICAgY29uc3QgbW9kaWZpZWQgPSB0aGlzLmVkaXRvci5nZXRNb2RlbCgpLm1vZGlmaWVkLmdldFZhbHVlKCk7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZVByb3BhZ2F0ZShbb3JpZ2luYWwsIG1vZGlmaWVkXSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5lZGl0b3IgPSBtb25hY28uZWRpdG9yLmNyZWF0ZSh0aGlzLmVkaXRvckNvbnRhaW5lci5uYXRpdmVFbGVtZW50LCBvcHRpb25zKTtcclxuICAgICAgdGhpcy5lZGl0b3Iuc2V0VmFsdWUodGhpcy52YWx1ZSk7XHJcbiAgICAgIHRoaXMuZWRpdG9yLm9uRGlkQ2hhbmdlTW9kZWxDb250ZW50KChlOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZWRpdG9yLmdldFZhbHVlKCk7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZVByb3BhZ2F0ZSh2YWx1ZSk7XHJcbiAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiAodGhpcy52YWx1ZSA9IHZhbHVlKSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0TGFuZ3VhZ2UodGhpcy5sYW5ndWFnZSk7XHJcbiAgICAgIHRoaXMuc2V0U3VnZ2VzdGlvbnModGhpcy5zdWdnZXN0aW9ucyk7XHJcbiAgICB9LCA1MDApO1xyXG4gIH1cclxuXHJcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cclxuICBwcml2YXRlIHNldE1vbmFjb0xhbmd1YWdlKG1vZGVsLCBsYW5ndWFnZSkge1xyXG4gICAgbW9uYWNvLmVkaXRvci5zZXRNb2RlbExhbmd1YWdlKG1vZGVsLCBsYW5ndWFnZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlZ2lzdGVyQ3VzdG9tTGFuZ3VhZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5jb2RlRWRpdG9yUmVnaXN0ZXIubGFuZ3VhZ2UpIHtcclxuICAgICAgbW9uYWNvLmxhbmd1YWdlcy5yZWdpc3Rlcih7IGlkOiB0aGlzLmNvZGVFZGl0b3JSZWdpc3Rlci5sYW5ndWFnZSB9KTtcclxuXHJcbiAgICAgIGlmICh0aGlzLmNvZGVFZGl0b3JSZWdpc3Rlci5vcHRpb25zKSB7XHJcbiAgICAgICAgbW9uYWNvLmxhbmd1YWdlcy5zZXRNb25hcmNoVG9rZW5zUHJvdmlkZXIodGhpcy5jb2RlRWRpdG9yUmVnaXN0ZXIubGFuZ3VhZ2UsIHRoaXMuY29kZUVkaXRvclJlZ2lzdGVyLm9wdGlvbnMpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGhpcy5jb2RlRWRpdG9yUmVnaXN0ZXIuc3VnZ2VzdGlvbnMpIHtcclxuICAgICAgICB0aGlzLnNldFN1Z2dlc3Rpb25zKFxyXG4gICAgICAgICAgdGhpcy5jb2RlRWRpdG9yUmVnaXN0ZXIuc3VnZ2VzdGlvbnMucHJvdmlkZUNvbXBsZXRpb25JdGVtcygpLnN1Z2dlc3Rpb25zLFxyXG4gICAgICAgICAgdGhpcy5jb2RlRWRpdG9yUmVnaXN0ZXIubGFuZ3VhZ2VcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgI2VkaXRvckNvbnRhaW5lciBbc3R5bGUuaGVpZ2h0XT1cImhlaWdodFwiPjwvZGl2PlxyXG4iXX0=
|
|
234
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tY29kZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29kZS1lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL3BvLWNvZGUtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZGUtZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9wby1jb2RlLWVkaXRvci9wby1jb2RlLWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBdUIsVUFBVSxFQUFVLFNBQVMsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUN2SCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7QUFLNUUsbUNBQW1DO0FBQ25DLElBQUksWUFBWSxHQUFZLEtBQUssQ0FBQztBQUNsQyxJQUFJLFdBQTBCLENBQUM7QUFNL0IsMEJBQTBCO0FBQzFCLE1BQU0sU0FBUyxHQUFvQjtJQUNqQztRQUNFLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsMkJBQTJCO1FBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUM7UUFDcEQsS0FBSyxFQUFFLElBQUk7S0FDWjtDQUNGLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCRztBQU1ILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx5QkFBeUI7SUFNeEQ7SUFDQTtJQUNBO0lBQ0E7SUFSc0MsZUFBZSxDQUFhO0lBRTVFLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFFaEIsWUFDVSxJQUFZLEVBQ1osRUFBYyxFQUNkLDZCQUE0RCxFQUM1RCxrQkFBeUM7UUFFakQsS0FBSyxFQUFF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QUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIERvQ2hlY2ssIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIE5nWm9uZSwgVmlld0NoaWxkLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFBvQ29kZUVkaXRvckJhc2VDb21wb25lbnQgfSBmcm9tICcuL3BvLWNvZGUtZWRpdG9yLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IFBvQ29kZUVkaXRvclJlZ2lzdGVyIH0gZnJvbSAnLi9wby1jb2RlLWVkaXRvci1yZWdpc3Rlci5zZXJ2aWNlJztcbmltcG9ydCB7IFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZVN1Z2dlc3Rpb24gfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tY29kZS1lZGl0b3ItcmVnaXN0ZXJhYmxlLXN1Z2dlc3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvQ29kZUVkaXRvclN1Z2dlc3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9wby1jb2RlLWVkaXRvci1zdWdnZXN0aW9uLnNlcnZpY2UnO1xuXG4vLyB2YXJpw6F2ZWlzIHJlbGFjaW9uYWRhcyBhbyBNb25hY29cbmxldCBsb2FkZWRNb25hY286IGJvb2xlYW4gPSBmYWxzZTtcbmxldCBsb2FkUHJvbWlzZTogUHJvbWlzZTx2b2lkPjtcblxuZGVjbGFyZSBjb25zdCBtb25hY286IGFueTtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuZGVjbGFyZSBjb25zdCByZXF1aXJlOiBhbnk7XG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5jb25zdCBwcm92aWRlcnM6IEFycmF5PFByb3ZpZGVyPiA9IFtcbiAge1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBvQ29kZUVkaXRvckNvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbiAgfVxuXTtcblxuLyoqXG4gKiBAZG9jc0V4dGVuZHMgUG9Db2RlRWRpdG9yQmFzZUNvbXBvbmVudFxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWNvZGUtZWRpdG9yLWJhc2ljXCIgdGl0bGU9XCJQTyBDb2RlIEVkaXRvciBCYXNpY1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tY29kZS1lZGl0b3ItYmFzaWMvc2FtcGxlLXBvLWNvZGUtZWRpdG9yLWJhc2ljLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLWJhc2ljL3NhbXBsZS1wby1jb2RlLWVkaXRvci1iYXNpYy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1jb2RlLWVkaXRvci1sYWJzXCIgdGl0bGU9XCJQTyBDb2RlIEVkaXRvciBMYWJzXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci1sYWJzL3NhbXBsZS1wby1jb2RlLWVkaXRvci1sYWJzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLWxhYnMvc2FtcGxlLXBvLWNvZGUtZWRpdG9yLWxhYnMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tY29kZS1lZGl0b3ItZGlmZlwiIHRpdGxlPVwiUE8gQ29kZSBFZGl0b3IgLSBEaWZmXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci1kaWZmL3NhbXBsZS1wby1jb2RlLWVkaXRvci1kaWZmLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLWRpZmYvc2FtcGxlLXBvLWNvZGUtZWRpdG9yLWRpZmYuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tY29kZS1lZGl0b3ItdGVycmFmb3JtXCIgdGl0bGU9XCJQTyBDb2RlIEVkaXRvciAtIFRlcnJhZm9ybVwiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tY29kZS1lZGl0b3ItdGVycmFmb3JtL3NhbXBsZS1wby1jb2RlLWVkaXRvci10ZXJyYWZvcm0uY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tY29kZS1lZGl0b3ItdGVycmFmb3JtL3NhbXBsZS1wby1jb2RlLWVkaXRvci10ZXJyYWZvcm0uY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLXRlcnJhZm9ybS9zYW1wbGUtcG8tY29kZS1lZGl0b3ItdGVycmFmb3JtLmNvbnN0YW50LnRzXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLXRlcnJhZm9ybS9zYW1wbGUtcG8tY29kZS1lZGl0b3ItdGVycmFmb3JtLm1vZHVsZS50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWNvZGUtZWRpdG9yLXN1Z2dlc3Rpb25cIiB0aXRsZT1cIlBPIENvZGUgRWRpdG9yIFN1Z2dlc3Rpb25cIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLXN1Z2dlc3Rpb24vc2FtcGxlLXBvLWNvZGUtZWRpdG9yLXN1Z2dlc3Rpb24uY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tY29kZS1lZGl0b3Itc3VnZ2VzdGlvbi9zYW1wbGUtcG8tY29kZS1lZGl0b3Itc3VnZ2VzdGlvbi5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1jb2RlLWVkaXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby1jb2RlLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyc1xufSlcbmV4cG9ydCBjbGFzcyBQb0NvZGVFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBQb0NvZGVFZGl0b3JCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgRG9DaGVjayB7XG4gIEBWaWV3Q2hpbGQoJ2VkaXRvckNvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pIGVkaXRvckNvbnRhaW5lcjogRWxlbWVudFJlZjtcblxuICBjYW5Mb2FkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHBvQ29kZUVkaXRvclN1Z2dlc3Rpb25TZXJ2aWNlOiBQb0NvZGVFZGl0b3JTdWdnZXN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGNvZGVFZGl0b3JSZWdpc3Rlcj86IFBvQ29kZUVkaXRvclJlZ2lzdGVyXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKGxvYWRlZE1vbmFjbykge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGxvYWRQcm9taXNlLnRoZW4oKCkgPT4ge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLnJlZ2lzdGVyQ3VzdG9tTGFuZ3VhZ2UoKTtcbiAgICAgICAgICAgIHRoaXMuaW5pdE1vbmFjbyh0aGlzLmdldE9wdGlvbnMoKSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2FuTG9hZCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2FkZWRNb25hY28gPSB0cnVlO1xuICAgICAgbG9hZFByb21pc2UgPSBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZTogYW55KSA9PiB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIGNvbnN0IG9uR290QW1kTG9hZGVyOiBhbnkgPSAoKSA9PiB7XG4gICAgICAgICAgKDxhbnk+d2luZG93KS5yZXF1aXJlLmNvbmZpZyh7IHBhdGhzOiB7ICd2cyc6ICcuL2Fzc2V0cy9tb25hY28vdnMnIH0gfSk7XG4gICAgICAgICAgKDxhbnk+d2luZG93KS5yZXF1aXJlKFsndnMvZWRpdG9yL2VkaXRvci5tYWluJ10sICgpID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWdpc3RlckN1c3RvbUxhbmd1YWdlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0TW9uYWNvKHRoaXMuZ2V0T3B0aW9ucygpKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhbkxvYWQgPSB0cnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuXG4gICAgICAgIGlmICghKDxhbnk+d2luZG93KS5yZXF1aXJlKSB7XG4gICAgICAgICAgY29uc3QgbG9hZGVyU2NyaXB0OiBIVE1MU2NyaXB0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgICAgIGxvYWRlclNjcmlwdC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7XG4gICAgICAgICAgbG9hZGVyU2NyaXB0LnNyYyA9ICcuL2Fzc2V0cy9tb25hY28vdnMvbG9hZGVyLmpzJztcbiAgICAgICAgICBsb2FkZXJTY3JpcHQuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIG9uR290QW1kTG9hZGVyKTtcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxvYWRlclNjcmlwdCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nRG9DaGVjaygpIHtcbiAgICBpZiAodGhpcy5jYW5Mb2FkICYmIHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCkge1xuICAgICAgdGhpcy5yZWdpc3RlckN1c3RvbUxhbmd1YWdlKCk7XG4gICAgICB0aGlzLmluaXRNb25hY28odGhpcy5nZXRPcHRpb25zKCkpO1xuICAgICAgdGhpcy5jYW5Mb2FkID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgbW9uYWNvQ3JlYXRlTW9kZWwodmFsdWU6IHN0cmluZykge1xuICAgIHJldHVybiBtb25hY28uZWRpdG9yLmNyZWF0ZU1vZGVsKHZhbHVlKTtcbiAgfVxuXG4gIHNldFZhbHVlSW5FZGl0b3IoKSB7XG4gICAgaWYgKHRoaXMuc2hvd0RpZmYpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5lZGl0b3IpIHtcbiAgICAgICAgICB0aGlzLmVkaXRvci5zZXRNb2RlbCh7XG4gICAgICAgICAgICBvcmlnaW5hbDogdGhpcy5tb25hY29DcmVhdGVNb2RlbCh0aGlzLnZhbHVlKSxcbiAgICAgICAgICAgIG1vZGlmaWVkOiB0aGlzLm1vbmFjb0NyZWF0ZU1vZGVsKHRoaXMubW9kaWZpZWRWYWx1ZSlcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5lZGl0b3IpIHtcbiAgICAgICAgICB0aGlzLmVkaXRvci5zZXRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc2V0TGFuZ3VhZ2UobGFuZ3VhZ2U6IHN0cmluZykge1xuICAgIGlmICh0aGlzLnNob3dEaWZmKSB7XG4gICAgICB0aGlzLnNldE1vbmFjb0xhbmd1YWdlKHRoaXMuZWRpdG9yLmdldE1vZGVsKCkub3JpZ2luYWwsIGxhbmd1YWdlKTtcbiAgICAgIHRoaXMuc2V0TW9uYWNvTGFuZ3VhZ2UodGhpcy5lZGl0b3IuZ2V0TW9kZWwoKS5tb2RpZmllZCwgbGFuZ3VhZ2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldE1vbmFjb0xhbmd1YWdlKHRoaXMuZWRpdG9yLmdldE1vZGVsKCksIGxhbmd1YWdlKTtcbiAgICB9XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBzZXRUaGVtZSh0aGVtZTogc3RyaW5nKSB7XG4gICAgbW9uYWNvLmVkaXRvci5zZXRUaGVtZSh0aGVtZSk7XG4gIH1cblxuICBzZXRSZWFkT25seShyZWFkT25seTogYm9vbGVhbikge1xuICAgIHRoaXMuZWRpdG9yLnVwZGF0ZU9wdGlvbnMoeyByZWFkT25seTogcmVhZE9ubHkgfSk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBzZXRTdWdnZXN0aW9ucyhuZXdTdWdnZXN0aW9uczogQXJyYXk8UG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlU3VnZ2VzdGlvbj4sIGxhbmd1YWdlID0gdGhpcy5sYW5ndWFnZSkge1xuICAgIGlmICghbmV3U3VnZ2VzdGlvbnMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzdWdnZXN0aW9ucyA9IHRoaXMucG9Db2RlRWRpdG9yU3VnZ2VzdGlvblNlcnZpY2UuZ2V0U3VnZ2VzdGlvbihsYW5ndWFnZSwgbmV3U3VnZ2VzdGlvbnMpO1xuXG4gICAgbW9uYWNvLmxhbmd1YWdlcy5yZWdpc3RlckNvbXBsZXRpb25JdGVtUHJvdmlkZXIobGFuZ3VhZ2UsIHtcbiAgICAgIHByb3ZpZGVDb21wbGV0aW9uSXRlbXM6ICgpID0+ICh7IHN1Z2dlc3Rpb25zIH0pXG4gICAgfSk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlICYmIHZhbHVlIGluc3RhbmNlb2YgQXJyYXkgPyB2YWx1ZVswXSA6IHZhbHVlO1xuICAgIHRoaXMubW9kaWZpZWRWYWx1ZSA9IHZhbHVlICYmIHZhbHVlIGluc3RhbmNlb2YgQXJyYXkgJiYgdmFsdWUubGVuZ3RoID4gMCA/IHZhbHVlWzFdIDogJyc7XG4gICAgdGhpcy5zZXRWYWx1ZUluRWRpdG9yKCk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwcml2YXRlIGluaXRNb25hY28ob3B0aW9uczogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2hvd0RpZmYpIHtcbiAgICAgIHRoaXMuZWRpdG9yID0gbW9uYWNvLmVkaXRvci5jcmVhdGVEaWZmRWRpdG9yKHRoaXMuZWRpdG9yQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsIG9wdGlvbnMpO1xuXG4gICAgICB0aGlzLmVkaXRvci5zZXRNb2RlbCh7XG4gICAgICAgIG9yaWdpbmFsOiBtb25hY28uZWRpdG9yLmNyZWF0ZU1vZGVsKHRoaXMudmFsdWUpLFxuICAgICAgICBtb2RpZmllZDogbW9uYWNvLmVkaXRvci5jcmVhdGVNb2RlbCh0aGlzLm1vZGlmaWVkVmFsdWUpXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5lZGl0b3Iub25EaWRVcGRhdGVEaWZmKChlOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWwgPSB0aGlzLmVkaXRvci5nZXRNb2RlbCgpLm9yaWdpbmFsLmdldFZhbHVlKCk7XG4gICAgICAgIGNvbnN0IG1vZGlmaWVkID0gdGhpcy5lZGl0b3IuZ2V0TW9kZWwoKS5tb2RpZmllZC5nZXRWYWx1ZSgpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlUHJvcGFnYXRlKFtvcmlnaW5hbCwgbW9kaWZpZWRdKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVkaXRvciA9IG1vbmFjby5lZGl0b3IuY3JlYXRlKHRoaXMuZWRpdG9yQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsIG9wdGlvbnMpO1xuICAgICAgdGhpcy5lZGl0b3Iuc2V0VmFsdWUodGhpcy52YWx1ZSk7XG4gICAgICB0aGlzLmVkaXRvci5vbkRpZENoYW5nZU1vZGVsQ29udGVudCgoZTogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5lZGl0b3IuZ2V0VmFsdWUoKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZVByb3BhZ2F0ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4gKHRoaXMudmFsdWUgPSB2YWx1ZSkpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5zZXRMYW5ndWFnZSh0aGlzLmxhbmd1YWdlKTtcbiAgICAgIHRoaXMuc2V0U3VnZ2VzdGlvbnModGhpcy5zdWdnZXN0aW9ucyk7XG4gICAgfSwgNTAwKTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHByaXZhdGUgc2V0TW9uYWNvTGFuZ3VhZ2UobW9kZWwsIGxhbmd1YWdlKSB7XG4gICAgbW9uYWNvLmVkaXRvci5zZXRNb2RlbExhbmd1YWdlKG1vZGVsLCBsYW5ndWFnZSk7XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyQ3VzdG9tTGFuZ3VhZ2UoKSB7XG4gICAgaWYgKHRoaXMuY29kZUVkaXRvclJlZ2lzdGVyLmxhbmd1YWdlKSB7XG4gICAgICBtb25hY28ubGFuZ3VhZ2VzLnJlZ2lzdGVyKHsgaWQ6IHRoaXMuY29kZUVkaXRvclJlZ2lzdGVyLmxhbmd1YWdlIH0pO1xuXG4gICAgICBpZiAodGhpcy5jb2RlRWRpdG9yUmVnaXN0ZXIub3B0aW9ucykge1xuICAgICAgICBtb25hY28ubGFuZ3VhZ2VzLnNldE1vbmFyY2hUb2tlbnNQcm92aWRlcih0aGlzLmNvZGVFZGl0b3JSZWdpc3Rlci5sYW5ndWFnZSwgdGhpcy5jb2RlRWRpdG9yUmVnaXN0ZXIub3B0aW9ucyk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmNvZGVFZGl0b3JSZWdpc3Rlci5zdWdnZXN0aW9ucykge1xuICAgICAgICB0aGlzLnNldFN1Z2dlc3Rpb25zKFxuICAgICAgICAgIHRoaXMuY29kZUVkaXRvclJlZ2lzdGVyLnN1Z2dlc3Rpb25zLnByb3ZpZGVDb21wbGV0aW9uSXRlbXMoKS5zdWdnZXN0aW9ucyxcbiAgICAgICAgICB0aGlzLmNvZGVFZGl0b3JSZWdpc3Rlci5sYW5ndWFnZVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAjZWRpdG9yQ29udGFpbmVyIFtzdHlsZS5oZWlnaHRdPVwiaGVpZ2h0XCI+PC9kaXY+XG4iXX0=
|
|
@@ -34,4 +34,4 @@ export class PoCodeEditorModule {
|
|
|
34
34
|
}]
|
|
35
35
|
}], null, null); })();
|
|
36
36
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(PoCodeEditorModule, { declarations: [PoCodeEditorComponent], imports: [CommonModule], exports: [PoCodeEditorComponent] }); })();
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tY29kZS1lZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29kZS1lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL3BvLWNvZGUtZWRpdG9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBR3pFOzs7O0dBSUc7QUFPSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBK0I7UUFDaEQsT0FBTztZQUNMLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxvQkFBb0I7b0JBQzdCLFFBQVEsRUFBRSxLQUFLO2lCQUNoQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7NEVBWFUsa0JBQWtCOzREQUFsQixrQkFBa0I7aUVBRmxCLENBQUMsb0JBQW9CLENBQUMsWUFIdkIsWUFBWTs7dUZBS1gsa0JBQWtCO2NBTjlCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7Z0JBQ3ZCLFlBQVksRUFBRSxDQUFDLHFCQUFxQixDQUFDO2dCQUNyQyxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFDaEMsU0FBUyxFQUFFLENBQUMsb0JBQW9CLENBQUM7YUFDbEM7O3dGQUNZLGtCQUFrQixtQkFKZCxxQkFBcUIsYUFEMUIsWUFBWSxhQUVaLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBQb0NvZGVFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL3BvLWNvZGUtZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb0NvZGVFZGl0b3JSZWdpc3RlciB9IGZyb20gJy4vcG8tY29kZS1lZGl0b3ItcmVnaXN0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGUgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tY29kZS1lZGl0b3ItcmVnaXN0ZXJhYmxlLmludGVyZmFjZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogTcOzZHVsbyBkbyBjb21wb25lbnRlIHBvLWNvZGUtZWRpdG9yLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbUG9Db2RlRWRpdG9yQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1BvQ29kZUVkaXRvckNvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW1BvQ29kZUVkaXRvclJlZ2lzdGVyXVxufSlcbmV4cG9ydCBjbGFzcyBQb0NvZGVFZGl0b3JNb2R1bGUge1xuICBzdGF0aWMgZm9yUmVnaXN0ZXIocHJvcHM6IFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8UG9Db2RlRWRpdG9yTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBQb0NvZGVFZGl0b3JNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IFBvQ29kZUVkaXRvclJlZ2lzdGVyLFxuICAgICAgICAgIHVzZVZhbHVlOiBwcm9wc1xuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19
|
package/esm2022/lib/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { PoCodeEditorComponent } from './components/po-code-editor/po-code-editor.component';
|
|
2
2
|
export { PoCodeEditorRegister } from './components/po-code-editor/po-code-editor-register.service';
|
|
3
3
|
export { PoCodeEditorModule } from './components/po-code-editor/po-code-editor.module';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2RlLWVkaXRvci9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBRTdGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBT25HLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgUG9Db2RlRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL3BvLWNvZGUtZWRpdG9yLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB7IFBvQ29kZUVkaXRvclJlZ2lzdGVyIH0gZnJvbSAnLi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyLnNlcnZpY2UnO1xuXG5leHBvcnQgeyBQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGUgfSBmcm9tICcuL2NvbXBvbmVudHMvcG8tY29kZS1lZGl0b3IvaW50ZXJmYWNlcy9wby1jb2RlLWVkaXRvci1yZWdpc3RlcmFibGUuaW50ZXJmYWNlJztcbmV4cG9ydCB7IFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZU9wdGlvbnMgfSBmcm9tICcuL2NvbXBvbmVudHMvcG8tY29kZS1lZGl0b3IvaW50ZXJmYWNlcy9wby1jb2RlLWVkaXRvci1yZWdpc3RlcmFibGUtb3B0aW9ucy5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlVG9rZW5zIH0gZnJvbSAnLi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL2ludGVyZmFjZXMvcG8tY29kZS1lZGl0b3ItcmVnaXN0ZXJhYmxlLXRva2Vucy5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlU3VnZ2VzdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy9wby1jb2RlLWVkaXRvci9pbnRlcmZhY2VzL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyYWJsZS1zdWdnZXN0aW9uLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7IFBvQ29kZUVkaXRvck1vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9wby1jb2RlLWVkaXRvci9wby1jb2RlLWVkaXRvci5tb2R1bGUnO1xuIl19
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './lib/index';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvZGUtZWRpdG9yL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvaW5kZXgnO1xuIl19
|
|
@@ -580,7 +580,7 @@ class PoCodeEditorComponent extends PoCodeEditorBaseComponent {
|
|
|
580
580
|
}
|
|
581
581
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoCodeEditorComponent, [{
|
|
582
582
|
type: Component,
|
|
583
|
-
args: [{ selector: 'po-code-editor', providers: providers, template: "<div #editorContainer [style.height]=\"height\"></div>\
|
|
583
|
+
args: [{ selector: 'po-code-editor', providers: providers, template: "<div #editorContainer [style.height]=\"height\"></div>\n" }]
|
|
584
584
|
}], function () { return [{ type: i0.NgZone }, { type: i0.ElementRef }, { type: PoCodeEditorSuggestionService }, { type: PoCodeEditorRegister }]; }, { editorContainer: [{
|
|
585
585
|
type: ViewChild,
|
|
586
586
|
args: ['editorContainer', { static: true }]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"po-ui-ng-code-editor.mjs","sources":["../../../projects/code-editor/src/lib/components/po-code-editor/po-code-editor-base.component.ts","../../../projects/code-editor/src/lib/components/po-code-editor/po-code-editor-suggestion.service.ts","../../../projects/code-editor/src/lib/components/po-code-editor/po-code-editor-register.service.ts","../../../projects/code-editor/src/lib/components/po-code-editor/po-code-editor.component.ts","../../../projects/code-editor/src/lib/components/po-code-editor/po-code-editor.component.html","../../../projects/code-editor/src/lib/components/po-code-editor/po-code-editor.module.ts","../../../projects/code-editor/src/po-ui-ng-code-editor.ts"],"sourcesContent":["import { Input, Directive } from '@angular/core';\r\nimport { ControlValueAccessor } from '@angular/forms';\r\n\r\nimport { PoCodeEditorRegisterableSuggestion } from './interfaces/po-code-editor-registerable-suggestion.interface';\r\n\r\nconst PO_CODE_EDITOR_THEMES = ['vs-dark', 'vs', 'hc-black'];\r\nconst PO_CODE_EDITOR_THEME_DEFAULT = 'vs';\r\n\r\n/**\r\n * @description\r\n *\r\n * O `po-code-editor` é um componente para edição de código fonte baseado no Monaco Editor da Microsoft.\r\n *\r\n * Sendo assim, algumas configurações presentes no Monaco podem ser utilizadas aqui, como a escolha da linguagem\r\n * (utilizando o highlight syntax específico), escolha do tema e opção de diff, além de ser muito similar ao Visual\r\n * Studio Code, com autocomplete e fechamento automático de brackets.\r\n *\r\n * Este componente pode ser usado em qualquer situação que necessite de adição de códigos, como por exemplo, criar\r\n * receitas utilizando Terraform para gerenciar topologias.\r\n * É importante ressaltar que este não é um componente para edição de textos comuns.\r\n *\r\n * O [(ngModel)] deve ser usado para manipular o conteúdo do po-code-editor, ou seja, tanto para incluir um conteúdo quanto\r\n * para recuperar o conteúdo do po-code-editor, utiliza-se uma variável passada por [(ngModel)].\r\n *\r\n * #### Adicionando o pacote @po-ui/ng-code-editor\r\n *\r\n * Para instalar o pacote `po-code-editor` em sua aplicação execute:\r\n *\r\n * ```shell\r\n * ng add @po-ui/ng-code-editor\r\n * ```\r\n *\r\n * O comando `ng add` do `Angular CLI`:\r\n * - inclui o `po-code-editor` no seu projeto;\r\n * - adiciona o módulo `PoCodeEditorModule`:;\r\n *\r\n * ```\r\n * // app.module.ts\r\n * ...\r\n * import { PoModule } from '@po-ui/ng-components';\r\n * import { PoCodeEditorModule } from '@po-ui/ng-code-editor';\r\n * ...\r\n * @NgModule({\r\n * imports: [\r\n * ...\r\n * PoModule,\r\n * PoCodeEditorModule\r\n * ],\r\n * ...\r\n * })\r\n * export class AppModule { }\r\n * ```\r\n *\r\n * - adiciona o tema PO UI e também o *asset* do Monaco no arquivo `angular.json`, conforme abaixo:\r\n *\r\n * <pre ngNonBindable>\r\n * ...\r\n * \"assets\": [\r\n * { \"glob\": \"**/*\", \"input\": \"node_modules/monaco-editor/min\", \"output\": \"/assets/monaco/\" }\r\n * ],\r\n * \"styles\": [\r\n * \"./node_modules/@po-ui/style/css/po-theme-default.min.css\"\r\n * ]\r\n * ...\r\n * </pre>\r\n */\r\n@Directive()\r\nexport abstract class PoCodeEditorBaseComponent implements ControlValueAccessor {\r\n editor: any;\r\n modifiedValue: string = '';\r\n value: any = '';\r\n\r\n private _height: number = 150;\r\n private _language = 'plainText';\r\n private _readonly: boolean = false;\r\n private _showDiff: boolean = false;\r\n private _suggestions: Array<PoCodeEditorRegisterableSuggestion>;\r\n private _theme = PO_CODE_EDITOR_THEME_DEFAULT;\r\n\r\n /**\r\n * @optional\r\n *\r\n * @description\r\n *\r\n * Linguagem na qual será apresentado o código fonte.\r\n * Para saber quais são as linguagens compatíveis, consulte a documentação oficial do\r\n * [**Monaco Editor**](https://microsoft.github.io/monaco-editor/).\r\n *\r\n * Também é possível adicionar uma nova linguagem personalizada utilizando o serviço:\r\n * [**po-code-editor-register**](https://po-ui.io/documentation/po-code-editor-register?view=doc).\r\n *\r\n * @default `plainText`\r\n */\r\n @Input('p-language') set language(language: string) {\r\n this._language = language && language.length ? language.trim() : 'plainText';\r\n\r\n if (this.editor && this._language) {\r\n this.setLanguage(this._language);\r\n }\r\n }\r\n\r\n get language(): string {\r\n return this._language;\r\n }\r\n\r\n /**\r\n * @optional\r\n *\r\n * @description\r\n *\r\n * Indica se o editor será aberto em modo de leitura.\r\n *\r\n * Neste caso, não é possível editar o código inserido.\r\n *\r\n * Obs: Esta propriedade não refletirá efeito se alterada após o carregamento do componente.\r\n *\r\n * @default `false`\r\n */\r\n @Input('p-readonly') set readonly(readonly: boolean) {\r\n this._readonly = <any>readonly === '' ? true : this.convertToBoolean(readonly);\r\n\r\n if (this.editor) {\r\n this.setReadOnly(readonly);\r\n }\r\n }\r\n\r\n get readonly(): boolean {\r\n return this._readonly;\r\n }\r\n\r\n /**\r\n * @optional\r\n *\r\n * @description\r\n *\r\n * Indica se o editor será aberto em modo de comparação.\r\n *\r\n * Caso esteja habilitada esta opção, então o [(ngModel)] deverá ser passado como um array, cuja primeira opção deve\r\n * conter uma string com o código original e na segunda posição uma string código modificado para efeito de\r\n * comparação. Neste caso, o usuário conseguirá editar apenas o código modificado e isso refletirá na segunda posição\r\n * do array consequentemente.\r\n *\r\n * Obs: Esta propriedade não refletirá efeito se alterada após o carregamento do componente.\r\n *\r\n * @default `false`\r\n */\r\n @Input('p-show-diff') set showDiff(showDiff: boolean) {\r\n this._showDiff = <any>showDiff === '' ? true : this.convertToBoolean(showDiff);\r\n }\r\n\r\n get showDiff(): boolean {\r\n return this._showDiff;\r\n }\r\n\r\n /**\r\n * @optional\r\n *\r\n * @description\r\n *\r\n * Lista de sugestões usadas pelo autocomplete dentro do editor.\r\n *\r\n * Para visualizar a lista de sugestões use o comando `CTRL + SPACE`.\r\n *\r\n * Caso o editor esteja usando uma linguagem que já tenha uma lista de sugestões predefinida, o valor passado será adicionado\r\n * a lista preexistente, aumentando as opções para o usuário.\r\n *\r\n * Caso tenha mais de um editor da mesma linguagem na aplicação, as sugestões serão adicionadas para que todos os editores da mesma linguagem\r\n * tenham as mesmas sugestões.\r\n *\r\n * ```\r\n * <po-code-editor\r\n * [p-suggestions]=\"[{ label: 'po', insertText: 'Portinari UI' }, { label: 'ng', insertText: 'Angular' }]\">\r\n * </po-code-editor>\r\n * ```\r\n *\r\n * Ao fornecer uma lista de sugestões é possível acelerar a escrita de scripts pelos usuários.\r\n */\r\n @Input('p-suggestions') set suggestions(values: Array<PoCodeEditorRegisterableSuggestion>) {\r\n this._suggestions = values;\r\n\r\n if (this.editor && this._suggestions) {\r\n this.setSuggestions(this._suggestions);\r\n }\r\n }\r\n\r\n get suggestions(): Array<PoCodeEditorRegisterableSuggestion> {\r\n return this._suggestions;\r\n }\r\n\r\n /**\r\n * @optional\r\n *\r\n * @description\r\n *\r\n * Define um tema para o editor.\r\n *\r\n * Temas válidos:\r\n * - `vs-dark`\r\n * - `vs`\r\n * - `hc-black`\r\n *\r\n * É importante salientar que o tema será aplicados a todos os componentes po-code-editor existentes na tela,\r\n * ou seja, todas as instâncias do componente receberão o último tema atribuído ou o tema da última instância\r\n * criada.\r\n *\r\n * @default `vs`\r\n */\r\n @Input('p-theme') set theme(theme: string) {\r\n this._theme = PO_CODE_EDITOR_THEMES.includes(theme) ? theme : PO_CODE_EDITOR_THEME_DEFAULT;\r\n\r\n if (this.editor) {\r\n this.setTheme(theme);\r\n }\r\n }\r\n\r\n get theme(): string {\r\n return this._theme;\r\n }\r\n\r\n /**\r\n * @optional\r\n *\r\n * @description\r\n *\r\n * Define a altura do componente em pixels do po-code-editor.\r\n * Esta propriedade não poderá ser alterada após o componente ter sido iniciado.\r\n * A altura mínima é 150 pixels.\r\n */\r\n @Input('p-height') set height(height: string) {\r\n this._height = parseFloat(height) >= 150 ? parseFloat(height) : 150;\r\n }\r\n\r\n get height(): string {\r\n return `${this._height}px`;\r\n }\r\n\r\n /* istanbul ignore next */\r\n onTouched = (value: any) => {};\r\n /* istanbul ignore next */\r\n onChangePropagate = (value: any) => {};\r\n\r\n getOptions() {\r\n return { language: this.language, theme: this.theme, readOnly: this.readonly };\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChangePropagate = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n protected convertToBoolean(val: any): boolean {\r\n if (typeof val === 'string') {\r\n val = val.toLowerCase().trim();\r\n return val === 'true' || val === 'on' || val === '';\r\n }\r\n\r\n if (typeof val === 'number') {\r\n return val === 1;\r\n }\r\n\r\n return !!val;\r\n }\r\n\r\n abstract writeValue(value: any);\r\n\r\n abstract setLanguage(value: any);\r\n\r\n abstract setTheme(value: any);\r\n\r\n abstract setReadOnly(value: any);\r\n\r\n abstract setSuggestions(value: any);\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n PoCodeEditorSuggestionList,\r\n PoCodeEditorRegisterableSuggestion\r\n} from './interfaces/po-code-editor-registerable-suggestion.interface';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PoCodeEditorSuggestionService {\r\n private suggestions: PoCodeEditorSuggestionList = {};\r\n constructor() {}\r\n\r\n public getSuggestion(language: string, newSuggestion: Array<PoCodeEditorRegisterableSuggestion>) {\r\n if (this.suggestions[language]) {\r\n const deduplicateSuggestions = this.deduplicateSuggestions(this.suggestions[language], newSuggestion);\r\n this.suggestions[language] = [...this.suggestions[language], ...deduplicateSuggestions];\r\n return deduplicateSuggestions;\r\n } else {\r\n return (this.suggestions[language] = [...newSuggestion]);\r\n }\r\n }\r\n\r\n private deduplicateSuggestions(\r\n originalSuggestions: Array<PoCodeEditorRegisterableSuggestion>,\r\n newSuggestions: Array<PoCodeEditorRegisterableSuggestion>\r\n ) {\r\n return newSuggestions.filter(\r\n newItem => !originalSuggestions.find(originalItem => originalItem['label'] === newItem['label'])\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { PoCodeEditorRegisterable } from './interfaces/po-code-editor-registerable.interface';\r\nimport { PoCodeEditorRegisterableOptions } from './interfaces/po-code-editor-registerable-options.interface';\r\nimport { PoCodeEditorRegisterableSuggestionType } from './interfaces/po-code-editor-registerable-suggestion.interface';\r\n\r\n/**\r\n * @description\r\n *\r\n * Wrapper para registro de sintaxes customizadas para o po-code-editor.\r\n *\r\n * Para utilização do serviço de idiomas **PoCodeEditorRegister**,\r\n * deve-se importar o módulo PoCodeEditorModule mesmo já tendo importado\r\n * o módulo PoModule.\r\n * Na importação opcionalmente pode ser invocado o método **forRegister** informando um objeto para configuração.\r\n *\r\n * Exemplo de configuração:\r\n * ```\r\n * import { PoCodeEditorModule, PoCodeEditorRegisterable } from '@po-ui/ng-code-editor';\r\n *\r\n * declare const monaco: any; // Importante para usar configurações com tipos definidos pelo Monaco\r\n *\r\n * // A função `provideCompletionItems` precisa ser exportada para ser compatível com AOT.\r\n * export function provideCompletionItems() {\r\n * const suggestions = [{\r\n * label: 'terraform',\r\n * insertText: '#terraform language'\r\n * }, {\r\n * label: 'server',\r\n * insertText: 'server ${1:ip}'\r\n * }];\r\n *\r\n * return { suggestions: suggestions };\r\n * }\r\n *\r\n * const customEditor: PoCodeEditorRegisterable = {\r\n * language: 'terraform',\r\n * options: {\r\n * keywords: ['resource', 'provider', 'variable', 'output', 'module', 'true', 'false'],\r\n * operators: ['{', '}', '(', ')', '[', ']', '?', ':'],\r\n * symbols: /[=><!~?:&|+\\-*\\/\\^%]+/,\r\n * escapes: /\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,\r\n * tokenizer: {\r\n * ...\r\n * }\r\n * },\r\n * suggestions: { provideCompletionItems: provideCompletionItems }\r\n * };\r\n *\r\n * @NgModule({\r\n * declarations: [],\r\n * imports: [\r\n * PoModule,\r\n * PoCodeEditorModule.forRegister(customEditor)\r\n * ],\r\n * bootstrap: [AppComponent]\r\n * })\r\n * ```\r\n *\r\n * > As configurações para o registro de uma nova sintaxe no Monaco code editor podem ser encontradas em\r\n * > [**Monaco Editor**](https://microsoft.github.io/monaco-editor/playground.html#extending-language-services-custom-languages).\r\n */\r\n@Injectable()\r\nexport class PoCodeEditorRegister implements PoCodeEditorRegisterable {\r\n /** Sintaxe a ser registrada. */\r\n language: string;\r\n\r\n /** Opções da sintaxe para registro no po-code-editor. */\r\n options: PoCodeEditorRegisterableOptions;\r\n\r\n /** Lista de sugestões para a função de autocomplete (CTRL + SPACE). */\r\n suggestions?: PoCodeEditorRegisterableSuggestionType;\r\n}\r\n","import { AfterViewInit, Component, DoCheck, ElementRef, forwardRef, NgZone, ViewChild, Provider } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nimport { PoCodeEditorBaseComponent } from './po-code-editor-base.component';\r\nimport { PoCodeEditorRegister } from './po-code-editor-register.service';\r\nimport { PoCodeEditorRegisterableSuggestion } from './interfaces/po-code-editor-registerable-suggestion.interface';\r\nimport { PoCodeEditorSuggestionService } from './po-code-editor-suggestion.service';\r\n\r\n// variáveis relacionadas ao Monaco\r\nlet loadedMonaco: boolean = false;\r\nlet loadPromise: Promise<void>;\r\n\r\ndeclare const monaco: any;\r\n// eslint-disable-next-line\r\ndeclare const require: any;\r\n\r\n/* istanbul ignore next */\r\nconst providers: Array<Provider> = [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n // eslint-disable-next-line\r\n useExisting: forwardRef(() => PoCodeEditorComponent),\r\n multi: true\r\n }\r\n];\r\n\r\n/**\r\n * @docsExtends PoCodeEditorBaseComponent\r\n *\r\n * @example\r\n *\r\n * <example name=\"po-code-editor-basic\" title=\"PO Code Editor Basic\">\r\n * <file name=\"sample-po-code-editor-basic/sample-po-code-editor-basic.component.html\"> </file>\r\n * <file name=\"sample-po-code-editor-basic/sample-po-code-editor-basic.component.ts\"> </file>\r\n * </example>\r\n *\r\n * <example name=\"po-code-editor-labs\" title=\"PO Code Editor Labs\">\r\n * <file name=\"sample-po-code-editor-labs/sample-po-code-editor-labs.component.html\"> </file>\r\n * <file name=\"sample-po-code-editor-labs/sample-po-code-editor-labs.component.ts\"> </file>\r\n * </example>\r\n *\r\n * <example name=\"po-code-editor-diff\" title=\"PO Code Editor - Diff\">\r\n * <file name=\"sample-po-code-editor-diff/sample-po-code-editor-diff.component.html\"> </file>\r\n * <file name=\"sample-po-code-editor-diff/sample-po-code-editor-diff.component.ts\"> </file>\r\n * </example>\r\n *\r\n * <example name=\"po-code-editor-terraform\" title=\"PO Code Editor - Terraform\">\r\n * <file name=\"sample-po-code-editor-terraform/sample-po-code-editor-terraform.component.html\"> </file>\r\n * <file name=\"sample-po-code-editor-terraform/sample-po-code-editor-terraform.component.ts\"> </file>\r\n * <file name=\"sample-po-code-editor-terraform/sample-po-code-editor-terraform.constant.ts\"> </file>\r\n * <file name=\"sample-po-code-editor-terraform/sample-po-code-editor-terraform.module.ts\"> </file>\r\n * </example>\r\n *\r\n * <example name=\"po-code-editor-suggestion\" title=\"PO Code Editor Suggestion\">\r\n * <file name=\"sample-po-code-editor-suggestion/sample-po-code-editor-suggestion.component.html\"> </file>\r\n * <file name=\"sample-po-code-editor-suggestion/sample-po-code-editor-suggestion.component.ts\"> </file>\r\n * </example>\r\n */\r\n@Component({\r\n selector: 'po-code-editor',\r\n templateUrl: './po-code-editor.component.html',\r\n providers\r\n})\r\nexport class PoCodeEditorComponent extends PoCodeEditorBaseComponent implements AfterViewInit, DoCheck {\r\n @ViewChild('editorContainer', { static: true }) editorContainer: ElementRef;\r\n\r\n canLoad = false;\r\n\r\n constructor(\r\n private zone: NgZone,\r\n private el: ElementRef,\r\n private poCodeEditorSuggestionService: PoCodeEditorSuggestionService,\r\n private codeEditorRegister?: PoCodeEditorRegister\r\n ) {\r\n super();\r\n }\r\n\r\n /* istanbul ignore next */\r\n ngAfterViewInit(): void {\r\n if (loadedMonaco) {\r\n /* istanbul ignore next */\r\n loadPromise.then(() => {\r\n setTimeout(() => {\r\n if (this.el.nativeElement.offsetWidth) {\r\n this.registerCustomLanguage();\r\n this.initMonaco(this.getOptions());\r\n } else {\r\n this.canLoad = true;\r\n }\r\n });\r\n });\r\n } else {\r\n loadedMonaco = true;\r\n loadPromise = new Promise<void>((resolve: any) => {\r\n /* istanbul ignore next */\r\n const onGotAmdLoader: any = () => {\r\n (<any>window).require.config({ paths: { 'vs': './assets/monaco/vs' } });\r\n (<any>window).require(['vs/editor/editor.main'], () => {\r\n setTimeout(() => {\r\n if (this.el.nativeElement.offsetWidth) {\r\n this.registerCustomLanguage();\r\n this.initMonaco(this.getOptions());\r\n } else {\r\n this.canLoad = true;\r\n }\r\n resolve();\r\n });\r\n });\r\n };\r\n\r\n if (!(<any>window).require) {\r\n const loaderScript: HTMLScriptElement = document.createElement('script');\r\n loaderScript.type = 'text/javascript';\r\n loaderScript.src = './assets/monaco/vs/loader.js';\r\n loaderScript.addEventListener('load', onGotAmdLoader);\r\n document.body.appendChild(loaderScript);\r\n }\r\n });\r\n }\r\n }\r\n\r\n ngDoCheck() {\r\n if (this.canLoad && this.el.nativeElement.offsetWidth) {\r\n this.registerCustomLanguage();\r\n this.initMonaco(this.getOptions());\r\n this.canLoad = false;\r\n }\r\n }\r\n\r\n /* istanbul ignore next */\r\n monacoCreateModel(value: string) {\r\n return monaco.editor.createModel(value);\r\n }\r\n\r\n setValueInEditor() {\r\n if (this.showDiff) {\r\n setTimeout(() => {\r\n if (this.editor) {\r\n this.editor.setModel({\r\n original: this.monacoCreateModel(this.value),\r\n modified: this.monacoCreateModel(this.modifiedValue)\r\n });\r\n }\r\n });\r\n } else {\r\n setTimeout(() => {\r\n if (this.editor) {\r\n this.editor.setValue(this.value);\r\n }\r\n });\r\n }\r\n }\r\n\r\n setLanguage(language: string) {\r\n if (this.showDiff) {\r\n this.setMonacoLanguage(this.editor.getModel().original, language);\r\n this.setMonacoLanguage(this.editor.getModel().modified, language);\r\n } else {\r\n this.setMonacoLanguage(this.editor.getModel(), language);\r\n }\r\n }\r\n\r\n /* istanbul ignore next */\r\n setTheme(theme: string) {\r\n monaco.editor.setTheme(theme);\r\n }\r\n\r\n setReadOnly(readOnly: boolean) {\r\n this.editor.updateOptions({ readOnly: readOnly });\r\n }\r\n\r\n /* istanbul ignore next */\r\n setSuggestions(newSuggestions: Array<PoCodeEditorRegisterableSuggestion>, language = this.language) {\r\n if (!newSuggestions) {\r\n return;\r\n }\r\n\r\n const suggestions = this.poCodeEditorSuggestionService.getSuggestion(language, newSuggestions);\r\n\r\n monaco.languages.registerCompletionItemProvider(language, {\r\n provideCompletionItems: () => ({ suggestions })\r\n });\r\n }\r\n\r\n writeValue(value) {\r\n this.value = value && value instanceof Array ? value[0] : value;\r\n this.modifiedValue = value && value instanceof Array && value.length > 0 ? value[1] : '';\r\n this.setValueInEditor();\r\n }\r\n\r\n /* istanbul ignore next */\r\n private initMonaco(options: any): void {\r\n if (this.showDiff) {\r\n this.editor = monaco.editor.createDiffEditor(this.editorContainer.nativeElement, options);\r\n\r\n this.editor.setModel({\r\n original: monaco.editor.createModel(this.value),\r\n modified: monaco.editor.createModel(this.modifiedValue)\r\n });\r\n\r\n this.editor.onDidUpdateDiff((e: any) => {\r\n const original = this.editor.getModel().original.getValue();\r\n const modified = this.editor.getModel().modified.getValue();\r\n this.onChangePropagate([original, modified]);\r\n });\r\n } else {\r\n this.editor = monaco.editor.create(this.editorContainer.nativeElement, options);\r\n this.editor.setValue(this.value);\r\n this.editor.onDidChangeModelContent((e: any) => {\r\n const value = this.editor.getValue();\r\n this.onChangePropagate(value);\r\n this.zone.run(() => (this.value = value));\r\n });\r\n }\r\n setTimeout(() => {\r\n this.setLanguage(this.language);\r\n this.setSuggestions(this.suggestions);\r\n }, 500);\r\n }\r\n\r\n /* istanbul ignore next */\r\n private setMonacoLanguage(model, language) {\r\n monaco.editor.setModelLanguage(model, language);\r\n }\r\n\r\n private registerCustomLanguage() {\r\n if (this.codeEditorRegister.language) {\r\n monaco.languages.register({ id: this.codeEditorRegister.language });\r\n\r\n if (this.codeEditorRegister.options) {\r\n monaco.languages.setMonarchTokensProvider(this.codeEditorRegister.language, this.codeEditorRegister.options);\r\n }\r\n\r\n if (this.codeEditorRegister.suggestions) {\r\n this.setSuggestions(\r\n this.codeEditorRegister.suggestions.provideCompletionItems().suggestions,\r\n this.codeEditorRegister.language\r\n );\r\n }\r\n }\r\n }\r\n}\r\n","<div #editorContainer [style.height]=\"height\"></div>\r\n","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { PoCodeEditorComponent } from './po-code-editor.component';\r\nimport { PoCodeEditorRegister } from './po-code-editor-register.service';\r\nimport { PoCodeEditorRegisterable } from './interfaces/po-code-editor-registerable.interface';\r\n\r\n/**\r\n * @description\r\n *\r\n * Módulo do componente po-code-editor.\r\n */\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [PoCodeEditorComponent],\r\n exports: [PoCodeEditorComponent],\r\n providers: [PoCodeEditorRegister]\r\n})\r\nexport class PoCodeEditorModule {\r\n static forRegister(props: PoCodeEditorRegisterable): ModuleWithProviders<PoCodeEditorModule> {\r\n return {\r\n ngModule: PoCodeEditorModule,\r\n providers: [\r\n {\r\n provide: PoCodeEditorRegister,\r\n useValue: props\r\n }\r\n ]\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.PoCodeEditorSuggestionService","i2.PoCodeEditorRegister"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"po-ui-ng-code-editor.mjs","sources":["../../../projects/code-editor/src/lib/components/po-code-editor/po-code-editor-base.component.ts","../../../projects/code-editor/src/lib/components/po-code-editor/po-code-editor-suggestion.service.ts","../../../projects/code-editor/src/lib/components/po-code-editor/po-code-editor-register.service.ts","../../../projects/code-editor/src/lib/components/po-code-editor/po-code-editor.component.ts","../../../projects/code-editor/src/lib/components/po-code-editor/po-code-editor.component.html","../../../projects/code-editor/src/lib/components/po-code-editor/po-code-editor.module.ts","../../../projects/code-editor/src/po-ui-ng-code-editor.ts"],"sourcesContent":["import { Input, Directive } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\n\nimport { PoCodeEditorRegisterableSuggestion } from './interfaces/po-code-editor-registerable-suggestion.interface';\n\nconst PO_CODE_EDITOR_THEMES = ['vs-dark', 'vs', 'hc-black'];\nconst PO_CODE_EDITOR_THEME_DEFAULT = 'vs';\n\n/**\n * @description\n *\n * O `po-code-editor` é um componente para edição de código fonte baseado no Monaco Editor da Microsoft.\n *\n * Sendo assim, algumas configurações presentes no Monaco podem ser utilizadas aqui, como a escolha da linguagem\n * (utilizando o highlight syntax específico), escolha do tema e opção de diff, além de ser muito similar ao Visual\n * Studio Code, com autocomplete e fechamento automático de brackets.\n *\n * Este componente pode ser usado em qualquer situação que necessite de adição de códigos, como por exemplo, criar\n * receitas utilizando Terraform para gerenciar topologias.\n * É importante ressaltar que este não é um componente para edição de textos comuns.\n *\n * O [(ngModel)] deve ser usado para manipular o conteúdo do po-code-editor, ou seja, tanto para incluir um conteúdo quanto\n * para recuperar o conteúdo do po-code-editor, utiliza-se uma variável passada por [(ngModel)].\n *\n * #### Adicionando o pacote @po-ui/ng-code-editor\n *\n * Para instalar o pacote `po-code-editor` em sua aplicação execute:\n *\n * ```shell\n * ng add @po-ui/ng-code-editor\n * ```\n *\n * O comando `ng add` do `Angular CLI`:\n * - inclui o `po-code-editor` no seu projeto;\n * - adiciona o módulo `PoCodeEditorModule`:;\n *\n * ```\n * // app.module.ts\n * ...\n * import { PoModule } from '@po-ui/ng-components';\n * import { PoCodeEditorModule } from '@po-ui/ng-code-editor';\n * ...\n * @NgModule({\n * imports: [\n * ...\n * PoModule,\n * PoCodeEditorModule\n * ],\n * ...\n * })\n * export class AppModule { }\n * ```\n *\n * - adiciona o tema PO UI e também o *asset* do Monaco no arquivo `angular.json`, conforme abaixo:\n *\n * <pre ngNonBindable>\n * ...\n * \"assets\": [\n * { \"glob\": \"**/*\", \"input\": \"node_modules/monaco-editor/min\", \"output\": \"/assets/monaco/\" }\n * ],\n * \"styles\": [\n * \"./node_modules/@po-ui/style/css/po-theme-default.min.css\"\n * ]\n * ...\n * </pre>\n */\n@Directive()\nexport abstract class PoCodeEditorBaseComponent implements ControlValueAccessor {\n editor: any;\n modifiedValue: string = '';\n value: any = '';\n\n private _height: number = 150;\n private _language = 'plainText';\n private _readonly: boolean = false;\n private _showDiff: boolean = false;\n private _suggestions: Array<PoCodeEditorRegisterableSuggestion>;\n private _theme = PO_CODE_EDITOR_THEME_DEFAULT;\n\n /**\n * @optional\n *\n * @description\n *\n * Linguagem na qual será apresentado o código fonte.\n * Para saber quais são as linguagens compatíveis, consulte a documentação oficial do\n * [**Monaco Editor**](https://microsoft.github.io/monaco-editor/).\n *\n * Também é possível adicionar uma nova linguagem personalizada utilizando o serviço:\n * [**po-code-editor-register**](https://po-ui.io/documentation/po-code-editor-register?view=doc).\n *\n * @default `plainText`\n */\n @Input('p-language') set language(language: string) {\n this._language = language && language.length ? language.trim() : 'plainText';\n\n if (this.editor && this._language) {\n this.setLanguage(this._language);\n }\n }\n\n get language(): string {\n return this._language;\n }\n\n /**\n * @optional\n *\n * @description\n *\n * Indica se o editor será aberto em modo de leitura.\n *\n * Neste caso, não é possível editar o código inserido.\n *\n * Obs: Esta propriedade não refletirá efeito se alterada após o carregamento do componente.\n *\n * @default `false`\n */\n @Input('p-readonly') set readonly(readonly: boolean) {\n this._readonly = <any>readonly === '' ? true : this.convertToBoolean(readonly);\n\n if (this.editor) {\n this.setReadOnly(readonly);\n }\n }\n\n get readonly(): boolean {\n return this._readonly;\n }\n\n /**\n * @optional\n *\n * @description\n *\n * Indica se o editor será aberto em modo de comparação.\n *\n * Caso esteja habilitada esta opção, então o [(ngModel)] deverá ser passado como um array, cuja primeira opção deve\n * conter uma string com o código original e na segunda posição uma string código modificado para efeito de\n * comparação. Neste caso, o usuário conseguirá editar apenas o código modificado e isso refletirá na segunda posição\n * do array consequentemente.\n *\n * Obs: Esta propriedade não refletirá efeito se alterada após o carregamento do componente.\n *\n * @default `false`\n */\n @Input('p-show-diff') set showDiff(showDiff: boolean) {\n this._showDiff = <any>showDiff === '' ? true : this.convertToBoolean(showDiff);\n }\n\n get showDiff(): boolean {\n return this._showDiff;\n }\n\n /**\n * @optional\n *\n * @description\n *\n * Lista de sugestões usadas pelo autocomplete dentro do editor.\n *\n * Para visualizar a lista de sugestões use o comando `CTRL + SPACE`.\n *\n * Caso o editor esteja usando uma linguagem que já tenha uma lista de sugestões predefinida, o valor passado será adicionado\n * a lista preexistente, aumentando as opções para o usuário.\n *\n * Caso tenha mais de um editor da mesma linguagem na aplicação, as sugestões serão adicionadas para que todos os editores da mesma linguagem\n * tenham as mesmas sugestões.\n *\n * ```\n * <po-code-editor\n * [p-suggestions]=\"[{ label: 'po', insertText: 'Portinari UI' }, { label: 'ng', insertText: 'Angular' }]\">\n * </po-code-editor>\n * ```\n *\n * Ao fornecer uma lista de sugestões é possível acelerar a escrita de scripts pelos usuários.\n */\n @Input('p-suggestions') set suggestions(values: Array<PoCodeEditorRegisterableSuggestion>) {\n this._suggestions = values;\n\n if (this.editor && this._suggestions) {\n this.setSuggestions(this._suggestions);\n }\n }\n\n get suggestions(): Array<PoCodeEditorRegisterableSuggestion> {\n return this._suggestions;\n }\n\n /**\n * @optional\n *\n * @description\n *\n * Define um tema para o editor.\n *\n * Temas válidos:\n * - `vs-dark`\n * - `vs`\n * - `hc-black`\n *\n * É importante salientar que o tema será aplicados a todos os componentes po-code-editor existentes na tela,\n * ou seja, todas as instâncias do componente receberão o último tema atribuído ou o tema da última instância\n * criada.\n *\n * @default `vs`\n */\n @Input('p-theme') set theme(theme: string) {\n this._theme = PO_CODE_EDITOR_THEMES.includes(theme) ? theme : PO_CODE_EDITOR_THEME_DEFAULT;\n\n if (this.editor) {\n this.setTheme(theme);\n }\n }\n\n get theme(): string {\n return this._theme;\n }\n\n /**\n * @optional\n *\n * @description\n *\n * Define a altura do componente em pixels do po-code-editor.\n * Esta propriedade não poderá ser alterada após o componente ter sido iniciado.\n * A altura mínima é 150 pixels.\n */\n @Input('p-height') set height(height: string) {\n this._height = parseFloat(height) >= 150 ? parseFloat(height) : 150;\n }\n\n get height(): string {\n return `${this._height}px`;\n }\n\n /* istanbul ignore next */\n onTouched = (value: any) => {};\n /* istanbul ignore next */\n onChangePropagate = (value: any) => {};\n\n getOptions() {\n return { language: this.language, theme: this.theme, readOnly: this.readonly };\n }\n\n registerOnChange(fn: any): void {\n this.onChangePropagate = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n protected convertToBoolean(val: any): boolean {\n if (typeof val === 'string') {\n val = val.toLowerCase().trim();\n return val === 'true' || val === 'on' || val === '';\n }\n\n if (typeof val === 'number') {\n return val === 1;\n }\n\n return !!val;\n }\n\n abstract writeValue(value: any);\n\n abstract setLanguage(value: any);\n\n abstract setTheme(value: any);\n\n abstract setReadOnly(value: any);\n\n abstract setSuggestions(value: any);\n}\n","import { Injectable } from '@angular/core';\nimport {\n PoCodeEditorSuggestionList,\n PoCodeEditorRegisterableSuggestion\n} from './interfaces/po-code-editor-registerable-suggestion.interface';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PoCodeEditorSuggestionService {\n private suggestions: PoCodeEditorSuggestionList = {};\n constructor() {}\n\n public getSuggestion(language: string, newSuggestion: Array<PoCodeEditorRegisterableSuggestion>) {\n if (this.suggestions[language]) {\n const deduplicateSuggestions = this.deduplicateSuggestions(this.suggestions[language], newSuggestion);\n this.suggestions[language] = [...this.suggestions[language], ...deduplicateSuggestions];\n return deduplicateSuggestions;\n } else {\n return (this.suggestions[language] = [...newSuggestion]);\n }\n }\n\n private deduplicateSuggestions(\n originalSuggestions: Array<PoCodeEditorRegisterableSuggestion>,\n newSuggestions: Array<PoCodeEditorRegisterableSuggestion>\n ) {\n return newSuggestions.filter(\n newItem => !originalSuggestions.find(originalItem => originalItem['label'] === newItem['label'])\n );\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { PoCodeEditorRegisterable } from './interfaces/po-code-editor-registerable.interface';\nimport { PoCodeEditorRegisterableOptions } from './interfaces/po-code-editor-registerable-options.interface';\nimport { PoCodeEditorRegisterableSuggestionType } from './interfaces/po-code-editor-registerable-suggestion.interface';\n\n/**\n * @description\n *\n * Wrapper para registro de sintaxes customizadas para o po-code-editor.\n *\n * Para utilização do serviço de idiomas **PoCodeEditorRegister**,\n * deve-se importar o módulo PoCodeEditorModule mesmo já tendo importado\n * o módulo PoModule.\n * Na importação opcionalmente pode ser invocado o método **forRegister** informando um objeto para configuração.\n *\n * Exemplo de configuração:\n * ```\n * import { PoCodeEditorModule, PoCodeEditorRegisterable } from '@po-ui/ng-code-editor';\n *\n * declare const monaco: any; // Importante para usar configurações com tipos definidos pelo Monaco\n *\n * // A função `provideCompletionItems` precisa ser exportada para ser compatível com AOT.\n * export function provideCompletionItems() {\n * const suggestions = [{\n * label: 'terraform',\n * insertText: '#terraform language'\n * }, {\n * label: 'server',\n * insertText: 'server ${1:ip}'\n * }];\n *\n * return { suggestions: suggestions };\n * }\n *\n * const customEditor: PoCodeEditorRegisterable = {\n * language: 'terraform',\n * options: {\n * keywords: ['resource', 'provider', 'variable', 'output', 'module', 'true', 'false'],\n * operators: ['{', '}', '(', ')', '[', ']', '?', ':'],\n * symbols: /[=><!~?:&|+\\-*\\/\\^%]+/,\n * escapes: /\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,\n * tokenizer: {\n * ...\n * }\n * },\n * suggestions: { provideCompletionItems: provideCompletionItems }\n * };\n *\n * @NgModule({\n * declarations: [],\n * imports: [\n * PoModule,\n * PoCodeEditorModule.forRegister(customEditor)\n * ],\n * bootstrap: [AppComponent]\n * })\n * ```\n *\n * > As configurações para o registro de uma nova sintaxe no Monaco code editor podem ser encontradas em\n * > [**Monaco Editor**](https://microsoft.github.io/monaco-editor/playground.html#extending-language-services-custom-languages).\n */\n@Injectable()\nexport class PoCodeEditorRegister implements PoCodeEditorRegisterable {\n /** Sintaxe a ser registrada. */\n language: string;\n\n /** Opções da sintaxe para registro no po-code-editor. */\n options: PoCodeEditorRegisterableOptions;\n\n /** Lista de sugestões para a função de autocomplete (CTRL + SPACE). */\n suggestions?: PoCodeEditorRegisterableSuggestionType;\n}\n","import { AfterViewInit, Component, DoCheck, ElementRef, forwardRef, NgZone, ViewChild, Provider } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { PoCodeEditorBaseComponent } from './po-code-editor-base.component';\nimport { PoCodeEditorRegister } from './po-code-editor-register.service';\nimport { PoCodeEditorRegisterableSuggestion } from './interfaces/po-code-editor-registerable-suggestion.interface';\nimport { PoCodeEditorSuggestionService } from './po-code-editor-suggestion.service';\n\n// variáveis relacionadas ao Monaco\nlet loadedMonaco: boolean = false;\nlet loadPromise: Promise<void>;\n\ndeclare const monaco: any;\n// eslint-disable-next-line\ndeclare const require: any;\n\n/* istanbul ignore next */\nconst providers: Array<Provider> = [\n {\n provide: NG_VALUE_ACCESSOR,\n // eslint-disable-next-line\n useExisting: forwardRef(() => PoCodeEditorComponent),\n multi: true\n }\n];\n\n/**\n * @docsExtends PoCodeEditorBaseComponent\n *\n * @example\n *\n * <example name=\"po-code-editor-basic\" title=\"PO Code Editor Basic\">\n * <file name=\"sample-po-code-editor-basic/sample-po-code-editor-basic.component.html\"> </file>\n * <file name=\"sample-po-code-editor-basic/sample-po-code-editor-basic.component.ts\"> </file>\n * </example>\n *\n * <example name=\"po-code-editor-labs\" title=\"PO Code Editor Labs\">\n * <file name=\"sample-po-code-editor-labs/sample-po-code-editor-labs.component.html\"> </file>\n * <file name=\"sample-po-code-editor-labs/sample-po-code-editor-labs.component.ts\"> </file>\n * </example>\n *\n * <example name=\"po-code-editor-diff\" title=\"PO Code Editor - Diff\">\n * <file name=\"sample-po-code-editor-diff/sample-po-code-editor-diff.component.html\"> </file>\n * <file name=\"sample-po-code-editor-diff/sample-po-code-editor-diff.component.ts\"> </file>\n * </example>\n *\n * <example name=\"po-code-editor-terraform\" title=\"PO Code Editor - Terraform\">\n * <file name=\"sample-po-code-editor-terraform/sample-po-code-editor-terraform.component.html\"> </file>\n * <file name=\"sample-po-code-editor-terraform/sample-po-code-editor-terraform.component.ts\"> </file>\n * <file name=\"sample-po-code-editor-terraform/sample-po-code-editor-terraform.constant.ts\"> </file>\n * <file name=\"sample-po-code-editor-terraform/sample-po-code-editor-terraform.module.ts\"> </file>\n * </example>\n *\n * <example name=\"po-code-editor-suggestion\" title=\"PO Code Editor Suggestion\">\n * <file name=\"sample-po-code-editor-suggestion/sample-po-code-editor-suggestion.component.html\"> </file>\n * <file name=\"sample-po-code-editor-suggestion/sample-po-code-editor-suggestion.component.ts\"> </file>\n * </example>\n */\n@Component({\n selector: 'po-code-editor',\n templateUrl: './po-code-editor.component.html',\n providers\n})\nexport class PoCodeEditorComponent extends PoCodeEditorBaseComponent implements AfterViewInit, DoCheck {\n @ViewChild('editorContainer', { static: true }) editorContainer: ElementRef;\n\n canLoad = false;\n\n constructor(\n private zone: NgZone,\n private el: ElementRef,\n private poCodeEditorSuggestionService: PoCodeEditorSuggestionService,\n private codeEditorRegister?: PoCodeEditorRegister\n ) {\n super();\n }\n\n /* istanbul ignore next */\n ngAfterViewInit(): void {\n if (loadedMonaco) {\n /* istanbul ignore next */\n loadPromise.then(() => {\n setTimeout(() => {\n if (this.el.nativeElement.offsetWidth) {\n this.registerCustomLanguage();\n this.initMonaco(this.getOptions());\n } else {\n this.canLoad = true;\n }\n });\n });\n } else {\n loadedMonaco = true;\n loadPromise = new Promise<void>((resolve: any) => {\n /* istanbul ignore next */\n const onGotAmdLoader: any = () => {\n (<any>window).require.config({ paths: { 'vs': './assets/monaco/vs' } });\n (<any>window).require(['vs/editor/editor.main'], () => {\n setTimeout(() => {\n if (this.el.nativeElement.offsetWidth) {\n this.registerCustomLanguage();\n this.initMonaco(this.getOptions());\n } else {\n this.canLoad = true;\n }\n resolve();\n });\n });\n };\n\n if (!(<any>window).require) {\n const loaderScript: HTMLScriptElement = document.createElement('script');\n loaderScript.type = 'text/javascript';\n loaderScript.src = './assets/monaco/vs/loader.js';\n loaderScript.addEventListener('load', onGotAmdLoader);\n document.body.appendChild(loaderScript);\n }\n });\n }\n }\n\n ngDoCheck() {\n if (this.canLoad && this.el.nativeElement.offsetWidth) {\n this.registerCustomLanguage();\n this.initMonaco(this.getOptions());\n this.canLoad = false;\n }\n }\n\n /* istanbul ignore next */\n monacoCreateModel(value: string) {\n return monaco.editor.createModel(value);\n }\n\n setValueInEditor() {\n if (this.showDiff) {\n setTimeout(() => {\n if (this.editor) {\n this.editor.setModel({\n original: this.monacoCreateModel(this.value),\n modified: this.monacoCreateModel(this.modifiedValue)\n });\n }\n });\n } else {\n setTimeout(() => {\n if (this.editor) {\n this.editor.setValue(this.value);\n }\n });\n }\n }\n\n setLanguage(language: string) {\n if (this.showDiff) {\n this.setMonacoLanguage(this.editor.getModel().original, language);\n this.setMonacoLanguage(this.editor.getModel().modified, language);\n } else {\n this.setMonacoLanguage(this.editor.getModel(), language);\n }\n }\n\n /* istanbul ignore next */\n setTheme(theme: string) {\n monaco.editor.setTheme(theme);\n }\n\n setReadOnly(readOnly: boolean) {\n this.editor.updateOptions({ readOnly: readOnly });\n }\n\n /* istanbul ignore next */\n setSuggestions(newSuggestions: Array<PoCodeEditorRegisterableSuggestion>, language = this.language) {\n if (!newSuggestions) {\n return;\n }\n\n const suggestions = this.poCodeEditorSuggestionService.getSuggestion(language, newSuggestions);\n\n monaco.languages.registerCompletionItemProvider(language, {\n provideCompletionItems: () => ({ suggestions })\n });\n }\n\n writeValue(value) {\n this.value = value && value instanceof Array ? value[0] : value;\n this.modifiedValue = value && value instanceof Array && value.length > 0 ? value[1] : '';\n this.setValueInEditor();\n }\n\n /* istanbul ignore next */\n private initMonaco(options: any): void {\n if (this.showDiff) {\n this.editor = monaco.editor.createDiffEditor(this.editorContainer.nativeElement, options);\n\n this.editor.setModel({\n original: monaco.editor.createModel(this.value),\n modified: monaco.editor.createModel(this.modifiedValue)\n });\n\n this.editor.onDidUpdateDiff((e: any) => {\n const original = this.editor.getModel().original.getValue();\n const modified = this.editor.getModel().modified.getValue();\n this.onChangePropagate([original, modified]);\n });\n } else {\n this.editor = monaco.editor.create(this.editorContainer.nativeElement, options);\n this.editor.setValue(this.value);\n this.editor.onDidChangeModelContent((e: any) => {\n const value = this.editor.getValue();\n this.onChangePropagate(value);\n this.zone.run(() => (this.value = value));\n });\n }\n setTimeout(() => {\n this.setLanguage(this.language);\n this.setSuggestions(this.suggestions);\n }, 500);\n }\n\n /* istanbul ignore next */\n private setMonacoLanguage(model, language) {\n monaco.editor.setModelLanguage(model, language);\n }\n\n private registerCustomLanguage() {\n if (this.codeEditorRegister.language) {\n monaco.languages.register({ id: this.codeEditorRegister.language });\n\n if (this.codeEditorRegister.options) {\n monaco.languages.setMonarchTokensProvider(this.codeEditorRegister.language, this.codeEditorRegister.options);\n }\n\n if (this.codeEditorRegister.suggestions) {\n this.setSuggestions(\n this.codeEditorRegister.suggestions.provideCompletionItems().suggestions,\n this.codeEditorRegister.language\n );\n }\n }\n }\n}\n","<div #editorContainer [style.height]=\"height\"></div>\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { PoCodeEditorComponent } from './po-code-editor.component';\nimport { PoCodeEditorRegister } from './po-code-editor-register.service';\nimport { PoCodeEditorRegisterable } from './interfaces/po-code-editor-registerable.interface';\n\n/**\n * @description\n *\n * Módulo do componente po-code-editor.\n */\n@NgModule({\n imports: [CommonModule],\n declarations: [PoCodeEditorComponent],\n exports: [PoCodeEditorComponent],\n providers: [PoCodeEditorRegister]\n})\nexport class PoCodeEditorModule {\n static forRegister(props: PoCodeEditorRegisterable): ModuleWithProviders<PoCodeEditorModule> {\n return {\n ngModule: PoCodeEditorModule,\n providers: [\n {\n provide: PoCodeEditorRegister,\n useValue: props\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.PoCodeEditorSuggestionService","i2.PoCodeEditorRegister"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@po-ui/ng-code-editor",
|
|
3
|
-
"version": "16.
|
|
3
|
+
"version": "16.2.0",
|
|
4
4
|
"tag": "next",
|
|
5
5
|
"description": "PO UI - Code Editor",
|
|
6
6
|
"author": "PO UI",
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
},
|
|
13
13
|
"schematics": "./schematics/collection.json",
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@po-ui/ng-components": "16.
|
|
16
|
-
"@po-ui/ng-schematics": "16.
|
|
15
|
+
"@po-ui/ng-components": "16.2.0",
|
|
16
|
+
"@po-ui/ng-schematics": "16.2.0",
|
|
17
17
|
"monaco-editor": "0.24.0",
|
|
18
18
|
"core-js": "^3.13.0",
|
|
19
19
|
"intl": "^1.2.5",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"@angular/common": "~16.2.0",
|
|
24
24
|
"@angular/core": "~16.2.0",
|
|
25
25
|
"@angular/forms": "~16.2.0",
|
|
26
|
-
"@po-ui/ng-components": "16.
|
|
26
|
+
"@po-ui/ng-components": "16.2.0",
|
|
27
27
|
"monaco-editor": "0.24.0",
|
|
28
28
|
"zone.js": "~0.13.1"
|
|
29
29
|
},
|
|
Binary file
|
package/schematics/README.md
CHANGED
|
@@ -1,98 +1,98 @@
|
|
|
1
|
-
# PO UI Code Editor
|
|
2
|
-
|
|
3
|
-
## Modo desenvolvimento
|
|
4
|
-
|
|
5
|
-
Para desenvolver novos *schematics* ou alterá-los é necessário executar o comando abaixo na raiz do projeto:
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
~ <caminho_do_repositorio>/po-angular
|
|
9
|
-
> npm run build:schematics
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
Após executar o comando será criada a pasta `dist/ng-schematics` e você estará apto a utilizar a biblioteca
|
|
13
|
-
em modo de desenvolvimento para implementar novas melhorias/correções e etc.
|
|
14
|
-
|
|
15
|
-
## Como testar
|
|
16
|
-
|
|
17
|
-
Há duas possibilidades para execução de testes para os novos *schematics*:
|
|
18
|
-
|
|
19
|
-
### 1 - npm link
|
|
20
|
-
|
|
21
|
-
O comando **npm link** criará um link simbólico do pacote que deseja testar dentro do `node_modules` da aplicação. Desta forma, é possível executar *schematics* do `po-code-editor` diretamente em `./projects/app/src/app`.
|
|
22
|
-
|
|
23
|
-
Primeiramente, é necessário alterar em `angular.json`:
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
...
|
|
27
|
-
"defaultProject": "app"
|
|
28
|
-
...
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
Executar o build do projeto `po-code-editor`:
|
|
32
|
-
|
|
33
|
-
```
|
|
34
|
-
> npm run build:code-editor
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
Agora executaremos o comando de link:
|
|
38
|
-
|
|
39
|
-
```
|
|
40
|
-
> npm link dist/ng-code-editor
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
Por fim, executando o comando abaixo, o pacote do `po-code-editor` será instalado e também será adicionado o módulo `PoCodeEditorModule` em `app.module.ts`:
|
|
44
|
-
|
|
45
|
-
```
|
|
46
|
-
> ng generate @po-ui/ng-code-editor:ng-add
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
> Pra remover posteriormente o pacote `po-code-editor` do `node_modules` execute `npm uninstall @po-ui/ng-code-editor`.
|
|
50
|
-
### 2 - verdaccio
|
|
51
|
-
|
|
52
|
-
Para poder testar localmente é necessário instalar [verdaccio](https://github.com/verdaccio/verdaccio), para termos um *npm registry* local,
|
|
53
|
-
onde publicaremos os pacotes para realizar o teste.
|
|
54
|
-
|
|
55
|
-
Após a instalação, devemos apontar o npm registry para o que iniciaremos localmente.
|
|
56
|
-
|
|
57
|
-
O comando abaixo subirá o npm local, no endereço http://localhost:4873.
|
|
58
|
-
|
|
59
|
-
```
|
|
60
|
-
> verdaccio
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
Em seguida, definiremos o *npm registry*, conforme o comando abaixo:
|
|
64
|
-
|
|
65
|
-
```
|
|
66
|
-
> npm set registry http://localhost:4873
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
A partir de agora, os pacotes que publicaremos serão enviados ao nosso registry local.
|
|
70
|
-
|
|
71
|
-
> Para utilizar *npm registry* global novamente, execute o comando: `npm set registry https://registry.npmjs.org/`.
|
|
72
|
-
|
|
73
|
-
Antes de testarmos o pacotes, devemos fazer duas configurações, são elas:
|
|
74
|
-
|
|
75
|
-
- Adicionar dentro do arquivo ```verdaccio/config.yaml``` a configuração: `max_body_size: 200mb`;
|
|
76
|
-
- Executar o comando: ``` npm adduser --registry http://localhost:4873 ```
|
|
77
|
-
|
|
78
|
-
Feito isso, podemos realizar o build e a publicação local dos pacotes do `po-code-editor` e também das suas dependências:
|
|
79
|
-
|
|
80
|
-
1 - Publicar o `@po-ui/style` ou fixar a versão do style no `package.json` da raiz.
|
|
81
|
-
|
|
82
|
-
2 - Publicação dos pacotes do `po-angular` no Verdaccio.
|
|
83
|
-
|
|
84
|
-
```
|
|
85
|
-
> npm run build && npm run publish:local
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
3 - Adicionar a tag na versão latest do `po-code-editor`:
|
|
89
|
-
|
|
90
|
-
```
|
|
91
|
-
> npm dist-tags add @po-ui/ng-code-editor@version
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
4 - Por fim, execute o comando abaixo no seu projeto Angular:
|
|
95
|
-
|
|
96
|
-
```
|
|
97
|
-
> ng add @po-ui/ng-code-editor
|
|
98
|
-
```
|
|
1
|
+
# PO UI Code Editor
|
|
2
|
+
|
|
3
|
+
## Modo desenvolvimento
|
|
4
|
+
|
|
5
|
+
Para desenvolver novos *schematics* ou alterá-los é necessário executar o comando abaixo na raiz do projeto:
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
~ <caminho_do_repositorio>/po-angular
|
|
9
|
+
> npm run build:schematics
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Após executar o comando será criada a pasta `dist/ng-schematics` e você estará apto a utilizar a biblioteca
|
|
13
|
+
em modo de desenvolvimento para implementar novas melhorias/correções e etc.
|
|
14
|
+
|
|
15
|
+
## Como testar
|
|
16
|
+
|
|
17
|
+
Há duas possibilidades para execução de testes para os novos *schematics*:
|
|
18
|
+
|
|
19
|
+
### 1 - npm link
|
|
20
|
+
|
|
21
|
+
O comando **npm link** criará um link simbólico do pacote que deseja testar dentro do `node_modules` da aplicação. Desta forma, é possível executar *schematics* do `po-code-editor` diretamente em `./projects/app/src/app`.
|
|
22
|
+
|
|
23
|
+
Primeiramente, é necessário alterar em `angular.json`:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
...
|
|
27
|
+
"defaultProject": "app"
|
|
28
|
+
...
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Executar o build do projeto `po-code-editor`:
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
> npm run build:code-editor
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Agora executaremos o comando de link:
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
> npm link dist/ng-code-editor
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Por fim, executando o comando abaixo, o pacote do `po-code-editor` será instalado e também será adicionado o módulo `PoCodeEditorModule` em `app.module.ts`:
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
> ng generate @po-ui/ng-code-editor:ng-add
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
> Pra remover posteriormente o pacote `po-code-editor` do `node_modules` execute `npm uninstall @po-ui/ng-code-editor`.
|
|
50
|
+
### 2 - verdaccio
|
|
51
|
+
|
|
52
|
+
Para poder testar localmente é necessário instalar [verdaccio](https://github.com/verdaccio/verdaccio), para termos um *npm registry* local,
|
|
53
|
+
onde publicaremos os pacotes para realizar o teste.
|
|
54
|
+
|
|
55
|
+
Após a instalação, devemos apontar o npm registry para o que iniciaremos localmente.
|
|
56
|
+
|
|
57
|
+
O comando abaixo subirá o npm local, no endereço http://localhost:4873.
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
> verdaccio
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Em seguida, definiremos o *npm registry*, conforme o comando abaixo:
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
> npm set registry http://localhost:4873
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
A partir de agora, os pacotes que publicaremos serão enviados ao nosso registry local.
|
|
70
|
+
|
|
71
|
+
> Para utilizar *npm registry* global novamente, execute o comando: `npm set registry https://registry.npmjs.org/`.
|
|
72
|
+
|
|
73
|
+
Antes de testarmos o pacotes, devemos fazer duas configurações, são elas:
|
|
74
|
+
|
|
75
|
+
- Adicionar dentro do arquivo ```verdaccio/config.yaml``` a configuração: `max_body_size: 200mb`;
|
|
76
|
+
- Executar o comando: ``` npm adduser --registry http://localhost:4873 ```
|
|
77
|
+
|
|
78
|
+
Feito isso, podemos realizar o build e a publicação local dos pacotes do `po-code-editor` e também das suas dependências:
|
|
79
|
+
|
|
80
|
+
1 - Publicar o `@po-ui/style` ou fixar a versão do style no `package.json` da raiz.
|
|
81
|
+
|
|
82
|
+
2 - Publicação dos pacotes do `po-angular` no Verdaccio.
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
> npm run build && npm run publish:local
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
3 - Adicionar a tag na versão latest do `po-code-editor`:
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
> npm dist-tags add @po-ui/ng-code-editor@version
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
4 - Por fim, execute o comando abaixo no seu projeto Angular:
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
> ng add @po-ui/ng-code-editor
|
|
98
|
+
```
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "../../../node_modules/@angular-devkit/schematics/collection-schema.json",
|
|
3
|
-
"schematics": {
|
|
4
|
-
"ng-add": {
|
|
5
|
-
"description": "Add my library to the project.",
|
|
6
|
-
"factory": "./ng-add/index",
|
|
7
|
-
"schema": "./ng-add/schema.json"
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../../node_modules/@angular-devkit/schematics/collection-schema.json",
|
|
3
|
+
"schematics": {
|
|
4
|
+
"ng-add": {
|
|
5
|
+
"description": "Add my library to the project.",
|
|
6
|
+
"factory": "./ng-add/index",
|
|
7
|
+
"schema": "./ng-add/schema.json"
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -31,7 +31,7 @@ function default_1(options) {
|
|
|
31
31
|
exports.default = default_1;
|
|
32
32
|
function addPoPackageAndInstall() {
|
|
33
33
|
return (tree, context) => {
|
|
34
|
-
(0, package_config_1.addPackageToPackageJson)(tree, '@po-ui/ng-code-editor', '16.
|
|
34
|
+
(0, package_config_1.addPackageToPackageJson)(tree, '@po-ui/ng-code-editor', '16.2.0');
|
|
35
35
|
// install packages
|
|
36
36
|
context.addTask(new tasks_1.NodePackageInstallTask());
|
|
37
37
|
};
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "http://json-schema.org/schema",
|
|
3
|
-
"$id": "SchematicsNgAdd",
|
|
4
|
-
"title": "Ng Add Options Schema",
|
|
5
|
-
"type": "object",
|
|
6
|
-
"properties": {
|
|
7
|
-
"project": {
|
|
8
|
-
"type": "string",
|
|
9
|
-
"description": "Name of the project.",
|
|
10
|
-
"$default": {
|
|
11
|
-
"$source": "projectName"
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
},
|
|
15
|
-
"required": []
|
|
16
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "SchematicsNgAdd",
|
|
4
|
+
"title": "Ng Add Options Schema",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"project": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "Name of the project.",
|
|
10
|
+
"$default": {
|
|
11
|
+
"$source": "projectName"
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"required": []
|
|
16
|
+
}
|
|
Binary file
|