@salutejs/plasma-new-hope 0.339.0-canary.2289.18750003812.0 → 0.339.0-canary.2289.18773957295.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 (46) hide show
  1. package/cjs/components/Calendar/ui/DateStructureItem/DateStructureItem.js +1 -1
  2. package/cjs/components/Calendar/ui/DateStructureItem/DateStructureItem.js.map +1 -1
  3. package/cjs/components/TextArea/TextArea.js +3 -2
  4. package/cjs/components/TextArea/TextArea.js.map +1 -1
  5. package/cjs/components/TextField/TextField.js +3 -2
  6. package/cjs/components/TextField/TextField.js.map +1 -1
  7. package/emotion/cjs/components/Calendar/ui/DateStructureItem/DateStructureItem.js +1 -1
  8. package/emotion/cjs/components/TextArea/TextArea.js +3 -3
  9. package/emotion/cjs/components/TextField/TextField.js +3 -3
  10. package/emotion/es/components/Calendar/ui/DateStructureItem/DateStructureItem.js +1 -1
  11. package/emotion/es/components/TextArea/TextArea.js +3 -3
  12. package/emotion/es/components/TextField/TextField.js +3 -3
  13. package/es/components/Calendar/ui/DateStructureItem/DateStructureItem.js +1 -1
  14. package/es/components/Calendar/ui/DateStructureItem/DateStructureItem.js.map +1 -1
  15. package/es/components/TextArea/TextArea.js +3 -2
  16. package/es/components/TextArea/TextArea.js.map +1 -1
  17. package/es/components/TextField/TextField.js +3 -2
  18. package/es/components/TextField/TextField.js.map +1 -1
  19. package/package.json +4 -4
  20. package/styled-components/cjs/components/Calendar/ui/DateStructureItem/DateStructureItem.js +1 -1
  21. package/styled-components/cjs/components/TextArea/TextArea.js +2 -2
  22. package/styled-components/cjs/components/TextField/TextField.js +2 -2
  23. package/styled-components/cjs/examples/components/Combobox/Combobox.js +15 -0
  24. package/styled-components/es/components/Calendar/ui/DateStructureItem/DateStructureItem.js +1 -1
  25. package/styled-components/es/components/TextArea/TextArea.js +2 -2
  26. package/styled-components/es/components/TextField/TextField.js +2 -2
  27. package/styled-components/es/examples/components/Combobox/Combobox.js +7 -0
  28. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts.map +1 -1
  29. package/types/components/Combobox/ComboboxNew/ui/Target/Target.styles.d.ts.map +1 -1
  30. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts.map +1 -1
  31. package/types/components/Range/Range.styles.d.ts.map +1 -1
  32. package/types/components/Select/ui/Target/ui/Textfield/Textfield.styles.d.ts.map +1 -1
  33. package/types/components/Slider/components/Double/Double.styles.d.ts.map +1 -1
  34. package/types/components/TextArea/TextArea.d.ts.map +1 -1
  35. package/types/components/TextArea/TextArea.types.d.ts +4 -0
  36. package/types/components/TextArea/TextArea.types.d.ts.map +1 -1
  37. package/types/components/TextField/TextField.d.ts.map +1 -1
  38. package/types/components/TextField/TextField.types.d.ts +4 -0
  39. package/types/components/TextField/TextField.types.d.ts.map +1 -1
  40. package/types/components/TimePicker/TimePicker.styles.d.ts.map +1 -1
  41. package/types/examples/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  42. package/types/examples/components/Mask/Mask.d.ts.map +1 -1
  43. package/types/examples/components/NumberFormat/NumberFormat.d.ts.map +1 -1
  44. package/types/examples/components/TextArea/TextArea.d.ts +8 -0
  45. package/types/examples/components/TextArea/TextArea.d.ts.map +1 -1
  46. package/types/examples/components/TextField/TextField.d.ts.map +1 -1
@@ -119,8 +119,7 @@ import { TextFieldChip, TextFieldChipNew } from "./ui";
119
119
  import { useKeyNavigation } from "./hooks";
120
120
  import { HintComponent } from "./ui/Hint/Hint";
121
121
  import { getInputWidth } from "./getInputWidth";
