@payloadcms/richtext-lexical 0.1.0-beta.3 → 0.1.0-beta.4
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 +28 -0
- package/dist/field/features/Blocks/afterReadPromise.d.ts.map +1 -1
- package/dist/field/features/Blocks/afterReadPromise.js +4 -3
- package/dist/field/features/Blocks/component/index.scss +5 -0
- package/dist/field/features/Link/afterReadPromise.d.ts.map +1 -1
- package/dist/field/features/Link/afterReadPromise.js +6 -5
- package/dist/field/features/Link/index.d.ts.map +1 -1
- package/dist/field/features/Link/index.js +1 -1
- package/dist/field/features/Link/nodes/LinkNode.d.ts +4 -2
- package/dist/field/features/Link/nodes/LinkNode.d.ts.map +1 -1
- package/dist/field/features/Link/nodes/LinkNode.js +1 -41
- package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -1
- package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.js +14 -5
- package/dist/field/features/Relationship/afterReadPromise.js +6 -6
- package/dist/field/features/Relationship/drawer/index.d.ts.map +1 -1
- package/dist/field/features/Relationship/drawer/index.js +9 -7
- package/dist/field/features/Relationship/index.d.ts.map +1 -1
- package/dist/field/features/Relationship/index.js +1 -1
- package/dist/field/features/Relationship/nodes/RelationshipNode.d.ts +12 -12
- package/dist/field/features/Relationship/nodes/RelationshipNode.d.ts.map +1 -1
- package/dist/field/features/Relationship/nodes/RelationshipNode.js +25 -20
- package/dist/field/features/Relationship/nodes/components/RelationshipComponent.d.ts +2 -2
- package/dist/field/features/Relationship/nodes/components/RelationshipComponent.d.ts.map +1 -1
- package/dist/field/features/Relationship/nodes/components/RelationshipComponent.js +2 -2
- package/dist/field/features/Relationship/plugins/index.d.ts +2 -2
- package/dist/field/features/Relationship/plugins/index.d.ts.map +1 -1
- package/dist/field/features/Relationship/plugins/index.js +1 -1
- package/dist/field/features/Upload/afterReadPromise.d.ts.map +1 -1
- package/dist/field/features/Upload/afterReadPromise.js +10 -9
- package/dist/field/features/Upload/component/ExtraFieldsDrawer/index.d.ts.map +1 -1
- package/dist/field/features/Upload/component/ExtraFieldsDrawer/index.js +6 -6
- package/dist/field/features/Upload/component/index.d.ts +2 -2
- package/dist/field/features/Upload/component/index.d.ts.map +1 -1
- package/dist/field/features/Upload/component/index.js +2 -2
- package/dist/field/features/Upload/drawer/index.d.ts.map +1 -1
- package/dist/field/features/Upload/drawer/index.js +4 -2
- package/dist/field/features/Upload/index.d.ts.map +1 -1
- package/dist/field/features/Upload/index.js +6 -2
- package/dist/field/features/Upload/nodes/UploadNode.d.ts +15 -12
- package/dist/field/features/Upload/nodes/UploadNode.d.ts.map +1 -1
- package/dist/field/features/Upload/nodes/UploadNode.js +19 -14
- package/dist/field/features/Upload/plugin/index.d.ts.map +1 -1
- package/dist/field/features/Upload/plugin/index.js +3 -2
- package/dist/field/features/Upload/validate.d.ts +4 -0
- package/dist/field/features/Upload/validate.d.ts.map +1 -0
- package/dist/field/features/Upload/validate.js +29 -0
- package/dist/field/features/types.d.ts +2 -1
- package/dist/field/features/types.d.ts.map +1 -1
- package/dist/field/lexical/config/default.d.ts +4 -0
- package/dist/field/lexical/config/default.d.ts.map +1 -1
- package/dist/field/lexical/config/default.js +33 -25
- package/dist/field/lexical/ui/ContentEditable.scss +5 -0
- package/dist/field/lexical/utils/cloneDeep.d.ts +1 -1
- package/dist/field/lexical/utils/cloneDeep.d.ts.map +1 -1
- package/dist/field/lexical/utils/cloneDeep.js +27 -9
- package/dist/index.d.ts +11 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -3
- package/dist/populate/recurseNestedFields.d.ts +2 -1
- package/dist/populate/recurseNestedFields.d.ts.map +1 -1
- package/dist/populate/recurseNestedFields.js +28 -25
- package/dist/populate/richTextRelationshipPromise.d.ts +2 -1
- package/dist/populate/richTextRelationshipPromise.d.ts.map +1 -1
- package/dist/populate/richTextRelationshipPromise.js +8 -5
- package/dist/validate/validateNodes.d.ts.map +1 -1
- package/dist/validate/validateNodes.js +1 -1
- package/package.json +3 -3
- package/src/index.ts +42 -11
package/README.md
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Payload Lexical Rich Text Editor
|
|
2
|
+
|
|
3
|
+
Lexical Rich Text Editor for [Payload](https://payloadcms.com).
|
|
4
|
+
|
|
5
|
+
- [Main Repository](https://github.com/payloadcms/payload)
|
|
6
|
+
- [Payload Docs](https://payloadcms.com/docs)
|
|
7
|
+
|
|
8
|
+
## Installation
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
npm install @payloadcms/richtext-lexical
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Usage
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
import { buildConfig } from 'payload/config'
|
|
18
|
+
import { lexicalEditor } from '@payloadcms/richtext-lexical'
|
|
19
|
+
|
|
20
|
+
export default buildConfig({
|
|
21
|
+
editor: lexicalEditor({})
|
|
22
|
+
// ...rest of config
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
More detailed usage can be found in the [Payload Docs](https://payloadcms.com/docs/configuration/overview).
|
|
28
|
+
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"afterReadPromise.d.ts","sourceRoot":"","sources":["../../../../src/field/features/Blocks/afterReadPromise.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,GAAG,CAAA;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAI7D,eAAO,MAAM,wBAAwB,UAC5B,kBAAkB,KACxB,iBAAiB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"afterReadPromise.d.ts","sourceRoot":"","sources":["../../../../src/field/features/Blocks/afterReadPromise.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,GAAG,CAAA;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAI7D,eAAO,MAAM,wBAAwB,UAC5B,kBAAkB,KACxB,iBAAiB,mBAAmB,CAkDtC,CAAA"}
|
|
@@ -11,7 +11,7 @@ Object.defineProperty(exports, "blockAfterReadPromiseHOC", {
|
|
|
11
11
|
const _config = require("payload/config");
|
|
12
12
|
const _recurseNestedFields = require("../../../populate/recurseNestedFields");
|
|
13
13
|
const blockAfterReadPromiseHOC = (props)=>{
|
|
14
|
-
const blockAfterReadPromise = ({ afterReadPromises, currentDepth, depth, field, node, overrideAccess, req, showHiddenFields })=>{
|
|
14
|
+
const blockAfterReadPromise = ({ afterReadPromises, currentDepth, depth, field, node, overrideAccess, req, showHiddenFields, siblingDoc })=>{
|
|
15
15
|
const promises = [];
|
|
16
16
|
// Sanitize block's fields here. This is done here and not in the feature, because the payload config is available here
|
|
17
17
|
const payloadConfig = req.payload.config;
|
|
@@ -39,7 +39,8 @@ const blockAfterReadPromiseHOC = (props)=>{
|
|
|
39
39
|
overrideAccess,
|
|
40
40
|
promises,
|
|
41
41
|
req,
|
|
42
|
-
showHiddenFields
|
|
42
|
+
showHiddenFields,
|
|
43
|
+
siblingDoc
|
|
43
44
|
});
|
|
44
45
|
}
|
|
45
46
|
});
|
|
@@ -49,4 +50,4 @@ const blockAfterReadPromiseHOC = (props)=>{
|
|
|
49
50
|
return blockAfterReadPromise;
|
|
50
51
|
};
|
|
51
52
|
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9CbG9ja3MvYWZ0ZXJSZWFkUHJvbWlzZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzYW5pdGl6ZUZpZWxkcyB9IGZyb20gJ3BheWxvYWQvY29uZmlnJ1xuXG5pbXBvcnQgdHlwZSB7IEJsb2Nrc0ZlYXR1cmVQcm9wcyB9IGZyb20gJy4nXG5pbXBvcnQgdHlwZSB7IEFmdGVyUmVhZFByb21pc2UgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB0eXBlIHsgU2VyaWFsaXplZEJsb2NrTm9kZSB9IGZyb20gJy4vbm9kZXMvQmxvY2tzTm9kZSdcblxuaW1wb3J0IHsgcmVjdXJzZU5lc3RlZEZpZWxkcyB9IGZyb20gJy4uLy4uLy4uL3BvcHVsYXRlL3JlY3Vyc2VOZXN0ZWRGaWVsZHMnXG5cbmV4cG9ydCBjb25zdCBibG9ja0FmdGVyUmVhZFByb21pc2VIT0MgPSAoXG4gIHByb3BzOiBCbG9ja3NGZWF0dXJlUHJvcHMsXG4pOiBBZnRlclJlYWRQcm9taXNlPFNlcmlhbGl6ZWRCbG9ja05vZGU+ID0+IHtcbiAgY29uc3QgYmxvY2tBZnRlclJlYWRQcm9taXNlOiBBZnRlclJlYWRQcm9taXNlPFNlcmlhbGl6ZWRCbG9ja05vZGU+
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9CbG9ja3MvYWZ0ZXJSZWFkUHJvbWlzZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzYW5pdGl6ZUZpZWxkcyB9IGZyb20gJ3BheWxvYWQvY29uZmlnJ1xuXG5pbXBvcnQgdHlwZSB7IEJsb2Nrc0ZlYXR1cmVQcm9wcyB9IGZyb20gJy4nXG5pbXBvcnQgdHlwZSB7IEFmdGVyUmVhZFByb21pc2UgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB0eXBlIHsgU2VyaWFsaXplZEJsb2NrTm9kZSB9IGZyb20gJy4vbm9kZXMvQmxvY2tzTm9kZSdcblxuaW1wb3J0IHsgcmVjdXJzZU5lc3RlZEZpZWxkcyB9IGZyb20gJy4uLy4uLy4uL3BvcHVsYXRlL3JlY3Vyc2VOZXN0ZWRGaWVsZHMnXG5cbmV4cG9ydCBjb25zdCBibG9ja0FmdGVyUmVhZFByb21pc2VIT0MgPSAoXG4gIHByb3BzOiBCbG9ja3NGZWF0dXJlUHJvcHMsXG4pOiBBZnRlclJlYWRQcm9taXNlPFNlcmlhbGl6ZWRCbG9ja05vZGU+ID0+IHtcbiAgY29uc3QgYmxvY2tBZnRlclJlYWRQcm9taXNlOiBBZnRlclJlYWRQcm9taXNlPFNlcmlhbGl6ZWRCbG9ja05vZGU+ID0gKHtcbiAgICBhZnRlclJlYWRQcm9taXNlcyxcbiAgICBjdXJyZW50RGVwdGgsXG4gICAgZGVwdGgsXG4gICAgZmllbGQsXG4gICAgbm9kZSxcbiAgICBvdmVycmlkZUFjY2VzcyxcbiAgICByZXEsXG4gICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICBzaWJsaW5nRG9jLFxuICB9KSA9PiB7XG4gICAgY29uc3QgcHJvbWlzZXM6IFByb21pc2U8dm9pZD5bXSA9IFtdXG5cbiAgICAvLyBTYW5pdGl6ZSBibG9jaydzIGZpZWxkcyBoZXJlLiBUaGlzIGlzIGRvbmUgaGVyZSBhbmQgbm90IGluIHRoZSBmZWF0dXJlLCBiZWNhdXNlIHRoZSBwYXlsb2FkIGNvbmZpZyBpcyBhdmFpbGFibGUgaGVyZVxuICAgIGNvbnN0IHBheWxvYWRDb25maWcgPSByZXEucGF5bG9hZC5jb25maWdcbiAgICBjb25zdCB2YWxpZFJlbGF0aW9uc2hpcHMgPSBwYXlsb2FkQ29uZmlnLmNvbGxlY3Rpb25zLm1hcCgoYykgPT4gYy5zbHVnKSB8fCBbXVxuICAgIHByb3BzLmJsb2NrcyA9IHByb3BzLmJsb2Nrcy5tYXAoKGJsb2NrKSA9PiB7XG4gICAgICBjb25zdCB1bnNhbml0aXplZEJsb2NrID0geyAuLi5ibG9jayB9XG4gICAgICB1bnNhbml0aXplZEJsb2NrLmZpZWxkcyA9IHNhbml0aXplRmllbGRzKHtcbiAgICAgICAgY29uZmlnOiBwYXlsb2FkQ29uZmlnLFxuICAgICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgdmFsaWRSZWxhdGlvbnNoaXBzLFxuICAgICAgfSlcbiAgICAgIHJldHVybiB1bnNhbml0aXplZEJsb2NrXG4gICAgfSlcblxuICAgIGlmIChBcnJheS5pc0FycmF5KHByb3BzLmJsb2NrcykpIHtcbiAgICAgIHByb3BzLmJsb2Nrcy5mb3JFYWNoKChibG9jaykgPT4ge1xuICAgICAgICBpZiAoYmxvY2s/LmZpZWxkcykge1xuICAgICAgICAgIHJlY3Vyc2VOZXN0ZWRGaWVsZHMoe1xuICAgICAgICAgICAgYWZ0ZXJSZWFkUHJvbWlzZXMsXG4gICAgICAgICAgICBjdXJyZW50RGVwdGgsXG4gICAgICAgICAgICBkYXRhOiBub2RlLmZpZWxkcy5kYXRhIHx8IHt9LFxuICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgICAgICAgcHJvbWlzZXMsXG4gICAgICAgICAgICByZXEsXG4gICAgICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICAgICAgc2libGluZ0RvYyxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cblxuICAgIHJldHVybiBwcm9taXNlc1xuICB9XG5cbiAgcmV0dXJuIGJsb2NrQWZ0ZXJSZWFkUHJvbWlzZVxufVxuIl0sIm5hbWVzIjpbImJsb2NrQWZ0ZXJSZWFkUHJvbWlzZUhPQyIsInByb3BzIiwiYmxvY2tBZnRlclJlYWRQcm9taXNlIiwiYWZ0ZXJSZWFkUHJvbWlzZXMiLCJjdXJyZW50RGVwdGgiLCJkZXB0aCIsImZpZWxkIiwibm9kZSIsIm92ZXJyaWRlQWNjZXNzIiwicmVxIiwic2hvd0hpZGRlbkZpZWxkcyIsInNpYmxpbmdEb2MiLCJwcm9taXNlcyIsInBheWxvYWRDb25maWciLCJwYXlsb2FkIiwiY29uZmlnIiwidmFsaWRSZWxhdGlvbnNoaXBzIiwiY29sbGVjdGlvbnMiLCJtYXAiLCJjIiwic2x1ZyIsImJsb2NrcyIsImJsb2NrIiwidW5zYW5pdGl6ZWRCbG9jayIsImZpZWxkcyIsInNhbml0aXplRmllbGRzIiwiQXJyYXkiLCJpc0FycmF5IiwiZm9yRWFjaCIsInJlY3Vyc2VOZXN0ZWRGaWVsZHMiLCJkYXRhIl0sIm1hcHBpbmdzIjoiOzs7OytCQVFhQTs7O2VBQUFBOzs7d0JBUmtCO3FDQU1LO0FBRTdCLE1BQU1BLDJCQUEyQixDQUN0Q0M7SUFFQSxNQUFNQyx3QkFBK0QsQ0FBQyxFQUNwRUMsaUJBQWlCLEVBQ2pCQyxZQUFZLEVBQ1pDLEtBQUssRUFDTEMsS0FBSyxFQUNMQyxJQUFJLEVBQ0pDLGNBQWMsRUFDZEMsR0FBRyxFQUNIQyxnQkFBZ0IsRUFDaEJDLFVBQVUsRUFDWDtRQUNDLE1BQU1DLFdBQTRCLEVBQUU7UUFFcEMsdUhBQXVIO1FBQ3ZILE1BQU1DLGdCQUFnQkosSUFBSUssT0FBTyxDQUFDQyxNQUFNO1FBQ3hDLE1BQU1DLHFCQUFxQkgsY0FBY0ksV0FBVyxDQUFDQyxHQUFHLENBQUMsQ0FBQ0MsSUFBTUEsRUFBRUMsSUFBSSxLQUFLLEVBQUU7UUFDN0VuQixNQUFNb0IsTUFBTSxHQUFHcEIsTUFBTW9CLE1BQU0sQ0FBQ0gsR0FBRyxDQUFDLENBQUNJO1lBQy9CLE1BQU1DLG1CQUFtQjtnQkFBRSxHQUFHRCxLQUFLO1lBQUM7WUFDcENDLGlCQUFpQkMsTUFBTSxHQUFHQyxJQUFBQSxzQkFBYyxFQUFDO2dCQUN2Q1YsUUFBUUY7Z0JBQ1JXLFFBQVFGLE1BQU1FLE1BQU07Z0JBQ3BCUjtZQUNGO1lBQ0EsT0FBT087UUFDVDtRQUVBLElBQUlHLE1BQU1DLE9BQU8sQ0FBQzFCLE1BQU1vQixNQUFNLEdBQUc7WUFDL0JwQixNQUFNb0IsTUFBTSxDQUFDTyxPQUFPLENBQUMsQ0FBQ047Z0JBQ3BCLElBQUlBLE9BQU9FLFFBQVE7b0JBQ2pCSyxJQUFBQSx3Q0FBbUIsRUFBQzt3QkFDbEIxQjt3QkFDQUM7d0JBQ0EwQixNQUFNdkIsS0FBS2lCLE1BQU0sQ0FBQ00sSUFBSSxJQUFJLENBQUM7d0JBQzNCekI7d0JBQ0FtQixRQUFRRixNQUFNRSxNQUFNO3dCQUNwQmhCO3dCQUNBSTt3QkFDQUg7d0JBQ0FDO3dCQUNBQztvQkFDRjtnQkFDRjtZQUNGO1FBQ0Y7UUFFQSxPQUFPQztJQUNUO0lBRUEsT0FBT1Y7QUFDVCJ9
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
@import 'payload/scss';
|
|
2
2
|
|
|
3
|
+
.ContentEditable__root > div:has(.lexical-block) {
|
|
4
|
+
// Fixes a bug where, if the block field has a Select field, the Select field's dropdown menu would be hidden behind the lexical editor.
|
|
5
|
+
z-index: 1;
|
|
6
|
+
}
|
|
7
|
+
|
|
3
8
|
.lexical-block {
|
|
4
9
|
display: flex;
|
|
5
10
|
flex-direction: column;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"afterReadPromise.d.ts","sourceRoot":"","sources":["../../../../src/field/features/Link/afterReadPromise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,GAAG,CAAA;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAK1D,eAAO,MAAM,uBAAuB,UAC3B,gBAAgB,KACtB,iBAAiB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"afterReadPromise.d.ts","sourceRoot":"","sources":["../../../../src/field/features/Link/afterReadPromise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,GAAG,CAAA;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAK1D,eAAO,MAAM,uBAAuB,UAC3B,gBAAgB,KACtB,iBAAiB,kBAAkB,CAoDrC,CAAA"}
|
|
@@ -11,13 +11,13 @@ Object.defineProperty(exports, "linkAfterReadPromiseHOC", {
|
|
|
11
11
|
const _populate = require("../../../populate/populate");
|
|
12
12
|
const _recurseNestedFields = require("../../../populate/recurseNestedFields");
|
|
13
13
|
const linkAfterReadPromiseHOC = (props)=>{
|
|
14
|
-
const linkAfterReadPromise = ({ afterReadPromises, currentDepth, depth, field, node, overrideAccess, req, showHiddenFields })=>{
|
|
14
|
+
const linkAfterReadPromise = ({ afterReadPromises, currentDepth, depth, field, node, overrideAccess, req, showHiddenFields, siblingDoc })=>{
|
|
15
15
|
const promises = [];
|
|
16
|
-
if (node?.fields?.doc?.value && node?.fields?.doc?.relationTo) {
|
|
16
|
+
if (node?.fields?.doc?.value?.id && node?.fields?.doc?.relationTo) {
|
|
17
17
|
const collection = req.payload.collections[node?.fields?.doc?.relationTo];
|
|
18
18
|
if (collection) {
|
|
19
19
|
promises.push((0, _populate.populate)({
|
|
20
|
-
id: node?.fields?.doc
|
|
20
|
+
id: node?.fields?.doc?.value?.id,
|
|
21
21
|
collection,
|
|
22
22
|
currentDepth,
|
|
23
23
|
data: node?.fields?.doc,
|
|
@@ -40,7 +40,8 @@ const linkAfterReadPromiseHOC = (props)=>{
|
|
|
40
40
|
overrideAccess,
|
|
41
41
|
promises,
|
|
42
42
|
req,
|
|
43
|
-
showHiddenFields
|
|
43
|
+
showHiddenFields,
|
|
44
|
+
siblingDoc
|
|
44
45
|
});
|
|
45
46
|
}
|
|
46
47
|
return promises;
|
|
@@ -48,4 +49,4 @@ const linkAfterReadPromiseHOC = (props)=>{
|
|
|
48
49
|
return linkAfterReadPromise;
|
|
49
50
|
};
|
|
50
51
|
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9MaW5rL2FmdGVyUmVhZFByb21pc2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaW5rRmVhdHVyZVByb3BzIH0gZnJvbSAnLidcbmltcG9ydCB0eXBlIHsgQWZ0ZXJSZWFkUHJvbWlzZSB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTZXJpYWxpemVkTGlua05vZGUgfSBmcm9tICcuL25vZGVzL0xpbmtOb2RlJ1xuXG5pbXBvcnQgeyBwb3B1bGF0ZSB9IGZyb20gJy4uLy4uLy4uL3BvcHVsYXRlL3BvcHVsYXRlJ1xuaW1wb3J0IHsgcmVjdXJzZU5lc3RlZEZpZWxkcyB9IGZyb20gJy4uLy4uLy4uL3BvcHVsYXRlL3JlY3Vyc2VOZXN0ZWRGaWVsZHMnXG5cbmV4cG9ydCBjb25zdCBsaW5rQWZ0ZXJSZWFkUHJvbWlzZUhPQyA9IChcbiAgcHJvcHM6IExpbmtGZWF0dXJlUHJvcHMsXG4pOiBBZnRlclJlYWRQcm9taXNlPFNlcmlhbGl6ZWRMaW5rTm9kZT4gPT4ge1xuICBjb25zdCBsaW5rQWZ0ZXJSZWFkUHJvbWlzZTogQWZ0ZXJSZWFkUHJvbWlzZTxTZXJpYWxpemVkTGlua05vZGU+
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9MaW5rL2FmdGVyUmVhZFByb21pc2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaW5rRmVhdHVyZVByb3BzIH0gZnJvbSAnLidcbmltcG9ydCB0eXBlIHsgQWZ0ZXJSZWFkUHJvbWlzZSB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTZXJpYWxpemVkTGlua05vZGUgfSBmcm9tICcuL25vZGVzL0xpbmtOb2RlJ1xuXG5pbXBvcnQgeyBwb3B1bGF0ZSB9IGZyb20gJy4uLy4uLy4uL3BvcHVsYXRlL3BvcHVsYXRlJ1xuaW1wb3J0IHsgcmVjdXJzZU5lc3RlZEZpZWxkcyB9IGZyb20gJy4uLy4uLy4uL3BvcHVsYXRlL3JlY3Vyc2VOZXN0ZWRGaWVsZHMnXG5cbmV4cG9ydCBjb25zdCBsaW5rQWZ0ZXJSZWFkUHJvbWlzZUhPQyA9IChcbiAgcHJvcHM6IExpbmtGZWF0dXJlUHJvcHMsXG4pOiBBZnRlclJlYWRQcm9taXNlPFNlcmlhbGl6ZWRMaW5rTm9kZT4gPT4ge1xuICBjb25zdCBsaW5rQWZ0ZXJSZWFkUHJvbWlzZTogQWZ0ZXJSZWFkUHJvbWlzZTxTZXJpYWxpemVkTGlua05vZGU+ID0gKHtcbiAgICBhZnRlclJlYWRQcm9taXNlcyxcbiAgICBjdXJyZW50RGVwdGgsXG4gICAgZGVwdGgsXG4gICAgZmllbGQsXG4gICAgbm9kZSxcbiAgICBvdmVycmlkZUFjY2VzcyxcbiAgICByZXEsXG4gICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICBzaWJsaW5nRG9jLFxuICB9KSA9PiB7XG4gICAgY29uc3QgcHJvbWlzZXM6IFByb21pc2U8dm9pZD5bXSA9IFtdXG5cbiAgICBpZiAobm9kZT8uZmllbGRzPy5kb2M/LnZhbHVlPy5pZCAmJiBub2RlPy5maWVsZHM/LmRvYz8ucmVsYXRpb25Ubykge1xuICAgICAgY29uc3QgY29sbGVjdGlvbiA9IHJlcS5wYXlsb2FkLmNvbGxlY3Rpb25zW25vZGU/LmZpZWxkcz8uZG9jPy5yZWxhdGlvblRvXVxuXG4gICAgICBpZiAoY29sbGVjdGlvbikge1xuICAgICAgICBwcm9taXNlcy5wdXNoKFxuICAgICAgICAgIHBvcHVsYXRlKHtcbiAgICAgICAgICAgIGlkOiBub2RlPy5maWVsZHM/LmRvYz8udmFsdWU/LmlkLFxuICAgICAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgICAgIGRhdGE6IG5vZGU/LmZpZWxkcz8uZG9jLFxuICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIGtleTogJ3ZhbHVlJyxcbiAgICAgICAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheShwcm9wcy5maWVsZHMpKSB7XG4gICAgICByZWN1cnNlTmVzdGVkRmllbGRzKHtcbiAgICAgICAgYWZ0ZXJSZWFkUHJvbWlzZXMsXG4gICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgZGF0YTogbm9kZS5maWVsZHMgfHwge30sXG4gICAgICAgIGRlcHRoLFxuICAgICAgICBmaWVsZHM6IHByb3BzLmZpZWxkcyxcbiAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgIHByb21pc2VzLFxuICAgICAgICByZXEsXG4gICAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICAgIHNpYmxpbmdEb2MsXG4gICAgICB9KVxuICAgIH1cbiAgICByZXR1cm4gcHJvbWlzZXNcbiAgfVxuXG4gIHJldHVybiBsaW5rQWZ0ZXJSZWFkUHJvbWlzZVxufVxuIl0sIm5hbWVzIjpbImxpbmtBZnRlclJlYWRQcm9taXNlSE9DIiwicHJvcHMiLCJsaW5rQWZ0ZXJSZWFkUHJvbWlzZSIsImFmdGVyUmVhZFByb21pc2VzIiwiY3VycmVudERlcHRoIiwiZGVwdGgiLCJmaWVsZCIsIm5vZGUiLCJvdmVycmlkZUFjY2VzcyIsInJlcSIsInNob3dIaWRkZW5GaWVsZHMiLCJzaWJsaW5nRG9jIiwicHJvbWlzZXMiLCJmaWVsZHMiLCJkb2MiLCJ2YWx1ZSIsImlkIiwicmVsYXRpb25UbyIsImNvbGxlY3Rpb24iLCJwYXlsb2FkIiwiY29sbGVjdGlvbnMiLCJwdXNoIiwicG9wdWxhdGUiLCJkYXRhIiwia2V5IiwiQXJyYXkiLCJpc0FycmF5IiwicmVjdXJzZU5lc3RlZEZpZWxkcyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFPYUE7OztlQUFBQTs7OzBCQUhZO3FDQUNXO0FBRTdCLE1BQU1BLDBCQUEwQixDQUNyQ0M7SUFFQSxNQUFNQyx1QkFBNkQsQ0FBQyxFQUNsRUMsaUJBQWlCLEVBQ2pCQyxZQUFZLEVBQ1pDLEtBQUssRUFDTEMsS0FBSyxFQUNMQyxJQUFJLEVBQ0pDLGNBQWMsRUFDZEMsR0FBRyxFQUNIQyxnQkFBZ0IsRUFDaEJDLFVBQVUsRUFDWDtRQUNDLE1BQU1DLFdBQTRCLEVBQUU7UUFFcEMsSUFBSUwsTUFBTU0sUUFBUUMsS0FBS0MsT0FBT0MsTUFBTVQsTUFBTU0sUUFBUUMsS0FBS0csWUFBWTtZQUNqRSxNQUFNQyxhQUFhVCxJQUFJVSxPQUFPLENBQUNDLFdBQVcsQ0FBQ2IsTUFBTU0sUUFBUUMsS0FBS0csV0FBVztZQUV6RSxJQUFJQyxZQUFZO2dCQUNkTixTQUFTUyxJQUFJLENBQ1hDLElBQUFBLGtCQUFRLEVBQUM7b0JBQ1BOLElBQUlULE1BQU1NLFFBQVFDLEtBQUtDLE9BQU9DO29CQUM5QkU7b0JBQ0FkO29CQUNBbUIsTUFBTWhCLE1BQU1NLFFBQVFDO29CQUNwQlQ7b0JBQ0FDO29CQUNBa0IsS0FBSztvQkFDTGhCO29CQUNBQztvQkFDQUM7Z0JBQ0Y7WUFFSjtRQUNGO1FBQ0EsSUFBSWUsTUFBTUMsT0FBTyxDQUFDekIsTUFBTVksTUFBTSxHQUFHO1lBQy9CYyxJQUFBQSx3Q0FBbUIsRUFBQztnQkFDbEJ4QjtnQkFDQUM7Z0JBQ0FtQixNQUFNaEIsS0FBS00sTUFBTSxJQUFJLENBQUM7Z0JBQ3RCUjtnQkFDQVEsUUFBUVosTUFBTVksTUFBTTtnQkFDcEJMO2dCQUNBSTtnQkFDQUg7Z0JBQ0FDO2dCQUNBQztZQUNGO1FBQ0Y7UUFDQSxPQUFPQztJQUNUO0lBRUEsT0FBT1Y7QUFDVCJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/field/features/Link/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAO1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAO/C,OAAO,cAAc,CAAA;AAQrB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,CAAC,EACH,CAAC,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,eAAe,CAAC;QAAC,aAAa,EAAE,KAAK,EAAE,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,KAAK,KAAK,EAAE,CAAC,GACpF,KAAK,EAAE,CAAA;CACZ,CAAA;AACD,eAAO,MAAM,WAAW,UAAW,gBAAgB,KAAG,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/field/features/Link/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAO1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAO/C,OAAO,cAAc,CAAA;AAQrB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,CAAC,EACH,CAAC,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,eAAe,CAAC;QAAC,aAAa,EAAE,KAAK,EAAE,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,KAAK,KAAK,EAAE,CAAC,GACpF,KAAK,EAAE,CAAA;CACZ,CAAA;AACD,eAAO,MAAM,WAAW,UAAW,gBAAgB,KAAG,eAmFrD,CAAA"}
|
|
@@ -114,4 +114,4 @@ const LinkFeature = (props)=>{
|
|
|
114
114
|
};
|
|
115
115
|
};
|
|
116
116
|
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9MaW5rL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IGkxOG4gfSBmcm9tICdpMThuZXh0J1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgTGV4aWNhbENsaWNrYWJsZUxpbmtQbHVnaW4gZnJvbSAnQGxleGljYWwvcmVhY3QvTGV4aWNhbENsaWNrYWJsZUxpbmtQbHVnaW4nXG5pbXBvcnQgeyAkZmluZE1hdGNoaW5nUGFyZW50IH0gZnJvbSAnQGxleGljYWwvdXRpbHMnXG5pbXBvcnQgeyAkZ2V0U2VsZWN0aW9uLCAkaXNSYW5nZVNlbGVjdGlvbiB9IGZyb20gJ2xleGljYWwnXG5pbXBvcnQgeyB3aXRoTWVyZ2VkUHJvcHMgfSBmcm9tICdwYXlsb2FkL2NvbXBvbmVudHMvdXRpbGl0aWVzJ1xuXG5pbXBvcnQgdHlwZSB7IEZlYXR1cmVQcm92aWRlciB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBMaW5rRmllbGRzIH0gZnJvbSAnLi9ub2Rlcy9MaW5rTm9kZSdcblxuaW1wb3J0IHsgTGlua0ljb24gfSBmcm9tICcuLi8uLi9sZXhpY2FsL3VpL2ljb25zL0xpbmsnXG5pbXBvcnQgeyBnZXRTZWxlY3RlZE5vZGUgfSBmcm9tICcuLi8uLi9sZXhpY2FsL3V0aWxzL2dldFNlbGVjdGVkTm9kZSdcbmltcG9ydCB7IEZlYXR1cmVzU2VjdGlvbldpdGhFbnRyaWVzIH0gZnJvbSAnLi4vY29tbW9uL2Zsb2F0aW5nU2VsZWN0VG9vbGJhckZlYXR1cmVzQnV0dG9uc1NlY3Rpb24nXG5pbXBvcnQgeyBsaW5rQWZ0ZXJSZWFkUHJvbWlzZUhPQyB9IGZyb20gJy4vYWZ0ZXJSZWFkUHJvbWlzZSdcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuaW1wb3J0IHsgQXV0b0xpbmtOb2RlIH0gZnJvbSAnLi9ub2Rlcy9BdXRvTGlua05vZGUnXG5pbXBvcnQgeyAkaXNMaW5rTm9kZSwgTGlua05vZGUsIFRPR0dMRV9MSU5LX0NPTU1BTkQgfSBmcm9tICcuL25vZGVzL0xpbmtOb2RlJ1xuaW1wb3J0IHsgQXV0b0xpbmtQbHVnaW4gfSBmcm9tICcuL3BsdWdpbnMvYXV0b0xpbmsnXG5pbXBvcnQgeyBGbG9hdGluZ0xpbmtFZGl0b3JQbHVnaW4gfSBmcm9tICcuL3BsdWdpbnMvZmxvYXRpbmdMaW5rRWRpdG9yJ1xuaW1wb3J0IHsgVE9HR0xFX0xJTktfV0lUSF9NT0RBTF9DT01NQU5EIH0gZnJvbSAnLi9wbHVnaW5zL2Zsb2F0aW5nTGlua0VkaXRvci9MaW5rRWRpdG9yJ1xuaW1wb3J0IHsgTGlua1BsdWdpbiB9IGZyb20gJy4vcGx1Z2lucy9saW5rJ1xuXG5leHBvcnQgdHlwZSBMaW5rRmVhdHVyZVByb3BzID0ge1xuICBmaWVsZHM/OlxuICAgIHwgKChhcmdzOiB7IGNvbmZpZzogU2FuaXRpemVkQ29uZmlnOyBkZWZhdWx0RmllbGRzOiBGaWVsZFtdOyBpMThuOiBpMThuIH0pID0+IEZpZWxkW10pXG4gICAgfCBGaWVsZFtdXG59XG5leHBvcnQgY29uc3QgTGlua0ZlYXR1cmUgPSAocHJvcHM6IExpbmtGZWF0dXJlUHJvcHMpOiBGZWF0dXJlUHJvdmlkZXIgPT4ge1xuICByZXR1cm4ge1xuICAgIGZlYXR1cmU6ICh7IHJlc29sdmVkRmVhdHVyZXMsIHVuc2FuaXRpemVkRWRpdG9yQ29uZmlnIH0pID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZsb2F0aW5nU2VsZWN0VG9vbGJhcjoge1xuICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICBGZWF0dXJlc1NlY3Rpb25XaXRoRW50cmllcyhbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBDaGlsZENvbXBvbmVudDogTGlua0ljb24sXG4gICAgICAgICAgICAgICAgaXNBY3RpdmU6ICh7IGVkaXRvciwgc2VsZWN0aW9uIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmICgkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZSA9IGdldFNlbGVjdGVkTm9kZShzZWxlY3Rpb24pXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpbmtQYXJlbnQgPSAkZmluZE1hdGNoaW5nUGFyZW50KHNlbGVjdGVkTm9kZSwgJGlzTGlua05vZGUpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBsaW5rUGFyZW50ICE9IG51bGxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAga2V5OiAnbGluaycsXG4gICAgICAgICAgICAgICAgbGFiZWw6IGBMaW5rYCxcbiAgICAgICAgICAgICAgICBvbkNsaWNrOiAoeyBlZGl0b3IsIGlzQWN0aXZlIH0pID0+
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9MaW5rL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IGkxOG4gfSBmcm9tICdpMThuZXh0J1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgTGV4aWNhbENsaWNrYWJsZUxpbmtQbHVnaW4gZnJvbSAnQGxleGljYWwvcmVhY3QvTGV4aWNhbENsaWNrYWJsZUxpbmtQbHVnaW4nXG5pbXBvcnQgeyAkZmluZE1hdGNoaW5nUGFyZW50IH0gZnJvbSAnQGxleGljYWwvdXRpbHMnXG5pbXBvcnQgeyAkZ2V0U2VsZWN0aW9uLCAkaXNSYW5nZVNlbGVjdGlvbiB9IGZyb20gJ2xleGljYWwnXG5pbXBvcnQgeyB3aXRoTWVyZ2VkUHJvcHMgfSBmcm9tICdwYXlsb2FkL2NvbXBvbmVudHMvdXRpbGl0aWVzJ1xuXG5pbXBvcnQgdHlwZSB7IEZlYXR1cmVQcm92aWRlciB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBMaW5rRmllbGRzIH0gZnJvbSAnLi9ub2Rlcy9MaW5rTm9kZSdcblxuaW1wb3J0IHsgTGlua0ljb24gfSBmcm9tICcuLi8uLi9sZXhpY2FsL3VpL2ljb25zL0xpbmsnXG5pbXBvcnQgeyBnZXRTZWxlY3RlZE5vZGUgfSBmcm9tICcuLi8uLi9sZXhpY2FsL3V0aWxzL2dldFNlbGVjdGVkTm9kZSdcbmltcG9ydCB7IEZlYXR1cmVzU2VjdGlvbldpdGhFbnRyaWVzIH0gZnJvbSAnLi4vY29tbW9uL2Zsb2F0aW5nU2VsZWN0VG9vbGJhckZlYXR1cmVzQnV0dG9uc1NlY3Rpb24nXG5pbXBvcnQgeyBsaW5rQWZ0ZXJSZWFkUHJvbWlzZUhPQyB9IGZyb20gJy4vYWZ0ZXJSZWFkUHJvbWlzZSdcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuaW1wb3J0IHsgQXV0b0xpbmtOb2RlIH0gZnJvbSAnLi9ub2Rlcy9BdXRvTGlua05vZGUnXG5pbXBvcnQgeyAkaXNMaW5rTm9kZSwgTGlua05vZGUsIFRPR0dMRV9MSU5LX0NPTU1BTkQgfSBmcm9tICcuL25vZGVzL0xpbmtOb2RlJ1xuaW1wb3J0IHsgQXV0b0xpbmtQbHVnaW4gfSBmcm9tICcuL3BsdWdpbnMvYXV0b0xpbmsnXG5pbXBvcnQgeyBGbG9hdGluZ0xpbmtFZGl0b3JQbHVnaW4gfSBmcm9tICcuL3BsdWdpbnMvZmxvYXRpbmdMaW5rRWRpdG9yJ1xuaW1wb3J0IHsgVE9HR0xFX0xJTktfV0lUSF9NT0RBTF9DT01NQU5EIH0gZnJvbSAnLi9wbHVnaW5zL2Zsb2F0aW5nTGlua0VkaXRvci9MaW5rRWRpdG9yJ1xuaW1wb3J0IHsgTGlua1BsdWdpbiB9IGZyb20gJy4vcGx1Z2lucy9saW5rJ1xuXG5leHBvcnQgdHlwZSBMaW5rRmVhdHVyZVByb3BzID0ge1xuICBmaWVsZHM/OlxuICAgIHwgKChhcmdzOiB7IGNvbmZpZzogU2FuaXRpemVkQ29uZmlnOyBkZWZhdWx0RmllbGRzOiBGaWVsZFtdOyBpMThuOiBpMThuIH0pID0+IEZpZWxkW10pXG4gICAgfCBGaWVsZFtdXG59XG5leHBvcnQgY29uc3QgTGlua0ZlYXR1cmUgPSAocHJvcHM6IExpbmtGZWF0dXJlUHJvcHMpOiBGZWF0dXJlUHJvdmlkZXIgPT4ge1xuICByZXR1cm4ge1xuICAgIGZlYXR1cmU6ICh7IHJlc29sdmVkRmVhdHVyZXMsIHVuc2FuaXRpemVkRWRpdG9yQ29uZmlnIH0pID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZsb2F0aW5nU2VsZWN0VG9vbGJhcjoge1xuICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICBGZWF0dXJlc1NlY3Rpb25XaXRoRW50cmllcyhbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBDaGlsZENvbXBvbmVudDogTGlua0ljb24sXG4gICAgICAgICAgICAgICAgaXNBY3RpdmU6ICh7IGVkaXRvciwgc2VsZWN0aW9uIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmICgkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZSA9IGdldFNlbGVjdGVkTm9kZShzZWxlY3Rpb24pXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpbmtQYXJlbnQgPSAkZmluZE1hdGNoaW5nUGFyZW50KHNlbGVjdGVkTm9kZSwgJGlzTGlua05vZGUpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBsaW5rUGFyZW50ICE9IG51bGxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAga2V5OiAnbGluaycsXG4gICAgICAgICAgICAgICAgbGFiZWw6IGBMaW5rYCxcbiAgICAgICAgICAgICAgICBvbkNsaWNrOiAoeyBlZGl0b3IsIGlzQWN0aXZlIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmICghaXNBY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHNlbGVjdGVkVGV4dCA9IG51bGxcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLmdldEVkaXRvclN0YXRlKCkucmVhZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRUZXh0ID0gJGdldFNlbGVjdGlvbigpLmdldFRleHRDb250ZW50KClcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlua0ZpZWxkczogTGlua0ZpZWxkcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICBkb2M6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgbGlua1R5cGU6ICdjdXN0b20nLFxuICAgICAgICAgICAgICAgICAgICAgIG5ld1RhYjogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgdXJsOiAnaHR0cHM6Ly8nLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVkaXRvci5kaXNwYXRjaENvbW1hbmQoVE9HR0xFX0xJTktfV0lUSF9NT0RBTF9DT01NQU5ELCB7XG4gICAgICAgICAgICAgICAgICAgICAgZmllbGRzOiBsaW5rRmllbGRzLFxuICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHNlbGVjdGVkVGV4dCxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHJlbW92ZSBsaW5rXG4gICAgICAgICAgICAgICAgICAgIGVkaXRvci5kaXNwYXRjaENvbW1hbmQoVE9HR0xFX0xJTktfQ09NTUFORCwgbnVsbClcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9yZGVyOiAxLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgbm9kZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhZnRlclJlYWRQcm9taXNlczogW2xpbmtBZnRlclJlYWRQcm9taXNlSE9DKHByb3BzKV0sXG4gICAgICAgICAgICBub2RlOiBMaW5rTm9kZSxcbiAgICAgICAgICAgIHR5cGU6IExpbmtOb2RlLmdldFR5cGUoKSxcbiAgICAgICAgICAgIC8vIFRPRE86IEFkZCB2YWxpZGF0aW9uIHNpbWlsYXIgdG8gdXBsb2FkIGZvciBpbnRlcm5hbCBsaW5rcyBhbmQgZmllbGRzXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBub2RlOiBBdXRvTGlua05vZGUsXG4gICAgICAgICAgICB0eXBlOiBBdXRvTGlua05vZGUuZ2V0VHlwZSgpLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBDb21wb25lbnQ6IExpbmtQbHVnaW4sXG4gICAgICAgICAgICBwb3NpdGlvbjogJ25vcm1hbCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBDb21wb25lbnQ6IEF1dG9MaW5rUGx1Z2luLFxuICAgICAgICAgICAgcG9zaXRpb246ICdub3JtYWwnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgQ29tcG9uZW50OiBMZXhpY2FsQ2xpY2thYmxlTGlua1BsdWdpbixcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnbm9ybWFsJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIENvbXBvbmVudDogd2l0aE1lcmdlZFByb3BzKHtcbiAgICAgICAgICAgICAgQ29tcG9uZW50OiBGbG9hdGluZ0xpbmtFZGl0b3JQbHVnaW4sXG4gICAgICAgICAgICAgIHRvTWVyZ2VJbnRvUHJvcHM6IHByb3BzLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBwb3NpdGlvbjogJ2Zsb2F0aW5nQW5jaG9yRWxlbScsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgcHJvcHMsXG4gICAgICB9XG4gICAgfSxcbiAgICBrZXk6ICdsaW5rJyxcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkxpbmtGZWF0dXJlIiwicHJvcHMiLCJmZWF0dXJlIiwicmVzb2x2ZWRGZWF0dXJlcyIsInVuc2FuaXRpemVkRWRpdG9yQ29uZmlnIiwiZmxvYXRpbmdTZWxlY3RUb29sYmFyIiwic2VjdGlvbnMiLCJGZWF0dXJlc1NlY3Rpb25XaXRoRW50cmllcyIsIkNoaWxkQ29tcG9uZW50IiwiTGlua0ljb24iLCJpc0FjdGl2ZSIsImVkaXRvciIsInNlbGVjdGlvbiIsIiRpc1JhbmdlU2VsZWN0aW9uIiwic2VsZWN0ZWROb2RlIiwiZ2V0U2VsZWN0ZWROb2RlIiwibGlua1BhcmVudCIsIiRmaW5kTWF0Y2hpbmdQYXJlbnQiLCIkaXNMaW5rTm9kZSIsImtleSIsImxhYmVsIiwib25DbGljayIsInNlbGVjdGVkVGV4dCIsImdldEVkaXRvclN0YXRlIiwicmVhZCIsIiRnZXRTZWxlY3Rpb24iLCJnZXRUZXh0Q29udGVudCIsImxpbmtGaWVsZHMiLCJkb2MiLCJsaW5rVHlwZSIsIm5ld1RhYiIsInVybCIsImRpc3BhdGNoQ29tbWFuZCIsIlRPR0dMRV9MSU5LX1dJVEhfTU9EQUxfQ09NTUFORCIsImZpZWxkcyIsInRleHQiLCJUT0dHTEVfTElOS19DT01NQU5EIiwib3JkZXIiLCJub2RlcyIsImFmdGVyUmVhZFByb21pc2VzIiwibGlua0FmdGVyUmVhZFByb21pc2VIT0MiLCJub2RlIiwiTGlua05vZGUiLCJ0eXBlIiwiZ2V0VHlwZSIsIkF1dG9MaW5rTm9kZSIsInBsdWdpbnMiLCJDb21wb25lbnQiLCJMaW5rUGx1Z2luIiwicG9zaXRpb24iLCJBdXRvTGlua1BsdWdpbiIsIkxleGljYWxDbGlja2FibGVMaW5rUGx1Z2luIiwid2l0aE1lcmdlZFByb3BzIiwiRmxvYXRpbmdMaW5rRWRpdG9yUGx1Z2luIiwidG9NZXJnZUludG9Qcm9wcyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkE2QmFBOzs7ZUFBQUE7OzttRkF6QjBCO3VCQUNIO3lCQUNhOzJCQUNqQjtzQkFLUDtpQ0FDTzs2REFDVztrQ0FDSDtRQUNqQzs4QkFDc0I7MEJBQzhCOzBCQUM1QjtvQ0FDVTs0QkFDTTtzQkFDcEI7Ozs7OztBQU9wQixNQUFNQSxjQUFjLENBQUNDO0lBQzFCLE9BQU87UUFDTEMsU0FBUyxDQUFDLEVBQUVDLGdCQUFnQixFQUFFQyx1QkFBdUIsRUFBRTtZQUNyRCxPQUFPO2dCQUNMQyx1QkFBdUI7b0JBQ3JCQyxVQUFVO3dCQUNSQyxJQUFBQSx1RUFBMEIsRUFBQzs0QkFDekI7Z0NBQ0VDLGdCQUFnQkMsY0FBUTtnQ0FDeEJDLFVBQVUsQ0FBQyxFQUFFQyxNQUFNLEVBQUVDLFNBQVMsRUFBRTtvQ0FDOUIsSUFBSUMsSUFBQUEsMEJBQWlCLEVBQUNELFlBQVk7d0NBQ2hDLE1BQU1FLGVBQWVDLElBQUFBLGdDQUFlLEVBQUNIO3dDQUNyQyxNQUFNSSxhQUFhQyxJQUFBQSwwQkFBbUIsRUFBQ0gsY0FBY0kscUJBQVc7d0NBQ2hFLE9BQU9GLGNBQWM7b0NBQ3ZCO29DQUNBLE9BQU87Z0NBQ1Q7Z0NBQ0FHLEtBQUs7Z0NBQ0xDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0NBQ2JDLFNBQVMsQ0FBQyxFQUFFVixNQUFNLEVBQUVELFFBQVEsRUFBRTtvQ0FDNUIsSUFBSSxDQUFDQSxVQUFVO3dDQUNiLElBQUlZLGVBQWU7d0NBQ25CWCxPQUFPWSxjQUFjLEdBQUdDLElBQUksQ0FBQzs0Q0FDM0JGLGVBQWVHLElBQUFBLHNCQUFhLElBQUdDLGNBQWM7d0NBQy9DO3dDQUNBLE1BQU1DLGFBQXlCOzRDQUM3QkMsS0FBSzs0Q0FDTEMsVUFBVTs0Q0FDVkMsUUFBUTs0Q0FDUkMsS0FBSzt3Q0FDUDt3Q0FDQXBCLE9BQU9xQixlQUFlLENBQUNDLDBDQUE4QixFQUFFOzRDQUNyREMsUUFBUVA7NENBQ1JRLE1BQU1iO3dDQUNSO29DQUNGLE9BQU87d0NBQ0wsY0FBYzt3Q0FDZFgsT0FBT3FCLGVBQWUsQ0FBQ0ksNkJBQW1CLEVBQUU7b0NBQzlDO2dDQUNGO2dDQUNBQyxPQUFPOzRCQUNUO3lCQUNEO3FCQUNGO2dCQUNIO2dCQUNBQyxPQUFPO29CQUNMO3dCQUNFQyxtQkFBbUI7NEJBQUNDLElBQUFBLHlDQUF1QixFQUFDdkM7eUJBQU87d0JBQ25Ed0MsTUFBTUMsa0JBQVE7d0JBQ2RDLE1BQU1ELGtCQUFRLENBQUNFLE9BQU87b0JBRXhCO29CQUNBO3dCQUNFSCxNQUFNSSwwQkFBWTt3QkFDbEJGLE1BQU1FLDBCQUFZLENBQUNELE9BQU87b0JBQzVCO2lCQUNEO2dCQUNERSxTQUFTO29CQUNQO3dCQUNFQyxXQUFXQyxnQkFBVTt3QkFDckJDLFVBQVU7b0JBQ1o7b0JBQ0E7d0JBQ0VGLFdBQVdHLHdCQUFjO3dCQUN6QkQsVUFBVTtvQkFDWjtvQkFDQTt3QkFDRUYsV0FBV0ksbUNBQTBCO3dCQUNyQ0YsVUFBVTtvQkFDWjtvQkFDQTt3QkFDRUYsV0FBV0ssSUFBQUEsMEJBQWUsRUFBQzs0QkFDekJMLFdBQVdNLDRDQUF3Qjs0QkFDbkNDLGtCQUFrQnJEO3dCQUNwQjt3QkFDQWdELFVBQVU7b0JBQ1o7aUJBQ0Q7Z0JBQ0RoRDtZQUNGO1FBQ0Y7UUFDQWtCLEtBQUs7SUFDUDtBQUNGIn0=
|
|
@@ -11,9 +11,11 @@ import type { LinkPayload } from '../plugins/floatingLinkEditor/types';
|
|
|
11
11
|
export type LinkFields = {
|
|
12
12
|
[key: string]: unknown;
|
|
13
13
|
doc: {
|
|
14
|
-
data?: any;
|
|
15
14
|
relationTo: string;
|
|
16
|
-
value:
|
|
15
|
+
value: {
|
|
16
|
+
[key: string]: unknown;
|
|
17
|
+
id: string;
|
|
18
|
+
};
|
|
17
19
|
} | null;
|
|
18
20
|
linkType: 'custom' | 'internal';
|
|
19
21
|
newTab: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkNode.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/Link/nodes/LinkNode.tsx"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B;;;;;;GAMG;AAGH,OAAO,EAML,KAAK,gBAAgB,EAErB,KAAK,YAAY,EACjB,WAAW,EACX,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,MAAM,EAEZ,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAEtE,MAAM,MAAM,UAAU,GAAG;IAEvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,GAAG,EAAE;QACH,
|
|
1
|
+
{"version":3,"file":"LinkNode.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/Link/nodes/LinkNode.tsx"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B;;;;;;GAMG;AAGH,OAAO,EAML,KAAK,gBAAgB,EAErB,KAAK,YAAY,EACjB,WAAW,EACX,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,MAAM,EAEZ,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAEtE,MAAM,MAAM,UAAU,GAAG;IAEvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,GAAG,EAAE;QACH,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE;YAEL,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;YACtB,EAAE,EAAE,MAAM,CAAA;SACX,CAAA;KACF,GAAG,IAAI,CAAA;IACR,QAAQ,EAAE,QAAQ,GAAG,UAAU,CAAA;IAC/B,MAAM,EAAE,OAAO,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CACrC;IACE,MAAM,EAAE,UAAU,CAAA;CACnB,EACD,qBAAqB,CACtB,CAAA;AAID,oBAAoB;AACpB,qBAAa,QAAS,SAAQ,WAAW;IACvC,QAAQ,EAAE,UAAU,CAAA;gBAER,EACV,MAKC,EACD,GAAG,GACJ,EAAE;QACD,MAAM,EAAE,UAAU,CAAA;QAClB,GAAG,CAAC,EAAE,OAAO,CAAA;KACd;IAKD,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ;IAOtC,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,SAAS,IAAI,gBAAgB,GAAG,IAAI;IAS3C,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,kBAAkB,GAAG,QAAQ;IAU/D,UAAU,IAAI,KAAK;IAInB,kBAAkB,IAAI,KAAK;IAI3B,mBAAmB,IAAI,KAAK;IAI5B,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,iBAAiB;IAiBlD,UAAU,IAAI,kBAAkB;IAShC,gBAAgB,CACd,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,aAAa,GAAG,aAAa,GAAG,cAAc,EACzD,WAAW,EAAE,OAAO,GAAG,MAAM,GAC5B,OAAO;IAeV,SAAS,IAAI,UAAU;IAIvB,cAAc,CAAC,SAAS,EAAE,cAAc,EAAE,gBAAgB,UAAO,GAAG,WAAW,GAAG,IAAI;IAUtF,QAAQ,IAAI,IAAI;IAIhB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAahC,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAKnC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO;CA8BxF;AAoBD,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GAAG,QAAQ,CAE5E;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,IAAI,QAAQ,CAElF;AAED,eAAO,MAAM,mBAAmB,EAAE,cAAc,CAAC,WAAW,GAAG,IAAI,CAC7B,CAAA;AAEtC,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CA6GrD"}
|
|
@@ -94,19 +94,9 @@ class LinkNode extends _lexical.ElementNode {
|
|
|
94
94
|
if (this.__fields?.newTab ?? false) {
|
|
95
95
|
element.target = '_blank';
|
|
96
96
|
}
|
|
97
|
-
element.rel = '';
|
|
98
97
|
if (this.__fields?.newTab === true && this.__fields?.linkType === 'custom') {
|
|
99
98
|
element.rel = manageRel(element.rel, 'add', 'noopener');
|
|
100
99
|
}
|
|
101
|
-
if (this.__fields?.sponsored ?? false) {
|
|
102
|
-
element.rel = manageRel(element.rel, 'add', 'sponsored');
|
|
103
|
-
}
|
|
104
|
-
if (this.__fields?.nofollow ?? false) {
|
|
105
|
-
element.rel = manageRel(element.rel, 'add', 'nofollow');
|
|
106
|
-
}
|
|
107
|
-
if (this.__fields?.rel !== null) {
|
|
108
|
-
element.rel += ` ${this.__rel}`;
|
|
109
|
-
}
|
|
110
100
|
(0, _utils.addClassNamesToElement)(element, config.theme.link);
|
|
111
101
|
return element;
|
|
112
102
|
}
|
|
@@ -162,9 +152,6 @@ class LinkNode extends _lexical.ElementNode {
|
|
|
162
152
|
updateDOM(prevNode, anchor, config) {
|
|
163
153
|
const url = this.__fields?.url;
|
|
164
154
|
const newTab = this.__fields?.newTab;
|
|
165
|
-
const sponsored = this.__fields?.sponsored;
|
|
166
|
-
const nofollow = this.__fields?.nofollow;
|
|
167
|
-
const rel = this.__fields?.rel;
|
|
168
155
|
if (url != null && url !== prevNode.__fields?.url && this.__fields?.linkType === 'custom') {
|
|
169
156
|
anchor.href = url;
|
|
170
157
|
}
|
|
@@ -187,30 +174,6 @@ class LinkNode extends _lexical.ElementNode {
|
|
|
187
174
|
anchor.rel = manageRel(anchor.rel, 'remove', 'noopener');
|
|
188
175
|
}
|
|
189
176
|
}
|
|
190
|
-
if (nofollow !== prevNode.__fields.nofollow) {
|
|
191
|
-
if (nofollow ?? false) {
|
|
192
|
-
anchor.rel = manageRel(anchor.rel, 'add', 'nofollow');
|
|
193
|
-
} else {
|
|
194
|
-
anchor.rel = manageRel(anchor.rel, 'remove', 'nofollow');
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
if (sponsored !== prevNode.__fields.sponsored) {
|
|
198
|
-
if (sponsored ?? false) {
|
|
199
|
-
anchor.rel = manageRel(anchor.rel, 'add', 'sponsored');
|
|
200
|
-
} else {
|
|
201
|
-
anchor.rel = manageRel(anchor.rel, 'remove', 'sponsored');
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
// TODO - revisit - I don't think there can be any other rel
|
|
205
|
-
// values other than nofollow and noopener - so not
|
|
206
|
-
// sure why anchor.rel += rel below
|
|
207
|
-
if (rel !== prevNode.__fields.rel) {
|
|
208
|
-
if (rel != null) {
|
|
209
|
-
anchor.rel += rel;
|
|
210
|
-
} else {
|
|
211
|
-
anchor.removeAttribute('rel');
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
177
|
return false;
|
|
215
178
|
}
|
|
216
179
|
}
|
|
@@ -224,9 +187,6 @@ function convertAnchorElement(domNode) {
|
|
|
224
187
|
doc: null,
|
|
225
188
|
linkType: 'custom',
|
|
226
189
|
newTab: domNode.getAttribute('target') === '_blank',
|
|
227
|
-
nofollow: domNode.getAttribute('rel')?.includes('nofollow') ?? false,
|
|
228
|
-
rel: domNode.getAttribute('rel'),
|
|
229
|
-
sponsored: domNode.getAttribute('rel')?.includes('sponsored') ?? false,
|
|
230
190
|
url: domNode.getAttribute('href') ?? ''
|
|
231
191
|
}
|
|
232
192
|
});
|
|
@@ -365,4 +325,4 @@ function manageRel(input, action, value) {
|
|
|
365
325
|
return result;
|
|
366
326
|
}
|
|
367
327
|
|
|
368
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9MaW5rL25vZGVzL0xpbmtOb2RlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQG1vZHVsZSBAbGV4aWNhbC9saW5rICovXG4vKipcbiAqIENvcHlyaWdodCAoYykgTWV0YSBQbGF0Zm9ybXMsIEluYy4gYW5kIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCB7IGFkZENsYXNzTmFtZXNUb0VsZW1lbnQsIGlzSFRNTEFuY2hvckVsZW1lbnQgfSBmcm9tICdAbGV4aWNhbC91dGlscydcbmltcG9ydCB7XG4gICRhcHBseU5vZGVSZXBsYWNlbWVudCxcbiAgJGNyZWF0ZVRleHROb2RlLFxuICAkZ2V0U2VsZWN0aW9uLFxuICAkaXNFbGVtZW50Tm9kZSxcbiAgJGlzUmFuZ2VTZWxlY3Rpb24sXG4gIHR5cGUgRE9NQ29udmVyc2lvbk1hcCxcbiAgdHlwZSBET01Db252ZXJzaW9uT3V0cHV0LFxuICB0eXBlIEVkaXRvckNvbmZpZyxcbiAgRWxlbWVudE5vZGUsXG4gIHR5cGUgR3JpZFNlbGVjdGlvbixcbiAgdHlwZSBMZXhpY2FsQ29tbWFuZCxcbiAgdHlwZSBMZXhpY2FsTm9kZSxcbiAgdHlwZSBOb2RlS2V5LFxuICB0eXBlIE5vZGVTZWxlY3Rpb24sXG4gIHR5cGUgUmFuZ2VTZWxlY3Rpb24sXG4gIHR5cGUgU2VyaWFsaXplZEVsZW1lbnROb2RlLFxuICB0eXBlIFNwcmVhZCxcbiAgY3JlYXRlQ29tbWFuZCxcbn0gZnJvbSAnbGV4aWNhbCdcblxuaW1wb3J0IHR5cGUgeyBMaW5rUGF5bG9hZCB9IGZyb20gJy4uL3BsdWdpbnMvZmxvYXRpbmdMaW5rRWRpdG9yL3R5cGVzJ1xuXG5leHBvcnQgdHlwZSBMaW5rRmllbGRzID0ge1xuICAvLyB1bmtub3duLCBjdXN0b20gZmllbGRzOlxuICBba2V5OiBzdHJpbmddOiB1bmtub3duXG4gIGRvYzoge1xuICAgIGRhdGE/OiBhbnkgLy8gV2lsbCBiZSBwb3B1bGF0ZWQgaW4gYWZ0ZXJSZWFkIGhvb2tcbiAgICByZWxhdGlvblRvOiBzdHJpbmdcbiAgICB2YWx1ZTogc3RyaW5nXG4gIH0gfCBudWxsXG4gIGxpbmtUeXBlOiAnY3VzdG9tJyB8ICdpbnRlcm5hbCdcbiAgbmV3VGFiOiBib29sZWFuXG4gIHVybDogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFNlcmlhbGl6ZWRMaW5rTm9kZSA9IFNwcmVhZDxcbiAge1xuICAgIGZpZWxkczogTGlua0ZpZWxkc1xuICB9LFxuICBTZXJpYWxpemVkRWxlbWVudE5vZGVcbj5cblxuY29uc3QgU1VQUE9SVEVEX1VSTF9QUk9UT0NPTFMgPSBuZXcgU2V0KFsnaHR0cDonLCAnaHR0cHM6JywgJ21haWx0bzonLCAnc21zOicsICd0ZWw6J10pXG5cbi8qKiBAbm9Jbmhlcml0RG9jICovXG5leHBvcnQgY2xhc3MgTGlua05vZGUgZXh0ZW5kcyBFbGVtZW50Tm9kZSB7XG4gIF9fZmllbGRzOiBMaW5rRmllbGRzXG5cbiAgY29uc3RydWN0b3Ioe1xuICAgIGZpZWxkcyA9IHtcbiAgICAgIGRvYzogbnVsbCxcbiAgICAgIGxpbmtUeXBlOiAnY3VzdG9tJyxcbiAgICAgIG5ld1RhYjogZmFsc2UsXG4gICAgICB1cmw6IHVuZGVmaW5lZCxcbiAgICB9LFxuICAgIGtleSxcbiAgfToge1xuICAgIGZpZWxkczogTGlua0ZpZWxkc1xuICAgIGtleT86IE5vZGVLZXlcbiAgfSkge1xuICAgIHN1cGVyKGtleSlcbiAgICB0aGlzLl9fZmllbGRzID0gZmllbGRzXG4gIH1cblxuICBzdGF0aWMgY2xvbmUobm9kZTogTGlua05vZGUpOiBMaW5rTm9kZSB7XG4gICAgcmV0dXJuIG5ldyBMaW5rTm9kZSh7XG4gICAgICBmaWVsZHM6IG5vZGUuX19maWVsZHMsXG4gICAgICBrZXk6IG5vZGUuX19rZXksXG4gICAgfSlcbiAgfVxuXG4gIHN0YXRpYyBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdsaW5rJ1xuICB9XG5cbiAgc3RhdGljIGltcG9ydERPTSgpOiBET01Db252ZXJzaW9uTWFwIHwgbnVsbCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGE6IChub2RlOiBOb2RlKSA9PiAoe1xuICAgICAgICBjb252ZXJzaW9uOiBjb252ZXJ0QW5jaG9yRWxlbWVudCxcbiAgICAgICAgcHJpb3JpdHk6IDEsXG4gICAgICB9KSxcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgaW1wb3J0SlNPTihzZXJpYWxpemVkTm9kZTogU2VyaWFsaXplZExpbmtOb2RlKTogTGlua05vZGUge1xuICAgIGNvbnN0IG5vZGUgPSAkY3JlYXRlTGlua05vZGUoe1xuICAgICAgZmllbGRzOiBzZXJpYWxpemVkTm9kZS5maWVsZHMsXG4gICAgfSlcbiAgICBub2RlLnNldEZvcm1hdChzZXJpYWxpemVkTm9kZS5mb3JtYXQpXG4gICAgbm9kZS5zZXRJbmRlbnQoc2VyaWFsaXplZE5vZGUuaW5kZW50KVxuICAgIG5vZGUuc2V0RGlyZWN0aW9uKHNlcmlhbGl6ZWROb2RlLmRpcmVjdGlvbilcbiAgICByZXR1cm4gbm9kZVxuICB9XG5cbiAgY2FuQmVFbXB0eSgpOiBmYWxzZSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBjYW5JbnNlcnRUZXh0QWZ0ZXIoKTogZmFsc2Uge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgY2FuSW5zZXJ0VGV4dEJlZm9yZSgpOiBmYWxzZSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBjcmVhdGVET00oY29uZmlnOiBFZGl0b3JDb25maWcpOiBIVE1MQW5jaG9yRWxlbWVudCB7XG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKVxuICAgIGlmICh0aGlzLl9fZmllbGRzPy5saW5rVHlwZSA9PT0gJ2N1c3RvbScpIHtcbiAgICAgIGVsZW1lbnQuaHJlZiA9IHRoaXMuc2FuaXRpemVVcmwodGhpcy5fX2ZpZWxkcy51cmwgPz8gJycpXG4gICAgfVxuICAgIGlmICh0aGlzLl9fZmllbGRzPy5uZXdUYWIgPz8gZmFsc2UpIHtcbiAgICAgIGVsZW1lbnQudGFyZ2V0ID0gJ19ibGFuaydcbiAgICB9XG5cbiAgICBlbGVtZW50LnJlbCA9ICcnXG5cbiAgICBpZiAodGhpcy5fX2ZpZWxkcz8ubmV3VGFiID09PSB0cnVlICYmIHRoaXMuX19maWVsZHM/LmxpbmtUeXBlID09PSAnY3VzdG9tJykge1xuICAgICAgZWxlbWVudC5yZWwgPSBtYW5hZ2VSZWwoZWxlbWVudC5yZWwsICdhZGQnLCAnbm9vcGVuZXInKVxuICAgIH1cblxuICAgIGlmICh0aGlzLl9fZmllbGRzPy5zcG9uc29yZWQgPz8gZmFsc2UpIHtcbiAgICAgIGVsZW1lbnQucmVsID0gbWFuYWdlUmVsKGVsZW1lbnQucmVsLCAnYWRkJywgJ3Nwb25zb3JlZCcpXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX19maWVsZHM/Lm5vZm9sbG93ID8/IGZhbHNlKSB7XG4gICAgICBlbGVtZW50LnJlbCA9IG1hbmFnZVJlbChlbGVtZW50LnJlbCwgJ2FkZCcsICdub2ZvbGxvdycpXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX19maWVsZHM/LnJlbCAhPT0gbnVsbCkge1xuICAgICAgZWxlbWVudC5yZWwgKz0gYCAke3RoaXMuX19yZWx9YFxuICAgIH1cbiAgICBhZGRDbGFzc05hbWVzVG9FbGVtZW50KGVsZW1lbnQsIGNvbmZpZy50aGVtZS5saW5rKVxuICAgIHJldHVybiBlbGVtZW50XG4gIH1cblxuICBleHBvcnRKU09OKCk6IFNlcmlhbGl6ZWRMaW5rTm9kZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN1cGVyLmV4cG9ydEpTT04oKSxcbiAgICAgIGZpZWxkczogdGhpcy5nZXRGaWVsZHMoKSxcbiAgICAgIHR5cGU6IHRoaXMuZ2V0VHlwZSgpLFxuICAgICAgdmVyc2lvbjogMSxcbiAgICB9XG4gIH1cblxuICBleHRyYWN0V2l0aENoaWxkKFxuICAgIGNoaWxkOiBMZXhpY2FsTm9kZSxcbiAgICBzZWxlY3Rpb246IEdyaWRTZWxlY3Rpb24gfCBOb2RlU2VsZWN0aW9uIHwgUmFuZ2VTZWxlY3Rpb24sXG4gICAgZGVzdGluYXRpb246ICdjbG9uZScgfCAnaHRtbCcsXG4gICk6IGJvb2xlYW4ge1xuICAgIGlmICghJGlzUmFuZ2VTZWxlY3Rpb24oc2VsZWN0aW9uKSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgY29uc3QgYW5jaG9yTm9kZSA9IHNlbGVjdGlvbi5hbmNob3IuZ2V0Tm9kZSgpXG4gICAgY29uc3QgZm9jdXNOb2RlID0gc2VsZWN0aW9uLmZvY3VzLmdldE5vZGUoKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuaXNQYXJlbnRPZihhbmNob3JOb2RlKSAmJlxuICAgICAgdGhpcy5pc1BhcmVudE9mKGZvY3VzTm9kZSkgJiZcbiAgICAgIHNlbGVjdGlvbi5nZXRUZXh0Q29udGVudCgpLmxlbmd0aCA+IDBcbiAgICApXG4gIH1cblxuICBnZXRGaWVsZHMoKTogTGlua0ZpZWxkcyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TGF0ZXN0KCkuX19maWVsZHNcbiAgfVxuXG4gIGluc2VydE5ld0FmdGVyKHNlbGVjdGlvbjogUmFuZ2VTZWxlY3Rpb24sIHJlc3RvcmVTZWxlY3Rpb24gPSB0cnVlKTogRWxlbWVudE5vZGUgfCBudWxsIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5nZXRQYXJlbnRPclRocm93KCkuaW5zZXJ0TmV3QWZ0ZXIoc2VsZWN0aW9uLCByZXN0b3JlU2VsZWN0aW9uKVxuICAgIGlmICgkaXNFbGVtZW50Tm9kZShlbGVtZW50KSkge1xuICAgICAgY29uc3QgbGlua05vZGUgPSAkY3JlYXRlTGlua05vZGUoeyBmaWVsZHM6IHRoaXMuX19maWVsZHMgfSlcbiAgICAgIGVsZW1lbnQuYXBwZW5kKGxpbmtOb2RlKVxuICAgICAgcmV0dXJuIGxpbmtOb2RlXG4gICAgfVxuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBpc0lubGluZSgpOiB0cnVlIHtcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgc2FuaXRpemVVcmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXJzZWRVcmwgPSBuZXcgVVJMKHVybClcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zY3JpcHQtdXJsXG4gICAgICBpZiAoIVNVUFBPUlRFRF9VUkxfUFJPVE9DT0xTLmhhcyhwYXJzZWRVcmwucHJvdG9jb2wpKSB7XG4gICAgICAgIHJldHVybiAnYWJvdXQ6YmxhbmsnXG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuICdodHRwczovLydcbiAgICB9XG4gICAgcmV0dXJuIHVybFxuICB9XG5cbiAgc2V0RmllbGRzKGZpZWxkczogTGlua0ZpZWxkcyk6IHZvaWQge1xuICAgIGNvbnN0IHdyaXRhYmxlID0gdGhpcy5nZXRXcml0YWJsZSgpXG4gICAgd3JpdGFibGUuX19maWVsZHMgPSBmaWVsZHNcbiAgfVxuXG4gIHVwZGF0ZURPTShwcmV2Tm9kZTogTGlua05vZGUsIGFuY2hvcjogSFRNTEFuY2hvckVsZW1lbnQsIGNvbmZpZzogRWRpdG9yQ29uZmlnKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5fX2ZpZWxkcz8udXJsXG4gICAgY29uc3QgbmV3VGFiID0gdGhpcy5fX2ZpZWxkcz8ubmV3VGFiXG4gICAgY29uc3Qgc3BvbnNvcmVkID0gdGhpcy5fX2ZpZWxkcz8uc3BvbnNvcmVkXG4gICAgY29uc3Qgbm9mb2xsb3cgPSB0aGlzLl9fZmllbGRzPy5ub2ZvbGxvd1xuICAgIGNvbnN0IHJlbCA9IHRoaXMuX19maWVsZHM/LnJlbFxuICAgIGlmICh1cmwgIT0gbnVsbCAmJiB1cmwgIT09IHByZXZOb2RlLl9fZmllbGRzPy51cmwgJiYgdGhpcy5fX2ZpZWxkcz8ubGlua1R5cGUgPT09ICdjdXN0b20nKSB7XG4gICAgICBhbmNob3IuaHJlZiA9IHVybFxuICAgIH1cbiAgICBpZiAodGhpcy5fX2ZpZWxkcz8ubGlua1R5cGUgPT09ICdpbnRlcm5hbCcgJiYgcHJldk5vZGUuX19maWVsZHM/LmxpbmtUeXBlID09PSAnY3VzdG9tJykge1xuICAgICAgYW5jaG9yLnJlbW92ZUF0dHJpYnV0ZSgnaHJlZicpXG4gICAgfVxuXG4gICAgLy8gVE9ETzogbm90IDEwMCUgc3VyZSB3aHkgd2UncmUgc2V0dGlnbiByZWwgdG8gJycgLSByZXZpc2l0XG4gICAgLy8gU3RhcnQgcmVsIGNvbmZpZyBoZXJlLCB0aGVuIGNoZWNrIG5ld1RhYiBiZWxvd1xuICAgIGlmIChhbmNob3IucmVsID09IG51bGwpIHtcbiAgICAgIGFuY2hvci5yZWwgPSAnJ1xuICAgIH1cblxuICAgIGlmIChuZXdUYWIgIT09IHByZXZOb2RlLl9fZmllbGRzPy5uZXdUYWIpIHtcbiAgICAgIGlmIChuZXdUYWIgPz8gZmFsc2UpIHtcbiAgICAgICAgYW5jaG9yLnRhcmdldCA9ICdfYmxhbmsnXG4gICAgICAgIGlmICh0aGlzLl9fZmllbGRzPy5saW5rVHlwZSA9PT0gJ2N1c3RvbScpIHtcbiAgICAgICAgICBhbmNob3IucmVsID0gbWFuYWdlUmVsKGFuY2hvci5yZWwsICdhZGQnLCAnbm9vcGVuZXInKVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhbmNob3IucmVtb3ZlQXR0cmlidXRlKCd0YXJnZXQnKVxuICAgICAgICBhbmNob3IucmVsID0gbWFuYWdlUmVsKGFuY2hvci5yZWwsICdyZW1vdmUnLCAnbm9vcGVuZXInKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChub2ZvbGxvdyAhPT0gcHJldk5vZGUuX19maWVsZHMubm9mb2xsb3cpIHtcbiAgICAgIGlmIChub2ZvbGxvdyA/PyBmYWxzZSkge1xuICAgICAgICBhbmNob3IucmVsID0gbWFuYWdlUmVsKGFuY2hvci5yZWwsICdhZGQnLCAnbm9mb2xsb3cnKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYW5jaG9yLnJlbCA9IG1hbmFnZVJlbChhbmNob3IucmVsLCAncmVtb3ZlJywgJ25vZm9sbG93JylcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc3BvbnNvcmVkICE9PSBwcmV2Tm9kZS5fX2ZpZWxkcy5zcG9uc29yZWQpIHtcbiAgICAgIGlmIChzcG9uc29yZWQgPz8gZmFsc2UpIHtcbiAgICAgICAgYW5jaG9yLnJlbCA9IG1hbmFnZVJlbChhbmNob3IucmVsLCAnYWRkJywgJ3Nwb25zb3JlZCcpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhbmNob3IucmVsID0gbWFuYWdlUmVsKGFuY2hvci5yZWwsICdyZW1vdmUnLCAnc3BvbnNvcmVkJylcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUT0RPIC0gcmV2aXNpdCAtIEkgZG9uJ3QgdGhpbmsgdGhlcmUgY2FuIGJlIGFueSBvdGhlciByZWxcbiAgICAvLyB2YWx1ZXMgb3RoZXIgdGhhbiBub2ZvbGxvdyBhbmQgbm9vcGVuZXIgLSBzbyBub3RcbiAgICAvLyBzdXJlIHdoeSBhbmNob3IucmVsICs9IHJlbCBiZWxvd1xuICAgIGlmIChyZWwgIT09IHByZXZOb2RlLl9fZmllbGRzLnJlbCkge1xuICAgICAgaWYgKHJlbCAhPSBudWxsKSB7XG4gICAgICAgIGFuY2hvci5yZWwgKz0gcmVsXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhbmNob3IucmVtb3ZlQXR0cmlidXRlKCdyZWwnKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRBbmNob3JFbGVtZW50KGRvbU5vZGU6IE5vZGUpOiBET01Db252ZXJzaW9uT3V0cHV0IHtcbiAgbGV0IG5vZGU6IExpbmtOb2RlIHwgbnVsbCA9IG51bGxcbiAgaWYgKGlzSFRNTEFuY2hvckVsZW1lbnQoZG9tTm9kZSkpIHtcbiAgICBjb25zdCBjb250ZW50ID0gZG9tTm9kZS50ZXh0Q29udGVudFxuICAgIGlmIChjb250ZW50ICE9PSBudWxsICYmIGNvbnRlbnQgIT09ICcnKSB7XG4gICAgICBub2RlID0gJGNyZWF0ZUxpbmtOb2RlKHtcbiAgICAgICAgZmllbGRzOiB7XG4gICAgICAgICAgZG9jOiBudWxsLFxuICAgICAgICAgIGxpbmtUeXBlOiAnY3VzdG9tJyxcbiAgICAgICAgICBuZXdUYWI6IGRvbU5vZGUuZ2V0QXR0cmlidXRlKCd0YXJnZXQnKSA9PT0gJ19ibGFuaycsXG4gICAgICAgICAgbm9mb2xsb3c6IGRvbU5vZGUuZ2V0QXR0cmlidXRlKCdyZWwnKT8uaW5jbHVkZXMoJ25vZm9sbG93JykgPz8gZmFsc2UsXG4gICAgICAgICAgcmVsOiBkb21Ob2RlLmdldEF0dHJpYnV0ZSgncmVsJyksXG4gICAgICAgICAgc3BvbnNvcmVkOiBkb21Ob2RlLmdldEF0dHJpYnV0ZSgncmVsJyk/LmluY2x1ZGVzKCdzcG9uc29yZWQnKSA/PyBmYWxzZSxcbiAgICAgICAgICB1cmw6IGRvbU5vZGUuZ2V0QXR0cmlidXRlKCdocmVmJykgPz8gJycsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIH1cbiAgfVxuICByZXR1cm4geyBub2RlIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uICRjcmVhdGVMaW5rTm9kZSh7IGZpZWxkcyB9OiB7IGZpZWxkczogTGlua0ZpZWxkcyB9KTogTGlua05vZGUge1xuICByZXR1cm4gJGFwcGx5Tm9kZVJlcGxhY2VtZW50KG5ldyBMaW5rTm9kZSh7IGZpZWxkcyB9KSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uICRpc0xpbmtOb2RlKG5vZGU6IExleGljYWxOb2RlIHwgbnVsbCB8IHVuZGVmaW5lZCk6IG5vZGUgaXMgTGlua05vZGUge1xuICByZXR1cm4gbm9kZSBpbnN0YW5jZW9mIExpbmtOb2RlXG59XG5cbmV4cG9ydCBjb25zdCBUT0dHTEVfTElOS19DT01NQU5EOiBMZXhpY2FsQ29tbWFuZDxMaW5rUGF5bG9hZCB8IG51bGw+ID1cbiAgY3JlYXRlQ29tbWFuZCgnVE9HR0xFX0xJTktfQ09NTUFORCcpXG5cbmV4cG9ydCBmdW5jdGlvbiB0b2dnbGVMaW5rKHBheWxvYWQ6IExpbmtQYXlsb2FkKTogdm9pZCB7XG4gIGNvbnN0IHNlbGVjdGlvbiA9ICRnZXRTZWxlY3Rpb24oKVxuXG4gIGlmICghJGlzUmFuZ2VTZWxlY3Rpb24oc2VsZWN0aW9uKSkge1xuICAgIHJldHVyblxuICB9XG4gIGNvbnN0IG5vZGVzID0gc2VsZWN0aW9uLmV4dHJhY3QoKVxuXG4gIGlmIChwYXlsb2FkID09PSBudWxsKSB7XG4gICAgLy8gUmVtb3ZlIExpbmtOb2Rlc1xuICAgIG5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgIGNvbnN0IHBhcmVudCA9IG5vZGUuZ2V0UGFyZW50KClcblxuICAgICAgaWYgKCRpc0xpbmtOb2RlKHBhcmVudCkpIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBwYXJlbnQuZ2V0Q2hpbGRyZW4oKVxuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgICBwYXJlbnQuaW5zZXJ0QmVmb3JlKGNoaWxkcmVuW2ldKVxuICAgICAgICB9XG5cbiAgICAgICAgcGFyZW50LnJlbW92ZSgpXG4gICAgICB9XG4gICAgfSlcbiAgfSBlbHNlIHtcbiAgICAvLyBBZGQgb3IgbWVyZ2UgTGlua05vZGVzXG4gICAgaWYgKG5vZGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgY29uc3QgZmlyc3ROb2RlID0gbm9kZXNbMF1cbiAgICAgIC8vIGlmIHRoZSBmaXJzdCBub2RlIGlzIGEgTGlua05vZGUgb3IgaWYgaXRzXG4gICAgICAvLyBwYXJlbnQgaXMgYSBMaW5rTm9kZSwgd2UgdXBkYXRlIHRoZSBVUkwsIHRhcmdldCBhbmQgcmVsLlxuICAgICAgY29uc3QgbGlua05vZGU6IExpbmtOb2RlIHwgbnVsbCA9ICRpc0xpbmtOb2RlKGZpcnN0Tm9kZSlcbiAgICAgICAgPyBmaXJzdE5vZGVcbiAgICAgICAgOiAkZ2V0TGlua0FuY2VzdG9yKGZpcnN0Tm9kZSlcbiAgICAgIGlmIChsaW5rTm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBsaW5rTm9kZS5zZXRGaWVsZHMocGF5bG9hZC5maWVsZHMpXG5cbiAgICAgICAgaWYgKHBheWxvYWQudGV4dCAhPSBudWxsICYmIHBheWxvYWQudGV4dCAhPT0gbGlua05vZGUuZ2V0VGV4dENvbnRlbnQoKSkge1xuICAgICAgICAgIC8vIHJlbW92ZSBhbGwgY2hpbGRyZW4gYW5kIGFkZCBjaGlsZCB3aXRoIG5ldyB0ZXh0Y29udGVudDpcbiAgICAgICAgICBsaW5rTm9kZS5hcHBlbmQoJGNyZWF0ZVRleHROb2RlKHBheWxvYWQudGV4dCkpXG4gICAgICAgICAgbGlua05vZGUuZ2V0Q2hpbGRyZW4oKS5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgaWYgKGNoaWxkICE9PSBsaW5rTm9kZS5nZXRMYXN0Q2hpbGQoKSkge1xuICAgICAgICAgICAgICBjaGlsZC5yZW1vdmUoKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IHByZXZQYXJlbnQ6IEVsZW1lbnROb2RlIHwgTGlua05vZGUgfCBudWxsID0gbnVsbFxuICAgIGxldCBsaW5rTm9kZTogTGlua05vZGUgfCBudWxsID0gbnVsbFxuXG4gICAgbm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgY29uc3QgcGFyZW50ID0gbm9kZS5nZXRQYXJlbnQoKVxuXG4gICAgICBpZiAocGFyZW50ID09PSBsaW5rTm9kZSB8fCBwYXJlbnQgPT09IG51bGwgfHwgKCRpc0VsZW1lbnROb2RlKG5vZGUpICYmICFub2RlLmlzSW5saW5lKCkpKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBpZiAoJGlzTGlua05vZGUocGFyZW50KSkge1xuICAgICAgICBsaW5rTm9kZSA9IHBhcmVudFxuICAgICAgICBwYXJlbnQuc2V0RmllbGRzKHBheWxvYWQuZmllbGRzKVxuICAgICAgICBpZiAocGF5bG9hZC50ZXh0ICE9IG51bGwgJiYgcGF5bG9hZC50ZXh0ICE9PSBwYXJlbnQuZ2V0VGV4dENvbnRlbnQoKSkge1xuICAgICAgICAgIC8vIHJlbW92ZSBhbGwgY2hpbGRyZW4gYW5kIGFkZCBjaGlsZCB3aXRoIG5ldyB0ZXh0Y29udGVudDpcbiAgICAgICAgICBwYXJlbnQuYXBwZW5kKCRjcmVhdGVUZXh0Tm9kZShwYXlsb2FkLnRleHQpKVxuICAgICAgICAgIHBhcmVudC5nZXRDaGlsZHJlbigpLmZvckVhY2goKGNoaWxkKSA9PiB7XG4gICAgICAgICAgICBpZiAoY2hpbGQgIT09IHBhcmVudC5nZXRMYXN0Q2hpbGQoKSkge1xuICAgICAgICAgICAgICBjaGlsZC5yZW1vdmUoKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGlmICghcGFyZW50LmlzKHByZXZQYXJlbnQpKSB7XG4gICAgICAgIHByZXZQYXJlbnQgPSBwYXJlbnRcbiAgICAgICAgbGlua05vZGUgPSAkY3JlYXRlTGlua05vZGUoeyBmaWVsZHM6IHBheWxvYWQuZmllbGRzIH0pXG5cbiAgICAgICAgaWYgKCRpc0xpbmtOb2RlKHBhcmVudCkpIHtcbiAgICAgICAgICBpZiAobm9kZS5nZXRQcmV2aW91c1NpYmxpbmcoKSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcGFyZW50Lmluc2VydEJlZm9yZShsaW5rTm9kZSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyZW50Lmluc2VydEFmdGVyKGxpbmtOb2RlKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBub2RlLmluc2VydEJlZm9yZShsaW5rTm9kZSlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoJGlzTGlua05vZGUobm9kZSkpIHtcbiAgICAgICAgaWYgKG5vZGUuaXMobGlua05vZGUpKSB7XG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxpbmtOb2RlICE9PSBudWxsKSB7XG4gICAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBub2RlLmdldENoaWxkcmVuKClcblxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgICAgIGxpbmtOb2RlLmFwcGVuZChjaGlsZHJlbltpXSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBub2RlLnJlbW92ZSgpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBpZiAobGlua05vZGUgIT09IG51bGwpIHtcbiAgICAgICAgbGlua05vZGUuYXBwZW5kKG5vZGUpXG4gICAgICB9XG4gICAgfSlcbiAgfVxufVxuXG5mdW5jdGlvbiAkZ2V0TGlua0FuY2VzdG9yKG5vZGU6IExleGljYWxOb2RlKTogTGlua05vZGUgfCBudWxsIHtcbiAgcmV0dXJuICRnZXRBbmNlc3Rvcihub2RlLCAoYW5jZXN0b3IpID0+ICRpc0xpbmtOb2RlKGFuY2VzdG9yKSkgYXMgTGlua05vZGVcbn1cblxuZnVuY3Rpb24gJGdldEFuY2VzdG9yKFxuICBub2RlOiBMZXhpY2FsTm9kZSxcbiAgcHJlZGljYXRlOiAoYW5jZXN0b3I6IExleGljYWxOb2RlKSA9PiBib29sZWFuLFxuKTogTGV4aWNhbE5vZGUgfCBudWxsIHtcbiAgbGV0IHBhcmVudDogTGV4aWNhbE5vZGUgfCBudWxsID0gbm9kZVxuICB3aGlsZSAocGFyZW50ICE9PSBudWxsICYmIChwYXJlbnQgPSBwYXJlbnQuZ2V0UGFyZW50KCkpICE9PSBudWxsICYmICFwcmVkaWNhdGUocGFyZW50KSk7XG4gIHJldHVybiBwYXJlbnRcbn1cblxuZnVuY3Rpb24gbWFuYWdlUmVsKGlucHV0OiBzdHJpbmcsIGFjdGlvbjogJ2FkZCcgfCAncmVtb3ZlJywgdmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGxldCByZXN1bHQ6IHN0cmluZ1xuICBsZXQgbXV0YWJsZUlucHV0ID0gYCR7aW5wdXR9YFxuICBpZiAoYWN0aW9uID09PSAnYWRkJykge1xuICAgIC8vIGlmIHdlIHNvbWVob3cgZ290IG91dCBvZiBzeW5jIC0gY2xlYW4gdXBcbiAgICBpZiAobXV0YWJsZUlucHV0LmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgY29uc3QgcmUgPSBuZXcgUmVnRXhwKHZhbHVlLCAnZycpXG4gICAgICBtdXRhYmxlSW5wdXQgPSBtdXRhYmxlSW5wdXQucmVwbGFjZShyZSwgJycpLnRyaW0oKVxuICAgIH1cbiAgICBtdXRhYmxlSW5wdXQgPSBtdXRhYmxlSW5wdXQudHJpbSgpXG4gICAgcmVzdWx0ID0gbXV0YWJsZUlucHV0Lmxlbmd0aCA9PT0gMCA/IGAke3ZhbHVlfWAgOiBgJHttdXRhYmxlSW5wdXR9ICR7dmFsdWV9YFxuICB9IGVsc2Uge1xuICAgIGNvbnN0IHJlID0gbmV3IFJlZ0V4cCh2YWx1ZSwgJ2cnKVxuICAgIHJlc3VsdCA9IG11dGFibGVJbnB1dC5yZXBsYWNlKHJlLCAnJykudHJpbSgpXG4gIH1cbiAgcmV0dXJuIHJlc3VsdFxufVxuIl0sIm5hbWVzIjpbIkxpbmtOb2RlIiwiJGNyZWF0ZUxpbmtOb2RlIiwiJGlzTGlua05vZGUiLCJUT0dHTEVfTElOS19DT01NQU5EIiwidG9nZ2xlTGluayIsIlNVUFBPUlRFRF9VUkxfUFJPVE9DT0xTIiwiU2V0IiwiRWxlbWVudE5vZGUiLCJfX2ZpZWxkcyIsImNvbnN0cnVjdG9yIiwiZmllbGRzIiwiZG9jIiwibGlua1R5cGUiLCJuZXdUYWIiLCJ1cmwiLCJ1bmRlZmluZWQiLCJrZXkiLCJjbG9uZSIsIm5vZGUiLCJfX2tleSIsImdldFR5cGUiLCJpbXBvcnRET00iLCJhIiwiY29udmVyc2lvbiIsImNvbnZlcnRBbmNob3JFbGVtZW50IiwicHJpb3JpdHkiLCJpbXBvcnRKU09OIiwic2VyaWFsaXplZE5vZGUiLCJzZXRGb3JtYXQiLCJmb3JtYXQiLCJzZXRJbmRlbnQiLCJpbmRlbnQiLCJzZXREaXJlY3Rpb24iLCJkaXJlY3Rpb24iLCJjYW5CZUVtcHR5IiwiY2FuSW5zZXJ0VGV4dEFmdGVyIiwiY2FuSW5zZXJ0VGV4dEJlZm9yZSIsImNyZWF0ZURPTSIsImNvbmZpZyIsImVsZW1lbnQiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJocmVmIiwic2FuaXRpemVVcmwiLCJ0YXJnZXQiLCJyZWwiLCJtYW5hZ2VSZWwiLCJzcG9uc29yZWQiLCJub2ZvbGxvdyIsIl9fcmVsIiwiYWRkQ2xhc3NOYW1lc1RvRWxlbWVudCIsInRoZW1lIiwibGluayIsImV4cG9ydEpTT04iLCJnZXRGaWVsZHMiLCJ0eXBlIiwidmVyc2lvbiIsImV4dHJhY3RXaXRoQ2hpbGQiLCJjaGlsZCIsInNlbGVjdGlvbiIsImRlc3RpbmF0aW9uIiwiJGlzUmFuZ2VTZWxlY3Rpb24iLCJhbmNob3JOb2RlIiwiYW5jaG9yIiwiZ2V0Tm9kZSIsImZvY3VzTm9kZSIsImZvY3VzIiwiaXNQYXJlbnRPZiIsImdldFRleHRDb250ZW50IiwibGVuZ3RoIiwiZ2V0TGF0ZXN0IiwiaW5zZXJ0TmV3QWZ0ZXIiLCJyZXN0b3JlU2VsZWN0aW9uIiwiZ2V0UGFyZW50T3JUaHJvdyIsIiRpc0VsZW1lbnROb2RlIiwibGlua05vZGUiLCJhcHBlbmQiLCJpc0lubGluZSIsInBhcnNlZFVybCIsIlVSTCIsImhhcyIsInByb3RvY29sIiwiZSIsInNldEZpZWxkcyIsIndyaXRhYmxlIiwiZ2V0V3JpdGFibGUiLCJ1cGRhdGVET00iLCJwcmV2Tm9kZSIsInJlbW92ZUF0dHJpYnV0ZSIsImRvbU5vZGUiLCJpc0hUTUxBbmNob3JFbGVtZW50IiwiY29udGVudCIsInRleHRDb250ZW50IiwiZ2V0QXR0cmlidXRlIiwiaW5jbHVkZXMiLCIkYXBwbHlOb2RlUmVwbGFjZW1lbnQiLCJjcmVhdGVDb21tYW5kIiwicGF5bG9hZCIsIiRnZXRTZWxlY3Rpb24iLCJub2RlcyIsImV4dHJhY3QiLCJmb3JFYWNoIiwicGFyZW50IiwiZ2V0UGFyZW50IiwiY2hpbGRyZW4iLCJnZXRDaGlsZHJlbiIsImkiLCJpbnNlcnRCZWZvcmUiLCJyZW1vdmUiLCJmaXJzdE5vZGUiLCIkZ2V0TGlua0FuY2VzdG9yIiwidGV4dCIsIiRjcmVhdGVUZXh0Tm9kZSIsImdldExhc3RDaGlsZCIsInByZXZQYXJlbnQiLCJpcyIsImdldFByZXZpb3VzU2libGluZyIsImluc2VydEFmdGVyIiwiJGdldEFuY2VzdG9yIiwiYW5jZXN0b3IiLCJwcmVkaWNhdGUiLCJpbnB1dCIsImFjdGlvbiIsInZhbHVlIiwicmVzdWx0IiwibXV0YWJsZUlucHV0IiwicmUiLCJSZWdFeHAiLCJyZXBsYWNlIiwidHJpbSJdLCJtYXBwaW5ncyI6IkFBQUEsMEJBQTBCLEdBQzFCOzs7Ozs7Q0FNQzs7Ozs7Ozs7Ozs7SUFpRFlBLFFBQVE7ZUFBUkE7O0lBOE9HQyxlQUFlO2VBQWZBOztJQUlBQyxXQUFXO2VBQVhBOztJQUlIQyxtQkFBbUI7ZUFBbkJBOztJQUdHQyxVQUFVO2VBQVZBOzs7dUJBeFM0Qzt5QkFvQnJEO0FBd0JQLE1BQU1DLDBCQUEwQixJQUFJQyxJQUFJO0lBQUM7SUFBUztJQUFVO0lBQVc7SUFBUTtDQUFPO0FBRy9FLE1BQU1OLGlCQUFpQk8sb0JBQVc7SUFDdkNDLFNBQW9CO0lBRXBCQyxZQUFZLEVBQ1ZDLFNBQVM7UUFDUEMsS0FBSztRQUNMQyxVQUFVO1FBQ1ZDLFFBQVE7UUFDUkMsS0FBS0M7SUFDUCxDQUFDLEVBQ0RDLEdBQUcsRUFJSixDQUFFO1FBQ0QsS0FBSyxDQUFDQTtRQUNOLElBQUksQ0FBQ1IsUUFBUSxHQUFHRTtJQUNsQjtJQUVBLE9BQU9PLE1BQU1DLElBQWMsRUFBWTtRQUNyQyxPQUFPLElBQUlsQixTQUFTO1lBQ2xCVSxRQUFRUSxLQUFLVixRQUFRO1lBQ3JCUSxLQUFLRSxLQUFLQyxLQUFLO1FBQ2pCO0lBQ0Y7SUFFQSxPQUFPQyxVQUFr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
|
|
328
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9MaW5rL25vZGVzL0xpbmtOb2RlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQG1vZHVsZSBAbGV4aWNhbC9saW5rICovXG4vKipcbiAqIENvcHlyaWdodCAoYykgTWV0YSBQbGF0Zm9ybXMsIEluYy4gYW5kIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCB7IGFkZENsYXNzTmFtZXNUb0VsZW1lbnQsIGlzSFRNTEFuY2hvckVsZW1lbnQgfSBmcm9tICdAbGV4aWNhbC91dGlscydcbmltcG9ydCB7XG4gICRhcHBseU5vZGVSZXBsYWNlbWVudCxcbiAgJGNyZWF0ZVRleHROb2RlLFxuICAkZ2V0U2VsZWN0aW9uLFxuICAkaXNFbGVtZW50Tm9kZSxcbiAgJGlzUmFuZ2VTZWxlY3Rpb24sXG4gIHR5cGUgRE9NQ29udmVyc2lvbk1hcCxcbiAgdHlwZSBET01Db252ZXJzaW9uT3V0cHV0LFxuICB0eXBlIEVkaXRvckNvbmZpZyxcbiAgRWxlbWVudE5vZGUsXG4gIHR5cGUgR3JpZFNlbGVjdGlvbixcbiAgdHlwZSBMZXhpY2FsQ29tbWFuZCxcbiAgdHlwZSBMZXhpY2FsTm9kZSxcbiAgdHlwZSBOb2RlS2V5LFxuICB0eXBlIE5vZGVTZWxlY3Rpb24sXG4gIHR5cGUgUmFuZ2VTZWxlY3Rpb24sXG4gIHR5cGUgU2VyaWFsaXplZEVsZW1lbnROb2RlLFxuICB0eXBlIFNwcmVhZCxcbiAgY3JlYXRlQ29tbWFuZCxcbn0gZnJvbSAnbGV4aWNhbCdcblxuaW1wb3J0IHR5cGUgeyBMaW5rUGF5bG9hZCB9IGZyb20gJy4uL3BsdWdpbnMvZmxvYXRpbmdMaW5rRWRpdG9yL3R5cGVzJ1xuXG5leHBvcnQgdHlwZSBMaW5rRmllbGRzID0ge1xuICAvLyB1bmtub3duLCBjdXN0b20gZmllbGRzOlxuICBba2V5OiBzdHJpbmddOiB1bmtub3duXG4gIGRvYzoge1xuICAgIHJlbGF0aW9uVG86IHN0cmluZ1xuICAgIHZhbHVlOiB7XG4gICAgICAvLyBBY3R1YWwgZG9jIGRhdGEsIHBvcHVsYXRlZCBpbiBhZnRlclJlYWQgaG9va1xuICAgICAgW2tleTogc3RyaW5nXTogdW5rbm93blxuICAgICAgaWQ6IHN0cmluZ1xuICAgIH1cbiAgfSB8IG51bGxcbiAgbGlua1R5cGU6ICdjdXN0b20nIHwgJ2ludGVybmFsJ1xuICBuZXdUYWI6IGJvb2xlYW5cbiAgdXJsOiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgU2VyaWFsaXplZExpbmtOb2RlID0gU3ByZWFkPFxuICB7XG4gICAgZmllbGRzOiBMaW5rRmllbGRzXG4gIH0sXG4gIFNlcmlhbGl6ZWRFbGVtZW50Tm9kZVxuPlxuXG5jb25zdCBTVVBQT1JURURfVVJMX1BST1RPQ09MUyA9IG5ldyBTZXQoWydodHRwOicsICdodHRwczonLCAnbWFpbHRvOicsICdzbXM6JywgJ3RlbDonXSlcblxuLyoqIEBub0luaGVyaXREb2MgKi9cbmV4cG9ydCBjbGFzcyBMaW5rTm9kZSBleHRlbmRzIEVsZW1lbnROb2RlIHtcbiAgX19maWVsZHM6IExpbmtGaWVsZHNcblxuICBjb25zdHJ1Y3Rvcih7XG4gICAgZmllbGRzID0ge1xuICAgICAgZG9jOiBudWxsLFxuICAgICAgbGlua1R5cGU6ICdjdXN0b20nLFxuICAgICAgbmV3VGFiOiBmYWxzZSxcbiAgICAgIHVybDogdW5kZWZpbmVkLFxuICAgIH0sXG4gICAga2V5LFxuICB9OiB7XG4gICAgZmllbGRzOiBMaW5rRmllbGRzXG4gICAga2V5PzogTm9kZUtleVxuICB9KSB7XG4gICAgc3VwZXIoa2V5KVxuICAgIHRoaXMuX19maWVsZHMgPSBmaWVsZHNcbiAgfVxuXG4gIHN0YXRpYyBjbG9uZShub2RlOiBMaW5rTm9kZSk6IExpbmtOb2RlIHtcbiAgICByZXR1cm4gbmV3IExpbmtOb2RlKHtcbiAgICAgIGZpZWxkczogbm9kZS5fX2ZpZWxkcyxcbiAgICAgIGtleTogbm9kZS5fX2tleSxcbiAgICB9KVxuICB9XG5cbiAgc3RhdGljIGdldFR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2xpbmsnXG4gIH1cblxuICBzdGF0aWMgaW1wb3J0RE9NKCk6IERPTUNvbnZlcnNpb25NYXAgfCBudWxsIHtcbiAgICByZXR1cm4ge1xuICAgICAgYTogKG5vZGU6IE5vZGUpID0+ICh7XG4gICAgICAgIGNvbnZlcnNpb246IGNvbnZlcnRBbmNob3JFbGVtZW50LFxuICAgICAgICBwcmlvcml0eTogMSxcbiAgICAgIH0pLFxuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBpbXBvcnRKU09OKHNlcmlhbGl6ZWROb2RlOiBTZXJpYWxpemVkTGlua05vZGUpOiBMaW5rTm9kZSB7XG4gICAgY29uc3Qgbm9kZSA9ICRjcmVhdGVMaW5rTm9kZSh7XG4gICAgICBmaWVsZHM6IHNlcmlhbGl6ZWROb2RlLmZpZWxkcyxcbiAgICB9KVxuICAgIG5vZGUuc2V0Rm9ybWF0KHNlcmlhbGl6ZWROb2RlLmZvcm1hdClcbiAgICBub2RlLnNldEluZGVudChzZXJpYWxpemVkTm9kZS5pbmRlbnQpXG4gICAgbm9kZS5zZXREaXJlY3Rpb24oc2VyaWFsaXplZE5vZGUuZGlyZWN0aW9uKVxuICAgIHJldHVybiBub2RlXG4gIH1cblxuICBjYW5CZUVtcHR5KCk6IGZhbHNlIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGNhbkluc2VydFRleHRBZnRlcigpOiBmYWxzZSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBjYW5JbnNlcnRUZXh0QmVmb3JlKCk6IGZhbHNlIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGNyZWF0ZURPTShjb25maWc6IEVkaXRvckNvbmZpZyk6IEhUTUxBbmNob3JFbGVtZW50IHtcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpXG4gICAgaWYgKHRoaXMuX19maWVsZHM/LmxpbmtUeXBlID09PSAnY3VzdG9tJykge1xuICAgICAgZWxlbWVudC5ocmVmID0gdGhpcy5zYW5pdGl6ZVVybCh0aGlzLl9fZmllbGRzLnVybCA/PyAnJylcbiAgICB9XG4gICAgaWYgKHRoaXMuX19maWVsZHM/Lm5ld1RhYiA/PyBmYWxzZSkge1xuICAgICAgZWxlbWVudC50YXJnZXQgPSAnX2JsYW5rJ1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9fZmllbGRzPy5uZXdUYWIgPT09IHRydWUgJiYgdGhpcy5fX2ZpZWxkcz8ubGlua1R5cGUgPT09ICdjdXN0b20nKSB7XG4gICAgICBlbGVtZW50LnJlbCA9IG1hbmFnZVJlbChlbGVtZW50LnJlbCwgJ2FkZCcsICdub29wZW5lcicpXG4gICAgfVxuXG4gICAgYWRkQ2xhc3NOYW1lc1RvRWxlbWVudChlbGVtZW50LCBjb25maWcudGhlbWUubGluaylcbiAgICByZXR1cm4gZWxlbWVudFxuICB9XG5cbiAgZXhwb3J0SlNPTigpOiBTZXJpYWxpemVkTGlua05vZGUge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdXBlci5leHBvcnRKU09OKCksXG4gICAgICBmaWVsZHM6IHRoaXMuZ2V0RmllbGRzKCksXG4gICAgICB0eXBlOiB0aGlzLmdldFR5cGUoKSxcbiAgICAgIHZlcnNpb246IDEsXG4gICAgfVxuICB9XG5cbiAgZXh0cmFjdFdpdGhDaGlsZChcbiAgICBjaGlsZDogTGV4aWNhbE5vZGUsXG4gICAgc2VsZWN0aW9uOiBHcmlkU2VsZWN0aW9uIHwgTm9kZVNlbGVjdGlvbiB8IFJhbmdlU2VsZWN0aW9uLFxuICAgIGRlc3RpbmF0aW9uOiAnY2xvbmUnIHwgJ2h0bWwnLFxuICApOiBib29sZWFuIHtcbiAgICBpZiAoISRpc1JhbmdlU2VsZWN0aW9uKHNlbGVjdGlvbikpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIGNvbnN0IGFuY2hvck5vZGUgPSBzZWxlY3Rpb24uYW5jaG9yLmdldE5vZGUoKVxuICAgIGNvbnN0IGZvY3VzTm9kZSA9IHNlbGVjdGlvbi5mb2N1cy5nZXROb2RlKClcblxuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmlzUGFyZW50T2YoYW5jaG9yTm9kZSkgJiZcbiAgICAgIHRoaXMuaXNQYXJlbnRPZihmb2N1c05vZGUpICYmXG4gICAgICBzZWxlY3Rpb24uZ2V0VGV4dENvbnRlbnQoKS5sZW5ndGggPiAwXG4gICAgKVxuICB9XG5cbiAgZ2V0RmllbGRzKCk6IExpbmtGaWVsZHMge1xuICAgIHJldHVybiB0aGlzLmdldExhdGVzdCgpLl9fZmllbGRzXG4gIH1cblxuICBpbnNlcnROZXdBZnRlcihzZWxlY3Rpb246IFJhbmdlU2VsZWN0aW9uLCByZXN0b3JlU2VsZWN0aW9uID0gdHJ1ZSk6IEVsZW1lbnROb2RlIHwgbnVsbCB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZ2V0UGFyZW50T3JUaHJvdygpLmluc2VydE5ld0FmdGVyKHNlbGVjdGlvbiwgcmVzdG9yZVNlbGVjdGlvbilcbiAgICBpZiAoJGlzRWxlbWVudE5vZGUoZWxlbWVudCkpIHtcbiAgICAgIGNvbnN0IGxpbmtOb2RlID0gJGNyZWF0ZUxpbmtOb2RlKHsgZmllbGRzOiB0aGlzLl9fZmllbGRzIH0pXG4gICAgICBlbGVtZW50LmFwcGVuZChsaW5rTm9kZSlcbiAgICAgIHJldHVybiBsaW5rTm9kZVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgaXNJbmxpbmUoKTogdHJ1ZSB7XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIHNhbml0aXplVXJsKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGFyc2VkVXJsID0gbmV3IFVSTCh1cmwpXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2NyaXB0LXVybFxuICAgICAgaWYgKCFTVVBQT1JURURfVVJMX1BST1RPQ09MUy5oYXMocGFyc2VkVXJsLnByb3RvY29sKSkge1xuICAgICAgICByZXR1cm4gJ2Fib3V0OmJsYW5rJ1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiAnaHR0cHM6Ly8nXG4gICAgfVxuICAgIHJldHVybiB1cmxcbiAgfVxuXG4gIHNldEZpZWxkcyhmaWVsZHM6IExpbmtGaWVsZHMpOiB2b2lkIHtcbiAgICBjb25zdCB3cml0YWJsZSA9IHRoaXMuZ2V0V3JpdGFibGUoKVxuICAgIHdyaXRhYmxlLl9fZmllbGRzID0gZmllbGRzXG4gIH1cblxuICB1cGRhdGVET00ocHJldk5vZGU6IExpbmtOb2RlLCBhbmNob3I6IEhUTUxBbmNob3JFbGVtZW50LCBjb25maWc6IEVkaXRvckNvbmZpZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuX19maWVsZHM/LnVybFxuICAgIGNvbnN0IG5ld1RhYiA9IHRoaXMuX19maWVsZHM/Lm5ld1RhYlxuICAgIGlmICh1cmwgIT0gbnVsbCAmJiB1cmwgIT09IHByZXZOb2RlLl9fZmllbGRzPy51cmwgJiYgdGhpcy5fX2ZpZWxkcz8ubGlua1R5cGUgPT09ICdjdXN0b20nKSB7XG4gICAgICBhbmNob3IuaHJlZiA9IHVybFxuICAgIH1cbiAgICBpZiAodGhpcy5fX2ZpZWxkcz8ubGlua1R5cGUgPT09ICdpbnRlcm5hbCcgJiYgcHJldk5vZGUuX19maWVsZHM/LmxpbmtUeXBlID09PSAnY3VzdG9tJykge1xuICAgICAgYW5jaG9yLnJlbW92ZUF0dHJpYnV0ZSgnaHJlZicpXG4gICAgfVxuXG4gICAgLy8gVE9ETzogbm90IDEwMCUgc3VyZSB3aHkgd2UncmUgc2V0dGlnbiByZWwgdG8gJycgLSByZXZpc2l0XG4gICAgLy8gU3RhcnQgcmVsIGNvbmZpZyBoZXJlLCB0aGVuIGNoZWNrIG5ld1RhYiBiZWxvd1xuICAgIGlmIChhbmNob3IucmVsID09IG51bGwpIHtcbiAgICAgIGFuY2hvci5yZWwgPSAnJ1xuICAgIH1cblxuICAgIGlmIChuZXdUYWIgIT09IHByZXZOb2RlLl9fZmllbGRzPy5uZXdUYWIpIHtcbiAgICAgIGlmIChuZXdUYWIgPz8gZmFsc2UpIHtcbiAgICAgICAgYW5jaG9yLnRhcmdldCA9ICdfYmxhbmsnXG4gICAgICAgIGlmICh0aGlzLl9fZmllbGRzPy5saW5rVHlwZSA9PT0gJ2N1c3RvbScpIHtcbiAgICAgICAgICBhbmNob3IucmVsID0gbWFuYWdlUmVsKGFuY2hvci5yZWwsICdhZGQnLCAnbm9vcGVuZXInKVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhbmNob3IucmVtb3ZlQXR0cmlidXRlKCd0YXJnZXQnKVxuICAgICAgICBhbmNob3IucmVsID0gbWFuYWdlUmVsKGFuY2hvci5yZWwsICdyZW1vdmUnLCAnbm9vcGVuZXInKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRBbmNob3JFbGVtZW50KGRvbU5vZGU6IE5vZGUpOiBET01Db252ZXJzaW9uT3V0cHV0IHtcbiAgbGV0IG5vZGU6IExpbmtOb2RlIHwgbnVsbCA9IG51bGxcbiAgaWYgKGlzSFRNTEFuY2hvckVsZW1lbnQoZG9tTm9kZSkpIHtcbiAgICBjb25zdCBjb250ZW50ID0gZG9tTm9kZS50ZXh0Q29udGVudFxuICAgIGlmIChjb250ZW50ICE9PSBudWxsICYmIGNvbnRlbnQgIT09ICcnKSB7XG4gICAgICBub2RlID0gJGNyZWF0ZUxpbmtOb2RlKHtcbiAgICAgICAgZmllbGRzOiB7XG4gICAgICAgICAgZG9jOiBudWxsLFxuICAgICAgICAgIGxpbmtUeXBlOiAnY3VzdG9tJyxcbiAgICAgICAgICBuZXdUYWI6IGRvbU5vZGUuZ2V0QXR0cmlidXRlKCd0YXJnZXQnKSA9PT0gJ19ibGFuaycsXG4gICAgICAgICAgdXJsOiBkb21Ob2RlLmdldEF0dHJpYnV0ZSgnaHJlZicpID8/ICcnLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHsgbm9kZSB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiAkY3JlYXRlTGlua05vZGUoeyBmaWVsZHMgfTogeyBmaWVsZHM6IExpbmtGaWVsZHMgfSk6IExpbmtOb2RlIHtcbiAgcmV0dXJuICRhcHBseU5vZGVSZXBsYWNlbWVudChuZXcgTGlua05vZGUoeyBmaWVsZHMgfSkpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiAkaXNMaW5rTm9kZShub2RlOiBMZXhpY2FsTm9kZSB8IG51bGwgfCB1bmRlZmluZWQpOiBub2RlIGlzIExpbmtOb2RlIHtcbiAgcmV0dXJuIG5vZGUgaW5zdGFuY2VvZiBMaW5rTm9kZVxufVxuXG5leHBvcnQgY29uc3QgVE9HR0xFX0xJTktfQ09NTUFORDogTGV4aWNhbENvbW1hbmQ8TGlua1BheWxvYWQgfCBudWxsPiA9XG4gIGNyZWF0ZUNvbW1hbmQoJ1RPR0dMRV9MSU5LX0NPTU1BTkQnKVxuXG5leHBvcnQgZnVuY3Rpb24gdG9nZ2xlTGluayhwYXlsb2FkOiBMaW5rUGF5bG9hZCk6IHZvaWQge1xuICBjb25zdCBzZWxlY3Rpb24gPSAkZ2V0U2VsZWN0aW9uKClcblxuICBpZiAoISRpc1JhbmdlU2VsZWN0aW9uKHNlbGVjdGlvbikpIHtcbiAgICByZXR1cm5cbiAgfVxuICBjb25zdCBub2RlcyA9IHNlbGVjdGlvbi5leHRyYWN0KClcblxuICBpZiAocGF5bG9hZCA9PT0gbnVsbCkge1xuICAgIC8vIFJlbW92ZSBMaW5rTm9kZXNcbiAgICBub2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICBjb25zdCBwYXJlbnQgPSBub2RlLmdldFBhcmVudCgpXG5cbiAgICAgIGlmICgkaXNMaW5rTm9kZShwYXJlbnQpKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gcGFyZW50LmdldENoaWxkcmVuKClcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgICAgICAgcGFyZW50Lmluc2VydEJlZm9yZShjaGlsZHJlbltpXSlcbiAgICAgICAgfVxuXG4gICAgICAgIHBhcmVudC5yZW1vdmUoKVxuICAgICAgfVxuICAgIH0pXG4gIH0gZWxzZSB7XG4gICAgLy8gQWRkIG9yIG1lcmdlIExpbmtOb2Rlc1xuICAgIGlmIChub2Rlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIGNvbnN0IGZpcnN0Tm9kZSA9IG5vZGVzWzBdXG4gICAgICAvLyBpZiB0aGUgZmlyc3Qgbm9kZSBpcyBhIExpbmtOb2RlIG9yIGlmIGl0c1xuICAgICAgLy8gcGFyZW50IGlzIGEgTGlua05vZGUsIHdlIHVwZGF0ZSB0aGUgVVJMLCB0YXJnZXQgYW5kIHJlbC5cbiAgICAgIGNvbnN0IGxpbmtOb2RlOiBMaW5rTm9kZSB8IG51bGwgPSAkaXNMaW5rTm9kZShmaXJzdE5vZGUpXG4gICAgICAgID8gZmlyc3ROb2RlXG4gICAgICAgIDogJGdldExpbmtBbmNlc3RvcihmaXJzdE5vZGUpXG4gICAgICBpZiAobGlua05vZGUgIT09IG51bGwpIHtcbiAgICAgICAgbGlua05vZGUuc2V0RmllbGRzKHBheWxvYWQuZmllbGRzKVxuXG4gICAgICAgIGlmIChwYXlsb2FkLnRleHQgIT0gbnVsbCAmJiBwYXlsb2FkLnRleHQgIT09IGxpbmtOb2RlLmdldFRleHRDb250ZW50KCkpIHtcbiAgICAgICAgICAvLyByZW1vdmUgYWxsIGNoaWxkcmVuIGFuZCBhZGQgY2hpbGQgd2l0aCBuZXcgdGV4dGNvbnRlbnQ6XG4gICAgICAgICAgbGlua05vZGUuYXBwZW5kKCRjcmVhdGVUZXh0Tm9kZShwYXlsb2FkLnRleHQpKVxuICAgICAgICAgIGxpbmtOb2RlLmdldENoaWxkcmVuKCkuZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgICAgIGlmIChjaGlsZCAhPT0gbGlua05vZGUuZ2V0TGFzdENoaWxkKCkpIHtcbiAgICAgICAgICAgICAgY2hpbGQucmVtb3ZlKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBwcmV2UGFyZW50OiBFbGVtZW50Tm9kZSB8IExpbmtOb2RlIHwgbnVsbCA9IG51bGxcbiAgICBsZXQgbGlua05vZGU6IExpbmtOb2RlIHwgbnVsbCA9IG51bGxcblxuICAgIG5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgIGNvbnN0IHBhcmVudCA9IG5vZGUuZ2V0UGFyZW50KClcblxuICAgICAgaWYgKHBhcmVudCA9PT0gbGlua05vZGUgfHwgcGFyZW50ID09PSBudWxsIHx8ICgkaXNFbGVtZW50Tm9kZShub2RlKSAmJiAhbm9kZS5pc0lubGluZSgpKSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKCRpc0xpbmtOb2RlKHBhcmVudCkpIHtcbiAgICAgICAgbGlua05vZGUgPSBwYXJlbnRcbiAgICAgICAgcGFyZW50LnNldEZpZWxkcyhwYXlsb2FkLmZpZWxkcylcbiAgICAgICAgaWYgKHBheWxvYWQudGV4dCAhPSBudWxsICYmIHBheWxvYWQudGV4dCAhPT0gcGFyZW50LmdldFRleHRDb250ZW50KCkpIHtcbiAgICAgICAgICAvLyByZW1vdmUgYWxsIGNoaWxkcmVuIGFuZCBhZGQgY2hpbGQgd2l0aCBuZXcgdGV4dGNvbnRlbnQ6XG4gICAgICAgICAgcGFyZW50LmFwcGVuZCgkY3JlYXRlVGV4dE5vZGUocGF5bG9hZC50ZXh0KSlcbiAgICAgICAgICBwYXJlbnQuZ2V0Q2hpbGRyZW4oKS5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgaWYgKGNoaWxkICE9PSBwYXJlbnQuZ2V0TGFzdENoaWxkKCkpIHtcbiAgICAgICAgICAgICAgY2hpbGQucmVtb3ZlKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBpZiAoIXBhcmVudC5pcyhwcmV2UGFyZW50KSkge1xuICAgICAgICBwcmV2UGFyZW50ID0gcGFyZW50XG4gICAgICAgIGxpbmtOb2RlID0gJGNyZWF0ZUxpbmtOb2RlKHsgZmllbGRzOiBwYXlsb2FkLmZpZWxkcyB9KVxuXG4gICAgICAgIGlmICgkaXNMaW5rTm9kZShwYXJlbnQpKSB7XG4gICAgICAgICAgaWYgKG5vZGUuZ2V0UHJldmlvdXNTaWJsaW5nKCkgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHBhcmVudC5pbnNlcnRCZWZvcmUobGlua05vZGUpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBhcmVudC5pbnNlcnRBZnRlcihsaW5rTm9kZSlcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbm9kZS5pbnNlcnRCZWZvcmUobGlua05vZGUpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCRpc0xpbmtOb2RlKG5vZGUpKSB7XG4gICAgICAgIGlmIChub2RlLmlzKGxpbmtOb2RlKSkge1xuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICAgIGlmIChsaW5rTm9kZSAhPT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IGNoaWxkcmVuID0gbm9kZS5nZXRDaGlsZHJlbigpXG5cbiAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgICAgICAgICBsaW5rTm9kZS5hcHBlbmQoY2hpbGRyZW5baV0pXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbm9kZS5yZW1vdmUoKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKGxpbmtOb2RlICE9PSBudWxsKSB7XG4gICAgICAgIGxpbmtOb2RlLmFwcGVuZChub2RlKVxuICAgICAgfVxuICAgIH0pXG4gIH1cbn1cblxuZnVuY3Rpb24gJGdldExpbmtBbmNlc3Rvcihub2RlOiBMZXhpY2FsTm9kZSk6IExpbmtOb2RlIHwgbnVsbCB7XG4gIHJldHVybiAkZ2V0QW5jZXN0b3Iobm9kZSwgKGFuY2VzdG9yKSA9PiAkaXNMaW5rTm9kZShhbmNlc3RvcikpIGFzIExpbmtOb2RlXG59XG5cbmZ1bmN0aW9uICRnZXRBbmNlc3RvcihcbiAgbm9kZTogTGV4aWNhbE5vZGUsXG4gIHByZWRpY2F0ZTogKGFuY2VzdG9yOiBMZXhpY2FsTm9kZSkgPT4gYm9vbGVhbixcbik6IExleGljYWxOb2RlIHwgbnVsbCB7XG4gIGxldCBwYXJlbnQ6IExleGljYWxOb2RlIHwgbnVsbCA9IG5vZGVcbiAgd2hpbGUgKHBhcmVudCAhPT0gbnVsbCAmJiAocGFyZW50ID0gcGFyZW50LmdldFBhcmVudCgpKSAhPT0gbnVsbCAmJiAhcHJlZGljYXRlKHBhcmVudCkpO1xuICByZXR1cm4gcGFyZW50XG59XG5cbmZ1bmN0aW9uIG1hbmFnZVJlbChpbnB1dDogc3RyaW5nLCBhY3Rpb246ICdhZGQnIHwgJ3JlbW92ZScsIHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICBsZXQgcmVzdWx0OiBzdHJpbmdcbiAgbGV0IG11dGFibGVJbnB1dCA9IGAke2lucHV0fWBcbiAgaWYgKGFjdGlvbiA9PT0gJ2FkZCcpIHtcbiAgICAvLyBpZiB3ZSBzb21laG93IGdvdCBvdXQgb2Ygc3luYyAtIGNsZWFuIHVwXG4gICAgaWYgKG11dGFibGVJbnB1dC5pbmNsdWRlcyh2YWx1ZSkpIHtcbiAgICAgIGNvbnN0IHJlID0gbmV3IFJlZ0V4cCh2YWx1ZSwgJ2cnKVxuICAgICAgbXV0YWJsZUlucHV0ID0gbXV0YWJsZUlucHV0LnJlcGxhY2UocmUsICcnKS50cmltKClcbiAgICB9XG4gICAgbXV0YWJsZUlucHV0ID0gbXV0YWJsZUlucHV0LnRyaW0oKVxuICAgIHJlc3VsdCA9IG11dGFibGVJbnB1dC5sZW5ndGggPT09IDAgPyBgJHt2YWx1ZX1gIDogYCR7bXV0YWJsZUlucHV0fSAke3ZhbHVlfWBcbiAgfSBlbHNlIHtcbiAgICBjb25zdCByZSA9IG5ldyBSZWdFeHAodmFsdWUsICdnJylcbiAgICByZXN1bHQgPSBtdXRhYmxlSW5wdXQucmVwbGFjZShyZSwgJycpLnRyaW0oKVxuICB9XG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJMaW5rTm9kZSIsIiRjcmVhdGVMaW5rTm9kZSIsIiRpc0xpbmtOb2RlIiwiVE9HR0xFX0xJTktfQ09NTUFORCIsInRvZ2dsZUxpbmsiLCJTVVBQT1JURURfVVJMX1BST1RPQ09MUyIsIlNldCIsIkVsZW1lbnROb2RlIiwiX19maWVsZHMiLCJjb25zdHJ1Y3RvciIsImZpZWxkcyIsImRvYyIsImxpbmtUeXBlIiwibmV3VGFiIiwidXJsIiwidW5kZWZpbmVkIiwia2V5IiwiY2xvbmUiLCJub2RlIiwiX19rZXkiLCJnZXRUeXBlIiwiaW1wb3J0RE9NIiwiYSIsImNvbnZlcnNpb24iLCJjb252ZXJ0QW5jaG9yRWxlbWVudCIsInByaW9yaXR5IiwiaW1wb3J0SlNPTiIsInNlcmlhbGl6ZWROb2RlIiwic2V0Rm9ybWF0IiwiZm9ybWF0Iiwic2V0SW5kZW50IiwiaW5kZW50Iiwic2V0RGlyZWN0aW9uIiwiZGlyZWN0aW9uIiwiY2FuQmVFbXB0eSIsImNhbkluc2VydFRleHRBZnRlciIsImNhbkluc2VydFRleHRCZWZvcmUiLCJjcmVhdGVET00iLCJjb25maWciLCJlbGVtZW50IiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiaHJlZiIsInNhbml0aXplVXJsIiwidGFyZ2V0IiwicmVsIiwibWFuYWdlUmVsIiwiYWRkQ2xhc3NOYW1lc1RvRWxlbWVudCIsInRoZW1lIiwibGluayIsImV4cG9ydEpTT04iLCJnZXRGaWVsZHMiLCJ0eXBlIiwidmVyc2lvbiIsImV4dHJhY3RXaXRoQ2hpbGQiLCJjaGlsZCIsInNlbGVjdGlvbiIsImRlc3RpbmF0aW9uIiwiJGlzUmFuZ2VTZWxlY3Rpb24iLCJhbmNob3JOb2RlIiwiYW5jaG9yIiwiZ2V0Tm9kZSIsImZvY3VzTm9kZSIsImZvY3VzIiwiaXNQYXJlbnRPZiIsImdldFRleHRDb250ZW50IiwibGVuZ3RoIiwiZ2V0TGF0ZXN0IiwiaW5zZXJ0TmV3QWZ0ZXIiLCJyZXN0b3JlU2VsZWN0aW9uIiwiZ2V0UGFyZW50T3JUaHJvdyIsIiRpc0VsZW1lbnROb2RlIiwibGlua05vZGUiLCJhcHBlbmQiLCJpc0lubGluZSIsInBhcnNlZFVybCIsIlVSTCIsImhhcyIsInByb3RvY29sIiwiZSIsInNldEZpZWxkcyIsIndyaXRhYmxlIiwiZ2V0V3JpdGFibGUiLCJ1cGRhdGVET00iLCJwcmV2Tm9kZSIsInJlbW92ZUF0dHJpYnV0ZSIsImRvbU5vZGUiLCJpc0hUTUxBbmNob3JFbGVtZW50IiwiY29udGVudCIsInRleHRDb250ZW50IiwiZ2V0QXR0cmlidXRlIiwiJGFwcGx5Tm9kZVJlcGxhY2VtZW50IiwiY3JlYXRlQ29tbWFuZCIsInBheWxvYWQiLCIkZ2V0U2VsZWN0aW9uIiwibm9kZXMiLCJleHRyYWN0IiwiZm9yRWFjaCIsInBhcmVudCIsImdldFBhcmVudCIsImNoaWxkcmVuIiwiZ2V0Q2hpbGRyZW4iLCJpIiwiaW5zZXJ0QmVmb3JlIiwicmVtb3ZlIiwiZmlyc3ROb2RlIiwiJGdldExpbmtBbmNlc3RvciIsInRleHQiLCIkY3JlYXRlVGV4dE5vZGUiLCJnZXRMYXN0Q2hpbGQiLCJwcmV2UGFyZW50IiwiaXMiLCJnZXRQcmV2aW91c1NpYmxpbmciLCJpbnNlcnRBZnRlciIsIiRnZXRBbmNlc3RvciIsImFuY2VzdG9yIiwicHJlZGljYXRlIiwiaW5wdXQiLCJhY3Rpb24iLCJ2YWx1ZSIsInJlc3VsdCIsIm11dGFibGVJbnB1dCIsImluY2x1ZGVzIiwicmUiLCJSZWdFeHAiLCJyZXBsYWNlIiwidHJpbSJdLCJtYXBwaW5ncyI6IkFBQUEsMEJBQTBCLEdBQzFCOzs7Ozs7Q0FNQzs7Ozs7Ozs7Ozs7SUFvRFlBLFFBQVE7ZUFBUkE7O0lBZ01HQyxlQUFlO2VBQWZBOztJQUlBQyxXQUFXO2VBQVhBOztJQUlIQyxtQkFBbUI7ZUFBbkJBOztJQUdHQyxVQUFVO2VBQVZBOzs7dUJBN1A0Qzt5QkFvQnJEO0FBMkJQLE1BQU1DLDBCQUEwQixJQUFJQyxJQUFJO0lBQUM7SUFBUztJQUFVO0lBQVc7SUFBUTtDQUFPO0FBRy9FLE1B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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AA8B7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAS3C,eAAO,MAAM,8BAA8B,EAAE,cAAc,CAAC,WAAW,GAAG,IAAI,CAE7E,CAAA;AAED,wBAAgB,UAAU,CAAC,EACzB,UAAU,EACV,MAAM,EAAE,iBAAiB,GAC1B,EAAE;IAAE,UAAU,EAAE,WAAW,CAAA;CAAE,GAAG,gBAAgB,GAAG,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AA8B7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAS3C,eAAO,MAAM,8BAA8B,EAAE,cAAc,CAAC,WAAW,GAAG,IAAI,CAE7E,CAAA;AAED,wBAAgB,UAAU,CAAC,EACzB,UAAU,EACV,MAAM,EAAE,iBAAiB,GAC1B,EAAE;IAAE,UAAU,EAAE,WAAW,CAAA;CAAE,GAAG,gBAAgB,GAAG,GAAG,CAAC,OAAO,CA+R9D"}
|
|
@@ -127,8 +127,6 @@ function LinkEditor({ anchorElem, fields: customFieldSchema }) {
|
|
|
127
127
|
doc: undefined,
|
|
128
128
|
linkType: undefined,
|
|
129
129
|
newTab: undefined,
|
|
130
|
-
nofollow: undefined,
|
|
131
|
-
sponsored: undefined,
|
|
132
130
|
url: '',
|
|
133
131
|
...linkParent.getFields()
|
|
134
132
|
},
|
|
@@ -139,7 +137,7 @@ function LinkEditor({ anchorElem, fields: customFieldSchema }) {
|
|
|
139
137
|
setLinkLabel('');
|
|
140
138
|
} else {
|
|
141
139
|
// internal link
|
|
142
|
-
setLinkUrl(`/admin/collections/${linkParent.getFields()?.doc?.relationTo}/${linkParent.getFields()?.doc?.value}`);
|
|
140
|
+
setLinkUrl(`/admin/collections/${linkParent.getFields()?.doc?.relationTo}/${linkParent.getFields()?.doc?.value?.id}`);
|
|
143
141
|
const relatedField = config.collections.find((coll)=>coll.slug === linkParent.getFields()?.doc?.relationTo);
|
|
144
142
|
const label = t('fields:linkedTo', {
|
|
145
143
|
label: (0, _utilities1.getTranslation)(relatedField.labels.singular, i18n)
|
|
@@ -190,7 +188,13 @@ function LinkEditor({ anchorElem, fields: customFieldSchema }) {
|
|
|
190
188
|
}, [
|
|
191
189
|
anchorElem,
|
|
192
190
|
editor,
|
|
193
|
-
fieldSchema
|
|
191
|
+
fieldSchema,
|
|
192
|
+
config,
|
|
193
|
+
getDocPreferences,
|
|
194
|
+
locale,
|
|
195
|
+
t,
|
|
196
|
+
user,
|
|
197
|
+
i18n
|
|
194
198
|
]);
|
|
195
199
|
(0, _react.useEffect)(()=>{
|
|
196
200
|
return (0, _utils.mergeRegister)(editor.registerCommand(TOGGLE_LINK_WITH_MODAL_COMMAND, (payload)=>{
|
|
@@ -305,6 +309,11 @@ function LinkEditor({ anchorElem, fields: customFieldSchema }) {
|
|
|
305
309
|
handleModalSubmit: (fields)=>{
|
|
306
310
|
closeModal(drawerSlug);
|
|
307
311
|
const data = (0, _forms.reduceFieldsToValues)(fields, true);
|
|
312
|
+
if (data?.fields?.doc?.value) {
|
|
313
|
+
data.fields.doc.value = {
|
|
314
|
+
id: data.fields.doc.value
|
|
315
|
+
};
|
|
316
|
+
}
|
|
308
317
|
const newLinkPayload = data;
|
|
309
318
|
editor.dispatchCommand(_LinkNode.TOGGLE_LINK_COMMAND, newLinkPayload);
|
|
310
319
|
},
|
|
@@ -312,4 +321,4 @@ function LinkEditor({ anchorElem, fields: customFieldSchema }) {
|
|
|
312
321
|
}));
|
|
313
322
|
}
|
|
314
323
|
|
|
315
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9MaW5rL3BsdWdpbnMvZmxvYXRpbmdMaW5rRWRpdG9yL0xpbmtFZGl0b3IvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGV4aWNhbENvbW1hbmQgfSBmcm9tICdsZXhpY2FsJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZHMgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyB1c2VNb2RhbCB9IGZyb20gJ0BmYWNlbGVzcy11aS9tb2RhbCdcbmltcG9ydCB7IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQgfSBmcm9tICdAbGV4aWNhbC9yZWFjdC9MZXhpY2FsQ29tcG9zZXJDb250ZXh0J1xuaW1wb3J0IHsgJGZpbmRNYXRjaGluZ1BhcmVudCwgbWVyZ2VSZWdpc3RlciB9IGZyb20gJ0BsZXhpY2FsL3V0aWxzJ1xuaW1wb3J0IHtcbiAgJGdldFNlbGVjdGlvbixcbiAgJGlzUmFuZ2VTZWxlY3Rpb24sXG4gIENPTU1BTkRfUFJJT1JJVFlfSElHSCxcbiAgQ09NTUFORF9QUklPUklUWV9MT1csXG4gIEtFWV9FU0NBUEVfQ09NTUFORCxcbiAgU0VMRUNUSU9OX0NIQU5HRV9DT01NQU5ELFxuICBjcmVhdGVDb21tYW5kLFxufSBmcm9tICdsZXhpY2FsJ1xuaW1wb3J0IHsgZm9ybWF0RHJhd2VyU2x1ZyB9IGZyb20gJ3BheWxvYWQvY29tcG9uZW50cy9lbGVtZW50cydcbmltcG9ydCB7IHJlZHVjZUZpZWxkc1RvVmFsdWVzIH0gZnJvbSAncGF5bG9hZC9jb21wb25lbnRzL2Zvcm1zJ1xuaW1wb3J0IHtcbiAgYnVpbGRTdGF0ZUZyb21TY2hlbWEsXG4gIHVzZUF1dGgsXG4gIHVzZUNvbmZpZyxcbiAgdXNlRG9jdW1lbnRJbmZvLFxuICB1c2VFZGl0RGVwdGgsXG4gIHVzZUxvY2FsZSxcbn0gZnJvbSAncGF5bG9hZC9jb21wb25lbnRzL3V0aWxpdGllcydcbmltcG9ydCB7IHNhbml0aXplRmllbGRzIH0gZnJvbSAncGF5bG9hZC9jb25maWcnXG5pbXBvcnQgeyBnZXRUcmFuc2xhdGlvbiB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcblxuaW1wb3J0IHR5cGUgeyBMaW5rRmVhdHVyZVByb3BzIH0gZnJvbSAnLi4vLi4vLi4nXG5pbXBvcnQgdHlwZSB7IExpbmtOb2RlIH0gZnJvbSAnLi4vLi4vLi4vbm9kZXMvTGlua05vZGUnXG5pbXBvcnQgdHlwZSB7IExpbmtQYXlsb2FkIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IHVzZUVkaXRvckNvbmZpZ0NvbnRleHQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9sZXhpY2FsL2NvbmZpZy9FZGl0b3JDb25maWdQcm92aWRlcidcbmltcG9ydCB7IGdldFNlbGVjdGVkTm9kZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xleGljYWwvdXRpbHMvZ2V0U2VsZWN0ZWROb2RlJ1xuaW1wb3J0IHsgc2V0RmxvYXRpbmdFbGVtUG9zaXRpb25Gb3JMaW5rRWRpdG9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGV4aWNhbC91dGlscy9zZXRGbG9hdGluZ0VsZW1Qb3NpdGlvbkZvckxpbmtFZGl0b3InXG5pbXBvcnQgeyBMaW5rRHJhd2VyIH0gZnJvbSAnLi4vLi4vLi4vZHJhd2VyJ1xuaW1wb3J0IHsgJGlzTGlua05vZGUsIFRPR0dMRV9MSU5LX0NPTU1BTkQgfSBmcm9tICcuLi8uLi8uLi9ub2Rlcy9MaW5rTm9kZSdcbmltcG9ydCB7IHRyYW5zZm9ybUV4dHJhRmllbGRzIH0gZnJvbSAnLi4vdXRpbGl0aWVzJ1xuXG5leHBvcnQgY29uc3QgVE9HR0xFX0xJTktfV0lUSF9NT0RBTF9DT01NQU5EOiBMZXhpY2FsQ29tbWFuZDxMaW5rUGF5bG9hZCB8IG51bGw+ID0gY3JlYXRlQ29tbWFuZChcbiAgJ1RPR0dMRV9MSU5LX1dJVEhfTU9EQUxfQ09NTUFORCcsXG4pXG5cbmV4cG9ydCBmdW5jdGlvbiBMaW5rRWRpdG9yKHtcbiAgYW5jaG9yRWxlbSxcbiAgZmllbGRzOiBjdXN0b21GaWVsZFNjaGVtYSxcbn06IHsgYW5jaG9yRWxlbTogSFRNTEVsZW1lbnQgfSAmIExpbmtGZWF0dXJlUHJvcHMpOiBKU1guRWxlbWVudCB7XG4gIGNvbnN0IFtlZGl0b3JdID0gdXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCgpXG5cbiAgY29uc3QgZWRpdG9yUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbClcbiAgY29uc3QgW2xpbmtVcmwsIHNldExpbmtVcmxdID0gdXNlU3RhdGUoJycpXG4gIGNvbnN0IFtsaW5rTGFiZWwsIHNldExpbmtMYWJlbF0gPSB1c2VTdGF0ZSgnJylcblxuICBjb25zdCB7IHV1aWQgfSA9IHVzZUVkaXRvckNvbmZpZ0NvbnRleHQoKVxuXG4gIGNvbnN0IGNvbmZpZyA9IHVzZUNvbmZpZygpXG5cbiAgY29uc3QgeyB1c2VyIH0gPSB1c2VBdXRoKClcbiAgY29uc3QgeyBjb2RlOiBsb2NhbGUgfSA9IHVzZUxvY2FsZSgpXG4gIGNvbnN0IHsgaTE4biwgdCB9ID0gdXNlVHJhbnNsYXRpb24oWydmaWVsZHMnLCAndXBsb2FkJywgJ2dlbmVyYWwnXSlcblxuICBjb25zdCB7IGdldERvY1ByZWZlcmVuY2VzIH0gPSB1c2VEb2N1bWVudEluZm8oKVxuXG4gIGNvbnN0IFtpbml0aWFsU3RhdGUsIHNldEluaXRpYWxTdGF0ZV0gPSB1c2VTdGF0ZTxGaWVsZHM+KHt9KVxuXG4gIGNvbnN0IFtmaWVsZFNjaGVtYV0gPSB1c2VTdGF0ZSgoKSA9PiB7XG4gICAgY29uc3QgZmllbGRzVW5zYW5pdGl6ZWQgPSB0cmFuc2Zvcm1FeHRyYUZpZWxkcyhjdXN0b21GaWVsZFNjaGVtYSwgY29uZmlnLCBpMThuKVxuICAgIC8vIFNhbml0aXplIGN1c3RvbSBmaWVsZHMgaGVyZVxuICAgIGNvbnN0IHZhbGlkUmVsYXRpb25zaGlwcyA9IGNvbmZpZy5jb2xsZWN0aW9ucy5tYXAoKGMpID0+IGMuc2x1ZykgfHwgW11cbiAgICBjb25zdCBmaWVsZHMgPSBzYW5pdGl6ZUZpZWxkcyh7XG4gICAgICBjb25maWc6IGNvbmZpZyxcbiAgICAgIGZpZWxkczogZmllbGRzVW5zYW5pdGl6ZWQsXG4gICAgICB2YWxpZFJlbGF0aW9uc2hpcHMsXG4gICAgfSlcblxuICAgIHJldHVybiBmaWVsZHNcbiAgfSlcblxuICBjb25zdCB7IGNsb3NlTW9kYWwsIHRvZ2dsZU1vZGFsIH0gPSB1c2VNb2RhbCgpXG4gIGNvbnN0IGVkaXREZXB0aCA9IHVzZUVkaXREZXB0aCgpXG4gIGNvbnN0IFtpc0xpbmssIHNldElzTGlua10gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBjb25zdCBkcmF3ZXJTbHVnID0gZm9ybWF0RHJhd2VyU2x1Zyh7XG4gICAgZGVwdGg6IGVkaXREZXB0aCxcbiAgICBzbHVnOiBgbGV4aWNhbC1yaWNoLXRleHQtbGluay1gICsgdXVpZCxcbiAgfSlcblxuICBjb25zdCB1cGRhdGVMaW5rRWRpdG9yID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHNlbGVjdGlvbiA9ICRnZXRTZWxlY3Rpb24oKVxuICAgIGxldCBzZWxlY3RlZE5vZGVEb21SZWN0OiBET01SZWN0IHwgdW5kZWZpbmVkID0gbnVsbFxuXG4gICAgLy8gSGFuZGxlIHRoZSBkYXRhIGRpc3BsYXllZCBpbiB0aGUgZmxvYXRpbmcgbGluayBlZGl0b3IgJiBkcmF3ZXIgd2hlbiB5b3UgY2xpY2sgb24gYSBsaW5rIG5vZGVcbiAgICBpZiAoJGlzUmFuZ2VTZWxlY3Rpb24oc2VsZWN0aW9uKSkge1xuICAgICAgY29uc3Qgbm9kZSA9IGdldFNlbGVjdGVkTm9kZShzZWxlY3Rpb24pXG4gICAgICBzZWxlY3RlZE5vZGVEb21SZWN0ID0gZWRpdG9yLmdldEVsZW1lbnRCeUtleShub2RlLmdldEtleSgpKT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgIGNvbnN0IGxpbmtQYXJlbnQ6IExpbmtOb2RlID0gJGZpbmRNYXRjaGluZ1BhcmVudChub2RlLCAkaXNMaW5rTm9kZSkgYXMgTGlua05vZGVcbiAgICAgIGlmIChsaW5rUGFyZW50ID09IG51bGwpIHtcbiAgICAgICAgc2V0SXNMaW5rKGZhbHNlKVxuICAgICAgICBzZXRMaW5rVXJsKCcnKVxuICAgICAgICBzZXRMaW5rTGFiZWwoJycpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICAvLyBJbml0aWFsIHN0YXRlOlxuICAgICAgY29uc3QgZGF0YTogTGlua1BheWxvYWQgPSB7XG4gICAgICAgIGZpZWxkczoge1xuICAgICAgICAgIGRvYzogdW5kZWZpbmVkLFxuICAgICAgICAgIGxpbmtUeXBlOiB1bmRlZmluZWQsXG4gICAgICAgICAgbmV3VGFiOiB1bmRlZmluZWQsXG4gICAgICAgICAgbm9mb2xsb3c6IHVuZGVmaW5lZCxcbiAgICAgICAgICBzcG9uc29yZWQ6IHVuZGVmaW5lZCxcbiAgICAgICAgICB1cmw6ICcnLFxuICAgICAgICAgIC4uLmxpbmtQYXJlbnQuZ2V0RmllbGRzKCksXG4gICAgICAgIH0sXG4gICAgICAgIHRleHQ6IGxpbmtQYXJlbnQuZ2V0VGV4dENvbnRlbnQoKSxcbiAgICAgIH1cblxuICAgICAgaWYgKGxpbmtQYXJlbnQuZ2V0RmllbGRzKCk/LmxpbmtUeXBlID09PSAnY3VzdG9tJykge1xuICAgICAgICBzZXRMaW5rVXJsKGxpbmtQYXJlbnQuZ2V0RmllbGRzKCk/LnVybCA/PyAnJylcbiAgICAgICAgc2V0TGlua0xhYmVsKCcnKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gaW50ZXJuYWwgbGlua1xuICAgICAgICBzZXRMaW5rVXJsKFxuICAgICAgICAgIGAvYWRtaW4vY29sbGVjdGlvbnMvJHtsaW5rUGFyZW50LmdldEZpZWxkcygpPy5kb2M/LnJlbGF0aW9uVG99LyR7bGlua1BhcmVudC5nZXRGaWVsZHMoKVxuICAgICAgICAgICAgPy5kb2M/LnZhbHVlfWAsXG4gICAgICAgIClcblxuICAgICAgICBjb25zdCByZWxhdGVkRmllbGQgPSBjb25maWcuY29sbGVjdGlvbnMuZmluZChcbiAgICAgICAgICAoY29sbCkgPT4gY29sbC5zbHVnID09PSBsaW5rUGFyZW50LmdldEZpZWxkcygpPy5kb2M/LnJlbGF0aW9uVG8sXG4gICAgICAgIClcbiAgICAgICAgY29uc3QgbGFiZWwgPSB0KCdmaWVsZHM6bGlua2VkVG8nLCB7XG4gICAgICAgICAgbGFiZWw6IGdldFRyYW5zbGF0aW9uKHJlbGF0ZWRGaWVsZC5sYWJlbHMuc2luZ3VsYXIsIGkxOG4pLFxuICAgICAgICB9KS5yZXBsYWNlKC88W14+XSo+Py9nLCAnJylcbiAgICAgICAgc2V0TGlua0xhYmVsKGxhYmVsKVxuICAgICAgfVxuXG4gICAgICAvLyBTZXQgaW5pdGlhbCBzdGF0ZSBvZiB0aGUgZHJhd2VyLiBUaGlzIHdpbGwgYmFzaWNhbGx5IHByZS1maWxsIHRoZSBkcmF3ZXIgZmllbGRzIHdpdGggdGhlXG4gICAgICAvLyB2YWx1ZXMgc2F2ZWQgaW4gdGhlIGxpbmsgbm9kZSB5b3UgY2xpY2tlZCBvbi5cbiAgICAgIGNvbnN0IHByZWZlcmVuY2VzID0gYXdhaXQgZ2V0RG9jUHJlZmVyZW5jZXMoKVxuICAgICAgY29uc3Qgc3RhdGUgPSBhd2FpdCBidWlsZFN0YXRlRnJvbVNjaGVtYSh7XG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgZGF0YSxcbiAgICAgICAgZmllbGRTY2hlbWEsXG4gICAgICAgIGxvY2FsZSxcbiAgICAgICAgb3BlcmF0aW9uOiAnY3JlYXRlJyxcbiAgICAgICAgcHJlZmVyZW5jZXMsXG4gICAgICAgIHQsXG4gICAgICAgIHVzZXI6IHVzZXIgPz8gdW5kZWZpbmVkLFxuICAgICAgfSlcbiAgICAgIHNldEluaXRpYWxTdGF0ZShzdGF0ZSlcbiAgICAgIHNldElzTGluayh0cnVlKVxuICAgIH1cblxuICAgIGNvbnN0IGVkaXRvckVsZW0gPSBlZGl0b3JSZWYuY3VycmVudFxuICAgIGNvbnN0IG5hdGl2ZVNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKVxuICAgIGNvbnN0IHsgYWN0aXZlRWxlbWVudCB9ID0gZG9jdW1lbnRcblxuICAgIGlmIChlZGl0b3JFbGVtID09PSBudWxsKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCByb290RWxlbWVudCA9IGVkaXRvci5nZXRSb290RWxlbWVudCgpXG5cbiAgICBpZiAoXG4gICAgICBzZWxlY3Rpb24gIT09IG51bGwgJiZcbiAgICAgIG5hdGl2ZVNlbGVjdGlvbiAhPT0gbnVsbCAmJlxuICAgICAgcm9vdEVsZW1lbnQgIT09IG51bGwgJiZcbiAgICAgIHJvb3RFbGVtZW50LmNvbnRhaW5zKG5hdGl2ZVNlbGVjdGlvbi5hbmNob3JOb2RlKSAmJlxuICAgICAgZWRpdG9yLmlzRWRpdGFibGUoKVxuICAgICkge1xuICAgICAgaWYgKCFzZWxlY3RlZE5vZGVEb21SZWN0KSB7XG4gICAgICAgIC8vIEdldCB0aGUgRE9NIHJlY3Qgb2YgdGhlIHNlbGVjdGVkIG5vZGUgdXNpbmcgdGhlIG5hdGl2ZSBzZWxlY3Rpb24uIFRoaXMgc29tZXRpbWVzIHByb2R1Y2VzIHRoZSB3cm9uZ1xuICAgICAgICAvLyByZXN1bHQsIHdoaWNoIGlzIHdoeSB3ZSB1c2UgbGV4aWNhbCdzIHNlbGVjdGlvbiBwcmVmZXJhYmx5LlxuICAgICAgICBzZWxlY3RlZE5vZGVEb21SZWN0ID0gbmF0aXZlU2VsZWN0aW9uLmdldFJhbmdlQXQoMCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgIH1cblxuICAgICAgaWYgKHNlbGVjdGVkTm9kZURvbVJlY3QgIT0gbnVsbCkge1xuICAgICAgICBzZWxlY3RlZE5vZGVEb21SZWN0LnkgKz0gNDBcbiAgICAgICAgc2V0RmxvYXRpbmdFbGVtUG9zaXRpb25Gb3JMaW5rRWRpdG9yKHNlbGVjdGVkTm9kZURvbVJlY3QsIGVkaXRvckVsZW0sIGFuY2hvckVsZW0pXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChhY3RpdmVFbGVtZW50ID09IG51bGwgfHwgYWN0aXZlRWxlbWVudC5jbGFzc05hbWUgIT09ICdsaW5rLWlucHV0Jykge1xuICAgICAgaWYgKHJvb3RFbGVtZW50ICE9PSBudWxsKSB7XG4gICAgICAgIHNldEZsb2F0aW5nRWxlbVBvc2l0aW9uRm9yTGlua0VkaXRvcihudWxsLCBlZGl0b3JFbGVtLCBhbmNob3JFbGVtKVxuICAgICAgfVxuICAgICAgc2V0TGlua1VybCgnJylcbiAgICAgIHNldExpbmtMYWJlbCgnJylcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZVxuICB9LCBbYW5jaG9yRWxlbSwgZWRpdG9yLCBmaWVsZFNjaGVtYV0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gbWVyZ2VSZWdpc3RlcihcbiAgICAgIGVkaXRvci5yZWdpc3RlckNvbW1hbmQoXG4gICAgICAgIFRPR0dMRV9MSU5LX1dJVEhfTU9EQUxfQ09NTUFORCxcbiAgICAgICAgKHBheWxvYWQ6IExpbmtQYXlsb2FkKSA9PiB7XG4gICAgICAgICAgZWRpdG9yLmRpc3BhdGNoQ29tbWFuZChUT0dHTEVfTElOS19DT01NQU5ELCBwYXlsb2FkKVxuXG4gICAgICAgICAgLy8gTm93LCBvcGVuIHRoZSBtb2RhbFxuICAgICAgICAgIHVwZGF0ZUxpbmtFZGl0b3IoKVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICB0b2dnbGVNb2RhbChkcmF3ZXJTbHVnKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgdGhyb3cgZXJyb3JcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgQ09NTUFORF9QUklPUklUWV9MT1csXG4gICAgICApLFxuICAgIClcbiAgfSwgW2VkaXRvciwgdXBkYXRlTGlua0VkaXRvciwgdG9nZ2xlTW9kYWwsIGRyYXdlclNsdWddKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc0xpbmsgJiYgZWRpdG9yUmVmKSB7XG4gICAgICBlZGl0b3JSZWYuY3VycmVudC5zdHlsZS5vcGFjaXR5ID0gJzAnXG4gICAgICBlZGl0b3JSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSAndHJhbnNsYXRlKC0xMDAwMHB4LCAtMTAwMDBweCknXG4gICAgfVxuICB9LCBbaXNMaW5rXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHNjcm9sbGVyRWxlbSA9IGFuY2hvckVsZW0ucGFyZW50RWxlbWVudFxuXG4gICAgY29uc3QgdXBkYXRlID0gKCk6IHZvaWQgPT4ge1xuICAgICAgZWRpdG9yLmdldEVkaXRvclN0YXRlKCkucmVhZCgoKSA9PiB7XG4gICAgICAgIHZvaWQgdXBkYXRlTGlua0VkaXRvcigpXG4gICAgICB9KVxuICAgIH1cblxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB1cGRhdGUpXG5cbiAgICBpZiAoc2Nyb2xsZXJFbGVtICE9IG51bGwpIHtcbiAgICAgIHNjcm9sbGVyRWxlbS5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB1cGRhdGUpXG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB1cGRhdGUpXG5cbiAgICAgIGlmIChzY3JvbGxlckVsZW0gIT0gbnVsbCkge1xuICAgICAgICBzY3JvbGxlckVsZW0ucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdXBkYXRlKVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2FuY2hvckVsZW0ucGFyZW50RWxlbWVudCwgZWRpdG9yLCB1cGRhdGVMaW5rRWRpdG9yXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiBtZXJnZVJlZ2lzdGVyKFxuICAgICAgZWRpdG9yLnJlZ2lzdGVyVXBkYXRlTGlzdGVuZXIoKHsgZWRpdG9yU3RhdGUgfSkgPT4ge1xuICAgICAgICBlZGl0b3JTdGF0ZS5yZWFkKCgpID0+IHtcbiAgICAgICAgICB2b2lkIHVwZGF0ZUxpbmtFZGl0b3IoKVxuICAgICAgICB9KVxuICAgICAgfSksXG5cbiAgICAgIGVkaXRvci5yZWdpc3RlckNvbW1hbmQoXG4gICAgICAgIFNFTEVDVElPTl9DSEFOR0VfQ09NTUFORCxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHZvaWQgdXBkYXRlTGlua0VkaXRvcigpXG4gICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgQ09NTUFORF9QUklPUklUWV9MT1csXG4gICAgICApLFxuICAgICAgZWRpdG9yLnJlZ2lzdGVyQ29tbWFuZChcbiAgICAgICAgS0VZX0VTQ0FQRV9DT01NQU5ELFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgaWYgKGlzTGluaykge1xuICAgICAgICAgICAgc2V0SXNMaW5rKGZhbHNlKVxuICAgICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIENPTU1BTkRfUFJJT1JJVFlfSElHSCxcbiAgICAgICksXG4gICAgKVxuICB9LCBbZWRpdG9yLCB1cGRhdGVMaW5rRWRpdG9yLCBzZXRJc0xpbmssIGlzTGlua10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBlZGl0b3IuZ2V0RWRpdG9yU3RhdGUoKS5yZWFkKCgpID0+IHtcbiAgICAgIHZvaWQgdXBkYXRlTGlua0VkaXRvcigpXG4gICAgfSlcbiAgfSwgW2VkaXRvciwgdXBkYXRlTGlua0VkaXRvcl0pXG5cbiAgcmV0dXJuIChcbiAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImxpbmstZWRpdG9yXCIgcmVmPXtlZGl0b3JSZWZ9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxpbmstaW5wdXRcIj5cbiAgICAgICAgICA8YSBocmVmPXtsaW5rVXJsfSByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAgICB7bGlua0xhYmVsICE9IG51bGwgJiYgbGlua0xhYmVsLmxlbmd0aCA+IDAgPyBsaW5rTGFiZWwgOiBsaW5rVXJsfVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiRWRpdCBsaW5rXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImxpbmstZWRpdFwiXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgIHRvZ2dsZU1vZGFsKGRyYXdlclNsdWcpXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25Nb3VzZURvd249eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgdGFiSW5kZXg9ezB9XG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJSZW1vdmUgbGlua1wiXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJsaW5rLXRyYXNoXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgZWRpdG9yLmRpc3BhdGNoQ29tbWFuZChUT0dHTEVfTElOS19DT01NQU5ELCBudWxsKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uTW91c2VEb3duPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHRhYkluZGV4PXswfVxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxMaW5rRHJhd2VyXG4gICAgICAgIGRyYXdlclNsdWc9e2RyYXdlclNsdWd9XG4gICAgICAgIGZpZWxkU2NoZW1hPXtmaWVsZFNjaGVtYX1cbiAgICAgICAgaGFuZGxlTW9kYWxTdWJtaXQ9eyhmaWVsZHM6IEZpZWxkcykgPT4ge1xuICAgICAgICAgIGNsb3NlTW9kYWwoZHJhd2VyU2x1ZylcblxuICAgICAgICAgIGNvbnN0IGRhdGEgPSByZWR1Y2VGaWVsZHNUb1ZhbHVlcyhmaWVsZHMsIHRydWUpXG5cbiAgICAgICAgICBjb25zdCBuZXdMaW5rUGF5bG9hZDogTGlua1BheWxvYWQgPSBkYXRhIGFzIExpbmtQYXlsb2FkXG5cbiAgICAgICAgICBlZGl0b3IuZGlzcGF0Y2hDb21tYW5kKFRPR0dMRV9MSU5LX0NPTU1BTkQsIG5ld0xpbmtQYXlsb2FkKVxuICAgICAgICB9fVxuICAgICAgICBpbml0aWFsU3RhdGU9e2luaXRpYWxTdGF0ZX1cbiAgICAgIC8+XG4gICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlRPR0dMRV9MSU5LX1dJVEhfTU9EQUxfQ09NTUFORCIsIkxpbmtFZGl0b3IiLCJjcmVhdGVDb21tYW5kIiwiYW5jaG9yRWxlbSIsImZpZWxkcyIsImN1c3RvbUZpZWxkU2NoZW1hIiwiZWRpdG9yIiwidXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCIsImVkaXRvclJlZiIsInVzZVJlZiIsImxpbmtVcmwiLCJzZXRMaW5rVXJsIiwidXNlU3RhdGUiLCJsaW5rTGFiZWwiLCJzZXRMaW5rTGFiZWwiLCJ1dWlkIiwidXNlRWRpdG9yQ29uZmlnQ29udGV4dCIsImNvbmZpZyIsInVzZUNvbmZpZyIsInVzZXIiLCJ1c2VBdXRoIiwiY29kZSIsImxvY2FsZSIsInVzZUxvY2FsZSIsImkxOG4iLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJnZXREb2NQcmVmZXJlbmNlcyIsInVzZURvY3VtZW50SW5mbyIsImluaXRpYWxTdGF0ZSIsInNldEluaXRpYWxTdGF0ZSIsImZpZWxkU2NoZW1hIiwiZmllbGRzVW5zYW5pdGl6ZWQiLCJ0cmFuc2Zvcm1FeHRyYUZpZWxkcyIsInZhbGlkUmVsYXRpb25zaGlwcyIsImNvbGxlY3Rpb25zIiwibWFwIiwiYyIsInNsdWciLCJzYW5pdGl6ZUZpZWxkcyIsImNsb3NlTW9kYWwiLCJ0b2dnbGVNb2RhbCIsInVzZU1vZGFsIiwiZWRpdERlcHRoIiwidXNlRWRpdERlcHRoIiwiaXNMaW5rIiwic2V0SXNMaW5rIiwiZHJhd2VyU2x1ZyIsImZvcm1hdERyYXdlclNsdWciLCJkZXB0aCIsInVwZGF0ZUxpbmtFZGl0b3IiLCJ1c2VDYWxsYmFjayIsInNlbGVjdGlvbiIsIiRnZXRTZWxlY3Rpb24iLCJzZWxlY3RlZE5vZGVEb21SZWN0IiwiJGlzUmFuZ2VTZWxlY3Rpb24iLCJub2RlIiwiZ2V0U2VsZWN0ZWROb2RlIiwiZ2V0RWxlbWVudEJ5S2V5IiwiZ2V0S2V5IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwibGlua1BhcmVudCIsIiRmaW5kTWF0Y2hpbmdQYXJlbnQiLCIkaXNMaW5rTm9kZSIsImRhdGEiLCJkb2MiLCJ1bmRlZmluZWQiLCJsaW5rVHlwZSIsIm5ld1RhYiIsIm5vZm9sbG93Iiwic3BvbnNvcmVkIiwidXJsIiwiZ2V0RmllbGRzIiwidGV4dCIsImdldFRleHRDb250ZW50IiwicmVsYXRpb25UbyIsInZhbHVlIiwicmVsYXRlZEZpZWxkIiwiZmluZCIsImNvbGwiLCJsYWJlbCIsImdldFRyYW5zbGF0aW9uIiwibGFiZWxzIiwic2luZ3VsYXIiLCJyZXBsYWNlIiwicHJlZmVyZW5jZXMiLCJzdGF0ZSIsImJ1aWxkU3RhdGVGcm9tU2NoZW1hIiwib3BlcmF0aW9uIiwiZWRpdG9yRWxlbSIsImN1cnJlbnQiLCJuYXRpdmVTZWxlY3Rpb24iLCJ3aW5kb3ciLCJnZXRTZWxlY3Rpb24iLCJhY3RpdmVFbGVtZW50IiwiZG9jdW1lbnQiLCJyb290RWxlbWVudCIsImdldFJvb3RFbGVtZW50IiwiY29udGFpbnMiLCJhbmNob3JOb2RlIiwiaXNFZGl0YWJsZSIsImdldFJhbmdlQXQiLCJ5Iiwic2V0RmxvYXRpbmdFbGVtUG9zaXRpb25Gb3JMaW5rRWRpdG9yIiwiY2xhc3NOYW1lIiwidXNlRWZmZWN0IiwibWVyZ2VSZWdpc3RlciIsInJlZ2lzdGVyQ29tbWFuZCIsInBheWxvYWQiLCJkaXNwYXRjaENvbW1hbmQiLCJUT0dHTEVfTElOS19DT01NQU5EIiwidGhlbiIsImNhdGNoIiwiZXJyb3IiLCJDT01NQU5EX1BSSU9SSVRZX0xPVyIsInN0eWxlIiwib3BhY2l0eSIsInRyYW5zZm9ybSIsInNjcm9sbGVyRWxlbSIsInBhcmVudEVsZW1lbnQiLCJ1cGRhdGUiLCJnZXRFZGl0b3JTdGF0ZSIsInJlYWQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInJlZ2lzdGVyVXBkYXRlTGlzdGVuZXIiLCJlZGl0b3JTdGF0ZSIsIlNFTEVDVElPTl9DSEFOR0VfQ09NTUFORCIsIktFWV9FU0NBUEVfQ09NTUFORCIsIkNPTU1BTkRfUFJJT1JJVFlfSElHSCIsIlJlYWN0IiwiRnJhZ21lbnQiLCJkaXYiLCJyZWYiLCJhIiwiaHJlZiIsInJlbCIsInRhcmdldCIsImxlbmd0aCIsImJ1dHRvbiIsImFyaWEtbGFiZWwiLCJvbkNsaWNrIiwib25Nb3VzZURvd24iLCJldmVudCIsInByZXZlbnREZWZhdWx0IiwidGFiSW5kZXgiLCJ0eXBlIiwiTGlua0RyYXdlciIsImhhbmRsZU1vZGFsU3VibWl0IiwicmVkdWNlRmllbGRzVG9WYWx1ZXMiLCJuZXdMaW5rUGF5bG9hZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUF5Q2FBLDhCQUE4QjtlQUE5QkE7O0lBSUdDLFVBQVU7ZUFBVkE7Ozt1QkExQ1M7d0NBQ2lCO3VCQUNTO3lCQVM1QzswQkFDMEI7dUJBQ0k7MkJBUTlCO3dCQUN3Qjs0QkFDQTsrREFDaUM7OEJBQ2pDO3NDQU1RO2lDQUNQO3NEQUNxQjt3QkFD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
|
|
324
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9MaW5rL3BsdWdpbnMvZmxvYXRpbmdMaW5rRWRpdG9yL0xpbmtFZGl0b3IvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGV4aWNhbENvbW1hbmQgfSBmcm9tICdsZXhpY2FsJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZHMgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyB1c2VNb2RhbCB9IGZyb20gJ0BmYWNlbGVzcy11aS9tb2RhbCdcbmltcG9ydCB7IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQgfSBmcm9tICdAbGV4aWNhbC9yZWFjdC9MZXhpY2FsQ29tcG9zZXJDb250ZXh0J1xuaW1wb3J0IHsgJGZpbmRNYXRjaGluZ1BhcmVudCwgbWVyZ2VSZWdpc3RlciB9IGZyb20gJ0BsZXhpY2FsL3V0aWxzJ1xuaW1wb3J0IHtcbiAgJGdldFNlbGVjdGlvbixcbiAgJGlzUmFuZ2VTZWxlY3Rpb24sXG4gIENPTU1BTkRfUFJJT1JJVFlfSElHSCxcbiAgQ09NTUFORF9QUklPUklUWV9MT1csXG4gIEtFWV9FU0NBUEVfQ09NTUFORCxcbiAgU0VMRUNUSU9OX0NIQU5HRV9DT01NQU5ELFxuICBjcmVhdGVDb21tYW5kLFxufSBmcm9tICdsZXhpY2FsJ1xuaW1wb3J0IHsgZm9ybWF0RHJhd2VyU2x1ZyB9IGZyb20gJ3BheWxvYWQvY29tcG9uZW50cy9lbGVtZW50cydcbmltcG9ydCB7IHJlZHVjZUZpZWxkc1RvVmFsdWVzIH0gZnJvbSAncGF5bG9hZC9jb21wb25lbnRzL2Zvcm1zJ1xuaW1wb3J0IHtcbiAgYnVpbGRTdGF0ZUZyb21TY2hlbWEsXG4gIHVzZUF1dGgsXG4gIHVzZUNvbmZpZyxcbiAgdXNlRG9jdW1lbnRJbmZvLFxuICB1c2VFZGl0RGVwdGgsXG4gIHVzZUxvY2FsZSxcbn0gZnJvbSAncGF5bG9hZC9jb21wb25lbnRzL3V0aWxpdGllcydcbmltcG9ydCB7IHNhbml0aXplRmllbGRzIH0gZnJvbSAncGF5bG9hZC9jb25maWcnXG5pbXBvcnQgeyBnZXRUcmFuc2xhdGlvbiB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcblxuaW1wb3J0IHR5cGUgeyBMaW5rRmVhdHVyZVByb3BzIH0gZnJvbSAnLi4vLi4vLi4nXG5pbXBvcnQgdHlwZSB7IExpbmtOb2RlIH0gZnJvbSAnLi4vLi4vLi4vbm9kZXMvTGlua05vZGUnXG5pbXBvcnQgdHlwZSB7IExpbmtQYXlsb2FkIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IHVzZUVkaXRvckNvbmZpZ0NvbnRleHQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9sZXhpY2FsL2NvbmZpZy9FZGl0b3JDb25maWdQcm92aWRlcidcbmltcG9ydCB7IGdldFNlbGVjdGVkTm9kZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xleGljYWwvdXRpbHMvZ2V0U2VsZWN0ZWROb2RlJ1xuaW1wb3J0IHsgc2V0RmxvYXRpbmdFbGVtUG9zaXRpb25Gb3JMaW5rRWRpdG9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGV4aWNhbC91dGlscy9zZXRGbG9hdGluZ0VsZW1Qb3NpdGlvbkZvckxpbmtFZGl0b3InXG5pbXBvcnQgeyBMaW5rRHJhd2VyIH0gZnJvbSAnLi4vLi4vLi4vZHJhd2VyJ1xuaW1wb3J0IHsgJGlzTGlua05vZGUsIFRPR0dMRV9MSU5LX0NPTU1BTkQgfSBmcm9tICcuLi8uLi8uLi9ub2Rlcy9MaW5rTm9kZSdcbmltcG9ydCB7IHRyYW5zZm9ybUV4dHJhRmllbGRzIH0gZnJvbSAnLi4vdXRpbGl0aWVzJ1xuXG5leHBvcnQgY29uc3QgVE9HR0xFX0xJTktfV0lUSF9NT0RBTF9DT01NQU5EOiBMZXhpY2FsQ29tbWFuZDxMaW5rUGF5bG9hZCB8IG51bGw+ID0gY3JlYXRlQ29tbWFuZChcbiAgJ1RPR0dMRV9MSU5LX1dJVEhfTU9EQUxfQ09NTUFORCcsXG4pXG5cbmV4cG9ydCBmdW5jdGlvbiBMaW5rRWRpdG9yKHtcbiAgYW5jaG9yRWxlbSxcbiAgZmllbGRzOiBjdXN0b21GaWVsZFNjaGVtYSxcbn06IHsgYW5jaG9yRWxlbTogSFRNTEVsZW1lbnQgfSAmIExpbmtGZWF0dXJlUHJvcHMpOiBKU1guRWxlbWVudCB7XG4gIGNvbnN0IFtlZGl0b3JdID0gdXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCgpXG5cbiAgY29uc3QgZWRpdG9yUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbClcbiAgY29uc3QgW2xpbmtVcmwsIHNldExpbmtVcmxdID0gdXNlU3RhdGUoJycpXG4gIGNvbnN0IFtsaW5rTGFiZWwsIHNldExpbmtMYWJlbF0gPSB1c2VTdGF0ZSgnJylcblxuICBjb25zdCB7IHV1aWQgfSA9IHVzZUVkaXRvckNvbmZpZ0NvbnRleHQoKVxuXG4gIGNvbnN0IGNvbmZpZyA9IHVzZUNvbmZpZygpXG5cbiAgY29uc3QgeyB1c2VyIH0gPSB1c2VBdXRoKClcbiAgY29uc3QgeyBjb2RlOiBsb2NhbGUgfSA9IHVzZUxvY2FsZSgpXG4gIGNvbnN0IHsgaTE4biwgdCB9ID0gdXNlVHJhbnNsYXRpb24oWydmaWVsZHMnLCAndXBsb2FkJywgJ2dlbmVyYWwnXSlcblxuICBjb25zdCB7IGdldERvY1ByZWZlcmVuY2VzIH0gPSB1c2VEb2N1bWVudEluZm8oKVxuXG4gIGNvbnN0IFtpbml0aWFsU3RhdGUsIHNldEluaXRpYWxTdGF0ZV0gPSB1c2VTdGF0ZTxGaWVsZHM+KHt9KVxuXG4gIGNvbnN0IFtmaWVsZFNjaGVtYV0gPSB1c2VTdGF0ZSgoKSA9PiB7XG4gICAgY29uc3QgZmllbGRzVW5zYW5pdGl6ZWQgPSB0cmFuc2Zvcm1FeHRyYUZpZWxkcyhjdXN0b21GaWVsZFNjaGVtYSwgY29uZmlnLCBpMThuKVxuICAgIC8vIFNhbml0aXplIGN1c3RvbSBmaWVsZHMgaGVyZVxuICAgIGNvbnN0IHZhbGlkUmVsYXRpb25zaGlwcyA9IGNvbmZpZy5jb2xsZWN0aW9ucy5tYXAoKGMpID0+IGMuc2x1ZykgfHwgW11cbiAgICBjb25zdCBmaWVsZHMgPSBzYW5pdGl6ZUZpZWxkcyh7XG4gICAgICBjb25maWc6IGNvbmZpZyxcbiAgICAgIGZpZWxkczogZmllbGRzVW5zYW5pdGl6ZWQsXG4gICAgICB2YWxpZFJlbGF0aW9uc2hpcHMsXG4gICAgfSlcblxuICAgIHJldHVybiBmaWVsZHNcbiAgfSlcblxuICBjb25zdCB7IGNsb3NlTW9kYWwsIHRvZ2dsZU1vZGFsIH0gPSB1c2VNb2RhbCgpXG4gIGNvbnN0IGVkaXREZXB0aCA9IHVzZUVkaXREZXB0aCgpXG4gIGNvbnN0IFtpc0xpbmssIHNldElzTGlua10gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBjb25zdCBkcmF3ZXJTbHVnID0gZm9ybWF0RHJhd2VyU2x1Zyh7XG4gICAgZGVwdGg6IGVkaXREZXB0aCxcbiAgICBzbHVnOiBgbGV4aWNhbC1yaWNoLXRleHQtbGluay1gICsgdXVpZCxcbiAgfSlcblxuICBjb25zdCB1cGRhdGVMaW5rRWRpdG9yID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHNlbGVjdGlvbiA9ICRnZXRTZWxlY3Rpb24oKVxuICAgIGxldCBzZWxlY3RlZE5vZGVEb21SZWN0OiBET01SZWN0IHwgdW5kZWZpbmVkID0gbnVsbFxuXG4gICAgLy8gSGFuZGxlIHRoZSBkYXRhIGRpc3BsYXllZCBpbiB0aGUgZmxvYXRpbmcgbGluayBlZGl0b3IgJiBkcmF3ZXIgd2hlbiB5b3UgY2xpY2sgb24gYSBsaW5rIG5vZGVcbiAgICBpZiAoJGlzUmFuZ2VTZWxlY3Rpb24oc2VsZWN0aW9uKSkge1xuICAgICAgY29uc3Qgbm9kZSA9IGdldFNlbGVjdGVkTm9kZShzZWxlY3Rpb24pXG4gICAgICBzZWxlY3RlZE5vZGVEb21SZWN0ID0gZWRpdG9yLmdldEVsZW1lbnRCeUtleShub2RlLmdldEtleSgpKT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgIGNvbnN0IGxpbmtQYXJlbnQ6IExpbmtOb2RlID0gJGZpbmRNYXRjaGluZ1BhcmVudChub2RlLCAkaXNMaW5rTm9kZSkgYXMgTGlua05vZGVcbiAgICAgIGlmIChsaW5rUGFyZW50ID09IG51bGwpIHtcbiAgICAgICAgc2V0SXNMaW5rKGZhbHNlKVxuICAgICAgICBzZXRMaW5rVXJsKCcnKVxuICAgICAgICBzZXRMaW5rTGFiZWwoJycpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICAvLyBJbml0aWFsIHN0YXRlOlxuICAgICAgY29uc3QgZGF0YTogTGlua1BheWxvYWQgPSB7XG4gICAgICAgIGZpZWxkczoge1xuICAgICAgICAgIGRvYzogdW5kZWZpbmVkLFxuICAgICAgICAgIGxpbmtUeXBlOiB1bmRlZmluZWQsXG4gICAgICAgICAgbmV3VGFiOiB1bmRlZmluZWQsXG4gICAgICAgICAgdXJsOiAnJyxcbiAgICAgICAgICAuLi5saW5rUGFyZW50LmdldEZpZWxkcygpLFxuICAgICAgICB9LFxuICAgICAgICB0ZXh0OiBsaW5rUGFyZW50LmdldFRleHRDb250ZW50KCksXG4gICAgICB9XG5cbiAgICAgIGlmIChsaW5rUGFyZW50LmdldEZpZWxkcygpPy5saW5rVHlwZSA9PT0gJ2N1c3RvbScpIHtcbiAgICAgICAgc2V0TGlua1VybChsaW5rUGFyZW50LmdldEZpZWxkcygpPy51cmwgPz8gJycpXG4gICAgICAgIHNldExpbmtMYWJlbCgnJylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGludGVybmFsIGxpbmtcbiAgICAgICAgc2V0TGlua1VybChcbiAgICAgICAgICBgL2FkbWluL2NvbGxlY3Rpb25zLyR7bGlua1BhcmVudC5nZXRGaWVsZHMoKT8uZG9jPy5yZWxhdGlvblRvfS8ke2xpbmtQYXJlbnQuZ2V0RmllbGRzKClcbiAgICAgICAgICAgID8uZG9jPy52YWx1ZT8uaWR9YCxcbiAgICAgICAgKVxuXG4gICAgICAgIGNvbnN0IHJlbGF0ZWRGaWVsZCA9IGNvbmZpZy5jb2xsZWN0aW9ucy5maW5kKFxuICAgICAgICAgIChjb2xsKSA9PiBjb2xsLnNsdWcgPT09IGxpbmtQYXJlbnQuZ2V0RmllbGRzKCk/LmRvYz8ucmVsYXRpb25UbyxcbiAgICAgICAgKVxuICAgICAgICBjb25zdCBsYWJlbCA9IHQoJ2ZpZWxkczpsaW5rZWRUbycsIHtcbiAgICAgICAgICBsYWJlbDogZ2V0VHJhbnNsYXRpb24ocmVsYXRlZEZpZWxkLmxhYmVscy5zaW5ndWxhciwgaTE4biksXG4gICAgICAgIH0pLnJlcGxhY2UoLzxbXj5dKj4/L2csICcnKVxuICAgICAgICBzZXRMaW5rTGFiZWwobGFiZWwpXG4gICAgICB9XG5cbiAgICAgIC8vIFNldCBpbml0aWFsIHN0YXRlIG9mIHRoZSBkcmF3ZXIuIFRoaXMgd2lsbCBiYXNpY2FsbHkgcHJlLWZpbGwgdGhlIGRyYXdlciBmaWVsZHMgd2l0aCB0aGVcbiAgICAgIC8vIHZhbHVlcyBzYXZlZCBpbiB0aGUgbGluayBub2RlIHlvdSBjbGlja2VkIG9uLlxuICAgICAgY29uc3QgcHJlZmVyZW5jZXMgPSBhd2FpdCBnZXREb2NQcmVmZXJlbmNlcygpXG4gICAgICBjb25zdCBzdGF0ZSA9IGF3YWl0IGJ1aWxkU3RhdGVGcm9tU2NoZW1hKHtcbiAgICAgICAgY29uZmlnLFxuICAgICAgICBkYXRhLFxuICAgICAgICBmaWVsZFNjaGVtYSxcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICBvcGVyYXRpb246ICdjcmVhdGUnLFxuICAgICAgICBwcmVmZXJlbmNlcyxcbiAgICAgICAgdCxcbiAgICAgICAgdXNlcjogdXNlciA/PyB1bmRlZmluZWQsXG4gICAgICB9KVxuICAgICAgc2V0SW5pdGlhbFN0YXRlKHN0YXRlKVxuICAgICAgc2V0SXNMaW5rKHRydWUpXG4gICAgfVxuXG4gICAgY29uc3QgZWRpdG9yRWxlbSA9IGVkaXRvclJlZi5jdXJyZW50XG4gICAgY29uc3QgbmF0aXZlU2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpXG4gICAgY29uc3QgeyBhY3RpdmVFbGVtZW50IH0gPSBkb2N1bWVudFxuXG4gICAgaWYgKGVkaXRvckVsZW0gPT09IG51bGwpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IHJvb3RFbGVtZW50ID0gZWRpdG9yLmdldFJvb3RFbGVtZW50KClcblxuICAgIGlmIChcbiAgICAgIHNlbGVjdGlvbiAhPT0gbnVsbCAmJlxuICAgICAgbmF0aXZlU2VsZWN0aW9uICE9PSBudWxsICYmXG4gICAgICByb290RWxlbWVudCAhPT0gbnVsbCAmJlxuICAgICAgcm9vdEVsZW1lbnQuY29udGFpbnMobmF0aXZlU2VsZWN0aW9uLmFuY2hvck5vZGUpICYmXG4gICAgICBlZGl0b3IuaXNFZGl0YWJsZSgpXG4gICAgKSB7XG4gICAgICBpZiAoIXNlbGVjdGVkTm9kZURvbVJlY3QpIHtcbiAgICAgICAgLy8gR2V0IHRoZSBET00gcmVjdCBvZiB0aGUgc2VsZWN0ZWQgbm9kZSB1c2luZyB0aGUgbmF0aXZlIHNlbGVjdGlvbi4gVGhpcyBzb21ldGltZXMgcHJvZHVjZXMgdGhlIHdyb25nXG4gICAgICAgIC8vIHJlc3VsdCwgd2hpY2ggaXMgd2h5IHdlIHVzZSBsZXhpY2FsJ3Mgc2VsZWN0aW9uIHByZWZlcmFibHkuXG4gICAgICAgIHNlbGVjdGVkTm9kZURvbVJlY3QgPSBuYXRpdmVTZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgfVxuXG4gICAgICBpZiAoc2VsZWN0ZWROb2RlRG9tUmVjdCAhPSBudWxsKSB7XG4gICAgICAgIHNlbGVjdGVkTm9kZURvbVJlY3QueSArPSA0MFxuICAgICAgICBzZXRGbG9hdGluZ0VsZW1Qb3NpdGlvbkZvckxpbmtFZGl0b3Ioc2VsZWN0ZWROb2RlRG9tUmVjdCwgZWRpdG9yRWxlbSwgYW5jaG9yRWxlbSlcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGFjdGl2ZUVsZW1lbnQgPT0gbnVsbCB8fCBhY3RpdmVFbGVtZW50LmNsYXNzTmFtZSAhPT0gJ2xpbmstaW5wdXQnKSB7XG4gICAgICBpZiAocm9vdEVsZW1lbnQgIT09IG51bGwpIHtcbiAgICAgICAgc2V0RmxvYXRpbmdFbGVtUG9zaXRpb25Gb3JMaW5rRWRpdG9yKG51bGwsIGVkaXRvckVsZW0sIGFuY2hvckVsZW0pXG4gICAgICB9XG4gICAgICBzZXRMaW5rVXJsKCcnKVxuICAgICAgc2V0TGlua0xhYmVsKCcnKVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlXG4gIH0sIFthbmNob3JFbGVtLCBlZGl0b3IsIGZpZWxkU2NoZW1hLCBjb25maWcsIGdldERvY1ByZWZlcmVuY2VzLCBsb2NhbGUsIHQsIHVzZXIsIGkxOG5dKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuIG1lcmdlUmVnaXN0ZXIoXG4gICAgICBlZGl0b3IucmVnaXN0ZXJDb21tYW5kKFxuICAgICAgICBUT0dHTEVfTElOS19XSVRIX01PREFMX0NPTU1BTkQsXG4gICAgICAgIChwYXlsb2FkOiBMaW5rUGF5bG9hZCkgPT4ge1xuICAgICAgICAgIGVkaXRvci5kaXNwYXRjaENvbW1hbmQoVE9HR0xFX0xJTktfQ09NTUFORCwgcGF5bG9hZClcblxuICAgICAgICAgIC8vIE5vdywgb3BlbiB0aGUgbW9kYWxcbiAgICAgICAgICB1cGRhdGVMaW5rRWRpdG9yKClcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgdG9nZ2xlTW9kYWwoZHJhd2VyU2x1ZylcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgIHRocm93IGVycm9yXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIENPTU1BTkRfUFJJT1JJVFlfTE9XLFxuICAgICAgKSxcbiAgICApXG4gIH0sIFtlZGl0b3IsIHVwZGF0ZUxpbmtFZGl0b3IsIHRvZ2dsZU1vZGFsLCBkcmF3ZXJTbHVnXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNMaW5rICYmIGVkaXRvclJlZikge1xuICAgICAgZWRpdG9yUmVmLmN1cnJlbnQuc3R5bGUub3BhY2l0eSA9ICcwJ1xuICAgICAgZWRpdG9yUmVmLmN1cnJlbnQuc3R5bGUudHJhbnNmb3JtID0gJ3RyYW5zbGF0ZSgtMTAwMDBweCwgLTEwMDAwcHgpJ1xuICAgIH1cbiAgfSwgW2lzTGlua10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBzY3JvbGxlckVsZW0gPSBhbmNob3JFbGVtLnBhcmVudEVsZW1lbnRcblxuICAgIGNvbnN0IHVwZGF0ZSA9ICgpOiB2b2lkID0+IHtcbiAgICAgIGVkaXRvci5nZXRFZGl0b3JTdGF0ZSgpLnJlYWQoKCkgPT4ge1xuICAgICAgICB2b2lkIHVwZGF0ZUxpbmtFZGl0b3IoKVxuICAgICAgfSlcbiAgICB9XG5cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdXBkYXRlKVxuXG4gICAgaWYgKHNjcm9sbGVyRWxlbSAhPSBudWxsKSB7XG4gICAgICBzY3JvbGxlckVsZW0uYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdXBkYXRlKVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdXBkYXRlKVxuXG4gICAgICBpZiAoc2Nyb2xsZXJFbGVtICE9IG51bGwpIHtcbiAgICAgICAgc2Nyb2xsZXJFbGVtLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHVwZGF0ZSlcbiAgICAgIH1cbiAgICB9XG4gIH0sIFthbmNob3JFbGVtLnBhcmVudEVsZW1lbnQsIGVkaXRvciwgdXBkYXRlTGlua0VkaXRvcl0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gbWVyZ2VSZWdpc3RlcihcbiAgICAgIGVkaXRvci5yZWdpc3RlclVwZGF0ZUxpc3RlbmVyKCh7IGVkaXRvclN0YXRlIH0pID0+IHtcbiAgICAgICAgZWRpdG9yU3RhdGUucmVhZCgoKSA9PiB7XG4gICAgICAgICAgdm9pZCB1cGRhdGVMaW5rRWRpdG9yKClcbiAgICAgICAgfSlcbiAgICAgIH0pLFxuXG4gICAgICBlZGl0b3IucmVnaXN0ZXJDb21tYW5kKFxuICAgICAgICBTRUxFQ1RJT05fQ0hBTkdFX0NPTU1BTkQsXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB2b2lkIHVwZGF0ZUxpbmtFZGl0b3IoKVxuICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIENPTU1BTkRfUFJJT1JJVFlfTE9XLFxuICAgICAgKSxcbiAgICAgIGVkaXRvci5yZWdpc3RlckNvbW1hbmQoXG4gICAgICAgIEtFWV9FU0NBUEVfQ09NTUFORCxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGlmIChpc0xpbmspIHtcbiAgICAgICAgICAgIHNldElzTGluayhmYWxzZSlcbiAgICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBDT01NQU5EX1BSSU9SSVRZX0hJR0gsXG4gICAgICApLFxuICAgIClcbiAgfSwgW2VkaXRvciwgdXBkYXRlTGlua0VkaXRvciwgc2V0SXNMaW5rLCBpc0xpbmtdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZWRpdG9yLmdldEVkaXRvclN0YXRlKCkucmVhZCgoKSA9PiB7XG4gICAgICB2b2lkIHVwZGF0ZUxpbmtFZGl0b3IoKVxuICAgIH0pXG4gIH0sIFtlZGl0b3IsIHVwZGF0ZUxpbmtFZGl0b3JdKVxuXG4gIHJldHVybiAoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJsaW5rLWVkaXRvclwiIHJlZj17ZWRpdG9yUmVmfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsaW5rLWlucHV0XCI+XG4gICAgICAgICAgPGEgaHJlZj17bGlua1VybH0gcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiIHRhcmdldD1cIl9ibGFua1wiPlxuICAgICAgICAgICAge2xpbmtMYWJlbCAhPSBudWxsICYmIGxpbmtMYWJlbC5sZW5ndGggPiAwID8gbGlua0xhYmVsIDogbGlua1VybH1cbiAgICAgICAgICA8L2E+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkVkaXQgbGlua1wiXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJsaW5rLWVkaXRcIlxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICB0b2dnbGVNb2RhbChkcmF3ZXJTbHVnKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uTW91c2VEb3duPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHRhYkluZGV4PXswfVxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiUmVtb3ZlIGxpbmtcIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibGluay10cmFzaFwiXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgIGVkaXRvci5kaXNwYXRjaENvbW1hbmQoVE9HR0xFX0xJTktfQ09NTUFORCwgbnVsbClcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbk1vdXNlRG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICB0YWJJbmRleD17MH1cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8TGlua0RyYXdlclxuICAgICAgICBkcmF3ZXJTbHVnPXtkcmF3ZXJTbHVnfVxuICAgICAgICBmaWVsZFNjaGVtYT17ZmllbGRTY2hlbWF9XG4gICAgICAgIGhhbmRsZU1vZGFsU3VibWl0PXsoZmllbGRzOiBGaWVsZHMpID0+IHtcbiAgICAgICAgICBjbG9zZU1vZGFsKGRyYXdlclNsdWcpXG5cbiAgICAgICAgICBjb25zdCBkYXRhID0gcmVkdWNlRmllbGRzVG9WYWx1ZXMoZmllbGRzLCB0cnVlKVxuXG4gICAgICAgICAgaWYgKGRhdGE/LmZpZWxkcz8uZG9jPy52YWx1ZSkge1xuICAgICAgICAgICAgZGF0YS5maWVsZHMuZG9jLnZhbHVlID0ge1xuICAgICAgICAgICAgICBpZDogZGF0YS5maWVsZHMuZG9jLnZhbHVlLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IG5ld0xpbmtQYXlsb2FkOiBMaW5rUGF5bG9hZCA9IGRhdGEgYXMgTGlua1BheWxvYWRcblxuICAgICAgICAgIGVkaXRvci5kaXNwYXRjaENvbW1hbmQoVE9HR0xFX0xJTktfQ09NTUFORCwgbmV3TGlua1BheWxvYWQpXG4gICAgICAgIH19XG4gICAgICAgIGluaXRpYWxTdGF0ZT17aW5pdGlhbFN0YXRlfVxuICAgICAgLz5cbiAgICA8L1JlYWN0LkZyYWdtZW50PlxuICApXG59XG4iXSwibmFtZXMiOlsiVE9HR0xFX0xJTktfV0lUSF9NT0RBTF9DT01NQU5EIiwiTGlua0VkaXRvciIsImNyZWF0ZUNvbW1hbmQiLCJhbmNob3JFbGVtIiwiZmllbGRzIiwiY3VzdG9tRmllbGRTY2hlbWEiLCJlZGl0b3IiLCJ1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0IiwiZWRpdG9yUmVmIiwidXNlUmVmIiwibGlua1VybCIsInNldExpbmtVcmwiLCJ1c2VTdGF0ZSIsImxpbmtMYWJlbCIsInNldExpbmtMYWJlbCIsInV1aWQiLCJ1c2VFZGl0b3JDb25maWdDb250ZXh0IiwiY29uZmlnIiwidXNlQ29uZmlnIiwidXNlciIsInVzZUF1dGgiLCJjb2RlIiwibG9jYWxlIiwidXNlTG9jYWxlIiwiaTE4biIsInQiLCJ1c2VUcmFuc2xhdGlvbiIsImdldERvY1ByZWZlcmVuY2VzIiwidXNlRG9jdW1lbnRJbmZvIiwiaW5pdGlhbFN0YXRlIiwic2V0SW5pdGlhbFN0YXRlIiwiZmllbGRTY2hlbWEiLCJmaWVsZHNVbnNhbml0aXplZCIsInRyYW5zZm9ybUV4dHJhRmllbGRzIiwidmFsaWRSZWxhdGlvbnNoaXBzIiwiY29sbGVjdGlvbnMiLCJtYXAiLCJjIiwic2x1ZyIsInNhbml0aXplRmllbGRzIiwiY2xvc2VNb2RhbCIsInRvZ2dsZU1vZGFsIiwidXNlTW9kYWwiLCJlZGl0RGVwdGgiLCJ1c2VFZGl0RGVwdGgiLCJpc0xpbmsiLCJzZXRJc0xpbmsiLCJkcmF3ZXJTbHVnIiwiZm9ybWF0RHJhd2VyU2x1ZyIsImRlcHRoIiwidXBkYXRlTGlua0VkaXRvciIsInVzZUNhbGxiYWNrIiwic2VsZWN0aW9uIiwiJGdldFNlbGVjdGlvbiIsInNlbGVjdGVkTm9kZURvbVJlY3QiLCIkaXNSYW5nZVNlbGVjdGlvbiIsIm5vZGUiLCJnZXRTZWxlY3RlZE5vZGUiLCJnZXRFbGVtZW50QnlLZXkiLCJnZXRLZXkiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJsaW5rUGFyZW50IiwiJGZpbmRNYXRjaGluZ1BhcmVudCIsIiRpc0xpbmtOb2RlIiwiZGF0YSIsImRvYyIsInVuZGVmaW5lZCIsImxpbmtUeXBlIiwibmV3VGFiIiwidXJsIiwiZ2V0RmllbGRzIiwidGV4dCIsImdldFRleHRDb250ZW50IiwicmVsYXRpb25UbyIsInZhbHVlIiwiaWQiLCJyZWxhdGVkRmllbGQiLCJmaW5kIiwiY29sbCIsImxhYmVsIiwiZ2V0VHJhbnNsYXRpb24iLCJsYWJlbHMiLCJzaW5ndWxhciIsInJlcGxhY2UiLCJwcmVmZXJlbmNlcyIsInN0YXRlIiwiYnVpbGRTdGF0ZUZyb21TY2hlbWEiLCJvcGVyYXRpb24iLCJlZGl0b3JFbGVtIiwiY3VycmVudCIsIm5hdGl2ZVNlbGVjdGlvbiIsIndpbmRvdyIsImdldFNlbGVjdGlvbiIsImFjdGl2ZUVsZW1lbnQiLCJkb2N1bWVudCIsInJvb3RFbGVtZW50IiwiZ2V0Um9vdEVsZW1lbnQiLCJjb250YWlucyIsImFuY2hvck5vZGUiLCJpc0VkaXRhYmxlIiwiZ2V0UmFuZ2VBdCIsInkiLCJzZXRGbG9hdGluZ0VsZW1Qb3NpdGlvbkZvckxpbmtFZGl0b3IiLCJjbGFzc05hbWUiLCJ1c2VFZmZlY3QiLCJtZXJnZVJlZ2lzdGVyIiwicmVnaXN0ZXJDb21tYW5kIiwicGF5bG9hZCIsImRpc3BhdGNoQ29tbWFuZCIsIlRPR0dMRV9MSU5LX0NPTU1BTkQiLCJ0aGVuIiwiY2F0Y2giLCJlcnJvciIsIkNPTU1BTkRfUFJJT1JJVFlfTE9XIiwic3R5bGUiLCJvcGFjaXR5IiwidHJhbnNmb3JtIiwic2Nyb2xsZXJFbGVtIiwicGFyZW50RWxlbWVudCIsInVwZGF0ZSIsImdldEVkaXRvclN0YXRlIiwicmVhZCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwicmVnaXN0ZXJVcGRhdGVMaXN0ZW5lciIsImVkaXRvclN0YXRlIiwiU0VMRUNUSU9OX0NIQU5HRV9DT01NQU5EIiwiS0VZX0VTQ0FQRV9DT01NQU5EIiwiQ09NTUFORF9QUklPUklUWV9ISUdIIiwiUmVhY3QiLCJGcmFnbWVudCIsImRpdiIsInJlZiIsImEiLCJocmVmIiwicmVsIiwidGFyZ2V0IiwibGVuZ3RoIiwiYnV0dG9uIiwiYXJpYS1sYWJlbCIsIm9uQ2xpY2siLCJvbk1vdXNlRG93biIsImV2ZW50IiwicHJldmVudERlZmF1bHQiLCJ0YWJJbmRleCIsInR5cGUiLCJMaW5rRHJhd2VyIiwiaGFuZGxlTW9kYWxTdWJtaXQiLCJyZWR1Y2VGaWVsZHNUb1ZhbHVlcyIsIm5ld0xpbmtQYXlsb2FkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQXlDYUEsOEJBQThC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
|