@d3plus/text 3.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"d3plus-text.js","sources":["../src/fontFamily.js","../src/stringify.js","../src/strip.js","../src/combiningMarks.js","../src/textSplit.js","../src/trim.js","../src/textWrap.js","../src/titleCase.js"],"sourcesContent":["/**\n @const fontFamily\n @desc The default fallback font list used for all text labels as an Array of Strings.\n @returns {Array<string>}\n*/\nexport const fontFamily = [\"Inter\", \"Helvetica Neue\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", \"sans-serif\"];\n\n/**\n @const fontFamilyStringify\n @desc Converts an Array of font-family names into a CSS font-family string.\n @param {String|Array<string>} *family*\n @returns {String}\n*/\nexport const fontFamilyStringify = family => \n (typeof family === \"string\" ? [family] : family)\n .map(d => d.match(/^[a-z-_]{1,}$/) ? d : `'${d}'`)\n .join(\", \");","/**\n @function stringify\n @desc Coerces value into a String.\n @param {String} value\n*/\nexport default function(value) {\n if (value === void 0) value = \"undefined\";\n else if (!(typeof value === \"string\" || value instanceof String)) value = JSON.stringify(value);\n return value;\n}\n","// great unicode list: http://asecuritysite.com/coding/asc2\n\nconst diacritics = [\n [/[\\300-\\305]/g, \"A\"], [/[\\340-\\345]/g, \"a\"],\n [/[\\306]/g, \"AE\"], [/[\\346]/g, \"ae\"],\n [/[\\337]/g, \"B\"],\n [/[\\307]/g, \"C\"], [/[\\347]/g, \"c\"],\n [/[\\320\\336\\376]/g, \"D\"], [/[\\360]/g, \"d\"],\n [/[\\310-\\313]/g, \"E\"], [/[\\350-\\353]/g, \"e\"],\n [/[\\314-\\317]/g, \"I\"], [/[\\354-\\357]/g, \"i\"],\n [/[\\321]/g, \"N\"], [/[\\361]/g, \"n\"],\n [/[\\u014c\\322-\\326\\330]/g, \"O\"], [/[\\u014d\\362-\\366\\370]/g, \"o\"],\n [/[\\u016a\\331-\\334]/g, \"U\"], [/[\\u016b\\371-\\374]/g, \"u\"],\n [/[\\327]/g, \"x\"],\n [/[\\335]/g, \"Y\"], [/[\\375\\377]/g, \"y\"]\n];\n\n/**\n @function strip\n @desc Removes all non ASCII characters from a string.\n @param {String} value\n @param {String} [spacer = \"-\"]\n*/\nexport default function(value, spacer = \"-\") {\n\n return `${value}`.replace(/[^A-Za-z0-9\\-_\\u0621-\\u064A]/g, char => {\n\n if (char === \" \") return spacer;\n\n let ret = false;\n for (let d = 0; d < diacritics.length; d++) {\n if (new RegExp(diacritics[d][0]).test(char)) {\n ret = diacritics[d][1];\n break;\n }\n }\n\n return ret || \"\";\n\n });\n}\n","// scraped from http://www.fileformat.info/info/unicode/category/Mc/list.htm\n// and http://www.fileformat.info/info/unicode/category/Mn/list.htm\n// JSON.stringify([].slice.call(document.getElementsByClassName(\"table-list\")[0].getElementsByTagName(\"tr\")).filter(function(d){ return d.getElementsByTagName(\"a\").length && d.getElementsByTagName(\"a\")[0].innerHTML.length === 6; }).map(function(d){ return d.getElementsByTagName(\"a\")[0].innerHTML.replace(\"U\", \"u\").replace(\"+\", \"\"); }).sort());\n// The following unicode characters combine to form new characters and should never be split from surrounding characters.\nconst a = [\"u0903\", \"u093B\", \"u093E\", \"u093F\", \"u0940\", \"u0949\", \"u094A\", \"u094B\", \"u094C\", \"u094E\", \"u094F\", \"u0982\", \"u0983\", \"u09BE\", \"u09BF\", \"u09C0\", \"u09C7\", \"u09C8\", \"u09CB\", \"u09CC\", \"u09D7\", \"u0A03\", \"u0A3E\", \"u0A3F\", \"u0A40\", \"u0A83\", \"u0ABE\", \"u0ABF\", \"u0AC0\", \"u0AC9\", \"u0ACB\", \"u0ACC\", \"u0B02\", \"u0B03\", \"u0B3E\", \"u0B40\", \"u0B47\", \"u0B48\", \"u0B4B\", \"u0B4C\", \"u0B57\", \"u0BBE\", \"u0BBF\", \"u0BC1\", \"u0BC2\", \"u0BC6\", \"u0BC7\", \"u0BC8\", \"u0BCA\", \"u0BCB\", \"u0BCC\", \"u0BD7\", \"u0C01\", \"u0C02\", \"u0C03\", \"u0C41\", \"u0C42\", \"u0C43\", \"u0C44\", \"u0C82\", \"u0C83\", \"u0CBE\", \"u0CC0\", \"u0CC1\", \"u0CC2\", \"u0CC3\", \"u0CC4\", \"u0CC7\", \"u0CC8\", \"u0CCA\", \"u0CCB\", \"u0CD5\", \"u0CD6\", \"u0D02\", \"u0D03\", \"u0D3E\", \"u0D3F\", \"u0D40\", \"u0D46\", \"u0D47\", \"u0D48\", \"u0D4A\", \"u0D4B\", \"u0D4C\", \"u0D57\", \"u0D82\", \"u0D83\", \"u0DCF\", \"u0DD0\", \"u0DD1\", \"u0DD8\", \"u0DD9\", \"u0DDA\", \"u0DDB\", \"u0DDC\", \"u0DDD\", \"u0DDE\", \"u0DDF\", \"u0DF2\", \"u0DF3\", \"u0F3E\", \"u0F3F\", \"u0F7F\", \"u102B\", \"u102C\", \"u1031\", \"u1038\", \"u103B\", \"u103C\", \"u1056\", \"u1057\", \"u1062\", \"u1063\", \"u1064\", \"u1067\", \"u1068\", \"u1069\", \"u106A\", \"u106B\", \"u106C\", \"u106D\", \"u1083\", \"u1084\", \"u1087\", \"u1088\", \"u1089\", \"u108A\", \"u108B\", \"u108C\", \"u108F\", \"u109A\", \"u109B\", \"u109C\", \"u17B6\", \"u17BE\", \"u17BF\", \"u17C0\", \"u17C1\", \"u17C2\", \"u17C3\", \"u17C4\", \"u17C5\", \"u17C7\", \"u17C8\", \"u1923\", \"u1924\", \"u1925\", \"u1926\", \"u1929\", \"u192A\", \"u192B\", \"u1930\", \"u1931\", \"u1933\", \"u1934\", \"u1935\", \"u1936\", \"u1937\", \"u1938\", \"u1A19\", \"u1A1A\", \"u1A55\", \"u1A57\", \"u1A61\", \"u1A63\", \"u1A64\", \"u1A6D\", \"u1A6E\", \"u1A6F\", \"u1A70\", \"u1A71\", \"u1A72\", \"u1B04\", \"u1B35\", \"u1B3B\", \"u1B3D\", \"u1B3E\", \"u1B3F\", \"u1B40\", \"u1B41\", \"u1B43\", \"u1B44\", \"u1B82\", \"u1BA1\", \"u1BA6\", \"u1BA7\", \"u1BAA\", \"u1BE7\", \"u1BEA\", \"u1BEB\", \"u1BEC\", \"u1BEE\", \"u1BF2\", \"u1BF3\", \"u1C24\", \"u1C25\", \"u1C26\", \"u1C27\", \"u1C28\", \"u1C29\", \"u1C2A\", \"u1C2B\", \"u1C34\", \"u1C35\", \"u1CE1\", \"u1CF2\", \"u1CF3\", \"u302E\", \"u302F\", \"uA823\", \"uA824\", \"uA827\", \"uA880\", \"uA881\", \"uA8B4\", \"uA8B5\", \"uA8B6\", \"uA8B7\", \"uA8B8\", \"uA8B9\", \"uA8BA\", \"uA8BB\", \"uA8BC\", \"uA8BD\", \"uA8BE\", \"uA8BF\", \"uA8C0\", \"uA8C1\", \"uA8C2\", \"uA8C3\", \"uA952\", \"uA953\", \"uA983\", \"uA9B4\", \"uA9B5\", \"uA9BA\", \"uA9BB\", \"uA9BD\", \"uA9BE\", \"uA9BF\", \"uA9C0\", \"uAA2F\", \"uAA30\", \"uAA33\", \"uAA34\", \"uAA4D\", \"uAA7B\", \"uAA7D\", \"uAAEB\", \"uAAEE\", \"uAAEF\", \"uAAF5\", \"uABE3\", \"uABE4\", \"uABE6\", \"uABE7\", \"uABE9\", \"uABEA\", \"uABEC\"];\nconst b = [\"u0300\", \"u0301\", \"u0302\", \"u0303\", \"u0304\", \"u0305\", \"u0306\", \"u0307\", \"u0308\", \"u0309\", \"u030A\", \"u030B\", \"u030C\", \"u030D\", \"u030E\", \"u030F\", \"u0310\", \"u0311\", \"u0312\", \"u0313\", \"u0314\", \"u0315\", \"u0316\", \"u0317\", \"u0318\", \"u0319\", \"u031A\", \"u031B\", \"u031C\", \"u031D\", \"u031E\", \"u031F\", \"u0320\", \"u0321\", \"u0322\", \"u0323\", \"u0324\", \"u0325\", \"u0326\", \"u0327\", \"u0328\", \"u0329\", \"u032A\", \"u032B\", \"u032C\", \"u032D\", \"u032E\", \"u032F\", \"u0330\", \"u0331\", \"u0332\", \"u0333\", \"u0334\", \"u0335\", \"u0336\", \"u0337\", \"u0338\", \"u0339\", \"u033A\", \"u033B\", \"u033C\", \"u033D\", \"u033E\", \"u033F\", \"u0340\", \"u0341\", \"u0342\", \"u0343\", \"u0344\", \"u0345\", \"u0346\", \"u0347\", \"u0348\", \"u0349\", \"u034A\", \"u034B\", \"u034C\", \"u034D\", \"u034E\", \"u034F\", \"u0350\", \"u0351\", \"u0352\", \"u0353\", \"u0354\", \"u0355\", \"u0356\", \"u0357\", \"u0358\", \"u0359\", \"u035A\", \"u035B\", \"u035C\", \"u035D\", \"u035E\", \"u035F\", \"u0360\", \"u0361\", \"u0362\", \"u0363\", \"u0364\", \"u0365\", \"u0366\", \"u0367\", \"u0368\", \"u0369\", \"u036A\", \"u036B\", \"u036C\", \"u036D\", \"u036E\", \"u036F\", \"u0483\", \"u0484\", \"u0485\", \"u0486\", \"u0487\", \"u0591\", \"u0592\", \"u0593\", \"u0594\", \"u0595\", \"u0596\", \"u0597\", \"u0598\", \"u0599\", \"u059A\", \"u059B\", \"u059C\", \"u059D\", \"u059E\", \"u059F\", \"u05A0\", \"u05A1\", \"u05A2\", \"u05A3\", \"u05A4\", \"u05A5\", \"u05A6\", \"u05A7\", \"u05A8\", \"u05A9\", \"u05AA\", \"u05AB\", \"u05AC\", \"u05AD\", \"u05AE\", \"u05AF\", \"u05B0\", \"u05B1\", \"u05B2\", \"u05B3\", \"u05B4\", \"u05B5\", \"u05B6\", \"u05B7\", \"u05B8\", \"u05B9\", \"u05BA\", \"u05BB\", \"u05BC\", \"u05BD\", \"u05BF\", \"u05C1\", \"u05C2\", \"u05C4\", \"u05C5\", \"u05C7\", \"u0610\", \"u0611\", \"u0612\", \"u0613\", \"u0614\", \"u0615\", \"u0616\", \"u0617\", \"u0618\", \"u0619\", \"u061A\", \"u064B\", \"u064C\", \"u064D\", \"u064E\", \"u064F\", \"u0650\", \"u0651\", \"u0652\", \"u0653\", \"u0654\", \"u0655\", \"u0656\", \"u0657\", \"u0658\", \"u0659\", \"u065A\", \"u065B\", \"u065C\", \"u065D\", \"u065E\", \"u065F\", \"u0670\", \"u06D6\", \"u06D7\", \"u06D8\", \"u06D9\", \"u06DA\", \"u06DB\", \"u06DC\", \"u06DF\", \"u06E0\", \"u06E1\", \"u06E2\", \"u06E3\", \"u06E4\", \"u06E7\", \"u06E8\", \"u06EA\", \"u06EB\", \"u06EC\", \"u06ED\", \"u0711\", \"u0730\", \"u0731\", \"u0732\", \"u0733\", \"u0734\", \"u0735\", \"u0736\", \"u0737\", \"u0738\", \"u0739\", \"u073A\", \"u073B\", \"u073C\", \"u073D\", \"u073E\", \"u073F\", \"u0740\", \"u0741\", \"u0742\", \"u0743\", \"u0744\", \"u0745\", \"u0746\", \"u0747\", \"u0748\", \"u0749\", \"u074A\", \"u07A6\", \"u07A7\", \"u07A8\", \"u07A9\", \"u07AA\", \"u07AB\", \"u07AC\", \"u07AD\", \"u07AE\", \"u07AF\", \"u07B0\", \"u07EB\", \"u07EC\", \"u07ED\", \"u07EE\", \"u07EF\", \"u07F0\", \"u07F1\", \"u07F2\", \"u07F3\", \"u0816\", \"u0817\", \"u0818\", \"u0819\", \"u081B\", \"u081C\", \"u081D\", \"u081E\", \"u081F\", \"u0820\", \"u0821\", \"u0822\", \"u0823\", \"u0825\", \"u0826\", \"u0827\", \"u0829\", \"u082A\", \"u082B\", \"u082C\", \"u082D\", \"u0859\", \"u085A\", \"u085B\", \"u08E3\", \"u08E4\", \"u08E5\", \"u08E6\", \"u08E7\", \"u08E8\", \"u08E9\", \"u08EA\", \"u08EB\", \"u08EC\", \"u08ED\", \"u08EE\", \"u08EF\", \"u08F0\", \"u08F1\", \"u08F2\", \"u08F3\", \"u08F4\", \"u08F5\", \"u08F6\", \"u08F7\", \"u08F8\", \"u08F9\", \"u08FA\", \"u08FB\", \"u08FC\", \"u08FD\", \"u08FE\", \"u08FF\", \"u0900\", \"u0901\", \"u0902\", \"u093A\", \"u093C\", \"u0941\", \"u0942\", \"u0943\", \"u0944\", \"u0945\", \"u0946\", \"u0947\", \"u0948\", \"u094D\", \"u0951\", \"u0952\", \"u0953\", \"u0954\", \"u0955\", \"u0956\", \"u0957\", \"u0962\", \"u0963\", \"u0981\", \"u09BC\", \"u09C1\", \"u09C2\", \"u09C3\", \"u09C4\", \"u09CD\", \"u09E2\", \"u09E3\", \"u0A01\", \"u0A02\", \"u0A3C\", \"u0A41\", \"u0A42\", \"u0A47\", \"u0A48\", \"u0A4B\", \"u0A4C\", \"u0A4D\", \"u0A51\", \"u0A70\", \"u0A71\", \"u0A75\", \"u0A81\", \"u0A82\", \"u0ABC\", \"u0AC1\", \"u0AC2\", \"u0AC3\", \"u0AC4\", \"u0AC5\", \"u0AC7\", \"u0AC8\", \"u0ACD\", \"u0AE2\", \"u0AE3\", \"u0B01\", \"u0B3C\", \"u0B3F\", \"u0B41\", \"u0B42\", \"u0B43\", \"u0B44\", \"u0B4D\", \"u0B56\", \"u0B62\", \"u0B63\", \"u0B82\", \"u0BC0\", \"u0BCD\", \"u0C00\", \"u0C3E\", \"u0C3F\", \"u0C40\", \"u0C46\", \"u0C47\", \"u0C48\", \"u0C4A\", \"u0C4B\", \"u0C4C\", \"u0C4D\", \"u0C55\", \"u0C56\", \"u0C62\", \"u0C63\", \"u0C81\", \"u0CBC\", \"u0CBF\", \"u0CC6\", \"u0CCC\", \"u0CCD\", \"u0CE2\", \"u0CE3\", \"u0D01\", \"u0D41\", \"u0D42\", \"u0D43\", \"u0D44\", \"u0D4D\", \"u0D62\", \"u0D63\", \"u0DCA\", \"u0DD2\", \"u0DD3\", \"u0DD4\", \"u0DD6\", \"u0E31\", \"u0E34\", \"u0E35\", \"u0E36\", \"u0E37\", \"u0E38\", \"u0E39\", \"u0E3A\", \"u0E47\", \"u0E48\", \"u0E49\", \"u0E4A\", \"u0E4B\", \"u0E4C\", \"u0E4D\", \"u0E4E\", \"u0EB1\", \"u0EB4\", \"u0EB5\", \"u0EB6\", \"u0EB7\", \"u0EB8\", \"u0EB9\", \"u0EBB\", \"u0EBC\", \"u0EC8\", \"u0EC9\", \"u0ECA\", \"u0ECB\", \"u0ECC\", \"u0ECD\", \"u0F18\", \"u0F19\", \"u0F35\", \"u0F37\", \"u0F39\", \"u0F71\", \"u0F72\", \"u0F73\", \"u0F74\", \"u0F75\", \"u0F76\", \"u0F77\", \"u0F78\", \"u0F79\", \"u0F7A\", \"u0F7B\", \"u0F7C\", \"u0F7D\", \"u0F7E\", \"u0F80\", \"u0F81\", \"u0F82\", \"u0F83\", \"u0F84\", \"u0F86\", \"u0F87\", \"u0F8D\", \"u0F8E\", \"u0F8F\", \"u0F90\", \"u0F91\", \"u0F92\", \"u0F93\", \"u0F94\", \"u0F95\", \"u0F96\", \"u0F97\", \"u0F99\", \"u0F9A\", \"u0F9B\", \"u0F9C\", \"u0F9D\", \"u0F9E\", \"u0F9F\", \"u0FA0\", \"u0FA1\", \"u0FA2\", \"u0FA3\", \"u0FA4\", \"u0FA5\", \"u0FA6\", \"u0FA7\", \"u0FA8\", \"u0FA9\", \"u0FAA\", \"u0FAB\", \"u0FAC\", \"u0FAD\", \"u0FAE\", \"u0FAF\", \"u0FB0\", \"u0FB1\", \"u0FB2\", \"u0FB3\", \"u0FB4\", \"u0FB5\", \"u0FB6\", \"u0FB7\", \"u0FB8\", \"u0FB9\", \"u0FBA\", \"u0FBB\", \"u0FBC\", \"u0FC6\", \"u102D\", \"u102E\", \"u102F\", \"u1030\", \"u1032\", \"u1033\", \"u1034\", \"u1035\", \"u1036\", \"u1037\", \"u1039\", \"u103A\", \"u103D\", \"u103E\", \"u1058\", \"u1059\", \"u105E\", \"u105F\", \"u1060\", \"u1071\", \"u1072\", \"u1073\", \"u1074\", \"u1082\", \"u1085\", \"u1086\", \"u108D\", \"u109D\", \"u135D\", \"u135E\", \"u135F\", \"u1712\", \"u1713\", \"u1714\", \"u1732\", \"u1733\", \"u1734\", \"u1752\", \"u1753\", \"u1772\", \"u1773\", \"u17B4\", \"u17B5\", \"u17B7\", \"u17B8\", \"u17B9\", \"u17BA\", \"u17BB\", \"u17BC\", \"u17BD\", \"u17C6\", \"u17C9\", \"u17CA\", \"u17CB\", \"u17CC\", \"u17CD\", \"u17CE\", \"u17CF\", \"u17D0\", \"u17D1\", \"u17D2\", \"u17D3\", \"u17DD\", \"u180B\", \"u180C\", \"u180D\", \"u18A9\", \"u1920\", \"u1921\", \"u1922\", \"u1927\", \"u1928\", \"u1932\", \"u1939\", \"u193A\", \"u193B\", \"u1A17\", \"u1A18\", \"u1A1B\", \"u1A56\", \"u1A58\", \"u1A59\", \"u1A5A\", \"u1A5B\", \"u1A5C\", \"u1A5D\", \"u1A5E\", \"u1A60\", \"u1A62\", \"u1A65\", \"u1A66\", \"u1A67\", \"u1A68\", \"u1A69\", \"u1A6A\", \"u1A6B\", \"u1A6C\", \"u1A73\", \"u1A74\", \"u1A75\", \"u1A76\", \"u1A77\", \"u1A78\", \"u1A79\", \"u1A7A\", \"u1A7B\", \"u1A7C\", \"u1A7F\", \"u1AB0\", \"u1AB1\", \"u1AB2\", \"u1AB3\", \"u1AB4\", \"u1AB5\", \"u1AB6\", \"u1AB7\", \"u1AB8\", \"u1AB9\", \"u1ABA\", \"u1ABB\", \"u1ABC\", \"u1ABD\", \"u1B00\", \"u1B01\", \"u1B02\", \"u1B03\", \"u1B34\", \"u1B36\", \"u1B37\", \"u1B38\", \"u1B39\", \"u1B3A\", \"u1B3C\", \"u1B42\", \"u1B6B\", \"u1B6C\", \"u1B6D\", \"u1B6E\", \"u1B6F\", \"u1B70\", \"u1B71\", \"u1B72\", \"u1B73\", \"u1B80\", \"u1B81\", \"u1BA2\", \"u1BA3\", \"u1BA4\", \"u1BA5\", \"u1BA8\", \"u1BA9\", \"u1BAB\", \"u1BAC\", \"u1BAD\", \"u1BE6\", \"u1BE8\", \"u1BE9\", \"u1BED\", \"u1BEF\", \"u1BF0\", \"u1BF1\", \"u1C2C\", \"u1C2D\", \"u1C2E\", \"u1C2F\", \"u1C30\", \"u1C31\", \"u1C32\", \"u1C33\", \"u1C36\", \"u1C37\", \"u1CD0\", \"u1CD1\", \"u1CD2\", \"u1CD4\", \"u1CD5\", \"u1CD6\", \"u1CD7\", \"u1CD8\", \"u1CD9\", \"u1CDA\", \"u1CDB\", \"u1CDC\", \"u1CDD\", \"u1CDE\", \"u1CDF\", \"u1CE0\", \"u1CE2\", \"u1CE3\", \"u1CE4\", \"u1CE5\", \"u1CE6\", \"u1CE7\", \"u1CE8\", \"u1CED\", \"u1CF4\", \"u1CF8\", \"u1CF9\", \"u1DC0\", \"u1DC1\", \"u1DC2\", \"u1DC3\", \"u1DC4\", \"u1DC5\", \"u1DC6\", \"u1DC7\", \"u1DC8\", \"u1DC9\", \"u1DCA\", \"u1DCB\", \"u1DCC\", \"u1DCD\", \"u1DCE\", \"u1DCF\", \"u1DD0\", \"u1DD1\", \"u1DD2\", \"u1DD3\", \"u1DD4\", \"u1DD5\", \"u1DD6\", \"u1DD7\", \"u1DD8\", \"u1DD9\", \"u1DDA\", \"u1DDB\", \"u1DDC\", \"u1DDD\", \"u1DDE\", \"u1DDF\", \"u1DE0\", \"u1DE1\", \"u1DE2\", \"u1DE3\", \"u1DE4\", \"u1DE5\", \"u1DE6\", \"u1DE7\", \"u1DE8\", \"u1DE9\", \"u1DEA\", \"u1DEB\", \"u1DEC\", \"u1DED\", \"u1DEE\", \"u1DEF\", \"u1DF0\", \"u1DF1\", \"u1DF2\", \"u1DF3\", \"u1DF4\", \"u1DF5\", \"u1DFC\", \"u1DFD\", \"u1DFE\", \"u1DFF\", \"u20D0\", \"u20D1\", \"u20D2\", \"u20D3\", \"u20D4\", \"u20D5\", \"u20D6\", \"u20D7\", \"u20D8\", \"u20D9\", \"u20DA\", \"u20DB\", \"u20DC\", \"u20E1\", \"u20E5\", \"u20E6\", \"u20E7\", \"u20E8\", \"u20E9\", \"u20EA\", \"u20EB\", \"u20EC\", \"u20ED\", \"u20EE\", \"u20EF\", \"u20F0\", \"u2CEF\", \"u2CF0\", \"u2CF1\", \"u2D7F\", \"u2DE0\", \"u2DE1\", \"u2DE2\", \"u2DE3\", \"u2DE4\", \"u2DE5\", \"u2DE6\", \"u2DE7\", \"u2DE8\", \"u2DE9\", \"u2DEA\", \"u2DEB\", \"u2DEC\", \"u2DED\", \"u2DEE\", \"u2DEF\", \"u2DF0\", \"u2DF1\", \"u2DF2\", \"u2DF3\", \"u2DF4\", \"u2DF5\", \"u2DF6\", \"u2DF7\", \"u2DF8\", \"u2DF9\", \"u2DFA\", \"u2DFB\", \"u2DFC\", \"u2DFD\", \"u2DFE\", \"u2DFF\", \"u302A\", \"u302B\", \"u302C\", \"u302D\", \"u3099\", \"u309A\", \"uA66F\", \"uA674\", \"uA675\", \"uA676\", \"uA677\", \"uA678\", \"uA679\", \"uA67A\", \"uA67B\", \"uA67C\", \"uA67D\", \"uA69E\", \"uA69F\", \"uA6F0\", \"uA6F1\", \"uA802\", \"uA806\", \"uA80B\", \"uA825\", \"uA826\", \"uA8C4\", \"uA8E0\", \"uA8E1\", \"uA8E2\", \"uA8E3\", \"uA8E4\", \"uA8E5\", \"uA8E6\", \"uA8E7\", \"uA8E8\", \"uA8E9\", \"uA8EA\", \"uA8EB\", \"uA8EC\", \"uA8ED\", \"uA8EE\", \"uA8EF\", \"uA8F0\", \"uA8F1\", \"uA926\", \"uA927\", \"uA928\", \"uA929\", \"uA92A\", \"uA92B\", \"uA92C\", \"uA92D\", \"uA947\", \"uA948\", \"uA949\", \"uA94A\", \"uA94B\", \"uA94C\", \"uA94D\", \"uA94E\", \"uA94F\", \"uA950\", \"uA951\", \"uA980\", \"uA981\", \"uA982\", \"uA9B3\", \"uA9B6\", \"uA9B7\", \"uA9B8\", \"uA9B9\", \"uA9BC\", \"uA9E5\", \"uAA29\", \"uAA2A\", \"uAA2B\", \"uAA2C\", \"uAA2D\", \"uAA2E\", \"uAA31\", \"uAA32\", \"uAA35\", \"uAA36\", \"uAA43\", \"uAA4C\", \"uAA7C\", \"uAAB0\", \"uAAB2\", \"uAAB3\", \"uAAB4\", \"uAAB7\", \"uAAB8\", \"uAABE\", \"uAABF\", \"uAAC1\", \"uAAEC\", \"uAAED\", \"uAAF6\", \"uABE5\", \"uABE8\", \"uABED\", \"uFB1E\", \"uFE00\", \"uFE01\", \"uFE02\", \"uFE03\", \"uFE04\", \"uFE05\", \"uFE06\", \"uFE07\", \"uFE08\", \"uFE09\", \"uFE0A\", \"uFE0B\", \"uFE0C\", \"uFE0D\", \"uFE0E\", \"uFE0F\", \"uFE20\", \"uFE21\", \"uFE22\", \"uFE23\", \"uFE24\", \"uFE25\", \"uFE26\", \"uFE27\", \"uFE28\", \"uFE29\", \"uFE2A\", \"uFE2B\", \"uFE2C\", \"uFE2D\", \"uFE2E\", \"uFE2F\"];\nexport default a.concat(b);\n","import {default as stringify} from \"./stringify.js\";\nimport {default as combiningMarks} from \"./combiningMarks.js\";\nimport {merge} from \"d3-array\";\n\nconst splitChars = [\"-\", \";\", \":\", \"&\", \"|\",\n \"u0E2F\", // thai character pairannoi\n \"u0EAF\", // lao ellipsis\n \"u0EC6\", // lao ko la (word repetition)\n \"u0ECC\", // lao cancellation mark\n \"u104A\", // myanmar sign little section\n \"u104B\", // myanmar sign section\n \"u104C\", // myanmar symbol locative\n \"u104D\", // myanmar symbol completed\n \"u104E\", // myanmar symbol aforementioned\n \"u104F\", // myanmar symbol genitive\n \"u2013\", // en dash\n \"u2014\", // em dash\n \"u2027\", // simplified chinese hyphenation point\n \"u3000\", // simplified chinese ideographic space\n \"u3001\", // simplified chinese ideographic comma\n \"u3002\", // simplified chinese ideographic full stop\n \"uFF0C\", // full-width comma\n \"uFF5E\" // wave dash\n];\n\nconst prefixChars = [\"'\", \"<\", \"(\", \"{\", \"[\",\n \"u00AB\", // left-pointing double angle quotation mark\n \"u300A\", // left double angle bracket\n \"u3008\" // left angle bracket\n];\n\nconst suffixChars = [\"'\", \">\", \")\", \"}\", \"]\", \".\", \"!\", \"?\", \"/\",\n \"u00BB\", // right-pointing double angle quotation mark\n \"u300B\", // right double angle bracket\n \"u3009\" // right angle bracket\n].concat(splitChars);\n\nconst burmeseRange = \"\\u1000-\\u102A\\u103F-\\u1049\\u1050-\\u1055\";\nconst japaneseRange = \"\\u3040-\\u309f\\u30a0-\\u30ff\\uff00-\\uff0b\\uff0d-\\uff5d\\uff5f-\\uff9f\\u3400-\\u4dbf\";\nconst chineseRange = \"\\u3400-\\u9FBF\";\nconst laoRange = \"\\u0E81-\\u0EAE\\u0EB0-\\u0EC4\\u0EC8-\\u0ECB\\u0ECD-\\u0EDD\";\n\nconst noSpaceRange = burmeseRange + chineseRange + japaneseRange + laoRange;\n\n\nconst splitWords = new RegExp(`(\\\\${splitChars.join(\"|\\\\\")})*[^\\\\s|\\\\${splitChars.join(\"|\\\\\")}]*(\\\\${splitChars.join(\"|\\\\\")})*`, \"g\");\n\nconst noSpaceLanguage = new RegExp(`[${noSpaceRange}]`);\nconst splitAllChars = new RegExp(`(\\\\${prefixChars.join(\"|\\\\\")})*[${noSpaceRange}](\\\\${suffixChars.join(\"|\\\\\")}|\\\\${combiningMarks.join(\"|\\\\\")})*|[a-z0-9]+`, \"gi\");\n\n/**\n @function textSplit\n @desc Splits a given sentence into an array of words.\n @param {String} sentence\n*/\nexport default function(sentence) {\n if (!noSpaceLanguage.test(sentence)) return stringify(sentence).match(splitWords).filter(w => w.length);\n return merge(stringify(sentence).match(splitWords).map(d => {\n if (noSpaceLanguage.test(d)) return d.match(splitAllChars);\n return [d];\n }));\n}\n\nexport {prefixChars, splitChars, splitWords, suffixChars};\n","/**\n @function trim\n @desc Cross-browser implementation of [trim](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim).\n @param {String} str\n*/\nfunction trim(str) {\n return str.toString().replace(/^\\s+|\\s+$/g, \"\");\n}\n\n/**\n @function trimLeft\n @desc Cross-browser implementation of [trimLeft](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/TrimLeft).\n @param {String} str\n*/\nfunction trimLeft(str) {\n return str.toString().replace(/^\\s+/, \"\");\n}\n\n/**\n @function trimRight\n @desc Cross-browser implementation of [trimRight](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/TrimRight).\n @param {String} str\n*/\nfunction trimRight(str) {\n return str.toString().replace(/\\s+$/, \"\");\n}\n\nexport {trim, trimLeft, trimRight};\n","import {textWidth} from \"@d3plus/dom\";\n\nimport defaultSplit from \"./textSplit.js\";\nimport stringify from \"./stringify.js\";\nimport {trimRight} from \"./trim.js\";\n\n/**\n @function textWrap\n @desc Based on the defined styles and dimensions, breaks a string into an array of strings for each line of text.\n*/\nexport default function() {\n\n let fontFamily = \"sans-serif\",\n fontSize = 10,\n fontWeight = 400,\n height = 200,\n lineHeight,\n maxLines = null,\n overflow = false,\n split = defaultSplit,\n width = 200;\n\n /**\n The inner return object and wraps the text and returns the line data array.\n @private\n */\n function textWrap(sentence) {\n\n sentence = stringify(sentence);\n\n if (lineHeight === void 0) lineHeight = Math.ceil(fontSize * 1.4);\n\n const words = split(sentence);\n\n const style = {\n \"font-family\": fontFamily,\n \"font-size\": fontSize,\n \"font-weight\": fontWeight,\n \"line-height\": lineHeight\n };\n\n let line = 1,\n textProg = \"\",\n truncated = false,\n widthProg = 0;\n\n const lineData = [],\n sizes = textWidth(words, style),\n space = textWidth(\" \", style);\n\n for (let i = 0; i < words.length; i++) {\n let word = words[i];\n const wordWidth = sizes[words.indexOf(word)];\n word += sentence.slice(textProg.length + word.length).match(\"^( |\\n)*\", \"g\")[0];\n if (textProg.slice(-1) === \"\\n\" || widthProg + wordWidth > width) {\n if (!i && !overflow) {\n truncated = true;\n break;\n }\n if (lineData.length >= line) lineData[line - 1] = trimRight(lineData[line - 1]);\n line++;\n if (lineHeight * line > height || wordWidth > width && !overflow || maxLines && line > maxLines) {\n truncated = true;\n break;\n }\n widthProg = 0;\n lineData.push(word);\n }\n else if (!i) lineData[0] = word;\n else lineData[line - 1] += word;\n textProg += word;\n widthProg += wordWidth;\n widthProg += word.match(/[\\s]*$/g)[0].length * space;\n }\n\n return {\n lines: lineData,\n sentence, truncated,\n widths: textWidth(lineData, style),\n words\n };\n\n }\n\n /**\n @memberof textWrap\n @desc If *value* is specified, sets the font family accessor to the specified function or string and returns this generator. If *value* is not specified, returns the current font family.\n @param {Function|String} [*value* = \"sans-serif\"]\n */\n textWrap.fontFamily = function(_) {\n return arguments.length ? (fontFamily = _, textWrap) : fontFamily;\n };\n\n /**\n @memberof textWrap\n @desc If *value* is specified, sets the font size accessor to the specified function or number and returns this generator. If *value* is not specified, returns the current font size.\n @param {Function|Number} [*value* = 10]\n */\n textWrap.fontSize = function(_) {\n return arguments.length ? (fontSize = _, textWrap) : fontSize;\n };\n\n /**\n @memberof textWrap\n @desc If *value* is specified, sets the font weight accessor to the specified function or number and returns this generator. If *value* is not specified, returns the current font weight.\n @param {Function|Number|String} [*value* = 400]\n */\n textWrap.fontWeight = function(_) {\n return arguments.length ? (fontWeight = _, textWrap) : fontWeight;\n };\n\n /**\n @memberof textWrap\n @desc If *value* is specified, sets height limit to the specified value and returns this generator. If *value* is not specified, returns the current value.\n @param {Number} [*value* = 200]\n */\n textWrap.height = function(_) {\n return arguments.length ? (height = _, textWrap) : height;\n };\n\n /**\n @memberof textWrap\n @desc If *value* is specified, sets the line height accessor to the specified function or number and returns this generator. If *value* is not specified, returns the current line height accessor, which is 1.1 times the [font size](#textWrap.fontSize) by default.\n @param {Function|Number} [*value*]\n */\n textWrap.lineHeight = function(_) {\n return arguments.length ? (lineHeight = _, textWrap) : lineHeight;\n };\n\n /**\n @memberof textWrap\n @desc If *value* is specified, sets the maximum number of lines allowed when wrapping.\n @param {Function|Number} [*value*]\n */\n textWrap.maxLines = function(_) {\n return arguments.length ? (maxLines = _, textWrap) : maxLines;\n };\n\n /**\n @memberof textWrap\n @desc If *value* is specified, sets the overflow to the specified boolean and returns this generator. If *value* is not specified, returns the current overflow value.\n @param {Boolean} [*value* = false]\n */\n textWrap.overflow = function(_) {\n return arguments.length ? (overflow = _, textWrap) : overflow;\n };\n\n /**\n @memberof textWrap\n @desc If *value* is specified, sets the word split function to the specified function and returns this generator. If *value* is not specified, returns the current word split function.\n @param {Function} [*value*] A function that, when passed a string, is expected to return that string split into an array of words to textWrap. The default split function splits strings on the following characters: `-`, `/`, `;`, `:`, `&`\n */\n textWrap.split = function(_) {\n return arguments.length ? (split = _, textWrap) : split;\n };\n\n /**\n @memberof textWrap\n @desc If *value* is specified, sets width limit to the specified value and returns this generator. If *value* is not specified, returns the current value.\n @param {Number} [*value* = 200]\n */\n textWrap.width = function(_) {\n return arguments.length ? (width = _, textWrap) : width;\n };\n\n return textWrap;\n\n}\n","import {suffixChars, default as textSplit} from \"./textSplit.js\";\n\nconst lowercase = [\"a\", \"an\", \"and\", \"as\", \"at\", \"but\", \"by\", \"for\", \"from\", \"if\", \"in\", \"into\", \"near\", \"nor\", \"of\", \"on\", \"onto\", \"or\", \"per\", \"that\", \"the\", \"to\", \"with\", \"via\", \"vs\", \"vs.\"];\nconst uppercase = [\"CEO\", \"CFO\", \"CNC\", \"COO\", \"CPU\", \"GDP\", \"HVAC\", \"ID\", \"IT\", \"R&D\", \"TV\", \"UI\"];\n\n/**\n @function titleCase\n @desc Capitalizes the first letter of each word in a phrase/sentence.\n @param {String} str The string to apply the title case logic.\n*/\nexport default function(str) {\n\n if (str === void 0) return \"\";\n\n const smalls = lowercase.map(s => s.toLowerCase());\n\n let bigs = uppercase.slice();\n bigs = bigs.concat(bigs.map(b => `${b}s`));\n const biglow = bigs.map(b => b.toLowerCase());\n\n const split = textSplit(str);\n return split.map((s, i) => {\n if (s) {\n const lower = s.toLowerCase();\n const stripped = suffixChars.includes(lower.charAt(lower.length - 1)) ? lower.slice(0, -1) : lower;\n const bigindex = biglow.indexOf(stripped);\n if (bigindex >= 0) return bigs[bigindex];\n else if (smalls.includes(stripped) && i !== 0 && i !== split.length - 1) return lower;\n else return s.charAt(0).toUpperCase() + s.substr(1).toLowerCase();\n }\n else return \"\";\n }).reduce((ret, s, i) => {\n if (i && str.charAt(ret.length) === \" \") ret += \" \";\n ret += s;\n return ret;\n }, \"\");\n\n}\n"],"names":["fontFamily","fontFamilyStringify","family","map","d","match","join","value","String","JSON","stringify","diacritics","spacer","replace","char","ret","length","RegExp","test","a","b","concat","splitChars","prefixChars","suffixChars","burmeseRange","japaneseRange","chineseRange","laoRange","noSpaceRange","splitWords","noSpaceLanguage","splitAllChars","combiningMarks","sentence","filter","w","merge","trim","str","toString","trimLeft","trimRight","fontSize","fontWeight","height","lineHeight","maxLines","overflow","split","defaultSplit","width","textWrap","Math","ceil","words","style","line","textProg","truncated","widthProg","lineData","sizes","textWidth","space","i","word","wordWidth","indexOf","slice","push","lines","widths","_","arguments","lowercase","uppercase","smalls","s","toLowerCase","bigs","biglow","textSplit","lower","stripped","includes","charAt","bigindex","toUpperCase","substr","reduce"],"mappings":"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;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA;EAAQ,CAAA;EACryE,MAAMC,CAAI,GAAA;EAAC,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;E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"}
@@ -0,0 +1,104 @@
1
+ /*
2
+ @d3plus/text v3.0.0
3
+ A smart SVG text box with line wrapping and automatic font size scaling.
4
+ Copyright (c) 2025 D3plus - https://d3plus.org
5
+ @license MIT
6
+ */
7
+ (u=>{"function"==typeof define&&define.amd?define(u):u()})(function(){if("undefined"!=typeof window){try{if("undefined"==typeof SVGElement||Boolean(SVGElement.prototype.innerHTML))return}catch(u){return}function B(u){switch(u.nodeType){case 1:var A=u,C="";return C+="<"+A.tagName,A.hasAttributes()&&[].forEach.call(A.attributes,function(u){C+=" "+u.name+'="'+u.value+'"'}),C+=">",A.hasChildNodes()&&[].forEach.call(A.childNodes,function(u){C+=B(u)}),C+="</"+A.tagName+">";case 3:return u.textContent.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");case 8:return"\x3c!--"+u.nodeValue+"--\x3e"}}Object.defineProperty(SVGElement.prototype,"innerHTML",{get:function(){var A="";return[].forEach.call(this.childNodes,function(u){A+=B(u)}),A},set:function(u){for(;this.firstChild;)this.removeChild(this.firstChild);try{var A=new DOMParser,C=(A.async=!1,"<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>"+u+"</svg>"),B=A.parseFromString(C,"text/xml").documentElement;[].forEach.call(B.childNodes,function(u){this.appendChild(this.ownerDocument.importNode(u,!0))}.bind(this))}catch(u){throw new Error("Error parsing markup string")}}}),Object.defineProperty(SVGElement.prototype,"innerSVG",{get:function(){return this.innerHTML},set:function(u){this.innerHTML=u}})}}),((u,A)=>{"object"==typeof exports&&"undefined"!=typeof module?A(exports,require("d3-array"),require("@d3plus/dom")):"function"==typeof define&&define.amd?define("@d3plus/text",["exports","d3-array","@d3plus/dom"],A):A((u="undefined"!=typeof globalThis?globalThis:u||self).d3plus={},u.d3Array,u.dom)})(this,function(u,A,p){
8
+ /**
9
+ @function stringify
10
+ @desc Coerces value into a String.
11
+ @param {String} value
12
+ */function m(u){return void 0===u?u="undefined":"string"==typeof u||u instanceof String||(u=JSON.stringify(u)),u}
13
+ // great unicode list: http://asecuritysite.com/coding/asc2
14
+ let D=[[/[\300-\305]/g,"A"],[/[\340-\345]/g,"a"],[/[\306]/g,"AE"],[/[\346]/g,"ae"],[/[\337]/g,"B"],[/[\307]/g,"C"],[/[\347]/g,"c"],[/[\320\336\376]/g,"D"],[/[\360]/g,"d"],[/[\310-\313]/g,"E"],[/[\350-\353]/g,"e"],[/[\314-\317]/g,"I"],[/[\354-\357]/g,"i"],[/[\321]/g,"N"],[/[\361]/g,"n"],[/[\u014c\322-\326\330]/g,"O"],[/[\u014d\362-\366\370]/g,"o"],[/[\u016a\331-\334]/g,"U"],[/[\u016b\371-\374]/g,"u"],[/[\327]/g,"x"],[/[\335]/g,"Y"],[/[\375\377]/g,"y"]];
15
+ /**
16
+ @function strip
17
+ @desc Removes all non ASCII characters from a string.
18
+ @param {String} value
19
+ @param {String} [spacer = "-"]
20
+ */
21
+ // scraped from http://www.fileformat.info/info/unicode/category/Mc/list.htm
22
+ // and http://www.fileformat.info/info/unicode/category/Mn/list.htm
23
+ // JSON.stringify([].slice.call(document.getElementsByClassName("table-list")[0].getElementsByTagName("tr")).filter(function(d){ return d.getElementsByTagName("a").length && d.getElementsByTagName("a")[0].innerHTML.length === 6; }).map(function(d){ return d.getElementsByTagName("a")[0].innerHTML.replace("U", "u").replace("+", ""); }).sort());
24
+ // The following unicode characters combine to form new characters and should never be split from surrounding characters.
25
+ var C=["u0903","u093B","u093E","u093F","u0940","u0949","u094A","u094B","u094C","u094E","u094F","u0982","u0983","u09BE","u09BF","u09C0","u09C7","u09C8","u09CB","u09CC","u09D7","u0A03","u0A3E","u0A3F","u0A40","u0A83","u0ABE","u0ABF","u0AC0","u0AC9","u0ACB","u0ACC","u0B02","u0B03","u0B3E","u0B40","u0B47","u0B48","u0B4B","u0B4C","u0B57","u0BBE","u0BBF","u0BC1","u0BC2","u0BC6","u0BC7","u0BC8","u0BCA","u0BCB","u0BCC","u0BD7","u0C01","u0C02","u0C03","u0C41","u0C42","u0C43","u0C44","u0C82","u0C83","u0CBE","u0CC0","u0CC1","u0CC2","u0CC3","u0CC4","u0CC7","u0CC8","u0CCA","u0CCB","u0CD5","u0CD6","u0D02","u0D03","u0D3E","u0D3F","u0D40","u0D46","u0D47","u0D48","u0D4A","u0D4B","u0D4C","u0D57","u0D82","u0D83","u0DCF","u0DD0","u0DD1","u0DD8","u0DD9","u0DDA","u0DDB","u0DDC","u0DDD","u0DDE","u0DDF","u0DF2","u0DF3","u0F3E","u0F3F","u0F7F","u102B","u102C","u1031","u1038","u103B","u103C","u1056","u1057","u1062","u1063","u1064","u1067","u1068","u1069","u106A","u106B","u106C","u106D","u1083","u1084","u1087","u1088","u1089","u108A","u108B","u108C","u108F","u109A","u109B","u109C","u17B6","u17BE","u17BF","u17C0","u17C1","u17C2","u17C3","u17C4","u17C5","u17C7","u17C8","u1923","u1924","u1925","u1926","u1929","u192A","u192B","u1930","u1931","u1933","u1934","u1935","u1936","u1937","u1938","u1A19","u1A1A","u1A55","u1A57","u1A61","u1A63","u1A64","u1A6D","u1A6E","u1A6F","u1A70","u1A71","u1A72","u1B04","u1B35","u1B3B","u1B3D","u1B3E","u1B3F","u1B40","u1B41","u1B43","u1B44","u1B82","u1BA1","u1BA6","u1BA7","u1BAA","u1BE7","u1BEA","u1BEB","u1BEC","u1BEE","u1BF2","u1BF3","u1C24","u1C25","u1C26","u1C27","u1C28","u1C29","u1C2A","u1C2B","u1C34","u1C35","u1CE1","u1CF2","u1CF3","u302E","u302F","uA823","uA824","uA827","uA880","uA881","uA8B4","uA8B5","uA8B6","uA8B7","uA8B8","uA8B9","uA8BA","uA8BB","uA8BC","uA8BD","uA8BE","uA8BF","uA8C0","uA8C1","uA8C2","uA8C3","uA952","uA953","uA983","uA9B4","uA9B5","uA9BA","uA9BB","uA9BD","uA9BE","uA9BF","uA9C0","uAA2F","uAA30","uAA33","uAA34","uAA4D","uAA7B","uAA7D","uAAEB","uAAEE","uAAEF","uAAF5","uABE3","uABE4","uABE6","uABE7","uABE9","uABEA","uABEC"].concat(["u0300","u0301","u0302","u0303","u0304","u0305","u0306","u0307","u0308","u0309","u030A","u030B","u030C","u030D","u030E","u030F","u0310","u0311","u0312","u0313","u0314","u0315","u0316","u0317","u0318","u0319","u031A","u031B","u031C","u031D","u031E","u031F","u0320","u0321","u0322","u0323","u0324","u0325","u0326","u0327","u0328","u0329","u032A","u032B","u032C","u032D","u032E","u032F","u0330","u0331","u0332","u0333","u0334","u0335","u0336","u0337","u0338","u0339","u033A","u033B","u033C","u033D","u033E","u033F","u0340","u0341","u0342","u0343","u0344","u0345","u0346","u0347","u0348","u0349","u034A","u034B","u034C","u034D","u034E","u034F","u0350","u0351","u0352","u0353","u0354","u0355","u0356","u0357","u0358","u0359","u035A","u035B","u035C","u035D","u035E","u035F","u0360","u0361","u0362","u0363","u0364","u0365","u0366","u0367","u0368","u0369","u036A","u036B","u036C","u036D","u036E","u036F","u0483","u0484","u0485","u0486","u0487","u0591","u0592","u0593","u0594","u0595","u0596","u0597","u0598","u0599","u059A","u059B","u059C","u059D","u059E","u059F","u05A0","u05A1","u05A2","u05A3","u05A4","u05A5","u05A6","u05A7","u05A8","u05A9","u05AA","u05AB","u05AC","u05AD","u05AE","u05AF","u05B0","u05B1","u05B2","u05B3","u05B4","u05B5","u05B6","u05B7","u05B8","u05B9","u05BA","u05BB","u05BC","u05BD","u05BF","u05C1","u05C2","u05C4","u05C5","u05C7","u0610","u0611","u0612","u0613","u0614","u0615","u0616","u0617","u0618","u0619","u061A","u064B","u064C","u064D","u064E","u064F","u0650","u0651","u0652","u0653","u0654","u0655","u0656","u0657","u0658","u0659","u065A","u065B","u065C","u065D","u065E","u065F","u0670","u06D6","u06D7","u06D8","u06D9","u06DA","u06DB","u06DC","u06DF","u06E0","u06E1","u06E2","u06E3","u06E4","u06E7","u06E8","u06EA","u06EB","u06EC","u06ED","u0711","u0730","u0731","u0732","u0733","u0734","u0735","u0736","u0737","u0738","u0739","u073A","u073B","u073C","u073D","u073E","u073F","u0740","u0741","u0742","u0743","u0744","u0745","u0746","u0747","u0748","u0749","u074A","u07A6","u07A7","u07A8","u07A9","u07AA","u07AB","u07AC","u07AD","u07AE","u07AF","u07B0","u07EB","u07EC","u07ED","u07EE","u07EF","u07F0","u07F1","u07F2","u07F3","u0816","u0817","u0818","u0819","u081B","u081C","u081D","u081E","u081F","u0820","u0821","u0822","u0823","u0825","u0826","u0827","u0829","u082A","u082B","u082C","u082D","u0859","u085A","u085B","u08E3","u08E4","u08E5","u08E6","u08E7","u08E8","u08E9","u08EA","u08EB","u08EC","u08ED","u08EE","u08EF","u08F0","u08F1","u08F2","u08F3","u08F4","u08F5","u08F6","u08F7","u08F8","u08F9","u08FA","u08FB","u08FC","u08FD","u08FE","u08FF","u0900","u0901","u0902","u093A","u093C","u0941","u0942","u0943","u0944","u0945","u0946","u0947","u0948","u094D","u0951","u0952","u0953","u0954","u0955","u0956","u0957","u0962","u0963","u0981","u09BC","u09C1","u09C2","u09C3","u09C4","u09CD","u09E2","u09E3","u0A01","u0A02","u0A3C","u0A41","u0A42","u0A47","u0A48","u0A4B","u0A4C","u0A4D","u0A51","u0A70","u0A71","u0A75","u0A81","u0A82","u0ABC","u0AC1","u0AC2","u0AC3","u0AC4","u0AC5","u0AC7","u0AC8","u0ACD","u0AE2","u0AE3","u0B01","u0B3C","u0B3F","u0B41","u0B42","u0B43","u0B44","u0B4D","u0B56","u0B62","u0B63","u0B82","u0BC0","u0BCD","u0C00","u0C3E","u0C3F","u0C40","u0C46","u0C47","u0C48","u0C4A","u0C4B","u0C4C","u0C4D","u0C55","u0C56","u0C62","u0C63","u0C81","u0CBC","u0CBF","u0CC6","u0CCC","u0CCD","u0CE2","u0CE3","u0D01","u0D41","u0D42","u0D43","u0D44","u0D4D","u0D62","u0D63","u0DCA","u0DD2","u0DD3","u0DD4","u0DD6","u0E31","u0E34","u0E35","u0E36","u0E37","u0E38","u0E39","u0E3A","u0E47","u0E48","u0E49","u0E4A","u0E4B","u0E4C","u0E4D","u0E4E","u0EB1","u0EB4","u0EB5","u0EB6","u0EB7","u0EB8","u0EB9","u0EBB","u0EBC","u0EC8","u0EC9","u0ECA","u0ECB","u0ECC","u0ECD","u0F18","u0F19","u0F35","u0F37","u0F39","u0F71","u0F72","u0F73","u0F74","u0F75","u0F76","u0F77","u0F78","u0F79","u0F7A","u0F7B","u0F7C","u0F7D","u0F7E","u0F80","u0F81","u0F82","u0F83","u0F84","u0F86","u0F87","u0F8D","u0F8E","u0F8F","u0F90","u0F91","u0F92","u0F93","u0F94","u0F95","u0F96","u0F97","u0F99","u0F9A","u0F9B","u0F9C","u0F9D","u0F9E","u0F9F","u0FA0","u0FA1","u0FA2","u0FA3","u0FA4","u0FA5","u0FA6","u0FA7","u0FA8","u0FA9","u0FAA","u0FAB","u0FAC","u0FAD","u0FAE","u0FAF","u0FB0","u0FB1","u0FB2","u0FB3","u0FB4","u0FB5","u0FB6","u0FB7","u0FB8","u0FB9","u0FBA","u0FBB","u0FBC","u0FC6","u102D","u102E","u102F","u1030","u1032","u1033","u1034","u1035","u1036","u1037","u1039","u103A","u103D","u103E","u1058","u1059","u105E","u105F","u1060","u1071","u1072","u1073","u1074","u1082","u1085","u1086","u108D","u109D","u135D","u135E","u135F","u1712","u1713","u1714","u1732","u1733","u1734","u1752","u1753","u1772","u1773","u17B4","u17B5","u17B7","u17B8","u17B9","u17BA","u17BB","u17BC","u17BD","u17C6","u17C9","u17CA","u17CB","u17CC","u17CD","u17CE","u17CF","u17D0","u17D1","u17D2","u17D3","u17DD","u180B","u180C","u180D","u18A9","u1920","u1921","u1922","u1927","u1928","u1932","u1939","u193A","u193B","u1A17","u1A18","u1A1B","u1A56","u1A58","u1A59","u1A5A","u1A5B","u1A5C","u1A5D","u1A5E","u1A60","u1A62","u1A65","u1A66","u1A67","u1A68","u1A69","u1A6A","u1A6B","u1A6C","u1A73","u1A74","u1A75","u1A76","u1A77","u1A78","u1A79","u1A7A","u1A7B","u1A7C","u1A7F","u1AB0","u1AB1","u1AB2","u1AB3","u1AB4","u1AB5","u1AB6","u1AB7","u1AB8","u1AB9","u1ABA","u1ABB","u1ABC","u1ABD","u1B00","u1B01","u1B02","u1B03","u1B34","u1B36","u1B37","u1B38","u1B39","u1B3A","u1B3C","u1B42","u1B6B","u1B6C","u1B6D","u1B6E","u1B6F","u1B70","u1B71","u1B72","u1B73","u1B80","u1B81","u1BA2","u1BA3","u1BA4","u1BA5","u1BA8","u1BA9","u1BAB","u1BAC","u1BAD","u1BE6","u1BE8","u1BE9","u1BED","u1BEF","u1BF0","u1BF1","u1C2C","u1C2D","u1C2E","u1C2F","u1C30","u1C31","u1C32","u1C33","u1C36","u1C37","u1CD0","u1CD1","u1CD2","u1CD4","u1CD5","u1CD6","u1CD7","u1CD8","u1CD9","u1CDA","u1CDB","u1CDC","u1CDD","u1CDE","u1CDF","u1CE0","u1CE2","u1CE3","u1CE4","u1CE5","u1CE6","u1CE7","u1CE8","u1CED","u1CF4","u1CF8","u1CF9","u1DC0","u1DC1","u1DC2","u1DC3","u1DC4","u1DC5","u1DC6","u1DC7","u1DC8","u1DC9","u1DCA","u1DCB","u1DCC","u1DCD","u1DCE","u1DCF","u1DD0","u1DD1","u1DD2","u1DD3","u1DD4","u1DD5","u1DD6","u1DD7","u1DD8","u1DD9","u1DDA","u1DDB","u1DDC","u1DDD","u1DDE","u1DDF","u1DE0","u1DE1","u1DE2","u1DE3","u1DE4","u1DE5","u1DE6","u1DE7","u1DE8","u1DE9","u1DEA","u1DEB","u1DEC","u1DED","u1DEE","u1DEF","u1DF0","u1DF1","u1DF2","u1DF3","u1DF4","u1DF5","u1DFC","u1DFD","u1DFE","u1DFF","u20D0","u20D1","u20D2","u20D3","u20D4","u20D5","u20D6","u20D7","u20D8","u20D9","u20DA","u20DB","u20DC","u20E1","u20E5","u20E6","u20E7","u20E8","u20E9","u20EA","u20EB","u20EC","u20ED","u20EE","u20EF","u20F0","u2CEF","u2CF0","u2CF1","u2D7F","u2DE0","u2DE1","u2DE2","u2DE3","u2DE4","u2DE5","u2DE6","u2DE7","u2DE8","u2DE9","u2DEA","u2DEB","u2DEC","u2DED","u2DEE","u2DEF","u2DF0","u2DF1","u2DF2","u2DF3","u2DF4","u2DF5","u2DF6","u2DF7","u2DF8","u2DF9","u2DFA","u2DFB","u2DFC","u2DFD","u2DFE","u2DFF","u302A","u302B","u302C","u302D","u3099","u309A","uA66F","uA674","uA675","uA676","uA677","uA678","uA679","uA67A","uA67B","uA67C","uA67D","uA69E","uA69F","uA6F0","uA6F1","uA802","uA806","uA80B","uA825","uA826","uA8C4","uA8E0","uA8E1","uA8E2","uA8E3","uA8E4","uA8E5","uA8E6","uA8E7","uA8E8","uA8E9","uA8EA","uA8EB","uA8EC","uA8ED","uA8EE","uA8EF","uA8F0","uA8F1","uA926","uA927","uA928","uA929","uA92A","uA92B","uA92C","uA92D","uA947","uA948","uA949","uA94A","uA94B","uA94C","uA94D","uA94E","uA94F","uA950","uA951","uA980","uA981","uA982","uA9B3","uA9B6","uA9B7","uA9B8","uA9B9","uA9BC","uA9E5","uAA29","uAA2A","uAA2B","uAA2C","uAA2D","uAA2E","uAA31","uAA32","uAA35","uAA36","uAA43","uAA4C","uAA7C","uAAB0","uAAB2","uAAB3","uAAB4","uAAB7","uAAB8","uAABE","uAABF","uAAC1","uAAEC","uAAED","uAAF6","uABE5","uABE8","uABED","uFB1E","uFE00","uFE01","uFE02","uFE03","uFE04","uFE05","uFE06","uFE07","uFE08","uFE09","uFE0A","uFE0B","uFE0C","uFE0D","uFE0E","uFE0F","uFE20","uFE21","uFE22","uFE23","uFE24","uFE25","uFE26","uFE27","uFE28","uFE29","uFE2A","uFE2B","uFE2C","uFE2D","uFE2E","uFE2F"]),B=["-",";",":","&","|","u0E2F","u0EAF","u0EC6","u0ECC","u104A","u104B","u104C","u104D","u104E","u104F","u2013","u2014","u2027","u3000","u3001","u3002","uFF0C","uFF5E"];let n=["'",">",")","}","]",".","!","?","/","u00BB","u300B","u3009"].concat(B);var E="က-ဪဿ-၉ၐ-ၕ㐀-龿぀-ゟ゠-ヿ＀-+--}⦅-゚㐀-䶿ກ-ຮະ-ໄ່-໋ໍ-ໝ";let e=new RegExp(`(\\${B.join("|\\")})*[^\\s|\\${B.join("|\\")}]*(\\${B.join("|\\")})*`,"g"),t=new RegExp(`[${E}]`),F=new RegExp(`(\\${["'","<","(","{","[","u00AB","u300A","u3008"].join("|\\")})*[${E}](\\${n.join("|\\")}|\\${C.join("|\\")})*|[a-z0-9]+`,"gi");
26
+ /**
27
+ @function textSplit
28
+ @desc Splits a given sentence into an array of words.
29
+ @param {String} sentence
30
+ */function r(u){return t.test(u)?A.merge(m(u).match(e).map(u=>t.test(u)?u.match(F):[u])):m(u).match(e).filter(u=>u.length)}
31
+ /**
32
+ @function trim
33
+ @desc Cross-browser implementation of [trim](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim).
34
+ @param {String} str
35
+ */
36
+ /**
37
+ @function trimRight
38
+ @desc Cross-browser implementation of [trimRight](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/TrimRight).
39
+ @param {String} str
40
+ */function y(u){return u.toString().replace(/\s+$/,"")}
41
+ /**
42
+ @function textWrap
43
+ @desc Based on the defined styles and dimensions, breaks a string into an array of strings for each line of text.
44
+ */let i=["a","an","and","as","at","but","by","for","from","if","in","into","near","nor","of","on","onto","or","per","that","the","to","with","via","vs","vs."],o=["CEO","CFO","CNC","COO","CPU","GDP","HVAC","ID","IT","R&D","TV","UI"];u.fontFamily=["Inter","Helvetica Neue","HelveticaNeue","Helvetica","Arial","sans-serif"],u.fontFamilyStringify=u=>("string"==typeof u?[u]:u).map(u=>u.match(/^[a-z-_]{1,}$/)?u:`'${u}'`).join(", "),u.stringify=m,u.strip=function(u,B="-"){return(""+u).replace(/[^A-Za-z0-9\-_\u0621-\u064A]/g,A=>{if(" "===A)return B;let C=!1;for(let u=0;u<D.length;u++)if(new RegExp(D[u][0]).test(A)){C=D[u][1];break}return C||""})},u.textSplit=r,u.textWrap=function(){let o="sans-serif",a=10,l=400,f=200,c,s=null,g=!1,h=r,d=200;
45
+ /**
46
+ The inner return object and wraps the text and returns the line data array.
47
+ @private
48
+ */function A(A){A=m(A),void 0===c&&(c=Math.ceil(1.4*a));var C=h(A),u={"font-family":o,"font-size":a,"font-weight":l,"line-height":c};let B=1,D="",E=!1,e=0;var t=[],F=p.textWidth(C,u),n=p.textWidth(" ",u);for(let u=0;u<C.length;u++){var r=C[u],i=F[C.indexOf(r)];if(r+=A.slice(D.length+r.length).match("^( |\n)*","g")[0],"\n"===D.slice(-1)||e+i>d){if(!u&&!g){E=!0;break}if(t.length>=B&&(t[B-1]=y(t[B-1])),B++,c*B>f||i>d&&!g||s&&B>s){E=!0;break}e=0,t.push(r)}else u?t[B-1]+=r:t[0]=r;D+=r,e=(e+=i)+r.match(/[\s]*$/g)[0].length*n}return{lines:t,sentence:A,truncated:E,widths:p.textWidth(t,u),words:C}}
49
+ /**
50
+ @memberof textWrap
51
+ @desc If *value* is specified, sets the font family accessor to the specified function or string and returns this generator. If *value* is not specified, returns the current font family.
52
+ @param {Function|String} [*value* = "sans-serif"]
53
+ */return A.fontFamily=function(u){return arguments.length?(o=u,A):o},
54
+ /**
55
+ @memberof textWrap
56
+ @desc If *value* is specified, sets the font size accessor to the specified function or number and returns this generator. If *value* is not specified, returns the current font size.
57
+ @param {Function|Number} [*value* = 10]
58
+ */A.fontSize=function(u){return arguments.length?(a=u,A):a},
59
+ /**
60
+ @memberof textWrap
61
+ @desc If *value* is specified, sets the font weight accessor to the specified function or number and returns this generator. If *value* is not specified, returns the current font weight.
62
+ @param {Function|Number|String} [*value* = 400]
63
+ */A.fontWeight=function(u){return arguments.length?(l=u,A):l},
64
+ /**
65
+ @memberof textWrap
66
+ @desc If *value* is specified, sets height limit to the specified value and returns this generator. If *value* is not specified, returns the current value.
67
+ @param {Number} [*value* = 200]
68
+ */A.height=function(u){return arguments.length?(f=u,A):f},
69
+ /**
70
+ @memberof textWrap
71
+ @desc If *value* is specified, sets the line height accessor to the specified function or number and returns this generator. If *value* is not specified, returns the current line height accessor, which is 1.1 times the [font size](#textWrap.fontSize) by default.
72
+ @param {Function|Number} [*value*]
73
+ */A.lineHeight=function(u){return arguments.length?(c=u,A):c},
74
+ /**
75
+ @memberof textWrap
76
+ @desc If *value* is specified, sets the maximum number of lines allowed when wrapping.
77
+ @param {Function|Number} [*value*]
78
+ */A.maxLines=function(u){return arguments.length?(s=u,A):s},
79
+ /**
80
+ @memberof textWrap
81
+ @desc If *value* is specified, sets the overflow to the specified boolean and returns this generator. If *value* is not specified, returns the current overflow value.
82
+ @param {Boolean} [*value* = false]
83
+ */A.overflow=function(u){return arguments.length?(g=u,A):g},
84
+ /**
85
+ @memberof textWrap
86
+ @desc If *value* is specified, sets the word split function to the specified function and returns this generator. If *value* is not specified, returns the current word split function.
87
+ @param {Function} [*value*] A function that, when passed a string, is expected to return that string split into an array of words to textWrap. The default split function splits strings on the following characters: `-`, `/`, `;`, `:`, `&`
88
+ */A.split=function(u){return arguments.length?(h=u,A):h},
89
+ /**
90
+ @memberof textWrap
91
+ @desc If *value* is specified, sets width limit to the specified value and returns this generator. If *value* is not specified, returns the current value.
92
+ @param {Number} [*value* = 200]
93
+ */A.width=function(u){return arguments.length?(d=u,A):d},A},u.titleCase=
94
+ /**
95
+ @function titleCase
96
+ @desc Capitalizes the first letter of each word in a phrase/sentence.
97
+ @param {String} str The string to apply the title case logic.
98
+ */function(B){if(void 0===B)return"";let E=i.map(u=>u.toLowerCase()),e=o.slice(),t=(e=e.concat(e.map(u=>u+"s"))).map(u=>u.toLowerCase()),F=r(B);return F.map((u,A)=>{var C,B,D;return u?(C=u.toLowerCase(),B=n.includes(C.charAt(C.length-1))?C.slice(0,-1):C,0<=(D=t.indexOf(B))?e[D]:E.includes(B)&&0!==A&&A!==F.length-1?C:u.charAt(0).toUpperCase()+u.substr(1).toLowerCase()):""}).reduce((u,A,C)=>(C&&" "===B.charAt(u.length)&&(u+=" "),u+=A),"")},u.trim=function(u){return u.toString().replace(/^\s+|\s+$/g,"")}
99
+ /**
100
+ @function trimLeft
101
+ @desc Cross-browser implementation of [trimLeft](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/TrimLeft).
102
+ @param {String} str
103
+ */,u.trimLeft=function(u){return u.toString().replace(/^\s+/,"")},u.trimRight=y});
104
+ //# sourceMappingURL=d3plus-text.js.map