122
- var optionalText = 'optional';
123
- export var base = /*#__PURE__*/ css("display:block;", "base", "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0RmllbGQvVGV4dEZpZWxkLnRzeCIsInNvdXJjZXMiOlsic3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0RmllbGQvVGV4dEZpZWxkLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUge1xuICAgIEZvcm1FdmVudEhhbmRsZXIsXG4gICAgQ2hhbmdlRXZlbnRIYW5kbGVyLFxuICAgIEtleWJvYXJkRXZlbnQsXG4gICAgQ2hhbmdlRXZlbnQsXG4gICAgTW91c2VFdmVudEhhbmRsZXIsXG4gICAgQ2xpcGJvYXJkRXZlbnRIYW5kbGVyLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VGb3JrUmVmIH0gZnJvbSAnQHNhbHV0ZWpzL3BsYXNtYS1jb3JlJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IGN4LCBzYWZlVXNlSWQgfSBmcm9tICdzcmMvdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBSb290UHJvcHMgfSBmcm9tICdzcmMvZW5naW5lcyc7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tICdzcmMvaG9va3MnO1xuXG5pbXBvcnQgdHlwZSB7IENoaXBWYWx1ZXMsIFRleHRGaWVsZFByaW1pdGl2ZVZhbHVlLCBUZXh0RmllbGRQcm9wcywgVGV4dEZpZWxkUm9vdFByb3BzIH0gZnJvbSAnLi9UZXh0RmllbGQudHlwZXMnO1xuaW1wb3J0IHsgYmFzZSBhcyBzaXplQ1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19zaXplL2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyB2aWV3Q1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL192aWV3L2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBjbGVhckNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fY2xlYXIvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIGRpc2FibGVkQ1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19kaXNhYmxlZC9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgcmVhZE9ubHlDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3JlYWQtb25seS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgbGFiZWxQbGFjZW1lbnRDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2xhYmVsLXBsYWNlbWVudC9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgaGludFZpZXdDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2hpbnQtdmlldy9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgaGludFNpemVDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2hpbnQtc2l6ZS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgY2hpcFZpZXdDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2NoaXAtdmlldy9iYXNlJztcbmltcG9ydCB7XG4gICAgSW5wdXQsXG4gICAgSW5wdXRDb250YWluZXIsXG4gICAgTGVmdEhlbHBlcixcbiAgICBMYWJlbCxcbiAgICBJbnB1dFdyYXBwZXIsXG4gICAgSW5wdXRMYWJlbFdyYXBwZXIsXG4gICAgU3R5bGVkQ29udGVudExlZnQsXG4gICAgU3R5bGVkQ29udGVudFJpZ2h0LFxuICAgIFN0eWxlZENoaXBzLFxuICAgIFN0eWxlZFRleHRCZWZvcmUsXG4gICAgU3R5bGVkVGV4dEFmdGVyLFxuICAgIFN0eWxlZEluZGljYXRvcixcbiAgICBTdHlsZWRPcHRpb25hbFRleHQsXG4gICAgSW5wdXRQbGFjZWhvbGRlcixcbiAgICBPdXRlckxhYmVsV3JhcHBlcixcbiAgICBUaXRsZUNhcHRpb24sXG4gICAgU3R5bGVkSGludFdyYXBwZXIsXG4gICAgU3R5bGVkSW5kaWNhdG9yV3JhcHBlcixcbiAgICBTdHlsZWRDb250ZW50UmlnaHRXcmFwcGVyLFxufSBmcm9tICcuL1RleHRGaWVsZC5zdHlsZXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJy4vVGV4dEZpZWxkLnRva2Vucyc7XG5pbXBvcnQgeyBUZXh0RmllbGRDaGlwLCBUZXh0RmllbGRDaGlwTmV3IH0gZnJvbSAnLi91aSc7XG5pbXBvcnQgeyB1c2VLZXlOYXZpZ2F0aW9uIH0gZnJvbSAnLi9ob29rcyc7XG5pbXBvcnQgeyBIaW50Q29tcG9uZW50IH0gZnJvbSAnLi91aS9IaW50L0hpbnQnO1xuaW1wb3J0IHsgZ2V0SW5wdXRXaWR0aCB9IGZyb20gJy4vZ2V0SW5wdXRXaWR0aCc7XG5cbmNvbnN0IG9wdGlvbmFsVGV4dCA9ICdvcHRpb25hbCc7XG5cbmV4cG9ydCBjb25zdCBiYXNlID0gY3NzYFxuICAgIC8qIE5PVEU6IFdlYmtpdCDQvdC1INC/0YDQuNC80LXQvdGP0LXRgiBvcGFjaXR5INC6IGlubGluZSDRgtC10LPQsNC8ICovXG4gICAgZGlzcGxheTogYmxvY2s7XG5gO1xuXG5jb25zdCBISU5UX0RFRkFVTFRfT0ZGU0VUOiBbbnVtYmVyLCBudW1iZXJdID0gWzAsIDBdO1xuXG5leHBvcnQgY29uc3QgdGV4dEZpZWxkUm9vdCA9IChSb290OiBSb290UHJvcHM8SFRNTERpdkVsZW1lbnQsIFRleHRGaWVsZFJvb3RQcm9wcz4pID0+XG4gICAgZm9yd2FyZFJlZjxIVE1MSW5wdXRFbGVtZW50LCBUZXh0RmllbGRQcm9wcz4oXG4gICAgICAgIChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgc3R5bGUsXG5cbiAgICAgICAgICAgICAgICAvLyBsYXlvdXRcbiAgICAgICAgICAgICAgICBjb250ZW50TGVmdCxcbiAgICAgICAgICAgICAgICBjb250ZW50UmlnaHQsXG4gICAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAga2VlcFBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICAgIHRleHRCZWZvcmUsXG4gICAgICAgICAgICAgICAgdGV4dEFmdGVyLFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICAgIGxlZnRIZWxwZXIsXG4gICAgICAgICAgICAgICAgZW51bWVyYXRpb25UeXBlID0gJ3BsYWluJyxcbiAgICAgICAgICAgICAgICByZXF1aXJlZFBsYWNlbWVudCA9ICdyaWdodCcsXG4gICAgICAgICAgICAgICAgaGFzUmVxdWlyZWRJbmRpY2F0b3IgPSB0cnVlLFxuICAgICAgICAgICAgICAgIHRpdGxlQ2FwdGlvbixcbiAgICAgICAgICAgICAgICBjaGlwVmlldyA9ICdkZWZhdWx0JyxcbiAgICAgICAgICAgICAgICBjaGlwVmFsaWRhdG9yLFxuXG4gICAgICAgICAgICAgICAgLy8gaGludFxuICAgICAgICAgICAgICAgIGhpbnRUcmlnZ2VyID0gJ2hvdmVyJyxcbiAgICAgICAgICAgICAgICBoaW50VGV4dCxcbiAgICAgICAgICAgICAgICBoaW50VmlldyA9ICdkZWZhdWx0JyxcbiAgICAgICAgICAgICAgICBoaW50U2l6ZSA9ICdtJyxcbiAgICAgICAgICAgICAgICBoaW50VGFyZ2V0SWNvbixcbiAgICAgICAgICAgICAgICBoaW50VGFyZ2V0UGxhY2VtZW50ID0gJ291dGVyJyxcbiAgICAgICAgICAgICAgICBoaW50UGxhY2VtZW50ID0gJ2F1dG8nLFxuICAgICAgICAgICAgICAgIGhpbnRIYXNBcnJvdyxcbiAgICAgICAgICAgICAgICBoaW50T2Zmc2V0ID0gSElOVF9ERUZBVUxUX09GRlNFVCxcbiAgICAgICAgICAgICAgICBoaW50V2lkdGgsXG4gICAgICAgICAgICAgICAgaGludENvbnRlbnRMZWZ0LFxuXG4gICAgICAgICAgICAgICAgLy8gdmFyaWF0aW9uc1xuICAgICAgICAgICAgICAgIHZpZXcsXG4gICAgICAgICAgICAgICAgc2l6ZSxcbiAgICAgICAgICAgICAgICByZWFkT25seSA9IGZhbHNlLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkID0gZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQgPSBmYWxzZSxcbiAgICAgICAgICAgICAgICBjbGVhciA9IGZhbHNlLFxuICAgICAgICAgICAgICAgIG9wdGlvbmFsLFxuICAgICAgICAgICAgICAgIGhhc0RpdmlkZXIsXG5cbiAgICAgICAgICAgICAgICAvLyBjb250cm9sbGVkXG4gICAgICAgICAgICAgICAgdmFsdWU6IG91dGVyVmFsdWUsXG4gICAgICAgICAgICAgICAgY2hpcHM6IHZhbHVlcyxcbiAgICAgICAgICAgICAgICBjaGlwVHlwZSA9ICdkZWZhdWx0JyxcblxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICBfY2hpcHMsXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIF9jaGlwQ2xpY2tBcmVhLFxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICBfb25DaGlwQ2xvc2VDbGljayxcblxuICAgICAgICAgICAgICAgIC8vIGV2ZW50c1xuICAgICAgICAgICAgICAgIG9uQ2hhbmdlLFxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlQ2hpcHMsXG4gICAgICAgICAgICAgICAgb25TZWFyY2gsXG4gICAgICAgICAgICAgICAgb25LZXlEb3duLFxuICAgICAgICAgICAgICAgIG9uRm9jdXMsXG4gICAgICAgICAgICAgICAgb25CbHVyLFxuICAgICAgICAgICAgICAgIG9uUGFzdGUsXG5cbiAgICAgICAgICAgICAgICAvLyDQn9GA0L7Qv9GB0Ysg0LTQu9GPINCy0L3Rg9GC0YDQtdC90L3QtdCz0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8sINC90LUg0L7RgtC00LDQtdGC0YHRjyDQvdCw0YDRg9C20YMuXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIF9vbkVudGVyRGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIF9mb3JjZUNoaXBNYW5pcHVsYXRpb25XaXRoUmVhZG9ubHksXG5cbiAgICAgICAgICAgICAgICAuLi5yZXN0XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVmLFxuICAgICAgICApID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgICAgICAgICAgY29uc3QgaW5wdXRDb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgICAgICAgICAgY29uc3QgaW5wdXRSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbCk7XG4gICAgICAgICAgICBjb25zdCBpbnB1dEZvcmtSZWYgPSB1c2VGb3JrUmVmKGlucHV0UmVmLCByZWYpO1xuICAgICAgICAgICAgY29uc3QgY2hpcHNSZWZzID0gdXNlUmVmPEFycmF5PEhUTUxCdXR0b25FbGVtZW50Pj4oW10pO1xuICAgICAgICAgICAgY29uc3QgaGludFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2xsZWRSZWZzID0geyBjb250ZW50UmVmLCBpbnB1dFJlZiwgY2hpcHNSZWZzIH07XG5cbiAgICAgICAgICAgIGNvbnN0IFtoYXNWYWx1ZSwgc2V0SGFzVmFsdWVdID0gdXNlU3RhdGUoXG4gICAgICAgICAgICAgICAgQm9vbGVhbihvdXRlclZhbHVlKSB8fCBCb29sZWFuKGlucHV0UmVmPy5jdXJyZW50Py52YWx1ZSkgfHwgQm9vbGVhbihyZXN0Py5kZWZhdWx0VmFsdWUpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IFtoYXNGb2N1cywgc2V0SGFzRm9jdXNdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgICAgICAgICBjb25zdCBbY2hpcHMsIHNldENoaXBzXSA9IHVzZVN0YXRlPEFycmF5PENoaXBWYWx1ZXM+PihbXSk7XG4gICAgICAgICAgICBjb25zdCBbaXNIaW50VmlzaWJsZSwgc2V0SXNIaW50VmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgICAgICAgICAgIGNvbnN0IHVuaXFJZCA9IHNhZmVVc2VJZCgpO1xuICAgICAgICAgICAgY29uc3QgaW5uZXJJZCA9IGlkIHx8IHVuaXFJZDtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsSWQgPSBzYWZlVXNlSWQoKTtcbiAgICAgICAgICAgIGNvbnN0IGhlbHBlclRleHRJZCA9IHNhZmVVc2VJZCgpO1xuXG4gICAgICAgICAgICBjb25zdCBpc0RlZmF1bHRWaWV3ID0gdmlldyA9PT0gJ2RlZmF1bHQnIHx8IHJlYWRPbmx5IHx8IGRpc2FibGVkO1xuXG4gICAgICAgICAgICBjb25zdCBpc0NoaXBFbnVtZXJhdGlvbiA9IGVudW1lcmF0aW9uVHlwZSA9PT0gJ2NoaXAnO1xuICAgICAgICAgICAgY29uc3QgaXNDaGlwc1Zpc2libGUgPSBpc0NoaXBFbnVtZXJhdGlvbiAmJiBCb29sZWFuKGNoaXBzPy5sZW5ndGggfHwgX2NoaXBzPy5sZW5ndGgpO1xuICAgICAgICAgICAgY29uc3Qgd2l0aEhhc0NoaXBzID0gaXNDaGlwc1Zpc2libGUgPyBjbGFzc2VzLmhhc0NoaXBzIDogdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICBjb25zdCBoYXNMYWJlbFZhbHVlID0gQm9vbGVhbihsYWJlbCk7XG4gICAgICAgICAgICBjb25zdCBoYXNJbm5lckxhYmVsID0gc2l6ZSAhPT0gJ3hzJyAmJiBsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJiAhaXNDaGlwc1Zpc2libGUgJiYgaGFzTGFiZWxWYWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IGhhc091dGVyTGFiZWwgPSBsYWJlbFBsYWNlbWVudCA9PT0gJ291dGVyJyAmJiBoYXNMYWJlbFZhbHVlO1xuICAgICAgICAgICAgY29uc3QgaW5uZXJLZWVwUGxhY2Vob2xkZXIgPSBrZWVwUGxhY2Vob2xkZXIgJiYgbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcic7XG4gICAgICAgICAgICBjb25zdCBoYXNQbGFjZWhvbGRlciA9IEJvb2xlYW4ocGxhY2Vob2xkZXIpICYmIChpbm5lcktlZXBQbGFjZWhvbGRlciB8fCAhaGFzSW5uZXJMYWJlbCk7XG4gICAgICAgICAgICBsZXQgaGFzVGV4dEFmdGVyID0gQm9vbGVhbih0ZXh0QWZ0ZXIpO1xuICAgICAgICAgICAgbGV0IGhhc1RleHRCZWZvcmUgPSB0ZXh0QmVmb3JlICYmICFpc0NoaXBFbnVtZXJhdGlvbjtcbiAgICAgICAgICAgIGlmIChsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJykge1xuICAgICAgICAgICAgICAgIGlmICghaGFzVmFsdWUgJiYgIWhhc1BsYWNlaG9sZGVyICYmICFoYXNGb2N1cykge1xuICAgICAgICAgICAgICAgICAgICBoYXNUZXh0QWZ0ZXIgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgaGFzVGV4dEJlZm9yZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgaGFzUGxhY2Vob2xkZXJQYWRkaW5nID0gaGFzSW5uZXJMYWJlbCAmJiBrZWVwUGxhY2Vob2xkZXIgJiYgc2l6ZSAhPT0gJ3hzJztcblxuICAgICAgICAgICAgY29uc3QgaW5uZXJMYWJlbFZhbHVlID0gaGFzSW5uZXJMYWJlbCB8fCBoYXNPdXRlckxhYmVsID8gbGFiZWwgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBpbm5lckxhYmVsUGxhY2VtZW50VmFsdWUgPSBsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJiAhaGFzSW5uZXJMYWJlbCA/IHVuZGVmaW5lZCA6IGxhYmVsUGxhY2VtZW50O1xuXG4gICAgICAgICAgICBjb25zdCBpbm5lclBsYWNlaG9sZGVyVmFsdWUgPSBoYXNQbGFjZWhvbGRlciA/IHBsYWNlaG9sZGVyIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgcGxhY2Vob2xkZXJTaG93biA9IEJvb2xlYW4oaW5uZXJQbGFjZWhvbGRlclZhbHVlKSAmJiAhaGFzVmFsdWU7XG5cbiAgICAgICAgICAgIGNvbnN0IGNsZWFyQ2xhc3MgPSBjbGVhciA/IGNsYXNzZXMuY2xlYXIgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBoYXNEaXZpZGVyQ2xhc3MgPSBoYXNEaXZpZGVyID8gY2xhc3Nlcy5oYXNEaXZpZGVyIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaGFzSW5uZXJIaW50Q2xhc3MgPSBoaW50VGV4dCAmJiBoaW50VGFyZ2V0UGxhY2VtZW50ID09PSAnb3V0ZXInID8gY2xhc3Nlcy5oYXNIaW50IDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaGFzSGludENsYXNzID0gaGludFRleHQgPyBjbGFzc2VzLmhhc0hpbnQgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCByZXF1aXJlZFBsYWNlbWVudENsYXNzID0gcmVxdWlyZWRQbGFjZW1lbnQgPT09ICdyaWdodCcgPyBjbGFzc2VzLnJlcXVpcmVkQWxpZ25SaWdodCA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsUGxhY2VtZW50Q2xhc3MgPSBpbm5lckxhYmVsUGxhY2VtZW50VmFsdWVcbiAgICAgICAgICAgICAgICA/IGNsYXNzZXNbYCR7aW5uZXJMYWJlbFBsYWNlbWVudFZhbHVlfUxhYmVsUGxhY2VtZW50YCBhcyBrZXlvZiB0eXBlb2YgY2xhc3Nlc11cbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGhhc1ZhbHVlQ2xhc3MgPSBoYXNWYWx1ZSA/IGNsYXNzZXMuaGFzVmFsdWUgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBrZWVwUGxhY2Vob2xkZXJDbGFzcyA9IGhhc1BsYWNlaG9sZGVyICYmIHBsYWNlaG9sZGVyU2hvd24gJiYgY2xhc3Nlcy5rZWVwUGxhY2Vob2xkZXI7XG5cbiAgICAgICAgICAgIGNvbnN0IHdyYXBwZXJXaXRob3V0TGVmdENvbnRlbnQgPVxuICAgICAgICAgICAgICAgICFjb250ZW50TGVmdCAmJiBpc0NoaXBzVmlzaWJsZSAmJiBjaGlwVHlwZSA9PT0gJ2RlZmF1bHQnID8gY2xhc3Nlcy5oYXNFbXB0eUNvbnRlbnRMZWZ0IDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3Qgd3JhcHBlcldpdGhvdXRSaWdodENvbnRlbnQgPVxuICAgICAgICAgICAgICAgICFjb250ZW50UmlnaHQgJiYgaXNDaGlwc1Zpc2libGUgJiYgY2hpcFR5cGUgPT09ICdkZWZhdWx0JyA/IGNsYXNzZXMuaGFzRW1wdHlDb250ZW50UmlnaHQgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRSaWdodENvbXBlbnNhdGlvbk1hcmdpbiA9XG4gICAgICAgICAgICAgICAgIWhhc091dGVyTGFiZWwgJiYgaGludFRleHQgJiYgaGludFRhcmdldFBsYWNlbWVudCA9PT0gJ2lubmVyJ1xuICAgICAgICAgICAgICAgICAgICA/IGNsYXNzZXMuY29udGVudFJpZ2h0Q29tcGVuc2F0aW9uTWFyZ2luXG4gICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICB1c2VPdXRzaWRlQ2xpY2soKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldElzSGludFZpc2libGUoZmFsc2UpO1xuICAgICAgICAgICAgfSwgW2hpbnRSZWZdKTtcblxuICAgICAgICAgICAgY29uc3QgaGludElubmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICAgICAgICAgIGNvbnN0IGhpbnRGb3JrUmVmID0gdXNlRm9ya1JlZihoaW50UmVmLCBoaW50SW5uZXJSZWYpO1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVJbnB1dDogRm9ybUV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50PiA9IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuXG4gICAgICAgICAgICAgICAgc2V0SGFzVmFsdWUoQm9vbGVhbih2YWx1ZSkpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlRm9jdXMgPSAoZXZlbnQ6IFJlYWN0LkZvY3VzRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICAgICAgICAgICAgICBzZXRIYXNGb2N1cyh0cnVlKTtcbiAgICAgICAgICAgICAgICBvbkZvY3VzPy4oZXZlbnQpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlQmx1ciA9IChldmVudDogUmVhY3QuRm9jdXNFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgICAgIHNldEhhc0ZvY3VzKGZhbHNlKTtcbiAgICAgICAgICAgICAgICBvbkJsdXI/LihldmVudCk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVIaW50U2hvdyA9ICgpID0+IHNldElzSGludFZpc2libGUodHJ1ZSk7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGVIaW50SGlkZSA9ICgpID0+IHNldElzSGludFZpc2libGUoZmFsc2UpO1xuICAgICAgICAgICAgY29uc3QgaGFuZGxlSGludENsaWNrOiBNb3VzZUV2ZW50SGFuZGxlciA9IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghaGludFRleHQgfHwgaGludFRyaWdnZXIgIT09ICdjbGljaycpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldElzUG9wb3ZlciA9IGV2ZW50LnRhcmdldCA9PT0gaGludElubmVyUmVmLmN1cnJlbnQ7XG4gICAgICAgICAgICAgICAgY29uc3Qgcm9vdEhhc1RhcmdldCA9IGhpbnRJbm5lclJlZi5jdXJyZW50Py5jb250YWlucyhldmVudC50YXJnZXQgYXMgRWxlbWVudCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoIXRhcmdldElzUG9wb3ZlciAmJiAhcm9vdEhhc1RhcmdldCkge1xuICAgICAgICAgICAgICAgICAgICBzZXRJc0hpbnRWaXNpYmxlKHRydWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUNoYW5nZTogQ2hhbmdlRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+ID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGRpc2FibGVkIHx8IHJlYWRPbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCB7IG1heExlbmd0aCwgdmFsdWUgfSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgICAgIGlmIChtYXhMZW5ndGggIT09IC0xICYmIHZhbHVlLmxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKG9uQ2hhbmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlKGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoaGFzVGV4dEFmdGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRleHRXaWR0aCA9IGdldElucHV0V2lkdGgoZXZlbnQuY3VycmVudFRhcmdldCwgaW5wdXRDb250YWluZXJSZWYuY3VycmVudCk7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LmN1cnJlbnRUYXJnZXQuc3R5bGUud2lkdGggPSBgJHt0ZXh0V2lkdGh9cHhgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZVBhc3RlOiBDbGlwYm9hcmRFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD4gPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZGlzYWJsZWQgfHwgcmVhZE9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChvblBhc3RlKSB7XG4gICAgICAgICAgICAgICAgICAgIG9uUGFzdGUoZXZlbnQpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChoYXNUZXh0QWZ0ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlucHV0UmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRleHRXaWR0aCA9IGdldElucHV0V2lkdGgoaW5wdXRSZWYuY3VycmVudCwgaW5wdXRDb250YWluZXJSZWYuY3VycmVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50LnN0eWxlLndpZHRoID0gYCR7dGV4dFdpZHRofXB4YDtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgdXBkYXRlQ2hpcHMgPSAobmV3Q2hpcHM6IEFycmF5PENoaXBWYWx1ZXM+LCBuZXdWYWx1ZXM6IEFycmF5PFRleHRGaWVsZFByaW1pdGl2ZVZhbHVlPikgPT4ge1xuICAgICAgICAgICAgICAgIHNldENoaXBzKG5ld0NoaXBzKTtcbiAgICAgICAgICAgICAgICBvbkNoYW5nZUNoaXBzPy4obmV3VmFsdWVzKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IHsgaGFuZGxlSW5wdXRLZXlkb3duLCBoYW5kbGVDaGlwS2V5RG93biwgb25DaGlwQ2xlYXIsIGhhbmRsZUNvbnRlbnRLZXlEb3duIH0gPSB1c2VLZXlOYXZpZ2F0aW9uKHtcbiAgICAgICAgICAgICAgICBjb250cm9sbGVkUmVmcyxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgICAgICByZWFkT25seSxcbiAgICAgICAgICAgICAgICBjaGlwcyxcbiAgICAgICAgICAgICAgICBuZXdDdXN0b21DaGlwczogX2NoaXBzLFxuICAgICAgICAgICAgICAgIGVudW1lcmF0aW9uVHlwZSxcbiAgICAgICAgICAgICAgICB1cGRhdGVDaGlwcyxcbiAgICAgICAgICAgICAgICBvblNlYXJjaCxcbiAgICAgICAgICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgICAgICAgICBvbkVudGVyRGlzYWJsZWQ6IF9vbkVudGVyRGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgb25DaGlwQ2xvc2VDbGljazogX29uQ2hpcENsb3NlQ2xpY2ssXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgY29uc3Qgb25DaGlwQ2xpY2sgPSAoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+KSA9PiBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlSW5wdXRGb2N1cyA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVhZE9ubHkgfHwgZGlzYWJsZWQgfHwgIWlucHV0UmVmPy5jdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50LnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBpbnB1dFJlZi5jdXJyZW50Lm9mZnNldExlZnQsXG4gICAgICAgICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGdldFJlZiA9IChlbGVtZW50OiBIVE1MQnV0dG9uRWxlbWVudCB8IG51bGwsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZWxlbWVudCAmJiBjaGlwc1JlZnM/LmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpcHNSZWZzLmN1cnJlbnRbaW5kZXhdID0gZWxlbWVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVPbktleURvd24gPSAoZXZlbnQ6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+ICYgS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgICAgIGhhbmRsZUlucHV0S2V5ZG93bihldmVudCk7XG5cbiAgICAgICAgICAgICAgICBpZiAob25LZXlEb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bihldmVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaGFzVGV4dEFmdGVyICYmIGlucHV0UmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGV4dFdpZHRoID0gZ2V0SW5wdXRXaWR0aChpbnB1dFJlZi5jdXJyZW50LCBpbnB1dENvbnRhaW5lclJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRSZWYuY3VycmVudC5zdHlsZS53aWR0aCA9IGAke3RleHRXaWR0aH1weGA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRSZWYuY3VycmVudD8uc3R5bGUucmVtb3ZlUHJvcGVydHkoJ3dpZHRoJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgW2hhc1RleHRBZnRlciwgb3V0ZXJWYWx1ZV0pO1xuXG4gICAgICAgICAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghaXNDaGlwRW51bWVyYXRpb24gJiYgIXZhbHVlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBuZXdDaGlwcyA9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlcz8ubWFwKCh2YWx1ZSwgaW5kZXgpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogYCR7aW5kZXh9XyR7dmFsdWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICB9KSkgfHwgW107XG5cbiAgICAgICAgICAgICAgICBzZXRDaGlwcyhuZXdDaGlwcyk7XG4gICAgICAgICAgICB9LCBbaXNDaGlwRW51bWVyYXRpb24sIHZhbHVlc10pO1xuXG4gICAgICAgICAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldEhhc1ZhbHVlKEJvb2xlYW4ocmVzdD8uZGVmYXVsdFZhbHVlKSk7XG4gICAgICAgICAgICB9LCBbcmVzdC5kZWZhdWx0VmFsdWVdKTtcblxuICAgICAgICAgICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRIYXNWYWx1ZShCb29sZWFuKG91dGVyVmFsdWUpIHx8IEJvb2xlYW4oaW5wdXRSZWY/LmN1cnJlbnQ/LnZhbHVlKSk7XG4gICAgICAgICAgICB9LCBbb3V0ZXJWYWx1ZSwgaW5wdXRSZWY/LmN1cnJlbnQ/LnZhbHVlXSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGlubmVyT3B0aW9uYWwgPSBCb29sZWFuKHJlcXVpcmVkID8gZmFsc2UgOiBvcHRpb25hbCk7XG4gICAgICAgICAgICBjb25zdCBoYXNQbGFjZWhvbGRlck9wdGlvbmFsID0gaW5uZXJPcHRpb25hbCAmJiAhaW5uZXJMYWJlbFZhbHVlICYmICFoYXNPdXRlckxhYmVsO1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uYWxUZXh0Tm9kZSA9IGlubmVyT3B0aW9uYWwgPyAoXG4gICAgICAgICAgICAgICAgPFN0eWxlZE9wdGlvbmFsVGV4dD5cbiAgICAgICAgICAgICAgICAgICAge0Jvb2xlYW4oaGFzUGxhY2Vob2xkZXJPcHRpb25hbCA/IGlubmVyUGxhY2Vob2xkZXJWYWx1ZSA6IGlubmVyTGFiZWxWYWx1ZSkgJiYgJ1xceGEwJ31cbiAgICAgICAgICAgICAgICAgICAge29wdGlvbmFsVGV4dH1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZE9wdGlvbmFsVGV4dD5cbiAgICAgICAgICAgICkgOiBudWxsO1xuXG4gICAgICAgICAgICBjb25zdCBjbGFzc1RleHRFbGxpcHNpcyA9XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZXJzY29yZS1kYW5nbGVcbiAgICAgICAgICAgICAgICAhKHJlc3QgYXMgYW55KS5fdGV4dEVsbGlwc2lzRGlzYWJsZSAmJiAhdGV4dEFmdGVyID8gY2xhc3Nlcy5pbnB1dFRleHRFbGxpcHNpcyA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8Um9vdFxuICAgICAgICAgICAgICAgICAgICB2aWV3PXt2aWV3fVxuICAgICAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXshZGlzYWJsZWQgJiYgcmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsUGxhY2VtZW50PXtpbm5lckxhYmVsUGxhY2VtZW50VmFsdWV9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUlucHV0Rm9jdXN9XG4gICAgICAgICAgICAgICAgICAgIGRhdGEtcm9vdFxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnRDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyQ2xhc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNEaXZpZGVyQ2xhc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNJbm5lckhpbnRDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMudGV4dEZpZWxkR3JvdXBJdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgICAgICAgICAgICAgIHsuLi4oaGludFRleHQgJiYgeyBoaW50VmlldywgaGludFNpemUgfSl9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7KGhhc091dGVyTGFiZWwgfHwgdGl0bGVDYXB0aW9uKSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8T3V0ZXJMYWJlbFdyYXBwZXIgaXNJbm5lckxhYmVsPXtsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJ30+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc091dGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBpZD17bGFiZWxJZH0gaHRtbEZvcj17aWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpbm5lckxhYmVsVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xhYmVsPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGludFRleHQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRIaW50V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhpbnRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17aGludEZvcmtSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VGV4dD17aGludFRleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VHJpZ2dlcj17aGludFRyaWdnZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0hpbnRWaXNpYmxlPXtpc0hpbnRWaXNpYmxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRhcmdldEljb249e2hpbnRUYXJnZXRJY29ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFBsYWNlbWVudD17aGludFBsYWNlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRIYXNBcnJvdz17aGludEhhc0Fycm93fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludE9mZnNldD17aGludE9mZnNldH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRXaWR0aD17aGludFdpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludENvbnRlbnRMZWZ0PXtoaW50Q29udGVudExlZnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50U2hvdz17aGFuZGxlSGludFNob3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50SGlkZT17aGFuZGxlSGludEhpZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50Q2xpY2s9e2hhbmRsZUhpbnRDbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZEhpbnRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyZXF1aXJlZCAmJiBoYXNSZXF1aXJlZEluZGljYXRvciAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEluZGljYXRvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy5vdXRlckxhYmVsUGxhY2VtZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRQbGFjZW1lbnRDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0hpbnRDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtvcHRpb25hbFRleHROb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZEluZGljYXRvcldyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dGl0bGVDYXB0aW9uICYmIDxUaXRsZUNhcHRpb24gZGF0YS1yb290Pnt0aXRsZUNhcHRpb259PC9UaXRsZUNhcHRpb24+fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9PdXRlckxhYmVsV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICAgICAgICA8SW5wdXRXcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBSZWYg0LTQu9GPINCy0L3Rg9GC0YDQtdC90L3QtdCz0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8uINCd0LUg0L7RgtC00LDQtdGC0YHRjyDQvdCw0YDRg9C20YMuXG4gICAgICAgICAgICAgICAgICAgICAgICByZWY9eyhyZXN0IGFzIGFueSkuaW5wdXRXcmFwcGVyUmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogIzE1NDQsINC4INC/0L7RgdC70LUg0YPQsdGA0LDRgtGMIGNsYXNzZXMuaW5wdXRXcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhIYXNDaGlwcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cmFwcGVyV2l0aG91dExlZnRDb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyYXBwZXJXaXRob3V0UmlnaHRDb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMuaW5wdXRXcmFwcGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgeyFoYXNPdXRlckxhYmVsICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cmVxdWlyZWQgJiYgaGFzUmVxdWlyZWRJbmRpY2F0b3IgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEluZGljYXRvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goY2xhc3Nlcy5pbm5lckxhYmVsUGxhY2VtZW50LCByZXF1aXJlZFBsYWNlbWVudENsYXNzKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoaW50VGV4dCAmJiBoaW50VGFyZ2V0UGxhY2VtZW50ID09PSAnb3V0ZXInICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRIaW50V3JhcHBlciBjbGFzc05hbWU9e2NsYXNzZXMuaW5uZXJMYWJlbFBsYWNlbWVudH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhpbnRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtoaW50Rm9ya1JlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRleHQ9e2hpbnRUZXh0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VHJpZ2dlcj17aGludFRyaWdnZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzSGludFZpc2libGU9e2lzSGludFZpc2libGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUYXJnZXRJY29uPXtoaW50VGFyZ2V0SWNvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFBsYWNlbWVudD17aGludFBsYWNlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludEhhc0Fycm93PXtoaW50SGFzQXJyb3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRPZmZzZXQ9e2hpbnRPZmZzZXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRXaWR0aD17aGludFdpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50Q29udGVudExlZnQ9e2hpbnRDb250ZW50TGVmdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGludFNob3c9e2hhbmRsZUhpbnRTaG93fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50SGlkZT17aGFuZGxlSGludEhpZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRDbGljaz17aGFuZGxlSGludENsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0lubmVyTGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRIaW50V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y29udGVudExlZnQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRDb250ZW50TGVmdCBkYXRhLXJvb3QgaXNDbGVhcj17Y2xlYXJ9IGlzRGVmYXVsdFZpZXc9e2lzRGVmYXVsdFZpZXd9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y29udGVudExlZnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRDb250ZW50TGVmdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRMYWJlbFdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJJbmRleD17LTF9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtjb250ZW50UmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17aGFuZGxlQ29udGVudEtleURvd259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeCh3aXRoSGFzQ2hpcHMsIGNsYXNzZXMuaW5wdXRTY3JvbGxhYmxlV3JhcHBlcil9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge0Jvb2xlYW4odGV4dEJlZm9yZSAmJiBpc0NoaXBFbnVtZXJhdGlvbikgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkVGV4dEJlZm9yZT57dGV4dEJlZm9yZX08L1N0eWxlZFRleHRCZWZvcmU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtCb29sZWFuKF9jaGlwcz8ubGVuZ3RoKSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUZXh0RmllbGRDaGlwTmV3XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlwcz17X2NoaXBzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0UmVmPXtnZXRSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVDaGlwS2V5RG93bj17aGFuZGxlQ2hpcEtleURvd259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoaXBDbGVhcj17b25DaGlwQ2xlYXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoaXBDbG9zZUNsaWNrPXtfb25DaGlwQ2xvc2VDbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaXBDbGlja0FyZWE9e19jaGlwQ2xpY2tBcmVhfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlldz17Y2hpcFZpZXcgfHwgdmlld31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaXBUeXBlPXtjaGlwVHlwZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE86ICMxNTQ3XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfZm9yY2VDaGlwTWFuaXB1bGF0aW9uV2l0aFJlYWRvbmx5PXtfZm9yY2VDaGlwTWFuaXB1bGF0aW9uV2l0aFJlYWRvbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXNDaGlwRW51bWVyYXRpb24gJiYgQm9vbGVhbihjaGlwcz8ubGVuZ3RoKSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRDaGlwcyBjbGFzc05hbWU9e2NsYXNzZXMuY2hpcHNXcmFwcGVyfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjaGlwcz8ubWFwKCh7IGlkOiBjaGlwSWQsIHRleHQgfSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWxpZGF0aW9uVmlldyA9IGNoaXBWYWxpZGF0b3I/LihTdHJpbmcodGV4dCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc1ZpZXcgPSB2YWxpZGF0aW9uVmlldz8udmlldyB8fCBjaGlwVmlldztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUZXh0RmllbGRDaGlwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17Y2hpcElkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXsoZWxlbWVudCkgPT4gZ2V0UmVmKGVsZW1lbnQsIGluZGV4KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17YCR7Y2hpcElkfV8ke2luZGV4fWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ9e3RleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbktleURvd249eyhldmVudCkgPT4gaGFuZGxlQ2hpcEtleURvd24oZXZlbnQsIGNoaXBJZCwgaW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGVhcj17KCkgPT4gb25DaGlwQ2xlYXIoY2hpcElkLCBpbmRleCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtvbkNoaXBDbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaXBUeXBlPXtjaGlwVHlwZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXc9e3Jlc1ZpZXd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb290V3JhcHBlcj17Um9vdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE86ICMxNTQ3XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfZm9yY2VDaGlwTWFuaXB1bGF0aW9uV2l0aFJlYWRvbmx5PXtfZm9yY2VDaGlwTWFuaXB1bGF0aW9uV2l0aFJlYWRvbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRDaGlwcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dENvbnRhaW5lciByZWY9e2lucHV0Q29udGFpbmVyUmVmfSBoYXNEeW5hbWljV2lkdGg9e2hhc1RleHRBZnRlcn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoYXNUZXh0QmVmb3JlICYmIDxTdHlsZWRUZXh0QmVmb3JlPnt0ZXh0QmVmb3JlfTwvU3R5bGVkVGV4dEJlZm9yZT59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtpbnB1dEZvcmtSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17aW5uZXJJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtvdXRlclZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ9e2VudW1lcmF0aW9uVHlwZSA9PT0gJ2NoaXAnID8gY2hpcHMubGVuZ3RoID09PSAwICYmIHJlcXVpcmVkIDogcmVxdWlyZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e2xhYmVsSWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXtoZWxwZXJUZXh0SWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17aW5uZXJQbGFjZWhvbGRlclZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNWYWx1ZUNsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtlZXBQbGFjZWhvbGRlckNsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzVGV4dEVsbGlwc2lzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5ICYmIGNsYXNzZXMucmVhZE9ubHlJbnB1dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkT25seT17IWRpc2FibGVkICYmIHJlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25JbnB1dD17aGFuZGxlSW5wdXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVPbktleURvd259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVGb2N1c31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQmx1cj17aGFuZGxlQmx1cn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uUGFzdGU9e2hhbmRsZVBhc3RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10b3VyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc0lubmVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGRhdGEtcm9vdCBpZD17bGFiZWxJZH0gaHRtbEZvcj17aW5uZXJJZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lubmVyTGFiZWxWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7b3B0aW9uYWxUZXh0Tm9kZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwbGFjZWhvbGRlclNob3duICYmICFoYXNWYWx1ZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRQbGFjZWhvbGRlciBoYXNQYWRkaW5nPXtoYXNQbGFjZWhvbGRlclBhZGRpbmd9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoYXNUZXh0QmVmb3JlICYmIDxTdHlsZWRUZXh0QmVmb3JlIGlzSGlkZGVuPnt0ZXh0QmVmb3JlfTwvU3R5bGVkVGV4dEJlZm9yZT59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lubmVyUGxhY2Vob2xkZXJWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGFzUGxhY2Vob2xkZXJPcHRpb25hbCAmJiBvcHRpb25hbFRleHROb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JbnB1dFBsYWNlaG9sZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGFzVGV4dEFmdGVyICYmIDxTdHlsZWRUZXh0QWZ0ZXI+e3RleHRBZnRlcn08L1N0eWxlZFRleHRBZnRlcj59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JbnB1dENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvSW5wdXRMYWJlbFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkQ29udGVudFJpZ2h0V3JhcHBlciBjbGFzc05hbWU9e2N4KGNvbnRlbnRSaWdodENvbXBlbnNhdGlvbk1hcmdpbil9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjb250ZW50UmlnaHQgJiYgPFN0eWxlZENvbnRlbnRSaWdodCBkYXRhLXJvb3Q+e2NvbnRlbnRSaWdodH08L1N0eWxlZENvbnRlbnRSaWdodD59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IWhhc091dGVyTGFiZWwgJiYgaGludFRleHQgJiYgaGludFRhcmdldFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxIaW50Q29tcG9uZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2hpbnRGb3JrUmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRleHQ9e2hpbnRUZXh0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRyaWdnZXI9e2hpbnRUcmlnZ2VyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNIaW50VmlzaWJsZT17aXNIaW50VmlzaWJsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUYXJnZXRJY29uPXtoaW50VGFyZ2V0SWNvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRQbGFjZW1lbnQ9e2hpbnRQbGFjZW1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50SGFzQXJyb3c9e2hpbnRIYXNBcnJvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRPZmZzZXQ9e2hpbnRPZmZzZXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50V2lkdGg9e2hpbnRXaWR0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRDb250ZW50TGVmdD17aGludENvbnRlbnRMZWZ0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRTaG93PXtoYW5kbGVIaW50U2hvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRIaWRlPXtoYW5kbGVIaW50SGlkZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRDbGljaz17aGFuZGxlSGludENsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNJbm5lckxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQ29udGVudFJpZ2h0V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9JbnB1dFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIHtsZWZ0SGVscGVyICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxMZWZ0SGVscGVyIGRhdGEtcm9vdCBpZD17aGVscGVyVGV4dElkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7bGVmdEhlbHBlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvTGVmdEhlbHBlcj5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L1Jvb3Q+XG4gICAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICk7XG5cbmV4cG9ydCBjb25zdCB0ZXh0RmllbGRDb25maWcgPSB7XG4gICAgbmFtZTogJ1RleHRGaWVsZCcsXG4gICAgdGFnOiAnZGl2JyxcbiAgICBsYXlvdXQ6IHRleHRGaWVsZFJvb3QsXG4gICAgYmFzZSxcbiAgICB2YXJpYXRpb25zOiB7XG4gICAgICAgIHZpZXc6IHtcbiAgICAgICAgICAgIGNzczogdmlld0NTUyxcbiAgICAgICAgfSxcbiAgICAgICAgc2l6ZToge1xuICAgICAgICAgICAgY3NzOiBzaXplQ1NTLFxuICAgICAgICB9LFxuICAgICAgICBjbGVhcjoge1xuICAgICAgICAgICAgY3NzOiBjbGVhckNTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBkaXNhYmxlZDoge1xuICAgICAgICAgICAgY3NzOiBkaXNhYmxlZENTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICByZWFkT25seToge1xuICAgICAgICAgICAgY3NzOiByZWFkT25seUNTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBsYWJlbFBsYWNlbWVudDoge1xuICAgICAgICAgICAgY3NzOiBsYWJlbFBsYWNlbWVudENTUyxcbiAgICAgICAgfSxcbiAgICAgICAgaGludFZpZXc6IHtcbiAgICAgICAgICAgIGNzczogaGludFZpZXdDU1MsXG4gICAgICAgIH0sXG4gICAgICAgIGhpbnRTaXplOiB7XG4gICAgICAgICAgICBjc3M6IGhpbnRTaXplQ1NTLFxuICAgICAgICB9LFxuICAgICAgICBjaGlwVmlldzoge1xuICAgICAgICAgICAgY3NzOiBjaGlwVmlld0NTUyxcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIGRlZmF1bHRzOiB7XG4gICAgICAgIHNpemU6ICdtJyxcbiAgICAgICAgdmlldzogJ2RlZmF1bHQnLFxuICAgIH0sXG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNEb0IifQ== */");
122
+ export var base = /*#__PURE__*/ css("display:block;", "base", "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0RmllbGQvVGV4dEZpZWxkLnRzeCIsInNvdXJjZXMiOlsic3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0RmllbGQvVGV4dEZpZWxkLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUge1xuICAgIEZvcm1FdmVudEhhbmRsZXIsXG4gICAgQ2hhbmdlRXZlbnRIYW5kbGVyLFxuICAgIEtleWJvYXJkRXZlbnQsXG4gICAgQ2hhbmdlRXZlbnQsXG4gICAgTW91c2VFdmVudEhhbmRsZXIsXG4gICAgQ2xpcGJvYXJkRXZlbnRIYW5kbGVyLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VGb3JrUmVmIH0gZnJvbSAnQHNhbHV0ZWpzL3BsYXNtYS1jb3JlJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IGN4LCBzYWZlVXNlSWQgfSBmcm9tICdzcmMvdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBSb290UHJvcHMgfSBmcm9tICdzcmMvZW5naW5lcyc7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tICdzcmMvaG9va3MnO1xuXG5pbXBvcnQgdHlwZSB7IENoaXBWYWx1ZXMsIFRleHRGaWVsZFByaW1pdGl2ZVZhbHVlLCBUZXh0RmllbGRQcm9wcywgVGV4dEZpZWxkUm9vdFByb3BzIH0gZnJvbSAnLi9UZXh0RmllbGQudHlwZXMnO1xuaW1wb3J0IHsgYmFzZSBhcyBzaXplQ1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19zaXplL2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyB2aWV3Q1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL192aWV3L2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBjbGVhckNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fY2xlYXIvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIGRpc2FibGVkQ1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19kaXNhYmxlZC9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgcmVhZE9ubHlDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3JlYWQtb25seS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgbGFiZWxQbGFjZW1lbnRDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2xhYmVsLXBsYWNlbWVudC9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgaGludFZpZXdDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2hpbnQtdmlldy9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgaGludFNpemVDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2hpbnQtc2l6ZS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgY2hpcFZpZXdDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2NoaXAtdmlldy9iYXNlJztcbmltcG9ydCB7XG4gICAgSW5wdXQsXG4gICAgSW5wdXRDb250YWluZXIsXG4gICAgTGVmdEhlbHBlcixcbiAgICBMYWJlbCxcbiAgICBJbnB1dFdyYXBwZXIsXG4gICAgSW5wdXRMYWJlbFdyYXBwZXIsXG4gICAgU3R5bGVkQ29udGVudExlZnQsXG4gICAgU3R5bGVkQ29udGVudFJpZ2h0LFxuICAgIFN0eWxlZENoaXBzLFxuICAgIFN0eWxlZFRleHRCZWZvcmUsXG4gICAgU3R5bGVkVGV4dEFmdGVyLFxuICAgIFN0eWxlZEluZGljYXRvcixcbiAgICBTdHlsZWRPcHRpb25hbFRleHQsXG4gICAgSW5wdXRQbGFjZWhvbGRlcixcbiAgICBPdXRlckxhYmVsV3JhcHBlcixcbiAgICBUaXRsZUNhcHRpb24sXG4gICAgU3R5bGVkSGludFdyYXBwZXIsXG4gICAgU3R5bGVkSW5kaWNhdG9yV3JhcHBlcixcbiAgICBTdHlsZWRDb250ZW50UmlnaHRXcmFwcGVyLFxufSBmcm9tICcuL1RleHRGaWVsZC5zdHlsZXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJy4vVGV4dEZpZWxkLnRva2Vucyc7XG5pbXBvcnQgeyBUZXh0RmllbGRDaGlwLCBUZXh0RmllbGRDaGlwTmV3IH0gZnJvbSAnLi91aSc7XG5pbXBvcnQgeyB1c2VLZXlOYXZpZ2F0aW9uIH0gZnJvbSAnLi9ob29rcyc7XG5pbXBvcnQgeyBIaW50Q29tcG9uZW50IH0gZnJvbSAnLi91aS9IaW50L0hpbnQnO1xuaW1wb3J0IHsgZ2V0SW5wdXRXaWR0aCB9IGZyb20gJy4vZ2V0SW5wdXRXaWR0aCc7XG5cbmV4cG9ydCBjb25zdCBiYXNlID0gY3NzYFxuICAgIC8qIE5PVEU6IFdlYmtpdCDQvdC1INC/0YDQuNC80LXQvdGP0LXRgiBvcGFjaXR5INC6IGlubGluZSDRgtC10LPQsNC8ICovXG4gICAgZGlzcGxheTogYmxvY2s7XG5gO1xuXG5jb25zdCBISU5UX0RFRkFVTFRfT0ZGU0VUOiBbbnVtYmVyLCBudW1iZXJdID0gWzAsIDBdO1xuXG5leHBvcnQgY29uc3QgdGV4dEZpZWxkUm9vdCA9IChSb290OiBSb290UHJvcHM8SFRNTERpdkVsZW1lbnQsIFRleHRGaWVsZFJvb3RQcm9wcz4pID0+XG4gICAgZm9yd2FyZFJlZjxIVE1MSW5wdXRFbGVtZW50LCBUZXh0RmllbGRQcm9wcz4oXG4gICAgICAgIChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgc3R5bGUsXG5cbiAgICAgICAgICAgICAgICAvLyBsYXlvdXRcbiAgICAgICAgICAgICAgICBjb250ZW50TGVmdCxcbiAgICAgICAgICAgICAgICBjb250ZW50UmlnaHQsXG4gICAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAga2VlcFBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICAgIHRleHRCZWZvcmUsXG4gICAgICAgICAgICAgICAgdGV4dEFmdGVyLFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICAgIGxlZnRIZWxwZXIsXG4gICAgICAgICAgICAgICAgZW51bWVyYXRpb25UeXBlID0gJ3BsYWluJyxcbiAgICAgICAgICAgICAgICByZXF1aXJlZFBsYWNlbWVudCA9ICdyaWdodCcsXG4gICAgICAgICAgICAgICAgaGFzUmVxdWlyZWRJbmRpY2F0b3IgPSB0cnVlLFxuICAgICAgICAgICAgICAgIHRpdGxlQ2FwdGlvbixcbiAgICAgICAgICAgICAgICBjaGlwVmlldyA9ICdkZWZhdWx0JyxcbiAgICAgICAgICAgICAgICBjaGlwVmFsaWRhdG9yLFxuXG4gICAgICAgICAgICAgICAgLy8gaGludFxuICAgICAgICAgICAgICAgIGhpbnRUcmlnZ2VyID0gJ2hvdmVyJyxcbiAgICAgICAgICAgICAgICBoaW50VGV4dCxcbiAgICAgICAgICAgICAgICBoaW50VmlldyA9ICdkZWZhdWx0JyxcbiAgICAgICAgICAgICAgICBoaW50U2l6ZSA9ICdtJyxcbiAgICAgICAgICAgICAgICBoaW50VGFyZ2V0SWNvbixcbiAgICAgICAgICAgICAgICBoaW50VGFyZ2V0UGxhY2VtZW50ID0gJ291dGVyJyxcbiAgICAgICAgICAgICAgICBoaW50UGxhY2VtZW50ID0gJ2F1dG8nLFxuICAgICAgICAgICAgICAgIGhpbnRIYXNBcnJvdyxcbiAgICAgICAgICAgICAgICBoaW50T2Zmc2V0ID0gSElOVF9ERUZBVUxUX09GRlNFVCxcbiAgICAgICAgICAgICAgICBoaW50V2lkdGgsXG4gICAgICAgICAgICAgICAgaGludENvbnRlbnRMZWZ0LFxuXG4gICAgICAgICAgICAgICAgLy8gdmFyaWF0aW9uc1xuICAgICAgICAgICAgICAgIHZpZXcsXG4gICAgICAgICAgICAgICAgc2l6ZSxcbiAgICAgICAgICAgICAgICByZWFkT25seSA9IGZhbHNlLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkID0gZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQgPSBmYWxzZSxcbiAgICAgICAgICAgICAgICBjbGVhciA9IGZhbHNlLFxuICAgICAgICAgICAgICAgIG9wdGlvbmFsLFxuICAgICAgICAgICAgICAgIG9wdGlvbmFsVGV4dCA9ICdvcHRpb25hbCcsXG4gICAgICAgICAgICAgICAgaGFzRGl2aWRlcixcblxuICAgICAgICAgICAgICAgIC8vIGNvbnRyb2xsZWRcbiAgICAgICAgICAgICAgICB2YWx1ZTogb3V0ZXJWYWx1ZSxcbiAgICAgICAgICAgICAgICBjaGlwczogdmFsdWVzLFxuICAgICAgICAgICAgICAgIGNoaXBUeXBlID0gJ2RlZmF1bHQnLFxuXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIF9jaGlwcyxcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgX2NoaXBDbGlja0FyZWEsXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIF9vbkNoaXBDbG9zZUNsaWNrLFxuXG4gICAgICAgICAgICAgICAgLy8gZXZlbnRzXG4gICAgICAgICAgICAgICAgb25DaGFuZ2UsXG4gICAgICAgICAgICAgICAgb25DaGFuZ2VDaGlwcyxcbiAgICAgICAgICAgICAgICBvblNlYXJjaCxcbiAgICAgICAgICAgICAgICBvbktleURvd24sXG4gICAgICAgICAgICAgICAgb25Gb2N1cyxcbiAgICAgICAgICAgICAgICBvbkJsdXIsXG4gICAgICAgICAgICAgICAgb25QYXN0ZSxcblxuICAgICAgICAgICAgICAgIC8vINCf0YDQvtC/0YHRiyDQtNC70Y8g0LLQvdGD0YLRgNC10L3QvdC10LPQviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjywg0L3QtSDQvtGC0LTQsNC10YLRgdGPINC90LDRgNGD0LbRgy5cbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgX29uRW50ZXJEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgX2ZvcmNlQ2hpcE1hbmlwdWxhdGlvbldpdGhSZWFkb25seSxcblxuICAgICAgICAgICAgICAgIC4uLnJlc3RcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZWYsXG4gICAgICAgICkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udGVudFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgICAgICAgICBjb25zdCBpbnB1dENvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgICAgICAgICBjb25zdCBpbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0Rm9ya1JlZiA9IHVzZUZvcmtSZWYoaW5wdXRSZWYsIHJlZik7XG4gICAgICAgICAgICBjb25zdCBjaGlwc1JlZnMgPSB1c2VSZWY8QXJyYXk8SFRNTEJ1dHRvbkVsZW1lbnQ+PihbXSk7XG4gICAgICAgICAgICBjb25zdCBoaW50UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcblxuICAgICAgICAgICAgY29uc3QgY29udHJvbGxlZFJlZnMgPSB7IGNvbnRlbnRSZWYsIGlucHV0UmVmLCBjaGlwc1JlZnMgfTtcblxuICAgICAgICAgICAgY29uc3QgW2hhc1ZhbHVlLCBzZXRIYXNWYWx1ZV0gPSB1c2VTdGF0ZShcbiAgICAgICAgICAgICAgICBCb29sZWFuKG91dGVyVmFsdWUpIHx8IEJvb2xlYW4oaW5wdXRSZWY/LmN1cnJlbnQ/LnZhbHVlKSB8fCBCb29sZWFuKHJlc3Q/LmRlZmF1bHRWYWx1ZSksXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uc3QgW2hhc0ZvY3VzLCBzZXRIYXNGb2N1c10gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgICAgICAgICAgIGNvbnN0IFtjaGlwcywgc2V0Q2hpcHNdID0gdXNlU3RhdGU8QXJyYXk8Q2hpcFZhbHVlcz4+KFtdKTtcbiAgICAgICAgICAgIGNvbnN0IFtpc0hpbnRWaXNpYmxlLCBzZXRJc0hpbnRWaXNpYmxlXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAgICAgICAgICAgY29uc3QgdW5pcUlkID0gc2FmZVVzZUlkKCk7XG4gICAgICAgICAgICBjb25zdCBpbm5lcklkID0gaWQgfHwgdW5pcUlkO1xuICAgICAgICAgICAgY29uc3QgbGFiZWxJZCA9IHNhZmVVc2VJZCgpO1xuICAgICAgICAgICAgY29uc3QgaGVscGVyVGV4dElkID0gc2FmZVVzZUlkKCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGlzRGVmYXVsdFZpZXcgPSB2aWV3ID09PSAnZGVmYXVsdCcgfHwgcmVhZE9ubHkgfHwgZGlzYWJsZWQ7XG5cbiAgICAgICAgICAgIGNvbnN0IGlzQ2hpcEVudW1lcmF0aW9uID0gZW51bWVyYXRpb25UeXBlID09PSAnY2hpcCc7XG4gICAgICAgICAgICBjb25zdCBpc0NoaXBzVmlzaWJsZSA9IGlzQ2hpcEVudW1lcmF0aW9uICYmIEJvb2xlYW4oY2hpcHM/Lmxlbmd0aCB8fCBfY2hpcHM/Lmxlbmd0aCk7XG4gICAgICAgICAgICBjb25zdCB3aXRoSGFzQ2hpcHMgPSBpc0NoaXBzVmlzaWJsZSA/IGNsYXNzZXMuaGFzQ2hpcHMgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgIGNvbnN0IGhhc0xhYmVsVmFsdWUgPSBCb29sZWFuKGxhYmVsKTtcbiAgICAgICAgICAgIGNvbnN0IGhhc0lubmVyTGFiZWwgPSBzaXplICE9PSAneHMnICYmIGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmICFpc0NoaXBzVmlzaWJsZSAmJiBoYXNMYWJlbFZhbHVlO1xuICAgICAgICAgICAgY29uc3QgaGFzT3V0ZXJMYWJlbCA9IGxhYmVsUGxhY2VtZW50ID09PSAnb3V0ZXInICYmIGhhc0xhYmVsVmFsdWU7XG4gICAgICAgICAgICBjb25zdCBpbm5lcktlZXBQbGFjZWhvbGRlciA9IGtlZXBQbGFjZWhvbGRlciAmJiBsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJztcbiAgICAgICAgICAgIGNvbnN0IGhhc1BsYWNlaG9sZGVyID0gQm9vbGVhbihwbGFjZWhvbGRlcikgJiYgKGlubmVyS2VlcFBsYWNlaG9sZGVyIHx8ICFoYXNJbm5lckxhYmVsKTtcbiAgICAgICAgICAgIGxldCBoYXNUZXh0QWZ0ZXIgPSBCb29sZWFuKHRleHRBZnRlcik7XG4gICAgICAgICAgICBsZXQgaGFzVGV4dEJlZm9yZSA9IHRleHRCZWZvcmUgJiYgIWlzQ2hpcEVudW1lcmF0aW9uO1xuICAgICAgICAgICAgaWYgKGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFoYXNWYWx1ZSAmJiAhaGFzUGxhY2Vob2xkZXIgJiYgIWhhc0ZvY3VzKSB7XG4gICAgICAgICAgICAgICAgICAgIGhhc1RleHRBZnRlciA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBoYXNUZXh0QmVmb3JlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBoYXNQbGFjZWhvbGRlclBhZGRpbmcgPSBoYXNJbm5lckxhYmVsICYmIGtlZXBQbGFjZWhvbGRlciAmJiBzaXplICE9PSAneHMnO1xuXG4gICAgICAgICAgICBjb25zdCBpbm5lckxhYmVsVmFsdWUgPSBoYXNJbm5lckxhYmVsIHx8IGhhc091dGVyTGFiZWwgPyBsYWJlbCA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGlubmVyTGFiZWxQbGFjZW1lbnRWYWx1ZSA9IGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmICFoYXNJbm5lckxhYmVsID8gdW5kZWZpbmVkIDogbGFiZWxQbGFjZW1lbnQ7XG5cbiAgICAgICAgICAgIGNvbnN0IGlubmVyUGxhY2Vob2xkZXJWYWx1ZSA9IGhhc1BsYWNlaG9sZGVyID8gcGxhY2Vob2xkZXIgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBwbGFjZWhvbGRlclNob3duID0gQm9vbGVhbihpbm5lclBsYWNlaG9sZGVyVmFsdWUpICYmICFoYXNWYWx1ZTtcblxuICAgICAgICAgICAgY29uc3QgY2xlYXJDbGFzcyA9IGNsZWFyID8gY2xhc3Nlcy5jbGVhciA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGhhc0RpdmlkZXJDbGFzcyA9IGhhc0RpdmlkZXIgPyBjbGFzc2VzLmhhc0RpdmlkZXIgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBoYXNJbm5lckhpbnRDbGFzcyA9IGhpbnRUZXh0ICYmIGhpbnRUYXJnZXRQbGFjZW1lbnQgPT09ICdvdXRlcicgPyBjbGFzc2VzLmhhc0hpbnQgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBoYXNIaW50Q2xhc3MgPSBoaW50VGV4dCA/IGNsYXNzZXMuaGFzSGludCA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IHJlcXVpcmVkUGxhY2VtZW50Q2xhc3MgPSByZXF1aXJlZFBsYWNlbWVudCA9PT0gJ3JpZ2h0JyA/IGNsYXNzZXMucmVxdWlyZWRBbGlnblJpZ2h0IDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgbGFiZWxQbGFjZW1lbnRDbGFzcyA9IGlubmVyTGFiZWxQbGFjZW1lbnRWYWx1ZVxuICAgICAgICAgICAgICAgID8gY2xhc3Nlc1tgJHtpbm5lckxhYmVsUGxhY2VtZW50VmFsdWV9TGFiZWxQbGFjZW1lbnRgIGFzIGtleW9mIHR5cGVvZiBjbGFzc2VzXVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaGFzVmFsdWVDbGFzcyA9IGhhc1ZhbHVlID8gY2xhc3Nlcy5oYXNWYWx1ZSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGtlZXBQbGFjZWhvbGRlckNsYXNzID0gaGFzUGxhY2Vob2xkZXIgJiYgcGxhY2Vob2xkZXJTaG93biAmJiBjbGFzc2VzLmtlZXBQbGFjZWhvbGRlcjtcblxuICAgICAgICAgICAgY29uc3Qgd3JhcHBlcldpdGhvdXRMZWZ0Q29udGVudCA9XG4gICAgICAgICAgICAgICAgIWNvbnRlbnRMZWZ0ICYmIGlzQ2hpcHNWaXNpYmxlICYmIGNoaXBUeXBlID09PSAnZGVmYXVsdCcgPyBjbGFzc2VzLmhhc0VtcHR5Q29udGVudExlZnQgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCB3cmFwcGVyV2l0aG91dFJpZ2h0Q29udGVudCA9XG4gICAgICAgICAgICAgICAgIWNvbnRlbnRSaWdodCAmJiBpc0NoaXBzVmlzaWJsZSAmJiBjaGlwVHlwZSA9PT0gJ2RlZmF1bHQnID8gY2xhc3Nlcy5oYXNFbXB0eUNvbnRlbnRSaWdodCA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgY29uc3QgY29udGVudFJpZ2h0Q29tcGVuc2F0aW9uTWFyZ2luID1cbiAgICAgICAgICAgICAgICAhaGFzT3V0ZXJMYWJlbCAmJiBoaW50VGV4dCAmJiBoaW50VGFyZ2V0UGxhY2VtZW50ID09PSAnaW5uZXInXG4gICAgICAgICAgICAgICAgICAgID8gY2xhc3Nlcy5jb250ZW50UmlnaHRDb21wZW5zYXRpb25NYXJnaW5cbiAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgIHVzZU91dHNpZGVDbGljaygoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SXNIaW50VmlzaWJsZShmYWxzZSk7XG4gICAgICAgICAgICB9LCBbaGludFJlZl0pO1xuXG4gICAgICAgICAgICBjb25zdCBoaW50SW5uZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgICAgICAgICAgY29uc3QgaGludEZvcmtSZWYgPSB1c2VGb3JrUmVmKGhpbnRSZWYsIGhpbnRJbm5lclJlZik7XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUlucHV0OiBGb3JtRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+ID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICAgICAgICAgICAgICBzZXRIYXNWYWx1ZShCb29sZWFuKHZhbHVlKSk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVGb2N1cyA9IChldmVudDogUmVhY3QuRm9jdXNFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgICAgIHNldEhhc0ZvY3VzKHRydWUpO1xuICAgICAgICAgICAgICAgIG9uRm9jdXM/LihldmVudCk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVCbHVyID0gKGV2ZW50OiBSZWFjdC5Gb2N1c0V2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SGFzRm9jdXMoZmFsc2UpO1xuICAgICAgICAgICAgICAgIG9uQmx1cj8uKGV2ZW50KTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUhpbnRTaG93ID0gKCkgPT4gc2V0SXNIaW50VmlzaWJsZSh0cnVlKTtcbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUhpbnRIaWRlID0gKCkgPT4gc2V0SXNIaW50VmlzaWJsZShmYWxzZSk7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGVIaW50Q2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFoaW50VGV4dCB8fCBoaW50VHJpZ2dlciAhPT0gJ2NsaWNrJykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0SXNQb3BvdmVyID0gZXZlbnQudGFyZ2V0ID09PSBoaW50SW5uZXJSZWYuY3VycmVudDtcbiAgICAgICAgICAgICAgICBjb25zdCByb290SGFzVGFyZ2V0ID0gaGludElubmVyUmVmLmN1cnJlbnQ/LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KTtcblxuICAgICAgICAgICAgICAgIGlmICghdGFyZ2V0SXNQb3BvdmVyICYmICFyb290SGFzVGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgICAgIHNldElzSGludFZpc2libGUodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlQ2hhbmdlOiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD4gPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZGlzYWJsZWQgfHwgcmVhZE9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHsgbWF4TGVuZ3RoLCB2YWx1ZSB9ID0gZXZlbnQudGFyZ2V0O1xuXG4gICAgICAgICAgICAgICAgaWYgKG1heExlbmd0aCAhPT0gLTEgJiYgdmFsdWUubGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAob25DaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2UoZXZlbnQpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChoYXNUZXh0QWZ0ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGV4dFdpZHRoID0gZ2V0SW5wdXRXaWR0aChldmVudC5jdXJyZW50VGFyZ2V0LCBpbnB1dENvbnRhaW5lclJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS53aWR0aCA9IGAke3RleHRXaWR0aH1weGA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlUGFzdGU6IENsaXBib2FyZEV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50PiA9IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChkaXNhYmxlZCB8fCByZWFkT25seSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKG9uUGFzdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgb25QYXN0ZShldmVudCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGhhc1RleHRBZnRlcikge1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaW5wdXRSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGV4dFdpZHRoID0gZ2V0SW5wdXRXaWR0aChpbnB1dFJlZi5jdXJyZW50LCBpbnB1dENvbnRhaW5lclJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQuc3R5bGUud2lkdGggPSBgJHt0ZXh0V2lkdGh9cHhgO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCB1cGRhdGVDaGlwcyA9IChuZXdDaGlwczogQXJyYXk8Q2hpcFZhbHVlcz4sIG5ld1ZhbHVlczogQXJyYXk8VGV4dEZpZWxkUHJpbWl0aXZlVmFsdWU+KSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0Q2hpcHMobmV3Q2hpcHMpO1xuICAgICAgICAgICAgICAgIG9uQ2hhbmdlQ2hpcHM/LihuZXdWYWx1ZXMpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgeyBoYW5kbGVJbnB1dEtleWRvd24sIGhhbmRsZUNoaXBLZXlEb3duLCBvbkNoaXBDbGVhciwgaGFuZGxlQ29udGVudEtleURvd24gfSA9IHVzZUtleU5hdmlnYXRpb24oe1xuICAgICAgICAgICAgICAgIGNvbnRyb2xsZWRSZWZzLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkLFxuICAgICAgICAgICAgICAgIHJlYWRPbmx5LFxuICAgICAgICAgICAgICAgIGNoaXBzLFxuICAgICAgICAgICAgICAgIG5ld0N1c3RvbUNoaXBzOiBfY2hpcHMsXG4gICAgICAgICAgICAgICAgZW51bWVyYXRpb25UeXBlLFxuICAgICAgICAgICAgICAgIHVwZGF0ZUNoaXBzLFxuICAgICAgICAgICAgICAgIG9uU2VhcmNoLFxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlLFxuICAgICAgICAgICAgICAgIG9uRW50ZXJEaXNhYmxlZDogX29uRW50ZXJEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICBvbkNoaXBDbG9zZUNsaWNrOiBfb25DaGlwQ2xvc2VDbGljayxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCBvbkNoaXBDbGljayA9IChldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD4pID0+IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVJbnB1dEZvY3VzID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZWFkT25seSB8fCBkaXNhYmxlZCB8fCAhaW5wdXRSZWY/LmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQuc2Nyb2xsVG8oe1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGlucHV0UmVmLmN1cnJlbnQub2Zmc2V0TGVmdCxcbiAgICAgICAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgZ2V0UmVmID0gKGVsZW1lbnQ6IEhUTUxCdXR0b25FbGVtZW50IHwgbnVsbCwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlbGVtZW50ICYmIGNoaXBzUmVmcz8uY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICBjaGlwc1JlZnMuY3VycmVudFtpbmRleF0gPSBlbGVtZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZU9uS2V5RG93biA9IChldmVudDogQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4gJiBLZXlib2FyZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgaGFuZGxlSW5wdXRLZXlkb3duKGV2ZW50KTtcblxuICAgICAgICAgICAgICAgIGlmIChvbktleURvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duKGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChoYXNUZXh0QWZ0ZXIgJiYgaW5wdXRSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZXh0V2lkdGggPSBnZXRJbnB1dFdpZHRoKGlucHV0UmVmLmN1cnJlbnQsIGlucHV0Q29udGFpbmVyUmVmLmN1cnJlbnQpO1xuICAgICAgICAgICAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50LnN0eWxlLndpZHRoID0gYCR7dGV4dFdpZHRofXB4YDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50Py5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnd2lkdGgnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCBbaGFzVGV4dEFmdGVyLCBvdXRlclZhbHVlXSk7XG5cbiAgICAgICAgICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFpc0NoaXBFbnVtZXJhdGlvbiAmJiAhdmFsdWVzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0NoaXBzID1cbiAgICAgICAgICAgICAgICAgICAgdmFsdWVzPy5tYXAoKHZhbHVlLCBpbmRleCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBgJHtpbmRleH1fJHt2YWx1ZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogdmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIH0pKSB8fCBbXTtcblxuICAgICAgICAgICAgICAgIHNldENoaXBzKG5ld0NoaXBzKTtcbiAgICAgICAgICAgIH0sIFtpc0NoaXBFbnVtZXJhdGlvbiwgdmFsdWVzXSk7XG5cbiAgICAgICAgICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SGFzVmFsdWUoQm9vbGVhbihyZXN0Py5kZWZhdWx0VmFsdWUpKTtcbiAgICAgICAgICAgIH0sIFtyZXN0LmRlZmF1bHRWYWx1ZV0pO1xuXG4gICAgICAgICAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldEhhc1ZhbHVlKEJvb2xlYW4ob3V0ZXJWYWx1ZSkgfHwgQm9vbGVhbihpbnB1dFJlZj8uY3VycmVudD8udmFsdWUpKTtcbiAgICAgICAgICAgIH0sIFtvdXRlclZhbHVlLCBpbnB1dFJlZj8uY3VycmVudD8udmFsdWVdKTtcblxuICAgICAgICAgICAgY29uc3QgaW5uZXJPcHRpb25hbCA9IEJvb2xlYW4ocmVxdWlyZWQgPyBmYWxzZSA6IG9wdGlvbmFsKTtcbiAgICAgICAgICAgIGNvbnN0IGhhc1BsYWNlaG9sZGVyT3B0aW9uYWwgPSBpbm5lck9wdGlvbmFsICYmICFpbm5lckxhYmVsVmFsdWUgJiYgIWhhc091dGVyTGFiZWw7XG4gICAgICAgICAgICBjb25zdCBvcHRpb25hbFRleHROb2RlID0gaW5uZXJPcHRpb25hbCA/IChcbiAgICAgICAgICAgICAgICA8U3R5bGVkT3B0aW9uYWxUZXh0PlxuICAgICAgICAgICAgICAgICAgICB7Qm9vbGVhbihoYXNQbGFjZWhvbGRlck9wdGlvbmFsID8gaW5uZXJQbGFjZWhvbGRlclZhbHVlIDogaW5uZXJMYWJlbFZhbHVlKSAmJiAnXFx4YTAnfVxuICAgICAgICAgICAgICAgICAgICB7b3B0aW9uYWxUZXh0fVxuICAgICAgICAgICAgICAgIDwvU3R5bGVkT3B0aW9uYWxUZXh0PlxuICAgICAgICAgICAgKSA6IG51bGw7XG5cbiAgICAgICAgICAgIGNvbnN0IGNsYXNzVGV4dEVsbGlwc2lzID1cbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlcnNjb3JlLWRhbmdsZVxuICAgICAgICAgICAgICAgICEocmVzdCBhcyBhbnkpLl90ZXh0RWxsaXBzaXNEaXNhYmxlICYmICF0ZXh0QWZ0ZXIgPyBjbGFzc2VzLmlucHV0VGV4dEVsbGlwc2lzIDogdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxSb290XG4gICAgICAgICAgICAgICAgICAgIHZpZXc9e3ZpZXd9XG4gICAgICAgICAgICAgICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9eyFkaXNhYmxlZCAmJiByZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQ9e2lubmVyTGFiZWxQbGFjZW1lbnRWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlSW5wdXRGb2N1c31cbiAgICAgICAgICAgICAgICAgICAgZGF0YS1yb290XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbFBsYWNlbWVudENsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc0RpdmlkZXJDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc0lubmVySGludENsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy50ZXh0RmllbGRHcm91cEl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgICAgICAgICAgICAgey4uLihoaW50VGV4dCAmJiB7IGhpbnRWaWV3LCBoaW50U2l6ZSB9KX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsoaGFzT3V0ZXJMYWJlbCB8fCB0aXRsZUNhcHRpb24pICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxPdXRlckxhYmVsV3JhcHBlciBpc0lubmVyTGFiZWw9e2xhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGFzT3V0ZXJMYWJlbCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJbmRpY2F0b3JXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGlkPXtsYWJlbElkfSBodG1sRm9yPXtpZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lubmVyTGFiZWxWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGFiZWw+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoaW50VGV4dCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEhpbnRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SGludENvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtoaW50Rm9ya1JlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUZXh0PXtoaW50VGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUcmlnZ2VyPXtoaW50VHJpZ2dlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzSGludFZpc2libGU9e2lzSGludFZpc2libGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VGFyZ2V0SWNvbj17aGludFRhcmdldEljb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50UGxhY2VtZW50PXtoaW50UGxhY2VtZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludEhhc0Fycm93PXtoaW50SGFzQXJyb3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50T2Zmc2V0PXtoaW50T2Zmc2V0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFdpZHRoPXtoaW50V2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50Q29udGVudExlZnQ9e2hpbnRDb250ZW50TGVmdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRTaG93PXtoYW5kbGVIaW50U2hvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRIaWRlPXtoYW5kbGVIaW50SGlkZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRDbGljaz17aGFuZGxlSGludENsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkSGludFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3JlcXVpcmVkICYmIGhhc1JlcXVpcmVkSW5kaWNhdG9yICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLm91dGVyTGFiZWxQbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFBsYWNlbWVudENsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzSGludENsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge29wdGlvbmFsVGV4dE5vZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkSW5kaWNhdG9yV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt0aXRsZUNhcHRpb24gJiYgPFRpdGxlQ2FwdGlvbiBkYXRhLXJvb3Q+e3RpdGxlQ2FwdGlvbn08L1RpdGxlQ2FwdGlvbj59XG4gICAgICAgICAgICAgICAgICAgICAgICA8L091dGVyTGFiZWxXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgICAgICAgIDxJbnB1dFdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlZiDQtNC70Y8g0LLQvdGD0YLRgNC10L3QvdC10LPQviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjy4g0J3QtSDQvtGC0LTQsNC10YLRgdGPINC90LDRgNGD0LbRgy5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17KHJlc3QgYXMgYW55KS5pbnB1dFdyYXBwZXJSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiAjMTU0NCwg0Lgg0L/QvtGB0LvQtSDRg9Cx0YDQsNGC0YwgY2xhc3Nlcy5pbnB1dFdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aEhhc0NoaXBzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyYXBwZXJXaXRob3V0TGVmdENvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JhcHBlcldpdGhvdXRSaWdodENvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy5pbnB1dFdyYXBwZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7IWhhc091dGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyZXF1aXJlZCAmJiBoYXNSZXF1aXJlZEluZGljYXRvciAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChjbGFzc2VzLmlubmVyTGFiZWxQbGFjZW1lbnQsIHJlcXVpcmVkUGxhY2VtZW50Q2xhc3MpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hpbnRUZXh0ICYmIGhpbnRUYXJnZXRQbGFjZW1lbnQgPT09ICdvdXRlcicgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEhpbnRXcmFwcGVyIGNsYXNzTmFtZT17Y2xhc3Nlcy5pbm5lckxhYmVsUGxhY2VtZW50fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SGludENvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2hpbnRGb3JrUmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VGV4dD17aGludFRleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUcmlnZ2VyPXtoaW50VHJpZ2dlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNIaW50VmlzaWJsZT17aXNIaW50VmlzaWJsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRhcmdldEljb249e2hpbnRUYXJnZXRJY29ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50UGxhY2VtZW50PXtoaW50UGxhY2VtZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50SGFzQXJyb3c9e2hpbnRIYXNBcnJvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludE9mZnNldD17aGludE9mZnNldH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFdpZHRoPXtoaW50V2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRDb250ZW50TGVmdD17aGludENvbnRlbnRMZWZ0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50U2hvdz17aGFuZGxlSGludFNob3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRIaWRlPXtoYW5kbGVIaW50SGlkZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGludENsaWNrPXtoYW5kbGVIaW50Q2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzSW5uZXJMYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZEhpbnRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjb250ZW50TGVmdCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZENvbnRlbnRMZWZ0IGRhdGEtcm9vdCBpc0NsZWFyPXtjbGVhcn0gaXNEZWZhdWx0Vmlldz17aXNEZWZhdWx0Vmlld30+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjb250ZW50TGVmdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZENvbnRlbnRMZWZ0PlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dExhYmVsV3JhcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2NvbnRlbnRSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVDb250ZW50S2V5RG93bn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KHdpdGhIYXNDaGlwcywgY2xhc3Nlcy5pbnB1dFNjcm9sbGFibGVXcmFwcGVyKX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Qm9vbGVhbih0ZXh0QmVmb3JlICYmIGlzQ2hpcEVudW1lcmF0aW9uKSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRUZXh0QmVmb3JlPnt0ZXh0QmVmb3JlfTwvU3R5bGVkVGV4dEJlZm9yZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge0Jvb2xlYW4oX2NoaXBzPy5sZW5ndGgpICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRleHRGaWVsZENoaXBOZXdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaXBzPXtfY2hpcHN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRSZWY9e2dldFJlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUNoaXBLZXlEb3duPXtoYW5kbGVDaGlwS2V5RG93bn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hpcENsZWFyPXtvbkNoaXBDbGVhcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hpcENsb3NlQ2xpY2s9e19vbkNoaXBDbG9zZUNsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpcENsaWNrQXJlYT17X2NoaXBDbGlja0FyZWF9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3PXtjaGlwVmlldyB8fCB2aWV3fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpcFR5cGU9e2NoaXBUeXBlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogIzE1NDdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9mb3JjZUNoaXBNYW5pcHVsYXRpb25XaXRoUmVhZG9ubHk9e19mb3JjZUNoaXBNYW5pcHVsYXRpb25XaXRoUmVhZG9ubHl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc0NoaXBFbnVtZXJhdGlvbiAmJiBCb29sZWFuKGNoaXBzPy5sZW5ndGgpICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZENoaXBzIGNsYXNzTmFtZT17Y2xhc3Nlcy5jaGlwc1dyYXBwZXJ9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NoaXBzPy5tYXAoKHsgaWQ6IGNoaXBJZCwgdGV4dCB9LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbGlkYXRpb25WaWV3ID0gY2hpcFZhbGlkYXRvcj8uKFN0cmluZyh0ZXh0KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzVmlldyA9IHZhbGlkYXRpb25WaWV3Py52aWV3IHx8IGNoaXBWaWV3O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRleHRGaWVsZENoaXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPXtjaGlwSWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9eyhlbGVtZW50KSA9PiBnZXRSZWYoZWxlbWVudCwgaW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtgJHtjaGlwSWR9XyR7aW5kZXh9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXt0ZXh0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dD17dGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiBoYW5kbGVDaGlwS2V5RG93bihldmVudCwgY2hpcElkLCBpbmRleCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsZWFyPXsoKSA9PiBvbkNoaXBDbGVhcihjaGlwSWQsIGluZGV4KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uQ2hpcENsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpcFR5cGU9e2NoaXBUeXBlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlldz17cmVzVmlld31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvb3RXcmFwcGVyPXtSb290fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogIzE1NDdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9mb3JjZUNoaXBNYW5pcHVsYXRpb25XaXRoUmVhZG9ubHk9e19mb3JjZUNoaXBNYW5pcHVsYXRpb25XaXRoUmVhZG9ubHl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZENoaXBzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0Q29udGFpbmVyIHJlZj17aW5wdXRDb250YWluZXJSZWZ9IGhhc0R5bmFtaWNXaWR0aD17aGFzVGV4dEFmdGVyfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc1RleHRCZWZvcmUgJiYgPFN0eWxlZFRleHRCZWZvcmU+e3RleHRCZWZvcmV9PC9TdHlsZWRUZXh0QmVmb3JlPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2lucHV0Rm9ya1JlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPXtpbm5lcklkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e291dGVyVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZD17ZW51bWVyYXRpb25UeXBlID09PSAnY2hpcCcgPyBjaGlwcy5sZW5ndGggPT09IDAgJiYgcmVxdWlyZWQgOiByZXF1aXJlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT17bGFiZWxJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9e2hlbHBlclRleHRJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtpbm5lclBsYWNlaG9sZGVyVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc1ZhbHVlQ2xhc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2VlcFBsYWNlaG9sZGVyQ2xhc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NUZXh0RWxsaXBzaXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHkgJiYgY2xhc3Nlcy5yZWFkT25seUlucHV0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXshZGlzYWJsZWQgJiYgcmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbklucHV0PXtoYW5kbGVJbnB1dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbktleURvd249e2hhbmRsZU9uS2V5RG93bn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRm9jdXM9e2hhbmRsZUZvY3VzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25CbHVyPXtoYW5kbGVCbHVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25QYXN0ZT17aGFuZGxlUGFzdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRvdXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5yZXN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGFzSW5uZXJMYWJlbCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGFiZWwgZGF0YS1yb290IGlkPXtsYWJlbElkfSBodG1sRm9yPXtpbm5lcklkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aW5uZXJMYWJlbFZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtvcHRpb25hbFRleHROb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3BsYWNlaG9sZGVyU2hvd24gJiYgIWhhc1ZhbHVlICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dFBsYWNlaG9sZGVyIGhhc1BhZGRpbmc9e2hhc1BsYWNlaG9sZGVyUGFkZGluZ30+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc1RleHRCZWZvcmUgJiYgPFN0eWxlZFRleHRCZWZvcmUgaXNIaWRkZW4+e3RleHRCZWZvcmV9PC9TdHlsZWRUZXh0QmVmb3JlPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aW5uZXJQbGFjZWhvbGRlclZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoYXNQbGFjZWhvbGRlck9wdGlvbmFsICYmIG9wdGlvbmFsVGV4dE5vZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0lucHV0UGxhY2Vob2xkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoYXNUZXh0QWZ0ZXIgJiYgPFN0eWxlZFRleHRBZnRlcj57dGV4dEFmdGVyfTwvU3R5bGVkVGV4dEFmdGVyPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0lucHV0Q29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9JbnB1dExhYmVsV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRDb250ZW50UmlnaHRXcmFwcGVyIGNsYXNzTmFtZT17Y3goY29udGVudFJpZ2h0Q29tcGVuc2F0aW9uTWFyZ2luKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2NvbnRlbnRSaWdodCAmJiA8U3R5bGVkQ29udGVudFJpZ2h0IGRhdGEtcm9vdD57Y29udGVudFJpZ2h0fTwvU3R5bGVkQ29udGVudFJpZ2h0Pn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHshaGFzT3V0ZXJMYWJlbCAmJiBoaW50VGV4dCAmJiBoaW50VGFyZ2V0UGxhY2VtZW50ID09PSAnaW5uZXInICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhpbnRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17aGludEZvcmtSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VGV4dD17aGludFRleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VHJpZ2dlcj17aGludFRyaWdnZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0hpbnRWaXNpYmxlPXtpc0hpbnRWaXNpYmxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRhcmdldEljb249e2hpbnRUYXJnZXRJY29ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFBsYWNlbWVudD17aGludFBsYWNlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRIYXNBcnJvdz17aGludEhhc0Fycm93fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludE9mZnNldD17aGludE9mZnNldH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRXaWR0aD17aGludFdpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludENvbnRlbnRMZWZ0PXtoaW50Q29udGVudExlZnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGludFNob3c9e2hhbmRsZUhpbnRTaG93fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGludEhpZGU9e2hhbmRsZUhpbnRIaWRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGludENsaWNrPXtoYW5kbGVIaW50Q2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0lubmVyTGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRDb250ZW50UmlnaHRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICA8L0lucHV0V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAge2xlZnRIZWxwZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPExlZnRIZWxwZXIgZGF0YS1yb290IGlkPXtoZWxwZXJUZXh0SWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtsZWZ0SGVscGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9MZWZ0SGVscGVyPlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvUm9vdD5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgKTtcblxuZXhwb3J0IGNvbnN0IHRleHRGaWVsZENvbmZpZyA9IHtcbiAgICBuYW1lOiAnVGV4dEZpZWxkJyxcbiAgICB0YWc6ICdkaXYnLFxuICAgIGxheW91dDogdGV4dEZpZWxkUm9vdCxcbiAgICBiYXNlLFxuICAgIHZhcmlhdGlvbnM6IHtcbiAgICAgICAgdmlldzoge1xuICAgICAgICAgICAgY3NzOiB2aWV3Q1NTLFxuICAgICAgICB9LFxuICAgICAgICBzaXplOiB7XG4gICAgICAgICAgICBjc3M6IHNpemVDU1MsXG4gICAgICAgIH0sXG4gICAgICAgIGNsZWFyOiB7XG4gICAgICAgICAgICBjc3M6IGNsZWFyQ1NTLFxuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGRpc2FibGVkOiB7XG4gICAgICAgICAgICBjc3M6IGRpc2FibGVkQ1NTLFxuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHJlYWRPbmx5OiB7XG4gICAgICAgICAgICBjc3M6IHJlYWRPbmx5Q1NTLFxuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsUGxhY2VtZW50OiB7XG4gICAgICAgICAgICBjc3M6IGxhYmVsUGxhY2VtZW50Q1NTLFxuICAgICAgICB9LFxuICAgICAgICBoaW50Vmlldzoge1xuICAgICAgICAgICAgY3NzOiBoaW50Vmlld0NTUyxcbiAgICAgICAgfSxcbiAgICAgICAgaGludFNpemU6IHtcbiAgICAgICAgICAgIGNzczogaGludFNpemVDU1MsXG4gICAgICAgIH0sXG4gICAgICAgIGNoaXBWaWV3OiB7XG4gICAgICAgICAgICBjc3M6IGNoaXBWaWV3Q1NTLFxuICAgICAgICB9LFxuICAgIH0sXG4gICAgZGVmYXVsdHM6IHtcbiAgICAgICAgc2l6ZTogJ20nLFxuICAgICAgICB2aWV3OiAnZGVmYXVsdCcsXG4gICAgfSxcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0RvQiJ9 */");
124
123
  var HINT_DEFAULT_OFFSET = [
125
124
  0,
126
125
  0
@@ -130,7 +129,7 @@ export var textFieldRoot = function(Root) {
130
129
  var id = _param.id, className = _param.className, style = _param.style, // layout
131
130
  contentLeft = _param.contentLeft, contentRight = _param.contentRight, label = _param.label, labelPlacement = _param.labelPlacement, keepPlaceholder = _param.keepPlaceholder, textBefore = _param.textBefore, textAfter = _param.textAfter, placeholder = _param.placeholder, leftHelper = _param.leftHelper, _param_enumerationType = _param.enumerationType, enumerationType = _param_enumerationType === void 0 ? 'plain' : _param_enumerationType, _param_requiredPlacement = _param.requiredPlacement, requiredPlacement = _param_requiredPlacement === void 0 ? 'right' : _param_requiredPlacement, _param_hasRequiredIndicator = _param.hasRequiredIndicator, hasRequiredIndicator = _param_hasRequiredIndicator === void 0 ? true : _param_hasRequiredIndicator, titleCaption = _param.titleCaption, _param_chipView = _param.chipView, chipView = _param_chipView === void 0 ? 'default' : _param_chipView, chipValidator = _param.chipValidator, _param_hintTrigger = _param.// hint
132
131
  hintTrigger, hintTrigger = _param_hintTrigger === void 0 ? 'hover' : _param_hintTrigger, hintText = _param.hintText, _param_hintView = _param.hintView, hintView = _param_hintView === void 0 ? 'default' : _param_hintView, _param_hintSize = _param.hintSize, hintSize = _param_hintSize === void 0 ? 'm' : _param_hintSize, hintTargetIcon = _param.hintTargetIcon, _param_hintTargetPlacement = _param.hintTargetPlacement, hintTargetPlacement = _param_hintTargetPlacement === void 0 ? 'outer' : _param_hintTargetPlacement, _param_hintPlacement = _param.hintPlacement, hintPlacement = _param_hintPlacement === void 0 ? 'auto' : _param_hintPlacement, hintHasArrow = _param.hintHasArrow, _param_hintOffset = _param.hintOffset, hintOffset = _param_hintOffset === void 0 ? HINT_DEFAULT_OFFSET : _param_hintOffset, hintWidth = _param.hintWidth, hintContentLeft = _param.hintContentLeft, // variations
133
- view = _param.view, size = _param.size, _param_readOnly = _param.readOnly, readOnly = _param_readOnly === void 0 ? false : _param_readOnly, _param_disabled = _param.disabled, disabled = _param_disabled === void 0 ? false : _param_disabled, _param_required = _param.required, required = _param_required === void 0 ? false : _param_required, _param_clear = _param.clear, clear = _param_clear === void 0 ? false : _param_clear, optional = _param.optional, hasDivider = _param.hasDivider, // controlled
132
+ view = _param.view, size = _param.size, _param_readOnly = _param.readOnly, readOnly = _param_readOnly === void 0 ? false : _param_readOnly, _param_disabled = _param.disabled, disabled = _param_disabled === void 0 ? false : _param_disabled, _param_required = _param.required, required = _param_required === void 0 ? false : _param_required, _param_clear = _param.clear, clear = _param_clear === void 0 ? false : _param_clear, optional = _param.optional, _param_optionalText = _param.optionalText, optionalText = _param_optionalText === void 0 ? 'optional' : _param_optionalText, hasDivider = _param.hasDivider, // controlled
134
133
  outerValue = _param.value, values = _param.chips, _param_chipType = _param.chipType, chipType = _param_chipType === void 0 ? 'default' : _param_chipType, // @ts-ignore
135
134
  _chips = _param._chips, // @ts-ignore
136
135
  _chipClickArea = _param._chipClickArea, // @ts-ignore
@@ -175,6 +174,7 @@ export var textFieldRoot = function(Root) {
175
174
  "required",
176
175
  "clear",
177
176
  "optional",
177
+ "optionalText",
178
178
  "hasDivider",
179
179
  "value",
180
180
  "chips",
@@ -57,7 +57,7 @@ var DateStructureItem = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function (_ref
57
57
  var eventNodes = (eventList === null || eventList === void 0 ? void 0 : eventList.map(function (_ref2) {
58
58
  var eventInfo = _ref2.eventInfo;
59
59
  return eventInfo;
60
- })) || [];
60
+ }).filter(Boolean)) || [];
61
61
  onTriggerEventTooltip(structureRef, eventNodes);
62
62
  }
