@pie-lib/mask-markup 1.30.1 → 1.30.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/esm/index.js CHANGED
@@ -18,10 +18,7 @@ import Button from '@material-ui/core/Button';
18
18
  import InputLabel from '@material-ui/core/InputLabel';
19
19
  import Menu from '@material-ui/core/Menu';
20
20
  import MenuItem from '@material-ui/core/MenuItem';
21
- import ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';
22
- import ArrowDropUpIcon from '@material-ui/icons/ArrowDropUp';
23
- import Close from '@material-ui/icons/Close';
24
- import Check from '@material-ui/icons/Check';
21
+ import require$$3 from '@material-ui/core/SvgIcon';
25
22
 
26
23
  function _extends() {
27
24
  _extends = Object.assign || function (target) {
@@ -1337,6 +1334,530 @@ var customizable = withMask('input', props => (node, data, onChange) => {
1337
1334
  }
1338
1335
  });
1339
1336
 
1337
+ function getDefaultExportFromCjs (x) {
1338
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
1339
+ }
1340
+
1341
+ var ArrowDropDown = {};
1342
+
1343
+ var interopRequireDefault = {exports: {}};
1344
+
1345
+ var hasRequiredInteropRequireDefault;
1346
+
1347
+ function requireInteropRequireDefault () {
1348
+ if (hasRequiredInteropRequireDefault) return interopRequireDefault.exports;
1349
+ hasRequiredInteropRequireDefault = 1;
1350
+ (function (module) {
1351
+ function _interopRequireDefault(obj) {
1352
+ return obj && obj.__esModule ? obj : {
1353
+ "default": obj
1354
+ };
1355
+ }
1356
+
1357
+ module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
1358
+ } (interopRequireDefault));
1359
+ return interopRequireDefault.exports;
1360
+ }
1361
+
1362
+ var createSvgIcon = {};
1363
+
1364
+ var pure = {};
1365
+
1366
+ var shouldUpdate = {};
1367
+
1368
+ var inheritsLoose = {exports: {}};
1369
+
1370
+ var setPrototypeOf = {exports: {}};
1371
+
1372
+ var hasRequiredSetPrototypeOf;
1373
+
1374
+ function requireSetPrototypeOf () {
1375
+ if (hasRequiredSetPrototypeOf) return setPrototypeOf.exports;
1376
+ hasRequiredSetPrototypeOf = 1;
1377
+ (function (module) {
1378
+ function _setPrototypeOf(o, p) {
1379
+ module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
1380
+ o.__proto__ = p;
1381
+ return o;
1382
+ }, module.exports.__esModule = true, module.exports["default"] = module.exports;
1383
+ return _setPrototypeOf(o, p);
1384
+ }
1385
+
1386
+ module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
1387
+ } (setPrototypeOf));
1388
+ return setPrototypeOf.exports;
1389
+ }
1390
+
1391
+ var hasRequiredInheritsLoose;
1392
+
1393
+ function requireInheritsLoose () {
1394
+ if (hasRequiredInheritsLoose) return inheritsLoose.exports;
1395
+ hasRequiredInheritsLoose = 1;
1396
+ (function (module) {
1397
+ var setPrototypeOf = requireSetPrototypeOf();
1398
+
1399
+ function _inheritsLoose(subClass, superClass) {
1400
+ subClass.prototype = Object.create(superClass.prototype);
1401
+ subClass.prototype.constructor = subClass;
1402
+ setPrototypeOf(subClass, superClass);
1403
+ }
1404
+
1405
+ module.exports = _inheritsLoose, module.exports.__esModule = true, module.exports["default"] = module.exports;
1406
+ } (inheritsLoose));
1407
+ return inheritsLoose.exports;
1408
+ }
1409
+
1410
+ var setDisplayName = {};
1411
+
1412
+ var setStatic = {};
1413
+
1414
+ var hasRequiredSetStatic;
1415
+
1416
+ function requireSetStatic () {
1417
+ if (hasRequiredSetStatic) return setStatic;
1418
+ hasRequiredSetStatic = 1;
1419
+
1420
+ setStatic.__esModule = true;
1421
+ setStatic.default = void 0;
1422
+
1423
+ var setStatic$1 = function setStatic(key, value) {
1424
+ return function (BaseComponent) {
1425
+ /* eslint-disable no-param-reassign */
1426
+ BaseComponent[key] = value;
1427
+ /* eslint-enable no-param-reassign */
1428
+
1429
+ return BaseComponent;
1430
+ };
1431
+ };
1432
+
1433
+ var _default = setStatic$1;
1434
+ setStatic.default = _default;
1435
+ return setStatic;
1436
+ }
1437
+
1438
+ var hasRequiredSetDisplayName;
1439
+
1440
+ function requireSetDisplayName () {
1441
+ if (hasRequiredSetDisplayName) return setDisplayName;
1442
+ hasRequiredSetDisplayName = 1;
1443
+
1444
+ var _interopRequireDefault = requireInteropRequireDefault();
1445
+
1446
+ setDisplayName.__esModule = true;
1447
+ setDisplayName.default = void 0;
1448
+
1449
+ var _setStatic = _interopRequireDefault(requireSetStatic());
1450
+
1451
+ var setDisplayName$1 = function setDisplayName(displayName) {
1452
+ return (0, _setStatic.default)('displayName', displayName);
1453
+ };
1454
+
1455
+ var _default = setDisplayName$1;
1456
+ setDisplayName.default = _default;
1457
+ return setDisplayName;
1458
+ }
1459
+
1460
+ var wrapDisplayName = {};
1461
+
1462
+ var getDisplayName = {};
1463
+
1464
+ var hasRequiredGetDisplayName;
1465
+
1466
+ function requireGetDisplayName () {
1467
+ if (hasRequiredGetDisplayName) return getDisplayName;
1468
+ hasRequiredGetDisplayName = 1;
1469
+
1470
+ getDisplayName.__esModule = true;
1471
+ getDisplayName.default = void 0;
1472
+
1473
+ var getDisplayName$1 = function getDisplayName(Component) {
1474
+ if (typeof Component === 'string') {
1475
+ return Component;
1476
+ }
1477
+
1478
+ if (!Component) {
1479
+ return undefined;
1480
+ }
1481
+
1482
+ return Component.displayName || Component.name || 'Component';
1483
+ };
1484
+
1485
+ var _default = getDisplayName$1;
1486
+ getDisplayName.default = _default;
1487
+ return getDisplayName;
1488
+ }
1489
+
1490
+ var hasRequiredWrapDisplayName;
1491
+
1492
+ function requireWrapDisplayName () {
1493
+ if (hasRequiredWrapDisplayName) return wrapDisplayName;
1494
+ hasRequiredWrapDisplayName = 1;
1495
+
1496
+ var _interopRequireDefault = requireInteropRequireDefault();
1497
+
1498
+ wrapDisplayName.__esModule = true;
1499
+ wrapDisplayName.default = void 0;
1500
+
1501
+ var _getDisplayName = _interopRequireDefault(requireGetDisplayName());
1502
+
1503
+ var wrapDisplayName$1 = function wrapDisplayName(BaseComponent, hocName) {
1504
+ return hocName + "(" + (0, _getDisplayName.default)(BaseComponent) + ")";
1505
+ };
1506
+
1507
+ var _default = wrapDisplayName$1;
1508
+ wrapDisplayName.default = _default;
1509
+ return wrapDisplayName;
1510
+ }
1511
+
1512
+ var hasRequiredShouldUpdate;
1513
+
1514
+ function requireShouldUpdate () {
1515
+ if (hasRequiredShouldUpdate) return shouldUpdate;
1516
+ hasRequiredShouldUpdate = 1;
1517
+
1518
+ var _interopRequireDefault = requireInteropRequireDefault();
1519
+
1520
+ shouldUpdate.__esModule = true;
1521
+ shouldUpdate.default = void 0;
1522
+
1523
+ var _inheritsLoose2 = _interopRequireDefault(requireInheritsLoose());
1524
+
1525
+ var _react = React;
1526
+
1527
+ var _setDisplayName = _interopRequireDefault(requireSetDisplayName());
1528
+
1529
+ var _wrapDisplayName = _interopRequireDefault(requireWrapDisplayName());
1530
+
1531
+ var shouldUpdate$1 = function shouldUpdate(test) {
1532
+ return function (BaseComponent) {
1533
+ var factory = (0, _react.createFactory)(BaseComponent);
1534
+
1535
+ var ShouldUpdate =
1536
+ /*#__PURE__*/
1537
+ function (_Component) {
1538
+ (0, _inheritsLoose2.default)(ShouldUpdate, _Component);
1539
+
1540
+ function ShouldUpdate() {
1541
+ return _Component.apply(this, arguments) || this;
1542
+ }
1543
+
1544
+ var _proto = ShouldUpdate.prototype;
1545
+
1546
+ _proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {
1547
+ return test(this.props, nextProps);
1548
+ };
1549
+
1550
+ _proto.render = function render() {
1551
+ return factory(this.props);
1552
+ };
1553
+
1554
+ return ShouldUpdate;
1555
+ }(_react.Component);
1556
+
1557
+ if (process.env.NODE_ENV !== 'production') {
1558
+ return (0, _setDisplayName.default)((0, _wrapDisplayName.default)(BaseComponent, 'shouldUpdate'))(ShouldUpdate);
1559
+ }
1560
+
1561
+ return ShouldUpdate;
1562
+ };
1563
+ };
1564
+
1565
+ var _default = shouldUpdate$1;
1566
+ shouldUpdate.default = _default;
1567
+ return shouldUpdate;
1568
+ }
1569
+
1570
+ var shallowEqual = {};
1571
+
1572
+ /**
1573
+ * Copyright (c) 2013-present, Facebook, Inc.
1574
+ *
1575
+ * This source code is licensed under the MIT license found in the
1576
+ * LICENSE file in the root directory of this source tree.
1577
+ *
1578
+ * @typechecks
1579
+ *
1580
+ */
1581
+
1582
+ var shallowEqual_1;
1583
+ var hasRequiredShallowEqual$1;
1584
+
1585
+ function requireShallowEqual$1 () {
1586
+ if (hasRequiredShallowEqual$1) return shallowEqual_1;
1587
+ hasRequiredShallowEqual$1 = 1;
1588
+
1589
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
1590
+
1591
+ /**
1592
+ * inlined Object.is polyfill to avoid requiring consumers ship their own
1593
+ * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
1594
+ */
1595
+ function is(x, y) {
1596
+ // SameValue algorithm
1597
+ if (x === y) {
1598
+ // Steps 1-5, 7-10
1599
+ // Steps 6.b-6.e: +0 != -0
1600
+ // Added the nonzero y check to make Flow happy, but it is redundant
1601
+ return x !== 0 || y !== 0 || 1 / x === 1 / y;
1602
+ } else {
1603
+ // Step 6.a: NaN == NaN
1604
+ return x !== x && y !== y;
1605
+ }
1606
+ }
1607
+
1608
+ /**
1609
+ * Performs equality by iterating through keys on an object and returning false
1610
+ * when any key has values which are not strictly equal between the arguments.
1611
+ * Returns true when the values of all keys are strictly equal.
1612
+ */
1613
+ function shallowEqual(objA, objB) {
1614
+ if (is(objA, objB)) {
1615
+ return true;
1616
+ }
1617
+
1618
+ if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {
1619
+ return false;
1620
+ }
1621
+
1622
+ var keysA = Object.keys(objA);
1623
+ var keysB = Object.keys(objB);
1624
+
1625
+ if (keysA.length !== keysB.length) {
1626
+ return false;
1627
+ }
1628
+
1629
+ // Test for A's keys different from B.
1630
+ for (var i = 0; i < keysA.length; i++) {
1631
+ if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {
1632
+ return false;
1633
+ }
1634
+ }
1635
+
1636
+ return true;
1637
+ }
1638
+
1639
+ shallowEqual_1 = shallowEqual;
1640
+ return shallowEqual_1;
1641
+ }
1642
+
1643
+ var hasRequiredShallowEqual;
1644
+
1645
+ function requireShallowEqual () {
1646
+ if (hasRequiredShallowEqual) return shallowEqual;
1647
+ hasRequiredShallowEqual = 1;
1648
+
1649
+ var _interopRequireDefault = requireInteropRequireDefault();
1650
+
1651
+ shallowEqual.__esModule = true;
1652
+ shallowEqual.default = void 0;
1653
+
1654
+ var _shallowEqual = _interopRequireDefault(requireShallowEqual$1());
1655
+
1656
+ var _default = _shallowEqual.default;
1657
+ shallowEqual.default = _default;
1658
+ return shallowEqual;
1659
+ }
1660
+
1661
+ var hasRequiredPure;
1662
+
1663
+ function requirePure () {
1664
+ if (hasRequiredPure) return pure;
1665
+ hasRequiredPure = 1;
1666
+
1667
+ var _interopRequireDefault = requireInteropRequireDefault();
1668
+
1669
+ pure.__esModule = true;
1670
+ pure.default = void 0;
1671
+
1672
+ var _shouldUpdate = _interopRequireDefault(requireShouldUpdate());
1673
+
1674
+ var _shallowEqual = _interopRequireDefault(requireShallowEqual());
1675
+
1676
+ var _setDisplayName = _interopRequireDefault(requireSetDisplayName());
1677
+
1678
+ var _wrapDisplayName = _interopRequireDefault(requireWrapDisplayName());
1679
+
1680
+ var pure$1 = function pure(BaseComponent) {
1681
+ var hoc = (0, _shouldUpdate.default)(function (props, nextProps) {
1682
+ return !(0, _shallowEqual.default)(props, nextProps);
1683
+ });
1684
+
1685
+ if (process.env.NODE_ENV !== 'production') {
1686
+ return (0, _setDisplayName.default)((0, _wrapDisplayName.default)(BaseComponent, 'pure'))(hoc(BaseComponent));
1687
+ }
1688
+
1689
+ return hoc(BaseComponent);
1690
+ };
1691
+
1692
+ var _default = pure$1;
1693
+ pure.default = _default;
1694
+ return pure;
1695
+ }
1696
+
1697
+ var hasRequiredCreateSvgIcon;
1698
+
1699
+ function requireCreateSvgIcon () {
1700
+ if (hasRequiredCreateSvgIcon) return createSvgIcon;
1701
+ hasRequiredCreateSvgIcon = 1;
1702
+
1703
+ var _interopRequireDefault = requireInteropRequireDefault();
1704
+
1705
+ Object.defineProperty(createSvgIcon, "__esModule", {
1706
+ value: true
1707
+ });
1708
+ createSvgIcon.default = void 0;
1709
+
1710
+ var _react = _interopRequireDefault(React);
1711
+
1712
+ var _pure = _interopRequireDefault(requirePure());
1713
+
1714
+ var _SvgIcon = _interopRequireDefault(require$$3);
1715
+
1716
+ function createSvgIcon$1(path, displayName) {
1717
+ var Icon = function Icon(props) {
1718
+ return _react.default.createElement(_SvgIcon.default, props, path);
1719
+ };
1720
+
1721
+ Icon.displayName = "".concat(displayName, "Icon");
1722
+ Icon = (0, _pure.default)(Icon);
1723
+ Icon.muiName = 'SvgIcon';
1724
+ return Icon;
1725
+ }
1726
+ var _default = createSvgIcon$1;
1727
+ createSvgIcon.default = _default;
1728
+ return createSvgIcon;
1729
+ }
1730
+
1731
+ var hasRequiredArrowDropDown;
1732
+
1733
+ function requireArrowDropDown () {
1734
+ if (hasRequiredArrowDropDown) return ArrowDropDown;
1735
+ hasRequiredArrowDropDown = 1;
1736
+
1737
+ var _interopRequireDefault = requireInteropRequireDefault();
1738
+
1739
+ Object.defineProperty(ArrowDropDown, "__esModule", {
1740
+ value: true
1741
+ });
1742
+ ArrowDropDown.default = void 0;
1743
+
1744
+ var _react = _interopRequireDefault(React);
1745
+
1746
+ var _createSvgIcon = _interopRequireDefault(/*@__PURE__*/ requireCreateSvgIcon());
1747
+
1748
+ var _default = (0, _createSvgIcon.default)(_react.default.createElement(_react.default.Fragment, null, _react.default.createElement("path", {
1749
+ d: "M7 10l5 5 5-5z"
1750
+ }), _react.default.createElement("path", {
1751
+ fill: "none",
1752
+ d: "M0 0h24v24H0z"
1753
+ })), 'ArrowDropDown');
1754
+
1755
+ ArrowDropDown.default = _default;
1756
+ return ArrowDropDown;
1757
+ }
1758
+
1759
+ var ArrowDropDownExports = /*@__PURE__*/ requireArrowDropDown();
1760
+ var ArrowDropDownIcon = /*@__PURE__*/getDefaultExportFromCjs(ArrowDropDownExports);
1761
+
1762
+ var ArrowDropUp = {};
1763
+
1764
+ var hasRequiredArrowDropUp;
1765
+
1766
+ function requireArrowDropUp () {
1767
+ if (hasRequiredArrowDropUp) return ArrowDropUp;
1768
+ hasRequiredArrowDropUp = 1;
1769
+
1770
+ var _interopRequireDefault = requireInteropRequireDefault();
1771
+
1772
+ Object.defineProperty(ArrowDropUp, "__esModule", {
1773
+ value: true
1774
+ });
1775
+ ArrowDropUp.default = void 0;
1776
+
1777
+ var _react = _interopRequireDefault(React);
1778
+
1779
+ var _createSvgIcon = _interopRequireDefault(/*@__PURE__*/ requireCreateSvgIcon());
1780
+
1781
+ var _default = (0, _createSvgIcon.default)(_react.default.createElement(_react.default.Fragment, null, _react.default.createElement("path", {
1782
+ d: "M7 14l5-5 5 5z"
1783
+ }), _react.default.createElement("path", {
1784
+ fill: "none",
1785
+ d: "M0 0h24v24H0z"
1786
+ })), 'ArrowDropUp');
1787
+
1788
+ ArrowDropUp.default = _default;
1789
+ return ArrowDropUp;
1790
+ }
1791
+
1792
+ var ArrowDropUpExports = /*@__PURE__*/ requireArrowDropUp();
1793
+ var ArrowDropUpIcon = /*@__PURE__*/getDefaultExportFromCjs(ArrowDropUpExports);
1794
+
1795
+ var Close$1 = {};
1796
+
1797
+ var hasRequiredClose;
1798
+
1799
+ function requireClose () {
1800
+ if (hasRequiredClose) return Close$1;
1801
+ hasRequiredClose = 1;
1802
+
1803
+ var _interopRequireDefault = requireInteropRequireDefault();
1804
+
1805
+ Object.defineProperty(Close$1, "__esModule", {
1806
+ value: true
1807
+ });
1808
+ Close$1.default = void 0;
1809
+
1810
+ var _react = _interopRequireDefault(React);
1811
+
1812
+ var _createSvgIcon = _interopRequireDefault(/*@__PURE__*/ requireCreateSvgIcon());
1813
+
1814
+ var _default = (0, _createSvgIcon.default)(_react.default.createElement(_react.default.Fragment, null, _react.default.createElement("path", {
1815
+ d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
1816
+ }), _react.default.createElement("path", {
1817
+ fill: "none",
1818
+ d: "M0 0h24v24H0z"
1819
+ })), 'Close');
1820
+
1821
+ Close$1.default = _default;
1822
+ return Close$1;
1823
+ }
1824
+
1825
+ var CloseExports = /*@__PURE__*/ requireClose();
1826
+ var Close = /*@__PURE__*/getDefaultExportFromCjs(CloseExports);
1827
+
1828
+ var Check$1 = {};
1829
+
1830
+ var hasRequiredCheck;
1831
+
1832
+ function requireCheck () {
1833
+ if (hasRequiredCheck) return Check$1;
1834
+ hasRequiredCheck = 1;
1835
+
1836
+ var _interopRequireDefault = requireInteropRequireDefault();
1837
+
1838
+ Object.defineProperty(Check$1, "__esModule", {
1839
+ value: true
1840
+ });
1841
+ Check$1.default = void 0;
1842
+
1843
+ var _react = _interopRequireDefault(React);
1844
+
1845
+ var _createSvgIcon = _interopRequireDefault(/*@__PURE__*/ requireCreateSvgIcon());
1846
+
1847
+ var _default = (0, _createSvgIcon.default)(_react.default.createElement(_react.default.Fragment, null, _react.default.createElement("path", {
1848
+ fill: "none",
1849
+ d: "M0 0h24v24H0z"
1850
+ }), _react.default.createElement("path", {
1851
+ d: "M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"
1852
+ })), 'Check');
1853
+
1854
+ Check$1.default = _default;
1855
+ return Check$1;
1856
+ }
1857
+
1858
+ var CheckExports = /*@__PURE__*/ requireCheck();
1859
+ var Check = /*@__PURE__*/getDefaultExportFromCjs(CheckExports);
1860
+
1340
1861
  class Dropdown extends React.Component {
1341
1862
  constructor(props) {
1342
1863
  super(props);
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/serialization.js","../src/mask.jsx","../src/componentize.js","../src/with-mask.jsx","../src/choices/choice.jsx","../src/choices/index.jsx","../src/components/blank.jsx","../src/drag-in-the-blank.jsx","../src/constructed-response.jsx","../src/customizable.jsx","../src/components/dropdown.jsx","../src/inline-dropdown.jsx"],"sourcesContent":["import Html from 'slate-html-serializer';\nimport { object as toStyleObject } from 'to-style';\nimport debug from 'debug';\n\nconst log = debug('@pie-lib:mask-markup:serialization');\n\nconst INLINE = ['span'];\nconst MARK = ['em', 'strong', 'u'];\nconst TEXT_NODE = 3;\nconst COMMENT_NODE = 8;\n\nconst attr = (el) => {\n if (!el.attributes || el.attributes.length <= 0) {\n return undefined;\n }\n\n const out = {};\n let i;\n\n for (i = 0; i < el.attributes.length; i++) {\n const a = el.attributes[i];\n\n out[a.name] = a.value;\n }\n\n return out;\n};\n\nconst getObject = (type) => {\n if (INLINE.includes(type)) {\n return 'inline';\n } else if (MARK.includes(type)) {\n return 'mark';\n }\n return 'block';\n};\n\nexport const parseStyleString = (s) => {\n const regex = /([\\w-]*)\\s*:\\s*([^;]*)/g;\n let match;\n const result = {};\n while ((match = regex.exec(s))) {\n result[match[1]] = match[2].trim();\n }\n return result;\n};\n\nexport const reactAttributes = (o) => toStyleObject(o, { camelize: true, addUnits: false });\n\nconst handleStyles = (el, attribute) => {\n const styleString = el.getAttribute(attribute);\n\n return reactAttributes(parseStyleString(styleString));\n};\n\nconst handleClass = (el, acc, attribute) => {\n const classNames = el.getAttribute(attribute);\n\n delete acc.class;\n\n return classNames;\n};\n\nconst attributesToMap = (el) => (acc, attribute) => {\n if (!el.getAttribute) {\n return acc;\n }\n\n const value = el.getAttribute(attribute);\n\n if (value) {\n switch (attribute) {\n case 'style':\n acc.style = handleStyles(el, attribute);\n break;\n case 'class':\n acc.className = handleClass(el, acc, attribute);\n break;\n default:\n acc[attribute] = el.getAttribute(attribute);\n break;\n }\n }\n\n return acc;\n};\n\nconst attributes = ['border', 'class', 'style'];\n\n/**\n * Tags to marks.\n *\n * @type {Object}\n */\n\nexport const MARK_TAGS = {\n b: 'bold',\n em: 'italic',\n u: 'underline',\n s: 'strikethrough',\n code: 'code',\n strong: 'strong',\n};\n\nconst marks = {\n deserialize(el, next) {\n const mark = MARK_TAGS[el.tagName.toLowerCase()];\n if (!mark) return;\n log('[deserialize] mark: ', mark);\n return {\n object: 'mark',\n type: mark,\n nodes: next(el.childNodes),\n };\n },\n};\n\nconst rules = [\n marks,\n {\n /**\n * deserialize everything, we're not fussy about the dom structure for now.\n */\n deserialize: (el, next) => {\n if (el.nodeType === COMMENT_NODE) {\n return undefined;\n }\n\n if (el.nodeType === TEXT_NODE) {\n return {\n object: 'text',\n leaves: [{ text: el.textContent }],\n };\n }\n\n const type = el.tagName.toLowerCase();\n\n const normalAttrs = attr(el) || {};\n\n if (type == 'audio' && normalAttrs.controls == '') {\n normalAttrs.controls = true;\n }\n\n const allAttrs = attributes.reduce(attributesToMap(el), { ...normalAttrs });\n const object = getObject(type);\n\n if (el.tagName.toLowerCase() === 'math') {\n return {\n isMath: true,\n nodes: [el],\n };\n }\n\n return {\n object,\n type,\n data: { dataset: { ...el.dataset }, attributes: { ...allAttrs } },\n nodes: next(el.childNodes),\n };\n },\n },\n];\n\n/**\n * Create a new serializer instance with our `rules` from above.\n * Having a default div block will just put every div on it's own line, which is not ideal.\n */\nconst html = new Html({ rules, defaultBlock: 'span' });\n\nexport const deserialize = (s) => html.deserialize(s, { toJSON: true });\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport get from 'lodash/get';\nimport { withStyles } from '@material-ui/core/styles';\nimport { MARK_TAGS } from './serialization';\nimport cx from 'classnames';\n\nconst Paragraph = withStyles((theme) => ({\n para: {\n paddingTop: 2 * theme.spacing.unit,\n paddingBottom: 2 * theme.spacing.unit,\n },\n}))((props) => <div className={props.classes.para}>{props.children}</div>);\n\nconst Spacer = withStyles(() => ({\n spacer: {\n display: 'inline-block',\n width: '.75em',\n },\n}))((props) => <span className={props.classes.spacer} />);\n\nconst restrictWhitespaceTypes = ['tbody', 'tr'];\n\nconst addText = (parentNode, text) => {\n const isWhitespace = text.trim() === '';\n const parentType = parentNode && parentNode.type;\n\n if (isWhitespace && restrictWhitespaceTypes.includes(parentType)) {\n return undefined;\n } else {\n return text;\n }\n};\n\nconst getMark = (n) => {\n const mark = n.leaves.find((leave) => get(leave, 'marks', []).length);\n\n if (mark) {\n return mark.marks[0];\n }\n\n return null;\n};\n\nexport const renderChildren = (layout, value, onChange, rootRenderChildren, parentNode, elementType) => {\n if (!value) {\n return null;\n }\n\n const children = [];\n\n (layout.nodes || []).forEach((n, index) => {\n const key = n.type ? `${n.type}-${index}` : `${index}`;\n\n if (n.isMath) {\n children.push(\n <span\n dangerouslySetInnerHTML={{\n __html: `<math displaystyle=\"true\">${n.nodes[0].innerHTML}</math>`,\n }}\n />,\n );\n return children;\n }\n\n if (rootRenderChildren) {\n const c = rootRenderChildren(n, value, onChange);\n if (c) {\n children.push(c);\n if (parentNode?.type !== 'td' && elementType === 'drag-in-the-blank') {\n children.push(<Spacer key={`spacer-${index}`} />);\n }\n return;\n }\n }\n\n if (n.object === 'text') {\n const content = n.leaves.reduce((acc, l) => {\n const t = l.text;\n const extraText = addText(parentNode, t);\n return extraText ? acc + extraText : acc;\n }, '');\n const mark = getMark(n);\n\n if (mark) {\n let markKey;\n\n for (markKey in MARK_TAGS) {\n if (MARK_TAGS[markKey] === mark.type) {\n const Tag = markKey;\n\n children.push(<Tag key={key}>{content}</Tag>);\n break;\n }\n }\n } else if (content.length > 0) {\n children.push(content);\n if (parentNode?.type !== 'td' && elementType === 'drag-in-the-blank') {\n children.push(<Spacer key={`spacer-${index}`} />);\n }\n }\n } else {\n const subNodes = renderChildren(n, value, onChange, rootRenderChildren, n, elementType);\n if (n.type === 'p' || n.type === 'paragraph') {\n children.push(<Paragraph key={key}>{subNodes}</Paragraph>);\n } else {\n const Tag = n.type;\n if (n.nodes && n.nodes.length > 0) {\n children.push(\n <Tag key={key} {...n.data.attributes}>\n {subNodes}\n </Tag>,\n );\n } else {\n children.push(<Tag key={key} {...n.data.attributes} />);\n }\n }\n }\n });\n return children;\n};\n\nconst MaskContainer = withStyles(() => ({\n main: {\n display: 'initial',\n },\n tableStyle: {\n '&:not(.MathJax) table': {\n borderCollapse: 'collapse',\n },\n // align table content to left as per STAR requirement PD-3687\n '&:not(.MathJax) table td, &:not(.MathJax) table th': {\n padding: '8px 12px',\n textAlign: 'left',\n },\n },\n}))((props) => <div className={cx(props.classes.main, props.classes.tableStyle)}>{props.children}</div>);\n\n/**\n * Renders a layout that uses the slate.js Value model structure.\n */\nexport default class Mask extends React.Component {\n static propTypes = {\n renderChildren: PropTypes.func,\n layout: PropTypes.object,\n value: PropTypes.object,\n onChange: PropTypes.func,\n elementType: PropTypes.string,\n };\n\n handleChange = (id, value) => {\n const data = { ...this.props.value, [id]: value };\n this.props.onChange(data);\n };\n\n render() {\n const { value, layout, elementType } = this.props;\n const children = renderChildren(layout, value, this.handleChange, this.props.renderChildren, null, elementType);\n\n return <MaskContainer>{children}</MaskContainer>;\n }\n}\n","const REGEX = /\\{\\{(\\d+)\\}\\}/g;\n\nexport default (s, t) => {\n if (!s) {\n return { markup: '' };\n }\n\n const markup = s.replace(REGEX, (match, g) => {\n return `<span data-component=\"${t}\" data-id=\"${g}\"></span>`;\n });\n\n return { markup };\n};\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport Mask from './mask';\nimport componentize from './componentize';\nimport { deserialize } from './serialization';\n\nexport const buildLayoutFromMarkup = (markup, type) => {\n const { markup: processed } = componentize(markup, type);\n const value = deserialize(processed);\n return value.document;\n};\n\nexport const withMask = (type, renderChildren) => {\n return class WithMask extends React.Component {\n static propTypes = {\n /**\n * At the start we'll probably work with markup\n */\n markup: PropTypes.string,\n /**\n * Once we start authoring, it may make sense for use to us layout, which will be a simple js object that maps to `slate.Value`.\n */\n layout: PropTypes.object,\n value: PropTypes.object,\n onChange: PropTypes.func,\n customMarkMarkupComponent: PropTypes.func,\n elementType: PropTypes.string,\n };\n\n componentDidUpdate(prevProps) {\n if (this.props.markup !== prevProps.markup) {\n // eslint-disable-next-line\n const domNode = ReactDOM.findDOMNode(this);\n // Query all elements that may contain outdated MathJax renderings\n const mathElements = domNode && domNode.querySelectorAll('[data-latex][data-math-handled=\"true\"]');\n\n // Clean up for fresh MathJax processing\n (mathElements || []).forEach((el) => {\n // Remove the MathJax container to allow for clean updates\n const mjxContainer = el.querySelector('mjx-container');\n\n if (mjxContainer) {\n el.removeChild(mjxContainer);\n }\n\n // Update the innerHTML to match the raw LaTeX data, ensuring it is reprocessed correctly\n const latexCode = el.getAttribute('data-raw');\n el.innerHTML = latexCode;\n\n // Remove the attribute to signal that MathJax should reprocess this element\n el.removeAttribute('data-math-handled');\n });\n }\n }\n\n render() {\n const { markup, layout, value, onChange, elementType } = this.props;\n\n const maskLayout = layout ? layout : buildLayoutFromMarkup(markup, type);\n return (\n <Mask\n elementType={elementType}\n layout={maskLayout}\n value={value}\n onChange={onChange}\n renderChildren={renderChildren(this.props)}\n />\n );\n }\n };\n};\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport Chip from '@material-ui/core/Chip';\nimport classnames from 'classnames';\n\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { color } from '@pie-lib/render-ui';\nimport { DragSource } from '@pie-lib/drag';\n\nexport const DRAG_TYPE = 'MaskBlank';\n\nclass BlankContentComp extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n choice: PropTypes.object,\n classes: PropTypes.object,\n connectDragSource: PropTypes.func,\n };\n\n startDrag = () => {\n const { connectDragSource, disabled } = this.props;\n if (!disabled) {\n connectDragSource(this.dragContainerRef);\n }\n };\n\n // start drag after 500ms (touch and hold duration) for chromebooks and other touch devices PD-4888\n handleTouchStart = (e) => {\n e.preventDefault();\n this.longPressTimer = setTimeout(() => {\n this.startDrag(e);\n }, 500);\n };\n\n handleTouchEnd = () => {\n clearTimeout(this.longPressTimer);\n };\n\n handleTouchMove = () => {\n clearTimeout(this.longPressTimer);\n };\n\n componentDidMount() {\n if (this.dragContainerRef) {\n this.dragContainerRef.addEventListener('touchstart', this.handleTouchStart, { passive: false });\n this.dragContainerRef.addEventListener('touchend', this.handleTouchEnd);\n this.dragContainerRef.addEventListener('touchmove', this.handleTouchMove);\n }\n }\n\n componentWillUnmount() {\n if (this.dragContainerRef) {\n this.dragContainerRef.removeEventListener('touchstart', this.handleTouchStart);\n this.dragContainerRef.removeEventListener('touchend', this.handleTouchEnd);\n this.dragContainerRef.removeEventListener('touchmove', this.handleTouchMove);\n }\n }\n\n componentDidUpdate() {\n renderMath(this.rootRef);\n }\n\n render() {\n const { connectDragSource, choice, classes, disabled } = this.props;\n\n // TODO the Chip element is causing drag problems on touch devices. Avoid using Chip and consider refactoring the code. Keep in mind that Chip is a span with a button role, which interferes with seamless touch device dragging.\n\n return connectDragSource(\n <span\n className={classnames(classes.choice, disabled && classes.disabled)}\n ref={(ref) => {\n //eslint-disable-next-line\n this.dragContainerRef = ReactDOM.findDOMNode(ref);\n }}\n >\n <Chip\n clickable={false}\n disabled={true}\n ref={(ref) => {\n //eslint-disable-next-line\n this.rootRef = ReactDOM.findDOMNode(ref);\n }}\n className={classes.chip}\n label={\n <span\n className={classes.chipLabel}\n ref={(ref) => {\n if (ref) {\n ref.innerHTML = choice.value || ' ';\n }\n }}\n >\n {' '}\n </span>\n }\n variant={disabled ? 'outlined' : undefined}\n />\n </span>,\n {},\n );\n }\n}\n\nexport const BlankContent = withStyles((theme) => ({\n choice: {\n border: `solid 0px ${theme.palette.primary.main}`,\n borderRadius: theme.spacing.unit * 2,\n margin: theme.spacing.unit / 2,\n transform: 'translate(0, 0)',\n },\n chip: {\n backgroundColor: color.white(),\n border: `1px solid ${color.text()}`,\n color: color.text(),\n alignItems: 'center',\n display: 'inline-flex',\n height: 'initial',\n minHeight: '32px',\n fontSize: 'inherit',\n whiteSpace: 'pre-wrap',\n maxWidth: '374px',\n // Added for touch devices, for image content.\n // This will prevent the context menu from appearing and not allowing other interactions with the image.\n // If interactions with the image in the token will be requested we should handle only the context Menu.\n pointerEvents: 'none',\n borderRadius: '3px',\n paddingTop: '12px',\n paddingBottom: '12px',\n },\n chipLabel: {\n whiteSpace: 'normal',\n '& img': {\n display: 'block',\n padding: '2px 0',\n },\n '& mjx-frac': {\n fontSize: '120% !important',\n },\n },\n disabled: {\n opacity: 0.6,\n },\n}))(BlankContentComp);\n\nconst tileSource = {\n canDrag(props) {\n return !props.disabled;\n },\n beginDrag(props) {\n return {\n choice: props.choice,\n instanceId: props.instanceId,\n };\n },\n};\n\nconst DragDropTile = DragSource(DRAG_TYPE, tileSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging(),\n}))(BlankContent);\n\nexport default DragDropTile;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport findKey from 'lodash/findKey';\nimport Choice from './choice';\nimport { DragDroppablePlaceholder } from '@pie-lib/drag';\n\nexport default class Choices extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n duplicates: PropTypes.bool,\n choices: PropTypes.arrayOf(PropTypes.shape({ label: PropTypes.string, value: PropTypes.string })),\n value: PropTypes.object,\n choicePosition: PropTypes.string.isRequired,\n };\n\n getStyleForWrapper = () => {\n const { choicePosition } = this.props;\n\n switch (choicePosition) {\n case 'above':\n return {\n margin: '0 0 40px 0',\n };\n\n case 'below':\n return {\n margin: '40px 0 0 0',\n };\n\n case 'right':\n return {\n margin: '0 0 0 40px',\n };\n\n default:\n return {\n margin: '0 40px 0 0',\n };\n }\n };\n\n render() {\n const { disabled, duplicates, choices, value } = this.props;\n const filteredChoices = choices.filter((c) => {\n if (duplicates === true) {\n return true;\n }\n const foundChoice = findKey(value, (v) => v === c.id);\n return foundChoice === undefined;\n });\n const elementStyle = { ...this.getStyleForWrapper(), minWidth: '100px' };\n\n return (\n <div style={elementStyle}>\n <DragDroppablePlaceholder disabled={disabled}>\n {filteredChoices.map((c, index) => (\n <Choice key={`${c.value}-${index}`} disabled={disabled} choice={c} />\n ))}\n </DragDroppablePlaceholder>\n </div>\n );\n }\n}\n","import grey from '@material-ui/core/colors/grey';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport debug from 'debug';\nimport { DragSource, DropTarget } from '@pie-lib/drag';\nimport { withStyles } from '@material-ui/core/styles';\nimport Chip from '@material-ui/core/Chip';\nimport classnames from 'classnames';\nimport { color } from '@pie-lib/render-ui';\n\nconst log = debug('pie-lib:mask-markup:blank');\nexport const DRAG_TYPE = 'MaskBlank';\n\nconst useStyles = withStyles(() => ({\n content: {\n border: `solid 0px ${color.primary()}`,\n minWidth: '200px',\n touchAction: 'none',\n overflow: 'hidden',\n whiteSpace: 'nowrap', // Prevent line wrapping\n },\n chip: {\n backgroundColor: color.background(),\n border: `2px dashed ${color.text()}`,\n color: color.text(),\n fontSize: 'inherit',\n maxWidth: '374px',\n position: 'relative',\n borderRadius: '3px',\n },\n chipLabel: {\n whiteSpace: 'normal',\n // Added for touch devices, for image content.\n // This will prevent the context menu from appearing and not allowing other interactions with the image.\n // If interactions with the image in the token will be requested we should handle only the context Menu.\n pointerEvents: 'none',\n '& img': {\n display: 'block',\n padding: '2px 0',\n },\n // Remove default <p> margins to ensure consistent spacing across all wrapped content (p, span, div, math)\n // Padding for top and bottom will instead be controlled by the container for consistent layout\n // Ensures consistent behavior with pie-api-browser, where marginTop is already removed by a Bootstrap stylesheet\n '& p': {\n marginTop: '0',\n marginBottom: '0',\n },\n '& mjx-frac': {\n fontSize: '120% !important',\n },\n },\n hidden: {\n color: 'transparent',\n opacity: 0,\n },\n dragged: {\n position: 'absolute',\n left: 16,\n maxWidth: '60px',\n },\n correct: {\n border: `solid 1px ${color.correct()}`,\n },\n incorrect: {\n border: `solid 1px ${color.incorrect()}`,\n },\n over: {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n },\n parentOver: {\n border: `1px solid ${grey[500]}`,\n backgroundColor: `${grey[300]}`,\n },\n}));\n\nexport class BlankContent extends React.Component {\n constructor() {\n super();\n this.state = {\n height: 0,\n width: 0,\n };\n }\n\n handleImageLoad = () => {\n this.updateDimensions();\n };\n\n handleElements() {\n const imageElement = this.spanRef?.querySelector('img');\n\n if (imageElement) {\n imageElement.onload = this.handleImageLoad;\n } else {\n setTimeout(() => {\n this.updateDimensions();\n }, 300);\n }\n }\n\n componentDidMount() {\n this.handleElements();\n if (this.rootRef) {\n this.rootRef.addEventListener('touchstart', this.handleTouchStart, { passive: false });\n }\n }\n\n componentDidUpdate(prevProps) {\n renderMath(this.rootRef);\n const { choice: currentChoice } = this.props;\n const { choice: prevChoice } = prevProps;\n\n if (JSON.stringify(currentChoice) !== JSON.stringify(prevChoice)) {\n if (!currentChoice) {\n this.setState({\n height: 0,\n width: 0,\n });\n return;\n }\n this.handleElements();\n }\n }\n\n componentWillUnmount() {\n if (this.rootRef) {\n this.rootRef.removeEventListener('touchstart', this.handleTouchStart);\n }\n }\n\n handleTouchStart = (e) => {\n e.preventDefault();\n this.touchStartTimer = setTimeout(() => {\n this.startDrag();\n }, 300); // Start drag after 300ms (touch and hold duration)\n };\n\n startDrag = () => {\n const { connectDragSource, disabled } = this.props;\n if (!disabled) {\n connectDragSource(this.rootRef);\n }\n };\n\n updateDimensions() {\n if (this.spanRef && this.rootRef) {\n // Temporarily set rootRef width to 'auto' for natural measurement\n this.rootRef.style.width = 'auto';\n\n // Get the natural dimensions of the content\n const width = this.spanRef.offsetWidth || 0;\n const height = this.spanRef.offsetHeight || 0;\n\n const widthWithPadding = width + 24; // 12px padding on each side\n const heightWithPadding = height + 24; // 12px padding on top and bottom\n\n const responseAreaWidth = parseFloat(this.props.emptyResponseAreaWidth) || 0;\n const responseAreaHeight = parseFloat(this.props.emptyResponseAreaHeight) || 0;\n\n const adjustedWidth = widthWithPadding <= responseAreaWidth ? responseAreaWidth : widthWithPadding;\n const adjustedHeight = heightWithPadding <= responseAreaHeight ? responseAreaHeight : heightWithPadding;\n\n this.setState((prevState) => ({\n width: adjustedWidth > responseAreaWidth ? adjustedWidth : prevState.width,\n height: adjustedHeight > responseAreaHeight ? adjustedHeight : prevState.height,\n }));\n\n this.rootRef.style.width = `${adjustedWidth}px`;\n this.rootRef.style.height = `${adjustedHeight}px`;\n }\n }\n\n addDraggableFalseAttributes(parent) {\n parent.childNodes.forEach((elem) => {\n if (elem instanceof Element || elem instanceof HTMLDocument) {\n elem.setAttribute('draggable', false);\n }\n });\n }\n\n getRootDimensions() {\n // Handle potential non-numeric values\n const responseAreaWidth = !isNaN(parseFloat(this.props.emptyResponseAreaWidth))\n ? parseFloat(this.props.emptyResponseAreaWidth)\n : 0;\n const responseAreaHeight = !isNaN(parseFloat(this.props.emptyResponseAreaHeight))\n ? parseFloat(this.props.emptyResponseAreaHeight)\n : 0;\n\n const rootStyle = {\n height: this.state.height || responseAreaHeight,\n width: this.state.width || responseAreaWidth,\n };\n\n // add minWidth, minHeight if width and height are not defined\n // minWidth, minHeight will be also in model in the future\n return {\n ...rootStyle,\n ...(responseAreaWidth ? {} : { minWidth: 90 }),\n ...(responseAreaHeight ? {} : { minHeight: 32 }),\n };\n }\n\n render() {\n const { disabled, choice, classes, isOver, dragItem, correct } = this.props;\n const draggedLabel = dragItem && isOver && dragItem.choice.value;\n const label = choice && choice.value;\n\n return (\n // TODO the Chip element is causing drag problems on touch devices. Avoid using Chip and consider refactoring the code. Keep in mind that Chip is a span with a button role, which interferes with seamless touch device dragging.\n <Chip\n clickable={false}\n disabled={true}\n ref={(ref) => {\n //eslint-disable-next-line\n this.rootRef = ReactDOM.findDOMNode(ref);\n }}\n component=\"span\"\n label={\n <React.Fragment>\n <span\n className={classnames(classes.chipLabel, isOver && classes.over, {\n [classes.hidden]: draggedLabel,\n })}\n ref={(ref) => {\n if (ref) {\n //eslint-disable-next-line\n this.spanRef = ReactDOM.findDOMNode(ref);\n ref.innerHTML = label || '';\n this.addDraggableFalseAttributes(ref);\n }\n }}\n >\n {' '}\n </span>\n {draggedLabel && (\n <span\n className={classnames(classes.chipLabel, isOver && classes.over, classes.dragged)}\n ref={(ref) => {\n if (ref) {\n //eslint-disable-next-line\n this.spanRef = ReactDOM.findDOMNode(ref);\n ref.innerHTML = draggedLabel || '';\n this.addDraggableFalseAttributes(ref);\n }\n }}\n >\n {' '}\n </span>\n )}\n </React.Fragment>\n }\n className={classnames(classes.chip, isOver && classes.over, isOver && classes.parentOver, {\n [classes.correct]: correct !== undefined && correct,\n [classes.incorrect]: correct !== undefined && !correct,\n })}\n variant={disabled ? 'outlined' : undefined}\n style={{\n ...this.getRootDimensions(),\n }}\n />\n );\n }\n}\n\nBlankContent.defaultProps = {\n emptyResponseAreaWidth: 0,\n emptyResponseAreaHeight: 0,\n};\n\nBlankContent.propTypes = {\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n disabled: PropTypes.bool,\n duplicates: PropTypes.bool,\n choice: PropTypes.object,\n classes: PropTypes.object,\n isOver: PropTypes.bool,\n dragItem: PropTypes.object,\n correct: PropTypes.bool,\n onChange: PropTypes.func,\n emptyResponseAreaWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n emptyResponseAreaHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n};\n\nconst StyledBlankContent = useStyles(BlankContent);\n\nconst connectedBlankContent = useStyles(({ connectDragSource, connectDropTarget, ...props }) => {\n const { classes, isOver } = props;\n\n return connectDropTarget(\n connectDragSource(\n <span className={classnames(classes.content, isOver && classes.over)}>\n <StyledBlankContent {...props} />\n </span>,\n ),\n );\n});\n\nconst tileTarget = {\n drop(props, monitor) {\n const draggedItem = monitor.getItem();\n\n log('props.instanceId', props.instanceId, 'draggedItem.instanceId:', draggedItem.instanceId);\n\n if (draggedItem.id !== props.id) {\n props.onChange(props.id, draggedItem.choice.id);\n }\n\n return {\n dropped: draggedItem.id !== props.id,\n };\n },\n canDrop(props, monitor) {\n const draggedItem = monitor.getItem();\n\n return draggedItem.instanceId === props.instanceId;\n },\n};\n\nconst DropTile = DropTarget(DRAG_TYPE, tileTarget, (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver(),\n dragItem: monitor.getItem(),\n}))(connectedBlankContent);\n\nconst tileSource = {\n canDrag(props) {\n return !props.disabled && !!props.choice;\n },\n beginDrag(props) {\n return {\n id: props.id,\n choice: props.choice,\n instanceId: props.instanceId,\n fromChoice: true,\n };\n },\n endDrag(props, monitor) {\n // this will be null if it did not drop\n const dropResult = monitor.getDropResult();\n\n if (!dropResult || dropResult.dropped) {\n const draggedItem = monitor.getItem();\n\n if (draggedItem.fromChoice) {\n props.onChange(props.id, undefined);\n }\n }\n },\n};\n\nconst DragDropTile = DragSource(DRAG_TYPE, tileSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging(),\n}))(DropTile);\n\nexport default DragDropTile;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport Choices from './choices';\nimport Blank from './components/blank';\nimport { withMask } from './with-mask';\n\n// eslint-disable-next-line react/display-name\nconst Masked = withMask('blank', (props) => (node, data, onChange) => {\n const dataset = node.data ? node.data.dataset || {} : {};\n if (dataset.component === 'blank') {\n // eslint-disable-next-line react/prop-types\n const {\n disabled,\n duplicates,\n correctResponse,\n feedback,\n showCorrectAnswer,\n emptyResponseAreaWidth,\n emptyResponseAreaHeight,\n } = props;\n const choiceId = showCorrectAnswer ? correctResponse[dataset.id] : data[dataset.id];\n // eslint-disable-next-line react/prop-types\n const choice = choiceId && props.choices.find((c) => c.id === choiceId);\n\n return (\n <Blank\n key={`${node.type}-${dataset.id}`}\n correct={showCorrectAnswer || (feedback && feedback[dataset.id])}\n disabled={disabled}\n duplicates={duplicates}\n choice={choice}\n id={dataset.id}\n emptyResponseAreaWidth={emptyResponseAreaWidth}\n emptyResponseAreaHeight={emptyResponseAreaHeight}\n onChange={onChange}\n />\n );\n }\n});\n\nexport default class DragInTheBlank extends React.Component {\n static propTypes = {\n markup: PropTypes.string,\n layout: PropTypes.object,\n choicesPosition: PropTypes.string,\n choices: PropTypes.arrayOf(PropTypes.shape({ label: PropTypes.string, value: PropTypes.string })),\n value: PropTypes.object,\n onChange: PropTypes.func,\n duplicates: PropTypes.bool,\n disabled: PropTypes.bool,\n feedback: PropTypes.object,\n correctResponse: PropTypes.object,\n showCorrectAnswer: PropTypes.bool,\n emptyResponseAreaWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n emptyResponseAreaHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n };\n\n UNSAFE_componentWillReceiveProps() {\n if (this.rootRef) {\n renderMath(this.rootRef);\n }\n }\n\n componentDidUpdate() {\n renderMath(this.rootRef);\n }\n\n getPositionDirection = (choicePosition) => {\n let flexDirection;\n let justifyContent;\n let alignItems;\n\n switch (choicePosition) {\n case 'left':\n flexDirection = 'row';\n alignItems = 'center';\n break;\n case 'right':\n flexDirection = 'row-reverse';\n justifyContent = 'flex-end';\n alignItems = 'center';\n break;\n case 'below':\n flexDirection = 'column-reverse';\n break;\n default:\n // above\n flexDirection = 'column';\n break;\n }\n\n return { flexDirection, justifyContent, alignItems };\n };\n\n render() {\n const {\n markup,\n duplicates,\n layout,\n value,\n onChange,\n choicesPosition,\n choices,\n correctResponse,\n disabled,\n feedback,\n showCorrectAnswer,\n emptyResponseAreaWidth,\n emptyResponseAreaHeight,\n } = this.props;\n\n const choicePosition = choicesPosition || 'below';\n const style = {\n display: 'flex',\n minWidth: '100px',\n ...this.getPositionDirection(choicePosition),\n };\n\n return (\n <div ref={(ref) => ref && (this.rootRef = ref)} style={style}>\n <Choices\n choicePosition={choicePosition}\n duplicates={duplicates}\n choices={choices}\n value={value}\n disabled={disabled}\n />\n <Masked\n elementType={'drag-in-the-blank'}\n markup={markup}\n layout={layout}\n value={value}\n choices={choices}\n onChange={onChange}\n disabled={disabled}\n duplicates={duplicates}\n feedback={feedback}\n correctResponse={correctResponse}\n showCorrectAnswer={showCorrectAnswer}\n emptyResponseAreaWidth={emptyResponseAreaWidth}\n emptyResponseAreaHeight={emptyResponseAreaHeight}\n />\n </div>\n );\n }\n}\n","import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport classnames from 'classnames';\n\nimport { color } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { withMask } from './with-mask';\n\nconst styles = () => ({\n editableHtmlCustom: {\n display: 'inline-block',\n verticalAlign: 'middle',\n margin: '4px',\n borderRadius: '4px',\n border: `1px solid ${color.black()}`,\n },\n correct: {\n border: `1px solid ${color.correct()}`,\n },\n incorrect: {\n border: `1px solid ${color.incorrect()}`,\n },\n});\n\nconst MaskedInput = (props) => (node, data) => {\n const {\n adjustedLimit,\n disabled,\n feedback,\n showCorrectAnswer,\n maxLength,\n spellCheck,\n classes,\n pluginProps,\n onChange,\n } = props;\n const dataset = node.data?.dataset || {};\n\n if (dataset.component === 'input') {\n const correctAnswer = ((props.choices && dataset && props.choices[dataset.id]) || [])[0];\n const finalValue = showCorrectAnswer ? correctAnswer && correctAnswer.label : data[dataset.id] || '';\n const width = maxLength && maxLength[dataset.id];\n const feedbackStatus = feedback && feedback[dataset.id];\n const isCorrect = showCorrectAnswer || feedbackStatus === 'correct';\n const isIncorrect = !showCorrectAnswer && feedbackStatus === 'incorrect';\n\n const handleInputChange = (newValue) => {\n const updatedValue = {\n ...data,\n [dataset.id]: newValue,\n };\n onChange(updatedValue);\n };\n\n const handleKeyDown = (event) => {\n // the keyCode value for the Enter/Return key is 13\n if (event.key === 'Enter' || event.keyCode === 13) {\n return false;\n }\n };\n\n return (\n <EditableHtml\n id={dataset.id}\n key={`${node.type}-input-${dataset.id}`}\n disabled={showCorrectAnswer || disabled}\n disableUnderline\n onChange={handleInputChange}\n markup={finalValue || ''}\n charactersLimit={adjustedLimit ? width : 25}\n activePlugins={['languageCharacters']}\n pluginProps={pluginProps}\n languageCharactersProps={[{ language: 'spanish' }]}\n spellCheck={spellCheck}\n width={`calc(${width}em + 42px)`} // added 42px for left and right padding of editable-html\n onKeyDown={handleKeyDown}\n autoWidthToolbar\n toolbarOpts={{\n minWidth: 'auto',\n noBorder: true,\n isHidden: !!pluginProps?.characters?.disabled,\n }}\n className={classnames(classes.editableHtmlCustom, {\n [classes.correct]: isCorrect,\n [classes.incorrect]: isIncorrect,\n })}\n />\n );\n }\n};\n\nexport default withStyles(styles)(withMask('input', MaskedInput));\n","import React from 'react';\n// import Input from './components/input';\nimport { withMask } from './with-mask';\n\n// eslint-disable-next-line react/display-name\nexport default withMask('input', (props) => (node, data, onChange) => {\n const dataset = node.data ? node.data.dataset || {} : {};\n if (dataset.component === 'input') {\n // eslint-disable-next-line react/prop-types\n // const { adjustedLimit, disabled, feedback, showCorrectAnswer, maxLength, spellCheck } = props;\n\n // the first answer is the correct one\n // eslint-disable-next-line react/prop-types\n // const correctAnswer = ((props.choices && dataset && props.choices[dataset.id]) || [])[0];\n // const finalValue = showCorrectAnswer ? correctAnswer && correctAnswer.label : data[dataset.id] || '';\n // const width = maxLength && maxLength[dataset.id];\n\n return props.customMarkMarkupComponent(dataset.id);\n // return (\n // <Input\n // key={`${node.type}-input-${dataset.id}`}\n // correct={feedback && feedback[dataset.id] && feedback[dataset.id] === 'correct'}\n // disabled={showCorrectAnswer || disabled}\n // value={finalValue}\n // id={dataset.id}\n // onChange={onChange}\n // showCorrectAnswer={showCorrectAnswer}\n // width={width}\n // charactersLimit={adjustedLimit ? width : 25}\n // isConstructedResponse={true}\n // spellCheck={spellCheck}\n // />\n // );\n }\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@material-ui/core/Button';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';\nimport ArrowDropUpIcon from '@material-ui/icons/ArrowDropUp';\nimport Close from '@material-ui/icons/Close';\nimport Check from '@material-ui/icons/Check';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nimport { color } from '@pie-lib/render-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nclass Dropdown extends React.Component {\n static propTypes = {\n id: PropTypes.string,\n value: PropTypes.string,\n disabled: PropTypes.bool,\n onChange: PropTypes.func,\n classes: PropTypes.object,\n correct: PropTypes.bool,\n choices: PropTypes.arrayOf(PropTypes.shape({ value: PropTypes.string, label: PropTypes.string })),\n showCorrectAnswer: PropTypes.bool,\n singleQuery: PropTypes.bool,\n correctValue: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n anchorEl: null,\n highlightedOptionId: null,\n menuWidth: null,\n previewValue: null,\n };\n this.hiddenRef = React.createRef();\n this.buttonRef = React.createRef();\n this.previewRef = React.createRef();\n this.elementRefs = [];\n }\n\n componentDidMount() {\n // measure hidden menu width once\n if (this.hiddenRef.current && this.state.menuWidth === null) {\n this.setState({ menuWidth: this.hiddenRef.current.clientWidth });\n }\n }\n\n componentDidUpdate(prevProps, prevState) {\n const hiddenEl = this.hiddenRef.current;\n\n const dropdownJustOpened = !prevState.anchorEl && this.state.anchorEl;\n if (dropdownJustOpened) {\n this.elementRefs.forEach((ref) => {\n if (!ref) return;\n\n const containsLatex = ref.querySelector('[data-latex], [data-raw]');\n const hasMathJax = ref.querySelector('mjx-container');\n const mathHandled = ref.querySelector('[data-math-handled=\"true\"]');\n\n if (containsLatex && (!mathHandled || !hasMathJax)) {\n renderMath(ref);\n }\n });\n }\n\n if (hiddenEl) {\n const newWidth = hiddenEl.clientWidth;\n if (newWidth !== this.state.menuWidth) {\n this.elementRefs.forEach((ref) => {\n if (ref) renderMath(ref);\n });\n\n renderMath(hiddenEl);\n this.setState({ menuWidth: newWidth });\n }\n }\n }\n\n handleClick = (event) => this.setState({ anchorEl: event.currentTarget });\n\n handleClose = () => {\n const { value } = this.props;\n this.setState({ anchorEl: null, previewValue: null, highlightedOptionId: null });\n // clear displayed preview if no selection\n if (!value && this.previewRef.current) {\n this.previewRef.current.innerHTML = '';\n }\n };\n\n handleHighlight = (index) => {\n const highlightedOptionId = `dropdown-option-${this.props.id}-${index}`;\n\n // preview on hover if nothing selected\n const stateUpdate = { highlightedOptionId };\n if (!this.props.value) {\n stateUpdate.previewValue = this.props.choices[index].value;\n }\n this.setState(stateUpdate);\n };\n\n handleSelect = (value, index) => {\n this.props.onChange(this.props.id, value);\n this.handleHighlight(index);\n this.handleClose();\n };\n\n handleHover = (index) => {\n const selectedValue = this.props.value;\n\n if (selectedValue) return;\n\n const highlightedOptionId = `dropdown-option-${this.props.id}-${index}`;\n const previewValue = this.state.previewValue;\n\n this.setState({ highlightedOptionId, previewValue }, () => {\n // On hover, preview the math-rendered content inside the button if no value is selected.\n const ref = this.elementRefs[index];\n const preview = this.previewRef.current;\n\n if (ref && preview) {\n preview.innerHTML = ref.innerHTML;\n }\n });\n };\n\n getLabel(choices, value) {\n const found = (choices || []).find((choice) => choice.value === value);\n\n return found ? found.label.trim() : undefined;\n }\n\n render() {\n const { classes, id, correct, disabled, value, choices, showCorrectAnswer, singleQuery, correctValue } = this.props;\n const { anchorEl } = this.state;\n const open = Boolean(anchorEl);\n const buttonId = `dropdown-button-${id}`;\n const menuId = `dropdown-menu-${id}`;\n const valueDisplayId = `dropdown-value-${id}`;\n\n // Determine the class for disabled state, view mode and evaluate mode\n let disabledClass;\n // Reset elementRefs before each render to avoid stale references\n this.elementRefs = [];\n\n if (disabled && correct !== undefined) {\n disabledClass = correct || showCorrectAnswer ? classes.disabledCorrect : classes.disabledIncorrect;\n }\n\n // Create distinct, visually hidden labels for each dropdown\n const incrementedId = parseInt(id, 10) + 1;\n const labelId = singleQuery ? 'Query-label' : `Query-label-${incrementedId}`;\n const labelText = singleQuery ? 'Query' : `Query ${incrementedId}`;\n\n // Changed from Select to Button for dropdown to enhance accessibility. This modification offers explicit control over aria attributes and focuses management, ensuring the dropdown is compliant with accessibility standards. The use of Button and Menu components allows for better handling of keyboard interactions and provides accessible labels and menus, aligning with WCAG guidelines and improving usability for assistive technology users.\n let correctnessIcon = null;\n if (disabled && correct !== undefined) {\n correctnessIcon =\n correct || showCorrectAnswer ? (\n <Check className={classNames(classes.correctnessIndicatorIcon, classes.correctIcon)} />\n ) : (\n <Close className={classNames(classes.correctnessIndicatorIcon, classes.incorrectIcon)} />\n );\n }\n\n return (\n <>\n <div\n ref={this.hiddenRef}\n style={{ position: 'absolute', visibility: 'hidden', top: 0, left: 0 }}\n tabIndex={-1}\n aria-hidden=\"true\"\n >\n {(choices || []).map((c, index) => (\n <MenuItem\n key={index}\n classes={{ root: classes.menuRoot, selected: classes.selected }}\n tabIndex={-1}\n aria-hidden=\"true\"\n >\n <span className={classes.label} dangerouslySetInnerHTML={{ __html: c.label }} />\n </MenuItem>\n ))}\n </div>\n <InputLabel className={classes.srOnly} id={labelId} tabIndex={-1} aria-hidden=\"true\">\n {labelText}\n </InputLabel>\n <Button\n ref={this.buttonRef}\n style={{\n ...(this.state.menuWidth && { minWidth: `calc(${this.state.menuWidth}px + 8px)` }),\n borderWidth: open ? '2px' : '1px',\n transition: 'border-width 0.2s ease-in-out',\n }}\n aria-controls={open ? menuId : undefined}\n aria-haspopup=\"listbox\"\n aria-expanded={open ? 'true' : undefined}\n aria-activedescendant={this.state.highlightedOptionId}\n onClick={this.handleClick}\n classes={{\n root: classes.root,\n disabled: disabledClass,\n }}\n disabled={disabled}\n id={buttonId}\n role=\"combobox\"\n aria-label={`Select an option for ${labelText}`}\n aria-labelledby={valueDisplayId}\n >\n {correctnessIcon}\n <span\n id={valueDisplayId}\n ref={this.previewRef}\n className={classes.label}\n dangerouslySetInnerHTML={{\n __html: correctValue\n ? correctValue\n : open && this.state.previewValue\n ? this.getLabel(choices, this.state.previewValue)\n : this.getLabel(choices, value) || '',\n }}\n />\n {open ? <ArrowDropUpIcon /> : <ArrowDropDownIcon />}\n </Button>\n <Menu\n id={menuId}\n anchorEl={anchorEl}\n className={classes.selectMenu}\n keepMounted\n open={open}\n onClose={this.handleClose}\n getContentAnchorEl={null}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'left' }}\n transformOrigin={{ vertical: 'top', horizontal: 'left' }}\n PaperProps={this.state.menuWidth ? { style: { minWidth: this.state.menuWidth, padding: '4px' } } : undefined}\n MenuListProps={{\n 'aria-labelledby': buttonId,\n role: 'listbox',\n disablePadding: true,\n }}\n >\n {(choices || []).map((c, index) => {\n const optionId = `dropdown-option-${id}-${index}`;\n\n return (\n <MenuItem\n id={optionId}\n classes={{ root: classes.menuRoot, selected: classes.selected }}\n key={`${c.label}-${index}`}\n value={c.value}\n onClick={() => this.handleSelect(c.value, index)}\n role=\"option\"\n aria-selected={this.state.highlightedOptionId === optionId ? 'true' : undefined}\n onMouseOver={() => this.handleHover(index)}\n >\n <span\n ref={(ref) => (this.elementRefs[index] = ref)}\n className={classes.label}\n dangerouslySetInnerHTML={{ __html: c.label }}\n />\n <span\n className={classes.selectedIndicator}\n dangerouslySetInnerHTML={{ __html: c.value === value ? ' &check;' : '' }}\n />\n </MenuItem>\n );\n })}\n </Menu>\n </>\n );\n }\n}\n\nconst styles = () => ({\n root: {\n color: color.text(),\n border: `1px solid ${color.borderGray()}`,\n borderRadius: '4px',\n justifyContent: 'space-between',\n backgroundColor: color.background(),\n position: 'relative',\n height: '45px',\n width: 'fit-content',\n margin: '2px',\n textTransform: 'none',\n '& span': {\n paddingRight: '5px',\n },\n '& svg': {\n position: 'absolute',\n right: 0,\n top: 'calc(50% - 12px)',\n pointerEvents: 'none',\n color: color.text(),\n marginLeft: '5px',\n },\n '&:focus, &:focus-visible': {\n outline: `3px solid ${color.tertiary()}`,\n outlineOffset: '2px',\n borderWidth: '3px',\n },\n },\n disabledCorrect: {\n borderWidth: '2px',\n borderColor: color.correct(),\n color: `${color.text()} !important`,\n },\n disabledIncorrect: {\n borderWidth: '2px',\n borderColor: color.incorrectWithIcon(),\n color: `${color.text()} !important`,\n },\n selectMenu: {\n backgroundColor: color.background(),\n border: `1px solid ${color.correct()} !important`,\n '&:hover': {\n border: `1px solid ${color.text()} `,\n borderColor: 'initial',\n },\n '&:focus': {\n border: `1px solid ${color.text()}`,\n borderColor: 'initial',\n },\n // remove default padding on the inner list\n '& .MuiList-root': {\n padding: 0,\n },\n },\n selected: {\n color: `${color.text()} !important`,\n backgroundColor: `${color.background()} !important`,\n '&:hover': {\n color: color.text(),\n backgroundColor: `${color.dropdownBackground()} !important`,\n },\n },\n menuRoot: {\n color: color.text(),\n backgroundColor: color.background(),\n '&:focus, &:focus-visible': {\n outline: `3px solid ${color.tertiary()}`,\n outlineOffset: '-1px', // keeps it inside the item\n },\n '&:focus': {\n color: color.text(),\n backgroundColor: color.background(),\n },\n '&:hover': {\n color: color.text(),\n backgroundColor: color.dropdownBackground(),\n },\n boxSizing: 'border-box',\n padding: '25px',\n borderRadius: '4px',\n },\n label: {\n fontSize: 'max(1rem, 14px)',\n },\n selectedIndicator: {\n fontSize: 'max(1rem, 14px)',\n position: 'absolute',\n right: '10px',\n },\n srOnly: {\n position: 'absolute',\n left: '-10000px',\n top: 'auto',\n width: '1px',\n height: '1px',\n overflow: 'hidden',\n },\n correctnessIndicatorIcon: {\n color: `${color.white()} !important`,\n position: 'absolute',\n top: '-8px !important',\n left: '-8px',\n marginLeft: '0 !important',\n borderRadius: '50%',\n fontSize: '16px',\n padding: '2px',\n },\n correctIcon: {\n backgroundColor: color.correct(),\n },\n incorrectIcon: {\n backgroundColor: color.incorrectWithIcon(),\n },\n});\n\nexport default withStyles(styles)(Dropdown);\n","import React from 'react';\nimport Dropdown from './components/dropdown';\nimport { withMask } from './with-mask';\n\n// eslint-disable-next-line react/display-name\nexport default withMask('dropdown', (props) => (node, data, onChange) => {\n const dataset = node.data ? node.data.dataset || {} : {};\n if (dataset.component === 'dropdown') {\n // eslint-disable-next-line react/prop-types\n const { choices, disabled, feedback, showCorrectAnswer } = props;\n const correctAnswer = choices && choices[dataset.id] && choices[dataset.id].find((c) => c.correct);\n const finalChoice = showCorrectAnswer ? correctAnswer && correctAnswer.value : data[dataset.id];\n\n return (\n <Dropdown\n key={`${node.type}-dropdown-${dataset.id}`}\n correct={feedback && feedback[dataset.id] && feedback[dataset.id] === 'correct'}\n disabled={disabled || showCorrectAnswer}\n value={finalChoice}\n correctValue={showCorrectAnswer ? correctAnswer && correctAnswer.label : undefined}\n id={dataset.id}\n onChange={onChange}\n choices={choices[dataset.id]}\n showCorrectAnswer={showCorrectAnswer}\n singleQuery={Object.keys(choices).length == 1}\n />\n );\n }\n});\n"],"names":["log","debug","INLINE","MARK","TEXT_NODE","COMMENT_NODE","attr","el","attributes","length","undefined","out","i","a","name","value","getObject","type","includes","parseStyleString","s","regex","match","result","exec","trim","reactAttributes","o","toStyleObject","camelize","addUnits","handleStyles","attribute","styleString","getAttribute","handleClass","acc","classNames","class","attributesToMap","style","className","MARK_TAGS","b","em","u","code","strong","marks","deserialize","next","mark","tagName","toLowerCase","object","nodes","childNodes","rules","nodeType","leaves","text","textContent","normalAttrs","controls","allAttrs","reduce","isMath","data","dataset","html","Html","defaultBlock","toJSON","Paragraph","withStyles","theme","para","paddingTop","spacing","unit","paddingBottom","props","classes","children","Spacer","spacer","display","width","restrictWhitespaceTypes","addText","parentNode","isWhitespace","parentType","getMark","n","find","leave","get","renderChildren","layout","onChange","rootRenderChildren","elementType","forEach","index","key","push","__html","innerHTML","c","content","l","t","extraText","markKey","Tag","subNodes","MaskContainer","main","tableStyle","borderCollapse","padding","textAlign","cx","Mask","React","Component","handleChange","id","render","propTypes","PropTypes","func","string","REGEX","markup","replace","g","buildLayoutFromMarkup","processed","componentize","document","withMask","WithMask","componentDidUpdate","prevProps","domNode","ReactDOM","findDOMNode","mathElements","querySelectorAll","mjxContainer","querySelector","removeChild","latexCode","removeAttribute","maskLayout","customMarkMarkupComponent","DRAG_TYPE","BlankContentComp","startDrag","connectDragSource","disabled","dragContainerRef","handleTouchStart","e","preventDefault","longPressTimer","setTimeout","handleTouchEnd","clearTimeout","handleTouchMove","componentDidMount","addEventListener","passive","componentWillUnmount","removeEventListener","renderMath","rootRef","choice","classnames","ref","chip","chipLabel","bool","BlankContent","border","palette","primary","borderRadius","margin","transform","backgroundColor","color","white","alignItems","height","minHeight","fontSize","whiteSpace","maxWidth","pointerEvents","opacity","tileSource","canDrag","beginDrag","instanceId","DragDropTile","DragSource","connect","monitor","dragSource","isDragging","Choices","getStyleForWrapper","choicePosition","duplicates","choices","filteredChoices","filter","foundChoice","findKey","v","elementStyle","minWidth","map","Choice","arrayOf","shape","label","isRequired","useStyles","touchAction","overflow","background","position","marginTop","marginBottom","hidden","dragged","left","correct","incorrect","over","parentOver","grey","constructor","handleImageLoad","updateDimensions","touchStartTimer","state","handleElements","imageElement","spanRef","onload","currentChoice","prevChoice","JSON","stringify","setState","offsetWidth","offsetHeight","widthWithPadding","heightWithPadding","responseAreaWidth","parseFloat","emptyResponseAreaWidth","responseAreaHeight","emptyResponseAreaHeight","adjustedWidth","adjustedHeight","prevState","addDraggableFalseAttributes","parent","elem","Element","HTMLDocument","setAttribute","getRootDimensions","isNaN","rootStyle","isOver","dragItem","draggedLabel","defaultProps","oneOfType","number","StyledBlankContent","connectedBlankContent","connectDropTarget","tileTarget","drop","draggedItem","getItem","dropped","canDrop","DropTile","DropTarget","dropTarget","fromChoice","endDrag","dropResult","getDropResult","Masked","node","component","correctResponse","feedback","showCorrectAnswer","choiceId","Blank","DragInTheBlank","getPositionDirection","flexDirection","justifyContent","UNSAFE_componentWillReceiveProps","choicesPosition","styles","editableHtmlCustom","verticalAlign","black","MaskedInput","adjustedLimit","maxLength","spellCheck","pluginProps","correctAnswer","finalValue","feedbackStatus","isCorrect","isIncorrect","handleInputChange","newValue","updatedValue","handleKeyDown","event","keyCode","language","noBorder","isHidden","characters","Dropdown","handleClick","anchorEl","currentTarget","handleClose","previewValue","highlightedOptionId","previewRef","current","handleHighlight","stateUpdate","handleSelect","handleHover","selectedValue","elementRefs","preview","menuWidth","hiddenRef","createRef","buttonRef","clientWidth","hiddenEl","dropdownJustOpened","containsLatex","hasMathJax","mathHandled","newWidth","getLabel","found","singleQuery","correctValue","open","Boolean","buttonId","menuId","valueDisplayId","disabledClass","disabledCorrect","disabledIncorrect","incrementedId","parseInt","labelId","labelText","correctnessIcon","correctnessIndicatorIcon","correctIcon","incorrectIcon","visibility","top","root","menuRoot","selected","srOnly","borderWidth","transition","selectMenu","vertical","horizontal","role","disablePadding","optionId","selectedIndicator","borderGray","textTransform","paddingRight","right","marginLeft","outline","tertiary","outlineOffset","borderColor","incorrectWithIcon","dropdownBackground","boxSizing","finalChoice","Object","keys"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAMA,KAAG,GAAGC,KAAK,CAAC,oCAAD,CAAjB;AAEA,MAAMC,MAAM,GAAG,CAAC,MAAD,CAAf;AACA,MAAMC,IAAI,GAAG,CAAC,IAAD,EAAO,QAAP,EAAiB,GAAjB,CAAb;AACA,MAAMC,SAAS,GAAG,CAAlB;AACA,MAAMC,YAAY,GAAG,CAArB;;AAEA,MAAMC,IAAI,GAAIC,EAAD,IAAQ;AACnB,EAAA,IAAI,CAACA,EAAE,CAACC,UAAJ,IAAkBD,EAAE,CAACC,UAAH,CAAcC,MAAd,IAAwB,CAA9C,EAAiD;AAC/C,IAAA,OAAOC,SAAP;AACD,EAAA;;AAED,EAAA,MAAMC,GAAG,GAAG,EAAZ;AACA,EAAA,IAAIC,CAAJ;;AAEA,EAAA,KAAKA,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGL,EAAE,CAACC,UAAH,CAAcC,MAA9B,EAAsCG,CAAC,EAAvC,EAA2C;AACzC,IAAA,MAAMC,CAAC,GAAGN,EAAE,CAACC,UAAH,CAAcI,CAAd,CAAV;AAEAD,IAAAA,GAAG,CAACE,CAAC,CAACC,IAAH,CAAH,GAAcD,CAAC,CAACE,KAAhB;AACD,EAAA;;AAED,EAAA,OAAOJ,GAAP;AACD,CAfD;;AAiBA,MAAMK,SAAS,GAAIC,IAAD,IAAU;AAC1B,EAAA,IAAIf,MAAM,CAACgB,QAAP,CAAgBD,IAAhB,CAAJ,EAA2B;AACzB,IAAA,OAAO,QAAP;AACD,EAAA,CAFD,MAEO,IAAId,IAAI,CAACe,QAAL,CAAcD,IAAd,CAAJ,EAAyB;AAC9B,IAAA,OAAO,MAAP;AACD,EAAA;;AACD,EAAA,OAAO,OAAP;AACD,CAPD;;AASO,MAAME,gBAAgB,GAAIC,CAAD,IAAO;AACrC,EAAA,MAAMC,KAAK,GAAG,yBAAd;AACA,EAAA,IAAIC,KAAJ;AACA,EAAA,MAAMC,MAAM,GAAG,EAAf;;AACA,EAAA,OAAQD,KAAK,GAAGD,KAAK,CAACG,IAAN,CAAWJ,CAAX,CAAhB,EAAgC;AAC9BG,IAAAA,MAAM,CAACD,KAAK,CAAC,CAAD,CAAN,CAAN,GAAmBA,KAAK,CAAC,CAAD,CAAL,CAASG,IAAT,EAAnB;AACD,EAAA;;AACD,EAAA,OAAOF,MAAP;AACD,CARM;AAUA,MAAMG,eAAe,GAAIC,CAAD,IAAOC,MAAa,CAACD,CAAD,EAAI;AAAEE,EAAAA,QAAQ,EAAE,IAAZ;AAAkBC,EAAAA,QAAQ,EAAE;AAA5B,CAAJ,CAA5C;;AAEP,MAAMC,YAAY,GAAG,CAACxB,EAAD,EAAKyB,SAAL,KAAmB;AACtC,EAAA,MAAMC,WAAW,GAAG1B,EAAE,CAAC2B,YAAH,CAAgBF,SAAhB,CAApB;AAEA,EAAA,OAAON,eAAe,CAACP,gBAAgB,CAACc,WAAD,CAAjB,CAAtB;AACD,CAJD;;AAMA,MAAME,WAAW,GAAG,CAAC5B,EAAD,EAAK6B,GAAL,EAAUJ,SAAV,KAAwB;AAC1C,EAAA,MAAMK,UAAU,GAAG9B,EAAE,CAAC2B,YAAH,CAAgBF,SAAhB,CAAnB;AAEA,EAAA,OAAOI,GAAG,CAACE,KAAX;AAEA,EAAA,OAAOD,UAAP;AACD,CAND;;AAQA,MAAME,eAAe,GAAIhC,EAAD,IAAQ,CAAC6B,GAAD,EAAMJ,SAAN,KAAoB;AAClD,EAAA,IAAI,CAACzB,EAAE,CAAC2B,YAAR,EAAsB;AACpB,IAAA,OAAOE,GAAP;AACD,EAAA;;AAED,EAAA,MAAMrB,KAAK,GAAGR,EAAE,CAAC2B,YAAH,CAAgBF,SAAhB,CAAd;;AAEA,EAAA,IAAIjB,KAAJ,EAAW;AACT,IAAA,QAAQiB,SAAR;AACE,MAAA,KAAK,OAAL;AACEI,QAAAA,GAAG,CAACI,KAAJ,GAAYT,YAAY,CAACxB,EAAD,EAAKyB,SAAL,CAAxB;AACA,QAAA;;AACF,MAAA,KAAK,OAAL;AACEI,QAAAA,GAAG,CAACK,SAAJ,GAAgBN,WAAW,CAAC5B,EAAD,EAAK6B,GAAL,EAAUJ,SAAV,CAA3B;AACA,QAAA;;AACF,MAAA;AACEI,QAAAA,GAAG,CAACJ,SAAD,CAAH,GAAiBzB,EAAE,CAAC2B,YAAH,CAAgBF,SAAhB,CAAjB;AACA,QAAA;AATJ;AAWD,EAAA;;AAED,EAAA,OAAOI,GAAP;AACD,CAtBD;;AAwBA,MAAM5B,UAAU,GAAG,CAAC,QAAD,EAAW,OAAX,EAAoB,OAApB,CAAnB;AAEA;AACA;AACA;AACA;AACA;;AAEO,MAAMkC,SAAS,GAAG;AACvBC,EAAAA,CAAC,EAAE,MADoB;AAEvBC,EAAAA,EAAE,EAAE,QAFmB;AAGvBC,EAAAA,CAAC,EAAE,WAHoB;AAIvBzB,EAAAA,CAAC,EAAE,eAJoB;AAKvB0B,EAAAA,IAAI,EAAE,MALiB;AAMvBC,EAAAA,MAAM,EAAE;AANe,CAAlB;AASP,MAAMC,KAAK,GAAG;AACZC,EAAAA,WAAW,CAAC1C,EAAD,EAAK2C,IAAL,EAAW;AACpB,IAAA,MAAMC,IAAI,GAAGT,SAAS,CAACnC,EAAE,CAAC6C,OAAH,CAAWC,WAAX,EAAD,CAAtB;AACA,IAAA,IAAI,CAACF,IAAL,EAAW;AACXnD,IAAAA,KAAG,CAAC,sBAAD,EAAyBmD,IAAzB,CAAH;AACA,IAAA,OAAO;AACLG,MAAAA,MAAM,EAAE,MADH;AAELrC,MAAAA,IAAI,EAAEkC,IAFD;AAGLI,MAAAA,KAAK,EAAEL,IAAI,CAAC3C,EAAE,CAACiD,UAAJ;AAHN,KAAP;AAKD,EAAA;;AAVW,CAAd;AAaA,MAAMC,KAAK,GAAG,CACZT,KADY,EAEZ;AACE;AACJ;AACA;AACIC,EAAAA,WAAW,EAAE,CAAC1C,EAAD,EAAK2C,IAAL,KAAc;AACzB,IAAA,IAAI3C,EAAE,CAACmD,QAAH,KAAgBrD,YAApB,EAAkC;AAChC,MAAA,OAAOK,SAAP;AACD,IAAA;;AAED,IAAA,IAAIH,EAAE,CAACmD,QAAH,KAAgBtD,SAApB,EAA+B;AAC7B,MAAA,OAAO;AACLkD,QAAAA,MAAM,EAAE,MADH;AAELK,QAAAA,MAAM,EAAE,CAAC;AAAEC,UAAAA,IAAI,EAAErD,EAAE,CAACsD;AAAX,SAAD;AAFH,OAAP;AAID,IAAA;;AAED,IAAA,MAAM5C,IAAI,GAAGV,EAAE,CAAC6C,OAAH,CAAWC,WAAX,EAAb;AAEA,IAAA,MAAMS,WAAW,GAAGxD,IAAI,CAACC,EAAD,CAAJ,IAAY,EAAhC;;AAEA,IAAA,IAAIU,IAAI,IAAI,OAAR,IAAmB6C,WAAW,CAACC,QAAZ,IAAwB,EAA/C,EAAmD;AACjDD,MAAAA,WAAW,CAACC,QAAZ,GAAuB,IAAvB;AACD,IAAA;;AAED,IAAA,MAAMC,QAAQ,GAAGxD,UAAU,CAACyD,MAAX,CAAkB1B,eAAe,CAAChC,EAAD,CAAjC,EAAA,QAAA,CAAA,EAAA,EAA4CuD,WAA5C,CAAA,CAAjB;AACA,IAAA,MAAMR,MAAM,GAAGtC,SAAS,CAACC,IAAD,CAAxB;;AAEA,IAAA,IAAIV,EAAE,CAAC6C,OAAH,CAAWC,WAAX,EAAA,KAA6B,MAAjC,EAAyC;AACvC,MAAA,OAAO;AACLa,QAAAA,MAAM,EAAE,IADH;AAELX,QAAAA,KAAK,EAAE,CAAChD,EAAD;AAFF,OAAP;AAID,IAAA;;AAED,IAAA,OAAO;AACL+C,MAAAA,MADK;AAELrC,MAAAA,IAFK;AAGLkD,MAAAA,IAAI,EAAE;AAAEC,QAAAA,OAAO,EAAA,QAAA,CAAA,EAAA,EAAO7D,EAAE,CAAC6D,OAAV,CAAT;AAA8B5D,QAAAA,UAAU,eAAOwD,QAAP;AAAxC,OAHD;AAILT,MAAAA,KAAK,EAAEL,IAAI,CAAC3C,EAAE,CAACiD,UAAJ;AAJN,KAAP;AAMD,EAAA;AAxCH,CAFY,CAAd;AA8CA;AACA;AACA;AACA;;AACA,MAAMa,IAAI,GAAG,IAAIC,IAAJ,CAAS;AAAEb,EAAAA,KAAF;AAASc,EAAAA,YAAY,EAAE;AAAvB,CAAT,CAAb;AAEO,MAAMtB,WAAW,GAAI7B,CAAD,IAAOiD,IAAI,CAACpB,WAAL,CAAiB7B,CAAjB,EAAoB;AAAEoD,EAAAA,MAAM,EAAE;AAAV,CAApB,CAA3B;;AClKP,MAAMC,SAAS,GAAGC,UAAU,CAAEC,KAAD,KAAY;AACvCC,EAAAA,IAAI,EAAE;AACJC,IAAAA,UAAU,EAAE,CAAA,GAAIF,KAAK,CAACG,OAAN,CAAcC,IAD1B;AAEJC,IAAAA,aAAa,EAAE,CAAA,GAAIL,KAAK,CAACG,OAAN,CAAcC;AAF7B;AADiC,CAAZ,CAAD,CAAV,CAKbE,KAAD,iBAAW,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,EAAA,SAAS,EAAEA,KAAK,CAACC,OAAN,CAAcN;AAA9B,CAAA,EAAqCK,KAAK,CAACE,QAA3C,CALG,CAAlB;AAOA,MAAMC,MAAM,GAAGV,UAAU,CAAC,OAAO;AAC/BW,EAAAA,MAAM,EAAE;AACNC,IAAAA,OAAO,EAAE,cADH;AAENC,IAAAA,KAAK,EAAE;AAFD;AADuB,CAAP,CAAD,CAAV,CAKVN,KAAD,iBAAW,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAM,EAAA,SAAS,EAAEA,KAAK,CAACC,OAAN,CAAcG;AAA/B,CAAA,CALA,CAAf;AAOA,MAAMG,uBAAuB,GAAG,CAAC,OAAD,EAAU,IAAV,CAAhC;;AAEA,MAAMC,OAAO,GAAG,CAACC,UAAD,EAAa9B,IAAb,KAAsB;AACpC,EAAA,MAAM+B,YAAY,GAAG/B,IAAI,CAACnC,IAAL,OAAgB,EAArC;AACA,EAAA,MAAMmE,UAAU,GAAGF,UAAU,IAAIA,UAAU,CAACzE,IAA5C;;AAEA,EAAA,IAAI0E,YAAY,IAAIH,uBAAuB,CAACtE,QAAxB,CAAiC0E,UAAjC,CAApB,EAAkE;AAChE,IAAA,OAAOlF,SAAP;AACD,EAAA,CAFD,MAEO;AACL,IAAA,OAAOkD,IAAP;AACD,EAAA;AACF,CATD;;AAWA,MAAMiC,OAAO,GAAIC,CAAD,IAAO;AACrB,EAAA,MAAM3C,IAAI,GAAG2C,CAAC,CAACnC,MAAF,CAASoC,IAAT,CAAeC,KAAD,IAAWC,GAAG,CAACD,KAAD,EAAQ,OAAR,EAAiB,EAAjB,CAAH,CAAwBvF,MAAjD,CAAb;;AAEA,EAAA,IAAI0C,IAAJ,EAAU;AACR,IAAA,OAAOA,IAAI,CAACH,KAAL,CAAW,CAAX,CAAP;AACD,EAAA;;AAED,EAAA,OAAO,IAAP;AACD,CARD;;AAUO,MAAMkD,cAAc,GAAG,CAACC,MAAD,EAASpF,KAAT,EAAgBqF,QAAhB,EAA0BC,kBAA1B,EAA8CX,UAA9C,EAA0DY,WAA1D,KAA0E;AACtG,EAAA,IAAI,CAACvF,KAAL,EAAY;AACV,IAAA,OAAO,IAAP;AACD,EAAA;;AAED,EAAA,MAAMoE,QAAQ,GAAG,EAAjB;AAEA,EAAA,CAACgB,MAAM,CAAC5C,KAAP,IAAgB,EAAjB,EAAqBgD,OAArB,CAA6B,CAACT,CAAD,EAAIU,KAAJ,KAAc;AACzC,IAAA,MAAMC,GAAG,GAAGX,CAAC,CAAC7E,IAAF,GAAU,CAAA,EAAE6E,CAAC,CAAC7E,IAAK,IAAGuF,KAAM,CAAA,CAA5B,GAAiC,CAAA,EAAEA,KAAM,CAAA,CAArD;;AAEA,IAAA,IAAIV,CAAC,CAAC5B,MAAN,EAAc;AACZiB,MAAAA,QAAQ,CAACuB,IAAT,eACE,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AACE,QAAA,uBAAuB,EAAE;AACvBC,UAAAA,MAAM,EAAG,CAAA,0BAAA,EAA4Bb,CAAC,CAACvC,KAAF,CAAQ,CAAR,CAAA,CAAWqD,SAAU,CAAA,OAAA;AADnC;AAD3B,OAAA,CADF,CAAA;AAOA,MAAA,OAAOzB,QAAP;AACD,IAAA;;AAED,IAAA,IAAIkB,kBAAJ,EAAwB;AACtB,MAAA,MAAMQ,CAAC,GAAGR,kBAAkB,CAACP,CAAD,EAAI/E,KAAJ,EAAWqF,QAAX,CAA5B;;AACA,MAAA,IAAIS,CAAJ,EAAO;AACL1B,QAAAA,QAAQ,CAACuB,IAAT,CAAcG,CAAd,CAAA;;AACA,QAAA,IAAI,CAAAnB,UAAU,IAAA,IAAV,GAAA,MAAA,GAAAA,UAAU,CAAEzE,IAAZ,MAAqB,IAArB,IAA6BqF,WAAW,KAAK,mBAAjD,EAAsE;AACpEnB,UAAAA,QAAQ,CAACuB,IAAT,eAAc,oBAAC,MAAD,EAAA;AAAQ,YAAA,GAAG,EAAG,CAAA,OAAA,EAASF,KAAM,CAAA;AAA7B,WAAA,CAAd,CAAA;AACD,QAAA;;AACD,QAAA;AACD,MAAA;AACF,IAAA;;AAED,IAAA,IAAIV,CAAC,CAACxC,MAAF,KAAa,MAAjB,EAAyB;AACvB,MAAA,MAAMwD,OAAO,GAAGhB,CAAC,CAACnC,MAAF,CAASM,MAAT,CAAgB,CAAC7B,GAAD,EAAM2E,CAAN,KAAY;AAC1C,QAAA,MAAMC,CAAC,GAAGD,CAAC,CAACnD,IAAZ;AACA,QAAA,MAAMqD,SAAS,GAAGxB,OAAO,CAACC,UAAD,EAAasB,CAAb,CAAzB;AACA,QAAA,OAAOC,SAAS,GAAG7E,GAAG,GAAG6E,SAAT,GAAqB7E,GAArC;AACD,MAAA,CAJe,EAIb,EAJa,CAAhB;AAKA,MAAA,MAAMe,IAAI,GAAG0C,OAAO,CAACC,CAAD,CAApB;;AAEA,MAAA,IAAI3C,IAAJ,EAAU;AACR,QAAA,IAAI+D,OAAJ;;AAEA,QAAA,KAAKA,OAAL,IAAgBxE,SAAhB,EAA2B;AACzB,UAAA,IAAIA,SAAS,CAACwE,OAAD,CAAT,KAAuB/D,IAAI,CAAClC,IAAhC,EAAsC;AACpC,YAAA,MAAMkG,GAAG,GAAGD,OAAZ;AAEA/B,YAAAA,QAAQ,CAACuB,IAAT,eAAc,oBAAC,GAAD,EAAA;AAAK,cAAA,GAAG,EAAED;AAAV,aAAA,EAAgBK,OAAhB,CAAd,CAAA;AACA,YAAA;AACD,UAAA;AACF,QAAA;AACF,MAAA,CAXD,MAWO,IAAIA,OAAO,CAACrG,MAAR,GAAiB,CAArB,EAAwB;AAC7B0E,QAAAA,QAAQ,CAACuB,IAAT,CAAcI,OAAd,CAAA;;AACA,QAAA,IAAI,CAAApB,UAAU,IAAA,IAAV,GAAA,MAAA,GAAAA,UAAU,CAAEzE,IAAZ,MAAqB,IAArB,IAA6BqF,WAAW,KAAK,mBAAjD,EAAsE;AACpEnB,UAAAA,QAAQ,CAACuB,IAAT,eAAc,oBAAC,MAAD,EAAA;AAAQ,YAAA,GAAG,EAAG,CAAA,OAAA,EAASF,KAAM,CAAA;AAA7B,WAAA,CAAd,CAAA;AACD,QAAA;AACF,MAAA;AACF,IAAA,CAzBD,MAyBO;AACL,MAAA,MAAMY,QAAQ,GAAGlB,cAAc,CAACJ,CAAD,EAAI/E,KAAJ,EAAWqF,QAAX,EAAqBC,kBAArB,EAAyCP,CAAzC,EAA4CQ,WAA5C,CAA/B;;AACA,MAAA,IAAIR,CAAC,CAAC7E,IAAF,KAAW,GAAX,IAAkB6E,CAAC,CAAC7E,IAAF,KAAW,WAAjC,EAA8C;AAC5CkE,QAAAA,QAAQ,CAACuB,IAAT,eAAc,oBAAC,SAAD,EAAA;AAAW,UAAA,GAAG,EAAED;AAAhB,SAAA,EAAsBW,QAAtB,CAAd,CAAA;AACD,MAAA,CAFD,MAEO;AACL,QAAA,MAAMD,GAAG,GAAGrB,CAAC,CAAC7E,IAAd;;AACA,QAAA,IAAI6E,CAAC,CAACvC,KAAF,IAAWuC,CAAC,CAACvC,KAAF,CAAQ9C,MAAR,GAAiB,CAAhC,EAAmC;AACjC0E,UAAAA,QAAQ,CAACuB,IAAT,eACE,oBAAC,GAAD,EAAA,QAAA,CAAA;AAAK,YAAA,GAAG,EAAED;AAAV,WAAA,EAAmBX,CAAC,CAAC3B,IAAF,CAAO3D,UAA1B,CAAA,EACG4G,QADH,CADF,CAAA;AAKD,QAAA,CAND,MAMO;AACLjC,UAAAA,QAAQ,CAACuB,IAAT,eAAc,oBAAC,GAAD,EAAA,QAAA,CAAA;AAAK,YAAA,GAAG,EAAED;AAAV,WAAA,EAAmBX,CAAC,CAAC3B,IAAF,CAAO3D,UAA1B,CAAA,CAAd,CAAA;AACD,QAAA;AACF,MAAA;AACF,IAAA;AACF,EAAA,CAnED,CAAA;AAoEA,EAAA,OAAO2E,QAAP;AACD,CA5EM;AA8EP,MAAMkC,aAAa,GAAG3C,UAAU,CAAC,OAAO;AACtC4C,EAAAA,IAAI,EAAE;AACJhC,IAAAA,OAAO,EAAE;AADL,GADgC;AAItCiC,EAAAA,UAAU,EAAE;AACV,IAAA,uBAAA,EAAyB;AACvBC,MAAAA,cAAc,EAAE;AADO,KADf;AAIV;AACA,IAAA,oDAAA,EAAsD;AACpDC,MAAAA,OAAO,EAAE,UAD2C;AAEpDC,MAAAA,SAAS,EAAE;AAFyC;AAL5C;AAJ0B,CAAP,CAAD,CAAV,CAcjBzC,KAAD,iBAAW,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,EAAA,SAAS,EAAE0C,UAAE,CAAC1C,KAAK,CAACC,OAAN,CAAcoC,IAAf,EAAqBrC,KAAK,CAACC,OAAN,CAAcqC,UAAnC;AAAlB,CAAA,EAAmEtC,KAAK,CAACE,QAAzE,CAdO,CAAtB;AAgBA;AACA;AACA;;AACe,MAAMyC,IAAN,SAAmBC,KAAK,CAACC,SAAzB,CAAmC;AAAA,EAAA,WAAA,CAAA,GAAA,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAA,IAAA,CAAA;;AAAA,IAAA,IAAA,CAShDC,YATgD,GASjC,CAACC,EAAD,EAAKjH,KAAL,KAAe;AAC5B,MAAA,MAAMoD,IAAI,GAAA,QAAA,CAAA,EAAA,EAAQ,IAAA,CAAKc,KAAL,CAAWlE,KAAnB,EAAA;AAA0B,QAAA,CAACiH,EAAD,GAAMjH;AAAhC,OAAA,CAAV;;AACA,MAAA,IAAA,CAAKkE,KAAL,CAAWmB,QAAX,CAAoBjC,IAApB,CAAA;AACD,IAAA,CAZ+C;AAAA,EAAA;;AAchD8D,EAAAA,MAAM,GAAG;AACP,IAAA,MAAM;AAAElH,MAAAA,KAAF;AAASoF,MAAAA,MAAT;AAAiBG,MAAAA;AAAjB,KAAA,GAAiC,KAAKrB,KAA5C;AACA,IAAA,MAAME,QAAQ,GAAGe,cAAc,CAACC,MAAD,EAASpF,KAAT,EAAgB,IAAA,CAAKgH,YAArB,EAAmC,IAAA,CAAK9C,KAAL,CAAWiB,cAA9C,EAA8D,IAA9D,EAAoEI,WAApE,CAA/B;AAEA,IAAA,oBAAO,KAAA,CAAA,aAAA,CAAC,aAAD,EAAA,IAAA,EAAgBnB,QAAhB,CAAP;AACD,EAAA;;AAnB+C;AAA7ByC,KACZM,YAAY;AACjBhC,EAAAA,cAAc,EAAEiC,SAAS,CAACC,IADT;AAEjBjC,EAAAA,MAAM,EAAEgC,SAAS,CAAC7E,MAFD;AAGjBvC,EAAAA,KAAK,EAAEoH,SAAS,CAAC7E,MAHA;AAIjB8C,EAAAA,QAAQ,EAAE+B,SAAS,CAACC,IAJH;AAKjB9B,EAAAA,WAAW,EAAE6B,SAAS,CAACE;AALN;;AC9IrB,MAAMC,KAAK,GAAG,gBAAd;AAEA,mBAAA,CAAe,CAAClH,CAAD,EAAI4F,CAAJ,KAAU;AACvB,EAAA,IAAI,CAAC5F,CAAL,EAAQ;AACN,IAAA,OAAO;AAAEmH,MAAAA,MAAM,EAAE;AAAV,KAAP;AACD,EAAA;;AAED,EAAA,MAAMA,MAAM,GAAGnH,CAAC,CAACoH,OAAF,CAAUF,KAAV,EAAiB,CAAChH,KAAD,EAAQmH,CAAR,KAAc;AAC5C,IAAA,OAAQ,CAAA,sBAAA,EAAwBzB,CAAE,CAAA,WAAA,EAAayB,CAAE,CAAA,SAAA,CAAjD;AACD,EAAA,CAFc,CAAf;AAIA,EAAA,OAAO;AAAEF,IAAAA;AAAF,GAAP;AACD,CAVD;;MCKaG,qBAAqB,GAAG,CAACH,MAAD,EAAStH,IAAT,KAAkB;AACrD,EAAA,MAAM;AAAEsH,IAAAA,MAAM,EAAEI;AAAV,GAAA,GAAwBC,YAAY,CAACL,MAAD,EAAStH,IAAT,CAA1C;AACA,EAAA,MAAMF,KAAK,GAAGkC,WAAW,CAAC0F,SAAD,CAAzB;AACA,EAAA,OAAO5H,KAAK,CAAC8H,QAAb;AACD;MAEYC,QAAQ,GAAG,CAAC7H,IAAD,EAAOiF,cAAP,KAA0B;AAAA,EAAA,IAAA,MAAA;;AAChD,EAAA,OAAA,MAAA,GAAO,MAAM6C,QAAN,SAAuBlB,KAAK,CAACC,SAA7B,CAAuC;AAgB5CkB,IAAAA,kBAAkB,CAACC,SAAD,EAAY;AAC5B,MAAA,IAAI,IAAA,CAAKhE,KAAL,CAAWsD,MAAX,KAAsBU,SAAS,CAACV,MAApC,EAA4C;AAC1C;AACA,QAAA,MAAMW,OAAO,GAAGC,QAAQ,CAACC,WAAT,CAAqB,IAArB,CAAhB,CAF0C;;AAI1C,QAAA,MAAMC,YAAY,GAAGH,OAAO,IAAIA,OAAO,CAACI,gBAAR,CAAyB,wCAAzB,CAAhC,CAJ0C;;AAO1C,QAAA,CAACD,YAAY,IAAI,EAAjB,EAAqB9C,OAArB,CAA8BhG,EAAD,IAAQ;AACnC;AACA,UAAA,MAAMgJ,YAAY,GAAGhJ,EAAE,CAACiJ,aAAH,CAAiB,eAAjB,CAArB;;AAEA,UAAA,IAAID,YAAJ,EAAkB;AAChBhJ,YAAAA,EAAE,CAACkJ,WAAH,CAAeF,YAAf,CAAA;AACD,UAAA,CANkC;;;AASnC,UAAA,MAAMG,SAAS,GAAGnJ,EAAE,CAAC2B,YAAH,CAAgB,UAAhB,CAAlB;AACA3B,UAAAA,EAAE,CAACqG,SAAH,GAAe8C,SAAf,CAVmC;;AAanCnJ,UAAAA,EAAE,CAACoJ,eAAH,CAAmB,mBAAnB,CAAA;AACD,QAAA,CAdD,CAAA;AAeD,MAAA;AACF,IAAA;;AAED1B,IAAAA,MAAM,GAAG;AACP,MAAA,MAAM;AAAEM,QAAAA,MAAF;AAAUpC,QAAAA,MAAV;AAAkBpF,QAAAA,KAAlB;AAAyBqF,QAAAA,QAAzB;AAAmCE,QAAAA;AAAnC,OAAA,GAAmD,KAAKrB,KAA9D;AAEA,MAAA,MAAM2E,UAAU,GAAGzD,MAAM,GAAGA,MAAH,GAAYuC,qBAAqB,CAACH,MAAD,EAAStH,IAAT,CAA1D;AACA,MAAA,oBACE,oBAAC,IAAD,EAAA;AACE,QAAA,WAAW,EAAEqF,WADf;AAEE,QAAA,MAAM,EAAEsD,UAFV;AAGE,QAAA,KAAK,EAAE7I,KAHT;AAIE,QAAA,QAAQ,EAAEqF,QAJZ;AAKE,QAAA,cAAc,EAAEF,cAAc,CAAC,KAAKjB,KAAN;AALhC,OAAA,CADF;AASD,IAAA;;AAvD2C,GAA9C,EAAA,MAAA,CACSiD,SADT,GACqB;AACjB;AACN;AACA;AACMK,IAAAA,MAAM,EAAEJ,SAAS,CAACE,MAJD;;AAKjB;AACN;AACA;AACMlC,IAAAA,MAAM,EAAEgC,SAAS,CAAC7E,MARD;AASjBvC,IAAAA,KAAK,EAAEoH,SAAS,CAAC7E,MATA;AAUjB8C,IAAAA,QAAQ,EAAE+B,SAAS,CAACC,IAVH;AAWjByB,IAAAA,yBAAyB,EAAE1B,SAAS,CAACC,IAXpB;AAYjB9B,IAAAA,WAAW,EAAE6B,SAAS,CAACE;AAZN,GADrB,EAAA,MAAA;AAyDD;;AC5DM,MAAMyB,WAAS,GAAG,WAAlB;;AAEP,MAAMC,gBAAN,SAA+BlC,KAAK,CAACC,SAArC,CAA+C;AAAA,EAAA,WAAA,CAAA,GAAA,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAA,IAAA,CAAA;;AAAA,IAAA,IAAA,CAQ7CkC,SAR6C,GAQjC,MAAM;AAChB,MAAA,MAAM;AAAEC,QAAAA,iBAAF;AAAqBC,QAAAA;AAArB,OAAA,GAAkC,KAAKjF,KAA7C;;AACA,MAAA,IAAI,CAACiF,QAAL,EAAe;AACbD,QAAAA,iBAAiB,CAAC,IAAA,CAAKE,gBAAN,CAAjB;AACD,MAAA;AACF,IAAA,CAb4C;;AAAA,IAAA,IAAA,CAgB7CC,gBAhB6C,GAgBzBC,CAAD,IAAO;AACxBA,MAAAA,CAAC,CAACC,cAAF,EAAA;AACA,MAAA,IAAA,CAAKC,cAAL,GAAsBC,UAAU,CAAC,MAAM;AACrC,QAAA,IAAA,CAAKR,SAAL,CAAeK,CAAf,CAAA;AACD,MAAA,CAF+B,EAE7B,GAF6B,CAAhC;AAGD,IAAA,CArB4C;;AAAA,IAAA,IAAA,CAuB7CI,cAvB6C,GAuB5B,MAAM;AACrBC,MAAAA,YAAY,CAAC,IAAA,CAAKH,cAAN,CAAZ;AACD,IAAA,CAzB4C;;AAAA,IAAA,IAAA,CA2B7CI,eA3B6C,GA2B3B,MAAM;AACtBD,MAAAA,YAAY,CAAC,IAAA,CAAKH,cAAN,CAAZ;AACD,IAAA,CA7B4C;AAAA,EAAA;;AA+B7CK,EAAAA,iBAAiB,GAAG;AAClB,IAAA,IAAI,IAAA,CAAKT,gBAAT,EAA2B;AACzB,MAAA,IAAA,CAAKA,gBAAL,CAAsBU,gBAAtB,CAAuC,YAAvC,EAAqD,IAAA,CAAKT,gBAA1D,EAA4E;AAAEU,QAAAA,OAAO,EAAE;AAAX,OAA5E,CAAA;AACA,MAAA,IAAA,CAAKX,gBAAL,CAAsBU,gBAAtB,CAAuC,UAAvC,EAAmD,KAAKJ,cAAxD,CAAA;AACA,MAAA,IAAA,CAAKN,gBAAL,CAAsBU,gBAAtB,CAAuC,WAAvC,EAAoD,KAAKF,eAAzD,CAAA;AACD,IAAA;AACF,EAAA;;AAEDI,EAAAA,oBAAoB,GAAG;AACrB,IAAA,IAAI,IAAA,CAAKZ,gBAAT,EAA2B;AACzB,MAAA,IAAA,CAAKA,gBAAL,CAAsBa,mBAAtB,CAA0C,YAA1C,EAAwD,KAAKZ,gBAA7D,CAAA;AACA,MAAA,IAAA,CAAKD,gBAAL,CAAsBa,mBAAtB,CAA0C,UAA1C,EAAsD,KAAKP,cAA3D,CAAA;AACA,MAAA,IAAA,CAAKN,gBAAL,CAAsBa,mBAAtB,CAA0C,WAA1C,EAAuD,KAAKL,eAA5D,CAAA;AACD,IAAA;AACF,EAAA;;AAED3B,EAAAA,kBAAkB,GAAG;AACnBiC,IAAAA,UAAU,CAAC,IAAA,CAAKC,OAAN,CAAV;AACD,EAAA;;AAEDjD,EAAAA,MAAM,GAAG;AACP,IAAA,MAAM;AAAEgC,MAAAA,iBAAF;AAAqBkB,MAAAA,MAArB;AAA6BjG,MAAAA,OAA7B;AAAsCgF,MAAAA;AAAtC,KAAA,GAAmD,IAAA,CAAKjF,KAA9D,CADO;;AAKP,IAAA,OAAOgF,iBAAiB,eACtB,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AACE,MAAA,SAAS,EAAEmB,UAAU,CAAClG,OAAO,CAACiG,MAAT,EAAiBjB,QAAQ,IAAIhF,OAAO,CAACgF,QAArC,CADvB;AAEE,MAAA,GAAG,EAAGmB,GAAD,IAAS;AACZ;AACA,QAAA,IAAA,CAAKlB,gBAAL,GAAwBhB,QAAQ,CAACC,WAAT,CAAqBiC,GAArB,CAAxB;AACD,MAAA;AALH,KAAA,eAOE,oBAAC,IAAD,EAAA;AACE,MAAA,SAAS,EAAE,KADb;AAEE,MAAA,QAAQ,EAAE,IAFZ;AAGE,MAAA,GAAG,EAAGA,GAAD,IAAS;AACZ;AACA,QAAA,IAAA,CAAKH,OAAL,GAAe/B,QAAQ,CAACC,WAAT,CAAqBiC,GAArB,CAAf;AACD,MAAA,CANH;AAOE,MAAA,SAAS,EAAEnG,OAAO,CAACoG,IAPrB;AAQE,MAAA,KAAK,eACH,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AACE,QAAA,SAAS,EAAEpG,OAAO,CAACqG,SADrB;AAEE,QAAA,GAAG,EAAGF,GAAD,IAAS;AACZ,UAAA,IAAIA,GAAJ,EAAS;AACPA,YAAAA,GAAG,CAACzE,SAAJ,GAAgBuE,MAAM,CAACpK,KAAP,IAAgB,GAAhC;AACD,UAAA;AACF,QAAA;AANH,OAAA,EAQG,GARH,CATJ;AAoBE,MAAA,OAAO,EAAEmJ,QAAQ,GAAG,UAAH,GAAgBxJ;AApBnC,KAAA,CAPF,CADsB,EA+BtB,EA/BsB,CAAxB;AAiCD,EAAA;;AAzF4C;;AAAzCqJ,iBACG7B,YAAY;AACjBgC,EAAAA,QAAQ,EAAE/B,SAAS,CAACqD,IADH;AAEjBL,EAAAA,MAAM,EAAEhD,SAAS,CAAC7E,MAFD;AAGjB4B,EAAAA,OAAO,EAAEiD,SAAS,CAAC7E,MAHF;AAIjB2G,EAAAA,iBAAiB,EAAE9B,SAAS,CAACC;AAJZ;AA2Fd,MAAMqD,cAAY,GAAG/G,UAAU,CAAEC,KAAD,KAAY;AACjDwG,EAAAA,MAAM,EAAE;AACNO,IAAAA,MAAM,EAAG,CAAA,UAAA,EAAY/G,KAAK,CAACgH,OAAN,CAAcC,OAAd,CAAsBtE,IAAK,CAAA,CAD1C;AAENuE,IAAAA,YAAY,EAAElH,KAAK,CAACG,OAAN,CAAcC,IAAd,GAAqB,CAF7B;AAGN+G,IAAAA,MAAM,EAAEnH,KAAK,CAACG,OAAN,CAAcC,IAAd,GAAqB,CAHvB;AAINgH,IAAAA,SAAS,EAAE;AAJL,GADyC;AAOjDT,EAAAA,IAAI,EAAE;AACJU,IAAAA,eAAe,EAAEC,KAAK,CAACC,KAAN,EADb;AAEJR,IAAAA,MAAM,EAAG,CAAA,UAAA,EAAYO,KAAK,CAACrI,IAAN,EAAa,CAAA,CAF9B;AAGJqI,IAAAA,KAAK,EAAEA,KAAK,CAACrI,IAAN,EAHH;AAIJuI,IAAAA,UAAU,EAAE,QAJR;AAKJ7G,IAAAA,OAAO,EAAE,aALL;AAMJ8G,IAAAA,MAAM,EAAE,SANJ;AAOJC,IAAAA,SAAS,EAAE,MAPP;AAQJC,IAAAA,QAAQ,EAAE,SARN;AASJC,IAAAA,UAAU,EAAE,UATR;AAUJC,IAAAA,QAAQ,EAAE,OAVN;AAWJ;AACA;AACA;AACAC,IAAAA,aAAa,EAAE,MAdX;AAeJZ,IAAAA,YAAY,EAAE,KAfV;AAgBJhH,IAAAA,UAAU,EAAE,MAhBR;AAiBJG,IAAAA,aAAa,EAAE;AAjBX,GAP2C;AA0BjDuG,EAAAA,SAAS,EAAE;AACTgB,IAAAA,UAAU,EAAE,QADH;AAET,IAAA,OAAA,EAAS;AACPjH,MAAAA,OAAO,EAAE,OADF;AAEPmC,MAAAA,OAAO,EAAE;AAFF,KAFA;AAMT,IAAA,YAAA,EAAc;AACZ6E,MAAAA,QAAQ,EAAE;AADE;AANL,GA1BsC;AAoCjDpC,EAAAA,QAAQ,EAAE;AACRwC,IAAAA,OAAO,EAAE;AADD;AApCuC,CAAZ,CAAD,CAAV,CAuCxB3C,gBAvCwB,CAArB;AAyCP,MAAM4C,YAAU,GAAG;AACjBC,EAAAA,OAAO,CAAC3H,KAAD,EAAQ;AACb,IAAA,OAAO,CAACA,KAAK,CAACiF,QAAd;AACD,EAAA,CAHgB;;AAIjB2C,EAAAA,SAAS,CAAC5H,KAAD,EAAQ;AACf,IAAA,OAAO;AACLkG,MAAAA,MAAM,EAAElG,KAAK,CAACkG,MADT;AAEL2B,MAAAA,UAAU,EAAE7H,KAAK,CAAC6H;AAFb,KAAP;AAID,EAAA;;AATgB,CAAnB;AAYA,MAAMC,cAAY,GAAGC,UAAU,CAAClD,WAAD,EAAY6C,YAAZ,EAAwB,CAACM,OAAD,EAAUC,OAAV,MAAuB;AAC5EjD,EAAAA,iBAAiB,EAAEgD,OAAO,CAACE,UAAR,EADyD;AAE5EC,EAAAA,UAAU,EAAEF,OAAO,CAACE,UAAR;AAFgE,CAAvB,CAAxB,CAAV,CAGjB3B,cAHiB,CAArB;;ACxJe,MAAM4B,OAAN,SAAsBxF,KAAK,CAACC,SAA5B,CAAsC;AAAA,EAAA,WAAA,CAAA,GAAA,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAA,IAAA,CAAA;;AAAA,IAAA,IAAA,CASnDwF,kBATmD,GAS9B,MAAM;AACzB,MAAA,MAAM;AAAEC,QAAAA;AAAF,OAAA,GAAqB,KAAKtI,KAAhC;;AAEA,MAAA,QAAQsI,cAAR;AACE,QAAA,KAAK,OAAL;AACE,UAAA,OAAO;AACLzB,YAAAA,MAAM,EAAE;AADH,WAAP;;AAIF,QAAA,KAAK,OAAL;AACE,UAAA,OAAO;AACLA,YAAAA,MAAM,EAAE;AADH,WAAP;;AAIF,QAAA,KAAK,OAAL;AACE,UAAA,OAAO;AACLA,YAAAA,MAAM,EAAE;AADH,WAAP;;AAIF,QAAA;AACE,UAAA,OAAO;AACLA,YAAAA,MAAM,EAAE;AADH,WAAP;AAjBJ;AAqBD,IAAA,CAjCkD;AAAA,EAAA;;AAmCnD7D,EAAAA,MAAM,GAAG;AACP,IAAA,MAAM;AAAEiC,MAAAA,QAAF;AAAYsD,MAAAA,UAAZ;AAAwBC,MAAAA,OAAxB;AAAiC1M,MAAAA;AAAjC,KAAA,GAA2C,KAAKkE,KAAtD;AACA,IAAA,MAAMyI,eAAe,GAAGD,OAAO,CAACE,MAAR,CAAgB9G,CAAD,IAAO;AAC5C,MAAA,IAAI2G,UAAU,KAAK,IAAnB,EAAyB;AACvB,QAAA,OAAO,IAAP;AACD,MAAA;;AACD,MAAA,MAAMI,WAAW,GAAGC,OAAO,CAAC9M,KAAD,EAAS+M,CAAD,IAAOA,CAAC,KAAKjH,CAAC,CAACmB,EAAvB,CAA3B;AACA,MAAA,OAAO4F,WAAW,KAAKlN,SAAvB;AACD,IAAA,CANuB,CAAxB;;AAOA,IAAA,MAAMqN,YAAY,GAAA,QAAA,CAAA,EAAA,EAAQ,IAAA,CAAKT,kBAAL,EAAR,EAAA;AAAmCU,MAAAA,QAAQ,EAAE;AAA7C,KAAA,CAAlB;;AAEA,IAAA,oBACE,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,MAAA,KAAK,EAAED;AAAZ,KAAA,eACE,oBAAC,wBAAD,EAAA;AAA0B,MAAA,QAAQ,EAAE7D;AAApC,KAAA,EACGwD,eAAe,CAACO,GAAhB,CAAoB,CAACpH,CAAD,EAAIL,KAAJ,kBACnB,KAAA,CAAA,aAAA,CAAC0H,cAAD,EAAA;AAAQ,MAAA,GAAG,EAAG,CAAA,EAAErH,CAAC,CAAC9F,KAAM,CAAA,CAAA,EAAGyF,KAAM,CAAA,CAAjC;AAAoC,MAAA,QAAQ,EAAE0D,QAA9C;AAAwD,MAAA,MAAM,EAAErD;AAAhE,KAAA,CADD,CADH,CADF,CADF;AASD,EAAA;;AAvDkD;AAAhCwG,QACZnF,YAAY;AACjBgC,EAAAA,QAAQ,EAAE/B,SAAS,CAACqD,IADH;AAEjBgC,EAAAA,UAAU,EAAErF,SAAS,CAACqD,IAFL;AAGjBiC,EAAAA,OAAO,EAAEtF,SAAS,CAACgG,OAAV,CAAkBhG,SAAS,CAACiG,KAAV,CAAgB;AAAEC,IAAAA,KAAK,EAAElG,SAAS,CAACE,MAAnB;AAA2BtH,IAAAA,KAAK,EAAEoH,SAAS,CAACE;AAA5C,GAAhB,CAAlB,CAHQ;AAIjBtH,EAAAA,KAAK,EAAEoH,SAAS,CAAC7E,MAJA;AAKjBiK,EAAAA,cAAc,EAAEpF,SAAS,CAACE,MAAV,CAAiBiG;AALhB;;;ACKrB,MAAMtO,GAAG,GAAGC,KAAK,CAAC,2BAAD,CAAjB;AACO,MAAM6J,SAAS,GAAG,WAAlB;AAEP,MAAMyE,SAAS,GAAG7J,UAAU,CAAC,OAAO;AAClCoC,EAAAA,OAAO,EAAE;AACP4E,IAAAA,MAAM,EAAG,CAAA,UAAA,EAAYO,KAAK,CAACL,OAAN,EAAgB,CAAA,CAD9B;AAEPoC,IAAAA,QAAQ,EAAE,OAFH;AAGPQ,IAAAA,WAAW,EAAE,MAHN;AAIPC,IAAAA,QAAQ,EAAE,QAJH;AAKPlC,IAAAA,UAAU,EAAE,QALL;;AAAA,GADyB;AAQlCjB,EAAAA,IAAI,EAAE;AACJU,IAAAA,eAAe,EAAEC,KAAK,CAACyC,UAAN,EADb;AAEJhD,IAAAA,MAAM,EAAG,CAAA,WAAA,EAAaO,KAAK,CAACrI,IAAN,EAAa,CAAA,CAF/B;AAGJqI,IAAAA,KAAK,EAAEA,KAAK,CAACrI,IAAN,EAHH;AAIJ0I,IAAAA,QAAQ,EAAE,SAJN;AAKJE,IAAAA,QAAQ,EAAE,OALN;AAMJmC,IAAAA,QAAQ,EAAE,UANN;AAOJ9C,IAAAA,YAAY,EAAE;AAPV,GAR4B;AAiBlCN,EAAAA,SAAS,EAAE;AACTgB,IAAAA,UAAU,EAAE,QADH;AAET;AACA;AACA;AACAE,IAAAA,aAAa,EAAE,MALN;AAMT,IAAA,OAAA,EAAS;AACPnH,MAAAA,OAAO,EAAE,OADF;AAEPmC,MAAAA,OAAO,EAAE;AAFF,KANA;AAUT;AACA;AACA;AACA,IAAA,KAAA,EAAO;AACLmH,MAAAA,SAAS,EAAE,GADN;AAELC,MAAAA,YAAY,EAAE;AAFT,KAbE;AAiBT,IAAA,YAAA,EAAc;AACZvC,MAAAA,QAAQ,EAAE;AADE;AAjBL,GAjBuB;AAsClCwC,EAAAA,MAAM,EAAE;AACN7C,IAAAA,KAAK,EAAE,aADD;AAENS,IAAAA,OAAO,EAAE;AAFH,GAtC0B;AA0ClCqC,EAAAA,OAAO,EAAE;AACPJ,IAAAA,QAAQ,EAAE,UADH;AAEPK,IAAAA,IAAI,EAAE,EAFC;AAGPxC,IAAAA,QAAQ,EAAE;AAHH,GA1CyB;AA+ClCyC,EAAAA,OAAO,EAAE;AACPvD,IAAAA,MAAM,EAAG,CAAA,UAAA,EAAYO,KAAK,CAACgD,OAAN,EAAgB,CAAA;AAD9B,GA/CyB;AAkDlCC,EAAAA,SAAS,EAAE;AACTxD,IAAAA,MAAM,EAAG,CAAA,UAAA,EAAYO,KAAK,CAACiD,SAAN,EAAkB,CAAA;AAD9B,GAlDuB;AAqDlCC,EAAAA,IAAI,EAAE;AACJ5C,IAAAA,UAAU,EAAE,QADR;AAEJkC,IAAAA,QAAQ,EAAE;AAFN,GArD4B;AAyDlCW,EAAAA,UAAU,EAAE;AACV1D,IAAAA,MAAM,EAAG,CAAA,UAAA,EAAY2D,IAAI,CAAC,GAAD,CAAM,CAAA,CADrB;AAEVrD,IAAAA,eAAe,EAAG,CAAA,EAAEqD,IAAI,CAAC,GAAD,CAAM,CAAA;AAFpB;AAzDsB,CAAP,CAAD,CAA5B;AA+DO,MAAM5D,YAAN,SAA2B5D,KAAK,CAACC,SAAjC,CAA2C;AAChDwH,EAAAA,WAAW,GAAG;AACZ,IAAA,KAAA,EAAA;;AADY,IAAA,IAAA,CAQdC,eARc,GAQI,MAAM;AACtB,MAAA,IAAA,CAAKC,gBAAL,EAAA;AACD,IAAA,CAVa;;AAAA,IAAA,IAAA,CAsDdpF,gBAtDc,GAsDMC,CAAD,IAAO;AACxBA,MAAAA,CAAC,CAACC,cAAF,EAAA;AACA,MAAA,IAAA,CAAKmF,eAAL,GAAuBjF,UAAU,CAAC,MAAM;AACtC,QAAA,IAAA,CAAKR,SAAL,EAAA;AACD,MAAA,CAFgC,EAE9B,GAF8B,CAAjC,CAFwB;AAKzB,IAAA,CA3Da;;AAAA,IAAA,IAAA,CA6DdA,SA7Dc,GA6DF,MAAM;AAChB,MAAA,MAAM;AAAEC,QAAAA,iBAAF;AAAqBC,QAAAA;AAArB,OAAA,GAAkC,KAAKjF,KAA7C;;AACA,MAAA,IAAI,CAACiF,QAAL,EAAe;AACbD,QAAAA,iBAAiB,CAAC,IAAA,CAAKiB,OAAN,CAAjB;AACD,MAAA;AACF,IAAA,CAlEa;;AAEZ,IAAA,IAAA,CAAKwE,KAAL,GAAa;AACXtD,MAAAA,MAAM,EAAE,CADG;AAEX7G,MAAAA,KAAK,EAAE;AAFI,KAAb;AAID,EAAA;;AAMDoK,EAAAA,cAAc,GAAG;AAAA,IAAA,IAAA,aAAA;;AACf,IAAA,MAAMC,YAAY,oBAAG,IAAA,CAAKC,OAAR,qBAAG,aAAA,CAAcrG,aAAd,CAA4B,KAA5B,CAArB;;AAEA,IAAA,IAAIoG,YAAJ,EAAkB;AAChBA,MAAAA,YAAY,CAACE,MAAb,GAAsB,KAAKP,eAA3B;AACD,IAAA,CAFD,MAEO;AACL/E,MAAAA,UAAU,CAAC,MAAM;AACf,QAAA,IAAA,CAAKgF,gBAAL,EAAA;AACD,MAAA,CAFS,EAEP,GAFO,CAAV;AAGD,IAAA;AACF,EAAA;;AAED5E,EAAAA,iBAAiB,GAAG;AAClB,IAAA,IAAA,CAAK+E,cAAL,EAAA;;AACA,IAAA,IAAI,IAAA,CAAKzE,OAAT,EAAkB;AAChB,MAAA,IAAA,CAAKA,OAAL,CAAaL,gBAAb,CAA8B,YAA9B,EAA4C,IAAA,CAAKT,gBAAjD,EAAmE;AAAEU,QAAAA,OAAO,EAAE;AAAX,OAAnE,CAAA;AACD,IAAA;AACF,EAAA;;AAED9B,EAAAA,kBAAkB,CAACC,SAAD,EAAY;AAC5BgC,IAAAA,UAAU,CAAC,IAAA,CAAKC,OAAN,CAAV;AACA,IAAA,MAAM;AAAEC,MAAAA,MAAM,EAAE4E;AAAV,KAAA,GAA4B,KAAK9K,KAAvC;AACA,IAAA,MAAM;AAAEkG,MAAAA,MAAM,EAAE6E;AAAV,KAAA,GAAyB/G,SAA/B;;AAEA,IAAA,IAAIgH,IAAI,CAACC,SAAL,CAAeH,aAAf,CAAA,KAAkCE,IAAI,CAACC,SAAL,CAAeF,UAAf,CAAtC,EAAkE;AAChE,MAAA,IAAI,CAACD,aAAL,EAAoB;AAClB,QAAA,IAAA,CAAKI,QAAL,CAAc;AACZ/D,UAAAA,MAAM,EAAE,CADI;AAEZ7G,UAAAA,KAAK,EAAE;AAFK,SAAd,CAAA;AAIA,QAAA;AACD,MAAA;;AACD,MAAA,IAAA,CAAKoK,cAAL,EAAA;AACD,IAAA;AACF,EAAA;;AAED5E,EAAAA,oBAAoB,GAAG;AACrB,IAAA,IAAI,IAAA,CAAKG,OAAT,EAAkB;AAChB,MAAA,IAAA,CAAKA,OAAL,CAAaF,mBAAb,CAAiC,YAAjC,EAA+C,KAAKZ,gBAApD,CAAA;AACD,IAAA;AACF,EAAA;;AAgBDoF,EAAAA,gBAAgB,GAAG;AACjB,IAAA,IAAI,IAAA,CAAKK,OAAL,IAAgB,IAAA,CAAK3E,OAAzB,EAAkC;AAChC;AACA,MAAA,IAAA,CAAKA,OAAL,CAAa1I,KAAb,CAAmB+C,KAAnB,GAA2B,MAA3B,CAFgC;;AAKhC,MAAA,MAAMA,KAAK,GAAG,IAAA,CAAKsK,OAAL,CAAaO,WAAb,IAA4B,CAA1C;AACA,MAAA,MAAMhE,MAAM,GAAG,IAAA,CAAKyD,OAAL,CAAaQ,YAAb,IAA6B,CAA5C;AAEA,MAAA,MAAMC,gBAAgB,GAAG/K,KAAK,GAAG,EAAjC,CARgC;;AAShC,MAAA,MAAMgL,iBAAiB,GAAGnE,MAAM,GAAG,EAAnC,CATgC;;AAWhC,MAAA,MAAMoE,iBAAiB,GAAGC,UAAU,CAAC,IAAA,CAAKxL,KAAL,CAAWyL,sBAAZ,CAAV,IAAiD,CAA3E;AACA,MAAA,MAAMC,kBAAkB,GAAGF,UAAU,CAAC,IAAA,CAAKxL,KAAL,CAAW2L,uBAAZ,CAAV,IAAkD,CAA7E;AAEA,MAAA,MAAMC,aAAa,GAAGP,gBAAgB,IAAIE,iBAApB,GAAwCA,iBAAxC,GAA4DF,gBAAlF;AACA,MAAA,MAAMQ,cAAc,GAAGP,iBAAiB,IAAII,kBAArB,GAA0CA,kBAA1C,GAA+DJ,iBAAtF;AAEA,MAAA,IAAA,CAAKJ,QAAL,CAAeY,SAAD,KAAgB;AAC5BxL,QAAAA,KAAK,EAAEsL,aAAa,GAAGL,iBAAhB,GAAoCK,aAApC,GAAoDE,SAAS,CAACxL,KADzC;AAE5B6G,QAAAA,MAAM,EAAE0E,cAAc,GAAGH,kBAAjB,GAAsCG,cAAtC,GAAuDC,SAAS,CAAC3E;AAF7C,OAAhB,CAAd,CAAA;AAKA,MAAA,IAAA,CAAKlB,OAAL,CAAa1I,KAAb,CAAmB+C,KAAnB,GAA4B,CAAA,EAAEsL,aAAc,CAAA,EAAA,CAA5C;AACA,MAAA,IAAA,CAAK3F,OAAL,CAAa1I,KAAb,CAAmB4J,MAAnB,GAA6B,CAAA,EAAE0E,cAAe,CAAA,EAAA,CAA9C;AACD,IAAA;AACF,EAAA;;AAEDE,EAAAA,2BAA2B,CAACC,MAAD,EAAS;AAClCA,IAAAA,MAAM,CAACzN,UAAP,CAAkB+C,OAAlB,CAA2B2K,IAAD,IAAU;AAClC,MAAA,IAAIA,IAAI,YAAYC,OAAhB,IAA2BD,IAAI,YAAYE,YAA/C,EAA6D;AAC3DF,QAAAA,IAAI,CAACG,YAAL,CAAkB,WAAlB,EAA+B,KAA/B,CAAA;AACD,MAAA;AACF,IAAA,CAJD,CAAA;AAKD,EAAA;;AAEDC,EAAAA,iBAAiB,GAAG;AAClB;AACA,IAAA,MAAMd,iBAAiB,GAAG,CAACe,KAAK,CAACd,UAAU,CAAC,IAAA,CAAKxL,KAAL,CAAWyL,sBAAZ,CAAX,CAAN,GACtBD,UAAU,CAAC,IAAA,CAAKxL,KAAL,CAAWyL,sBAAZ,CADY,GAEtB,CAFJ;AAGA,IAAA,MAAMC,kBAAkB,GAAG,CAACY,KAAK,CAACd,UAAU,CAAC,IAAA,CAAKxL,KAAL,CAAW2L,uBAAZ,CAAX,CAAN,GACvBH,UAAU,CAAC,IAAA,CAAKxL,KAAL,CAAW2L,uBAAZ,CADa,GAEvB,CAFJ;AAIA,IAAA,MAAMY,SAAS,GAAG;AAChBpF,MAAAA,MAAM,EAAE,IAAA,CAAKsD,KAAL,CAAWtD,MAAX,IAAqBuE,kBADb;AAEhBpL,MAAAA,KAAK,EAAE,IAAA,CAAKmK,KAAL,CAAWnK,KAAX,IAAoBiL;AAFX,KAAlB,CATkB;AAelB;;AACA,IAAA,OAAA,QAAA,CAAA,EAAA,EACKgB,SADL,EAEMhB,iBAAiB,GAAG,EAAH,GAAQ;AAAExC,MAAAA,QAAQ,EAAE;AAAZ,KAF/B,EAGM2C,kBAAkB,GAAG,EAAH,GAAQ;AAAEtE,MAAAA,SAAS,EAAE;AAAb,KAHhC,CAAA;AAKD,EAAA;;AAEDpE,EAAAA,MAAM,GAAG;AACP,IAAA,MAAM;AAAEiC,MAAAA,QAAF;AAAYiB,MAAAA,MAAZ;AAAoBjG,MAAAA,OAApB;AAA6BuM,MAAAA,MAA7B;AAAqCC,MAAAA,QAArC;AAA+CzC,MAAAA;AAA/C,KAAA,GAA2D,KAAKhK,KAAtE;AACA,IAAA,MAAM0M,YAAY,GAAGD,QAAQ,IAAID,MAAZ,IAAsBC,QAAQ,CAACvG,MAAT,CAAgBpK,KAA3D;AACA,IAAA,MAAMsN,KAAK,GAAGlD,MAAM,IAAIA,MAAM,CAACpK,KAA/B;AAEA,IAAA;AAAA;AACE;AACA,MAAA,KAAA,CAAA,aAAA,CAAC,IAAD,EAAA;AACE,QAAA,SAAS,EAAE,KADb;AAEE,QAAA,QAAQ,EAAE,IAFZ;AAGE,QAAA,GAAG,EAAGsK,GAAD,IAAS;AACZ;AACA,UAAA,IAAA,CAAKH,OAAL,GAAe/B,QAAQ,CAACC,WAAT,CAAqBiC,GAArB,CAAf;AACD,QAAA,CANH;AAOE,QAAA,SAAS,EAAC,MAPZ;AAQE,QAAA,KAAK,eACH,KAAA,CAAA,aAAA,CAAC,KAAD,CAAO,QAAP,EAAA,IAAA,eACE,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AACE,UAAA,SAAS,EAAED,UAAU,CAAClG,OAAO,CAACqG,SAAT,EAAoBkG,MAAM,IAAIvM,OAAO,CAACiK,IAAtC,EAA4C;AAC/D,YAAA,CAACjK,OAAO,CAAC4J,MAAT,GAAkB6C;AAD6C,WAA5C,CADvB;AAIE,UAAA,GAAG,EAAGtG,GAAD,IAAS;AACZ,YAAA,IAAIA,GAAJ,EAAS;AACP;AACA,cAAA,IAAA,CAAKwE,OAAL,GAAe1G,QAAQ,CAACC,WAAT,CAAqBiC,GAArB,CAAf;AACAA,cAAAA,GAAG,CAACzE,SAAJ,GAAgByH,KAAK,IAAI,EAAzB;AACA,cAAA,IAAA,CAAK2C,2BAAL,CAAiC3F,GAAjC,CAAA;AACD,YAAA;AACF,UAAA;AAXH,SAAA,EAaG,GAbH,CADF,EAgBGsG,YAAY,iBACX,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AACE,UAAA,SAAS,EAAEvG,UAAU,CAAClG,OAAO,CAACqG,SAAT,EAAoBkG,MAAM,IAAIvM,OAAO,CAACiK,IAAtC,EAA4CjK,OAAO,CAAC6J,OAApD,CADvB;AAEE,UAAA,GAAG,EAAG1D,GAAD,IAAS;AACZ,YAAA,IAAIA,GAAJ,EAAS;AACP;AACA,cAAA,IAAA,CAAKwE,OAAL,GAAe1G,QAAQ,CAACC,WAAT,CAAqBiC,GAArB,CAAf;AACAA,cAAAA,GAAG,CAACzE,SAAJ,GAAgB+K,YAAY,IAAI,EAAhC;AACA,cAAA,IAAA,CAAKX,2BAAL,CAAiC3F,GAAjC,CAAA;AACD,YAAA;AACF,UAAA;AATH,SAAA,EAWG,GAXH,CAjBJ,CATJ;AA0CE,QAAA,SAAS,EAAED,UAAU,CAAClG,OAAO,CAACoG,IAAT,EAAemG,MAAM,IAAIvM,OAAO,CAACiK,IAAjC,EAAuCsC,MAAM,IAAIvM,OAAO,CAACkK,UAAzD,EAAqE;AACxF,UAAA,CAAClK,OAAO,CAAC+J,OAAT,GAAmBA,OAAO,KAAKvO,SAAZ,IAAyBuO,OAD4C;AAExF,UAAA,CAAC/J,OAAO,CAACgK,SAAT,GAAqBD,OAAO,KAAKvO,SAAZ,IAAyB,CAACuO;AAFyC,SAArE,CA1CvB;AA8CE,QAAA,OAAO,EAAE/E,QAAQ,GAAG,UAAH,GAAgBxJ,SA9CnC;AA+CE,QAAA,KAAK,EAAA,QAAA,CAAA,EAAA,EACA,IAAA,CAAK4Q,iBAAL,EADA;AA/CP,OAAA;AAFF;AAsDD,EAAA;;AA3L+C;AA8LlD7F,YAAY,CAACmG,YAAb,GAA4B;AAC1BlB,EAAAA,sBAAsB,EAAE,CADE;AAE1BE,EAAAA,uBAAuB,EAAE;AAFC,CAA5B;AAKAnF,YAAY,CAACvD,SAAb,GAAyB;AACvBF,EAAAA,EAAE,EAAEG,SAAS,CAAC0J,SAAV,CAAoB,CAAC1J,SAAS,CAACE,MAAX,EAAmBF,SAAS,CAAC2J,MAA7B,CAApB,CADmB;AAEvB5H,EAAAA,QAAQ,EAAE/B,SAAS,CAACqD,IAFG;AAGvBgC,EAAAA,UAAU,EAAErF,SAAS,CAACqD,IAHC;AAIvBL,EAAAA,MAAM,EAAEhD,SAAS,CAAC7E,MAJK;AAKvB4B,EAAAA,OAAO,EAAEiD,SAAS,CAAC7E,MALI;AAMvBmO,EAAAA,MAAM,EAAEtJ,SAAS,CAACqD,IANK;AAOvBkG,EAAAA,QAAQ,EAAEvJ,SAAS,CAAC7E,MAPG;AAQvB2L,EAAAA,OAAO,EAAE9G,SAAS,CAACqD,IARI;AASvBpF,EAAAA,QAAQ,EAAE+B,SAAS,CAACC,IATG;AAUvBsI,EAAAA,sBAAsB,EAAEvI,SAAS,CAAC0J,SAAV,CAAoB,CAAC1J,SAAS,CAACE,MAAX,EAAmBF,SAAS,CAAC2J,MAA7B,CAApB,CAVD;AAWvBlB,EAAAA,uBAAuB,EAAEzI,SAAS,CAAC0J,SAAV,CAAoB,CAAC1J,SAAS,CAACE,MAAX,EAAmBF,SAAS,CAAC2J,MAA7B,CAApB;AAXF,CAAzB;AAcA,MAAMC,kBAAkB,GAAGxD,SAAS,CAAC9C,YAAD,CAApC;AAEA,MAAMuG,qBAAqB,GAAGzD,SAAS,CAAC,IAAA,IAAwD;AAAA,EAAA,IAAvD;AAAEtE,IAAAA,iBAAF;AAAqBgI,IAAAA;AAArB,GAAuD,GAAA,IAAA;AAAA,MAAZhN,KAAY,GAAA,6BAAA,CAAA,IAAA,EAAA,SAAA,CAAA;;AAC9F,EAAA,MAAM;AAAEC,IAAAA,OAAF;AAAWuM,IAAAA;AAAX,GAAA,GAAsBxM,KAA5B;AAEA,EAAA,OAAOgN,iBAAiB,CACtBhI,iBAAiB,eACf,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAM,IAAA,SAAS,EAAEmB,UAAU,CAAClG,OAAO,CAAC4B,OAAT,EAAkB2K,MAAM,IAAIvM,OAAO,CAACiK,IAApC;AAA3B,GAAA,eACE,oBAAC,kBAAD,EAAwBlK,KAAxB,CADF,CADe,CADK,CAAxB;AAOD,CAVsC,CAAvC;AAYA,MAAMiN,UAAU,GAAG;AACjBC,EAAAA,IAAI,CAAClN,KAAD,EAAQiI,OAAR,EAAiB;AACnB,IAAA,MAAMkF,WAAW,GAAGlF,OAAO,CAACmF,OAAR,EAApB;AAEArS,IAAAA,GAAG,CAAC,kBAAD,EAAqBiF,KAAK,CAAC6H,UAA3B,EAAuC,yBAAvC,EAAkEsF,WAAW,CAACtF,UAA9E,CAAH;;AAEA,IAAA,IAAIsF,WAAW,CAACpK,EAAZ,KAAmB/C,KAAK,CAAC+C,EAA7B,EAAiC;AAC/B/C,MAAAA,KAAK,CAACmB,QAAN,CAAenB,KAAK,CAAC+C,EAArB,EAAyBoK,WAAW,CAACjH,MAAZ,CAAmBnD,EAA5C,CAAA;AACD,IAAA;;AAED,IAAA,OAAO;AACLsK,MAAAA,OAAO,EAAEF,WAAW,CAACpK,EAAZ,KAAmB/C,KAAK,CAAC+C;AAD7B,KAAP;AAGD,EAAA,CAbgB;;AAcjBuK,EAAAA,OAAO,CAACtN,KAAD,EAAQiI,OAAR,EAAiB;AACtB,IAAA,MAAMkF,WAAW,GAAGlF,OAAO,CAACmF,OAAR,EAApB;AAEA,IAAA,OAAOD,WAAW,CAACtF,UAAZ,KAA2B7H,KAAK,CAAC6H,UAAxC;AACD,EAAA;;AAlBgB,CAAnB;AAqBA,MAAM0F,QAAQ,GAAGC,UAAU,CAAC3I,SAAD,EAAYoI,UAAZ,EAAwB,CAACjF,OAAD,EAAUC,OAAV,MAAuB;AACxE+E,EAAAA,iBAAiB,EAAEhF,OAAO,CAACyF,UAAR,EADqD;AAExEjB,EAAAA,MAAM,EAAEvE,OAAO,CAACuE,MAAR,EAFgE;AAGxEC,EAAAA,QAAQ,EAAExE,OAAO,CAACmF,OAAR;AAH8D,CAAvB,CAAxB,CAAV,CAIbL,qBAJa,CAAjB;AAMA,MAAMrF,UAAU,GAAG;AACjBC,EAAAA,OAAO,CAAC3H,KAAD,EAAQ;AACb,IAAA,OAAO,CAACA,KAAK,CAACiF,QAAP,IAAmB,CAAC,CAACjF,KAAK,CAACkG,MAAlC;AACD,EAAA,CAHgB;;AAIjB0B,EAAAA,SAAS,CAAC5H,KAAD,EAAQ;AACf,IAAA,OAAO;AACL+C,MAAAA,EAAE,EAAE/C,KAAK,CAAC+C,EADL;AAELmD,MAAAA,MAAM,EAAElG,KAAK,CAACkG,MAFT;AAGL2B,MAAAA,UAAU,EAAE7H,KAAK,CAAC6H,UAHb;AAIL6F,MAAAA,UAAU,EAAE;AAJP,KAAP;AAMD,EAAA,CAXgB;;AAYjBC,EAAAA,OAAO,CAAC3N,KAAD,EAAQiI,OAAR,EAAiB;AACtB;AACA,IAAA,MAAM2F,UAAU,GAAG3F,OAAO,CAAC4F,aAAR,EAAnB;;AAEA,IAAA,IAAI,CAACD,UAAD,IAAeA,UAAU,CAACP,OAA9B,EAAuC;AACrC,MAAA,MAAMF,WAAW,GAAGlF,OAAO,CAACmF,OAAR,EAApB;;AAEA,MAAA,IAAID,WAAW,CAACO,UAAhB,EAA4B;AAC1B1N,QAAAA,KAAK,CAACmB,QAAN,CAAenB,KAAK,CAAC+C,EAArB,EAAyBtH,SAAzB,CAAA;AACD,MAAA;AACF,IAAA;AACF,EAAA;;AAvBgB,CAAnB;AA0BA,MAAMqM,YAAY,GAAGC,UAAU,CAAClD,SAAD,EAAY6C,UAAZ,EAAwB,CAACM,OAAD,EAAUC,OAAV,MAAuB;AAC5EjD,EAAAA,iBAAiB,EAAEgD,OAAO,CAACE,UAAR,EADyD;AAE5EC,EAAAA,UAAU,EAAEF,OAAO,CAACE,UAAR;AAFgE,CAAvB,CAAxB,CAAV,CAGjBoF,QAHiB,CAArB;;AC1VA,MAAMO,MAAM,GAAGjK,QAAQ,CAAC,OAAD,EAAW7D,KAAD,IAAW,CAAC+N,IAAD,EAAO7O,IAAP,EAAaiC,QAAb,KAA0B;AACpE,EAAA,MAAMhC,OAAO,GAAG4O,IAAI,CAAC7O,IAAL,GAAY6O,IAAI,CAAC7O,IAAL,CAAUC,OAAV,IAAqB,EAAjC,GAAsC,EAAtD;;AACA,EAAA,IAAIA,OAAO,CAAC6O,SAAR,KAAsB,OAA1B,EAAmC;AACjC;AACA,IAAA,MAAM;AACJ/I,MAAAA,QADI;AAEJsD,MAAAA,UAFI;AAGJ0F,MAAAA,eAHI;AAIJC,MAAAA,QAJI;AAKJC,MAAAA,iBALI;AAMJ1C,MAAAA,sBANI;AAOJE,MAAAA;AAPI,KAAA,GAQF3L,KARJ;AASA,IAAA,MAAMoO,QAAQ,GAAGD,iBAAiB,GAAGF,eAAe,CAAC9O,OAAO,CAAC4D,EAAT,CAAlB,GAAiC7D,IAAI,CAACC,OAAO,CAAC4D,EAAT,CAAvE,CAXiC;;AAajC,IAAA,MAAMmD,MAAM,GAAGkI,QAAQ,IAAIpO,KAAK,CAACwI,OAAN,CAAc1H,IAAd,CAAoBc,CAAD,IAAOA,CAAC,CAACmB,EAAF,KAASqL,QAAnC,CAA3B;AAEA,IAAA,oBACE,oBAACC,YAAD,EAAA;AACE,MAAA,GAAG,EAAG,CAAA,EAAEN,IAAI,CAAC/R,IAAK,CAAA,CAAA,EAAGmD,OAAO,CAAC4D,EAAG,CAAA,CADlC;AAEE,MAAA,OAAO,EAAEoL,iBAAiB,IAAKD,QAAQ,IAAIA,QAAQ,CAAC/O,OAAO,CAAC4D,EAAT,CAFrD;AAGE,MAAA,QAAQ,EAAEkC,QAHZ;AAIE,MAAA,UAAU,EAAEsD,UAJd;AAKE,MAAA,MAAM,EAAErC,MALV;AAME,MAAA,EAAE,EAAE/G,OAAO,CAAC4D,EANd;AAOE,MAAA,sBAAsB,EAAE0I,sBAP1B;AAQE,MAAA,uBAAuB,EAAEE,uBAR3B;AASE,MAAA,QAAQ,EAAExK;AATZ,KAAA,CADF;AAaD,EAAA;AACF,CA/BsB,CAAvB;AAiCe,MAAMmN,cAAN,SAA6B1L,KAAK,CAACC,SAAnC,CAA6C;AAAA,EAAA,WAAA,CAAA,GAAA,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAA,IAAA,CAAA;;AAAA,IAAA,IAAA,CA2B1D0L,oBA3B0D,GA2BlCjG,cAAD,IAAoB;AACzC,MAAA,IAAIkG,aAAJ;AACA,MAAA,IAAIC,cAAJ;AACA,MAAA,IAAIvH,UAAJ;;AAEA,MAAA,QAAQoB,cAAR;AACE,QAAA,KAAK,MAAL;AACEkG,UAAAA,aAAa,GAAG,KAAhB;AACAtH,UAAAA,UAAU,GAAG,QAAb;AACA,UAAA;;AACF,QAAA,KAAK,OAAL;AACEsH,UAAAA,aAAa,GAAG,aAAhB;AACAC,UAAAA,cAAc,GAAG,UAAjB;AACAvH,UAAAA,UAAU,GAAG,QAAb;AACA,UAAA;;AACF,QAAA,KAAK,OAAL;AACEsH,UAAAA,aAAa,GAAG,gBAAhB;AACA,UAAA;;AACF,QAAA;AACE;AACAA,UAAAA,aAAa,GAAG,QAAhB;AACA,UAAA;AAhBJ;;AAmBA,MAAA,OAAO;AAAEA,QAAAA,aAAF;AAAiBC,QAAAA,cAAjB;AAAiCvH,QAAAA;AAAjC,OAAP;AACD,IAAA,CApDyD;AAAA,EAAA;;AAiB1DwH,EAAAA,gCAAgC,GAAG;AACjC,IAAA,IAAI,IAAA,CAAKzI,OAAT,EAAkB;AAChBD,MAAAA,UAAU,CAAC,IAAA,CAAKC,OAAN,CAAV;AACD,IAAA;AACF,EAAA;;AAEDlC,EAAAA,kBAAkB,GAAG;AACnBiC,IAAAA,UAAU,CAAC,IAAA,CAAKC,OAAN,CAAV;AACD,EAAA;;AA6BDjD,EAAAA,MAAM,GAAG;AACP,IAAA,MAAM;AACJM,MAAAA,MADI;AAEJiF,MAAAA,UAFI;AAGJrH,MAAAA,MAHI;AAIJpF,MAAAA,KAJI;AAKJqF,MAAAA,QALI;AAMJwN,MAAAA,eANI;AAOJnG,MAAAA,OAPI;AAQJyF,MAAAA,eARI;AASJhJ,MAAAA,QATI;AAUJiJ,MAAAA,QAVI;AAWJC,MAAAA,iBAXI;AAYJ1C,MAAAA,sBAZI;AAaJE,MAAAA;AAbI,KAAA,GAcF,KAAK3L,KAdT;AAgBA,IAAA,MAAMsI,cAAc,GAAGqG,eAAe,IAAI,OAA1C;;AACA,IAAA,MAAMpR,KAAK,GAAA,QAAA,CAAA;AACT8C,MAAAA,OAAO,EAAE,MADA;AAET0I,MAAAA,QAAQ,EAAE;AAFD,KAAA,EAGN,IAAA,CAAKwF,oBAAL,CAA0BjG,cAA1B,CAHM,CAAX;;AAMA,IAAA,oBACE,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,MAAA,GAAG,EAAGlC,GAAD,IAASA,GAAG,KAAK,IAAA,CAAKH,OAAL,GAAeG,GAApB,CAAtB;AAAgD,MAAA,KAAK,EAAE7I;AAAvD,KAAA,eACE,oBAAC,OAAD,EAAA;AACE,MAAA,cAAc,EAAE+K,cADlB;AAEE,MAAA,UAAU,EAAEC,UAFd;AAGE,MAAA,OAAO,EAAEC,OAHX;AAIE,MAAA,KAAK,EAAE1M,KAJT;AAKE,MAAA,QAAQ,EAAEmJ;AALZ,KAAA,CADF,eAQE,oBAAC,MAAD,EAAA;AACE,MAAA,WAAW,EAAE,mBADf;AAEE,MAAA,MAAM,EAAE3B,MAFV;AAGE,MAAA,MAAM,EAAEpC,MAHV;AAIE,MAAA,KAAK,EAAEpF,KAJT;AAKE,MAAA,OAAO,EAAE0M,OALX;AAME,MAAA,QAAQ,EAAErH,QANZ;AAOE,MAAA,QAAQ,EAAE8D,QAPZ;AAQE,MAAA,UAAU,EAAEsD,UARd;AASE,MAAA,QAAQ,EAAE2F,QATZ;AAUE,MAAA,eAAe,EAAED,eAVnB;AAWE,MAAA,iBAAiB,EAAEE,iBAXrB;AAYE,MAAA,sBAAsB,EAAE1C,sBAZ1B;AAaE,MAAA,uBAAuB,EAAEE;AAb3B,KAAA,CARF,CADF;AA0BD,EAAA;;AAxGyD;AAAvC2C,eACZrL,YAAY;AACjBK,EAAAA,MAAM,EAAEJ,SAAS,CAACE,MADD;AAEjBlC,EAAAA,MAAM,EAAEgC,SAAS,CAAC7E,MAFD;AAGjBsQ,EAAAA,eAAe,EAAEzL,SAAS,CAACE,MAHV;AAIjBoF,EAAAA,OAAO,EAAEtF,SAAS,CAACgG,OAAV,CAAkBhG,SAAS,CAACiG,KAAV,CAAgB;AAAEC,IAAAA,KAAK,EAAElG,SAAS,CAACE,MAAnB;AAA2BtH,IAAAA,KAAK,EAAEoH,SAAS,CAACE;AAA5C,GAAhB,CAAlB,CAJQ;AAKjBtH,EAAAA,KAAK,EAAEoH,SAAS,CAAC7E,MALA;AAMjB8C,EAAAA,QAAQ,EAAE+B,SAAS,CAACC,IANH;AAOjBoF,EAAAA,UAAU,EAAErF,SAAS,CAACqD,IAPL;AAQjBtB,EAAAA,QAAQ,EAAE/B,SAAS,CAACqD,IARH;AASjB2H,EAAAA,QAAQ,EAAEhL,SAAS,CAAC7E,MATH;AAUjB4P,EAAAA,eAAe,EAAE/K,SAAS,CAAC7E,MAVV;AAWjB8P,EAAAA,iBAAiB,EAAEjL,SAAS,CAACqD,IAXZ;AAYjBkF,EAAAA,sBAAsB,EAAEvI,SAAS,CAAC0J,SAAV,CAAoB,CAAC1J,SAAS,CAACE,MAAX,EAAmBF,SAAS,CAAC2J,MAA7B,CAApB,CAZP;AAajBlB,EAAAA,uBAAuB,EAAEzI,SAAS,CAAC0J,SAAV,CAAoB,CAAC1J,SAAS,CAACE,MAAX,EAAmBF,SAAS,CAAC2J,MAA7B,CAApB;AAbR;;AClCrB,MAAM+B,QAAM,GAAG,OAAO;AACpBC,EAAAA,kBAAkB,EAAE;AAClBxO,IAAAA,OAAO,EAAE,cADS;AAElByO,IAAAA,aAAa,EAAE,QAFG;AAGlBjI,IAAAA,MAAM,EAAE,KAHU;AAIlBD,IAAAA,YAAY,EAAE,KAJI;AAKlBH,IAAAA,MAAM,EAAG,CAAA,UAAA,EAAYO,KAAK,CAAC+H,KAAN,EAAc,CAAA;AALjB,GADA;AAQpB/E,EAAAA,OAAO,EAAE;AACPvD,IAAAA,MAAM,EAAG,CAAA,UAAA,EAAYO,KAAK,CAACgD,OAAN,EAAgB,CAAA;AAD9B,GARW;AAWpBC,EAAAA,SAAS,EAAE;AACTxD,IAAAA,MAAM,EAAG,CAAA,UAAA,EAAYO,KAAK,CAACiD,SAAN,EAAkB,CAAA;AAD9B;AAXS,CAAP,CAAf;;AAgBA,MAAM+E,WAAW,GAAIhP,KAAD,IAAW,CAAC+N,IAAD,EAAO7O,IAAP,KAAgB;AAAA,EAAA,IAAA,UAAA;;AAC7C,EAAA,MAAM;AACJ+P,IAAAA,aADI;AAEJhK,IAAAA,QAFI;AAGJiJ,IAAAA,QAHI;AAIJC,IAAAA,iBAJI;AAKJe,IAAAA,SALI;AAMJC,IAAAA,UANI;AAOJlP,IAAAA,OAPI;AAQJmP,IAAAA,WARI;AASJjO,IAAAA;AATI,GAAA,GAUFnB,KAVJ;AAWA,EAAA,MAAMb,OAAO,GAAG,CAAA,CAAA,UAAA,GAAA4O,IAAI,CAAC7O,IAAL,KAAA,IAAA,GAAA,MAAA,GAAA,UAAA,CAAWC,OAAX,KAAsB,EAAtC;;AAEA,EAAA,IAAIA,OAAO,CAAC6O,SAAR,KAAsB,OAA1B,EAAmC;AAAA,IAAA,IAAA,qBAAA;;AACjC,IAAA,MAAMqB,aAAa,GAAG,CAAErP,KAAK,CAACwI,OAAN,IAAiBrJ,OAAjB,IAA4Ba,KAAK,CAACwI,OAAN,CAAcrJ,OAAO,CAAC4D,EAAtB,CAA7B,IAA2D,EAA5D,EAAgE,CAAhE,CAAtB;AACA,IAAA,MAAMuM,UAAU,GAAGnB,iBAAiB,GAAGkB,aAAa,IAAIA,aAAa,CAACjG,KAAlC,GAA0ClK,IAAI,CAACC,OAAO,CAAC4D,EAAT,CAAJ,IAAoB,EAAlG;AACA,IAAA,MAAMzC,KAAK,GAAG4O,SAAS,IAAIA,SAAS,CAAC/P,OAAO,CAAC4D,EAAT,CAApC;AACA,IAAA,MAAMwM,cAAc,GAAGrB,QAAQ,IAAIA,QAAQ,CAAC/O,OAAO,CAAC4D,EAAT,CAA3C;AACA,IAAA,MAAMyM,SAAS,GAAGrB,iBAAiB,IAAIoB,cAAc,KAAK,SAA1D;AACA,IAAA,MAAME,WAAW,GAAG,CAACtB,iBAAD,IAAsBoB,cAAc,KAAK,WAA7D;;AAEA,IAAA,MAAMG,iBAAiB,GAAIC,QAAD,IAAc;AACtC,MAAA,MAAMC,YAAY,gBACb1Q,IADa,EAAA;AAEhB,QAAA,CAACC,OAAO,CAAC4D,EAAT,GAAc4M;AAFE,OAAA,CAAlB;;AAIAxO,MAAAA,QAAQ,CAACyO,YAAD,CAAR;AACD,IAAA,CAND;;AAQA,IAAA,MAAMC,aAAa,GAAIC,KAAD,IAAW;AAC/B;AACA,MAAA,IAAIA,KAAK,CAACtO,GAAN,KAAc,OAAd,IAAyBsO,KAAK,CAACC,OAAN,KAAkB,EAA/C,EAAmD;AACjD,QAAA,OAAO,KAAP;AACD,MAAA;AACF,IAAA,CALD;;AAOA,IAAA,oBACE,oBAAC,YAAD,EAAA;AACE,MAAA,EAAE,EAAE5Q,OAAO,CAAC4D,EADd;AAEE,MAAA,GAAG,EAAG,CAAA,EAAEgL,IAAI,CAAC/R,IAAK,CAAA,OAAA,EAASmD,OAAO,CAAC4D,EAAG,CAAA,CAFxC;AAGE,MAAA,QAAQ,EAAEoL,iBAAiB,IAAIlJ,QAHjC;AAIE,MAAA,gBAAgB,EAAA,IAJlB;AAKE,MAAA,QAAQ,EAAEyK,iBALZ;AAME,MAAA,MAAM,EAAEJ,UAAU,IAAI,EANxB;AAOE,MAAA,eAAe,EAAEL,aAAa,GAAG3O,KAAH,GAAW,EAP3C;AAQE,MAAA,aAAa,EAAE,CAAC,oBAAD,CARjB;AASE,MAAA,WAAW,EAAE8O,WATf;AAUE,MAAA,uBAAuB,EAAE,CAAC;AAAEY,QAAAA,QAAQ,EAAE;AAAZ,OAAD,CAV3B;AAWE,MAAA,UAAU,EAAEb,UAXd;AAYE,MAAA,KAAK,EAAG,CAAA,KAAA,EAAO7O,KAAM,YAZvB;AAAA;AAaE,MAAA,SAAS,EAAEuP,aAbb;AAcE,MAAA,gBAAgB,EAAA,IAdlB;AAeE,MAAA,WAAW,EAAE;AACX9G,QAAAA,QAAQ,EAAE,MADC;AAEXkH,QAAAA,QAAQ,EAAE,IAFC;AAGXC,QAAAA,QAAQ,EAAE,CAAC,EAACd,WAAD,IAAA,IAAA,IAAA,CAAA,qBAAA,GAACA,WAAW,CAAEe,UAAd,KAAA,IAAA,IAAC,qBAAA,CAAyBlL,QAA1B;AAHA,OAff;AAoBE,MAAA,SAAS,EAAEkB,UAAU,CAAClG,OAAO,CAAC4O,kBAAT,EAA6B;AAChD,QAAA,CAAC5O,OAAO,CAAC+J,OAAT,GAAmBwF,SAD6B;AAEhD,QAAA,CAACvP,OAAO,CAACgK,SAAT,GAAqBwF;AAF2B,OAA7B;AApBvB,KAAA,CADF;AA2BD,EAAA;AACF,CAjED;;AAmEA,0BAAehQ,UAAU,CAACmP,QAAD,CAAV,CAAmB/K,QAAQ,CAAC,OAAD,EAAUmL,WAAV,CAA3B,CAAf;;ACtFA,mBAAenL,QAAQ,CAAC,OAAD,EAAW7D,KAAD,IAAW,CAAC+N,IAAD,EAAO7O,IAAP,EAAaiC,QAAb,KAA0B;AACpE,EAAA,MAAMhC,OAAO,GAAG4O,IAAI,CAAC7O,IAAL,GAAY6O,IAAI,CAAC7O,IAAL,CAAUC,OAAV,IAAqB,EAAjC,GAAsC,EAAtD;;AACA,EAAA,IAAIA,OAAO,CAAC6O,SAAR,KAAsB,OAA1B,EAAmC;AACjC;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA,IAAA,OAAOhO,KAAK,CAAC4E,yBAAN,CAAgCzF,OAAO,CAAC4D,EAAxC,CAAP,CAViC;AAYjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD,EAAA;AACF,CA7BsB,CAAvB;;ACWA,MAAMqN,QAAN,SAAuBxN,KAAK,CAACC,SAA7B,CAAuC;AAcrCwH,EAAAA,WAAW,CAACrK,KAAD,EAAQ;AACjB,IAAA,KAAA,CAAMA,KAAN,CAAA;;AADiB,IAAA,IAAA,CAqDnBqQ,WArDmB,GAqDJP,KAAD,IAAW,IAAA,CAAK5E,QAAL,CAAc;AAAEoF,MAAAA,QAAQ,EAAER,KAAK,CAACS;AAAlB,KAAd,CArDN;;AAAA,IAAA,IAAA,CAuDnBC,WAvDmB,GAuDL,MAAM;AAClB,MAAA,MAAM;AAAE1U,QAAAA;AAAF,OAAA,GAAY,KAAKkE,KAAvB;AACA,MAAA,IAAA,CAAKkL,QAAL,CAAc;AAAEoF,QAAAA,QAAQ,EAAE,IAAZ;AAAkBG,QAAAA,YAAY,EAAE,IAAhC;AAAsCC,QAAAA,mBAAmB,EAAE;AAA3D,OAAd,EAFkB;;AAIlB,MAAA,IAAI,CAAC5U,KAAD,IAAU,KAAK6U,UAAL,CAAgBC,OAA9B,EAAuC;AACrC,QAAA,IAAA,CAAKD,UAAL,CAAgBC,OAAhB,CAAwBjP,SAAxB,GAAoC,EAApC;AACD,MAAA;AACF,IAAA,CA9DkB;;AAAA,IAAA,IAAA,CAgEnBkP,eAhEmB,GAgEAtP,KAAD,IAAW;AAC3B,MAAA,MAAMmP,mBAAmB,GAAI,CAAA,gBAAA,EAAkB,IAAA,CAAK1Q,KAAL,CAAW+C,EAAG,CAAA,CAAA,EAAGxB,KAAM,CAAA,CAAtE,CAD2B;;AAI3B,MAAA,MAAMuP,WAAW,GAAG;AAAEJ,QAAAA;AAAF,OAApB;;AACA,MAAA,IAAI,CAAC,IAAA,CAAK1Q,KAAL,CAAWlE,KAAhB,EAAuB;AACrBgV,QAAAA,WAAW,CAACL,YAAZ,GAA2B,IAAA,CAAKzQ,KAAL,CAAWwI,OAAX,CAAmBjH,KAAnB,CAAA,CAA0BzF,KAArD;AACD,MAAA;;AACD,MAAA,IAAA,CAAKoP,QAAL,CAAc4F,WAAd,CAAA;AACD,IAAA,CAzEkB;;AAAA,IAAA,IAAA,CA2EnBC,YA3EmB,GA2EJ,CAACjV,KAAD,EAAQyF,KAAR,KAAkB;AAC/B,MAAA,IAAA,CAAKvB,KAAL,CAAWmB,QAAX,CAAoB,KAAKnB,KAAL,CAAW+C,EAA/B,EAAmCjH,KAAnC,CAAA;AACA,MAAA,IAAA,CAAK+U,eAAL,CAAqBtP,KAArB,CAAA;AACA,MAAA,IAAA,CAAKiP,WAAL,EAAA;AACD,IAAA,CA/EkB;;AAAA,IAAA,IAAA,CAiFnBQ,WAjFmB,GAiFJzP,KAAD,IAAW;AACvB,MAAA,MAAM0P,aAAa,GAAG,IAAA,CAAKjR,KAAL,CAAWlE,KAAjC;AAEA,MAAA,IAAImV,aAAJ,EAAmB;AAEnB,MAAA,MAAMP,mBAAmB,GAAI,CAAA,gBAAA,EAAkB,IAAA,CAAK1Q,KAAL,CAAW+C,EAAG,CAAA,CAAA,EAAGxB,KAAM,CAAA,CAAtE;AACA,MAAA,MAAMkP,YAAY,GAAG,IAAA,CAAKhG,KAAL,CAAWgG,YAAhC;AAEA,MAAA,IAAA,CAAKvF,QAAL,CAAc;AAAEwF,QAAAA,mBAAF;AAAuBD,QAAAA;AAAvB,OAAd,EAAqD,MAAM;AACzD;AACA,QAAA,MAAMrK,GAAG,GAAG,IAAA,CAAK8K,WAAL,CAAiB3P,KAAjB,CAAZ;AACA,QAAA,MAAM4P,OAAO,GAAG,IAAA,CAAKR,UAAL,CAAgBC,OAAhC;;AAEA,QAAA,IAAIxK,GAAG,IAAI+K,OAAX,EAAoB;AAClBA,UAAAA,OAAO,CAACxP,SAAR,GAAoByE,GAAG,CAACzE,SAAxB;AACD,QAAA;AACF,MAAA,CARD,CAAA;AASD,IAAA,CAlGkB;;AAGjB,IAAA,IAAA,CAAK8I,KAAL,GAAa;AACX6F,MAAAA,QAAQ,EAAE,IADC;AAEXI,MAAAA,mBAAmB,EAAE,IAFV;AAGXU,MAAAA,SAAS,EAAE,IAHA;AAIXX,MAAAA,YAAY,EAAE;AAJH,KAAb;AAMA,IAAA,IAAA,CAAKY,SAAL,gBAAiBzO,KAAK,CAAC0O,SAAN,EAAjB;AACA,IAAA,IAAA,CAAKC,SAAL,gBAAiB3O,KAAK,CAAC0O,SAAN,EAAjB;AACA,IAAA,IAAA,CAAKX,UAAL,gBAAkB/N,KAAK,CAAC0O,SAAN,EAAlB;AACA,IAAA,IAAA,CAAKJ,WAAL,GAAmB,EAAnB;AACD,EAAA;;AAEDvL,EAAAA,iBAAiB,GAAG;AAClB;AACA,IAAA,IAAI,IAAA,CAAK0L,SAAL,CAAeT,OAAf,IAA0B,IAAA,CAAKnG,KAAL,CAAW2G,SAAX,KAAyB,IAAvD,EAA6D;AAC3D,MAAA,IAAA,CAAKlG,QAAL,CAAc;AAAEkG,QAAAA,SAAS,EAAE,IAAA,CAAKC,SAAL,CAAeT,OAAf,CAAuBY;AAApC,OAAd,CAAA;AACD,IAAA;AACF,EAAA;;AAEDzN,EAAAA,kBAAkB,CAACC,SAAD,EAAY8H,SAAZ,EAAuB;AACvC,IAAA,MAAM2F,QAAQ,GAAG,IAAA,CAAKJ,SAAL,CAAeT,OAAhC;AAEA,IAAA,MAAMc,kBAAkB,GAAG,CAAC5F,SAAS,CAACwE,QAAX,IAAuB,IAAA,CAAK7F,KAAL,CAAW6F,QAA7D;;AACA,IAAA,IAAIoB,kBAAJ,EAAwB;AACtB,MAAA,IAAA,CAAKR,WAAL,CAAiB5P,OAAjB,CAA0B8E,GAAD,IAAS;AAChC,QAAA,IAAI,CAACA,GAAL,EAAU;AAEV,QAAA,MAAMuL,aAAa,GAAGvL,GAAG,CAAC7B,aAAJ,CAAkB,0BAAlB,CAAtB;AACA,QAAA,MAAMqN,UAAU,GAAGxL,GAAG,CAAC7B,aAAJ,CAAkB,eAAlB,CAAnB;AACA,QAAA,MAAMsN,WAAW,GAAGzL,GAAG,CAAC7B,aAAJ,CAAkB,4BAAlB,CAApB;;AAEA,QAAA,IAAIoN,aAAa,KAAK,CAACE,WAAD,IAAgB,CAACD,UAAtB,CAAjB,EAAoD;AAClD5L,UAAAA,UAAU,CAACI,GAAD,CAAV;AACD,QAAA;AACF,MAAA,CAVD,CAAA;AAWD,IAAA;;AAED,IAAA,IAAIqL,QAAJ,EAAc;AACZ,MAAA,MAAMK,QAAQ,GAAGL,QAAQ,CAACD,WAA1B;;AACA,MAAA,IAAIM,QAAQ,KAAK,IAAA,CAAKrH,KAAL,CAAW2G,SAA5B,EAAuC;AACrC,QAAA,IAAA,CAAKF,WAAL,CAAiB5P,OAAjB,CAA0B8E,GAAD,IAAS;AAChC,UAAA,IAAIA,GAAJ,EAASJ,UAAU,CAACI,GAAD,CAAV;AACV,QAAA,CAFD,CAAA;AAIAJ,QAAAA,UAAU,CAACyL,QAAD,CAAV;AACA,QAAA,IAAA,CAAKvG,QAAL,CAAc;AAAEkG,UAAAA,SAAS,EAAEU;AAAb,SAAd,CAAA;AACD,MAAA;AACF,IAAA;AACF,EAAA;;AAiDDC,EAAAA,QAAQ,CAACvJ,OAAD,EAAU1M,KAAV,EAAiB;AACvB,IAAA,MAAMkW,KAAK,GAAG,CAACxJ,OAAO,IAAI,EAAZ,EAAgB1H,IAAhB,CAAsBoF,MAAD,IAAYA,MAAM,CAACpK,KAAP,KAAiBA,KAAlD,CAAd;AAEA,IAAA,OAAOkW,KAAK,GAAGA,KAAK,CAAC5I,KAAN,CAAY5M,IAAZ,EAAH,GAAwBf,SAApC;AACD,EAAA;;AAEDuH,EAAAA,MAAM,GAAG;AACP,IAAA,MAAM;AAAE/C,MAAAA,OAAF;AAAW8C,MAAAA,EAAX;AAAeiH,MAAAA,OAAf;AAAwB/E,MAAAA,QAAxB;AAAkCnJ,MAAAA,KAAlC;AAAyC0M,MAAAA,OAAzC;AAAkD2F,MAAAA,iBAAlD;AAAqE8D,MAAAA,WAArE;AAAkFC,MAAAA;AAAlF,KAAA,GAAmG,KAAKlS,KAA9G;AACA,IAAA,MAAM;AAAEsQ,MAAAA;AAAF,KAAA,GAAe,KAAK7F,KAA1B;AACA,IAAA,MAAM0H,IAAI,GAAGC,OAAO,CAAC9B,QAAD,CAApB;AACA,IAAA,MAAM+B,QAAQ,GAAI,CAAA,gBAAA,EAAkBtP,EAAG,CAAA,CAAvC;AACA,IAAA,MAAMuP,MAAM,GAAI,CAAA,cAAA,EAAgBvP,EAAG,CAAA,CAAnC;AACA,IAAA,MAAMwP,cAAc,GAAI,CAAA,eAAA,EAAiBxP,EAAG,CAAA,CAA5C,CANO;;AASP,IAAA,IAAIyP,aAAJ,CATO;;AAWP,IAAA,IAAA,CAAKtB,WAAL,GAAmB,EAAnB;;AAEA,IAAA,IAAIjM,QAAQ,IAAI+E,OAAO,KAAKvO,SAA5B,EAAuC;AACrC+W,MAAAA,aAAa,GAAGxI,OAAO,IAAImE,iBAAX,GAA+BlO,OAAO,CAACwS,eAAvC,GAAyDxS,OAAO,CAACyS,iBAAjF;AACD,IAAA,CAfM;;;AAkBP,IAAA,MAAMC,aAAa,GAAGC,QAAQ,CAAC7P,EAAD,EAAK,EAAL,CAAR,GAAmB,CAAzC;AACA,IAAA,MAAM8P,OAAO,GAAGZ,WAAW,GAAG,aAAH,GAAoB,CAAA,YAAA,EAAcU,aAAc,CAAA,CAA3E;AACA,IAAA,MAAMG,SAAS,GAAGb,WAAW,GAAG,OAAH,GAAc,CAAA,MAAA,EAAQU,aAAc,CAAA,CAAjE,CApBO;;AAuBP,IAAA,IAAII,eAAe,GAAG,IAAtB;;AACA,IAAA,IAAI9N,QAAQ,IAAI+E,OAAO,KAAKvO,SAA5B,EAAuC;AACrCsX,MAAAA,eAAe,GACb/I,OAAO,IAAImE,iBAAX,gBACE,oBAAC,KAAD,EAAA;AAAO,QAAA,SAAS,EAAE/Q,UAAU,CAAC6C,OAAO,CAAC+S,wBAAT,EAAmC/S,OAAO,CAACgT,WAA3C;AAA5B,OAAA,CADF,gBAGE,oBAAC,KAAD,EAAA;AAAO,QAAA,SAAS,EAAE7V,UAAU,CAAC6C,OAAO,CAAC+S,wBAAT,EAAmC/S,OAAO,CAACiT,aAA3C;AAA5B,OAAA,CAJJ;AAMD,IAAA;;AAED,IAAA,oBACE,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,eACE,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,MAAA,GAAG,EAAE,IAAA,CAAK7B,SADZ;AAEE,MAAA,KAAK,EAAE;AAAE3H,QAAAA,QAAQ,EAAE,UAAZ;AAAwByJ,QAAAA,UAAU,EAAE,QAApC;AAA8CC,QAAAA,GAAG,EAAE,CAAnD;AAAsDrJ,QAAAA,IAAI,EAAE;AAA5D,OAFT;AAGE,MAAA,QAAQ,EAAE,EAHZ;AAIE,MAAA,aAAA,EAAY;AAJd,KAAA,EAMG,CAACvB,OAAO,IAAI,EAAZ,EAAgBQ,GAAhB,CAAoB,CAACpH,CAAD,EAAIL,KAAJ,kBACnB,oBAAC,QAAD,EAAA;AACE,MAAA,GAAG,EAAEA,KADP;AAEE,MAAA,OAAO,EAAE;AAAE8R,QAAAA,IAAI,EAAEpT,OAAO,CAACqT,QAAhB;AAA0BC,QAAAA,QAAQ,EAAEtT,OAAO,CAACsT;AAA5C,OAFX;AAGE,MAAA,QAAQ,EAAE,EAHZ;AAIE,MAAA,aAAA,EAAY;AAJd,KAAA,eAME,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAM,MAAA,SAAS,EAAEtT,OAAO,CAACmJ,KAAzB;AAAgC,MAAA,uBAAuB,EAAE;AAAE1H,QAAAA,MAAM,EAAEE,CAAC,CAACwH;AAAZ;AAAzD,KAAA,CANF,CADD,CANH,CADF,eAkBE,oBAAC,UAAD,EAAA;AAAY,MAAA,SAAS,EAAEnJ,OAAO,CAACuT,MAA/B;AAAuC,MAAA,EAAE,EAAEX,OAA3C;AAAoD,MAAA,QAAQ,EAAE,EAA9D;AAAkE,MAAA,aAAA,EAAY;AAA9E,KAAA,EACGC,SADH,CAlBF,eAqBE,KAAA,CAAA,aAAA,CAAC,MAAD,EAAA;AACE,MAAA,GAAG,EAAE,IAAA,CAAKvB,SADZ;AAEE,MAAA,KAAK,EAAA,QAAA,CAAA,EAAA,EACC,IAAA,CAAK9G,KAAL,CAAW2G,SAAX,IAAwB;AAAErI,QAAAA,QAAQ,EAAG,CAAA,KAAA,EAAO,IAAA,CAAK0B,KAAL,CAAW2G,SAAU,CAAA,SAAA;AAAzC,OADzB,EAAA;AAEHqC,QAAAA,WAAW,EAAEtB,IAAI,GAAG,KAAH,GAAW,KAFzB;AAGHuB,QAAAA,UAAU,EAAE;AAHT,OAAA,CAFP;AAOE,MAAA,eAAA,EAAevB,IAAI,GAAGG,MAAH,GAAY7W,SAPjC;AAQE,MAAA,eAAA,EAAc,SARhB;AASE,MAAA,eAAA,EAAe0W,IAAI,GAAG,MAAH,GAAY1W,SATjC;AAUE,MAAA,uBAAA,EAAuB,IAAA,CAAKgP,KAAL,CAAWiG,mBAVpC;AAWE,MAAA,OAAO,EAAE,IAAA,CAAKL,WAXhB;AAYE,MAAA,OAAO,EAAE;AACPgD,QAAAA,IAAI,EAAEpT,OAAO,CAACoT,IADP;AAEPpO,QAAAA,QAAQ,EAAEuN;AAFH,OAZX;AAgBE,MAAA,QAAQ,EAAEvN,QAhBZ;AAiBE,MAAA,EAAE,EAAEoN,QAjBN;AAkBE,MAAA,IAAI,EAAC,UAlBP;AAmBE,MAAA,YAAA,EAAa,CAAA,qBAAA,EAAuBS,SAAU,CAAA,CAnBhD;AAoBE,MAAA,iBAAA,EAAiBP;AApBnB,KAAA,EAsBGQ,eAtBH,eAuBE,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AACE,MAAA,EAAE,EAAER,cADN;AAEE,MAAA,GAAG,EAAE,IAAA,CAAK5B,UAFZ;AAGE,MAAA,SAAS,EAAE1Q,OAAO,CAACmJ,KAHrB;AAIE,MAAA,uBAAuB,EAAE;AACvB1H,QAAAA,MAAM,EAAEwQ,YAAY,GAChBA,YADgB,GAEhBC,IAAI,IAAI,IAAA,CAAK1H,KAAL,CAAWgG,YAAnB,GACA,IAAA,CAAKsB,QAAL,CAAcvJ,OAAd,EAAuB,IAAA,CAAKiC,KAAL,CAAWgG,YAAlC,CADA,GAEA,IAAA,CAAKsB,QAAL,CAAcvJ,OAAd,EAAuB1M,KAAvB,CAAA,IAAiC;AALd;AAJ3B,KAAA,CAvBF,EAmCGqW,IAAI,gBAAG,KAAA,CAAA,aAAA,CAAC,eAAD,EAAA,IAAA,CAAH,gBAAyB,KAAA,CAAA,aAAA,CAAC,iBAAD,EAAA,IAAA,CAnChC,CArBF,eA0DE,oBAAC,IAAD,EAAA;AACE,MAAA,EAAE,EAAEG,MADN;AAEE,MAAA,QAAQ,EAAEhC,QAFZ;AAGE,MAAA,SAAS,EAAErQ,OAAO,CAAC0T,UAHrB;AAIE,MAAA,WAAW,EAAA,IAJb;AAKE,MAAA,IAAI,EAAExB,IALR;AAME,MAAA,OAAO,EAAE,IAAA,CAAK3B,WANhB;AAOE,MAAA,kBAAkB,EAAE,IAPtB;AAQE,MAAA,YAAY,EAAE;AAAEoD,QAAAA,QAAQ,EAAE,QAAZ;AAAsBC,QAAAA,UAAU,EAAE;AAAlC,OARhB;AASE,MAAA,eAAe,EAAE;AAAED,QAAAA,QAAQ,EAAE,KAAZ;AAAmBC,QAAAA,UAAU,EAAE;AAA/B,OATnB;AAUE,MAAA,UAAU,EAAE,IAAA,CAAKpJ,KAAL,CAAW2G,SAAX,GAAuB;AAAE7T,QAAAA,KAAK,EAAE;AAAEwL,UAAAA,QAAQ,EAAE,IAAA,CAAK0B,KAAL,CAAW2G,SAAvB;AAAkC5O,UAAAA,OAAO,EAAE;AAA3C;AAAT,OAAvB,GAAuF/G,SAVrG;AAWE,MAAA,aAAa,EAAE;AACb,QAAA,iBAAA,EAAmB4W,QADN;AAEbyB,QAAAA,IAAI,EAAE,SAFO;AAGbC,QAAAA,cAAc,EAAE;AAHH;AAXjB,KAAA,EAiBG,CAACvL,OAAO,IAAI,EAAZ,EAAgBQ,GAAhB,CAAoB,CAACpH,CAAD,EAAIL,KAAJ,KAAc;AACjC,MAAA,MAAMyS,QAAQ,GAAI,CAAA,gBAAA,EAAkBjR,EAAG,CAAA,CAAA,EAAGxB,KAAM,CAAA,CAAhD;AAEA,MAAA,oBACE,oBAAC,QAAD,EAAA;AACE,QAAA,EAAE,EAAEyS,QADN;AAEE,QAAA,OAAO,EAAE;AAAEX,UAAAA,IAAI,EAAEpT,OAAO,CAACqT,QAAhB;AAA0BC,UAAAA,QAAQ,EAAEtT,OAAO,CAACsT;AAA5C,SAFX;AAGE,QAAA,GAAG,EAAG,CAAA,EAAE3R,CAAC,CAACwH,KAAM,CAAA,CAAA,EAAG7H,KAAM,CAAA,CAH3B;AAIE,QAAA,KAAK,EAAEK,CAAC,CAAC9F,KAJX;AAKE,QAAA,OAAO,EAAE,MAAM,IAAA,CAAKiV,YAAL,CAAkBnP,CAAC,CAAC9F,KAApB,EAA2ByF,KAA3B,CALjB;AAME,QAAA,IAAI,EAAC,QANP;AAOE,QAAA,eAAA,EAAe,IAAA,CAAKkJ,KAAL,CAAWiG,mBAAX,KAAmCsD,QAAnC,GAA8C,MAA9C,GAAuDvY,SAPxE;AAQE,QAAA,WAAW,EAAE,MAAM,IAAA,CAAKuV,WAAL,CAAiBzP,KAAjB;AARrB,OAAA,eAUE,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AACE,QAAA,GAAG,EAAG6E,GAAD,IAAU,KAAK8K,WAAL,CAAiB3P,KAAjB,CAAA,GAA0B6E,GAD3C;AAEE,QAAA,SAAS,EAAEnG,OAAO,CAACmJ,KAFrB;AAGE,QAAA,uBAAuB,EAAE;AAAE1H,UAAAA,MAAM,EAAEE,CAAC,CAACwH;AAAZ;AAH3B,OAAA,CAVF,eAeE,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AACE,QAAA,SAAS,EAAEnJ,OAAO,CAACgU,iBADrB;AAEE,QAAA,uBAAuB,EAAE;AAAEvS,UAAAA,MAAM,EAAEE,CAAC,CAAC9F,KAAF,KAAYA,KAAZ,GAAoB,UAApB,GAAiC;AAA3C;AAF3B,OAAA,CAfF,CADF;AAsBD,IAAA,CAzBA,CAjBH,CA1DF,CADF;AAyGD,EAAA;;AAlQoC;;AAAjCsU,SACGnN,YAAY;AACjBF,EAAAA,EAAE,EAAEG,SAAS,CAACE,MADG;AAEjBtH,EAAAA,KAAK,EAAEoH,SAAS,CAACE,MAFA;AAGjB6B,EAAAA,QAAQ,EAAE/B,SAAS,CAACqD,IAHH;AAIjBpF,EAAAA,QAAQ,EAAE+B,SAAS,CAACC,IAJH;AAKjBlD,EAAAA,OAAO,EAAEiD,SAAS,CAAC7E,MALF;AAMjB2L,EAAAA,OAAO,EAAE9G,SAAS,CAACqD,IANF;AAOjBiC,EAAAA,OAAO,EAAEtF,SAAS,CAACgG,OAAV,CAAkBhG,SAAS,CAACiG,KAAV,CAAgB;AAAErN,IAAAA,KAAK,EAAEoH,SAAS,CAACE,MAAnB;AAA2BgG,IAAAA,KAAK,EAAElG,SAAS,CAACE;AAA5C,GAAhB,CAAlB,CAPQ;AAQjB+K,EAAAA,iBAAiB,EAAEjL,SAAS,CAACqD,IARZ;AASjB0L,EAAAA,WAAW,EAAE/O,SAAS,CAACqD,IATN;AAUjB2L,EAAAA,YAAY,EAAEhP,SAAS,CAACE;AAVP;;AAoQrB,MAAMwL,MAAM,GAAG,OAAO;AACpByE,EAAAA,IAAI,EAAE;AACJrM,IAAAA,KAAK,EAAEA,KAAK,CAACrI,IAAN,EADH;AAEJ8H,IAAAA,MAAM,EAAG,CAAA,UAAA,EAAYO,KAAK,CAACkN,UAAN,EAAmB,CAAA,CAFpC;AAGJtN,IAAAA,YAAY,EAAE,KAHV;AAIJ6H,IAAAA,cAAc,EAAE,eAJZ;AAKJ1H,IAAAA,eAAe,EAAEC,KAAK,CAACyC,UAAN,EALb;AAMJC,IAAAA,QAAQ,EAAE,UANN;AAOJvC,IAAAA,MAAM,EAAE,MAPJ;AAQJ7G,IAAAA,KAAK,EAAE,aARH;AASJuG,IAAAA,MAAM,EAAE,KATJ;AAUJsN,IAAAA,aAAa,EAAE,MAVX;AAWJ,IAAA,QAAA,EAAU;AACRC,MAAAA,YAAY,EAAE;AADN,KAXN;AAcJ,IAAA,OAAA,EAAS;AACP1K,MAAAA,QAAQ,EAAE,UADH;AAEP2K,MAAAA,KAAK,EAAE,CAFA;AAGPjB,MAAAA,GAAG,EAAE,kBAHE;AAIP5L,MAAAA,aAAa,EAAE,MAJR;AAKPR,MAAAA,KAAK,EAAEA,KAAK,CAACrI,IAAN,EALA;AAMP2V,MAAAA,UAAU,EAAE;AANL,KAdL;AAsBJ,IAAA,0BAAA,EAA4B;AAC1BC,MAAAA,OAAO,EAAG,CAAA,UAAA,EAAYvN,KAAK,CAACwN,QAAN,EAAiB,CAAA,CADb;AAE1BC,MAAAA,aAAa,EAAE,KAFW;AAG1BhB,MAAAA,WAAW,EAAE;AAHa;AAtBxB,GADc;AA6BpBhB,EAAAA,eAAe,EAAE;AACfgB,IAAAA,WAAW,EAAE,KADE;AAEfiB,IAAAA,WAAW,EAAE1N,KAAK,CAACgD,OAAN,EAFE;AAGfhD,IAAAA,KAAK,EAAG,CAAA,EAAEA,KAAK,CAACrI,IAAN,EAAa,CAAA,WAAA;AAHR,GA7BG;AAkCpB+T,EAAAA,iBAAiB,EAAE;AACjBe,IAAAA,WAAW,EAAE,KADI;AAEjBiB,IAAAA,WAAW,EAAE1N,KAAK,CAAC2N,iBAAN,EAFI;AAGjB3N,IAAAA,KAAK,EAAG,CAAA,EAAEA,KAAK,CAACrI,IAAN,EAAa,CAAA,WAAA;AAHN,GAlCC;AAuCpBgV,EAAAA,UAAU,EAAE;AACV5M,IAAAA,eAAe,EAAEC,KAAK,CAACyC,UAAN,EADP;AAEVhD,IAAAA,MAAM,EAAG,CAAA,UAAA,EAAYO,KAAK,CAACgD,OAAN,EAAgB,CAAA,WAAA,CAF3B;AAGV,IAAA,SAAA,EAAW;AACTvD,MAAAA,MAAM,EAAG,CAAA,UAAA,EAAYO,KAAK,CAACrI,IAAN,EAAa,CAAA,CAAA,CADzB;AAET+V,MAAAA,WAAW,EAAE;AAFJ,KAHD;AAOV,IAAA,SAAA,EAAW;AACTjO,MAAAA,MAAM,EAAG,CAAA,UAAA,EAAYO,KAAK,CAACrI,IAAN,EAAa,CAAA,CADzB;AAET+V,MAAAA,WAAW,EAAE;AAFJ,KAPD;AAWV;AACA,IAAA,iBAAA,EAAmB;AACjBlS,MAAAA,OAAO,EAAE;AADQ;AAZT,GAvCQ;AAuDpB+Q,EAAAA,QAAQ,EAAE;AACRvM,IAAAA,KAAK,EAAG,CAAA,EAAEA,KAAK,CAACrI,IAAN,EAAa,CAAA,WAAA,CADf;AAERoI,IAAAA,eAAe,EAAG,CAAA,EAAEC,KAAK,CAACyC,UAAN,EAAmB,CAAA,WAAA,CAF/B;AAGR,IAAA,SAAA,EAAW;AACTzC,MAAAA,KAAK,EAAEA,KAAK,CAACrI,IAAN,EADE;AAEToI,MAAAA,eAAe,EAAG,CAAA,EAAEC,KAAK,CAAC4N,kBAAN,EAA2B,CAAA,WAAA;AAFtC;AAHH,GAvDU;AA+DpBtB,EAAAA,QAAQ,EAAE;AACRtM,IAAAA,KAAK,EAAEA,KAAK,CAACrI,IAAN,EADC;AAERoI,IAAAA,eAAe,EAAEC,KAAK,CAACyC,UAAN,EAFT;AAGR,IAAA,0BAAA,EAA4B;AAC1B8K,MAAAA,OAAO,EAAG,CAAA,UAAA,EAAYvN,KAAK,CAACwN,QAAN,EAAiB,CAAA,CADb;AAE1BC,MAAAA,aAAa,EAAE,MAFW;;AAAA,KAHpB;AAOR,IAAA,SAAA,EAAW;AACTzN,MAAAA,KAAK,EAAEA,KAAK,CAACrI,IAAN,EADE;AAEToI,MAAAA,eAAe,EAAEC,KAAK,CAACyC,UAAN;AAFR,KAPH;AAWR,IAAA,SAAA,EAAW;AACTzC,MAAAA,KAAK,EAAEA,KAAK,CAACrI,IAAN,EADE;AAEToI,MAAAA,eAAe,EAAEC,KAAK,CAAC4N,kBAAN;AAFR,KAXH;AAeRC,IAAAA,SAAS,EAAE,YAfH;AAgBRrS,IAAAA,OAAO,EAAE,MAhBD;AAiBRoE,IAAAA,YAAY,EAAE;AAjBN,GA/DU;AAkFpBwC,EAAAA,KAAK,EAAE;AACL/B,IAAAA,QAAQ,EAAE;AADL,GAlFa;AAqFpB4M,EAAAA,iBAAiB,EAAE;AACjB5M,IAAAA,QAAQ,EAAE,iBADO;AAEjBqC,IAAAA,QAAQ,EAAE,UAFO;AAGjB2K,IAAAA,KAAK,EAAE;AAHU,GArFC;AA0FpBb,EAAAA,MAAM,EAAE;AACN9J,IAAAA,QAAQ,EAAE,UADJ;AAENK,IAAAA,IAAI,EAAE,UAFA;AAGNqJ,IAAAA,GAAG,EAAE,MAHC;AAIN9S,IAAAA,KAAK,EAAE,KAJD;AAKN6G,IAAAA,MAAM,EAAE,KALF;AAMNqC,IAAAA,QAAQ,EAAE;AANJ,GA1FY;AAkGpBwJ,EAAAA,wBAAwB,EAAE;AACxBhM,IAAAA,KAAK,EAAG,CAAA,EAAEA,KAAK,CAACC,KAAN,EAAc,CAAA,WAAA,CADA;AAExByC,IAAAA,QAAQ,EAAE,UAFc;AAGxB0J,IAAAA,GAAG,EAAE,iBAHmB;AAIxBrJ,IAAAA,IAAI,EAAE,MAJkB;AAKxBuK,IAAAA,UAAU,EAAE,cALY;AAMxB1N,IAAAA,YAAY,EAAE,KANU;AAOxBS,IAAAA,QAAQ,EAAE,MAPc;AAQxB7E,IAAAA,OAAO,EAAE;AARe,GAlGN;AA4GpByQ,EAAAA,WAAW,EAAE;AACXlM,IAAAA,eAAe,EAAEC,KAAK,CAACgD,OAAN;AADN,GA5GO;AA+GpBkJ,EAAAA,aAAa,EAAE;AACbnM,IAAAA,eAAe,EAAEC,KAAK,CAAC2N,iBAAN;AADJ;AA/GK,CAAP,CAAf;;AAoHA,iBAAelV,UAAU,CAACmP,MAAD,CAAV,CAAmBwB,QAAnB,CAAf;;ACpYA,qBAAevM,QAAQ,CAAC,UAAD,EAAc7D,KAAD,IAAW,CAAC+N,IAAD,EAAO7O,IAAP,EAAaiC,QAAb,KAA0B;AACvE,EAAA,MAAMhC,OAAO,GAAG4O,IAAI,CAAC7O,IAAL,GAAY6O,IAAI,CAAC7O,IAAL,CAAUC,OAAV,IAAqB,EAAjC,GAAsC,EAAtD;;AACA,EAAA,IAAIA,OAAO,CAAC6O,SAAR,KAAsB,UAA1B,EAAsC;AACpC;AACA,IAAA,MAAM;AAAExF,MAAAA,OAAF;AAAWvD,MAAAA,QAAX;AAAqBiJ,MAAAA,QAArB;AAA+BC,MAAAA;AAA/B,KAAA,GAAqDnO,KAA3D;AACA,IAAA,MAAMqP,aAAa,GAAG7G,OAAO,IAAIA,OAAO,CAACrJ,OAAO,CAAC4D,EAAT,CAAlB,IAAkCyF,OAAO,CAACrJ,OAAO,CAAC4D,EAAT,CAAP,CAAoBjC,IAApB,CAA0Bc,CAAD,IAAOA,CAAC,CAACoI,OAAlC,CAAxD;AACA,IAAA,MAAM8K,WAAW,GAAG3G,iBAAiB,GAAGkB,aAAa,IAAIA,aAAa,CAACvT,KAAlC,GAA0CoD,IAAI,CAACC,OAAO,CAAC4D,EAAT,CAAnF;AAEA,IAAA,oBACE,oBAACqN,UAAD,EAAA;AACE,MAAA,GAAG,EAAG,CAAA,EAAErC,IAAI,CAAC/R,IAAK,CAAA,UAAA,EAAYmD,OAAO,CAAC4D,EAAG,CAAA,CAD3C;AAEE,MAAA,OAAO,EAAEmL,QAAQ,IAAIA,QAAQ,CAAC/O,OAAO,CAAC4D,EAAT,CAApB,IAAoCmL,QAAQ,CAAC/O,OAAO,CAAC4D,EAAT,CAAR,KAAyB,SAFxE;AAGE,MAAA,QAAQ,EAAEkC,QAAQ,IAAIkJ,iBAHxB;AAIE,MAAA,KAAK,EAAE2G,WAJT;AAKE,MAAA,YAAY,EAAE3G,iBAAiB,GAAGkB,aAAa,IAAIA,aAAa,CAACjG,KAAlC,GAA0C3N,SAL3E;AAME,MAAA,EAAE,EAAE0D,OAAO,CAAC4D,EANd;AAOE,MAAA,QAAQ,EAAE5B,QAPZ;AAQE,MAAA,OAAO,EAAEqH,OAAO,CAACrJ,OAAO,CAAC4D,EAAT,CARlB;AASE,MAAA,iBAAiB,EAAEoL,iBATrB;AAUE,MAAA,WAAW,EAAE4G,MAAM,CAACC,IAAP,CAAYxM,OAAZ,CAAA,CAAqBhN,MAArB,IAA+B;AAV9C,KAAA,CADF;AAcD,EAAA;AACF,CAvBsB,CAAvB;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/serialization.js","../src/mask.jsx","../src/componentize.js","../src/with-mask.jsx","../src/choices/choice.jsx","../src/choices/index.jsx","../src/components/blank.jsx","../src/drag-in-the-blank.jsx","../src/constructed-response.jsx","../src/customizable.jsx","../../../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../../node_modules/@babel/runtime/helpers/inheritsLoose.js","../../../node_modules/recompose/setStatic.js","../../../node_modules/recompose/setDisplayName.js","../../../node_modules/recompose/getDisplayName.js","../../../node_modules/recompose/wrapDisplayName.js","../../../node_modules/recompose/shouldUpdate.js","../../../node_modules/fbjs/lib/shallowEqual.js","../../../node_modules/recompose/shallowEqual.js","../../../node_modules/recompose/pure.js","../../../node_modules/@material-ui/icons/utils/createSvgIcon.js","../../../node_modules/@material-ui/icons/ArrowDropDown.js","../../../node_modules/@material-ui/icons/ArrowDropUp.js","../../../node_modules/@material-ui/icons/Close.js","../../../node_modules/@material-ui/icons/Check.js","../src/components/dropdown.jsx","../src/inline-dropdown.jsx"],"sourcesContent":["import Html from 'slate-html-serializer';\nimport { object as toStyleObject } from 'to-style';\nimport debug from 'debug';\n\nconst log = debug('@pie-lib:mask-markup:serialization');\n\nconst INLINE = ['span'];\nconst MARK = ['em', 'strong', 'u'];\nconst TEXT_NODE = 3;\nconst COMMENT_NODE = 8;\n\nconst attr = (el) => {\n if (!el.attributes || el.attributes.length <= 0) {\n return undefined;\n }\n\n const out = {};\n let i;\n\n for (i = 0; i < el.attributes.length; i++) {\n const a = el.attributes[i];\n\n out[a.name] = a.value;\n }\n\n return out;\n};\n\nconst getObject = (type) => {\n if (INLINE.includes(type)) {\n return 'inline';\n } else if (MARK.includes(type)) {\n return 'mark';\n }\n return 'block';\n};\n\nexport const parseStyleString = (s) => {\n const regex = /([\\w-]*)\\s*:\\s*([^;]*)/g;\n let match;\n const result = {};\n while ((match = regex.exec(s))) {\n result[match[1]] = match[2].trim();\n }\n return result;\n};\n\nexport const reactAttributes = (o) => toStyleObject(o, { camelize: true, addUnits: false });\n\nconst handleStyles = (el, attribute) => {\n const styleString = el.getAttribute(attribute);\n\n return reactAttributes(parseStyleString(styleString));\n};\n\nconst handleClass = (el, acc, attribute) => {\n const classNames = el.getAttribute(attribute);\n\n delete acc.class;\n\n return classNames;\n};\n\nconst attributesToMap = (el) => (acc, attribute) => {\n if (!el.getAttribute) {\n return acc;\n }\n\n const value = el.getAttribute(attribute);\n\n if (value) {\n switch (attribute) {\n case 'style':\n acc.style = handleStyles(el, attribute);\n break;\n case 'class':\n acc.className = handleClass(el, acc, attribute);\n break;\n default:\n acc[attribute] = el.getAttribute(attribute);\n break;\n }\n }\n\n return acc;\n};\n\nconst attributes = ['border', 'class', 'style'];\n\n/**\n * Tags to marks.\n *\n * @type {Object}\n */\n\nexport const MARK_TAGS = {\n b: 'bold',\n em: 'italic',\n u: 'underline',\n s: 'strikethrough',\n code: 'code',\n strong: 'strong',\n};\n\nconst marks = {\n deserialize(el, next) {\n const mark = MARK_TAGS[el.tagName.toLowerCase()];\n if (!mark) return;\n log('[deserialize] mark: ', mark);\n return {\n object: 'mark',\n type: mark,\n nodes: next(el.childNodes),\n };\n },\n};\n\nconst rules = [\n marks,\n {\n /**\n * deserialize everything, we're not fussy about the dom structure for now.\n */\n deserialize: (el, next) => {\n if (el.nodeType === COMMENT_NODE) {\n return undefined;\n }\n\n if (el.nodeType === TEXT_NODE) {\n return {\n object: 'text',\n leaves: [{ text: el.textContent }],\n };\n }\n\n const type = el.tagName.toLowerCase();\n\n const normalAttrs = attr(el) || {};\n\n if (type == 'audio' && normalAttrs.controls == '') {\n normalAttrs.controls = true;\n }\n\n const allAttrs = attributes.reduce(attributesToMap(el), { ...normalAttrs });\n const object = getObject(type);\n\n if (el.tagName.toLowerCase() === 'math') {\n return {\n isMath: true,\n nodes: [el],\n };\n }\n\n return {\n object,\n type,\n data: { dataset: { ...el.dataset }, attributes: { ...allAttrs } },\n nodes: next(el.childNodes),\n };\n },\n },\n];\n\n/**\n * Create a new serializer instance with our `rules` from above.\n * Having a default div block will just put every div on it's own line, which is not ideal.\n */\nconst html = new Html({ rules, defaultBlock: 'span' });\n\nexport const deserialize = (s) => html.deserialize(s, { toJSON: true });\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport get from 'lodash/get';\nimport { withStyles } from '@material-ui/core/styles';\nimport { MARK_TAGS } from './serialization';\nimport cx from 'classnames';\n\nconst Paragraph = withStyles((theme) => ({\n para: {\n paddingTop: 2 * theme.spacing.unit,\n paddingBottom: 2 * theme.spacing.unit,\n },\n}))((props) => <div className={props.classes.para}>{props.children}</div>);\n\nconst Spacer = withStyles(() => ({\n spacer: {\n display: 'inline-block',\n width: '.75em',\n },\n}))((props) => <span className={props.classes.spacer} />);\n\nconst restrictWhitespaceTypes = ['tbody', 'tr'];\n\nconst addText = (parentNode, text) => {\n const isWhitespace = text.trim() === '';\n const parentType = parentNode && parentNode.type;\n\n if (isWhitespace && restrictWhitespaceTypes.includes(parentType)) {\n return undefined;\n } else {\n return text;\n }\n};\n\nconst getMark = (n) => {\n const mark = n.leaves.find((leave) => get(leave, 'marks', []).length);\n\n if (mark) {\n return mark.marks[0];\n }\n\n return null;\n};\n\nexport const renderChildren = (layout, value, onChange, rootRenderChildren, parentNode, elementType) => {\n if (!value) {\n return null;\n }\n\n const children = [];\n\n (layout.nodes || []).forEach((n, index) => {\n const key = n.type ? `${n.type}-${index}` : `${index}`;\n\n if (n.isMath) {\n children.push(\n <span\n dangerouslySetInnerHTML={{\n __html: `<math displaystyle=\"true\">${n.nodes[0].innerHTML}</math>`,\n }}\n />,\n );\n return children;\n }\n\n if (rootRenderChildren) {\n const c = rootRenderChildren(n, value, onChange);\n if (c) {\n children.push(c);\n if (parentNode?.type !== 'td' && elementType === 'drag-in-the-blank') {\n children.push(<Spacer key={`spacer-${index}`} />);\n }\n return;\n }\n }\n\n if (n.object === 'text') {\n const content = n.leaves.reduce((acc, l) => {\n const t = l.text;\n const extraText = addText(parentNode, t);\n return extraText ? acc + extraText : acc;\n }, '');\n const mark = getMark(n);\n\n if (mark) {\n let markKey;\n\n for (markKey in MARK_TAGS) {\n if (MARK_TAGS[markKey] === mark.type) {\n const Tag = markKey;\n\n children.push(<Tag key={key}>{content}</Tag>);\n break;\n }\n }\n } else if (content.length > 0) {\n children.push(content);\n if (parentNode?.type !== 'td' && elementType === 'drag-in-the-blank') {\n children.push(<Spacer key={`spacer-${index}`} />);\n }\n }\n } else {\n const subNodes = renderChildren(n, value, onChange, rootRenderChildren, n, elementType);\n if (n.type === 'p' || n.type === 'paragraph') {\n children.push(<Paragraph key={key}>{subNodes}</Paragraph>);\n } else {\n const Tag = n.type;\n if (n.nodes && n.nodes.length > 0) {\n children.push(\n <Tag key={key} {...n.data.attributes}>\n {subNodes}\n </Tag>,\n );\n } else {\n children.push(<Tag key={key} {...n.data.attributes} />);\n }\n }\n }\n });\n return children;\n};\n\nconst MaskContainer = withStyles(() => ({\n main: {\n display: 'initial',\n },\n tableStyle: {\n '&:not(.MathJax) table': {\n borderCollapse: 'collapse',\n },\n // align table content to left as per STAR requirement PD-3687\n '&:not(.MathJax) table td, &:not(.MathJax) table th': {\n padding: '8px 12px',\n textAlign: 'left',\n },\n },\n}))((props) => <div className={cx(props.classes.main, props.classes.tableStyle)}>{props.children}</div>);\n\n/**\n * Renders a layout that uses the slate.js Value model structure.\n */\nexport default class Mask extends React.Component {\n static propTypes = {\n renderChildren: PropTypes.func,\n layout: PropTypes.object,\n value: PropTypes.object,\n onChange: PropTypes.func,\n elementType: PropTypes.string,\n };\n\n handleChange = (id, value) => {\n const data = { ...this.props.value, [id]: value };\n this.props.onChange(data);\n };\n\n render() {\n const { value, layout, elementType } = this.props;\n const children = renderChildren(layout, value, this.handleChange, this.props.renderChildren, null, elementType);\n\n return <MaskContainer>{children}</MaskContainer>;\n }\n}\n","const REGEX = /\\{\\{(\\d+)\\}\\}/g;\n\nexport default (s, t) => {\n if (!s) {\n return { markup: '' };\n }\n\n const markup = s.replace(REGEX, (match, g) => {\n return `<span data-component=\"${t}\" data-id=\"${g}\"></span>`;\n });\n\n return { markup };\n};\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport Mask from './mask';\nimport componentize from './componentize';\nimport { deserialize } from './serialization';\n\nexport const buildLayoutFromMarkup = (markup, type) => {\n const { markup: processed } = componentize(markup, type);\n const value = deserialize(processed);\n return value.document;\n};\n\nexport const withMask = (type, renderChildren) => {\n return class WithMask extends React.Component {\n static propTypes = {\n /**\n * At the start we'll probably work with markup\n */\n markup: PropTypes.string,\n /**\n * Once we start authoring, it may make sense for use to us layout, which will be a simple js object that maps to `slate.Value`.\n */\n layout: PropTypes.object,\n value: PropTypes.object,\n onChange: PropTypes.func,\n customMarkMarkupComponent: PropTypes.func,\n elementType: PropTypes.string,\n };\n\n componentDidUpdate(prevProps) {\n if (this.props.markup !== prevProps.markup) {\n // eslint-disable-next-line\n const domNode = ReactDOM.findDOMNode(this);\n // Query all elements that may contain outdated MathJax renderings\n const mathElements = domNode && domNode.querySelectorAll('[data-latex][data-math-handled=\"true\"]');\n\n // Clean up for fresh MathJax processing\n (mathElements || []).forEach((el) => {\n // Remove the MathJax container to allow for clean updates\n const mjxContainer = el.querySelector('mjx-container');\n\n if (mjxContainer) {\n el.removeChild(mjxContainer);\n }\n\n // Update the innerHTML to match the raw LaTeX data, ensuring it is reprocessed correctly\n const latexCode = el.getAttribute('data-raw');\n el.innerHTML = latexCode;\n\n // Remove the attribute to signal that MathJax should reprocess this element\n el.removeAttribute('data-math-handled');\n });\n }\n }\n\n render() {\n const { markup, layout, value, onChange, elementType } = this.props;\n\n const maskLayout = layout ? layout : buildLayoutFromMarkup(markup, type);\n return (\n <Mask\n elementType={elementType}\n layout={maskLayout}\n value={value}\n onChange={onChange}\n renderChildren={renderChildren(this.props)}\n />\n );\n }\n };\n};\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport Chip from '@material-ui/core/Chip';\nimport classnames from 'classnames';\n\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { color } from '@pie-lib/render-ui';\nimport { DragSource } from '@pie-lib/drag';\n\nexport const DRAG_TYPE = 'MaskBlank';\n\nclass BlankContentComp extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n choice: PropTypes.object,\n classes: PropTypes.object,\n connectDragSource: PropTypes.func,\n };\n\n startDrag = () => {\n const { connectDragSource, disabled } = this.props;\n if (!disabled) {\n connectDragSource(this.dragContainerRef);\n }\n };\n\n // start drag after 500ms (touch and hold duration) for chromebooks and other touch devices PD-4888\n handleTouchStart = (e) => {\n e.preventDefault();\n this.longPressTimer = setTimeout(() => {\n this.startDrag(e);\n }, 500);\n };\n\n handleTouchEnd = () => {\n clearTimeout(this.longPressTimer);\n };\n\n handleTouchMove = () => {\n clearTimeout(this.longPressTimer);\n };\n\n componentDidMount() {\n if (this.dragContainerRef) {\n this.dragContainerRef.addEventListener('touchstart', this.handleTouchStart, { passive: false });\n this.dragContainerRef.addEventListener('touchend', this.handleTouchEnd);\n this.dragContainerRef.addEventListener('touchmove', this.handleTouchMove);\n }\n }\n\n componentWillUnmount() {\n if (this.dragContainerRef) {\n this.dragContainerRef.removeEventListener('touchstart', this.handleTouchStart);\n this.dragContainerRef.removeEventListener('touchend', this.handleTouchEnd);\n this.dragContainerRef.removeEventListener('touchmove', this.handleTouchMove);\n }\n }\n\n componentDidUpdate() {\n renderMath(this.rootRef);\n }\n\n render() {\n const { connectDragSource, choice, classes, disabled } = this.props;\n\n // TODO the Chip element is causing drag problems on touch devices. Avoid using Chip and consider refactoring the code. Keep in mind that Chip is a span with a button role, which interferes with seamless touch device dragging.\n\n return connectDragSource(\n <span\n className={classnames(classes.choice, disabled && classes.disabled)}\n ref={(ref) => {\n //eslint-disable-next-line\n this.dragContainerRef = ReactDOM.findDOMNode(ref);\n }}\n >\n <Chip\n clickable={false}\n disabled={true}\n ref={(ref) => {\n //eslint-disable-next-line\n this.rootRef = ReactDOM.findDOMNode(ref);\n }}\n className={classes.chip}\n label={\n <span\n className={classes.chipLabel}\n ref={(ref) => {\n if (ref) {\n ref.innerHTML = choice.value || ' ';\n }\n }}\n >\n {' '}\n </span>\n }\n variant={disabled ? 'outlined' : undefined}\n />\n </span>,\n {},\n );\n }\n}\n\nexport const BlankContent = withStyles((theme) => ({\n choice: {\n border: `solid 0px ${theme.palette.primary.main}`,\n borderRadius: theme.spacing.unit * 2,\n margin: theme.spacing.unit / 2,\n transform: 'translate(0, 0)',\n },\n chip: {\n backgroundColor: color.white(),\n border: `1px solid ${color.text()}`,\n color: color.text(),\n alignItems: 'center',\n display: 'inline-flex',\n height: 'initial',\n minHeight: '32px',\n fontSize: 'inherit',\n whiteSpace: 'pre-wrap',\n maxWidth: '374px',\n // Added for touch devices, for image content.\n // This will prevent the context menu from appearing and not allowing other interactions with the image.\n // If interactions with the image in the token will be requested we should handle only the context Menu.\n pointerEvents: 'none',\n borderRadius: '3px',\n paddingTop: '12px',\n paddingBottom: '12px',\n },\n chipLabel: {\n whiteSpace: 'normal',\n '& img': {\n display: 'block',\n padding: '2px 0',\n },\n '& mjx-frac': {\n fontSize: '120% !important',\n },\n },\n disabled: {\n opacity: 0.6,\n },\n}))(BlankContentComp);\n\nconst tileSource = {\n canDrag(props) {\n return !props.disabled;\n },\n beginDrag(props) {\n return {\n choice: props.choice,\n instanceId: props.instanceId,\n };\n },\n};\n\nconst DragDropTile = DragSource(DRAG_TYPE, tileSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging(),\n}))(BlankContent);\n\nexport default DragDropTile;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport findKey from 'lodash/findKey';\nimport Choice from './choice';\nimport { DragDroppablePlaceholder } from '@pie-lib/drag';\n\nexport default class Choices extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n duplicates: PropTypes.bool,\n choices: PropTypes.arrayOf(PropTypes.shape({ label: PropTypes.string, value: PropTypes.string })),\n value: PropTypes.object,\n choicePosition: PropTypes.string.isRequired,\n };\n\n getStyleForWrapper = () => {\n const { choicePosition } = this.props;\n\n switch (choicePosition) {\n case 'above':\n return {\n margin: '0 0 40px 0',\n };\n\n case 'below':\n return {\n margin: '40px 0 0 0',\n };\n\n case 'right':\n return {\n margin: '0 0 0 40px',\n };\n\n default:\n return {\n margin: '0 40px 0 0',\n };\n }\n };\n\n render() {\n const { disabled, duplicates, choices, value } = this.props;\n const filteredChoices = choices.filter((c) => {\n if (duplicates === true) {\n return true;\n }\n const foundChoice = findKey(value, (v) => v === c.id);\n return foundChoice === undefined;\n });\n const elementStyle = { ...this.getStyleForWrapper(), minWidth: '100px' };\n\n return (\n <div style={elementStyle}>\n <DragDroppablePlaceholder disabled={disabled}>\n {filteredChoices.map((c, index) => (\n <Choice key={`${c.value}-${index}`} disabled={disabled} choice={c} />\n ))}\n </DragDroppablePlaceholder>\n </div>\n );\n }\n}\n","import grey from '@material-ui/core/colors/grey';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport debug from 'debug';\nimport { DragSource, DropTarget } from '@pie-lib/drag';\nimport { withStyles } from '@material-ui/core/styles';\nimport Chip from '@material-ui/core/Chip';\nimport classnames from 'classnames';\nimport { color } from '@pie-lib/render-ui';\n\nconst log = debug('pie-lib:mask-markup:blank');\nexport const DRAG_TYPE = 'MaskBlank';\n\nconst useStyles = withStyles(() => ({\n content: {\n border: `solid 0px ${color.primary()}`,\n minWidth: '200px',\n touchAction: 'none',\n overflow: 'hidden',\n whiteSpace: 'nowrap', // Prevent line wrapping\n },\n chip: {\n backgroundColor: color.background(),\n border: `2px dashed ${color.text()}`,\n color: color.text(),\n fontSize: 'inherit',\n maxWidth: '374px',\n position: 'relative',\n borderRadius: '3px',\n },\n chipLabel: {\n whiteSpace: 'normal',\n // Added for touch devices, for image content.\n // This will prevent the context menu from appearing and not allowing other interactions with the image.\n // If interactions with the image in the token will be requested we should handle only the context Menu.\n pointerEvents: 'none',\n '& img': {\n display: 'block',\n padding: '2px 0',\n },\n // Remove default <p> margins to ensure consistent spacing across all wrapped content (p, span, div, math)\n // Padding for top and bottom will instead be controlled by the container for consistent layout\n // Ensures consistent behavior with pie-api-browser, where marginTop is already removed by a Bootstrap stylesheet\n '& p': {\n marginTop: '0',\n marginBottom: '0',\n },\n '& mjx-frac': {\n fontSize: '120% !important',\n },\n },\n hidden: {\n color: 'transparent',\n opacity: 0,\n },\n dragged: {\n position: 'absolute',\n left: 16,\n maxWidth: '60px',\n },\n correct: {\n border: `solid 1px ${color.correct()}`,\n },\n incorrect: {\n border: `solid 1px ${color.incorrect()}`,\n },\n over: {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n },\n parentOver: {\n border: `1px solid ${grey[500]}`,\n backgroundColor: `${grey[300]}`,\n },\n}));\n\nexport class BlankContent extends React.Component {\n constructor() {\n super();\n this.state = {\n height: 0,\n width: 0,\n };\n }\n\n handleImageLoad = () => {\n this.updateDimensions();\n };\n\n handleElements() {\n const imageElement = this.spanRef?.querySelector('img');\n\n if (imageElement) {\n imageElement.onload = this.handleImageLoad;\n } else {\n setTimeout(() => {\n this.updateDimensions();\n }, 300);\n }\n }\n\n componentDidMount() {\n this.handleElements();\n if (this.rootRef) {\n this.rootRef.addEventListener('touchstart', this.handleTouchStart, { passive: false });\n }\n }\n\n componentDidUpdate(prevProps) {\n renderMath(this.rootRef);\n const { choice: currentChoice } = this.props;\n const { choice: prevChoice } = prevProps;\n\n if (JSON.stringify(currentChoice) !== JSON.stringify(prevChoice)) {\n if (!currentChoice) {\n this.setState({\n height: 0,\n width: 0,\n });\n return;\n }\n this.handleElements();\n }\n }\n\n componentWillUnmount() {\n if (this.rootRef) {\n this.rootRef.removeEventListener('touchstart', this.handleTouchStart);\n }\n }\n\n handleTouchStart = (e) => {\n e.preventDefault();\n this.touchStartTimer = setTimeout(() => {\n this.startDrag();\n }, 300); // Start drag after 300ms (touch and hold duration)\n };\n\n startDrag = () => {\n const { connectDragSource, disabled } = this.props;\n if (!disabled) {\n connectDragSource(this.rootRef);\n }\n };\n\n updateDimensions() {\n if (this.spanRef && this.rootRef) {\n // Temporarily set rootRef width to 'auto' for natural measurement\n this.rootRef.style.width = 'auto';\n\n // Get the natural dimensions of the content\n const width = this.spanRef.offsetWidth || 0;\n const height = this.spanRef.offsetHeight || 0;\n\n const widthWithPadding = width + 24; // 12px padding on each side\n const heightWithPadding = height + 24; // 12px padding on top and bottom\n\n const responseAreaWidth = parseFloat(this.props.emptyResponseAreaWidth) || 0;\n const responseAreaHeight = parseFloat(this.props.emptyResponseAreaHeight) || 0;\n\n const adjustedWidth = widthWithPadding <= responseAreaWidth ? responseAreaWidth : widthWithPadding;\n const adjustedHeight = heightWithPadding <= responseAreaHeight ? responseAreaHeight : heightWithPadding;\n\n this.setState((prevState) => ({\n width: adjustedWidth > responseAreaWidth ? adjustedWidth : prevState.width,\n height: adjustedHeight > responseAreaHeight ? adjustedHeight : prevState.height,\n }));\n\n this.rootRef.style.width = `${adjustedWidth}px`;\n this.rootRef.style.height = `${adjustedHeight}px`;\n }\n }\n\n addDraggableFalseAttributes(parent) {\n parent.childNodes.forEach((elem) => {\n if (elem instanceof Element || elem instanceof HTMLDocument) {\n elem.setAttribute('draggable', false);\n }\n });\n }\n\n getRootDimensions() {\n // Handle potential non-numeric values\n const responseAreaWidth = !isNaN(parseFloat(this.props.emptyResponseAreaWidth))\n ? parseFloat(this.props.emptyResponseAreaWidth)\n : 0;\n const responseAreaHeight = !isNaN(parseFloat(this.props.emptyResponseAreaHeight))\n ? parseFloat(this.props.emptyResponseAreaHeight)\n : 0;\n\n const rootStyle = {\n height: this.state.height || responseAreaHeight,\n width: this.state.width || responseAreaWidth,\n };\n\n // add minWidth, minHeight if width and height are not defined\n // minWidth, minHeight will be also in model in the future\n return {\n ...rootStyle,\n ...(responseAreaWidth ? {} : { minWidth: 90 }),\n ...(responseAreaHeight ? {} : { minHeight: 32 }),\n };\n }\n\n render() {\n const { disabled, choice, classes, isOver, dragItem, correct } = this.props;\n const draggedLabel = dragItem && isOver && dragItem.choice.value;\n const label = choice && choice.value;\n\n return (\n // TODO the Chip element is causing drag problems on touch devices. Avoid using Chip and consider refactoring the code. Keep in mind that Chip is a span with a button role, which interferes with seamless touch device dragging.\n <Chip\n clickable={false}\n disabled={true}\n ref={(ref) => {\n //eslint-disable-next-line\n this.rootRef = ReactDOM.findDOMNode(ref);\n }}\n component=\"span\"\n label={\n <React.Fragment>\n <span\n className={classnames(classes.chipLabel, isOver && classes.over, {\n [classes.hidden]: draggedLabel,\n })}\n ref={(ref) => {\n if (ref) {\n //eslint-disable-next-line\n this.spanRef = ReactDOM.findDOMNode(ref);\n ref.innerHTML = label || '';\n this.addDraggableFalseAttributes(ref);\n }\n }}\n >\n {' '}\n </span>\n {draggedLabel && (\n <span\n className={classnames(classes.chipLabel, isOver && classes.over, classes.dragged)}\n ref={(ref) => {\n if (ref) {\n //eslint-disable-next-line\n this.spanRef = ReactDOM.findDOMNode(ref);\n ref.innerHTML = draggedLabel || '';\n this.addDraggableFalseAttributes(ref);\n }\n }}\n >\n {' '}\n </span>\n )}\n </React.Fragment>\n }\n className={classnames(classes.chip, isOver && classes.over, isOver && classes.parentOver, {\n [classes.correct]: correct !== undefined && correct,\n [classes.incorrect]: correct !== undefined && !correct,\n })}\n variant={disabled ? 'outlined' : undefined}\n style={{\n ...this.getRootDimensions(),\n }}\n />\n );\n }\n}\n\nBlankContent.defaultProps = {\n emptyResponseAreaWidth: 0,\n emptyResponseAreaHeight: 0,\n};\n\nBlankContent.propTypes = {\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n disabled: PropTypes.bool,\n duplicates: PropTypes.bool,\n choice: PropTypes.object,\n classes: PropTypes.object,\n isOver: PropTypes.bool,\n dragItem: PropTypes.object,\n correct: PropTypes.bool,\n onChange: PropTypes.func,\n emptyResponseAreaWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n emptyResponseAreaHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n};\n\nconst StyledBlankContent = useStyles(BlankContent);\n\nconst connectedBlankContent = useStyles(({ connectDragSource, connectDropTarget, ...props }) => {\n const { classes, isOver } = props;\n\n return connectDropTarget(\n connectDragSource(\n <span className={classnames(classes.content, isOver && classes.over)}>\n <StyledBlankContent {...props} />\n </span>,\n ),\n );\n});\n\nconst tileTarget = {\n drop(props, monitor) {\n const draggedItem = monitor.getItem();\n\n log('props.instanceId', props.instanceId, 'draggedItem.instanceId:', draggedItem.instanceId);\n\n if (draggedItem.id !== props.id) {\n props.onChange(props.id, draggedItem.choice.id);\n }\n\n return {\n dropped: draggedItem.id !== props.id,\n };\n },\n canDrop(props, monitor) {\n const draggedItem = monitor.getItem();\n\n return draggedItem.instanceId === props.instanceId;\n },\n};\n\nconst DropTile = DropTarget(DRAG_TYPE, tileTarget, (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver(),\n dragItem: monitor.getItem(),\n}))(connectedBlankContent);\n\nconst tileSource = {\n canDrag(props) {\n return !props.disabled && !!props.choice;\n },\n beginDrag(props) {\n return {\n id: props.id,\n choice: props.choice,\n instanceId: props.instanceId,\n fromChoice: true,\n };\n },\n endDrag(props, monitor) {\n // this will be null if it did not drop\n const dropResult = monitor.getDropResult();\n\n if (!dropResult || dropResult.dropped) {\n const draggedItem = monitor.getItem();\n\n if (draggedItem.fromChoice) {\n props.onChange(props.id, undefined);\n }\n }\n },\n};\n\nconst DragDropTile = DragSource(DRAG_TYPE, tileSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging(),\n}))(DropTile);\n\nexport default DragDropTile;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport Choices from './choices';\nimport Blank from './components/blank';\nimport { withMask } from './with-mask';\n\n// eslint-disable-next-line react/display-name\nconst Masked = withMask('blank', (props) => (node, data, onChange) => {\n const dataset = node.data ? node.data.dataset || {} : {};\n if (dataset.component === 'blank') {\n // eslint-disable-next-line react/prop-types\n const {\n disabled,\n duplicates,\n correctResponse,\n feedback,\n showCorrectAnswer,\n emptyResponseAreaWidth,\n emptyResponseAreaHeight,\n } = props;\n const choiceId = showCorrectAnswer ? correctResponse[dataset.id] : data[dataset.id];\n // eslint-disable-next-line react/prop-types\n const choice = choiceId && props.choices.find((c) => c.id === choiceId);\n\n return (\n <Blank\n key={`${node.type}-${dataset.id}`}\n correct={showCorrectAnswer || (feedback && feedback[dataset.id])}\n disabled={disabled}\n duplicates={duplicates}\n choice={choice}\n id={dataset.id}\n emptyResponseAreaWidth={emptyResponseAreaWidth}\n emptyResponseAreaHeight={emptyResponseAreaHeight}\n onChange={onChange}\n />\n );\n }\n});\n\nexport default class DragInTheBlank extends React.Component {\n static propTypes = {\n markup: PropTypes.string,\n layout: PropTypes.object,\n choicesPosition: PropTypes.string,\n choices: PropTypes.arrayOf(PropTypes.shape({ label: PropTypes.string, value: PropTypes.string })),\n value: PropTypes.object,\n onChange: PropTypes.func,\n duplicates: PropTypes.bool,\n disabled: PropTypes.bool,\n feedback: PropTypes.object,\n correctResponse: PropTypes.object,\n showCorrectAnswer: PropTypes.bool,\n emptyResponseAreaWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n emptyResponseAreaHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n };\n\n UNSAFE_componentWillReceiveProps() {\n if (this.rootRef) {\n renderMath(this.rootRef);\n }\n }\n\n componentDidUpdate() {\n renderMath(this.rootRef);\n }\n\n getPositionDirection = (choicePosition) => {\n let flexDirection;\n let justifyContent;\n let alignItems;\n\n switch (choicePosition) {\n case 'left':\n flexDirection = 'row';\n alignItems = 'center';\n break;\n case 'right':\n flexDirection = 'row-reverse';\n justifyContent = 'flex-end';\n alignItems = 'center';\n break;\n case 'below':\n flexDirection = 'column-reverse';\n break;\n default:\n // above\n flexDirection = 'column';\n break;\n }\n\n return { flexDirection, justifyContent, alignItems };\n };\n\n render() {\n const {\n markup,\n duplicates,\n layout,\n value,\n onChange,\n choicesPosition,\n choices,\n correctResponse,\n disabled,\n feedback,\n showCorrectAnswer,\n emptyResponseAreaWidth,\n emptyResponseAreaHeight,\n } = this.props;\n\n const choicePosition = choicesPosition || 'below';\n const style = {\n display: 'flex',\n minWidth: '100px',\n ...this.getPositionDirection(choicePosition),\n };\n\n return (\n <div ref={(ref) => ref && (this.rootRef = ref)} style={style}>\n <Choices\n choicePosition={choicePosition}\n duplicates={duplicates}\n choices={choices}\n value={value}\n disabled={disabled}\n />\n <Masked\n elementType={'drag-in-the-blank'}\n markup={markup}\n layout={layout}\n value={value}\n choices={choices}\n onChange={onChange}\n disabled={disabled}\n duplicates={duplicates}\n feedback={feedback}\n correctResponse={correctResponse}\n showCorrectAnswer={showCorrectAnswer}\n emptyResponseAreaWidth={emptyResponseAreaWidth}\n emptyResponseAreaHeight={emptyResponseAreaHeight}\n />\n </div>\n );\n }\n}\n","import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport classnames from 'classnames';\n\nimport { color } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { withMask } from './with-mask';\n\nconst styles = () => ({\n editableHtmlCustom: {\n display: 'inline-block',\n verticalAlign: 'middle',\n margin: '4px',\n borderRadius: '4px',\n border: `1px solid ${color.black()}`,\n },\n correct: {\n border: `1px solid ${color.correct()}`,\n },\n incorrect: {\n border: `1px solid ${color.incorrect()}`,\n },\n});\n\nconst MaskedInput = (props) => (node, data) => {\n const {\n adjustedLimit,\n disabled,\n feedback,\n showCorrectAnswer,\n maxLength,\n spellCheck,\n classes,\n pluginProps,\n onChange,\n } = props;\n const dataset = node.data?.dataset || {};\n\n if (dataset.component === 'input') {\n const correctAnswer = ((props.choices && dataset && props.choices[dataset.id]) || [])[0];\n const finalValue = showCorrectAnswer ? correctAnswer && correctAnswer.label : data[dataset.id] || '';\n const width = maxLength && maxLength[dataset.id];\n const feedbackStatus = feedback && feedback[dataset.id];\n const isCorrect = showCorrectAnswer || feedbackStatus === 'correct';\n const isIncorrect = !showCorrectAnswer && feedbackStatus === 'incorrect';\n\n const handleInputChange = (newValue) => {\n const updatedValue = {\n ...data,\n [dataset.id]: newValue,\n };\n onChange(updatedValue);\n };\n\n const handleKeyDown = (event) => {\n // the keyCode value for the Enter/Return key is 13\n if (event.key === 'Enter' || event.keyCode === 13) {\n return false;\n }\n };\n\n return (\n <EditableHtml\n id={dataset.id}\n key={`${node.type}-input-${dataset.id}`}\n disabled={showCorrectAnswer || disabled}\n disableUnderline\n onChange={handleInputChange}\n markup={finalValue || ''}\n charactersLimit={adjustedLimit ? width : 25}\n activePlugins={['languageCharacters']}\n pluginProps={pluginProps}\n languageCharactersProps={[{ language: 'spanish' }]}\n spellCheck={spellCheck}\n width={`calc(${width}em + 42px)`} // added 42px for left and right padding of editable-html\n onKeyDown={handleKeyDown}\n autoWidthToolbar\n toolbarOpts={{\n minWidth: 'auto',\n noBorder: true,\n isHidden: !!pluginProps?.characters?.disabled,\n }}\n className={classnames(classes.editableHtmlCustom, {\n [classes.correct]: isCorrect,\n [classes.incorrect]: isIncorrect,\n })}\n />\n );\n }\n};\n\nexport default withStyles(styles)(withMask('input', MaskedInput));\n","import React from 'react';\n// import Input from './components/input';\nimport { withMask } from './with-mask';\n\n// eslint-disable-next-line react/display-name\nexport default withMask('input', (props) => (node, data, onChange) => {\n const dataset = node.data ? node.data.dataset || {} : {};\n if (dataset.component === 'input') {\n // eslint-disable-next-line react/prop-types\n // const { adjustedLimit, disabled, feedback, showCorrectAnswer, maxLength, spellCheck } = props;\n\n // the first answer is the correct one\n // eslint-disable-next-line react/prop-types\n // const correctAnswer = ((props.choices && dataset && props.choices[dataset.id]) || [])[0];\n // const finalValue = showCorrectAnswer ? correctAnswer && correctAnswer.label : data[dataset.id] || '';\n // const width = maxLength && maxLength[dataset.id];\n\n return props.customMarkMarkupComponent(dataset.id);\n // return (\n // <Input\n // key={`${node.type}-input-${dataset.id}`}\n // correct={feedback && feedback[dataset.id] && feedback[dataset.id] === 'correct'}\n // disabled={showCorrectAnswer || disabled}\n // value={finalValue}\n // id={dataset.id}\n // onChange={onChange}\n // showCorrectAnswer={showCorrectAnswer}\n // width={width}\n // charactersLimit={adjustedLimit ? width : 25}\n // isConstructedResponse={true}\n // spellCheck={spellCheck}\n // />\n // );\n }\n});\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inheritsLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar setStatic = function setStatic(key, value) {\n return function (BaseComponent) {\n /* eslint-disable no-param-reassign */\n BaseComponent[key] = value;\n /* eslint-enable no-param-reassign */\n\n return BaseComponent;\n };\n};\n\nvar _default = setStatic;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _setStatic = _interopRequireDefault(require(\"./setStatic\"));\n\nvar setDisplayName = function setDisplayName(displayName) {\n return (0, _setStatic.default)('displayName', displayName);\n};\n\nvar _default = setDisplayName;\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar getDisplayName = function getDisplayName(Component) {\n if (typeof Component === 'string') {\n return Component;\n }\n\n if (!Component) {\n return undefined;\n }\n\n return Component.displayName || Component.name || 'Component';\n};\n\nvar _default = getDisplayName;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _getDisplayName = _interopRequireDefault(require(\"./getDisplayName\"));\n\nvar wrapDisplayName = function wrapDisplayName(BaseComponent, hocName) {\n return hocName + \"(\" + (0, _getDisplayName.default)(BaseComponent) + \")\";\n};\n\nvar _default = wrapDisplayName;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _react = require(\"react\");\n\nvar _setDisplayName = _interopRequireDefault(require(\"./setDisplayName\"));\n\nvar _wrapDisplayName = _interopRequireDefault(require(\"./wrapDisplayName\"));\n\nvar shouldUpdate = function shouldUpdate(test) {\n return function (BaseComponent) {\n var factory = (0, _react.createFactory)(BaseComponent);\n\n var ShouldUpdate =\n /*#__PURE__*/\n function (_Component) {\n (0, _inheritsLoose2.default)(ShouldUpdate, _Component);\n\n function ShouldUpdate() {\n return _Component.apply(this, arguments) || this;\n }\n\n var _proto = ShouldUpdate.prototype;\n\n _proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return test(this.props, nextProps);\n };\n\n _proto.render = function render() {\n return factory(this.props);\n };\n\n return ShouldUpdate;\n }(_react.Component);\n\n if (process.env.NODE_ENV !== 'production') {\n return (0, _setDisplayName.default)((0, _wrapDisplayName.default)(BaseComponent, 'shouldUpdate'))(ShouldUpdate);\n }\n\n return ShouldUpdate;\n };\n};\n\nvar _default = shouldUpdate;\nexports.default = _default;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n * \n */\n\n/*eslint-disable no-self-compare */\n\n'use strict';\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n // Added the nonzero y check to make Flow happy, but it is redundant\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n}\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqual;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _shallowEqual = _interopRequireDefault(require(\"fbjs/lib/shallowEqual\"));\n\nvar _default = _shallowEqual.default;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _shouldUpdate = _interopRequireDefault(require(\"./shouldUpdate\"));\n\nvar _shallowEqual = _interopRequireDefault(require(\"./shallowEqual\"));\n\nvar _setDisplayName = _interopRequireDefault(require(\"./setDisplayName\"));\n\nvar _wrapDisplayName = _interopRequireDefault(require(\"./wrapDisplayName\"));\n\nvar pure = function pure(BaseComponent) {\n var hoc = (0, _shouldUpdate.default)(function (props, nextProps) {\n return !(0, _shallowEqual.default)(props, nextProps);\n });\n\n if (process.env.NODE_ENV !== 'production') {\n return (0, _setDisplayName.default)((0, _wrapDisplayName.default)(BaseComponent, 'pure'))(hoc(BaseComponent));\n }\n\n return hoc(BaseComponent);\n};\n\nvar _default = pure;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _pure = _interopRequireDefault(require(\"recompose/pure\"));\n\nvar _SvgIcon = _interopRequireDefault(require(\"@material-ui/core/SvgIcon\"));\n\nfunction createSvgIcon(path, displayName) {\n var Icon = function Icon(props) {\n return _react.default.createElement(_SvgIcon.default, props, path);\n };\n\n Icon.displayName = \"\".concat(displayName, \"Icon\");\n Icon = (0, _pure.default)(Icon);\n Icon.muiName = 'SvgIcon';\n return Icon;\n}\n\n;\nvar _default = createSvgIcon;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)(_react.default.createElement(_react.default.Fragment, null, _react.default.createElement(\"path\", {\n d: \"M7 10l5 5 5-5z\"\n}), _react.default.createElement(\"path\", {\n fill: \"none\",\n d: \"M0 0h24v24H0z\"\n})), 'ArrowDropDown');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)(_react.default.createElement(_react.default.Fragment, null, _react.default.createElement(\"path\", {\n d: \"M7 14l5-5 5 5z\"\n}), _react.default.createElement(\"path\", {\n fill: \"none\",\n d: \"M0 0h24v24H0z\"\n})), 'ArrowDropUp');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)(_react.default.createElement(_react.default.Fragment, null, _react.default.createElement(\"path\", {\n d: \"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), _react.default.createElement(\"path\", {\n fill: \"none\",\n d: \"M0 0h24v24H0z\"\n})), 'Close');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)(_react.default.createElement(_react.default.Fragment, null, _react.default.createElement(\"path\", {\n fill: \"none\",\n d: \"M0 0h24v24H0z\"\n}), _react.default.createElement(\"path\", {\n d: \"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\n})), 'Check');\n\nexports.default = _default;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@material-ui/core/Button';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';\nimport ArrowDropUpIcon from '@material-ui/icons/ArrowDropUp';\nimport Close from '@material-ui/icons/Close';\nimport Check from '@material-ui/icons/Check';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nimport { color } from '@pie-lib/render-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nclass Dropdown extends React.Component {\n static propTypes = {\n id: PropTypes.string,\n value: PropTypes.string,\n disabled: PropTypes.bool,\n onChange: PropTypes.func,\n classes: PropTypes.object,\n correct: PropTypes.bool,\n choices: PropTypes.arrayOf(PropTypes.shape({ value: PropTypes.string, label: PropTypes.string })),\n showCorrectAnswer: PropTypes.bool,\n singleQuery: PropTypes.bool,\n correctValue: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n anchorEl: null,\n highlightedOptionId: null,\n menuWidth: null,\n previewValue: null,\n };\n this.hiddenRef = React.createRef();\n this.buttonRef = React.createRef();\n this.previewRef = React.createRef();\n this.elementRefs = [];\n }\n\n componentDidMount() {\n // measure hidden menu width once\n if (this.hiddenRef.current && this.state.menuWidth === null) {\n this.setState({ menuWidth: this.hiddenRef.current.clientWidth });\n }\n }\n\n componentDidUpdate(prevProps, prevState) {\n const hiddenEl = this.hiddenRef.current;\n\n const dropdownJustOpened = !prevState.anchorEl && this.state.anchorEl;\n if (dropdownJustOpened) {\n this.elementRefs.forEach((ref) => {\n if (!ref) return;\n\n const containsLatex = ref.querySelector('[data-latex], [data-raw]');\n const hasMathJax = ref.querySelector('mjx-container');\n const mathHandled = ref.querySelector('[data-math-handled=\"true\"]');\n\n if (containsLatex && (!mathHandled || !hasMathJax)) {\n renderMath(ref);\n }\n });\n }\n\n if (hiddenEl) {\n const newWidth = hiddenEl.clientWidth;\n if (newWidth !== this.state.menuWidth) {\n this.elementRefs.forEach((ref) => {\n if (ref) renderMath(ref);\n });\n\n renderMath(hiddenEl);\n this.setState({ menuWidth: newWidth });\n }\n }\n }\n\n handleClick = (event) => this.setState({ anchorEl: event.currentTarget });\n\n handleClose = () => {\n const { value } = this.props;\n this.setState({ anchorEl: null, previewValue: null, highlightedOptionId: null });\n // clear displayed preview if no selection\n if (!value && this.previewRef.current) {\n this.previewRef.current.innerHTML = '';\n }\n };\n\n handleHighlight = (index) => {\n const highlightedOptionId = `dropdown-option-${this.props.id}-${index}`;\n\n // preview on hover if nothing selected\n const stateUpdate = { highlightedOptionId };\n if (!this.props.value) {\n stateUpdate.previewValue = this.props.choices[index].value;\n }\n this.setState(stateUpdate);\n };\n\n handleSelect = (value, index) => {\n this.props.onChange(this.props.id, value);\n this.handleHighlight(index);\n this.handleClose();\n };\n\n handleHover = (index) => {\n const selectedValue = this.props.value;\n\n if (selectedValue) return;\n\n const highlightedOptionId = `dropdown-option-${this.props.id}-${index}`;\n const previewValue = this.state.previewValue;\n\n this.setState({ highlightedOptionId, previewValue }, () => {\n // On hover, preview the math-rendered content inside the button if no value is selected.\n const ref = this.elementRefs[index];\n const preview = this.previewRef.current;\n\n if (ref && preview) {\n preview.innerHTML = ref.innerHTML;\n }\n });\n };\n\n getLabel(choices, value) {\n const found = (choices || []).find((choice) => choice.value === value);\n\n return found ? found.label.trim() : undefined;\n }\n\n render() {\n const { classes, id, correct, disabled, value, choices, showCorrectAnswer, singleQuery, correctValue } = this.props;\n const { anchorEl } = this.state;\n const open = Boolean(anchorEl);\n const buttonId = `dropdown-button-${id}`;\n const menuId = `dropdown-menu-${id}`;\n const valueDisplayId = `dropdown-value-${id}`;\n\n // Determine the class for disabled state, view mode and evaluate mode\n let disabledClass;\n // Reset elementRefs before each render to avoid stale references\n this.elementRefs = [];\n\n if (disabled && correct !== undefined) {\n disabledClass = correct || showCorrectAnswer ? classes.disabledCorrect : classes.disabledIncorrect;\n }\n\n // Create distinct, visually hidden labels for each dropdown\n const incrementedId = parseInt(id, 10) + 1;\n const labelId = singleQuery ? 'Query-label' : `Query-label-${incrementedId}`;\n const labelText = singleQuery ? 'Query' : `Query ${incrementedId}`;\n\n // Changed from Select to Button for dropdown to enhance accessibility. This modification offers explicit control over aria attributes and focuses management, ensuring the dropdown is compliant with accessibility standards. The use of Button and Menu components allows for better handling of keyboard interactions and provides accessible labels and menus, aligning with WCAG guidelines and improving usability for assistive technology users.\n let correctnessIcon = null;\n if (disabled && correct !== undefined) {\n correctnessIcon =\n correct || showCorrectAnswer ? (\n <Check className={classNames(classes.correctnessIndicatorIcon, classes.correctIcon)} />\n ) : (\n <Close className={classNames(classes.correctnessIndicatorIcon, classes.incorrectIcon)} />\n );\n }\n\n return (\n <>\n <div\n ref={this.hiddenRef}\n style={{ position: 'absolute', visibility: 'hidden', top: 0, left: 0 }}\n tabIndex={-1}\n aria-hidden=\"true\"\n >\n {(choices || []).map((c, index) => (\n <MenuItem\n key={index}\n classes={{ root: classes.menuRoot, selected: classes.selected }}\n tabIndex={-1}\n aria-hidden=\"true\"\n >\n <span className={classes.label} dangerouslySetInnerHTML={{ __html: c.label }} />\n </MenuItem>\n ))}\n </div>\n <InputLabel className={classes.srOnly} id={labelId} tabIndex={-1} aria-hidden=\"true\">\n {labelText}\n </InputLabel>\n <Button\n ref={this.buttonRef}\n style={{\n ...(this.state.menuWidth && { minWidth: `calc(${this.state.menuWidth}px + 8px)` }),\n borderWidth: open ? '2px' : '1px',\n transition: 'border-width 0.2s ease-in-out',\n }}\n aria-controls={open ? menuId : undefined}\n aria-haspopup=\"listbox\"\n aria-expanded={open ? 'true' : undefined}\n aria-activedescendant={this.state.highlightedOptionId}\n onClick={this.handleClick}\n classes={{\n root: classes.root,\n disabled: disabledClass,\n }}\n disabled={disabled}\n id={buttonId}\n role=\"combobox\"\n aria-label={`Select an option for ${labelText}`}\n aria-labelledby={valueDisplayId}\n >\n {correctnessIcon}\n <span\n id={valueDisplayId}\n ref={this.previewRef}\n className={classes.label}\n dangerouslySetInnerHTML={{\n __html: correctValue\n ? correctValue\n : open && this.state.previewValue\n ? this.getLabel(choices, this.state.previewValue)\n : this.getLabel(choices, value) || '',\n }}\n />\n {open ? <ArrowDropUpIcon /> : <ArrowDropDownIcon />}\n </Button>\n <Menu\n id={menuId}\n anchorEl={anchorEl}\n className={classes.selectMenu}\n keepMounted\n open={open}\n onClose={this.handleClose}\n getContentAnchorEl={null}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'left' }}\n transformOrigin={{ vertical: 'top', horizontal: 'left' }}\n PaperProps={this.state.menuWidth ? { style: { minWidth: this.state.menuWidth, padding: '4px' } } : undefined}\n MenuListProps={{\n 'aria-labelledby': buttonId,\n role: 'listbox',\n disablePadding: true,\n }}\n >\n {(choices || []).map((c, index) => {\n const optionId = `dropdown-option-${id}-${index}`;\n\n return (\n <MenuItem\n id={optionId}\n classes={{ root: classes.menuRoot, selected: classes.selected }}\n key={`${c.label}-${index}`}\n value={c.value}\n onClick={() => this.handleSelect(c.value, index)}\n role=\"option\"\n aria-selected={this.state.highlightedOptionId === optionId ? 'true' : undefined}\n onMouseOver={() => this.handleHover(index)}\n >\n <span\n ref={(ref) => (this.elementRefs[index] = ref)}\n className={classes.label}\n dangerouslySetInnerHTML={{ __html: c.label }}\n />\n <span\n className={classes.selectedIndicator}\n dangerouslySetInnerHTML={{ __html: c.value === value ? ' &check;' : '' }}\n />\n </MenuItem>\n );\n })}\n </Menu>\n </>\n );\n }\n}\n\nconst styles = () => ({\n root: {\n color: color.text(),\n border: `1px solid ${color.borderGray()}`,\n borderRadius: '4px',\n justifyContent: 'space-between',\n backgroundColor: color.background(),\n position: 'relative',\n height: '45px',\n width: 'fit-content',\n margin: '2px',\n textTransform: 'none',\n '& span': {\n paddingRight: '5px',\n },\n '& svg': {\n position: 'absolute',\n right: 0,\n top: 'calc(50% - 12px)',\n pointerEvents: 'none',\n color: color.text(),\n marginLeft: '5px',\n },\n '&:focus, &:focus-visible': {\n outline: `3px solid ${color.tertiary()}`,\n outlineOffset: '2px',\n borderWidth: '3px',\n },\n },\n disabledCorrect: {\n borderWidth: '2px',\n borderColor: color.correct(),\n color: `${color.text()} !important`,\n },\n disabledIncorrect: {\n borderWidth: '2px',\n borderColor: color.incorrectWithIcon(),\n color: `${color.text()} !important`,\n },\n selectMenu: {\n backgroundColor: color.background(),\n border: `1px solid ${color.correct()} !important`,\n '&:hover': {\n border: `1px solid ${color.text()} `,\n borderColor: 'initial',\n },\n '&:focus': {\n border: `1px solid ${color.text()}`,\n borderColor: 'initial',\n },\n // remove default padding on the inner list\n '& .MuiList-root': {\n padding: 0,\n },\n },\n selected: {\n color: `${color.text()} !important`,\n backgroundColor: `${color.background()} !important`,\n '&:hover': {\n color: color.text(),\n backgroundColor: `${color.dropdownBackground()} !important`,\n },\n },\n menuRoot: {\n color: color.text(),\n backgroundColor: color.background(),\n '&:focus, &:focus-visible': {\n outline: `3px solid ${color.tertiary()}`,\n outlineOffset: '-1px', // keeps it inside the item\n },\n '&:focus': {\n color: color.text(),\n backgroundColor: color.background(),\n },\n '&:hover': {\n color: color.text(),\n backgroundColor: color.dropdownBackground(),\n },\n boxSizing: 'border-box',\n padding: '25px',\n borderRadius: '4px',\n },\n label: {\n fontSize: 'max(1rem, 14px)',\n },\n selectedIndicator: {\n fontSize: 'max(1rem, 14px)',\n position: 'absolute',\n right: '10px',\n },\n srOnly: {\n position: 'absolute',\n left: '-10000px',\n top: 'auto',\n width: '1px',\n height: '1px',\n overflow: 'hidden',\n },\n correctnessIndicatorIcon: {\n color: `${color.white()} !important`,\n position: 'absolute',\n top: '-8px !important',\n left: '-8px',\n marginLeft: '0 !important',\n borderRadius: '50%',\n fontSize: '16px',\n padding: '2px',\n },\n correctIcon: {\n backgroundColor: color.correct(),\n },\n incorrectIcon: {\n backgroundColor: color.incorrectWithIcon(),\n },\n});\n\nexport default withStyles(styles)(Dropdown);\n","import React from 'react';\nimport Dropdown from './components/dropdown';\nimport { withMask } from './with-mask';\n\n// eslint-disable-next-line react/display-name\nexport default withMask('dropdown', (props) => (node, data, onChange) => {\n const dataset = node.data ? node.data.dataset || {} : {};\n if (dataset.component === 'dropdown') {\n // eslint-disable-next-line react/prop-types\n const { choices, disabled, feedback, showCorrectAnswer } = props;\n const correctAnswer = choices && choices[dataset.id] && choices[dataset.id].find((c) => c.correct);\n const finalChoice = showCorrectAnswer ? correctAnswer && correctAnswer.value : data[dataset.id];\n\n return (\n <Dropdown\n key={`${node.type}-dropdown-${dataset.id}`}\n correct={feedback && feedback[dataset.id] && feedback[dataset.id] === 'correct'}\n disabled={disabled || showCorrectAnswer}\n value={finalChoice}\n correctValue={showCorrectAnswer ? correctAnswer && correctAnswer.label : undefined}\n id={dataset.id}\n onChange={onChange}\n choices={choices[dataset.id]}\n showCorrectAnswer={showCorrectAnswer}\n singleQuery={Object.keys(choices).length == 1}\n />\n );\n }\n});\n"],"names":["log","debug","INLINE","MARK","TEXT_NODE","COMMENT_NODE","attr","el","attributes","length","undefined","out","i","a","name","value","getObject","type","includes","parseStyleString","s","regex","match","result","exec","trim","reactAttributes","o","toStyleObject","camelize","addUnits","handleStyles","attribute","styleString","getAttribute","handleClass","acc","classNames","class","attributesToMap","style","className","MARK_TAGS","b","em","u","code","strong","marks","deserialize","next","mark","tagName","toLowerCase","object","nodes","childNodes","rules","nodeType","leaves","text","textContent","normalAttrs","controls","allAttrs","reduce","isMath","data","dataset","html","Html","defaultBlock","toJSON","Paragraph","withStyles","theme","para","paddingTop","spacing","unit","paddingBottom","props","classes","children","Spacer","spacer","display","width","restrictWhitespaceTypes","addText","parentNode","isWhitespace","parentType","getMark","n","find","leave","get","renderChildren","layout","onChange","rootRenderChildren","elementType","forEach","index","key","push","__html","innerHTML","c","content","l","t","extraText","markKey","Tag","subNodes","MaskContainer","main","tableStyle","borderCollapse","padding","textAlign","cx","Mask","React","Component","handleChange","id","render","propTypes","PropTypes","func","string","REGEX","markup","replace","g","buildLayoutFromMarkup","processed","componentize","document","withMask","WithMask","componentDidUpdate","prevProps","domNode","ReactDOM","findDOMNode","mathElements","querySelectorAll","mjxContainer","querySelector","removeChild","latexCode","removeAttribute","maskLayout","customMarkMarkupComponent","DRAG_TYPE","BlankContentComp","startDrag","connectDragSource","disabled","dragContainerRef","handleTouchStart","e","preventDefault","longPressTimer","setTimeout","handleTouchEnd","clearTimeout","handleTouchMove","componentDidMount","addEventListener","passive","componentWillUnmount","removeEventListener","renderMath","rootRef","choice","classnames","ref","chip","chipLabel","bool","BlankContent","border","palette","primary","borderRadius","margin","transform","backgroundColor","color","white","alignItems","height","minHeight","fontSize","whiteSpace","maxWidth","pointerEvents","opacity","tileSource","canDrag","beginDrag","instanceId","DragDropTile","DragSource","connect","monitor","dragSource","isDragging","Choices","getStyleForWrapper","choicePosition","duplicates","choices","filteredChoices","filter","foundChoice","findKey","v","elementStyle","minWidth","map","Choice","arrayOf","shape","label","isRequired","useStyles","touchAction","overflow","background","position","marginTop","marginBottom","hidden","dragged","left","correct","incorrect","over","parentOver","grey","constructor","handleImageLoad","updateDimensions","touchStartTimer","state","handleElements","imageElement","spanRef","onload","currentChoice","prevChoice","JSON","stringify","setState","offsetWidth","offsetHeight","widthWithPadding","heightWithPadding","responseAreaWidth","parseFloat","emptyResponseAreaWidth","responseAreaHeight","emptyResponseAreaHeight","adjustedWidth","adjustedHeight","prevState","addDraggableFalseAttributes","parent","elem","Element","HTMLDocument","setAttribute","getRootDimensions","isNaN","rootStyle","isOver","dragItem","draggedLabel","defaultProps","oneOfType","number","StyledBlankContent","connectedBlankContent","connectDropTarget","tileTarget","drop","draggedItem","getItem","dropped","canDrop","DropTile","DropTarget","dropTarget","fromChoice","endDrag","dropResult","getDropResult","Masked","node","component","correctResponse","feedback","showCorrectAnswer","choiceId","Blank","DragInTheBlank","getPositionDirection","flexDirection","justifyContent","UNSAFE_componentWillReceiveProps","choicesPosition","styles","editableHtmlCustom","verticalAlign","black","MaskedInput","adjustedLimit","maxLength","spellCheck","pluginProps","correctAnswer","finalValue","feedbackStatus","isCorrect","isIncorrect","handleInputChange","newValue","updatedValue","handleKeyDown","event","keyCode","language","noBorder","isHidden","characters","require$$0","setStatic_1","setStatic","setDisplayName_1","require$$1","setDisplayName","getDisplayName_1","getDisplayName","wrapDisplayName_1","wrapDisplayName","shouldUpdate_1","require$$2","require$$3","require$$4","shouldUpdate","pure_1","pure","createSvgIcon_1","createSvgIcon","Close","Check","Dropdown","handleClick","anchorEl","currentTarget","handleClose","previewValue","highlightedOptionId","previewRef","current","handleHighlight","stateUpdate","handleSelect","handleHover","selectedValue","elementRefs","preview","menuWidth","hiddenRef","createRef","buttonRef","clientWidth","hiddenEl","dropdownJustOpened","containsLatex","hasMathJax","mathHandled","newWidth","getLabel","found","singleQuery","correctValue","open","Boolean","buttonId","menuId","valueDisplayId","disabledClass","disabledCorrect","disabledIncorrect","incrementedId","parseInt","labelId","labelText","correctnessIcon","correctnessIndicatorIcon","correctIcon","incorrectIcon","visibility","top","root","menuRoot","selected","srOnly","borderWidth","transition","selectMenu","vertical","horizontal","role","disablePadding","optionId","selectedIndicator","borderGray","textTransform","paddingRight","right","marginLeft","outline","tertiary","outlineOffset","borderColor","incorrectWithIcon","dropdownBackground","boxSizing","finalChoice","Object","keys"],"mappings":"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","x_google_ignoreList":[10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-lib/mask-markup",
3
- "version": "1.30.1",
3
+ "version": "1.30.3",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "src/index.js",
@@ -10,10 +10,10 @@
10
10
  "dependencies": {
11
11
  "@material-ui/core": "^3.9.3",
12
12
  "@material-ui/icons": "^3.0.2",
13
- "@pie-lib/drag": "^2.19.1",
14
- "@pie-lib/editable-html": "^11.18.1",
15
- "@pie-lib/math-rendering": "^3.19.0",
16
- "@pie-lib/render-ui": "^4.32.1",
13
+ "@pie-lib/drag": "^2.19.3",
14
+ "@pie-lib/editable-html": "^11.18.3",
15
+ "@pie-lib/math-rendering": "^3.19.2",
16
+ "@pie-lib/render-ui": "^4.32.3",
17
17
  "classnames": "^2.2.6",
18
18
  "debug": "^4.1.1",
19
19
  "immutable": "^4.0.0-rc.12",
@@ -31,7 +31,7 @@
31
31
  "keywords": [],
32
32
  "author": "",
33
33
  "license": "ISC",
34
- "gitHead": "be0b7951407a81d53b8b8b4861b8407b31728809",
34
+ "gitHead": "8a327571bd64249e4c88c0c8e750d16d6213f535",
35
35
  "exports": {
36
36
  ".": {
37
37
  "import": "./esm/index.js",
package/LICENSE.md DELETED
@@ -1,5 +0,0 @@
1
- Copyright 2019 CoreSpring Inc
2
-
3
- Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
4
-
5
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.