@plait/draw 0.38.0 → 0.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/engines/flowchart/stored-data.mjs +2 -2
- package/esm2022/generators/line-active.generator.mjs +9 -2
- package/esm2022/geometry.component.mjs +1 -1
- package/esm2022/line.component.mjs +1 -1
- package/esm2022/plugins/with-draw.mjs +3 -2
- package/esm2022/plugins/with-geometry-create.mjs +10 -34
- package/esm2022/plugins/with-line-auto-complete.mjs +3 -3
- package/esm2022/plugins/with-line-resize.mjs +12 -12
- package/esm2022/plugins/with-line-text-move.mjs +52 -0
- package/esm2022/public-api.mjs +2 -1
- package/esm2022/transforms/geometry.mjs +25 -18
- package/esm2022/transforms/index.mjs +3 -3
- package/esm2022/transforms/line.mjs +38 -3
- package/esm2022/utils/geometry.mjs +23 -2
- package/esm2022/utils/line.mjs +7 -3
- package/fesm2022/plait-draw.mjs +252 -158
- package/fesm2022/plait-draw.mjs.map +1 -1
- package/package.json +1 -1
- package/plugins/with-line-auto-complete.d.ts +1 -1
- package/plugins/with-line-text-move.d.ts +2 -0
- package/public-api.d.ts +1 -0
- package/styles/styles.scss +4 -0
- package/transforms/geometry.d.ts +2 -2
- package/transforms/index.d.ts +1 -1
- package/transforms/line.d.ts +5 -1
- package/utils/geometry.d.ts +3 -0
|
@@ -6,7 +6,7 @@ export const StoredDataEngine = {
|
|
|
6
6
|
draw(board, rectangle, options) {
|
|
7
7
|
const rs = PlaitBoard.getRoughSVG(board);
|
|
8
8
|
const shape = rs.path(`M${rectangle.x + rectangle.width / 10} ${rectangle.y} L${rectangle.x + rectangle.width} ${rectangle.y} A ${rectangle.width /
|
|
9
|
-
10} ${rectangle.height / 2},
|
|
9
|
+
10} ${rectangle.height / 2}, 0, 0, 0,${rectangle.x + rectangle.width} ${rectangle.y + rectangle.height} L${rectangle.x +
|
|
10
10
|
rectangle.width / 10} ${rectangle.y + rectangle.height}A ${rectangle.width / 10} ${rectangle.height /
|
|
11
11
|
2}, 0, 0, 1,${rectangle.x + rectangle.width / 10} ${rectangle.y}`, { ...options, fillStyle: 'solid' });
|
|
12
12
|
setStrokeLinecap(shape, 'round');
|
|
@@ -71,4 +71,4 @@ export const StoredDataEngine = {
|
|
|
71
71
|
return rectangle;
|
|
72
72
|
}
|
|
73
73
|
};
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVkLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9lbmdpbmVzL2Zsb3djaGFydC9zdG9yZWQtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsVUFBVSxFQUdWLGVBQWUsRUFFZixzQ0FBc0MsRUFDdEMsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNuQixNQUFNLGFBQWEsQ0FBQztBQUdyQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBZ0I7SUFDekMsSUFBSSxDQUFDLEtBQWlCLEVBQUUsU0FBMEIsRUFBRSxPQUFnQjtRQUNoRSxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQ2pCLElBQUksU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLEVBQUUsSUFBSSxTQUFTLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsQ0FBQyxPQUFPLFNBQVMsQ0FBQyxLQUFLO1lBQ3hILEVBQUUsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsYUFBYSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDO1lBQ3RILFNBQVMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxJQUFJ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LENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUM7WUFDbkUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDcEQsQ0FBQztJQUNOLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxPQUFzQjtRQUNuQyxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDO1FBQzlCLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxTQUFTLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDekIsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIFBsYWl0Qm9hcmQsXG4gICAgUG9pbnQsXG4gICAgUG9pbnRPZlJlY3RhbmdsZSxcbiAgICBSZWN0YW5nbGVDbGllbnQsXG4gICAgVmVjdG9yLFxuICAgIGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZFNlZ21lbnRzLFxuICAgIGlzUG9pbnRJbkVsbGlwc2UsXG4gICAgc2V0U3Ryb2tlTGluZWNhcFxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBQbGFpdEdlb21ldHJ5LCBTaGFwZUVuZ2luZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJ3JvdWdoanMvYmluL2NvcmUnO1xuaW1wb3J0IHsgUmVjdGFuZ2xlRW5naW5lIH0gZnJvbSAnLi4vYmFzaWMtc2hhcGVzL3JlY3RhbmdsZSc7XG5pbXBvcnQgeyBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRFbGxpcHNlLCBnZXRUYW5nZW50U2xvcGUsIGdldFZlY3RvckJ5U2xvcGUgfSBmcm9tICcuLi9iYXNpYy1zaGFwZXMvZWxsaXBzZSc7XG5pbXBvcnQgeyBnZXRUZXh0UmVjdGFuZ2xlIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgU3RvcmVkRGF0YUVuZ2luZTogU2hhcGVFbmdpbmUgPSB7XG4gICAgZHJhdyhib2FyZDogUGxhaXRCb2FyZCwgcmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIG9wdGlvbnM6IE9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgcnMgPSBQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKTtcbiAgICAgICAgY29uc3Qgc2hhcGUgPSBycy5wYXRoKFxuICAgICAgICAgICAgYE0ke3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMTB9ICR7cmVjdGFuZ2xlLnl9IEwke3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRofSAke3JlY3RhbmdsZS55fSBBICAke3JlY3RhbmdsZS53aWR0aCAvXG4gICAgICAgICAgICAgICAgMTB9ICR7cmVjdGFuZ2xlLmhlaWdodCAvIDJ9LCAxLCAwLCAwLCR7cmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGh9ICR7cmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0fSBMJHtyZWN0YW5nbGUueCArXG4gICAgICAgICAgICAgICAgcmVjdGFuZ2xlLndpZHRoIC8gMTB9ICR7cmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0fUEgICR7cmVjdGFuZ2xlLndpZHRoIC8gMTB9ICR7cmVjdGFuZ2xlLmhlaWdodCAvXG4gICAgICAgICAgICAgICAgMn0sIDAsIDAsIDEsJHtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDEwfSAke3JlY3RhbmdsZS55fWAsXG4gICAgICAgICAgICB7IC4uLm9wdGlvbnMsIGZpbGxTdHlsZTogJ3NvbGlkJyB9XG4gICAgICAgICk7XG4gICAgICAgIHNldFN0cm9rZUxpbmVjYXAoc2hhcGUsICdyb3VuZCcpO1xuICAgICAgICByZXR1cm4gc2hhcGU7XG4gICAgfSxcbiAgICBpc0hpdChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnQ6IFBvaW50KSB7XG4gICAgICAgIC8vc3BsaXQgc2hhcGUgdG8gcmVjdGFuZ2xlIGFuZCBhIGhhbGYgZWxsaXBzZVxuICAgICAgICBjb25zdCByYW5nZVJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC50b1JlY3RhbmdsZUNsaWVudChbcG9pbnQsIHBvaW50XSk7XG4gICAgICAgIGNvbnN0IGlzSW5SZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuaXNIaXQoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLi4ucmVjdGFuZ2xlLFxuICAgICAgICAgICAgICAgIHg6IHJlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMTAsXG4gICAgICAgICAgICAgICAgd2lkdGg6IChyZWN0YW5nbGUud2lkdGggKiA5KSAvIDEwXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmFuZ2VSZWN0YW5nbGVcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBpc0luRnJvbnRFbGxpcHNlID0gaXNQb2ludEluRWxsaXBzZShcbiAgICAgICAgICAgIHBvaW50LFxuICAgICAgICAgICAgW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMTAsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJdLFxuICAgICAgICAgICAgcmVjdGFuZ2xlLndpZHRoIC8gMTAsXG4gICAgICAgICAgICByZWN0YW5nbGUuaGVpZ2h0IC8gMlxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IG5vdEluQmFja0VsbGlwc2UgPSAhaXNQb2ludEluRWxsaXBzZShcbiAgICAgICAgICAgIHBvaW50LFxuICAgICAgICAgICAgW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoLCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyXSxcbiAgICAgICAgICAgIHJlY3RhbmdsZS53aWR0aCAvIDEwLFxuICAgICAgICAgICAgcmVjdGFuZ2xlLmhlaWdodCAvIDJcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIChpc0luUmVjdGFuZ2xlICYmIG5vdEluQmFja0VsbGlwc2UpIHx8IGlzSW5Gcm9udEVsbGlwc2U7XG4gICAgfSxcbiAgICBnZXRDb3JuZXJQb2ludHMocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpIHtcbiAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRDb3JuZXJQb2ludHMocmVjdGFuZ2xlKTtcbiAgICB9LFxuICAgIGdldE5lYXJlc3RQb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnQ6IFBvaW50KSB7XG4gICAgICAgIGNvbnN0IG5lYXJlc3RQb2ludCA9IGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZFNlZ21lbnRzKHBvaW50LCBSZWN0YW5nbGVFbmdpbmUuZ2V0Q29ybmVyUG9pbnRzKHJlY3RhbmdsZSkpO1xuICAgICAgICBpZiAobmVhcmVzdFBvaW50WzBdIDwgcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyAxMCkge1xuICAgICAgICAgICAgY29uc3QgbmVhcmVzdFBvaW50ID0gZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kRWxsaXBzZShcbiAgICAgICAgICAgICAgICBwb2ludCxcbiAgICAgICAgICAgICAgICBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyAxMCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl0sXG4gICAgICAgICAgICAgICAgcmVjdGFuZ2xlLndpZHRoIC8gMTAsXG4gICAgICAgICAgICAgICAgcmVjdGFuZ2xlLmhlaWdodCAvIDJcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAobmVhcmVzdFBvaW50WzBdID4gcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyAxMCkge1xuICAgICAgICAgICAgICAgIG5lYXJlc3RQb2ludFswXSA9IChyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDEwKSAqIDIgLSBuZWFyZXN0UG9pbnRbMF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmVhcmVzdFBvaW50O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5lYXJlc3RQb2ludFswXSA+IHJlY3RhbmdsZS54ICsgKHJlY3RhbmdsZS53aWR0aCAqIDkpIC8gMTApIHtcbiAgICAgICAgICAgIHJldHVybiBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRFbGxpcHNlKFxuICAgICAgICAgICAgICAgIHBvaW50LFxuICAgICAgICAgICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl0sXG4gICAgICAgICAgICAgICAgcmVjdGFuZ2xlLndpZHRoIC8gMTAsXG4gICAgICAgICAgICAgICAgcmVjdGFuZ2xlLmhlaWdodCAvIDJcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5lYXJlc3RQb2ludDtcbiAgICB9LFxuICAgIGdldFRhbmdlbnRWZWN0b3JCeUNvbm5lY3Rpb25Qb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnRPZlJlY3RhbmdsZTogUG9pbnRPZlJlY3RhbmdsZSkge1xuICAgICAgICBjb25zdCBjb25uZWN0aW9uUG9pbnQgPSBSZWN0YW5nbGVDbGllbnQuZ2V0Q29ubmVjdGlvblBvaW50KHJlY3RhbmdsZSwgcG9pbnRPZlJlY3RhbmdsZSk7XG4gICAgICAgIGxldCBjZW50ZXJQb2ludCA9IFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDEwLCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyXTtcbiAgICAgICAgbGV0IGEgPSByZWN0YW5nbGUud2lkdGggLyAxMDtcbiAgICAgICAgbGV0IGIgPSByZWN0YW5nbGUuaGVpZ2h0IC8gMjtcbiAgICAgICAgY29uc3QgaXNCYWNrRWxsaXBzZSA9IGNvbm5lY3Rpb25Qb2ludFswXSA+IHJlY3RhbmdsZS54ICsgKHJlY3RhbmdsZS53aWR0aCAqIDkpIC8gMTAgJiYgY29ubmVjdGlvblBvaW50WzFdID4gcmVjdGFuZ2xlLnk7XG4gICAgICAgIGlmIChpc0JhY2tFbGxpcHNlKSB7XG4gICAgICAgICAgICBjZW50ZXJQb2ludCA9IFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcG9pbnQgPSBbY29ubmVjdGlvblBvaW50WzBdIC0gY2VudGVyUG9pbnRbMF0sIC0oY29ubmVjdGlvblBvaW50WzFdIC0gY2VudGVyUG9pbnRbMV0pXTtcbiAgICAgICAgY29uc3Qgc2xvcGUgPSBnZXRUYW5nZW50U2xvcGUocG9pbnRbMF0sIHBvaW50WzFdLCBhLCBiKSBhcyBhbnk7XG4gICAgICAgIGNvbnN0IHZlY3RvciA9IGdldFZlY3RvckJ5U2xvcGUocG9pbnRbMF0sIHBvaW50WzFdLCBzbG9wZSk7XG4gICAgICAgIHJldHVybiBpc0JhY2tFbGxpcHNlID8gKHZlY3Rvci5tYXAobnVtID0+IC1udW0pIGFzIFZlY3RvcikgOiB2ZWN0b3I7XG4gICAgfSxcbiAgICBnZXRDb25uZWN0b3JQb2ludHMocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDIsIHJlY3RhbmdsZS55XSxcbiAgICAgICAgICAgIFtyZWN0YW5nbGUueCArIChyZWN0YW5nbGUud2lkdGggKiA5KSAvIDEwLCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyXSxcbiAgICAgICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDIsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodF0sXG4gICAgICAgICAgICBbcmVjdGFuZ2xlLngsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJdXG4gICAgICAgIF07XG4gICAgfSxcbiAgICBnZXRUZXh0UmVjdGFuZ2xlKGVsZW1lbnQ6IFBsYWl0R2VvbWV0cnkpIHtcbiAgICAgICAgY29uc3QgcmVjdGFuZ2xlID0gZ2V0VGV4dFJlY3RhbmdsZShlbGVtZW50KTtcbiAgICAgICAgY29uc3Qgd2lkdGggPSByZWN0YW5nbGUud2lkdGg7XG4gICAgICAgIHJlY3RhbmdsZS53aWR0aCA9IChyZWN0YW5nbGUud2lkdGggKiAzKSAvIDQ7XG4gICAgICAgIHJlY3RhbmdsZS54ICs9IHdpZHRoIC8gODtcbiAgICAgICAgcmV0dXJuIHJlY3RhbmdsZTtcbiAgICB9XG59O1xuIl19
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVkLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9lbmdpbmVzL2Zsb3djaGFydC9zdG9yZWQtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsVUFBVSxFQUdWLGVBQWUsRUFFZixzQ0FBc0MsRUFDdEMsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNuQixNQUFNLGFBQWEsQ0FBQztBQUdyQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBZ0I7SUFDekMsSUFBSSxDQUFDLEtBQWlCLEVBQUUsU0FBMEIsRUFBRSxPQUFnQjtRQUNoRSxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQ2pCLElBQUksU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLEVBQUUsSUFBSSxTQUFTLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsQ0FBQyxPQUFPLFNBQVMsQ0FBQyxLQUFLO1lBQ3hILEVBQUUsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsYUFBYSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDO1lBQ3RILFNBQVMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxJQUFJ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LENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUM7WUFDbkUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDcEQsQ0FBQztJQUNOLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxPQUFzQjtRQUNuQyxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDO1FBQzlCLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxTQUFTLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDekIsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIFBsYWl0Qm9hcmQsXG4gICAgUG9pbnQsXG4gICAgUG9pbnRPZlJlY3RhbmdsZSxcbiAgICBSZWN0YW5nbGVDbGllbnQsXG4gICAgVmVjdG9yLFxuICAgIGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZFNlZ21lbnRzLFxuICAgIGlzUG9pbnRJbkVsbGlwc2UsXG4gICAgc2V0U3Ryb2tlTGluZWNhcFxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBQbGFpdEdlb21ldHJ5LCBTaGFwZUVuZ2luZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJ3JvdWdoanMvYmluL2NvcmUnO1xuaW1wb3J0IHsgUmVjdGFuZ2xlRW5naW5lIH0gZnJvbSAnLi4vYmFzaWMtc2hhcGVzL3JlY3RhbmdsZSc7XG5pbXBvcnQgeyBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRFbGxpcHNlLCBnZXRUYW5nZW50U2xvcGUsIGdldFZlY3RvckJ5U2xvcGUgfSBmcm9tICcuLi9iYXNpYy1zaGFwZXMvZWxsaXBzZSc7XG5pbXBvcnQgeyBnZXRUZXh0UmVjdGFuZ2xlIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgU3RvcmVkRGF0YUVuZ2luZTogU2hhcGVFbmdpbmUgPSB7XG4gICAgZHJhdyhib2FyZDogUGxhaXRCb2FyZCwgcmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIG9wdGlvbnM6IE9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgcnMgPSBQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKTtcbiAgICAgICAgY29uc3Qgc2hhcGUgPSBycy5wYXRoKFxuICAgICAgICAgICAgYE0ke3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMTB9ICR7cmVjdGFuZ2xlLnl9IEwke3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRofSAke3JlY3RhbmdsZS55fSBBICAke3JlY3RhbmdsZS53aWR0aCAvXG4gICAgICAgICAgICAgICAgMTB9ICR7cmVjdGFuZ2xlLmhlaWdodCAvIDJ9LCAwLCAwLCAwLCR7cmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGh9ICR7cmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0fSBMJHtyZWN0YW5nbGUueCArXG4gICAgICAgICAgICAgICAgcmVjdGFuZ2xlLndpZHRoIC8gMTB9ICR7cmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0fUEgICR7cmVjdGFuZ2xlLndpZHRoIC8gMTB9ICR7cmVjdGFuZ2xlLmhlaWdodCAvXG4gICAgICAgICAgICAgICAgMn0sIDAsIDAsIDEsJHtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDEwfSAke3JlY3RhbmdsZS55fWAsXG4gICAgICAgICAgICB7IC4uLm9wdGlvbnMsIGZpbGxTdHlsZTogJ3NvbGlkJyB9XG4gICAgICAgICk7XG4gICAgICAgIHNldFN0cm9rZUxpbmVjYXAoc2hhcGUsICdyb3VuZCcpO1xuICAgICAgICByZXR1cm4gc2hhcGU7XG4gICAgfSxcbiAgICBpc0hpdChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnQ6IFBvaW50KSB7XG4gICAgICAgIC8vc3BsaXQgc2hhcGUgdG8gcmVjdGFuZ2xlIGFuZCBhIGhhbGYgZWxsaXBzZVxuICAgICAgICBjb25zdCByYW5nZVJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC50b1JlY3RhbmdsZUNsaWVudChbcG9pbnQsIHBvaW50XSk7XG4gICAgICAgIGNvbnN0IGlzSW5SZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuaXNIaXQoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLi4ucmVjdGFuZ2xlLFxuICAgICAgICAgICAgICAgIHg6IHJlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMTAsXG4gICAgICAgICAgICAgICAgd2lkdGg6IChyZWN0YW5nbGUud2lkdGggKiA5KSAvIDEwXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmFuZ2VSZWN0YW5nbGVcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBpc0luRnJvbnRFbGxpcHNlID0gaXNQb2ludEluRWxsaXBzZShcbiAgICAgICAgICAgIHBvaW50LFxuICAgICAgICAgICAgW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMTAsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJdLFxuICAgICAgICAgICAgcmVjdGFuZ2xlLndpZHRoIC8gMTAsXG4gICAgICAgICAgICByZWN0YW5nbGUuaGVpZ2h0IC8gMlxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IG5vdEluQmFja0VsbGlwc2UgPSAhaXNQb2ludEluRWxsaXBzZShcbiAgICAgICAgICAgIHBvaW50LFxuICAgICAgICAgICAgW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoLCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyXSxcbiAgICAgICAgICAgIHJlY3RhbmdsZS53aWR0aCAvIDEwLFxuICAgICAgICAgICAgcmVjdGFuZ2xlLmhlaWdodCAvIDJcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIChpc0luUmVjdGFuZ2xlICYmIG5vdEluQmFja0VsbGlwc2UpIHx8IGlzSW5Gcm9udEVsbGlwc2U7XG4gICAgfSxcbiAgICBnZXRDb3JuZXJQb2ludHMocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpIHtcbiAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRDb3JuZXJQb2ludHMocmVjdGFuZ2xlKTtcbiAgICB9LFxuICAgIGdldE5lYXJlc3RQb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnQ6IFBvaW50KSB7XG4gICAgICAgIGNvbnN0IG5lYXJlc3RQb2ludCA9IGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZFNlZ21lbnRzKHBvaW50LCBSZWN0YW5nbGVFbmdpbmUuZ2V0Q29ybmVyUG9pbnRzKHJlY3RhbmdsZSkpO1xuICAgICAgICBpZiAobmVhcmVzdFBvaW50WzBdIDwgcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyAxMCkge1xuICAgICAgICAgICAgY29uc3QgbmVhcmVzdFBvaW50ID0gZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kRWxsaXBzZShcbiAgICAgICAgICAgICAgICBwb2ludCxcbiAgICAgICAgICAgICAgICBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyAxMCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl0sXG4gICAgICAgICAgICAgICAgcmVjdGFuZ2xlLndpZHRoIC8gMTAsXG4gICAgICAgICAgICAgICAgcmVjdGFuZ2xlLmhlaWdodCAvIDJcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAobmVhcmVzdFBvaW50WzBdID4gcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyAxMCkge1xuICAgICAgICAgICAgICAgIG5lYXJlc3RQb2ludFswXSA9IChyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDEwKSAqIDIgLSBuZWFyZXN0UG9pbnRbMF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmVhcmVzdFBvaW50O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5lYXJlc3RQb2ludFswXSA+IHJlY3RhbmdsZS54ICsgKHJlY3RhbmdsZS53aWR0aCAqIDkpIC8gMTApIHtcbiAgICAgICAgICAgIHJldHVybiBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRFbGxpcHNlKFxuICAgICAgICAgICAgICAgIHBvaW50LFxuICAgICAgICAgICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl0sXG4gICAgICAgICAgICAgICAgcmVjdGFuZ2xlLndpZHRoIC8gMTAsXG4gICAgICAgICAgICAgICAgcmVjdGFuZ2xlLmhlaWdodCAvIDJcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5lYXJlc3RQb2ludDtcbiAgICB9LFxuICAgIGdldFRhbmdlbnRWZWN0b3JCeUNvbm5lY3Rpb25Qb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnRPZlJlY3RhbmdsZTogUG9pbnRPZlJlY3RhbmdsZSkge1xuICAgICAgICBjb25zdCBjb25uZWN0aW9uUG9pbnQgPSBSZWN0YW5nbGVDbGllbnQuZ2V0Q29ubmVjdGlvblBvaW50KHJlY3RhbmdsZSwgcG9pbnRPZlJlY3RhbmdsZSk7XG4gICAgICAgIGxldCBjZW50ZXJQb2ludCA9IFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDEwLCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyXTtcbiAgICAgICAgbGV0IGEgPSByZWN0YW5nbGUud2lkdGggLyAxMDtcbiAgICAgICAgbGV0IGIgPSByZWN0YW5nbGUuaGVpZ2h0IC8gMjtcbiAgICAgICAgY29uc3QgaXNCYWNrRWxsaXBzZSA9IGNvbm5lY3Rpb25Qb2ludFswXSA+IHJlY3RhbmdsZS54ICsgKHJlY3RhbmdsZS53aWR0aCAqIDkpIC8gMTAgJiYgY29ubmVjdGlvblBvaW50WzFdID4gcmVjdGFuZ2xlLnk7XG4gICAgICAgIGlmIChpc0JhY2tFbGxpcHNlKSB7XG4gICAgICAgICAgICBjZW50ZXJQb2ludCA9IFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcG9pbnQgPSBbY29ubmVjdGlvblBvaW50WzBdIC0gY2VudGVyUG9pbnRbMF0sIC0oY29ubmVjdGlvblBvaW50WzFdIC0gY2VudGVyUG9pbnRbMV0pXTtcbiAgICAgICAgY29uc3Qgc2xvcGUgPSBnZXRUYW5nZW50U2xvcGUocG9pbnRbMF0sIHBvaW50WzFdLCBhLCBiKSBhcyBhbnk7XG4gICAgICAgIGNvbnN0IHZlY3RvciA9IGdldFZlY3RvckJ5U2xvcGUocG9pbnRbMF0sIHBvaW50WzFdLCBzbG9wZSk7XG4gICAgICAgIHJldHVybiBpc0JhY2tFbGxpcHNlID8gKHZlY3Rvci5tYXAobnVtID0+IC1udW0pIGFzIFZlY3RvcikgOiB2ZWN0b3I7XG4gICAgfSxcbiAgICBnZXRDb25uZWN0b3JQb2ludHMocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDIsIHJlY3RhbmdsZS55XSxcbiAgICAgICAgICAgIFtyZWN0YW5nbGUueCArIChyZWN0YW5nbGUud2lkdGggKiA5KSAvIDEwLCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyXSxcbiAgICAgICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDIsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodF0sXG4gICAgICAgICAgICBbcmVjdGFuZ2xlLngsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJdXG4gICAgICAgIF07XG4gICAgfSxcbiAgICBnZXRUZXh0UmVjdGFuZ2xlKGVsZW1lbnQ6IFBsYWl0R2VvbWV0cnkpIHtcbiAgICAgICAgY29uc3QgcmVjdGFuZ2xlID0gZ2V0VGV4dFJlY3RhbmdsZShlbGVtZW50KTtcbiAgICAgICAgY29uc3Qgd2lkdGggPSByZWN0YW5nbGUud2lkdGg7XG4gICAgICAgIHJlY3RhbmdsZS53aWR0aCA9IChyZWN0YW5nbGUud2lkdGggKiAzKSAvIDQ7XG4gICAgICAgIHJlY3RhbmdsZS54ICs9IHdpZHRoIC8gODtcbiAgICAgICAgcmV0dXJuIHJlY3RhbmdsZTtcbiAgICB9XG59O1xuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PlaitBoard, createG, drawCircle, drawRectangle, getSelectedElements } from '@plait/core';
|
|
1
|
+
import { PlaitBoard, createG, distanceBetweenPointAndPoint, drawCircle, drawRectangle, getSelectedElements } from '@plait/core';
|
|
2
2
|
import { LineShape, PlaitLine } from '../interfaces';
|
|
3
3
|
import { Generator, PRIMARY_COLOR, RESIZE_HANDLE_DIAMETER, getRectangleByPoints } from '@plait/common';
|
|
4
4
|
import { getCurvePoints, getLinePoints } from '../utils';
|
|
@@ -59,9 +59,13 @@ export class LineActiveGenerator extends Generator {
|
|
|
59
59
|
export function getMiddlePoints(board, element) {
|
|
60
60
|
const result = [];
|
|
61
61
|
const shape = element.shape;
|
|
62
|
+
const hideBuffer = 10;
|
|
62
63
|
if (shape === LineShape.straight) {
|
|
63
64
|
const points = PlaitLine.getPoints(board, element);
|
|
64
65
|
for (let i = 0; i < points.length - 1; i++) {
|
|
66
|
+
const distance = distanceBetweenPointAndPoint(...points[i], ...points[i + 1]);
|
|
67
|
+
if (distance < hideBuffer)
|
|
68
|
+
continue;
|
|
65
69
|
result.push([(points[i][0] + points[i + 1][0]) / 2, (points[i][1] + points[i + 1][1]) / 2]);
|
|
66
70
|
}
|
|
67
71
|
}
|
|
@@ -79,10 +83,13 @@ export function getMiddlePoints(board, element) {
|
|
|
79
83
|
const startIndex = pointsOnBezier.findIndex(point => point[0] === points[i][0] && point[1] === points[i][1]);
|
|
80
84
|
const endIndex = pointsOnBezier.findIndex(point => point[0] === points[i + 1][0] && point[1] === points[i + 1][1]);
|
|
81
85
|
const middleIndex = Math.round((startIndex + endIndex) / 2);
|
|
86
|
+
const distance = distanceBetweenPointAndPoint(...points[i], ...points[i + 1]);
|
|
87
|
+
if (distance < hideBuffer)
|
|
88
|
+
continue;
|
|
82
89
|
result.push(pointsOnBezier[middleIndex]);
|
|
83
90
|
}
|
|
84
91
|
}
|
|
85
92
|
}
|
|
86
93
|
return result;
|
|
87
94
|
}
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1hY3RpdmUuZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VuZXJhdG9ycy9saW5lLWFjdGl2ZS5nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBUyxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFNMUQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFNBQWdDO0lBQ3JFLE9BQU8sQ0FBQyxPQUFrQixFQUFFLElBQWdCO1FBQ3hDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7YUFBTTtZQUNILE9BQU8sS0FBSyxDQUFDO1NBQ2hCO0lBQ0wsQ0FBQztJQUVELElBQUksQ0FBQyxPQUFrQixFQUFFLElBQWdCO1FBQ3JDLE1BQU0sT0FBTyxHQUFHLE9BQU8sRUFBRSxDQUFDO1FBQzFCLE1BQU0sZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pELE1BQU0saUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztRQUN4RCxJQUFJLGlCQUFpQixFQUFFO1lBQ25CLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2hDLE9BQU8s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QyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ25ILE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQzVELE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7YUFDNUM7U0FDSjtLQUNKO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFBvaW50LCBjcmVhdGVHLCBkcmF3Q2lyY2xlLCBkcmF3UmVjdGFuZ2xlLCBnZXRTZWxlY3RlZEVsZW1lbnRzIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTGluZVNoYXBlLCBQbGFpdExpbmUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEdlbmVyYXRvciwgUFJJTUFSWV9DT0xPUiwgUkVTSVpFX0hBTkRMRV9ESUFNRVRFUiwgZ2V0UmVjdGFuZ2xlQnlQb2ludHMgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IGdldEN1cnZlUG9pbnRzLCBnZXRMaW5lUG9pbnRzIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgRGVmYXVsdEdlb21ldHJ5QWN0aXZlU3R5bGUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2ZURhdGEge1xuICAgIHNlbGVjdGVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgTGluZUFjdGl2ZUdlbmVyYXRvciBleHRlbmRzIEdlbmVyYXRvcjxQbGFpdExpbmUsIEFjdGl2ZURhdGE+IHtcbiAgICBjYW5EcmF3KGVsZW1lbnQ6IFBsYWl0TGluZSwgZGF0YTogQWN0aXZlRGF0YSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoZGF0YS5zZWxlY3RlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkcmF3KGVsZW1lbnQ6IFBsYWl0TGluZSwgZGF0YTogQWN0aXZlRGF0YSk6IFNWR0dFbGVtZW50IHtcbiAgICAgICAgY29uc3QgYWN0aXZlRyA9IGNyZWF0ZUcoKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHModGhpcy5ib2FyZCk7XG4gICAgICAgIGNvbnN0IGlzU2luZ2xlU2VsZWN0aW9uID0gc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDE7XG4gICAgICAgIGlmIChpc1NpbmdsZVNlbGVjdGlvbikge1xuICAgICAgICAgICAgYWN0aXZlRy5jbGFzc0xpc3QuYWRkKCdhY3RpdmUnKTtcbiAgICAgICAgICAgIGFjdGl2ZUcuY2xhc3NMaXN0LmFkZCgnbGluZS1oYW5kbGUnKTtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50cyA9IFBsYWl0TGluZS5nZXRQb2ludHModGhpcy5ib2FyZCwgZWxlbWVudCk7XG4gICAgICAgICAgICBwb2ludHMuZm9yRWFjaChwb2ludCA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2lyY2xlID0gZHJhd0NpcmNsZShQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKHRoaXMuYm9hcmQpLCBwb2ludCwgUkVTSVpFX0hBTkRMRV9ESUFNRVRFUiwge1xuICAgICAgICAgICAgICAgICAgICBzdHJva2U6ICcjOTk5OTk5JyxcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IDEsXG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICcjRkZGJyxcbiAgICAgICAgICAgICAgICAgICAgZmlsbFN0eWxlOiAnc29saWQnXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgYWN0aXZlRy5hcHBlbmRDaGlsZChjaXJjbGUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBnZXRNaWRkbGVQb2ludHModGhpcy5ib2FyZCwgZWxlbWVudCkuZm9yRWFjaChwb2ludCA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2lyY2xlID0gZHJhd0NpcmNsZShQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKHRoaXMuYm9hcmQpLCBwb2ludCwgUkVTSVpFX0hBTkRMRV9ESUFNRVRFUiwge1xuICAgICAgICAgICAgICAgICAgICBzdHJva2U6ICcjRkZGRkZGODAnLFxuICAgICAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogMSxcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogYCR7UFJJTUFSWV9DT0xPUn04MGAsXG4gICAgICAgICAgICAgICAgICAgIGZpbGxTdHlsZTogJ3NvbGlkJ1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGFjdGl2ZUcuYXBwZW5kQ2hpbGQoY2lyY2xlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcG9pbnRzID0gZ2V0TGluZVBvaW50cyh0aGlzLmJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZVJlY3RhbmdsZSA9IGdldFJlY3RhbmdsZUJ5UG9pbnRzKHBvaW50cyk7XG4gICAgICAgICAgICBsZXQgb3BhY2l0eSA9ICcwLjUnO1xuICAgICAgICAgICAgaWYgKGFjdGl2ZVJlY3RhbmdsZS5oZWlnaHQgPT09IDAgfHwgYWN0aXZlUmVjdGFuZ2xlLndpZHRoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eSA9ICcwLjgnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgc3Ryb2tlRyA9IGRyYXdSZWN0YW5nbGUodGhpcy5ib2FyZCwgYWN0aXZlUmVjdGFuZ2xlLCB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBQUklNQVJZX0NPTE9SLFxuICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoOiBEZWZhdWx0R2VvbWV0cnlBY3RpdmVTdHlsZS5zZWxlY3Rpb25TdHJva2VXaWR0aFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBzdHJva2VHLnN0eWxlLm9wYWNpdHkgPSBvcGFjaXR5O1xuICAgICAgICAgICAgYWN0aXZlRy5hcHBlbmRDaGlsZChzdHJva2VHKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWN0aXZlRztcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNaWRkbGVQb2ludHMoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IFBsYWl0TGluZSkge1xuICAgIGNvbnN0IHJlc3VsdDogUG9pbnRbXSA9IFtdO1xuICAgIGNvbnN0IHNoYXBlID0gZWxlbWVudC5zaGFwZTtcbiAgICBpZiAoc2hhcGUgPT09IExpbmVTaGFwZS5zdHJhaWdodCkge1xuICAgICAgICBjb25zdCBwb2ludHMgPSBQbGFpdExpbmUuZ2V0UG9pbnRzKGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwb2ludHMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaChbKHBvaW50c1tpXVswXSArIHBvaW50c1tpICsgMV1bMF0pIC8gMiwgKHBvaW50c1tpXVsxXSArIHBvaW50c1tpICsgMV1bMV0pIC8gMl0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChzaGFwZSA9PT0gTGluZVNoYXBlLmN1cnZlKSB7XG4gICAgICAgIGNvbnN0IHBvaW50cyA9IFBsYWl0TGluZS5nZXRQb2ludHMoYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICBjb25zdCBwb2ludHNPbkJlemllciA9IGdldEN1cnZlUG9pbnRzKGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgaWYgKHBvaW50cy5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gMDtcbiAgICAgICAgICAgIGNvbnN0IGVuZEluZGV4ID0gcG9pbnRzT25CZXppZXIubGVuZ3RoIC0gMTtcbiAgICAgICAgICAgIGNvbnN0IG1pZGRsZUluZGV4ID0gTWF0aC5yb3VuZCgoc3RhcnQgKyBlbmRJbmRleCkgLyAyKTtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHBvaW50c09uQmV6aWVyW21pZGRsZUluZGV4XSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBvaW50cy5sZW5ndGggLSAxOyBpKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzdGFydEluZGV4ID0gcG9pbnRzT25CZXppZXIuZmluZEluZGV4KHBvaW50ID0+IHBvaW50WzBdID09PSBwb2ludHNbaV1bMF0gJiYgcG9pbnRbMV0gPT09IHBvaW50c1tpXVsxXSk7XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kSW5kZXggPSBwb2ludHNPbkJlemllci5maW5kSW5kZXgocG9pbnQgPT4gcG9pbnRbMF0gPT09IHBvaW50c1tpICsgMV1bMF0gJiYgcG9pbnRbMV0gPT09IHBvaW50c1tpICsgMV1bMV0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1pZGRsZUluZGV4ID0gTWF0aC5yb3VuZCgoc3RhcnRJbmRleCArIGVuZEluZGV4KSAvIDIpO1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHBvaW50c09uQmV6aWVyW21pZGRsZUluZGV4XSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbiJdfQ==
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1hY3RpdmUuZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VuZXJhdG9ycy9saW5lLWFjdGl2ZS5nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBUyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2SSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFNMUQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFNBQWdDO0lBQ3JFLE9BQU8sQ0FBQyxPQUFrQixFQUFFLElBQWdCO1FBQ3hDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7YUFBTTtZQUNILE9BQU8sS0FBSyxDQUFDO1NBQ2hCO0lBQ0wsQ0FBQztJQUVELElBQUksQ0FBQyxPQUFrQixFQUFFLElBQWdCO1FBQ3JDLE1BQU0sT0FBTyxHQUFHLE9BQU8sRUFBRSxDQUFDO1FBQzFCLE1BQU0sZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pELE1BQU0saUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztRQUN4RCxJQUFJLGlCQUFpQixFQUFFO1lBQ25CLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFD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QUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM3RyxNQUFNLFFBQVEsR0FBRyxjQUFjLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbkgsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDNUQsTUFBTSxRQUFRLEdBQUcsNEJBQTRCLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzlFLElBQUksUUFBUSxHQUFHLFVBQVU7b0JBQUUsU0FBUztnQkFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQzthQUM1QztTQUNKO0tBQ0o7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUG9pbnQsIGNyZWF0ZUcsIGRpc3RhbmNlQmV0d2VlblBvaW50QW5kUG9pbnQsIGRyYXdDaXJjbGUsIGRyYXdSZWN0YW5nbGUsIGdldFNlbGVjdGVkRWxlbWVudHMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBMaW5lU2hhcGUsIFBsYWl0TGluZSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgR2VuZXJhdG9yLCBQUklNQVJZX0NPTE9SLCBSRVNJWkVfSEFORExFX0RJQU1FVEVSLCBnZXRSZWN0YW5nbGVCeVBvaW50cyB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgZ2V0Q3VydmVQb2ludHMsIGdldExpbmVQb2ludHMgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBEZWZhdWx0R2VvbWV0cnlBY3RpdmVTdHlsZSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZlRGF0YSB7XG4gICAgc2VsZWN0ZWQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBMaW5lQWN0aXZlR2VuZXJhdG9yIGV4dGVuZHMgR2VuZXJhdG9yPFBsYWl0TGluZSwgQWN0aXZlRGF0YT4ge1xuICAgIGNhbkRyYXcoZWxlbWVudDogUGxhaXRMaW5lLCBkYXRhOiBBY3RpdmVEYXRhKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChkYXRhLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRyYXcoZWxlbWVudDogUGxhaXRMaW5lLCBkYXRhOiBBY3RpdmVEYXRhKTogU1ZHR0VsZW1lbnQge1xuICAgICAgICBjb25zdCBhY3RpdmVHID0gY3JlYXRlRygpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyh0aGlzLmJvYXJkKTtcbiAgICAgICAgY29uc3QgaXNTaW5nbGVTZWxlY3Rpb24gPSBzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA9PT0gMTtcbiAgICAgICAgaWYgKGlzU2luZ2xlU2VsZWN0aW9uKSB7XG4gICAgICAgICAgICBhY3RpdmVHLmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpO1xuICAgICAgICAgICAgYWN0aXZlRy5jbGFzc0xpc3QuYWRkKCdsaW5lLWhhbmRsZScpO1xuICAgICAgICAgICAgY29uc3QgcG9pbnRzID0gUGxhaXRMaW5lLmdldFBvaW50cyh0aGlzLmJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgICAgIHBvaW50cy5mb3JFYWNoKHBvaW50ID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjaXJjbGUgPSBkcmF3Q2lyY2xlKFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcodGhpcy5ib2FyZCksIHBvaW50LCBSRVNJWkVfSEFORExFX0RJQU1FVEVSLCB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJyM5OTk5OTknLFxuICAgICAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogMSxcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJyNGRkYnLFxuICAgICAgICAgICAgICAgICAgICBmaWxsU3R5bGU6ICdzb2xpZCdcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBhY3RpdmVHLmFwcGVuZENoaWxkKGNpcmNsZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGdldE1pZGRsZVBvaW50cyh0aGlzLmJvYXJkLCBlbGVtZW50KS5mb3JFYWNoKHBvaW50ID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjaXJjbGUgPSBkcmF3Q2lyY2xlKFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcodGhpcy5ib2FyZCksIHBvaW50LCBSRVNJWkVfSEFORExFX0RJQU1FVEVSLCB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJyNGRkZGRkY4MCcsXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoOiAxLFxuICAgICAgICAgICAgICAgICAgICBmaWxsOiBgJHtQUklNQVJZX0NPTE9SfTgwYCxcbiAgICAgICAgICAgICAgICAgICAgZmlsbFN0eWxlOiAnc29saWQnXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgYWN0aXZlRy5hcHBlbmRDaGlsZChjaXJjbGUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBwb2ludHMgPSBnZXRMaW5lUG9pbnRzKHRoaXMuYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICAgICAgY29uc3QgYWN0aXZlUmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlQb2ludHMocG9pbnRzKTtcbiAgICAgICAgICAgIGxldCBvcGFjaXR5ID0gJzAuNSc7XG4gICAgICAgICAgICBpZiAoYWN0aXZlUmVjdGFuZ2xlLmhlaWdodCA9PT0gMCB8fCBhY3RpdmVSZWN0YW5nbGUud2lkdGggPT09IDApIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5ID0gJzAuOCc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBzdHJva2VHID0gZHJhd1JlY3RhbmdsZSh0aGlzLmJvYXJkLCBhY3RpdmVSZWN0YW5nbGUsIHtcbiAgICAgICAgICAgICAgICBzdHJva2U6IFBSSU1BUllfQ09MT1IsXG4gICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IERlZmF1bHRHZW9tZXRyeUFjdGl2ZVN0eWxlLnNlbGVjdGlvblN0cm9rZVdpZHRoXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHN0cm9rZUcuc3R5bGUub3BhY2l0eSA9IG9wYWNpdHk7XG4gICAgICAgICAgICBhY3RpdmVHLmFwcGVuZENoaWxkKHN0cm9rZUcpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY3RpdmVHO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1pZGRsZVBvaW50cyhib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogUGxhaXRMaW5lKSB7XG4gICAgY29uc3QgcmVzdWx0OiBQb2ludFtdID0gW107XG4gICAgY29uc3Qgc2hhcGUgPSBlbGVtZW50LnNoYXBlO1xuICAgIGNvbnN0IGhpZGVCdWZmZXIgPSAxMDtcbiAgICBpZiAoc2hhcGUgPT09IExpbmVTaGFwZS5zdHJhaWdodCkge1xuICAgICAgICBjb25zdCBwb2ludHMgPSBQbGFpdExpbmUuZ2V0UG9pbnRzKGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwb2ludHMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBkaXN0YW5jZSA9IGRpc3RhbmNlQmV0d2VlblBvaW50QW5kUG9pbnQoLi4ucG9pbnRzW2ldLCAuLi5wb2ludHNbaSArIDFdKTtcbiAgICAgICAgICAgIGlmIChkaXN0YW5jZSA8IGhpZGVCdWZmZXIpIGNvbnRpbnVlO1xuICAgICAgICAgICAgcmVzdWx0LnB1c2goWyhwb2ludHNbaV1bMF0gKyBwb2ludHNbaSArIDFdWzBdKSAvIDIsIChwb2ludHNbaV1bMV0gKyBwb2ludHNbaSArIDFdWzFdKSAvIDJdKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoc2hhcGUgPT09IExpbmVTaGFwZS5jdXJ2ZSkge1xuICAgICAgICBjb25zdCBwb2ludHMgPSBQbGFpdExpbmUuZ2V0UG9pbnRzKGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgY29uc3QgcG9pbnRzT25CZXppZXIgPSBnZXRDdXJ2ZVBvaW50cyhib2FyZCwgZWxlbWVudCk7XG4gICAgICAgIGlmIChwb2ludHMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICBjb25zdCBzdGFydCA9IDA7XG4gICAgICAgICAgICBjb25zdCBlbmRJbmRleCA9IHBvaW50c09uQmV6aWVyLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICBjb25zdCBtaWRkbGVJbmRleCA9IE1hdGgucm91bmQoKHN0YXJ0ICsgZW5kSW5kZXgpIC8gMik7XG4gICAgICAgICAgICByZXN1bHQucHVzaChwb2ludHNPbkJlemllclttaWRkbGVJbmRleF0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwb2ludHMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3RhcnRJbmRleCA9IHBvaW50c09uQmV6aWVyLmZpbmRJbmRleChwb2ludCA9PiBwb2ludFswXSA9PT0gcG9pbnRzW2ldWzBdICYmIHBvaW50WzFdID09PSBwb2ludHNbaV1bMV0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZEluZGV4ID0gcG9pbnRzT25CZXppZXIuZmluZEluZGV4KHBvaW50ID0+IHBvaW50WzBdID09PSBwb2ludHNbaSArIDFdWzBdICYmIHBvaW50WzFdID09PSBwb2ludHNbaSArIDFdWzFdKTtcbiAgICAgICAgICAgICAgICBjb25zdCBtaWRkbGVJbmRleCA9IE1hdGgucm91bmQoKHN0YXJ0SW5kZXggKyBlbmRJbmRleCkgLyAyKTtcbiAgICAgICAgICAgICAgICBjb25zdCBkaXN0YW5jZSA9IGRpc3RhbmNlQmV0d2VlblBvaW50QW5kUG9pbnQoLi4ucG9pbnRzW2ldLCAuLi5wb2ludHNbaSArIDFdKTtcbiAgICAgICAgICAgICAgICBpZiAoZGlzdGFuY2UgPCBoaWRlQnVmZmVyKSBjb250aW51ZTtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChwb2ludHNPbkJlemllclttaWRkbGVJbmRleF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59XG4iXX0=
|
|
@@ -153,4 +153,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
153
153
|
standalone: true
|
|
154
154
|
}]
|
|
155
155
|
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }]; } });
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VvbWV0cnkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUMzSCxPQUFPLEVBQ0gsVUFBVSxFQUdWLGlCQUFpQixFQUNqQixtQkFBbUIsRUFFbkIsbUJBQW1CLEVBQ3RCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFVBQVUsRUFBaUIsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFtQixvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQWEsTUFBTSxjQUFjLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBUTdDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxtQkFBOEM7SUFVakYsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEMsQ0FB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ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQsXG4gICAgT25Db250ZXh0Q2hhbmdlZCxcbiAgICBpc1NlbGVjdGlvbk1vdmluZyxcbiAgICBnZXRTZWxlY3RlZEVsZW1lbnRzLFxuICAgIFBsYWl0T3B0aW9uc0JvYXJkLFxuICAgIEFDVElWRV9TVFJPS0VfV0lEVEhcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGxhaXRHZW9tZXRyeSB9IGZyb20gJy4vaW50ZXJmYWNlcy9nZW9tZXRyeSc7XG5pbXBvcnQgeyBHZW9tZXRyeVNoYXBlR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3JzL2dlb21ldHJ5LXNoYXBlLmdlbmVyYXRvcic7XG5pbXBvcnQgeyBUZXh0TWFuYWdlLCBUZXh0TWFuYWdlUmVmIH0gZnJvbSAnQHBsYWl0L3RleHQnO1xuaW1wb3J0IHsgRHJhd1RyYW5zZm9ybXMgfSBmcm9tICcuL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgZ2V0VGV4dFJlY3RhbmdsZSB9IGZyb20gJy4vdXRpbHMvZ2VvbWV0cnknO1xuaW1wb3J0IHsgQWN0aXZlR2VuZXJhdG9yLCBXaXRoVGV4dFBsdWdpbktleSwgV2l0aFRleHRPcHRpb25zLCBnZXRSZWN0YW5nbGVCeVBvaW50cywgQ29tbW9uUGx1Z2luRWxlbWVudCB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgR2VvbWV0cnlUaHJlc2hvbGQgfSBmcm9tICcuL2NvbnN0YW50cy9nZW9tZXRyeSc7XG5pbXBvcnQgeyBQbGFpdERyYXdFbGVtZW50LCBQbGFpdFRleHQgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZ2V0RW5naW5lIH0gZnJvbSAnLi9lbmdpbmVzJztcbmltcG9ydCB7IExpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IgfSBmcm9tICcuL2dlbmVyYXRvcnMvbGluZS1hdXRvLWNvbXBsZXRlLmdlbmVyYXRvcic7XG5pbXBvcnQgeyBtZW1vcml6ZUxhdGVzdFRleHQgfSBmcm9tICcuL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwbGFpdC1kcmF3LWdlb21ldHJ5JyxcbiAgICB0ZW1wbGF0ZTogYGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBHZW9tZXRyeUNvbXBvbmVudCBleHRlbmRzIENvbW1vblBsdWdpbkVsZW1lbnQ8UGxhaXRHZW9tZXRyeSwgUGxhaXRCb2FyZD5cbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNvbnRleHRDaGFuZ2VkPFBsYWl0R2VvbWV0cnksIFBsYWl0Qm9hcmQ+IHtcbiAgICBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBhY3RpdmVHZW5lcmF0b3IhOiBBY3RpdmVHZW5lcmF0b3I8UGxhaXRHZW9tZXRyeT47XG5cbiAgICBsaW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yITogTGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvcjtcblxuICAgIHNoYXBlR2VuZXJhdG9yITogR2VvbWV0cnlTaGFwZUdlbmVyYXRvcjtcblxuICAgIGdldCB0ZXh0TWFuYWdlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRUZXh0TWFuYWdlcygpWzBdO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgcHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoY2RyKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplR2VuZXJhdG9yKCkge1xuICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvciA9IG5ldyBBY3RpdmVHZW5lcmF0b3I8UGxhaXRHZW9tZXRyeT4odGhpcy5ib2FyZCwge1xuICAgICAgICAgICAgZ2V0U3Ryb2tlV2lkdGg6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyh0aGlzLmJvYXJkKTtcbiAgICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDEgJiYgIWlzU2VsZWN0aW9uTW92aW5nKHRoaXMuYm9hcmQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBBQ1RJVkVfU1RST0tFX1dJRFRIO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBBQ1RJVkVfU1RST0tFX1dJRFRIO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRTdHJva2VPcGFjaXR5OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHModGhpcy5ib2FyZCk7XG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxICYmICFpc1NlbGVjdGlvbk1vdmluZyh0aGlzLmJvYXJkKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMC41O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRSZWN0YW5nbGU6IChlbGVtZW50OiBQbGFpdEdlb21ldHJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldFJlY3RhbmdsZUJ5UG9pbnRzKGVsZW1lbnQucG9pbnRzKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBoYXNSZXNpemVIYW5kbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyh0aGlzLmJvYXJkKTtcbiAgICAgICAgICAgICAgICBpZiAoUGxhaXRCb2FyZC5oYXNCZWVuVGV4dEVkaXRpbmcodGhpcy5ib2FyZCkgJiYgUGxhaXREcmF3RWxlbWVudC5pc1RleHQodGhpcy5lbGVtZW50KSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA9PT0gMSAmJiAhaXNTZWxlY3Rpb25Nb3ZpbmcodGhpcy5ib2FyZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IgPSBuZXcgTGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvcih0aGlzLmJvYXJkKTtcbiAgICAgICAgdGhpcy5zaGFwZUdlbmVyYXRvciA9IG5ldyBHZW9tZXRyeVNoYXBlR2VuZXJhdG9yKHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVUZXh0TWFuYWdlKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZUdlbmVyYXRvcigpO1xuICAgICAgICB0aGlzLnNoYXBlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgdGhpcy5nKTtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7IHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkIH0pO1xuICAgICAgICB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7XG4gICAgICAgICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5kcmF3VGV4dCgpO1xuICAgIH1cblxuICAgIG9uQ29udGV4dENoYW5nZWQoXG4gICAgICAgIHZhbHVlOiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0PFBsYWl0R2VvbWV0cnksIFBsYWl0Qm9hcmQ+LFxuICAgICAgICBwcmV2aW91czogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dDxQbGFpdEdlb21ldHJ5LCBQbGFpdEJvYXJkPlxuICAgICkge1xuICAgICAgICBjb25zdCBpc0NoYW5nZVRoZW1lID0gdGhpcy5ib2FyZC5vcGVyYXRpb25zLmZpbmQob3AgPT4gb3AudHlwZSA9PT0gJ3NldF90aGVtZScpO1xuICAgICAgICBpZiAodmFsdWUuZWxlbWVudCAhPT0gcHJldmlvdXMuZWxlbWVudCB8fCBpc0NoYW5nZVRoZW1lKSB7XG4gICAgICAgICAgICB0aGlzLnNoYXBlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgdGhpcy5nKTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICAgICAgICAgIHRoaXMubGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVRleHQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGhhc1NhbWVTZWxlY3RlZCA9IHZhbHVlLnNlbGVjdGVkID09PSBwcmV2aW91cy5zZWxlY3RlZDtcbiAgICAgICAgICAgIGNvbnN0IGhhc1NhbWVIYW5kbGVTdGF0ZSA9IHRoaXMuYWN0aXZlR2VuZXJhdG9yLm9wdGlvbnMuaGFzUmVzaXplSGFuZGxlKCkgPT09IHRoaXMuYWN0aXZlR2VuZXJhdG9yLmhhc1Jlc2l6ZUhhbmRsZTtcbiAgICAgICAgICAgIGlmICghaGFzU2FtZVNlbGVjdGVkIHx8ICFoYXNTYW1lSGFuZGxlU3RhdGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHsgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwge1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZWRpdFRleHQoKSB7XG4gICAgICAgIHRoaXMudGV4dE1hbmFnZS5lZGl0KCk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICB9XG5cbiAgICBkcmF3VGV4dCgpIHtcbiAgICAgICAgdGhpcy50ZXh0TWFuYWdlLmRyYXcodGhpcy5lbGVtZW50LnRleHQpO1xuICAgICAgICB0aGlzLmcuYXBwZW5kKHRoaXMudGV4dE1hbmFnZS5nKTtcbiAgICB9XG5cbiAgICB1cGRhdGVUZXh0KCkge1xuICAgICAgICB0aGlzLnRleHRNYW5hZ2UudXBkYXRlVGV4dCh0aGlzLmVsZW1lbnQudGV4dCk7XG4gICAgICAgIHRoaXMudGV4dE1hbmFnZS51cGRhdGVSZWN0YW5nbGUoKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplVGV4dE1hbmFnZSgpIHtcbiAgICAgICAgY29uc3QgcGx1Z2lucyA9ICgodGhpcy5ib2FyZCBhcyBQbGFpdE9wdGlvbnNCb2FyZCkuZ2V0UGx1Z2luT3B0aW9uczxXaXRoVGV4dE9wdGlvbnM+KFdpdGhUZXh0UGx1Z2luS2V5KSB8fCB7fSkudGV4dFBsdWdpbnM7XG5cbiAgICAgICAgY29uc3QgbWFuYWdlID0gbmV3IFRleHRNYW5hZ2UodGhpcy5ib2FyZCwgdGhpcy52aWV3Q29udGFpbmVyUmVmLCB7XG4gICAgICAgICAgICBnZXRSZWN0YW5nbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBnZXRSZWN0YW5nbGUgPSBnZXRFbmdpbmUodGhpcy5lbGVtZW50LnNoYXBlKS5nZXRUZXh0UmVjdGFuZ2xlO1xuICAgICAgICAgICAgICAgIGlmIChnZXRSZWN0YW5nbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdldFJlY3RhbmdsZSh0aGlzLmVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0VGV4dFJlY3RhbmdsZSh0aGlzLmVsZW1lbnQpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9uVmFsdWVDaGFuZ2VIYW5kbGU6ICh0ZXh0TWFuYWdlUmVmOiBUZXh0TWFuYWdlUmVmKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gdGV4dE1hbmFnZVJlZi5oZWlnaHQgLyB0aGlzLmJvYXJkLnZpZXdwb3J0Lnpvb207XG4gICAgICAgICAgICAgICAgY29uc3Qgd2lkdGggPSB0ZXh0TWFuYWdlUmVmLndpZHRoIC8gdGhpcy5ib2FyZC52aWV3cG9ydC56b29tO1xuICAgICAgICAgICAgICAgIGlmICh0ZXh0TWFuYWdlUmVmLm5ld1ZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIERyYXdUcmFuc2Zvcm1zLnNldFRleHQodGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50LCB0ZXh0TWFuYWdlUmVmLm5ld1ZhbHVlLCB3aWR0aCwgaGVpZ2h0KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBEcmF3VHJhbnNmb3Jtcy5zZXRUZXh0U2l6ZSh0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQsIHdpZHRoLCBoZWlnaHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0ZXh0TWFuYWdlUmVmLm9wZXJhdGlvbnMgJiYgbWVtb3JpemVMYXRlc3RUZXh0KHRoaXMuZWxlbWVudCwgdGV4dE1hbmFnZVJlZi5vcGVyYXRpb25zKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRNYXhXaWR0aDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGxldCB3aWR0aCA9IGdldFRleHRSZWN0YW5nbGUodGhpcy5lbGVtZW50KS53aWR0aDtcbiAgICAgICAgICAgICAgICBjb25zdCBnZXRSZWN0YW5nbGUgPSBnZXRFbmdpbmUodGhpcy5lbGVtZW50LnNoYXBlKS5nZXRUZXh0UmVjdGFuZ2xlO1xuICAgICAgICAgICAgICAgIGlmIChnZXRSZWN0YW5nbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGggPSBnZXRSZWN0YW5nbGUodGhpcy5lbGVtZW50KS53aWR0aDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuICh0aGlzLmVsZW1lbnQgYXMgUGxhaXRUZXh0KT8uYXV0b1NpemUgPyBHZW9tZXRyeVRocmVzaG9sZC5kZWZhdWx0VGV4dE1heFdpZHRoIDogd2lkdGg7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGV4dFBsdWdpbnM6IHBsdWdpbnNcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZVRleHRNYW5hZ2VzKFttYW5hZ2VdKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy50ZXh0TWFuYWdlLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IuZGVzdHJveSgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VvbWV0cnkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUMzSCxPQUFPLEVBQ0gsVUFBVSxFQUdWLGlCQUFpQixFQUNqQixtQkFBbUIsRUFFbkIsbUJBQW1CLEVBR3RCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxPQUFPLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFFMUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFVBQVUsRUFBaUIsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFtQixvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQXdCLE1BQU0sY0FBYyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdEYsT0FBTyxFQUFpQixrQkFBa0IsRUFBOEIsTUFBTSxTQUFTLENBQUM7O0FBU3hGLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxtQkFBOEM7SUFVakYsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEMs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b250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQsXG4gICAgT25Db250ZXh0Q2hhbmdlZCxcbiAgICBpc1NlbGVjdGlvbk1vdmluZyxcbiAgICBnZXRTZWxlY3RlZEVsZW1lbnRzLFxuICAgIFBsYWl0T3B0aW9uc0JvYXJkLFxuICAgIEFDVElWRV9TVFJPS0VfV0lEVEgsXG4gICAgZmluZEVsZW1lbnRzLFxuICAgIFBsYWl0RWxlbWVudFxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBmaW5kSW5kZXggfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFBsYWl0R2VvbWV0cnkgfSBmcm9tICcuL2ludGVyZmFjZXMvZ2VvbWV0cnknO1xuaW1wb3J0IHsgR2VvbWV0cnlTaGFwZUdlbmVyYXRvciB9IGZyb20gJy4vZ2VuZXJhdG9ycy9nZW9tZXRyeS1zaGFwZS5nZW5lcmF0b3InO1xuaW1wb3J0IHsgVGV4dE1hbmFnZSwgVGV4dE1hbmFnZVJlZiB9IGZyb20gJ0BwbGFpdC90ZXh0JztcbmltcG9ydCB7IERyYXdUcmFuc2Zvcm1zIH0gZnJvbSAnLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IGdldFRleHRSZWN0YW5nbGUgfSBmcm9tICcuL3V0aWxzL2dlb21ldHJ5JztcbmltcG9ydCB7IEFjdGl2ZUdlbmVyYXRvciwgV2l0aFRleHRQbHVnaW5LZXksIFdpdGhUZXh0T3B0aW9ucywgZ2V0UmVjdGFuZ2xlQnlQb2ludHMsIENvbW1vblBsdWdpbkVsZW1lbnQgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IEdlb21ldHJ5VGhyZXNob2xkIH0gZnJvbSAnLi9jb25zdGFudHMvZ2VvbWV0cnknO1xuaW1wb3J0IHsgUGxhaXREcmF3RWxlbWVudCwgUGxhaXRMaW5lLCBQbGFpdFRleHQgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZ2V0RW5naW5lIH0gZnJvbSAnLi9lbmdpbmVzJztcbmltcG9ydCB7IExpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IgfSBmcm9tICcuL2dlbmVyYXRvcnMvbGluZS1hdXRvLWNvbXBsZXRlLmdlbmVyYXRvcic7XG5pbXBvcnQgeyBnZXRMaW5lUG9pbnRzLCBtZW1vcml6ZUxhdGVzdFRleHQsIHRyYW5zZm9ybVBvaW50VG9Db25uZWN0aW9uIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBMaW5lUmVzaXplSGFuZGxlIH0gZnJvbSAnLi91dGlscy9wb3NpdGlvbi9saW5lJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwbGFpdC1kcmF3LWdlb21ldHJ5JyxcbiAgICB0ZW1wbGF0ZTogYGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBHZW9tZXRyeUNvbXBvbmVudCBleHRlbmRzIENvbW1vblBsdWdpbkVsZW1lbnQ8UGxhaXRHZW9tZXRyeSwgUGxhaXRCb2FyZD5cbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNvbnRleHRDaGFuZ2VkPFBsYWl0R2VvbWV0cnksIFBsYWl0Qm9hcmQ+IHtcbiAgICBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBhY3RpdmVHZW5lcmF0b3IhOiBBY3RpdmVHZW5lcmF0b3I8UGxhaXRHZW9tZXRyeT47XG5cbiAgICBsaW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yITogTGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvcjtcblxuICAgIHNoYXBlR2VuZXJhdG9yITogR2VvbWV0cnlTaGFwZUdlbmVyYXRvcjtcblxuICAgIGdldCB0ZXh0TWFuYWdlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRUZXh0TWFuYWdlcygpWzBdO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgcHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoY2RyKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplR2VuZXJhdG9yKCkge1xuICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvciA9IG5ldyBBY3RpdmVHZW5lcmF0b3I8UGxhaXRHZW9tZXRyeT4odGhpcy5ib2FyZCwge1xuICAgICAgICAgICAgZ2V0U3Ryb2tlV2lkdGg6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyh0aGlzLmJvYXJkKTtcbiAgICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDEgJiYgIWlzU2VsZWN0aW9uTW92aW5nKHRoaXMuYm9hcmQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBBQ1RJVkVfU1RST0tFX1dJRFRIO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBBQ1RJVkVfU1RST0tFX1dJRFRIO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRTdHJva2VPcGFjaXR5OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHModGhpcy5ib2FyZCk7XG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxICYmICFpc1NlbGVjdGlvbk1vdmluZyh0aGlzLmJvYXJkKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMC41O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRSZWN0YW5nbGU6IChlbGVtZW50OiBQbGFpdEdlb21ldHJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldFJlY3RhbmdsZUJ5UG9pbnRzKGVsZW1lbnQucG9pbnRzKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBoYXNSZXNpemVIYW5kbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyh0aGlzLmJvYXJkKTtcbiAgICAgICAgICAgICAgICBpZiAoUGxhaXRCb2FyZC5oYXNCZWVuVGV4dEVkaXRpbmcodGhpcy5ib2FyZCkgJiYgUGxhaXREcmF3RWxlbWVudC5pc1RleHQodGhpcy5lbGVtZW50KSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA9PT0gMSAmJiAhaXNTZWxlY3Rpb25Nb3ZpbmcodGhpcy5ib2FyZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IgPSBuZXcgTGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvcih0aGlzLmJvYXJkKTtcbiAgICAgICAgdGhpcy5zaGFwZUdlbmVyYXRvciA9IG5ldyBHZW9tZXRyeVNoYXBlR2VuZXJhdG9yKHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVUZXh0TWFuYWdlKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZUdlbmVyYXRvcigpO1xuICAgICAgICB0aGlzLnNoYXBlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgdGhpcy5nKTtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7IHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkIH0pO1xuICAgICAgICB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7XG4gICAgICAgICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5kcmF3VGV4dCgpO1xuICAgIH1cblxuICAgIG9uQ29udGV4dENoYW5nZWQoXG4gICAgICAgIHZhbHVlOiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0PFBsYWl0R2VvbWV0cnksIFBsYWl0Qm9hcmQ+LFxuICAgICAgICBwcmV2aW91czogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dDxQbGFpdEdlb21ldHJ5LCBQbGFpdEJvYXJkPlxuICAgICkge1xuICAgICAgICBjb25zdCBpc0NoYW5nZVRoZW1lID0gdGhpcy5ib2FyZC5vcGVyYXRpb25zLmZpbmQob3AgPT4gb3AudHlwZSA9PT0gJ3NldF90aGVtZScpO1xuICAgICAgICBpZiAodmFsdWUuZWxlbWVudCAhPT0gcHJldmlvdXMuZWxlbWVudCB8fCBpc0NoYW5nZVRoZW1lKSB7XG4gICAgICAgICAgICB0aGlzLnNoYXBlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgdGhpcy5nKTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICAgICAgICAgIHRoaXMubGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVRleHQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGhhc1NhbWVTZWxlY3RlZCA9IHZhbHVlLnNlbGVjdGVkID09PSBwcmV2aW91cy5zZWxlY3RlZDtcbiAgICAgICAgICAgIGNvbnN0IGhhc1NhbWVIYW5kbGVTdGF0ZSA9IHRoaXMuYWN0aXZlR2VuZXJhdG9yLm9wdGlvbnMuaGFzUmVzaXplSGFuZGxlKCkgPT09IHRoaXMuYWN0aXZlR2VuZXJhdG9yLmhhc1Jlc2l6ZUhhbmRsZTtcbiAgICAgICAgICAgIGlmICghaGFzU2FtZVNlbGVjdGVkIHx8ICFoYXNTYW1lSGFuZGxlU3RhdGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHsgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwge1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZWRpdFRleHQoKSB7XG4gICAgICAgIHRoaXMudGV4dE1hbmFnZS5lZGl0KCk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICB9XG5cbiAgICBkcmF3VGV4dCgpIHtcbiAgICAgICAgdGhpcy50ZXh0TWFuYWdlLmRyYXcodGhpcy5lbGVtZW50LnRleHQpO1xuICAgICAgICB0aGlzLmcuYXBwZW5kKHRoaXMudGV4dE1hbmFnZS5nKTtcbiAgICB9XG5cbiAgICB1cGRhdGVUZXh0KCkge1xuICAgICAgICB0aGlzLnRleHRNYW5hZ2UudXBkYXRlVGV4dCh0aGlzLmVsZW1lbnQudGV4dCk7XG4gICAgICAgIHRoaXMudGV4dE1hbmFnZS51cGRhdGVSZWN0YW5nbGUoKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplVGV4dE1hbmFnZSgpIHtcbiAgICAgICAgY29uc3QgcGx1Z2lucyA9ICgodGhpcy5ib2FyZCBhcyBQbGFpdE9wdGlvbnNCb2FyZCkuZ2V0UGx1Z2luT3B0aW9uczxXaXRoVGV4dE9wdGlvbnM+KFdpdGhUZXh0UGx1Z2luS2V5KSB8fCB7fSkudGV4dFBsdWdpbnM7XG5cbiAgICAgICAgY29uc3QgbWFuYWdlID0gbmV3IFRleHRNYW5hZ2UodGhpcy5ib2FyZCwgdGhpcy52aWV3Q29udGFpbmVyUmVmLCB7XG4gICAgICAgICAgICBnZXRSZWN0YW5nbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBnZXRSZWN0YW5nbGUgPSBnZXRFbmdpbmUodGhpcy5lbGVtZW50LnNoYXBlKS5nZXRUZXh0UmVjdGFuZ2xlO1xuICAgICAgICAgICAgICAgIGlmIChnZXRSZWN0YW5nbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdldFJlY3RhbmdsZSh0aGlzLmVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0VGV4dFJlY3RhbmdsZSh0aGlzLmVsZW1lbnQpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9uVmFsdWVDaGFuZ2VIYW5kbGU6ICh0ZXh0TWFuYWdlUmVmOiBUZXh0TWFuYWdlUmVmKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gdGV4dE1hbmFnZVJlZi5oZWlnaHQgLyB0aGlzLmJvYXJkLnZpZXdwb3J0Lnpvb207XG4gICAgICAgICAgICAgICAgY29uc3Qgd2lkdGggPSB0ZXh0TWFuYWdlUmVmLndpZHRoIC8gdGhpcy5ib2FyZC52aWV3cG9ydC56b29tO1xuICAgICAgICAgICAgICAgIGlmICh0ZXh0TWFuYWdlUmVmLm5ld1ZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIERyYXdUcmFuc2Zvcm1zLnNldFRleHQodGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50LCB0ZXh0TWFuYWdlUmVmLm5ld1ZhbHVlLCB3aWR0aCwgaGVpZ2h0KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBEcmF3VHJhbnNmb3Jtcy5zZXRUZXh0U2l6ZSh0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQsIHdpZHRoLCBoZWlnaHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0ZXh0TWFuYWdlUmVmLm9wZXJhdGlvbnMgJiYgbWVtb3JpemVMYXRlc3RUZXh0KHRoaXMuZWxlbWVudCwgdGV4dE1hbmFnZVJlZi5vcGVyYXRpb25zKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRNYXhXaWR0aDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGxldCB3aWR0aCA9IGdldFRleHRSZWN0YW5nbGUodGhpcy5lbGVtZW50KS53aWR0aDtcbiAgICAgICAgICAgICAgICBjb25zdCBnZXRSZWN0YW5nbGUgPSBnZXRFbmdpbmUodGhpcy5lbGVtZW50LnNoYXBlKS5nZXRUZXh0UmVjdGFuZ2xlO1xuICAgICAgICAgICAgICAgIGlmIChnZXRSZWN0YW5nbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGggPSBnZXRSZWN0YW5nbGUodGhpcy5lbGVtZW50KS53aWR0aDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuICh0aGlzLmVsZW1lbnQgYXMgUGxhaXRUZXh0KT8uYXV0b1NpemUgPyBHZW9tZXRyeVRocmVzaG9sZC5kZWZhdWx0VGV4dE1heFdpZHRoIDogd2lkdGg7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGV4dFBsdWdpbnM6IHBsdWdpbnNcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZVRleHRNYW5hZ2VzKFttYW5hZ2VdKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy50ZXh0TWFuYWdlLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IuZGVzdHJveSgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -154,4 +154,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
154
154
|
standalone: true
|
|
155
155
|
}]
|
|
156
156
|
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }]; } });
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9saW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBdUMsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxFQUNILFVBQVUsRUFDViwyQkFBMkIsRUFHM0IsY0FBYyxFQUVkLGlCQUFpQixFQUNwQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxVQUFVLEVBQWlCLE1BQU0sYUFBYSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFhaEQsTUFBTSxPQUFPLGFBQWMsU0FBUSwyQkFBa0Q7SUFZakYsWUFBb0IsZ0JBQWtDLEVBQVksR0FBc0I7UUFDcEYsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBREsscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFZLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBVnhGLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBTS9CLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQUUvQixvQkFBZSxHQUFvQixFQUFFLENBQUM7SUFJdEMsQ0FBQztJQUVELG1CQUFtQjtRQUNmLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMs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Q0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFO29CQUNoRCxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ3hEO2FBQ0o7U0FDSjthQUFNO1lBQ0gsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ25CO0lBQ0wsQ0FBQztJQUVELG1CQUFtQjtRQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzlCLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7K0dBckpRLGFBQWE7bUdBQWIsYUFBYSxrR0FKWixFQUFFOzs0RkFJSCxhQUFhO2tCQU56QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQbGFpdFBsdWdpbkVsZW1lbnRDb21wb25lbnQsXG4gICAgUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCxcbiAgICBPbkNvbnRleHRDaGFuZ2VkLFxuICAgIGdldEVsZW1lbnRCeUlkLFxuICAgIGdldFNlbGVjdGVkRWxlbWVudHMsXG4gICAgaXNTZWxlY3Rpb25Nb3Zpbmdcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGluZVRleHQsIFBsYWl0RHJhd0VsZW1lbnQsIFBsYWl0R2VvbWV0cnksIFBsYWl0TGluZSB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUZXh0TWFuYWdlLCBUZXh0TWFuYWdlUmVmIH0gZnJvbSAnQHBsYWl0L3RleHQnO1xuaW1wb3J0IHsgTGluZVNoYXBlR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3JzL2xpbmUuZ2VuZXJhdG9yJztcbmltcG9ydCB7IExpbmVBY3RpdmVHZW5lcmF0b3IgfSBmcm9tICcuL2dlbmVyYXRvcnMvbGluZS1hY3RpdmUuZ2VuZXJhdG9yJztcbmltcG9ydCB7IGdldExpbmVUZXh0UmVjdGFuZ2xlLCBtZW1vcml6ZUxhdGVzdFRleHQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IERyYXdUcmFuc2Zvcm1zIH0gZnJvbSAnLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IEdlb21ldHJ5VGhyZXNob2xkIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5pbnRlcmZhY2UgQm91bmRlZEVsZW1lbnRzIHtcbiAgICBzb3VyY2U/OiBQbGFpdEdlb21ldHJ5O1xuICAgIHRhcmdldD86IFBsYWl0R2VvbWV0cnk7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGxhaXQtZHJhdy1saW5lJyxcbiAgICB0ZW1wbGF0ZTogYGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBMaW5lQ29tcG9uZW50IGV4dGVuZHMgUGxhaXRQbHVnaW5FbGVtZW50Q29tcG9uZW50PFBsYWl0TGluZSwgUGxhaXRCb2FyZD5cbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNvbnRleHRDaGFuZ2VkPFBsYWl0TGluZSwgUGxhaXRCb2FyZD4ge1xuICAgIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHNoYXBlR2VuZXJhdG9yITogTGluZVNoYXBlR2VuZXJhdG9yO1xuXG4gICAgYWN0aXZlR2VuZXJhdG9yITogTGluZUFjdGl2ZUdlbmVyYXRvcjtcblxuICAgIHRleHRNYW5hZ2VzOiBUZXh0TWFuYWdlW10gPSBbXTtcblxuICAgIGJvdW5kZWRFbGVtZW50czogQm91bmRlZEVsZW1lbnRzID0ge307XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsIHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKGNkcik7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZUdlbmVyYXRvcigpIHtcbiAgICAgICAgdGhpcy5zaGFwZUdlbmVyYXRvciA9IG5ldyBMaW5lU2hhcGVHZW5lcmF0b3IodGhpcy5ib2FyZCk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yID0gbmV3IExpbmVBY3RpdmVHZW5lcmF0b3IodGhpcy5ib2FyZCk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZVRleHRNYW5hZ2VzKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZUdlbmVyYXRvcigpO1xuICAgICAgICB0aGlzLnNoYXBlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgdGhpcy5nKTtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7IHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkIH0pO1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmJvdW5kZWRFbGVtZW50cyA9IHRoaXMuZ2V0Qm91bmRlZEVsZW1lbnRzKCk7XG4gICAgICAgIHRoaXMuZHJhd1RleHQoKTtcbiAgICB9XG5cbiAgICBnZXRCb3VuZGVkRWxlbWVudHMoKSB7XG4gICAgICAgIGNvbnN0IGJvdW5kZWRFbGVtZW50czogQm91bmRlZEVsZW1lbnRzID0ge307XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnQuc291cmNlLmJvdW5kSWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGJvdW5kRWxlbWVudCA9IGdldEVsZW1lbnRCeUlkPFBsYWl0R2VvbWV0cnk+KHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudC5zb3VyY2UuYm91bmRJZCk7XG4gICAgICAgICAgICBpZiAoYm91bmRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgYm91bmRlZEVsZW1lbnRzLnNvdXJjZSA9IGJvdW5kRWxlbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5lbGVtZW50LnRhcmdldC5ib3VuZElkKSB7XG4gICAgICAgICAgICBjb25zdCBib3VuZEVsZW1lbnQgPSBnZXRFbGVtZW50QnlJZDxQbGFpdEdlb21ldHJ5Pih0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQudGFyZ2V0LmJvdW5kSWQpO1xuICAgICAgICAgICAgaWYgKGJvdW5kRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGJvdW5kZWRFbGVtZW50cy50YXJnZXQgPSBib3VuZEVsZW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGJvdW5kZWRFbGVtZW50cztcbiAgICB9XG5cbiAgICBvbkNvbnRleHRDaGFuZ2VkKHZhbHVlOiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0PFBsYWl0TGluZSwgUGxhaXRCb2FyZD4sIHByZXZpb3VzOiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0PFBsYWl0TGluZSwgUGxhaXRCb2FyZD4pIHtcbiAgICAgICAgY29uc3QgYm91bmRlZEVsZW1lbnRzID0gdGhpcy5nZXRCb3VuZGVkRWxlbWVudHMoKTtcbiAgICAgICAgY29uc3QgaXNCb3VuZGVkRWxlbWVudHNDaGFuZ2VkID1cbiAgICAgICAgICAgIGJvdW5kZWRFbGVtZW50cy5zb3VyY2UgIT09IHRoaXMuYm91bmRlZEVsZW1lbnRzLnNvdXJjZSB8fCBib3VuZGVkRWxlbWVudHMudGFyZ2V0ICE9PSB0aGlzLmJvdW5kZWRFbGVtZW50cy50YXJnZXQ7XG4gICAgICAgIHRoaXMuYm91bmRlZEVsZW1lbnRzID0gYm91bmRlZEVsZW1lbnRzO1xuICAgICAgICBjb25zdCBpc0NoYW5nZVRoZW1lID0gdGhpcy5ib2FyZC5vcGVyYXRpb25zLmZpbmQob3AgPT4gb3AudHlwZSA9PT0gJ3NldF90aGVtZScpO1xuXG4gICAgICAgIGlmICh2YWx1ZS5lbGVtZW50ICE9PSBwcmV2aW91cy5lbGVtZW50IHx8IGlzQ2hhbmdlVGhlbWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2hhcGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCB0aGlzLmcpO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7IHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkIH0pO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUZXh0KHByZXZpb3VzLmVsZW1lbnQudGV4dHMsIHZhbHVlLmVsZW1lbnQudGV4dHMpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUZXh0UmVjdGFuZ2xlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBoYXNTYW1lU2VsZWN0ZWQgPSB2YWx1ZS5zZWxlY3RlZCA9PT0gcHJldmlvdXMuc2VsZWN0ZWQ7XG4gICAgICAgICAgICBpZiAoIWhhc1NhbWVTZWxlY3RlZCB8fCAodmFsdWUuc2VsZWN0ZWQgJiYgaXNTZWxlY3Rpb25Nb3ZpbmcodGhpcy5ib2FyZCkpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7IHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChpc0JvdW5kZWRFbGVtZW50c0NoYW5nZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2hhcGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCB0aGlzLmcpO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7IHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkIH0pO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUZXh0UmVjdGFuZ2xlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbml0aWFsaXplVGV4dE1hbmFnZXMoKSB7XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnQudGV4dHM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50LnRleHRzLmZvckVhY2goKHRleHQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWFuYWdlID0gdGhpcy5jcmVhdGVUZXh0TWFuYWdlKHRleHQsIGluZGV4KTtcbiAgICAgICAgICAgICAgICB0aGlzLnRleHRNYW5hZ2VzLnB1c2gobWFuYWdlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGVzdHJveVRleHRNYW5hZ2VzKCkge1xuICAgICAgICB0aGlzLnRleHRNYW5hZ2VzLmZvckVhY2gobWFuYWdlID0+IHtcbiAgICAgICAgICAgIG1hbmFnZS5kZXN0cm95KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGRyYXdUZXh0KCkge1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50LnRleHRzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMudGV4dE1hbmFnZXMuZm9yRWFjaCgobWFuYWdlLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIG1hbmFnZS5kcmF3KHRoaXMuZWxlbWVudC50ZXh0cyFbaW5kZXhdLnRleHQpO1xuICAgICAgICAgICAgICAgIHRoaXMuZy5hcHBlbmQobWFuYWdlLmcpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjcmVhdGVUZXh0TWFuYWdlKHRleHQ6IExpbmVUZXh0LCBpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiBuZXcgVGV4dE1hbmFnZSh0aGlzLmJvYXJkLCB0aGlzLnZpZXdDb250YWluZXJSZWYsIHtcbiAgICAgICAgICAgIGdldFJlY3RhbmdsZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBnZXRMaW5lVGV4dFJlY3RhbmdsZSh0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQsIGluZGV4KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvblZhbHVlQ2hhbmdlSGFuZGxlOiAodGV4dE1hbmFnZVJlZjogVGV4dE1hbmFnZVJlZikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IHRleHRNYW5hZ2VSZWYuaGVpZ2h0IC8gdGhpcy5ib2FyZC52aWV3cG9ydC56b29tO1xuICAgICAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gdGV4dE1hbmFnZVJlZi53aWR0aCAvIHRoaXMuYm9hcmQudmlld3BvcnQuem9vbTtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZXh0cyA9IFsuLi50aGlzLmVsZW1lbnQudGV4dHNdO1xuICAgICAgICAgICAgICAgIHRleHRzLnNwbGljZShpbmRleCwgMSwge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0OiB0ZXh0TWFuYWdlUmVmLm5ld1ZhbHVlID8gdGV4dE1hbmFnZVJlZi5uZXdWYWx1ZSA6IHRoaXMuZWxlbWVudC50ZXh0c1tpbmRleF0udGV4dCxcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHRoaXMuZWxlbWVudC50ZXh0c1tpbmRleF0ucG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHRcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBEcmF3VHJhbnNmb3Jtcy5zZXRMaW5lVGV4dHModGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50LCB0ZXh0cyk7XG4gICAgICAgICAgICAgICAgdGV4dE1hbmFnZVJlZi5vcGVyYXRpb25zICYmIG1lbW9yaXplTGF0ZXN0VGV4dCh0aGlzLmVsZW1lbnQsIHRleHRNYW5hZ2VSZWYub3BlcmF0aW9ucyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0TWF4V2lkdGg6ICgpID0+IEdlb21ldHJ5VGhyZXNob2xkLmRlZmF1bHRUZXh0TWF4V2lkdGhcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdXBkYXRlVGV4dChwcmV2aW91c1RleHRzOiBMaW5lVGV4dFtdLCBjdXJyZW50VGV4dHM6IExpbmVUZXh0W10pIHtcbiAgICAgICAgaWYgKHByZXZpb3VzVGV4dHMgPT09IGN1cnJlbnRUZXh0cykgcmV0dXJuO1xuICAgICAgICBjb25zdCBwcmV2aW91c1RleHRzTGVuZ3RoID0gcHJldmlvdXNUZXh0cy5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRUZXh0c0xlbmd0aCA9IGN1cnJlbnRUZXh0cy5sZW5ndGg7XG4gICAgICAgIGlmIChjdXJyZW50VGV4dHNMZW5ndGggPT09IHByZXZpb3VzVGV4dHNMZW5ndGgpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJldmlvdXNUZXh0c0xlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByZXZpb3VzVGV4dHNbaV0udGV4dCAhPT0gY3VycmVudFRleHRzW2ldLnRleHQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0TWFuYWdlc1tpXS51cGRhdGVUZXh0KGN1cnJlbnRUZXh0c1tpXS50ZXh0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3lUZXh0TWFuYWdlcygpO1xuICAgICAgICAgICAgdGhpcy50ZXh0TWFuYWdlcyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplVGV4dE1hbmFnZXMoKTtcbiAgICAgICAgICAgIHRoaXMuZHJhd1RleHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZVRleHRSZWN0YW5nbGUoKSB7XG4gICAgICAgIHRoaXMudGV4dE1hbmFnZXMuZm9yRWFjaChtYW5hZ2UgPT4ge1xuICAgICAgICAgICAgbWFuYWdlLnVwZGF0ZVJlY3RhbmdsZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9saW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBdUMsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxFQUNILFVBQVUsRUFDViwyQkFBMkIsRUFHM0IsY0FBYyxFQUNkLGlCQUFpQixFQUNwQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxVQUFVLEVBQWlCLE1BQU0sYUFBYSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFhaEQsTUFBTSxPQUFPLGFBQWMsU0FBUSwyQkFBa0Q7SUFZakYsWUFBb0IsZ0JBQWtDLEVBQVksR0FBc0I7UUFDcEYsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBREsscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFZLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBVnhGLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBTS9CLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQUUvQixvQkFBZSxHQUFvQixFQUFFLENBQUM7SUFJdEMsQ0FBQztJQUVELG1CQUFtQjtRQUNmLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMs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Q0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFO29CQUNoRCxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ3hEO2FBQ0o7U0FDSjthQUFNO1lBQ0gsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ25CO0lBQ0wsQ0FBQztJQUVELG1CQUFtQjtRQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzlCLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7K0dBckpRLGFBQWE7bUdBQWIsYUFBYSxrR0FKWixFQUFFOzs0RkFJSCxhQUFhO2tCQU56QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQbGFpdFBsdWdpbkVsZW1lbnRDb21wb25lbnQsXG4gICAgUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCxcbiAgICBPbkNvbnRleHRDaGFuZ2VkLFxuICAgIGdldEVsZW1lbnRCeUlkLFxuICAgIGlzU2VsZWN0aW9uTW92aW5nXG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExpbmVUZXh0LCBQbGFpdEdlb21ldHJ5LCBQbGFpdExpbmUgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVGV4dE1hbmFnZSwgVGV4dE1hbmFnZVJlZiB9IGZyb20gJ0BwbGFpdC90ZXh0JztcbmltcG9ydCB7IExpbmVTaGFwZUdlbmVyYXRvciB9IGZyb20gJy4vZ2VuZXJhdG9ycy9saW5lLmdlbmVyYXRvcic7XG5pbXBvcnQgeyBMaW5lQWN0aXZlR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3JzL2xpbmUtYWN0aXZlLmdlbmVyYXRvcic7XG5pbXBvcnQgeyBnZXRMaW5lVGV4dFJlY3RhbmdsZSwgbWVtb3JpemVMYXRlc3RUZXh0IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBEcmF3VHJhbnNmb3JtcyB9IGZyb20gJy4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBHZW9tZXRyeVRocmVzaG9sZCB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuaW50ZXJmYWNlIEJvdW5kZWRFbGVtZW50cyB7XG4gICAgc291cmNlPzogUGxhaXRHZW9tZXRyeTtcbiAgICB0YXJnZXQ/OiBQbGFpdEdlb21ldHJ5O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BsYWl0LWRyYXctbGluZScsXG4gICAgdGVtcGxhdGU6IGBgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTGluZUNvbXBvbmVudCBleHRlbmRzIFBsYWl0UGx1Z2luRWxlbWVudENvbXBvbmVudDxQbGFpdExpbmUsIFBsYWl0Qm9hcmQ+XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25Db250ZXh0Q2hhbmdlZDxQbGFpdExpbmUsIFBsYWl0Qm9hcmQ+IHtcbiAgICBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBzaGFwZUdlbmVyYXRvciE6IExpbmVTaGFwZUdlbmVyYXRvcjtcblxuICAgIGFjdGl2ZUdlbmVyYXRvciE6IExpbmVBY3RpdmVHZW5lcmF0b3I7XG5cbiAgICB0ZXh0TWFuYWdlczogVGV4dE1hbmFnZVtdID0gW107XG5cbiAgICBib3VuZGVkRWxlbWVudHM6IEJvdW5kZWRFbGVtZW50cyA9IHt9O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBwcm90ZWN0ZWQgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICBzdXBlcihjZHIpO1xuICAgIH1cblxuICAgIGluaXRpYWxpemVHZW5lcmF0b3IoKSB7XG4gICAgICAgIHRoaXMuc2hhcGVHZW5lcmF0b3IgPSBuZXcgTGluZVNoYXBlR2VuZXJhdG9yKHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvciA9IG5ldyBMaW5lQWN0aXZlR2VuZXJhdG9yKHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVUZXh0TWFuYWdlcygpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVHZW5lcmF0b3IoKTtcbiAgICAgICAgdGhpcy5zaGFwZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIHRoaXMuZyk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5ib3VuZGVkRWxlbWVudHMgPSB0aGlzLmdldEJvdW5kZWRFbGVtZW50cygpO1xuICAgICAgICB0aGlzLmRyYXdUZXh0KCk7XG4gICAgfVxuXG4gICAgZ2V0Qm91bmRlZEVsZW1lbnRzKCkge1xuICAgICAgICBjb25zdCBib3VuZGVkRWxlbWVudHM6IEJvdW5kZWRFbGVtZW50cyA9IHt9O1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50LnNvdXJjZS5ib3VuZElkKSB7XG4gICAgICAgICAgICBjb25zdCBib3VuZEVsZW1lbnQgPSBnZXRFbGVtZW50QnlJZDxQbGFpdEdlb21ldHJ5Pih0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQuc291cmNlLmJvdW5kSWQpO1xuICAgICAgICAgICAgaWYgKGJvdW5kRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGJvdW5kZWRFbGVtZW50cy5zb3VyY2UgPSBib3VuZEVsZW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudC50YXJnZXQuYm91bmRJZCkge1xuICAgICAgICAgICAgY29uc3QgYm91bmRFbGVtZW50ID0gZ2V0RWxlbWVudEJ5SWQ8UGxhaXRHZW9tZXRyeT4odGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50LnRhcmdldC5ib3VuZElkKTtcbiAgICAgICAgICAgIGlmIChib3VuZEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBib3VuZGVkRWxlbWVudHMudGFyZ2V0ID0gYm91bmRFbGVtZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBib3VuZGVkRWxlbWVudHM7XG4gICAgfVxuXG4gICAgb25Db250ZXh0Q2hhbmdlZCh2YWx1ZTogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dDxQbGFpdExpbmUsIFBsYWl0Qm9hcmQ+LCBwcmV2aW91czogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dDxQbGFpdExpbmUsIFBsYWl0Qm9hcmQ+KSB7XG4gICAgICAgIGNvbnN0IGJvdW5kZWRFbGVtZW50cyA9IHRoaXMuZ2V0Qm91bmRlZEVsZW1lbnRzKCk7XG4gICAgICAgIGNvbnN0IGlzQm91bmRlZEVsZW1lbnRzQ2hhbmdlZCA9XG4gICAgICAgICAgICBib3VuZGVkRWxlbWVudHMuc291cmNlICE9PSB0aGlzLmJvdW5kZWRFbGVtZW50cy5zb3VyY2UgfHwgYm91bmRlZEVsZW1lbnRzLnRhcmdldCAhPT0gdGhpcy5ib3VuZGVkRWxlbWVudHMudGFyZ2V0O1xuICAgICAgICB0aGlzLmJvdW5kZWRFbGVtZW50cyA9IGJvdW5kZWRFbGVtZW50cztcbiAgICAgICAgY29uc3QgaXNDaGFuZ2VUaGVtZSA9IHRoaXMuYm9hcmQub3BlcmF0aW9ucy5maW5kKG9wID0+IG9wLnR5cGUgPT09ICdzZXRfdGhlbWUnKTtcblxuICAgICAgICBpZiAodmFsdWUuZWxlbWVudCAhPT0gcHJldmlvdXMuZWxlbWVudCB8fCBpc0NoYW5nZVRoZW1lKSB7XG4gICAgICAgICAgICB0aGlzLnNoYXBlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgdGhpcy5nKTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGV4dChwcmV2aW91cy5lbGVtZW50LnRleHRzLCB2YWx1ZS5lbGVtZW50LnRleHRzKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGV4dFJlY3RhbmdsZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaGFzU2FtZVNlbGVjdGVkID0gdmFsdWUuc2VsZWN0ZWQgPT09IHByZXZpb3VzLnNlbGVjdGVkO1xuICAgICAgICAgICAgaWYgKCFoYXNTYW1lU2VsZWN0ZWQgfHwgKHZhbHVlLnNlbGVjdGVkICYmIGlzU2VsZWN0aW9uTW92aW5nKHRoaXMuYm9hcmQpKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNCb3VuZGVkRWxlbWVudHNDaGFuZ2VkKSB7XG4gICAgICAgICAgICB0aGlzLnNoYXBlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgdGhpcy5nKTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGV4dFJlY3RhbmdsZSgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZVRleHRNYW5hZ2VzKCkge1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50LnRleHRzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC50ZXh0cy5mb3JFYWNoKCh0ZXh0LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hbmFnZSA9IHRoaXMuY3JlYXRlVGV4dE1hbmFnZSh0ZXh0LCBpbmRleCk7XG4gICAgICAgICAgICAgICAgdGhpcy50ZXh0TWFuYWdlcy5wdXNoKG1hbmFnZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRlc3Ryb3lUZXh0TWFuYWdlcygpIHtcbiAgICAgICAgdGhpcy50ZXh0TWFuYWdlcy5mb3JFYWNoKG1hbmFnZSA9PiB7XG4gICAgICAgICAgICBtYW5hZ2UuZGVzdHJveSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBkcmF3VGV4dCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudC50ZXh0cz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnRleHRNYW5hZ2VzLmZvckVhY2goKG1hbmFnZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBtYW5hZ2UuZHJhdyh0aGlzLmVsZW1lbnQudGV4dHMhW2luZGV4XS50ZXh0KTtcbiAgICAgICAgICAgICAgICB0aGlzLmcuYXBwZW5kKG1hbmFnZS5nKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY3JlYXRlVGV4dE1hbmFnZSh0ZXh0OiBMaW5lVGV4dCwgaW5kZXg6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gbmV3IFRleHRNYW5hZ2UodGhpcy5ib2FyZCwgdGhpcy52aWV3Q29udGFpbmVyUmVmLCB7XG4gICAgICAgICAgICBnZXRSZWN0YW5nbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0TGluZVRleHRSZWN0YW5nbGUodGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50LCBpbmRleCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb25WYWx1ZUNoYW5nZUhhbmRsZTogKHRleHRNYW5hZ2VSZWY6IFRleHRNYW5hZ2VSZWYpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBoZWlnaHQgPSB0ZXh0TWFuYWdlUmVmLmhlaWdodCAvIHRoaXMuYm9hcmQudmlld3BvcnQuem9vbTtcbiAgICAgICAgICAgICAgICBjb25zdCB3aWR0aCA9IHRleHRNYW5hZ2VSZWYud2lkdGggLyB0aGlzLmJvYXJkLnZpZXdwb3J0Lnpvb207XG4gICAgICAgICAgICAgICAgY29uc3QgdGV4dHMgPSBbLi4udGhpcy5lbGVtZW50LnRleHRzXTtcbiAgICAgICAgICAgICAgICB0ZXh0cy5zcGxpY2UoaW5kZXgsIDEsIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogdGV4dE1hbmFnZVJlZi5uZXdWYWx1ZSA/IHRleHRNYW5hZ2VSZWYubmV3VmFsdWUgOiB0aGlzLmVsZW1lbnQudGV4dHNbaW5kZXhdLnRleHQsXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB0aGlzLmVsZW1lbnQudGV4dHNbaW5kZXhdLnBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgRHJhd1RyYW5zZm9ybXMuc2V0TGluZVRleHRzKHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudCwgdGV4dHMpO1xuICAgICAgICAgICAgICAgIHRleHRNYW5hZ2VSZWYub3BlcmF0aW9ucyAmJiBtZW1vcml6ZUxhdGVzdFRleHQodGhpcy5lbGVtZW50LCB0ZXh0TWFuYWdlUmVmLm9wZXJhdGlvbnMpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldE1heFdpZHRoOiAoKSA9PiBHZW9tZXRyeVRocmVzaG9sZC5kZWZhdWx0VGV4dE1heFdpZHRoXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHVwZGF0ZVRleHQocHJldmlvdXNUZXh0czogTGluZVRleHRbXSwgY3VycmVudFRleHRzOiBMaW5lVGV4dFtdKSB7XG4gICAgICAgIGlmIChwcmV2aW91c1RleHRzID09PSBjdXJyZW50VGV4dHMpIHJldHVybjtcbiAgICAgICAgY29uc3QgcHJldmlvdXNUZXh0c0xlbmd0aCA9IHByZXZpb3VzVGV4dHMubGVuZ3RoO1xuICAgICAgICBjb25zdCBjdXJyZW50VGV4dHNMZW5ndGggPSBjdXJyZW50VGV4dHMubGVuZ3RoO1xuICAgICAgICBpZiAoY3VycmVudFRleHRzTGVuZ3RoID09PSBwcmV2aW91c1RleHRzTGVuZ3RoKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHByZXZpb3VzVGV4dHNMZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGlmIChwcmV2aW91c1RleHRzW2ldLnRleHQgIT09IGN1cnJlbnRUZXh0c1tpXS50ZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGV4dE1hbmFnZXNbaV0udXBkYXRlVGV4dChjdXJyZW50VGV4dHNbaV0udGV4dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kZXN0cm95VGV4dE1hbmFnZXMoKTtcbiAgICAgICAgICAgIHRoaXMudGV4dE1hbmFnZXMgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZVRleHRNYW5hZ2VzKCk7XG4gICAgICAgICAgICB0aGlzLmRyYXdUZXh0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVUZXh0UmVjdGFuZ2xlKCkge1xuICAgICAgICB0aGlzLnRleHRNYW5hZ2VzLmZvckVhY2gobWFuYWdlID0+IHtcbiAgICAgICAgICAgIG1hbmFnZS51cGRhdGVSZWN0YW5nbGUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -15,6 +15,7 @@ import { withLineText } from './with-line-text';
|
|
|
15
15
|
import { ImageComponent } from '../image.component';
|
|
16
16
|
import { withLineAutoCompleteReaction } from './with-line-auto-complete-reaction';
|
|
17
17
|
import { withLineAutoComplete } from './with-line-auto-complete';
|
|
18
|
+
import { withLineTextMove } from './with-line-text-move';
|
|
18
19
|
export const withDraw = (board) => {
|
|
19
20
|
const { drawElement, getRectangle, isRectangleHit, isHit, isMovable, isAlign } = board;
|
|
20
21
|
board.drawElement = (context) => {
|
|
@@ -84,6 +85,6 @@ export const withDraw = (board) => {
|
|
|
84
85
|
}
|
|
85
86
|
return isAlign(element);
|
|
86
87
|
};
|
|
87
|
-
return withLineAutoCompleteReaction(withLineText(withLineBoundReaction(withLineResize(withGeometryResize(withLineCreateByDraw(withLineAutoComplete(withGeometryCreateByDrag(withGeometryCreateByDrawing(withDrawFragment(withDrawHotkey(board)))))))))));
|
|
88
|
+
return withLineTextMove(withLineAutoCompleteReaction(withLineText(withLineBoundReaction(withLineResize(withGeometryResize(withLineCreateByDraw(withLineAutoComplete(withGeometryCreateByDrag(withGeometryCreateByDrawing(withDrawFragment(withDrawHotkey(board))))))))))));
|
|
88
89
|
};
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1kcmF3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvcGx1Z2lucy93aXRoLWRyYXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSx5QkFBeUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN0RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsb0JBQW9CLEVB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LENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUN2SCxDQUNKLENBQ0osQ0FDSixDQUNKLENBQ0osQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFBsYWl0RWxlbWVudCwgUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCwgU2VsZWN0aW9uLCBnZXRTZWxlY3RlZEVsZW1lbnRzIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgR2VvbWV0cnlDb21wb25lbnQgfSBmcm9tICcuLi9nZW9tZXRyeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGluZUNvbXBvbmVudCB9IGZyb20gJy4uL2xpbmUuY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWl0RHJhd0VsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdldFJlY3RhbmdsZUJ5UG9pbnRzIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyB3aXRoRHJhd0hvdGtleSB9IGZyb20gJy4vd2l0aC1kcmF3LWhvdGtleSc7XG5pbXBvcnQgeyB3aXRoR2VvbWV0cnlDcmVhdGVCeURyYXdpbmcsIHdpdGhHZW9tZXRyeUNyZWF0ZUJ5RHJhZyB9IGZyb20gJy4vd2l0aC1nZW9tZXRyeS1jcmVhdGUnO1xuaW1wb3J0IHsgd2l0aERyYXdGcmFnbWVudCB9IGZyb20gJy4vd2l0aC1kcmF3LWZyYWdtZW50JztcbmltcG9ydCB7IGdldExpbmVQb2ludHMsIGlzUmVjdGFuZ2xlSGl0RHJhd0VsZW1lbnQsIGlzSGl0RHJhd0VsZW1lbnQgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyB3aXRoTGluZUNyZWF0ZUJ5RHJhdyB9IGZyb20gJy4vd2l0aC1saW5lLWNyZWF0ZSc7XG5pbXBvcnQgeyB3aXRoR2VvbWV0cnlSZXNpemUgfSBmcm9tICcuL3dpdGgtZ2VvbWV0cnktcmVzaXplJztcbmltcG9ydCB7IHdpdGhMaW5lUmVzaXplIH0gZnJvbSAnLi93aXRoLWxpbmUtcmVzaXplJztcbmltcG9ydCB7IHdpdGhMaW5lQm91bmRSZWFjdGlvbiB9IGZyb20gJy4vd2l0aC1saW5lLWJvdW5kLXJlYWN0aW9uJztcbmltcG9ydCB7IHdpdGhMaW5lVGV4dCB9IGZyb20gJy4vd2l0aC1saW5lLXRleHQnO1xuaW1wb3J0IHsgSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuLi9pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgd2l0aExpbmVBdXRvQ29tcGxldGVSZWFjdGlvbiB9IGZyb20gJy4vd2l0aC1saW5lLWF1dG8tY29tcGxldGUtcmVhY3Rpb24nO1xuaW1wb3J0IHsgd2l0aExpbmVBdXRvQ29tcGxldGUgfSBmcm9tICcuL3dpdGgtbGluZS1hdXRvLWNvbXBsZXRlJztcblxuZXhwb3J0IGNvbnN0IHdpdGhEcmF3ID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3QgeyBkcmF3RWxlbWVudCwgZ2V0UmVjdGFuZ2xlLCBpc1JlY3RhbmdsZUhpdCwgaXNIaXQsIGlzTW92YWJsZSwgaXNBbGlnbiB9ID0gYm9hcmQ7XG5cbiAgICBib2FyZC5kcmF3RWxlbWVudCA9IChjb250ZXh0OiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzR2VvbWV0cnkoY29udGV4dC5lbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIEdlb21ldHJ5Q29tcG9uZW50O1xuICAgICAgICB9IGVsc2UgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNMaW5lKGNvbnRleHQuZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBMaW5lQ29tcG9uZW50O1xuICAgICAgICB9IGVsc2UgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNJbWFnZShjb250ZXh0LmVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gSW1hZ2VDb21wb25lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRyYXdFbGVtZW50KGNvbnRleHQpO1xuICAgIH07XG5cbiAgICBib2FyZC5nZXRSZWN0YW5nbGUgPSAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzR2VvbWV0cnkoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXRSZWN0YW5nbGVCeVBvaW50cyhlbGVtZW50LnBvaW50cyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNMaW5lKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICBjb25zdCBwb2ludHMgPSBnZXRMaW5lUG9pbnRzKGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgICAgIHJldHVybiBnZXRSZWN0YW5nbGVCeVBvaW50cyhwb2ludHMpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzSW1hZ2UoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXRSZWN0YW5nbGVCeVBvaW50cyhlbGVtZW50LnBvaW50cyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGdldFJlY3RhbmdsZShlbGVtZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuaXNSZWN0YW5nbGVIaXQgPSAoZWxlbWVudDogUGxhaXRFbGVtZW50LCBzZWxlY3Rpb246IFNlbGVjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBpc1JlY3RhbmdsZUhpdERyYXdFbGVtZW50KGJvYXJkLCBlbGVtZW50LCBzZWxlY3Rpb24pO1xuICAgICAgICBpZiAocmVzdWx0ICE9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc1JlY3RhbmdsZUhpdChlbGVtZW50LCBzZWxlY3Rpb24pO1xuICAgIH07XG5cbiAgICBib2FyZC5pc0hpdCA9IChlbGVtZW50LCBwb2ludCkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBpc0hpdERyYXdFbGVtZW50KGJvYXJkLCBlbGVtZW50LCBwb2ludCk7XG4gICAgICAgIGlmIChyZXN1bHQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzSGl0KGVsZW1lbnQsIHBvaW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuaXNNb3ZhYmxlID0gKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge1xuICAgICAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0dlb21ldHJ5KGVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0ltYWdlKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0xpbmUoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICAgICAgICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSAoYm91bmRJZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhc2VsZWN0ZWRFbGVtZW50cy5maW5kKHZhbHVlID0+IHZhbHVlLmlkID09PSBib3VuZElkKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgKCFlbGVtZW50LnNvdXJjZS5ib3VuZElkIHx8XG4gICAgICAgICAgICAgICAgICAgIChlbGVtZW50LnNvdXJjZS5ib3VuZElkICYmIGlzU2VsZWN0ZWQoZWxlbWVudC5zb3VyY2UuYm91bmRJZCkgJiYgc2VsZWN0ZWRFbGVtZW50cy5pbmNsdWRlcyhlbGVtZW50KSkpICYmXG4gICAgICAgICAgICAgICAgKCFlbGVtZW50LnRhcmdldC5ib3VuZElkIHx8XG4gICAgICAgICAgICAgICAgICAgIChlbGVtZW50LnRhcmdldC5ib3VuZElkICYmIGlzU2VsZWN0ZWQoZWxlbWVudC50YXJnZXQuYm91bmRJZCkgJiYgc2VsZWN0ZWRFbGVtZW50cy5pbmNsdWRlcyhlbGVtZW50KSkpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNNb3ZhYmxlKGVsZW1lbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5pc0FsaWduID0gKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge1xuICAgICAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0dlb21ldHJ5KGVsZW1lbnQpIHx8IFBsYWl0RHJhd0VsZW1lbnQuaXNJbWFnZShlbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzQWxpZ24oZWxlbWVudCk7XG4gICAgfTtcblxuICAgIHJldHVybiB3aXRoTGluZUF1dG9Db21wbGV0ZVJlYWN0aW9uKFxuICAgICAgICB3aXRoTGluZVRleHQoXG4gICAgICAgICAgICB3aXRoTGluZUJvdW5kUmVhY3Rpb24oXG4gICAgICAgICAgICAgICAgd2l0aExpbmVSZXNpemUoXG4gICAgICAgICAgICAgICAgICAgIHdpdGhHZW9tZXRyeVJlc2l6ZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhMaW5lQ3JlYXRlQnlEcmF3KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhMaW5lQXV0b0NvbXBsZXRlKHdpdGhHZW9tZXRyeUNyZWF0ZUJ5RHJhZyh3aXRoR2VvbWV0cnlDcmVhdGVCeURyYXdpbmcod2l0aERyYXdGcmFnbWVudCh3aXRoRHJhd0hvdGtleShib2FyZCkpKSkpXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgIClcbiAgICApO1xufTtcbiJdfQ==
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1kcmF3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvcGx1Z2lucy93aXRoLWRyYXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSx5QkFBeUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN0RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsb0JBQW9CLEVB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b0IsQ0FDaEIsd0JBQXdCLENBQUMsMkJBQTJCLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNqRyxDQUNKLENBQ0osQ0FDSixDQUNKLENBQ0osQ0FDSixDQUNKLENBQUM7QUFDTixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQsIFNlbGVjdGlvbiwgZ2V0U2VsZWN0ZWRFbGVtZW50cyB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEdlb21ldHJ5Q29tcG9uZW50IH0gZnJvbSAnLi4vZ2VvbWV0cnkuY29tcG9uZW50JztcbmltcG9ydCB7IExpbmVDb21wb25lbnQgfSBmcm9tICcuLi9saW5lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbGFpdERyYXdFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeVBvaW50cyB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgd2l0aERyYXdIb3RrZXkgfSBmcm9tICcuL3dpdGgtZHJhdy1ob3RrZXknO1xuaW1wb3J0IHsgd2l0aEdlb21ldHJ5Q3JlYXRlQnlEcmF3aW5nLCB3aXRoR2VvbWV0cnlDcmVhdGVCeURyYWcgfSBmcm9tICcuL3dpdGgtZ2VvbWV0cnktY3JlYXRlJztcbmltcG9ydCB7IHdpdGhEcmF3RnJhZ21lbnQgfSBmcm9tICcuL3dpdGgtZHJhdy1mcmFnbWVudCc7XG5pbXBvcnQgeyBnZXRMaW5lUG9pbnRzLCBpc1JlY3RhbmdsZUhpdERyYXdFbGVtZW50LCBpc0hpdERyYXdFbGVtZW50IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgd2l0aExpbmVDcmVhdGVCeURyYXcgfSBmcm9tICcuL3dpdGgtbGluZS1jcmVhdGUnO1xuaW1wb3J0IHsgd2l0aEdlb21ldHJ5UmVzaXplIH0gZnJvbSAnLi93aXRoLWdlb21ldHJ5LXJlc2l6ZSc7XG5pbXBvcnQgeyB3aXRoTGluZVJlc2l6ZSB9IGZyb20gJy4vd2l0aC1saW5lLXJlc2l6ZSc7XG5pbXBvcnQgeyB3aXRoTGluZUJvdW5kUmVhY3Rpb24gfSBmcm9tICcuL3dpdGgtbGluZS1ib3VuZC1yZWFjdGlvbic7XG5pbXBvcnQgeyB3aXRoTGluZVRleHQgfSBmcm9tICcuL3dpdGgtbGluZS10ZXh0JztcbmltcG9ydCB7IEltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vaW1hZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IHdpdGhMaW5lQXV0b0NvbXBsZXRlUmVhY3Rpb24gfSBmcm9tICcuL3dpdGgtbGluZS1hdXRvLWNvbXBsZXRlLXJlYWN0aW9uJztcbmltcG9ydCB7IHdpdGhMaW5lQXV0b0NvbXBsZXRlIH0gZnJvbSAnLi93aXRoLWxpbmUtYXV0by1jb21wbGV0ZSc7XG5pbXBvcnQgeyB3aXRoTGluZVRleHRNb3ZlIH0gZnJvbSAnLi93aXRoLWxpbmUtdGV4dC1tb3ZlJztcblxuZXhwb3J0IGNvbnN0IHdpdGhEcmF3ID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3QgeyBkcmF3RWxlbWVudCwgZ2V0UmVjdGFuZ2xlLCBpc1JlY3RhbmdsZUhpdCwgaXNIaXQsIGlzTW92YWJsZSwgaXNBbGlnbiB9ID0gYm9hcmQ7XG5cbiAgICBib2FyZC5kcmF3RWxlbWVudCA9IChjb250ZXh0OiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzR2VvbWV0cnkoY29udGV4dC5lbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIEdlb21ldHJ5Q29tcG9uZW50O1xuICAgICAgICB9IGVsc2UgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNMaW5lKGNvbnRleHQuZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBMaW5lQ29tcG9uZW50O1xuICAgICAgICB9IGVsc2UgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNJbWFnZShjb250ZXh0LmVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gSW1hZ2VDb21wb25lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRyYXdFbGVtZW50KGNvbnRleHQpO1xuICAgIH07XG5cbiAgICBib2FyZC5nZXRSZWN0YW5nbGUgPSAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzR2VvbWV0cnkoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXRSZWN0YW5nbGVCeVBvaW50cyhlbGVtZW50LnBvaW50cyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNMaW5lKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICBjb25zdCBwb2ludHMgPSBnZXRMaW5lUG9pbnRzKGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgICAgIHJldHVybiBnZXRSZWN0YW5nbGVCeVBvaW50cyhwb2ludHMpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzSW1hZ2UoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXRSZWN0YW5nbGVCeVBvaW50cyhlbGVtZW50LnBvaW50cyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGdldFJlY3RhbmdsZShlbGVtZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuaXNSZWN0YW5nbGVIaXQgPSAoZWxlbWVudDogUGxhaXRFbGVtZW50LCBzZWxlY3Rpb246IFNlbGVjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBpc1JlY3RhbmdsZUhpdERyYXdFbGVtZW50KGJvYXJkLCBlbGVtZW50LCBzZWxlY3Rpb24pO1xuICAgICAgICBpZiAocmVzdWx0ICE9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc1JlY3RhbmdsZUhpdChlbGVtZW50LCBzZWxlY3Rpb24pO1xuICAgIH07XG5cbiAgICBib2FyZC5pc0hpdCA9IChlbGVtZW50LCBwb2ludCkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBpc0hpdERyYXdFbGVtZW50KGJvYXJkLCBlbGVtZW50LCBwb2ludCk7XG4gICAgICAgIGlmIChyZXN1bHQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzSGl0KGVsZW1lbnQsIHBvaW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuaXNNb3ZhYmxlID0gKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge1xuICAgICAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0dlb21ldHJ5KGVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0ltYWdlKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0xpbmUoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICAgICAgICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSAoYm91bmRJZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhc2VsZWN0ZWRFbGVtZW50cy5maW5kKHZhbHVlID0+IHZhbHVlLmlkID09PSBib3VuZElkKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgKCFlbGVtZW50LnNvdXJjZS5ib3VuZElkIHx8XG4gICAgICAgICAgICAgICAgICAgIChlbGVtZW50LnNvdXJjZS5ib3VuZElkICYmIGlzU2VsZWN0ZWQoZWxlbWVudC5zb3VyY2UuYm91bmRJZCkgJiYgc2VsZWN0ZWRFbGVtZW50cy5pbmNsdWRlcyhlbGVtZW50KSkpICYmXG4gICAgICAgICAgICAgICAgKCFlbGVtZW50LnRhcmdldC5ib3VuZElkIHx8XG4gICAgICAgICAgICAgICAgICAgIChlbGVtZW50LnRhcmdldC5ib3VuZElkICYmIGlzU2VsZWN0ZWQoZWxlbWVudC50YXJnZXQuYm91bmRJZCkgJiYgc2VsZWN0ZWRFbGVtZW50cy5pbmNsdWRlcyhlbGVtZW50KSkpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNNb3ZhYmxlKGVsZW1lbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5pc0FsaWduID0gKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge1xuICAgICAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0dlb21ldHJ5KGVsZW1lbnQpIHx8IFBsYWl0RHJhd0VsZW1lbnQuaXNJbWFnZShlbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzQWxpZ24oZWxlbWVudCk7XG4gICAgfTtcblxuICAgIHJldHVybiB3aXRoTGluZVRleHRNb3ZlKFxuICAgICAgICB3aXRoTGluZUF1dG9Db21wbGV0ZVJlYWN0aW9uKFxuICAgICAgICAgICAgd2l0aExpbmVUZXh0KFxuICAgICAgICAgICAgICAgIHdpdGhMaW5lQm91bmRSZWFjdGlvbihcbiAgICAgICAgICAgICAgICAgICAgd2l0aExpbmVSZXNpemUoXG4gICAgICAgICAgICAgICAgICAgICAgICB3aXRoR2VvbWV0cnlSZXNpemUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aExpbmVDcmVhdGVCeURyYXcoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhMaW5lQXV0b0NvbXBsZXRlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aEdlb21ldHJ5Q3JlYXRlQnlEcmFnKHdpdGhHZW9tZXRyeUNyZWF0ZUJ5RHJhd2luZyh3aXRoRHJhd0ZyYWdtZW50KHdpdGhEcmF3SG90a2V5KGJvYXJkKSkpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICApXG4gICAgKTtcbn07XG4iXX0=
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PlaitBoard, RectangleClient, createG, preventTouchMove, toPoint, transformPoint } from '@plait/core';
|
|
2
2
|
import { BasicShapes } from '../interfaces';
|
|
3
3
|
import { GeometryShapeGenerator } from '../generators/geometry-shape.generator';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { createDefaultGeometry, createDefaultText, getDefaultGeometryPoints, getDefaultTextShapeProperty, getMemorizedLatestByPointer, getPointsByCenterPoint, getTextRectangle, insertElement } from '../utils';
|
|
5
|
+
import { getGeometryPointers } from '../constants';
|
|
6
6
|
import { normalizeShapePoints, isDndMode, isDrawingMode } from '@plait/common';
|
|
7
7
|
import { TextManage } from '@plait/text';
|
|
8
8
|
import { isKeyHotkey } from 'is-hotkey';
|
|
@@ -26,7 +26,7 @@ export const withGeometryCreateByDrag = (board) => {
|
|
|
26
26
|
if (pointer === BasicShapes.text) {
|
|
27
27
|
const property = getDefaultTextShapeProperty(board, memorizedLatest.textProperties['font-size']);
|
|
28
28
|
const points = getPointsByCenterPoint(movingPoint, property.width, property.height);
|
|
29
|
-
temporaryElement =
|
|
29
|
+
temporaryElement = createDefaultText(board, points);
|
|
30
30
|
if (!fakeCreateTextRef) {
|
|
31
31
|
const textManage = new TextManage(board, PlaitBoard.getComponent(board).viewContainerRef, {
|
|
32
32
|
getRectangle: () => {
|
|
@@ -52,11 +52,7 @@ export const withGeometryCreateByDrag = (board) => {
|
|
|
52
52
|
}
|
|
53
53
|
else {
|
|
54
54
|
const points = getDefaultGeometryPoints(pointer, movingPoint);
|
|
55
|
-
|
|
56
|
-
temporaryElement = createGeometryElement(pointer, points, '', {
|
|
57
|
-
strokeWidth: DefaultBasicShapeProperty.strokeWidth,
|
|
58
|
-
...memorizedLatest.geometryProperties
|
|
59
|
-
}, { ...memorizedLatest.textProperties, textHeight });
|
|
55
|
+
temporaryElement = createDefaultGeometry(board, points, pointer);
|
|
60
56
|
geometryGenerator.processDrawing(temporaryElement, geometryShapeG);
|
|
61
57
|
PlaitBoard.getElementActiveHost(board).append(geometryShapeG);
|
|
62
58
|
}
|
|
@@ -106,11 +102,8 @@ export const withGeometryCreateByDrawing = (board) => {
|
|
|
106
102
|
const memorizedLatest = getMemorizedLatestByPointer(pointer);
|
|
107
103
|
const property = getDefaultTextShapeProperty(board, memorizedLatest.textProperties['font-size']);
|
|
108
104
|
const points = getPointsByCenterPoint(point, property.width, property.height);
|
|
109
|
-
const textElement =
|
|
110
|
-
|
|
111
|
-
clearSelectedElement(board);
|
|
112
|
-
addSelectedElement(board, textElement);
|
|
113
|
-
BoardTransforms.updatePointerType(board, PlaitPointerType.selection);
|
|
105
|
+
const textElement = createDefaultText(board, points);
|
|
106
|
+
insertElement(board, textElement);
|
|
114
107
|
start = null;
|
|
115
108
|
}
|
|
116
109
|
}
|
|
@@ -125,12 +118,7 @@ export const withGeometryCreateByDrawing = (board) => {
|
|
|
125
118
|
const pointer = PlaitBoard.getPointer(board);
|
|
126
119
|
if (drawMode && pointer !== BasicShapes.text) {
|
|
127
120
|
const points = normalizeShapePoints([start, movingPoint], isShift);
|
|
128
|
-
|
|
129
|
-
const textHeight = getDefaultTextShapeProperty(board, memorizedLatest.textProperties['font-size']).height;
|
|
130
|
-
temporaryElement = createGeometryElement(pointer, points, '', {
|
|
131
|
-
strokeWidth: DefaultBasicShapeProperty.strokeWidth,
|
|
132
|
-
...memorizedLatest.geometryProperties
|
|
133
|
-
}, { ...memorizedLatest.textProperties, textHeight });
|
|
121
|
+
temporaryElement = createDefaultGeometry(board, points, pointer);
|
|
134
122
|
geometryGenerator.processDrawing(temporaryElement, geometryShapeG);
|
|
135
123
|
PlaitBoard.getElementActiveHost(board).append(geometryShapeG);
|
|
136
124
|
}
|
|
@@ -145,12 +133,7 @@ export const withGeometryCreateByDrawing = (board) => {
|
|
|
145
133
|
const pointer = PlaitBoard.getPointer(board);
|
|
146
134
|
if (pointer !== BasicShapes.text) {
|
|
147
135
|
const points = getDefaultGeometryPoints(pointer, targetPoint);
|
|
148
|
-
|
|
149
|
-
const textHeight = getDefaultTextShapeProperty(board, memorizedLatest.textProperties['font-size']).height;
|
|
150
|
-
temporaryElement = createGeometryElement(pointer, points, '', {
|
|
151
|
-
strokeWidth: DefaultBasicShapeProperty.strokeWidth,
|
|
152
|
-
...memorizedLatest.geometryProperties
|
|
153
|
-
}, { ...memorizedLatest.textProperties, textHeight });
|
|
136
|
+
temporaryElement = createDefaultGeometry(board, points, pointer);
|
|
154
137
|
}
|
|
155
138
|
}
|
|
156
139
|
}
|
|
@@ -166,11 +149,4 @@ export const withGeometryCreateByDrawing = (board) => {
|
|
|
166
149
|
};
|
|
167
150
|
return board;
|
|
168
151
|
};
|
|
169
|
-
const insertElement = (board, element) => {
|
|
170
|
-
memorizeLatestShape(board, element.shape);
|
|
171
|
-
Transforms.insertNode(board, element, [board.children.length]);
|
|
172
|
-
clearSelectedElement(board);
|
|
173
|
-
addSelectedElement(board, element);
|
|
174
|
-
BoardTransforms.updatePointerType(board, PlaitPointerType.selection);
|
|
175
|
-
};
|
|
176
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1nZW9tZXRyeS1jcmVhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9wbHVnaW5zL3dpdGgtZ2VvbWV0cnktY3JlYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxlQUFlLEVBQ2YsVUFBVSxFQUNWLGdCQUFnQixFQUVoQixlQUFlLEVBQ2YsVUFBVSxFQUNWLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsT0FBTyxFQUNQLGdCQUFnQixFQUNoQixPQUFPLEVBQ1AsY0FBYyxFQUNqQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsV0FBVyxFQUFpQyxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBRUgscUJBQXFCLEVBQ3JCLHdCQUF3QixFQUN4QiwyQkFBMkIsRUFDM0IsMkJBQTJCLEVBQzNCLHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ3RCLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxtQkFBbUIsRUFBbUIsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPdkMsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDMUQsTUFBTSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFekMsSUFBSSxjQUFjLEdB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TSxDQUFDLENBQUMsQ0FBQztJQUMvRCxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbkMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUN6RSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEJvYXJkVHJhbnNmb3JtcyxcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBsYWl0UG9pbnRlclR5cGUsXG4gICAgUG9pbnQsXG4gICAgUmVjdGFuZ2xlQ2xpZW50LFxuICAgIFRyYW5zZm9ybXMsXG4gICAgYWRkU2VsZWN0ZWRFbGVtZW50LFxuICAgIGNsZWFyU2VsZWN0ZWRFbGVtZW50LFxuICAgIGNyZWF0ZUcsXG4gICAgcHJldmVudFRvdWNoTW92ZSxcbiAgICB0b1BvaW50LFxuICAgIHRyYW5zZm9ybVBvaW50XG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEJhc2ljU2hhcGVzLCBHZW9tZXRyeVNoYXBlcywgUGxhaXRHZW9tZXRyeSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgR2VvbWV0cnlTaGFwZUdlbmVyYXRvciB9IGZyb20gJy4uL2dlbmVyYXRvcnMvZ2VvbWV0cnktc2hhcGUuZ2VuZXJhdG9yJztcbmltcG9ydCB7XG4gICAgR2VvbWV0cnlTdHlsZU9wdGlvbnMsXG4gICAgY3JlYXRlR2VvbWV0cnlFbGVtZW50LFxuICAgIGdldERlZmF1bHRHZW9tZXRyeVBvaW50cyxcbiAgICBnZXREZWZhdWx0VGV4dFNoYXBlUHJvcGVydHksXG4gICAgZ2V0TWVtb3JpemVkTGF0ZXN0QnlQb2ludGVyLFxuICAgIGdldFBvaW50c0J5Q2VudGVyUG9pbnQsXG4gICAgZ2V0VGV4dFJlY3RhbmdsZSxcbiAgICBtZW1vcml6ZUxhdGVzdFNoYXBlXG59IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IERlZmF1bHRCYXNpY1NoYXBlUHJvcGVydHksIERlZmF1bHRUZXh0UHJvcGVydHksIERyYXdQb2ludGVyVHlwZSwgZ2V0R2VvbWV0cnlQb2ludGVycyB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBub3JtYWxpemVTaGFwZVBvaW50cywgaXNEbmRNb2RlLCBpc0RyYXdpbmdNb2RlIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBUZXh0TWFuYWdlIH0gZnJvbSAnQHBsYWl0L3RleHQnO1xuaW1wb3J0IHsgaXNLZXlIb3RrZXkgfSBmcm9tICdpcy1ob3RrZXknO1xuaW1wb3J0IHsgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmFrZUNyZWF0ZVRleHRSZWYge1xuICAgIGc6IFNWR0dFbGVtZW50O1xuICAgIHRleHRNYW5hZ2U6IFRleHRNYW5hZ2U7XG59XG5cbmV4cG9ydCBjb25zdCB3aXRoR2VvbWV0cnlDcmVhdGVCeURyYWcgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCB7IHBvaW50ZXJNb3ZlLCBwb2ludGVyVXAgfSA9IGJvYXJkO1xuXG4gICAgbGV0IGdlb21ldHJ5U2hhcGVHOiBTVkdHRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgbGV0IHRlbXBvcmFyeUVsZW1lbnQ6IFBsYWl0R2VvbWV0cnkgfCBudWxsID0gbnVsbDtcblxuICAgIGxldCBmYWtlQ3JlYXRlVGV4dFJlZjogRmFrZUNyZWF0ZVRleHRSZWYgfCBudWxsID0gbnVsbDtcblxuICAgIGJvYXJkLnBvaW50ZXJNb3ZlID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgICAgZ2VvbWV0cnlTaGFwZUc/LnJlbW92ZSgpO1xuICAgICAgICBnZW9tZXRyeVNoYXBlRyA9IGNyZWF0ZUcoKTtcblxuICAgICAgICBjb25zdCBnZW9tZXRyeUdlbmVyYXRvciA9IG5ldyBHZW9tZXRyeVNoYXBlR2VuZXJhdG9yKGJvYXJkKTtcbiAgICAgICAgY29uc3QgZ2VvbWV0cnlQb2ludGVycyA9IGdldEdlb21ldHJ5UG9pbnRlcnMoKTtcbiAgICAgICAgY29uc3QgaXNHZW9tZXRyeVBvaW50ZXIgPSBQbGFpdEJvYXJkLmlzSW5Qb2ludGVyKGJvYXJkLCBnZW9tZXRyeVBvaW50ZXJzKTtcbiAgICAgICAgY29uc3QgZHJhZ01vZGUgPSBpc0dlb21ldHJ5UG9pbnRlciAmJiBpc0RuZE1vZGUoYm9hcmQpO1xuICAgICAgICBjb25zdCBtb3ZpbmdQb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkpKTtcbiAgICAgICAgY29uc3QgcG9pbnRlciA9IFBsYWl0Qm9hcmQuZ2V0UG9pbnRlcihib2FyZCkgYXMgRHJhd1BvaW50ZXJUeXBlO1xuXG4gICAgICAgIGlmIChkcmFnTW9kZSkge1xuICAgICAgICAgICAgY29uc3QgbWVtb3JpemVkTGF0ZXN0ID0gZ2V0TWVtb3JpemVkTGF0ZXN0QnlQb2ludGVyKHBvaW50ZXIpO1xuICAgICAgICAgICAgaWYgKHBvaW50ZXIgPT09IEJhc2ljU2hhcGVzLnRleHQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwcm9wZXJ0eSA9IGdldERlZmF1bHRUZXh0U2hhcGVQcm9wZXJ0eShib2FyZCwgbWVtb3JpemVkTGF0ZXN0LnRleHRQcm9wZXJ0aWVzWydmb250LXNpemUnXSk7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9pbnRzID0gZ2V0UG9pbnRzQnlDZW50ZXJQb2ludChtb3ZpbmdQb2ludCwgcHJvcGVydHkud2lkdGgsIHByb3BlcnR5LmhlaWdodCk7XG4gICAgICAgICAgICAgICAgdGVtcG9yYXJ5RWxlbWVudCA9IGNyZWF0ZUdlb21ldHJ5RWxlbWVudChcbiAgICAgICAgICAgICAgICAgICAgQmFzaWNTaGFwZXMudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRzLFxuICAgICAgICAgICAgICAgICAgICBEZWZhdWx0VGV4dFByb3BlcnR5LnRleHQsXG4gICAgICAgICAgICAgICAgICAgIG1lbW9yaXplZExhdGVzdC5nZW9tZXRyeVByb3BlcnRpZXMgYXMgR2VvbWV0cnlTdHlsZU9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgIHsgLi4ubWVtb3JpemVkTGF0ZXN0LnRleHRQcm9wZXJ0aWVzLCB0ZXh0SGVpZ2h0OiBwcm9wZXJ0eS5oZWlnaHQgfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgaWYgKCFmYWtlQ3JlYXRlVGV4dFJlZikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZXh0TWFuYWdlID0gbmV3IFRleHRNYW5hZ2UoYm9hcmQsIFBsYWl0Qm9hcmQuZ2V0Q29tcG9uZW50KGJvYXJkKS52aWV3Q29udGFpbmVyUmVmLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBnZXRSZWN0YW5nbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ2V0VGV4dFJlY3RhbmdsZSh0ZW1wb3JhcnlFbGVtZW50ISk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBQbGFpdEJvYXJkLmdldENvbXBvbmVudChib2FyZClcbiAgICAgICAgICAgICAgICAgICAgICAgIC52aWV3Q29udGFpbmVyUmVmLmluamVjdG9yLmdldChOZ1pvbmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0TWFuYWdlLmRyYXcodGVtcG9yYXJ5RWxlbWVudCEudGV4dCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgZmFrZUNyZWF0ZVRleHRSZWYgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBnOiBjcmVhdGVHKCksXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0TWFuYWdlXG4gICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKS5hcHBlbmQoZmFrZUNyZWF0ZVRleHRSZWYuZyk7XG4gICAgICAgICAgICAgICAgICAgIGZha2VDcmVhdGVUZXh0UmVmLmcuYXBwZW5kKHRleHRNYW5hZ2UuZyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZmFrZUNyZWF0ZVRleHRSZWYudGV4dE1hbmFnZS51cGRhdGVSZWN0YW5nbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgZmFrZUNyZWF0ZVRleHRSZWYuZy5hcHBlbmQoZmFrZUNyZWF0ZVRleHRSZWYudGV4dE1hbmFnZS5nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBvaW50cyA9IGdldERlZmF1bHRHZW9tZXRyeVBvaW50cyhwb2ludGVyLCBtb3ZpbmdQb2ludCk7XG4gICAgICAgICAgICAgICAgY29uc3QgdGV4dEhlaWdodCA9IGdldERlZmF1bHRUZXh0U2hhcGVQcm9wZXJ0eShib2FyZCwgbWVtb3JpemVkTGF0ZXN0LnRleHRQcm9wZXJ0aWVzWydmb250LXNpemUnXSkuaGVpZ2h0O1xuICAgICAgICAgICAgICAgIHRlbXBvcmFyeUVsZW1lbnQgPSBjcmVhdGVHZW9tZXRyeUVsZW1lbnQoXG4gICAgICAgICAgICAgICAgICAgIChwb2ludGVyIGFzIHVua25vd24pIGFzIEdlb21ldHJ5U2hhcGVzLFxuICAgICAgICAgICAgICAgICAgICBwb2ludHMsXG4gICAgICAgICAgICAgICAgICAgICcnLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogRGVmYXVsdEJhc2ljU2hhcGVQcm9wZXJ0eS5zdHJva2VXaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLihtZW1vcml6ZWRMYXRlc3QuZ2VvbWV0cnlQcm9wZXJ0aWVzIGFzIEdlb21ldHJ5U3R5bGVPcHRpb25zKVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7IC4uLm1lbW9yaXplZExhdGVzdC50ZXh0UHJvcGVydGllcywgdGV4dEhlaWdodCB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBnZW9tZXRyeUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0ZW1wb3JhcnlFbGVtZW50LCBnZW9tZXRyeVNoYXBlRyk7XG4gICAgICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdChib2FyZCkuYXBwZW5kKGdlb21ldHJ5U2hhcGVHKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHBvaW50ZXJNb3ZlKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQucG9pbnRlclVwID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgZ2VvbWV0cnlQb2ludGVycyA9IGdldEdlb21ldHJ5UG9pbnRlcnMoKTtcbiAgICAgICAgY29uc3QgaXNHZW9tZXRyeVBvaW50ZXIgPSBQbGFpdEJvYXJkLmlzSW5Qb2ludGVyKGJvYXJkLCBnZW9tZXRyeVBvaW50ZXJzKTtcbiAgICAgICAgY29uc3QgZHJhZ01vZGUgPSBpc0dlb21ldHJ5UG9pbnRlciAmJiBpc0RuZE1vZGUoYm9hcmQpO1xuXG4gICAgICAgIGlmIChkcmFnTW9kZSAmJiB0ZW1wb3JhcnlFbGVtZW50KSB7XG4gICAgICAgICAgICBpbnNlcnRFbGVtZW50KGJvYXJkLCB0ZW1wb3JhcnlFbGVtZW50KTtcbiAgICAgICAgICAgIGZha2VDcmVhdGVUZXh0UmVmPy50ZXh0TWFuYWdlLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIGZha2VDcmVhdGVUZXh0UmVmPy5nLnJlbW92ZSgpO1xuICAgICAgICAgICAgZmFrZUNyZWF0ZVRleHRSZWYgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgZ2VvbWV0cnlTaGFwZUc/LnJlbW92ZSgpO1xuICAgICAgICBnZW9tZXRyeVNoYXBlRyA9IG51bGw7XG4gICAgICAgIHByZXZlbnRUb3VjaE1vdmUoYm9hcmQsIGV2ZW50LCBmYWxzZSk7XG5cbiAgICAgICAgcG9pbnRlclVwKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufTtcblxuZXhwb3J0IGNvbnN0IHdpdGhHZW9tZXRyeUNyZWF0ZUJ5RHJhd2luZyA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IHsgcG9pbnRlckRvd24sIHBvaW50ZXJNb3ZlLCBwb2ludGVyVXAsIGtleWRvd24sIGtleXVwIH0gPSBib2FyZDtcbiAgICBsZXQgc3RhcnQ6IFBvaW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBsZXQgZ2VvbWV0cnlTaGFwZUc6IFNWR0dFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBsZXQgdGVtcG9yYXJ5RWxlbWVudDogUGxhaXRHZW9tZXRyeSB8IG51bGwgPSBudWxsO1xuXG4gICAgbGV0IGlzU2hpZnQgPSBmYWxzZTtcblxuICAgIGJvYXJkLmtleWRvd24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgaXNTaGlmdCA9IGlzS2V5SG90a2V5KCdzaGlmdCcsIGV2ZW50KTtcbiAgICAgICAga2V5ZG93bihldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmtleXVwID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGlzU2hpZnQgPSBmYWxzZTtcbiAgICAgICAga2V5dXAoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5wb2ludGVyRG93biA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGdlb21ldHJ5UG9pbnRlcnMgPSBnZXRHZW9tZXRyeVBvaW50ZXJzKCk7XG4gICAgICAgIGNvbnN0IGlzR2VvbWV0cnlQb2ludGVyID0gUGxhaXRCb2FyZC5pc0luUG9pbnRlcihib2FyZCwgZ2VvbWV0cnlQb2ludGVycyk7XG4gICAgICAgIGlmICghUGxhaXRCb2FyZC5pc1JlYWRvbmx5KGJvYXJkKSAmJiBpc0dlb21ldHJ5UG9pbnRlciAmJiBpc0RyYXdpbmdNb2RlKGJvYXJkKSkge1xuICAgICAgICAgICAgY29uc3QgcG9pbnQgPSB0cmFuc2Zvcm1Qb2ludChib2FyZCwgdG9Qb2ludChldmVudC54LCBldmVudC55LCBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpKSk7XG4gICAgICAgICAgICBzdGFydCA9IHBvaW50O1xuICAgICAgICAgICAgY29uc3QgcG9pbnRlciA9IFBsYWl0Qm9hcmQuZ2V0UG9pbnRlcihib2FyZCkgYXMgRHJhd1BvaW50ZXJUeXBlO1xuICAgICAgICAgICAgcHJldmVudFRvdWNoTW92ZShib2FyZCwgZXZlbnQsIHRydWUpO1xuICAgICAgICAgICAgaWYgKHBvaW50ZXIgPT09IEJhc2ljU2hhcGVzLnRleHQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtZW1vcml6ZWRMYXRlc3QgPSBnZXRNZW1vcml6ZWRMYXRlc3RCeVBvaW50ZXIocG9pbnRlcik7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJvcGVydHkgPSBnZXREZWZhdWx0VGV4dFNoYXBlUHJvcGVydHkoYm9hcmQsIG1lbW9yaXplZExhdGVzdC50ZXh0UHJvcGVydGllc1snZm9udC1zaXplJ10pO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBvaW50cyA9IGdldFBvaW50c0J5Q2VudGVyUG9pbnQocG9pbnQsIHByb3BlcnR5LndpZHRoLCBwcm9wZXJ0eS5oZWlnaHQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRleHRFbGVtZW50ID0gY3JlYXRlR2VvbWV0cnlFbGVtZW50KFxuICAgICAgICAgICAgICAgICAgICBCYXNpY1NoYXBlcy50ZXh0LFxuICAgICAgICAgICAgICAgICAgICBwb2ludHMsXG4gICAgICAgICAgICAgICAgICAgIERlZmF1bHRUZXh0UHJvcGVydHkudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgbWVtb3JpemVkTGF0ZXN0Lmdlb21ldHJ5UHJvcGVydGllcyBhcyBHZW9tZXRyeVN0eWxlT3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgeyAuLi5tZW1vcml6ZWRMYXRlc3QudGV4dFByb3BlcnRpZXMsIHRleHRIZWlnaHQ6IHByb3BlcnR5LmhlaWdodCB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGUoYm9hcmQsIHRleHRFbGVtZW50LCBbYm9hcmQuY2hpbGRyZW4ubGVuZ3RoXSk7XG4gICAgICAgICAgICAgICAgY2xlYXJTZWxlY3RlZEVsZW1lbnQoYm9hcmQpO1xuICAgICAgICAgICAgICAgIGFkZFNlbGVjdGVkRWxlbWVudChib2FyZCwgdGV4dEVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIEJvYXJkVHJhbnNmb3Jtcy51cGRhdGVQb2ludGVyVHlwZShib2FyZCwgUGxhaXRQb2ludGVyVHlwZS5zZWxlY3Rpb24pO1xuICAgICAgICAgICAgICAgIHN0YXJ0ID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwb2ludGVyRG93bihldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLnBvaW50ZXJNb3ZlID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgICAgZ2VvbWV0cnlTaGFwZUc/LnJlbW92ZSgpO1xuICAgICAgICBnZW9tZXRyeVNoYXBlRyA9IGNyZWF0ZUcoKTtcbiAgICAgICAgY29uc3QgZ2VvbWV0cnlHZW5lcmF0b3IgPSBuZXcgR2VvbWV0cnlTaGFwZUdlbmVyYXRvcihib2FyZCk7XG4gICAgICAgIGNvbnN0IGRyYXdNb2RlID0gISFzdGFydDtcbiAgICAgICAgY29uc3QgbW92aW5nUG9pbnQgPSB0cmFuc2Zvcm1Qb2ludChib2FyZCwgdG9Qb2ludChldmVudC54LCBldmVudC55LCBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpKSk7XG4gICAgICAgIGNvbnN0IHBvaW50ZXIgPSBQbGFpdEJvYXJkLmdldFBvaW50ZXIoYm9hcmQpIGFzIERyYXdQb2ludGVyVHlwZTtcbiAgICAgICAgaWYgKGRyYXdNb2RlICYmIHBvaW50ZXIgIT09IEJhc2ljU2hhcGVzLnRleHQpIHtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50cyA9IG5vcm1hbGl6ZVNoYXBlUG9pbnRzKFtzdGFydCEsIG1vdmluZ1BvaW50XSwgaXNTaGlmdCk7XG4gICAgICAgICAgICBjb25zdCBtZW1vcml6ZWRMYXRlc3QgPSBnZXRNZW1vcml6ZWRMYXRlc3RCeVBvaW50ZXIocG9pbnRlcik7XG4gICAgICAgICAgICBjb25zdCB0ZXh0SGVpZ2h0ID0gZ2V0RGVmYXVsdFRleHRTaGFwZVByb3BlcnR5KGJvYXJkLCBtZW1vcml6ZWRMYXRlc3QudGV4dFByb3BlcnRpZXNbJ2ZvbnQtc2l6ZSddKS5oZWlnaHQ7XG4gICAgICAgICAgICB0ZW1wb3JhcnlFbGVtZW50ID0gY3JlYXRlR2VvbWV0cnlFbGVtZW50KFxuICAgICAgICAgICAgICAgIChwb2ludGVyIGFzIHVua25vd24pIGFzIEdlb21ldHJ5U2hhcGVzLFxuICAgICAgICAgICAgICAgIHBvaW50cyxcbiAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoOiBEZWZhdWx0QmFzaWNTaGFwZVByb3BlcnR5LnN0cm9rZVdpZHRoLFxuICAgICAgICAgICAgICAgICAgICAuLi5tZW1vcml6ZWRMYXRlc3QuZ2VvbWV0cnlQcm9wZXJ0aWVzXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7IC4uLm1lbW9yaXplZExhdGVzdC50ZXh0UHJvcGVydGllcywgdGV4dEhlaWdodCB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgZ2VvbWV0cnlHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGVtcG9yYXJ5RWxlbWVudCwgZ2VvbWV0cnlTaGFwZUcpO1xuICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdChib2FyZCkuYXBwZW5kKGdlb21ldHJ5U2hhcGVHKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHBvaW50ZXJNb3ZlKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQucG9pbnRlclVwID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgaXNEcmF3TW9kZSA9ICEhc3RhcnQ7XG4gICAgICAgIGlmIChpc0RyYXdNb2RlKSB7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXRQb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkpKTtcbiAgICAgICAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gUmVjdGFuZ2xlQ2xpZW50LnRvUmVjdGFuZ2xlQ2xpZW50KFtzdGFydCEsIHRhcmdldFBvaW50XSk7XG4gICAgICAgICAgICBpZiAoTWF0aC5oeXBvdCh3aWR0aCwgaGVpZ2h0KSA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBvaW50ZXIgPSBQbGFpdEJvYXJkLmdldFBvaW50ZXIoYm9hcmQpIGFzIERyYXdQb2ludGVyVHlwZTtcbiAgICAgICAgICAgICAgICBpZiAocG9pbnRlciAhPT0gQmFzaWNTaGFwZXMudGV4dCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwb2ludHMgPSBnZXREZWZhdWx0R2VvbWV0cnlQb2ludHMocG9pbnRlciwgdGFyZ2V0UG9pbnQpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtZW1vcml6ZWRMYXRlc3QgPSBnZXRNZW1vcml6ZWRMYXRlc3RCeVBvaW50ZXIocG9pbnRlcik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRleHRIZWlnaHQgPSBnZXREZWZhdWx0VGV4dFNoYXBlUHJvcGVydHkoYm9hcmQsIG1lbW9yaXplZExhdGVzdC50ZXh0UHJvcGVydGllc1snZm9udC1zaXplJ10pLmhlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgdGVtcG9yYXJ5RWxlbWVudCA9IGNyZWF0ZUdlb21ldHJ5RWxlbWVudChcbiAgICAgICAgICAgICAgICAgICAgICAgIChwb2ludGVyIGFzIHVua25vd24pIGFzIEdlb21ldHJ5U2hhcGVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IERlZmF1bHRCYXNpY1NoYXBlUHJvcGVydHkuc3Ryb2tlV2lkdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ubWVtb3JpemVkTGF0ZXN0Lmdlb21ldHJ5UHJvcGVydGllc1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgLi4ubWVtb3JpemVkTGF0ZXN0LnRleHRQcm9wZXJ0aWVzLCB0ZXh0SGVpZ2h0IH1cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRlbXBvcmFyeUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGluc2VydEVsZW1lbnQoYm9hcmQsIHRlbXBvcmFyeUVsZW1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgZ2VvbWV0cnlTaGFwZUc/LnJlbW92ZSgpO1xuICAgICAgICBnZW9tZXRyeVNoYXBlRyA9IG51bGw7XG4gICAgICAgIHN0YXJ0ID0gbnVsbDtcbiAgICAgICAgdGVtcG9yYXJ5RWxlbWVudCA9IG51bGw7XG4gICAgICAgIHByZXZlbnRUb3VjaE1vdmUoYm9hcmQsIGV2ZW50LCBmYWxzZSk7XG5cbiAgICAgICAgcG9pbnRlclVwKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufTtcblxuY29uc3QgaW5zZXJ0RWxlbWVudCA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogUGxhaXRHZW9tZXRyeSkgPT4ge1xuICAgIG1lbW9yaXplTGF0ZXN0U2hhcGUoYm9hcmQsIGVsZW1lbnQuc2hhcGUpO1xuICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZShib2FyZCwgZWxlbWVudCwgW2JvYXJkLmNoaWxkcmVuLmxlbmd0aF0pO1xuICAgIGNsZWFyU2VsZWN0ZWRFbGVtZW50KGJvYXJkKTtcbiAgICBhZGRTZWxlY3RlZEVsZW1lbnQoYm9hcmQsIGVsZW1lbnQpO1xuICAgIEJvYXJkVHJhbnNmb3Jtcy51cGRhdGVQb2ludGVyVHlwZShib2FyZCwgUGxhaXRQb2ludGVyVHlwZS5zZWxlY3Rpb24pO1xufTtcbiJdfQ==
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1nZW9tZXRyeS1jcmVhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9wbHVnaW5zL3dpdGgtZ2VvbWV0cnktY3JlYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVMsZUFBZSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxXQUFXLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUN4QiwyQkFBMkIsRUFDM0IsMkJBQTJCLEVBQzNCLHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIsYUFBYSxFQUNoQixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQW1CLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN4QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBT3ZDLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQzFELE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRXpDLElBQUksY0FBYyxHQUF1QixJQUFJLENBQUM7SUFFOUMsSUFBSSxnQkFBZ0IsR0FBeUIsSUFBSSxDQUFDO0lBRWxELElBQUksaUJBQWlCLEdBQTZCLElB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QUssRUFBRSxNQUFNLEVBQUUsT0FBeUIsQ0FBQyxDQUFDO2lCQUN0RjthQUNKO1NBQ0o7UUFDRCxJQUFJLGdCQUFnQixFQUFFO1lBQ2xCLGFBQWEsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztTQUMxQztRQUVELGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN6QixjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDYixnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDeEIsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV0QyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUG9pbnQsIFJlY3RhbmdsZUNsaWVudCwgY3JlYXRlRywgcHJldmVudFRvdWNoTW92ZSwgdG9Qb2ludCwgdHJhbnNmb3JtUG9pbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBCYXNpY1NoYXBlcywgR2VvbWV0cnlTaGFwZXMsIFBsYWl0R2VvbWV0cnkgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEdlb21ldHJ5U2hhcGVHZW5lcmF0b3IgfSBmcm9tICcuLi9nZW5lcmF0b3JzL2dlb21ldHJ5LXNoYXBlLmdlbmVyYXRvcic7XG5pbXBvcnQge1xuICAgIGNyZWF0ZURlZmF1bHRHZW9tZXRyeSxcbiAgICBjcmVhdGVEZWZhdWx0VGV4dCxcbiAgICBnZXREZWZhdWx0R2VvbWV0cnlQb2ludHMsXG4gICAgZ2V0RGVmYXVsdFRleHRTaGFwZVByb3BlcnR5LFxuICAgIGdldE1lbW9yaXplZExhdGVzdEJ5UG9pbnRlcixcbiAgICBnZXRQb2ludHNCeUNlbnRlclBvaW50LFxuICAgIGdldFRleHRSZWN0YW5nbGUsXG4gICAgaW5zZXJ0RWxlbWVudFxufSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBEcmF3UG9pbnRlclR5cGUsIGdldEdlb21ldHJ5UG9pbnRlcnMgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgbm9ybWFsaXplU2hhcGVQb2ludHMsIGlzRG5kTW9kZSwgaXNEcmF3aW5nTW9kZSB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgVGV4dE1hbmFnZSB9IGZyb20gJ0BwbGFpdC90ZXh0JztcbmltcG9ydCB7IGlzS2V5SG90a2V5IH0gZnJvbSAnaXMtaG90a2V5JztcbmltcG9ydCB7IE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZha2VDcmVhdGVUZXh0UmVmIHtcbiAgICBnOiBTVkdHRWxlbWVudDtcbiAgICB0ZXh0TWFuYWdlOiBUZXh0TWFuYWdlO1xufVxuXG5leHBvcnQgY29uc3Qgd2l0aEdlb21ldHJ5Q3JlYXRlQnlEcmFnID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3QgeyBwb2ludGVyTW92ZSwgcG9pbnRlclVwIH0gPSBib2FyZDtcblxuICAgIGxldCBnZW9tZXRyeVNoYXBlRzogU1ZHR0VsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAgIGxldCB0ZW1wb3JhcnlFbGVtZW50OiBQbGFpdEdlb21ldHJ5IHwgbnVsbCA9IG51bGw7XG5cbiAgICBsZXQgZmFrZUNyZWF0ZVRleHRSZWY6IEZha2VDcmVhdGVUZXh0UmVmIHwgbnVsbCA9IG51bGw7XG5cbiAgICBib2FyZC5wb2ludGVyTW92ZSA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGdlb21ldHJ5U2hhcGVHPy5yZW1vdmUoKTtcbiAgICAgICAgZ2VvbWV0cnlTaGFwZUcgPSBjcmVhdGVHKCk7XG5cbiAgICAgICAgY29uc3QgZ2VvbWV0cnlHZW5lcmF0b3IgPSBuZXcgR2VvbWV0cnlTaGFwZUdlbmVyYXRvcihib2FyZCk7XG4gICAgICAgIGNvbnN0IGdlb21ldHJ5UG9pbnRlcnMgPSBnZXRHZW9tZXRyeVBvaW50ZXJzKCk7XG4gICAgICAgIGNvbnN0IGlzR2VvbWV0cnlQb2ludGVyID0gUGxhaXRCb2FyZC5pc0luUG9pbnRlcihib2FyZCwgZ2VvbWV0cnlQb2ludGVycyk7XG4gICAgICAgIGNvbnN0IGRyYWdNb2RlID0gaXNHZW9tZXRyeVBvaW50ZXIgJiYgaXNEbmRNb2RlKGJvYXJkKTtcbiAgICAgICAgY29uc3QgbW92aW5nUG9pbnQgPSB0cmFuc2Zvcm1Qb2ludChib2FyZCwgdG9Qb2ludChldmVudC54LCBldmVudC55LCBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpKSk7XG4gICAgICAgIGNvbnN0IHBvaW50ZXIgPSBQbGFpdEJvYXJkLmdldFBvaW50ZXIoYm9hcmQpIGFzIERyYXdQb2ludGVyVHlwZTtcblxuICAgICAgICBpZiAoZHJhZ01vZGUpIHtcbiAgICAgICAgICAgIGNvbnN0IG1lbW9yaXplZExhdGVzdCA9IGdldE1lbW9yaXplZExhdGVzdEJ5UG9pbnRlcihwb2ludGVyKTtcbiAgICAgICAgICAgIGlmIChwb2ludGVyID09PSBCYXNpY1NoYXBlcy50ZXh0KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJvcGVydHkgPSBnZXREZWZhdWx0VGV4dFNoYXBlUHJvcGVydHkoYm9hcmQsIG1lbW9yaXplZExhdGVzdC50ZXh0UHJvcGVydGllc1snZm9udC1zaXplJ10pO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBvaW50cyA9IGdldFBvaW50c0J5Q2VudGVyUG9pbnQobW92aW5nUG9pbnQsIHByb3BlcnR5LndpZHRoLCBwcm9wZXJ0eS5oZWlnaHQpO1xuICAgICAgICAgICAgICAgIHRlbXBvcmFyeUVsZW1lbnQgPSBjcmVhdGVEZWZhdWx0VGV4dChib2FyZCwgcG9pbnRzKTtcbiAgICAgICAgICAgICAgICBpZiAoIWZha2VDcmVhdGVUZXh0UmVmKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRleHRNYW5hZ2UgPSBuZXcgVGV4dE1hbmFnZShib2FyZCwgUGxhaXRCb2FyZC5nZXRDb21wb25lbnQoYm9hcmQpLnZpZXdDb250YWluZXJSZWYsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdldFJlY3RhbmdsZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBnZXRUZXh0UmVjdGFuZ2xlKHRlbXBvcmFyeUVsZW1lbnQhKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIFBsYWl0Qm9hcmQuZ2V0Q29tcG9uZW50KGJvYXJkKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnZpZXdDb250YWluZXJSZWYuaW5qZWN0b3IuZ2V0KE5nWm9uZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRNYW5hZ2UuZHJhdyh0ZW1wb3JhcnlFbGVtZW50IS50ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBmYWtlQ3JlYXRlVGV4dFJlZiA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGc6IGNyZWF0ZUcoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHRNYW5hZ2VcbiAgICAgICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgICAgICBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpLmFwcGVuZChmYWtlQ3JlYXRlVGV4dFJlZi5nKTtcbiAgICAgICAgICAgICAgICAgICAgZmFrZUNyZWF0ZVRleHRSZWYuZy5hcHBlbmQodGV4dE1hbmFnZS5nKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBmYWtlQ3JlYXRlVGV4dFJlZi50ZXh0TWFuYWdlLnVwZGF0ZVJlY3RhbmdsZSgpO1xuICAgICAgICAgICAgICAgICAgICBmYWtlQ3JlYXRlVGV4dFJlZi5nLmFwcGVuZChmYWtlQ3JlYXRlVGV4dFJlZi50ZXh0TWFuYWdlLmcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9pbnRzID0gZ2V0RGVmYXVsdEdlb21ldHJ5UG9pbnRzKHBvaW50ZXIsIG1vdmluZ1BvaW50KTtcbiAgICAgICAgICAgICAgICB0ZW1wb3JhcnlFbGVtZW50ID0gY3JlYXRlRGVmYXVsdEdlb21ldHJ5KGJvYXJkLCBwb2ludHMsIHBvaW50ZXIgYXMgR2VvbWV0cnlTaGFwZXMpO1xuICAgICAgICAgICAgICAgIGdlb21ldHJ5R2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRlbXBvcmFyeUVsZW1lbnQsIGdlb21ldHJ5U2hhcGVHKTtcbiAgICAgICAgICAgICAgICBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KGJvYXJkKS5hcHBlbmQoZ2VvbWV0cnlTaGFwZUcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcG9pbnRlck1vdmUoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5wb2ludGVyVXAgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBnZW9tZXRyeVBvaW50ZXJzID0gZ2V0R2VvbWV0cnlQb2ludGVycygpO1xuICAgICAgICBjb25zdCBpc0dlb21ldHJ5UG9pbnRlciA9IFBsYWl0Qm9hcmQuaXNJblBvaW50ZXIoYm9hcmQsIGdlb21ldHJ5UG9pbnRlcnMpO1xuICAgICAgICBjb25zdCBkcmFnTW9kZSA9IGlzR2VvbWV0cnlQb2ludGVyICYmIGlzRG5kTW9kZShib2FyZCk7XG5cbiAgICAgICAgaWYgKGRyYWdNb2RlICYmIHRlbXBvcmFyeUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGluc2VydEVsZW1lbnQoYm9hcmQsIHRlbXBvcmFyeUVsZW1lbnQpO1xuICAgICAgICAgICAgZmFrZUNyZWF0ZVRleHRSZWY/LnRleHRNYW5hZ2UuZGVzdHJveSgpO1xuICAgICAgICAgICAgZmFrZUNyZWF0ZVRleHRSZWY/LmcucmVtb3ZlKCk7XG4gICAgICAgICAgICBmYWtlQ3JlYXRlVGV4dFJlZiA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBnZW9tZXRyeVNoYXBlRz8ucmVtb3ZlKCk7XG4gICAgICAgIGdlb21ldHJ5U2hhcGVHID0gbnVsbDtcbiAgICAgICAgcHJldmVudFRvdWNoTW92ZShib2FyZCwgZXZlbnQsIGZhbHNlKTtcblxuICAgICAgICBwb2ludGVyVXAoZXZlbnQpO1xuICAgIH07XG5cbiAgICByZXR1cm4gYm9hcmQ7XG59O1xuXG5leHBvcnQgY29uc3Qgd2l0aEdlb21ldHJ5Q3JlYXRlQnlEcmF3aW5nID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3QgeyBwb2ludGVyRG93biwgcG9pbnRlck1vdmUsIHBvaW50ZXJVcCwga2V5ZG93biwga2V5dXAgfSA9IGJvYXJkO1xuICAgIGxldCBzdGFydDogUG9pbnQgfCBudWxsID0gbnVsbDtcblxuICAgIGxldCBnZW9tZXRyeVNoYXBlRzogU1ZHR0VsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAgIGxldCB0ZW1wb3JhcnlFbGVtZW50OiBQbGFpdEdlb21ldHJ5IHwgbnVsbCA9IG51bGw7XG5cbiAgICBsZXQgaXNTaGlmdCA9IGZhbHNlO1xuXG4gICAgYm9hcmQua2V5ZG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpc1NoaWZ0ID0gaXNLZXlIb3RrZXkoJ3NoaWZ0JywgZXZlbnQpO1xuICAgICAgICBrZXlkb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQua2V5dXAgPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgaXNTaGlmdCA9IGZhbHNlO1xuICAgICAgICBrZXl1cChldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLnBvaW50ZXJEb3duID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgZ2VvbWV0cnlQb2ludGVycyA9IGdldEdlb21ldHJ5UG9pbnRlcnMoKTtcbiAgICAgICAgY29uc3QgaXNHZW9tZXRyeVBvaW50ZXIgPSBQbGFpdEJvYXJkLmlzSW5Qb2ludGVyKGJvYXJkLCBnZW9tZXRyeVBvaW50ZXJzKTtcbiAgICAgICAgaWYgKCFQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpICYmIGlzR2VvbWV0cnlQb2ludGVyICYmIGlzRHJhd2luZ01vZGUoYm9hcmQpKSB7XG4gICAgICAgICAgICBjb25zdCBwb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkpKTtcbiAgICAgICAgICAgIHN0YXJ0ID0gcG9pbnQ7XG4gICAgICAgICAgICBjb25zdCBwb2ludGVyID0gUGxhaXRCb2FyZC5nZXRQb2ludGVyKGJvYXJkKSBhcyBEcmF3UG9pbnRlclR5cGU7XG4gICAgICAgICAgICBwcmV2ZW50VG91Y2hNb3ZlKGJvYXJkLCBldmVudCwgdHJ1ZSk7XG4gICAgICAgICAgICBpZiAocG9pbnRlciA9PT0gQmFzaWNTaGFwZXMudGV4dCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lbW9yaXplZExhdGVzdCA9IGdldE1lbW9yaXplZExhdGVzdEJ5UG9pbnRlcihwb2ludGVyKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwcm9wZXJ0eSA9IGdldERlZmF1bHRUZXh0U2hhcGVQcm9wZXJ0eShib2FyZCwgbWVtb3JpemVkTGF0ZXN0LnRleHRQcm9wZXJ0aWVzWydmb250LXNpemUnXSk7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9pbnRzID0gZ2V0UG9pbnRzQnlDZW50ZXJQb2ludChwb2ludCwgcHJvcGVydHkud2lkdGgsIHByb3BlcnR5LmhlaWdodCk7XG4gICAgICAgICAgICAgICAgY29uc3QgdGV4dEVsZW1lbnQgPSBjcmVhdGVEZWZhdWx0VGV4dChib2FyZCwgcG9pbnRzKTtcbiAgICAgICAgICAgICAgICBpbnNlcnRFbGVtZW50KGJvYXJkLCB0ZXh0RWxlbWVudCk7XG4gICAgICAgICAgICAgICAgc3RhcnQgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHBvaW50ZXJEb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQucG9pbnRlck1vdmUgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBnZW9tZXRyeVNoYXBlRz8ucmVtb3ZlKCk7XG4gICAgICAgIGdlb21ldHJ5U2hhcGVHID0gY3JlYXRlRygpO1xuICAgICAgICBjb25zdCBnZW9tZXRyeUdlbmVyYXRvciA9IG5ldyBHZW9tZXRyeVNoYXBlR2VuZXJhdG9yKGJvYXJkKTtcbiAgICAgICAgY29uc3QgZHJhd01vZGUgPSAhIXN0YXJ0O1xuICAgICAgICBjb25zdCBtb3ZpbmdQb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkpKTtcbiAgICAgICAgY29uc3QgcG9pbnRlciA9IFBsYWl0Qm9hcmQuZ2V0UG9pbnRlcihib2FyZCkgYXMgRHJhd1BvaW50ZXJUeXBlO1xuICAgICAgICBpZiAoZHJhd01vZGUgJiYgcG9pbnRlciAhPT0gQmFzaWNTaGFwZXMudGV4dCkge1xuICAgICAgICAgICAgY29uc3QgcG9pbnRzID0gbm9ybWFsaXplU2hhcGVQb2ludHMoW3N0YXJ0ISwgbW92aW5nUG9pbnRdLCBpc1NoaWZ0KTtcbiAgICAgICAgICAgIHRlbXBvcmFyeUVsZW1lbnQgPSBjcmVhdGVEZWZhdWx0R2VvbWV0cnkoYm9hcmQsIHBvaW50cywgcG9pbnRlciBhcyBHZW9tZXRyeVNoYXBlcyk7XG4gICAgICAgICAgICBnZW9tZXRyeUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0ZW1wb3JhcnlFbGVtZW50LCBnZW9tZXRyeVNoYXBlRyk7XG4gICAgICAgICAgICBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KGJvYXJkKS5hcHBlbmQoZ2VvbWV0cnlTaGFwZUcpO1xuICAgICAgICB9XG5cbiAgICAgICAgcG9pbnRlck1vdmUoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5wb2ludGVyVXAgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBpc0RyYXdNb2RlID0gISFzdGFydDtcbiAgICAgICAgaWYgKGlzRHJhd01vZGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldFBvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgICAgICAgICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSBSZWN0YW5nbGVDbGllbnQudG9SZWN0YW5nbGVDbGllbnQoW3N0YXJ0ISwgdGFyZ2V0UG9pbnRdKTtcbiAgICAgICAgICAgIGlmIChNYXRoLmh5cG90KHdpZHRoLCBoZWlnaHQpID09PSAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9pbnRlciA9IFBsYWl0Qm9hcmQuZ2V0UG9pbnRlcihib2FyZCkgYXMgRHJhd1BvaW50ZXJUeXBlO1xuICAgICAgICAgICAgICAgIGlmIChwb2ludGVyICE9PSBCYXNpY1NoYXBlcy50ZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvaW50cyA9IGdldERlZmF1bHRHZW9tZXRyeVBvaW50cyhwb2ludGVyLCB0YXJnZXRQb2ludCk7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBvcmFyeUVsZW1lbnQgPSBjcmVhdGVEZWZhdWx0R2VvbWV0cnkoYm9hcmQsIHBvaW50cywgcG9pbnRlciBhcyBHZW9tZXRyeVNoYXBlcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0ZW1wb3JhcnlFbGVtZW50KSB7XG4gICAgICAgICAgICBpbnNlcnRFbGVtZW50KGJvYXJkLCB0ZW1wb3JhcnlFbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGdlb21ldHJ5U2hhcGVHPy5yZW1vdmUoKTtcbiAgICAgICAgZ2VvbWV0cnlTaGFwZUcgPSBudWxsO1xuICAgICAgICBzdGFydCA9IG51bGw7XG4gICAgICAgIHRlbXBvcmFyeUVsZW1lbnQgPSBudWxsO1xuICAgICAgICBwcmV2ZW50VG91Y2hNb3ZlKGJvYXJkLCBldmVudCwgZmFsc2UpO1xuXG4gICAgICAgIHBvaW50ZXJVcChldmVudCk7XG4gICAgfTtcblxuICAgIHJldHVybiBib2FyZDtcbn07XG4iXX0=
|