63
63
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DateStructureItem.js","sources":["../../../../../src/components/Calendar/ui/DateStructureItem/DateStructureItem.tsx"],"sourcesContent":["import React, { forwardRef, memo, useRef } from 'react';\nimport type { MouseEvent } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { cx } from '../../../../utils';\nimport { classes } from '../../Calendar.tokens';\n\nimport type { DateStructureItemProps } from './DateStructureItem.types';\nimport { StyledItem, StyledItemRoot, StyledEvent, StyledEvents } from './DateStructureItem.styles';\n\n/**\n * Компонент элемента даты в сетке календаря.\n */\nexport const DateStructureItem = memo(\n forwardRef<HTMLDivElement, DateStructureItemProps>(\n (\n {\n children,\n isFocused,\n dayOfWeek,\n disabled,\n isCurrent,\n isSelected,\n isDayInCurrentMonth,\n isDouble,\n inRange,\n isHovered,\n sideInRange,\n eventList = [],\n day,\n monthIndex,\n year,\n onClick,\n onMouseOver,\n onTriggerEventTooltip,\n onFocus,\n disabledArrowKey,\n disabledMonths,\n ...rest\n },\n outerRef,\n ) => {\n const structureRef = useRef<HTMLDivElement | null>(null);\n const innerRef = useForkRef(outerRef, structureRef);\n\n const selectableClass = !dayOfWeek && !disabled ? classes.selectableItem : undefined;\n const selectedClass = isDayInCurrentMonth && isSelected ? classes.selectedItem : undefined;\n const currentClass = isDayInCurrentMonth && isCurrent ? classes.currentItem : undefined;\n const hoveredClass = isDayInCurrentMonth && isHovered ? classes.hoveredItem : undefined;\n const dayOfWeekClass = dayOfWeek ? classes.dayOfWeek : undefined;\n const dayInCurrentMonthClass = isDayInCurrentMonth ? classes.dayInCurrentMonth : undefined;\n const disabledClass = disabled && !isCurrent ? classes.disabled : undefined;\n const disabledCurrentClass = disabled && isCurrent ? classes.disabledCurrent : undefined;\n const sideInRangeLeft = isDayInCurrentMonth && sideInRange === 'left' ? classes.sideLeft : undefined;\n const sideInRangeRight = isDayInCurrentMonth && sideInRange === 'right' ? classes.sideRight : undefined;\n const sideInRangeClass = isDayInCurrentMonth && sideInRange ? classes.sideInRange : undefined;\n const inRangeStyle = isDayInCurrentMonth && inRange ? classes.inRange : undefined;\n const sideOffset = !isSelected && isCurrent ? -1 : 0;\n\n const handleMouseOver = (event: MouseEvent<HTMLDivElement>) => {\n if (onMouseOver) {\n onMouseOver(event);\n }\n\n if (onTriggerEventTooltip) {\n const eventNodes = eventList?.map(({ eventInfo }) => eventInfo) || [];\n\n onTriggerEventTooltip(structureRef, eventNodes);\n }\n };\n\n return (\n <StyledItemRoot\n ref={innerRef}\n className={cx(\n disabledClass,\n disabledCurrentClass,\n dayOfWeekClass,\n selectableClass,\n selectedClass,\n currentClass,\n hoveredClass,\n dayInCurrentMonthClass,\n )}\n tabIndex={isFocused ? 0 : -1}\n dayOfWeek={dayOfWeek}\n isCurrent={isCurrent}\n isSelected={isSelected}\n isDayInCurrentMonth={isDayInCurrentMonth}\n isDouble={isDouble}\n isHovered={isHovered}\n sideInRange={sideInRange}\n onClick={disabled ? undefined : onClick}\n onMouseOver={handleMouseOver}\n onFocus={onFocus}\n data-day={day}\n data-month-index={monthIndex}\n data-year={year}\n data-disabled-arrow-key={disabledArrowKey || undefined}\n data-disabled-months={disabledMonths || undefined}\n aria-selected={isSelected}\n aria-disabled={disabled}\n aria-describedby={disabled ? 'withShift' : undefined}\n {...rest}\n >\n <StyledItem\n className={cx(sideInRangeClass, sideInRangeLeft, sideInRangeRight, inRangeStyle)}\n offset={sideOffset}\n >\n {children}\n </StyledItem>\n <StyledEvents aria-hidden>\n {[eventList[0], eventList[1], eventList[2]].map(\n (event, i) => event && <StyledEvent key={`${event.date}-${i}`} color={event.color} />,\n )}\n </StyledEvents>\n </StyledItemRoot>\n );\n },\n ),\n);\n"],"names":["DateStructureItem","memo","forwardRef","_ref","outerRef","children","isFocused","dayOfWeek","disabled","isCurrent","isSelected","isDayInCurrentMonth","isDouble","inRange","isHovered","sideInRange","_ref$eventList","eventList","day","monthIndex","year","onClick","onMouseOver","onTriggerEventTooltip","onFocus","disabledArrowKey","disabledMonths","rest","_objectWithoutProperties","_excluded","structureRef","useRef","innerRef","useForkRef","selectableClass","classes","selectableItem","undefined","selectedClass","selectedItem","currentClass","currentItem","hoveredClass","hoveredItem","dayOfWeekClass","dayInCurrentMonthClass","dayInCurrentMonth","disabledClass","disabledCurrentClass","disabledCurrent","sideInRangeLeft","sideLeft","sideInRangeRight","sideRight","sideInRangeClass","inRangeStyle","sideOffset","handleMouseOver","event","eventNodes","map","_ref2","eventInfo","React","createElement","StyledItemRoot","_extends","ref","className","cx","tabIndex","StyledItem","offset","StyledEvents","i","StyledEvent","key","concat","date","color"],"mappings":";;;;;;;;;AAUA;AACA;AACA;AACO,IAAMA,iBAAiB,gBAAGC,IAAI,cACjCC,UAAU,CACN,UAAAC,IAAA,EAyBIC,QAAQ,EACP;AAAA,EAAA,IAxBGC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRC,SAAS,GAAAH,IAAA,CAATG,SAAS;IACTC,SAAS,GAAAJ,IAAA,CAATI,SAAS;IACTC,QAAQ,GAAAL,IAAA,CAARK,QAAQ;IACRC,SAAS,GAAAN,IAAA,CAATM,SAAS;IACTC,UAAU,GAAAP,IAAA,CAAVO,UAAU;IACVC,mBAAmB,GAAAR,IAAA,CAAnBQ,mBAAmB;IACnBC,QAAQ,GAAAT,IAAA,CAARS,QAAQ;IACRC,OAAO,GAAAV,IAAA,CAAPU,OAAO;IACPC,SAAS,GAAAX,IAAA,CAATW,SAAS;IACTC,WAAW,GAAAZ,IAAA,CAAXY,WAAW;IAAAC,cAAA,GAAAb,IAAA,CACXc,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;IACdE,GAAG,GAAAf,IAAA,CAAHe,GAAG;IACHC,UAAU,GAAAhB,IAAA,CAAVgB,UAAU;IACVC,IAAI,GAAAjB,IAAA,CAAJiB,IAAI;IACJC,OAAO,GAAAlB,IAAA,CAAPkB,OAAO;IACPC,WAAW,GAAAnB,IAAA,CAAXmB,WAAW;IACXC,qBAAqB,GAAApB,IAAA,CAArBoB,qBAAqB;IACrBC,OAAO,GAAArB,IAAA,CAAPqB,OAAO;IACPC,gBAAgB,GAAAtB,IAAA,CAAhBsB,gBAAgB;IAChBC,cAAc,GAAAvB,IAAA,CAAduB,cAAc;AACXC,IAAAA,IAAI,GAAAC,wBAAA,CAAAzB,IAAA,EAAA0B,SAAA,CAAA,CAAA;AAIX,EAAA,IAAMC,YAAY,GAAGC,MAAM,CAAwB,IAAI,CAAC,CAAA;AACxD,EAAA,IAAMC,QAAQ,GAAGC,UAAU,CAAC7B,QAAQ,EAAE0B,YAAY,CAAC,CAAA;AAEnD,EAAA,IAAMI,eAAe,GAAG,CAAC3B,SAAS,IAAI,CAACC,QAAQ,GAAG2B,OAAO,CAACC,cAAc,GAAGC,SAAS,CAAA;EACpF,IAAMC,aAAa,GAAG3B,mBAAmB,IAAID,UAAU,GAAGyB,OAAO,CAACI,YAAY,GAAGF,SAAS,CAAA;EAC1F,IAAMG,YAAY,GAAG7B,mBAAmB,IAAIF,SAAS,GAAG0B,OAAO,CAACM,WAAW,GAAGJ,SAAS,CAAA;EACvF,IAAMK,YAAY,GAAG/B,mBAAmB,IAAIG,SAAS,GAAGqB,OAAO,CAACQ,WAAW,GAAGN,SAAS,CAAA;EACvF,IAAMO,cAAc,GAAGrC,SAAS,GAAG4B,OAAO,CAAC5B,SAAS,GAAG8B,SAAS,CAAA;EAChE,IAAMQ,sBAAsB,GAAGlC,mBAAmB,GAAGwB,OAAO,CAACW,iBAAiB,GAAGT,SAAS,CAAA;EAC1F,IAAMU,aAAa,GAAGvC,QAAQ,IAAI,CAACC,SAAS,GAAG0B,OAAO,CAAC3B,QAAQ,GAAG6B,SAAS,CAAA;EAC3E,IAAMW,oBAAoB,GAAGxC,QAAQ,IAAIC,SAAS,GAAG0B,OAAO,CAACc,eAAe,GAAGZ,SAAS,CAAA;AACxF,EAAA,IAAMa,eAAe,GAAGvC,mBAAmB,IAAII,WAAW,KAAK,MAAM,GAAGoB,OAAO,CAACgB,QAAQ,GAAGd,SAAS,CAAA;AACpG,EAAA,IAAMe,gBAAgB,GAAGzC,mBAAmB,IAAII,WAAW,KAAK,OAAO,GAAGoB,OAAO,CAACkB,SAAS,GAAGhB,SAAS,CAAA;EACvG,IAAMiB,gBAAgB,GAAG3C,mBAAmB,IAAII,WAAW,GAAGoB,OAAO,CAACpB,WAAW,GAAGsB,SAAS,CAAA;EAC7F,IAAMkB,YAAY,GAAG5C,mBAAmB,IAAIE,OAAO,GAAGsB,OAAO,CAACtB,OAAO,GAAGwB,SAAS,CAAA;EACjF,IAAMmB,UAAU,GAAG,CAAC9C,UAAU,IAAID,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;AAEpD,EAAA,IAAMgD,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,KAAiC,EAAK;AAC3D,IAAA,IAAIpC,WAAW,EAAE;MACbA,WAAW,CAACoC,KAAK,CAAC,CAAA;AACtB,KAAA;AAEA,IAAA,IAAInC,qBAAqB,EAAE;AACvB,MAAA,IAAMoC,UAAU,GAAG,CAAA1C,SAAS,KAATA,IAAAA,IAAAA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAE2C,GAAG,CAAC,UAAAC,KAAA,EAAA;AAAA,QAAA,IAAGC,SAAS,GAAAD,KAAA,CAATC,SAAS,CAAA;AAAA,QAAA,OAAOA,SAAS,CAAA;AAAA,OAAA,CAAC,KAAI,EAAE,CAAA;AAErEvC,MAAAA,qBAAqB,CAACO,YAAY,EAAE6B,UAAU,CAAC,CAAA;AACnD,KAAA;GACH,CAAA;AAED,EAAA,oBACII,KAAA,CAAAC,aAAA,CAACC,cAAc,EAAAC,QAAA,CAAA;AACXC,IAAAA,GAAG,EAAEnC,QAAS;AACdoC,IAAAA,SAAS,EAAEC,EAAE,CACTtB,aAAa,EACbC,oBAAoB,EACpBJ,cAAc,EACdV,eAAe,EACfI,aAAa,EACbE,YAAY,EACZE,YAAY,EACZG,sBACJ,CAAE;AACFyB,IAAAA,QAAQ,EAAEhE,SAAS,GAAG,CAAC,GAAG,CAAC,CAAE;AAC7BC,IAAAA,SAAS,EAAEA,SAAU;AACrBE,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,UAAU,EAAEA,UAAW;AACvBC,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCC,IAAAA,QAAQ,EAAEA,QAAS;AACnBE,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,WAAW,EAAEA,WAAY;AACzBM,IAAAA,OAAO,EAAEb,QAAQ,GAAG6B,SAAS,GAAGhB,OAAQ;AACxCC,IAAAA,WAAW,EAAEmC,eAAgB;AAC7BjC,IAAAA,OAAO,EAAEA,OAAQ;AACjB,IAAA,UAAA,EAAUN,GAAI;AACd,IAAA,kBAAA,EAAkBC,UAAW;AAC7B,IAAA,WAAA,EAAWC,IAAK;IAChB,yBAAyBK,EAAAA,gBAAgB,IAAIY,SAAU;IACvD,sBAAsBX,EAAAA,cAAc,IAAIW,SAAU;AAClD,IAAA,eAAA,EAAe3B,UAAW;AAC1B,IAAA,eAAA,EAAeF,QAAS;IACxB,kBAAkBA,EAAAA,QAAQ,GAAG,WAAW,GAAG6B,SAAAA;AAAU,GAAA,EACjDV,IAAI,CAERoC,eAAAA,KAAA,CAAAC,aAAA,CAACO,UAAU,EAAA;IACPH,SAAS,EAAEC,EAAE,CAACf,gBAAgB,EAAEJ,eAAe,EAAEE,gBAAgB,EAAEG,YAAY,CAAE;AACjFiB,IAAAA,MAAM,EAAEhB,UAAAA;AAAW,GAAA,EAElBnD,QACO,CAAC,eACb0D,KAAA,CAAAC,aAAA,CAACS,YAAY,EAAA;AAAC,IAAA,aAAA,EAAA,IAAA;GACT,EAAA,CAACxD,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC2C,GAAG,CAC3C,UAACF,KAAK,EAAEgB,CAAC,EAAA;AAAA,IAAA,OAAKhB,KAAK,iBAAIK,KAAA,CAAAC,aAAA,CAACW,WAAW,EAAA;MAACC,GAAG,EAAA,EAAA,CAAAC,MAAA,CAAKnB,KAAK,CAACoB,IAAI,EAAAD,GAAAA,CAAAA,CAAAA,MAAA,CAAIH,CAAC,CAAG;MAACK,KAAK,EAAErB,KAAK,CAACqB,KAAAA;AAAM,KAAE,CAAC,CAAA;GACzF,CACU,CACF,CAAC,CAAA;AAEzB,CACJ,CACJ;;;;"}
1
+ {"version":3,"file":"DateStructureItem.js","sources":["../../../../../src/components/Calendar/ui/DateStructureItem/DateStructureItem.tsx"],"sourcesContent":["import React, { forwardRef, memo, useRef } from 'react';\nimport type { MouseEvent } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { cx } from '../../../../utils';\nimport { classes } from '../../Calendar.tokens';\n\nimport type { DateStructureItemProps } from './DateStructureItem.types';\nimport { StyledItem, StyledItemRoot, StyledEvent, StyledEvents } from './DateStructureItem.styles';\n\n/**\n * Компонент элемента даты в сетке календаря.\n */\nexport const DateStructureItem = memo(\n forwardRef<HTMLDivElement, DateStructureItemProps>(\n (\n {\n children,\n isFocused,\n dayOfWeek,\n disabled,\n isCurrent,\n isSelected,\n isDayInCurrentMonth,\n isDouble,\n inRange,\n isHovered,\n sideInRange,\n eventList = [],\n day,\n monthIndex,\n year,\n onClick,\n onMouseOver,\n onTriggerEventTooltip,\n onFocus,\n disabledArrowKey,\n disabledMonths,\n ...rest\n },\n outerRef,\n ) => {\n const structureRef = useRef<HTMLDivElement | null>(null);\n const innerRef = useForkRef(outerRef, structureRef);\n\n const selectableClass = !dayOfWeek && !disabled ? classes.selectableItem : undefined;\n const selectedClass = isDayInCurrentMonth && isSelected ? classes.selectedItem : undefined;\n const currentClass = isDayInCurrentMonth && isCurrent ? classes.currentItem : undefined;\n const hoveredClass = isDayInCurrentMonth && isHovered ? classes.hoveredItem : undefined;\n const dayOfWeekClass = dayOfWeek ? classes.dayOfWeek : undefined;\n const dayInCurrentMonthClass = isDayInCurrentMonth ? classes.dayInCurrentMonth : undefined;\n const disabledClass = disabled && !isCurrent ? classes.disabled : undefined;\n const disabledCurrentClass = disabled && isCurrent ? classes.disabledCurrent : undefined;\n const sideInRangeLeft = isDayInCurrentMonth && sideInRange === 'left' ? classes.sideLeft : undefined;\n const sideInRangeRight = isDayInCurrentMonth && sideInRange === 'right' ? classes.sideRight : undefined;\n const sideInRangeClass = isDayInCurrentMonth && sideInRange ? classes.sideInRange : undefined;\n const inRangeStyle = isDayInCurrentMonth && inRange ? classes.inRange : undefined;\n const sideOffset = !isSelected && isCurrent ? -1 : 0;\n\n const handleMouseOver = (event: MouseEvent<HTMLDivElement>) => {\n if (onMouseOver) {\n onMouseOver(event);\n }\n\n if (onTriggerEventTooltip) {\n const eventNodes = eventList?.map(({ eventInfo }) => eventInfo).filter(Boolean) || [];\n\n onTriggerEventTooltip(structureRef, eventNodes);\n }\n };\n\n return (\n <StyledItemRoot\n ref={innerRef}\n className={cx(\n disabledClass,\n disabledCurrentClass,\n dayOfWeekClass,\n selectableClass,\n selectedClass,\n currentClass,\n hoveredClass,\n dayInCurrentMonthClass,\n )}\n tabIndex={isFocused ? 0 : -1}\n dayOfWeek={dayOfWeek}\n isCurrent={isCurrent}\n isSelected={isSelected}\n isDayInCurrentMonth={isDayInCurrentMonth}\n isDouble={isDouble}\n isHovered={isHovered}\n sideInRange={sideInRange}\n onClick={disabled ? undefined : onClick}\n onMouseOver={handleMouseOver}\n onFocus={onFocus}\n data-day={day}\n data-month-index={monthIndex}\n data-year={year}\n data-disabled-arrow-key={disabledArrowKey || undefined}\n data-disabled-months={disabledMonths || undefined}\n aria-selected={isSelected}\n aria-disabled={disabled}\n aria-describedby={disabled ? 'withShift' : undefined}\n {...rest}\n >\n <StyledItem\n className={cx(sideInRangeClass, sideInRangeLeft, sideInRangeRight, inRangeStyle)}\n offset={sideOffset}\n >\n {children}\n </StyledItem>\n <StyledEvents aria-hidden>\n {[eventList[0], eventList[1], eventList[2]].map(\n (event, i) => event && <StyledEvent key={`${event.date}-${i}`} color={event.color} />,\n )}\n </StyledEvents>\n </StyledItemRoot>\n );\n },\n ),\n);\n"],"names":["DateStructureItem","memo","forwardRef","_ref","outerRef","children","isFocused","dayOfWeek","disabled","isCurrent","isSelected","isDayInCurrentMonth","isDouble","inRange","isHovered","sideInRange","_ref$eventList","eventList","day","monthIndex","year","onClick","onMouseOver","onTriggerEventTooltip","onFocus","disabledArrowKey","disabledMonths","rest","_objectWithoutProperties","_excluded","structureRef","useRef","innerRef","useForkRef","selectableClass","classes","selectableItem","undefined","selectedClass","selectedItem","currentClass","currentItem","hoveredClass","hoveredItem","dayOfWeekClass","dayInCurrentMonthClass","dayInCurrentMonth","disabledClass","disabledCurrentClass","disabledCurrent","sideInRangeLeft","sideLeft","sideInRangeRight","sideRight","sideInRangeClass","inRangeStyle","sideOffset","handleMouseOver","event","eventNodes","map","_ref2","eventInfo","filter","Boolean","React","createElement","StyledItemRoot","_extends","ref","className","cx","tabIndex","StyledItem","offset","StyledEvents","i","StyledEvent","key","concat","date","color"],"mappings":"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"}
@@ -17,7 +17,7 @@ import { useOutsideClick } from '../../hooks/useOutsideClick.js';
17
17
  import { ROOT_FONT_SIZE, useAutoResize } from './hooks/useAutoResize.js';
18
18
  import { mergeRefs } from '../../utils/setRefList.js';
19
19
 
20
- var _excluded = ["helperText", "status", "resize", "headerSlot", "rightHelper", "leftHelper", "leftHelperPlacement", "contentRight", "autoResize", "minAuto", "maxAuto", "label", "labelPlacement", "titleCaption", "placeholder", "defaultValue", "height", "width", "value", "disabled", "required", "requiredPlacement", "hasRequiredIndicator", "optional", "clear", "hasDivider", "size", "view", "id", "style", "className", "readOnly", "rows", "cols", "hintTrigger", "hintText", "hintView", "hintSize", "hintTargetIcon", "hintPlacement", "hintHasArrow", "hintOffset", "hintWidth", "hintContentLeft", "labelAriaHidden", "onChange"];
20
+ var _excluded = ["helperText", "status", "resize", "headerSlot", "rightHelper", "leftHelper", "leftHelperPlacement", "contentRight", "autoResize", "minAuto", "maxAuto", "label", "labelPlacement", "titleCaption", "placeholder", "defaultValue", "height", "width", "value", "disabled", "required", "requiredPlacement", "hasRequiredIndicator", "optional", "optionalText", "clear", "hasDivider", "size", "view", "id", "style", "className", "readOnly", "rows", "cols", "hintTrigger", "hintText", "hintView", "hintSize", "hintTargetIcon", "hintPlacement", "hintHasArrow", "hintOffset", "hintWidth", "hintContentLeft", "labelAriaHidden", "onChange"];
21
21
  var innerPlaceholderUp = classes.innerPlaceholderUp,
22
22
  focusedOuterPlaceholderColor = classes.focusedOuterPlaceholderColor,
23
23
  hidePlaceHolder = classes.hidePlaceHolder,
@@ -28,7 +28,6 @@ var innerPlaceholderUp = classes.innerPlaceholderUp,
28
28
  styledHelpers = classes.styledHelpers,
29
29
  hasHeaderSlot = classes.hasHeaderSlot,
30
30
  styledContentWrapper = classes.styledContentWrapper;
31
- var optionalText = 'optional';
32
31
  var base = "b6rykm0";
33
32
 
34
33
  // TODO: Удалить после отказа от старых библиотек plasma-web / plasma-b2c
@@ -93,6 +92,8 @@ var textAreaRoot = function textAreaRoot(Root) {
93
92
  hasRequiredIndicator = _props$hasRequiredInd === void 0 ? true : _props$hasRequiredInd,
94
93
  _props$optional = props.optional,
95
94
  optional = _props$optional === void 0 ? false : _props$optional,
95
+ _props$optionalText = props.optionalText,
96
+ optionalText = _props$optionalText === void 0 ? 'optional' : _props$optionalText,
96
97
  clear = props.clear,
97
98
  hasDivider = props.hasDivider,
98
99
  size = props.size,
@@ -1 +1 @@
1
- {"version":3,"file":"TextArea.js","sources":["../../../src/components/TextArea/TextArea.tsx"],"sourcesContent":["import React, { forwardRef, useState, createRef, useCallback, useRef, MouseEventHandler, useLayoutEffect } from 'react';\nimport { css } from '@linaria/core';\nimport { useResizeObserver } from '@salutejs/plasma-core';\n\nimport { cx, mergeRefs } from '../../utils';\nimport type { RootProps } from '../../engines/types';\nimport { useOutsideClick } from '../../hooks';\n\nimport { applyDynamicLabel } from './mixins';\nimport { useAutoResize, ROOT_FONT_SIZE } from './hooks';\nimport {\n StyledContent,\n StyledHelpers,\n StyledLeftHelper,\n StyledRightHelper,\n StyledLabel,\n StyledPlaceholder,\n StyledTextArea,\n StyledTextAreaWrapper,\n StyledContainer,\n StyledIndicator,\n StyledOptionalText,\n OuterLabelWrapper,\n StyledIndicatorWrapper,\n StyledHintWrapper,\n TitleCaption,\n StyledOutsideHelpersWrapper,\n StyledHiddenTextArea,\n StyledContentWrapper,\n StyledHeaderSlot,\n} from './TextArea.styles';\nimport { classes } from './TextArea.tokens';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as clearCSS } from './variations/_clear/base';\nimport { base as readOnlyCSS } from './variations/_read-only/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as hintViewCSS } from './variations/_hint-view/base';\nimport { base as hintSizeCSS } from './variations/_hint-size/base';\nimport type { TextAreaProps, TextAreaRootProps } from './TextArea.types';\nimport { HintComponent } from './ui/Hint/Hint';\n\nconst {\n innerPlaceholderUp,\n focusedOuterPlaceholderColor,\n hidePlaceHolder,\n styledContainer,\n styledTextArea,\n styledTextAreaWrapper,\n styledPlaceholder,\n styledHelpers,\n hasHeaderSlot,\n styledContentWrapper,\n} = classes;\n\nconst optionalText = 'optional';\n\nconst base = css`\n ${applyDynamicLabel};\n\n position: relative;\n box-sizing: border-box;\n`;\n\n// TODO: Удалить после отказа от старых библиотек plasma-web / plasma-b2c\nconst fallbackStatusMap = {\n '': 'primary',\n success: 'positive',\n warning: 'warning',\n error: 'negative',\n};\n\nconst HINT_DEFAULT_OFFSET: [number, number] = [0, 0];\n\n// TODO: Перенести этот метод в файл applyDynamicLabel.ts\nexport const getDynamicLabelClasses = (props: TextAreaProps, focused: boolean) => {\n const { readOnly, label, labelPlacement, rows, value, size } = props;\n\n // Добавить класс отвечающий за изменение цвета плейсхолдера при фокусе\n const withFocusedOuterUpPlaceholder =\n !readOnly && focused && (!label || labelPlacement === 'outer') ? focusedOuterPlaceholderColor : undefined;\n\n // Добавить класс отвечающий за поднятие и уменьшение плейсхолдера\n const withInnerPlaceholderUp =\n labelPlacement === 'inner' &&\n label &&\n !rows &&\n size !== 'xs' &&\n ((!readOnly && (value || focused)) || (readOnly && value))\n ? innerPlaceholderUp\n : undefined;\n\n // Добавить класс отвечающий за скрытие плейсхолдера\n const withHidePlaceholder =\n (value && !label) ||\n (labelPlacement === 'inner' && ((focused && !readOnly) || value) && label && rows) ||\n (labelPlacement === 'outer' && value) ||\n (labelPlacement === 'inner' && size === 'xs' && value)\n ? hidePlaceHolder\n : undefined;\n\n return [withFocusedOuterUpPlaceholder, withInnerPlaceholderUp, withHidePlaceholder];\n};\n\nexport const textAreaRoot = (Root: RootProps<HTMLTextAreaElement, TextAreaRootProps>) =>\n forwardRef<HTMLTextAreaElement, TextAreaProps>((props, innerRef) => {\n const {\n helperText,\n status,\n resize,\n headerSlot,\n rightHelper,\n leftHelper,\n leftHelperPlacement = 'inner',\n contentRight,\n autoResize = false,\n minAuto = 0,\n maxAuto,\n label,\n labelPlacement = 'inner',\n titleCaption,\n placeholder,\n defaultValue,\n height,\n width,\n value,\n disabled,\n required = false,\n requiredPlacement = 'right',\n hasRequiredIndicator = true,\n optional = false,\n clear,\n hasDivider,\n size,\n view,\n id,\n style,\n className,\n readOnly,\n rows,\n cols,\n hintTrigger = 'hover',\n hintText,\n hintView = 'default',\n hintSize = 'm',\n hintTargetIcon,\n hintPlacement = 'auto',\n hintHasArrow,\n hintOffset = HINT_DEFAULT_OFFSET,\n hintWidth,\n hintContentLeft,\n labelAriaHidden = false,\n onChange,\n ...rest\n } = props;\n\n const [isHintVisible, setIsHintVisible] = useState(false);\n const [helperWidth, setHelperWidth] = useState<string>(width ? `${width}rem` : '100%');\n const [focused, setFocused] = useState(false);\n // TODO: перенести в общую переменную для value снаружи и внутри\n const [uncontrolledValue, setUncontrolledValue] = useState<string | undefined>();\n\n const outerRef = createRef<HTMLTextAreaElement>();\n const hiddenRef = useRef<HTMLTextAreaElement | null>(null);\n const hintRef = useRef<HTMLDivElement>(null);\n\n useOutsideClick(() => {\n setIsHintVisible(false);\n }, [hintRef]);\n\n const isInnerLeftHelperPlacement = leftHelperPlacement === 'inner';\n const leftHelperText = leftHelper || helperText;\n const innerOptional = required ? false : optional;\n const hasLeftHelper = Boolean(leftHelper || helperText);\n const hasRightHelper = Boolean(rightHelper);\n const hasHelper = !isInnerLeftHelperPlacement ? hasRightHelper : hasLeftHelper || hasRightHelper;\n const hasOuterLabel = Boolean(label && labelPlacement === 'outer');\n const hasInnerLabel = Boolean(label && labelPlacement === 'inner' && size !== 'xs');\n const hasPlaceholderOptional = innerOptional && !hasOuterLabel;\n const hasHeader = Boolean(headerSlot) && !clear;\n\n const overriddenView = status !== undefined ? fallbackStatusMap[status] : view;\n const textareaHelperId = id ? `${id}-helper` : undefined;\n const applyCustomWidth = resize !== 'horizontal' && resize !== 'both' && !cols;\n const placeholderLabel = hasInnerLabel ? label : placeholder;\n const applyAutoResize = autoResize || Boolean(clear);\n\n const clearClass = clear ? classes.clear : undefined;\n const hasHintClass = hintText ? classes.hasHint : undefined;\n const hasRightContentClass = contentRight ? classes.hasRightContent : undefined;\n const hasDividerClass = hasDivider ? classes.hasDivider : undefined;\n const requiredPlacementClass = requiredPlacement === 'right' ? classes.requiredAlignRight : undefined;\n\n const handleHintShow = () => setIsHintVisible(true);\n const handleHintHide = () => setIsHintVisible(false);\n const handleHintClick: MouseEventHandler = (event) => {\n if (!hintText || hintTrigger !== 'click') {\n return;\n }\n\n event.stopPropagation();\n const targetIsPopover = event.target === hintRef.current;\n const rootHasTarget = hintRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n setIsHintVisible(true);\n }\n };\n\n useLayoutEffect(() => {\n if (outerRef.current) {\n setUncontrolledValue(outerRef.current.value);\n }\n }, [outerRef]);\n\n useResizeObserver(outerRef, (currentElement) => {\n const { width: inlineWidth } = currentElement.style;\n\n if (inlineWidth || cols) {\n const { width: elementWidth } = currentElement.getBoundingClientRect();\n setHelperWidth(`${elementWidth / ROOT_FONT_SIZE}rem`);\n }\n });\n\n useAutoResize(applyAutoResize, outerRef, value || uncontrolledValue, minAuto, maxAuto, resize, hiddenRef);\n\n const onFocusHandler = useCallback(() => {\n setFocused(true);\n }, []);\n\n const onBlurHandler = useCallback(() => {\n setFocused(false);\n }, []);\n\n const onChangeHandler = useCallback(\n (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n // INFO: Для крайне редких кейсов, когда value снаружи не контролируется\n if (value === undefined) {\n setUncontrolledValue(event?.target.value);\n }\n\n onChange?.(event);\n },\n [value, onChange],\n );\n\n const handleTextAreaFocus = () => {\n if (readOnly || disabled || !outerRef?.current) {\n return;\n }\n\n outerRef.current.focus();\n };\n\n const dynamicLabelClasses = getDynamicLabelClasses(\n {\n size,\n readOnly,\n label,\n labelPlacement,\n value: value || uncontrolledValue || defaultValue,\n rows,\n labelAriaHidden,\n },\n focused,\n );\n\n const optionalTextNode = innerOptional ? (\n <StyledOptionalText inheritFont={!hasOuterLabel}>\n {Boolean(hasPlaceholderOptional ? placeholderLabel : label) && '\\xa0'}\n {optionalText}\n </StyledOptionalText>\n ) : null;\n\n return (\n <Root\n view={overriddenView}\n size={size}\n disabled={disabled}\n readOnly={readOnly}\n style={{ width: helperWidth, ...style }}\n className={cx(clearClass, hasDividerClass, hasHintClass, className)}\n onClick={handleTextAreaFocus}\n data-root\n {...(hintText && {\n hintView,\n hintSize,\n })}\n >\n {(hasOuterLabel || titleCaption) && (\n <OuterLabelWrapper width={helperWidth} isInnerLabel={labelPlacement === 'inner'}>\n {hasOuterLabel && (\n <StyledIndicatorWrapper>\n <StyledLabel aria-hidden={labelAriaHidden}>{label}</StyledLabel>\n\n {hintText && (\n <StyledHintWrapper>\n <HintComponent\n ref={hintRef}\n hintText={hintText}\n hintTrigger={hintTrigger}\n isHintVisible={isHintVisible}\n hintTargetIcon={hintTargetIcon}\n hintPlacement={hintPlacement}\n hintHasArrow={hintHasArrow}\n hintOffset={hintOffset}\n hintWidth={hintWidth}\n hintContentLeft={hintContentLeft}\n handleHintShow={handleHintShow}\n handleHintHide={handleHintHide}\n handleHintClick={handleHintClick}\n />\n </StyledHintWrapper>\n )}\n {required && hasRequiredIndicator && (\n <StyledIndicator\n className={cx(\n classes.outerLabelPlacement,\n requiredPlacementClass,\n hasHintClass,\n )}\n />\n )}\n {optionalTextNode}\n </StyledIndicatorWrapper>\n )}\n {titleCaption && <TitleCaption>{titleCaption}</TitleCaption>}\n </OuterLabelWrapper>\n )}\n <StyledContainer\n className={cx(styledContainer, ...dynamicLabelClasses)}\n width={helperWidth}\n onFocus={onFocusHandler}\n onBlur={onBlurHandler}\n >\n {!hasOuterLabel && (\n <>\n {required && hasRequiredIndicator && (\n <StyledIndicator className={cx(classes.innerLabelPlacement, requiredPlacementClass)} />\n )}\n {hintText && (\n <StyledHintWrapper className={classes.innerLabelPlacement}>\n <HintComponent\n ref={hintRef}\n hintText={hintText}\n hintTrigger={hintTrigger}\n isHintVisible={isHintVisible}\n hintTargetIcon={hintTargetIcon}\n hintPlacement={hintPlacement}\n hintHasArrow={hintHasArrow}\n hintOffset={hintOffset}\n hintWidth={hintWidth}\n hintContentLeft={hintContentLeft}\n size={size}\n handleHintShow={handleHintShow}\n handleHintHide={handleHintHide}\n handleHintClick={handleHintClick}\n isInnerLabel\n />\n </StyledHintWrapper>\n )}\n </>\n )}\n <StyledTextAreaWrapper\n className={cx(styledTextAreaWrapper, hasHeader && hasHeaderSlot)}\n hasHelper={hasHelper}\n hasHeader={hasHeader}\n >\n {headerSlot && !clear && <StyledHeaderSlot>{headerSlot}</StyledHeaderSlot>}\n\n {contentRight && !hasHeader && <StyledContent>{contentRight}</StyledContent>}\n\n {hasHeader && (\n <StyledContentWrapper className={styledContentWrapper} hasHeader={hasHeader}>\n {contentRight && <StyledContent hasHeader={hasHeader}>{contentRight}</StyledContent>}\n {headerSlot && placeholderLabel && (\n <StyledPlaceholder\n hasContentRight={Boolean(contentRight)}\n className={styledPlaceholder}\n htmlFor={id}\n >\n {placeholderLabel}\n {!hasOuterLabel && optionalTextNode}\n </StyledPlaceholder>\n )}\n </StyledContentWrapper>\n )}\n <StyledTextArea\n className={cx(styledTextArea, hasRightContentClass)}\n id={id}\n hasContentRight={Boolean(contentRight)}\n hasHelper={hasHelper}\n applyCustomWidth={applyCustomWidth}\n ref={mergeRefs(outerRef, innerRef)}\n disabled={disabled}\n required={required}\n height={applyAutoResize ? minAuto : height}\n width={width}\n placeholder={placeholderLabel}\n aria-describedby={textareaHelperId}\n value={value}\n readOnly={readOnly}\n rows={rows}\n cols={cols}\n resize={resize}\n defaultValue={defaultValue}\n onChange={onChangeHandler}\n data-tour\n {...rest}\n />\n {applyAutoResize && (\n <StyledHiddenTextArea\n aria-hidden\n ref={hiddenRef}\n hasContentRight={Boolean(contentRight)}\n value={value || uncontrolledValue || ' '}\n defaultValue={defaultValue}\n />\n )}\n </StyledTextAreaWrapper>\n {hasHelper && (\n <StyledHelpers className={styledHelpers} id={textareaHelperId}>\n {isInnerLeftHelperPlacement && (leftHelper || helperText) && (\n <StyledLeftHelper>{leftHelper || helperText}</StyledLeftHelper>\n )}\n {rightHelper && <StyledRightHelper data-root>{rightHelper}</StyledRightHelper>}\n </StyledHelpers>\n )}\n {!hasHeader && placeholderLabel && (\n <StyledPlaceholder\n hasContentRight={Boolean(contentRight)}\n className={styledPlaceholder}\n htmlFor={id}\n >\n {placeholderLabel}\n {!hasOuterLabel && optionalTextNode}\n </StyledPlaceholder>\n )}\n </StyledContainer>\n {hasLeftHelper && !isInnerLeftHelperPlacement && (\n <StyledOutsideHelpersWrapper id={textareaHelperId}>\n <StyledLeftHelper>{leftHelperText}</StyledLeftHelper>\n </StyledOutsideHelpersWrapper>\n )}\n </Root>\n );\n });\n\nexport const textAreaConfig = {\n name: 'TextArea',\n tag: 'div',\n layout: textAreaRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n clear: {\n css: clearCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n hintView: {\n css: hintViewCSS,\n },\n hintSize: {\n css: hintSizeCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'primary',\n },\n};\n"],"names":["innerPlaceholderUp","classes","focusedOuterPlaceholderColor","hidePlaceHolder","styledContainer","styledTextArea","styledTextAreaWrapper","styledPlaceholder","styledHelpers","hasHeaderSlot","styledContentWrapper","optionalText","base","fallbackStatusMap","success","warning","error","HINT_DEFAULT_OFFSET","getDynamicLabelClasses","props","focused","readOnly","label","labelPlacement","rows","value","size","withFocusedOuterUpPlaceholder","undefined","withInnerPlaceholderUp","withHidePlaceholder","textAreaRoot","Root","forwardRef","innerRef","helperText","status","resize","headerSlot","rightHelper","leftHelper","_props$leftHelperPlac","leftHelperPlacement","contentRight","_props$autoResize","autoResize","_props$minAuto","minAuto","maxAuto","_props$labelPlacement","titleCaption","placeholder","defaultValue","height","width","disabled","_props$required","required","_props$requiredPlacem","requiredPlacement","_props$hasRequiredInd","hasRequiredIndicator","_props$optional","optional","clear","hasDivider","view","id","style","className","cols","_props$hintTrigger","hintTrigger","hintText","_props$hintView","hintView","_props$hintSize","hintSize","hintTargetIcon","_props$hintPlacement","hintPlacement","hintHasArrow","_props$hintOffset","hintOffset","hintWidth","hintContentLeft","_props$labelAriaHidde","labelAriaHidden","onChange","rest","_excluded","_useState","useState","_useState2","_slicedToArray","isHintVisible","setIsHintVisible","_useState3","concat","_useState4","helperWidth","setHelperWidth","_useState5","_useState6","setFocused","_useState7","_useState8","uncontrolledValue","setUncontrolledValue","outerRef","createRef","hiddenRef","useRef","hintRef","useOutsideClick","isInnerLeftHelperPlacement","leftHelperText","innerOptional","hasLeftHelper","Boolean","hasRightHelper","hasHelper","hasOuterLabel","hasInnerLabel","hasPlaceholderOptional","hasHeader","overriddenView","textareaHelperId","applyCustomWidth","placeholderLabel","applyAutoResize","clearClass","hasHintClass","hasHint","hasRightContentClass","hasRightContent","hasDividerClass","requiredPlacementClass","requiredAlignRight","handleHintShow","handleHintHide","handleHintClick","event","_hintRef$current","stopPropagation","targetIsPopover","target","current","rootHasTarget","contains","useLayoutEffect","useResizeObserver","currentElement","inlineWidth","_currentElement$getBo","getBoundingClientRect","elementWidth","ROOT_FONT_SIZE","useAutoResize","onFocusHandler","useCallback","onBlurHandler","onChangeHandler","handleTextAreaFocus","focus","dynamicLabelClasses","optionalTextNode","React","createElement","StyledOptionalText","inheritFont","_extends","_objectSpread","cx","onClick","OuterLabelWrapper","isInnerLabel","StyledIndicatorWrapper","StyledLabel","StyledHintWrapper","HintComponent","ref","StyledIndicator","outerLabelPlacement","TitleCaption","StyledContainer","apply","_toConsumableArray","onFocus","onBlur","Fragment","innerLabelPlacement","StyledTextAreaWrapper","StyledHeaderSlot","StyledContent","StyledContentWrapper","StyledPlaceholder","hasContentRight","htmlFor","StyledTextArea","mergeRefs","StyledHiddenTextArea","StyledHelpers","StyledLeftHelper","StyledRightHelper","StyledOutsideHelpersWrapper","textAreaConfig","name","tag","layout","variations","css","sizeCSS","viewCSS","clearCSS","attrs","readOnlyCSS","disabledCSS","hintViewCSS","hintSizeCSS","defaults"],"mappings":";;;;;;;;;;;;;;;;;;;AA0CA,IACIA,kBAAkB,GAUlBC,OAAO,CAVPD,kBAAkB;EAClBE,4BAA4B,GAS5BD,OAAO,CATPC,4BAA4B;EAC5BC,eAAe,GAQfF,OAAO,CARPE,eAAe;EACfC,eAAe,GAOfH,OAAO,CAPPG,eAAe;EACfC,cAAc,GAMdJ,OAAO,CANPI,cAAc;EACdC,qBAAqB,GAKrBL,OAAO,CALPK,qBAAqB;EACrBC,iBAAiB,GAIjBN,OAAO,CAJPM,iBAAiB;EACjBC,aAAa,GAGbP,OAAO,CAHPO,aAAa;EACbC,aAAa,GAEbR,OAAO,CAFPQ,aAAa;EACbC,oBAAAA,GACAT,OAAO,CADPS,oBAAAA,CAAAA;AAGJ,IAAMC,YAAY,GAAG,UAAU,CAAA;AAE/B,IAAMC,IAAI,GAKT,SAAA,CAAA;;AAED;AACA,IAAMC,iBAAiB,GAAG;AACtB,EAAA,EAAE,EAAE,SAAS;AACbC,EAAAA,OAAO,EAAE,UAAU;AACnBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,KAAK,EAAE,UAAA;AACX,CAAC,CAAA;AAED,IAAMC,mBAAqC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;;AAEpD;AACO,IAAMC,sBAAsB,GAAGA,SAAzBA,sBAAsBA,CAAIC,KAAoB,EAAEC,OAAgB,EAAK;AAC9E,EAAA,IAAQC,QAAQ,GAA+CF,KAAK,CAA5DE,QAAQ;IAAEC,KAAK,GAAwCH,KAAK,CAAlDG,KAAK;IAAEC,cAAc,GAAwBJ,KAAK,CAA3CI,cAAc;IAAEC,IAAI,GAAkBL,KAAK,CAA3BK,IAAI;IAAEC,KAAK,GAAWN,KAAK,CAArBM,KAAK;IAAEC,IAAAA,GAASP,KAAK,CAAdO,IAAAA,CAAAA;;AAEtD;AACA,EAAA,IAAMC,6BAA6B,GAC/B,CAACN,QAAQ,IAAID,OAAO,KAAK,CAACE,KAAK,IAAIC,cAAc,KAAK,OAAO,CAAC,GAAGrB,4BAA4B,GAAG0B,SAAS,CAAA;;AAE7G;AACA,EAAA,IAAMC,sBAAsB,GACxBN,cAAc,KAAK,OAAO,IAC1BD,KAAK,IACL,CAACE,IAAI,IACLE,IAAI,KAAK,IAAI,KACX,CAACL,QAAQ,KAAKI,KAAK,IAAIL,OAAO,CAAC,IAAMC,QAAQ,IAAII,KAAM,CAAC,GACpDzB,kBAAkB,GAClB4B,SAAS,CAAA;;AAEnB;AACA,EAAA,IAAME,mBAAmB,GACpBL,KAAK,IAAI,CAACH,KAAK,IACfC,cAAc,KAAK,OAAO,KAAMH,OAAO,IAAI,CAACC,QAAQ,IAAKI,KAAK,CAAC,IAAIH,KAAK,IAAIE,IAAK,IACjFD,cAAc,KAAK,OAAO,IAAIE,KAAM,IACpCF,cAAc,KAAK,OAAO,IAAIG,IAAI,KAAK,IAAI,IAAID,KAAM,GAChDtB,eAAe,GACfyB,SAAS,CAAA;AAEnB,EAAA,OAAO,CAACD,6BAA6B,EAAEE,sBAAsB,EAAEC,mBAAmB,CAAC,CAAA;AACvF,EAAC;IAEYC,YAAY,GAAGA,SAAfA,YAAYA,CAAIC,IAAuD,EAAA;AAAA,EAAA,oBAChFC,UAAU,CAAqC,UAACd,KAAK,EAAEe,QAAQ,EAAK;AAChE,IAAA,IACIC,UAAU,GA+CVhB,KAAK,CA/CLgB,UAAU;MACVC,MAAM,GA8CNjB,KAAK,CA9CLiB,MAAM;MACNC,MAAM,GA6CNlB,KAAK,CA7CLkB,MAAM;MACNC,UAAU,GA4CVnB,KAAK,CA5CLmB,UAAU;MACVC,WAAW,GA2CXpB,KAAK,CA3CLoB,WAAW;MACXC,UAAU,GA0CVrB,KAAK,CA1CLqB,UAAU;MAAAC,qBAAA,GA0CVtB,KAAK,CAzCLuB,mBAAmB;AAAnBA,MAAAA,mBAAmB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,qBAAA;MAC7BE,YAAY,GAwCZxB,KAAK,CAxCLwB,YAAY;MAAAC,iBAAA,GAwCZzB,KAAK,CAvCL0B,UAAU;AAAVA,MAAAA,UAAU,GAAAD,iBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,iBAAA;MAAAE,cAAA,GAuClB3B,KAAK,CAtCL4B,OAAO;AAAPA,MAAAA,OAAO,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,cAAA;MACXE,OAAO,GAqCP7B,KAAK,CArCL6B,OAAO;MACP1B,KAAK,GAoCLH,KAAK,CApCLG,KAAK;MAAA2B,qBAAA,GAoCL9B,KAAK,CAnCLI,cAAc;AAAdA,MAAAA,cAAc,GAAA0B,qBAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,qBAAA;MACxBC,YAAY,GAkCZ/B,KAAK,CAlCL+B,YAAY;MACZC,WAAW,GAiCXhC,KAAK,CAjCLgC,WAAW;MACXC,YAAY,GAgCZjC,KAAK,CAhCLiC,YAAY;MACZC,MAAM,GA+BNlC,KAAK,CA/BLkC,MAAM;MACNC,KAAK,GA8BLnC,KAAK,CA9BLmC,KAAK;MACL7B,KAAK,GA6BLN,KAAK,CA7BLM,KAAK;MACL8B,QAAQ,GA4BRpC,KAAK,CA5BLoC,QAAQ;MAAAC,eAAA,GA4BRrC,KAAK,CA3BLsC,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;MAAAE,qBAAA,GA2BhBvC,KAAK,CA1BLwC,iBAAiB;AAAjBA,MAAAA,iBAAiB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,qBAAA;MAAAE,qBAAA,GA0B3BzC,KAAK,CAzBL0C,oBAAoB;AAApBA,MAAAA,oBAAoB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;MAAAE,eAAA,GAyB3B3C,KAAK,CAxBL4C,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;MAChBE,KAAK,GAuBL7C,KAAK,CAvBL6C,KAAK;MACLC,UAAU,GAsBV9C,KAAK,CAtBL8C,UAAU;MACVvC,IAAI,GAqBJP,KAAK,CArBLO,IAAI;MACJwC,IAAI,GAoBJ/C,KAAK,CApBL+C,IAAI;MACJC,EAAE,GAmBFhD,KAAK,CAnBLgD,EAAE;MACFC,KAAK,GAkBLjD,KAAK,CAlBLiD,KAAK;MACLC,SAAS,GAiBTlD,KAAK,CAjBLkD,SAAS;MACThD,QAAQ,GAgBRF,KAAK,CAhBLE,QAAQ;MACRG,IAAI,GAeJL,KAAK,CAfLK,IAAI;MACJ8C,IAAI,GAcJnD,KAAK,CAdLmD,IAAI;MAAAC,kBAAA,GAcJpD,KAAK,CAbLqD,WAAW;AAAXA,MAAAA,WAAW,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,kBAAA;MACrBE,QAAQ,GAYRtD,KAAK,CAZLsD,QAAQ;MAAAC,eAAA,GAYRvD,KAAK,CAXLwD,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,eAAA;MAAAE,eAAA,GAWpBzD,KAAK,CAVL0D,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,GAAG,GAAAA,eAAA;MACdE,cAAc,GASd3D,KAAK,CATL2D,cAAc;MAAAC,oBAAA,GASd5D,KAAK,CARL6D,aAAa;AAAbA,MAAAA,aAAa,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,oBAAA;MACtBE,YAAY,GAOZ9D,KAAK,CAPL8D,YAAY;MAAAC,iBAAA,GAOZ/D,KAAK,CANLgE,UAAU;AAAVA,MAAAA,UAAU,GAAAD,iBAAA,KAAGjE,KAAAA,CAAAA,GAAAA,mBAAmB,GAAAiE,iBAAA;MAChCE,SAAS,GAKTjE,KAAK,CALLiE,SAAS;MACTC,eAAe,GAIflE,KAAK,CAJLkE,eAAe;MAAAC,qBAAA,GAIfnE,KAAK,CAHLoE,eAAe;AAAfA,MAAAA,eAAe,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;MACvBE,QAAQ,GAERrE,KAAK,CAFLqE,QAAQ;AACLC,MAAAA,IAAAA,GAAAA,wBAAAA,CACHtE,KAAK,EAAAuE,SAAA,CAAA,CAAA;AAET,IAAA,IAAAC,SAAA,GAA0CC,QAAQ,CAAC,KAAK,CAAC;MAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAlDI,MAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,gBAAgB,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;IACtC,IAAAI,UAAA,GAAsCL,QAAQ,CAAStC,KAAK,GAAA4C,EAAAA,CAAAA,MAAA,CAAM5C,KAAK,EAAQ,KAAA,CAAA,GAAA,MAAM,CAAC;MAAA6C,UAAA,GAAAL,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAA/EG,MAAAA,WAAW,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,cAAc,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAClC,IAAA,IAAAG,UAAA,GAA8BV,QAAQ,CAAC,KAAK,CAAC;MAAAW,UAAA,GAAAT,cAAA,CAAAQ,UAAA,EAAA,CAAA,CAAA;AAAtClF,MAAAA,OAAO,GAAAmF,UAAA,CAAA,CAAA,CAAA;AAAEC,MAAAA,UAAU,GAAAD,UAAA,CAAA,CAAA,CAAA,CAAA;AAC1B;AACA,IAAA,IAAAE,UAAA,GAAkDb,QAAQ,EAAsB;MAAAc,UAAA,GAAAZ,cAAA,CAAAW,UAAA,EAAA,CAAA,CAAA;AAAzEE,MAAAA,iBAAiB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,oBAAoB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAE9C,IAAA,IAAMG,QAAQ,gBAAGC,SAAS,EAAuB,CAAA;AACjD,IAAA,IAAMC,SAAS,GAAGC,MAAM,CAA6B,IAAI,CAAC,CAAA;AAC1D,IAAA,IAAMC,OAAO,GAAGD,MAAM,CAAiB,IAAI,CAAC,CAAA;AAE5CE,IAAAA,eAAe,CAAC,YAAM;MAClBlB,gBAAgB,CAAC,KAAK,CAAC,CAAA;AAC3B,KAAC,EAAE,CAACiB,OAAO,CAAC,CAAC,CAAA;AAEb,IAAA,IAAME,0BAA0B,GAAGzE,mBAAmB,KAAK,OAAO,CAAA;AAClE,IAAA,IAAM0E,cAAc,GAAG5E,UAAU,IAAIL,UAAU,CAAA;AAC/C,IAAA,IAAMkF,aAAa,GAAG5D,QAAQ,GAAG,KAAK,GAAGM,QAAQ,CAAA;AACjD,IAAA,IAAMuD,aAAa,GAAGC,OAAO,CAAC/E,UAAU,IAAIL,UAAU,CAAC,CAAA;AACvD,IAAA,IAAMqF,cAAc,GAAGD,OAAO,CAAChF,WAAW,CAAC,CAAA;IAC3C,IAAMkF,SAAS,GAAG,CAACN,0BAA0B,GAAGK,cAAc,GAAGF,aAAa,IAAIE,cAAc,CAAA;IAChG,IAAME,aAAa,GAAGH,OAAO,CAACjG,KAAK,IAAIC,cAAc,KAAK,OAAO,CAAC,CAAA;AAClE,IAAA,IAAMoG,aAAa,GAAGJ,OAAO,CAACjG,KAAK,IAAIC,cAAc,KAAK,OAAO,IAAIG,IAAI,KAAK,IAAI,CAAC,CAAA;AACnF,IAAA,IAAMkG,sBAAsB,GAAGP,aAAa,IAAI,CAACK,aAAa,CAAA;IAC9D,IAAMG,SAAS,GAAGN,OAAO,CAACjF,UAAU,CAAC,IAAI,CAAC0B,KAAK,CAAA;IAE/C,IAAM8D,cAAc,GAAG1F,MAAM,KAAKR,SAAS,GAAGf,iBAAiB,CAACuB,MAAM,CAAC,GAAG8B,IAAI,CAAA;IAC9E,IAAM6D,gBAAgB,GAAG5D,EAAE,GAAA,EAAA,CAAA+B,MAAA,CAAM/B,EAAE,eAAYvC,SAAS,CAAA;IACxD,IAAMoG,gBAAgB,GAAG3F,MAAM,KAAK,YAAY,IAAIA,MAAM,KAAK,MAAM,IAAI,CAACiC,IAAI,CAAA;AAC9E,IAAA,IAAM2D,gBAAgB,GAAGN,aAAa,GAAGrG,KAAK,GAAG6B,WAAW,CAAA;AAC5D,IAAA,IAAM+E,eAAe,GAAGrF,UAAU,IAAI0E,OAAO,CAACvD,KAAK,CAAC,CAAA;IAEpD,IAAMmE,UAAU,GAAGnE,KAAK,GAAG/D,OAAO,CAAC+D,KAAK,GAAGpC,SAAS,CAAA;IACpD,IAAMwG,YAAY,GAAG3D,QAAQ,GAAGxE,OAAO,CAACoI,OAAO,GAAGzG,SAAS,CAAA;IAC3D,IAAM0G,oBAAoB,GAAG3F,YAAY,GAAG1C,OAAO,CAACsI,eAAe,GAAG3G,SAAS,CAAA;IAC/E,IAAM4G,eAAe,GAAGvE,UAAU,GAAGhE,OAAO,CAACgE,UAAU,GAAGrC,SAAS,CAAA;IACnE,IAAM6G,sBAAsB,GAAG9E,iBAAiB,KAAK,OAAO,GAAG1D,OAAO,CAACyI,kBAAkB,GAAG9G,SAAS,CAAA;AAErG,IAAA,IAAM+G,cAAc,GAAGA,SAAjBA,cAAcA,GAAA;MAAA,OAAS3C,gBAAgB,CAAC,IAAI,CAAC,CAAA;AAAA,KAAA,CAAA;AACnD,IAAA,IAAM4C,cAAc,GAAGA,SAAjBA,cAAcA,GAAA;MAAA,OAAS5C,gBAAgB,CAAC,KAAK,CAAC,CAAA;AAAA,KAAA,CAAA;AACpD,IAAA,IAAM6C,eAAkC,GAAIC,SAAtCD,eAAkCA,CAAIC,KAAK,EAAK;AAAA,MAAA,IAAAC,gBAAA,CAAA;AAClD,MAAA,IAAI,CAACtE,QAAQ,IAAID,WAAW,KAAK,OAAO,EAAE;AACtC,QAAA,OAAA;AACJ,OAAA;MAEAsE,KAAK,CAACE,eAAe,EAAE,CAAA;MACvB,IAAMC,eAAe,GAAGH,KAAK,CAACI,MAAM,KAAKjC,OAAO,CAACkC,OAAO,CAAA;AACxD,MAAA,IAAMC,aAAa,GAAAL,CAAAA,gBAAA,GAAG9B,OAAO,CAACkC,OAAO,MAAA,IAAA,IAAAJ,gBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAf9B,gBAAAA,CAAiBoC,QAAQ,CAACP,KAAK,CAACI,MAAiB,CAAC,CAAA;AAExE,MAAA,IAAI,CAACD,eAAe,IAAI,CAACG,aAAa,EAAE;QACpCpD,gBAAgB,CAAC,IAAI,CAAC,CAAA;AAC1B,OAAA;KACH,CAAA;AAEDsD,IAAAA,eAAe,CAAC,YAAM;MAClB,IAAIzC,QAAQ,CAACsC,OAAO,EAAE;AAClBvC,QAAAA,oBAAoB,CAACC,QAAQ,CAACsC,OAAO,CAAC1H,KAAK,CAAC,CAAA;AAChD,OAAA;AACJ,KAAC,EAAE,CAACoF,QAAQ,CAAC,CAAC,CAAA;AAEd0C,IAAAA,iBAAiB,CAAC1C,QAAQ,EAAG2C,UAAAA,cAAc,EAAK;AAC5C,MAAA,IAAeC,WAAAA,GAAgBD,cAAc,CAACpF,KAAK,CAA3Cd,KAAK,CAAA;MAEb,IAAImG,WAAW,IAAInF,IAAI,EAAE;AACrB,QAAA,IAAAoF,qBAAA,GAAgCF,cAAc,CAACG,qBAAqB,EAAE;UAAvDC,YAAAA,GAAAA,qBAAAA,CAAPtG,KAAK,CAAA;AACb+C,QAAAA,cAAc,IAAAH,MAAA,CAAI0D,YAAY,GAAGC,cAAc,QAAK,CAAC,CAAA;AACzD,OAAA;AACJ,KAAC,CAAC,CAAA;AAEFC,IAAAA,aAAa,CAAC5B,eAAe,EAAErB,QAAQ,EAAEpF,KAAK,IAAIkF,iBAAiB,EAAE5D,OAAO,EAAEC,OAAO,EAAEX,MAAM,EAAE0E,SAAS,CAAC,CAAA;AAEzG,IAAA,IAAMgD,cAAc,GAAGC,WAAW,CAAC,YAAM;MACrCxD,UAAU,CAAC,IAAI,CAAC,CAAA;KACnB,EAAE,EAAE,CAAC,CAAA;AAEN,IAAA,IAAMyD,aAAa,GAAGD,WAAW,CAAC,YAAM;MACpCxD,UAAU,CAAC,KAAK,CAAC,CAAA;KACpB,EAAE,EAAE,CAAC,CAAA;AAEN,IAAA,IAAM0D,eAAe,GAAGF,WAAW,CAC/B,UAAClB,KAA6C,EAAK;AAC/C;MACA,IAAIrH,KAAK,KAAKG,SAAS,EAAE;QACrBgF,oBAAoB,CAACkC,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEI,MAAM,CAACzH,KAAK,CAAC,CAAA;AAC7C,OAAA;AAEA+D,MAAAA,QAAQ,aAARA,QAAQ,KAAA,KAAA,CAAA,IAARA,QAAQ,CAAGsD,KAAK,CAAC,CAAA;AACrB,KAAC,EACD,CAACrH,KAAK,EAAE+D,QAAQ,CACpB,CAAC,CAAA;AAED,IAAA,IAAM2E,mBAAmB,GAAGA,SAAtBA,mBAAmBA,GAAS;AAC9B,MAAA,IAAI9I,QAAQ,IAAIkC,QAAQ,IAAI,EAACsD,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,IAAAA,QAAQ,CAAEsC,OAAO,CAAE,EAAA;AAC5C,QAAA,OAAA;AACJ,OAAA;AAEAtC,MAAAA,QAAQ,CAACsC,OAAO,CAACiB,KAAK,EAAE,CAAA;KAC3B,CAAA;IAED,IAAMC,mBAAmB,GAAGnJ,sBAAsB,CAC9C;AACIQ,MAAAA,IAAI,EAAJA,IAAI;AACJL,MAAAA,QAAQ,EAARA,QAAQ;AACRC,MAAAA,KAAK,EAALA,KAAK;AACLC,MAAAA,cAAc,EAAdA,cAAc;AACdE,MAAAA,KAAK,EAAEA,KAAK,IAAIkF,iBAAiB,IAAIvD,YAAY;AACjD5B,MAAAA,IAAI,EAAJA,IAAI;AACJ+D,MAAAA,eAAAA,EAAAA,eAAAA;KACH,EACDnE,OACJ,CAAC,CAAA;IAED,IAAMkJ,gBAAgB,GAAGjD,aAAa,gBAClCkD,KAAA,CAAAC,aAAA,CAACC,kBAAkB,EAAA;AAACC,MAAAA,WAAW,EAAE,CAAChD,aAAAA;AAAc,KAAA,EAC3CH,OAAO,CAACK,sBAAsB,GAAGK,gBAAgB,GAAG3G,KAAK,CAAC,IAAI,MAAM,EACpEX,YACe,CAAC,GACrB,IAAI,CAAA;AAER,IAAA,oBACI4J,KAAA,CAAAC,aAAA,CAACxI,IAAI,EAAA2I,QAAA,CAAA;AACDzG,MAAAA,IAAI,EAAE4D,cAAe;AACrBpG,MAAAA,IAAI,EAAEA,IAAK;AACX6B,MAAAA,QAAQ,EAAEA,QAAS;AACnBlC,MAAAA,QAAQ,EAAEA,QAAS;AACnB+C,MAAAA,KAAK,EAAAwG,cAAA,CAAA;AAAItH,QAAAA,KAAK,EAAE8C,WAAAA;AAAW,OAAA,EAAKhC,KAAAA,CAAQ;MACxCC,SAAS,EAAEwG,EAAE,CAAC1C,UAAU,EAAEK,eAAe,EAAEJ,YAAY,EAAE/D,SAAS,CAAE;AACpEyG,MAAAA,OAAO,EAAEX,mBAAoB;AAC7B,MAAA,WAAA,EAAA,IAAA;AAAS,KAAA,EACJ1F,QAAQ,IAAI;AACbE,MAAAA,QAAQ,EAARA,QAAQ;AACRE,MAAAA,QAAAA,EAAAA,QAAAA;KACF,CAAA,EAED,CAAC6C,aAAa,IAAIxE,YAAY,kBAC3BqH,KAAA,CAAAC,aAAA,CAACO,iBAAiB,EAAA;AAACzH,MAAAA,KAAK,EAAE8C,WAAY;MAAC4E,YAAY,EAAEzJ,cAAc,KAAK,OAAA;AAAQ,KAAA,EAC3EmG,aAAa,iBACV6C,KAAA,CAAAC,aAAA,CAACS,sBAAsB,EAAA,IAAA,eACnBV,KAAA,CAAAC,aAAA,CAACU,WAAW,EAAA;MAAC,aAAa3F,EAAAA,eAAAA;AAAgB,KAAA,EAAEjE,KAAmB,CAAA,EAE9DmD,QAAQ,iBACL8F,KAAA,CAAAC,aAAA,CAACW,iBAAiB,EACdZ,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAACY,aAAa,EAAA;AACVC,MAAAA,GAAG,EAAEpE,OAAQ;AACbxC,MAAAA,QAAQ,EAAEA,QAAS;AACnBD,MAAAA,WAAW,EAAEA,WAAY;AACzBuB,MAAAA,aAAa,EAAEA,aAAc;AAC7BjB,MAAAA,cAAc,EAAEA,cAAe;AAC/BE,MAAAA,aAAa,EAAEA,aAAc;AAC7BC,MAAAA,YAAY,EAAEA,YAAa;AAC3BE,MAAAA,UAAU,EAAEA,UAAW;AACvBC,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,eAAe,EAAEA,eAAgB;AACjCsD,MAAAA,cAAc,EAAEA,cAAe;AAC/BC,MAAAA,cAAc,EAAEA,cAAe;AAC/BC,MAAAA,eAAe,EAAEA,eAAAA;KAAgB,CAEtB,CACtB,EACApF,QAAQ,IAAII,oBAAoB,iBAC7B0G,KAAA,CAAAC,aAAA,CAACc,eAAe,EAAA;MACZjH,SAAS,EAAEwG,EAAE,CACT5K,OAAO,CAACsL,mBAAmB,EAC3B9C,sBAAsB,EACtBL,YACJ,CAAA;KAEP,CAAA,EACAkC,gBACmB,CAC3B,EACApH,YAAY,iBAAIqH,KAAA,CAAAC,aAAA,CAACgB,YAAY,EAAA,IAAA,EAAEtI,YAA2B,CAC5C,CACtB,eACDqH,KAAA,CAAAC,aAAA,CAACiB,eAAe,EAAA;AACZpH,MAAAA,SAAS,EAAEwG,EAAE,CAAAa,KAAA,CAACtL,KAAAA,CAAAA,EAAAA,CAAAA,eAAe,CAAA8F,CAAAA,MAAA,CAAAyF,kBAAA,CAAKtB,mBAAmB,CAAE,CAAA,CAAA;AACvD/G,MAAAA,KAAK,EAAE8C,WAAY;AACnBwF,MAAAA,OAAO,EAAE7B,cAAe;AACxB8B,MAAAA,MAAM,EAAE5B,aAAAA;AAAc,KAAA,EAErB,CAACvC,aAAa,iBACX6C,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAuB,QAAA,EACKrI,IAAAA,EAAAA,QAAQ,IAAII,oBAAoB,iBAC7B0G,KAAA,CAAAC,aAAA,CAACc,eAAe,EAAA;AAACjH,MAAAA,SAAS,EAAEwG,EAAE,CAAC5K,OAAO,CAAC8L,mBAAmB,EAAEtD,sBAAsB,CAAA;KACrF,CAAA,EACAhE,QAAQ,iBACL8F,KAAA,CAAAC,aAAA,CAACW,iBAAiB,EAAA;MAAC9G,SAAS,EAAEpE,OAAO,CAAC8L,mBAAAA;AAAoB,KAAA,eACtDxB,KAAA,CAAAC,aAAA,CAACY,aAAa,EAAA;AACVC,MAAAA,GAAG,EAAEpE,OAAQ;AACbxC,MAAAA,QAAQ,EAAEA,QAAS;AACnBD,MAAAA,WAAW,EAAEA,WAAY;AACzBuB,MAAAA,aAAa,EAAEA,aAAc;AAC7BjB,MAAAA,cAAc,EAAEA,cAAe;AAC/BE,MAAAA,aAAa,EAAEA,aAAc;AAC7BC,MAAAA,YAAY,EAAEA,YAAa;AAC3BE,MAAAA,UAAU,EAAEA,UAAW;AACvBC,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,eAAe,EAAEA,eAAgB;AACjC3D,MAAAA,IAAI,EAAEA,IAAK;AACXiH,MAAAA,cAAc,EAAEA,cAAe;AAC/BC,MAAAA,cAAc,EAAEA,cAAe;AAC/BC,MAAAA,eAAe,EAAEA,eAAgB;MACjCmC,YAAY,EAAA,IAAA;KAAA,CAED,CAG9B,CAAA,eACDT,KAAA,CAAAC,aAAA,CAACwB,qBAAqB,EAAA;MAClB3H,SAAS,EAAEwG,EAAE,CAACvK,qBAAqB,EAAEuH,SAAS,IAAIpH,aAAa,CAAE;AACjEgH,MAAAA,SAAS,EAAEA,SAAU;AACrBI,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAA,EAEpBvF,UAAU,IAAI,CAAC0B,KAAK,iBAAIuG,KAAA,CAAAC,aAAA,CAACyB,gBAAgB,EAAE3J,IAAAA,EAAAA,UAA6B,CAAC,EAEzEK,YAAY,IAAI,CAACkF,SAAS,iBAAI0C,KAAA,CAAAC,aAAA,CAAC0B,aAAa,EAAEvJ,IAAAA,EAAAA,YAA4B,CAAC,EAE3EkF,SAAS,iBACN0C,KAAA,CAAAC,aAAA,CAAC2B,oBAAoB,EAAA;AAAC9H,MAAAA,SAAS,EAAE3D,oBAAqB;AAACmH,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAA,EACvElF,YAAY,iBAAI4H,KAAA,CAAAC,aAAA,CAAC0B,aAAa,EAAA;AAACrE,MAAAA,SAAS,EAAEA,SAAAA;KAAYlF,EAAAA,YAA4B,CAAC,EACnFL,UAAU,IAAI2F,gBAAgB,iBAC3BsC,KAAA,CAAAC,aAAA,CAAC4B,iBAAiB,EAAA;AACdC,MAAAA,eAAe,EAAE9E,OAAO,CAAC5E,YAAY,CAAE;AACvC0B,MAAAA,SAAS,EAAE9D,iBAAkB;AAC7B+L,MAAAA,OAAO,EAAEnI,EAAAA;AAAG,KAAA,EAEX8D,gBAAgB,EAChB,CAACP,aAAa,IAAI4C,gBACJ,CAEL,CACzB,eACDC,KAAA,CAAAC,aAAA,CAAC+B,cAAc,EAAA5B,QAAA,CAAA;AACXtG,MAAAA,SAAS,EAAEwG,EAAE,CAACxK,cAAc,EAAEiI,oBAAoB,CAAE;AACpDnE,MAAAA,EAAE,EAAEA,EAAG;AACPkI,MAAAA,eAAe,EAAE9E,OAAO,CAAC5E,YAAY,CAAE;AACvC8E,MAAAA,SAAS,EAAEA,SAAU;AACrBO,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCqD,MAAAA,GAAG,EAAEmB,SAAS,CAAC3F,QAAQ,EAAE3E,QAAQ,CAAE;AACnCqB,MAAAA,QAAQ,EAAEA,QAAS;AACnBE,MAAAA,QAAQ,EAAEA,QAAS;AACnBJ,MAAAA,MAAM,EAAE6E,eAAe,GAAGnF,OAAO,GAAGM,MAAO;AAC3CC,MAAAA,KAAK,EAAEA,KAAM;AACbH,MAAAA,WAAW,EAAE8E,gBAAiB;AAC9B,MAAA,kBAAA,EAAkBF,gBAAiB;AACnCtG,MAAAA,KAAK,EAAEA,KAAM;AACbJ,MAAAA,QAAQ,EAAEA,QAAS;AACnBG,MAAAA,IAAI,EAAEA,IAAK;AACX8C,MAAAA,IAAI,EAAEA,IAAK;AACXjC,MAAAA,MAAM,EAAEA,MAAO;AACfe,MAAAA,YAAY,EAAEA,YAAa;AAC3BoC,MAAAA,QAAQ,EAAE0E,eAAgB;AAC1B,MAAA,WAAA,EAAA,IAAA;KACIzE,EAAAA,IAAI,CAAC,CAAA,EAEZyC,eAAe,iBACZqC,KAAA,CAAAC,aAAA,CAACiC,oBAAoB,EAAA;MACjB,aAAW,EAAA,IAAA;AACXpB,MAAAA,GAAG,EAAEtE,SAAU;AACfsF,MAAAA,eAAe,EAAE9E,OAAO,CAAC5E,YAAY,CAAE;AACvClB,MAAAA,KAAK,EAAEA,KAAK,IAAIkF,iBAAiB,IAAI,GAAI;AACzCvD,MAAAA,YAAY,EAAEA,YAAAA;KAErB,CACkB,CAAA,EACtBqE,SAAS,iBACN8C,KAAA,CAAAC,aAAA,CAACkC,aAAa,EAAA;AAACrI,MAAAA,SAAS,EAAE7D,aAAc;AAAC2D,MAAAA,EAAE,EAAE4D,gBAAAA;KACxCZ,EAAAA,0BAA0B,KAAK3E,UAAU,IAAIL,UAAU,CAAC,iBACrDoI,KAAA,CAAAC,aAAA,CAACmC,gBAAgB,QAAEnK,UAAU,IAAIL,UAA6B,CACjE,EACAI,WAAW,iBAAIgI,KAAA,CAAAC,aAAA,CAACoC,iBAAiB,EAAA;AAAC,MAAA,WAAA,EAAA,IAAA;AAAS,KAAA,EAAErK,WAA+B,CAClE,CAClB,EACA,CAACsF,SAAS,IAAII,gBAAgB,iBAC3BsC,KAAA,CAAAC,aAAA,CAAC4B,iBAAiB,EAAA;AACdC,MAAAA,eAAe,EAAE9E,OAAO,CAAC5E,YAAY,CAAE;AACvC0B,MAAAA,SAAS,EAAE9D,iBAAkB;AAC7B+L,MAAAA,OAAO,EAAEnI,EAAAA;AAAG,KAAA,EAEX8D,gBAAgB,EAChB,CAACP,aAAa,IAAI4C,gBACJ,CAEV,CAAA,EAChBhD,aAAa,IAAI,CAACH,0BAA0B,iBACzCoD,KAAA,CAAAC,aAAA,CAACqC,2BAA2B,EAAA;AAAC1I,MAAAA,EAAE,EAAE4D,gBAAAA;KAC7BwC,eAAAA,KAAA,CAAAC,aAAA,CAACmC,gBAAgB,EAAEvF,IAAAA,EAAAA,cAAiC,CAC3B,CAE/B,CAAC,CAAA;AAEf,GAAC,CAAC,CAAA;AAAA,EAAA;AAEC,IAAM0F,cAAc,GAAG;AAC1BC,EAAAA,IAAI,EAAE,UAAU;AAChBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAElL,YAAY;AACpBnB,EAAAA,IAAI,EAAJA,IAAI;AACJsM,EAAAA,UAAU,EAAE;AACRxL,IAAAA,IAAI,EAAE;AACFyL,MAAAA,GAAG,EAAEC,MAAAA;KACR;AACDlJ,IAAAA,IAAI,EAAE;AACFiJ,MAAAA,GAAG,EAAEE,MAAAA;KACR;AACDrJ,IAAAA,KAAK,EAAE;AACHmJ,MAAAA,GAAG,EAAEG,MAAQ;AACbC,MAAAA,KAAK,EAAE,IAAA;KACV;AACDlM,IAAAA,QAAQ,EAAE;AACN8L,MAAAA,GAAG,EAAEK,MAAW;AAChBD,MAAAA,KAAK,EAAE,IAAA;KACV;AACDhK,IAAAA,QAAQ,EAAE;AACN4J,MAAAA,GAAG,EAAEM,MAAW;AAChBF,MAAAA,KAAK,EAAE,IAAA;KACV;AACD5I,IAAAA,QAAQ,EAAE;AACNwI,MAAAA,GAAG,EAAEO,MAAAA;KACR;AACD7I,IAAAA,QAAQ,EAAE;AACNsI,MAAAA,GAAG,EAAEQ,MAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNlM,IAAAA,IAAI,EAAE,GAAG;AACTwC,IAAAA,IAAI,EAAE,SAAA;AACV,GAAA;AACJ;;;;"}
1
+ {"version":3,"file":"TextArea.js","sources":["../../../src/components/TextArea/TextArea.tsx"],"sourcesContent":["import React, { forwardRef, useState, createRef, useCallback, useRef, MouseEventHandler, useLayoutEffect } from 'react';\nimport { css } from '@linaria/core';\nimport { useResizeObserver } from '@salutejs/plasma-core';\n\nimport { cx, mergeRefs } from '../../utils';\nimport type { RootProps } from '../../engines/types';\nimport { useOutsideClick } from '../../hooks';\n\nimport { applyDynamicLabel } from './mixins';\nimport { useAutoResize, ROOT_FONT_SIZE } from './hooks';\nimport {\n StyledContent,\n StyledHelpers,\n StyledLeftHelper,\n StyledRightHelper,\n StyledLabel,\n StyledPlaceholder,\n StyledTextArea,\n StyledTextAreaWrapper,\n StyledContainer,\n StyledIndicator,\n StyledOptionalText,\n OuterLabelWrapper,\n StyledIndicatorWrapper,\n StyledHintWrapper,\n TitleCaption,\n StyledOutsideHelpersWrapper,\n StyledHiddenTextArea,\n StyledContentWrapper,\n StyledHeaderSlot,\n} from './TextArea.styles';\nimport { classes } from './TextArea.tokens';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as clearCSS } from './variations/_clear/base';\nimport { base as readOnlyCSS } from './variations/_read-only/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as hintViewCSS } from './variations/_hint-view/base';\nimport { base as hintSizeCSS } from './variations/_hint-size/base';\nimport type { TextAreaProps, TextAreaRootProps } from './TextArea.types';\nimport { HintComponent } from './ui/Hint/Hint';\n\nconst {\n innerPlaceholderUp,\n focusedOuterPlaceholderColor,\n hidePlaceHolder,\n styledContainer,\n styledTextArea,\n styledTextAreaWrapper,\n styledPlaceholder,\n styledHelpers,\n hasHeaderSlot,\n styledContentWrapper,\n} = classes;\n\nconst base = css`\n ${applyDynamicLabel};\n\n position: relative;\n box-sizing: border-box;\n`;\n\n// TODO: Удалить после отказа от старых библиотек plasma-web / plasma-b2c\nconst fallbackStatusMap = {\n '': 'primary',\n success: 'positive',\n warning: 'warning',\n error: 'negative',\n};\n\nconst HINT_DEFAULT_OFFSET: [number, number] = [0, 0];\n\n// TODO: Перенести этот метод в файл applyDynamicLabel.ts\nexport const getDynamicLabelClasses = (props: TextAreaProps, focused: boolean) => {\n const { readOnly, label, labelPlacement, rows, value, size } = props;\n\n // Добавить класс отвечающий за изменение цвета плейсхолдера при фокусе\n const withFocusedOuterUpPlaceholder =\n !readOnly && focused && (!label || labelPlacement === 'outer') ? focusedOuterPlaceholderColor : undefined;\n\n // Добавить класс отвечающий за поднятие и уменьшение плейсхолдера\n const withInnerPlaceholderUp =\n labelPlacement === 'inner' &&\n label &&\n !rows &&\n size !== 'xs' &&\n ((!readOnly && (value || focused)) || (readOnly && value))\n ? innerPlaceholderUp\n : undefined;\n\n // Добавить класс отвечающий за скрытие плейсхолдера\n const withHidePlaceholder =\n (value && !label) ||\n (labelPlacement === 'inner' && ((focused && !readOnly) || value) && label && rows) ||\n (labelPlacement === 'outer' && value) ||\n (labelPlacement === 'inner' && size === 'xs' && value)\n ? hidePlaceHolder\n : undefined;\n\n return [withFocusedOuterUpPlaceholder, withInnerPlaceholderUp, withHidePlaceholder];\n};\n\nexport const textAreaRoot = (Root: RootProps<HTMLTextAreaElement, TextAreaRootProps>) =>\n forwardRef<HTMLTextAreaElement, TextAreaProps>((props, innerRef) => {\n const {\n helperText,\n status,\n resize,\n headerSlot,\n rightHelper,\n leftHelper,\n leftHelperPlacement = 'inner',\n contentRight,\n autoResize = false,\n minAuto = 0,\n maxAuto,\n label,\n labelPlacement = 'inner',\n titleCaption,\n placeholder,\n defaultValue,\n height,\n width,\n value,\n disabled,\n required = false,\n requiredPlacement = 'right',\n hasRequiredIndicator = true,\n optional = false,\n optionalText = 'optional',\n clear,\n hasDivider,\n size,\n view,\n id,\n style,\n className,\n readOnly,\n rows,\n cols,\n hintTrigger = 'hover',\n hintText,\n hintView = 'default',\n hintSize = 'm',\n hintTargetIcon,\n hintPlacement = 'auto',\n hintHasArrow,\n hintOffset = HINT_DEFAULT_OFFSET,\n hintWidth,\n hintContentLeft,\n labelAriaHidden = false,\n onChange,\n ...rest\n } = props;\n\n const [isHintVisible, setIsHintVisible] = useState(false);\n const [helperWidth, setHelperWidth] = useState<string>(width ? `${width}rem` : '100%');\n const [focused, setFocused] = useState(false);\n // TODO: перенести в общую переменную для value снаружи и внутри\n const [uncontrolledValue, setUncontrolledValue] = useState<string | undefined>();\n\n const outerRef = createRef<HTMLTextAreaElement>();\n const hiddenRef = useRef<HTMLTextAreaElement | null>(null);\n const hintRef = useRef<HTMLDivElement>(null);\n\n useOutsideClick(() => {\n setIsHintVisible(false);\n }, [hintRef]);\n\n const isInnerLeftHelperPlacement = leftHelperPlacement === 'inner';\n const leftHelperText = leftHelper || helperText;\n const innerOptional = required ? false : optional;\n const hasLeftHelper = Boolean(leftHelper || helperText);\n const hasRightHelper = Boolean(rightHelper);\n const hasHelper = !isInnerLeftHelperPlacement ? hasRightHelper : hasLeftHelper || hasRightHelper;\n const hasOuterLabel = Boolean(label && labelPlacement === 'outer');\n const hasInnerLabel = Boolean(label && labelPlacement === 'inner' && size !== 'xs');\n const hasPlaceholderOptional = innerOptional && !hasOuterLabel;\n const hasHeader = Boolean(headerSlot) && !clear;\n\n const overriddenView = status !== undefined ? fallbackStatusMap[status] : view;\n const textareaHelperId = id ? `${id}-helper` : undefined;\n const applyCustomWidth = resize !== 'horizontal' && resize !== 'both' && !cols;\n const placeholderLabel = hasInnerLabel ? label : placeholder;\n const applyAutoResize = autoResize || Boolean(clear);\n\n const clearClass = clear ? classes.clear : undefined;\n const hasHintClass = hintText ? classes.hasHint : undefined;\n const hasRightContentClass = contentRight ? classes.hasRightContent : undefined;\n const hasDividerClass = hasDivider ? classes.hasDivider : undefined;\n const requiredPlacementClass = requiredPlacement === 'right' ? classes.requiredAlignRight : undefined;\n\n const handleHintShow = () => setIsHintVisible(true);\n const handleHintHide = () => setIsHintVisible(false);\n const handleHintClick: MouseEventHandler = (event) => {\n if (!hintText || hintTrigger !== 'click') {\n return;\n }\n\n event.stopPropagation();\n const targetIsPopover = event.target === hintRef.current;\n const rootHasTarget = hintRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n setIsHintVisible(true);\n }\n };\n\n useLayoutEffect(() => {\n if (outerRef.current) {\n setUncontrolledValue(outerRef.current.value);\n }\n }, [outerRef]);\n\n useResizeObserver(outerRef, (currentElement) => {\n const { width: inlineWidth } = currentElement.style;\n\n if (inlineWidth || cols) {\n const { width: elementWidth } = currentElement.getBoundingClientRect();\n setHelperWidth(`${elementWidth / ROOT_FONT_SIZE}rem`);\n }\n });\n\n useAutoResize(applyAutoResize, outerRef, value || uncontrolledValue, minAuto, maxAuto, resize, hiddenRef);\n\n const onFocusHandler = useCallback(() => {\n setFocused(true);\n }, []);\n\n const onBlurHandler = useCallback(() => {\n setFocused(false);\n }, []);\n\n const onChangeHandler = useCallback(\n (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n // INFO: Для крайне редких кейсов, когда value снаружи не контролируется\n if (value === undefined) {\n setUncontrolledValue(event?.target.value);\n }\n\n onChange?.(event);\n },\n [value, onChange],\n );\n\n const handleTextAreaFocus = () => {\n if (readOnly || disabled || !outerRef?.current) {\n return;\n }\n\n outerRef.current.focus();\n };\n\n const dynamicLabelClasses = getDynamicLabelClasses(\n {\n size,\n readOnly,\n label,\n labelPlacement,\n value: value || uncontrolledValue || defaultValue,\n rows,\n labelAriaHidden,\n },\n focused,\n );\n\n const optionalTextNode = innerOptional ? (\n <StyledOptionalText inheritFont={!hasOuterLabel}>\n {Boolean(hasPlaceholderOptional ? placeholderLabel : label) && '\\xa0'}\n {optionalText}\n </StyledOptionalText>\n ) : null;\n\n return (\n <Root\n view={overriddenView}\n size={size}\n disabled={disabled}\n readOnly={readOnly}\n style={{ width: helperWidth, ...style }}\n className={cx(clearClass, hasDividerClass, hasHintClass, className)}\n onClick={handleTextAreaFocus}\n data-root\n {...(hintText && {\n hintView,\n hintSize,\n })}\n >\n {(hasOuterLabel || titleCaption) && (\n <OuterLabelWrapper width={helperWidth} isInnerLabel={labelPlacement === 'inner'}>\n {hasOuterLabel && (\n <StyledIndicatorWrapper>\n <StyledLabel aria-hidden={labelAriaHidden}>{label}</StyledLabel>\n\n {hintText && (\n <StyledHintWrapper>\n <HintComponent\n ref={hintRef}\n hintText={hintText}\n hintTrigger={hintTrigger}\n isHintVisible={isHintVisible}\n hintTargetIcon={hintTargetIcon}\n hintPlacement={hintPlacement}\n hintHasArrow={hintHasArrow}\n hintOffset={hintOffset}\n hintWidth={hintWidth}\n hintContentLeft={hintContentLeft}\n handleHintShow={handleHintShow}\n handleHintHide={handleHintHide}\n handleHintClick={handleHintClick}\n />\n </StyledHintWrapper>\n )}\n {required && hasRequiredIndicator && (\n <StyledIndicator\n className={cx(\n classes.outerLabelPlacement,\n requiredPlacementClass,\n hasHintClass,\n )}\n />\n )}\n {optionalTextNode}\n </StyledIndicatorWrapper>\n )}\n {titleCaption && <TitleCaption>{titleCaption}</TitleCaption>}\n </OuterLabelWrapper>\n )}\n <StyledContainer\n className={cx(styledContainer, ...dynamicLabelClasses)}\n width={helperWidth}\n onFocus={onFocusHandler}\n onBlur={onBlurHandler}\n >\n {!hasOuterLabel && (\n <>\n {required && hasRequiredIndicator && (\n <StyledIndicator className={cx(classes.innerLabelPlacement, requiredPlacementClass)} />\n )}\n {hintText && (\n <StyledHintWrapper className={classes.innerLabelPlacement}>\n <HintComponent\n ref={hintRef}\n hintText={hintText}\n hintTrigger={hintTrigger}\n isHintVisible={isHintVisible}\n hintTargetIcon={hintTargetIcon}\n hintPlacement={hintPlacement}\n hintHasArrow={hintHasArrow}\n hintOffset={hintOffset}\n hintWidth={hintWidth}\n hintContentLeft={hintContentLeft}\n size={size}\n handleHintShow={handleHintShow}\n handleHintHide={handleHintHide}\n handleHintClick={handleHintClick}\n isInnerLabel\n />\n </StyledHintWrapper>\n )}\n </>\n )}\n <StyledTextAreaWrapper\n className={cx(styledTextAreaWrapper, hasHeader && hasHeaderSlot)}\n hasHelper={hasHelper}\n hasHeader={hasHeader}\n >\n {headerSlot && !clear && <StyledHeaderSlot>{headerSlot}</StyledHeaderSlot>}\n\n {contentRight && !hasHeader && <StyledContent>{contentRight}</StyledContent>}\n\n {hasHeader && (\n <StyledContentWrapper className={styledContentWrapper} hasHeader={hasHeader}>\n {contentRight && <StyledContent hasHeader={hasHeader}>{contentRight}</StyledContent>}\n {headerSlot && placeholderLabel && (\n <StyledPlaceholder\n hasContentRight={Boolean(contentRight)}\n className={styledPlaceholder}\n htmlFor={id}\n >\n {placeholderLabel}\n {!hasOuterLabel && optionalTextNode}\n </StyledPlaceholder>\n )}\n </StyledContentWrapper>\n )}\n <StyledTextArea\n className={cx(styledTextArea, hasRightContentClass)}\n id={id}\n hasContentRight={Boolean(contentRight)}\n hasHelper={hasHelper}\n applyCustomWidth={applyCustomWidth}\n ref={mergeRefs(outerRef, innerRef)}\n disabled={disabled}\n required={required}\n height={applyAutoResize ? minAuto : height}\n width={width}\n placeholder={placeholderLabel}\n aria-describedby={textareaHelperId}\n value={value}\n readOnly={readOnly}\n rows={rows}\n cols={cols}\n resize={resize}\n defaultValue={defaultValue}\n onChange={onChangeHandler}\n data-tour\n {...rest}\n />\n {applyAutoResize && (\n <StyledHiddenTextArea\n aria-hidden\n ref={hiddenRef}\n hasContentRight={Boolean(contentRight)}\n value={value || uncontrolledValue || ' '}\n defaultValue={defaultValue}\n />\n )}\n </StyledTextAreaWrapper>\n {hasHelper && (\n <StyledHelpers className={styledHelpers} id={textareaHelperId}>\n {isInnerLeftHelperPlacement && (leftHelper || helperText) && (\n <StyledLeftHelper>{leftHelper || helperText}</StyledLeftHelper>\n )}\n {rightHelper && <StyledRightHelper data-root>{rightHelper}</StyledRightHelper>}\n </StyledHelpers>\n )}\n {!hasHeader && placeholderLabel && (\n <StyledPlaceholder\n hasContentRight={Boolean(contentRight)}\n className={styledPlaceholder}\n htmlFor={id}\n >\n {placeholderLabel}\n {!hasOuterLabel && optionalTextNode}\n </StyledPlaceholder>\n )}\n </StyledContainer>\n {hasLeftHelper && !isInnerLeftHelperPlacement && (\n <StyledOutsideHelpersWrapper id={textareaHelperId}>\n <StyledLeftHelper>{leftHelperText}</StyledLeftHelper>\n </StyledOutsideHelpersWrapper>\n )}\n </Root>\n );\n });\n\nexport const textAreaConfig = {\n name: 'TextArea',\n tag: 'div',\n layout: textAreaRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n clear: {\n css: clearCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n hintView: {\n css: hintViewCSS,\n },\n hintSize: {\n css: hintSizeCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'primary',\n },\n};\n"],"names":["innerPlaceholderUp","classes","focusedOuterPlaceholderColor","hidePlaceHolder","styledContainer","styledTextArea","styledTextAreaWrapper","styledPlaceholder","styledHelpers","hasHeaderSlot","styledContentWrapper","base","fallbackStatusMap","success","warning","error","HINT_DEFAULT_OFFSET","getDynamicLabelClasses","props","focused","readOnly","label","labelPlacement","rows","value","size","withFocusedOuterUpPlaceholder","undefined","withInnerPlaceholderUp","withHidePlaceholder","textAreaRoot","Root","forwardRef","innerRef","helperText","status","resize","headerSlot","rightHelper","leftHelper","_props$leftHelperPlac","leftHelperPlacement","contentRight","_props$autoResize","autoResize","_props$minAuto","minAuto","maxAuto","_props$labelPlacement","titleCaption","placeholder","defaultValue","height","width","disabled","_props$required","required","_props$requiredPlacem","requiredPlacement","_props$hasRequiredInd","hasRequiredIndicator","_props$optional","optional","_props$optionalText","optionalText","clear","hasDivider","view","id","style","className","cols","_props$hintTrigger","hintTrigger","hintText","_props$hintView","hintView","_props$hintSize","hintSize","hintTargetIcon","_props$hintPlacement","hintPlacement","hintHasArrow","_props$hintOffset","hintOffset","hintWidth","hintContentLeft","_props$labelAriaHidde","labelAriaHidden","onChange","rest","_excluded","_useState","useState","_useState2","_slicedToArray","isHintVisible","setIsHintVisible","_useState3","concat","_useState4","helperWidth","setHelperWidth","_useState5","_useState6","setFocused","_useState7","_useState8","uncontrolledValue","setUncontrolledValue","outerRef","createRef","hiddenRef","useRef","hintRef","useOutsideClick","isInnerLeftHelperPlacement","leftHelperText","innerOptional","hasLeftHelper","Boolean","hasRightHelper","hasHelper","hasOuterLabel","hasInnerLabel","hasPlaceholderOptional","hasHeader","overriddenView","textareaHelperId","applyCustomWidth","placeholderLabel","applyAutoResize","clearClass","hasHintClass","hasHint","hasRightContentClass","hasRightContent","hasDividerClass","requiredPlacementClass","requiredAlignRight","handleHintShow","handleHintHide","handleHintClick","event","_hintRef$current","stopPropagation","targetIsPopover","target","current","rootHasTarget","contains","useLayoutEffect","useResizeObserver","currentElement","inlineWidth","_currentElement$getBo","getBoundingClientRect","elementWidth","ROOT_FONT_SIZE","useAutoResize","onFocusHandler","useCallback","onBlurHandler","onChangeHandler","handleTextAreaFocus","focus","dynamicLabelClasses","optionalTextNode","React","createElement","StyledOptionalText","inheritFont","_extends","_objectSpread","cx","onClick","OuterLabelWrapper","isInnerLabel","StyledIndicatorWrapper","StyledLabel","StyledHintWrapper","HintComponent","ref","StyledIndicator","outerLabelPlacement","TitleCaption","StyledContainer","apply","_toConsumableArray","onFocus","onBlur","Fragment","innerLabelPlacement","StyledTextAreaWrapper","StyledHeaderSlot","StyledContent","StyledContentWrapper","StyledPlaceholder","hasContentRight","htmlFor","StyledTextArea","mergeRefs","StyledHiddenTextArea","StyledHelpers","StyledLeftHelper","StyledRightHelper","StyledOutsideHelpersWrapper","textAreaConfig","name","tag","layout","variations","css","sizeCSS","viewCSS","clearCSS","attrs","readOnlyCSS","disabledCSS","hintViewCSS","hintSizeCSS","defaults"],"mappings":"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"}
@@ -22,8 +22,7 @@ import { useKeyNavigation } from './hooks/useKeyNavigation.js';
22
22
  import { TextFieldChipNew } from './ui/TextFieldChipNew/TextFieldChipNew.js';
23
23
  import { TextFieldChip } from './ui/TextFieldChip/TextFieldChip.js';
24
24
 
25
- var _excluded = ["id", "className", "style", "contentLeft", "contentRight", "label", "labelPlacement", "keepPlaceholder", "textBefore", "textAfter", "placeholder", "leftHelper", "enumerationType", "requiredPlacement", "hasRequiredIndicator", "titleCaption", "chipView", "chipValidator", "hintTrigger", "hintText", "hintView", "hintSize", "hintTargetIcon", "hintTargetPlacement", "hintPlacement", "hintHasArrow", "hintOffset", "hintWidth", "hintContentLeft", "view", "size", "readOnly", "disabled", "required", "clear", "optional", "hasDivider", "value", "chips", "chipType", "_chips", "_chipClickArea", "_onChipCloseClick", "onChange", "onChangeChips", "onSearch", "onKeyDown", "onFocus", "onBlur", "onPaste", "_onEnterDisabled", "_forceChipManipulationWithReadonly"];
26
- var optionalText = 'optional';
25
+ var _excluded = ["id", "className", "style", "contentLeft", "contentRight", "label", "labelPlacement", "keepPlaceholder", "textBefore", "textAfter", "placeholder", "leftHelper", "enumerationType", "requiredPlacement", "hasRequiredIndicator", "titleCaption", "chipView", "chipValidator", "hintTrigger", "hintText", "hintView", "hintSize", "hintTargetIcon", "hintTargetPlacement", "hintPlacement", "hintHasArrow", "hintOffset", "hintWidth", "hintContentLeft", "view", "size", "readOnly", "disabled", "required", "clear", "optional", "optionalText", "hasDivider", "value", "chips", "chipType", "_chips", "_chipClickArea", "_onChipCloseClick", "onChange", "onChangeChips", "onSearch", "onKeyDown", "onFocus", "onBlur", "onPaste", "_onEnterDisabled", "_forceChipManipulationWithReadonly"];
27
26
  var base = "bpunezx";
28
27
  var HINT_DEFAULT_OFFSET = [0, 0];
29
28
  var textFieldRoot = function textFieldRoot(Root) {
@@ -79,6 +78,8 @@ var textFieldRoot = function textFieldRoot(Root) {
79
78
  _ref$clear = _ref.clear,
80
79
  clear = _ref$clear === void 0 ? false : _ref$clear,
81
80
  optional = _ref.optional,
81
+ _ref$optionalText = _ref.optionalText,
82
+ optionalText = _ref$optionalText === void 0 ? 'optional' : _ref$optionalText,
82
83
  hasDivider = _ref.hasDivider,
83
84
  outerValue = _ref.value,
84
85
  values = _ref.chips,