@onepercentio/one-ui 0.27.7 → 0.28.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.
@@ -0,0 +1,6 @@
1
+ import { ComponentProps } from "react";
2
+ import Input from "../Input";
3
+ export default function CurrencyInput({ value: amount, currency, onChange, placeholder, error, ...props }: Omit<ComponentProps<typeof Input>, 'onChange'> & {
4
+ currency: string;
5
+ onChange?: (formatted: string) => void;
6
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ export declare function useCurrencyInput(amount: string | undefined, currency: string, onChange?: (formattedCurrency: string) => void): {
3
+ inputRef: import("react").RefObject<HTMLInputElement | null>;
4
+ moneyFormat: string;
5
+ lastPosition: import("react").RefObject<number>;
6
+ };
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useCurrencyInput = useCurrencyInput;
7
+ var _react = require("react");
8
+ var _formatters = require("../../utils/formatters");
9
+ function useCurrencyInput(amount, currency, onChange) {
10
+ const formatter = (0, _react.useMemo)(() => (0, _formatters.currencyFormatterFactory)(currency), []);
11
+ const number = (0, _react.useMemo)(() => Number((amount === null || amount === void 0 ? void 0 : amount.replace(/[^0-9]/g, "")) || 0) / 100, [amount]);
12
+ const moneyFormat = (0, _react.useMemo)(() => {
13
+ return formatter.format(number);
14
+ }, [number, formatter]);
15
+ const lastPosition = (0, _react.useRef)(0);
16
+ const inputRef = (0, _react.useRef)(null);
17
+ (0, _react.useLayoutEffect)(() => {
18
+ const el = inputRef.current;
19
+ const putCaretOn = el.value.length - lastPosition.current;
20
+ el.setSelectionRange(putCaretOn, putCaretOn);
21
+ onChange === null || onChange === void 0 ? void 0 : onChange(moneyFormat);
22
+ }, [moneyFormat]);
23
+ return {
24
+ inputRef,
25
+ moneyFormat,
26
+ lastPosition
27
+ };
28
+ }
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX2Zvcm1hdHRlcnMiLCJ1c2VDdXJyZW5jeUlucHV0IiwiYW1vdW50IiwiY3VycmVuY3kiLCJvbkNoYW5nZSIsImZvcm1hdHRlciIsInVzZU1lbW8iLCJjdXJyZW5jeUZvcm1hdHRlckZhY3RvcnkiLCJudW1iZXIiLCJOdW1iZXIiLCJyZXBsYWNlIiwibW9uZXlGb3JtYXQiLCJmb3JtYXQiLCJsYXN0UG9zaXRpb24iLCJ1c2VSZWYiLCJpbnB1dFJlZiIsInVzZUxheW91dEVmZmVjdCIsImVsIiwiY3VycmVudCIsInB1dENhcmV0T24iLCJ2YWx1ZSIsImxlbmd0aCIsInNldFNlbGVjdGlvblJhbmdlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvQ3VycmVuY3lJbnB1dC9DdXJyZW5jeUlucHV0Lmhvb2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlTGF5b3V0RWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGN1cnJlbmN5Rm9ybWF0dGVyRmFjdG9yeSB9IGZyb20gXCIuLi8uLi91dGlscy9mb3JtYXR0ZXJzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VDdXJyZW5jeUlucHV0KFxuICBhbW91bnQ6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgY3VycmVuY3k6IHN0cmluZyxcbiAgb25DaGFuZ2U/OiAoZm9ybWF0dGVkQ3VycmVuY3k6IHN0cmluZykgPT4gdm9pZFxuKSB7XG4gIGNvbnN0IGZvcm1hdHRlciA9IHVzZU1lbW8oKCkgPT4gY3VycmVuY3lGb3JtYXR0ZXJGYWN0b3J5KGN1cnJlbmN5KSwgW10pO1xuICBjb25zdCBudW1iZXIgPSB1c2VNZW1vKFxuICAgICgpID0+IE51bWJlcihhbW91bnQ/LnJlcGxhY2UoL1teMC05XS9nLCBcIlwiKSB8fCAwKSAvIDEwMCxcbiAgICBbYW1vdW50XVxuICApO1xuICBjb25zdCBtb25leUZvcm1hdCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBmb3JtYXR0ZXIuZm9ybWF0KG51bWJlcik7XG4gIH0sIFtudW1iZXIsIGZvcm1hdHRlcl0pO1xuXG4gIGNvbnN0IGxhc3RQb3NpdGlvbiA9IHVzZVJlZigwKTtcbiAgY29uc3QgaW5wdXRSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbCk7XG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgZWwgPSBpbnB1dFJlZi5jdXJyZW50ITtcbiAgICBjb25zdCBwdXRDYXJldE9uID0gZWwudmFsdWUubGVuZ3RoIC0gbGFzdFBvc2l0aW9uLmN1cnJlbnQ7XG4gICAgZWwuc2V0U2VsZWN0aW9uUmFuZ2UocHV0Q2FyZXRPbiwgcHV0Q2FyZXRPbik7XG5cbiAgICBvbkNoYW5nZT8uKG1vbmV5Rm9ybWF0KTtcbiAgfSwgW21vbmV5Rm9ybWF0XSk7XG5cbiAgcmV0dXJuIHtcbiAgICBpbnB1dFJlZixcbiAgICBtb25leUZvcm1hdCxcbiAgICBsYXN0UG9zaXRpb24sXG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUVPLFNBQVNFLGdCQUFnQkEsQ0FDOUJDLE1BQTBCLEVBQzFCQyxRQUFnQixFQUNoQkMsUUFBOEMsRUFDOUM7RUFDQSxNQUFNQyxTQUFTLEdBQUcsSUFBQUMsY0FBTyxFQUFDLE1BQU0sSUFBQUMsb0NBQXdCLEVBQUNKLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUN2RSxNQUFNSyxNQUFNLEdBQUcsSUFBQUYsY0FBTyxFQUNwQixNQUFNRyxNQUFNLENBQUMsQ0FBQVAsTUFBTSxhQUFOQSxNQUFNLHVCQUFOQSxNQUFNLENBQUVRLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLEtBQUksQ0FBQyxDQUFDLEdBQUcsR0FBRyxFQUN2RCxDQUFDUixNQUFNLENBQ1QsQ0FBQztFQUNELE1BQU1TLFdBQVcsR0FBRyxJQUFBTCxjQUFPLEVBQUMsTUFBTTtJQUNoQyxPQUFPRCxTQUFTLENBQUNPLE1BQU0sQ0FBQ0osTUFBTSxDQUFDO0VBQ2pDLENBQUMsRUFBRSxDQUFDQSxNQUFNLEVBQUVILFNBQVMsQ0FBQyxDQUFDO0VBRXZCLE1BQU1RLFlBQVksR0FBRyxJQUFBQyxhQUFNLEVBQUMsQ0FBQyxDQUFDO0VBQzlCLE1BQU1DLFFBQVEsR0FBRyxJQUFBRCxhQUFNLEVBQW1CLElBQUksQ0FBQztFQUMvQyxJQUFBRSxzQkFBZSxFQUFDLE1BQU07SUFDcEIsTUFBTUMsRUFBRSxHQUFHRixRQUFRLENBQUNHLE9BQVE7SUFDNUIsTUFBTUMsVUFBVSxHQUFHRixFQUFFLENBQUNHLEtBQUssQ0FBQ0MsTUFBTSxHQUFHUixZQUFZLENBQUNLLE9BQU87SUFDekRELEVBQUUsQ0FBQ0ssaUJBQWlCLENBQUNILFVBQVUsRUFBRUEsVUFBVSxDQUFDO0lBRTVDZixRQUFRLGFBQVJBLFFBQVEsdUJBQVJBLFFBQVEsQ0FBR08sV0FBVyxDQUFDO0VBQ3pCLENBQUMsRUFBRSxDQUFDQSxXQUFXLENBQUMsQ0FBQztFQUVqQixPQUFPO0lBQ0xJLFFBQVE7SUFDUkosV0FBVztJQUNYRTtFQUNGLENBQUM7QUFDSCJ9
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = CurrencyInput;
7
+ var _Input = _interopRequireDefault(require("../Input"));
8
+ var _CurrencyInput = require("./CurrencyInput.hook");
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ function CurrencyInput(_ref) {
11
+ let {
12
+ value: amount,
13
+ currency,
14
+ onChange,
15
+ placeholder,
16
+ error,
17
+ ...props
18
+ } = _ref;
19
+ const {
20
+ inputRef,
21
+ moneyFormat,
22
+ lastPosition
23
+ } = (0, _CurrencyInput.useCurrencyInput)(amount, currency, onChange);
24
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Input.default, {
25
+ ref: inputRef,
26
+ placeholder: placeholder,
27
+ value: moneyFormat,
28
+ error: error,
29
+ onChange: _ref2 => {
30
+ let {
31
+ target: {
32
+ value,
33
+ selectionStart = value.length
34
+ }
35
+ } = _ref2;
36
+ const diffFromEndToStart = value.length - selectionStart;
37
+ lastPosition.current = diffFromEndToStart;
38
+ onChange === null || onChange === void 0 ? void 0 : onChange(value);
39
+ }
40
+ }));
41
+ }
42
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfSW5wdXQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9DdXJyZW5jeUlucHV0Iiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJDdXJyZW5jeUlucHV0IiwiX3JlZiIsInZhbHVlIiwiYW1vdW50IiwiY3VycmVuY3kiLCJvbkNoYW5nZSIsInBsYWNlaG9sZGVyIiwiZXJyb3IiLCJwcm9wcyIsImlucHV0UmVmIiwibW9uZXlGb3JtYXQiLCJsYXN0UG9zaXRpb24iLCJ1c2VDdXJyZW5jeUlucHV0IiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJyZWYiLCJfcmVmMiIsInRhcmdldCIsInNlbGVjdGlvblN0YXJ0IiwibGVuZ3RoIiwiZGlmZkZyb21FbmRUb1N0YXJ0IiwiY3VycmVudCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0N1cnJlbmN5SW5wdXQvQ3VycmVuY3lJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UHJvcHMgfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IElucHV0IGZyb20gXCIuLi9JbnB1dFwiXG5pbXBvcnQgeyB1c2VDdXJyZW5jeUlucHV0IH0gZnJvbSBcIi4vQ3VycmVuY3lJbnB1dC5ob29rXCJcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQ3VycmVuY3lJbnB1dCh7IHZhbHVlOiBhbW91bnQsIGN1cnJlbmN5LCBvbkNoYW5nZSwgcGxhY2Vob2xkZXIsIGVycm9yLCAuLi5wcm9wcyB9OiBPbWl0PENvbXBvbmVudFByb3BzPHR5cGVvZiBJbnB1dD4sICdvbkNoYW5nZSc+ICYgeyBjdXJyZW5jeTogc3RyaW5nLCBvbkNoYW5nZT86IChmb3JtYXR0ZWQ6IHN0cmluZykgPT4gdm9pZCB9KSB7XG4gICAgY29uc3QgeyBpbnB1dFJlZiwgbW9uZXlGb3JtYXQsIGxhc3RQb3NpdGlvbiB9ID0gdXNlQ3VycmVuY3lJbnB1dChhbW91bnQsIGN1cnJlbmN5LCBvbkNoYW5nZSlcbiAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgcmVmPXtpbnB1dFJlZn1cbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICAgICAgdmFsdWU9e21vbmV5Rm9ybWF0fVxuICAgICAgICAgICAgICAgIGVycm9yPXtlcnJvciBhcyBzdHJpbmd9XG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e3Byb3BzWydkYXRhLXRlc3RpZCddfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoe1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IHsgdmFsdWUsIHNlbGVjdGlvblN0YXJ0ID0gdmFsdWUubGVuZ3RoIH0sXG4gICAgICAgICAgICAgICAgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkaWZmRnJvbUVuZFRvU3RhcnQgPSB2YWx1ZS5sZW5ndGggLSBzZWxlY3Rpb25TdGFydCFcbiAgICAgICAgICAgICAgICAgICAgbGFzdFBvc2l0aW9uLmN1cnJlbnQgPSBkaWZmRnJvbUVuZFRvU3RhcnRcbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U/Lih2YWx1ZSlcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC8+XG4gICAgKVxufSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsY0FBQSxHQUFBRCxPQUFBO0FBQXVELFNBQUFELHVCQUFBRyxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBRXhDLFNBQVNHLGFBQWFBLENBQUFDLElBQUEsRUFBcUw7RUFBQSxJQUFwTDtJQUFFQyxLQUFLLEVBQUVDLE1BQU07SUFBRUMsUUFBUTtJQUFFQyxRQUFRO0lBQUVDLFdBQVc7SUFBRUMsS0FBSztJQUFFLEdBQUdDO0VBQXFILENBQUMsR0FBQVAsSUFBQTtFQUNwTixNQUFNO0lBQUVRLFFBQVE7SUFBRUMsV0FBVztJQUFFQztFQUFhLENBQUMsR0FBRyxJQUFBQywrQkFBZ0IsRUFBQ1QsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFFBQVEsQ0FBQztFQUM1RixvQkFDSVEsS0FBQSxDQUFBQyxhQUFBLENBQUFELEtBQUEsQ0FBQUUsUUFBQSxxQkFDSUYsS0FBQSxDQUFBQyxhQUFBLENBQUNyQixNQUFBLENBQUFNLE9BQUs7SUFDRmlCLEdBQUcsRUFBRVAsUUFBUztJQUNkSCxXQUFXLEVBQUVBLFdBQVk7SUFDekJKLEtBQUssRUFBRVEsV0FBWTtJQUNuQkgsS0FBSyxFQUFFQSxLQUFnQjtJQUV2QkYsUUFBUSxFQUFFWSxLQUFBLElBRUo7TUFBQSxJQUZLO1FBQ1BDLE1BQU0sRUFBRTtVQUFFaEIsS0FBSztVQUFFaUIsY0FBYyxHQUFHakIsS0FBSyxDQUFDa0I7UUFBTztNQUNuRCxDQUFDLEdBQUFILEtBQUE7TUFDRyxNQUFNSSxrQkFBa0IsR0FBR25CLEtBQUssQ0FBQ2tCLE1BQU0sR0FBR0QsY0FBZTtNQUN6RFIsWUFBWSxDQUFDVyxPQUFPLEdBQUdELGtCQUFrQjtNQUN6Q2hCLFFBQVEsYUFBUkEsUUFBUSx1QkFBUkEsUUFBUSxDQUFHSCxLQUFLLENBQUM7SUFDckI7RUFBRSxDQUNMLENBQ0gsQ0FBQztBQUVYIn0=
@@ -0,0 +1 @@
1
+ export { default } from "./CurrencyInput";
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _CurrencyInput.default;
10
+ }
11
+ });
12
+ var _CurrencyInput = _interopRequireDefault(require("./CurrencyInput"));
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQ3VycmVuY3lJbnB1dCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9DdXJyZW5jeUlucHV0L2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSBcIi4vQ3VycmVuY3lJbnB1dFwiIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLElBQUFBLGNBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUF5QyxTQUFBRCx1QkFBQUUsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQSJ9
@@ -17,7 +17,9 @@ declare const EmailInput: React.ForwardRefExoticComponent<Omit<Omit<{
17
17
  Icon?: React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | undefined;
18
18
  onChange?: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement> | undefined;
19
19
  containerProps?: Omit<React.HTMLProps<HTMLDivElement>, "ref"> | undefined;
20
- } & Omit<React.HTMLProps<HTMLInputElement | HTMLTextAreaElement>, "ref" | "onChange"> & React.RefAttributes<any>, "onChange" | "value"> & {
20
+ value?: string | undefined;
21
+ 'data-testid'?: string | undefined;
22
+ } & Omit<React.HTMLProps<HTMLInputElement | HTMLTextAreaElement>, "ref" | "onChange" | "value"> & React.RefAttributes<any>, "onChange" | "value"> & {
21
23
  onChange: (email: string, isValid: boolean) => void;
22
24
  value: string;
23
25
  messages: {
@@ -13,7 +13,9 @@ export type InputProps = {
13
13
  Icon?: React.ReactElement;
14
14
  onChange?: ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement>;
15
15
  containerProps?: Omit<React.HTMLProps<HTMLDivElement>, "ref">;
16
- } & Omit<React.HTMLProps<HTMLInputElement | HTMLTextAreaElement>, "ref" | "onChange">;
16
+ value?: string;
17
+ 'data-testid'?: string;
18
+ } & Omit<React.HTMLProps<HTMLInputElement | HTMLTextAreaElement>, "ref" | "onChange" | 'value'>;
17
19
  export declare enum InputTestIds {
18
20
  DISCLAIMER = "disclaimer",
19
21
  ERROR = "error"
@@ -35,5 +37,7 @@ declare const Input: React.ForwardRefExoticComponent<{
35
37
  Icon?: React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | undefined;
36
38
  onChange?: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement> | undefined;
37
39
  containerProps?: Omit<React.HTMLProps<HTMLDivElement>, "ref"> | undefined;
38
- } & Omit<React.HTMLProps<HTMLInputElement | HTMLTextAreaElement>, "ref" | "onChange"> & React.RefAttributes<any>>;
40
+ value?: string | undefined;
41
+ 'data-testid'?: string | undefined;
42
+ } & Omit<React.HTMLProps<HTMLInputElement | HTMLTextAreaElement>, "ref" | "onChange" | "value"> & React.RefAttributes<any>>;
39
43
  export default Input;
@@ -93,4 +93,4 @@ exports.InputTestIds = InputTestIds;
93
93
  const Input = /*#__PURE__*/(0, _react.forwardRef)(_Input);
94
94
  var _default = Input;
95
95
  exports.default = _default;
96
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfT25lVUlQcm92aWRlciIsIl9UZXh0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9JbnB1dE1vZHVsZSIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJfZXh0ZW5kcyIsImFzc2lnbiIsImJpbmQiLCJ0YXJnZXQiLCJpIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwic291cmNlIiwiYXBwbHkiLCJfSW5wdXQiLCJfcmVmIiwicmVmIiwiZXJyb3IiLCJwbGFjZWhvbGRlciIsImhpZGVFcnJvciIsImljb24iLCJJY29uIiwiYXV0b0ZvY3VzIiwiZGlzY2xhaW1lciIsIm11bHRpbGluZSIsImRlY29yYXRpb24iLCJib3JkZXIiLCJwcm9wQm9yZGVyIiwiY29udGFpbmVyUHJvcHMiLCJjbGFzc05hbWUiLCJsb2NhbENsYXNzTmFtZSIsIm90aGVyUHJvcHMiLCJ1c2VPbmVVSUNvbmZpZyIsImdsb2JhbEJvcmRlciIsImZvY3VzZWQiLCJzZXRGb2N1c2VkIiwidXNlU3RhdGUiLCJpbnB1dFJlZiIsInVzZVJlZiIsInVzZUltcGVyYXRpdmVIYW5kbGUiLCJjdXJyZW50Iiwic2hvdWxkU2hvd0Vycm9yIiwidXNlTWVtbyIsInVzZUVmZmVjdCIsInQiLCJzZXRUaW1lb3V0IiwiZm9jdXMiLCJjbGVhclRpbWVvdXQiLCJDb21wb25lbnQiLCJ3aXRoQm9yZGVyIiwidW5kZWZpbmVkIiwiY3JlYXRlRWxlbWVudCIsIlN0eWxlcyIsImlucHV0Q29udGFpbmVyIiwid2l0aEljb24iLCJyb3dzIiwib25Gb2N1cyIsImUiLCJvbkJsdXIiLCJ0aXRsZSIsImNhcHRpb24iLCJ0eXBlIiwiSW5wdXRUZXN0SWRzIiwiZXhwb3J0cyIsIklucHV0IiwiZm9yd2FyZFJlZiIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvSW5wdXQvSW5wdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xuICBDaGFuZ2VFdmVudEhhbmRsZXIsXG4gIENvbXBvbmVudFByb3BzLFxuICBEZXRhaWxlZEhUTUxQcm9wcyxcbiAgRm9yd2FyZGVkUmVmLFxuICBmb3J3YXJkUmVmLFxuICBIVE1MQXR0cmlidXRlcyxcbiAgUmVhY3RFbGVtZW50LFxuICB1c2VFZmZlY3QsXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbiAgdXNlU3RhdGUsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlT25lVUlDb25maWcsIHVzZU9uZVVJQ29udGV4dCB9IGZyb20gXCIuLi8uLi9jb250ZXh0L09uZVVJUHJvdmlkZXJcIjtcbmltcG9ydCBUZXh0IGZyb20gXCIuLi9UZXh0XCI7XG5pbXBvcnQgU3R5bGVzIGZyb20gXCIuL0lucHV0Lm1vZHVsZS5zY3NzXCI7XG5cbmV4cG9ydCB0eXBlIElucHV0UHJvcHMgPSB7XG4gIGRlY29yYXRpb24/OiBSZWFjdC5SZWFjdEVsZW1lbnQgfCBudWxsO1xuICBlcnJvcj86IHN0cmluZyB8IFJlYWN0RWxlbWVudDtcbiAgaGlkZUVycm9yPzogXCJvbmZvY3VzXCI7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBkaXNjbGFpbWVyPzogc3RyaW5nIHwgUmVhY3RFbGVtZW50O1xuICBtdWx0aWxpbmU/OiBudW1iZXI7XG4gIGJvcmRlcj86IGJvb2xlYW47XG4gIGljb24/OiB7XG4gICAgb25DbGljaz86ICgpID0+IHZvaWQ7XG4gIH0gJiBEZXRhaWxlZEhUTUxQcm9wczxSZWFjdC5JbWdIVE1MQXR0cmlidXRlczxIVE1MSW1hZ2VFbGVtZW50PiwgYW55PjtcbiAgSWNvbj86IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgb25DaGFuZ2U/OiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+O1xuICBjb250YWluZXJQcm9wcz86IE9taXQ8UmVhY3QuSFRNTFByb3BzPEhUTUxEaXZFbGVtZW50PiwgXCJyZWZcIj47XG59ICYgT21pdDxcbiAgUmVhY3QuSFRNTFByb3BzPEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50PixcbiAgXCJyZWZcIiB8IFwib25DaGFuZ2VcIlxuPjtcbmZ1bmN0aW9uIF9JbnB1dChcbiAge1xuICAgIGVycm9yLFxuICAgIHBsYWNlaG9sZGVyID0gXCIgXCIsXG4gICAgaGlkZUVycm9yLFxuICAgIGljb24sXG4gICAgSWNvbixcbiAgICBhdXRvRm9jdXMsXG4gICAgZGlzY2xhaW1lcixcbiAgICBtdWx0aWxpbmUsXG4gICAgZGVjb3JhdGlvbiA9IG51bGwsXG4gICAgYm9yZGVyOiBwcm9wQm9yZGVyLFxuICAgIGNvbnRhaW5lclByb3BzLFxuICAgIGNsYXNzTmFtZTogbG9jYWxDbGFzc05hbWUsXG4gICAgLi4ub3RoZXJQcm9wc1xuICB9OiBJbnB1dFByb3BzLFxuICByZWY6IEZvcndhcmRlZFJlZjxhbnk+XG4pIHtcbiAgY29uc3QgY2xhc3NOYW1lID0gdXNlT25lVUlDb25maWcoXCJjb21wb25lbnQuaW5wdXQuY2xhc3NOYW1lXCIpO1xuICBjb25zdCBnbG9iYWxCb3JkZXIgPSB1c2VPbmVVSUNvbmZpZyhcImNvbXBvbmVudC5pbnB1dC5ib3JkZXJcIik7XG4gIGNvbnN0IFtmb2N1c2VkLCBzZXRGb2N1c2VkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgaW5wdXRSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+KG51bGwpO1xuICB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgKCkgPT4gaW5wdXRSZWYuY3VycmVudCwgW10pO1xuICBjb25zdCBzaG91bGRTaG93RXJyb3IgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaGlkZUVycm9yID09PSBcIm9uZm9jdXNcIikgcmV0dXJuICFmb2N1c2VkO1xuICAgIHJldHVybiAhIWVycm9yO1xuICB9LCBbZm9jdXNlZCwgZXJyb3IsIGhpZGVFcnJvcl0pO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChhdXRvRm9jdXMpIHtcbiAgICAgIGNvbnN0IHQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudCEuZm9jdXMoKTtcbiAgICAgIH0sIDUwMCk7XG4gICAgICByZXR1cm4gKCkgPT4gY2xlYXJUaW1lb3V0KHQpO1xuICAgIH1cbiAgfSwgW2F1dG9Gb2N1c10pO1xuICBjb25zdCBDb21wb25lbnQgPSBtdWx0aWxpbmUgPyBcInRleHRhcmVhXCIgOiBcImlucHV0XCI7XG4gIGNvbnN0IHdpdGhCb3JkZXIgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAocHJvcEJvcmRlciAhPT0gdW5kZWZpbmVkKSByZXR1cm4gcHJvcEJvcmRlcjtcbiAgICByZXR1cm4gZ2xvYmFsQm9yZGVyO1xuICB9LCBbcHJvcEJvcmRlciwgZ2xvYmFsQm9yZGVyXSk7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtgJHtTdHlsZXMuaW5wdXRDb250YWluZXJ9ICR7XG4gICAgICAgIGZhbHNlID8gU3R5bGVzLndpdGhJY29uIDogXCJcIlxuICAgICAgfSAke2NsYXNzTmFtZX0gJHtsb2NhbENsYXNzTmFtZX1gfVxuICAgICAgey4uLmNvbnRhaW5lclByb3BzfVxuICAgID5cbiAgICAgIHtkZWNvcmF0aW9ufVxuICAgICAgPENvbXBvbmVudFxuICAgICAgICByZWY9e2lucHV0UmVmIGFzIGFueX1cbiAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfVxuICAgICAgICByb3dzPXttdWx0aWxpbmV9XG4gICAgICAgIHsuLi5vdGhlclByb3BzfVxuICAgICAgICBvbkZvY3VzPXsoZSkgPT4ge1xuICAgICAgICAgIHNldEZvY3VzZWQodHJ1ZSk7XG4gICAgICAgICAgaWYgKG90aGVyUHJvcHMub25Gb2N1cykgb3RoZXJQcm9wcy5vbkZvY3VzKGUpO1xuICAgICAgICB9fVxuICAgICAgICBvbkJsdXI9eyhlKSA9PiB7XG4gICAgICAgICAgc2V0Rm9jdXNlZChmYWxzZSk7XG4gICAgICAgICAgaWYgKG90aGVyUHJvcHMub25CbHVyKSBvdGhlclByb3BzLm9uQmx1cihlKTtcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgICB7d2l0aEJvcmRlciAmJiA8ZGl2IGNsYXNzTmFtZT17U3R5bGVzLmJvcmRlcn0gLz59XG4gICAgICB7ZXJyb3IgJiYgc2hvdWxkU2hvd0Vycm9yID8gKFxuICAgICAgICA8VGV4dFxuICAgICAgICAgIHRpdGxlPXt0eXBlb2YgZXJyb3IgPT09IFwic3RyaW5nXCIgPyBlcnJvciA6IFwiXCJ9XG4gICAgICAgICAgZGF0YS10ZXN0aWQ9e0lucHV0VGVzdElkcy5FUlJPUn1cbiAgICAgICAgICBjbGFzc05hbWU9e1N0eWxlcy5jYXB0aW9ufVxuICAgICAgICAgIHR5cGU9XCJlcnJvclwiXG4gICAgICAgID5cbiAgICAgICAgICB7ZXJyb3J9XG4gICAgICAgIDwvVGV4dD5cbiAgICAgICkgOiBkaXNjbGFpbWVyID8gKFxuICAgICAgICA8VGV4dFxuICAgICAgICAgIHRpdGxlPXt0eXBlb2YgZGlzY2xhaW1lciA9PT0gXCJzdHJpbmdcIiA/IGRpc2NsYWltZXIgOiBcIlwifVxuICAgICAgICAgIHR5cGU9XCJjYXB0aW9uXCJcbiAgICAgICAgICBjbGFzc05hbWU9e1N0eWxlcy5jYXB0aW9ufVxuICAgICAgICAgIGRhdGEtdGVzdGlkPXtJbnB1dFRlc3RJZHMuRElTQ0xBSU1FUn1cbiAgICAgICAgPlxuICAgICAgICAgIHtkaXNjbGFpbWVyfVxuICAgICAgICA8L1RleHQ+XG4gICAgICApIDogbnVsbH1cbiAgICAgIHtJY29uICYmIDxkaXYgY2xhc3NOYW1lPXtTdHlsZXMuaWNvbn0+e0ljb259PC9kaXY+fVxuICAgICAge2ljb24gJiYgPGltZyBjbGFzc05hbWU9e1N0eWxlcy5pY29ufSB7Li4uaWNvbn0gLz59XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmV4cG9ydCBlbnVtIElucHV0VGVzdElkcyB7XG4gIERJU0NMQUlNRVIgPSBcImRpc2NsYWltZXJcIixcbiAgRVJST1IgPSBcImVycm9yXCIsXG59XG5cbi8qKlxuICogQSB0cmFuc3BhcmVudCBpbnB1dCB3aXRoIHNvbWUgcHJlYnVpbHQgc3RhdGVzIGNvbW1vbiB0byB0aGUgYXBwbGljYXRpb25cbiAqKi9cbmNvbnN0IElucHV0ID0gZm9yd2FyZFJlZihfSW5wdXQpO1xuZXhwb3J0IGRlZmF1bHQgSW5wdXQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQWNBLElBQUFDLGNBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLFlBQUEsR0FBQUQsc0JBQUEsQ0FBQUgsT0FBQTtBQUF5QyxTQUFBRyx1QkFBQUUsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUFBLFNBQUFHLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFB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
96
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfT25lVUlQcm92aWRlciIsIl9UZXh0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9JbnB1dE1vZHVsZSIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJfZXh0ZW5kcyIsImFzc2lnbiIsImJpbmQiLCJ0YXJnZXQiLCJpIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwic291cmNlIiwiYXBwbHkiLCJfSW5wdXQiLCJfcmVmIiwicmVmIiwiZXJyb3IiLCJwbGFjZWhvbGRlciIsImhpZGVFcnJvciIsImljb24iLCJJY29uIiwiYXV0b0ZvY3VzIiwiZGlzY2xhaW1lciIsIm11bHRpbGluZSIsImRlY29yYXRpb24iLCJib3JkZXIiLCJwcm9wQm9yZGVyIiwiY29udGFpbmVyUHJvcHMiLCJjbGFzc05hbWUiLCJsb2NhbENsYXNzTmFtZSIsIm90aGVyUHJvcHMiLCJ1c2VPbmVVSUNvbmZpZyIsImdsb2JhbEJvcmRlciIsImZvY3VzZWQiLCJzZXRGb2N1c2VkIiwidXNlU3RhdGUiLCJpbnB1dFJlZiIsInVzZVJlZiIsInVzZUltcGVyYXRpdmVIYW5kbGUiLCJjdXJyZW50Iiwic2hvdWxkU2hvd0Vycm9yIiwidXNlTWVtbyIsInVzZUVmZmVjdCIsInQiLCJzZXRUaW1lb3V0IiwiZm9jdXMiLCJjbGVhclRpbWVvdXQiLCJDb21wb25lbnQiLCJ3aXRoQm9yZGVyIiwidW5kZWZpbmVkIiwiY3JlYXRlRWxlbWVudCIsIlN0eWxlcyIsImlucHV0Q29udGFpbmVyIiwid2l0aEljb24iLCJyb3dzIiwib25Gb2N1cyIsImUiLCJvbkJsdXIiLCJ0aXRsZSIsImNhcHRpb24iLCJ0eXBlIiwiSW5wdXRUZXN0SWRzIiwiZXhwb3J0cyIsIklucHV0IiwiZm9yd2FyZFJlZiIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvSW5wdXQvSW5wdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xuICBDaGFuZ2VFdmVudEhhbmRsZXIsXG4gIENvbXBvbmVudFByb3BzLFxuICBEZXRhaWxlZEhUTUxQcm9wcyxcbiAgRm9yd2FyZGVkUmVmLFxuICBmb3J3YXJkUmVmLFxuICBIVE1MQXR0cmlidXRlcyxcbiAgUmVhY3RFbGVtZW50LFxuICB1c2VFZmZlY3QsXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbiAgdXNlU3RhdGUsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlT25lVUlDb25maWcsIHVzZU9uZVVJQ29udGV4dCB9IGZyb20gXCIuLi8uLi9jb250ZXh0L09uZVVJUHJvdmlkZXJcIjtcbmltcG9ydCBUZXh0IGZyb20gXCIuLi9UZXh0XCI7XG5pbXBvcnQgU3R5bGVzIGZyb20gXCIuL0lucHV0Lm1vZHVsZS5zY3NzXCI7XG5cbmV4cG9ydCB0eXBlIElucHV0UHJvcHMgPSB7XG4gIGRlY29yYXRpb24/OiBSZWFjdC5SZWFjdEVsZW1lbnQgfCBudWxsO1xuICBlcnJvcj86IHN0cmluZyB8IFJlYWN0RWxlbWVudDtcbiAgaGlkZUVycm9yPzogXCJvbmZvY3VzXCI7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBkaXNjbGFpbWVyPzogc3RyaW5nIHwgUmVhY3RFbGVtZW50O1xuICBtdWx0aWxpbmU/OiBudW1iZXI7XG4gIGJvcmRlcj86IGJvb2xlYW47XG4gIGljb24/OiB7XG4gICAgb25DbGljaz86ICgpID0+IHZvaWQ7XG4gIH0gJiBEZXRhaWxlZEhUTUxQcm9wczxSZWFjdC5JbWdIVE1MQXR0cmlidXRlczxIVE1MSW1hZ2VFbGVtZW50PiwgYW55PjtcbiAgSWNvbj86IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgb25DaGFuZ2U/OiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+O1xuICBjb250YWluZXJQcm9wcz86IE9taXQ8UmVhY3QuSFRNTFByb3BzPEhUTUxEaXZFbGVtZW50PiwgXCJyZWZcIj47XG4gIHZhbHVlPzogc3RyaW5nO1xuICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nO1xufSAmIE9taXQ8XG4gIFJlYWN0LkhUTUxQcm9wczxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD4sXG4gIFwicmVmXCIgfCBcIm9uQ2hhbmdlXCIgfCAndmFsdWUnXG4+O1xuZnVuY3Rpb24gX0lucHV0KFxuICB7XG4gICAgZXJyb3IsXG4gICAgcGxhY2Vob2xkZXIgPSBcIiBcIixcbiAgICBoaWRlRXJyb3IsXG4gICAgaWNvbixcbiAgICBJY29uLFxuICAgIGF1dG9Gb2N1cyxcbiAgICBkaXNjbGFpbWVyLFxuICAgIG11bHRpbGluZSxcbiAgICBkZWNvcmF0aW9uID0gbnVsbCxcbiAgICBib3JkZXI6IHByb3BCb3JkZXIsXG4gICAgY29udGFpbmVyUHJvcHMsXG4gICAgY2xhc3NOYW1lOiBsb2NhbENsYXNzTmFtZSxcbiAgICAuLi5vdGhlclByb3BzXG4gIH06IElucHV0UHJvcHMsXG4gIHJlZjogRm9yd2FyZGVkUmVmPGFueT5cbikge1xuICBjb25zdCBjbGFzc05hbWUgPSB1c2VPbmVVSUNvbmZpZyhcImNvbXBvbmVudC5pbnB1dC5jbGFzc05hbWVcIik7XG4gIGNvbnN0IGdsb2JhbEJvcmRlciA9IHVzZU9uZVVJQ29uZmlnKFwiY29tcG9uZW50LmlucHV0LmJvcmRlclwiKTtcbiAgY29uc3QgW2ZvY3VzZWQsIHNldEZvY3VzZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBpbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD4obnVsbCk7XG4gIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiBpbnB1dFJlZi5jdXJyZW50LCBbXSk7XG4gIGNvbnN0IHNob3VsZFNob3dFcnJvciA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChoaWRlRXJyb3IgPT09IFwib25mb2N1c1wiKSByZXR1cm4gIWZvY3VzZWQ7XG4gICAgcmV0dXJuICEhZXJyb3I7XG4gIH0sIFtmb2N1c2VkLCBlcnJvciwgaGlkZUVycm9yXSk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGF1dG9Gb2N1cykge1xuICAgICAgY29uc3QgdCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpbnB1dFJlZi5jdXJyZW50IS5mb2N1cygpO1xuICAgICAgfSwgNTAwKTtcbiAgICAgIHJldHVybiAoKSA9PiBjbGVhclRpbWVvdXQodCk7XG4gICAgfVxuICB9LCBbYXV0b0ZvY3VzXSk7XG4gIGNvbnN0IENvbXBvbmVudCA9IG11bHRpbGluZSA/IFwidGV4dGFyZWFcIiA6IFwiaW5wdXRcIjtcbiAgY29uc3Qgd2l0aEJvcmRlciA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChwcm9wQm9yZGVyICE9PSB1bmRlZmluZWQpIHJldHVybiBwcm9wQm9yZGVyO1xuICAgIHJldHVybiBnbG9iYWxCb3JkZXI7XG4gIH0sIFtwcm9wQm9yZGVyLCBnbG9iYWxCb3JkZXJdKTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2Ake1N0eWxlcy5pbnB1dENvbnRhaW5lcn0gJHtcbiAgICAgICAgZmFsc2UgPyBTdHlsZXMud2l0aEljb24gOiBcIlwiXG4gICAgICB9ICR7Y2xhc3NOYW1lfSAke2xvY2FsQ2xhc3NOYW1lfWB9XG4gICAgICB7Li4uY29udGFpbmVyUHJvcHN9XG4gICAgPlxuICAgICAge2RlY29yYXRpb259XG4gICAgICA8Q29tcG9uZW50XG4gICAgICAgIHJlZj17aW5wdXRSZWYgYXMgYW55fVxuICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJ9XG4gICAgICAgIHJvd3M9e211bHRpbGluZX1cbiAgICAgICAgey4uLm90aGVyUHJvcHN9XG4gICAgICAgIG9uRm9jdXM9eyhlKSA9PiB7XG4gICAgICAgICAgc2V0Rm9jdXNlZCh0cnVlKTtcbiAgICAgICAgICBpZiAob3RoZXJQcm9wcy5vbkZvY3VzKSBvdGhlclByb3BzLm9uRm9jdXMoZSk7XG4gICAgICAgIH19XG4gICAgICAgIG9uQmx1cj17KGUpID0+IHtcbiAgICAgICAgICBzZXRGb2N1c2VkKGZhbHNlKTtcbiAgICAgICAgICBpZiAob3RoZXJQcm9wcy5vbkJsdXIpIG90aGVyUHJvcHMub25CbHVyKGUpO1xuICAgICAgICB9fVxuICAgICAgLz5cbiAgICAgIHt3aXRoQm9yZGVyICYmIDxkaXYgY2xhc3NOYW1lPXtTdHlsZXMuYm9yZGVyfSAvPn1cbiAgICAgIHtlcnJvciAmJiBzaG91bGRTaG93RXJyb3IgPyAoXG4gICAgICAgIDxUZXh0XG4gICAgICAgICAgdGl0bGU9e3R5cGVvZiBlcnJvciA9PT0gXCJzdHJpbmdcIiA/IGVycm9yIDogXCJcIn1cbiAgICAgICAgICBkYXRhLXRlc3RpZD17SW5wdXRUZXN0SWRzLkVSUk9SfVxuICAgICAgICAgIGNsYXNzTmFtZT17U3R5bGVzLmNhcHRpb259XG4gICAgICAgICAgdHlwZT1cImVycm9yXCJcbiAgICAgICAgPlxuICAgICAgICAgIHtlcnJvcn1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgKSA6IGRpc2NsYWltZXIgPyAoXG4gICAgICAgIDxUZXh0XG4gICAgICAgICAgdGl0bGU9e3R5cGVvZiBkaXNjbGFpbWVyID09PSBcInN0cmluZ1wiID8gZGlzY2xhaW1lciA6IFwiXCJ9XG4gICAgICAgICAgdHlwZT1cImNhcHRpb25cIlxuICAgICAgICAgIGNsYXNzTmFtZT17U3R5bGVzLmNhcHRpb259XG4gICAgICAgICAgZGF0YS10ZXN0aWQ9e0lucHV0VGVzdElkcy5ESVNDTEFJTUVSfVxuICAgICAgICA+XG4gICAgICAgICAge2Rpc2NsYWltZXJ9XG4gICAgICAgIDwvVGV4dD5cbiAgICAgICkgOiBudWxsfVxuICAgICAge0ljb24gJiYgPGRpdiBjbGFzc05hbWU9e1N0eWxlcy5pY29ufT57SWNvbn08L2Rpdj59XG4gICAgICB7aWNvbiAmJiA8aW1nIGNsYXNzTmFtZT17U3R5bGVzLmljb259IHsuLi5pY29ufSAvPn1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZXhwb3J0IGVudW0gSW5wdXRUZXN0SWRzIHtcbiAgRElTQ0xBSU1FUiA9IFwiZGlzY2xhaW1lclwiLFxuICBFUlJPUiA9IFwiZXJyb3JcIixcbn1cblxuLyoqXG4gKiBBIHRyYW5zcGFyZW50IGlucHV0IHdpdGggc29tZSBwcmVidWlsdCBzdGF0ZXMgY29tbW9uIHRvIHRoZSBhcHBsaWNhdGlvblxuICoqL1xuY29uc3QgSW5wdXQgPSBmb3J3YXJkUmVmKF9JbnB1dCk7XG5leHBvcnQgZGVmYXVsdCBJbnB1dDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBY0EsSUFBQUMsY0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksWUFBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBQXlDLFNBQUFHLHVCQUFBRSxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBQUEsU0FBQUcseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLENBQUFD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
@@ -40,7 +40,9 @@ declare const PasswordInput: React.ForwardRefExoticComponent<(({
40
40
  Icon?: React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | undefined;
41
41
  onChange?: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement> | undefined;
42
42
  containerProps?: Omit<React.HTMLProps<HTMLDivElement>, "ref"> | undefined;
43
- } & Omit<React.HTMLProps<HTMLInputElement | HTMLTextAreaElement>, "ref" | "onChange"> & React.RefAttributes<any>, "ref" | "onChange" | "value">) & React.RefAttributes<{
43
+ value?: string | undefined;
44
+ 'data-testid'?: string | undefined;
45
+ } & Omit<React.HTMLProps<HTMLInputElement | HTMLTextAreaElement>, "ref" | "onChange" | "value"> & React.RefAttributes<any>, "ref" | "onChange" | "value">) & React.RefAttributes<{
44
46
  validatePassword: (pass: string) => boolean;
45
47
  }>>;
46
48
  export default PasswordInput;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * A formatter to format to double decimal
3
+ */
4
+ export declare const currencyNumberFormatter: {
5
+ (value: number): string;
6
+ (value: number | bigint): string;
7
+ };
8
+ /**
9
+ * Instanciate a currency formatter
10
+ */
11
+ export declare const currencyFormatterFactory: (langCode: string, currency?: string) => Intl.NumberFormat | {
12
+ format: (num: number) => string;
13
+ formatToParts: (num: number) => {
14
+ type: string;
15
+ value: string | undefined;
16
+ }[];
17
+ };
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.currencyNumberFormatter = exports.currencyFormatterFactory = void 0;
7
+ /**
8
+ * A formatter to format to double decimal
9
+ */
10
+ const currencyNumberFormatter = new Intl.NumberFormat("pt-BR", {
11
+ minimumFractionDigits: 2,
12
+ maximumFractionDigits: 2
13
+ }).format;
14
+
15
+ /**
16
+ * Instanciate a currency formatter
17
+ */
18
+ exports.currencyNumberFormatter = currencyNumberFormatter;
19
+ const currencyFormatterFactory = (langCode, currency) => {
20
+ try {
21
+ return new Intl.NumberFormat(langCode, {
22
+ style: "currency",
23
+ currency: currency
24
+ });
25
+ } catch (e) {
26
+ const f = new Intl.NumberFormat(langCode, {
27
+ minimumFractionDigits: 2,
28
+ maximumFractionDigits: 2
29
+ });
30
+ return {
31
+ format: num => `${currency} ${currencyNumberFormatter(num)}`,
32
+ formatToParts: num => [{
33
+ type: "currency",
34
+ value: currency
35
+ }, {
36
+ type: "literal",
37
+ value: " "
38
+ }, ...f.formatToParts(num)]
39
+ };
40
+ }
41
+ };
42
+ exports.currencyFormatterFactory = currencyFormatterFactory;
43
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjdXJyZW5jeU51bWJlckZvcm1hdHRlciIsIkludGwiLCJOdW1iZXJGb3JtYXQiLCJtaW5pbXVtRnJhY3Rpb25EaWdpdHMiLCJtYXhpbXVtRnJhY3Rpb25EaWdpdHMiLCJmb3JtYXQiLCJleHBvcnRzIiwiY3VycmVuY3lGb3JtYXR0ZXJGYWN0b3J5IiwibGFuZ0NvZGUiLCJjdXJyZW5jeSIsInN0eWxlIiwiZSIsImYiLCJudW0iLCJmb3JtYXRUb1BhcnRzIiwidHlwZSIsInZhbHVlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2Zvcm1hdHRlcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBIGZvcm1hdHRlciB0byBmb3JtYXQgdG8gZG91YmxlIGRlY2ltYWxcbiAqL1xuZXhwb3J0IGNvbnN0IGN1cnJlbmN5TnVtYmVyRm9ybWF0dGVyID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KFwicHQtQlJcIiwge1xuICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDIsXG4gIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMixcbn0pLmZvcm1hdDtcblxuLyoqXG4gKiBJbnN0YW5jaWF0ZSBhIGN1cnJlbmN5IGZvcm1hdHRlclxuICovXG5leHBvcnQgY29uc3QgY3VycmVuY3lGb3JtYXR0ZXJGYWN0b3J5ID0gKFxuICBsYW5nQ29kZTogc3RyaW5nLFxuICBjdXJyZW5jeT86IHN0cmluZ1xuKSA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdChsYW5nQ29kZSwge1xuICAgICAgc3R5bGU6IFwiY3VycmVuY3lcIixcbiAgICAgIGN1cnJlbmN5OiBjdXJyZW5jeSxcbiAgICB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnN0IGYgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQobGFuZ0NvZGUsIHtcbiAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMixcbiAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMixcbiAgICB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICBmb3JtYXQ6IChudW06IG51bWJlcikgPT4gYCR7Y3VycmVuY3l9ICR7Y3VycmVuY3lOdW1iZXJGb3JtYXR0ZXIobnVtKX1gLFxuICAgICAgZm9ybWF0VG9QYXJ0czogKG51bTogbnVtYmVyKSA9PiBbXG4gICAgICAgIHsgdHlwZTogXCJjdXJyZW5jeVwiLCB2YWx1ZTogY3VycmVuY3kgfSxcbiAgICAgICAgeyB0eXBlOiBcImxpdGVyYWxcIiwgdmFsdWU6IFwiIFwiIH0sXG4gICAgICAgIC4uLmYuZm9ybWF0VG9QYXJ0cyhudW0pLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDTyxNQUFNQSx1QkFBdUIsR0FBRyxJQUFJQyxJQUFJLENBQUNDLFlBQVksQ0FBQyxPQUFPLEVBQUU7RUFDcEVDLHFCQUFxQixFQUFFLENBQUM7RUFDeEJDLHFCQUFxQixFQUFFO0FBQ3pCLENBQUMsQ0FBQyxDQUFDQyxNQUFNOztBQUVUO0FBQ0E7QUFDQTtBQUZBQyxPQUFBLENBQUFOLHVCQUFBLEdBQUFBLHVCQUFBO0FBR08sTUFBTU8sd0JBQXdCLEdBQUdBLENBQ3RDQyxRQUFnQixFQUNoQkMsUUFBaUIsS0FDZDtFQUNILElBQUk7SUFDRixPQUFPLElBQUlSLElBQUksQ0FBQ0MsWUFBWSxDQUFDTSxRQUFRLEVBQUU7TUFDckNFLEtBQUssRUFBRSxVQUFVO01BQ2pCRCxRQUFRLEVBQUVBO0lBQ1osQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDLE9BQU9FLENBQUMsRUFBRTtJQUNWLE1BQU1DLENBQUMsR0FBRyxJQUFJWCxJQUFJLENBQUNDLFlBQVksQ0FBQ00sUUFBUSxFQUFFO01BQ3hDTCxxQkFBcUIsRUFBRSxDQUFDO01BQ3hCQyxxQkFBcUIsRUFBRTtJQUN6QixDQUFDLENBQUM7SUFFRixPQUFPO01BQ0xDLE1BQU0sRUFBR1EsR0FBVyxJQUFNLEdBQUVKLFFBQVMsSUFBR1QsdUJBQXVCLENBQUNhLEdBQUcsQ0FBRSxFQUFDO01BQ3RFQyxhQUFhLEVBQUdELEdBQVcsSUFBSyxDQUM5QjtRQUFFRSxJQUFJLEVBQUUsVUFBVTtRQUFFQyxLQUFLLEVBQUVQO01BQVMsQ0FBQyxFQUNyQztRQUFFTSxJQUFJLEVBQUUsU0FBUztRQUFFQyxLQUFLLEVBQUU7TUFBSSxDQUFDLEVBQy9CLEdBQUdKLENBQUMsQ0FBQ0UsYUFBYSxDQUFDRCxHQUFHLENBQUM7SUFFM0IsQ0FBQztFQUNIO0FBQ0YsQ0FBQztBQUFDUCxPQUFBLENBQUFDLHdCQUFBLEdBQUFBLHdCQUFBIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onepercentio/one-ui",
3
- "version": "0.27.7",
3
+ "version": "0.28.0",
4
4
  "description": "A set of reusable components created through the development of Onepercent projects",
5
5
  "repository": "git@github.com:onepercentio/one-ui.git",
6
6
  "author": "Murilo Oliveira de Araujo <murilo.araujo@onepercent.io>",
@@ -1,17 +0,0 @@
1
- import { ReactElement } from "react";
2
- type Node = {
3
- /** Indicates how much that node should increase in relation to other nodes */
4
- grandeour: number;
5
- /** What to show on that node */
6
- cover: ReactElement;
7
- };
8
- export declare function calculateTargetIndex(nodesPosition: [x: number, y: number][], center: [x: number, y: number], clickedAt: [x: number, y: number]): number[];
9
- /**
10
- * Distributes circles representing the nodes and allows the user to navigate to said nodes through clicking
11
- **/
12
- export default function NodesNavigator({ nodes, currentNode, onClickNode, }: {
13
- nodes: Node[];
14
- currentNode: Node | null;
15
- onClickNode?: (n: Node) => void;
16
- }): import("react/jsx-runtime").JSX.Element;
17
- export {};
@@ -1,88 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.calculateTargetIndex = calculateTargetIndex;
7
- exports.default = NodesNavigator;
8
- var _react = _interopRequireWildcard(require("react"));
9
- var _NodesNavigatorModule = _interopRequireDefault(require("./NodesNavigator.module.scss"));
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
- function calculateTargetIndex(nodesPosition, center, clickedAt) {
14
- const counterClickedAt = [center[1] - clickedAt[1], center[0] - clickedAt[0]];
15
- const slope = (counterClickedAt[1] - center[1]) / (counterClickedAt[0] - center[0]);
16
- const inverseTan = Math.atan(slope);
17
- return [Math.sin(inverseTan), Math.cos(inverseTan)];
18
- }
19
-
20
- /**
21
- * Distributes circles representing the nodes and allows the user to navigate to said nodes through clicking
22
- **/
23
- function NodesNavigator(_ref) {
24
- let {
25
- nodes,
26
- currentNode,
27
- onClickNode
28
- } = _ref;
29
- const rootRef = (0, _react.useRef)(null);
30
- (0, _react.useEffect)(() => {
31
- if (!currentNode) return;
32
- const currentNodeEl = rootRef.current.children[nodes.indexOf(currentNode)];
33
- const style = currentNodeEl.style;
34
- style.transform = `translateX(0em) translateY(0em)`;
35
- }, [currentNode]);
36
- const [otherNodes, setOtherNodes] = (0, _react.useState)(() => {
37
- return nodes.filter(n => n !== currentNode);
38
- });
39
- const [nodesPosition, setNodesPosition] = (0, _react.useState)([]);
40
- (0, _react.useEffect)(() => {
41
- setNodesPosition(otherNodes.map((n, index) => {
42
- var angle = index * Math.PI / 3;
43
- return [Math.sin(angle), Math.cos(angle)];
44
- }));
45
- }, [otherNodes]);
46
- (0, _react.useEffect)(() => {
47
- if (otherNodes.length !== nodesPosition.length) return;
48
- const elements = rootRef.current.children;
49
- for (let node of otherNodes) {
50
- const idx = otherNodes.indexOf(node);
51
- const pos = nodesPosition[idx];
52
- const el = elements[idx];
53
- el.style.transform = `translateX(${pos[0] + "em"}) translateY(${pos[1] + "em"})`;
54
- }
55
- }, [nodesPosition]);
56
- return /*#__PURE__*/_react.default.createElement("div", {
57
- className: _NodesNavigatorModule.default.root,
58
- ref: rootRef
59
- }, otherNodes.map(n => /*#__PURE__*/_react.default.createElement("div", {
60
- key: nodes.indexOf(n),
61
- className: _NodesNavigatorModule.default.node,
62
- onClick: _ref2 => {
63
- let {
64
- clientX,
65
- clientY
66
- } = _ref2;
67
- const root = rootRef.current.getBoundingClientRect();
68
- const center = [root.left + root.width / 2, root.top + root.height / 2];
69
- const click = [clientX, clientY];
70
- const angle = 3 + Math.atan2(click[1] - center[1], click[0] - center[0]);
71
- const futureIndex = Math.round(angle / Math.PI * 3 - 1);
72
- console.log(futureIndex);
73
- setOtherNodes(prev => {
74
- prev.splice(futureIndex + 1, 0, currentNode);
75
- return [...prev.filter(a => a !== n)];
76
- });
77
- // console.log(angle);
78
- onClickNode === null || onClickNode === void 0 ? void 0 : onClickNode(n);
79
- }
80
- }, otherNodes.indexOf(n))), currentNode && /*#__PURE__*/_react.default.createElement("div", {
81
- key: nodes.indexOf(currentNode),
82
- className: _NodesNavigatorModule.default.node,
83
- onClick: () => {
84
- onClickNode === null || onClickNode === void 0 ? void 0 : onClickNode(currentNode);
85
- }
86
- }, "C"));
87
- }
88
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfTm9kZXNOYXZpZ2F0b3JNb2R1bGUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0Iiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsImNhbGN1bGF0ZVRhcmdldEluZGV4Iiwibm9kZXNQb3NpdGlvbiIsImNlbnRlciIsImNsaWNrZWRBdCIsImNvdW50ZXJDbGlja2VkQXQiLCJzbG9wZSIsImludmVyc2VUYW4iLCJNYXRoIiwiYXRhbiIsInNpbiIsImNvcyIsIk5vZGVzTmF2aWdhdG9yIiwiX3JlZiIsIm5vZGVzIiwiY3VycmVudE5vZGUiLCJvbkNsaWNrTm9kZSIsInJvb3RSZWYiLCJ1c2VSZWYiLCJ1c2VFZmZlY3QiLCJjdXJyZW50Tm9kZUVsIiwiY3VycmVudCIsImNoaWxkcmVuIiwiaW5kZXhPZiIsInN0eWxlIiwidHJhbnNmb3JtIiwib3RoZXJOb2RlcyIsInNldE90aGVyTm9kZXMiLCJ1c2VTdGF0ZSIsImZpbHRlciIsIm4iLCJzZXROb2Rlc1Bvc2l0aW9uIiwibWFwIiwiaW5kZXgiLCJhbmdsZSIsIlBJIiwibGVuZ3RoIiwiZWxlbWVudHMiLCJub2RlIiwiaWR4IiwicG9zIiwiZWwiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiU3R5bGVzIiwicm9vdCIsInJlZiIsIm9uQ2xpY2siLCJfcmVmMiIsImNsaWVudFgiLCJjbGllbnRZIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwibGVmdCIsIndpZHRoIiwidG9wIiwiaGVpZ2h0IiwiY2xpY2siLCJhdGFuMiIsImZ1dHVyZUluZGV4Iiwicm91bmQiLCJjb25zb2xlIiwibG9nIiwicHJldiIsInNwbGljZSIsImEiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Ob2Rlc05hdmlnYXRvci9Ob2Rlc05hdmlnYXRvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIFJlYWN0RWxlbWVudCxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBTdHlsZXMgZnJvbSBcIi4vTm9kZXNOYXZpZ2F0b3IubW9kdWxlLnNjc3NcIjtcblxudHlwZSBOb2RlID0ge1xuICAvKiogSW5kaWNhdGVzIGhvdyBtdWNoIHRoYXQgbm9kZSBzaG91bGQgaW5jcmVhc2UgaW4gcmVsYXRpb24gdG8gb3RoZXIgbm9kZXMgKi9cbiAgZ3JhbmRlb3VyOiBudW1iZXI7XG5cbiAgLyoqIFdoYXQgdG8gc2hvdyBvbiB0aGF0IG5vZGUgKi9cbiAgY292ZXI6IFJlYWN0RWxlbWVudDtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVUYXJnZXRJbmRleChcbiAgbm9kZXNQb3NpdGlvbjogW3g6IG51bWJlciwgeTogbnVtYmVyXVtdLFxuICBjZW50ZXI6IFt4OiBudW1iZXIsIHk6IG51bWJlcl0sXG4gIGNsaWNrZWRBdDogW3g6IG51bWJlciwgeTogbnVtYmVyXVxuKSB7XG4gIGNvbnN0IGNvdW50ZXJDbGlja2VkQXQgPSBbY2VudGVyWzFdIC0gY2xpY2tlZEF0WzFdLCBjZW50ZXJbMF0gLSBjbGlja2VkQXRbMF1dO1xuICBjb25zdCBzbG9wZSA9XG4gICAgKGNvdW50ZXJDbGlja2VkQXRbMV0gLSBjZW50ZXJbMV0pIC8gKGNvdW50ZXJDbGlja2VkQXRbMF0gLSBjZW50ZXJbMF0pO1xuXG4gIGNvbnN0IGludmVyc2VUYW4gPSBNYXRoLmF0YW4oc2xvcGUpO1xuICByZXR1cm4gW01hdGguc2luKGludmVyc2VUYW4pLCBNYXRoLmNvcyhpbnZlcnNlVGFuKV07XG59XG5cbi8qKlxuICogRGlzdHJpYnV0ZXMgY2lyY2xlcyByZXByZXNlbnRpbmcgdGhlIG5vZGVzIGFuZCBhbGxvd3MgdGhlIHVzZXIgdG8gbmF2aWdhdGUgdG8gc2FpZCBub2RlcyB0aHJvdWdoIGNsaWNraW5nXG4gKiovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBOb2Rlc05hdmlnYXRvcih7XG4gIG5vZGVzLFxuICBjdXJyZW50Tm9kZSxcbiAgb25DbGlja05vZGUsXG59OiB7XG4gIG5vZGVzOiBOb2RlW107XG4gIGN1cnJlbnROb2RlOiBOb2RlIHwgbnVsbDtcbiAgb25DbGlja05vZGU/OiAobjogTm9kZSkgPT4gdm9pZDtcbn0pIHtcbiAgY29uc3Qgcm9vdFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWN1cnJlbnROb2RlKSByZXR1cm47XG4gICAgY29uc3QgY3VycmVudE5vZGVFbCA9IHJvb3RSZWYuY3VycmVudCEuY2hpbGRyZW5bXG4gICAgICBub2Rlcy5pbmRleE9mKGN1cnJlbnROb2RlKVxuICAgIF0gYXMgSFRNTERpdkVsZW1lbnQ7XG4gICAgY29uc3Qgc3R5bGUgPSBjdXJyZW50Tm9kZUVsLnN0eWxlO1xuXG4gICAgc3R5bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZVgoMGVtKSB0cmFuc2xhdGVZKDBlbSlgO1xuICB9LCBbY3VycmVudE5vZGVdKTtcblxuICBjb25zdCBbb3RoZXJOb2Rlcywgc2V0T3RoZXJOb2Rlc10gPSB1c2VTdGF0ZSgoKSA9PiB7XG4gICAgcmV0dXJuIG5vZGVzLmZpbHRlcigobikgPT4gbiAhPT0gY3VycmVudE5vZGUpO1xuICB9KTtcbiAgY29uc3QgW25vZGVzUG9zaXRpb24sIHNldE5vZGVzUG9zaXRpb25dID0gdXNlU3RhdGU8XG4gICAgW3RYOiBudW1iZXIsIHRZOiBudW1iZXJdW11cbiAgPihbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXROb2Rlc1Bvc2l0aW9uKFxuICAgICAgb3RoZXJOb2Rlcy5tYXAoKG4sIGluZGV4KSA9PiB7XG4gICAgICAgIHZhciBhbmdsZSA9IChpbmRleCAqIE1hdGguUEkpIC8gMztcbiAgICAgICAgcmV0dXJuIFtNYXRoLnNpbihhbmdsZSksIE1hdGguY29zKGFuZ2xlKV07XG4gICAgICB9KVxuICAgICk7XG4gIH0sIFtvdGhlck5vZGVzXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAob3RoZXJOb2Rlcy5sZW5ndGggIT09IG5vZGVzUG9zaXRpb24ubGVuZ3RoKSByZXR1cm47XG4gICAgY29uc3QgZWxlbWVudHMgPSByb290UmVmLmN1cnJlbnQhLmNoaWxkcmVuO1xuICAgIGZvciAobGV0IG5vZGUgb2Ygb3RoZXJOb2Rlcykge1xuICAgICAgY29uc3QgaWR4ID0gb3RoZXJOb2Rlcy5pbmRleE9mKG5vZGUpO1xuICAgICAgY29uc3QgcG9zID0gbm9kZXNQb3NpdGlvbltpZHhdO1xuICAgICAgY29uc3QgZWwgPSBlbGVtZW50c1tpZHhdIGFzIEhUTUxEaXZFbGVtZW50O1xuICAgICAgZWwuc3R5bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZVgoJHtwb3NbMF0gKyBcImVtXCJ9KSB0cmFuc2xhdGVZKCR7XG4gICAgICAgIHBvc1sxXSArIFwiZW1cIlxuICAgICAgfSlgO1xuICAgIH1cbiAgfSwgW25vZGVzUG9zaXRpb25dKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZXMucm9vdH0gcmVmPXtyb290UmVmfT5cbiAgICAgIHtvdGhlck5vZGVzLm1hcCgobikgPT4gKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAga2V5PXtub2Rlcy5pbmRleE9mKG4pfVxuICAgICAgICAgIGNsYXNzTmFtZT17U3R5bGVzLm5vZGV9XG4gICAgICAgICAgb25DbGljaz17KHsgY2xpZW50WCwgY2xpZW50WSB9KSA9PiB7XG4gICAgICAgICAgICBjb25zdCByb290ID0gcm9vdFJlZi5jdXJyZW50IS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGNvbnN0IGNlbnRlciA9IFtcbiAgICAgICAgICAgICAgcm9vdC5sZWZ0ICsgcm9vdC53aWR0aCAvIDIsXG4gICAgICAgICAgICAgIHJvb3QudG9wICsgcm9vdC5oZWlnaHQgLyAyLFxuICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIGNvbnN0IGNsaWNrID0gW2NsaWVudFgsIGNsaWVudFldO1xuICAgICAgICAgICAgY29uc3QgYW5nbGUgPVxuICAgICAgICAgICAgICAzICsgTWF0aC5hdGFuMihjbGlja1sxXSAtIGNlbnRlclsxXSwgY2xpY2tbMF0gLSBjZW50ZXJbMF0pO1xuXG4gICAgICAgICAgICBjb25zdCBmdXR1cmVJbmRleCA9IE1hdGgucm91bmQoKGFuZ2xlIC8gTWF0aC5QSSkgKiAzIC0gMSk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhmdXR1cmVJbmRleCk7XG4gICAgICAgICAgICBzZXRPdGhlck5vZGVzKChwcmV2KSA9PiB7XG4gICAgICAgICAgICAgIHByZXYuc3BsaWNlKGZ1dHVyZUluZGV4ICsgMSwgMCwgY3VycmVudE5vZGUhKTtcbiAgICAgICAgICAgICAgcmV0dXJuIFsuLi5wcmV2LmZpbHRlcigoYSkgPT4gYSAhPT0gbildO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhhbmdsZSk7XG4gICAgICAgICAgICBvbkNsaWNrTm9kZT8uKG4pO1xuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICB7Lyoge24uY292ZXJ9ICovfVxuICAgICAgICAgIHtvdGhlck5vZGVzLmluZGV4T2Yobil9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSl9XG4gICAgICB7Y3VycmVudE5vZGUgJiYgKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAga2V5PXtub2Rlcy5pbmRleE9mKGN1cnJlbnROb2RlKX1cbiAgICAgICAgICBjbGFzc05hbWU9e1N0eWxlcy5ub2RlfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgIG9uQ2xpY2tOb2RlPy4oY3VycmVudE5vZGUhKTtcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgey8qIHtuLmNvdmVyfSAqL31DXG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQU9BLElBQUFDLHFCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFBa0QsU0FBQUUsdUJBQUFDLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFBQSxTQUFBRyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBUix3QkFBQUksR0FBQSxFQUFBSSxXQUFBLFNBQUFBLFdBQUEsSUFBQUosR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLG9CQUFBQSxHQUFBLHdCQUFBQSxHQUFBLDRCQUFBRSxPQUFBLEVBQUFGLEdBQUEsVUFBQVEsS0FBQSxHQUFBTCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFJLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFULEdBQUEsWUFBQVEsS0FBQSxDQUFBRSxHQUFBLENBQUFWLEdBQUEsU0FBQVcsTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFoQixHQUFBLFFBQUFnQixHQUFBLGtCQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFuQixHQUFBLEVBQUFnQixHQUFBLFNBQUFJLElBQUEsR0FBQVIscUJBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBZixHQUFBLEVBQUFnQixHQUFBLGNBQUFJLElBQUEsS0FBQUEsSUFBQSxDQUFBVixHQUFBLElBQUFVLElBQUEsQ0FBQUMsR0FBQSxLQUFBUixNQUFBLENBQUFDLGNBQUEsQ0FBQUgsTUFBQSxFQUFBSyxHQUFBLEVBQUFJLElBQUEsWUFBQVQsTUFBQSxDQUFBSyxHQUFBLElBQUFoQixHQUFBLENBQUFnQixHQUFBLFNBQUFMLE1BQUEsQ0FBQVQsT0FBQSxHQUFBRixHQUFBLE1BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBYSxHQUFBLENBQUFyQixHQUFBLEVBQUFXLE1BQUEsWUFBQUEsTUFBQTtBQVUzQyxTQUFTVyxvQkFBb0JBLENBQ2xDQyxhQUF1QyxFQUN2Q0MsTUFBOEIsRUFDOUJDLFNBQWlDLEVBQ2pDO0VBQ0EsTUFBTUMsZ0JBQWdCLEdBQUcsQ0FBQ0YsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUVELE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBR0MsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0VBQzdFLE1BQU1FLEtBQUssR0FDVCxDQUFDRCxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsR0FBR0YsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsR0FBR0YsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0VBRXZFLE1BQU1JLFVBQVUsR0FBR0MsSUFBSSxDQUFDQyxJQUFJLENBQUNILEtBQUssQ0FBQztFQUNuQyxPQUFPLENBQUNFLElBQUksQ0FBQ0UsR0FBRyxDQUFDSCxVQUFVLENBQUMsRUFBRUMsSUFBSSxDQUFDRyxHQUFHLENBQUNKLFVBQVUsQ0FBQyxDQUFDO0FBQ3JEOztBQUVBO0FBQ0E7QUFDQTtBQUNlLFNBQVNLLGNBQWNBLENBQUFDLElBQUEsRUFRbkM7RUFBQSxJQVJvQztJQUNyQ0MsS0FBSztJQUNMQyxXQUFXO0lBQ1hDO0VBS0YsQ0FBQyxHQUFBSCxJQUFBO0VBQ0MsTUFBTUksT0FBTyxHQUFHLElBQUFDLGFBQU0sRUFBaUIsSUFBSSxDQUFDO0VBRTVDLElBQUFDLGdCQUFTLEVBQUMsTUFBTTtJQUNkLElBQUksQ0FBQ0osV0FBVyxFQUFFO0lBQ2xCLE1BQU1LLGFBQWEsR0FBR0gsT0FBTyxDQUFDSSxPQUFPLENBQUVDLFFBQVEsQ0FDN0NSLEtBQUssQ0FBQ1MsT0FBTyxDQUFDUixXQUFXLENBQUMsQ0FDVDtJQUNuQixNQUFNUyxLQUFLLEdBQUdKLGFBQWEsQ0FBQ0ksS0FBSztJQUVqQ0EsS0FBSyxDQUFDQyxTQUFTLEdBQUksaUNBQWdDO0VBQ3JELENBQUMsRUFBRSxDQUFDVixXQUFXLENBQUMsQ0FBQztFQUVqQixNQUFNLENBQUNXLFVBQVUsRUFBRUMsYUFBYSxDQUFDLEdBQUcsSUFBQUMsZUFBUSxFQUFDLE1BQU07SUFDakQsT0FBT2QsS0FBSyxDQUFDZSxNQUFNLENBQUVDLENBQUMsSUFBS0EsQ0FBQyxLQUFLZixXQUFXLENBQUM7RUFDL0MsQ0FBQyxDQUFDO0VBQ0YsTUFBTSxDQUFDYixhQUFhLEVBQUU2QixnQkFBZ0IsQ0FBQyxHQUFHLElBQUFILGVBQVEsRUFFaEQsRUFBRSxDQUFDO0VBRUwsSUFBQVQsZ0JBQVMsRUFBQyxNQUFNO0lBQ2RZLGdCQUFnQixDQUNkTCxVQUFVLENBQUNNLEdBQUcsQ0FBQyxDQUFDRixDQUFDLEVBQUVHLEtBQUssS0FBSztNQUMzQixJQUFJQyxLQUFLLEdBQUlELEtBQUssR0FBR3pCLElBQUksQ0FBQzJCLEVBQUUsR0FBSSxDQUFDO01BQ2pDLE9BQU8sQ0FBQzNCLElBQUksQ0FBQ0UsR0FBRyxDQUFDd0IsS0FBSyxDQUFDLEVBQUUxQixJQUFJLENBQUNHLEdBQUcsQ0FBQ3VCLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUMsQ0FDSCxDQUFDO0VBQ0gsQ0FBQyxFQUFFLENBQUNSLFVBQVUsQ0FBQyxDQUFDO0VBRWhCLElBQUFQLGdCQUFTLEVBQUMsTUFBTTtJQUNkLElBQUlPLFVBQVUsQ0FBQ1UsTUFBTSxLQUFLbEMsYUFBYSxDQUFDa0MsTUFBTSxFQUFFO0lBQ2hELE1BQU1DLFFBQVEsR0FBR3BCLE9BQU8sQ0FBQ0ksT0FBTyxDQUFFQyxRQUFRO0lBQzFDLEtBQUssSUFBSWdCLElBQUksSUFBSVosVUFBVSxFQUFFO01BQzNCLE1BQU1hLEdBQUcsR0FBR2IsVUFBVSxDQUFDSCxPQUFPLENBQUNlLElBQUksQ0FBQztNQUNwQyxNQUFNRSxHQUFHLEdBQUd0QyxhQUFhLENBQUNxQyxHQUFHLENBQUM7TUFDOUIsTUFBTUUsRUFBRSxHQUFHSixRQUFRLENBQUNFLEdBQUcsQ0FBbUI7TUFDMUNFLEVBQUUsQ0FBQ2pCLEtBQUssQ0FBQ0MsU0FBUyxHQUFJLGNBQWFlLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFLLGdCQUMvQ0EsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQ1YsR0FBRTtJQUNMO0VBQ0YsQ0FBQyxFQUFFLENBQUN0QyxhQUFhLENBQUMsQ0FBQztFQUVuQixvQkFDRTVCLE1BQUEsQ0FBQU8sT0FBQSxDQUFBNkQsYUFBQTtJQUFLQyxTQUFTLEVBQUVDLDZCQUFNLENBQUNDLElBQUs7SUFBQ0MsR0FBRyxFQUFFN0I7RUFBUSxHQUN2Q1MsVUFBVSxDQUFDTSxHQUFHLENBQUVGLENBQUMsaUJBQ2hCeEQsTUFBQSxDQUFBTyxPQUFBLENBQUE2RCxhQUFBO0lBQ0UvQyxHQUFHLEVBQUVtQixLQUFLLENBQUNTLE9BQU8sQ0FBQ08sQ0FBQyxDQUFFO0lBQ3RCYSxTQUFTLEVBQUVDLDZCQUFNLENBQUNOLElBQUs7SUFDdkJTLE9BQU8sRUFBRUMsS0FBQSxJQUEwQjtNQUFBLElBQXpCO1FBQUVDLE9BQU87UUFBRUM7TUFBUSxDQUFDLEdBQUFGLEtBQUE7TUFDNUIsTUFBTUgsSUFBSSxHQUFHNUIsT0FBTyxDQUFDSSxPQUFPLENBQUU4QixxQkFBcUIsQ0FBQyxDQUFDO01BQ3JELE1BQU1oRCxNQUFNLEdBQUcsQ0FDYjBDLElBQUksQ0FBQ08sSUFBSSxHQUFHUCxJQUFJLENBQUNRLEtBQUssR0FBRyxDQUFDLEVBQzFCUixJQUFJLENBQUNTLEdBQUcsR0FBR1QsSUFBSSxDQUFDVSxNQUFNLEdBQUcsQ0FBQyxDQUMzQjtNQUNELE1BQU1DLEtBQUssR0FBRyxDQUFDUCxPQUFPLEVBQUVDLE9BQU8sQ0FBQztNQUNoQyxNQUFNaEIsS0FBSyxHQUNULENBQUMsR0FBRzFCLElBQUksQ0FBQ2lELEtBQUssQ0FBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHckQsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFcUQsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHckQsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO01BRTVELE1BQU11RCxXQUFXLEdBQUdsRCxJQUFJLENBQUNtRCxLQUFLLENBQUV6QixLQUFLLEdBQUcxQixJQUFJLENBQUMyQixFQUFFLEdBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztNQUN6RHlCLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDSCxXQUFXLENBQUM7TUFDeEIvQixhQUFhLENBQUVtQyxJQUFJLElBQUs7UUFDdEJBLElBQUksQ0FBQ0MsTUFBTSxDQUFDTCxXQUFXLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTNDLFdBQVksQ0FBQztRQUM3QyxPQUFPLENBQUMsR0FBRytDLElBQUksQ0FBQ2pDLE1BQU0sQ0FBRW1DLENBQUMsSUFBS0EsQ0FBQyxLQUFLbEMsQ0FBQyxDQUFDLENBQUM7TUFDekMsQ0FBQyxDQUFDO01BQ0Y7TUFDQWQsV0FBVyxhQUFYQSxXQUFXLHVCQUFYQSxXQUFXLENBQUdjLENBQUMsQ0FBQztJQUNsQjtFQUFFLEdBR0RKLFVBQVUsQ0FBQ0gsT0FBTyxDQUFDTyxDQUFDLENBQ2xCLENBQ04sQ0FBQyxFQUNEZixXQUFXLGlCQUNWekMsTUFBQSxDQUFBTyxPQUFBLENBQUE2RCxhQUFBO0lBQ0UvQyxHQUFHLEVBQUVtQixLQUFLLENBQUNTLE9BQU8sQ0FBQ1IsV0FBVyxDQUFFO0lBQ2hDNEIsU0FBUyxFQUFFQyw2QkFBTSxDQUFDTixJQUFLO0lBQ3ZCUyxPQUFPLEVBQUVBLENBQUEsS0FBTTtNQUNiL0IsV0FBVyxhQUFYQSxXQUFXLHVCQUFYQSxXQUFXLENBQUdELFdBQVksQ0FBQztJQUM3QjtFQUFFLE1BR0MsQ0FFSixDQUFDO0FBRVYifQ==
@@ -1,19 +0,0 @@
1
- .root {
2
- background-color: red;
3
- width: 100%;
4
- height: 100%;
5
- position: relative;
6
- font-size: 72px;
7
- display: flex;
8
- align-items: center;
9
- justify-content: center;
10
- }
11
-
12
- .node {
13
- height: 1em;
14
- width: 1em;
15
- border-radius: 0.5em;
16
- overflow: hidden;
17
- position: absolute;
18
- transition: transform linear 2s;
19
- }
@@ -1 +0,0 @@
1
- export { default } from './NodesNavigator';
@@ -1,14 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "default", {
7
- enumerable: true,
8
- get: function () {
9
- return _NodesNavigator.default;
10
- }
11
- });
12
- var _NodesNavigator = _interopRequireDefault(require("./NodesNavigator"));
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfTm9kZXNOYXZpZ2F0b3IiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvTm9kZXNOYXZpZ2F0b3IvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tICcuL05vZGVzTmF2aWdhdG9yJztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxlQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBMkMsU0FBQUQsdUJBQUFFLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUEifQ==