@ultraviolet/ui 1.62.0 → 1.64.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.
Files changed (33) hide show
  1. package/dist/components/Badge/index.cjs +9 -5
  2. package/dist/components/Badge/index.d.ts +5 -0
  3. package/dist/components/Badge/index.js +10 -6
  4. package/dist/components/ExpandableCard/components/Title.cjs +11 -0
  5. package/dist/components/ExpandableCard/components/Title.d.ts +7 -0
  6. package/dist/components/ExpandableCard/components/Title.js +11 -0
  7. package/dist/components/ExpandableCard/index.cjs +87 -0
  8. package/dist/components/ExpandableCard/index.d.ts +22 -0
  9. package/dist/components/ExpandableCard/index.js +85 -0
  10. package/dist/components/Slider/components/DoubleSlider.cjs +28 -45
  11. package/dist/components/Slider/components/DoubleSlider.d.ts +1 -1
  12. package/dist/components/Slider/components/DoubleSlider.js +30 -47
  13. package/dist/components/Slider/components/Options.cjs +3 -4
  14. package/dist/components/Slider/components/Options.d.ts +12 -2
  15. package/dist/components/Slider/components/Options.js +3 -4
  16. package/dist/components/Slider/components/SingleSlider.cjs +20 -33
  17. package/dist/components/Slider/components/SingleSlider.d.ts +1 -1
  18. package/dist/components/Slider/components/SingleSlider.js +21 -34
  19. package/dist/components/Slider/index.cjs +4 -5
  20. package/dist/components/Slider/index.d.ts +1 -1
  21. package/dist/components/Slider/index.js +4 -5
  22. package/dist/components/Slider/styles.cjs +7 -26
  23. package/dist/components/Slider/styles.d.ts +0 -19
  24. package/dist/components/Slider/styles.js +5 -24
  25. package/dist/components/Slider/types.d.ts +2 -18
  26. package/dist/components/TagList/index.cjs +133 -38
  27. package/dist/components/TagList/index.d.ts +6 -4
  28. package/dist/components/TagList/index.js +132 -37
  29. package/dist/components/index.d.ts +1 -0
  30. package/dist/index.cjs +110 -108
  31. package/dist/index.js +2 -0
  32. package/dist/theme/index.d.ts +1 -0
  33. package/package.json +3 -3
@@ -1,11 +1,13 @@
1
1
  import { jsxs, jsx } from "@emotion/react/jsx-runtime";
2
2
  import _styled from "@emotion/styled/base";
3
- import { useState } from "react";
3
+ import { consoleLightTheme } from "@ultraviolet/themes";
4
+ import { useRef, useState, useMemo, useEffect } from "react";
4
5
  import { Popover } from "../Popover/index.js";
5
6
  import { Tag } from "../Tag/index.js";
6
7
  function _EMOTION_STRINGIFIED_CSS_ERROR__() {
7
8
  return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).";
8
9
  }
10
+ const TAGS_GAP = consoleLightTheme.space["1"];
9
11
  const StyledContainer = /* @__PURE__ */ _styled("div", process.env.NODE_ENV === "production" ? {
10
12
  target: "eb6op482"
11
13
  } : {
@@ -17,7 +19,7 @@ const StyledContainer = /* @__PURE__ */ _styled("div", process.env.NODE_ENV ===
17
19
  } : {
18
20
  name: "zjik7",
19
21
  styles: "display:flex",
20
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RhZ0xpc3QvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1rQyIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy91aS9zcmMvY29tcG9uZW50cy9UYWdMaXN0L2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50UHJvcHMgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFBvcG92ZXIgfSBmcm9tICcuLi9Qb3BvdmVyJ1xuaW1wb3J0IHsgVGFnIH0gZnJvbSAnLi4vVGFnJ1xuXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuYFxuXG5jb25zdCBUYWdzV3JhcHBlciA9IHN0eWxlZC5zcGFuYFxuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHR9O1xuICBib3JkZXI6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBtYXgtd2lkdGg6IDM1MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG5gXG5cbmNvbnN0IFN0eWxlZFRhZ0NvbnRhaW5lciA9IHN0eWxlZC5kaXY8eyBtdWx0aWxpbmU/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0fTtcbiAgZ2FwOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycxJ119O1xuICAkeyh7IG11bHRpbGluZSB9KSA9PiBtdWx0aWxpbmUgJiYgYGZsZXgtd3JhcDogd3JhcDtgfTtcbmBcblxudHlwZSBUYWdMaXN0UHJvcHMgPSB7XG4gIC8qKlxuICAgKiBUaGlzIHByb3BlcnR5IGRlZmluZSBtYXhpbXVtIGNoYXJhY3RlcnMgbGVuZ3RoIG9mIGFsbCB0YWdzIHVudGlsIGl0IGhpZGUgdGFncyBpbnRvIHRvb2x0aXAuXG4gICAqL1xuICBtYXhMZW5ndGg/OiBudW1iZXJcbiAgdGFncz86IChcbiAgICB8IHN0cmluZ1xuICAgIHwgeyBsYWJlbDogc3RyaW5nOyBpY29uOiBOb25OdWxsYWJsZTxDb21wb25lbnRQcm9wczx0eXBlb2YgVGFnPlsnaWNvbiddPiB9XG4gIClbXVxuICAvKipcbiAgICogVGhpcyBwcm9wZXJ0eSBkZWZpbmUgbWF4aW11bSBjaGFyYWN0ZXJzIGxlbmd0aCBvZiBhbGwgdGFncyB1bnRpbCBpdCBoaWRlIHRhZ3MgaW50byB0b29sdGlwLlxuICAgKi9cbiAgdGhyZXNob2xkPzogbnVtYmVyXG4gIC8qKlxuICAgKiBUaGlzIHByb3BlcnR5IGRlZmluZSBtYXhpbXVtIHdpZHRoIG9mIGVhY2ggdGFnLiBUaGlzIGRvZXNuJ3QgYXBwbHkgZm9yIHRhZ3MgaW4gdG9vbHRpcC5cbiAgICovXG4gIG11bHRpbGluZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFRoaXMgcHJvcGVydHkgZGVmaW5lIHRoZSB0aXRsZSBvZiB0aGUgUG9wb3Zlciwgd2hlbiBzb21lIHRhZ3MgYXJlIGhpZGRlbiBiZWNhdXNlIG9mIHRoZSB0aHJlc2hvbGQuXG4gICAqL1xuICBwb3BvdmVyVGl0bGU6IHN0cmluZ1xuICAvKipcbiAgICogVGhlIHBvcG92ZXIgd2lsbCBiZSBwbGFjZWQgYXV0b21hdGljYWxseSBieSBkZWZhdWx0LiBZb3UgY2FuIGFsc28gc3BlY2lmeSB0aGUgcGxhY2VtZW50IG9mIHRoZSBwb3BvdmVyIHRocm91Z2hcbiAgICogdGhpcyBwcm9wZXJ0eS5cbiAgICovXG4gIHBvcG92ZXJQbGFjZW1lbnQ/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgUG9wb3Zlcj5bJ3BsYWNlbWVudCddXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG59ICYgUGljazxDb21wb25lbnRQcm9wczx0eXBlb2YgVGFnPiwgJ2NvcGlhYmxlJyB8ICdjb3B5VGV4dCcgfCAnY29waWVkVGV4dCc+XG5cbmNvbnN0IERFRkFVTFRfVEFHUzogVGFnTGlzdFByb3BzWyd0YWdzJ10gPSBbXVxuXG5jb25zdCBnZXRUYWdMYWJlbCA9ICh0YWc6IE5vbk51bGxhYmxlPFRhZ0xpc3RQcm9wc1sndGFncyddPltudW1iZXJdKSA9PlxuICB0eXBlb2YgdGFnID09PSAnb2JqZWN0JyA/IHRhZy5sYWJlbCA6IHRhZ1xuXG4vKipcbiAqIFRoaXMgY29tcG9uZW50IGlzIHVzZWQgdG8gZGlzcGxheSBhIGxpc3Qgb2YgdGFncyB3aXRoIGEgdGhyZXNob2xkIGFuZCBhIHBvcG92ZXIgd2hlbiB0aGVyZSBhcmUgdG9vIG1hbnkgdGFncy5cbiAqL1xuZXhwb3J0IGNvbnN0IFRhZ0xpc3QgPSAoe1xuICBtYXhMZW5ndGggPSA2MDAsXG4gIHRhZ3MgPSBERUZBVUxUX1RBR1MsXG4gIHRocmVzaG9sZCA9IDEsXG4gIG11bHRpbGluZSA9IGZhbHNlLFxuICBwb3BvdmVyVGl0bGUsXG4gIHBvcG92ZXJQbGFjZW1lbnQsXG4gIGNvcGlhYmxlLFxuICBjb3B5VGV4dCxcbiAgY29waWVkVGV4dCxcbiAgY2xhc3NOYW1lLFxuICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxufTogVGFnTGlzdFByb3BzKSA9PiB7XG4gIGxldCB0bXBUaHJlc2hvbGQgPSB0aHJlc2hvbGRcbiAgaWYgKFxuICAgIHRhZ3MubGVuZ3RoID4gMCAmJlxuICAgIHRhZ3NcbiAgICAgIC5zbGljZSgwLCB0bXBUaHJlc2hvbGQpXG4gICAgICAucmVkdWNlPHN0cmluZz4oKGFjYywgdGFnKSA9PiBhY2MgKyBnZXRUYWdMYWJlbCh0YWcpLCAnJykubGVuZ3RoID5cbiAgICAgIG1heExlbmd0aFxuICApIHtcbiAgICAvLyBJZiB0b3RhbCB0YWdzIGxlbmd0aCBpbiBjaGFyYWN0ZXJzIGlzIGFib3ZlIG1heExlbmd0aCxcbiAgICAvLyB0aHJlc2hvbGQgaXMgZGVjcmVtZW50ZWQgaW4gb3JkZXIgdG8gcHJldmVudCB0b28gbWFueSBsb25nIHRhZ3MgZGlzcGxheWVkLlxuICAgIHRtcFRocmVzaG9sZCAtPSAxXG4gIH1cbiAgY29uc3QgaGFzTWFueVRhZ3MgPSB0YWdzLmxlbmd0aCA+IHRtcFRocmVzaG9sZCB8fCBmYWxzZVxuICBjb25zdCB2aXNpYmxlVGFnc0NvdW50ID0gaGFzTWFueVRhZ3MgPyB0bXBUaHJlc2hvbGQgOiB0YWdzLmxlbmd0aFxuXG4gIGNvbnN0IFtpc1Zpc2libGUsIHNldElzVmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBpZiAoIXRhZ3MubGVuZ3RoKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lciBjbGFzc05hbWU9e2NsYXNzTmFtZX0gZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9PlxuICAgICAgPFN0eWxlZFRhZ0NvbnRhaW5lciBtdWx0aWxpbmU9e211bHRpbGluZX0+XG4gICAgICAgIHt0YWdzLnNsaWNlKDAsIHZpc2libGVUYWdzQ291bnQpLm1hcCgodGFnLCBpbmRleCkgPT4gKFxuICAgICAgICAgIDxUYWdcbiAgICAgICAgICAgIC8vIHVzZWZ1bCB3aGVuIHR3byB0YWdzIGFyZSBpZGVudGljYWwgYCR7dGFnfS0ke2luZGV4fWBcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby1hcnJheS1pbmRleC1rZXlcbiAgICAgICAgICAgIGtleT17YCR7Z2V0VGFnTGFiZWwodGFnKX0tJHtpbmRleH1gfVxuICAgICAgICAgICAgY29waWFibGU9e2NvcGlhYmxlfVxuICAgICAgICAgICAgY29weVRleHQ9e2NvcHlUZXh0fVxuICAgICAgICAgICAgY29waWVkVGV4dD17Y29waWVkVGV4dH1cbiAgICAgICAgICAgIGljb249e3R5cGVvZiB0YWcgPT09ICdvYmplY3QnID8gdGFnLmljb24gOiB1bmRlZmluZWR9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2dldFRhZ0xhYmVsKHRhZyl9XG4gICAgICAgICAgPC9UYWc+XG4gICAgICAgICkpfVxuICAgICAgPC9TdHlsZWRUYWdDb250YWluZXI+XG4gICAgICB7aGFzTWFueVRhZ3MgPyAoXG4gICAgICAgIDxQb3BvdmVyXG4gICAgICAgICAgdGl0bGU9e3BvcG92ZXJUaXRsZX1cbiAgICAgICAgICB2aXNpYmxlPXtpc1Zpc2libGV9XG4gICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICBvbkNsb3NlPXsoKSA9PiBzZXRJc1Zpc2libGUoZmFsc2UpfVxuICAgICAgICAgIHBsYWNlbWVudD17cG9wb3ZlclBsYWNlbWVudH1cbiAgICAgICAgICBjb250ZW50PXtcbiAgICAgICAgICAgIDxTdHlsZWRUYWdDb250YWluZXIgbXVsdGlsaW5lPlxuICAgICAgICAgICAgICB7dGFncy5zbGljZSh2aXNpYmxlVGFnc0NvdW50KS5tYXAoKHRhZywgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICA8VGFnXG4gICAgICAgICAgICAgICAgICAvLyB1c2VmdWwgd2hlbiB0d28gdGFncyBhcmUgaWRlbnRpY2FsIGAke3RhZ30tJHtpbmRleH1gXG4gICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tYXJyYXktaW5kZXgta2V5XG4gICAgICAgICAgICAgICAgICBrZXk9e2Ake2dldFRhZ0xhYmVsKHRhZyl9LSR7aW5kZXh9YH1cbiAgICAgICAgICAgICAgICAgIGNvcGlhYmxlPXtjb3BpYWJsZX1cbiAgICAgICAgICAgICAgICAgIGNvcHlUZXh0PXtjb3B5VGV4dH1cbiAgICAgICAgICAgICAgICAgIGNvcGllZFRleHQ9e2NvcGllZFRleHR9XG4gICAgICAgICAgICAgICAgICBpY29uPXt0eXBlb2YgdGFnID09PSAnb2JqZWN0JyA/IHRhZy5pY29uIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtnZXRUYWdMYWJlbCh0YWcpfVxuICAgICAgICAgICAgICAgIDwvVGFnPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvU3R5bGVkVGFnQ29udGFpbmVyPlxuICAgICAgICAgIH1cbiAgICAgICAgPlxuICAgICAgICAgIDxUYWdzV3JhcHBlclxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e2Ake2RhdGFUZXN0SWQgPz8gJ3RhZ2xpc3QnfS1vcGVuYH1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldElzVmlzaWJsZSh0cnVlKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICAre3RhZ3MubGVuZ3RoIC0gdG1wVGhyZXNob2xkfVxuICAgICAgICAgIDwvVGFnc1dyYXBwZXI+XG4gICAgICAgIDwvUG9wb3Zlcj5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICApXG59XG4iXX0= */",
22
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RhZ0xpc3QvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNrQyIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy91aS9zcmMvY29tcG9uZW50cy9UYWdMaXN0L2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgY29uc29sZUxpZ2h0VGhlbWUgfSBmcm9tICdAdWx0cmF2aW9sZXQvdGhlbWVzJ1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgdHlwZSB7IENvbXBvbmVudFByb3BzIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBQb3BvdmVyIH0gZnJvbSAnLi4vUG9wb3ZlcidcbmltcG9ydCB7IFRhZyB9IGZyb20gJy4uL1RhZydcblxuY29uc3QgVEFHU19HQVAgPSBjb25zb2xlTGlnaHRUaGVtZS5zcGFjZVsnMSddXG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG5gXG5cbmNvbnN0IFRhZ3NXcmFwcGVyID0gc3R5bGVkLnNwYW5gXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkudGV4dH07XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIG1heC13aWR0aDogMzUwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbmBcblxuY29uc3QgU3R5bGVkVGFnQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7XG4gIGdhcDogc3RyaW5nXG4gIG11bHRpbGluZT86IGJvb2xlYW5cbiAgcG9wb3ZlclRyaWdnZXJXaWR0aD86IG51bWJlclxufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICBnYXA6ICR7KHsgZ2FwIH0pID0+IGdhcH07XG4gICR7KHsgbXVsdGlsaW5lIH0pID0+IG11bHRpbGluZSAmJiBgZmxleC13cmFwOiB3cmFwO2B9O1xuXG4gIC8vIHRvIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSB3ZSBoYXZlIG9uZSB0YWcgYW5kIHdlIG5lZWQgdG8gZWxsaXBzaXMgaXRcbiAgJHsoeyBwb3BvdmVyVHJpZ2dlcldpZHRoIH0pID0+XG4gICAgcG9wb3ZlclRyaWdnZXJXaWR0aCAmJlxuICAgIGBcbiAgICAgICY6aGFzKC5lbGxpcHNlZCkge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gJHtwb3BvdmVyVHJpZ2dlcldpZHRofXB4KTsgLy8gdG8gbGV0IHNwYWNlIGZvciB0aGUgK1ggYnV0dG9uXG4gICAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICB9XG5cbiAgICAgICYgc3BhbiwgZGl2IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICB9XG4gIGB9O1xuYFxuXG5leHBvcnQgdHlwZSBUYWdUeXBlID1cbiAgfCBzdHJpbmdcbiAgfCB7IGxhYmVsOiBzdHJpbmc7IGljb246IE5vbk51bGxhYmxlPENvbXBvbmVudFByb3BzPHR5cGVvZiBUYWc+WydpY29uJ10+IH1cblxudHlwZSBUYWdMaXN0UHJvcHMgPSB7XG4gIC8qKlxuICAgKiBUaGlzIHByb3BlcnR5IGRlZmluZSBtYXhpbXVtIGNoYXJhY3RlcnMgbGVuZ3RoIG9mIGFsbCB0YWdzIHVudGlsIGl0IGhpZGUgdGFncyBpbnRvIHRvb2x0aXAuXG4gICAqL1xuICBtYXhMZW5ndGg/OiBudW1iZXJcbiAgdGFncz86IFRhZ1R5cGVbXVxuICAvKipcbiAgICogVGhpcyBwcm9wZXJ0eSBkZWZpbmUgbWF4aW11bSBjaGFyYWN0ZXJzIGxlbmd0aCBvZiBhbGwgdGFncyB1bnRpbCBpdCBoaWRlIHRhZ3MgaW50byB0b29sdGlwLlxuICAgKiBOQjogdGhpcyB3aWxsIGJlIG92ZXJyaWRkZW4gaWYgdGhlIHBhcmVudCB3aWR0aCBpcyBzbWFsbGVyIGFuZCBjYW5ub3Qgc2hvdyBhbGwgdGhlIHRhZ3NcbiAgICovXG4gIHRocmVzaG9sZD86IG51bWJlclxuICAvKipcbiAgICogVGhpcyBwcm9wZXJ0eSBkZWZpbmUgbWF4aW11bSB3aWR0aCBvZiBlYWNoIHRhZy4gVGhpcyBkb2Vzbid0IGFwcGx5IGZvciB0YWdzIGluIHRvb2x0aXAuXG4gICAqL1xuICBtdWx0aWxpbmU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBUaGlzIHByb3BlcnR5IGRlZmluZSB0aGUgdGl0bGUgb2YgdGhlIFBvcG92ZXIsIHdoZW4gc29tZSB0YWdzIGFyZSBoaWRkZW4gYmVjYXVzZSBvZiB0aGUgdGhyZXNob2xkLlxuICAgKi9cbiAgcG9wb3ZlclRpdGxlOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSBwb3BvdmVyIHdpbGwgYmUgcGxhY2VkIGF1dG9tYXRpY2FsbHkgYnkgZGVmYXVsdC4gWW91IGNhbiBhbHNvIHNwZWNpZnkgdGhlIHBsYWNlbWVudCBvZiB0aGUgcG9wb3ZlciB0aHJvdWdoXG4gICAqIHRoaXMgcHJvcGVydHkuXG4gICAqL1xuICBwb3BvdmVyUGxhY2VtZW50PzogQ29tcG9uZW50UHJvcHM8dHlwZW9mIFBvcG92ZXI+WydwbGFjZW1lbnQnXVxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgJ2RhdGEtdGVzdGlkJz86IHN0cmluZ1xufSAmIFBpY2s8Q29tcG9uZW50UHJvcHM8dHlwZW9mIFRhZz4sICdjb3BpYWJsZScgfCAnY29weVRleHQnIHwgJ2NvcGllZFRleHQnPlxuXG5jb25zdCBERUZBVUxUX1RBR1M6IFRhZ0xpc3RQcm9wc1sndGFncyddID0gW11cblxuY29uc3QgZ2V0VGFnTGFiZWwgPSAodGFnOiBOb25OdWxsYWJsZTxUYWdMaXN0UHJvcHNbJ3RhZ3MnXT5bbnVtYmVyXSkgPT5cbiAgdHlwZW9mIHRhZyA9PT0gJ29iamVjdCcgPyB0YWcubGFiZWwgOiB0YWdcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyB1c2VkIHRvIGRpc3BsYXkgYSBsaXN0IG9mIHRhZ3Mgd2l0aCBhIHRocmVzaG9sZCBhbmQgYSBwb3BvdmVyIHdoZW4gdGhlcmUgYXJlIHRvbyBtYW55IHRhZ3MuXG4gKi9cbmV4cG9ydCBjb25zdCBUYWdMaXN0ID0gKHtcbiAgbWF4TGVuZ3RoID0gNjAwLFxuICB0YWdzID0gREVGQVVMVF9UQUdTLFxuICB0aHJlc2hvbGQgPSAxLFxuICBtdWx0aWxpbmUgPSBmYWxzZSxcbiAgcG9wb3ZlclRpdGxlLFxuICBwb3BvdmVyUGxhY2VtZW50LFxuICBjb3BpYWJsZSxcbiAgY29weVRleHQsXG4gIGNvcGllZFRleHQsXG4gIGNsYXNzTmFtZSxcbiAgJ2RhdGEtdGVzdGlkJzogZGF0YVRlc3RJZCxcbn06IFRhZ0xpc3RQcm9wcykgPT4ge1xuICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IG1lYXN1cmVSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHBvcG92ZXJUcmlnZ2VyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuXG4gIC8vIEEgZmxhZyB0byBrZWVwIG9mIHdoZW4gd2Ugc2hvdyB0aGUgY29tcG9uZW50IGFzIHdlIHdlIG1pZ2h0IHVwZGF0ZSB0aGUgdmlzaWJsZSB0YWdzIGxpc3RcbiAgLy8gYWZ0ZXIgdGhlIGZpcnN0IHJlbmRlciAoIHRvIGtub3cgaWYgd2Ugc2hvdWxkIGFkZCBlbGxpcHNpcyB0byB0aGUgbGFzdCB2aXNpYmxlIHRhZ1xuICAvLyBvciByZWFkanVzdCB0aGUgdGFncyB3aGVuIGpvaW5lZCB3aXRoIHRoZSBwb3BvdmVyIHRyaWdnZXIgbWlnaHQgb3ZlcmZsb3cgdGhlIHBhcmVudCApXG4gIC8vIGFuZCB0aGlzIGNhdXNlcyBzb21lIGZsaWNrZXJpbmdcbiAgY29uc3QgW2lzUmVhZHksIHNldElzUmVhZHldID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgW2lzUG9wb3ZlclZpc2libGUsIHNldElzUG9wb3ZlclZpc2libGVdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtwb3BvdmVyVHJpZ2dlcldpZHRoLCBzZXRQb3BvdmVyVHJpZ2dlcldpZHRoXSA9IHVzZVN0YXRlKDApXG4gIGNvbnN0IFt2aXNpYmxlVGFncywgc2V0VmlzaWJsZVRhZ3NdID0gdXNlU3RhdGU8VGFnVHlwZVtdPihbXSlcbiAgY29uc3QgW2hpZGRlblRhZ3MsIHNldEhpZGRlblRhZ3NdID0gdXNlU3RhdGU8VGFnVHlwZVtdPihbXSlcblxuICAvLyBDb21wdXRlIHRtcFRocmVzaG9sZCwgcG90ZW50aWFsbHkgdmlzaWJsZSB0YWdzIGFuZCBzdXJlbHkgaGlkZGVuIHRhZ3NcbiAgY29uc3QgbWVtb2l6ZWRSZXN1bHQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBsZXQgdG1wVGhyZXNob2xkID0gdGhyZXNob2xkXG4gICAgaWYgKFxuICAgICAgdGFncy5sZW5ndGggPiAwICYmXG4gICAgICB0YWdzXG4gICAgICAgIC5zbGljZSgwLCB0bXBUaHJlc2hvbGQpXG4gICAgICAgIC5yZWR1Y2U8c3RyaW5nPigoYWNjLCB0YWcpID0+IGFjYyArIGdldFRhZ0xhYmVsKHRhZyksICcnKS5sZW5ndGggPlxuICAgICAgICBtYXhMZW5ndGhcbiAgICApIHtcbiAgICAgIHRtcFRocmVzaG9sZCAtPSAxXG4gICAgfVxuXG4gICAgY29uc3QgcG90ZW50aWFsbHlWaXNpYmxlVGFnc0xlbmd0aCA9XG4gICAgICB0YWdzLmxlbmd0aCA+IHRtcFRocmVzaG9sZCB8fCBmYWxzZSA/IHRtcFRocmVzaG9sZCA6IHRhZ3MubGVuZ3RoXG4gICAgY29uc3QgcG90ZW50aWFsbHlWaXNpYmxlVGFncyA9IHRhZ3Muc2xpY2UoMCwgcG90ZW50aWFsbHlWaXNpYmxlVGFnc0xlbmd0aClcbiAgICBjb25zdCBzdXJlbHlIaWRkZW5UYWdzID0gdGFncy5zbGljZShwb3RlbnRpYWxseVZpc2libGVUYWdzTGVuZ3RoKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRtcFRocmVzaG9sZCxcbiAgICAgIHBvdGVudGlhbGx5VmlzaWJsZVRhZ3MsXG4gICAgICBzdXJlbHlIaWRkZW5UYWdzLFxuICAgIH1cbiAgfSwgW21heExlbmd0aCwgdGFncywgdGhyZXNob2xkXSlcblxuICBjb25zdCB7IHRtcFRocmVzaG9sZCwgcG90ZW50aWFsbHlWaXNpYmxlVGFncywgc3VyZWx5SGlkZGVuVGFncyB9ID1cbiAgICBtZW1vaXplZFJlc3VsdFxuXG4gIC8vIENvbXB1dGUgdmlzaWJsZSB0YWdzIGFuZCBoaWRkZW4gb25lcyBiYXNlZCBvbiB0aGUgY29udGFpbmVyIHdpZHRoIGFuZFxuICAvLyB3aGF0IGNhbiBmaXQgaW50byBpdCBmcm9tIHRoZSBwb3RlbnRpYWxseSB2aXNpYmxlIHRhZ3NcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXRhZ3MubGVuZ3RoIHx8ICFjb250YWluZXJSZWYuY3VycmVudCB8fCAhbWVhc3VyZVJlZi5jdXJyZW50KSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAobXVsdGlsaW5lKSB7XG4gICAgICBzZXRWaXNpYmxlVGFncyhwb3RlbnRpYWxseVZpc2libGVUYWdzKVxuICAgICAgc2V0SGlkZGVuVGFncyhzdXJlbHlIaWRkZW5UYWdzKVxuICAgICAgc2V0SXNSZWFkeSh0cnVlKVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBwYXJlbnRXaWR0aCA9IGNvbnRhaW5lclJlZi5jdXJyZW50LnBhcmVudEVsZW1lbnQ/Lm9mZnNldFdpZHRoIHx8IDBcblxuICAgIGNvbnN0IHRvTWVhc3VyZUVsZW1lbnRzOiBIVE1MQ29sbGVjdGlvbiA9XG4gICAgICBtZWFzdXJlUmVmLmN1cnJlbnQuY2hpbGRyZW5bMF0uY2hpbGRyZW5cblxuICAgIGNvbnN0IFtmaXJzdFRhZywgLi4ucmVzdE9mVG9NZWFzdXJlRWxlbWVudHNdID0gWy4uLnRvTWVhc3VyZUVsZW1lbnRzXVxuXG4gICAgY29uc3QgeyBtZWFzdXJlZFZpc2libGVUYWdzLCBtZWFzdXJlZEhpZGRlblRhZ3MgfSA9XG4gICAgICByZXN0T2ZUb01lYXN1cmVFbGVtZW50cy5yZWR1Y2UoXG4gICAgICAgIChcbiAgICAgICAgICBhY2N1bXVsYXRvcjoge1xuICAgICAgICAgICAgbWVhc3VyZWRWaXNpYmxlVGFnczogVGFnVHlwZVtdXG4gICAgICAgICAgICBtZWFzdXJlZEhpZGRlblRhZ3M6IFRhZ1R5cGVbXVxuICAgICAgICAgICAgYWNjdW11bGF0ZWRXaWR0aDogbnVtYmVyXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjdXJyZW50VmFsdWUsXG4gICAgICAgICAgaW5kZXgsXG4gICAgICAgICk6IHtcbiAgICAgICAgICBtZWFzdXJlZFZpc2libGVUYWdzOiBUYWdUeXBlW11cbiAgICAgICAgICBtZWFzdXJlZEhpZGRlblRhZ3M6IFRhZ1R5cGVbXVxuICAgICAgICAgIGFjY3VtdWxhdGVkV2lkdGg6IG51bWJlclxuICAgICAgICB9ID0+IHtcbiAgICAgICAgICBjb25zdCBuZXdBY2N1bXVsYXRlZFdpZHRoID1cbiAgICAgICAgICAgIGFjY3VtdWxhdG9yLmFjY3VtdWxhdGVkV2lkdGggK1xuICAgICAgICAgICAgKGN1cnJlbnRWYWx1ZSBhcyBIVE1MRGl2RWxlbWVudCkub2Zmc2V0V2lkdGggK1xuICAgICAgICAgICAgcGFyc2VJbnQoVEFHU19HQVAsIDEwKVxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG1lYXN1cmVkVmlzaWJsZVRhZ3M6IFtcbiAgICAgICAgICAgICAgLi4uYWNjdW11bGF0b3IubWVhc3VyZWRWaXNpYmxlVGFncyxcbiAgICAgICAgICAgICAgbmV3QWNjdW11bGF0ZWRXaWR0aCA8PSBwYXJlbnRXaWR0aCAmJiB0YWdzW2luZGV4ICsgMV0sXG4gICAgICAgICAgICBdLmZpbHRlcihCb29sZWFuKSBhcyBUYWdUeXBlW10sXG4gICAgICAgICAgICBtZWFzdXJlZEhpZGRlblRhZ3M6IFtcbiAgICAgICAgICAgICAgLi4uYWNjdW11bGF0b3IubWVhc3VyZWRIaWRkZW5UYWdzLFxuICAgICAgICAgICAgICBuZXdBY2N1bXVsYXRlZFdpZHRoID4gcGFyZW50V2lkdGggJiYgdGFnc1tpbmRleCArIDFdLFxuICAgICAgICAgICAgXS5maWx0ZXIoQm9vbGVhbikgYXMgVGFnVHlwZVtdLFxuICAgICAgICAgICAgYWNjdW11bGF0ZWRXaWR0aDogbmV3QWNjdW11bGF0ZWRXaWR0aCxcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtZWFzdXJlZFZpc2libGVUYWdzOiBbdGFnc1swXV0sIC8vIHdlIG5lZWQgdG8gYWx3YXlzIHNob3cgb25lIHRhZ1xuICAgICAgICAgIG1lYXN1cmVkSGlkZGVuVGFnczogW10sXG4gICAgICAgICAgYWNjdW11bGF0ZWRXaWR0aDpcbiAgICAgICAgICAgIChmaXJzdFRhZyBhcyBIVE1MRGl2RWxlbWVudCkub2Zmc2V0V2lkdGggKyBwYXJzZUludChUQUdTX0dBUCwgMTApLFxuICAgICAgICB9LFxuICAgICAgKVxuXG4gICAgY29uc3QgZmluYWxIaWRkZW5UYWdzID0gbWVhc3VyZWRIaWRkZW5UYWdzLmNvbmNhdChzdXJlbHlIaWRkZW5UYWdzKVxuXG4gICAgc2V0VmlzaWJsZVRhZ3MobWVhc3VyZWRWaXNpYmxlVGFncylcbiAgICBzZXRIaWRkZW5UYWdzKGZpbmFsSGlkZGVuVGFncylcblxuICAgIGlmICghZmluYWxIaWRkZW5UYWdzLmxlbmd0aCkge1xuICAgICAgc2V0SXNSZWFkeSh0cnVlKVxuICAgIH1cbiAgfSwgW1xuICAgIG11bHRpbGluZSxcbiAgICBwb3RlbnRpYWxseVZpc2libGVUYWdzLFxuICAgIHN1cmVseUhpZGRlblRhZ3MsXG4gICAgdGFncyxcbiAgICB0aHJlc2hvbGQsXG4gICAgdG1wVGhyZXNob2xkLFxuICBdKVxuXG4gIC8vIE9uY2UgdGhlIHBvcG92ZXIgdHJpZ2dlciBpcyBhdmFpbGFibGUgd2UgaGF2ZSB0bzpcbiAgLy8gLSB0byBnZXQgdGhlIHBvcG92ZXIgdHJpZ2dlciB3aWR0aCBzbyB0aGUgbGFzdCB2aXNpYmxlIHRhZ3MgY2FuIGhhdmUgZWxsaXBzaXMgaWYgbmVlZGVkXG4gIC8vIC0gcmVtb3ZlIHRoZSBsYXN0IHRhZyBpZiB0aGUgcG9wb3ZlciBoYXZlIG5vIHBsYWNlIGFuZCBwdXNoIGl0IGluIHRvIHRoZSBoaWRkZW4gdGFncyBsaXN0XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc1JlYWR5ICYmIHBvcG92ZXJUcmlnZ2VyUmVmLmN1cnJlbnQ/Lm9mZnNldFdpZHRoKSB7XG4gICAgICBjb25zdCBuZXdQb3BvdmVyVHJpZ2dlcldpZHRoID0gcG9wb3ZlclRyaWdnZXJSZWYuY3VycmVudC5vZmZzZXRXaWR0aFxuXG4gICAgICAvLyBTZXQgcG9wb3ZlciB0cmlnZ2VyIHdpZHRoXG4gICAgICBzZXRQb3BvdmVyVHJpZ2dlcldpZHRoKG5ld1BvcG92ZXJUcmlnZ2VyV2lkdGgpXG5cbiAgICAgIC8vIFJlbW92ZSB0aGUgbGFzdCB0YWcgaWYgd2UgaGF2ZSBhIHBvcG92ZXIgYW5kIGFkZCBpdCB0byB0aGUgaGlkZGVuIHRhZ3NcbiAgICAgIGNvbnN0IHRhZ3NDb250YWluZXIgPSBjb250YWluZXJSZWYuY3VycmVudFxuICAgICAgY29uc3QgdGFnc0NvbnRhaW5lcldpZHRoID0gY29udGFpbmVyUmVmLmN1cnJlbnQ/Lm9mZnNldFdpZHRoIHx8IDBcbiAgICAgIGNvbnN0IHBhcmVudFdpZHRoID0gdGFnc0NvbnRhaW5lcj8ucGFyZW50RWxlbWVudD8ub2Zmc2V0V2lkdGggfHwgMFxuXG4gICAgICBpZiAoXG4gICAgICAgIHZpc2libGVUYWdzLmxlbmd0aCA+IDEgJiZcbiAgICAgICAgaGlkZGVuVGFncy5sZW5ndGggPiAwICYmXG4gICAgICAgIHRhZ3NDb250YWluZXJXaWR0aCArIG5ld1BvcG92ZXJUcmlnZ2VyV2lkdGggPiBwYXJlbnRXaWR0aFxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IHZpc2libGVUYWdzQ29weSA9IHZpc2libGVUYWdzLmZpbHRlcihcbiAgICAgICAgICAoXywgaW5kZXgpID0+IGluZGV4IDwgdmlzaWJsZVRhZ3MubGVuZ3RoIC0gMSxcbiAgICAgICAgKVxuICAgICAgICBjb25zdCB0YWdUb01vdmUgPSB2aXNpYmxlVGFnc1t2aXNpYmxlVGFncy5sZW5ndGggLSAxXVxuXG4gICAgICAgIHNldFZpc2libGVUYWdzKHZpc2libGVUYWdzQ29weSlcbiAgICAgICAgc2V0SGlkZGVuVGFncyhbdGFnVG9Nb3ZlLCAuLi5oaWRkZW5UYWdzXSlcbiAgICAgIH1cblxuICAgICAgc2V0SXNSZWFkeSh0cnVlKVxuICAgIH1cbiAgfSwgW2hpZGRlblRhZ3MsIGlzUmVhZHksIHRocmVzaG9sZCwgdmlzaWJsZVRhZ3MsIHZpc2libGVUYWdzLmxlbmd0aF0pXG5cbiAgLy8gUmVtb3ZlIHRoZSBoaWRkZW4gZGl2IHRoYXQgc2VydmVkIHRvIG1lYXN1cmUgdGhlIHJlbmRlcmVkIHRhZ3NcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNSZWFkeSAmJiBtZWFzdXJlUmVmLmN1cnJlbnQ/LnBhcmVudE5vZGUpIHtcbiAgICAgIG1lYXN1cmVSZWYuY3VycmVudC5yZW1vdmUoKVxuICAgIH1cbiAgfSwgW2lzUmVhZHldKVxuXG4gIGlmICghdGFncy5sZW5ndGgpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgY29uc3QgcmVuZGVyVGFnID0gKHRhZzogVGFnVHlwZSwgaW5kZXg6IG51bWJlciwgaXNFbGxpcHNpcyA9IGZhbHNlKSA9PiAoXG4gICAgPFRhZ1xuICAgICAgLy8gdXNlZnVsIHdoZW4gdHdvIHRhZ3MgYXJlIGlkZW50aWNhbCBgJHt0YWd9LSR7aW5kZXh9YFxuICAgICAga2V5PXtgJHtnZXRUYWdMYWJlbCh0YWcpfS0ke2luZGV4fWB9XG4gICAgICBjb3BpYWJsZT17Y29waWFibGV9XG4gICAgICBjb3B5VGV4dD17Y29weVRleHR9XG4gICAgICBjb3BpZWRUZXh0PXtjb3BpZWRUZXh0fVxuICAgICAgaWNvbj17dHlwZW9mIHRhZyA9PT0gJ29iamVjdCcgPyB0YWcuaWNvbiA6IHVuZGVmaW5lZH1cbiAgICAgIGNsYXNzTmFtZT17aXNFbGxpcHNpcyA/ICdlbGxpcHNlZCcgOiAnJ31cbiAgICA+XG4gICAgICB7Z2V0VGFnTGFiZWwodGFnKX1cbiAgICA8L1RhZz5cbiAgKVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZH1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHZpc2liaWxpdHk6IGlzUmVhZHkgPyAndmlzaWJsZScgOiAnaGlkZGVuJyxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPFN0eWxlZFRhZ0NvbnRhaW5lclxuICAgICAgICBnYXA9e1RBR1NfR0FQfVxuICAgICAgICBtdWx0aWxpbmU9e211bHRpbGluZX1cbiAgICAgICAgcG9wb3ZlclRyaWdnZXJXaWR0aD17cG9wb3ZlclRyaWdnZXJXaWR0aH1cbiAgICAgICAgcmVmPXtjb250YWluZXJSZWZ9XG4gICAgICA+XG4gICAgICAgIHt2aXNpYmxlVGFncy5tYXAoKHRhZywgaW5kZXgpID0+XG4gICAgICAgICAgcmVuZGVyVGFnKFxuICAgICAgICAgICAgdGFnLFxuICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgICAvLyBhZGQgZWxsaXBzaXMgdG8gbGFzdCB0YWdcbiAgICAgICAgICAgIGluZGV4ID09PSB2aXNpYmxlVGFncy5sZW5ndGggLSAxLFxuICAgICAgICAgICksXG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZFRhZ0NvbnRhaW5lcj5cbiAgICAgIHsvKiBBIGhpZGRlbiBkaXYgd2hpY2ggcmVuZGVycyB0aGUgdGFncyBzbyB3ZSBjYW4gbWVhc3VyZSB0aGVtICovfVxuICAgICAgPGRpdlxuICAgICAgICByZWY9e21lYXN1cmVSZWZ9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgdmlzaWJpbGl0eTogJ2hpZGRlbicsXG4gICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxTdHlsZWRUYWdDb250YWluZXIgZ2FwPXtUQUdTX0dBUH0+XG4gICAgICAgICAge3BvdGVudGlhbGx5VmlzaWJsZVRhZ3MubWFwKCh0YWcsIGluZGV4KSA9PiByZW5kZXJUYWcodGFnLCBpbmRleCkpfVxuICAgICAgICA8L1N0eWxlZFRhZ0NvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAge2hpZGRlblRhZ3MubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgIDxQb3BvdmVyXG4gICAgICAgICAgdGl0bGU9e3BvcG92ZXJUaXRsZX1cbiAgICAgICAgICB2aXNpYmxlPXtpc1BvcG92ZXJWaXNpYmxlfVxuICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgb25DbG9zZT17KCkgPT4gc2V0SXNQb3BvdmVyVmlzaWJsZShmYWxzZSl9XG4gICAgICAgICAgcGxhY2VtZW50PXtwb3BvdmVyUGxhY2VtZW50fVxuICAgICAgICAgIGNvbnRlbnQ9e1xuICAgICAgICAgICAgPFN0eWxlZFRhZ0NvbnRhaW5lciBtdWx0aWxpbmUgZ2FwPXtUQUdTX0dBUH0+XG4gICAgICAgICAgICAgIHtoaWRkZW5UYWdzLm1hcCgodGFnLCBpbmRleCkgPT4gcmVuZGVyVGFnKHRhZywgaW5kZXgpKX1cbiAgICAgICAgICAgIDwvU3R5bGVkVGFnQ29udGFpbmVyPlxuICAgICAgICAgIH1cbiAgICAgICAgPlxuICAgICAgICAgIDxUYWdzV3JhcHBlclxuICAgICAgICAgICAgcmVmPXtwb3BvdmVyVHJpZ2dlclJlZn1cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtgJHtkYXRhVGVzdElkID8/ICd0YWdsaXN0J30tb3BlbmB9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRJc1BvcG92ZXJWaXNpYmxlKHRydWUpfVxuICAgICAgICAgID5cbiAgICAgICAgICAgICt7aGlkZGVuVGFncy5sZW5ndGh9XG4gICAgICAgICAgPC9UYWdzV3JhcHBlcj5cbiAgICAgICAgPC9Qb3BvdmVyPlxuICAgICAgKX1cbiAgICA8L1N0eWxlZENvbnRhaW5lcj5cbiAgKVxufVxuIl19 */",
21
23
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
22
24
  });
23
25
  const TagsWrapper = /* @__PURE__ */ _styled("span", process.env.NODE_ENV === "production" ? {
@@ -27,7 +29,7 @@ const TagsWrapper = /* @__PURE__ */ _styled("span", process.env.NODE_ENV === "pr
27
29
  label: "TagsWrapper"
28
30
  })("cursor:pointer;color:", ({
29
31
  theme
30
- }) => theme.colors.primary.text, ";border:none;font-size:14px;align-self:center;max-width:350px;overflow:hidden;white-space:pre;text-overflow:ellipsis;background-color:transparent;padding-left:8px;padding-right:8px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RhZ0xpc3QvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVUrQiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy91aS9zcmMvY29tcG9uZW50cy9UYWdMaXN0L2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50UHJvcHMgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFBvcG92ZXIgfSBmcm9tICcuLi9Qb3BvdmVyJ1xuaW1wb3J0IHsgVGFnIH0gZnJvbSAnLi4vVGFnJ1xuXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuYFxuXG5jb25zdCBUYWdzV3JhcHBlciA9IHN0eWxlZC5zcGFuYFxuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHR9O1xuICBib3JkZXI6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBtYXgtd2lkdGg6IDM1MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG5gXG5cbmNvbnN0IFN0eWxlZFRhZ0NvbnRhaW5lciA9IHN0eWxlZC5kaXY8eyBtdWx0aWxpbmU/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0fTtcbiAgZ2FwOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycxJ119O1xuICAkeyh7IG11bHRpbGluZSB9KSA9PiBtdWx0aWxpbmUgJiYgYGZsZXgtd3JhcDogd3JhcDtgfTtcbmBcblxudHlwZSBUYWdMaXN0UHJvcHMgPSB7XG4gIC8qKlxuICAgKiBUaGlzIHByb3BlcnR5IGRlZmluZSBtYXhpbXVtIGNoYXJhY3RlcnMgbGVuZ3RoIG9mIGFsbCB0YWdzIHVudGlsIGl0IGhpZGUgdGFncyBpbnRvIHRvb2x0aXAuXG4gICAqL1xuICBtYXhMZW5ndGg/OiBudW1iZXJcbiAgdGFncz86IChcbiAgICB8IHN0cmluZ1xuICAgIHwgeyBsYWJlbDogc3RyaW5nOyBpY29uOiBOb25OdWxsYWJsZTxDb21wb25lbnRQcm9wczx0eXBlb2YgVGFnPlsnaWNvbiddPiB9XG4gIClbXVxuICAvKipcbiAgICogVGhpcyBwcm9wZXJ0eSBkZWZpbmUgbWF4aW11bSBjaGFyYWN0ZXJzIGxlbmd0aCBvZiBhbGwgdGFncyB1bnRpbCBpdCBoaWRlIHRhZ3MgaW50byB0b29sdGlwLlxuICAgKi9cbiAgdGhyZXNob2xkPzogbnVtYmVyXG4gIC8qKlxuICAgKiBUaGlzIHByb3BlcnR5IGRlZmluZSBtYXhpbXVtIHdpZHRoIG9mIGVhY2ggdGFnLiBUaGlzIGRvZXNuJ3QgYXBwbHkgZm9yIHRhZ3MgaW4gdG9vbHRpcC5cbiAgICovXG4gIG11bHRpbGluZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFRoaXMgcHJvcGVydHkgZGVmaW5lIHRoZSB0aXRsZSBvZiB0aGUgUG9wb3Zlciwgd2hlbiBzb21lIHRhZ3MgYXJlIGhpZGRlbiBiZWNhdXNlIG9mIHRoZSB0aHJlc2hvbGQuXG4gICAqL1xuICBwb3BvdmVyVGl0bGU6IHN0cmluZ1xuICAvKipcbiAgICogVGhlIHBvcG92ZXIgd2lsbCBiZSBwbGFjZWQgYXV0b21hdGljYWxseSBieSBkZWZhdWx0LiBZb3UgY2FuIGFsc28gc3BlY2lmeSB0aGUgcGxhY2VtZW50IG9mIHRoZSBwb3BvdmVyIHRocm91Z2hcbiAgICogdGhpcyBwcm9wZXJ0eS5cbiAgICovXG4gIHBvcG92ZXJQbGFjZW1lbnQ/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgUG9wb3Zlcj5bJ3BsYWNlbWVudCddXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG59ICYgUGljazxDb21wb25lbnRQcm9wczx0eXBlb2YgVGFnPiwgJ2NvcGlhYmxlJyB8ICdjb3B5VGV4dCcgfCAnY29waWVkVGV4dCc+XG5cbmNvbnN0IERFRkFVTFRfVEFHUzogVGFnTGlzdFByb3BzWyd0YWdzJ10gPSBbXVxuXG5jb25zdCBnZXRUYWdMYWJlbCA9ICh0YWc6IE5vbk51bGxhYmxlPFRhZ0xpc3RQcm9wc1sndGFncyddPltudW1iZXJdKSA9PlxuICB0eXBlb2YgdGFnID09PSAnb2JqZWN0JyA/IHRhZy5sYWJlbCA6IHRhZ1xuXG4vKipcbiAqIFRoaXMgY29tcG9uZW50IGlzIHVzZWQgdG8gZGlzcGxheSBhIGxpc3Qgb2YgdGFncyB3aXRoIGEgdGhyZXNob2xkIGFuZCBhIHBvcG92ZXIgd2hlbiB0aGVyZSBhcmUgdG9vIG1hbnkgdGFncy5cbiAqL1xuZXhwb3J0IGNvbnN0IFRhZ0xpc3QgPSAoe1xuICBtYXhMZW5ndGggPSA2MDAsXG4gIHRhZ3MgPSBERUZBVUxUX1RBR1MsXG4gIHRocmVzaG9sZCA9IDEsXG4gIG11bHRpbGluZSA9IGZhbHNlLFxuICBwb3BvdmVyVGl0bGUsXG4gIHBvcG92ZXJQbGFjZW1lbnQsXG4gIGNvcGlhYmxlLFxuICBjb3B5VGV4dCxcbiAgY29waWVkVGV4dCxcbiAgY2xhc3NOYW1lLFxuICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxufTogVGFnTGlzdFByb3BzKSA9PiB7XG4gIGxldCB0bXBUaHJlc2hvbGQgPSB0aHJlc2hvbGRcbiAgaWYgKFxuICAgIHRhZ3MubGVuZ3RoID4gMCAmJlxuICAgIHRhZ3NcbiAgICAgIC5zbGljZSgwLCB0bXBUaHJlc2hvbGQpXG4gICAgICAucmVkdWNlPHN0cmluZz4oKGFjYywgdGFnKSA9PiBhY2MgKyBnZXRUYWdMYWJlbCh0YWcpLCAnJykubGVuZ3RoID5cbiAgICAgIG1heExlbmd0aFxuICApIHtcbiAgICAvLyBJZiB0b3RhbCB0YWdzIGxlbmd0aCBpbiBjaGFyYWN0ZXJzIGlzIGFib3ZlIG1heExlbmd0aCxcbiAgICAvLyB0aHJlc2hvbGQgaXMgZGVjcmVtZW50ZWQgaW4gb3JkZXIgdG8gcHJldmVudCB0b28gbWFueSBsb25nIHRhZ3MgZGlzcGxheWVkLlxuICAgIHRtcFRocmVzaG9sZCAtPSAxXG4gIH1cbiAgY29uc3QgaGFzTWFueVRhZ3MgPSB0YWdzLmxlbmd0aCA+IHRtcFRocmVzaG9sZCB8fCBmYWxzZVxuICBjb25zdCB2aXNpYmxlVGFnc0NvdW50ID0gaGFzTWFueVRhZ3MgPyB0bXBUaHJlc2hvbGQgOiB0YWdzLmxlbmd0aFxuXG4gIGNvbnN0IFtpc1Zpc2libGUsIHNldElzVmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBpZiAoIXRhZ3MubGVuZ3RoKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lciBjbGFzc05hbWU9e2NsYXNzTmFtZX0gZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9PlxuICAgICAgPFN0eWxlZFRhZ0NvbnRhaW5lciBtdWx0aWxpbmU9e211bHRpbGluZX0+XG4gICAgICAgIHt0YWdzLnNsaWNlKDAsIHZpc2libGVUYWdzQ291bnQpLm1hcCgodGFnLCBpbmRleCkgPT4gKFxuICAgICAgICAgIDxUYWdcbiAgICAgICAgICAgIC8vIHVzZWZ1bCB3aGVuIHR3byB0YWdzIGFyZSBpZGVudGljYWwgYCR7dGFnfS0ke2luZGV4fWBcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby1hcnJheS1pbmRleC1rZXlcbiAgICAgICAgICAgIGtleT17YCR7Z2V0VGFnTGFiZWwodGFnKX0tJHtpbmRleH1gfVxuICAgICAgICAgICAgY29waWFibGU9e2NvcGlhYmxlfVxuICAgICAgICAgICAgY29weVRleHQ9e2NvcHlUZXh0fVxuICAgICAgICAgICAgY29waWVkVGV4dD17Y29waWVkVGV4dH1cbiAgICAgICAgICAgIGljb249e3R5cGVvZiB0YWcgPT09ICdvYmplY3QnID8gdGFnLmljb24gOiB1bmRlZmluZWR9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2dldFRhZ0xhYmVsKHRhZyl9XG4gICAgICAgICAgPC9UYWc+XG4gICAgICAgICkpfVxuICAgICAgPC9TdHlsZWRUYWdDb250YWluZXI+XG4gICAgICB7aGFzTWFueVRhZ3MgPyAoXG4gICAgICAgIDxQb3BvdmVyXG4gICAgICAgICAgdGl0bGU9e3BvcG92ZXJUaXRsZX1cbiAgICAgICAgICB2aXNpYmxlPXtpc1Zpc2libGV9XG4gICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICBvbkNsb3NlPXsoKSA9PiBzZXRJc1Zpc2libGUoZmFsc2UpfVxuICAgICAgICAgIHBsYWNlbWVudD17cG9wb3ZlclBsYWNlbWVudH1cbiAgICAgICAgICBjb250ZW50PXtcbiAgICAgICAgICAgIDxTdHlsZWRUYWdDb250YWluZXIgbXVsdGlsaW5lPlxuICAgICAgICAgICAgICB7dGFncy5zbGljZSh2aXNpYmxlVGFnc0NvdW50KS5tYXAoKHRhZywgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICA8VGFnXG4gICAgICAgICAgICAgICAgICAvLyB1c2VmdWwgd2hlbiB0d28gdGFncyBhcmUgaWRlbnRpY2FsIGAke3RhZ30tJHtpbmRleH1gXG4gICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tYXJyYXktaW5kZXgta2V5XG4gICAgICAgICAgICAgICAgICBrZXk9e2Ake2dldFRhZ0xhYmVsKHRhZyl9LSR7aW5kZXh9YH1cbiAgICAgICAgICAgICAgICAgIGNvcGlhYmxlPXtjb3BpYWJsZX1cbiAgICAgICAgICAgICAgICAgIGNvcHlUZXh0PXtjb3B5VGV4dH1cbiAgICAgICAgICAgICAgICAgIGNvcGllZFRleHQ9e2NvcGllZFRleHR9XG4gICAgICAgICAgICAgICAgICBpY29uPXt0eXBlb2YgdGFnID09PSAnb2JqZWN0JyA/IHRhZy5pY29uIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtnZXRUYWdMYWJlbCh0YWcpfVxuICAgICAgICAgICAgICAgIDwvVGFnPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvU3R5bGVkVGFnQ29udGFpbmVyPlxuICAgICAgICAgIH1cbiAgICAgICAgPlxuICAgICAgICAgIDxUYWdzV3JhcHBlclxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e2Ake2RhdGFUZXN0SWQgPz8gJ3RhZ2xpc3QnfS1vcGVuYH1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldElzVmlzaWJsZSh0cnVlKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICAre3RhZ3MubGVuZ3RoIC0gdG1wVGhyZXNob2xkfVxuICAgICAgICAgIDwvVGFnc1dyYXBwZXI+XG4gICAgICAgIDwvUG9wb3Zlcj5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICApXG59XG4iXX0= */"));
32
+ }) => theme.colors.primary.text, ";border:none;font-size:14px;align-self:center;max-width:350px;overflow:hidden;white-space:pre;text-overflow:ellipsis;background-color:transparent;padding-left:8px;padding-right:8px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RhZ0xpc3QvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWErQiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy91aS9zcmMvY29tcG9uZW50cy9UYWdMaXN0L2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgY29uc29sZUxpZ2h0VGhlbWUgfSBmcm9tICdAdWx0cmF2aW9sZXQvdGhlbWVzJ1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgdHlwZSB7IENvbXBvbmVudFByb3BzIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBQb3BvdmVyIH0gZnJvbSAnLi4vUG9wb3ZlcidcbmltcG9ydCB7IFRhZyB9IGZyb20gJy4uL1RhZydcblxuY29uc3QgVEFHU19HQVAgPSBjb25zb2xlTGlnaHRUaGVtZS5zcGFjZVsnMSddXG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG5gXG5cbmNvbnN0IFRhZ3NXcmFwcGVyID0gc3R5bGVkLnNwYW5gXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkudGV4dH07XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIG1heC13aWR0aDogMzUwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbmBcblxuY29uc3QgU3R5bGVkVGFnQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7XG4gIGdhcDogc3RyaW5nXG4gIG11bHRpbGluZT86IGJvb2xlYW5cbiAgcG9wb3ZlclRyaWdnZXJXaWR0aD86IG51bWJlclxufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICBnYXA6ICR7KHsgZ2FwIH0pID0+IGdhcH07XG4gICR7KHsgbXVsdGlsaW5lIH0pID0+IG11bHRpbGluZSAmJiBgZmxleC13cmFwOiB3cmFwO2B9O1xuXG4gIC8vIHRvIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSB3ZSBoYXZlIG9uZSB0YWcgYW5kIHdlIG5lZWQgdG8gZWxsaXBzaXMgaXRcbiAgJHsoeyBwb3BvdmVyVHJpZ2dlcldpZHRoIH0pID0+XG4gICAgcG9wb3ZlclRyaWdnZXJXaWR0aCAmJlxuICAgIGBcbiAgICAgICY6aGFzKC5lbGxpcHNlZCkge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gJHtwb3BvdmVyVHJpZ2dlcldpZHRofXB4KTsgLy8gdG8gbGV0IHNwYWNlIGZvciB0aGUgK1ggYnV0dG9uXG4gICAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICB9XG5cbiAgICAgICYgc3BhbiwgZGl2IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICB9XG4gIGB9O1xuYFxuXG5leHBvcnQgdHlwZSBUYWdUeXBlID1cbiAgfCBzdHJpbmdcbiAgfCB7IGxhYmVsOiBzdHJpbmc7IGljb246IE5vbk51bGxhYmxlPENvbXBvbmVudFByb3BzPHR5cGVvZiBUYWc+WydpY29uJ10+IH1cblxudHlwZSBUYWdMaXN0UHJvcHMgPSB7XG4gIC8qKlxuICAgKiBUaGlzIHByb3BlcnR5IGRlZmluZSBtYXhpbXVtIGNoYXJhY3RlcnMgbGVuZ3RoIG9mIGFsbCB0YWdzIHVudGlsIGl0IGhpZGUgdGFncyBpbnRvIHRvb2x0aXAuXG4gICAqL1xuICBtYXhMZW5ndGg/OiBudW1iZXJcbiAgdGFncz86IFRhZ1R5cGVbXVxuICAvKipcbiAgICogVGhpcyBwcm9wZXJ0eSBkZWZpbmUgbWF4aW11bSBjaGFyYWN0ZXJzIGxlbmd0aCBvZiBhbGwgdGFncyB1bnRpbCBpdCBoaWRlIHRhZ3MgaW50byB0b29sdGlwLlxuICAgKiBOQjogdGhpcyB3aWxsIGJlIG92ZXJyaWRkZW4gaWYgdGhlIHBhcmVudCB3aWR0aCBpcyBzbWFsbGVyIGFuZCBjYW5ub3Qgc2hvdyBhbGwgdGhlIHRhZ3NcbiAgICovXG4gIHRocmVzaG9sZD86IG51bWJlclxuICAvKipcbiAgICogVGhpcyBwcm9wZXJ0eSBkZWZpbmUgbWF4aW11bSB3aWR0aCBvZiBlYWNoIHRhZy4gVGhpcyBkb2Vzbid0IGFwcGx5IGZvciB0YWdzIGluIHRvb2x0aXAuXG4gICAqL1xuICBtdWx0aWxpbmU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBUaGlzIHByb3BlcnR5IGRlZmluZSB0aGUgdGl0bGUgb2YgdGhlIFBvcG92ZXIsIHdoZW4gc29tZSB0YWdzIGFyZSBoaWRkZW4gYmVjYXVzZSBvZiB0aGUgdGhyZXNob2xkLlxuICAgKi9cbiAgcG9wb3ZlclRpdGxlOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSBwb3BvdmVyIHdpbGwgYmUgcGxhY2VkIGF1dG9tYXRpY2FsbHkgYnkgZGVmYXVsdC4gWW91IGNhbiBhbHNvIHNwZWNpZnkgdGhlIHBsYWNlbWVudCBvZiB0aGUgcG9wb3ZlciB0aHJvdWdoXG4gICAqIHRoaXMgcHJvcGVydHkuXG4gICAqL1xuICBwb3BvdmVyUGxhY2VtZW50PzogQ29tcG9uZW50UHJvcHM8dHlwZW9mIFBvcG92ZXI+WydwbGFjZW1lbnQnXVxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgJ2RhdGEtdGVzdGlkJz86IHN0cmluZ1xufSAmIFBpY2s8Q29tcG9uZW50UHJvcHM8dHlwZW9mIFRhZz4sICdjb3BpYWJsZScgfCAnY29weVRleHQnIHwgJ2NvcGllZFRleHQnPlxuXG5jb25zdCBERUZBVUxUX1RBR1M6IFRhZ0xpc3RQcm9wc1sndGFncyddID0gW11cblxuY29uc3QgZ2V0VGFnTGFiZWwgPSAodGFnOiBOb25OdWxsYWJsZTxUYWdMaXN0UHJvcHNbJ3RhZ3MnXT5bbnVtYmVyXSkgPT5cbiAgdHlwZW9mIHRhZyA9PT0gJ29iamVjdCcgPyB0YWcubGFiZWwgOiB0YWdcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyB1c2VkIHRvIGRpc3BsYXkgYSBsaXN0IG9mIHRhZ3Mgd2l0aCBhIHRocmVzaG9sZCBhbmQgYSBwb3BvdmVyIHdoZW4gdGhlcmUgYXJlIHRvbyBtYW55IHRhZ3MuXG4gKi9cbmV4cG9ydCBjb25zdCBUYWdMaXN0ID0gKHtcbiAgbWF4TGVuZ3RoID0gNjAwLFxuICB0YWdzID0gREVGQVVMVF9UQUdTLFxuICB0aHJlc2hvbGQgPSAxLFxuICBtdWx0aWxpbmUgPSBmYWxzZSxcbiAgcG9wb3ZlclRpdGxlLFxuICBwb3BvdmVyUGxhY2VtZW50LFxuICBjb3BpYWJsZSxcbiAgY29weVRleHQsXG4gIGNvcGllZFRleHQsXG4gIGNsYXNzTmFtZSxcbiAgJ2RhdGEtdGVzdGlkJzogZGF0YVRlc3RJZCxcbn06IFRhZ0xpc3RQcm9wcykgPT4ge1xuICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IG1lYXN1cmVSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHBvcG92ZXJUcmlnZ2VyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuXG4gIC8vIEEgZmxhZyB0byBrZWVwIG9mIHdoZW4gd2Ugc2hvdyB0aGUgY29tcG9uZW50IGFzIHdlIHdlIG1pZ2h0IHVwZGF0ZSB0aGUgdmlzaWJsZSB0YWdzIGxpc3RcbiAgLy8gYWZ0ZXIgdGhlIGZpcnN0IHJlbmRlciAoIHRvIGtub3cgaWYgd2Ugc2hvdWxkIGFkZCBlbGxpcHNpcyB0byB0aGUgbGFzdCB2aXNpYmxlIHRhZ1xuICAvLyBvciByZWFkanVzdCB0aGUgdGFncyB3aGVuIGpvaW5lZCB3aXRoIHRoZSBwb3BvdmVyIHRyaWdnZXIgbWlnaHQgb3ZlcmZsb3cgdGhlIHBhcmVudCApXG4gIC8vIGFuZCB0aGlzIGNhdXNlcyBzb21lIGZsaWNrZXJpbmdcbiAgY29uc3QgW2lzUmVhZHksIHNldElzUmVhZHldID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgW2lzUG9wb3ZlclZpc2libGUsIHNldElzUG9wb3ZlclZpc2libGVdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtwb3BvdmVyVHJpZ2dlcldpZHRoLCBzZXRQb3BvdmVyVHJpZ2dlcldpZHRoXSA9IHVzZVN0YXRlKDApXG4gIGNvbnN0IFt2aXNpYmxlVGFncywgc2V0VmlzaWJsZVRhZ3NdID0gdXNlU3RhdGU8VGFnVHlwZVtdPihbXSlcbiAgY29uc3QgW2hpZGRlblRhZ3MsIHNldEhpZGRlblRhZ3NdID0gdXNlU3RhdGU8VGFnVHlwZVtdPihbXSlcblxuICAvLyBDb21wdXRlIHRtcFRocmVzaG9sZCwgcG90ZW50aWFsbHkgdmlzaWJsZSB0YWdzIGFuZCBzdXJlbHkgaGlkZGVuIHRhZ3NcbiAgY29uc3QgbWVtb2l6ZWRSZXN1bHQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBsZXQgdG1wVGhyZXNob2xkID0gdGhyZXNob2xkXG4gICAgaWYgKFxuICAgICAgdGFncy5sZW5ndGggPiAwICYmXG4gICAgICB0YWdzXG4gICAgICAgIC5zbGljZSgwLCB0bXBUaHJlc2hvbGQpXG4gICAgICAgIC5yZWR1Y2U8c3RyaW5nPigoYWNjLCB0YWcpID0+IGFjYyArIGdldFRhZ0xhYmVsKHRhZyksICcnKS5sZW5ndGggPlxuICAgICAgICBtYXhMZW5ndGhcbiAgICApIHtcbiAgICAgIHRtcFRocmVzaG9sZCAtPSAxXG4gICAgfVxuXG4gICAgY29uc3QgcG90ZW50aWFsbHlWaXNpYmxlVGFnc0xlbmd0aCA9XG4gICAgICB0YWdzLmxlbmd0aCA+IHRtcFRocmVzaG9sZCB8fCBmYWxzZSA/IHRtcFRocmVzaG9sZCA6IHRhZ3MubGVuZ3RoXG4gICAgY29uc3QgcG90ZW50aWFsbHlWaXNpYmxlVGFncyA9IHRhZ3Muc2xpY2UoMCwgcG90ZW50aWFsbHlWaXNpYmxlVGFnc0xlbmd0aClcbiAgICBjb25zdCBzdXJlbHlIaWRkZW5UYWdzID0gdGFncy5zbGljZShwb3RlbnRpYWxseVZpc2libGVUYWdzTGVuZ3RoKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRtcFRocmVzaG9sZCxcbiAgICAgIHBvdGVudGlhbGx5VmlzaWJsZVRhZ3MsXG4gICAgICBzdXJlbHlIaWRkZW5UYWdzLFxuICAgIH1cbiAgfSwgW21heExlbmd0aCwgdGFncywgdGhyZXNob2xkXSlcblxuICBjb25zdCB7IHRtcFRocmVzaG9sZCwgcG90ZW50aWFsbHlWaXNpYmxlVGFncywgc3VyZWx5SGlkZGVuVGFncyB9ID1cbiAgICBtZW1vaXplZFJlc3VsdFxuXG4gIC8vIENvbXB1dGUgdmlzaWJsZSB0YWdzIGFuZCBoaWRkZW4gb25lcyBiYXNlZCBvbiB0aGUgY29udGFpbmVyIHdpZHRoIGFuZFxuICAvLyB3aGF0IGNhbiBmaXQgaW50byBpdCBmcm9tIHRoZSBwb3RlbnRpYWxseSB2aXNpYmxlIHRhZ3NcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXRhZ3MubGVuZ3RoIHx8ICFjb250YWluZXJSZWYuY3VycmVudCB8fCAhbWVhc3VyZVJlZi5jdXJyZW50KSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAobXVsdGlsaW5lKSB7XG4gICAgICBzZXRWaXNpYmxlVGFncyhwb3RlbnRpYWxseVZpc2libGVUYWdzKVxuICAgICAgc2V0SGlkZGVuVGFncyhzdXJlbHlIaWRkZW5UYWdzKVxuICAgICAgc2V0SXNSZWFkeSh0cnVlKVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBwYXJlbnRXaWR0aCA9IGNvbnRhaW5lclJlZi5jdXJyZW50LnBhcmVudEVsZW1lbnQ/Lm9mZnNldFdpZHRoIHx8IDBcblxuICAgIGNvbnN0IHRvTWVhc3VyZUVsZW1lbnRzOiBIVE1MQ29sbGVjdGlvbiA9XG4gICAgICBtZWFzdXJlUmVmLmN1cnJlbnQuY2hpbGRyZW5bMF0uY2hpbGRyZW5cblxuICAgIGNvbnN0IFtmaXJzdFRhZywgLi4ucmVzdE9mVG9NZWFzdXJlRWxlbWVudHNdID0gWy4uLnRvTWVhc3VyZUVsZW1lbnRzXVxuXG4gICAgY29uc3QgeyBtZWFzdXJlZFZpc2libGVUYWdzLCBtZWFzdXJlZEhpZGRlblRhZ3MgfSA9XG4gICAgICByZXN0T2ZUb01lYXN1cmVFbGVtZW50cy5yZWR1Y2UoXG4gICAgICAgIChcbiAgICAgICAgICBhY2N1bXVsYXRvcjoge1xuICAgICAgICAgICAgbWVhc3VyZWRWaXNpYmxlVGFnczogVGFnVHlwZVtdXG4gICAgICAgICAgICBtZWFzdXJlZEhpZGRlblRhZ3M6IFRhZ1R5cGVbXVxuICAgICAgICAgICAgYWNjdW11bGF0ZWRXaWR0aDogbnVtYmVyXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjdXJyZW50VmFsdWUsXG4gICAgICAgICAgaW5kZXgsXG4gICAgICAgICk6IHtcbiAgICAgICAgICBtZWFzdXJlZFZpc2libGVUYWdzOiBUYWdUeXBlW11cbiAgICAgICAgICBtZWFzdXJlZEhpZGRlblRhZ3M6IFRhZ1R5cGVbXVxuICAgICAgICAgIGFjY3VtdWxhdGVkV2lkdGg6IG51bWJlclxuICAgICAgICB9ID0+IHtcbiAgICAgICAgICBjb25zdCBuZXdBY2N1bXVsYXRlZFdpZHRoID1cbiAgICAgICAgICAgIGFjY3VtdWxhdG9yLmFjY3VtdWxhdGVkV2lkdGggK1xuICAgICAgICAgICAgKGN1cnJlbnRWYWx1ZSBhcyBIVE1MRGl2RWxlbWVudCkub2Zmc2V0V2lkdGggK1xuICAgICAgICAgICAgcGFyc2VJbnQoVEFHU19HQVAsIDEwKVxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG1lYXN1cmVkVmlzaWJsZVRhZ3M6IFtcbiAgICAgICAgICAgICAgLi4uYWNjdW11bGF0b3IubWVhc3VyZWRWaXNpYmxlVGFncyxcbiAgICAgICAgICAgICAgbmV3QWNjdW11bGF0ZWRXaWR0aCA8PSBwYXJlbnRXaWR0aCAmJiB0YWdzW2luZGV4ICsgMV0sXG4gICAgICAgICAgICBdLmZpbHRlcihCb29sZWFuKSBhcyBUYWdUeXBlW10sXG4gICAgICAgICAgICBtZWFzdXJlZEhpZGRlblRhZ3M6IFtcbiAgICAgICAgICAgICAgLi4uYWNjdW11bGF0b3IubWVhc3VyZWRIaWRkZW5UYWdzLFxuICAgICAgICAgICAgICBuZXdBY2N1bXVsYXRlZFdpZHRoID4gcGFyZW50V2lkdGggJiYgdGFnc1tpbmRleCArIDFdLFxuICAgICAgICAgICAgXS5maWx0ZXIoQm9vbGVhbikgYXMgVGFnVHlwZVtdLFxuICAgICAgICAgICAgYWNjdW11bGF0ZWRXaWR0aDogbmV3QWNjdW11bGF0ZWRXaWR0aCxcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtZWFzdXJlZFZpc2libGVUYWdzOiBbdGFnc1swXV0sIC8vIHdlIG5lZWQgdG8gYWx3YXlzIHNob3cgb25lIHRhZ1xuICAgICAgICAgIG1lYXN1cmVkSGlkZGVuVGFnczogW10sXG4gICAgICAgICAgYWNjdW11bGF0ZWRXaWR0aDpcbiAgICAgICAgICAgIChmaXJzdFRhZyBhcyBIVE1MRGl2RWxlbWVudCkub2Zmc2V0V2lkdGggKyBwYXJzZUludChUQUdTX0dBUCwgMTApLFxuICAgICAgICB9LFxuICAgICAgKVxuXG4gICAgY29uc3QgZmluYWxIaWRkZW5UYWdzID0gbWVhc3VyZWRIaWRkZW5UYWdzLmNvbmNhdChzdXJlbHlIaWRkZW5UYWdzKVxuXG4gICAgc2V0VmlzaWJsZVRhZ3MobWVhc3VyZWRWaXNpYmxlVGFncylcbiAgICBzZXRIaWRkZW5UYWdzKGZpbmFsSGlkZGVuVGFncylcblxuICAgIGlmICghZmluYWxIaWRkZW5UYWdzLmxlbmd0aCkge1xuICAgICAgc2V0SXNSZWFkeSh0cnVlKVxuICAgIH1cbiAgfSwgW1xuICAgIG11bHRpbGluZSxcbiAgICBwb3RlbnRpYWxseVZpc2libGVUYWdzLFxuICAgIHN1cmVseUhpZGRlblRhZ3MsXG4gICAgdGFncyxcbiAgICB0aHJlc2hvbGQsXG4gICAgdG1wVGhyZXNob2xkLFxuICBdKVxuXG4gIC8vIE9uY2UgdGhlIHBvcG92ZXIgdHJpZ2dlciBpcyBhdmFpbGFibGUgd2UgaGF2ZSB0bzpcbiAgLy8gLSB0byBnZXQgdGhlIHBvcG92ZXIgdHJpZ2dlciB3aWR0aCBzbyB0aGUgbGFzdCB2aXNpYmxlIHRhZ3MgY2FuIGhhdmUgZWxsaXBzaXMgaWYgbmVlZGVkXG4gIC8vIC0gcmVtb3ZlIHRoZSBsYXN0IHRhZyBpZiB0aGUgcG9wb3ZlciBoYXZlIG5vIHBsYWNlIGFuZCBwdXNoIGl0IGluIHRvIHRoZSBoaWRkZW4gdGFncyBsaXN0XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc1JlYWR5ICYmIHBvcG92ZXJUcmlnZ2VyUmVmLmN1cnJlbnQ/Lm9mZnNldFdpZHRoKSB7XG4gICAgICBjb25zdCBuZXdQb3BvdmVyVHJpZ2dlcldpZHRoID0gcG9wb3ZlclRyaWdnZXJSZWYuY3VycmVudC5vZmZzZXRXaWR0aFxuXG4gICAgICAvLyBTZXQgcG9wb3ZlciB0cmlnZ2VyIHdpZHRoXG4gICAgICBzZXRQb3BvdmVyVHJpZ2dlcldpZHRoKG5ld1BvcG92ZXJUcmlnZ2VyV2lkdGgpXG5cbiAgICAgIC8vIFJlbW92ZSB0aGUgbGFzdCB0YWcgaWYgd2UgaGF2ZSBhIHBvcG92ZXIgYW5kIGFkZCBpdCB0byB0aGUgaGlkZGVuIHRhZ3NcbiAgICAgIGNvbnN0IHRhZ3NDb250YWluZXIgPSBjb250YWluZXJSZWYuY3VycmVudFxuICAgICAgY29uc3QgdGFnc0NvbnRhaW5lcldpZHRoID0gY29udGFpbmVyUmVmLmN1cnJlbnQ/Lm9mZnNldFdpZHRoIHx8IDBcbiAgICAgIGNvbnN0IHBhcmVudFdpZHRoID0gdGFnc0NvbnRhaW5lcj8ucGFyZW50RWxlbWVudD8ub2Zmc2V0V2lkdGggfHwgMFxuXG4gICAgICBpZiAoXG4gICAgICAgIHZpc2libGVUYWdzLmxlbmd0aCA+IDEgJiZcbiAgICAgICAgaGlkZGVuVGFncy5sZW5ndGggPiAwICYmXG4gICAgICAgIHRhZ3NDb250YWluZXJXaWR0aCArIG5ld1BvcG92ZXJUcmlnZ2VyV2lkdGggPiBwYXJlbnRXaWR0aFxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IHZpc2libGVUYWdzQ29weSA9IHZpc2libGVUYWdzLmZpbHRlcihcbiAgICAgICAgICAoXywgaW5kZXgpID0+IGluZGV4IDwgdmlzaWJsZVRhZ3MubGVuZ3RoIC0gMSxcbiAgICAgICAgKVxuICAgICAgICBjb25zdCB0YWdUb01vdmUgPSB2aXNpYmxlVGFnc1t2aXNpYmxlVGFncy5sZW5ndGggLSAxXVxuXG4gICAgICAgIHNldFZpc2libGVUYWdzKHZpc2libGVUYWdzQ29weSlcbiAgICAgICAgc2V0SGlkZGVuVGFncyhbdGFnVG9Nb3ZlLCAuLi5oaWRkZW5UYWdzXSlcbiAgICAgIH1cblxuICAgICAgc2V0SXNSZWFkeSh0cnVlKVxuICAgIH1cbiAgfSwgW2hpZGRlblRhZ3MsIGlzUmVhZHksIHRocmVzaG9sZCwgdmlzaWJsZVRhZ3MsIHZpc2libGVUYWdzLmxlbmd0aF0pXG5cbiAgLy8gUmVtb3ZlIHRoZSBoaWRkZW4gZGl2IHRoYXQgc2VydmVkIHRvIG1lYXN1cmUgdGhlIHJlbmRlcmVkIHRhZ3NcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNSZWFkeSAmJiBtZWFzdXJlUmVmLmN1cnJlbnQ/LnBhcmVudE5vZGUpIHtcbiAgICAgIG1lYXN1cmVSZWYuY3VycmVudC5yZW1vdmUoKVxuICAgIH1cbiAgfSwgW2lzUmVhZHldKVxuXG4gIGlmICghdGFncy5sZW5ndGgpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgY29uc3QgcmVuZGVyVGFnID0gKHRhZzogVGFnVHlwZSwgaW5kZXg6IG51bWJlciwgaXNFbGxpcHNpcyA9IGZhbHNlKSA9PiAoXG4gICAgPFRhZ1xuICAgICAgLy8gdXNlZnVsIHdoZW4gdHdvIHRhZ3MgYXJlIGlkZW50aWNhbCBgJHt0YWd9LSR7aW5kZXh9YFxuICAgICAga2V5PXtgJHtnZXRUYWdMYWJlbCh0YWcpfS0ke2luZGV4fWB9XG4gICAgICBjb3BpYWJsZT17Y29waWFibGV9XG4gICAgICBjb3B5VGV4dD17Y29weVRleHR9XG4gICAgICBjb3BpZWRUZXh0PXtjb3BpZWRUZXh0fVxuICAgICAgaWNvbj17dHlwZW9mIHRhZyA9PT0gJ29iamVjdCcgPyB0YWcuaWNvbiA6IHVuZGVmaW5lZH1cbiAgICAgIGNsYXNzTmFtZT17aXNFbGxpcHNpcyA/ICdlbGxpcHNlZCcgOiAnJ31cbiAgICA+XG4gICAgICB7Z2V0VGFnTGFiZWwodGFnKX1cbiAgICA8L1RhZz5cbiAgKVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZH1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHZpc2liaWxpdHk6IGlzUmVhZHkgPyAndmlzaWJsZScgOiAnaGlkZGVuJyxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPFN0eWxlZFRhZ0NvbnRhaW5lclxuICAgICAgICBnYXA9e1RBR1NfR0FQfVxuICAgICAgICBtdWx0aWxpbmU9e211bHRpbGluZX1cbiAgICAgICAgcG9wb3ZlclRyaWdnZXJXaWR0aD17cG9wb3ZlclRyaWdnZXJXaWR0aH1cbiAgICAgICAgcmVmPXtjb250YWluZXJSZWZ9XG4gICAgICA+XG4gICAgICAgIHt2aXNpYmxlVGFncy5tYXAoKHRhZywgaW5kZXgpID0+XG4gICAgICAgICAgcmVuZGVyVGFnKFxuICAgICAgICAgICAgdGFnLFxuICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgICAvLyBhZGQgZWxsaXBzaXMgdG8gbGFzdCB0YWdcbiAgICAgICAgICAgIGluZGV4ID09PSB2aXNpYmxlVGFncy5sZW5ndGggLSAxLFxuICAgICAgICAgICksXG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZFRhZ0NvbnRhaW5lcj5cbiAgICAgIHsvKiBBIGhpZGRlbiBkaXYgd2hpY2ggcmVuZGVycyB0aGUgdGFncyBzbyB3ZSBjYW4gbWVhc3VyZSB0aGVtICovfVxuICAgICAgPGRpdlxuICAgICAgICByZWY9e21lYXN1cmVSZWZ9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgdmlzaWJpbGl0eTogJ2hpZGRlbicsXG4gICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxTdHlsZWRUYWdDb250YWluZXIgZ2FwPXtUQUdTX0dBUH0+XG4gICAgICAgICAge3BvdGVudGlhbGx5VmlzaWJsZVRhZ3MubWFwKCh0YWcsIGluZGV4KSA9PiByZW5kZXJUYWcodGFnLCBpbmRleCkpfVxuICAgICAgICA8L1N0eWxlZFRhZ0NvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAge2hpZGRlblRhZ3MubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgIDxQb3BvdmVyXG4gICAgICAgICAgdGl0bGU9e3BvcG92ZXJUaXRsZX1cbiAgICAgICAgICB2aXNpYmxlPXtpc1BvcG92ZXJWaXNpYmxlfVxuICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgb25DbG9zZT17KCkgPT4gc2V0SXNQb3BvdmVyVmlzaWJsZShmYWxzZSl9XG4gICAgICAgICAgcGxhY2VtZW50PXtwb3BvdmVyUGxhY2VtZW50fVxuICAgICAgICAgIGNvbnRlbnQ9e1xuICAgICAgICAgICAgPFN0eWxlZFRhZ0NvbnRhaW5lciBtdWx0aWxpbmUgZ2FwPXtUQUdTX0dBUH0+XG4gICAgICAgICAgICAgIHtoaWRkZW5UYWdzLm1hcCgodGFnLCBpbmRleCkgPT4gcmVuZGVyVGFnKHRhZywgaW5kZXgpKX1cbiAgICAgICAgICAgIDwvU3R5bGVkVGFnQ29udGFpbmVyPlxuICAgICAgICAgIH1cbiAgICAgICAgPlxuICAgICAgICAgIDxUYWdzV3JhcHBlclxuICAgICAgICAgICAgcmVmPXtwb3BvdmVyVHJpZ2dlclJlZn1cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtgJHtkYXRhVGVzdElkID8/ICd0YWdsaXN0J30tb3BlbmB9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRJc1BvcG92ZXJWaXNpYmxlKHRydWUpfVxuICAgICAgICAgID5cbiAgICAgICAgICAgICt7aGlkZGVuVGFncy5sZW5ndGh9XG4gICAgICAgICAgPC9UYWdzV3JhcHBlcj5cbiAgICAgICAgPC9Qb3BvdmVyPlxuICAgICAgKX1cbiAgICA8L1N0eWxlZENvbnRhaW5lcj5cbiAgKVxufVxuIl19 */"));
31
33
  const StyledTagContainer = /* @__PURE__ */ _styled("div", process.env.NODE_ENV === "production" ? {
32
34
  target: "eb6op480"
33
35
  } : {
@@ -36,10 +38,22 @@ const StyledTagContainer = /* @__PURE__ */ _styled("div", process.env.NODE_ENV =
36
38
  })("display:flex;align-items:center;color:", ({
37
39
  theme
38
40
  }) => theme.colors.neutral.text, ";gap:", ({
39
- theme
40
- }) => theme.space["1"], ";", ({
41
+ gap
42
+ }) => gap, ";", ({
41
43
  multiline
42
- }) => multiline && `flex-wrap: wrap;`, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RhZ0xpc3QvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlCOEQiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWx0cmF2aW9sZXQvdWx0cmF2aW9sZXQvcGFja2FnZXMvdWkvc3JjL2NvbXBvbmVudHMvVGFnTGlzdC9pbmRleC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgdHlwZSB7IENvbXBvbmVudFByb3BzIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBQb3BvdmVyIH0gZnJvbSAnLi4vUG9wb3ZlcidcbmltcG9ydCB7IFRhZyB9IGZyb20gJy4uL1RhZydcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbmBcblxuY29uc3QgVGFnc1dyYXBwZXIgPSBzdHlsZWQuc3BhbmBcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS50ZXh0fTtcbiAgYm9yZGVyOiBub25lO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiAzNTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IHByZTtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgcGFkZGluZy1yaWdodDogOHB4O1xuYFxuXG5jb25zdCBTdHlsZWRUYWdDb250YWluZXIgPSBzdHlsZWQuZGl2PHsgbXVsdGlsaW5lPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dH07XG4gIGdhcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfTtcbiAgJHsoeyBtdWx0aWxpbmUgfSkgPT4gbXVsdGlsaW5lICYmIGBmbGV4LXdyYXA6IHdyYXA7YH07XG5gXG5cbnR5cGUgVGFnTGlzdFByb3BzID0ge1xuICAvKipcbiAgICogVGhpcyBwcm9wZXJ0eSBkZWZpbmUgbWF4aW11bSBjaGFyYWN0ZXJzIGxlbmd0aCBvZiBhbGwgdGFncyB1bnRpbCBpdCBoaWRlIHRhZ3MgaW50byB0b29sdGlwLlxuICAgKi9cbiAgbWF4TGVuZ3RoPzogbnVtYmVyXG4gIHRhZ3M/OiAoXG4gICAgfCBzdHJpbmdcbiAgICB8IHsgbGFiZWw6IHN0cmluZzsgaWNvbjogTm9uTnVsbGFibGU8Q29tcG9uZW50UHJvcHM8dHlwZW9mIFRhZz5bJ2ljb24nXT4gfVxuICApW11cbiAgLyoqXG4gICAqIFRoaXMgcHJvcGVydHkgZGVmaW5lIG1heGltdW0gY2hhcmFjdGVycyBsZW5ndGggb2YgYWxsIHRhZ3MgdW50aWwgaXQgaGlkZSB0YWdzIGludG8gdG9vbHRpcC5cbiAgICovXG4gIHRocmVzaG9sZD86IG51bWJlclxuICAvKipcbiAgICogVGhpcyBwcm9wZXJ0eSBkZWZpbmUgbWF4aW11bSB3aWR0aCBvZiBlYWNoIHRhZy4gVGhpcyBkb2Vzbid0IGFwcGx5IGZvciB0YWdzIGluIHRvb2x0aXAuXG4gICAqL1xuICBtdWx0aWxpbmU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBUaGlzIHByb3BlcnR5IGRlZmluZSB0aGUgdGl0bGUgb2YgdGhlIFBvcG92ZXIsIHdoZW4gc29tZSB0YWdzIGFyZSBoaWRkZW4gYmVjYXVzZSBvZiB0aGUgdGhyZXNob2xkLlxuICAgKi9cbiAgcG9wb3ZlclRpdGxlOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSBwb3BvdmVyIHdpbGwgYmUgcGxhY2VkIGF1dG9tYXRpY2FsbHkgYnkgZGVmYXVsdC4gWW91IGNhbiBhbHNvIHNwZWNpZnkgdGhlIHBsYWNlbWVudCBvZiB0aGUgcG9wb3ZlciB0aHJvdWdoXG4gICAqIHRoaXMgcHJvcGVydHkuXG4gICAqL1xuICBwb3BvdmVyUGxhY2VtZW50PzogQ29tcG9uZW50UHJvcHM8dHlwZW9mIFBvcG92ZXI+WydwbGFjZW1lbnQnXVxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgJ2RhdGEtdGVzdGlkJz86IHN0cmluZ1xufSAmIFBpY2s8Q29tcG9uZW50UHJvcHM8dHlwZW9mIFRhZz4sICdjb3BpYWJsZScgfCAnY29weVRleHQnIHwgJ2NvcGllZFRleHQnPlxuXG5jb25zdCBERUZBVUxUX1RBR1M6IFRhZ0xpc3RQcm9wc1sndGFncyddID0gW11cblxuY29uc3QgZ2V0VGFnTGFiZWwgPSAodGFnOiBOb25OdWxsYWJsZTxUYWdMaXN0UHJvcHNbJ3RhZ3MnXT5bbnVtYmVyXSkgPT5cbiAgdHlwZW9mIHRhZyA9PT0gJ29iamVjdCcgPyB0YWcubGFiZWwgOiB0YWdcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyB1c2VkIHRvIGRpc3BsYXkgYSBsaXN0IG9mIHRhZ3Mgd2l0aCBhIHRocmVzaG9sZCBhbmQgYSBwb3BvdmVyIHdoZW4gdGhlcmUgYXJlIHRvbyBtYW55IHRhZ3MuXG4gKi9cbmV4cG9ydCBjb25zdCBUYWdMaXN0ID0gKHtcbiAgbWF4TGVuZ3RoID0gNjAwLFxuICB0YWdzID0gREVGQVVMVF9UQUdTLFxuICB0aHJlc2hvbGQgPSAxLFxuICBtdWx0aWxpbmUgPSBmYWxzZSxcbiAgcG9wb3ZlclRpdGxlLFxuICBwb3BvdmVyUGxhY2VtZW50LFxuICBjb3BpYWJsZSxcbiAgY29weVRleHQsXG4gIGNvcGllZFRleHQsXG4gIGNsYXNzTmFtZSxcbiAgJ2RhdGEtdGVzdGlkJzogZGF0YVRlc3RJZCxcbn06IFRhZ0xpc3RQcm9wcykgPT4ge1xuICBsZXQgdG1wVGhyZXNob2xkID0gdGhyZXNob2xkXG4gIGlmIChcbiAgICB0YWdzLmxlbmd0aCA+IDAgJiZcbiAgICB0YWdzXG4gICAgICAuc2xpY2UoMCwgdG1wVGhyZXNob2xkKVxuICAgICAgLnJlZHVjZTxzdHJpbmc+KChhY2MsIHRhZykgPT4gYWNjICsgZ2V0VGFnTGFiZWwodGFnKSwgJycpLmxlbmd0aCA+XG4gICAgICBtYXhMZW5ndGhcbiAgKSB7XG4gICAgLy8gSWYgdG90YWwgdGFncyBsZW5ndGggaW4gY2hhcmFjdGVycyBpcyBhYm92ZSBtYXhMZW5ndGgsXG4gICAgLy8gdGhyZXNob2xkIGlzIGRlY3JlbWVudGVkIGluIG9yZGVyIHRvIHByZXZlbnQgdG9vIG1hbnkgbG9uZyB0YWdzIGRpc3BsYXllZC5cbiAgICB0bXBUaHJlc2hvbGQgLT0gMVxuICB9XG4gIGNvbnN0IGhhc01hbnlUYWdzID0gdGFncy5sZW5ndGggPiB0bXBUaHJlc2hvbGQgfHwgZmFsc2VcbiAgY29uc3QgdmlzaWJsZVRhZ3NDb3VudCA9IGhhc01hbnlUYWdzID8gdG1wVGhyZXNob2xkIDogdGFncy5sZW5ndGhcblxuICBjb25zdCBbaXNWaXNpYmxlLCBzZXRJc1Zpc2libGVdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgaWYgKCF0YWdzLmxlbmd0aCkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRDb250YWluZXIgY2xhc3NOYW1lPXtjbGFzc05hbWV9IGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkfT5cbiAgICAgIDxTdHlsZWRUYWdDb250YWluZXIgbXVsdGlsaW5lPXttdWx0aWxpbmV9PlxuICAgICAgICB7dGFncy5zbGljZSgwLCB2aXNpYmxlVGFnc0NvdW50KS5tYXAoKHRhZywgaW5kZXgpID0+IChcbiAgICAgICAgICA8VGFnXG4gICAgICAgICAgICAvLyB1c2VmdWwgd2hlbiB0d28gdGFncyBhcmUgaWRlbnRpY2FsIGAke3RhZ30tJHtpbmRleH1gXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tYXJyYXktaW5kZXgta2V5XG4gICAgICAgICAgICBrZXk9e2Ake2dldFRhZ0xhYmVsKHRhZyl9LSR7aW5kZXh9YH1cbiAgICAgICAgICAgIGNvcGlhYmxlPXtjb3BpYWJsZX1cbiAgICAgICAgICAgIGNvcHlUZXh0PXtjb3B5VGV4dH1cbiAgICAgICAgICAgIGNvcGllZFRleHQ9e2NvcGllZFRleHR9XG4gICAgICAgICAgICBpY29uPXt0eXBlb2YgdGFnID09PSAnb2JqZWN0JyA/IHRhZy5pY29uIDogdW5kZWZpbmVkfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtnZXRUYWdMYWJlbCh0YWcpfVxuICAgICAgICAgIDwvVGFnPlxuICAgICAgICApKX1cbiAgICAgIDwvU3R5bGVkVGFnQ29udGFpbmVyPlxuICAgICAge2hhc01hbnlUYWdzID8gKFxuICAgICAgICA8UG9wb3ZlclxuICAgICAgICAgIHRpdGxlPXtwb3BvdmVyVGl0bGV9XG4gICAgICAgICAgdmlzaWJsZT17aXNWaXNpYmxlfVxuICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgb25DbG9zZT17KCkgPT4gc2V0SXNWaXNpYmxlKGZhbHNlKX1cbiAgICAgICAgICBwbGFjZW1lbnQ9e3BvcG92ZXJQbGFjZW1lbnR9XG4gICAgICAgICAgY29udGVudD17XG4gICAgICAgICAgICA8U3R5bGVkVGFnQ29udGFpbmVyIG11bHRpbGluZT5cbiAgICAgICAgICAgICAge3RhZ3Muc2xpY2UodmlzaWJsZVRhZ3NDb3VudCkubWFwKCh0YWcsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgPFRhZ1xuICAgICAgICAgICAgICAgICAgLy8gdXNlZnVsIHdoZW4gdHdvIHRhZ3MgYXJlIGlkZW50aWNhbCBgJHt0YWd9LSR7aW5kZXh9YFxuICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L25vLWFycmF5LWluZGV4LWtleVxuICAgICAgICAgICAgICAgICAga2V5PXtgJHtnZXRUYWdMYWJlbCh0YWcpfS0ke2luZGV4fWB9XG4gICAgICAgICAgICAgICAgICBjb3BpYWJsZT17Y29waWFibGV9XG4gICAgICAgICAgICAgICAgICBjb3B5VGV4dD17Y29weVRleHR9XG4gICAgICAgICAgICAgICAgICBjb3BpZWRUZXh0PXtjb3BpZWRUZXh0fVxuICAgICAgICAgICAgICAgICAgaWNvbj17dHlwZW9mIHRhZyA9PT0gJ29iamVjdCcgPyB0YWcuaWNvbiA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7Z2V0VGFnTGFiZWwodGFnKX1cbiAgICAgICAgICAgICAgICA8L1RhZz5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L1N0eWxlZFRhZ0NvbnRhaW5lcj5cbiAgICAgICAgICB9XG4gICAgICAgID5cbiAgICAgICAgICA8VGFnc1dyYXBwZXJcbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtgJHtkYXRhVGVzdElkID8/ICd0YWdsaXN0J30tb3BlbmB9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRJc1Zpc2libGUodHJ1ZSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgK3t0YWdzLmxlbmd0aCAtIHRtcFRocmVzaG9sZH1cbiAgICAgICAgICA8L1RhZ3NXcmFwcGVyPlxuICAgICAgICA8L1BvcG92ZXI+XG4gICAgICApIDogbnVsbH1cbiAgICA8L1N0eWxlZENvbnRhaW5lcj5cbiAgKVxufVxuIl19 */"));
44
+ }) => multiline && `flex-wrap: wrap;`, ";", ({
45
+ popoverTriggerWidth
46
+ }) => popoverTriggerWidth && `
47
+ &:has(.ellipsed) {
48
+ width: calc(100% - ${popoverTriggerWidth}px); // to let space for the +X button
49
+ max-width: fit-content;
50
+ }
51
+
52
+ & span, div {
53
+ width: 100%;
54
+ max-width: fit-content;
55
+ }
56
+ `, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RhZ0xpc3QvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdDRSIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy91aS9zcmMvY29tcG9uZW50cy9UYWdMaXN0L2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgY29uc29sZUxpZ2h0VGhlbWUgfSBmcm9tICdAdWx0cmF2aW9sZXQvdGhlbWVzJ1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgdHlwZSB7IENvbXBvbmVudFByb3BzIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBQb3BvdmVyIH0gZnJvbSAnLi4vUG9wb3ZlcidcbmltcG9ydCB7IFRhZyB9IGZyb20gJy4uL1RhZydcblxuY29uc3QgVEFHU19HQVAgPSBjb25zb2xlTGlnaHRUaGVtZS5zcGFjZVsnMSddXG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG5gXG5cbmNvbnN0IFRhZ3NXcmFwcGVyID0gc3R5bGVkLnNwYW5gXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkudGV4dH07XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIG1heC13aWR0aDogMzUwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbmBcblxuY29uc3QgU3R5bGVkVGFnQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7XG4gIGdhcDogc3RyaW5nXG4gIG11bHRpbGluZT86IGJvb2xlYW5cbiAgcG9wb3ZlclRyaWdnZXJXaWR0aD86IG51bWJlclxufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICBnYXA6ICR7KHsgZ2FwIH0pID0+IGdhcH07XG4gICR7KHsgbXVsdGlsaW5lIH0pID0+IG11bHRpbGluZSAmJiBgZmxleC13cmFwOiB3cmFwO2B9O1xuXG4gIC8vIHRvIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSB3ZSBoYXZlIG9uZSB0YWcgYW5kIHdlIG5lZWQgdG8gZWxsaXBzaXMgaXRcbiAgJHsoeyBwb3BvdmVyVHJpZ2dlcldpZHRoIH0pID0+XG4gICAgcG9wb3ZlclRyaWdnZXJXaWR0aCAmJlxuICAgIGBcbiAgICAgICY6aGFzKC5lbGxpcHNlZCkge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gJHtwb3BvdmVyVHJpZ2dlcldpZHRofXB4KTsgLy8gdG8gbGV0IHNwYWNlIGZvciB0aGUgK1ggYnV0dG9uXG4gICAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICB9XG5cbiAgICAgICYgc3BhbiwgZGl2IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICB9XG4gIGB9O1xuYFxuXG5leHBvcnQgdHlwZSBUYWdUeXBlID1cbiAgfCBzdHJpbmdcbiAgfCB7IGxhYmVsOiBzdHJpbmc7IGljb246IE5vbk51bGxhYmxlPENvbXBvbmVudFByb3BzPHR5cGVvZiBUYWc+WydpY29uJ10+IH1cblxudHlwZSBUYWdMaXN0UHJvcHMgPSB7XG4gIC8qKlxuICAgKiBUaGlzIHByb3BlcnR5IGRlZmluZSBtYXhpbXVtIGNoYXJhY3RlcnMgbGVuZ3RoIG9mIGFsbCB0YWdzIHVudGlsIGl0IGhpZGUgdGFncyBpbnRvIHRvb2x0aXAuXG4gICAqL1xuICBtYXhMZW5ndGg/OiBudW1iZXJcbiAgdGFncz86IFRhZ1R5cGVbXVxuICAvKipcbiAgICogVGhpcyBwcm9wZXJ0eSBkZWZpbmUgbWF4aW11bSBjaGFyYWN0ZXJzIGxlbmd0aCBvZiBhbGwgdGFncyB1bnRpbCBpdCBoaWRlIHRhZ3MgaW50byB0b29sdGlwLlxuICAgKiBOQjogdGhpcyB3aWxsIGJlIG92ZXJyaWRkZW4gaWYgdGhlIHBhcmVudCB3aWR0aCBpcyBzbWFsbGVyIGFuZCBjYW5ub3Qgc2hvdyBhbGwgdGhlIHRhZ3NcbiAgICovXG4gIHRocmVzaG9sZD86IG51bWJlclxuICAvKipcbiAgICogVGhpcyBwcm9wZXJ0eSBkZWZpbmUgbWF4aW11bSB3aWR0aCBvZiBlYWNoIHRhZy4gVGhpcyBkb2Vzbid0IGFwcGx5IGZvciB0YWdzIGluIHRvb2x0aXAuXG4gICAqL1xuICBtdWx0aWxpbmU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBUaGlzIHByb3BlcnR5IGRlZmluZSB0aGUgdGl0bGUgb2YgdGhlIFBvcG92ZXIsIHdoZW4gc29tZSB0YWdzIGFyZSBoaWRkZW4gYmVjYXVzZSBvZiB0aGUgdGhyZXNob2xkLlxuICAgKi9cbiAgcG9wb3ZlclRpdGxlOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSBwb3BvdmVyIHdpbGwgYmUgcGxhY2VkIGF1dG9tYXRpY2FsbHkgYnkgZGVmYXVsdC4gWW91IGNhbiBhbHNvIHNwZWNpZnkgdGhlIHBsYWNlbWVudCBvZiB0aGUgcG9wb3ZlciB0aHJvdWdoXG4gICAqIHRoaXMgcHJvcGVydHkuXG4gICAqL1xuICBwb3BvdmVyUGxhY2VtZW50PzogQ29tcG9uZW50UHJvcHM8dHlwZW9mIFBvcG92ZXI+WydwbGFjZW1lbnQnXVxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgJ2RhdGEtdGVzdGlkJz86IHN0cmluZ1xufSAmIFBpY2s8Q29tcG9uZW50UHJvcHM8dHlwZW9mIFRhZz4sICdjb3BpYWJsZScgfCAnY29weVRleHQnIHwgJ2NvcGllZFRleHQnPlxuXG5jb25zdCBERUZBVUxUX1RBR1M6IFRhZ0xpc3RQcm9wc1sndGFncyddID0gW11cblxuY29uc3QgZ2V0VGFnTGFiZWwgPSAodGFnOiBOb25OdWxsYWJsZTxUYWdMaXN0UHJvcHNbJ3RhZ3MnXT5bbnVtYmVyXSkgPT5cbiAgdHlwZW9mIHRhZyA9PT0gJ29iamVjdCcgPyB0YWcubGFiZWwgOiB0YWdcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyB1c2VkIHRvIGRpc3BsYXkgYSBsaXN0IG9mIHRhZ3Mgd2l0aCBhIHRocmVzaG9sZCBhbmQgYSBwb3BvdmVyIHdoZW4gdGhlcmUgYXJlIHRvbyBtYW55IHRhZ3MuXG4gKi9cbmV4cG9ydCBjb25zdCBUYWdMaXN0ID0gKHtcbiAgbWF4TGVuZ3RoID0gNjAwLFxuICB0YWdzID0gREVGQVVMVF9UQUdTLFxuICB0aHJlc2hvbGQgPSAxLFxuICBtdWx0aWxpbmUgPSBmYWxzZSxcbiAgcG9wb3ZlclRpdGxlLFxuICBwb3BvdmVyUGxhY2VtZW50LFxuICBjb3BpYWJsZSxcbiAgY29weVRleHQsXG4gIGNvcGllZFRleHQsXG4gIGNsYXNzTmFtZSxcbiAgJ2RhdGEtdGVzdGlkJzogZGF0YVRlc3RJZCxcbn06IFRhZ0xpc3RQcm9wcykgPT4ge1xuICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IG1lYXN1cmVSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHBvcG92ZXJUcmlnZ2VyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuXG4gIC8vIEEgZmxhZyB0byBrZWVwIG9mIHdoZW4gd2Ugc2hvdyB0aGUgY29tcG9uZW50IGFzIHdlIHdlIG1pZ2h0IHVwZGF0ZSB0aGUgdmlzaWJsZSB0YWdzIGxpc3RcbiAgLy8gYWZ0ZXIgdGhlIGZpcnN0IHJlbmRlciAoIHRvIGtub3cgaWYgd2Ugc2hvdWxkIGFkZCBlbGxpcHNpcyB0byB0aGUgbGFzdCB2aXNpYmxlIHRhZ1xuICAvLyBvciByZWFkanVzdCB0aGUgdGFncyB3aGVuIGpvaW5lZCB3aXRoIHRoZSBwb3BvdmVyIHRyaWdnZXIgbWlnaHQgb3ZlcmZsb3cgdGhlIHBhcmVudCApXG4gIC8vIGFuZCB0aGlzIGNhdXNlcyBzb21lIGZsaWNrZXJpbmdcbiAgY29uc3QgW2lzUmVhZHksIHNldElzUmVhZHldID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgW2lzUG9wb3ZlclZpc2libGUsIHNldElzUG9wb3ZlclZpc2libGVdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtwb3BvdmVyVHJpZ2dlcldpZHRoLCBzZXRQb3BvdmVyVHJpZ2dlcldpZHRoXSA9IHVzZVN0YXRlKDApXG4gIGNvbnN0IFt2aXNpYmxlVGFncywgc2V0VmlzaWJsZVRhZ3NdID0gdXNlU3RhdGU8VGFnVHlwZVtdPihbXSlcbiAgY29uc3QgW2hpZGRlblRhZ3MsIHNldEhpZGRlblRhZ3NdID0gdXNlU3RhdGU8VGFnVHlwZVtdPihbXSlcblxuICAvLyBDb21wdXRlIHRtcFRocmVzaG9sZCwgcG90ZW50aWFsbHkgdmlzaWJsZSB0YWdzIGFuZCBzdXJlbHkgaGlkZGVuIHRhZ3NcbiAgY29uc3QgbWVtb2l6ZWRSZXN1bHQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBsZXQgdG1wVGhyZXNob2xkID0gdGhyZXNob2xkXG4gICAgaWYgKFxuICAgICAgdGFncy5sZW5ndGggPiAwICYmXG4gICAgICB0YWdzXG4gICAgICAgIC5zbGljZSgwLCB0bXBUaHJlc2hvbGQpXG4gICAgICAgIC5yZWR1Y2U8c3RyaW5nPigoYWNjLCB0YWcpID0+IGFjYyArIGdldFRhZ0xhYmVsKHRhZyksICcnKS5sZW5ndGggPlxuICAgICAgICBtYXhMZW5ndGhcbiAgICApIHtcbiAgICAgIHRtcFRocmVzaG9sZCAtPSAxXG4gICAgfVxuXG4gICAgY29uc3QgcG90ZW50aWFsbHlWaXNpYmxlVGFnc0xlbmd0aCA9XG4gICAgICB0YWdzLmxlbmd0aCA+IHRtcFRocmVzaG9sZCB8fCBmYWxzZSA/IHRtcFRocmVzaG9sZCA6IHRhZ3MubGVuZ3RoXG4gICAgY29uc3QgcG90ZW50aWFsbHlWaXNpYmxlVGFncyA9IHRhZ3Muc2xpY2UoMCwgcG90ZW50aWFsbHlWaXNpYmxlVGFnc0xlbmd0aClcbiAgICBjb25zdCBzdXJlbHlIaWRkZW5UYWdzID0gdGFncy5zbGljZShwb3RlbnRpYWxseVZpc2libGVUYWdzTGVuZ3RoKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRtcFRocmVzaG9sZCxcbiAgICAgIHBvdGVudGlhbGx5VmlzaWJsZVRhZ3MsXG4gICAgICBzdXJlbHlIaWRkZW5UYWdzLFxuICAgIH1cbiAgfSwgW21heExlbmd0aCwgdGFncywgdGhyZXNob2xkXSlcblxuICBjb25zdCB7IHRtcFRocmVzaG9sZCwgcG90ZW50aWFsbHlWaXNpYmxlVGFncywgc3VyZWx5SGlkZGVuVGFncyB9ID1cbiAgICBtZW1vaXplZFJlc3VsdFxuXG4gIC8vIENvbXB1dGUgdmlzaWJsZSB0YWdzIGFuZCBoaWRkZW4gb25lcyBiYXNlZCBvbiB0aGUgY29udGFpbmVyIHdpZHRoIGFuZFxuICAvLyB3aGF0IGNhbiBmaXQgaW50byBpdCBmcm9tIHRoZSBwb3RlbnRpYWxseSB2aXNpYmxlIHRhZ3NcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXRhZ3MubGVuZ3RoIHx8ICFjb250YWluZXJSZWYuY3VycmVudCB8fCAhbWVhc3VyZVJlZi5jdXJyZW50KSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAobXVsdGlsaW5lKSB7XG4gICAgICBzZXRWaXNpYmxlVGFncyhwb3RlbnRpYWxseVZpc2libGVUYWdzKVxuICAgICAgc2V0SGlkZGVuVGFncyhzdXJlbHlIaWRkZW5UYWdzKVxuICAgICAgc2V0SXNSZWFkeSh0cnVlKVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBwYXJlbnRXaWR0aCA9IGNvbnRhaW5lclJlZi5jdXJyZW50LnBhcmVudEVsZW1lbnQ/Lm9mZnNldFdpZHRoIHx8IDBcblxuICAgIGNvbnN0IHRvTWVhc3VyZUVsZW1lbnRzOiBIVE1MQ29sbGVjdGlvbiA9XG4gICAgICBtZWFzdXJlUmVmLmN1cnJlbnQuY2hpbGRyZW5bMF0uY2hpbGRyZW5cblxuICAgIGNvbnN0IFtmaXJzdFRhZywgLi4ucmVzdE9mVG9NZWFzdXJlRWxlbWVudHNdID0gWy4uLnRvTWVhc3VyZUVsZW1lbnRzXVxuXG4gICAgY29uc3QgeyBtZWFzdXJlZFZpc2libGVUYWdzLCBtZWFzdXJlZEhpZGRlblRhZ3MgfSA9XG4gICAgICByZXN0T2ZUb01lYXN1cmVFbGVtZW50cy5yZWR1Y2UoXG4gICAgICAgIChcbiAgICAgICAgICBhY2N1bXVsYXRvcjoge1xuICAgICAgICAgICAgbWVhc3VyZWRWaXNpYmxlVGFnczogVGFnVHlwZVtdXG4gICAgICAgICAgICBtZWFzdXJlZEhpZGRlblRhZ3M6IFRhZ1R5cGVbXVxuICAgICAgICAgICAgYWNjdW11bGF0ZWRXaWR0aDogbnVtYmVyXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjdXJyZW50VmFsdWUsXG4gICAgICAgICAgaW5kZXgsXG4gICAgICAgICk6IHtcbiAgICAgICAgICBtZWFzdXJlZFZpc2libGVUYWdzOiBUYWdUeXBlW11cbiAgICAgICAgICBtZWFzdXJlZEhpZGRlblRhZ3M6IFRhZ1R5cGVbXVxuICAgICAgICAgIGFjY3VtdWxhdGVkV2lkdGg6IG51bWJlclxuICAgICAgICB9ID0+IHtcbiAgICAgICAgICBjb25zdCBuZXdBY2N1bXVsYXRlZFdpZHRoID1cbiAgICAgICAgICAgIGFjY3VtdWxhdG9yLmFjY3VtdWxhdGVkV2lkdGggK1xuICAgICAgICAgICAgKGN1cnJlbnRWYWx1ZSBhcyBIVE1MRGl2RWxlbWVudCkub2Zmc2V0V2lkdGggK1xuICAgICAgICAgICAgcGFyc2VJbnQoVEFHU19HQVAsIDEwKVxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG1lYXN1cmVkVmlzaWJsZVRhZ3M6IFtcbiAgICAgICAgICAgICAgLi4uYWNjdW11bGF0b3IubWVhc3VyZWRWaXNpYmxlVGFncyxcbiAgICAgICAgICAgICAgbmV3QWNjdW11bGF0ZWRXaWR0aCA8PSBwYXJlbnRXaWR0aCAmJiB0YWdzW2luZGV4ICsgMV0sXG4gICAgICAgICAgICBdLmZpbHRlcihCb29sZWFuKSBhcyBUYWdUeXBlW10sXG4gICAgICAgICAgICBtZWFzdXJlZEhpZGRlblRhZ3M6IFtcbiAgICAgICAgICAgICAgLi4uYWNjdW11bGF0b3IubWVhc3VyZWRIaWRkZW5UYWdzLFxuICAgICAgICAgICAgICBuZXdBY2N1bXVsYXRlZFdpZHRoID4gcGFyZW50V2lkdGggJiYgdGFnc1tpbmRleCArIDFdLFxuICAgICAgICAgICAgXS5maWx0ZXIoQm9vbGVhbikgYXMgVGFnVHlwZVtdLFxuICAgICAgICAgICAgYWNjdW11bGF0ZWRXaWR0aDogbmV3QWNjdW11bGF0ZWRXaWR0aCxcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtZWFzdXJlZFZpc2libGVUYWdzOiBbdGFnc1swXV0sIC8vIHdlIG5lZWQgdG8gYWx3YXlzIHNob3cgb25lIHRhZ1xuICAgICAgICAgIG1lYXN1cmVkSGlkZGVuVGFnczogW10sXG4gICAgICAgICAgYWNjdW11bGF0ZWRXaWR0aDpcbiAgICAgICAgICAgIChmaXJzdFRhZyBhcyBIVE1MRGl2RWxlbWVudCkub2Zmc2V0V2lkdGggKyBwYXJzZUludChUQUdTX0dBUCwgMTApLFxuICAgICAgICB9LFxuICAgICAgKVxuXG4gICAgY29uc3QgZmluYWxIaWRkZW5UYWdzID0gbWVhc3VyZWRIaWRkZW5UYWdzLmNvbmNhdChzdXJlbHlIaWRkZW5UYWdzKVxuXG4gICAgc2V0VmlzaWJsZVRhZ3MobWVhc3VyZWRWaXNpYmxlVGFncylcbiAgICBzZXRIaWRkZW5UYWdzKGZpbmFsSGlkZGVuVGFncylcblxuICAgIGlmICghZmluYWxIaWRkZW5UYWdzLmxlbmd0aCkge1xuICAgICAgc2V0SXNSZWFkeSh0cnVlKVxuICAgIH1cbiAgfSwgW1xuICAgIG11bHRpbGluZSxcbiAgICBwb3RlbnRpYWxseVZpc2libGVUYWdzLFxuICAgIHN1cmVseUhpZGRlblRhZ3MsXG4gICAgdGFncyxcbiAgICB0aHJlc2hvbGQsXG4gICAgdG1wVGhyZXNob2xkLFxuICBdKVxuXG4gIC8vIE9uY2UgdGhlIHBvcG92ZXIgdHJpZ2dlciBpcyBhdmFpbGFibGUgd2UgaGF2ZSB0bzpcbiAgLy8gLSB0byBnZXQgdGhlIHBvcG92ZXIgdHJpZ2dlciB3aWR0aCBzbyB0aGUgbGFzdCB2aXNpYmxlIHRhZ3MgY2FuIGhhdmUgZWxsaXBzaXMgaWYgbmVlZGVkXG4gIC8vIC0gcmVtb3ZlIHRoZSBsYXN0IHRhZyBpZiB0aGUgcG9wb3ZlciBoYXZlIG5vIHBsYWNlIGFuZCBwdXNoIGl0IGluIHRvIHRoZSBoaWRkZW4gdGFncyBsaXN0XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc1JlYWR5ICYmIHBvcG92ZXJUcmlnZ2VyUmVmLmN1cnJlbnQ/Lm9mZnNldFdpZHRoKSB7XG4gICAgICBjb25zdCBuZXdQb3BvdmVyVHJpZ2dlcldpZHRoID0gcG9wb3ZlclRyaWdnZXJSZWYuY3VycmVudC5vZmZzZXRXaWR0aFxuXG4gICAgICAvLyBTZXQgcG9wb3ZlciB0cmlnZ2VyIHdpZHRoXG4gICAgICBzZXRQb3BvdmVyVHJpZ2dlcldpZHRoKG5ld1BvcG92ZXJUcmlnZ2VyV2lkdGgpXG5cbiAgICAgIC8vIFJlbW92ZSB0aGUgbGFzdCB0YWcgaWYgd2UgaGF2ZSBhIHBvcG92ZXIgYW5kIGFkZCBpdCB0byB0aGUgaGlkZGVuIHRhZ3NcbiAgICAgIGNvbnN0IHRhZ3NDb250YWluZXIgPSBjb250YWluZXJSZWYuY3VycmVudFxuICAgICAgY29uc3QgdGFnc0NvbnRhaW5lcldpZHRoID0gY29udGFpbmVyUmVmLmN1cnJlbnQ/Lm9mZnNldFdpZHRoIHx8IDBcbiAgICAgIGNvbnN0IHBhcmVudFdpZHRoID0gdGFnc0NvbnRhaW5lcj8ucGFyZW50RWxlbWVudD8ub2Zmc2V0V2lkdGggfHwgMFxuXG4gICAgICBpZiAoXG4gICAgICAgIHZpc2libGVUYWdzLmxlbmd0aCA+IDEgJiZcbiAgICAgICAgaGlkZGVuVGFncy5sZW5ndGggPiAwICYmXG4gICAgICAgIHRhZ3NDb250YWluZXJXaWR0aCArIG5ld1BvcG92ZXJUcmlnZ2VyV2lkdGggPiBwYXJlbnRXaWR0aFxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IHZpc2libGVUYWdzQ29weSA9IHZpc2libGVUYWdzLmZpbHRlcihcbiAgICAgICAgICAoXywgaW5kZXgpID0+IGluZGV4IDwgdmlzaWJsZVRhZ3MubGVuZ3RoIC0gMSxcbiAgICAgICAgKVxuICAgICAgICBjb25zdCB0YWdUb01vdmUgPSB2aXNpYmxlVGFnc1t2aXNpYmxlVGFncy5sZW5ndGggLSAxXVxuXG4gICAgICAgIHNldFZpc2libGVUYWdzKHZpc2libGVUYWdzQ29weSlcbiAgICAgICAgc2V0SGlkZGVuVGFncyhbdGFnVG9Nb3ZlLCAuLi5oaWRkZW5UYWdzXSlcbiAgICAgIH1cblxuICAgICAgc2V0SXNSZWFkeSh0cnVlKVxuICAgIH1cbiAgfSwgW2hpZGRlblRhZ3MsIGlzUmVhZHksIHRocmVzaG9sZCwgdmlzaWJsZVRhZ3MsIHZpc2libGVUYWdzLmxlbmd0aF0pXG5cbiAgLy8gUmVtb3ZlIHRoZSBoaWRkZW4gZGl2IHRoYXQgc2VydmVkIHRvIG1lYXN1cmUgdGhlIHJlbmRlcmVkIHRhZ3NcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNSZWFkeSAmJiBtZWFzdXJlUmVmLmN1cnJlbnQ/LnBhcmVudE5vZGUpIHtcbiAgICAgIG1lYXN1cmVSZWYuY3VycmVudC5yZW1vdmUoKVxuICAgIH1cbiAgfSwgW2lzUmVhZHldKVxuXG4gIGlmICghdGFncy5sZW5ndGgpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgY29uc3QgcmVuZGVyVGFnID0gKHRhZzogVGFnVHlwZSwgaW5kZXg6IG51bWJlciwgaXNFbGxpcHNpcyA9IGZhbHNlKSA9PiAoXG4gICAgPFRhZ1xuICAgICAgLy8gdXNlZnVsIHdoZW4gdHdvIHRhZ3MgYXJlIGlkZW50aWNhbCBgJHt0YWd9LSR7aW5kZXh9YFxuICAgICAga2V5PXtgJHtnZXRUYWdMYWJlbCh0YWcpfS0ke2luZGV4fWB9XG4gICAgICBjb3BpYWJsZT17Y29waWFibGV9XG4gICAgICBjb3B5VGV4dD17Y29weVRleHR9XG4gICAgICBjb3BpZWRUZXh0PXtjb3BpZWRUZXh0fVxuICAgICAgaWNvbj17dHlwZW9mIHRhZyA9PT0gJ29iamVjdCcgPyB0YWcuaWNvbiA6IHVuZGVmaW5lZH1cbiAgICAgIGNsYXNzTmFtZT17aXNFbGxpcHNpcyA/ICdlbGxpcHNlZCcgOiAnJ31cbiAgICA+XG4gICAgICB7Z2V0VGFnTGFiZWwodGFnKX1cbiAgICA8L1RhZz5cbiAgKVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZH1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHZpc2liaWxpdHk6IGlzUmVhZHkgPyAndmlzaWJsZScgOiAnaGlkZGVuJyxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPFN0eWxlZFRhZ0NvbnRhaW5lclxuICAgICAgICBnYXA9e1RBR1NfR0FQfVxuICAgICAgICBtdWx0aWxpbmU9e211bHRpbGluZX1cbiAgICAgICAgcG9wb3ZlclRyaWdnZXJXaWR0aD17cG9wb3ZlclRyaWdnZXJXaWR0aH1cbiAgICAgICAgcmVmPXtjb250YWluZXJSZWZ9XG4gICAgICA+XG4gICAgICAgIHt2aXNpYmxlVGFncy5tYXAoKHRhZywgaW5kZXgpID0+XG4gICAgICAgICAgcmVuZGVyVGFnKFxuICAgICAgICAgICAgdGFnLFxuICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgICAvLyBhZGQgZWxsaXBzaXMgdG8gbGFzdCB0YWdcbiAgICAgICAgICAgIGluZGV4ID09PSB2aXNpYmxlVGFncy5sZW5ndGggLSAxLFxuICAgICAgICAgICksXG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZFRhZ0NvbnRhaW5lcj5cbiAgICAgIHsvKiBBIGhpZGRlbiBkaXYgd2hpY2ggcmVuZGVycyB0aGUgdGFncyBzbyB3ZSBjYW4gbWVhc3VyZSB0aGVtICovfVxuICAgICAgPGRpdlxuICAgICAgICByZWY9e21lYXN1cmVSZWZ9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgdmlzaWJpbGl0eTogJ2hpZGRlbicsXG4gICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxTdHlsZWRUYWdDb250YWluZXIgZ2FwPXtUQUdTX0dBUH0+XG4gICAgICAgICAge3BvdGVudGlhbGx5VmlzaWJsZVRhZ3MubWFwKCh0YWcsIGluZGV4KSA9PiByZW5kZXJUYWcodGFnLCBpbmRleCkpfVxuICAgICAgICA8L1N0eWxlZFRhZ0NvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAge2hpZGRlblRhZ3MubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgIDxQb3BvdmVyXG4gICAgICAgICAgdGl0bGU9e3BvcG92ZXJUaXRsZX1cbiAgICAgICAgICB2aXNpYmxlPXtpc1BvcG92ZXJWaXNpYmxlfVxuICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgb25DbG9zZT17KCkgPT4gc2V0SXNQb3BvdmVyVmlzaWJsZShmYWxzZSl9XG4gICAgICAgICAgcGxhY2VtZW50PXtwb3BvdmVyUGxhY2VtZW50fVxuICAgICAgICAgIGNvbnRlbnQ9e1xuICAgICAgICAgICAgPFN0eWxlZFRhZ0NvbnRhaW5lciBtdWx0aWxpbmUgZ2FwPXtUQUdTX0dBUH0+XG4gICAgICAgICAgICAgIHtoaWRkZW5UYWdzLm1hcCgodGFnLCBpbmRleCkgPT4gcmVuZGVyVGFnKHRhZywgaW5kZXgpKX1cbiAgICAgICAgICAgIDwvU3R5bGVkVGFnQ29udGFpbmVyPlxuICAgICAgICAgIH1cbiAgICAgICAgPlxuICAgICAgICAgIDxUYWdzV3JhcHBlclxuICAgICAgICAgICAgcmVmPXtwb3BvdmVyVHJpZ2dlclJlZn1cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtgJHtkYXRhVGVzdElkID8/ICd0YWdsaXN0J30tb3BlbmB9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRJc1BvcG92ZXJWaXNpYmxlKHRydWUpfVxuICAgICAgICAgID5cbiAgICAgICAgICAgICt7aGlkZGVuVGFncy5sZW5ndGh9XG4gICAgICAgICAgPC9UYWdzV3JhcHBlcj5cbiAgICAgICAgPC9Qb3BvdmVyPlxuICAgICAgKX1cbiAgICA8L1N0eWxlZENvbnRhaW5lcj5cbiAgKVxufVxuIl19 */"));
43
57
  const DEFAULT_TAGS = [];
44
58
  const getTagLabel = (tag) => typeof tag === "object" ? tag.label : tag;
45
59
  const TagList = ({
@@ -55,42 +69,123 @@ const TagList = ({
55
69
  className,
56
70
  "data-testid": dataTestId
57
71
  }) => {
58
- let tmpThreshold = threshold;
59
- if (tags.length > 0 && tags.slice(0, tmpThreshold).reduce((acc, tag) => acc + getTagLabel(tag), "").length > maxLength) {
60
- tmpThreshold -= 1;
61
- }
62
- const hasManyTags = tags.length > tmpThreshold || false;
63
- const visibleTagsCount = hasManyTags ? tmpThreshold : tags.length;
64
- const [isVisible, setIsVisible] = useState(false);
72
+ const containerRef = useRef(null);
73
+ const measureRef = useRef(null);
74
+ const popoverTriggerRef = useRef(null);
75
+ const [isReady, setIsReady] = useState(false);
76
+ const [isPopoverVisible, setIsPopoverVisible] = useState(false);
77
+ const [popoverTriggerWidth, setPopoverTriggerWidth] = useState(0);
78
+ const [visibleTags, setVisibleTags] = useState([]);
79
+ const [hiddenTags, setHiddenTags] = useState([]);
80
+ const memoizedResult = useMemo(() => {
81
+ let tmpThreshold2 = threshold;
82
+ if (tags.length > 0 && tags.slice(0, tmpThreshold2).reduce((acc, tag) => acc + getTagLabel(tag), "").length > maxLength) {
83
+ tmpThreshold2 -= 1;
84
+ }
85
+ const potentiallyVisibleTagsLength = tags.length > tmpThreshold2 || false ? tmpThreshold2 : tags.length;
86
+ const potentiallyVisibleTags2 = tags.slice(0, potentiallyVisibleTagsLength);
87
+ const surelyHiddenTags2 = tags.slice(potentiallyVisibleTagsLength);
88
+ return {
89
+ tmpThreshold: tmpThreshold2,
90
+ potentiallyVisibleTags: potentiallyVisibleTags2,
91
+ surelyHiddenTags: surelyHiddenTags2
92
+ };
93
+ }, [maxLength, tags, threshold]);
94
+ const {
95
+ tmpThreshold,
96
+ potentiallyVisibleTags,
97
+ surelyHiddenTags
98
+ } = memoizedResult;
99
+ useEffect(() => {
100
+ if (!tags.length || !containerRef.current || !measureRef.current) {
101
+ return;
102
+ }
103
+ if (multiline) {
104
+ setVisibleTags(potentiallyVisibleTags);
105
+ setHiddenTags(surelyHiddenTags);
106
+ setIsReady(true);
107
+ return;
108
+ }
109
+ const parentWidth = containerRef.current.parentElement?.offsetWidth || 0;
110
+ const toMeasureElements = measureRef.current.children[0].children;
111
+ const [firstTag, ...restOfToMeasureElements] = [...toMeasureElements];
112
+ const {
113
+ measuredVisibleTags,
114
+ measuredHiddenTags
115
+ } = restOfToMeasureElements.reduce((accumulator, currentValue, index) => {
116
+ const newAccumulatedWidth = accumulator.accumulatedWidth + currentValue.offsetWidth + parseInt(TAGS_GAP, 10);
117
+ return {
118
+ measuredVisibleTags: [...accumulator.measuredVisibleTags, newAccumulatedWidth <= parentWidth && tags[index + 1]].filter(Boolean),
119
+ measuredHiddenTags: [...accumulator.measuredHiddenTags, newAccumulatedWidth > parentWidth && tags[index + 1]].filter(Boolean),
120
+ accumulatedWidth: newAccumulatedWidth
121
+ };
122
+ }, {
123
+ measuredVisibleTags: [tags[0]],
124
+ // we need to always show one tag
125
+ measuredHiddenTags: [],
126
+ accumulatedWidth: firstTag.offsetWidth + parseInt(TAGS_GAP, 10)
127
+ });
128
+ const finalHiddenTags = measuredHiddenTags.concat(surelyHiddenTags);
129
+ setVisibleTags(measuredVisibleTags);
130
+ setHiddenTags(finalHiddenTags);
131
+ if (!finalHiddenTags.length) {
132
+ setIsReady(true);
133
+ }
134
+ }, [multiline, potentiallyVisibleTags, surelyHiddenTags, tags, threshold, tmpThreshold]);
135
+ useEffect(() => {
136
+ if (!isReady && popoverTriggerRef.current?.offsetWidth) {
137
+ const newPopoverTriggerWidth = popoverTriggerRef.current.offsetWidth;
138
+ setPopoverTriggerWidth(newPopoverTriggerWidth);
139
+ const tagsContainer = containerRef.current;
140
+ const tagsContainerWidth = containerRef.current?.offsetWidth || 0;
141
+ const parentWidth = tagsContainer?.parentElement?.offsetWidth || 0;
142
+ if (visibleTags.length > 1 && hiddenTags.length > 0 && tagsContainerWidth + newPopoverTriggerWidth > parentWidth) {
143
+ const visibleTagsCopy = visibleTags.filter((_, index) => index < visibleTags.length - 1);
144
+ const tagToMove = visibleTags[visibleTags.length - 1];
145
+ setVisibleTags(visibleTagsCopy);
146
+ setHiddenTags([tagToMove, ...hiddenTags]);
147
+ }
148
+ setIsReady(true);
149
+ }
150
+ }, [hiddenTags, isReady, threshold, visibleTags, visibleTags.length]);
151
+ useEffect(() => {
152
+ if (isReady && measureRef.current?.parentNode) {
153
+ measureRef.current.remove();
154
+ }
155
+ }, [isReady]);
65
156
  if (!tags.length) {
66
157
  return null;
67
158
  }
68
- return /* @__PURE__ */ jsxs(StyledContainer, { className, "data-testid": dataTestId, children: [
69
- /* @__PURE__ */ jsx(StyledTagContainer, { multiline, children: tags.slice(0, visibleTagsCount).map((tag, index) => /* @__PURE__ */ jsx(
70
- Tag,
71
- {
72
- copiable,
73
- copyText,
74
- copiedText,
75
- icon: typeof tag === "object" ? tag.icon : void 0,
76
- children: getTagLabel(tag)
77
- },
78
- `${getTagLabel(tag)}-${index}`
159
+ const renderTag = (tag, index, isEllipsis = false) => /* @__PURE__ */ jsx(
160
+ Tag,
161
+ {
162
+ copiable,
163
+ copyText,
164
+ copiedText,
165
+ icon: typeof tag === "object" ? tag.icon : void 0,
166
+ className: isEllipsis ? "ellipsed" : "",
167
+ children: getTagLabel(tag)
168
+ },
169
+ `${getTagLabel(tag)}-${index}`
170
+ );
171
+ return /* @__PURE__ */ jsxs(StyledContainer, { className, "data-testid": dataTestId, style: {
172
+ visibility: isReady ? "visible" : "hidden"
173
+ }, children: [
174
+ /* @__PURE__ */ jsx(StyledTagContainer, { gap: TAGS_GAP, multiline, popoverTriggerWidth, ref: containerRef, children: visibleTags.map((tag, index) => renderTag(
175
+ tag,
176
+ index,
177
+ // add ellipsis to last tag
178
+ index === visibleTags.length - 1
79
179
  )) }),
80
- hasManyTags ? /* @__PURE__ */ jsx(Popover, { title: popoverTitle, visible: isVisible, size: "small", onClose: () => setIsVisible(false), placement: popoverPlacement, content: /* @__PURE__ */ jsx(StyledTagContainer, { multiline: true, children: tags.slice(visibleTagsCount).map((tag, index) => /* @__PURE__ */ jsx(
81
- Tag,
82
- {
83
- copiable,
84
- copyText,
85
- copiedText,
86
- icon: typeof tag === "object" ? tag.icon : void 0,
87
- children: getTagLabel(tag)
88
- },
89
- `${getTagLabel(tag)}-${index}`
90
- )) }), children: /* @__PURE__ */ jsxs(TagsWrapper, { "data-testid": `${dataTestId ?? "taglist"}-open`, onClick: () => setIsVisible(true), children: [
180
+ /* @__PURE__ */ jsx("div", { ref: measureRef, style: {
181
+ visibility: "hidden",
182
+ position: "absolute",
183
+ whiteSpace: "nowrap"
184
+ }, children: /* @__PURE__ */ jsx(StyledTagContainer, { gap: TAGS_GAP, children: potentiallyVisibleTags.map((tag, index) => renderTag(tag, index)) }) }),
185
+ hiddenTags.length > 0 && /* @__PURE__ */ jsx(Popover, { title: popoverTitle, visible: isPopoverVisible, size: "small", onClose: () => setIsPopoverVisible(false), placement: popoverPlacement, content: /* @__PURE__ */ jsx(StyledTagContainer, { multiline: true, gap: TAGS_GAP, children: hiddenTags.map((tag, index) => renderTag(tag, index)) }), children: /* @__PURE__ */ jsxs(TagsWrapper, { ref: popoverTriggerRef, "data-testid": `${dataTestId ?? "taglist"}-open`, onClick: () => setIsPopoverVisible(true), children: [
91
186
  "+",
92
- tags.length - tmpThreshold
93
- ] }) }) : null
187
+ hiddenTags.length
188
+ ] }) })
94
189
  ] });
95
190
  };
96
191
  export {
@@ -17,6 +17,7 @@ export { DateInput } from './DateInput';
17
17
  export { Dialog } from './Dialog';
18
18
  export { EmptyState } from './EmptyState';
19
19
  export { Expandable } from './Expandable';
20
+ export { ExpandableCard } from './ExpandableCard';
20
21
  export { GlobalAlert } from './GlobalAlert';
21
22
  export { LineChart } from './LineChart';
22
23
  export { Link } from './Link';
package/dist/index.cjs CHANGED
@@ -26,59 +26,60 @@ const index$g = require("./components/DateInput/index.cjs");
26
26
  const index$h = require("./components/Dialog/index.cjs");
27
27
  const index$i = require("./components/EmptyState/index.cjs");
28
28
  const index$j = require("./components/Expandable/index.cjs");
29
- const index$k = require("./components/GlobalAlert/index.cjs");
30
- const index$l = require("./components/LineChart/index.cjs");
31
- const index$m = require("./components/Link/index.cjs");
32
- const index$n = require("./components/List/index.cjs");
33
- const index$o = require("./components/Loader/index.cjs");
34
- const index$p = require("./components/Menu/index.cjs");
35
- const index$q = require("./components/MenuV2/index.cjs");
36
- const index$r = require("./components/Meter/index.cjs");
37
- const index$s = require("./components/Modal/index.cjs");
38
- const index$t = require("./components/Notice/index.cjs");
39
- const index$u = require("./components/Notification/index.cjs");
40
- const index$v = require("./components/NumberInput/index.cjs");
41
- const index$w = require("./components/NumberInputV2/index.cjs");
42
- const index$x = require("./components/Pagination/index.cjs");
43
- const index$y = require("./components/PasswordCheck/index.cjs");
44
- const index$z = require("./components/PasswordStrengthMeter/index.cjs");
45
- const index$A = require("./components/PieChart/index.cjs");
46
- const index$B = require("./components/Popover/index.cjs");
47
- const index$C = require("./components/Popup/index.cjs");
48
- const index$D = require("./components/ProgressBar/index.cjs");
49
- const index$E = require("./components/Radio/index.cjs");
50
- const index$F = require("./components/RadioGroup/index.cjs");
51
- const index$G = require("./components/Row/index.cjs");
52
- const index$H = require("./components/SearchInput/index.cjs");
53
- const index$I = require("./components/SelectableCard/index.cjs");
54
- const index$J = require("./components/SelectableCardGroup/index.cjs");
55
- const index$K = require("./components/SelectInput/index.cjs");
56
- const index$L = require("./components/SelectInputV2/index.cjs");
57
- const index$M = require("./components/Separator/index.cjs");
58
- const index$N = require("./components/Skeleton/index.cjs");
59
- const index$O = require("./components/Slider/index.cjs");
60
- const index$P = require("./components/Snippet/index.cjs");
61
- const index$Q = require("./components/Stack/index.cjs");
62
- const index$R = require("./components/Status/index.cjs");
63
- const index$S = require("./components/StepList/index.cjs");
64
- const index$T = require("./components/Stepper/index.cjs");
65
- const index$U = require("./components/SwitchButton/index.cjs");
66
- const index$V = require("./components/Table/index.cjs");
67
- const index$W = require("./components/Tabs/index.cjs");
68
- const index$X = require("./components/Tag/index.cjs");
69
- const index$Y = require("./components/TagInput/index.cjs");
70
- const index$Z = require("./components/TagList/index.cjs");
71
- const index$_ = require("./components/Text/index.cjs");
72
- const index$$ = require("./components/TextArea/index.cjs");
73
- const index$10 = require("./components/TextInput/index.cjs");
74
- const index$11 = require("./components/TextInputV2/index.cjs");
75
- const index$12 = require("./components/TimeInput/index.cjs");
76
- const index$13 = require("./components/Toaster/index.cjs");
77
- const index$14 = require("./components/Toggle/index.cjs");
78
- const index$15 = require("./components/ToggleGroup/index.cjs");
79
- const index$16 = require("./components/Tooltip/index.cjs");
80
- const index$17 = require("./components/UnitInput/index.cjs");
81
- const index$18 = require("./components/VerificationCode/index.cjs");
29
+ const index$k = require("./components/ExpandableCard/index.cjs");
30
+ const index$l = require("./components/GlobalAlert/index.cjs");
31
+ const index$m = require("./components/LineChart/index.cjs");
32
+ const index$n = require("./components/Link/index.cjs");
33
+ const index$o = require("./components/List/index.cjs");
34
+ const index$p = require("./components/Loader/index.cjs");
35
+ const index$q = require("./components/Menu/index.cjs");
36
+ const index$r = require("./components/MenuV2/index.cjs");
37
+ const index$s = require("./components/Meter/index.cjs");
38
+ const index$t = require("./components/Modal/index.cjs");
39
+ const index$u = require("./components/Notice/index.cjs");
40
+ const index$v = require("./components/Notification/index.cjs");
41
+ const index$w = require("./components/NumberInput/index.cjs");
42
+ const index$x = require("./components/NumberInputV2/index.cjs");
43
+ const index$y = require("./components/Pagination/index.cjs");
44
+ const index$z = require("./components/PasswordCheck/index.cjs");
45
+ const index$A = require("./components/PasswordStrengthMeter/index.cjs");
46
+ const index$B = require("./components/PieChart/index.cjs");
47
+ const index$C = require("./components/Popover/index.cjs");
48
+ const index$D = require("./components/Popup/index.cjs");
49
+ const index$E = require("./components/ProgressBar/index.cjs");
50
+ const index$F = require("./components/Radio/index.cjs");
51
+ const index$G = require("./components/RadioGroup/index.cjs");
52
+ const index$H = require("./components/Row/index.cjs");
53
+ const index$I = require("./components/SearchInput/index.cjs");
54
+ const index$J = require("./components/SelectableCard/index.cjs");
55
+ const index$K = require("./components/SelectableCardGroup/index.cjs");
56
+ const index$L = require("./components/SelectInput/index.cjs");
57
+ const index$M = require("./components/SelectInputV2/index.cjs");
58
+ const index$N = require("./components/Separator/index.cjs");
59
+ const index$O = require("./components/Skeleton/index.cjs");
60
+ const index$P = require("./components/Slider/index.cjs");
61
+ const index$Q = require("./components/Snippet/index.cjs");
62
+ const index$R = require("./components/Stack/index.cjs");
63
+ const index$S = require("./components/Status/index.cjs");
64
+ const index$T = require("./components/StepList/index.cjs");
65
+ const index$U = require("./components/Stepper/index.cjs");
66
+ const index$V = require("./components/SwitchButton/index.cjs");
67
+ const index$W = require("./components/Table/index.cjs");
68
+ const index$X = require("./components/Tabs/index.cjs");
69
+ const index$Y = require("./components/Tag/index.cjs");
70
+ const index$Z = require("./components/TagInput/index.cjs");
71
+ const index$_ = require("./components/TagList/index.cjs");
72
+ const index$$ = require("./components/Text/index.cjs");
73
+ const index$10 = require("./components/TextArea/index.cjs");
74
+ const index$11 = require("./components/TextInput/index.cjs");
75
+ const index$12 = require("./components/TextInputV2/index.cjs");
76
+ const index$13 = require("./components/TimeInput/index.cjs");
77
+ const index$14 = require("./components/Toaster/index.cjs");
78
+ const index$15 = require("./components/Toggle/index.cjs");
79
+ const index$16 = require("./components/ToggleGroup/index.cjs");
80
+ const index$17 = require("./components/Tooltip/index.cjs");
81
+ const index$18 = require("./components/UnitInput/index.cjs");
82
+ const index$19 = require("./components/VerificationCode/index.cjs");
82
83
  const icons = require("@ultraviolet/icons");
83
84
  exports.extendTheme = index.extendTheme;
84
85
  Object.defineProperty(exports, "darkTheme", {
@@ -141,61 +142,62 @@ exports.DateInput = index$g.DateInput;
141
142
  exports.Dialog = index$h.Dialog;
142
143
  exports.EmptyState = index$i.EmptyState;
143
144
  exports.Expandable = index$j.Expandable;
144
- exports.GlobalAlert = index$k.GlobalAlert;
145
- exports.LineChart = index$l.LineChart;
146
- exports.Link = index$m.Link;
147
- exports.List = index$n.List;
148
- exports.Loader = index$o.Loader;
149
- exports.Menu = index$p.Menu;
150
- exports.MenuV2 = index$q.MenuV2;
151
- exports.Meter = index$r.Meter;
152
- exports.Modal = index$s.Modal;
153
- exports.Notice = index$t.Notice;
154
- exports.NotificationContainer = index$u.NotificationContainer;
155
- exports.notification = index$u.notification;
156
- exports.NumberInput = index$v.NumberInput;
157
- exports.NumberInputV2 = index$w.NumberInputV2;
158
- exports.Pagination = index$x.Pagination;
159
- exports.PasswordCheck = index$y.PasswordCheck;
160
- exports.PasswordStrengthMeter = index$z.PasswordStrengthMeter;
161
- exports.PieChart = index$A.PieChart;
162
- exports.Popover = index$B.Popover;
163
- exports.Popup = index$C.Popup;
164
- exports.ProgressBar = index$D.ProgressBar;
165
- exports.Radio = index$E.Radio;
166
- exports.RadioGroup = index$F.RadioGroup;
167
- exports.Row = index$G.Row;
168
- exports.SearchInput = index$H.SearchInput;
169
- exports.SelectableCard = index$I.SelectableCard;
170
- exports.SelectableCardGroup = index$J.SelectableCardGroup;
171
- exports.SelectInput = index$K.SelectInput;
172
- exports.SelectInputV2 = index$L.SelectInputV2;
173
- exports.Separator = index$M.Separator;
174
- exports.Skeleton = index$N.Skeleton;
175
- exports.Slider = index$O.Slider;
176
- exports.Snippet = index$P.Snippet;
177
- exports.Stack = index$Q.Stack;
178
- exports.Status = index$R.Status;
179
- exports.StepList = index$S.StepList;
180
- exports.Stepper = index$T.Stepper;
181
- exports.SwitchButton = index$U.SwitchButton;
182
- exports.Table = index$V.Table;
183
- exports.Tabs = index$W.Tabs;
184
- exports.Tag = index$X.Tag;
185
- exports.TagInput = index$Y.TagInput;
186
- exports.TagList = index$Z.TagList;
187
- exports.Text = index$_.Text;
188
- exports.TextArea = index$$.TextArea;
189
- exports.TextInput = index$10.TextInput;
190
- exports.TextInputV2 = index$11.TextInputV2;
191
- exports.TimeInput = index$12.TimeInput;
192
- exports.ToastContainer = index$13.ToastContainer;
193
- exports.toast = index$13.toast;
194
- exports.Toggle = index$14.Toggle;
195
- exports.ToggleGroup = index$15.ToggleGroup;
196
- exports.Tooltip = index$16.Tooltip;
197
- exports.UnitInput = index$17.UnitInput;
198
- exports.VerificationCode = index$18.VerificationCode;
145
+ exports.ExpandableCard = index$k.ExpandableCard;
146
+ exports.GlobalAlert = index$l.GlobalAlert;
147
+ exports.LineChart = index$m.LineChart;
148
+ exports.Link = index$n.Link;
149
+ exports.List = index$o.List;
150
+ exports.Loader = index$p.Loader;
151
+ exports.Menu = index$q.Menu;
152
+ exports.MenuV2 = index$r.MenuV2;
153
+ exports.Meter = index$s.Meter;
154
+ exports.Modal = index$t.Modal;
155
+ exports.Notice = index$u.Notice;
156
+ exports.NotificationContainer = index$v.NotificationContainer;
157
+ exports.notification = index$v.notification;
158
+ exports.NumberInput = index$w.NumberInput;
159
+ exports.NumberInputV2 = index$x.NumberInputV2;
160
+ exports.Pagination = index$y.Pagination;
161
+ exports.PasswordCheck = index$z.PasswordCheck;
162
+ exports.PasswordStrengthMeter = index$A.PasswordStrengthMeter;
163
+ exports.PieChart = index$B.PieChart;
164
+ exports.Popover = index$C.Popover;
165
+ exports.Popup = index$D.Popup;
166
+ exports.ProgressBar = index$E.ProgressBar;
167
+ exports.Radio = index$F.Radio;
168
+ exports.RadioGroup = index$G.RadioGroup;
169
+ exports.Row = index$H.Row;
170
+ exports.SearchInput = index$I.SearchInput;
171
+ exports.SelectableCard = index$J.SelectableCard;
172
+ exports.SelectableCardGroup = index$K.SelectableCardGroup;
173
+ exports.SelectInput = index$L.SelectInput;
174
+ exports.SelectInputV2 = index$M.SelectInputV2;
175
+ exports.Separator = index$N.Separator;
176
+ exports.Skeleton = index$O.Skeleton;
177
+ exports.Slider = index$P.Slider;
178
+ exports.Snippet = index$Q.Snippet;
179
+ exports.Stack = index$R.Stack;
180
+ exports.Status = index$S.Status;
181
+ exports.StepList = index$T.StepList;
182
+ exports.Stepper = index$U.Stepper;
183
+ exports.SwitchButton = index$V.SwitchButton;
184
+ exports.Table = index$W.Table;
185
+ exports.Tabs = index$X.Tabs;
186
+ exports.Tag = index$Y.Tag;
187
+ exports.TagInput = index$Z.TagInput;
188
+ exports.TagList = index$_.TagList;
189
+ exports.Text = index$$.Text;
190
+ exports.TextArea = index$10.TextArea;
191
+ exports.TextInput = index$11.TextInput;
192
+ exports.TextInputV2 = index$12.TextInputV2;
193
+ exports.TimeInput = index$13.TimeInput;
194
+ exports.ToastContainer = index$14.ToastContainer;
195
+ exports.toast = index$14.toast;
196
+ exports.Toggle = index$15.Toggle;
197
+ exports.ToggleGroup = index$16.ToggleGroup;
198
+ exports.Tooltip = index$17.Tooltip;
199
+ exports.UnitInput = index$18.UnitInput;
200
+ exports.VerificationCode = index$19.VerificationCode;
199
201
  Object.defineProperty(exports, "Icon", {
200
202
  enumerable: true,
201
203
  get: () => icons.Icon
package/dist/index.js CHANGED
@@ -24,6 +24,7 @@ import { DateInput } from "./components/DateInput/index.js";
24
24
  import { Dialog } from "./components/Dialog/index.js";
25
25
  import { EmptyState } from "./components/EmptyState/index.js";
26
26
  import { Expandable } from "./components/Expandable/index.js";
27
+ import { ExpandableCard } from "./components/ExpandableCard/index.js";
27
28
  import { GlobalAlert } from "./components/GlobalAlert/index.js";
28
29
  import { LineChart } from "./components/LineChart/index.js";
29
30
  import { Link } from "./components/Link/index.js";
@@ -100,6 +101,7 @@ export {
100
101
  Dialog,
101
102
  EmptyState,
102
103
  Expandable,
104
+ ExpandableCard,
103
105
  GlobalAlert,
104
106
  Icon,
105
107
  LineChart,