From d9bb03c5508368aa06e67a99ad3c2d400d0232db Mon Sep 17 00:00:00 2001 From: robintown Date: Fri, 2 Feb 2024 14:41:36 +0000 Subject: [PATCH] deploy: aee9da51daa3c8d7d8e41102e6c722cc35d7e84e --- ...60a9dc10.js => Action.stories-b26816a7.js} | 4 +- ....js.map => Action.stories-b26816a7.js.map} | 2 +- assets/Alert.stories-1a22f2d0.js | 40 ------------- assets/Alert.stories-bd2758e5.js | 40 +++++++++++++ ...0.js.map => Alert.stories-bd2758e5.js.map} | 2 +- ...{Avatar-8476321f.js => Avatar-0e9d46df.js} | 4 +- ...8476321f.js.map => Avatar-0e9d46df.js.map} | 2 +- assets/Avatar-5be843e9.css | 1 - assets/Avatar-9ed01f75.css | 1 + assets/Avatar.stories-779908ff.js | 15 +++++ assets/Avatar.stories-779908ff.js.map | 1 + assets/Avatar.stories-89eb081c.js | 19 ------ assets/Avatar.stories-89eb081c.js.map | 1 - ...3dc.js => AvatarStack.stories-c133ad63.js} | 4 +- ...ap => AvatarStack.stories-c133ad63.js.map} | 2 +- ...4af9b8b2.js => Button.stories-635607f4.js} | 4 +- ....js.map => Button.stories-635607f4.js.map} | 2 +- ...ckbox-a96cb290.js => Checkbox-87ef6d46.js} | 4 +- ...6cb290.js.map => Checkbox-87ef6d46.js.map} | 2 +- ...361133.js => Checkbox.stories-23f650e3.js} | 4 +- ...s.map => Checkbox.stories-23f650e3.js.map} | 2 +- ...c775176e.js => Color-6VNJS4EI-4d897289.js} | 4 +- ....js.map => Color-6VNJS4EI-4d897289.js.map} | 2 +- ...816.js => ContextMenu.stories-786a6291.js} | 4 +- ...ap => ContextMenu.stories-786a6291.js.map} | 2 +- ...7.js => DocsRenderer-3PUGWF3O-e0967366.js} | 12 ++-- ... => DocsRenderer-3PUGWF3O-e0967366.js.map} | 2 +- ...240c.js => DrawerMenu.stories-7cfbb9b3.js} | 4 +- assets/DrawerMenu.stories-7cfbb9b3.js.map | 1 + assets/DrawerMenu.stories-d3e6240c.js.map | 1 - ...28.js => FloatingMenu.stories-165facb2.js} | 4 +- assets/FloatingMenu.stories-165facb2.js.map | 1 + assets/FloatingMenu.stories-b13bb728.js.map | 1 - assets/Form.stories-bbb92e80.js.map | 1 - ...s-bbb92e80.js => Form.stories-e5ad6c60.js} | 4 +- assets/Form.stories-e5ad6c60.js.map | 1 + ...obalScrollAreaStyles-UY5SB7EJ-4ff503a1.js} | 4 +- ...ScrollAreaStyles-UY5SB7EJ-4ff503a1.js.map} | 2 +- ...c3c3.js => IconButton.stories-74f840ff.js} | 4 +- ...map => IconButton.stories-74f840ff.js.map} | 2 +- assets/IndicatorIcon.stories-076661a1.js | 40 ------------- assets/IndicatorIcon.stories-076661a1.js.map | 1 - assets/IndicatorIcon.stories-4de0da7c.js | 40 +++++++++++++ assets/IndicatorIcon.stories-4de0da7c.js.map | 1 + ...s-87369f92.js => Menu.stories-befb65f1.js} | 4 +- ...92.js.map => Menu.stories-befb65f1.js.map} | 2 +- ...uItem-d5d526f6.js => MenuItem-88b28948.js} | 6 +- ...d526f6.js.map => MenuItem-88b28948.js.map} | 2 +- assets/MenuItem.stories-8f896e63.js | 59 ------------------- assets/MenuItem.stories-8f896e63.js.map | 1 - assets/MenuItem.stories-9d76d089.js | 59 +++++++++++++++++++ assets/MenuItem.stories-9d76d089.js.map | 1 + assets/Password-28092254.js | 12 ++++ ...84ed29.js.map => Password-28092254.js.map} | 2 +- assets/Password-8f84ed29.js | 12 ---- ...e76a29.js => Password.stories-8938dec6.js} | 4 +- ...s.map => Password.stories-8938dec6.js.map} | 2 +- assets/Search.stories-6ea0d179.js | 4 -- assets/Search.stories-948dc9f2.js | 4 ++ ....js.map => Search.stories-948dc9f2.js.map} | 2 +- ...{Submit-c0b568a4.js => Submit-05384f2c.js} | 4 +- ...c0b568a4.js.map => Submit-05384f2c.js.map} | 2 +- ....js => ToggleMenuItem.stories-b646ec86.js} | 4 +- ...=> ToggleMenuItem.stories-b646ec86.js.map} | 2 +- ...b665b59.js => Tooltip.stories-d6854e9f.js} | 4 +- ...js.map => Tooltip.stories-d6854e9f.js.map} | 2 +- assets/WithTooltip-J57HCPYA-bdd39b74.js.map | 1 - ...74.js => WithTooltip-J57HCPYA-d62f3d23.js} | 4 +- assets/WithTooltip-J57HCPYA-d62f3d23.js.map | 1 + assets/chat-32938aa3.js | 2 - assets/chat-32938aa3.js.map | 1 - assets/chat-70a3445a.svg | 3 - assets/chat-ae65e692.js | 2 + assets/chat-ae65e692.js.map | 1 + assets/chat-e5fb1f5a.svg | 3 + assets/chat-problem-343c974f.svg | 5 -- assets/chat-problem-fc99e9c6.svg | 4 ++ assets/check-1213aaff.svg | 3 + assets/check-31827fb8.svg | 3 - assets/check-c066cea7.js | 2 - assets/check-c066cea7.js.map | 1 - assets/check-circle-24052b63.svg | 3 + assets/check-circle-2f31501c.svg | 3 - assets/check-f848529e.js | 2 + assets/check-f848529e.js.map | 1 + assets/chevron-right-79dfe903.svg | 3 + assets/chevron-right-fdefe9e2.svg | 3 - assets/close-68295d03.svg | 3 + assets/close-73854e08.js | 2 - assets/close-73854e08.js.map | 1 - assets/close-96e29df1.svg | 3 - assets/close-e61dae86.js | 2 + assets/close-e61dae86.js.map | 1 + assets/error-2e5f5eee.js | 2 - assets/error-2e5f5eee.js.map | 1 - assets/error-a33e3c4a.js | 2 + assets/error-a33e3c4a.js.map | 1 + assets/error-ab589ba9.svg | 3 + assets/error-c3ac16c0.svg | 3 - assets/extensions-1e75772c.svg | 6 -- assets/extensions-37e27587.js | 2 + assets/extensions-37e27587.js.map | 1 + assets/extensions-39c6de6e.js | 2 - assets/extensions-39c6de6e.js.map | 1 - assets/extensions-53cc3b82.svg | 3 + ...9f72.js => formatter-SWP5E3XI-90a38bfd.js} | 4 +- ...map => formatter-SWP5E3XI-90a38bfd.js.map} | 2 +- ...{iframe-daa48dad.js => iframe-620f8dd0.js} | 4 +- ...daa48dad.js.map => iframe-620f8dd0.js.map} | 2 +- assets/info-3acb7537.svg | 5 -- assets/info-e7ae8a59.svg | 4 ++ assets/leave-32211dcd.js | 2 + assets/leave-32211dcd.js.map | 1 + assets/leave-b78dbb53.svg | 5 -- assets/leave-d250dd73.svg | 4 ++ assets/leave-e92ccc05.js | 2 - assets/leave-e92ccc05.js.map | 1 - assets/notifications-3f7a9bd7.svg | 3 + assets/notifications-71d89bed.svg | 4 -- ...review-1a50f817.js => preview-2732f054.js} | 4 +- ...a50f817.js.map => preview-2732f054.js.map} | 2 +- assets/preview-619ac531.css | 1 + ...review-14a25db5.js => preview-88f2ac7c.js} | 2 +- ...4a25db5.js.map => preview-88f2ac7c.js.map} | 2 +- assets/preview-fae59248.css | 1 - assets/search-14535427.svg | 3 + assets/search-d84874c8.svg | 3 - assets/settings-2fd82e3d.svg | 4 -- assets/settings-e0ac087e.svg | 4 ++ ...=> syntaxhighlighter-PONEFOSF-42fc5292.js} | 4 +- ...syntaxhighlighter-PONEFOSF-42fc5292.js.map | 1 + ...syntaxhighlighter-PONEFOSF-d08fafcd.js.map | 1 - assets/threads-solid-9a29ced9.svg | 3 - assets/threads-solid-a34fad02.svg | 3 + assets/user-profile-57483365.svg | 5 -- assets/user-profile-58cfef83.svg | 5 ++ assets/user-profile-5dd823c8.js | 2 + assets/user-profile-5dd823c8.js.map | 1 + assets/user-profile-9aa97790.js | 2 - assets/user-profile-9aa97790.js.map | 1 - assets/visibility-off-269f1f40.svg | 3 + assets/visibility-off-d536dbfa.svg | 3 - assets/visibility-on-0e89b72e.js | 2 + assets/visibility-on-0e89b72e.js.map | 1 + assets/visibility-on-119e9645.js | 2 - assets/visibility-on-119e9645.js.map | 1 - assets/visibility-on-610d0224.svg | 3 + assets/visibility-on-943a50b5.svg | 3 - iframe.html | 2 +- project.json | 2 +- 150 files changed, 343 insertions(+), 354 deletions(-) rename assets/{Action.stories-60a9dc10.js => Action.stories-b26816a7.js} (96%) rename assets/{Action.stories-60a9dc10.js.map => Action.stories-b26816a7.js.map} (60%) delete mode 100644 assets/Alert.stories-1a22f2d0.js create mode 100644 assets/Alert.stories-bd2758e5.js rename assets/{Alert.stories-1a22f2d0.js.map => Alert.stories-bd2758e5.js.map} (72%) rename assets/{Avatar-8476321f.js => Avatar-0e9d46df.js} (98%) rename assets/{Avatar-8476321f.js.map => Avatar-0e9d46df.js.map} (99%) delete mode 100644 assets/Avatar-5be843e9.css create mode 100644 assets/Avatar-9ed01f75.css create mode 100644 assets/Avatar.stories-779908ff.js create mode 100644 assets/Avatar.stories-779908ff.js.map delete mode 100644 assets/Avatar.stories-89eb081c.js delete mode 100644 assets/Avatar.stories-89eb081c.js.map rename assets/{AvatarStack.stories-83f1c3dc.js => AvatarStack.stories-c133ad63.js} (99%) rename assets/{AvatarStack.stories-83f1c3dc.js.map => AvatarStack.stories-c133ad63.js.map} (99%) rename assets/{Button.stories-4af9b8b2.js => Button.stories-635607f4.js} (97%) rename assets/{Button.stories-4af9b8b2.js.map => Button.stories-635607f4.js.map} (63%) rename assets/{Checkbox-a96cb290.js => Checkbox-87ef6d46.js} (91%) rename assets/{Checkbox-a96cb290.js.map => Checkbox-87ef6d46.js.map} (97%) rename assets/{Checkbox.stories-04361133.js => Checkbox.stories-23f650e3.js} (97%) rename assets/{Checkbox.stories-04361133.js.map => Checkbox.stories-23f650e3.js.map} (67%) rename assets/{Color-6VNJS4EI-c775176e.js => Color-6VNJS4EI-4d897289.js} (99%) rename assets/{Color-6VNJS4EI-c775176e.js.map => Color-6VNJS4EI-4d897289.js.map} (99%) rename assets/{ContextMenu.stories-a8e56816.js => ContextMenu.stories-786a6291.js} (96%) rename assets/{ContextMenu.stories-a8e56816.js.map => ContextMenu.stories-786a6291.js.map} (99%) rename assets/{DocsRenderer-3PUGWF3O-b2a60407.js => DocsRenderer-3PUGWF3O-e0967366.js} (99%) rename assets/{DocsRenderer-3PUGWF3O-b2a60407.js.map => DocsRenderer-3PUGWF3O-e0967366.js.map} (99%) rename assets/{DrawerMenu.stories-d3e6240c.js => DrawerMenu.stories-7cfbb9b3.js} (86%) create mode 100644 assets/DrawerMenu.stories-7cfbb9b3.js.map delete mode 100644 assets/DrawerMenu.stories-d3e6240c.js.map rename assets/{FloatingMenu.stories-b13bb728.js => FloatingMenu.stories-165facb2.js} (86%) create mode 100644 assets/FloatingMenu.stories-165facb2.js.map delete mode 100644 assets/FloatingMenu.stories-b13bb728.js.map delete mode 100644 assets/Form.stories-bbb92e80.js.map rename assets/{Form.stories-bbb92e80.js => Form.stories-e5ad6c60.js} (90%) create mode 100644 assets/Form.stories-e5ad6c60.js.map rename assets/{GlobalScrollAreaStyles-UY5SB7EJ-b882cf80.js => GlobalScrollAreaStyles-UY5SB7EJ-4ff503a1.js} (98%) rename assets/{GlobalScrollAreaStyles-UY5SB7EJ-b882cf80.js.map => GlobalScrollAreaStyles-UY5SB7EJ-4ff503a1.js.map} (99%) rename assets/{IconButton.stories-220cc3c3.js => IconButton.stories-74f840ff.js} (94%) rename assets/{IconButton.stories-220cc3c3.js.map => IconButton.stories-74f840ff.js.map} (56%) delete mode 100644 assets/IndicatorIcon.stories-076661a1.js delete mode 100644 assets/IndicatorIcon.stories-076661a1.js.map create mode 100644 assets/IndicatorIcon.stories-4de0da7c.js create mode 100644 assets/IndicatorIcon.stories-4de0da7c.js.map rename assets/{Menu.stories-87369f92.js => Menu.stories-befb65f1.js} (95%) rename assets/{Menu.stories-87369f92.js.map => Menu.stories-befb65f1.js.map} (99%) rename assets/{MenuItem-d5d526f6.js => MenuItem-88b28948.js} (55%) rename assets/{MenuItem-d5d526f6.js.map => MenuItem-88b28948.js.map} (81%) delete mode 100644 assets/MenuItem.stories-8f896e63.js delete mode 100644 assets/MenuItem.stories-8f896e63.js.map create mode 100644 assets/MenuItem.stories-9d76d089.js create mode 100644 assets/MenuItem.stories-9d76d089.js.map create mode 100644 assets/Password-28092254.js rename assets/{Password-8f84ed29.js.map => Password-28092254.js.map} (78%) delete mode 100644 assets/Password-8f84ed29.js rename assets/{Password.stories-d9e76a29.js => Password.stories-8938dec6.js} (99%) rename assets/{Password.stories-d9e76a29.js.map => Password.stories-8938dec6.js.map} (99%) delete mode 100644 assets/Search.stories-6ea0d179.js create mode 100644 assets/Search.stories-948dc9f2.js rename assets/{Search.stories-6ea0d179.js.map => Search.stories-948dc9f2.js.map} (76%) rename assets/{Submit-c0b568a4.js => Submit-05384f2c.js} (98%) rename assets/{Submit-c0b568a4.js.map => Submit-05384f2c.js.map} (99%) rename assets/{ToggleMenuItem.stories-c6256d1c.js => ToggleMenuItem.stories-b646ec86.js} (92%) rename assets/{ToggleMenuItem.stories-c6256d1c.js.map => ToggleMenuItem.stories-b646ec86.js.map} (97%) rename assets/{Tooltip.stories-5b665b59.js => Tooltip.stories-d6854e9f.js} (97%) rename assets/{Tooltip.stories-5b665b59.js.map => Tooltip.stories-d6854e9f.js.map} (61%) delete mode 100644 assets/WithTooltip-J57HCPYA-bdd39b74.js.map rename assets/{WithTooltip-J57HCPYA-bdd39b74.js => WithTooltip-J57HCPYA-d62f3d23.js} (58%) create mode 100644 assets/WithTooltip-J57HCPYA-d62f3d23.js.map delete mode 100644 assets/chat-32938aa3.js delete mode 100644 assets/chat-32938aa3.js.map delete mode 100644 assets/chat-70a3445a.svg create mode 100644 assets/chat-ae65e692.js create mode 100644 assets/chat-ae65e692.js.map create mode 100644 assets/chat-e5fb1f5a.svg delete mode 100644 assets/chat-problem-343c974f.svg create mode 100644 assets/chat-problem-fc99e9c6.svg create mode 100644 assets/check-1213aaff.svg delete mode 100644 assets/check-31827fb8.svg delete mode 100644 assets/check-c066cea7.js delete mode 100644 assets/check-c066cea7.js.map create mode 100644 assets/check-circle-24052b63.svg delete mode 100644 assets/check-circle-2f31501c.svg create mode 100644 assets/check-f848529e.js create mode 100644 assets/check-f848529e.js.map create mode 100644 assets/chevron-right-79dfe903.svg delete mode 100644 assets/chevron-right-fdefe9e2.svg create mode 100644 assets/close-68295d03.svg delete mode 100644 assets/close-73854e08.js delete mode 100644 assets/close-73854e08.js.map delete mode 100644 assets/close-96e29df1.svg create mode 100644 assets/close-e61dae86.js create mode 100644 assets/close-e61dae86.js.map delete mode 100644 assets/error-2e5f5eee.js delete mode 100644 assets/error-2e5f5eee.js.map create mode 100644 assets/error-a33e3c4a.js create mode 100644 assets/error-a33e3c4a.js.map create mode 100644 assets/error-ab589ba9.svg delete mode 100644 assets/error-c3ac16c0.svg delete mode 100644 assets/extensions-1e75772c.svg create mode 100644 assets/extensions-37e27587.js create mode 100644 assets/extensions-37e27587.js.map delete mode 100644 assets/extensions-39c6de6e.js delete mode 100644 assets/extensions-39c6de6e.js.map create mode 100644 assets/extensions-53cc3b82.svg rename assets/{formatter-SWP5E3XI-c6f69f72.js => formatter-SWP5E3XI-90a38bfd.js} (99%) rename assets/{formatter-SWP5E3XI-c6f69f72.js.map => formatter-SWP5E3XI-90a38bfd.js.map} (99%) rename assets/{iframe-daa48dad.js => iframe-620f8dd0.js} (75%) rename assets/{iframe-daa48dad.js.map => iframe-620f8dd0.js.map} (99%) delete mode 100644 assets/info-3acb7537.svg create mode 100644 assets/info-e7ae8a59.svg create mode 100644 assets/leave-32211dcd.js create mode 100644 assets/leave-32211dcd.js.map delete mode 100644 assets/leave-b78dbb53.svg create mode 100644 assets/leave-d250dd73.svg delete mode 100644 assets/leave-e92ccc05.js delete mode 100644 assets/leave-e92ccc05.js.map create mode 100644 assets/notifications-3f7a9bd7.svg delete mode 100644 assets/notifications-71d89bed.svg rename assets/{preview-1a50f817.js => preview-2732f054.js} (53%) rename assets/{preview-1a50f817.js.map => preview-2732f054.js.map} (91%) create mode 100644 assets/preview-619ac531.css rename assets/{preview-14a25db5.js => preview-88f2ac7c.js} (96%) rename assets/{preview-14a25db5.js.map => preview-88f2ac7c.js.map} (98%) delete mode 100644 assets/preview-fae59248.css create mode 100644 assets/search-14535427.svg delete mode 100644 assets/search-d84874c8.svg delete mode 100644 assets/settings-2fd82e3d.svg create mode 100644 assets/settings-e0ac087e.svg rename assets/{syntaxhighlighter-PONEFOSF-d08fafcd.js => syntaxhighlighter-PONEFOSF-42fc5292.js} (58%) create mode 100644 assets/syntaxhighlighter-PONEFOSF-42fc5292.js.map delete mode 100644 assets/syntaxhighlighter-PONEFOSF-d08fafcd.js.map delete mode 100644 assets/threads-solid-9a29ced9.svg create mode 100644 assets/threads-solid-a34fad02.svg delete mode 100644 assets/user-profile-57483365.svg create mode 100644 assets/user-profile-58cfef83.svg create mode 100644 assets/user-profile-5dd823c8.js create mode 100644 assets/user-profile-5dd823c8.js.map delete mode 100644 assets/user-profile-9aa97790.js delete mode 100644 assets/user-profile-9aa97790.js.map create mode 100644 assets/visibility-off-269f1f40.svg delete mode 100644 assets/visibility-off-d536dbfa.svg create mode 100644 assets/visibility-on-0e89b72e.js create mode 100644 assets/visibility-on-0e89b72e.js.map delete mode 100644 assets/visibility-on-119e9645.js delete mode 100644 assets/visibility-on-119e9645.js.map create mode 100644 assets/visibility-on-610d0224.svg delete mode 100644 assets/visibility-on-943a50b5.svg diff --git a/assets/Action.stories-60a9dc10.js b/assets/Action.stories-b26816a7.js similarity index 96% rename from assets/Action.stories-60a9dc10.js rename to assets/Action.stories-b26816a7.js index dc61a13b..d7c3c8b6 100644 --- a/assets/Action.stories-60a9dc10.js +++ b/assets/Action.stories-b26816a7.js @@ -1,4 +1,4 @@ -import{j as s}from"./jsx-runtime-f6d73c06.js";import{C as z}from"./chat-32938aa3.js";import{C as F}from"./check-c066cea7.js";import{S as Q}from"./close-73854e08.js";import{A as i}from"./Action-a9c31ef6.js";import{T as U}from"./TooltipProvider-1374ddd1.js";import"./index-8ee6c85d.js";import"./_commonjsHelpers-de833af9.js";import"./index-e131923d.js";import"./Text-67f23194.js";import"./index-473717ad.js";import"./index-fc9b93e8.js";import"./index-79556c5a.js";import"./index-6e117a6c.js";import"./index-8bf7f4ad.js";import"./useId-a94b91a4.js";import"./Tooltip-7b34be2e.js";import"./index-67f1f257.js";const d={chat:z,check:F,close:Q},Y={title:"Form/Controls/Action",component:i,tags:["autodocs"],parameters:{controls:{include:["onActionClick","defaultValue","placeholder","disabled","autoFocus","readOnly","invalid","actionLabel","Icon"]}},argTypes:{onActionClick:{action:"clicked"},defaultValue:{type:"string"},placeholder:{type:"string"},disabled:{type:"boolean"},autoFocus:{type:"boolean"},readOnly:{type:"boolean"},invalid:{type:"boolean"},actionLabel:{type:"string"},Icon:{options:Object.keys(d),mapping:d,defaultValue:"check",control:{type:"select"}}},render:({invalid:V,...q})=>s.jsx(U,{children:s.jsx(i,{"data-invalid":V||void 0,...q})}),args:{placeholder:"",autoFocus:!1,disabled:!1,readOnly:!1,invalid:!1,actionLabel:"Action",Icon:F}},e={parameters:{design:{type:"figma",url:"https://www.figma.com/file/rTaQE2nIUSLav4Tg3nozq7/Compound-Web-Components?type=design&node-id=793-4477"}}},a={args:{defaultValue:"Filled"},parameters:{design:{type:"figma",url:"https://www.figma.com/file/rTaQE2nIUSLav4Tg3nozq7/Compound-Web-Components?type=design&node-id=793-4536"}}},o={args:{defaultValue:"Disabled",disabled:!0},parameters:{design:{type:"figma",url:"https://www.figma.com/file/rTaQE2nIUSLav4Tg3nozq7/Compound-Web-Components?type=design&node-id=793-4530"}}},n={args:{defaultValue:"Read only",readOnly:!0},parameters:{design:{type:"figma",url:"https://www.figma.com/file/rTaQE2nIUSLav4Tg3nozq7/Compound-Web-Components?type=design&node-id=2126-21984"}}},r={args:{autoFocus:!0}},t={args:{defaultValue:"Invalid",invalid:!0},parameters:{design:{type:"figma",url:"https://www.figma.com/file/rTaQE2nIUSLav4Tg3nozq7/Compound-Web-Components?type=design&node-id=793-4514"}}};var p,m,l;e.parameters={...e.parameters,docs:{...(p=e.parameters)==null?void 0:p.docs,source:{originalSource:`{ +import{j as s}from"./jsx-runtime-f6d73c06.js";import{C as z}from"./chat-ae65e692.js";import{C as F}from"./check-f848529e.js";import{S as Q}from"./close-e61dae86.js";import{A as i}from"./Action-a9c31ef6.js";import{T as U}from"./TooltipProvider-1374ddd1.js";import"./index-8ee6c85d.js";import"./_commonjsHelpers-de833af9.js";import"./index-e131923d.js";import"./Text-67f23194.js";import"./index-473717ad.js";import"./index-fc9b93e8.js";import"./index-79556c5a.js";import"./index-6e117a6c.js";import"./index-8bf7f4ad.js";import"./useId-a94b91a4.js";import"./Tooltip-7b34be2e.js";import"./index-67f1f257.js";const d={chat:z,check:F,close:Q},Y={title:"Form/Controls/Action",component:i,tags:["autodocs"],parameters:{controls:{include:["onActionClick","defaultValue","placeholder","disabled","autoFocus","readOnly","invalid","actionLabel","Icon"]}},argTypes:{onActionClick:{action:"clicked"},defaultValue:{type:"string"},placeholder:{type:"string"},disabled:{type:"boolean"},autoFocus:{type:"boolean"},readOnly:{type:"boolean"},invalid:{type:"boolean"},actionLabel:{type:"string"},Icon:{options:Object.keys(d),mapping:d,defaultValue:"check",control:{type:"select"}}},render:({invalid:V,...q})=>s.jsx(U,{children:s.jsx(i,{"data-invalid":V||void 0,...q})}),args:{placeholder:"",autoFocus:!1,disabled:!1,readOnly:!1,invalid:!1,actionLabel:"Action",Icon:F}},e={parameters:{design:{type:"figma",url:"https://www.figma.com/file/rTaQE2nIUSLav4Tg3nozq7/Compound-Web-Components?type=design&node-id=793-4477"}}},a={args:{defaultValue:"Filled"},parameters:{design:{type:"figma",url:"https://www.figma.com/file/rTaQE2nIUSLav4Tg3nozq7/Compound-Web-Components?type=design&node-id=793-4536"}}},o={args:{defaultValue:"Disabled",disabled:!0},parameters:{design:{type:"figma",url:"https://www.figma.com/file/rTaQE2nIUSLav4Tg3nozq7/Compound-Web-Components?type=design&node-id=793-4530"}}},n={args:{defaultValue:"Read only",readOnly:!0},parameters:{design:{type:"figma",url:"https://www.figma.com/file/rTaQE2nIUSLav4Tg3nozq7/Compound-Web-Components?type=design&node-id=2126-21984"}}},r={args:{autoFocus:!0}},t={args:{defaultValue:"Invalid",invalid:!0},parameters:{design:{type:"figma",url:"https://www.figma.com/file/rTaQE2nIUSLav4Tg3nozq7/Compound-Web-Components?type=design&node-id=793-4514"}}};var p,m,l;e.parameters={...e.parameters,docs:{...(p=e.parameters)==null?void 0:p.docs,source:{originalSource:`{ parameters: { design: { type: "figma", @@ -53,4 +53,4 @@ import{j as s}from"./jsx-runtime-f6d73c06.js";import{C as z}from"./chat-32938aa3 } } }`,...(L=(E=t.parameters)==null?void 0:E.docs)==null?void 0:L.source}}};const Z=["Empty","Filled","Disabled","ReadOnly","Focused","Invalid"];export{o as Disabled,e as Empty,a as Filled,r as Focused,t as Invalid,n as ReadOnly,Z as __namedExportsOrder,Y as default}; -//# sourceMappingURL=Action.stories-60a9dc10.js.map +//# sourceMappingURL=Action.stories-b26816a7.js.map diff --git a/assets/Action.stories-60a9dc10.js.map b/assets/Action.stories-b26816a7.js.map similarity index 60% rename from assets/Action.stories-60a9dc10.js.map rename to assets/Action.stories-b26816a7.js.map index cbb5f69b..23c02595 100644 --- a/assets/Action.stories-60a9dc10.js.map +++ b/assets/Action.stories-b26816a7.js.map @@ -1 +1 @@ -{"version":3,"file":"Action.stories-60a9dc10.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"Action.stories-b26816a7.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/assets/Alert.stories-1a22f2d0.js b/assets/Alert.stories-1a22f2d0.js deleted file mode 100644 index dded2d16..00000000 --- a/assets/Alert.stories-1a22f2d0.js +++ /dev/null @@ -1,40 +0,0 @@ -import{j as e}from"./jsx-runtime-f6d73c06.js";import{B as u}from"./Button-abe57c7a.js";import{c as I}from"./index-e131923d.js";import{r as Z}from"./index-8ee6c85d.js";import{S as k}from"./error-2e5f5eee.js";import{S as V}from"./close-73854e08.js";import{T as p}from"./Text-270962e1.js";import{I as W}from"./IconButton-dea21e21.js";import"./UnstyledButton-60dcee3b.js";import"./_commonjsHelpers-de833af9.js";import"./Typography-1dd46c86.js";import"./IndicatorIcon-240b404b.js";const U=t=>e.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"cpd-icon",...t,children:e.jsx("path",{d:"M10.6 13.8L8.45 11.65C8.26667 11.4667 8.03333 11.375 7.75 11.375C7.46667 11.375 7.23333 11.4667 7.05 11.65C6.86667 11.8333 6.775 12.0667 6.775 12.35C6.775 12.6333 6.86667 12.8667 7.05 13.05L9.9 15.9C10.1 16.1 10.3333 16.2 10.6 16.2C10.8667 16.2 11.1 16.1 11.3 15.9L16.95 10.25C17.1333 10.0667 17.225 9.83333 17.225 9.55C17.225 9.26667 17.1333 9.03333 16.95 8.85C16.7667 8.66667 16.5333 8.575 16.25 8.575C15.9667 8.575 15.7333 8.66667 15.55 8.85L10.6 13.8ZM12 22C10.6167 22 9.31667 21.7375 8.1 21.2125C6.88333 20.6875 5.825 19.975 4.925 19.075C4.025 18.175 3.3125 17.1167 2.7875 15.9C2.2625 14.6833 2 13.3833 2 12C2 10.6167 2.2625 9.31667 2.7875 8.1C3.3125 6.88333 4.025 5.825 4.925 4.925C5.825 4.025 6.88333 3.3125 8.1 2.7875C9.31667 2.2625 10.6167 2 12 2C13.3833 2 14.6833 2.2625 15.9 2.7875C17.1167 3.3125 18.175 4.025 19.075 4.925C19.975 5.825 20.6875 6.88333 21.2125 8.1C21.7375 9.31667 22 10.6167 22 12C22 13.3833 21.7375 14.6833 21.2125 15.9C20.6875 17.1167 19.975 18.175 19.075 19.075C18.175 19.975 17.1167 20.6875 15.9 21.2125C14.6833 21.7375 13.3833 22 12 22ZM12 20C14.2333 20 16.125 19.225 17.675 17.675C19.225 16.125 20 14.2333 20 12C20 9.76667 19.225 7.875 17.675 6.325C16.125 4.775 14.2333 4 12 4C9.76667 4 7.875 4.775 6.325 6.325C4.775 7.875 4 9.76667 4 12C4 14.2333 4.775 16.125 6.325 17.675C7.875 19.225 9.76667 20 12 20Z",fill:"currentColor"})}),R=t=>e.jsxs("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"cpd-icon",...t,children:[e.jsx("path",{d:"M11.2875 7.2875C11.4792 7.09583 11.7167 7 12 7C12.2833 7 12.5208 7.09583 12.7125 7.2875C12.9042 7.47917 13 7.71667 13 8C13 8.28333 12.9042 8.52083 12.7125 8.7125C12.5208 8.90417 12.2833 9 12 9C11.7167 9 11.4792 8.90417 11.2875 8.7125C11.0958 8.52083 11 8.28333 11 8C11 7.71667 11.0958 7.47917 11.2875 7.2875Z",fill:"currentColor"}),e.jsx("path",{d:"M11.2875 11.2875C11.4792 11.0958 11.7167 11 12 11C12.2833 11 12.5208 11.0958 12.7125 11.2875C12.9042 11.4792 13 11.7167 13 12V16C13 16.2833 12.9042 16.5208 12.7125 16.7125C12.5208 16.9042 12.2833 17 12 17C11.7167 17 11.4792 16.9042 11.2875 16.7125C11.0958 16.5208 11 16.2833 11 16V12C11 11.7167 11.0958 11.4792 11.2875 11.2875Z",fill:"currentColor"}),e.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM20 12C20 16.4183 16.4183 20 12 20C7.58172 20 4 16.4183 4 12C4 7.58172 7.58172 4 12 4C16.4183 4 20 7.58172 20 12Z",fill:"currentColor"})]}),Y="_alert_1bz08_19",D="_content_1bz08_46",Q="_title_1bz08_57",F="_icon_1bz08_57",G="_actions_1bz08_73",s={alert:Y,content:D,"text-content":"_text-content_1bz08_53",title:Q,icon:F,actions:G},l=({type:t,title:B,children:L,className:z,actions:d,onClose:m,...T})=>{const E=I(s.alert,z),M=Z.useCallback(c=>{switch(t){case"critical":return e.jsx(k,{...c});case"info":return e.jsx(R,{...c});case"success":return e.jsx(U,{...c})}},[t]);return e.jsxs("div",{...T,className:E,"data-type":t,children:[M({width:24,height:24,className:s.icon,"aria-hidden":!0}),e.jsxs("div",{className:s.content,children:[e.jsxs("div",{className:s["text-content"],children:[e.jsx(p,{size:"md",weight:"semibold",children:B}),e.jsx(p,{size:"sm",weight:"regular",children:L})]}),d&&e.jsx("div",{className:s.actions,children:d})]}),m&&e.jsx(W,{onClick:m,"aria-label":"Close",role:"button",className:s.close,children:e.jsx(V,{})})]})};try{l.displayName="Alert",l.__docgenInfo={description:"An alert component component that is dismissable when passing an `onClose`\nproperty.",displayName:"Alert",props:{type:{defaultValue:null,description:"The type of alert",name:"type",required:!0,type:{name:"enum",value:[{value:'"critical"'},{value:'"success"'},{value:'"info"'}]}},title:{defaultValue:null,description:"The headline of the alert.",name:"title",required:!0,type:{name:"string"}},className:{defaultValue:null,description:"The CSS class name.",name:"className",required:!1,type:{name:"string"}},actions:{defaultValue:null,description:`Actions that will be displayed to the right of the content -Wraps and stacks actions under content when alert's size is <=600px -eg -\`\`\` -Yes} -/> -\`\`\``,name:"actions",required:!1,type:{name:"ReactNode"}},onClose:{defaultValue:null,description:`Event callback when dismissing the alert. Determines the display of the -"close" button at the top right of the alert. -@param e the event parameters`,name:"onClose",required:!1,type:{name:"((e: MouseEvent) => void)"}}}}}catch{}const ie={title:"Alert",component:l,tags:["autodocs"],argTypes:{type:{options:["success","critical","info"],control:{type:"inline-radio"}}},args:{title:"Title",children:"Description",onClose:()=>{console.log("Clicked!")}},parameters:{design:{type:"figma",url:"https://www.figma.com/file/rTaQE2nIUSLav4Tg3nozq7/Compound-Web-Components?type=design&node-id=795-7802&mode=design&t=g71gv6nZdJA7QSGB-0"}}},o={args:{type:"success"}},n={args:{type:"critical"}},i={args:{type:"info"}},a={args:{type:"info",title:"Long title. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",children:"Actions are vertically centered against alert content. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",actions:e.jsxs(e.Fragment,{children:[e.jsx(u,{children:"Yes"}),e.jsx(u,{children:"No"})]})}},r={...o,args:{...o.args,onClose:void 0}};var C,g,h;o.parameters={...o.parameters,docs:{...(C=o.parameters)==null?void 0:C.docs,source:{originalSource:`{ - args: { - type: "success" - } -}`,...(h=(g=o.parameters)==null?void 0:g.docs)==null?void 0:h.source}}};var f,x,v;n.parameters={...n.parameters,docs:{...(f=n.parameters)==null?void 0:f.docs,source:{originalSource:`{ - args: { - type: "critical" - } -}`,...(v=(x=n.parameters)==null?void 0:x.docs)==null?void 0:v.source}}};var y,_,b;i.parameters={...i.parameters,docs:{...(y=i.parameters)==null?void 0:y.docs,source:{originalSource:`{ - args: { - type: "info" - } -}`,...(b=(_=i.parameters)==null?void 0:_.docs)==null?void 0:b.source}}};var w,j,q;a.parameters={...a.parameters,docs:{...(w=a.parameters)==null?void 0:w.docs,source:{originalSource:`{ - args: { - type: "info", - title: "Long title. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.", - children: "Actions are vertically centered against alert content. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.", - actions: <> - - - - } -}`,...(q=(j=a.parameters)==null?void 0:j.docs)==null?void 0:q.source}}};var S,N,A;r.parameters={...r.parameters,docs:{...(S=r.parameters)==null?void 0:S.docs,source:{originalSource:`{ - ...Success, - args: { - ...Success.args, - onClose: undefined - } -}`,...(A=(N=r.parameters)==null?void 0:N.docs)==null?void 0:A.source}}};const ae=["Success","Critical","Info","WithActions","WithoutClose"];export{n as Critical,i as Info,o as Success,a as WithActions,r as WithoutClose,ae as __namedExportsOrder,ie as default}; -//# sourceMappingURL=Alert.stories-1a22f2d0.js.map diff --git a/assets/Alert.stories-bd2758e5.js b/assets/Alert.stories-bd2758e5.js new file mode 100644 index 00000000..f1053e12 --- /dev/null +++ b/assets/Alert.stories-bd2758e5.js @@ -0,0 +1,40 @@ +import{j as e}from"./jsx-runtime-f6d73c06.js";import{B as u}from"./Button-abe57c7a.js";import{c as Z}from"./index-e131923d.js";import{r as k}from"./index-8ee6c85d.js";import{S as W}from"./error-a33e3c4a.js";import{S as M}from"./close-e61dae86.js";import{T as p}from"./Text-270962e1.js";import{I as U}from"./IconButton-dea21e21.js";import"./UnstyledButton-60dcee3b.js";import"./_commonjsHelpers-de833af9.js";import"./Typography-1dd46c86.js";import"./IndicatorIcon-240b404b.js";const V=t=>e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",className:"cpd-icon",...t,children:e.jsx("path",{d:"m10.6 13.8-2.15-2.15a.948.948 0 0 0-.7-.275.948.948 0 0 0-.7.275.948.948 0 0 0-.275.7.95.95 0 0 0 .275.7L9.9 15.9c.2.2.433.3.7.3.267 0 .5-.1.7-.3l5.65-5.65a.948.948 0 0 0 .275-.7.948.948 0 0 0-.275-.7.948.948 0 0 0-.7-.275.948.948 0 0 0-.7.275L10.6 13.8ZM12 22a9.738 9.738 0 0 1-3.9-.788 10.099 10.099 0 0 1-3.175-2.137c-.9-.9-1.612-1.958-2.137-3.175A9.738 9.738 0 0 1 2 12a9.74 9.74 0 0 1 .788-3.9 10.099 10.099 0 0 1 2.137-3.175c.9-.9 1.958-1.612 3.175-2.137A9.738 9.738 0 0 1 12 2a9.74 9.74 0 0 1 3.9.788 10.098 10.098 0 0 1 3.175 2.137c.9.9 1.613 1.958 2.137 3.175A9.738 9.738 0 0 1 22 12a9.738 9.738 0 0 1-.788 3.9 10.098 10.098 0 0 1-2.137 3.175c-.9.9-1.958 1.613-3.175 2.137A9.738 9.738 0 0 1 12 22Zm0-2c2.233 0 4.125-.775 5.675-2.325C19.225 16.125 20 14.233 20 12c0-2.233-.775-4.125-2.325-5.675C16.125 4.775 14.233 4 12 4c-2.233 0-4.125.775-5.675 2.325C4.775 7.875 4 9.767 4 12c0 2.233.775 4.125 2.325 5.675C7.875 19.225 9.767 20 12 20Z"})}),R=t=>e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",className:"cpd-icon",...t,children:[e.jsx("path",{d:"M11.287 7.287A.968.968 0 0 1 12 7c.283 0 .52.096.713.287.191.192.287.43.287.713s-.096.52-.287.713A.968.968 0 0 1 12 9a.968.968 0 0 1-.713-.287A.967.967 0 0 1 11 8c0-.283.096-.52.287-.713Zm0 4A.968.968 0 0 1 12 11c.283 0 .52.096.713.287.191.192.287.43.287.713v4a.97.97 0 0 1-.287.712A.968.968 0 0 1 12 17a.968.968 0 0 1-.713-.288A.968.968 0 0 1 11 16v-4c0-.283.096-.52.287-.713Z"}),e.jsx("path",{fillRule:"evenodd",d:"M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Zm-2 0a8 8 0 1 1-16 0 8 8 0 0 1 16 0Z",clipRule:"evenodd"})]}),Y="_alert_1bz08_19",D="_content_1bz08_46",Q="_title_1bz08_57",F="_icon_1bz08_57",G="_actions_1bz08_73",s={alert:Y,content:D,"text-content":"_text-content_1bz08_53",title:Q,icon:F,actions:G},l=({type:t,title:B,children:z,className:T,actions:m,onClose:d,...E})=>{const L=Z(s.alert,T),I=k.useCallback(c=>{switch(t){case"critical":return e.jsx(W,{...c});case"info":return e.jsx(R,{...c});case"success":return e.jsx(V,{...c})}},[t]);return e.jsxs("div",{...E,className:L,"data-type":t,children:[I({width:24,height:24,className:s.icon,"aria-hidden":!0}),e.jsxs("div",{className:s.content,children:[e.jsxs("div",{className:s["text-content"],children:[e.jsx(p,{size:"md",weight:"semibold",children:B}),e.jsx(p,{size:"sm",weight:"regular",children:z})]}),m&&e.jsx("div",{className:s.actions,children:m})]}),d&&e.jsx(U,{onClick:d,"aria-label":"Close",role:"button",className:s.close,children:e.jsx(M,{})})]})};try{l.displayName="Alert",l.__docgenInfo={description:"An alert component component that is dismissable when passing an `onClose`\nproperty.",displayName:"Alert",props:{type:{defaultValue:null,description:"The type of alert",name:"type",required:!0,type:{name:"enum",value:[{value:'"critical"'},{value:'"success"'},{value:'"info"'}]}},title:{defaultValue:null,description:"The headline of the alert.",name:"title",required:!0,type:{name:"string"}},className:{defaultValue:null,description:"The CSS class name.",name:"className",required:!1,type:{name:"string"}},actions:{defaultValue:null,description:`Actions that will be displayed to the right of the content +Wraps and stacks actions under content when alert's size is <=600px +eg +\`\`\` +Yes} +/> +\`\`\``,name:"actions",required:!1,type:{name:"ReactNode"}},onClose:{defaultValue:null,description:`Event callback when dismissing the alert. Determines the display of the +"close" button at the top right of the alert. +@param e the event parameters`,name:"onClose",required:!1,type:{name:"((e: MouseEvent) => void)"}}}}}catch{}const ae={title:"Alert",component:l,tags:["autodocs"],argTypes:{type:{options:["success","critical","info"],control:{type:"inline-radio"}}},args:{title:"Title",children:"Description",onClose:()=>{console.log("Clicked!")}},parameters:{design:{type:"figma",url:"https://www.figma.com/file/rTaQE2nIUSLav4Tg3nozq7/Compound-Web-Components?type=design&node-id=795-7802&mode=design&t=g71gv6nZdJA7QSGB-0"}}},o={args:{type:"success"}},n={args:{type:"critical"}},a={args:{type:"info"}},i={args:{type:"info",title:"Long title. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",children:"Actions are vertically centered against alert content. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",actions:e.jsxs(e.Fragment,{children:[e.jsx(u,{children:"Yes"}),e.jsx(u,{children:"No"})]})}},r={...o,args:{...o.args,onClose:void 0}};var g,h,x;o.parameters={...o.parameters,docs:{...(g=o.parameters)==null?void 0:g.docs,source:{originalSource:`{ + args: { + type: "success" + } +}`,...(x=(h=o.parameters)==null?void 0:h.docs)==null?void 0:x.source}}};var f,v,y;n.parameters={...n.parameters,docs:{...(f=n.parameters)==null?void 0:f.docs,source:{originalSource:`{ + args: { + type: "critical" + } +}`,...(y=(v=n.parameters)==null?void 0:v.docs)==null?void 0:y.source}}};var _,C,b;a.parameters={...a.parameters,docs:{...(_=a.parameters)==null?void 0:_.docs,source:{originalSource:`{ + args: { + type: "info" + } +}`,...(b=(C=a.parameters)==null?void 0:C.docs)==null?void 0:b.source}}};var w,A,q;i.parameters={...i.parameters,docs:{...(w=i.parameters)==null?void 0:w.docs,source:{originalSource:`{ + args: { + type: "info", + title: "Long title. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.", + children: "Actions are vertically centered against alert content. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.", + actions: <> + + + + } +}`,...(q=(A=i.parameters)==null?void 0:A.docs)==null?void 0:q.source}}};var j,S,N;r.parameters={...r.parameters,docs:{...(j=r.parameters)==null?void 0:j.docs,source:{originalSource:`{ + ...Success, + args: { + ...Success.args, + onClose: undefined + } +}`,...(N=(S=r.parameters)==null?void 0:S.docs)==null?void 0:N.source}}};const ie=["Success","Critical","Info","WithActions","WithoutClose"];export{n as Critical,a as Info,o as Success,i as WithActions,r as WithoutClose,ie as __namedExportsOrder,ae as default}; +//# sourceMappingURL=Alert.stories-bd2758e5.js.map diff --git a/assets/Alert.stories-1a22f2d0.js.map b/assets/Alert.stories-bd2758e5.js.map similarity index 72% rename from assets/Alert.stories-1a22f2d0.js.map rename to assets/Alert.stories-bd2758e5.js.map index 6114cf3f..231023ee 100644 --- a/assets/Alert.stories-1a22f2d0.js.map +++ b/assets/Alert.stories-bd2758e5.js.map @@ -1 +1 @@ -{"version":3,"file":"Alert.stories-1a22f2d0.js","sources":["../../node_modules/@vector-im/compound-design-tokens/icons/check-circle.svg","../../node_modules/@vector-im/compound-design-tokens/icons/info.svg","../../src/components/Alert/Alert.tsx"],"sourcesContent":["export default \"__VITE_ASSET__efbc4172__\"","export default \"__VITE_ASSET__98ffb9cc__\"","/*\nCopyright 2023 New Vector Ltd\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport classNames from \"classnames\";\nimport React, { PropsWithChildren, useCallback } from \"react\";\n\nimport CheckCircleIcon from \"@vector-im/compound-design-tokens/icons/check-circle.svg\";\nimport ErrorIcon from \"@vector-im/compound-design-tokens/icons/error.svg\";\nimport InfoIcon from \"@vector-im/compound-design-tokens/icons/info.svg\";\nimport CloseIcon from \"@vector-im/compound-design-tokens/icons/close.svg\";\n\nimport styles from \"./Alert.module.css\";\nimport { Text } from \"../Typography/Text\";\nimport { IconButton } from \"../Button\";\n\ntype AlertProps = {\n /**\n * The type of alert\n */\n type: \"success\" | \"critical\" | \"info\";\n /**\n * The headline of the alert.\n */\n title: string;\n /**\n * The CSS class name.\n */\n className?: string;\n /**\n * Actions that will be displayed to the right of the content\n * Wraps and stacks actions under content when alert's size is <=600px\n * eg\n * ```\n * Yes}\n * />\n * ```\n */\n actions?: React.ReactNode;\n /**\n * Event callback when dismissing the alert. Determines the display of the\n * \"close\" button at the top right of the alert.\n * @param e the event parameters\n */\n onClose?: (e: React.MouseEvent) => void;\n};\n\n/**\n * An alert component component that is dismissable when passing an `onClose`\n * property.\n */\nexport const Alert: React.FC> = ({\n type,\n title,\n children,\n className,\n actions,\n onClose,\n ...props\n}: PropsWithChildren) => {\n const classes = classNames(styles.alert, className);\n\n const renderIcon = useCallback(\n (props: React.ComponentProps) => {\n switch (type) {\n case \"critical\":\n return ;\n case \"info\":\n return ;\n case \"success\":\n return ;\n }\n },\n [type],\n );\n\n return (\n
\n {renderIcon({\n width: 24,\n height: 24,\n className: styles.icon,\n \"aria-hidden\": true,\n })}\n
\n
\n \n {title}\n \n \n {children}\n \n
\n {actions &&
{actions}
}\n
\n {/* TODO: Setup an i18n function for the aria label below */}\n {onClose && (\n \n \n \n )}\n
\n );\n};\n"],"names":["SvgCheckCircle","props","jsx","SvgInfo","jsxs","Alert","type","title","children","className","actions","onClose","classes","classNames","styles","renderIcon","useCallback","props2","ErrorIcon","InfoIcon","CheckCircleIcon","Text","IconButton","CloseIcon"],"mappings":"4dAEA,MAAMA,EAAkBC,GAA0BC,MAAI,MAAO,CAAE,MAAO,MAAO,OAAQ,MAAO,QAAS,YAAa,KAAM,OAAQ,MAAO,6BAA8B,UAAW,WAAY,GAAGD,EAAO,SAA0BC,EAAG,IAAC,OAAQ,CAAE,EAAG,4zCAA6zC,KAAM,cAAc,CAAE,CAAC,CAAE,ECAjkDC,EAAWF,GAA0BG,OAAK,MAAO,CAAE,MAAO,MAAO,OAAQ,MAAO,QAAS,YAAa,KAAM,OAAQ,MAAO,6BAA8B,UAAW,WAAY,GAAGH,EAAO,SAAU,CACxLC,EAAG,IAAC,OAAQ,CAAE,EAAG,uTAAwT,KAAM,eAAgB,EAC/VA,EAAG,IAAC,OAAQ,CAAE,EAAG,0UAA2U,KAAM,eAAgB,EAClXA,EAAAA,IAAI,OAAQ,CAAE,SAAU,UAAW,SAAU,UAAW,EAAG,qOAAsO,KAAM,cAAc,CAAE,CACzU,EAAG,gMC2DIG,EAAA,CAAA,CAAwD,KAAAC,EAC7D,MAAAC,EACA,SAAAC,EACA,UAAAC,EACA,QAAAC,EACA,QAAAC,EACA,GAAAV,CAEF,IAAA,CACE,MAAAW,EAAAC,EAAAC,EAAA,MAAAL,CAAA,EAEAM,EAAAC,EAAA,YAAmBC,GAAA,CAEf,OAAAX,EAAA,CAAc,IAAA,WAEV,OAAAJ,EAAA,IAAAgB,EAAA,CAAA,GAAAD,CAAA,CAAA,EAA6B,IAAA,OAE7B,OAAAf,EAAA,IAAAiB,EAAA,CAAA,GAAAF,CAAA,CAAA,EAA4B,IAAA,UAE5B,OAAAf,EAAA,IAAAkB,EAAA,CAAA,GAAAH,CAAA,CAAA,CAAmC,CACvC,EACF,CAAAX,CAAA,CACK,EAGP,OAAAF,EAAA,KAAA,MAAA,CAAA,GAAAH,EAAA,UAAAW,EAAA,YAAAN,EAAA,SAAA,CAEKS,EAAA,CAAW,MAAA,GACH,OAAA,GACC,UAAAD,EAAA,KACU,cAAA,EACH,CAAA,EAChBV,EAAA,KAAA,MAAA,CAAA,UAAAU,EAAA,QAAA,SAAA,CAECV,EAAA,KAAA,MAAA,CAAA,UAAAU,EAAA,cAAA,EAAA,SAAA,CACEZ,MAAAmB,EAAA,CAAA,KAAA,KAAA,OAAA,WAAA,SAAAd,EAAA,EAEAL,EAAA,IAAAmB,EAAA,CAAA,KAAA,KAAA,OAAA,UAAA,SAAAb,EAAA,CAGA,EAAA,EACFE,GAAAR,EAAAA,IAAA,MAAA,CAAA,UAAAY,EAAA,QAAA,SAAAJ,EAAA,CACqD,EAAA,EACvDC,GAAAT,EAAA,IAGEoB,EAAC,CAAA,QAAAX,EACU,aAAA,QACE,KAAA,SACN,UAAAG,EAAA,MACa,SAAAZ,EAAAA,IAAAqB,EAAA,EAAA,CAEP,CAAA,CACb,CAAA,CAAA,CAIR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","x_google_ignoreList":[0,1]} \ No newline at end of file +{"version":3,"file":"Alert.stories-bd2758e5.js","sources":["../../node_modules/@vector-im/compound-design-tokens/icons/check-circle.svg","../../node_modules/@vector-im/compound-design-tokens/icons/info.svg","../../src/components/Alert/Alert.tsx"],"sourcesContent":["export default \"__VITE_ASSET__efbc4172__\"","export default \"__VITE_ASSET__98ffb9cc__\"","/*\nCopyright 2023 New Vector Ltd\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport classNames from \"classnames\";\nimport React, { PropsWithChildren, useCallback } from \"react\";\n\nimport CheckCircleIcon from \"@vector-im/compound-design-tokens/icons/check-circle.svg\";\nimport ErrorIcon from \"@vector-im/compound-design-tokens/icons/error.svg\";\nimport InfoIcon from \"@vector-im/compound-design-tokens/icons/info.svg\";\nimport CloseIcon from \"@vector-im/compound-design-tokens/icons/close.svg\";\n\nimport styles from \"./Alert.module.css\";\nimport { Text } from \"../Typography/Text\";\nimport { IconButton } from \"../Button\";\n\ntype AlertProps = {\n /**\n * The type of alert\n */\n type: \"success\" | \"critical\" | \"info\";\n /**\n * The headline of the alert.\n */\n title: string;\n /**\n * The CSS class name.\n */\n className?: string;\n /**\n * Actions that will be displayed to the right of the content\n * Wraps and stacks actions under content when alert's size is <=600px\n * eg\n * ```\n * Yes}\n * />\n * ```\n */\n actions?: React.ReactNode;\n /**\n * Event callback when dismissing the alert. Determines the display of the\n * \"close\" button at the top right of the alert.\n * @param e the event parameters\n */\n onClose?: (e: React.MouseEvent) => void;\n};\n\n/**\n * An alert component component that is dismissable when passing an `onClose`\n * property.\n */\nexport const Alert: React.FC> = ({\n type,\n title,\n children,\n className,\n actions,\n onClose,\n ...props\n}: PropsWithChildren) => {\n const classes = classNames(styles.alert, className);\n\n const renderIcon = useCallback(\n (props: React.ComponentProps) => {\n switch (type) {\n case \"critical\":\n return ;\n case \"info\":\n return ;\n case \"success\":\n return ;\n }\n },\n [type],\n );\n\n return (\n
\n {renderIcon({\n width: 24,\n height: 24,\n className: styles.icon,\n \"aria-hidden\": true,\n })}\n
\n
\n \n {title}\n \n \n {children}\n \n
\n {actions &&
{actions}
}\n
\n {/* TODO: Setup an i18n function for the aria label below */}\n {onClose && (\n \n \n \n )}\n
\n );\n};\n"],"names":["SvgCheckCircle","props","jsx","SvgInfo","jsxs","Alert","type","title","children","className","actions","onClose","classes","classNames","styles","renderIcon","useCallback","props2","ErrorIcon","InfoIcon","CheckCircleIcon","Text","IconButton","CloseIcon"],"mappings":"4dAEA,MAAMA,EAAkBC,GAA0BC,EAAG,IAAC,MAAO,CAAE,MAAO,6BAA8B,MAAO,MAAO,OAAQ,MAAO,KAAM,eAAgB,QAAS,YAAa,UAAW,WAAY,GAAGD,EAAO,SAA0BC,EAAG,IAAC,OAAQ,CAAE,EAAG,k7BAAk7B,CAAE,CAAC,CAAE,ECA1qCC,EAAWF,GAA0BG,OAAK,MAAO,CAAE,MAAO,6BAA8B,MAAO,MAAO,OAAQ,MAAO,KAAM,eAAgB,QAAS,YAAa,UAAW,WAAY,GAAGH,EAAO,SAAU,CAChMC,EAAAA,IAAI,OAAQ,CAAE,EAAG,2XAA2X,CAAE,EAC9YA,MAAI,OAAQ,CAAE,SAAU,UAAW,EAAG,+GAAgH,SAAU,UAAW,CAC7L,EAAG,gMC4DIG,EAAA,CAAA,CAAwD,KAAAC,EAC7D,MAAAC,EACA,SAAAC,EACA,UAAAC,EACA,QAAAC,EACA,QAAAC,EACA,GAAAV,CAEF,IAAA,CACE,MAAAW,EAAAC,EAAAC,EAAA,MAAAL,CAAA,EAEAM,EAAAC,EAAA,YAAmBC,GAAA,CAEf,OAAAX,EAAA,CAAc,IAAA,WAEV,OAAAJ,EAAA,IAAAgB,EAAA,CAAA,GAAAD,CAAA,CAAA,EAA6B,IAAA,OAE7B,OAAAf,EAAA,IAAAiB,EAAA,CAAA,GAAAF,CAAA,CAAA,EAA4B,IAAA,UAE5B,OAAAf,EAAA,IAAAkB,EAAA,CAAA,GAAAH,CAAA,CAAA,CAAmC,CACvC,EACF,CAAAX,CAAA,CACK,EAGP,OAAAF,EAAA,KAAA,MAAA,CAAA,GAAAH,EAAA,UAAAW,EAAA,YAAAN,EAAA,SAAA,CAEKS,EAAA,CAAW,MAAA,GACH,OAAA,GACC,UAAAD,EAAA,KACU,cAAA,EACH,CAAA,EAChBV,EAAA,KAAA,MAAA,CAAA,UAAAU,EAAA,QAAA,SAAA,CAECV,EAAA,KAAA,MAAA,CAAA,UAAAU,EAAA,cAAA,EAAA,SAAA,CACEZ,MAAAmB,EAAA,CAAA,KAAA,KAAA,OAAA,WAAA,SAAAd,EAAA,EAEAL,EAAA,IAAAmB,EAAA,CAAA,KAAA,KAAA,OAAA,UAAA,SAAAb,EAAA,CAGA,EAAA,EACFE,GAAAR,EAAAA,IAAA,MAAA,CAAA,UAAAY,EAAA,QAAA,SAAAJ,EAAA,CACqD,EAAA,EACvDC,GAAAT,EAAA,IAGEoB,EAAC,CAAA,QAAAX,EACU,aAAA,QACE,KAAA,SACN,UAAAG,EAAA,MACa,SAAAZ,EAAAA,IAAAqB,EAAA,EAAA,CAEP,CAAA,CACb,CAAA,CAAA,CAIR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/assets/Avatar-8476321f.js b/assets/Avatar-0e9d46df.js similarity index 98% rename from assets/Avatar-8476321f.js rename to assets/Avatar-0e9d46df.js index bcf88cbc..f87c6e80 100644 --- a/assets/Avatar-8476321f.js +++ b/assets/Avatar-0e9d46df.js @@ -1,3 +1,3 @@ -import{j as P}from"./jsx-runtime-f6d73c06.js";import{c as I}from"./index-e131923d.js";import{r as h,a as G}from"./index-8ee6c85d.js";import{c as e}from"./_commonjsHelpers-de833af9.js";const p="_avatar_1o69u_17",m="_image_1o69u_49",B={avatar:p,image:m,"avatar-imageless":"_avatar-imageless_1o69u_60","stacked-avatars":"_stacked-avatars_1o69u_120","clip-path":"_clip-path_1o69u_139"};var O={},a={},V={};(function(R){Object.defineProperty(R,"__esModule",{value:!0}),R.EXTENDED_PICTOGRAPHIC=R.CLUSTER_BREAK=void 0,function(E){E[E.CR=0]="CR",E[E.LF=1]="LF",E[E.CONTROL=2]="CONTROL",E[E.EXTEND=3]="EXTEND",E[E.REGIONAL_INDICATOR=4]="REGIONAL_INDICATOR",E[E.SPACINGMARK=5]="SPACINGMARK",E[E.L=6]="L",E[E.V=7]="V",E[E.T=8]="T",E[E.LV=9]="LV",E[E.LVT=10]="LVT",E[E.OTHER=11]="OTHER",E[E.PREPEND=12]="PREPEND",E[E.E_BASE=13]="E_BASE",E[E.E_MODIFIER=14]="E_MODIFIER",E[E.ZWJ=15]="ZWJ",E[E.GLUE_AFTER_ZWJ=16]="GLUE_AFTER_ZWJ",E[E.E_BASE_GAZ=17]="E_BASE_GAZ"}(R.CLUSTER_BREAK||(R.CLUSTER_BREAK={})),R.EXTENDED_PICTOGRAPHIC=101})(V);var N={};Object.defineProperty(N,"__esModule",{value:!0});const r=V,s=0,U=1,v=2,g=3,y=4;class k{static isSurrogate(E,x){return 55296<=E.charCodeAt(x)&&E.charCodeAt(x)<=56319&&56320<=E.charCodeAt(x+1)&&E.charCodeAt(x+1)<=57343}static codePointAt(E,x){x===void 0&&(x=0);const i=E.charCodeAt(x);if(55296<=i&&i<=56319&&x=1){const T=E.charCodeAt(x-1),t=i;return 55296<=T&&T<=56319?(T-55296)*1024+(t-56320)+65536:t}return i}static shouldBreak(E,x,i,T,t,u){const C=[E].concat(x).concat([i]),n=[T].concat(t).concat([u]),A=C[C.length-2],L=i,_=u,X=C.lastIndexOf(r.CLUSTER_BREAK.REGIONAL_INDICATOR);if(X>0&&C.slice(1,X).every(function(l){return l===r.CLUSTER_BREAK.REGIONAL_INDICATOR})&&[r.CLUSTER_BREAK.PREPEND,r.CLUSTER_BREAK.REGIONAL_INDICATOR].indexOf(A)===-1)return C.filter(function(l){return l===r.CLUSTER_BREAK.REGIONAL_INDICATOR}).length%2===1?g:y;if(A===r.CLUSTER_BREAK.CR&&L===r.CLUSTER_BREAK.LF)return s;if(A===r.CLUSTER_BREAK.CONTROL||A===r.CLUSTER_BREAK.CR||A===r.CLUSTER_BREAK.LF)return U;if(L===r.CLUSTER_BREAK.CONTROL||L===r.CLUSTER_BREAK.CR||L===r.CLUSTER_BREAK.LF)return U;if(A===r.CLUSTER_BREAK.L&&(L===r.CLUSTER_BREAK.L||L===r.CLUSTER_BREAK.V||L===r.CLUSTER_BREAK.LV||L===r.CLUSTER_BREAK.LVT))return s;if((A===r.CLUSTER_BREAK.LV||A===r.CLUSTER_BREAK.V)&&(L===r.CLUSTER_BREAK.V||L===r.CLUSTER_BREAK.T))return s;if((A===r.CLUSTER_BREAK.LVT||A===r.CLUSTER_BREAK.T)&&L===r.CLUSTER_BREAK.T)return s;if(L===r.CLUSTER_BREAK.EXTEND||L===r.CLUSTER_BREAK.ZWJ)return s;if(L===r.CLUSTER_BREAK.SPACINGMARK)return s;if(A===r.CLUSTER_BREAK.PREPEND)return s;const b=n.slice(0,-1).lastIndexOf(r.EXTENDED_PICTOGRAPHIC);return b!==-1&&n[b]===r.EXTENDED_PICTOGRAPHIC&&C.slice(b+1,-2).every(function(l){return l===r.CLUSTER_BREAK.EXTEND})&&A===r.CLUSTER_BREAK.ZWJ&&_===r.EXTENDED_PICTOGRAPHIC?s:x.indexOf(r.CLUSTER_BREAK.REGIONAL_INDICATOR)!==-1?v:A===r.CLUSTER_BREAK.REGIONAL_INDICATOR&&L===r.CLUSTER_BREAK.REGIONAL_INDICATOR?s:U}}N.default=k;var D={};Object.defineProperty(D,"__esModule",{value:!0});class j{constructor(E,x){this._index=0,this._str=E,this._nextBreak=x}[Symbol.iterator](){return this}next(){let E;if((E=this._nextBreak(this._str,this._index))=E.length-1)return E.length;const i=K.default.codePointAt(E,x),T=S.getGraphemeBreakProperty(i),t=S.getEmojiProperty(i),u=[],C=[];for(let n=x+1;nT+t.charCodeAt(0),0)%8+1}function c(R){return!!(R.onClick||R.onKeyDown||R.onKeyUp)}const M=h.forwardRef(function({src:E,id:x,name:i="",type:T="round",className:t="",size:u,style:C={},onError:n,...A},L){return G.createElement(c(A)?"button":"span",{ref:L,role:"img","aria-label":x,...A,"data-type":T,"data-color":Y(x),className:I(B.avatar,t,{[B["avatar-imageless"]]:!E}),style:{...C,"--cpd-avatar-size":u}},P.jsx(G.Fragment,{children:E?P.jsx("img",{loading:"lazy",alt:"",src:E,crossOrigin:"anonymous",referrerPolicy:"no-referrer",className:I(B.image),"data-type":T,style:C,width:u,height:u,onError:n}):Q(i)}))});try{M.displayName="Avatar",M.__docgenInfo={description:`Avatar component that will fallback to an initial letter over a coloured +import{j as P}from"./jsx-runtime-f6d73c06.js";import{c as I}from"./index-e131923d.js";import{r as h,a as G}from"./index-8ee6c85d.js";import{c as e}from"./_commonjsHelpers-de833af9.js";const p="_avatar_k41ul_17",m="_image_k41ul_49",B={avatar:p,image:m,"avatar-imageless":"_avatar-imageless_k41ul_60","stacked-avatars":"_stacked-avatars_k41ul_110","clip-path":"_clip-path_k41ul_129"};var O={},a={},V={};(function(R){Object.defineProperty(R,"__esModule",{value:!0}),R.EXTENDED_PICTOGRAPHIC=R.CLUSTER_BREAK=void 0,function(E){E[E.CR=0]="CR",E[E.LF=1]="LF",E[E.CONTROL=2]="CONTROL",E[E.EXTEND=3]="EXTEND",E[E.REGIONAL_INDICATOR=4]="REGIONAL_INDICATOR",E[E.SPACINGMARK=5]="SPACINGMARK",E[E.L=6]="L",E[E.V=7]="V",E[E.T=8]="T",E[E.LV=9]="LV",E[E.LVT=10]="LVT",E[E.OTHER=11]="OTHER",E[E.PREPEND=12]="PREPEND",E[E.E_BASE=13]="E_BASE",E[E.E_MODIFIER=14]="E_MODIFIER",E[E.ZWJ=15]="ZWJ",E[E.GLUE_AFTER_ZWJ=16]="GLUE_AFTER_ZWJ",E[E.E_BASE_GAZ=17]="E_BASE_GAZ"}(R.CLUSTER_BREAK||(R.CLUSTER_BREAK={})),R.EXTENDED_PICTOGRAPHIC=101})(V);var N={};Object.defineProperty(N,"__esModule",{value:!0});const r=V,s=0,U=1,v=2,g=3,k=4;class y{static isSurrogate(E,x){return 55296<=E.charCodeAt(x)&&E.charCodeAt(x)<=56319&&56320<=E.charCodeAt(x+1)&&E.charCodeAt(x+1)<=57343}static codePointAt(E,x){x===void 0&&(x=0);const i=E.charCodeAt(x);if(55296<=i&&i<=56319&&x=1){const T=E.charCodeAt(x-1),t=i;return 55296<=T&&T<=56319?(T-55296)*1024+(t-56320)+65536:t}return i}static shouldBreak(E,x,i,T,t,u){const C=[E].concat(x).concat([i]),n=[T].concat(t).concat([u]),A=C[C.length-2],L=i,_=u,X=C.lastIndexOf(r.CLUSTER_BREAK.REGIONAL_INDICATOR);if(X>0&&C.slice(1,X).every(function(S){return S===r.CLUSTER_BREAK.REGIONAL_INDICATOR})&&[r.CLUSTER_BREAK.PREPEND,r.CLUSTER_BREAK.REGIONAL_INDICATOR].indexOf(A)===-1)return C.filter(function(S){return S===r.CLUSTER_BREAK.REGIONAL_INDICATOR}).length%2===1?g:k;if(A===r.CLUSTER_BREAK.CR&&L===r.CLUSTER_BREAK.LF)return s;if(A===r.CLUSTER_BREAK.CONTROL||A===r.CLUSTER_BREAK.CR||A===r.CLUSTER_BREAK.LF)return U;if(L===r.CLUSTER_BREAK.CONTROL||L===r.CLUSTER_BREAK.CR||L===r.CLUSTER_BREAK.LF)return U;if(A===r.CLUSTER_BREAK.L&&(L===r.CLUSTER_BREAK.L||L===r.CLUSTER_BREAK.V||L===r.CLUSTER_BREAK.LV||L===r.CLUSTER_BREAK.LVT))return s;if((A===r.CLUSTER_BREAK.LV||A===r.CLUSTER_BREAK.V)&&(L===r.CLUSTER_BREAK.V||L===r.CLUSTER_BREAK.T))return s;if((A===r.CLUSTER_BREAK.LVT||A===r.CLUSTER_BREAK.T)&&L===r.CLUSTER_BREAK.T)return s;if(L===r.CLUSTER_BREAK.EXTEND||L===r.CLUSTER_BREAK.ZWJ)return s;if(L===r.CLUSTER_BREAK.SPACINGMARK)return s;if(A===r.CLUSTER_BREAK.PREPEND)return s;const b=n.slice(0,-1).lastIndexOf(r.EXTENDED_PICTOGRAPHIC);return b!==-1&&n[b]===r.EXTENDED_PICTOGRAPHIC&&C.slice(b+1,-2).every(function(S){return S===r.CLUSTER_BREAK.EXTEND})&&A===r.CLUSTER_BREAK.ZWJ&&_===r.EXTENDED_PICTOGRAPHIC?s:x.indexOf(r.CLUSTER_BREAK.REGIONAL_INDICATOR)!==-1?v:A===r.CLUSTER_BREAK.REGIONAL_INDICATOR&&L===r.CLUSTER_BREAK.REGIONAL_INDICATOR?s:U}}N.default=y;var D={};Object.defineProperty(D,"__esModule",{value:!0});class j{constructor(E,x){this._index=0,this._str=E,this._nextBreak=x}[Symbol.iterator](){return this}next(){let E;if((E=this._nextBreak(this._str,this._index))=E.length-1)return E.length;const i=K.default.codePointAt(E,x),T=l.getGraphemeBreakProperty(i),t=l.getEmojiProperty(i),u=[],C=[];for(let n=x+1;nT+t.charCodeAt(0),0)%6+1}function c(R){return!!(R.onClick||R.onKeyDown||R.onKeyUp)}const M=h.forwardRef(function({src:E,id:x,name:i="",type:T="round",className:t="",size:u,style:C={},onError:n,...A},L){return G.createElement(c(A)?"button":"span",{ref:L,role:"img","aria-label":x,...A,"data-type":T,"data-color":Y(x),className:I(B.avatar,t,{[B["avatar-imageless"]]:!E}),style:{...C,"--cpd-avatar-size":u}},P.jsx(G.Fragment,{children:E?P.jsx("img",{loading:"lazy",alt:"",src:E,crossOrigin:"anonymous",referrerPolicy:"no-referrer",className:I(B.image),"data-type":T,style:C,width:u,height:u,onError:n}):Q(i)}))});try{M.displayName="Avatar",M.__docgenInfo={description:`Avatar component that will fallback to an initial letter over a coloured background if no source is provided or if the source has failed to load.`,displayName:"Avatar",props:{size:{defaultValue:null,description:'The avatar size in CSS units, e.g. `"24px"`.',name:"size",required:!1,type:{name:"string"}},src:{defaultValue:null,description:"The avatar image URL, if any.",name:"src",required:!1,type:{name:"string"}}}}}catch{}export{M as A,B as s}; -//# sourceMappingURL=Avatar-8476321f.js.map +//# sourceMappingURL=Avatar-0e9d46df.js.map diff --git a/assets/Avatar-8476321f.js.map b/assets/Avatar-0e9d46df.js.map similarity index 99% rename from assets/Avatar-8476321f.js.map rename to assets/Avatar-0e9d46df.js.map index 18f57fac..98969e1c 100644 --- a/assets/Avatar-8476321f.js.map +++ b/assets/Avatar-0e9d46df.js.map @@ -1 +1 @@ -{"version":3,"file":"Avatar-8476321f.js","sources":["../../node_modules/graphemer/lib/boundaries.js","../../node_modules/graphemer/lib/GraphemerHelper.js","../../node_modules/graphemer/lib/GraphemerIterator.js","../../node_modules/graphemer/lib/Graphemer.js","../../node_modules/graphemer/lib/index.js","../../src/utils/string.ts","../../src/components/Avatar/useIdColorHash.ts","../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["\"use strict\";\n/**\n * The Grapheme_Cluster_Break property value\n * @see https://www.unicode.org/reports/tr29/#Default_Grapheme_Cluster_Table\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EXTENDED_PICTOGRAPHIC = exports.CLUSTER_BREAK = void 0;\nvar CLUSTER_BREAK;\n(function (CLUSTER_BREAK) {\n CLUSTER_BREAK[CLUSTER_BREAK[\"CR\"] = 0] = \"CR\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"LF\"] = 1] = \"LF\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"CONTROL\"] = 2] = \"CONTROL\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"EXTEND\"] = 3] = \"EXTEND\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"REGIONAL_INDICATOR\"] = 4] = \"REGIONAL_INDICATOR\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"SPACINGMARK\"] = 5] = \"SPACINGMARK\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"L\"] = 6] = \"L\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"V\"] = 7] = \"V\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"T\"] = 8] = \"T\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"LV\"] = 9] = \"LV\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"LVT\"] = 10] = \"LVT\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"OTHER\"] = 11] = \"OTHER\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"PREPEND\"] = 12] = \"PREPEND\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"E_BASE\"] = 13] = \"E_BASE\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"E_MODIFIER\"] = 14] = \"E_MODIFIER\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"ZWJ\"] = 15] = \"ZWJ\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"GLUE_AFTER_ZWJ\"] = 16] = \"GLUE_AFTER_ZWJ\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"E_BASE_GAZ\"] = 17] = \"E_BASE_GAZ\";\n})(CLUSTER_BREAK = exports.CLUSTER_BREAK || (exports.CLUSTER_BREAK = {}));\n/**\n * The Emoji character property is an extension of UCD but shares the same namespace and structure\n * @see http://www.unicode.org/reports/tr51/tr51-14.html#Emoji_Properties_and_Data_Files\n *\n * Here we model Extended_Pictograhpic only to implement UAX #29 GB11\n * \\p{Extended_Pictographic} Extend* ZWJ\t×\t\\p{Extended_Pictographic}\n *\n * The Emoji character property should not be mixed with Grapheme_Cluster_Break since they are not exclusive\n */\nexports.EXTENDED_PICTOGRAPHIC = 101;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst boundaries_1 = require(\"./boundaries\");\n// BreakTypes\n// @type {BreakType}\nconst NotBreak = 0;\nconst BreakStart = 1;\nconst Break = 2;\nconst BreakLastRegional = 3;\nconst BreakPenultimateRegional = 4;\nclass GraphemerHelper {\n /**\n * Check if the the character at the position {pos} of the string is surrogate\n * @param str {string}\n * @param pos {number}\n * @returns {boolean}\n */\n static isSurrogate(str, pos) {\n return (0xd800 <= str.charCodeAt(pos) &&\n str.charCodeAt(pos) <= 0xdbff &&\n 0xdc00 <= str.charCodeAt(pos + 1) &&\n str.charCodeAt(pos + 1) <= 0xdfff);\n }\n /**\n * The String.prototype.codePointAt polyfill\n * Private function, gets a Unicode code point from a JavaScript UTF-16 string\n * handling surrogate pairs appropriately\n * @param str {string}\n * @param idx {number}\n * @returns {number}\n */\n static codePointAt(str, idx) {\n if (idx === undefined) {\n idx = 0;\n }\n const code = str.charCodeAt(idx);\n // if a high surrogate\n if (0xd800 <= code && code <= 0xdbff && idx < str.length - 1) {\n const hi = code;\n const low = str.charCodeAt(idx + 1);\n if (0xdc00 <= low && low <= 0xdfff) {\n return (hi - 0xd800) * 0x400 + (low - 0xdc00) + 0x10000;\n }\n return hi;\n }\n // if a low surrogate\n if (0xdc00 <= code && code <= 0xdfff && idx >= 1) {\n const hi = str.charCodeAt(idx - 1);\n const low = code;\n if (0xd800 <= hi && hi <= 0xdbff) {\n return (hi - 0xd800) * 0x400 + (low - 0xdc00) + 0x10000;\n }\n return low;\n }\n // just return the char if an unmatched surrogate half or a\n // single-char codepoint\n return code;\n }\n //\n /**\n * Private function, returns whether a break is allowed between the two given grapheme breaking classes\n * Implemented the UAX #29 3.1.1 Grapheme Cluster Boundary Rules on extended grapheme clusters\n * @param start {number}\n * @param mid {Array}\n * @param end {number}\n * @param startEmoji {number}\n * @param midEmoji {Array}\n * @param endEmoji {number}\n * @returns {number}\n */\n static shouldBreak(start, mid, end, startEmoji, midEmoji, endEmoji) {\n const all = [start].concat(mid).concat([end]);\n const allEmoji = [startEmoji].concat(midEmoji).concat([endEmoji]);\n const previous = all[all.length - 2];\n const next = end;\n const nextEmoji = endEmoji;\n // Lookahead terminator for:\n // GB12. ^ (RI RI)* RI ? RI\n // GB13. [^RI] (RI RI)* RI ? RI\n const rIIndex = all.lastIndexOf(boundaries_1.CLUSTER_BREAK.REGIONAL_INDICATOR);\n if (rIIndex > 0 &&\n all.slice(1, rIIndex).every(function (c) {\n return c === boundaries_1.CLUSTER_BREAK.REGIONAL_INDICATOR;\n }) &&\n [boundaries_1.CLUSTER_BREAK.PREPEND, boundaries_1.CLUSTER_BREAK.REGIONAL_INDICATOR].indexOf(previous) === -1) {\n if (all.filter(function (c) {\n return c === boundaries_1.CLUSTER_BREAK.REGIONAL_INDICATOR;\n }).length %\n 2 ===\n 1) {\n return BreakLastRegional;\n }\n else {\n return BreakPenultimateRegional;\n }\n }\n // GB3. CR × LF\n if (previous === boundaries_1.CLUSTER_BREAK.CR && next === boundaries_1.CLUSTER_BREAK.LF) {\n return NotBreak;\n }\n // GB4. (Control|CR|LF) ÷\n else if (previous === boundaries_1.CLUSTER_BREAK.CONTROL ||\n previous === boundaries_1.CLUSTER_BREAK.CR ||\n previous === boundaries_1.CLUSTER_BREAK.LF) {\n return BreakStart;\n }\n // GB5. ÷ (Control|CR|LF)\n else if (next === boundaries_1.CLUSTER_BREAK.CONTROL ||\n next === boundaries_1.CLUSTER_BREAK.CR ||\n next === boundaries_1.CLUSTER_BREAK.LF) {\n return BreakStart;\n }\n // GB6. L × (L|V|LV|LVT)\n else if (previous === boundaries_1.CLUSTER_BREAK.L &&\n (next === boundaries_1.CLUSTER_BREAK.L ||\n next === boundaries_1.CLUSTER_BREAK.V ||\n next === boundaries_1.CLUSTER_BREAK.LV ||\n next === boundaries_1.CLUSTER_BREAK.LVT)) {\n return NotBreak;\n }\n // GB7. (LV|V) × (V|T)\n else if ((previous === boundaries_1.CLUSTER_BREAK.LV || previous === boundaries_1.CLUSTER_BREAK.V) &&\n (next === boundaries_1.CLUSTER_BREAK.V || next === boundaries_1.CLUSTER_BREAK.T)) {\n return NotBreak;\n }\n // GB8. (LVT|T) × (T)\n else if ((previous === boundaries_1.CLUSTER_BREAK.LVT || previous === boundaries_1.CLUSTER_BREAK.T) &&\n next === boundaries_1.CLUSTER_BREAK.T) {\n return NotBreak;\n }\n // GB9. × (Extend|ZWJ)\n else if (next === boundaries_1.CLUSTER_BREAK.EXTEND || next === boundaries_1.CLUSTER_BREAK.ZWJ) {\n return NotBreak;\n }\n // GB9a. × SpacingMark\n else if (next === boundaries_1.CLUSTER_BREAK.SPACINGMARK) {\n return NotBreak;\n }\n // GB9b. Prepend ×\n else if (previous === boundaries_1.CLUSTER_BREAK.PREPEND) {\n return NotBreak;\n }\n // GB11. \\p{Extended_Pictographic} Extend* ZWJ × \\p{Extended_Pictographic}\n const previousNonExtendIndex = allEmoji\n .slice(0, -1)\n .lastIndexOf(boundaries_1.EXTENDED_PICTOGRAPHIC);\n if (previousNonExtendIndex !== -1 &&\n allEmoji[previousNonExtendIndex] === boundaries_1.EXTENDED_PICTOGRAPHIC &&\n all.slice(previousNonExtendIndex + 1, -2).every(function (c) {\n return c === boundaries_1.CLUSTER_BREAK.EXTEND;\n }) &&\n previous === boundaries_1.CLUSTER_BREAK.ZWJ &&\n nextEmoji === boundaries_1.EXTENDED_PICTOGRAPHIC) {\n return NotBreak;\n }\n // GB12. ^ (RI RI)* RI × RI\n // GB13. [^RI] (RI RI)* RI × RI\n if (mid.indexOf(boundaries_1.CLUSTER_BREAK.REGIONAL_INDICATOR) !== -1) {\n return Break;\n }\n if (previous === boundaries_1.CLUSTER_BREAK.REGIONAL_INDICATOR &&\n next === boundaries_1.CLUSTER_BREAK.REGIONAL_INDICATOR) {\n return NotBreak;\n }\n // GB999. Any ? Any\n return BreakStart;\n }\n}\nexports.default = GraphemerHelper;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * GraphemerIterator\n *\n * Takes a string and a \"BreakHandler\" method during initialisation\n * and creates an iterable object that returns individual graphemes.\n *\n * @param str {string}\n * @return GraphemerIterator\n */\nclass GraphemerIterator {\n constructor(str, nextBreak) {\n this._index = 0;\n this._str = str;\n this._nextBreak = nextBreak;\n }\n [Symbol.iterator]() {\n return this;\n }\n next() {\n let brk;\n if ((brk = this._nextBreak(this._str, this._index)) < this._str.length) {\n const value = this._str.slice(this._index, brk);\n this._index = brk;\n return { value: value, done: false };\n }\n if (this._index < this._str.length) {\n const value = this._str.slice(this._index);\n this._index = this._str.length;\n return { value: value, done: false };\n }\n return { value: undefined, done: true };\n }\n}\nexports.default = GraphemerIterator;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst boundaries_1 = require(\"./boundaries\");\nconst GraphemerHelper_1 = __importDefault(require(\"./GraphemerHelper\"));\nconst GraphemerIterator_1 = __importDefault(require(\"./GraphemerIterator\"));\nclass Graphemer {\n /**\n * Returns the next grapheme break in the string after the given index\n * @param string {string}\n * @param index {number}\n * @returns {number}\n */\n static nextBreak(string, index) {\n if (index === undefined) {\n index = 0;\n }\n if (index < 0) {\n return 0;\n }\n if (index >= string.length - 1) {\n return string.length;\n }\n const prevCP = GraphemerHelper_1.default.codePointAt(string, index);\n const prev = Graphemer.getGraphemeBreakProperty(prevCP);\n const prevEmoji = Graphemer.getEmojiProperty(prevCP);\n const mid = [];\n const midEmoji = [];\n for (let i = index + 1; i < string.length; i++) {\n // check for already processed low surrogates\n if (GraphemerHelper_1.default.isSurrogate(string, i - 1)) {\n continue;\n }\n const nextCP = GraphemerHelper_1.default.codePointAt(string, i);\n const next = Graphemer.getGraphemeBreakProperty(nextCP);\n const nextEmoji = Graphemer.getEmojiProperty(nextCP);\n if (GraphemerHelper_1.default.shouldBreak(prev, mid, next, prevEmoji, midEmoji, nextEmoji)) {\n return i;\n }\n mid.push(next);\n midEmoji.push(nextEmoji);\n }\n return string.length;\n }\n /**\n * Breaks the given string into an array of grapheme clusters\n * @param str {string}\n * @returns {string[]}\n */\n splitGraphemes(str) {\n const res = [];\n let index = 0;\n let brk;\n while ((brk = Graphemer.nextBreak(str, index)) < str.length) {\n res.push(str.slice(index, brk));\n index = brk;\n }\n if (index < str.length) {\n res.push(str.slice(index));\n }\n return res;\n }\n /**\n * Returns an iterator of grapheme clusters in the given string\n * @param str {string}\n * @returns {GraphemerIterator}\n */\n iterateGraphemes(str) {\n return new GraphemerIterator_1.default(str, Graphemer.nextBreak);\n }\n /**\n * Returns the number of grapheme clusters in the given string\n * @param str {string}\n * @returns {number}\n */\n countGraphemes(str) {\n let count = 0;\n let index = 0;\n let brk;\n while ((brk = Graphemer.nextBreak(str, index)) < str.length) {\n index = brk;\n count++;\n }\n if (index < str.length) {\n count++;\n }\n return count;\n }\n /**\n * Given a Unicode code point, determines this symbol's grapheme break property\n * @param code {number} Unicode code point\n * @returns {number}\n */\n static getGraphemeBreakProperty(code) {\n // Grapheme break property taken from:\n // https://www.unicode.org/Public/UCD/latest/ucd/auxiliary/GraphemeBreakProperty.txt\n // and generated by\n // node ./scripts/generate-grapheme-break.js\n if (code < 0xbf09) {\n if (code < 0xac54) {\n if (code < 0x102d) {\n if (code < 0xb02) {\n if (code < 0x93b) {\n if (code < 0x6df) {\n if (code < 0x5bf) {\n if (code < 0x7f) {\n if (code < 0xb) {\n if (code < 0xa) {\n // Cc [10] ..\n if (0x0 <= code && code <= 0x9) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n else {\n // Cc \n if (0xa === code) {\n return boundaries_1.CLUSTER_BREAK.LF;\n }\n }\n }\n else {\n if (code < 0xd) {\n // Cc [2] ..\n if (0xb <= code && code <= 0xc) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n else {\n if (code < 0xe) {\n // Cc \n if (0xd === code) {\n return boundaries_1.CLUSTER_BREAK.CR;\n }\n }\n else {\n // Cc [18] ..\n if (0xe <= code && code <= 0x1f) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n }\n }\n }\n else {\n if (code < 0x300) {\n if (code < 0xad) {\n // Cc [33] ..\n if (0x7f <= code && code <= 0x9f) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n else {\n // Cf SOFT HYPHEN\n if (0xad === code) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n }\n else {\n if (code < 0x483) {\n // Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X\n if (0x300 <= code && code <= 0x36f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x591) {\n // Mn [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE\n // Me [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN\n if (0x483 <= code && code <= 0x489) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG\n if (0x591 <= code && code <= 0x5bd) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x610) {\n if (code < 0x5c4) {\n if (code < 0x5c1) {\n // Mn HEBREW POINT RAFE\n if (0x5bf === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT\n if (0x5c1 <= code && code <= 0x5c2) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x5c7) {\n // Mn [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT\n if (0x5c4 <= code && code <= 0x5c5) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x600) {\n // Mn HEBREW POINT QAMATS QATAN\n if (0x5c7 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Cf [6] ARABIC NUMBER SIGN..ARABIC NUMBER MARK ABOVE\n if (0x600 <= code && code <= 0x605) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x670) {\n if (code < 0x61c) {\n // Mn [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA\n if (0x610 <= code && code <= 0x61a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x64b) {\n // Cf ARABIC LETTER MARK\n if (0x61c === code) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n else {\n // Mn [21] ARABIC FATHATAN..ARABIC WAVY HAMZA BELOW\n if (0x64b <= code && code <= 0x65f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x6d6) {\n // Mn ARABIC LETTER SUPERSCRIPT ALEF\n if (0x670 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x6dd) {\n // Mn [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN\n if (0x6d6 <= code && code <= 0x6dc) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Cf ARABIC END OF AYAH\n if (0x6dd === code) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x81b) {\n if (code < 0x730) {\n if (code < 0x6ea) {\n if (code < 0x6e7) {\n // Mn [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA\n if (0x6df <= code && code <= 0x6e4) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON\n if (0x6e7 <= code && code <= 0x6e8) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x70f) {\n // Mn [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM\n if (0x6ea <= code && code <= 0x6ed) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Cf SYRIAC ABBREVIATION MARK\n if (0x70f === code) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n // Mn SYRIAC LETTER SUPERSCRIPT ALAPH\n if (0x711 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x7eb) {\n if (code < 0x7a6) {\n // Mn [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH\n if (0x730 <= code && code <= 0x74a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [11] THAANA ABAFILI..THAANA SUKUN\n if (0x7a6 <= code && code <= 0x7b0) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x7fd) {\n // Mn [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE\n if (0x7eb <= code && code <= 0x7f3) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x816) {\n // Mn NKO DANTAYALAN\n if (0x7fd === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH\n if (0x816 <= code && code <= 0x819) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x898) {\n if (code < 0x829) {\n if (code < 0x825) {\n // Mn [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A\n if (0x81b <= code && code <= 0x823) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U\n if (0x825 <= code && code <= 0x827) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x859) {\n // Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA\n if (0x829 <= code && code <= 0x82d) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x890) {\n // Mn [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK\n if (0x859 <= code && code <= 0x85b) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Cf [2] ARABIC POUND MARK ABOVE..ARABIC PIASTRE MARK ABOVE\n if (0x890 <= code && code <= 0x891) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x8e3) {\n if (code < 0x8ca) {\n // Mn [8] ARABIC SMALL HIGH WORD AL-JUZ..ARABIC HALF MADDA OVER MADDA\n if (0x898 <= code && code <= 0x89f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x8e2) {\n // Mn [24] ARABIC SMALL HIGH FARSI YEH..ARABIC SMALL HIGH SIGN SAFHA\n if (0x8ca <= code && code <= 0x8e1) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Cf ARABIC DISPUTED END OF AYAH\n if (0x8e2 === code) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n }\n }\n }\n else {\n if (code < 0x903) {\n // Mn [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA\n if (0x8e3 <= code && code <= 0x902) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc DEVANAGARI SIGN VISARGA\n if (0x903 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn DEVANAGARI VOWEL SIGN OE\n if (0x93a === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xa01) {\n if (code < 0x982) {\n if (code < 0x94d) {\n if (code < 0x93e) {\n // Mc DEVANAGARI VOWEL SIGN OOE\n if (0x93b === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn DEVANAGARI SIGN NUKTA\n if (0x93c === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x941) {\n // Mc [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II\n if (0x93e <= code && code <= 0x940) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x949) {\n // Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI\n if (0x941 <= code && code <= 0x948) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU\n if (0x949 <= code && code <= 0x94c) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0x951) {\n if (code < 0x94e) {\n // Mn DEVANAGARI SIGN VIRAMA\n if (0x94d === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] DEVANAGARI VOWEL SIGN PRISHTHAMATRA E..DEVANAGARI VOWEL SIGN AW\n if (0x94e <= code && code <= 0x94f) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0x962) {\n // Mn [7] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN UUE\n if (0x951 <= code && code <= 0x957) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x981) {\n // Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL\n if (0x962 <= code && code <= 0x963) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn BENGALI SIGN CANDRABINDU\n if (0x981 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x9c7) {\n if (code < 0x9be) {\n if (code < 0x9bc) {\n // Mc [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA\n if (0x982 <= code && code <= 0x983) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn BENGALI SIGN NUKTA\n if (0x9bc === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x9bf) {\n // Mc BENGALI VOWEL SIGN AA\n if (0x9be === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x9c1) {\n // Mc [2] BENGALI VOWEL SIGN I..BENGALI VOWEL SIGN II\n if (0x9bf <= code && code <= 0x9c0) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR\n if (0x9c1 <= code && code <= 0x9c4) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x9d7) {\n if (code < 0x9cb) {\n // Mc [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI\n if (0x9c7 <= code && code <= 0x9c8) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x9cd) {\n // Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU\n if (0x9cb <= code && code <= 0x9cc) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn BENGALI SIGN VIRAMA\n if (0x9cd === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x9e2) {\n // Mc BENGALI AU LENGTH MARK\n if (0x9d7 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x9fe) {\n // Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL\n if (0x9e2 <= code && code <= 0x9e3) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn BENGALI SANDHI MARK\n if (0x9fe === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xa83) {\n if (code < 0xa47) {\n if (code < 0xa3c) {\n if (code < 0xa03) {\n // Mn [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI\n if (0xa01 <= code && code <= 0xa02) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc GURMUKHI SIGN VISARGA\n if (0xa03 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0xa3e) {\n // Mn GURMUKHI SIGN NUKTA\n if (0xa3c === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xa41) {\n // Mc [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II\n if (0xa3e <= code && code <= 0xa40) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU\n if (0xa41 <= code && code <= 0xa42) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0xa70) {\n if (code < 0xa4b) {\n // Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI\n if (0xa47 <= code && code <= 0xa48) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xa51) {\n // Mn [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA\n if (0xa4b <= code && code <= 0xa4d) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn GURMUKHI SIGN UDAAT\n if (0xa51 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0xa75) {\n // Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK\n if (0xa70 <= code && code <= 0xa71) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xa81) {\n // Mn GURMUKHI SIGN YAKASH\n if (0xa75 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA\n if (0xa81 <= code && code <= 0xa82) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xac9) {\n if (code < 0xabe) {\n // Mc GUJARATI SIGN VISARGA\n if (0xa83 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn GUJARATI SIGN NUKTA\n if (0xabc === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xac1) {\n // Mc [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II\n if (0xabe <= code && code <= 0xac0) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0xac7) {\n // Mn [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E\n if (0xac1 <= code && code <= 0xac5) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI\n if (0xac7 <= code && code <= 0xac8) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0xae2) {\n if (code < 0xacb) {\n // Mc GUJARATI VOWEL SIGN CANDRA O\n if (0xac9 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0xacd) {\n // Mc [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU\n if (0xacb <= code && code <= 0xacc) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn GUJARATI SIGN VIRAMA\n if (0xacd === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0xafa) {\n // Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL\n if (0xae2 <= code && code <= 0xae3) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xb01) {\n // Mn [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE\n if (0xafa <= code && code <= 0xaff) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn ORIYA SIGN CANDRABINDU\n if (0xb01 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xcf3) {\n if (code < 0xc04) {\n if (code < 0xb82) {\n if (code < 0xb47) {\n if (code < 0xb3e) {\n if (code < 0xb3c) {\n // Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA\n if (0xb02 <= code && code <= 0xb03) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn ORIYA SIGN NUKTA\n if (0xb3c === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0xb40) {\n // Mc ORIYA VOWEL SIGN AA\n // Mn ORIYA VOWEL SIGN I\n if (0xb3e <= code && code <= 0xb3f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xb41) {\n // Mc ORIYA VOWEL SIGN II\n if (0xb40 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR\n if (0xb41 <= code && code <= 0xb44) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb4d) {\n if (code < 0xb4b) {\n // Mc [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI\n if (0xb47 <= code && code <= 0xb48) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU\n if (0xb4b <= code && code <= 0xb4c) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0xb55) {\n // Mn ORIYA SIGN VIRAMA\n if (0xb4d === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xb62) {\n // Mn [2] ORIYA SIGN OVERLINE..ORIYA AI LENGTH MARK\n // Mc ORIYA AU LENGTH MARK\n if (0xb55 <= code && code <= 0xb57) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL\n if (0xb62 <= code && code <= 0xb63) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xbc6) {\n if (code < 0xbbf) {\n // Mn TAMIL SIGN ANUSVARA\n if (0xb82 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mc TAMIL VOWEL SIGN AA\n if (0xbbe === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xbc0) {\n // Mc TAMIL VOWEL SIGN I\n if (0xbbf === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0xbc1) {\n // Mn TAMIL VOWEL SIGN II\n if (0xbc0 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU\n if (0xbc1 <= code && code <= 0xbc2) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0xbd7) {\n if (code < 0xbca) {\n // Mc [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI\n if (0xbc6 <= code && code <= 0xbc8) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0xbcd) {\n // Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU\n if (0xbca <= code && code <= 0xbcc) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn TAMIL SIGN VIRAMA\n if (0xbcd === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0xc00) {\n // Mc TAMIL AU LENGTH MARK\n if (0xbd7 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xc01) {\n // Mn TELUGU SIGN COMBINING CANDRABINDU ABOVE\n if (0xc00 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA\n if (0xc01 <= code && code <= 0xc03) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xcbe) {\n if (code < 0xc4a) {\n if (code < 0xc3e) {\n // Mn TELUGU SIGN COMBINING ANUSVARA ABOVE\n if (0xc04 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mn TELUGU SIGN NUKTA\n if (0xc3c === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xc41) {\n // Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II\n if (0xc3e <= code && code <= 0xc40) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xc46) {\n // Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR\n if (0xc41 <= code && code <= 0xc44) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI\n if (0xc46 <= code && code <= 0xc48) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc81) {\n if (code < 0xc55) {\n // Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA\n if (0xc4a <= code && code <= 0xc4d) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xc62) {\n // Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK\n if (0xc55 <= code && code <= 0xc56) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL\n if (0xc62 <= code && code <= 0xc63) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0xc82) {\n // Mn KANNADA SIGN CANDRABINDU\n if (0xc81 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xcbc) {\n // Mc [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA\n if (0xc82 <= code && code <= 0xc83) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn KANNADA SIGN NUKTA\n if (0xcbc === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xcc6) {\n if (code < 0xcc0) {\n // Mc KANNADA VOWEL SIGN AA\n if (0xcbe === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn KANNADA VOWEL SIGN I\n if (0xcbf === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xcc2) {\n // Mc [2] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN U\n if (0xcc0 <= code && code <= 0xcc1) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0xcc3) {\n // Mc KANNADA VOWEL SIGN UU\n if (0xcc2 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] KANNADA VOWEL SIGN VOCALIC R..KANNADA VOWEL SIGN VOCALIC RR\n if (0xcc3 <= code && code <= 0xcc4) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0xccc) {\n if (code < 0xcc7) {\n // Mn KANNADA VOWEL SIGN E\n if (0xcc6 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xcca) {\n // Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI\n if (0xcc7 <= code && code <= 0xcc8) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO\n if (0xcca <= code && code <= 0xccb) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n else {\n if (code < 0xcd5) {\n // Mn [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA\n if (0xccc <= code && code <= 0xccd) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xce2) {\n // Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK\n if (0xcd5 <= code && code <= 0xcd6) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL\n if (0xce2 <= code && code <= 0xce3) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xddf) {\n if (code < 0xd4e) {\n if (code < 0xd3f) {\n if (code < 0xd02) {\n if (code < 0xd00) {\n // Mc KANNADA SIGN COMBINING ANUSVARA ABOVE RIGHT\n if (0xcf3 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU\n if (0xd00 <= code && code <= 0xd01) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0xd3b) {\n // Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA\n if (0xd02 <= code && code <= 0xd03) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0xd3e) {\n // Mn [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA\n if (0xd3b <= code && code <= 0xd3c) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc MALAYALAM VOWEL SIGN AA\n if (0xd3e === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd46) {\n if (code < 0xd41) {\n // Mc [2] MALAYALAM VOWEL SIGN I..MALAYALAM VOWEL SIGN II\n if (0xd3f <= code && code <= 0xd40) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR\n if (0xd41 <= code && code <= 0xd44) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0xd4a) {\n // Mc [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI\n if (0xd46 <= code && code <= 0xd48) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0xd4d) {\n // Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU\n if (0xd4a <= code && code <= 0xd4c) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn MALAYALAM SIGN VIRAMA\n if (0xd4d === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xdca) {\n if (code < 0xd62) {\n // Lo MALAYALAM LETTER DOT REPH\n if (0xd4e === code) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n // Mc MALAYALAM AU LENGTH MARK\n if (0xd57 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xd81) {\n // Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL\n if (0xd62 <= code && code <= 0xd63) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xd82) {\n // Mn SINHALA SIGN CANDRABINDU\n if (0xd81 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA\n if (0xd82 <= code && code <= 0xd83) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0xdd2) {\n if (code < 0xdcf) {\n // Mn SINHALA SIGN AL-LAKUNA\n if (0xdca === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xdd0) {\n // Mc SINHALA VOWEL SIGN AELA-PILLA\n if (0xdcf === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] SINHALA VOWEL SIGN KETTI AEDA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA\n if (0xdd0 <= code && code <= 0xdd1) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n else {\n if (code < 0xdd6) {\n // Mn [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA\n if (0xdd2 <= code && code <= 0xdd4) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xdd8) {\n // Mn SINHALA VOWEL SIGN DIGA PAA-PILLA\n if (0xdd6 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [7] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA\n if (0xdd8 <= code && code <= 0xdde) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xf35) {\n if (code < 0xe47) {\n if (code < 0xe31) {\n if (code < 0xdf2) {\n // Mc SINHALA VOWEL SIGN GAYANUKITTA\n if (0xddf === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA\n if (0xdf2 <= code && code <= 0xdf3) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0xe33) {\n // Mn THAI CHARACTER MAI HAN-AKAT\n if (0xe31 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xe34) {\n // Lo THAI CHARACTER SARA AM\n if (0xe33 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU\n if (0xe34 <= code && code <= 0xe3a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0xeb4) {\n if (code < 0xeb1) {\n // Mn [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN\n if (0xe47 <= code && code <= 0xe4e) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn LAO VOWEL SIGN MAI KAN\n if (0xeb1 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Lo LAO VOWEL SIGN AM\n if (0xeb3 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0xec8) {\n // Mn [9] LAO VOWEL SIGN I..LAO SEMIVOWEL SIGN LO\n if (0xeb4 <= code && code <= 0xebc) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xf18) {\n // Mn [7] LAO TONE MAI EK..LAO YAMAKKAN\n if (0xec8 <= code && code <= 0xece) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS\n if (0xf18 <= code && code <= 0xf19) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xf7f) {\n if (code < 0xf39) {\n // Mn TIBETAN MARK NGAS BZUNG NYI ZLA\n if (0xf35 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS\n if (0xf37 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xf3e) {\n // Mn TIBETAN MARK TSA -PHRU\n if (0xf39 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xf71) {\n // Mc [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES\n if (0xf3e <= code && code <= 0xf3f) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO\n if (0xf71 <= code && code <= 0xf7e) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0xf8d) {\n if (code < 0xf80) {\n // Mc TIBETAN SIGN RNAM BCAD\n if (0xf7f === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0xf86) {\n // Mn [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA\n if (0xf80 <= code && code <= 0xf84) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS\n if (0xf86 <= code && code <= 0xf87) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0xf99) {\n // Mn [11] TIBETAN SUBJOINED SIGN LCE TSA CAN..TIBETAN SUBJOINED LETTER JA\n if (0xf8d <= code && code <= 0xf97) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xfc6) {\n // Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA\n if (0xf99 <= code && code <= 0xfbc) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn TIBETAN SYMBOL PADMA GDAN\n if (0xfc6 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1c24) {\n if (code < 0x1930) {\n if (code < 0x1732) {\n if (code < 0x1082) {\n if (code < 0x103d) {\n if (code < 0x1032) {\n if (code < 0x1031) {\n // Mn [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU\n if (0x102d <= code && code <= 0x1030) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc MYANMAR VOWEL SIGN E\n if (0x1031 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0x1039) {\n // Mn [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW\n if (0x1032 <= code && code <= 0x1037) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x103b) {\n // Mn [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT\n if (0x1039 <= code && code <= 0x103a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA\n if (0x103b <= code && code <= 0x103c) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1058) {\n if (code < 0x1056) {\n // Mn [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA\n if (0x103d <= code && code <= 0x103e) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR\n if (0x1056 <= code && code <= 0x1057) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0x105e) {\n // Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL\n if (0x1058 <= code && code <= 0x1059) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1071) {\n // Mn [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA\n if (0x105e <= code && code <= 0x1060) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE\n if (0x1071 <= code && code <= 0x1074) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1100) {\n if (code < 0x1085) {\n // Mn MYANMAR CONSONANT SIGN SHAN MEDIAL WA\n if (0x1082 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mc MYANMAR VOWEL SIGN SHAN E\n if (0x1084 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x108d) {\n // Mn [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y\n if (0x1085 <= code && code <= 0x1086) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE\n if (0x108d === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mn MYANMAR VOWEL SIGN AITON AI\n if (0x109d === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x135d) {\n if (code < 0x1160) {\n // Lo [96] HANGUL CHOSEONG KIYEOK..HANGUL CHOSEONG FILLER\n if (0x1100 <= code && code <= 0x115f) {\n return boundaries_1.CLUSTER_BREAK.L;\n }\n }\n else {\n if (code < 0x11a8) {\n // Lo [72] HANGUL JUNGSEONG FILLER..HANGUL JUNGSEONG O-YAE\n if (0x1160 <= code && code <= 0x11a7) {\n return boundaries_1.CLUSTER_BREAK.V;\n }\n }\n else {\n // Lo [88] HANGUL JONGSEONG KIYEOK..HANGUL JONGSEONG SSANGNIEUN\n if (0x11a8 <= code && code <= 0x11ff) {\n return boundaries_1.CLUSTER_BREAK.T;\n }\n }\n }\n }\n else {\n if (code < 0x1712) {\n // Mn [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK\n if (0x135d <= code && code <= 0x135f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1715) {\n // Mn [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA\n if (0x1712 <= code && code <= 0x1714) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc TAGALOG SIGN PAMUDPOD\n if (0x1715 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x17c9) {\n if (code < 0x17b6) {\n if (code < 0x1752) {\n if (code < 0x1734) {\n // Mn [2] HANUNOO VOWEL SIGN I..HANUNOO VOWEL SIGN U\n if (0x1732 <= code && code <= 0x1733) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc HANUNOO SIGN PAMUDPOD\n if (0x1734 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0x1772) {\n // Mn [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U\n if (0x1752 <= code && code <= 0x1753) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x17b4) {\n // Mn [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U\n if (0x1772 <= code && code <= 0x1773) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA\n if (0x17b4 <= code && code <= 0x17b5) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x17be) {\n if (code < 0x17b7) {\n // Mc KHMER VOWEL SIGN AA\n if (0x17b6 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA\n if (0x17b7 <= code && code <= 0x17bd) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x17c6) {\n // Mc [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU\n if (0x17be <= code && code <= 0x17c5) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x17c7) {\n // Mn KHMER SIGN NIKAHIT\n if (0x17c6 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU\n if (0x17c7 <= code && code <= 0x17c8) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1885) {\n if (code < 0x180b) {\n if (code < 0x17dd) {\n // Mn [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT\n if (0x17c9 <= code && code <= 0x17d3) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn KHMER SIGN ATTHACAN\n if (0x17dd === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x180e) {\n // Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE\n if (0x180b <= code && code <= 0x180d) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Cf MONGOLIAN VOWEL SEPARATOR\n if (0x180e === code) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n // Mn MONGOLIAN FREE VARIATION SELECTOR FOUR\n if (0x180f === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x1923) {\n if (code < 0x18a9) {\n // Mn [2] MONGOLIAN LETTER ALI GALI BALUDA..MONGOLIAN LETTER ALI GALI THREE BALUDA\n if (0x1885 <= code && code <= 0x1886) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1920) {\n // Mn MONGOLIAN LETTER ALI GALI DAGALGA\n if (0x18a9 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U\n if (0x1920 <= code && code <= 0x1922) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x1927) {\n // Mc [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU\n if (0x1923 <= code && code <= 0x1926) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x1929) {\n // Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O\n if (0x1927 <= code && code <= 0x1928) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA\n if (0x1929 <= code && code <= 0x192b) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1b3b) {\n if (code < 0x1a58) {\n if (code < 0x1a19) {\n if (code < 0x1933) {\n if (code < 0x1932) {\n // Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA\n if (0x1930 <= code && code <= 0x1931) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn LIMBU SMALL LETTER ANUSVARA\n if (0x1932 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x1939) {\n // Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA\n if (0x1933 <= code && code <= 0x1938) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x1a17) {\n // Mn [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I\n if (0x1939 <= code && code <= 0x193b) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U\n if (0x1a17 <= code && code <= 0x1a18) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1a55) {\n if (code < 0x1a1b) {\n // Mc [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O\n if (0x1a19 <= code && code <= 0x1a1a) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn BUGINESE VOWEL SIGN AE\n if (0x1a1b === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x1a56) {\n // Mc TAI THAM CONSONANT SIGN MEDIAL RA\n if (0x1a55 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn TAI THAM CONSONANT SIGN MEDIAL LA\n if (0x1a56 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mc TAI THAM CONSONANT SIGN LA TANG LAI\n if (0x1a57 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1a73) {\n if (code < 0x1a62) {\n if (code < 0x1a60) {\n // Mn [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA\n if (0x1a58 <= code && code <= 0x1a5e) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn TAI THAM SIGN SAKOT\n if (0x1a60 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x1a65) {\n // Mn TAI THAM VOWEL SIGN MAI SAT\n if (0x1a62 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1a6d) {\n // Mn [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW\n if (0x1a65 <= code && code <= 0x1a6c) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI\n if (0x1a6d <= code && code <= 0x1a72) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1b00) {\n if (code < 0x1a7f) {\n // Mn [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN\n if (0x1a73 <= code && code <= 0x1a7c) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1ab0) {\n // Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT\n if (0x1a7f === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [14] COMBINING DOUBLED CIRCUMFLEX ACCENT..COMBINING PARENTHESES BELOW\n // Me COMBINING PARENTHESES OVERLAY\n // Mn [16] COMBINING LATIN SMALL LETTER W BELOW..COMBINING LATIN SMALL LETTER INSULAR T\n if (0x1ab0 <= code && code <= 0x1ace) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x1b04) {\n // Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG\n if (0x1b00 <= code && code <= 0x1b03) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1b34) {\n // Mc BALINESE SIGN BISAH\n if (0x1b04 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn BALINESE SIGN REREKAN\n // Mc BALINESE VOWEL SIGN TEDUNG\n // Mn [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA\n if (0x1b34 <= code && code <= 0x1b3a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1ba8) {\n if (code < 0x1b6b) {\n if (code < 0x1b3d) {\n // Mc BALINESE VOWEL SIGN RA REPA TEDUNG\n if (0x1b3b === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn BALINESE VOWEL SIGN LA LENGA\n if (0x1b3c === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1b42) {\n // Mc [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG\n if (0x1b3d <= code && code <= 0x1b41) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x1b43) {\n // Mn BALINESE VOWEL SIGN PEPET\n if (0x1b42 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG\n if (0x1b43 <= code && code <= 0x1b44) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1ba1) {\n if (code < 0x1b80) {\n // Mn [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG\n if (0x1b6b <= code && code <= 0x1b73) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1b82) {\n // Mn [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR\n if (0x1b80 <= code && code <= 0x1b81) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc SUNDANESE SIGN PANGWISAD\n if (0x1b82 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n else {\n if (code < 0x1ba2) {\n // Mc SUNDANESE CONSONANT SIGN PAMINGKAL\n if (0x1ba1 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x1ba6) {\n // Mn [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU\n if (0x1ba2 <= code && code <= 0x1ba5) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG\n if (0x1ba6 <= code && code <= 0x1ba7) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1be8) {\n if (code < 0x1bab) {\n if (code < 0x1baa) {\n // Mn [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG\n if (0x1ba8 <= code && code <= 0x1ba9) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc SUNDANESE SIGN PAMAAEH\n if (0x1baa === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0x1be6) {\n // Mn [3] SUNDANESE SIGN VIRAMA..SUNDANESE CONSONANT SIGN PASANGAN WA\n if (0x1bab <= code && code <= 0x1bad) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn BATAK SIGN TOMPI\n if (0x1be6 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mc BATAK VOWEL SIGN E\n if (0x1be7 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n else {\n if (code < 0x1bee) {\n if (code < 0x1bea) {\n // Mn [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE\n if (0x1be8 <= code && code <= 0x1be9) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1bed) {\n // Mc [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O\n if (0x1bea <= code && code <= 0x1bec) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn BATAK VOWEL SIGN KARO O\n if (0x1bed === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x1bef) {\n // Mc BATAK VOWEL SIGN U\n if (0x1bee === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x1bf2) {\n // Mn [3] BATAK VOWEL SIGN U FOR SIMALUNGUN SA..BATAK CONSONANT SIGN H\n if (0x1bef <= code && code <= 0x1bf1) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] BATAK PANGOLAT..BATAK PANONGONAN\n if (0x1bf2 <= code && code <= 0x1bf3) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xa952) {\n if (code < 0x2d7f) {\n if (code < 0x1cf7) {\n if (code < 0x1cd4) {\n if (code < 0x1c34) {\n if (code < 0x1c2c) {\n // Mc [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU\n if (0x1c24 <= code && code <= 0x1c2b) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T\n if (0x1c2c <= code && code <= 0x1c33) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x1c36) {\n // Mc [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG\n if (0x1c34 <= code && code <= 0x1c35) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x1cd0) {\n // Mn [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA\n if (0x1c36 <= code && code <= 0x1c37) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA\n if (0x1cd0 <= code && code <= 0x1cd2) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1ce2) {\n if (code < 0x1ce1) {\n // Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA\n if (0x1cd4 <= code && code <= 0x1ce0) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA\n if (0x1ce1 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0x1ced) {\n // Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL\n if (0x1ce2 <= code && code <= 0x1ce8) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn VEDIC SIGN TIRYAK\n if (0x1ced === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mn VEDIC TONE CANDRA ABOVE\n if (0x1cf4 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x200d) {\n if (code < 0x1dc0) {\n if (code < 0x1cf8) {\n // Mc VEDIC SIGN ATIKRAMA\n if (0x1cf7 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE\n if (0x1cf8 <= code && code <= 0x1cf9) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x200b) {\n // Mn [64] COMBINING DOTTED GRAVE ACCENT..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW\n if (0x1dc0 <= code && code <= 0x1dff) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Cf ZERO WIDTH SPACE\n if (0x200b === code) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n // Cf ZERO WIDTH NON-JOINER\n if (0x200c === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x2060) {\n if (code < 0x200e) {\n // Cf ZERO WIDTH JOINER\n if (0x200d === code) {\n return boundaries_1.CLUSTER_BREAK.ZWJ;\n }\n }\n else {\n if (code < 0x2028) {\n // Cf [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK\n if (0x200e <= code && code <= 0x200f) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n else {\n // Zl LINE SEPARATOR\n // Zp PARAGRAPH SEPARATOR\n // Cf [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE\n if (0x2028 <= code && code <= 0x202e) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n }\n }\n else {\n if (code < 0x20d0) {\n // Cf [5] WORD JOINER..INVISIBLE PLUS\n // Cn \n // Cf [10] LEFT-TO-RIGHT ISOLATE..NOMINAL DIGIT SHAPES\n if (0x2060 <= code && code <= 0x206f) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n else {\n if (code < 0x2cef) {\n // Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE\n // Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH\n // Mn COMBINING LEFT RIGHT ARROW ABOVE\n // Me [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE\n // Mn [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE\n if (0x20d0 <= code && code <= 0x20f0) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS\n if (0x2cef <= code && code <= 0x2cf1) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xa823) {\n if (code < 0xa674) {\n if (code < 0x302a) {\n if (code < 0x2de0) {\n // Mn TIFINAGH CONSONANT JOINER\n if (0x2d7f === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS\n if (0x2de0 <= code && code <= 0x2dff) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x3099) {\n // Mn [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK\n // Mc [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK\n if (0x302a <= code && code <= 0x302f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xa66f) {\n // Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK\n if (0x3099 <= code && code <= 0x309a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn COMBINING CYRILLIC VZMET\n // Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN\n if (0xa66f <= code && code <= 0xa672) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0xa802) {\n if (code < 0xa69e) {\n // Mn [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK\n if (0xa674 <= code && code <= 0xa67d) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xa6f0) {\n // Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E\n if (0xa69e <= code && code <= 0xa69f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS\n if (0xa6f0 <= code && code <= 0xa6f1) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0xa806) {\n // Mn SYLOTI NAGRI SIGN DVISVARA\n if (0xa802 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn SYLOTI NAGRI SIGN HASANTA\n if (0xa806 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mn SYLOTI NAGRI SIGN ANUSVARA\n if (0xa80b === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0xa8b4) {\n if (code < 0xa827) {\n if (code < 0xa825) {\n // Mc [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I\n if (0xa823 <= code && code <= 0xa824) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E\n if (0xa825 <= code && code <= 0xa826) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0xa82c) {\n // Mc SYLOTI NAGRI VOWEL SIGN OO\n if (0xa827 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0xa880) {\n // Mn SYLOTI NAGRI SIGN ALTERNATE HASANTA\n if (0xa82c === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA\n if (0xa880 <= code && code <= 0xa881) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0xa8ff) {\n if (code < 0xa8c4) {\n // Mc [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU\n if (0xa8b4 <= code && code <= 0xa8c3) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0xa8e0) {\n // Mn [2] SAURASHTRA SIGN VIRAMA..SAURASHTRA SIGN CANDRABINDU\n if (0xa8c4 <= code && code <= 0xa8c5) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA\n if (0xa8e0 <= code && code <= 0xa8f1) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0xa926) {\n // Mn DEVANAGARI VOWEL SIGN AY\n if (0xa8ff === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xa947) {\n // Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU\n if (0xa926 <= code && code <= 0xa92d) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R\n if (0xa947 <= code && code <= 0xa951) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xaab2) {\n if (code < 0xa9e5) {\n if (code < 0xa9b4) {\n if (code < 0xa980) {\n if (code < 0xa960) {\n // Mc [2] REJANG CONSONANT SIGN H..REJANG VIRAMA\n if (0xa952 <= code && code <= 0xa953) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH\n if (0xa960 <= code && code <= 0xa97c) {\n return boundaries_1.CLUSTER_BREAK.L;\n }\n }\n }\n else {\n if (code < 0xa983) {\n // Mn [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR\n if (0xa980 <= code && code <= 0xa982) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc JAVANESE SIGN WIGNYAN\n if (0xa983 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn JAVANESE SIGN CECAK TELU\n if (0xa9b3 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0xa9ba) {\n if (code < 0xa9b6) {\n // Mc [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG\n if (0xa9b4 <= code && code <= 0xa9b5) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT\n if (0xa9b6 <= code && code <= 0xa9b9) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0xa9bc) {\n // Mc [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE\n if (0xa9ba <= code && code <= 0xa9bb) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0xa9be) {\n // Mn [2] JAVANESE VOWEL SIGN PEPET..JAVANESE CONSONANT SIGN KERET\n if (0xa9bc <= code && code <= 0xa9bd) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [3] JAVANESE CONSONANT SIGN PENGKAL..JAVANESE PANGKON\n if (0xa9be <= code && code <= 0xa9c0) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xaa35) {\n if (code < 0xaa2f) {\n if (code < 0xaa29) {\n // Mn MYANMAR SIGN SHAN SAW\n if (0xa9e5 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE\n if (0xaa29 <= code && code <= 0xaa2e) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0xaa31) {\n // Mc [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI\n if (0xaa2f <= code && code <= 0xaa30) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0xaa33) {\n // Mn [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE\n if (0xaa31 <= code && code <= 0xaa32) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA\n if (0xaa33 <= code && code <= 0xaa34) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0xaa4d) {\n if (code < 0xaa43) {\n // Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA\n if (0xaa35 <= code && code <= 0xaa36) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn CHAM CONSONANT SIGN FINAL NG\n if (0xaa43 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mn CHAM CONSONANT SIGN FINAL M\n if (0xaa4c === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0xaa7c) {\n // Mc CHAM CONSONANT SIGN FINAL H\n if (0xaa4d === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn MYANMAR SIGN TAI LAING TONE-2\n if (0xaa7c === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mn TAI VIET MAI KANG\n if (0xaab0 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xabe6) {\n if (code < 0xaaec) {\n if (code < 0xaabe) {\n if (code < 0xaab7) {\n // Mn [3] TAI VIET VOWEL I..TAI VIET VOWEL U\n if (0xaab2 <= code && code <= 0xaab4) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA\n if (0xaab7 <= code && code <= 0xaab8) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0xaac1) {\n // Mn [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK\n if (0xaabe <= code && code <= 0xaabf) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn TAI VIET TONE MAI THO\n if (0xaac1 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mc MEETEI MAYEK VOWEL SIGN II\n if (0xaaeb === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n else {\n if (code < 0xaaf6) {\n if (code < 0xaaee) {\n // Mn [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI\n if (0xaaec <= code && code <= 0xaaed) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xaaf5) {\n // Mc [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU\n if (0xaaee <= code && code <= 0xaaef) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mc MEETEI MAYEK VOWEL SIGN VISARGA\n if (0xaaf5 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n else {\n if (code < 0xabe3) {\n // Mn MEETEI MAYEK VIRAMA\n if (0xaaf6 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xabe5) {\n // Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP\n if (0xabe3 <= code && code <= 0xabe4) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn MEETEI MAYEK VOWEL SIGN ANAP\n if (0xabe5 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xac00) {\n if (code < 0xabe9) {\n if (code < 0xabe8) {\n // Mc [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP\n if (0xabe6 <= code && code <= 0xabe7) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn MEETEI MAYEK VOWEL SIGN UNAP\n if (0xabe8 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0xabec) {\n // Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG\n if (0xabe9 <= code && code <= 0xabea) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mc MEETEI MAYEK LUM IYEK\n if (0xabec === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn MEETEI MAYEK APUN IYEK\n if (0xabed === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0xac1d) {\n if (code < 0xac01) {\n // Lo HANGUL SYLLABLE GA\n if (0xac00 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xac1c) {\n // Lo [27] HANGUL SYLLABLE GAG..HANGUL SYLLABLE GAH\n if (0xac01 <= code && code <= 0xac1b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GAE\n if (0xac1c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xac38) {\n // Lo [27] HANGUL SYLLABLE GAEG..HANGUL SYLLABLE GAEH\n if (0xac1d <= code && code <= 0xac37) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xac39) {\n // Lo HANGUL SYLLABLE GYA\n if (0xac38 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GYAG..HANGUL SYLLABLE GYAH\n if (0xac39 <= code && code <= 0xac53) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb5a1) {\n if (code < 0xb0ed) {\n if (code < 0xaea0) {\n if (code < 0xad6d) {\n if (code < 0xace0) {\n if (code < 0xac8d) {\n if (code < 0xac70) {\n if (code < 0xac55) {\n // Lo HANGUL SYLLABLE GYAE\n if (0xac54 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GYAEG..HANGUL SYLLABLE GYAEH\n if (0xac55 <= code && code <= 0xac6f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xac71) {\n // Lo HANGUL SYLLABLE GEO\n if (0xac70 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xac8c) {\n // Lo [27] HANGUL SYLLABLE GEOG..HANGUL SYLLABLE GEOH\n if (0xac71 <= code && code <= 0xac8b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GE\n if (0xac8c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xaca9) {\n if (code < 0xaca8) {\n // Lo [27] HANGUL SYLLABLE GEG..HANGUL SYLLABLE GEH\n if (0xac8d <= code && code <= 0xaca7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GYEO\n if (0xaca8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xacc4) {\n // Lo [27] HANGUL SYLLABLE GYEOG..HANGUL SYLLABLE GYEOH\n if (0xaca9 <= code && code <= 0xacc3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xacc5) {\n // Lo HANGUL SYLLABLE GYE\n if (0xacc4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GYEG..HANGUL SYLLABLE GYEH\n if (0xacc5 <= code && code <= 0xacdf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xad19) {\n if (code < 0xacfc) {\n if (code < 0xace1) {\n // Lo HANGUL SYLLABLE GO\n if (0xace0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GOG..HANGUL SYLLABLE GOH\n if (0xace1 <= code && code <= 0xacfb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xacfd) {\n // Lo HANGUL SYLLABLE GWA\n if (0xacfc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xad18) {\n // Lo [27] HANGUL SYLLABLE GWAG..HANGUL SYLLABLE GWAH\n if (0xacfd <= code && code <= 0xad17) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GWAE\n if (0xad18 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xad50) {\n if (code < 0xad34) {\n // Lo [27] HANGUL SYLLABLE GWAEG..HANGUL SYLLABLE GWAEH\n if (0xad19 <= code && code <= 0xad33) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xad35) {\n // Lo HANGUL SYLLABLE GOE\n if (0xad34 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GOEG..HANGUL SYLLABLE GOEH\n if (0xad35 <= code && code <= 0xad4f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xad51) {\n // Lo HANGUL SYLLABLE GYO\n if (0xad50 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xad6c) {\n // Lo [27] HANGUL SYLLABLE GYOG..HANGUL SYLLABLE GYOH\n if (0xad51 <= code && code <= 0xad6b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GU\n if (0xad6c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xadf9) {\n if (code < 0xadc0) {\n if (code < 0xad89) {\n if (code < 0xad88) {\n // Lo [27] HANGUL SYLLABLE GUG..HANGUL SYLLABLE GUH\n if (0xad6d <= code && code <= 0xad87) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GWEO\n if (0xad88 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xada4) {\n // Lo [27] HANGUL SYLLABLE GWEOG..HANGUL SYLLABLE GWEOH\n if (0xad89 <= code && code <= 0xada3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xada5) {\n // Lo HANGUL SYLLABLE GWE\n if (0xada4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GWEG..HANGUL SYLLABLE GWEH\n if (0xada5 <= code && code <= 0xadbf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xaddc) {\n if (code < 0xadc1) {\n // Lo HANGUL SYLLABLE GWI\n if (0xadc0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GWIG..HANGUL SYLLABLE GWIH\n if (0xadc1 <= code && code <= 0xaddb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xaddd) {\n // Lo HANGUL SYLLABLE GYU\n if (0xaddc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xadf8) {\n // Lo [27] HANGUL SYLLABLE GYUG..HANGUL SYLLABLE GYUH\n if (0xaddd <= code && code <= 0xadf7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GEU\n if (0xadf8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xae4c) {\n if (code < 0xae15) {\n if (code < 0xae14) {\n // Lo [27] HANGUL SYLLABLE GEUG..HANGUL SYLLABLE GEUH\n if (0xadf9 <= code && code <= 0xae13) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GYI\n if (0xae14 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xae30) {\n // Lo [27] HANGUL SYLLABLE GYIG..HANGUL SYLLABLE GYIH\n if (0xae15 <= code && code <= 0xae2f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xae31) {\n // Lo HANGUL SYLLABLE GI\n if (0xae30 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GIG..HANGUL SYLLABLE GIH\n if (0xae31 <= code && code <= 0xae4b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xae69) {\n if (code < 0xae4d) {\n // Lo HANGUL SYLLABLE GGA\n if (0xae4c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xae68) {\n // Lo [27] HANGUL SYLLABLE GGAG..HANGUL SYLLABLE GGAH\n if (0xae4d <= code && code <= 0xae67) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GGAE\n if (0xae68 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xae84) {\n // Lo [27] HANGUL SYLLABLE GGAEG..HANGUL SYLLABLE GGAEH\n if (0xae69 <= code && code <= 0xae83) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xae85) {\n // Lo HANGUL SYLLABLE GGYA\n if (0xae84 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GGYAG..HANGUL SYLLABLE GGYAH\n if (0xae85 <= code && code <= 0xae9f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xafb9) {\n if (code < 0xaf2c) {\n if (code < 0xaed9) {\n if (code < 0xaebc) {\n if (code < 0xaea1) {\n // Lo HANGUL SYLLABLE GGYAE\n if (0xaea0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GGYAEG..HANGUL SYLLABLE GGYAEH\n if (0xaea1 <= code && code <= 0xaebb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xaebd) {\n // Lo HANGUL SYLLABLE GGEO\n if (0xaebc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xaed8) {\n // Lo [27] HANGUL SYLLABLE GGEOG..HANGUL SYLLABLE GGEOH\n if (0xaebd <= code && code <= 0xaed7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GGE\n if (0xaed8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xaef5) {\n if (code < 0xaef4) {\n // Lo [27] HANGUL SYLLABLE GGEG..HANGUL SYLLABLE GGEH\n if (0xaed9 <= code && code <= 0xaef3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GGYEO\n if (0xaef4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xaf10) {\n // Lo [27] HANGUL SYLLABLE GGYEOG..HANGUL SYLLABLE GGYEOH\n if (0xaef5 <= code && code <= 0xaf0f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xaf11) {\n // Lo HANGUL SYLLABLE GGYE\n if (0xaf10 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GGYEG..HANGUL SYLLABLE GGYEH\n if (0xaf11 <= code && code <= 0xaf2b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xaf65) {\n if (code < 0xaf48) {\n if (code < 0xaf2d) {\n // Lo HANGUL SYLLABLE GGO\n if (0xaf2c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GGOG..HANGUL SYLLABLE GGOH\n if (0xaf2d <= code && code <= 0xaf47) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xaf49) {\n // Lo HANGUL SYLLABLE GGWA\n if (0xaf48 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xaf64) {\n // Lo [27] HANGUL SYLLABLE GGWAG..HANGUL SYLLABLE GGWAH\n if (0xaf49 <= code && code <= 0xaf63) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GGWAE\n if (0xaf64 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xaf9c) {\n if (code < 0xaf80) {\n // Lo [27] HANGUL SYLLABLE GGWAEG..HANGUL SYLLABLE GGWAEH\n if (0xaf65 <= code && code <= 0xaf7f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xaf81) {\n // Lo HANGUL SYLLABLE GGOE\n if (0xaf80 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GGOEG..HANGUL SYLLABLE GGOEH\n if (0xaf81 <= code && code <= 0xaf9b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xaf9d) {\n // Lo HANGUL SYLLABLE GGYO\n if (0xaf9c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xafb8) {\n // Lo [27] HANGUL SYLLABLE GGYOG..HANGUL SYLLABLE GGYOH\n if (0xaf9d <= code && code <= 0xafb7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GGU\n if (0xafb8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb060) {\n if (code < 0xb00c) {\n if (code < 0xafd5) {\n if (code < 0xafd4) {\n // Lo [27] HANGUL SYLLABLE GGUG..HANGUL SYLLABLE GGUH\n if (0xafb9 <= code && code <= 0xafd3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GGWEO\n if (0xafd4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xaff0) {\n // Lo [27] HANGUL SYLLABLE GGWEOG..HANGUL SYLLABLE GGWEOH\n if (0xafd5 <= code && code <= 0xafef) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xaff1) {\n // Lo HANGUL SYLLABLE GGWE\n if (0xaff0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GGWEG..HANGUL SYLLABLE GGWEH\n if (0xaff1 <= code && code <= 0xb00b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb029) {\n if (code < 0xb00d) {\n // Lo HANGUL SYLLABLE GGWI\n if (0xb00c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb028) {\n // Lo [27] HANGUL SYLLABLE GGWIG..HANGUL SYLLABLE GGWIH\n if (0xb00d <= code && code <= 0xb027) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GGYU\n if (0xb028 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xb044) {\n // Lo [27] HANGUL SYLLABLE GGYUG..HANGUL SYLLABLE GGYUH\n if (0xb029 <= code && code <= 0xb043) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb045) {\n // Lo HANGUL SYLLABLE GGEU\n if (0xb044 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GGEUG..HANGUL SYLLABLE GGEUH\n if (0xb045 <= code && code <= 0xb05f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb099) {\n if (code < 0xb07c) {\n if (code < 0xb061) {\n // Lo HANGUL SYLLABLE GGYI\n if (0xb060 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GGYIG..HANGUL SYLLABLE GGYIH\n if (0xb061 <= code && code <= 0xb07b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xb07d) {\n // Lo HANGUL SYLLABLE GGI\n if (0xb07c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb098) {\n // Lo [27] HANGUL SYLLABLE GGIG..HANGUL SYLLABLE GGIH\n if (0xb07d <= code && code <= 0xb097) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE NA\n if (0xb098 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb0d0) {\n if (code < 0xb0b4) {\n // Lo [27] HANGUL SYLLABLE NAG..HANGUL SYLLABLE NAH\n if (0xb099 <= code && code <= 0xb0b3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb0b5) {\n // Lo HANGUL SYLLABLE NAE\n if (0xb0b4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE NAEG..HANGUL SYLLABLE NAEH\n if (0xb0b5 <= code && code <= 0xb0cf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xb0d1) {\n // Lo HANGUL SYLLABLE NYA\n if (0xb0d0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb0ec) {\n // Lo [27] HANGUL SYLLABLE NYAG..HANGUL SYLLABLE NYAH\n if (0xb0d1 <= code && code <= 0xb0eb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE NYAE\n if (0xb0ec === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb354) {\n if (code < 0xb220) {\n if (code < 0xb179) {\n if (code < 0xb140) {\n if (code < 0xb109) {\n if (code < 0xb108) {\n // Lo [27] HANGUL SYLLABLE NYAEG..HANGUL SYLLABLE NYAEH\n if (0xb0ed <= code && code <= 0xb107) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE NEO\n if (0xb108 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xb124) {\n // Lo [27] HANGUL SYLLABLE NEOG..HANGUL SYLLABLE NEOH\n if (0xb109 <= code && code <= 0xb123) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb125) {\n // Lo HANGUL SYLLABLE NE\n if (0xb124 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE NEG..HANGUL SYLLABLE NEH\n if (0xb125 <= code && code <= 0xb13f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb15c) {\n if (code < 0xb141) {\n // Lo HANGUL SYLLABLE NYEO\n if (0xb140 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE NYEOG..HANGUL SYLLABLE NYEOH\n if (0xb141 <= code && code <= 0xb15b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xb15d) {\n // Lo HANGUL SYLLABLE NYE\n if (0xb15c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb178) {\n // Lo [27] HANGUL SYLLABLE NYEG..HANGUL SYLLABLE NYEH\n if (0xb15d <= code && code <= 0xb177) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE NO\n if (0xb178 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb1cc) {\n if (code < 0xb195) {\n if (code < 0xb194) {\n // Lo [27] HANGUL SYLLABLE NOG..HANGUL SYLLABLE NOH\n if (0xb179 <= code && code <= 0xb193) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE NWA\n if (0xb194 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xb1b0) {\n // Lo [27] HANGUL SYLLABLE NWAG..HANGUL SYLLABLE NWAH\n if (0xb195 <= code && code <= 0xb1af) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb1b1) {\n // Lo HANGUL SYLLABLE NWAE\n if (0xb1b0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE NWAEG..HANGUL SYLLABLE NWAEH\n if (0xb1b1 <= code && code <= 0xb1cb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb1e9) {\n if (code < 0xb1cd) {\n // Lo HANGUL SYLLABLE NOE\n if (0xb1cc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb1e8) {\n // Lo [27] HANGUL SYLLABLE NOEG..HANGUL SYLLABLE NOEH\n if (0xb1cd <= code && code <= 0xb1e7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE NYO\n if (0xb1e8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xb204) {\n // Lo [27] HANGUL SYLLABLE NYOG..HANGUL SYLLABLE NYOH\n if (0xb1e9 <= code && code <= 0xb203) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb205) {\n // Lo HANGUL SYLLABLE NU\n if (0xb204 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE NUG..HANGUL SYLLABLE NUH\n if (0xb205 <= code && code <= 0xb21f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb2ad) {\n if (code < 0xb259) {\n if (code < 0xb23c) {\n if (code < 0xb221) {\n // Lo HANGUL SYLLABLE NWEO\n if (0xb220 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE NWEOG..HANGUL SYLLABLE NWEOH\n if (0xb221 <= code && code <= 0xb23b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xb23d) {\n // Lo HANGUL SYLLABLE NWE\n if (0xb23c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb258) {\n // Lo [27] HANGUL SYLLABLE NWEG..HANGUL SYLLABLE NWEH\n if (0xb23d <= code && code <= 0xb257) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE NWI\n if (0xb258 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb290) {\n if (code < 0xb274) {\n // Lo [27] HANGUL SYLLABLE NWIG..HANGUL SYLLABLE NWIH\n if (0xb259 <= code && code <= 0xb273) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb275) {\n // Lo HANGUL SYLLABLE NYU\n if (0xb274 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE NYUG..HANGUL SYLLABLE NYUH\n if (0xb275 <= code && code <= 0xb28f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xb291) {\n // Lo HANGUL SYLLABLE NEU\n if (0xb290 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb2ac) {\n // Lo [27] HANGUL SYLLABLE NEUG..HANGUL SYLLABLE NEUH\n if (0xb291 <= code && code <= 0xb2ab) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE NYI\n if (0xb2ac === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb300) {\n if (code < 0xb2c9) {\n if (code < 0xb2c8) {\n // Lo [27] HANGUL SYLLABLE NYIG..HANGUL SYLLABLE NYIH\n if (0xb2ad <= code && code <= 0xb2c7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE NI\n if (0xb2c8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xb2e4) {\n // Lo [27] HANGUL SYLLABLE NIG..HANGUL SYLLABLE NIH\n if (0xb2c9 <= code && code <= 0xb2e3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb2e5) {\n // Lo HANGUL SYLLABLE DA\n if (0xb2e4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DAG..HANGUL SYLLABLE DAH\n if (0xb2e5 <= code && code <= 0xb2ff) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb31d) {\n if (code < 0xb301) {\n // Lo HANGUL SYLLABLE DAE\n if (0xb300 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb31c) {\n // Lo [27] HANGUL SYLLABLE DAEG..HANGUL SYLLABLE DAEH\n if (0xb301 <= code && code <= 0xb31b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DYA\n if (0xb31c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xb338) {\n // Lo [27] HANGUL SYLLABLE DYAG..HANGUL SYLLABLE DYAH\n if (0xb31d <= code && code <= 0xb337) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb339) {\n // Lo HANGUL SYLLABLE DYAE\n if (0xb338 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DYAEG..HANGUL SYLLABLE DYAEH\n if (0xb339 <= code && code <= 0xb353) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb46d) {\n if (code < 0xb3e0) {\n if (code < 0xb38d) {\n if (code < 0xb370) {\n if (code < 0xb355) {\n // Lo HANGUL SYLLABLE DEO\n if (0xb354 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DEOG..HANGUL SYLLABLE DEOH\n if (0xb355 <= code && code <= 0xb36f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xb371) {\n // Lo HANGUL SYLLABLE DE\n if (0xb370 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb38c) {\n // Lo [27] HANGUL SYLLABLE DEG..HANGUL SYLLABLE DEH\n if (0xb371 <= code && code <= 0xb38b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DYEO\n if (0xb38c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb3a9) {\n if (code < 0xb3a8) {\n // Lo [27] HANGUL SYLLABLE DYEOG..HANGUL SYLLABLE DYEOH\n if (0xb38d <= code && code <= 0xb3a7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DYE\n if (0xb3a8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xb3c4) {\n // Lo [27] HANGUL SYLLABLE DYEG..HANGUL SYLLABLE DYEH\n if (0xb3a9 <= code && code <= 0xb3c3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb3c5) {\n // Lo HANGUL SYLLABLE DO\n if (0xb3c4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DOG..HANGUL SYLLABLE DOH\n if (0xb3c5 <= code && code <= 0xb3df) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb419) {\n if (code < 0xb3fc) {\n if (code < 0xb3e1) {\n // Lo HANGUL SYLLABLE DWA\n if (0xb3e0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DWAG..HANGUL SYLLABLE DWAH\n if (0xb3e1 <= code && code <= 0xb3fb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xb3fd) {\n // Lo HANGUL SYLLABLE DWAE\n if (0xb3fc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb418) {\n // Lo [27] HANGUL SYLLABLE DWAEG..HANGUL SYLLABLE DWAEH\n if (0xb3fd <= code && code <= 0xb417) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DOE\n if (0xb418 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb450) {\n if (code < 0xb434) {\n // Lo [27] HANGUL SYLLABLE DOEG..HANGUL SYLLABLE DOEH\n if (0xb419 <= code && code <= 0xb433) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb435) {\n // Lo HANGUL SYLLABLE DYO\n if (0xb434 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DYOG..HANGUL SYLLABLE DYOH\n if (0xb435 <= code && code <= 0xb44f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xb451) {\n // Lo HANGUL SYLLABLE DU\n if (0xb450 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb46c) {\n // Lo [27] HANGUL SYLLABLE DUG..HANGUL SYLLABLE DUH\n if (0xb451 <= code && code <= 0xb46b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DWEO\n if (0xb46c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb514) {\n if (code < 0xb4c0) {\n if (code < 0xb489) {\n if (code < 0xb488) {\n // Lo [27] HANGUL SYLLABLE DWEOG..HANGUL SYLLABLE DWEOH\n if (0xb46d <= code && code <= 0xb487) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DWE\n if (0xb488 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xb4a4) {\n // Lo [27] HANGUL SYLLABLE DWEG..HANGUL SYLLABLE DWEH\n if (0xb489 <= code && code <= 0xb4a3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb4a5) {\n // Lo HANGUL SYLLABLE DWI\n if (0xb4a4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DWIG..HANGUL SYLLABLE DWIH\n if (0xb4a5 <= code && code <= 0xb4bf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb4dd) {\n if (code < 0xb4c1) {\n // Lo HANGUL SYLLABLE DYU\n if (0xb4c0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb4dc) {\n // Lo [27] HANGUL SYLLABLE DYUG..HANGUL SYLLABLE DYUH\n if (0xb4c1 <= code && code <= 0xb4db) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DEU\n if (0xb4dc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xb4f8) {\n // Lo [27] HANGUL SYLLABLE DEUG..HANGUL SYLLABLE DEUH\n if (0xb4dd <= code && code <= 0xb4f7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb4f9) {\n // Lo HANGUL SYLLABLE DYI\n if (0xb4f8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DYIG..HANGUL SYLLABLE DYIH\n if (0xb4f9 <= code && code <= 0xb513) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb54d) {\n if (code < 0xb530) {\n if (code < 0xb515) {\n // Lo HANGUL SYLLABLE DI\n if (0xb514 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DIG..HANGUL SYLLABLE DIH\n if (0xb515 <= code && code <= 0xb52f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xb531) {\n // Lo HANGUL SYLLABLE DDA\n if (0xb530 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb54c) {\n // Lo [27] HANGUL SYLLABLE DDAG..HANGUL SYLLABLE DDAH\n if (0xb531 <= code && code <= 0xb54b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DDAE\n if (0xb54c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb584) {\n if (code < 0xb568) {\n // Lo [27] HANGUL SYLLABLE DDAEG..HANGUL SYLLABLE DDAEH\n if (0xb54d <= code && code <= 0xb567) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb569) {\n // Lo HANGUL SYLLABLE DDYA\n if (0xb568 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DDYAG..HANGUL SYLLABLE DDYAH\n if (0xb569 <= code && code <= 0xb583) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xb585) {\n // Lo HANGUL SYLLABLE DDYAE\n if (0xb584 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb5a0) {\n // Lo [27] HANGUL SYLLABLE DDYAEG..HANGUL SYLLABLE DDYAEH\n if (0xb585 <= code && code <= 0xb59f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DDEO\n if (0xb5a0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xba55) {\n if (code < 0xb808) {\n if (code < 0xb6d4) {\n if (code < 0xb62d) {\n if (code < 0xb5f4) {\n if (code < 0xb5bd) {\n if (code < 0xb5bc) {\n // Lo [27] HANGUL SYLLABLE DDEOG..HANGUL SYLLABLE DDEOH\n if (0xb5a1 <= code && code <= 0xb5bb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DDE\n if (0xb5bc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xb5d8) {\n // Lo [27] HANGUL SYLLABLE DDEG..HANGUL SYLLABLE DDEH\n if (0xb5bd <= code && code <= 0xb5d7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb5d9) {\n // Lo HANGUL SYLLABLE DDYEO\n if (0xb5d8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DDYEOG..HANGUL SYLLABLE DDYEOH\n if (0xb5d9 <= code && code <= 0xb5f3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb610) {\n if (code < 0xb5f5) {\n // Lo HANGUL SYLLABLE DDYE\n if (0xb5f4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DDYEG..HANGUL SYLLABLE DDYEH\n if (0xb5f5 <= code && code <= 0xb60f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xb611) {\n // Lo HANGUL SYLLABLE DDO\n if (0xb610 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb62c) {\n // Lo [27] HANGUL SYLLABLE DDOG..HANGUL SYLLABLE DDOH\n if (0xb611 <= code && code <= 0xb62b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DDWA\n if (0xb62c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb680) {\n if (code < 0xb649) {\n if (code < 0xb648) {\n // Lo [27] HANGUL SYLLABLE DDWAG..HANGUL SYLLABLE DDWAH\n if (0xb62d <= code && code <= 0xb647) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DDWAE\n if (0xb648 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xb664) {\n // Lo [27] HANGUL SYLLABLE DDWAEG..HANGUL SYLLABLE DDWAEH\n if (0xb649 <= code && code <= 0xb663) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb665) {\n // Lo HANGUL SYLLABLE DDOE\n if (0xb664 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DDOEG..HANGUL SYLLABLE DDOEH\n if (0xb665 <= code && code <= 0xb67f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb69d) {\n if (code < 0xb681) {\n // Lo HANGUL SYLLABLE DDYO\n if (0xb680 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb69c) {\n // Lo [27] HANGUL SYLLABLE DDYOG..HANGUL SYLLABLE DDYOH\n if (0xb681 <= code && code <= 0xb69b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DDU\n if (0xb69c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xb6b8) {\n // Lo [27] HANGUL SYLLABLE DDUG..HANGUL SYLLABLE DDUH\n if (0xb69d <= code && code <= 0xb6b7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb6b9) {\n // Lo HANGUL SYLLABLE DDWEO\n if (0xb6b8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DDWEOG..HANGUL SYLLABLE DDWEOH\n if (0xb6b9 <= code && code <= 0xb6d3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb761) {\n if (code < 0xb70d) {\n if (code < 0xb6f0) {\n if (code < 0xb6d5) {\n // Lo HANGUL SYLLABLE DDWE\n if (0xb6d4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DDWEG..HANGUL SYLLABLE DDWEH\n if (0xb6d5 <= code && code <= 0xb6ef) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xb6f1) {\n // Lo HANGUL SYLLABLE DDWI\n if (0xb6f0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb70c) {\n // Lo [27] HANGUL SYLLABLE DDWIG..HANGUL SYLLABLE DDWIH\n if (0xb6f1 <= code && code <= 0xb70b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DDYU\n if (0xb70c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb744) {\n if (code < 0xb728) {\n // Lo [27] HANGUL SYLLABLE DDYUG..HANGUL SYLLABLE DDYUH\n if (0xb70d <= code && code <= 0xb727) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb729) {\n // Lo HANGUL SYLLABLE DDEU\n if (0xb728 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DDEUG..HANGUL SYLLABLE DDEUH\n if (0xb729 <= code && code <= 0xb743) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xb745) {\n // Lo HANGUL SYLLABLE DDYI\n if (0xb744 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb760) {\n // Lo [27] HANGUL SYLLABLE DDYIG..HANGUL SYLLABLE DDYIH\n if (0xb745 <= code && code <= 0xb75f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DDI\n if (0xb760 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb7b4) {\n if (code < 0xb77d) {\n if (code < 0xb77c) {\n // Lo [27] HANGUL SYLLABLE DDIG..HANGUL SYLLABLE DDIH\n if (0xb761 <= code && code <= 0xb77b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE RA\n if (0xb77c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xb798) {\n // Lo [27] HANGUL SYLLABLE RAG..HANGUL SYLLABLE RAH\n if (0xb77d <= code && code <= 0xb797) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb799) {\n // Lo HANGUL SYLLABLE RAE\n if (0xb798 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE RAEG..HANGUL SYLLABLE RAEH\n if (0xb799 <= code && code <= 0xb7b3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb7d1) {\n if (code < 0xb7b5) {\n // Lo HANGUL SYLLABLE RYA\n if (0xb7b4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb7d0) {\n // Lo [27] HANGUL SYLLABLE RYAG..HANGUL SYLLABLE RYAH\n if (0xb7b5 <= code && code <= 0xb7cf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE RYAE\n if (0xb7d0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xb7ec) {\n // Lo [27] HANGUL SYLLABLE RYAEG..HANGUL SYLLABLE RYAEH\n if (0xb7d1 <= code && code <= 0xb7eb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb7ed) {\n // Lo HANGUL SYLLABLE REO\n if (0xb7ec === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE REOG..HANGUL SYLLABLE REOH\n if (0xb7ed <= code && code <= 0xb807) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb921) {\n if (code < 0xb894) {\n if (code < 0xb841) {\n if (code < 0xb824) {\n if (code < 0xb809) {\n // Lo HANGUL SYLLABLE RE\n if (0xb808 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE REG..HANGUL SYLLABLE REH\n if (0xb809 <= code && code <= 0xb823) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xb825) {\n // Lo HANGUL SYLLABLE RYEO\n if (0xb824 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb840) {\n // Lo [27] HANGUL SYLLABLE RYEOG..HANGUL SYLLABLE RYEOH\n if (0xb825 <= code && code <= 0xb83f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE RYE\n if (0xb840 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb85d) {\n if (code < 0xb85c) {\n // Lo [27] HANGUL SYLLABLE RYEG..HANGUL SYLLABLE RYEH\n if (0xb841 <= code && code <= 0xb85b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE RO\n if (0xb85c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xb878) {\n // Lo [27] HANGUL SYLLABLE ROG..HANGUL SYLLABLE ROH\n if (0xb85d <= code && code <= 0xb877) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb879) {\n // Lo HANGUL SYLLABLE RWA\n if (0xb878 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE RWAG..HANGUL SYLLABLE RWAH\n if (0xb879 <= code && code <= 0xb893) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb8cd) {\n if (code < 0xb8b0) {\n if (code < 0xb895) {\n // Lo HANGUL SYLLABLE RWAE\n if (0xb894 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE RWAEG..HANGUL SYLLABLE RWAEH\n if (0xb895 <= code && code <= 0xb8af) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xb8b1) {\n // Lo HANGUL SYLLABLE ROE\n if (0xb8b0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb8cc) {\n // Lo [27] HANGUL SYLLABLE ROEG..HANGUL SYLLABLE ROEH\n if (0xb8b1 <= code && code <= 0xb8cb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE RYO\n if (0xb8cc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb904) {\n if (code < 0xb8e8) {\n // Lo [27] HANGUL SYLLABLE RYOG..HANGUL SYLLABLE RYOH\n if (0xb8cd <= code && code <= 0xb8e7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb8e9) {\n // Lo HANGUL SYLLABLE RU\n if (0xb8e8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE RUG..HANGUL SYLLABLE RUH\n if (0xb8e9 <= code && code <= 0xb903) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xb905) {\n // Lo HANGUL SYLLABLE RWEO\n if (0xb904 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb920) {\n // Lo [27] HANGUL SYLLABLE RWEOG..HANGUL SYLLABLE RWEOH\n if (0xb905 <= code && code <= 0xb91f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE RWE\n if (0xb920 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb9c8) {\n if (code < 0xb974) {\n if (code < 0xb93d) {\n if (code < 0xb93c) {\n // Lo [27] HANGUL SYLLABLE RWEG..HANGUL SYLLABLE RWEH\n if (0xb921 <= code && code <= 0xb93b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE RWI\n if (0xb93c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xb958) {\n // Lo [27] HANGUL SYLLABLE RWIG..HANGUL SYLLABLE RWIH\n if (0xb93d <= code && code <= 0xb957) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb959) {\n // Lo HANGUL SYLLABLE RYU\n if (0xb958 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE RYUG..HANGUL SYLLABLE RYUH\n if (0xb959 <= code && code <= 0xb973) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb991) {\n if (code < 0xb975) {\n // Lo HANGUL SYLLABLE REU\n if (0xb974 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb990) {\n // Lo [27] HANGUL SYLLABLE REUG..HANGUL SYLLABLE REUH\n if (0xb975 <= code && code <= 0xb98f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE RYI\n if (0xb990 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xb9ac) {\n // Lo [27] HANGUL SYLLABLE RYIG..HANGUL SYLLABLE RYIH\n if (0xb991 <= code && code <= 0xb9ab) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb9ad) {\n // Lo HANGUL SYLLABLE RI\n if (0xb9ac === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE RIG..HANGUL SYLLABLE RIH\n if (0xb9ad <= code && code <= 0xb9c7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xba01) {\n if (code < 0xb9e4) {\n if (code < 0xb9c9) {\n // Lo HANGUL SYLLABLE MA\n if (0xb9c8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE MAG..HANGUL SYLLABLE MAH\n if (0xb9c9 <= code && code <= 0xb9e3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xb9e5) {\n // Lo HANGUL SYLLABLE MAE\n if (0xb9e4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xba00) {\n // Lo [27] HANGUL SYLLABLE MAEG..HANGUL SYLLABLE MAEH\n if (0xb9e5 <= code && code <= 0xb9ff) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE MYA\n if (0xba00 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xba38) {\n if (code < 0xba1c) {\n // Lo [27] HANGUL SYLLABLE MYAG..HANGUL SYLLABLE MYAH\n if (0xba01 <= code && code <= 0xba1b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xba1d) {\n // Lo HANGUL SYLLABLE MYAE\n if (0xba1c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE MYAEG..HANGUL SYLLABLE MYAEH\n if (0xba1d <= code && code <= 0xba37) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xba39) {\n // Lo HANGUL SYLLABLE MEO\n if (0xba38 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xba54) {\n // Lo [27] HANGUL SYLLABLE MEOG..HANGUL SYLLABLE MEOH\n if (0xba39 <= code && code <= 0xba53) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE ME\n if (0xba54 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xbcbc) {\n if (code < 0xbb88) {\n if (code < 0xbae1) {\n if (code < 0xbaa8) {\n if (code < 0xba71) {\n if (code < 0xba70) {\n // Lo [27] HANGUL SYLLABLE MEG..HANGUL SYLLABLE MEH\n if (0xba55 <= code && code <= 0xba6f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE MYEO\n if (0xba70 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xba8c) {\n // Lo [27] HANGUL SYLLABLE MYEOG..HANGUL SYLLABLE MYEOH\n if (0xba71 <= code && code <= 0xba8b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xba8d) {\n // Lo HANGUL SYLLABLE MYE\n if (0xba8c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE MYEG..HANGUL SYLLABLE MYEH\n if (0xba8d <= code && code <= 0xbaa7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xbac4) {\n if (code < 0xbaa9) {\n // Lo HANGUL SYLLABLE MO\n if (0xbaa8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE MOG..HANGUL SYLLABLE MOH\n if (0xbaa9 <= code && code <= 0xbac3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xbac5) {\n // Lo HANGUL SYLLABLE MWA\n if (0xbac4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xbae0) {\n // Lo [27] HANGUL SYLLABLE MWAG..HANGUL SYLLABLE MWAH\n if (0xbac5 <= code && code <= 0xbadf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE MWAE\n if (0xbae0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xbb34) {\n if (code < 0xbafd) {\n if (code < 0xbafc) {\n // Lo [27] HANGUL SYLLABLE MWAEG..HANGUL SYLLABLE MWAEH\n if (0xbae1 <= code && code <= 0xbafb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE MOE\n if (0xbafc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xbb18) {\n // Lo [27] HANGUL SYLLABLE MOEG..HANGUL SYLLABLE MOEH\n if (0xbafd <= code && code <= 0xbb17) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xbb19) {\n // Lo HANGUL SYLLABLE MYO\n if (0xbb18 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE MYOG..HANGUL SYLLABLE MYOH\n if (0xbb19 <= code && code <= 0xbb33) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xbb51) {\n if (code < 0xbb35) {\n // Lo HANGUL SYLLABLE MU\n if (0xbb34 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xbb50) {\n // Lo [27] HANGUL SYLLABLE MUG..HANGUL SYLLABLE MUH\n if (0xbb35 <= code && code <= 0xbb4f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE MWEO\n if (0xbb50 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xbb6c) {\n // Lo [27] HANGUL SYLLABLE MWEOG..HANGUL SYLLABLE MWEOH\n if (0xbb51 <= code && code <= 0xbb6b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xbb6d) {\n // Lo HANGUL SYLLABLE MWE\n if (0xbb6c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE MWEG..HANGUL SYLLABLE MWEH\n if (0xbb6d <= code && code <= 0xbb87) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xbc15) {\n if (code < 0xbbc1) {\n if (code < 0xbba4) {\n if (code < 0xbb89) {\n // Lo HANGUL SYLLABLE MWI\n if (0xbb88 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE MWIG..HANGUL SYLLABLE MWIH\n if (0xbb89 <= code && code <= 0xbba3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xbba5) {\n // Lo HANGUL SYLLABLE MYU\n if (0xbba4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xbbc0) {\n // Lo [27] HANGUL SYLLABLE MYUG..HANGUL SYLLABLE MYUH\n if (0xbba5 <= code && code <= 0xbbbf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE MEU\n if (0xbbc0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xbbf8) {\n if (code < 0xbbdc) {\n // Lo [27] HANGUL SYLLABLE MEUG..HANGUL SYLLABLE MEUH\n if (0xbbc1 <= code && code <= 0xbbdb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xbbdd) {\n // Lo HANGUL SYLLABLE MYI\n if (0xbbdc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE MYIG..HANGUL SYLLABLE MYIH\n if (0xbbdd <= code && code <= 0xbbf7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xbbf9) {\n // Lo HANGUL SYLLABLE MI\n if (0xbbf8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xbc14) {\n // Lo [27] HANGUL SYLLABLE MIG..HANGUL SYLLABLE MIH\n if (0xbbf9 <= code && code <= 0xbc13) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BA\n if (0xbc14 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xbc68) {\n if (code < 0xbc31) {\n if (code < 0xbc30) {\n // Lo [27] HANGUL SYLLABLE BAG..HANGUL SYLLABLE BAH\n if (0xbc15 <= code && code <= 0xbc2f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BAE\n if (0xbc30 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xbc4c) {\n // Lo [27] HANGUL SYLLABLE BAEG..HANGUL SYLLABLE BAEH\n if (0xbc31 <= code && code <= 0xbc4b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xbc4d) {\n // Lo HANGUL SYLLABLE BYA\n if (0xbc4c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BYAG..HANGUL SYLLABLE BYAH\n if (0xbc4d <= code && code <= 0xbc67) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xbc85) {\n if (code < 0xbc69) {\n // Lo HANGUL SYLLABLE BYAE\n if (0xbc68 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xbc84) {\n // Lo [27] HANGUL SYLLABLE BYAEG..HANGUL SYLLABLE BYAEH\n if (0xbc69 <= code && code <= 0xbc83) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BEO\n if (0xbc84 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xbca0) {\n // Lo [27] HANGUL SYLLABLE BEOG..HANGUL SYLLABLE BEOH\n if (0xbc85 <= code && code <= 0xbc9f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xbca1) {\n // Lo HANGUL SYLLABLE BE\n if (0xbca0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BEG..HANGUL SYLLABLE BEH\n if (0xbca1 <= code && code <= 0xbcbb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xbdd5) {\n if (code < 0xbd48) {\n if (code < 0xbcf5) {\n if (code < 0xbcd8) {\n if (code < 0xbcbd) {\n // Lo HANGUL SYLLABLE BYEO\n if (0xbcbc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BYEOG..HANGUL SYLLABLE BYEOH\n if (0xbcbd <= code && code <= 0xbcd7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xbcd9) {\n // Lo HANGUL SYLLABLE BYE\n if (0xbcd8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xbcf4) {\n // Lo [27] HANGUL SYLLABLE BYEG..HANGUL SYLLABLE BYEH\n if (0xbcd9 <= code && code <= 0xbcf3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BO\n if (0xbcf4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xbd11) {\n if (code < 0xbd10) {\n // Lo [27] HANGUL SYLLABLE BOG..HANGUL SYLLABLE BOH\n if (0xbcf5 <= code && code <= 0xbd0f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BWA\n if (0xbd10 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xbd2c) {\n // Lo [27] HANGUL SYLLABLE BWAG..HANGUL SYLLABLE BWAH\n if (0xbd11 <= code && code <= 0xbd2b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xbd2d) {\n // Lo HANGUL SYLLABLE BWAE\n if (0xbd2c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BWAEG..HANGUL SYLLABLE BWAEH\n if (0xbd2d <= code && code <= 0xbd47) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xbd81) {\n if (code < 0xbd64) {\n if (code < 0xbd49) {\n // Lo HANGUL SYLLABLE BOE\n if (0xbd48 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BOEG..HANGUL SYLLABLE BOEH\n if (0xbd49 <= code && code <= 0xbd63) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xbd65) {\n // Lo HANGUL SYLLABLE BYO\n if (0xbd64 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xbd80) {\n // Lo [27] HANGUL SYLLABLE BYOG..HANGUL SYLLABLE BYOH\n if (0xbd65 <= code && code <= 0xbd7f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BU\n if (0xbd80 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xbdb8) {\n if (code < 0xbd9c) {\n // Lo [27] HANGUL SYLLABLE BUG..HANGUL SYLLABLE BUH\n if (0xbd81 <= code && code <= 0xbd9b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xbd9d) {\n // Lo HANGUL SYLLABLE BWEO\n if (0xbd9c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BWEOG..HANGUL SYLLABLE BWEOH\n if (0xbd9d <= code && code <= 0xbdb7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xbdb9) {\n // Lo HANGUL SYLLABLE BWE\n if (0xbdb8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xbdd4) {\n // Lo [27] HANGUL SYLLABLE BWEG..HANGUL SYLLABLE BWEH\n if (0xbdb9 <= code && code <= 0xbdd3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BWI\n if (0xbdd4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xbe7c) {\n if (code < 0xbe28) {\n if (code < 0xbdf1) {\n if (code < 0xbdf0) {\n // Lo [27] HANGUL SYLLABLE BWIG..HANGUL SYLLABLE BWIH\n if (0xbdd5 <= code && code <= 0xbdef) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BYU\n if (0xbdf0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xbe0c) {\n // Lo [27] HANGUL SYLLABLE BYUG..HANGUL SYLLABLE BYUH\n if (0xbdf1 <= code && code <= 0xbe0b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xbe0d) {\n // Lo HANGUL SYLLABLE BEU\n if (0xbe0c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BEUG..HANGUL SYLLABLE BEUH\n if (0xbe0d <= code && code <= 0xbe27) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xbe45) {\n if (code < 0xbe29) {\n // Lo HANGUL SYLLABLE BYI\n if (0xbe28 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xbe44) {\n // Lo [27] HANGUL SYLLABLE BYIG..HANGUL SYLLABLE BYIH\n if (0xbe29 <= code && code <= 0xbe43) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BI\n if (0xbe44 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xbe60) {\n // Lo [27] HANGUL SYLLABLE BIG..HANGUL SYLLABLE BIH\n if (0xbe45 <= code && code <= 0xbe5f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xbe61) {\n // Lo HANGUL SYLLABLE BBA\n if (0xbe60 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BBAG..HANGUL SYLLABLE BBAH\n if (0xbe61 <= code && code <= 0xbe7b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xbeb5) {\n if (code < 0xbe98) {\n if (code < 0xbe7d) {\n // Lo HANGUL SYLLABLE BBAE\n if (0xbe7c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BBAEG..HANGUL SYLLABLE BBAEH\n if (0xbe7d <= code && code <= 0xbe97) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xbe99) {\n // Lo HANGUL SYLLABLE BBYA\n if (0xbe98 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xbeb4) {\n // Lo [27] HANGUL SYLLABLE BBYAG..HANGUL SYLLABLE BBYAH\n if (0xbe99 <= code && code <= 0xbeb3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BBYAE\n if (0xbeb4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xbeec) {\n if (code < 0xbed0) {\n // Lo [27] HANGUL SYLLABLE BBYAEG..HANGUL SYLLABLE BBYAEH\n if (0xbeb5 <= code && code <= 0xbecf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xbed1) {\n // Lo HANGUL SYLLABLE BBEO\n if (0xbed0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BBEOG..HANGUL SYLLABLE BBEOH\n if (0xbed1 <= code && code <= 0xbeeb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xbeed) {\n // Lo HANGUL SYLLABLE BBE\n if (0xbeec === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xbf08) {\n // Lo [27] HANGUL SYLLABLE BBEG..HANGUL SYLLABLE BBEH\n if (0xbeed <= code && code <= 0xbf07) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BBYEO\n if (0xbf08 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xd1d8) {\n if (code < 0xc870) {\n if (code < 0xc3bc) {\n if (code < 0xc155) {\n if (code < 0xc03c) {\n if (code < 0xbf95) {\n if (code < 0xbf5c) {\n if (code < 0xbf25) {\n if (code < 0xbf24) {\n // Lo [27] HANGUL SYLLABLE BBYEOG..HANGUL SYLLABLE BBYEOH\n if (0xbf09 <= code && code <= 0xbf23) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BBYE\n if (0xbf24 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xbf40) {\n // Lo [27] HANGUL SYLLABLE BBYEG..HANGUL SYLLABLE BBYEH\n if (0xbf25 <= code && code <= 0xbf3f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xbf41) {\n // Lo HANGUL SYLLABLE BBO\n if (0xbf40 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BBOG..HANGUL SYLLABLE BBOH\n if (0xbf41 <= code && code <= 0xbf5b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xbf78) {\n if (code < 0xbf5d) {\n // Lo HANGUL SYLLABLE BBWA\n if (0xbf5c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BBWAG..HANGUL SYLLABLE BBWAH\n if (0xbf5d <= code && code <= 0xbf77) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xbf79) {\n // Lo HANGUL SYLLABLE BBWAE\n if (0xbf78 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xbf94) {\n // Lo [27] HANGUL SYLLABLE BBWAEG..HANGUL SYLLABLE BBWAEH\n if (0xbf79 <= code && code <= 0xbf93) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BBOE\n if (0xbf94 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xbfe8) {\n if (code < 0xbfb1) {\n if (code < 0xbfb0) {\n // Lo [27] HANGUL SYLLABLE BBOEG..HANGUL SYLLABLE BBOEH\n if (0xbf95 <= code && code <= 0xbfaf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BBYO\n if (0xbfb0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xbfcc) {\n // Lo [27] HANGUL SYLLABLE BBYOG..HANGUL SYLLABLE BBYOH\n if (0xbfb1 <= code && code <= 0xbfcb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xbfcd) {\n // Lo HANGUL SYLLABLE BBU\n if (0xbfcc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BBUG..HANGUL SYLLABLE BBUH\n if (0xbfcd <= code && code <= 0xbfe7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc005) {\n if (code < 0xbfe9) {\n // Lo HANGUL SYLLABLE BBWEO\n if (0xbfe8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc004) {\n // Lo [27] HANGUL SYLLABLE BBWEOG..HANGUL SYLLABLE BBWEOH\n if (0xbfe9 <= code && code <= 0xc003) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BBWE\n if (0xc004 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xc020) {\n // Lo [27] HANGUL SYLLABLE BBWEG..HANGUL SYLLABLE BBWEH\n if (0xc005 <= code && code <= 0xc01f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc021) {\n // Lo HANGUL SYLLABLE BBWI\n if (0xc020 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BBWIG..HANGUL SYLLABLE BBWIH\n if (0xc021 <= code && code <= 0xc03b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc0c8) {\n if (code < 0xc075) {\n if (code < 0xc058) {\n if (code < 0xc03d) {\n // Lo HANGUL SYLLABLE BBYU\n if (0xc03c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BBYUG..HANGUL SYLLABLE BBYUH\n if (0xc03d <= code && code <= 0xc057) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xc059) {\n // Lo HANGUL SYLLABLE BBEU\n if (0xc058 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc074) {\n // Lo [27] HANGUL SYLLABLE BBEUG..HANGUL SYLLABLE BBEUH\n if (0xc059 <= code && code <= 0xc073) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BBYI\n if (0xc074 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc091) {\n if (code < 0xc090) {\n // Lo [27] HANGUL SYLLABLE BBYIG..HANGUL SYLLABLE BBYIH\n if (0xc075 <= code && code <= 0xc08f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BBI\n if (0xc090 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xc0ac) {\n // Lo [27] HANGUL SYLLABLE BBIG..HANGUL SYLLABLE BBIH\n if (0xc091 <= code && code <= 0xc0ab) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc0ad) {\n // Lo HANGUL SYLLABLE SA\n if (0xc0ac === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SAG..HANGUL SYLLABLE SAH\n if (0xc0ad <= code && code <= 0xc0c7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc101) {\n if (code < 0xc0e4) {\n if (code < 0xc0c9) {\n // Lo HANGUL SYLLABLE SAE\n if (0xc0c8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SAEG..HANGUL SYLLABLE SAEH\n if (0xc0c9 <= code && code <= 0xc0e3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xc0e5) {\n // Lo HANGUL SYLLABLE SYA\n if (0xc0e4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc100) {\n // Lo [27] HANGUL SYLLABLE SYAG..HANGUL SYLLABLE SYAH\n if (0xc0e5 <= code && code <= 0xc0ff) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SYAE\n if (0xc100 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc138) {\n if (code < 0xc11c) {\n // Lo [27] HANGUL SYLLABLE SYAEG..HANGUL SYLLABLE SYAEH\n if (0xc101 <= code && code <= 0xc11b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc11d) {\n // Lo HANGUL SYLLABLE SEO\n if (0xc11c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SEOG..HANGUL SYLLABLE SEOH\n if (0xc11d <= code && code <= 0xc137) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xc139) {\n // Lo HANGUL SYLLABLE SE\n if (0xc138 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc154) {\n // Lo [27] HANGUL SYLLABLE SEG..HANGUL SYLLABLE SEH\n if (0xc139 <= code && code <= 0xc153) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SYEO\n if (0xc154 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc288) {\n if (code < 0xc1e1) {\n if (code < 0xc1a8) {\n if (code < 0xc171) {\n if (code < 0xc170) {\n // Lo [27] HANGUL SYLLABLE SYEOG..HANGUL SYLLABLE SYEOH\n if (0xc155 <= code && code <= 0xc16f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SYE\n if (0xc170 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xc18c) {\n // Lo [27] HANGUL SYLLABLE SYEG..HANGUL SYLLABLE SYEH\n if (0xc171 <= code && code <= 0xc18b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc18d) {\n // Lo HANGUL SYLLABLE SO\n if (0xc18c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SOG..HANGUL SYLLABLE SOH\n if (0xc18d <= code && code <= 0xc1a7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc1c4) {\n if (code < 0xc1a9) {\n // Lo HANGUL SYLLABLE SWA\n if (0xc1a8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SWAG..HANGUL SYLLABLE SWAH\n if (0xc1a9 <= code && code <= 0xc1c3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xc1c5) {\n // Lo HANGUL SYLLABLE SWAE\n if (0xc1c4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc1e0) {\n // Lo [27] HANGUL SYLLABLE SWAEG..HANGUL SYLLABLE SWAEH\n if (0xc1c5 <= code && code <= 0xc1df) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SOE\n if (0xc1e0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc234) {\n if (code < 0xc1fd) {\n if (code < 0xc1fc) {\n // Lo [27] HANGUL SYLLABLE SOEG..HANGUL SYLLABLE SOEH\n if (0xc1e1 <= code && code <= 0xc1fb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SYO\n if (0xc1fc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xc218) {\n // Lo [27] HANGUL SYLLABLE SYOG..HANGUL SYLLABLE SYOH\n if (0xc1fd <= code && code <= 0xc217) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc219) {\n // Lo HANGUL SYLLABLE SU\n if (0xc218 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SUG..HANGUL SYLLABLE SUH\n if (0xc219 <= code && code <= 0xc233) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc251) {\n if (code < 0xc235) {\n // Lo HANGUL SYLLABLE SWEO\n if (0xc234 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc250) {\n // Lo [27] HANGUL SYLLABLE SWEOG..HANGUL SYLLABLE SWEOH\n if (0xc235 <= code && code <= 0xc24f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SWE\n if (0xc250 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xc26c) {\n // Lo [27] HANGUL SYLLABLE SWEG..HANGUL SYLLABLE SWEH\n if (0xc251 <= code && code <= 0xc26b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc26d) {\n // Lo HANGUL SYLLABLE SWI\n if (0xc26c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SWIG..HANGUL SYLLABLE SWIH\n if (0xc26d <= code && code <= 0xc287) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc315) {\n if (code < 0xc2c1) {\n if (code < 0xc2a4) {\n if (code < 0xc289) {\n // Lo HANGUL SYLLABLE SYU\n if (0xc288 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SYUG..HANGUL SYLLABLE SYUH\n if (0xc289 <= code && code <= 0xc2a3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xc2a5) {\n // Lo HANGUL SYLLABLE SEU\n if (0xc2a4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc2c0) {\n // Lo [27] HANGUL SYLLABLE SEUG..HANGUL SYLLABLE SEUH\n if (0xc2a5 <= code && code <= 0xc2bf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SYI\n if (0xc2c0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc2f8) {\n if (code < 0xc2dc) {\n // Lo [27] HANGUL SYLLABLE SYIG..HANGUL SYLLABLE SYIH\n if (0xc2c1 <= code && code <= 0xc2db) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc2dd) {\n // Lo HANGUL SYLLABLE SI\n if (0xc2dc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SIG..HANGUL SYLLABLE SIH\n if (0xc2dd <= code && code <= 0xc2f7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xc2f9) {\n // Lo HANGUL SYLLABLE SSA\n if (0xc2f8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc314) {\n // Lo [27] HANGUL SYLLABLE SSAG..HANGUL SYLLABLE SSAH\n if (0xc2f9 <= code && code <= 0xc313) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SSAE\n if (0xc314 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc368) {\n if (code < 0xc331) {\n if (code < 0xc330) {\n // Lo [27] HANGUL SYLLABLE SSAEG..HANGUL SYLLABLE SSAEH\n if (0xc315 <= code && code <= 0xc32f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SSYA\n if (0xc330 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xc34c) {\n // Lo [27] HANGUL SYLLABLE SSYAG..HANGUL SYLLABLE SSYAH\n if (0xc331 <= code && code <= 0xc34b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc34d) {\n // Lo HANGUL SYLLABLE SSYAE\n if (0xc34c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SSYAEG..HANGUL SYLLABLE SSYAEH\n if (0xc34d <= code && code <= 0xc367) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc385) {\n if (code < 0xc369) {\n // Lo HANGUL SYLLABLE SSEO\n if (0xc368 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc384) {\n // Lo [27] HANGUL SYLLABLE SSEOG..HANGUL SYLLABLE SSEOH\n if (0xc369 <= code && code <= 0xc383) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SSE\n if (0xc384 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xc3a0) {\n // Lo [27] HANGUL SYLLABLE SSEG..HANGUL SYLLABLE SSEH\n if (0xc385 <= code && code <= 0xc39f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc3a1) {\n // Lo HANGUL SYLLABLE SSYEO\n if (0xc3a0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SSYEOG..HANGUL SYLLABLE SSYEOH\n if (0xc3a1 <= code && code <= 0xc3bb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc609) {\n if (code < 0xc4d5) {\n if (code < 0xc448) {\n if (code < 0xc3f5) {\n if (code < 0xc3d8) {\n if (code < 0xc3bd) {\n // Lo HANGUL SYLLABLE SSYE\n if (0xc3bc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SSYEG..HANGUL SYLLABLE SSYEH\n if (0xc3bd <= code && code <= 0xc3d7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xc3d9) {\n // Lo HANGUL SYLLABLE SSO\n if (0xc3d8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc3f4) {\n // Lo [27] HANGUL SYLLABLE SSOG..HANGUL SYLLABLE SSOH\n if (0xc3d9 <= code && code <= 0xc3f3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SSWA\n if (0xc3f4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc411) {\n if (code < 0xc410) {\n // Lo [27] HANGUL SYLLABLE SSWAG..HANGUL SYLLABLE SSWAH\n if (0xc3f5 <= code && code <= 0xc40f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SSWAE\n if (0xc410 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xc42c) {\n // Lo [27] HANGUL SYLLABLE SSWAEG..HANGUL SYLLABLE SSWAEH\n if (0xc411 <= code && code <= 0xc42b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc42d) {\n // Lo HANGUL SYLLABLE SSOE\n if (0xc42c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SSOEG..HANGUL SYLLABLE SSOEH\n if (0xc42d <= code && code <= 0xc447) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc481) {\n if (code < 0xc464) {\n if (code < 0xc449) {\n // Lo HANGUL SYLLABLE SSYO\n if (0xc448 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SSYOG..HANGUL SYLLABLE SSYOH\n if (0xc449 <= code && code <= 0xc463) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xc465) {\n // Lo HANGUL SYLLABLE SSU\n if (0xc464 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc480) {\n // Lo [27] HANGUL SYLLABLE SSUG..HANGUL SYLLABLE SSUH\n if (0xc465 <= code && code <= 0xc47f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SSWEO\n if (0xc480 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc4b8) {\n if (code < 0xc49c) {\n // Lo [27] HANGUL SYLLABLE SSWEOG..HANGUL SYLLABLE SSWEOH\n if (0xc481 <= code && code <= 0xc49b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc49d) {\n // Lo HANGUL SYLLABLE SSWE\n if (0xc49c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SSWEG..HANGUL SYLLABLE SSWEH\n if (0xc49d <= code && code <= 0xc4b7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xc4b9) {\n // Lo HANGUL SYLLABLE SSWI\n if (0xc4b8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc4d4) {\n // Lo [27] HANGUL SYLLABLE SSWIG..HANGUL SYLLABLE SSWIH\n if (0xc4b9 <= code && code <= 0xc4d3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SSYU\n if (0xc4d4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc57c) {\n if (code < 0xc528) {\n if (code < 0xc4f1) {\n if (code < 0xc4f0) {\n // Lo [27] HANGUL SYLLABLE SSYUG..HANGUL SYLLABLE SSYUH\n if (0xc4d5 <= code && code <= 0xc4ef) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SSEU\n if (0xc4f0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xc50c) {\n // Lo [27] HANGUL SYLLABLE SSEUG..HANGUL SYLLABLE SSEUH\n if (0xc4f1 <= code && code <= 0xc50b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc50d) {\n // Lo HANGUL SYLLABLE SSYI\n if (0xc50c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SSYIG..HANGUL SYLLABLE SSYIH\n if (0xc50d <= code && code <= 0xc527) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc545) {\n if (code < 0xc529) {\n // Lo HANGUL SYLLABLE SSI\n if (0xc528 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc544) {\n // Lo [27] HANGUL SYLLABLE SSIG..HANGUL SYLLABLE SSIH\n if (0xc529 <= code && code <= 0xc543) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE A\n if (0xc544 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xc560) {\n // Lo [27] HANGUL SYLLABLE AG..HANGUL SYLLABLE AH\n if (0xc545 <= code && code <= 0xc55f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc561) {\n // Lo HANGUL SYLLABLE AE\n if (0xc560 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE AEG..HANGUL SYLLABLE AEH\n if (0xc561 <= code && code <= 0xc57b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc5b5) {\n if (code < 0xc598) {\n if (code < 0xc57d) {\n // Lo HANGUL SYLLABLE YA\n if (0xc57c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE YAG..HANGUL SYLLABLE YAH\n if (0xc57d <= code && code <= 0xc597) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xc599) {\n // Lo HANGUL SYLLABLE YAE\n if (0xc598 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc5b4) {\n // Lo [27] HANGUL SYLLABLE YAEG..HANGUL SYLLABLE YAEH\n if (0xc599 <= code && code <= 0xc5b3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE EO\n if (0xc5b4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc5ec) {\n if (code < 0xc5d0) {\n // Lo [27] HANGUL SYLLABLE EOG..HANGUL SYLLABLE EOH\n if (0xc5b5 <= code && code <= 0xc5cf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc5d1) {\n // Lo HANGUL SYLLABLE E\n if (0xc5d0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE EG..HANGUL SYLLABLE EH\n if (0xc5d1 <= code && code <= 0xc5eb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xc5ed) {\n // Lo HANGUL SYLLABLE YEO\n if (0xc5ec === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc608) {\n // Lo [27] HANGUL SYLLABLE YEOG..HANGUL SYLLABLE YEOH\n if (0xc5ed <= code && code <= 0xc607) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE YE\n if (0xc608 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc73c) {\n if (code < 0xc695) {\n if (code < 0xc65c) {\n if (code < 0xc625) {\n if (code < 0xc624) {\n // Lo [27] HANGUL SYLLABLE YEG..HANGUL SYLLABLE YEH\n if (0xc609 <= code && code <= 0xc623) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE O\n if (0xc624 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xc640) {\n // Lo [27] HANGUL SYLLABLE OG..HANGUL SYLLABLE OH\n if (0xc625 <= code && code <= 0xc63f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc641) {\n // Lo HANGUL SYLLABLE WA\n if (0xc640 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE WAG..HANGUL SYLLABLE WAH\n if (0xc641 <= code && code <= 0xc65b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc678) {\n if (code < 0xc65d) {\n // Lo HANGUL SYLLABLE WAE\n if (0xc65c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE WAEG..HANGUL SYLLABLE WAEH\n if (0xc65d <= code && code <= 0xc677) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xc679) {\n // Lo HANGUL SYLLABLE OE\n if (0xc678 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc694) {\n // Lo [27] HANGUL SYLLABLE OEG..HANGUL SYLLABLE OEH\n if (0xc679 <= code && code <= 0xc693) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE YO\n if (0xc694 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc6e8) {\n if (code < 0xc6b1) {\n if (code < 0xc6b0) {\n // Lo [27] HANGUL SYLLABLE YOG..HANGUL SYLLABLE YOH\n if (0xc695 <= code && code <= 0xc6af) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE U\n if (0xc6b0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xc6cc) {\n // Lo [27] HANGUL SYLLABLE UG..HANGUL SYLLABLE UH\n if (0xc6b1 <= code && code <= 0xc6cb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc6cd) {\n // Lo HANGUL SYLLABLE WEO\n if (0xc6cc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE WEOG..HANGUL SYLLABLE WEOH\n if (0xc6cd <= code && code <= 0xc6e7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc705) {\n if (code < 0xc6e9) {\n // Lo HANGUL SYLLABLE WE\n if (0xc6e8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc704) {\n // Lo [27] HANGUL SYLLABLE WEG..HANGUL SYLLABLE WEH\n if (0xc6e9 <= code && code <= 0xc703) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE WI\n if (0xc704 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xc720) {\n // Lo [27] HANGUL SYLLABLE WIG..HANGUL SYLLABLE WIH\n if (0xc705 <= code && code <= 0xc71f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc721) {\n // Lo HANGUL SYLLABLE YU\n if (0xc720 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE YUG..HANGUL SYLLABLE YUH\n if (0xc721 <= code && code <= 0xc73b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc7c9) {\n if (code < 0xc775) {\n if (code < 0xc758) {\n if (code < 0xc73d) {\n // Lo HANGUL SYLLABLE EU\n if (0xc73c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE EUG..HANGUL SYLLABLE EUH\n if (0xc73d <= code && code <= 0xc757) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xc759) {\n // Lo HANGUL SYLLABLE YI\n if (0xc758 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc774) {\n // Lo [27] HANGUL SYLLABLE YIG..HANGUL SYLLABLE YIH\n if (0xc759 <= code && code <= 0xc773) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE I\n if (0xc774 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc7ac) {\n if (code < 0xc790) {\n // Lo [27] HANGUL SYLLABLE IG..HANGUL SYLLABLE IH\n if (0xc775 <= code && code <= 0xc78f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc791) {\n // Lo HANGUL SYLLABLE JA\n if (0xc790 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JAG..HANGUL SYLLABLE JAH\n if (0xc791 <= code && code <= 0xc7ab) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xc7ad) {\n // Lo HANGUL SYLLABLE JAE\n if (0xc7ac === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc7c8) {\n // Lo [27] HANGUL SYLLABLE JAEG..HANGUL SYLLABLE JAEH\n if (0xc7ad <= code && code <= 0xc7c7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JYA\n if (0xc7c8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc81c) {\n if (code < 0xc7e5) {\n if (code < 0xc7e4) {\n // Lo [27] HANGUL SYLLABLE JYAG..HANGUL SYLLABLE JYAH\n if (0xc7c9 <= code && code <= 0xc7e3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JYAE\n if (0xc7e4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xc800) {\n // Lo [27] HANGUL SYLLABLE JYAEG..HANGUL SYLLABLE JYAEH\n if (0xc7e5 <= code && code <= 0xc7ff) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc801) {\n // Lo HANGUL SYLLABLE JEO\n if (0xc800 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JEOG..HANGUL SYLLABLE JEOH\n if (0xc801 <= code && code <= 0xc81b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc839) {\n if (code < 0xc81d) {\n // Lo HANGUL SYLLABLE JE\n if (0xc81c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc838) {\n // Lo [27] HANGUL SYLLABLE JEG..HANGUL SYLLABLE JEH\n if (0xc81d <= code && code <= 0xc837) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JYEO\n if (0xc838 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xc854) {\n // Lo [27] HANGUL SYLLABLE JYEOG..HANGUL SYLLABLE JYEOH\n if (0xc839 <= code && code <= 0xc853) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc855) {\n // Lo HANGUL SYLLABLE JYE\n if (0xc854 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JYEG..HANGUL SYLLABLE JYEH\n if (0xc855 <= code && code <= 0xc86f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xcd24) {\n if (code < 0xcabd) {\n if (code < 0xc989) {\n if (code < 0xc8fc) {\n if (code < 0xc8a9) {\n if (code < 0xc88c) {\n if (code < 0xc871) {\n // Lo HANGUL SYLLABLE JO\n if (0xc870 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JOG..HANGUL SYLLABLE JOH\n if (0xc871 <= code && code <= 0xc88b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xc88d) {\n // Lo HANGUL SYLLABLE JWA\n if (0xc88c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc8a8) {\n // Lo [27] HANGUL SYLLABLE JWAG..HANGUL SYLLABLE JWAH\n if (0xc88d <= code && code <= 0xc8a7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JWAE\n if (0xc8a8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc8c5) {\n if (code < 0xc8c4) {\n // Lo [27] HANGUL SYLLABLE JWAEG..HANGUL SYLLABLE JWAEH\n if (0xc8a9 <= code && code <= 0xc8c3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JOE\n if (0xc8c4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xc8e0) {\n // Lo [27] HANGUL SYLLABLE JOEG..HANGUL SYLLABLE JOEH\n if (0xc8c5 <= code && code <= 0xc8df) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc8e1) {\n // Lo HANGUL SYLLABLE JYO\n if (0xc8e0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JYOG..HANGUL SYLLABLE JYOH\n if (0xc8e1 <= code && code <= 0xc8fb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc935) {\n if (code < 0xc918) {\n if (code < 0xc8fd) {\n // Lo HANGUL SYLLABLE JU\n if (0xc8fc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JUG..HANGUL SYLLABLE JUH\n if (0xc8fd <= code && code <= 0xc917) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xc919) {\n // Lo HANGUL SYLLABLE JWEO\n if (0xc918 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc934) {\n // Lo [27] HANGUL SYLLABLE JWEOG..HANGUL SYLLABLE JWEOH\n if (0xc919 <= code && code <= 0xc933) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JWE\n if (0xc934 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc96c) {\n if (code < 0xc950) {\n // Lo [27] HANGUL SYLLABLE JWEG..HANGUL SYLLABLE JWEH\n if (0xc935 <= code && code <= 0xc94f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc951) {\n // Lo HANGUL SYLLABLE JWI\n if (0xc950 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JWIG..HANGUL SYLLABLE JWIH\n if (0xc951 <= code && code <= 0xc96b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xc96d) {\n // Lo HANGUL SYLLABLE JYU\n if (0xc96c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc988) {\n // Lo [27] HANGUL SYLLABLE JYUG..HANGUL SYLLABLE JYUH\n if (0xc96d <= code && code <= 0xc987) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JEU\n if (0xc988 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xca30) {\n if (code < 0xc9dc) {\n if (code < 0xc9a5) {\n if (code < 0xc9a4) {\n // Lo [27] HANGUL SYLLABLE JEUG..HANGUL SYLLABLE JEUH\n if (0xc989 <= code && code <= 0xc9a3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JYI\n if (0xc9a4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xc9c0) {\n // Lo [27] HANGUL SYLLABLE JYIG..HANGUL SYLLABLE JYIH\n if (0xc9a5 <= code && code <= 0xc9bf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc9c1) {\n // Lo HANGUL SYLLABLE JI\n if (0xc9c0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JIG..HANGUL SYLLABLE JIH\n if (0xc9c1 <= code && code <= 0xc9db) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc9f9) {\n if (code < 0xc9dd) {\n // Lo HANGUL SYLLABLE JJA\n if (0xc9dc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc9f8) {\n // Lo [27] HANGUL SYLLABLE JJAG..HANGUL SYLLABLE JJAH\n if (0xc9dd <= code && code <= 0xc9f7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JJAE\n if (0xc9f8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xca14) {\n // Lo [27] HANGUL SYLLABLE JJAEG..HANGUL SYLLABLE JJAEH\n if (0xc9f9 <= code && code <= 0xca13) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xca15) {\n // Lo HANGUL SYLLABLE JJYA\n if (0xca14 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JJYAG..HANGUL SYLLABLE JJYAH\n if (0xca15 <= code && code <= 0xca2f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xca69) {\n if (code < 0xca4c) {\n if (code < 0xca31) {\n // Lo HANGUL SYLLABLE JJYAE\n if (0xca30 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JJYAEG..HANGUL SYLLABLE JJYAEH\n if (0xca31 <= code && code <= 0xca4b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xca4d) {\n // Lo HANGUL SYLLABLE JJEO\n if (0xca4c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xca68) {\n // Lo [27] HANGUL SYLLABLE JJEOG..HANGUL SYLLABLE JJEOH\n if (0xca4d <= code && code <= 0xca67) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JJE\n if (0xca68 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xcaa0) {\n if (code < 0xca84) {\n // Lo [27] HANGUL SYLLABLE JJEG..HANGUL SYLLABLE JJEH\n if (0xca69 <= code && code <= 0xca83) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xca85) {\n // Lo HANGUL SYLLABLE JJYEO\n if (0xca84 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JJYEOG..HANGUL SYLLABLE JJYEOH\n if (0xca85 <= code && code <= 0xca9f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xcaa1) {\n // Lo HANGUL SYLLABLE JJYE\n if (0xcaa0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xcabc) {\n // Lo [27] HANGUL SYLLABLE JJYEG..HANGUL SYLLABLE JJYEH\n if (0xcaa1 <= code && code <= 0xcabb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JJO\n if (0xcabc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xcbf0) {\n if (code < 0xcb49) {\n if (code < 0xcb10) {\n if (code < 0xcad9) {\n if (code < 0xcad8) {\n // Lo [27] HANGUL SYLLABLE JJOG..HANGUL SYLLABLE JJOH\n if (0xcabd <= code && code <= 0xcad7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JJWA\n if (0xcad8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xcaf4) {\n // Lo [27] HANGUL SYLLABLE JJWAG..HANGUL SYLLABLE JJWAH\n if (0xcad9 <= code && code <= 0xcaf3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xcaf5) {\n // Lo HANGUL SYLLABLE JJWAE\n if (0xcaf4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JJWAEG..HANGUL SYLLABLE JJWAEH\n if (0xcaf5 <= code && code <= 0xcb0f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xcb2c) {\n if (code < 0xcb11) {\n // Lo HANGUL SYLLABLE JJOE\n if (0xcb10 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JJOEG..HANGUL SYLLABLE JJOEH\n if (0xcb11 <= code && code <= 0xcb2b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xcb2d) {\n // Lo HANGUL SYLLABLE JJYO\n if (0xcb2c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xcb48) {\n // Lo [27] HANGUL SYLLABLE JJYOG..HANGUL SYLLABLE JJYOH\n if (0xcb2d <= code && code <= 0xcb47) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JJU\n if (0xcb48 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xcb9c) {\n if (code < 0xcb65) {\n if (code < 0xcb64) {\n // Lo [27] HANGUL SYLLABLE JJUG..HANGUL SYLLABLE JJUH\n if (0xcb49 <= code && code <= 0xcb63) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JJWEO\n if (0xcb64 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xcb80) {\n // Lo [27] HANGUL SYLLABLE JJWEOG..HANGUL SYLLABLE JJWEOH\n if (0xcb65 <= code && code <= 0xcb7f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xcb81) {\n // Lo HANGUL SYLLABLE JJWE\n if (0xcb80 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JJWEG..HANGUL SYLLABLE JJWEH\n if (0xcb81 <= code && code <= 0xcb9b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xcbb9) {\n if (code < 0xcb9d) {\n // Lo HANGUL SYLLABLE JJWI\n if (0xcb9c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xcbb8) {\n // Lo [27] HANGUL SYLLABLE JJWIG..HANGUL SYLLABLE JJWIH\n if (0xcb9d <= code && code <= 0xcbb7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JJYU\n if (0xcbb8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xcbd4) {\n // Lo [27] HANGUL SYLLABLE JJYUG..HANGUL SYLLABLE JJYUH\n if (0xcbb9 <= code && code <= 0xcbd3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xcbd5) {\n // Lo HANGUL SYLLABLE JJEU\n if (0xcbd4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JJEUG..HANGUL SYLLABLE JJEUH\n if (0xcbd5 <= code && code <= 0xcbef) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xcc7d) {\n if (code < 0xcc29) {\n if (code < 0xcc0c) {\n if (code < 0xcbf1) {\n // Lo HANGUL SYLLABLE JJYI\n if (0xcbf0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JJYIG..HANGUL SYLLABLE JJYIH\n if (0xcbf1 <= code && code <= 0xcc0b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xcc0d) {\n // Lo HANGUL SYLLABLE JJI\n if (0xcc0c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xcc28) {\n // Lo [27] HANGUL SYLLABLE JJIG..HANGUL SYLLABLE JJIH\n if (0xcc0d <= code && code <= 0xcc27) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE CA\n if (0xcc28 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xcc60) {\n if (code < 0xcc44) {\n // Lo [27] HANGUL SYLLABLE CAG..HANGUL SYLLABLE CAH\n if (0xcc29 <= code && code <= 0xcc43) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xcc45) {\n // Lo HANGUL SYLLABLE CAE\n if (0xcc44 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE CAEG..HANGUL SYLLABLE CAEH\n if (0xcc45 <= code && code <= 0xcc5f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xcc61) {\n // Lo HANGUL SYLLABLE CYA\n if (0xcc60 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xcc7c) {\n // Lo [27] HANGUL SYLLABLE CYAG..HANGUL SYLLABLE CYAH\n if (0xcc61 <= code && code <= 0xcc7b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE CYAE\n if (0xcc7c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xccd0) {\n if (code < 0xcc99) {\n if (code < 0xcc98) {\n // Lo [27] HANGUL SYLLABLE CYAEG..HANGUL SYLLABLE CYAEH\n if (0xcc7d <= code && code <= 0xcc97) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE CEO\n if (0xcc98 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xccb4) {\n // Lo [27] HANGUL SYLLABLE CEOG..HANGUL SYLLABLE CEOH\n if (0xcc99 <= code && code <= 0xccb3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xccb5) {\n // Lo HANGUL SYLLABLE CE\n if (0xccb4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE CEG..HANGUL SYLLABLE CEH\n if (0xccb5 <= code && code <= 0xcccf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xcced) {\n if (code < 0xccd1) {\n // Lo HANGUL SYLLABLE CYEO\n if (0xccd0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xccec) {\n // Lo [27] HANGUL SYLLABLE CYEOG..HANGUL SYLLABLE CYEOH\n if (0xccd1 <= code && code <= 0xcceb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE CYE\n if (0xccec === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xcd08) {\n // Lo [27] HANGUL SYLLABLE CYEG..HANGUL SYLLABLE CYEH\n if (0xcced <= code && code <= 0xcd07) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xcd09) {\n // Lo HANGUL SYLLABLE CO\n if (0xcd08 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE COG..HANGUL SYLLABLE COH\n if (0xcd09 <= code && code <= 0xcd23) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xcf71) {\n if (code < 0xce3d) {\n if (code < 0xcdb0) {\n if (code < 0xcd5d) {\n if (code < 0xcd40) {\n if (code < 0xcd25) {\n // Lo HANGUL SYLLABLE CWA\n if (0xcd24 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE CWAG..HANGUL SYLLABLE CWAH\n if (0xcd25 <= code && code <= 0xcd3f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xcd41) {\n // Lo HANGUL SYLLABLE CWAE\n if (0xcd40 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xcd5c) {\n // Lo [27] HANGUL SYLLABLE CWAEG..HANGUL SYLLABLE CWAEH\n if (0xcd41 <= code && code <= 0xcd5b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE COE\n if (0xcd5c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xcd79) {\n if (code < 0xcd78) {\n // Lo [27] HANGUL SYLLABLE COEG..HANGUL SYLLABLE COEH\n if (0xcd5d <= code && code <= 0xcd77) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE CYO\n if (0xcd78 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xcd94) {\n // Lo [27] HANGUL SYLLABLE CYOG..HANGUL SYLLABLE CYOH\n if (0xcd79 <= code && code <= 0xcd93) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xcd95) {\n // Lo HANGUL SYLLABLE CU\n if (0xcd94 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE CUG..HANGUL SYLLABLE CUH\n if (0xcd95 <= code && code <= 0xcdaf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xcde9) {\n if (code < 0xcdcc) {\n if (code < 0xcdb1) {\n // Lo HANGUL SYLLABLE CWEO\n if (0xcdb0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE CWEOG..HANGUL SYLLABLE CWEOH\n if (0xcdb1 <= code && code <= 0xcdcb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xcdcd) {\n // Lo HANGUL SYLLABLE CWE\n if (0xcdcc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xcde8) {\n // Lo [27] HANGUL SYLLABLE CWEG..HANGUL SYLLABLE CWEH\n if (0xcdcd <= code && code <= 0xcde7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE CWI\n if (0xcde8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xce20) {\n if (code < 0xce04) {\n // Lo [27] HANGUL SYLLABLE CWIG..HANGUL SYLLABLE CWIH\n if (0xcde9 <= code && code <= 0xce03) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xce05) {\n // Lo HANGUL SYLLABLE CYU\n if (0xce04 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE CYUG..HANGUL SYLLABLE CYUH\n if (0xce05 <= code && code <= 0xce1f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xce21) {\n // Lo HANGUL SYLLABLE CEU\n if (0xce20 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xce3c) {\n // Lo [27] HANGUL SYLLABLE CEUG..HANGUL SYLLABLE CEUH\n if (0xce21 <= code && code <= 0xce3b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE CYI\n if (0xce3c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xcee4) {\n if (code < 0xce90) {\n if (code < 0xce59) {\n if (code < 0xce58) {\n // Lo [27] HANGUL SYLLABLE CYIG..HANGUL SYLLABLE CYIH\n if (0xce3d <= code && code <= 0xce57) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE CI\n if (0xce58 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xce74) {\n // Lo [27] HANGUL SYLLABLE CIG..HANGUL SYLLABLE CIH\n if (0xce59 <= code && code <= 0xce73) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xce75) {\n // Lo HANGUL SYLLABLE KA\n if (0xce74 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE KAG..HANGUL SYLLABLE KAH\n if (0xce75 <= code && code <= 0xce8f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xcead) {\n if (code < 0xce91) {\n // Lo HANGUL SYLLABLE KAE\n if (0xce90 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xceac) {\n // Lo [27] HANGUL SYLLABLE KAEG..HANGUL SYLLABLE KAEH\n if (0xce91 <= code && code <= 0xceab) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE KYA\n if (0xceac === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xcec8) {\n // Lo [27] HANGUL SYLLABLE KYAG..HANGUL SYLLABLE KYAH\n if (0xcead <= code && code <= 0xcec7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xcec9) {\n // Lo HANGUL SYLLABLE KYAE\n if (0xcec8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE KYAEG..HANGUL SYLLABLE KYAEH\n if (0xcec9 <= code && code <= 0xcee3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xcf1d) {\n if (code < 0xcf00) {\n if (code < 0xcee5) {\n // Lo HANGUL SYLLABLE KEO\n if (0xcee4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE KEOG..HANGUL SYLLABLE KEOH\n if (0xcee5 <= code && code <= 0xceff) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xcf01) {\n // Lo HANGUL SYLLABLE KE\n if (0xcf00 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xcf1c) {\n // Lo [27] HANGUL SYLLABLE KEG..HANGUL SYLLABLE KEH\n if (0xcf01 <= code && code <= 0xcf1b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE KYEO\n if (0xcf1c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xcf54) {\n if (code < 0xcf38) {\n // Lo [27] HANGUL SYLLABLE KYEOG..HANGUL SYLLABLE KYEOH\n if (0xcf1d <= code && code <= 0xcf37) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xcf39) {\n // Lo HANGUL SYLLABLE KYE\n if (0xcf38 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE KYEG..HANGUL SYLLABLE KYEH\n if (0xcf39 <= code && code <= 0xcf53) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xcf55) {\n // Lo HANGUL SYLLABLE KO\n if (0xcf54 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xcf70) {\n // Lo [27] HANGUL SYLLABLE KOG..HANGUL SYLLABLE KOH\n if (0xcf55 <= code && code <= 0xcf6f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE KWA\n if (0xcf70 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xd0a4) {\n if (code < 0xcffd) {\n if (code < 0xcfc4) {\n if (code < 0xcf8d) {\n if (code < 0xcf8c) {\n // Lo [27] HANGUL SYLLABLE KWAG..HANGUL SYLLABLE KWAH\n if (0xcf71 <= code && code <= 0xcf8b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE KWAE\n if (0xcf8c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xcfa8) {\n // Lo [27] HANGUL SYLLABLE KWAEG..HANGUL SYLLABLE KWAEH\n if (0xcf8d <= code && code <= 0xcfa7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xcfa9) {\n // Lo HANGUL SYLLABLE KOE\n if (0xcfa8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE KOEG..HANGUL SYLLABLE KOEH\n if (0xcfa9 <= code && code <= 0xcfc3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xcfe0) {\n if (code < 0xcfc5) {\n // Lo HANGUL SYLLABLE KYO\n if (0xcfc4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE KYOG..HANGUL SYLLABLE KYOH\n if (0xcfc5 <= code && code <= 0xcfdf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xcfe1) {\n // Lo HANGUL SYLLABLE KU\n if (0xcfe0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xcffc) {\n // Lo [27] HANGUL SYLLABLE KUG..HANGUL SYLLABLE KUH\n if (0xcfe1 <= code && code <= 0xcffb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE KWEO\n if (0xcffc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xd050) {\n if (code < 0xd019) {\n if (code < 0xd018) {\n // Lo [27] HANGUL SYLLABLE KWEOG..HANGUL SYLLABLE KWEOH\n if (0xcffd <= code && code <= 0xd017) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE KWE\n if (0xd018 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xd034) {\n // Lo [27] HANGUL SYLLABLE KWEG..HANGUL SYLLABLE KWEH\n if (0xd019 <= code && code <= 0xd033) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd035) {\n // Lo HANGUL SYLLABLE KWI\n if (0xd034 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE KWIG..HANGUL SYLLABLE KWIH\n if (0xd035 <= code && code <= 0xd04f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd06d) {\n if (code < 0xd051) {\n // Lo HANGUL SYLLABLE KYU\n if (0xd050 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd06c) {\n // Lo [27] HANGUL SYLLABLE KYUG..HANGUL SYLLABLE KYUH\n if (0xd051 <= code && code <= 0xd06b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE KEU\n if (0xd06c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xd088) {\n // Lo [27] HANGUL SYLLABLE KEUG..HANGUL SYLLABLE KEUH\n if (0xd06d <= code && code <= 0xd087) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd089) {\n // Lo HANGUL SYLLABLE KYI\n if (0xd088 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE KYIG..HANGUL SYLLABLE KYIH\n if (0xd089 <= code && code <= 0xd0a3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xd131) {\n if (code < 0xd0dd) {\n if (code < 0xd0c0) {\n if (code < 0xd0a5) {\n // Lo HANGUL SYLLABLE KI\n if (0xd0a4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE KIG..HANGUL SYLLABLE KIH\n if (0xd0a5 <= code && code <= 0xd0bf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xd0c1) {\n // Lo HANGUL SYLLABLE TA\n if (0xd0c0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd0dc) {\n // Lo [27] HANGUL SYLLABLE TAG..HANGUL SYLLABLE TAH\n if (0xd0c1 <= code && code <= 0xd0db) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE TAE\n if (0xd0dc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd114) {\n if (code < 0xd0f8) {\n // Lo [27] HANGUL SYLLABLE TAEG..HANGUL SYLLABLE TAEH\n if (0xd0dd <= code && code <= 0xd0f7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd0f9) {\n // Lo HANGUL SYLLABLE TYA\n if (0xd0f8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE TYAG..HANGUL SYLLABLE TYAH\n if (0xd0f9 <= code && code <= 0xd113) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xd115) {\n // Lo HANGUL SYLLABLE TYAE\n if (0xd114 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd130) {\n // Lo [27] HANGUL SYLLABLE TYAEG..HANGUL SYLLABLE TYAEH\n if (0xd115 <= code && code <= 0xd12f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE TEO\n if (0xd130 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xd184) {\n if (code < 0xd14d) {\n if (code < 0xd14c) {\n // Lo [27] HANGUL SYLLABLE TEOG..HANGUL SYLLABLE TEOH\n if (0xd131 <= code && code <= 0xd14b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE TE\n if (0xd14c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xd168) {\n // Lo [27] HANGUL SYLLABLE TEG..HANGUL SYLLABLE TEH\n if (0xd14d <= code && code <= 0xd167) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd169) {\n // Lo HANGUL SYLLABLE TYEO\n if (0xd168 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE TYEOG..HANGUL SYLLABLE TYEOH\n if (0xd169 <= code && code <= 0xd183) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd1a1) {\n if (code < 0xd185) {\n // Lo HANGUL SYLLABLE TYE\n if (0xd184 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd1a0) {\n // Lo [27] HANGUL SYLLABLE TYEG..HANGUL SYLLABLE TYEH\n if (0xd185 <= code && code <= 0xd19f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE TO\n if (0xd1a0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xd1bc) {\n // Lo [27] HANGUL SYLLABLE TOG..HANGUL SYLLABLE TOH\n if (0xd1a1 <= code && code <= 0xd1bb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd1bd) {\n // Lo HANGUL SYLLABLE TWA\n if (0xd1bc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE TWAG..HANGUL SYLLABLE TWAH\n if (0xd1bd <= code && code <= 0xd1d7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1133b) {\n if (code < 0xd671) {\n if (code < 0xd424) {\n if (code < 0xd2f1) {\n if (code < 0xd264) {\n if (code < 0xd211) {\n if (code < 0xd1f4) {\n if (code < 0xd1d9) {\n // Lo HANGUL SYLLABLE TWAE\n if (0xd1d8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE TWAEG..HANGUL SYLLABLE TWAEH\n if (0xd1d9 <= code && code <= 0xd1f3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xd1f5) {\n // Lo HANGUL SYLLABLE TOE\n if (0xd1f4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd210) {\n // Lo [27] HANGUL SYLLABLE TOEG..HANGUL SYLLABLE TOEH\n if (0xd1f5 <= code && code <= 0xd20f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE TYO\n if (0xd210 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd22d) {\n if (code < 0xd22c) {\n // Lo [27] HANGUL SYLLABLE TYOG..HANGUL SYLLABLE TYOH\n if (0xd211 <= code && code <= 0xd22b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE TU\n if (0xd22c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xd248) {\n // Lo [27] HANGUL SYLLABLE TUG..HANGUL SYLLABLE TUH\n if (0xd22d <= code && code <= 0xd247) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd249) {\n // Lo HANGUL SYLLABLE TWEO\n if (0xd248 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE TWEOG..HANGUL SYLLABLE TWEOH\n if (0xd249 <= code && code <= 0xd263) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xd29d) {\n if (code < 0xd280) {\n if (code < 0xd265) {\n // Lo HANGUL SYLLABLE TWE\n if (0xd264 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE TWEG..HANGUL SYLLABLE TWEH\n if (0xd265 <= code && code <= 0xd27f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xd281) {\n // Lo HANGUL SYLLABLE TWI\n if (0xd280 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd29c) {\n // Lo [27] HANGUL SYLLABLE TWIG..HANGUL SYLLABLE TWIH\n if (0xd281 <= code && code <= 0xd29b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE TYU\n if (0xd29c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd2d4) {\n if (code < 0xd2b8) {\n // Lo [27] HANGUL SYLLABLE TYUG..HANGUL SYLLABLE TYUH\n if (0xd29d <= code && code <= 0xd2b7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd2b9) {\n // Lo HANGUL SYLLABLE TEU\n if (0xd2b8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE TEUG..HANGUL SYLLABLE TEUH\n if (0xd2b9 <= code && code <= 0xd2d3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xd2d5) {\n // Lo HANGUL SYLLABLE TYI\n if (0xd2d4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd2f0) {\n // Lo [27] HANGUL SYLLABLE TYIG..HANGUL SYLLABLE TYIH\n if (0xd2d5 <= code && code <= 0xd2ef) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE TI\n if (0xd2f0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xd37d) {\n if (code < 0xd344) {\n if (code < 0xd30d) {\n if (code < 0xd30c) {\n // Lo [27] HANGUL SYLLABLE TIG..HANGUL SYLLABLE TIH\n if (0xd2f1 <= code && code <= 0xd30b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE PA\n if (0xd30c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xd328) {\n // Lo [27] HANGUL SYLLABLE PAG..HANGUL SYLLABLE PAH\n if (0xd30d <= code && code <= 0xd327) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd329) {\n // Lo HANGUL SYLLABLE PAE\n if (0xd328 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE PAEG..HANGUL SYLLABLE PAEH\n if (0xd329 <= code && code <= 0xd343) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd360) {\n if (code < 0xd345) {\n // Lo HANGUL SYLLABLE PYA\n if (0xd344 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE PYAG..HANGUL SYLLABLE PYAH\n if (0xd345 <= code && code <= 0xd35f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xd361) {\n // Lo HANGUL SYLLABLE PYAE\n if (0xd360 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd37c) {\n // Lo [27] HANGUL SYLLABLE PYAEG..HANGUL SYLLABLE PYAEH\n if (0xd361 <= code && code <= 0xd37b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE PEO\n if (0xd37c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xd3d0) {\n if (code < 0xd399) {\n if (code < 0xd398) {\n // Lo [27] HANGUL SYLLABLE PEOG..HANGUL SYLLABLE PEOH\n if (0xd37d <= code && code <= 0xd397) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE PE\n if (0xd398 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xd3b4) {\n // Lo [27] HANGUL SYLLABLE PEG..HANGUL SYLLABLE PEH\n if (0xd399 <= code && code <= 0xd3b3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd3b5) {\n // Lo HANGUL SYLLABLE PYEO\n if (0xd3b4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE PYEOG..HANGUL SYLLABLE PYEOH\n if (0xd3b5 <= code && code <= 0xd3cf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd3ed) {\n if (code < 0xd3d1) {\n // Lo HANGUL SYLLABLE PYE\n if (0xd3d0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd3ec) {\n // Lo [27] HANGUL SYLLABLE PYEG..HANGUL SYLLABLE PYEH\n if (0xd3d1 <= code && code <= 0xd3eb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE PO\n if (0xd3ec === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xd408) {\n // Lo [27] HANGUL SYLLABLE POG..HANGUL SYLLABLE POH\n if (0xd3ed <= code && code <= 0xd407) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd409) {\n // Lo HANGUL SYLLABLE PWA\n if (0xd408 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE PWAG..HANGUL SYLLABLE PWAH\n if (0xd409 <= code && code <= 0xd423) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xd53d) {\n if (code < 0xd4b0) {\n if (code < 0xd45d) {\n if (code < 0xd440) {\n if (code < 0xd425) {\n // Lo HANGUL SYLLABLE PWAE\n if (0xd424 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE PWAEG..HANGUL SYLLABLE PWAEH\n if (0xd425 <= code && code <= 0xd43f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xd441) {\n // Lo HANGUL SYLLABLE POE\n if (0xd440 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd45c) {\n // Lo [27] HANGUL SYLLABLE POEG..HANGUL SYLLABLE POEH\n if (0xd441 <= code && code <= 0xd45b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE PYO\n if (0xd45c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd479) {\n if (code < 0xd478) {\n // Lo [27] HANGUL SYLLABLE PYOG..HANGUL SYLLABLE PYOH\n if (0xd45d <= code && code <= 0xd477) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE PU\n if (0xd478 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xd494) {\n // Lo [27] HANGUL SYLLABLE PUG..HANGUL SYLLABLE PUH\n if (0xd479 <= code && code <= 0xd493) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd495) {\n // Lo HANGUL SYLLABLE PWEO\n if (0xd494 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE PWEOG..HANGUL SYLLABLE PWEOH\n if (0xd495 <= code && code <= 0xd4af) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xd4e9) {\n if (code < 0xd4cc) {\n if (code < 0xd4b1) {\n // Lo HANGUL SYLLABLE PWE\n if (0xd4b0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE PWEG..HANGUL SYLLABLE PWEH\n if (0xd4b1 <= code && code <= 0xd4cb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xd4cd) {\n // Lo HANGUL SYLLABLE PWI\n if (0xd4cc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd4e8) {\n // Lo [27] HANGUL SYLLABLE PWIG..HANGUL SYLLABLE PWIH\n if (0xd4cd <= code && code <= 0xd4e7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE PYU\n if (0xd4e8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd520) {\n if (code < 0xd504) {\n // Lo [27] HANGUL SYLLABLE PYUG..HANGUL SYLLABLE PYUH\n if (0xd4e9 <= code && code <= 0xd503) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd505) {\n // Lo HANGUL SYLLABLE PEU\n if (0xd504 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE PEUG..HANGUL SYLLABLE PEUH\n if (0xd505 <= code && code <= 0xd51f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xd521) {\n // Lo HANGUL SYLLABLE PYI\n if (0xd520 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd53c) {\n // Lo [27] HANGUL SYLLABLE PYIG..HANGUL SYLLABLE PYIH\n if (0xd521 <= code && code <= 0xd53b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE PI\n if (0xd53c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xd5e4) {\n if (code < 0xd590) {\n if (code < 0xd559) {\n if (code < 0xd558) {\n // Lo [27] HANGUL SYLLABLE PIG..HANGUL SYLLABLE PIH\n if (0xd53d <= code && code <= 0xd557) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE HA\n if (0xd558 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xd574) {\n // Lo [27] HANGUL SYLLABLE HAG..HANGUL SYLLABLE HAH\n if (0xd559 <= code && code <= 0xd573) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd575) {\n // Lo HANGUL SYLLABLE HAE\n if (0xd574 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE HAEG..HANGUL SYLLABLE HAEH\n if (0xd575 <= code && code <= 0xd58f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd5ad) {\n if (code < 0xd591) {\n // Lo HANGUL SYLLABLE HYA\n if (0xd590 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd5ac) {\n // Lo [27] HANGUL SYLLABLE HYAG..HANGUL SYLLABLE HYAH\n if (0xd591 <= code && code <= 0xd5ab) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE HYAE\n if (0xd5ac === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xd5c8) {\n // Lo [27] HANGUL SYLLABLE HYAEG..HANGUL SYLLABLE HYAEH\n if (0xd5ad <= code && code <= 0xd5c7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd5c9) {\n // Lo HANGUL SYLLABLE HEO\n if (0xd5c8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE HEOG..HANGUL SYLLABLE HEOH\n if (0xd5c9 <= code && code <= 0xd5e3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xd61d) {\n if (code < 0xd600) {\n if (code < 0xd5e5) {\n // Lo HANGUL SYLLABLE HE\n if (0xd5e4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE HEG..HANGUL SYLLABLE HEH\n if (0xd5e5 <= code && code <= 0xd5ff) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xd601) {\n // Lo HANGUL SYLLABLE HYEO\n if (0xd600 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd61c) {\n // Lo [27] HANGUL SYLLABLE HYEOG..HANGUL SYLLABLE HYEOH\n if (0xd601 <= code && code <= 0xd61b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE HYE\n if (0xd61c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd654) {\n if (code < 0xd638) {\n // Lo [27] HANGUL SYLLABLE HYEG..HANGUL SYLLABLE HYEH\n if (0xd61d <= code && code <= 0xd637) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd639) {\n // Lo HANGUL SYLLABLE HO\n if (0xd638 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE HOG..HANGUL SYLLABLE HOH\n if (0xd639 <= code && code <= 0xd653) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xd655) {\n // Lo HANGUL SYLLABLE HWA\n if (0xd654 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd670) {\n // Lo [27] HANGUL SYLLABLE HWAG..HANGUL SYLLABLE HWAH\n if (0xd655 <= code && code <= 0xd66f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE HWAE\n if (0xd670 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x11000) {\n if (code < 0xd7b0) {\n if (code < 0xd6fd) {\n if (code < 0xd6c4) {\n if (code < 0xd68d) {\n if (code < 0xd68c) {\n // Lo [27] HANGUL SYLLABLE HWAEG..HANGUL SYLLABLE HWAEH\n if (0xd671 <= code && code <= 0xd68b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE HOE\n if (0xd68c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xd6a8) {\n // Lo [27] HANGUL SYLLABLE HOEG..HANGUL SYLLABLE HOEH\n if (0xd68d <= code && code <= 0xd6a7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd6a9) {\n // Lo HANGUL SYLLABLE HYO\n if (0xd6a8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE HYOG..HANGUL SYLLABLE HYOH\n if (0xd6a9 <= code && code <= 0xd6c3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd6e0) {\n if (code < 0xd6c5) {\n // Lo HANGUL SYLLABLE HU\n if (0xd6c4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE HUG..HANGUL SYLLABLE HUH\n if (0xd6c5 <= code && code <= 0xd6df) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xd6e1) {\n // Lo HANGUL SYLLABLE HWEO\n if (0xd6e0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd6fc) {\n // Lo [27] HANGUL SYLLABLE HWEOG..HANGUL SYLLABLE HWEOH\n if (0xd6e1 <= code && code <= 0xd6fb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE HWE\n if (0xd6fc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xd750) {\n if (code < 0xd719) {\n if (code < 0xd718) {\n // Lo [27] HANGUL SYLLABLE HWEG..HANGUL SYLLABLE HWEH\n if (0xd6fd <= code && code <= 0xd717) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE HWI\n if (0xd718 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xd734) {\n // Lo [27] HANGUL SYLLABLE HWIG..HANGUL SYLLABLE HWIH\n if (0xd719 <= code && code <= 0xd733) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd735) {\n // Lo HANGUL SYLLABLE HYU\n if (0xd734 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE HYUG..HANGUL SYLLABLE HYUH\n if (0xd735 <= code && code <= 0xd74f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd76d) {\n if (code < 0xd751) {\n // Lo HANGUL SYLLABLE HEU\n if (0xd750 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd76c) {\n // Lo [27] HANGUL SYLLABLE HEUG..HANGUL SYLLABLE HEUH\n if (0xd751 <= code && code <= 0xd76b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE HYI\n if (0xd76c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xd788) {\n // Lo [27] HANGUL SYLLABLE HYIG..HANGUL SYLLABLE HYIH\n if (0xd76d <= code && code <= 0xd787) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd789) {\n // Lo HANGUL SYLLABLE HI\n if (0xd788 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE HIG..HANGUL SYLLABLE HIH\n if (0xd789 <= code && code <= 0xd7a3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x10a01) {\n if (code < 0xfeff) {\n if (code < 0xfb1e) {\n if (code < 0xd7cb) {\n // Lo [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E\n if (0xd7b0 <= code && code <= 0xd7c6) {\n return boundaries_1.CLUSTER_BREAK.V;\n }\n }\n else {\n // Lo [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH\n if (0xd7cb <= code && code <= 0xd7fb) {\n return boundaries_1.CLUSTER_BREAK.T;\n }\n }\n }\n else {\n if (code < 0xfe00) {\n // Mn HEBREW POINT JUDEO-SPANISH VARIKA\n if (0xfb1e === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xfe20) {\n // Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16\n if (0xfe00 <= code && code <= 0xfe0f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF\n if (0xfe20 <= code && code <= 0xfe2f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x101fd) {\n if (code < 0xff9e) {\n // Cf ZERO WIDTH NO-BREAK SPACE\n if (0xfeff === code) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n else {\n if (code < 0xfff0) {\n // Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK\n if (0xff9e <= code && code <= 0xff9f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Cn [9] ..\n // Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR\n if (0xfff0 <= code && code <= 0xfffb) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n }\n }\n else {\n if (code < 0x102e0) {\n // Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE\n if (0x101fd === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x10376) {\n // Mn COPTIC EPACT THOUSANDS MARK\n if (0x102e0 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [5] COMBINING OLD PERMIC LETTER AN..COMBINING OLD PERMIC LETTER SII\n if (0x10376 <= code && code <= 0x1037a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x10ae5) {\n if (code < 0x10a0c) {\n if (code < 0x10a05) {\n // Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R\n if (0x10a01 <= code && code <= 0x10a03) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O\n if (0x10a05 <= code && code <= 0x10a06) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x10a38) {\n // Mn [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA\n if (0x10a0c <= code && code <= 0x10a0f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x10a3f) {\n // Mn [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW\n if (0x10a38 <= code && code <= 0x10a3a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn KHAROSHTHI VIRAMA\n if (0x10a3f === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x10efd) {\n if (code < 0x10d24) {\n // Mn [2] MANICHAEAN ABBREVIATION MARK ABOVE..MANICHAEAN ABBREVIATION MARK BELOW\n if (0x10ae5 <= code && code <= 0x10ae6) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x10eab) {\n // Mn [4] HANIFI ROHINGYA SIGN HARBAHAY..HANIFI ROHINGYA SIGN TASSI\n if (0x10d24 <= code && code <= 0x10d27) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] YEZIDI COMBINING HAMZA MARK..YEZIDI COMBINING MADDA MARK\n if (0x10eab <= code && code <= 0x10eac) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x10f46) {\n // Mn [3] ARABIC SMALL LOW WORD SAKTA..ARABIC SMALL LOW WORD MADDA\n if (0x10efd <= code && code <= 0x10eff) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x10f82) {\n // Mn [11] SOGDIAN COMBINING DOT BELOW..SOGDIAN COMBINING STROKE BELOW\n if (0x10f46 <= code && code <= 0x10f50) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [4] OLD UYGHUR COMBINING DOT ABOVE..OLD UYGHUR COMBINING TWO DOTS BELOW\n if (0x10f82 <= code && code <= 0x10f85) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x11180) {\n if (code < 0x110b7) {\n if (code < 0x11073) {\n if (code < 0x11002) {\n // Mc BRAHMI SIGN CANDRABINDU\n if (0x11000 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn BRAHMI SIGN ANUSVARA\n if (0x11001 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11038) {\n // Mc BRAHMI SIGN VISARGA\n if (0x11002 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x11070) {\n // Mn [15] BRAHMI VOWEL SIGN AA..BRAHMI VIRAMA\n if (0x11038 <= code && code <= 0x11046) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn BRAHMI SIGN OLD TAMIL VIRAMA\n if (0x11070 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x11082) {\n if (code < 0x1107f) {\n // Mn [2] BRAHMI VOWEL SIGN OLD TAMIL SHORT E..BRAHMI VOWEL SIGN OLD TAMIL SHORT O\n if (0x11073 <= code && code <= 0x11074) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [3] BRAHMI NUMBER JOINER..KAITHI SIGN ANUSVARA\n if (0x1107f <= code && code <= 0x11081) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x110b0) {\n // Mc KAITHI SIGN VISARGA\n if (0x11082 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x110b3) {\n // Mc [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II\n if (0x110b0 <= code && code <= 0x110b2) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI\n if (0x110b3 <= code && code <= 0x110b6) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x11100) {\n if (code < 0x110bd) {\n if (code < 0x110b9) {\n // Mc [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU\n if (0x110b7 <= code && code <= 0x110b8) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA\n if (0x110b9 <= code && code <= 0x110ba) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x110c2) {\n // Cf KAITHI NUMBER SIGN\n if (0x110bd === code) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n }\n else {\n // Mn KAITHI VOWEL SIGN VOCALIC R\n if (0x110c2 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Cf KAITHI NUMBER SIGN ABOVE\n if (0x110cd === code) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n }\n }\n }\n else {\n if (code < 0x1112d) {\n if (code < 0x11127) {\n // Mn [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA\n if (0x11100 <= code && code <= 0x11102) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1112c) {\n // Mn [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU\n if (0x11127 <= code && code <= 0x1112b) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc CHAKMA VOWEL SIGN E\n if (0x1112c === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n else {\n if (code < 0x11145) {\n // Mn [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA\n if (0x1112d <= code && code <= 0x11134) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11173) {\n // Mc [2] CHAKMA VOWEL SIGN AA..CHAKMA VOWEL SIGN EI\n if (0x11145 <= code && code <= 0x11146) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn MAHAJANI SIGN NUKTA\n if (0x11173 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x11232) {\n if (code < 0x111c2) {\n if (code < 0x111b3) {\n if (code < 0x11182) {\n // Mn [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA\n if (0x11180 <= code && code <= 0x11181) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc SHARADA SIGN VISARGA\n if (0x11182 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0x111b6) {\n // Mc [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II\n if (0x111b3 <= code && code <= 0x111b5) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x111bf) {\n // Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O\n if (0x111b6 <= code && code <= 0x111be) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA\n if (0x111bf <= code && code <= 0x111c0) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0x111cf) {\n if (code < 0x111c9) {\n // Lo [2] SHARADA SIGN JIHVAMULIYA..SHARADA SIGN UPADHMANIYA\n if (0x111c2 <= code && code <= 0x111c3) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n }\n else {\n if (code < 0x111ce) {\n // Mn [4] SHARADA SANDHI MARK..SHARADA EXTRA SHORT VOWEL MARK\n if (0x111c9 <= code && code <= 0x111cc) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc SHARADA VOWEL SIGN PRISHTHAMATRA E\n if (0x111ce === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n else {\n if (code < 0x1122c) {\n // Mn SHARADA SIGN INVERTED CANDRABINDU\n if (0x111cf === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1122f) {\n // Mc [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II\n if (0x1122c <= code && code <= 0x1122e) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI\n if (0x1122f <= code && code <= 0x11231) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x11241) {\n if (code < 0x11235) {\n if (code < 0x11234) {\n // Mc [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU\n if (0x11232 <= code && code <= 0x11233) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn KHOJKI SIGN ANUSVARA\n if (0x11234 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x11236) {\n // Mc KHOJKI SIGN VIRAMA\n if (0x11235 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x1123e) {\n // Mn [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA\n if (0x11236 <= code && code <= 0x11237) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn KHOJKI SIGN SUKUN\n if (0x1123e === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x112e3) {\n if (code < 0x112df) {\n // Mn KHOJKI VOWEL SIGN VOCALIC R\n if (0x11241 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x112e0) {\n // Mn KHUDAWADI SIGN ANUSVARA\n if (0x112df === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II\n if (0x112e0 <= code && code <= 0x112e2) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n else {\n if (code < 0x11300) {\n // Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA\n if (0x112e3 <= code && code <= 0x112ea) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11302) {\n // Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU\n if (0x11300 <= code && code <= 0x11301) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA\n if (0x11302 <= code && code <= 0x11303) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x11a97) {\n if (code < 0x116ab) {\n if (code < 0x114b9) {\n if (code < 0x11370) {\n if (code < 0x11347) {\n if (code < 0x1133f) {\n if (code < 0x1133e) {\n // Mn [2] COMBINING BINDU BELOW..GRANTHA SIGN NUKTA\n if (0x1133b <= code && code <= 0x1133c) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc GRANTHA VOWEL SIGN AA\n if (0x1133e === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x11340) {\n // Mc GRANTHA VOWEL SIGN I\n if (0x1133f === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x11341) {\n // Mn GRANTHA VOWEL SIGN II\n if (0x11340 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR\n if (0x11341 <= code && code <= 0x11344) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0x11357) {\n if (code < 0x1134b) {\n // Mc [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI\n if (0x11347 <= code && code <= 0x11348) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mc [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA\n if (0x1134b <= code && code <= 0x1134d) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0x11362) {\n // Mc GRANTHA AU LENGTH MARK\n if (0x11357 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11366) {\n // Mc [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL\n if (0x11362 <= code && code <= 0x11363) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX\n if (0x11366 <= code && code <= 0x1136c) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x11445) {\n if (code < 0x11438) {\n if (code < 0x11435) {\n // Mn [5] COMBINING GRANTHA LETTER A..COMBINING GRANTHA LETTER PA\n if (0x11370 <= code && code <= 0x11374) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [3] NEWA VOWEL SIGN AA..NEWA VOWEL SIGN II\n if (0x11435 <= code && code <= 0x11437) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0x11440) {\n // Mn [8] NEWA VOWEL SIGN U..NEWA VOWEL SIGN AI\n if (0x11438 <= code && code <= 0x1143f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11442) {\n // Mc [2] NEWA VOWEL SIGN O..NEWA VOWEL SIGN AU\n if (0x11440 <= code && code <= 0x11441) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [3] NEWA SIGN VIRAMA..NEWA SIGN ANUSVARA\n if (0x11442 <= code && code <= 0x11444) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x114b0) {\n if (code < 0x11446) {\n // Mc NEWA SIGN VISARGA\n if (0x11445 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn NEWA SIGN NUKTA\n if (0x11446 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mn NEWA SANDHI MARK\n if (0x1145e === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x114b1) {\n // Mc TIRHUTA VOWEL SIGN AA\n if (0x114b0 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x114b3) {\n // Mc [2] TIRHUTA VOWEL SIGN I..TIRHUTA VOWEL SIGN II\n if (0x114b1 <= code && code <= 0x114b2) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [6] TIRHUTA VOWEL SIGN U..TIRHUTA VOWEL SIGN VOCALIC LL\n if (0x114b3 <= code && code <= 0x114b8) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x115b8) {\n if (code < 0x114bf) {\n if (code < 0x114bb) {\n // Mc TIRHUTA VOWEL SIGN E\n if (0x114b9 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn TIRHUTA VOWEL SIGN SHORT E\n if (0x114ba === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x114bd) {\n // Mc [2] TIRHUTA VOWEL SIGN AI..TIRHUTA VOWEL SIGN O\n if (0x114bb <= code && code <= 0x114bc) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mc TIRHUTA VOWEL SIGN SHORT O\n if (0x114bd === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mc TIRHUTA VOWEL SIGN AU\n if (0x114be === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n else {\n if (code < 0x115af) {\n if (code < 0x114c1) {\n // Mn [2] TIRHUTA SIGN CANDRABINDU..TIRHUTA SIGN ANUSVARA\n if (0x114bf <= code && code <= 0x114c0) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x114c2) {\n // Mc TIRHUTA SIGN VISARGA\n if (0x114c1 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [2] TIRHUTA SIGN VIRAMA..TIRHUTA SIGN NUKTA\n if (0x114c2 <= code && code <= 0x114c3) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x115b0) {\n // Mc SIDDHAM VOWEL SIGN AA\n if (0x115af === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x115b2) {\n // Mc [2] SIDDHAM VOWEL SIGN I..SIDDHAM VOWEL SIGN II\n if (0x115b0 <= code && code <= 0x115b1) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR\n if (0x115b2 <= code && code <= 0x115b5) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x11630) {\n if (code < 0x115be) {\n if (code < 0x115bc) {\n // Mc [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU\n if (0x115b8 <= code && code <= 0x115bb) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA\n if (0x115bc <= code && code <= 0x115bd) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x115bf) {\n // Mc SIDDHAM SIGN VISARGA\n if (0x115be === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x115dc) {\n // Mn [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA\n if (0x115bf <= code && code <= 0x115c0) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU\n if (0x115dc <= code && code <= 0x115dd) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1163d) {\n if (code < 0x11633) {\n // Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II\n if (0x11630 <= code && code <= 0x11632) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x1163b) {\n // Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI\n if (0x11633 <= code && code <= 0x1163a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU\n if (0x1163b <= code && code <= 0x1163c) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n else {\n if (code < 0x1163e) {\n // Mn MODI SIGN ANUSVARA\n if (0x1163d === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1163f) {\n // Mc MODI SIGN VISARGA\n if (0x1163e === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA\n if (0x1163f <= code && code <= 0x11640) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1193f) {\n if (code < 0x11727) {\n if (code < 0x116b6) {\n if (code < 0x116ad) {\n // Mn TAKRI SIGN ANUSVARA\n if (0x116ab === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mc TAKRI SIGN VISARGA\n if (0x116ac === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x116ae) {\n // Mn TAKRI VOWEL SIGN AA\n if (0x116ad === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x116b0) {\n // Mc [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II\n if (0x116ae <= code && code <= 0x116af) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU\n if (0x116b0 <= code && code <= 0x116b5) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1171d) {\n // Mc TAKRI SIGN VIRAMA\n if (0x116b6 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn TAKRI SIGN NUKTA\n if (0x116b7 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11722) {\n // Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA\n if (0x1171d <= code && code <= 0x1171f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11726) {\n // Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU\n if (0x11722 <= code && code <= 0x11725) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc AHOM VOWEL SIGN E\n if (0x11726 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x11930) {\n if (code < 0x1182f) {\n if (code < 0x1182c) {\n // Mn [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER\n if (0x11727 <= code && code <= 0x1172b) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [3] DOGRA VOWEL SIGN AA..DOGRA VOWEL SIGN II\n if (0x1182c <= code && code <= 0x1182e) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0x11838) {\n // Mn [9] DOGRA VOWEL SIGN U..DOGRA SIGN ANUSVARA\n if (0x1182f <= code && code <= 0x11837) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11839) {\n // Mc DOGRA SIGN VISARGA\n if (0x11838 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [2] DOGRA SIGN VIRAMA..DOGRA SIGN NUKTA\n if (0x11839 <= code && code <= 0x1183a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1193b) {\n if (code < 0x11931) {\n // Mc DIVES AKURU VOWEL SIGN AA\n if (0x11930 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11937) {\n // Mc [5] DIVES AKURU VOWEL SIGN I..DIVES AKURU VOWEL SIGN E\n if (0x11931 <= code && code <= 0x11935) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mc [2] DIVES AKURU VOWEL SIGN AI..DIVES AKURU VOWEL SIGN O\n if (0x11937 <= code && code <= 0x11938) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n else {\n if (code < 0x1193d) {\n // Mn [2] DIVES AKURU SIGN ANUSVARA..DIVES AKURU SIGN CANDRABINDU\n if (0x1193b <= code && code <= 0x1193c) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc DIVES AKURU SIGN HALANTA\n if (0x1193d === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn DIVES AKURU VIRAMA\n if (0x1193e === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x11a01) {\n if (code < 0x119d1) {\n if (code < 0x11941) {\n // Lo DIVES AKURU PREFIXED NASAL SIGN\n if (0x1193f === code) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n // Mc DIVES AKURU MEDIAL YA\n if (0x11940 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x11942) {\n // Lo DIVES AKURU INITIAL RA\n if (0x11941 === code) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n }\n else {\n // Mc DIVES AKURU MEDIAL RA\n if (0x11942 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn DIVES AKURU SIGN NUKTA\n if (0x11943 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x119dc) {\n if (code < 0x119d4) {\n // Mc [3] NANDINAGARI VOWEL SIGN AA..NANDINAGARI VOWEL SIGN II\n if (0x119d1 <= code && code <= 0x119d3) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x119da) {\n // Mn [4] NANDINAGARI VOWEL SIGN U..NANDINAGARI VOWEL SIGN VOCALIC RR\n if (0x119d4 <= code && code <= 0x119d7) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] NANDINAGARI VOWEL SIGN E..NANDINAGARI VOWEL SIGN AI\n if (0x119da <= code && code <= 0x119db) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x119e0) {\n // Mc [4] NANDINAGARI VOWEL SIGN O..NANDINAGARI SIGN VISARGA\n if (0x119dc <= code && code <= 0x119df) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn NANDINAGARI SIGN VIRAMA\n if (0x119e0 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mc NANDINAGARI VOWEL SIGN PRISHTHAMATRA E\n if (0x119e4 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0x11a47) {\n if (code < 0x11a39) {\n if (code < 0x11a33) {\n // Mn [10] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL LENGTH MARK\n if (0x11a01 <= code && code <= 0x11a0a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA\n if (0x11a33 <= code && code <= 0x11a38) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x11a3a) {\n // Mc ZANABAZAR SQUARE SIGN VISARGA\n if (0x11a39 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x11a3b) {\n // Lo ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA\n if (0x11a3a === code) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n }\n else {\n // Mn [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA\n if (0x11a3b <= code && code <= 0x11a3e) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x11a59) {\n if (code < 0x11a51) {\n // Mn ZANABAZAR SQUARE SUBJOINER\n if (0x11a47 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11a57) {\n // Mn [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE\n if (0x11a51 <= code && code <= 0x11a56) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU\n if (0x11a57 <= code && code <= 0x11a58) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n else {\n if (code < 0x11a84) {\n // Mn [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK\n if (0x11a59 <= code && code <= 0x11a5b) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11a8a) {\n // Lo [6] SOYOMBO SIGN JIHVAMULIYA..SOYOMBO CLUSTER-INITIAL LETTER SA\n if (0x11a84 <= code && code <= 0x11a89) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n }\n else {\n // Mn [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA\n if (0x11a8a <= code && code <= 0x11a96) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x16f51) {\n if (code < 0x11d90) {\n if (code < 0x11cb1) {\n if (code < 0x11c3e) {\n if (code < 0x11c2f) {\n if (code < 0x11a98) {\n // Mc SOYOMBO SIGN VISARGA\n if (0x11a97 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER\n if (0x11a98 <= code && code <= 0x11a99) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x11c30) {\n // Mc BHAIKSUKI VOWEL SIGN AA\n if (0x11c2f === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x11c38) {\n // Mn [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L\n if (0x11c30 <= code && code <= 0x11c36) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA\n if (0x11c38 <= code && code <= 0x11c3d) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x11c92) {\n // Mc BHAIKSUKI SIGN VISARGA\n if (0x11c3e === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn BHAIKSUKI SIGN VIRAMA\n if (0x11c3f === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11ca9) {\n // Mn [22] MARCHEN SUBJOINED LETTER KA..MARCHEN SUBJOINED LETTER ZA\n if (0x11c92 <= code && code <= 0x11ca7) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11caa) {\n // Mc MARCHEN SUBJOINED LETTER YA\n if (0x11ca9 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [7] MARCHEN SUBJOINED LETTER RA..MARCHEN VOWEL SIGN AA\n if (0x11caa <= code && code <= 0x11cb0) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x11d3a) {\n if (code < 0x11cb4) {\n if (code < 0x11cb2) {\n // Mc MARCHEN VOWEL SIGN I\n if (0x11cb1 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E\n if (0x11cb2 <= code && code <= 0x11cb3) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x11cb5) {\n // Mc MARCHEN VOWEL SIGN O\n if (0x11cb4 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x11d31) {\n // Mn [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU\n if (0x11cb5 <= code && code <= 0x11cb6) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R\n if (0x11d31 <= code && code <= 0x11d36) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x11d46) {\n if (code < 0x11d3c) {\n // Mn MASARAM GONDI VOWEL SIGN E\n if (0x11d3a === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11d3f) {\n // Mn [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O\n if (0x11d3c <= code && code <= 0x11d3d) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA\n if (0x11d3f <= code && code <= 0x11d45) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x11d47) {\n // Lo MASARAM GONDI REPHA\n if (0x11d46 === code) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n }\n else {\n if (code < 0x11d8a) {\n // Mn MASARAM GONDI RA-KARA\n if (0x11d47 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [5] GUNJALA GONDI VOWEL SIGN AA..GUNJALA GONDI VOWEL SIGN UU\n if (0x11d8a <= code && code <= 0x11d8e) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x11f36) {\n if (code < 0x11ef3) {\n if (code < 0x11d95) {\n if (code < 0x11d93) {\n // Mn [2] GUNJALA GONDI VOWEL SIGN EE..GUNJALA GONDI VOWEL SIGN AI\n if (0x11d90 <= code && code <= 0x11d91) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] GUNJALA GONDI VOWEL SIGN OO..GUNJALA GONDI VOWEL SIGN AU\n if (0x11d93 <= code && code <= 0x11d94) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0x11d96) {\n // Mn GUNJALA GONDI SIGN ANUSVARA\n if (0x11d95 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc GUNJALA GONDI SIGN VISARGA\n if (0x11d96 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn GUNJALA GONDI VIRAMA\n if (0x11d97 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x11f02) {\n if (code < 0x11ef5) {\n // Mn [2] MAKASAR VOWEL SIGN I..MAKASAR VOWEL SIGN U\n if (0x11ef3 <= code && code <= 0x11ef4) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11f00) {\n // Mc [2] MAKASAR VOWEL SIGN E..MAKASAR VOWEL SIGN O\n if (0x11ef5 <= code && code <= 0x11ef6) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [2] KAWI SIGN CANDRABINDU..KAWI SIGN ANUSVARA\n if (0x11f00 <= code && code <= 0x11f01) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x11f03) {\n // Lo KAWI SIGN REPHA\n if (0x11f02 === code) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n }\n else {\n if (code < 0x11f34) {\n // Mc KAWI SIGN VISARGA\n if (0x11f03 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mc [2] KAWI VOWEL SIGN AA..KAWI VOWEL SIGN ALTERNATE AA\n if (0x11f34 <= code && code <= 0x11f35) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x13430) {\n if (code < 0x11f40) {\n if (code < 0x11f3e) {\n // Mn [5] KAWI VOWEL SIGN I..KAWI VOWEL SIGN VOCALIC R\n if (0x11f36 <= code && code <= 0x11f3a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] KAWI VOWEL SIGN E..KAWI VOWEL SIGN AI\n if (0x11f3e <= code && code <= 0x11f3f) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0x11f41) {\n // Mn KAWI VOWEL SIGN EU\n if (0x11f40 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc KAWI SIGN KILLER\n if (0x11f41 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn KAWI CONJOINER\n if (0x11f42 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x16af0) {\n if (code < 0x13440) {\n // Cf [16] EGYPTIAN HIEROGLYPH VERTICAL JOINER..EGYPTIAN HIEROGLYPH END WALLED ENCLOSURE\n if (0x13430 <= code && code <= 0x1343f) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n else {\n if (code < 0x13447) {\n // Mn EGYPTIAN HIEROGLYPH MIRROR HORIZONTALLY\n if (0x13440 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [15] EGYPTIAN HIEROGLYPH MODIFIER DAMAGED AT TOP START..EGYPTIAN HIEROGLYPH MODIFIER DAMAGED\n if (0x13447 <= code && code <= 0x13455) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x16b30) {\n // Mn [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE\n if (0x16af0 <= code && code <= 0x16af4) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x16f4f) {\n // Mn [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM\n if (0x16b30 <= code && code <= 0x16b36) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn MIAO SIGN CONSONANT MODIFIER BAR\n if (0x16f4f === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1da84) {\n if (code < 0x1d167) {\n if (code < 0x1bca0) {\n if (code < 0x16fe4) {\n if (code < 0x16f8f) {\n // Mc [55] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN UI\n if (0x16f51 <= code && code <= 0x16f87) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [4] MIAO TONE RIGHT..MIAO TONE BELOW\n if (0x16f8f <= code && code <= 0x16f92) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x16ff0) {\n // Mn KHITAN SMALL SCRIPT FILLER\n if (0x16fe4 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1bc9d) {\n // Mc [2] VIETNAMESE ALTERNATE READING MARK CA..VIETNAMESE ALTERNATE READING MARK NHAY\n if (0x16ff0 <= code && code <= 0x16ff1) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [2] DUPLOYAN THICK LETTER SELECTOR..DUPLOYAN DOUBLE MARK\n if (0x1bc9d <= code && code <= 0x1bc9e) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1cf30) {\n if (code < 0x1cf00) {\n // Cf [4] SHORTHAND FORMAT LETTER OVERLAP..SHORTHAND FORMAT UP STEP\n if (0x1bca0 <= code && code <= 0x1bca3) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n else {\n // Mn [46] ZNAMENNY COMBINING MARK GORAZDO NIZKO S KRYZHEM ON LEFT..ZNAMENNY COMBINING MARK KRYZH ON LEFT\n if (0x1cf00 <= code && code <= 0x1cf2d) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x1d165) {\n // Mn [23] ZNAMENNY COMBINING TONAL RANGE MARK MRACHNO..ZNAMENNY PRIZNAK MODIFIER ROG\n if (0x1cf30 <= code && code <= 0x1cf46) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc MUSICAL SYMBOL COMBINING STEM\n if (0x1d165 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mc MUSICAL SYMBOL COMBINING SPRECHGESANG STEM\n if (0x1d166 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1d185) {\n if (code < 0x1d16e) {\n if (code < 0x1d16d) {\n // Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3\n if (0x1d167 <= code && code <= 0x1d169) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc MUSICAL SYMBOL COMBINING AUGMENTATION DOT\n if (0x1d16d === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0x1d173) {\n // Mc [5] MUSICAL SYMBOL COMBINING FLAG-1..MUSICAL SYMBOL COMBINING FLAG-5\n if (0x1d16e <= code && code <= 0x1d172) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1d17b) {\n // Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE\n if (0x1d173 <= code && code <= 0x1d17a) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n else {\n // Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE\n if (0x1d17b <= code && code <= 0x1d182) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1da00) {\n if (code < 0x1d1aa) {\n // Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE\n if (0x1d185 <= code && code <= 0x1d18b) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1d242) {\n // Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO\n if (0x1d1aa <= code && code <= 0x1d1ad) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME\n if (0x1d242 <= code && code <= 0x1d244) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x1da3b) {\n // Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN\n if (0x1da00 <= code && code <= 0x1da36) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1da75) {\n // Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT\n if (0x1da3b <= code && code <= 0x1da6c) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS\n if (0x1da75 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1e2ec) {\n if (code < 0x1e01b) {\n if (code < 0x1daa1) {\n if (code < 0x1da9b) {\n // Mn SIGNWRITING LOCATION HEAD NECK\n if (0x1da84 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6\n if (0x1da9b <= code && code <= 0x1da9f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x1e000) {\n // Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16\n if (0x1daa1 <= code && code <= 0x1daaf) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1e008) {\n // Mn [7] COMBINING GLAGOLITIC LETTER AZU..COMBINING GLAGOLITIC LETTER ZHIVETE\n if (0x1e000 <= code && code <= 0x1e006) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [17] COMBINING GLAGOLITIC LETTER ZEMLJA..COMBINING GLAGOLITIC LETTER HERU\n if (0x1e008 <= code && code <= 0x1e018) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1e08f) {\n if (code < 0x1e023) {\n // Mn [7] COMBINING GLAGOLITIC LETTER SHTA..COMBINING GLAGOLITIC LETTER YATI\n if (0x1e01b <= code && code <= 0x1e021) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1e026) {\n // Mn [2] COMBINING GLAGOLITIC LETTER YU..COMBINING GLAGOLITIC LETTER SMALL YUS\n if (0x1e023 <= code && code <= 0x1e024) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [5] COMBINING GLAGOLITIC LETTER YO..COMBINING GLAGOLITIC LETTER FITA\n if (0x1e026 <= code && code <= 0x1e02a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x1e130) {\n // Mn COMBINING CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I\n if (0x1e08f === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1e2ae) {\n // Mn [7] NYIAKENG PUACHUE HMONG TONE-B..NYIAKENG PUACHUE HMONG TONE-D\n if (0x1e130 <= code && code <= 0x1e136) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn TOTO SIGN RISING TONE\n if (0x1e2ae === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1f3fb) {\n if (code < 0x1e8d0) {\n if (code < 0x1e4ec) {\n // Mn [4] WANCHO TONE TUP..WANCHO TONE KOINI\n if (0x1e2ec <= code && code <= 0x1e2ef) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [4] NAG MUNDARI SIGN MUHOR..NAG MUNDARI SIGN SUTUH\n if (0x1e4ec <= code && code <= 0x1e4ef) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x1e944) {\n // Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS\n if (0x1e8d0 <= code && code <= 0x1e8d6) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1f1e6) {\n // Mn [7] ADLAM ALIF LENGTHENER..ADLAM NUKTA\n if (0x1e944 <= code && code <= 0x1e94a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // So [26] REGIONAL INDICATOR SYMBOL LETTER A..REGIONAL INDICATOR SYMBOL LETTER Z\n if (0x1f1e6 <= code && code <= 0x1f1ff) {\n return boundaries_1.CLUSTER_BREAK.REGIONAL_INDICATOR;\n }\n }\n }\n }\n }\n else {\n if (code < 0xe0080) {\n if (code < 0xe0000) {\n // Sk [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6\n if (0x1f3fb <= code && code <= 0x1f3ff) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xe0020) {\n // Cn \n // Cf LANGUAGE TAG\n // Cn [30] ..\n if (0xe0000 <= code && code <= 0xe001f) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n else {\n // Cf [96] TAG SPACE..CANCEL TAG\n if (0xe0020 <= code && code <= 0xe007f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0xe0100) {\n // Cn [128] ..\n if (0xe0080 <= code && code <= 0xe00ff) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n else {\n if (code < 0xe01f0) {\n // Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256\n if (0xe0100 <= code && code <= 0xe01ef) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Cn [3600] ..\n if (0xe01f0 <= code && code <= 0xe0fff) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n // unlisted code points are treated as a break property of \"Other\"\n return boundaries_1.CLUSTER_BREAK.OTHER;\n }\n /**\n * Given a Unicode code point, returns if symbol is an extended pictographic or some other break\n * @param code {number} Unicode code point\n * @returns {number}\n */\n static getEmojiProperty(code) {\n // emoji property taken from:\n // https://www.unicode.org/Public/UCD/latest/ucd/emoji/emoji-data.txt\n // and generated by\n // node ./scripts/generate-emoji-extended-pictographic.js\n if (code < 0x27b0) {\n if (code < 0x2600) {\n if (code < 0x2328) {\n if (code < 0x2122) {\n if (code < 0x203c) {\n // E0.6 [1] (©️) copyright\n if (0xa9 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n // E0.6 [1] (®️) registered\n if (0xae === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [1] (‼️) double exclamation mark\n if (0x203c === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n // E0.6 [1] (⁉️) exclamation question mark\n if (0x2049 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n else {\n if (code < 0x2194) {\n // E0.6 [1] (™️) trade mark\n if (0x2122 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n // E0.6 [1] (ℹ️) information\n if (0x2139 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x21a9) {\n // E0.6 [6] (↔️..↙️) left-right arrow..down-left arrow\n if (0x2194 <= code && code <= 0x2199) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x231a) {\n // E0.6 [2] (↩️..↪️) right arrow curving left..left arrow curving right\n if (0x21a9 <= code && code <= 0x21aa) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [2] (⌚..⌛) watch..hourglass done\n if (0x231a <= code && code <= 0x231b) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x24c2) {\n if (code < 0x23cf) {\n // E1.0 [1] (⌨️) keyboard\n if (0x2328 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n // E0.0 [1] (⎈) HELM SYMBOL\n if (0x2388 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x23e9) {\n // E1.0 [1] (⏏️) eject button\n if (0x23cf === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x23f8) {\n // E0.6 [4] (⏩..⏬) fast-forward button..fast down button\n // E0.7 [2] (⏭️..⏮️) next track button..last track button\n // E1.0 [1] (⏯️) play or pause button\n // E0.6 [1] (⏰) alarm clock\n // E1.0 [2] (⏱️..⏲️) stopwatch..timer clock\n // E0.6 [1] (⏳) hourglass not done\n if (0x23e9 <= code && code <= 0x23f3) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.7 [3] (⏸️..⏺️) pause button..record button\n if (0x23f8 <= code && code <= 0x23fa) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n }\n else {\n if (code < 0x25b6) {\n if (code < 0x25aa) {\n // E0.6 [1] (Ⓜ️) circled M\n if (0x24c2 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [2] (▪️..▫️) black small square..white small square\n if (0x25aa <= code && code <= 0x25ab) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n else {\n if (code < 0x25c0) {\n // E0.6 [1] (▶️) play button\n if (0x25b6 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x25fb) {\n // E0.6 [1] (◀️) reverse button\n if (0x25c0 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [4] (◻️..◾) white medium square..black medium-small square\n if (0x25fb <= code && code <= 0x25fe) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x2733) {\n if (code < 0x2714) {\n if (code < 0x2614) {\n if (code < 0x2607) {\n // E0.6 [2] (☀️..☁️) sun..cloud\n // E0.7 [2] (☂️..☃️) umbrella..snowman\n // E1.0 [1] (☄️) comet\n // E0.0 [1] (★) BLACK STAR\n if (0x2600 <= code && code <= 0x2605) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.0 [7] (☇..☍) LIGHTNING..OPPOSITION\n // E0.6 [1] (☎️) telephone\n // E0.0 [2] (☏..☐) WHITE TELEPHONE..BALLOT BOX\n // E0.6 [1] (☑️) check box with check\n // E0.0 [1] (☒) BALLOT BOX WITH X\n if (0x2607 <= code && code <= 0x2612) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n else {\n if (code < 0x2690) {\n // E0.6 [2] (☔..☕) umbrella with rain drops..hot beverage\n // E0.0 [2] (☖..☗) WHITE SHOGI PIECE..BLACK SHOGI PIECE\n // E1.0 [1] (☘️) shamrock\n // E0.0 [4] (☙..☜) REVERSED ROTATED FLORAL HEART BULLET..WHITE LEFT POINTING INDEX\n // E0.6 [1] (☝️) index pointing up\n // E0.0 [2] (☞..☟) WHITE RIGHT POINTING INDEX..WHITE DOWN POINTING INDEX\n // E1.0 [1] (☠️) skull and crossbones\n // E0.0 [1] (☡) CAUTION SIGN\n // E1.0 [2] (☢️..☣️) radioactive..biohazard\n // E0.0 [2] (☤..☥) CADUCEUS..ANKH\n // E1.0 [1] (☦️) orthodox cross\n // E0.0 [3] (☧..☩) CHI RHO..CROSS OF JERUSALEM\n // E0.7 [1] (☪️) star and crescent\n // E0.0 [3] (☫..☭) FARSI SYMBOL..HAMMER AND SICKLE\n // E1.0 [1] (☮️) peace symbol\n // E0.7 [1] (☯️) yin yang\n // E0.0 [8] (☰..☷) TRIGRAM FOR HEAVEN..TRIGRAM FOR EARTH\n // E0.7 [2] (☸️..☹️) wheel of dharma..frowning face\n // E0.6 [1] (☺️) smiling face\n // E0.0 [5] (☻..☿) BLACK SMILING FACE..MERCURY\n // E4.0 [1] (♀️) female sign\n // E0.0 [1] (♁) EARTH\n // E4.0 [1] (♂️) male sign\n // E0.0 [5] (♃..♇) JUPITER..PLUTO\n // E0.6 [12] (♈..♓) Aries..Pisces\n // E0.0 [11] (♔..♞) WHITE CHESS KING..BLACK CHESS KNIGHT\n // E11.0 [1] (♟️) chess pawn\n // E0.6 [1] (♠️) spade suit\n // E0.0 [2] (♡..♢) WHITE HEART SUIT..WHITE DIAMOND SUIT\n // E0.6 [1] (♣️) club suit\n // E0.0 [1] (♤) WHITE SPADE SUIT\n // E0.6 [2] (♥️..♦️) heart suit..diamond suit\n // E0.0 [1] (♧) WHITE CLUB SUIT\n // E0.6 [1] (♨️) hot springs\n // E0.0 [18] (♩..♺) QUARTER NOTE..RECYCLING SYMBOL FOR GENERIC MATERIALS\n // E0.6 [1] (♻️) recycling symbol\n // E0.0 [2] (♼..♽) RECYCLED PAPER SYMBOL..PARTIALLY-RECYCLED PAPER SYMBOL\n // E11.0 [1] (♾️) infinity\n // E0.6 [1] (♿) wheelchair symbol\n // E0.0 [6] (⚀..⚅) DIE FACE-1..DIE FACE-6\n if (0x2614 <= code && code <= 0x2685) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x2708) {\n // E0.0 [2] (⚐..⚑) WHITE FLAG..BLACK FLAG\n // E1.0 [1] (⚒️) hammer and pick\n // E0.6 [1] (⚓) anchor\n // E1.0 [1] (⚔️) crossed swords\n // E4.0 [1] (⚕️) medical symbol\n // E1.0 [2] (⚖️..⚗️) balance scale..alembic\n // E0.0 [1] (⚘) FLOWER\n // E1.0 [1] (⚙️) gear\n // E0.0 [1] (⚚) STAFF OF HERMES\n // E1.0 [2] (⚛️..⚜️) atom symbol..fleur-de-lis\n // E0.0 [3] (⚝..⚟) OUTLINED WHITE STAR..THREE LINES CONVERGING LEFT\n // E0.6 [2] (⚠️..⚡) warning..high voltage\n // E0.0 [5] (⚢..⚦) DOUBLED FEMALE SIGN..MALE WITH STROKE SIGN\n // E13.0 [1] (⚧️) transgender symbol\n // E0.0 [2] (⚨..⚩) VERTICAL MALE WITH STROKE SIGN..HORIZONTAL MALE WITH STROKE SIGN\n // E0.6 [2] (⚪..⚫) white circle..black circle\n // E0.0 [4] (⚬..⚯) MEDIUM SMALL WHITE CIRCLE..UNMARRIED PARTNERSHIP SYMBOL\n // E1.0 [2] (⚰️..⚱️) coffin..funeral urn\n // E0.0 [11] (⚲..⚼) NEUTER..SESQUIQUADRATE\n // E0.6 [2] (⚽..⚾) soccer ball..baseball\n // E0.0 [5] (⚿..⛃) SQUARED KEY..BLACK DRAUGHTS KING\n // E0.6 [2] (⛄..⛅) snowman without snow..sun behind cloud\n // E0.0 [2] (⛆..⛇) RAIN..BLACK SNOWMAN\n // E0.7 [1] (⛈️) cloud with lightning and rain\n // E0.0 [5] (⛉..⛍) TURNED WHITE SHOGI PIECE..DISABLED CAR\n // E0.6 [1] (⛎) Ophiuchus\n // E0.7 [1] (⛏️) pick\n // E0.0 [1] (⛐) CAR SLIDING\n // E0.7 [1] (⛑️) rescue worker’s helmet\n // E0.0 [1] (⛒) CIRCLED CROSSING LANES\n // E0.7 [1] (⛓️) chains\n // E0.6 [1] (⛔) no entry\n // E0.0 [20] (⛕..⛨) ALTERNATE ONE-WAY LEFT WAY TRAFFIC..BLACK CROSS ON SHIELD\n // E0.7 [1] (⛩️) shinto shrine\n // E0.6 [1] (⛪) church\n // E0.0 [5] (⛫..⛯) CASTLE..MAP SYMBOL FOR LIGHTHOUSE\n // E0.7 [2] (⛰️..⛱️) mountain..umbrella on ground\n // E0.6 [2] (⛲..⛳) fountain..flag in hole\n // E0.7 [1] (⛴️) ferry\n // E0.6 [1] (⛵) sailboat\n // E0.0 [1] (⛶) SQUARE FOUR CORNERS\n // E0.7 [3] (⛷️..⛹️) skier..person bouncing ball\n // E0.6 [1] (⛺) tent\n // E0.0 [2] (⛻..⛼) JAPANESE BANK SYMBOL..HEADSTONE GRAVEYARD SYMBOL\n // E0.6 [1] (⛽) fuel pump\n // E0.0 [4] (⛾..✁) CUP ON BLACK SQUARE..UPPER BLADE SCISSORS\n // E0.6 [1] (✂️) scissors\n // E0.0 [2] (✃..✄) LOWER BLADE SCISSORS..WHITE SCISSORS\n // E0.6 [1] (✅) check mark button\n if (0x2690 <= code && code <= 0x2705) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [5] (✈️..✌️) airplane..victory hand\n // E0.7 [1] (✍️) writing hand\n // E0.0 [1] (✎) LOWER RIGHT PENCIL\n // E0.6 [1] (✏️) pencil\n // E0.0 [2] (✐..✑) UPPER RIGHT PENCIL..WHITE NIB\n // E0.6 [1] (✒️) black nib\n if (0x2708 <= code && code <= 0x2712) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n }\n else {\n if (code < 0x271d) {\n // E0.6 [1] (✔️) check mark\n if (0x2714 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n // E0.6 [1] (✖️) multiply\n if (0x2716 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x2721) {\n // E0.7 [1] (✝️) latin cross\n if (0x271d === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.7 [1] (✡️) star of David\n if (0x2721 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n // E0.6 [1] (✨) sparkles\n if (0x2728 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n }\n else {\n if (code < 0x2753) {\n if (code < 0x2747) {\n if (code < 0x2744) {\n // E0.6 [2] (✳️..✴️) eight-spoked asterisk..eight-pointed star\n if (0x2733 <= code && code <= 0x2734) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [1] (❄️) snowflake\n if (0x2744 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n else {\n if (code < 0x274c) {\n // E0.6 [1] (❇️) sparkle\n if (0x2747 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [1] (❌) cross mark\n if (0x274c === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n // E0.6 [1] (❎) cross mark button\n if (0x274e === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n else {\n if (code < 0x2763) {\n if (code < 0x2757) {\n // E0.6 [3] (❓..❕) red question mark..white exclamation mark\n if (0x2753 <= code && code <= 0x2755) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [1] (❗) red exclamation mark\n if (0x2757 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n else {\n if (code < 0x2795) {\n // E1.0 [1] (❣️) heart exclamation\n // E0.6 [1] (❤️) red heart\n // E0.0 [3] (❥..❧) ROTATED HEAVY BLACK HEART BULLET..ROTATED FLORAL HEART BULLET\n if (0x2763 <= code && code <= 0x2767) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x27a1) {\n // E0.6 [3] (➕..➗) plus..divide\n if (0x2795 <= code && code <= 0x2797) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [1] (➡️) right arrow\n if (0x27a1 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1f201) {\n if (code < 0x3297) {\n if (code < 0x2b1b) {\n if (code < 0x2934) {\n // E0.6 [1] (➰) curly loop\n if (0x27b0 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n // E1.0 [1] (➿) double curly loop\n if (0x27bf === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x2b05) {\n // E0.6 [2] (⤴️..⤵️) right arrow curving up..right arrow curving down\n if (0x2934 <= code && code <= 0x2935) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [3] (⬅️..⬇️) left arrow..down arrow\n if (0x2b05 <= code && code <= 0x2b07) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n else {\n if (code < 0x2b55) {\n if (code < 0x2b50) {\n // E0.6 [2] (⬛..⬜) black large square..white large square\n if (0x2b1b <= code && code <= 0x2b1c) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [1] (⭐) star\n if (0x2b50 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n else {\n if (code < 0x3030) {\n // E0.6 [1] (⭕) hollow red circle\n if (0x2b55 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [1] (〰️) wavy dash\n if (0x3030 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n // E0.6 [1] (〽️) part alternation mark\n if (0x303d === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1f16c) {\n if (code < 0x1f000) {\n // E0.6 [1] (㊗️) Japanese “congratulations” button\n if (0x3297 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n // E0.6 [1] (㊙️) Japanese “secret” button\n if (0x3299 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x1f10d) {\n // E0.0 [4] (🀀..🀃) MAHJONG TILE EAST WIND..MAHJONG TILE NORTH WIND\n // E0.6 [1] (🀄) mahjong red dragon\n // E0.0 [202] (🀅..🃎) MAHJONG TILE GREEN DRAGON..PLAYING CARD KING OF DIAMONDS\n // E0.6 [1] (🃏) joker\n // E0.0 [48] (🃐..🃿) ..\n if (0x1f000 <= code && code <= 0x1f0ff) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x1f12f) {\n // E0.0 [3] (🄍..🄏) CIRCLED ZERO WITH SLASH..CIRCLED DOLLAR SIGN WITH OVERLAID BACKSLASH\n if (0x1f10d <= code && code <= 0x1f10f) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.0 [1] (🄯) COPYLEFT SYMBOL\n if (0x1f12f === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1f18e) {\n if (code < 0x1f17e) {\n // E0.0 [4] (🅬..🅯) RAISED MR SIGN..CIRCLED HUMAN FIGURE\n // E0.6 [2] (🅰️..🅱️) A button (blood type)..B button (blood type)\n if (0x1f16c <= code && code <= 0x1f171) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [2] (🅾️..🅿️) O button (blood type)..P button\n if (0x1f17e <= code && code <= 0x1f17f) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n else {\n if (code < 0x1f191) {\n // E0.6 [1] (🆎) AB button (blood type)\n if (0x1f18e === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x1f1ad) {\n // E0.6 [10] (🆑..🆚) CL button..VS button\n if (0x1f191 <= code && code <= 0x1f19a) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.0 [57] (🆭..🇥) MASK WORK SYMBOL..\n if (0x1f1ad <= code && code <= 0x1f1e5) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1f7d5) {\n if (code < 0x1f249) {\n if (code < 0x1f22f) {\n if (code < 0x1f21a) {\n // E0.6 [2] (🈁..🈂️) Japanese “here” button..Japanese “service charge” button\n // E0.0 [13] (🈃..🈏) ..\n if (0x1f201 <= code && code <= 0x1f20f) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [1] (🈚) Japanese “free of charge” button\n if (0x1f21a === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n else {\n if (code < 0x1f232) {\n // E0.6 [1] (🈯) Japanese “reserved” button\n if (0x1f22f === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x1f23c) {\n // E0.6 [9] (🈲..🈺) Japanese “prohibited” button..Japanese “open for business” button\n if (0x1f232 <= code && code <= 0x1f23a) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.0 [4] (🈼..🈿) ..\n if (0x1f23c <= code && code <= 0x1f23f) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1f546) {\n if (code < 0x1f400) {\n // E0.0 [7] (🉉..🉏) ..\n // E0.6 [2] (🉐..🉑) Japanese “bargain” button..Japanese “acceptable” button\n // E0.0 [174] (🉒..🋿) ..\n // E0.6 [13] (🌀..🌌) cyclone..milky way\n // E0.7 [2] (🌍..🌎) globe showing Europe-Africa..globe showing Americas\n // E0.6 [1] (🌏) globe showing Asia-Australia\n // E1.0 [1] (🌐) globe with meridians\n // E0.6 [1] (🌑) new moon\n // E1.0 [1] (🌒) waxing crescent moon\n // E0.6 [3] (🌓..🌕) first quarter moon..full moon\n // E1.0 [3] (🌖..🌘) waning gibbous moon..waning crescent moon\n // E0.6 [1] (🌙) crescent moon\n // E1.0 [1] (🌚) new moon face\n // E0.6 [1] (🌛) first quarter moon face\n // E0.7 [1] (🌜) last quarter moon face\n // E1.0 [2] (🌝..🌞) full moon face..sun with face\n // E0.6 [2] (🌟..🌠) glowing star..shooting star\n // E0.7 [1] (🌡️) thermometer\n // E0.0 [2] (🌢..🌣) BLACK DROPLET..WHITE SUN\n // E0.7 [9] (🌤️..🌬️) sun behind small cloud..wind face\n // E1.0 [3] (🌭..🌯) hot dog..burrito\n // E0.6 [2] (🌰..🌱) chestnut..seedling\n // E1.0 [2] (🌲..🌳) evergreen tree..deciduous tree\n // E0.6 [2] (🌴..🌵) palm tree..cactus\n // E0.7 [1] (🌶️) hot pepper\n // E0.6 [20] (🌷..🍊) tulip..tangerine\n // E1.0 [1] (🍋) lemon\n // E0.6 [4] (🍌..🍏) banana..green apple\n // E1.0 [1] (🍐) pear\n // E0.6 [43] (🍑..🍻) peach..clinking beer mugs\n // E1.0 [1] (🍼) baby bottle\n // E0.7 [1] (🍽️) fork and knife with plate\n // E1.0 [2] (🍾..🍿) bottle with popping cork..popcorn\n // E0.6 [20] (🎀..🎓) ribbon..graduation cap\n // E0.0 [2] (🎔..🎕) HEART WITH TIP ON THE LEFT..BOUQUET OF FLOWERS\n // E0.7 [2] (🎖️..🎗️) military medal..reminder ribbon\n // E0.0 [1] (🎘) MUSICAL KEYBOARD WITH JACKS\n // E0.7 [3] (🎙️..🎛️) studio microphone..control knobs\n // E0.0 [2] (🎜..🎝) BEAMED ASCENDING MUSICAL NOTES..BEAMED DESCENDING MUSICAL NOTES\n // E0.7 [2] (🎞️..🎟️) film frames..admission tickets\n // E0.6 [37] (🎠..🏄) carousel horse..person surfing\n // E1.0 [1] (🏅) sports medal\n // E0.6 [1] (🏆) trophy\n // E1.0 [1] (🏇) horse racing\n // E0.6 [1] (🏈) american football\n // E1.0 [1] (🏉) rugby football\n // E0.6 [1] (🏊) person swimming\n // E0.7 [4] (🏋️..🏎️) person lifting weights..racing car\n // E1.0 [5] (🏏..🏓) cricket game..ping pong\n // E0.7 [12] (🏔️..🏟️) snow-capped mountain..stadium\n // E0.6 [4] (🏠..🏣) house..Japanese post office\n // E1.0 [1] (🏤) post office\n // E0.6 [12] (🏥..🏰) hospital..castle\n // E0.0 [2] (🏱..🏲) WHITE PENNANT..BLACK PENNANT\n // E0.7 [1] (🏳️) white flag\n // E1.0 [1] (🏴) black flag\n // E0.7 [1] (🏵️) rosette\n // E0.0 [1] (🏶) BLACK ROSETTE\n // E0.7 [1] (🏷️) label\n // E1.0 [3] (🏸..🏺) badminton..amphora\n if (0x1f249 <= code && code <= 0x1f3fa) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E1.0 [8] (🐀..🐇) rat..rabbit\n // E0.7 [1] (🐈) cat\n // E1.0 [3] (🐉..🐋) dragon..whale\n // E0.6 [3] (🐌..🐎) snail..horse\n // E1.0 [2] (🐏..🐐) ram..goat\n // E0.6 [2] (🐑..🐒) ewe..monkey\n // E1.0 [1] (🐓) rooster\n // E0.6 [1] (🐔) chicken\n // E0.7 [1] (🐕) dog\n // E1.0 [1] (🐖) pig\n // E0.6 [19] (🐗..🐩) boar..poodle\n // E1.0 [1] (🐪) camel\n // E0.6 [20] (🐫..🐾) two-hump camel..paw prints\n // E0.7 [1] (🐿️) chipmunk\n // E0.6 [1] (👀) eyes\n // E0.7 [1] (👁️) eye\n // E0.6 [35] (👂..👤) ear..bust in silhouette\n // E1.0 [1] (👥) busts in silhouette\n // E0.6 [6] (👦..👫) boy..woman and man holding hands\n // E1.0 [2] (👬..👭) men holding hands..women holding hands\n // E0.6 [63] (👮..💬) police officer..speech balloon\n // E1.0 [1] (💭) thought balloon\n // E0.6 [8] (💮..💵) white flower..dollar banknote\n // E1.0 [2] (💶..💷) euro banknote..pound banknote\n // E0.6 [52] (💸..📫) money with wings..closed mailbox with raised flag\n // E0.7 [2] (📬..📭) open mailbox with raised flag..open mailbox with lowered flag\n // E0.6 [1] (📮) postbox\n // E1.0 [1] (📯) postal horn\n // E0.6 [5] (📰..📴) newspaper..mobile phone off\n // E1.0 [1] (📵) no mobile phones\n // E0.6 [2] (📶..📷) antenna bars..camera\n // E1.0 [1] (📸) camera with flash\n // E0.6 [4] (📹..📼) video camera..videocassette\n // E0.7 [1] (📽️) film projector\n // E0.0 [1] (📾) PORTABLE STEREO\n // E1.0 [4] (📿..🔂) prayer beads..repeat single button\n // E0.6 [1] (🔃) clockwise vertical arrows\n // E1.0 [4] (🔄..🔇) counterclockwise arrows button..muted speaker\n // E0.7 [1] (🔈) speaker low volume\n // E1.0 [1] (🔉) speaker medium volume\n // E0.6 [11] (🔊..🔔) speaker high volume..bell\n // E1.0 [1] (🔕) bell with slash\n // E0.6 [22] (🔖..🔫) bookmark..water pistol\n // E1.0 [2] (🔬..🔭) microscope..telescope\n // E0.6 [16] (🔮..🔽) crystal ball..downwards button\n if (0x1f400 <= code && code <= 0x1f53d) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n else {\n if (code < 0x1f680) {\n // E0.0 [3] (🕆..🕈) WHITE LATIN CROSS..CELTIC CROSS\n // E0.7 [2] (🕉️..🕊️) om..dove\n // E1.0 [4] (🕋..🕎) kaaba..menorah\n // E0.0 [1] (🕏) BOWL OF HYGIEIA\n // E0.6 [12] (🕐..🕛) one o’clock..twelve o’clock\n // E0.7 [12] (🕜..🕧) one-thirty..twelve-thirty\n // E0.0 [7] (🕨..🕮) RIGHT SPEAKER..BOOK\n // E0.7 [2] (🕯️..🕰️) candle..mantelpiece clock\n // E0.0 [2] (🕱..🕲) BLACK SKULL AND CROSSBONES..NO PIRACY\n // E0.7 [7] (🕳️..🕹️) hole..joystick\n // E3.0 [1] (🕺) man dancing\n // E0.0 [12] (🕻..🖆) LEFT HAND TELEPHONE RECEIVER..PEN OVER STAMPED ENVELOPE\n // E0.7 [1] (🖇️) linked paperclips\n // E0.0 [2] (🖈..🖉) BLACK PUSHPIN..LOWER LEFT PENCIL\n // E0.7 [4] (🖊️..🖍️) pen..crayon\n // E0.0 [2] (🖎..🖏) LEFT WRITING HAND..TURNED OK HAND SIGN\n // E0.7 [1] (🖐️) hand with fingers splayed\n // E0.0 [4] (🖑..🖔) REVERSED RAISED HAND WITH FINGERS SPLAYED..REVERSED VICTORY HAND\n // E1.0 [2] (🖕..🖖) middle finger..vulcan salute\n // E0.0 [13] (🖗..🖣) WHITE DOWN POINTING LEFT HAND INDEX..BLACK DOWN POINTING BACKHAND INDEX\n // E3.0 [1] (🖤) black heart\n // E0.7 [1] (🖥️) desktop computer\n // E0.0 [2] (🖦..🖧) KEYBOARD AND MOUSE..THREE NETWORKED COMPUTERS\n // E0.7 [1] (🖨️) printer\n // E0.0 [8] (🖩..🖰) POCKET CALCULATOR..TWO BUTTON MOUSE\n // E0.7 [2] (🖱️..🖲️) computer mouse..trackball\n // E0.0 [9] (🖳..🖻) OLD PERSONAL COMPUTER..DOCUMENT WITH PICTURE\n // E0.7 [1] (🖼️) framed picture\n // E0.0 [5] (🖽..🗁) FRAME WITH TILES..OPEN FOLDER\n // E0.7 [3] (🗂️..🗄️) card index dividers..file cabinet\n // E0.0 [12] (🗅..🗐) EMPTY NOTE..PAGES\n // E0.7 [3] (🗑️..🗓️) wastebasket..spiral calendar\n // E0.0 [8] (🗔..🗛) DESKTOP WINDOW..DECREASE FONT SIZE SYMBOL\n // E0.7 [3] (🗜️..🗞️) clamp..rolled-up newspaper\n // E0.0 [2] (🗟..🗠) PAGE WITH CIRCLED TEXT..STOCK CHART\n // E0.7 [1] (🗡️) dagger\n // E0.0 [1] (🗢) LIPS\n // E0.7 [1] (🗣️) speaking head\n // E0.0 [4] (🗤..🗧) THREE RAYS ABOVE..THREE RAYS RIGHT\n // E2.0 [1] (🗨️) left speech bubble\n // E0.0 [6] (🗩..🗮) RIGHT SPEECH BUBBLE..LEFT ANGER BUBBLE\n // E0.7 [1] (🗯️) right anger bubble\n // E0.0 [3] (🗰..🗲) MOOD BUBBLE..LIGHTNING MOOD\n // E0.7 [1] (🗳️) ballot box with ballot\n // E0.0 [6] (🗴..🗹) BALLOT SCRIPT X..BALLOT BOX WITH BOLD CHECK\n // E0.7 [1] (🗺️) world map\n // E0.6 [5] (🗻..🗿) mount fuji..moai\n // E1.0 [1] (😀) grinning face\n // E0.6 [6] (😁..😆) beaming face with smiling eyes..grinning squinting face\n // E1.0 [2] (😇..😈) smiling face with halo..smiling face with horns\n // E0.6 [5] (😉..😍) winking face..smiling face with heart-eyes\n // E1.0 [1] (😎) smiling face with sunglasses\n // E0.6 [1] (😏) smirking face\n // E0.7 [1] (😐) neutral face\n // E1.0 [1] (😑) expressionless face\n // E0.6 [3] (😒..😔) unamused face..pensive face\n // E1.0 [1] (😕) confused face\n // E0.6 [1] (😖) confounded face\n // E1.0 [1] (😗) kissing face\n // E0.6 [1] (😘) face blowing a kiss\n // E1.0 [1] (😙) kissing face with smiling eyes\n // E0.6 [1] (😚) kissing face with closed eyes\n // E1.0 [1] (😛) face with tongue\n // E0.6 [3] (😜..😞) winking face with tongue..disappointed face\n // E1.0 [1] (😟) worried face\n // E0.6 [6] (😠..😥) angry face..sad but relieved face\n // E1.0 [2] (😦..😧) frowning face with open mouth..anguished face\n // E0.6 [4] (😨..😫) fearful face..tired face\n // E1.0 [1] (😬) grimacing face\n // E0.6 [1] (😭) loudly crying face\n // E1.0 [2] (😮..😯) face with open mouth..hushed face\n // E0.6 [4] (😰..😳) anxious face with sweat..flushed face\n // E1.0 [1] (😴) sleeping face\n // E0.6 [1] (😵) face with crossed-out eyes\n // E1.0 [1] (😶) face without mouth\n // E0.6 [10] (😷..🙀) face with medical mask..weary cat\n // E1.0 [4] (🙁..🙄) slightly frowning face..face with rolling eyes\n // E0.6 [11] (🙅..🙏) person gesturing NO..folded hands\n if (0x1f546 <= code && code <= 0x1f64f) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x1f774) {\n // E0.6 [1] (🚀) rocket\n // E1.0 [2] (🚁..🚂) helicopter..locomotive\n // E0.6 [3] (🚃..🚅) railway car..bullet train\n // E1.0 [1] (🚆) train\n // E0.6 [1] (🚇) metro\n // E1.0 [1] (🚈) light rail\n // E0.6 [1] (🚉) station\n // E1.0 [2] (🚊..🚋) tram..tram car\n // E0.6 [1] (🚌) bus\n // E0.7 [1] (🚍) oncoming bus\n // E1.0 [1] (🚎) trolleybus\n // E0.6 [1] (🚏) bus stop\n // E1.0 [1] (🚐) minibus\n // E0.6 [3] (🚑..🚓) ambulance..police car\n // E0.7 [1] (🚔) oncoming police car\n // E0.6 [1] (🚕) taxi\n // E1.0 [1] (🚖) oncoming taxi\n // E0.6 [1] (🚗) automobile\n // E0.7 [1] (🚘) oncoming automobile\n // E0.6 [2] (🚙..🚚) sport utility vehicle..delivery truck\n // E1.0 [7] (🚛..🚡) articulated lorry..aerial tramway\n // E0.6 [1] (🚢) ship\n // E1.0 [1] (🚣) person rowing boat\n // E0.6 [2] (🚤..🚥) speedboat..horizontal traffic light\n // E1.0 [1] (🚦) vertical traffic light\n // E0.6 [7] (🚧..🚭) construction..no smoking\n // E1.0 [4] (🚮..🚱) litter in bin sign..non-potable water\n // E0.6 [1] (🚲) bicycle\n // E1.0 [3] (🚳..🚵) no bicycles..person mountain biking\n // E0.6 [1] (🚶) person walking\n // E1.0 [2] (🚷..🚸) no pedestrians..children crossing\n // E0.6 [6] (🚹..🚾) men’s room..water closet\n // E1.0 [1] (🚿) shower\n // E0.6 [1] (🛀) person taking bath\n // E1.0 [5] (🛁..🛅) bathtub..left luggage\n // E0.0 [5] (🛆..🛊) TRIANGLE WITH ROUNDED CORNERS..GIRLS SYMBOL\n // E0.7 [1] (🛋️) couch and lamp\n // E1.0 [1] (🛌) person in bed\n // E0.7 [3] (🛍️..🛏️) shopping bags..bed\n // E1.0 [1] (🛐) place of worship\n // E3.0 [2] (🛑..🛒) stop sign..shopping cart\n // E0.0 [2] (🛓..🛔) STUPA..PAGODA\n // E12.0 [1] (🛕) hindu temple\n // E13.0 [2] (🛖..🛗) hut..elevator\n // E0.0 [4] (🛘..🛛) ..\n // E15.0 [1] (🛜) wireless\n // E14.0 [3] (🛝..🛟) playground slide..ring buoy\n // E0.7 [6] (🛠️..🛥️) hammer and wrench..motor boat\n // E0.0 [3] (🛦..🛨) UP-POINTING MILITARY AIRPLANE..UP-POINTING SMALL AIRPLANE\n // E0.7 [1] (🛩️) small airplane\n // E0.0 [1] (🛪) NORTHEAST-POINTING AIRPLANE\n // E1.0 [2] (🛫..🛬) airplane departure..airplane arrival\n // E0.0 [3] (🛭..🛯) ..\n // E0.7 [1] (🛰️) satellite\n // E0.0 [2] (🛱..🛲) ONCOMING FIRE ENGINE..DIESEL LOCOMOTIVE\n // E0.7 [1] (🛳️) passenger ship\n // E3.0 [3] (🛴..🛶) kick scooter..canoe\n // E5.0 [2] (🛷..🛸) sled..flying saucer\n // E11.0 [1] (🛹) skateboard\n // E12.0 [1] (🛺) auto rickshaw\n // E13.0 [2] (🛻..🛼) pickup truck..roller skate\n // E0.0 [3] (🛽..🛿) ..\n if (0x1f680 <= code && code <= 0x1f6ff) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.0 [12] (🝴..🝿) LOT OF FORTUNE..ORCUS\n if (0x1f774 <= code && code <= 0x1f77f) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1f8ae) {\n if (code < 0x1f848) {\n if (code < 0x1f80c) {\n // E0.0 [11] (🟕..🟟) CIRCLED TRIANGLE..\n // E12.0 [12] (🟠..🟫) orange circle..brown square\n // E0.0 [4] (🟬..🟯) ..\n // E14.0 [1] (🟰) heavy equals sign\n // E0.0 [15] (🟱..🟿) ..\n if (0x1f7d5 <= code && code <= 0x1f7ff) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.0 [4] (🠌..🠏) ..\n if (0x1f80c <= code && code <= 0x1f80f) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n else {\n if (code < 0x1f85a) {\n // E0.0 [8] (🡈..🡏) ..\n if (0x1f848 <= code && code <= 0x1f84f) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x1f888) {\n // E0.0 [6] (🡚..🡟) ..\n if (0x1f85a <= code && code <= 0x1f85f) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.0 [8] (🢈..🢏) ..\n if (0x1f888 <= code && code <= 0x1f88f) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1f93c) {\n if (code < 0x1f90c) {\n // E0.0 [82] (🢮..🣿) ..\n if (0x1f8ae <= code && code <= 0x1f8ff) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E13.0 [1] (🤌) pinched fingers\n // E12.0 [3] (🤍..🤏) white heart..pinching hand\n // E1.0 [9] (🤐..🤘) zipper-mouth face..sign of the horns\n // E3.0 [6] (🤙..🤞) call me hand..crossed fingers\n // E5.0 [1] (🤟) love-you gesture\n // E3.0 [8] (🤠..🤧) cowboy hat face..sneezing face\n // E5.0 [8] (🤨..🤯) face with raised eyebrow..exploding head\n // E3.0 [1] (🤰) pregnant woman\n // E5.0 [2] (🤱..🤲) breast-feeding..palms up together\n // E3.0 [8] (🤳..🤺) selfie..person fencing\n if (0x1f90c <= code && code <= 0x1f93a) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n else {\n if (code < 0x1f947) {\n // E3.0 [3] (🤼..🤾) people wrestling..person playing handball\n // E12.0 [1] (🤿) diving mask\n // E3.0 [6] (🥀..🥅) wilted flower..goal net\n if (0x1f93c <= code && code <= 0x1f945) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x1fc00) {\n // E3.0 [5] (🥇..🥋) 1st place medal..martial arts uniform\n // E5.0 [1] (🥌) curling stone\n // E11.0 [3] (🥍..🥏) lacrosse..flying disc\n // E3.0 [15] (🥐..🥞) croissant..pancakes\n // E5.0 [13] (🥟..🥫) dumpling..canned food\n // E11.0 [5] (🥬..🥰) leafy green..smiling face with hearts\n // E12.0 [1] (🥱) yawning face\n // E13.0 [1] (🥲) smiling face with tear\n // E11.0 [4] (🥳..🥶) partying face..cold face\n // E13.0 [2] (🥷..🥸) ninja..disguised face\n // E14.0 [1] (🥹) face holding back tears\n // E11.0 [1] (🥺) pleading face\n // E12.0 [1] (🥻) sari\n // E11.0 [4] (🥼..🥿) lab coat..flat shoe\n // E1.0 [5] (🦀..🦄) crab..unicorn\n // E3.0 [13] (🦅..🦑) eagle..squid\n // E5.0 [6] (🦒..🦗) giraffe..cricket\n // E11.0 [11] (🦘..🦢) kangaroo..swan\n // E13.0 [2] (🦣..🦤) mammoth..dodo\n // E12.0 [6] (🦥..🦪) sloth..oyster\n // E13.0 [3] (🦫..🦭) beaver..seal\n // E12.0 [2] (🦮..🦯) guide dog..white cane\n // E11.0 [10] (🦰..🦹) red hair..supervillain\n // E12.0 [6] (🦺..🦿) safety vest..mechanical leg\n // E1.0 [1] (🧀) cheese wedge\n // E11.0 [2] (🧁..🧂) cupcake..salt\n // E12.0 [8] (🧃..🧊) beverage box..ice\n // E13.0 [1] (🧋) bubble tea\n // E14.0 [1] (🧌) troll\n // E12.0 [3] (🧍..🧏) person standing..deaf person\n // E5.0 [23] (🧐..🧦) face with monocle..socks\n // E11.0 [25] (🧧..🧿) red envelope..nazar amulet\n // E0.0 [112] (🨀..🩯) NEUTRAL CHESS KING..\n // E12.0 [4] (🩰..🩳) ballet shoes..shorts\n // E13.0 [1] (🩴) thong sandal\n // E15.0 [3] (🩵..🩷) light blue heart..pink heart\n // E12.0 [3] (🩸..🩺) drop of blood..stethoscope\n // E14.0 [2] (🩻..🩼) x-ray..crutch\n // E0.0 [3] (🩽..🩿) ..\n // E12.0 [3] (🪀..🪂) yo-yo..parachute\n // E13.0 [4] (🪃..🪆) boomerang..nesting dolls\n // E15.0 [2] (🪇..🪈) maracas..flute\n // E0.0 [7] (🪉..🪏) ..\n // E12.0 [6] (🪐..🪕) ringed planet..banjo\n // E13.0 [19] (🪖..🪨) military helmet..rock\n // E14.0 [4] (🪩..🪬) mirror ball..hamsa\n // E15.0 [3] (🪭..🪯) folding hand fan..khanda\n // E13.0 [7] (🪰..🪶) fly..feather\n // E14.0 [4] (🪷..🪺) lotus..nest with eggs\n // E15.0 [3] (🪻..🪽) hyacinth..wing\n // E0.0 [1] (🪾) \n // E15.0 [1] (🪿) goose\n // E13.0 [3] (🫀..🫂) anatomical heart..people hugging\n // E14.0 [3] (🫃..🫅) pregnant man..person with crown\n // E0.0 [8] (🫆..🫍) ..\n // E15.0 [2] (🫎..🫏) moose..donkey\n // E13.0 [7] (🫐..🫖) blueberries..teapot\n // E14.0 [3] (🫗..🫙) pouring liquid..jar\n // E15.0 [2] (🫚..🫛) ginger root..pea pod\n // E0.0 [4] (🫜..🫟) ..\n // E14.0 [8] (🫠..🫧) melting face..bubbles\n // E15.0 [1] (🫨) shaking face\n // E0.0 [7] (🫩..🫯) ..\n // E14.0 [7] (🫰..🫶) hand with index finger and thumb crossed..heart hands\n // E15.0 [2] (🫷..🫸) leftwards pushing hand..rightwards pushing hand\n // E0.0 [7] (🫹..🫿) ..\n if (0x1f947 <= code && code <= 0x1faff) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.0[1022] (🰀..🿽) ..\n if (0x1fc00 <= code && code <= 0x1fffd) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n }\n }\n }\n }\n // unlisted code points are treated as a break property of \"Other\"\n return boundaries_1.CLUSTER_BREAK.OTHER;\n }\n}\nexports.default = Graphemer;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Graphemer_1 = __importDefault(require(\"./Graphemer\"));\nexports.default = Graphemer_1.default;\n","/*\nCopyright 2023 New Vector Ltd\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport GraphemeSplitter from \"graphemer\";\n\nexport const MX_USERNAME_PREFIX = \"@\";\nexport const MX_ROOM_PREFIX = \"#\";\nexport const MX_ALIAS_PREFIX = \"+\";\n\n/**\n * The CommonJS output of the graphemer package looks wrong,\n * this is a workaround\n * To remove when https://github.com/flmnt/graphemer/issues/11 is fixed\n * @param value the constructor or wrapper with `default`\n * @returns the Graphemer constructor\n */\nfunction interopDefault(value: T): T {\n if ((value as unknown as { default: T }).default) {\n return (value as unknown as { default: T }).default;\n }\n\n return value;\n}\n\n/**\n * returns the first (non-sigil) character of 'name',\n * converted to uppercase\n * @param {string} name\n * @return {string} the first letter\n */\nexport function getInitialLetter(name: string): string {\n if (name.length < 1) {\n return \"\";\n }\n\n const initial = name[0];\n if ([MX_USERNAME_PREFIX, MX_ROOM_PREFIX, MX_ALIAS_PREFIX].includes(initial)) {\n name = name.substring(1);\n }\n\n // rely on a grapheme cluster splitter so that we don't break apart compound emojis\n const splitter = new (interopDefault(GraphemeSplitter))();\n const result = splitter.iterateGraphemes(name).next();\n return result.done ? \"\" : result.value;\n}\n","/*\nCopyright 2023 New Vector Ltd\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n/**\n * Determines a number for a given Matrix ID or room ID, helps disambiguating users\n * who are trying to impersonate someone else.\n * @param id - a Matrix ID or room ID\n * @returns a hash of the ID provided\n */\nexport function useIdColorHash(id: string): number {\n const MIN = 1;\n const MAX = 8;\n // Sum up the values of all the char codes in the string\n const charCodeSum = id.split(\"\").reduce((sum, char) => {\n return sum + char.charCodeAt(0);\n }, 0);\n return (charCodeSum % MAX) + MIN;\n}\n","/*\nCopyright 2023 New Vector Ltd\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport classnames from \"classnames\";\nimport React, { forwardRef } from \"react\";\nimport { getInitialLetter } from \"../../utils/string\";\nimport { SuspenseImg } from \"../../utils/SuspenseImg\";\nimport styles from \"./Avatar.module.css\";\nimport { useIdColorHash } from \"./useIdColorHash\";\n\ntype AvatarProps = (\n | JSX.IntrinsicElements[\"button\"]\n | JSX.IntrinsicElements[\"span\"]\n) & {\n /**\n * The avatar image URL, if any.\n */\n src?: React.ComponentProps[\"src\"];\n /**\n * The Matrix ID, Room ID, or Alias to generate the color when no image source\n * is provided. Also used as a fallback when name is empty.\n */\n id: string;\n /**\n * The name used for the initial letter displayed when no image source is provided.\n */\n name: string;\n /**\n * Defines the avatar type, typically round, square is usually for spaces.\n * @default \"round\"\n */\n type?: \"square\" | \"round\";\n /**\n * The avatar size in CSS units, e.g. `\"24px\"`.\n */\n size?: CSSStyleDeclaration[\"height\"];\n /**\n * On click handler, will turn the avatar into a button element.\n */\n onClick?: (e: React.MouseEvent) => void;\n /**\n * Key down handler, will turn the avatar into a button element.\n */\n onKeyDown?: (e: React.KeyboardEvent) => void;\n /**\n * Key up handler, will turn the avatar into a button element.\n */\n onKeyUp?: (e: React.KeyboardEvent) => void;\n /**\n * Callback when the image has failed to load.\n */\n onError?: React.ComponentProps[\"onError\"];\n};\n\n/**\n * Some props warrant that the avatar become a button for accessibility purposes\n * @param props Avatar props\n * @returns whether the avatar should be a button or not\n */\nfunction shouldBeAButton(props: Partial): boolean {\n return !!(props.onClick || props.onKeyDown || props.onKeyUp);\n}\n\n/**\n * Avatar component that will fallback to an initial letter over a coloured\n * background if no source is provided or if the source has failed to load.\n */\nexport const Avatar = forwardRef<\n HTMLSpanElement | HTMLButtonElement,\n AvatarProps\n>(function Avatar(\n {\n src,\n id,\n name = \"\",\n type = \"round\",\n className = \"\",\n size,\n style = {},\n onError,\n ...props\n },\n ref,\n) {\n return React.createElement(\n shouldBeAButton(props) ? \"button\" : \"span\",\n {\n ref,\n role: \"img\",\n // Default the aria-label to id\n \"aria-label\": id,\n ...props,\n \"data-type\": type,\n \"data-color\": useIdColorHash(id),\n className: classnames(styles.avatar, className, {\n [styles[\"avatar-imageless\"]]: !src,\n }),\n style: {\n ...style,\n \"--cpd-avatar-size\": size,\n } as React.CSSProperties,\n },\n \n {!src ? (\n getInitialLetter(name)\n ) : (\n \n )}\n ,\n );\n});\n"],"names":["exports","CLUSTER_BREAK","GraphemerHelper_1","boundaries_1","require$$0","NotBreak","BreakStart","Break","BreakLastRegional","BreakPenultimateRegional","GraphemerHelper","str","pos","idx","code","hi","low","start","mid","end","startEmoji","midEmoji","endEmoji","all","allEmoji","previous","next","nextEmoji","rIIndex","c","previousNonExtendIndex","GraphemerIterator_1","GraphemerIterator","nextBreak","brk","value","__importDefault","this","mod","Graphemer_1","require$$1","require$$2","Graphemer","string","index","prevCP","prev","prevEmoji","i","nextCP","res","count","lib","_default","MX_USERNAME_PREFIX","MX_ROOM_PREFIX","MX_ALIAS_PREFIX","interopDefault","getInitialLetter","name","initial","result","GraphemeSplitter","useIdColorHash","id","sum","char","shouldBeAButton","props","Avatar","forwardRef","src","type","className","size","style","onError","ref","React","classnames","styles","jsx"],"mappings":"8ZAKA,OAAO,eAAcA,EAAU,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAgC,sBAAAA,EAAA,cAAwB,OAEvD,SAAUC,EAAe,CACtBA,EAAcA,EAAc,GAAQ,CAAC,EAAI,KACzCA,EAAcA,EAAc,GAAQ,CAAC,EAAI,KACzCA,EAAcA,EAAc,QAAa,CAAC,EAAI,UAC9CA,EAAcA,EAAc,OAAY,CAAC,EAAI,SAC7CA,EAAcA,EAAc,mBAAwB,CAAC,EAAI,qBACzDA,EAAcA,EAAc,YAAiB,CAAC,EAAI,cAClDA,EAAcA,EAAc,EAAO,CAAC,EAAI,IACxCA,EAAcA,EAAc,EAAO,CAAC,EAAI,IACxCA,EAAcA,EAAc,EAAO,CAAC,EAAI,IACxCA,EAAcA,EAAc,GAAQ,CAAC,EAAI,KACzCA,EAAcA,EAAc,IAAS,EAAE,EAAI,MAC3CA,EAAcA,EAAc,MAAW,EAAE,EAAI,QAC7CA,EAAcA,EAAc,QAAa,EAAE,EAAI,UAC/CA,EAAcA,EAAc,OAAY,EAAE,EAAI,SAC9CA,EAAcA,EAAc,WAAgB,EAAE,EAAI,aAClDA,EAAcA,EAAc,IAAS,EAAE,EAAI,MAC3CA,EAAcA,EAAc,eAAoB,EAAE,EAAI,iBACtDA,EAAcA,EAAc,WAAgB,EAAE,EAAI,cACnCD,EAAQ,gBAAkBA,EAAwB,cAAA,CAAA,EAAG,EAUxEA,EAAA,sBAAgC,kBCpChC,OAAO,eAAeE,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5D,MAAMC,EAAeC,EAGfC,EAAW,EACXC,EAAa,EACbC,EAAQ,EACRC,EAAoB,EACpBC,EAA2B,EACjC,MAAMC,CAAgB,CAOlB,OAAO,YAAYC,EAAKC,EAAK,CACzB,MAAQ,QAAUD,EAAI,WAAWC,CAAG,GAChCD,EAAI,WAAWC,CAAG,GAAK,OACvB,OAAUD,EAAI,WAAWC,EAAM,CAAC,GAChCD,EAAI,WAAWC,EAAM,CAAC,GAAK,KAClC,CASD,OAAO,YAAYD,EAAKE,EAAK,CACrBA,IAAQ,SACRA,EAAM,GAEV,MAAMC,EAAOH,EAAI,WAAWE,CAAG,EAE/B,GAAI,OAAUC,GAAQA,GAAQ,OAAUD,EAAMF,EAAI,OAAS,EAAG,CAC1D,MAAMI,EAAKD,EACLE,EAAML,EAAI,WAAWE,EAAM,CAAC,EAClC,MAAI,QAAUG,GAAOA,GAAO,OAChBD,EAAK,OAAU,MAASC,EAAM,OAAU,MAE7CD,CACV,CAED,GAAI,OAAUD,GAAQA,GAAQ,OAAUD,GAAO,EAAG,CAC9C,MAAME,EAAKJ,EAAI,WAAWE,EAAM,CAAC,EAC3BG,EAAMF,EACZ,MAAI,QAAUC,GAAMA,GAAM,OACdA,EAAK,OAAU,MAASC,EAAM,OAAU,MAE7CA,CACV,CAGD,OAAOF,CACV,CAaD,OAAO,YAAYG,EAAOC,EAAKC,EAAKC,EAAYC,EAAUC,EAAU,CAChE,MAAMC,EAAM,CAACN,CAAK,EAAE,OAAOC,CAAG,EAAE,OAAO,CAACC,CAAG,CAAC,EACtCK,EAAW,CAACJ,CAAU,EAAE,OAAOC,CAAQ,EAAE,OAAO,CAACC,CAAQ,CAAC,EAC1DG,EAAWF,EAAIA,EAAI,OAAS,CAAC,EAC7BG,EAAOP,EACPQ,EAAYL,EAIZM,EAAUL,EAAI,YAAYpB,EAAa,cAAc,kBAAkB,EAC7E,GAAIyB,EAAU,GACVL,EAAI,MAAM,EAAGK,CAAO,EAAE,MAAM,SAAUC,EAAG,CACrC,OAAOA,IAAM1B,EAAa,cAAc,kBACxD,CAAa,GACD,CAACA,EAAa,cAAc,QAASA,EAAa,cAAc,kBAAkB,EAAE,QAAQsB,CAAQ,IAAM,GAC1G,OAAIF,EAAI,OAAO,SAAUM,EAAG,CACxB,OAAOA,IAAM1B,EAAa,cAAc,kBAC3C,CAAA,EAAE,OACC,IACA,EACOK,EAGAC,EAIf,GAAIgB,IAAatB,EAAa,cAAc,IAAMuB,IAASvB,EAAa,cAAc,GAClF,OAAOE,EAGN,GAAIoB,IAAatB,EAAa,cAAc,SAC7CsB,IAAatB,EAAa,cAAc,IACxCsB,IAAatB,EAAa,cAAc,GACxC,OAAOG,EAGN,GAAIoB,IAASvB,EAAa,cAAc,SACzCuB,IAASvB,EAAa,cAAc,IACpCuB,IAASvB,EAAa,cAAc,GACpC,OAAOG,EAGN,GAAImB,IAAatB,EAAa,cAAc,IAC5CuB,IAASvB,EAAa,cAAc,GACjCuB,IAASvB,EAAa,cAAc,GACpCuB,IAASvB,EAAa,cAAc,IACpCuB,IAASvB,EAAa,cAAc,KACxC,OAAOE,EAGN,IAAKoB,IAAatB,EAAa,cAAc,IAAMsB,IAAatB,EAAa,cAAc,KAC3FuB,IAASvB,EAAa,cAAc,GAAKuB,IAASvB,EAAa,cAAc,GAC9E,OAAOE,EAGN,IAAKoB,IAAatB,EAAa,cAAc,KAAOsB,IAAatB,EAAa,cAAc,IAC7FuB,IAASvB,EAAa,cAAc,EACpC,OAAOE,EAGN,GAAIqB,IAASvB,EAAa,cAAc,QAAUuB,IAASvB,EAAa,cAAc,IACvF,OAAOE,EAGN,GAAIqB,IAASvB,EAAa,cAAc,YACzC,OAAOE,EAGN,GAAIoB,IAAatB,EAAa,cAAc,QAC7C,OAAOE,EAGX,MAAMyB,EAAyBN,EAC1B,MAAM,EAAG,EAAE,EACX,YAAYrB,EAAa,qBAAqB,EACnD,OAAI2B,IAA2B,IAC3BN,EAASM,CAAsB,IAAM3B,EAAa,uBAClDoB,EAAI,MAAMO,EAAyB,EAAG,EAAE,EAAE,MAAM,SAAUD,EAAG,CACzD,OAAOA,IAAM1B,EAAa,cAAc,MACxD,CAAa,GACDsB,IAAatB,EAAa,cAAc,KACxCwB,IAAcxB,EAAa,sBACpBE,EAIPa,EAAI,QAAQf,EAAa,cAAc,kBAAkB,IAAM,GACxDI,EAEPkB,IAAatB,EAAa,cAAc,oBACxCuB,IAASvB,EAAa,cAAc,mBAC7BE,EAGJC,CACV,CACL,CACAJ,EAAA,QAAkBQ,WCvKlB,OAAO,eAAeqB,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAU5D,MAAMC,CAAkB,CACpB,YAAYrB,EAAKsB,EAAW,CACxB,KAAK,OAAS,EACd,KAAK,KAAOtB,EACZ,KAAK,WAAasB,CACrB,CACD,CAAC,OAAO,QAAQ,GAAI,CAChB,OAAO,IACV,CACD,MAAO,CACH,IAAIC,EACJ,IAAKA,EAAM,KAAK,WAAW,KAAK,KAAM,KAAK,MAAM,GAAK,KAAK,KAAK,OAAQ,CACpE,MAAMC,EAAQ,KAAK,KAAK,MAAM,KAAK,OAAQD,CAAG,EAC9C,YAAK,OAASA,EACP,CAAE,MAAOC,EAAO,KAAM,EAAK,CACrC,CACD,GAAI,KAAK,OAAS,KAAK,KAAK,OAAQ,CAChC,MAAMA,EAAQ,KAAK,KAAK,MAAM,KAAK,MAAM,EACzC,YAAK,OAAS,KAAK,KAAK,OACjB,CAAE,MAAOA,EAAO,KAAM,EAAK,CACrC,CACD,MAAO,CAAE,MAAO,OAAW,KAAM,EAAI,CACxC,CACL,CACAJ,EAAA,QAAkBC,EClClB,IAAII,EAAmBC,GAAQA,EAAK,iBAAoB,SAAUC,EAAK,CACnE,OAAQA,GAAOA,EAAI,WAAcA,EAAM,CAAE,QAAWA,EACxD,EACA,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5D,MAAMpC,EAAeC,EACfF,EAAoBkC,EAAgBI,CAA4B,EAChET,EAAsBK,EAAgBK,CAA8B,EAC1E,MAAMC,CAAU,CAOZ,OAAO,UAAUC,EAAQC,EAAO,CAI5B,GAHIA,IAAU,SACVA,EAAQ,GAERA,EAAQ,EACR,MAAO,GAEX,GAAIA,GAASD,EAAO,OAAS,EACzB,OAAOA,EAAO,OAElB,MAAME,EAAS3C,EAAkB,QAAQ,YAAYyC,EAAQC,CAAK,EAC5DE,EAAOJ,EAAU,yBAAyBG,CAAM,EAChDE,EAAYL,EAAU,iBAAiBG,CAAM,EAC7C3B,EAAM,CAAA,EACNG,EAAW,CAAA,EACjB,QAAS2B,EAAIJ,EAAQ,EAAGI,EAAIL,EAAO,OAAQK,IAAK,CAE5C,GAAI9C,EAAkB,QAAQ,YAAYyC,EAAQK,EAAI,CAAC,EACnD,SAEJ,MAAMC,EAAS/C,EAAkB,QAAQ,YAAYyC,EAAQK,CAAC,EACxDtB,EAAOgB,EAAU,yBAAyBO,CAAM,EAChDtB,EAAYe,EAAU,iBAAiBO,CAAM,EACnD,GAAI/C,EAAkB,QAAQ,YAAY4C,EAAM5B,EAAKQ,EAAMqB,EAAW1B,EAAUM,CAAS,EACrF,OAAOqB,EAEX9B,EAAI,KAAKQ,CAAI,EACbL,EAAS,KAAKM,CAAS,CAC1B,CACD,OAAOgB,EAAO,MACjB,CAMD,eAAehC,EAAK,CAChB,MAAMuC,EAAM,CAAA,EACZ,IAAIN,EAAQ,EACRV,EACJ,MAAQA,EAAMQ,EAAU,UAAU/B,EAAKiC,CAAK,GAAKjC,EAAI,QACjDuC,EAAI,KAAKvC,EAAI,MAAMiC,EAAOV,CAAG,CAAC,EAC9BU,EAAQV,EAEZ,OAAIU,EAAQjC,EAAI,QACZuC,EAAI,KAAKvC,EAAI,MAAMiC,CAAK,CAAC,EAEtBM,CACV,CAMD,iBAAiBvC,EAAK,CAClB,OAAO,IAAIoB,EAAoB,QAAQpB,EAAK+B,EAAU,SAAS,CAClE,CAMD,eAAe/B,EAAK,CAChB,IAAIwC,EAAQ,EACRP,EAAQ,EACRV,EACJ,MAAQA,EAAMQ,EAAU,UAAU/B,EAAKiC,CAAK,GAAKjC,EAAI,QACjDiC,EAAQV,EACRiB,IAEJ,OAAIP,EAAQjC,EAAI,QACZwC,IAEGA,CACV,CAMD,OAAO,yBAAyBrC,EAAM,CAKlC,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,KACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,KACP,GAAIA,EAAO,IACP,GAAIA,EAAO,IAEP,GAAI,GAAOA,GAAQA,GAAQ,EACvB,OAAOX,EAAa,cAAc,gBAK1BW,IAAR,GACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,IAEP,GAAI,IAAOA,GAAQA,GAAQ,GACvB,OAAOX,EAAa,cAAc,gBAIlCW,EAAO,IAEP,GAAYA,IAAR,GACA,OAAOX,EAAa,cAAc,WAKlC,IAAOW,GAAQA,GAAQ,GACvB,OAAOX,EAAa,cAAc,gBAO9CW,EAAO,KACP,GAAIA,EAAO,KAEP,GAAI,KAAQA,GAAQA,GAAQ,IACxB,OAAOX,EAAa,cAAc,gBAKzBW,IAAT,IACA,OAAOX,EAAa,cAAc,gBAKtCW,EAAO,MAEP,GAAI,KAASA,GAAQA,GAAQ,IACzB,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAGP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAQlDW,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,eAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKtCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,eAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,gBAO9CW,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,gBAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAM1CW,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKxBW,IAAV,KACA,OAAOX,EAAa,cAAc,gBAStDW,EAAO,MACP,GAAIA,EAAO,KACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKtCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,WAGrC,CAED,GAAcW,IAAV,KACA,OAAOX,EAAa,cAAc,QAGtC,GAAcW,IAAV,KACA,OAAOX,EAAa,cAAc,MAEzC,SAIDW,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKtCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,eAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAQlDW,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKtCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,gBAO9CW,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKxBW,IAAV,KACA,OAAOX,EAAa,cAAc,gBAM1CW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,WAGrC,CAED,GAAcW,IAAV,KACA,OAAOX,EAAa,cAAc,YAGtC,GAAcW,IAAV,KACA,OAAOX,EAAa,cAAc,MAEzC,SAObW,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,KAAO,CAEd,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,YAGtC,GAAcW,IAAV,KACA,OAAOX,EAAa,cAAc,MAEzC,SAEOW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAO9CW,EAAO,MACP,GAAIA,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,eAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAKtCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKxBW,IAAV,KACA,OAAOX,EAAa,cAAc,eAQlDW,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAKxBW,IAAV,KACA,OAAOX,EAAa,cAAc,eAKtCW,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAO9CW,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAKxBW,IAAV,KACA,OAAOX,EAAa,cAAc,eAM1CW,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKxBW,IAAV,KACA,OAAOX,EAAa,cAAc,eAStDW,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKxBW,IAAV,KACA,OAAOX,EAAa,cAAc,oBAKtCW,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAO9CW,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKxBW,IAAV,KACA,OAAOX,EAAa,cAAc,eAM1CW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,eAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAQlDW,EAAO,MACP,GAAIA,EAAO,KAAO,CAEd,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,YAGtC,GAAcW,IAAV,KACA,OAAOX,EAAa,cAAc,MAEzC,SAEOW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAO9CW,EAAO,MACP,GAAIA,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAKxBW,IAAV,KACA,OAAOX,EAAa,cAAc,eAM1CW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKxBW,IAAV,KACA,OAAOX,EAAa,cAAc,eAW9DW,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAKxBW,IAAV,KACA,OAAOX,EAAa,cAAc,eAKtCW,EAAO,MAGP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,oBAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAO9CW,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAKtCW,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAGP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAQlDW,EAAO,MACP,GAAIA,EAAO,MAMP,GAJcA,IAAV,MAIUA,IAAV,KACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,eAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAO9CW,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAKxBW,IAAV,KACA,OAAOX,EAAa,cAAc,eAM1CW,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,eAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAStDW,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MAMP,GAJcA,IAAV,MAIUA,IAAV,KACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAO9CW,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAM1CW,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAKxBW,IAAV,KACA,OAAOX,EAAa,cAAc,eAQlDW,EAAO,MACP,GAAIA,EAAO,KAAO,CAEd,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,YAGtC,GAAcW,IAAV,KACA,OAAOX,EAAa,cAAc,MAEzC,SAEOW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,eAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAO9CW,EAAO,MACP,GAAIA,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAM1CW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAU1DW,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,oBAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKtCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKxBW,IAAV,KACA,OAAOX,EAAa,cAAc,eAO9CW,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKtCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAKxBW,IAAV,KACA,OAAOX,EAAa,cAAc,eAQlDW,EAAO,MACP,GAAIA,EAAO,KAAO,CAEd,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,QAGtC,GAAcW,IAAV,KACA,OAAOX,EAAa,cAAc,MAEzC,SAEOW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,eAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAO9CW,EAAO,MACP,GAAIA,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,eAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAM1CW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,eAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAStDW,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,eAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAKtCW,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,oBAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAO9CW,EAAO,KACP,GAAIA,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,WAGrC,CAED,GAAcW,IAAV,KACA,OAAOX,EAAa,cAAc,OAGtC,GAAcW,IAAV,KACA,OAAOX,EAAa,cAAc,WAEzC,SAGGW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAQlDW,EAAO,MACP,GAAIA,EAAO,MAMP,GAJcA,IAAV,MAIUA,IAAV,KACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,oBAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAO9CW,EAAO,MACP,GAAIA,EAAO,MAEP,GAAcA,IAAV,KACA,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKlC,MAASW,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAM1CW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAI,MAASA,GAAQA,GAAQ,KACzB,OAAOX,EAAa,cAAc,eAKxBW,IAAV,KACA,OAAOX,EAAa,cAAc,eAYlEW,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAKvBW,IAAX,KACA,OAAOX,EAAa,cAAc,oBAKtCW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAKlC,MAAUW,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,oBAO9CW,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAKlC,MAAUW,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,oBAKtCW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAKlC,MAAUW,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAQlDW,EAAO,MACP,GAAIA,EAAO,KAAQ,CAEf,GAAeA,IAAX,KACA,OAAOX,EAAa,cAAc,OAGtC,GAAeW,IAAX,KACA,OAAOX,EAAa,cAAc,WAEzC,SAEOW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAKvBW,IAAX,MAIWA,IAAX,KACA,OAAOX,EAAa,cAAc,eAM1CW,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,UAIlCW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,UAKlC,MAAUW,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,UAM1CW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAKvBW,IAAX,KACA,OAAOX,EAAa,cAAc,oBAStDW,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAKvBW,IAAX,KACA,OAAOX,EAAa,cAAc,oBAKtCW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAKlC,MAAUW,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAO9CW,EAAO,MACP,GAAIA,EAAO,MAEP,GAAeA,IAAX,KACA,OAAOX,EAAa,cAAc,oBAKlC,MAAUW,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAKtCW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,MAEP,GAAeA,IAAX,KACA,OAAOX,EAAa,cAAc,eAKlC,MAAUW,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,oBAQlDW,EAAO,KACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAKvBW,IAAX,KACA,OAAOX,EAAa,cAAc,eAKtCW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,WAGrC,CAED,GAAeW,IAAX,KACA,OAAOX,EAAa,cAAc,QAGtC,GAAeW,IAAX,KACA,OAAOX,EAAa,cAAc,MAEzC,SAIDW,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAeA,IAAX,KACA,OAAOX,EAAa,cAAc,eAKlC,MAAUW,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAM1CW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAKlC,MAAUW,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,oBAU1DW,EAAO,MACP,GAAIA,EAAO,KACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,oBAKvBW,IAAX,KACA,OAAOX,EAAa,cAAc,eAKtCW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAKlC,MAAUW,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAO9CW,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,oBAKvBW,IAAX,KACA,OAAOX,EAAa,cAAc,eAKtCW,EAAO,MAEP,GAAeA,IAAX,KACA,OAAOX,EAAa,cAAc,gBAGrC,CAED,GAAeW,IAAX,KACA,OAAOX,EAAa,cAAc,OAGtC,GAAeW,IAAX,KACA,OAAOX,EAAa,cAAc,WAEzC,SAKLW,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAKvBW,IAAX,KACA,OAAOX,EAAa,cAAc,eAKtCW,EAAO,MAEP,GAAeA,IAAX,KACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAKlC,MAAUW,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,oBAO9CW,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAeA,IAAX,KACA,OAAOX,EAAa,cAAc,eAOlC,MAAUW,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAM1CW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAeA,IAAX,KACA,OAAOX,EAAa,cAAc,oBAOlC,MAAUW,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAStDW,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,KAAQ,CAEf,GAAeA,IAAX,KACA,OAAOX,EAAa,cAAc,YAGtC,GAAeW,IAAX,KACA,OAAOX,EAAa,cAAc,MAEzC,SAEOW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,MAEP,GAAeA,IAAX,KACA,OAAOX,EAAa,cAAc,eAKlC,MAAUW,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,oBAO9CW,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAKvBW,IAAX,KACA,OAAOX,EAAa,cAAc,oBAM1CW,EAAO,MAEP,GAAeA,IAAX,KACA,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAKlC,MAAUW,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,oBAQlDW,EAAO,KACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAKvBW,IAAX,KACA,OAAOX,EAAa,cAAc,oBAKtCW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,WAGrC,CAED,GAAeW,IAAX,KACA,OAAOX,EAAa,cAAc,OAGtC,GAAeW,IAAX,KACA,OAAOX,EAAa,cAAc,WAEzC,SAIDW,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,oBAKvBW,IAAX,KACA,OAAOX,EAAa,cAAc,eAM1CW,EAAO,MAEP,GAAeA,IAAX,KACA,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAKlC,MAAUW,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,oBAW9DW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,oBAKlC,MAAUW,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAKtCW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAKlC,MAAUW,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAO9CW,EAAO,MACP,GAAIA,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAKvBW,IAAX,KACA,OAAOX,EAAa,cAAc,oBAKtCW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAKvBW,IAAX,MAIWA,IAAX,KACA,OAAOX,EAAa,cAAc,eAO9CW,EAAO,KACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MAEP,GAAeA,IAAX,KACA,OAAOX,EAAa,cAAc,oBAKlC,MAAUW,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAKtCW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,WAGrC,CAED,GAAeW,IAAX,KACA,OAAOX,EAAa,cAAc,QAGtC,GAAeW,IAAX,KACA,OAAOX,EAAa,cAAc,MAEzC,SAIDW,EAAO,MACP,GAAIA,EAAO,MAEP,GAAeA,IAAX,KACA,OAAOX,EAAa,cAAc,YAIlCW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,gBAOlC,MAAUW,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,gBAM1CW,EAAO,MAIP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,gBAIlCW,EAAO,OAMP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,cAAc,eAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,eAStDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,eAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,eAKtCW,EAAO,OAGP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,eAMlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,eAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,eAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,eAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,eAKvBW,IAAX,OAIWA,IAAX,MACA,OAAOX,EAAa,cAAc,eAO9CW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,oBAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,eAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,eAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,oBAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,eAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,eAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,eAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,eAU1DW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,MACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,oBAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,UAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,WAGrC,CAED,GAAeW,IAAX,MACA,OAAOX,EAAa,cAAc,YAGtC,GAAeW,IAAX,MACA,OAAOX,EAAa,cAAc,MAEzC,SAIDW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,oBAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,eAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,eAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,oBAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,eAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,eAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,eAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,oBAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,eAKvBW,IAAX,OAIWA,IAAX,MACA,OAAOX,EAAa,cAAc,eAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,oBAKvBW,IAAX,OAIWA,IAAX,MACA,OAAOX,EAAa,cAAc,eAQlDW,EAAO,OACP,GAAIA,EAAO,MACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,eAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,eAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,WAGrC,CAED,GAAeW,IAAX,MACA,OAAOX,EAAa,cAAc,OAGtC,GAAeW,IAAX,MACA,OAAOX,EAAa,cAAc,WAEzC,SAIDW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,oBAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,oBAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,oBAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,eAQlDW,EAAO,MACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,oBAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,eAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,gBAGrC,CAED,GAAeW,IAAX,MACA,OAAOX,EAAa,cAAc,YAGtC,GAAeW,IAAX,MACA,OAAOX,EAAa,cAAc,MAEzC,SAIDW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAatEW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAStDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAU1DW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAStDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAW9DW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAStDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAU1DW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAStDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAYlEW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAStDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,MAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,KACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAU1DW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAStDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAW9DW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAStDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAU1DW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAStDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAc1EW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAStDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAU1DW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAStDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAW9DW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAStDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAU1DW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAStDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAYlEW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAStDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAU1DW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAStDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAW9DW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAStDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAU1DW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAStDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAatEW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,MAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,KACA,OAAOX,EAAa,cAAc,WAStDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAU1DW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAStDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAM1CW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAW9DW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAKtCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAKvBW,IAAX,MACA,OAAOX,EAAa,cAAc,WAM1CW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAIlCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,WAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,YAStDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,UAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,UAKtCW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,eAKlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,eAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,cAAc,gBAIlCW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,eAMlC,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,cAAc,gBAM1CW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,eAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKtCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKtBW,IAAZ,MACA,OAAOX,EAAa,cAAc,eAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAM1CW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAU1DW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,MAAS,CAEhB,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,YAGtC,GAAgBW,IAAZ,MACA,OAAOX,EAAa,cAAc,MAEzC,SAEOW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKtBW,IAAZ,MACA,OAAOX,EAAa,cAAc,eAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKtCW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAQlDW,EAAO,MACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKtCW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,YAGrC,CAED,GAAgBW,IAAZ,MACA,OAAOX,EAAa,cAAc,OAGtC,GAAgBW,IAAZ,MACA,OAAOX,EAAa,cAAc,OAEzC,SAIDW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKtBW,IAAZ,MACA,OAAOX,EAAa,cAAc,oBAM1CW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAKtBW,IAAZ,MACA,OAAOX,EAAa,cAAc,eAStDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKtBW,IAAZ,MACA,OAAOX,EAAa,cAAc,oBAKtCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,gBAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKtBW,IAAZ,MACA,OAAOX,EAAa,cAAc,oBAM1CW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAKtBW,IAAZ,MACA,OAAOX,EAAa,cAAc,eAKtCW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKtBW,IAAZ,MACA,OAAOX,EAAa,cAAc,eAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,eAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAM1CW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAYlEW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKtBW,IAAZ,MACA,OAAOX,EAAa,cAAc,eAKtCW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,eAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAKtCW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAKtCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,oBAKtBW,IAAZ,OAIYA,IAAZ,MACA,OAAOX,EAAa,cAAc,eAKtCW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAStDW,EAAO,OACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MAAS,CAEhB,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,YAGtC,GAAgBW,IAAZ,MACA,OAAOX,EAAa,cAAc,MAEzC,SAEOW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,gBAGrC,CAED,GAAgBW,IAAZ,MACA,OAAOX,EAAa,cAAc,OAGtC,GAAgBW,IAAZ,MACA,OAAOX,EAAa,cAAc,WAEzC,SAIDW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,oBAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAM1CW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKtCW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAM1CW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,oBAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAU1DW,EAAO,MACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,MAAS,CAEhB,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,OAGtC,GAAgBW,IAAZ,MACA,OAAOX,EAAa,cAAc,WAEzC,SAEOW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAO9CW,EAAO,MAAS,CAEhB,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,YAGtC,GAAgBW,IAAZ,MACA,OAAOX,EAAa,cAAc,MAEzC,SAEOW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKtBW,IAAZ,MACA,OAAOX,EAAa,cAAc,oBAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAKtCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,oBAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAM1CW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,WAGrC,CAED,GAAgBW,IAAZ,MACA,OAAOX,EAAa,cAAc,YAGtC,GAAgBW,IAAZ,MACA,OAAOX,EAAa,cAAc,MAEzC,SAMTW,EAAO,MACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MAAS,CAEhB,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,QAGtC,GAAgBW,IAAZ,KACA,OAAOX,EAAa,cAAc,WAEzC,SAEOW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,YAGrC,CAED,GAAgBW,IAAZ,MACA,OAAOX,EAAa,cAAc,YAGtC,GAAgBW,IAAZ,MACA,OAAOX,EAAa,cAAc,MAEzC,SAIDW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAM1CW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,gBAGrC,CAED,GAAgBW,IAAZ,MACA,OAAOX,EAAa,cAAc,OAGtC,GAAgBW,IAAZ,MACA,OAAOX,EAAa,cAAc,WAEzC,SAKLW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKtCW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,gBAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAM1CW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,gBAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAW9DW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,oBAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKtCW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAO9CW,EAAO,MAAS,CAEhB,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,YAGtC,GAAgBW,IAAZ,MACA,OAAOX,EAAa,cAAc,MAEzC,SAEOW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,oBAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAQlDW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,oBAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKtCW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,oBAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAO9CW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAM1CW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,gBAIlCW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,eAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAStDW,EAAO,OACP,GAAIA,EAAO,MACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAKtCW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,WAGrC,CAED,GAAgBW,IAAZ,MACA,OAAOX,EAAa,cAAc,YAGtC,GAAgBW,IAAZ,MACA,OAAOX,EAAa,cAAc,MAEzC,SAIDW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAM1CW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,gBAIlCW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,oBAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAQlDW,EAAO,MACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAKtCW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,WAGrC,CAED,GAAgBW,IAAZ,MACA,OAAOX,EAAa,cAAc,YAGtC,GAAgBW,IAAZ,MACA,OAAOX,EAAa,cAAc,MAEzC,SAIDW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,gBAIlCW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,eAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAM1CW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKtBW,IAAZ,MACA,OAAOX,EAAa,cAAc,eAU1DW,EAAO,QACP,GAAIA,EAAO,OACP,GAAIA,EAAO,QACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAKlC,OAAWW,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,eAKtCW,EAAO,OAEP,GAAgBA,IAAZ,MACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,QAEP,GAAI,OAAWA,GAAQA,GAAQ,MAC3B,OAAOX,EAAa,cAAc,oBAKlC,QAAWW,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,eAO9CW,EAAO,QACP,GAAIA,EAAO,QAEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,gBAKlC,QAAWW,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,eAKtCW,EAAO,QAEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,WAGrC,CAED,GAAgBW,IAAZ,OACA,OAAOX,EAAa,cAAc,OAGtC,GAAgBW,IAAZ,OACA,OAAOX,EAAa,cAAc,WAEzC,SAKLW,EAAO,QACP,GAAIA,EAAO,QACP,GAAIA,EAAO,QAEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,eAKtBW,IAAZ,OACA,OAAOX,EAAa,cAAc,oBAKtCW,EAAO,QAEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,QAEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,gBAKlC,QAAWW,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,eAO9CW,EAAO,QACP,GAAIA,EAAO,QAEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,QAEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,eAKlC,QAAWW,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,eAM1CW,EAAO,QAEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,QAEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,eAKtBW,IAAZ,OACA,OAAOX,EAAa,cAAc,eAStDW,EAAO,QACP,GAAIA,EAAO,QACP,GAAIA,EAAO,QACP,GAAIA,EAAO,QAEP,GAAgBA,IAAZ,OACA,OAAOX,EAAa,cAAc,eAKlC,QAAWW,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,eAKtCW,EAAO,QAEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,QAEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,eAKlC,QAAWW,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,eAO9CW,EAAO,QACP,GAAIA,EAAO,QAEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,QAEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,eAKlC,QAAWW,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,eAM1CW,EAAO,QAEP,GAAgBA,IAAZ,OACA,OAAOX,EAAa,cAAc,eAIlCW,EAAO,QAEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,eAKtBW,IAAZ,OACA,OAAOX,EAAa,cAAc,eAQlDW,EAAO,QACP,GAAIA,EAAO,QACP,GAAIA,EAAO,QAEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,eAKlC,QAAWW,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,eAKtCW,EAAO,QAEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,QAEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,eAKlC,QAAWW,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,2BAO9CW,EAAO,QACP,GAAIA,EAAO,QAEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,eAIlCW,EAAO,QAIP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,gBAKlC,QAAWW,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,eAM1CW,EAAO,QAEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,gBAIlCW,EAAO,OAEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,eAKlC,OAAWW,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,cAAc,QAclF,OAAOA,EAAa,cAAc,KACrC,CAMD,OAAO,iBAAiBW,EAAM,CAK1B,GAAIA,EAAO,OACP,GAAIA,EAAO,MACP,GAAIA,EAAO,KACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MAMP,GAJaA,IAAT,KAISA,IAAT,IACA,OAAOX,EAAa,8BAKTW,IAAX,MAIWA,IAAX,KACA,OAAOX,EAAa,8BAKxBW,EAAO,MAMP,GAJeA,IAAX,MAIWA,IAAX,KACA,OAAOX,EAAa,8BAIpBW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,8BAIpBW,EAAO,MAEP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,8BAKpB,MAAUW,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,8BAQpCW,EAAO,MACP,GAAIA,EAAO,MAMP,GAJeA,IAAX,KAIWA,IAAX,KACA,OAAOX,EAAa,8BAIpBW,EAAO,MAEP,GAAeA,IAAX,KACA,OAAOX,EAAa,8BAIpBW,EAAO,MAOP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,8BAKpB,MAAUW,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,8BAOhCW,EAAO,MACP,GAAIA,EAAO,MAEP,GAAeA,IAAX,KACA,OAAOX,EAAa,8BAKpB,MAAUW,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,8BAKxBW,EAAO,MAEP,GAAeA,IAAX,KACA,OAAOX,EAAa,8BAIpBW,EAAO,MAEP,GAAeA,IAAX,KACA,OAAOX,EAAa,8BAKpB,MAAUW,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,8BASxCW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,MACP,GAAIA,EAAO,MAKP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,8BASpB,MAAUW,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,8BAKxBW,EAAO,MAyCP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,8BAIpBW,EAAO,MAkDP,GAAI,MAAUA,GAAQA,GAAQ,KAC1B,OAAOX,EAAa,8BAUpB,MAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,8BAOhCW,EAAO,OAMP,GAJeA,IAAX,OAIWA,IAAX,MACA,OAAOX,EAAa,8BAIpBW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,8BAKTW,IAAX,OAIWA,IAAX,MACA,OAAOX,EAAa,8BAOhCW,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,8BAKTW,IAAX,MACA,OAAOX,EAAa,8BAKxBW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,8BAKTW,IAAX,OAIWA,IAAX,MACA,OAAOX,EAAa,8BAM5BW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,8BAKTW,IAAX,MACA,OAAOX,EAAa,8BAKxBW,EAAO,OAIP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,8BAIpBW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,8BAKTW,IAAX,MACA,OAAOX,EAAa,8BAU5CW,EAAO,QACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OACP,GAAIA,EAAO,OAMP,GAJeA,IAAX,OAIWA,IAAX,MACA,OAAOX,EAAa,8BAIpBW,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,8BAKpB,OAAUW,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,8BAM5BW,EAAO,OACP,GAAIA,EAAO,OAEP,GAAI,OAAUA,GAAQA,GAAQ,MAC1B,OAAOX,EAAa,8BAKTW,IAAX,MACA,OAAOX,EAAa,8BAKxBW,EAAO,OAEP,GAAeA,IAAX,MACA,OAAOX,EAAa,8BAKTW,IAAX,OAIWA,IAAX,MACA,OAAOX,EAAa,8BAOhCW,EAAO,QACP,GAAIA,EAAO,QAMP,GAJeA,IAAX,OAIWA,IAAX,MACA,OAAOX,EAAa,8BAIpBW,EAAO,QAMP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,8BAIpBW,EAAO,QAEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,8BAKRW,IAAZ,OACA,OAAOX,EAAa,8BAOhCW,EAAO,QACP,GAAIA,EAAO,QAGP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,8BAKpB,QAAWW,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,8BAKxBW,EAAO,QAEP,GAAgBA,IAAZ,OACA,OAAOX,EAAa,8BAIpBW,EAAO,QAEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,8BAKpB,QAAWW,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,8BASxCW,EAAO,QACP,GAAIA,EAAO,QACP,GAAIA,EAAO,QACP,GAAIA,EAAO,QAGP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,8BAKRW,IAAZ,OACA,OAAOX,EAAa,8BAKxBW,EAAO,QAEP,GAAgBA,IAAZ,OACA,OAAOX,EAAa,8BAIpBW,EAAO,QAEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,8BAKpB,QAAWW,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,8BAOhCW,EAAO,QACP,GAAIA,EAAO,OA6DP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,8BAiDpB,OAAWW,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,8BAKxBW,EAAO,QA+EP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,8BAIpBW,EAAO,QA+DP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,8BAKpB,QAAWW,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,8BAQpCW,EAAO,QACP,GAAIA,EAAO,QACP,GAAIA,EAAO,QAMP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,8BAKpB,QAAWW,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,8BAKxBW,EAAO,QAEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,8BAIpBW,EAAO,QAEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,8BAKpB,QAAWW,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,8BAOhCW,EAAO,QACP,GAAIA,EAAO,QAEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,8BAcpB,QAAWW,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,8BAKxBW,EAAO,QAIP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,8BAIpBW,EAAO,QAmEP,GAAI,QAAWA,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,8BAKpB,QAAWW,GAAQA,GAAQ,OAC3B,OAAOX,EAAa,sBAUpD,OAAOA,EAAa,cAAc,KACrC,CACL,CACAoC,EAAA,QAAkBG,ECrrXlB,IAAIN,EAAmBC,GAAQA,EAAK,iBAAoB,SAAUC,EAAK,CACnE,OAAQA,GAAOA,EAAI,WAAcA,EAAM,CAAE,QAAWA,EACxD,EACA,OAAO,eAAec,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5D,MAAMb,EAAcH,EAAgBhC,CAAsB,EAC1D,IAAeiD,EAAAD,EAAA,QAAGb,EAAY,QCYvB,MAAMe,EAAqB,IACrBC,EAAiB,IACjBC,EAAkB,IAS/B,SAASC,EAAkBtB,EAAa,CACtC,OAAKA,EAAoC,QAC/BA,EAAoC,QAGvCA,CACT,CAQO,SAASuB,EAAiBC,EAAsB,CACjD,GAAAA,EAAK,OAAS,EACT,MAAA,GAGH,MAAAC,EAAUD,EAAK,CAAC,EAClB,CAACL,EAAoBC,EAAgBC,CAAe,EAAE,SAASI,CAAO,IACjED,EAAAA,EAAK,UAAU,CAAC,GAKzB,MAAME,EADW,IAAKJ,EAAeK,CAAgB,GAAG,EAChC,iBAAiBH,CAAI,EAAE,KAAK,EAC7C,OAAAE,EAAO,KAAO,GAAKA,EAAO,KACnC,CCnCO,SAASE,EAAeC,EAAoB,CAOjD,OAHoBA,EAAG,MAAM,EAAE,EAAE,OAAO,CAACC,EAAKC,IACrCD,EAAMC,EAAK,WAAW,CAAC,EAC7B,CAAC,EACkB,EAAO,CAC/B,CC0CA,SAAAC,EAAAC,EAAA,CACE,MAAA,CAAA,EAAAA,EAAA,SAAAA,EAAA,WAAAA,EAAA,QACF,CAMO,MAAAC,EAAAC,EAAAA,WAAA,SAAA,CAIL,IAAAC,EACE,GAAAP,EACA,KAAAL,EAAA,GACO,KAAAa,EAAA,QACA,UAAAC,EAAA,GACK,KAAAC,EACZ,MAAAC,EAAA,CAAA,EACS,QAAAC,EACT,GAAAR,CAEF,EAAAS,EAAA,CAGA,OAAAC,EAAA,cAAaX,EAAAC,CAAA,EAAA,SAAA,OACyB,CACpC,IAAAS,EACE,KAAA,MACM,aAAAb,EAEQ,GAAAI,EACX,YAAAI,EACU,aAAAT,EAAAC,CAAA,EACkB,UAAAe,EAAAC,EAAA,OAAAP,EAAA,CACiB,CAAAO,EAAA,kBAAA,CAAA,EAAA,CAAAT,CACf,CAAA,EAChC,MAAA,CACM,GAAAI,EACF,oBAAAD,CACkB,CACvB,EACFO,MAAAH,EAAA,SAAA,CAAA,SAAAP,EAAAU,EAAA,IAKI,MAAC,CAAA,QAAA,OACS,IAAA,GACJ,IAAAV,EACJ,YAAA,YACY,eAAA,cACG,UAAAQ,EAAAC,EAAA,KAAA,EACmB,YAAAR,EACvB,MAAAG,EACX,MAAAD,EACO,OAAAA,EACC,QAAAE,CACR,CAAA,EAhBNlB,EAAAC,CAAA,EAgBM,CAGN,CAEJ,CAAA;","x_google_ignoreList":[0,1,2,3,4]} \ No newline at end of file +{"version":3,"file":"Avatar-0e9d46df.js","sources":["../../node_modules/graphemer/lib/boundaries.js","../../node_modules/graphemer/lib/GraphemerHelper.js","../../node_modules/graphemer/lib/GraphemerIterator.js","../../node_modules/graphemer/lib/Graphemer.js","../../node_modules/graphemer/lib/index.js","../../src/utils/string.ts","../../src/components/Avatar/useIdColorHash.ts","../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["\"use strict\";\n/**\n * The Grapheme_Cluster_Break property value\n * @see https://www.unicode.org/reports/tr29/#Default_Grapheme_Cluster_Table\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EXTENDED_PICTOGRAPHIC = exports.CLUSTER_BREAK = void 0;\nvar CLUSTER_BREAK;\n(function (CLUSTER_BREAK) {\n CLUSTER_BREAK[CLUSTER_BREAK[\"CR\"] = 0] = \"CR\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"LF\"] = 1] = \"LF\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"CONTROL\"] = 2] = \"CONTROL\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"EXTEND\"] = 3] = \"EXTEND\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"REGIONAL_INDICATOR\"] = 4] = \"REGIONAL_INDICATOR\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"SPACINGMARK\"] = 5] = \"SPACINGMARK\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"L\"] = 6] = \"L\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"V\"] = 7] = \"V\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"T\"] = 8] = \"T\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"LV\"] = 9] = \"LV\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"LVT\"] = 10] = \"LVT\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"OTHER\"] = 11] = \"OTHER\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"PREPEND\"] = 12] = \"PREPEND\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"E_BASE\"] = 13] = \"E_BASE\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"E_MODIFIER\"] = 14] = \"E_MODIFIER\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"ZWJ\"] = 15] = \"ZWJ\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"GLUE_AFTER_ZWJ\"] = 16] = \"GLUE_AFTER_ZWJ\";\n CLUSTER_BREAK[CLUSTER_BREAK[\"E_BASE_GAZ\"] = 17] = \"E_BASE_GAZ\";\n})(CLUSTER_BREAK = exports.CLUSTER_BREAK || (exports.CLUSTER_BREAK = {}));\n/**\n * The Emoji character property is an extension of UCD but shares the same namespace and structure\n * @see http://www.unicode.org/reports/tr51/tr51-14.html#Emoji_Properties_and_Data_Files\n *\n * Here we model Extended_Pictograhpic only to implement UAX #29 GB11\n * \\p{Extended_Pictographic} Extend* ZWJ\t×\t\\p{Extended_Pictographic}\n *\n * The Emoji character property should not be mixed with Grapheme_Cluster_Break since they are not exclusive\n */\nexports.EXTENDED_PICTOGRAPHIC = 101;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst boundaries_1 = require(\"./boundaries\");\n// BreakTypes\n// @type {BreakType}\nconst NotBreak = 0;\nconst BreakStart = 1;\nconst Break = 2;\nconst BreakLastRegional = 3;\nconst BreakPenultimateRegional = 4;\nclass GraphemerHelper {\n /**\n * Check if the the character at the position {pos} of the string is surrogate\n * @param str {string}\n * @param pos {number}\n * @returns {boolean}\n */\n static isSurrogate(str, pos) {\n return (0xd800 <= str.charCodeAt(pos) &&\n str.charCodeAt(pos) <= 0xdbff &&\n 0xdc00 <= str.charCodeAt(pos + 1) &&\n str.charCodeAt(pos + 1) <= 0xdfff);\n }\n /**\n * The String.prototype.codePointAt polyfill\n * Private function, gets a Unicode code point from a JavaScript UTF-16 string\n * handling surrogate pairs appropriately\n * @param str {string}\n * @param idx {number}\n * @returns {number}\n */\n static codePointAt(str, idx) {\n if (idx === undefined) {\n idx = 0;\n }\n const code = str.charCodeAt(idx);\n // if a high surrogate\n if (0xd800 <= code && code <= 0xdbff && idx < str.length - 1) {\n const hi = code;\n const low = str.charCodeAt(idx + 1);\n if (0xdc00 <= low && low <= 0xdfff) {\n return (hi - 0xd800) * 0x400 + (low - 0xdc00) + 0x10000;\n }\n return hi;\n }\n // if a low surrogate\n if (0xdc00 <= code && code <= 0xdfff && idx >= 1) {\n const hi = str.charCodeAt(idx - 1);\n const low = code;\n if (0xd800 <= hi && hi <= 0xdbff) {\n return (hi - 0xd800) * 0x400 + (low - 0xdc00) + 0x10000;\n }\n return low;\n }\n // just return the char if an unmatched surrogate half or a\n // single-char codepoint\n return code;\n }\n //\n /**\n * Private function, returns whether a break is allowed between the two given grapheme breaking classes\n * Implemented the UAX #29 3.1.1 Grapheme Cluster Boundary Rules on extended grapheme clusters\n * @param start {number}\n * @param mid {Array}\n * @param end {number}\n * @param startEmoji {number}\n * @param midEmoji {Array}\n * @param endEmoji {number}\n * @returns {number}\n */\n static shouldBreak(start, mid, end, startEmoji, midEmoji, endEmoji) {\n const all = [start].concat(mid).concat([end]);\n const allEmoji = [startEmoji].concat(midEmoji).concat([endEmoji]);\n const previous = all[all.length - 2];\n const next = end;\n const nextEmoji = endEmoji;\n // Lookahead terminator for:\n // GB12. ^ (RI RI)* RI ? RI\n // GB13. [^RI] (RI RI)* RI ? RI\n const rIIndex = all.lastIndexOf(boundaries_1.CLUSTER_BREAK.REGIONAL_INDICATOR);\n if (rIIndex > 0 &&\n all.slice(1, rIIndex).every(function (c) {\n return c === boundaries_1.CLUSTER_BREAK.REGIONAL_INDICATOR;\n }) &&\n [boundaries_1.CLUSTER_BREAK.PREPEND, boundaries_1.CLUSTER_BREAK.REGIONAL_INDICATOR].indexOf(previous) === -1) {\n if (all.filter(function (c) {\n return c === boundaries_1.CLUSTER_BREAK.REGIONAL_INDICATOR;\n }).length %\n 2 ===\n 1) {\n return BreakLastRegional;\n }\n else {\n return BreakPenultimateRegional;\n }\n }\n // GB3. CR × LF\n if (previous === boundaries_1.CLUSTER_BREAK.CR && next === boundaries_1.CLUSTER_BREAK.LF) {\n return NotBreak;\n }\n // GB4. (Control|CR|LF) ÷\n else if (previous === boundaries_1.CLUSTER_BREAK.CONTROL ||\n previous === boundaries_1.CLUSTER_BREAK.CR ||\n previous === boundaries_1.CLUSTER_BREAK.LF) {\n return BreakStart;\n }\n // GB5. ÷ (Control|CR|LF)\n else if (next === boundaries_1.CLUSTER_BREAK.CONTROL ||\n next === boundaries_1.CLUSTER_BREAK.CR ||\n next === boundaries_1.CLUSTER_BREAK.LF) {\n return BreakStart;\n }\n // GB6. L × (L|V|LV|LVT)\n else if (previous === boundaries_1.CLUSTER_BREAK.L &&\n (next === boundaries_1.CLUSTER_BREAK.L ||\n next === boundaries_1.CLUSTER_BREAK.V ||\n next === boundaries_1.CLUSTER_BREAK.LV ||\n next === boundaries_1.CLUSTER_BREAK.LVT)) {\n return NotBreak;\n }\n // GB7. (LV|V) × (V|T)\n else if ((previous === boundaries_1.CLUSTER_BREAK.LV || previous === boundaries_1.CLUSTER_BREAK.V) &&\n (next === boundaries_1.CLUSTER_BREAK.V || next === boundaries_1.CLUSTER_BREAK.T)) {\n return NotBreak;\n }\n // GB8. (LVT|T) × (T)\n else if ((previous === boundaries_1.CLUSTER_BREAK.LVT || previous === boundaries_1.CLUSTER_BREAK.T) &&\n next === boundaries_1.CLUSTER_BREAK.T) {\n return NotBreak;\n }\n // GB9. × (Extend|ZWJ)\n else if (next === boundaries_1.CLUSTER_BREAK.EXTEND || next === boundaries_1.CLUSTER_BREAK.ZWJ) {\n return NotBreak;\n }\n // GB9a. × SpacingMark\n else if (next === boundaries_1.CLUSTER_BREAK.SPACINGMARK) {\n return NotBreak;\n }\n // GB9b. Prepend ×\n else if (previous === boundaries_1.CLUSTER_BREAK.PREPEND) {\n return NotBreak;\n }\n // GB11. \\p{Extended_Pictographic} Extend* ZWJ × \\p{Extended_Pictographic}\n const previousNonExtendIndex = allEmoji\n .slice(0, -1)\n .lastIndexOf(boundaries_1.EXTENDED_PICTOGRAPHIC);\n if (previousNonExtendIndex !== -1 &&\n allEmoji[previousNonExtendIndex] === boundaries_1.EXTENDED_PICTOGRAPHIC &&\n all.slice(previousNonExtendIndex + 1, -2).every(function (c) {\n return c === boundaries_1.CLUSTER_BREAK.EXTEND;\n }) &&\n previous === boundaries_1.CLUSTER_BREAK.ZWJ &&\n nextEmoji === boundaries_1.EXTENDED_PICTOGRAPHIC) {\n return NotBreak;\n }\n // GB12. ^ (RI RI)* RI × RI\n // GB13. [^RI] (RI RI)* RI × RI\n if (mid.indexOf(boundaries_1.CLUSTER_BREAK.REGIONAL_INDICATOR) !== -1) {\n return Break;\n }\n if (previous === boundaries_1.CLUSTER_BREAK.REGIONAL_INDICATOR &&\n next === boundaries_1.CLUSTER_BREAK.REGIONAL_INDICATOR) {\n return NotBreak;\n }\n // GB999. Any ? Any\n return BreakStart;\n }\n}\nexports.default = GraphemerHelper;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * GraphemerIterator\n *\n * Takes a string and a \"BreakHandler\" method during initialisation\n * and creates an iterable object that returns individual graphemes.\n *\n * @param str {string}\n * @return GraphemerIterator\n */\nclass GraphemerIterator {\n constructor(str, nextBreak) {\n this._index = 0;\n this._str = str;\n this._nextBreak = nextBreak;\n }\n [Symbol.iterator]() {\n return this;\n }\n next() {\n let brk;\n if ((brk = this._nextBreak(this._str, this._index)) < this._str.length) {\n const value = this._str.slice(this._index, brk);\n this._index = brk;\n return { value: value, done: false };\n }\n if (this._index < this._str.length) {\n const value = this._str.slice(this._index);\n this._index = this._str.length;\n return { value: value, done: false };\n }\n return { value: undefined, done: true };\n }\n}\nexports.default = GraphemerIterator;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst boundaries_1 = require(\"./boundaries\");\nconst GraphemerHelper_1 = __importDefault(require(\"./GraphemerHelper\"));\nconst GraphemerIterator_1 = __importDefault(require(\"./GraphemerIterator\"));\nclass Graphemer {\n /**\n * Returns the next grapheme break in the string after the given index\n * @param string {string}\n * @param index {number}\n * @returns {number}\n */\n static nextBreak(string, index) {\n if (index === undefined) {\n index = 0;\n }\n if (index < 0) {\n return 0;\n }\n if (index >= string.length - 1) {\n return string.length;\n }\n const prevCP = GraphemerHelper_1.default.codePointAt(string, index);\n const prev = Graphemer.getGraphemeBreakProperty(prevCP);\n const prevEmoji = Graphemer.getEmojiProperty(prevCP);\n const mid = [];\n const midEmoji = [];\n for (let i = index + 1; i < string.length; i++) {\n // check for already processed low surrogates\n if (GraphemerHelper_1.default.isSurrogate(string, i - 1)) {\n continue;\n }\n const nextCP = GraphemerHelper_1.default.codePointAt(string, i);\n const next = Graphemer.getGraphemeBreakProperty(nextCP);\n const nextEmoji = Graphemer.getEmojiProperty(nextCP);\n if (GraphemerHelper_1.default.shouldBreak(prev, mid, next, prevEmoji, midEmoji, nextEmoji)) {\n return i;\n }\n mid.push(next);\n midEmoji.push(nextEmoji);\n }\n return string.length;\n }\n /**\n * Breaks the given string into an array of grapheme clusters\n * @param str {string}\n * @returns {string[]}\n */\n splitGraphemes(str) {\n const res = [];\n let index = 0;\n let brk;\n while ((brk = Graphemer.nextBreak(str, index)) < str.length) {\n res.push(str.slice(index, brk));\n index = brk;\n }\n if (index < str.length) {\n res.push(str.slice(index));\n }\n return res;\n }\n /**\n * Returns an iterator of grapheme clusters in the given string\n * @param str {string}\n * @returns {GraphemerIterator}\n */\n iterateGraphemes(str) {\n return new GraphemerIterator_1.default(str, Graphemer.nextBreak);\n }\n /**\n * Returns the number of grapheme clusters in the given string\n * @param str {string}\n * @returns {number}\n */\n countGraphemes(str) {\n let count = 0;\n let index = 0;\n let brk;\n while ((brk = Graphemer.nextBreak(str, index)) < str.length) {\n index = brk;\n count++;\n }\n if (index < str.length) {\n count++;\n }\n return count;\n }\n /**\n * Given a Unicode code point, determines this symbol's grapheme break property\n * @param code {number} Unicode code point\n * @returns {number}\n */\n static getGraphemeBreakProperty(code) {\n // Grapheme break property taken from:\n // https://www.unicode.org/Public/UCD/latest/ucd/auxiliary/GraphemeBreakProperty.txt\n // and generated by\n // node ./scripts/generate-grapheme-break.js\n if (code < 0xbf09) {\n if (code < 0xac54) {\n if (code < 0x102d) {\n if (code < 0xb02) {\n if (code < 0x93b) {\n if (code < 0x6df) {\n if (code < 0x5bf) {\n if (code < 0x7f) {\n if (code < 0xb) {\n if (code < 0xa) {\n // Cc [10] ..\n if (0x0 <= code && code <= 0x9) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n else {\n // Cc \n if (0xa === code) {\n return boundaries_1.CLUSTER_BREAK.LF;\n }\n }\n }\n else {\n if (code < 0xd) {\n // Cc [2] ..\n if (0xb <= code && code <= 0xc) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n else {\n if (code < 0xe) {\n // Cc \n if (0xd === code) {\n return boundaries_1.CLUSTER_BREAK.CR;\n }\n }\n else {\n // Cc [18] ..\n if (0xe <= code && code <= 0x1f) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n }\n }\n }\n else {\n if (code < 0x300) {\n if (code < 0xad) {\n // Cc [33] ..\n if (0x7f <= code && code <= 0x9f) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n else {\n // Cf SOFT HYPHEN\n if (0xad === code) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n }\n else {\n if (code < 0x483) {\n // Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X\n if (0x300 <= code && code <= 0x36f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x591) {\n // Mn [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE\n // Me [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN\n if (0x483 <= code && code <= 0x489) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG\n if (0x591 <= code && code <= 0x5bd) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x610) {\n if (code < 0x5c4) {\n if (code < 0x5c1) {\n // Mn HEBREW POINT RAFE\n if (0x5bf === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT\n if (0x5c1 <= code && code <= 0x5c2) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x5c7) {\n // Mn [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT\n if (0x5c4 <= code && code <= 0x5c5) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x600) {\n // Mn HEBREW POINT QAMATS QATAN\n if (0x5c7 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Cf [6] ARABIC NUMBER SIGN..ARABIC NUMBER MARK ABOVE\n if (0x600 <= code && code <= 0x605) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x670) {\n if (code < 0x61c) {\n // Mn [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA\n if (0x610 <= code && code <= 0x61a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x64b) {\n // Cf ARABIC LETTER MARK\n if (0x61c === code) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n else {\n // Mn [21] ARABIC FATHATAN..ARABIC WAVY HAMZA BELOW\n if (0x64b <= code && code <= 0x65f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x6d6) {\n // Mn ARABIC LETTER SUPERSCRIPT ALEF\n if (0x670 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x6dd) {\n // Mn [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN\n if (0x6d6 <= code && code <= 0x6dc) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Cf ARABIC END OF AYAH\n if (0x6dd === code) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x81b) {\n if (code < 0x730) {\n if (code < 0x6ea) {\n if (code < 0x6e7) {\n // Mn [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA\n if (0x6df <= code && code <= 0x6e4) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON\n if (0x6e7 <= code && code <= 0x6e8) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x70f) {\n // Mn [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM\n if (0x6ea <= code && code <= 0x6ed) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Cf SYRIAC ABBREVIATION MARK\n if (0x70f === code) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n // Mn SYRIAC LETTER SUPERSCRIPT ALAPH\n if (0x711 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x7eb) {\n if (code < 0x7a6) {\n // Mn [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH\n if (0x730 <= code && code <= 0x74a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [11] THAANA ABAFILI..THAANA SUKUN\n if (0x7a6 <= code && code <= 0x7b0) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x7fd) {\n // Mn [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE\n if (0x7eb <= code && code <= 0x7f3) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x816) {\n // Mn NKO DANTAYALAN\n if (0x7fd === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH\n if (0x816 <= code && code <= 0x819) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x898) {\n if (code < 0x829) {\n if (code < 0x825) {\n // Mn [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A\n if (0x81b <= code && code <= 0x823) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U\n if (0x825 <= code && code <= 0x827) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x859) {\n // Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA\n if (0x829 <= code && code <= 0x82d) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x890) {\n // Mn [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK\n if (0x859 <= code && code <= 0x85b) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Cf [2] ARABIC POUND MARK ABOVE..ARABIC PIASTRE MARK ABOVE\n if (0x890 <= code && code <= 0x891) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x8e3) {\n if (code < 0x8ca) {\n // Mn [8] ARABIC SMALL HIGH WORD AL-JUZ..ARABIC HALF MADDA OVER MADDA\n if (0x898 <= code && code <= 0x89f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x8e2) {\n // Mn [24] ARABIC SMALL HIGH FARSI YEH..ARABIC SMALL HIGH SIGN SAFHA\n if (0x8ca <= code && code <= 0x8e1) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Cf ARABIC DISPUTED END OF AYAH\n if (0x8e2 === code) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n }\n }\n }\n else {\n if (code < 0x903) {\n // Mn [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA\n if (0x8e3 <= code && code <= 0x902) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc DEVANAGARI SIGN VISARGA\n if (0x903 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn DEVANAGARI VOWEL SIGN OE\n if (0x93a === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xa01) {\n if (code < 0x982) {\n if (code < 0x94d) {\n if (code < 0x93e) {\n // Mc DEVANAGARI VOWEL SIGN OOE\n if (0x93b === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn DEVANAGARI SIGN NUKTA\n if (0x93c === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x941) {\n // Mc [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II\n if (0x93e <= code && code <= 0x940) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x949) {\n // Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI\n if (0x941 <= code && code <= 0x948) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU\n if (0x949 <= code && code <= 0x94c) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0x951) {\n if (code < 0x94e) {\n // Mn DEVANAGARI SIGN VIRAMA\n if (0x94d === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] DEVANAGARI VOWEL SIGN PRISHTHAMATRA E..DEVANAGARI VOWEL SIGN AW\n if (0x94e <= code && code <= 0x94f) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0x962) {\n // Mn [7] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN UUE\n if (0x951 <= code && code <= 0x957) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x981) {\n // Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL\n if (0x962 <= code && code <= 0x963) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn BENGALI SIGN CANDRABINDU\n if (0x981 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x9c7) {\n if (code < 0x9be) {\n if (code < 0x9bc) {\n // Mc [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA\n if (0x982 <= code && code <= 0x983) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn BENGALI SIGN NUKTA\n if (0x9bc === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x9bf) {\n // Mc BENGALI VOWEL SIGN AA\n if (0x9be === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x9c1) {\n // Mc [2] BENGALI VOWEL SIGN I..BENGALI VOWEL SIGN II\n if (0x9bf <= code && code <= 0x9c0) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR\n if (0x9c1 <= code && code <= 0x9c4) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x9d7) {\n if (code < 0x9cb) {\n // Mc [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI\n if (0x9c7 <= code && code <= 0x9c8) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x9cd) {\n // Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU\n if (0x9cb <= code && code <= 0x9cc) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn BENGALI SIGN VIRAMA\n if (0x9cd === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x9e2) {\n // Mc BENGALI AU LENGTH MARK\n if (0x9d7 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x9fe) {\n // Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL\n if (0x9e2 <= code && code <= 0x9e3) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn BENGALI SANDHI MARK\n if (0x9fe === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xa83) {\n if (code < 0xa47) {\n if (code < 0xa3c) {\n if (code < 0xa03) {\n // Mn [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI\n if (0xa01 <= code && code <= 0xa02) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc GURMUKHI SIGN VISARGA\n if (0xa03 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0xa3e) {\n // Mn GURMUKHI SIGN NUKTA\n if (0xa3c === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xa41) {\n // Mc [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II\n if (0xa3e <= code && code <= 0xa40) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU\n if (0xa41 <= code && code <= 0xa42) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0xa70) {\n if (code < 0xa4b) {\n // Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI\n if (0xa47 <= code && code <= 0xa48) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xa51) {\n // Mn [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA\n if (0xa4b <= code && code <= 0xa4d) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn GURMUKHI SIGN UDAAT\n if (0xa51 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0xa75) {\n // Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK\n if (0xa70 <= code && code <= 0xa71) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xa81) {\n // Mn GURMUKHI SIGN YAKASH\n if (0xa75 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA\n if (0xa81 <= code && code <= 0xa82) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xac9) {\n if (code < 0xabe) {\n // Mc GUJARATI SIGN VISARGA\n if (0xa83 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn GUJARATI SIGN NUKTA\n if (0xabc === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xac1) {\n // Mc [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II\n if (0xabe <= code && code <= 0xac0) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0xac7) {\n // Mn [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E\n if (0xac1 <= code && code <= 0xac5) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI\n if (0xac7 <= code && code <= 0xac8) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0xae2) {\n if (code < 0xacb) {\n // Mc GUJARATI VOWEL SIGN CANDRA O\n if (0xac9 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0xacd) {\n // Mc [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU\n if (0xacb <= code && code <= 0xacc) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn GUJARATI SIGN VIRAMA\n if (0xacd === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0xafa) {\n // Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL\n if (0xae2 <= code && code <= 0xae3) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xb01) {\n // Mn [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE\n if (0xafa <= code && code <= 0xaff) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn ORIYA SIGN CANDRABINDU\n if (0xb01 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xcf3) {\n if (code < 0xc04) {\n if (code < 0xb82) {\n if (code < 0xb47) {\n if (code < 0xb3e) {\n if (code < 0xb3c) {\n // Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA\n if (0xb02 <= code && code <= 0xb03) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn ORIYA SIGN NUKTA\n if (0xb3c === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0xb40) {\n // Mc ORIYA VOWEL SIGN AA\n // Mn ORIYA VOWEL SIGN I\n if (0xb3e <= code && code <= 0xb3f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xb41) {\n // Mc ORIYA VOWEL SIGN II\n if (0xb40 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR\n if (0xb41 <= code && code <= 0xb44) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb4d) {\n if (code < 0xb4b) {\n // Mc [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI\n if (0xb47 <= code && code <= 0xb48) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU\n if (0xb4b <= code && code <= 0xb4c) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0xb55) {\n // Mn ORIYA SIGN VIRAMA\n if (0xb4d === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xb62) {\n // Mn [2] ORIYA SIGN OVERLINE..ORIYA AI LENGTH MARK\n // Mc ORIYA AU LENGTH MARK\n if (0xb55 <= code && code <= 0xb57) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL\n if (0xb62 <= code && code <= 0xb63) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xbc6) {\n if (code < 0xbbf) {\n // Mn TAMIL SIGN ANUSVARA\n if (0xb82 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mc TAMIL VOWEL SIGN AA\n if (0xbbe === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xbc0) {\n // Mc TAMIL VOWEL SIGN I\n if (0xbbf === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0xbc1) {\n // Mn TAMIL VOWEL SIGN II\n if (0xbc0 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU\n if (0xbc1 <= code && code <= 0xbc2) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0xbd7) {\n if (code < 0xbca) {\n // Mc [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI\n if (0xbc6 <= code && code <= 0xbc8) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0xbcd) {\n // Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU\n if (0xbca <= code && code <= 0xbcc) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn TAMIL SIGN VIRAMA\n if (0xbcd === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0xc00) {\n // Mc TAMIL AU LENGTH MARK\n if (0xbd7 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xc01) {\n // Mn TELUGU SIGN COMBINING CANDRABINDU ABOVE\n if (0xc00 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA\n if (0xc01 <= code && code <= 0xc03) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xcbe) {\n if (code < 0xc4a) {\n if (code < 0xc3e) {\n // Mn TELUGU SIGN COMBINING ANUSVARA ABOVE\n if (0xc04 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mn TELUGU SIGN NUKTA\n if (0xc3c === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xc41) {\n // Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II\n if (0xc3e <= code && code <= 0xc40) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xc46) {\n // Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR\n if (0xc41 <= code && code <= 0xc44) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI\n if (0xc46 <= code && code <= 0xc48) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc81) {\n if (code < 0xc55) {\n // Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA\n if (0xc4a <= code && code <= 0xc4d) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xc62) {\n // Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK\n if (0xc55 <= code && code <= 0xc56) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL\n if (0xc62 <= code && code <= 0xc63) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0xc82) {\n // Mn KANNADA SIGN CANDRABINDU\n if (0xc81 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xcbc) {\n // Mc [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA\n if (0xc82 <= code && code <= 0xc83) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn KANNADA SIGN NUKTA\n if (0xcbc === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xcc6) {\n if (code < 0xcc0) {\n // Mc KANNADA VOWEL SIGN AA\n if (0xcbe === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn KANNADA VOWEL SIGN I\n if (0xcbf === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xcc2) {\n // Mc [2] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN U\n if (0xcc0 <= code && code <= 0xcc1) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0xcc3) {\n // Mc KANNADA VOWEL SIGN UU\n if (0xcc2 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] KANNADA VOWEL SIGN VOCALIC R..KANNADA VOWEL SIGN VOCALIC RR\n if (0xcc3 <= code && code <= 0xcc4) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0xccc) {\n if (code < 0xcc7) {\n // Mn KANNADA VOWEL SIGN E\n if (0xcc6 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xcca) {\n // Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI\n if (0xcc7 <= code && code <= 0xcc8) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO\n if (0xcca <= code && code <= 0xccb) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n else {\n if (code < 0xcd5) {\n // Mn [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA\n if (0xccc <= code && code <= 0xccd) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xce2) {\n // Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK\n if (0xcd5 <= code && code <= 0xcd6) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL\n if (0xce2 <= code && code <= 0xce3) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xddf) {\n if (code < 0xd4e) {\n if (code < 0xd3f) {\n if (code < 0xd02) {\n if (code < 0xd00) {\n // Mc KANNADA SIGN COMBINING ANUSVARA ABOVE RIGHT\n if (0xcf3 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU\n if (0xd00 <= code && code <= 0xd01) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0xd3b) {\n // Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA\n if (0xd02 <= code && code <= 0xd03) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0xd3e) {\n // Mn [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA\n if (0xd3b <= code && code <= 0xd3c) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc MALAYALAM VOWEL SIGN AA\n if (0xd3e === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd46) {\n if (code < 0xd41) {\n // Mc [2] MALAYALAM VOWEL SIGN I..MALAYALAM VOWEL SIGN II\n if (0xd3f <= code && code <= 0xd40) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR\n if (0xd41 <= code && code <= 0xd44) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0xd4a) {\n // Mc [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI\n if (0xd46 <= code && code <= 0xd48) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0xd4d) {\n // Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU\n if (0xd4a <= code && code <= 0xd4c) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn MALAYALAM SIGN VIRAMA\n if (0xd4d === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xdca) {\n if (code < 0xd62) {\n // Lo MALAYALAM LETTER DOT REPH\n if (0xd4e === code) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n // Mc MALAYALAM AU LENGTH MARK\n if (0xd57 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xd81) {\n // Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL\n if (0xd62 <= code && code <= 0xd63) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xd82) {\n // Mn SINHALA SIGN CANDRABINDU\n if (0xd81 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA\n if (0xd82 <= code && code <= 0xd83) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0xdd2) {\n if (code < 0xdcf) {\n // Mn SINHALA SIGN AL-LAKUNA\n if (0xdca === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xdd0) {\n // Mc SINHALA VOWEL SIGN AELA-PILLA\n if (0xdcf === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] SINHALA VOWEL SIGN KETTI AEDA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA\n if (0xdd0 <= code && code <= 0xdd1) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n else {\n if (code < 0xdd6) {\n // Mn [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA\n if (0xdd2 <= code && code <= 0xdd4) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xdd8) {\n // Mn SINHALA VOWEL SIGN DIGA PAA-PILLA\n if (0xdd6 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [7] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA\n if (0xdd8 <= code && code <= 0xdde) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xf35) {\n if (code < 0xe47) {\n if (code < 0xe31) {\n if (code < 0xdf2) {\n // Mc SINHALA VOWEL SIGN GAYANUKITTA\n if (0xddf === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA\n if (0xdf2 <= code && code <= 0xdf3) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0xe33) {\n // Mn THAI CHARACTER MAI HAN-AKAT\n if (0xe31 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xe34) {\n // Lo THAI CHARACTER SARA AM\n if (0xe33 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU\n if (0xe34 <= code && code <= 0xe3a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0xeb4) {\n if (code < 0xeb1) {\n // Mn [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN\n if (0xe47 <= code && code <= 0xe4e) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn LAO VOWEL SIGN MAI KAN\n if (0xeb1 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Lo LAO VOWEL SIGN AM\n if (0xeb3 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0xec8) {\n // Mn [9] LAO VOWEL SIGN I..LAO SEMIVOWEL SIGN LO\n if (0xeb4 <= code && code <= 0xebc) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xf18) {\n // Mn [7] LAO TONE MAI EK..LAO YAMAKKAN\n if (0xec8 <= code && code <= 0xece) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS\n if (0xf18 <= code && code <= 0xf19) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xf7f) {\n if (code < 0xf39) {\n // Mn TIBETAN MARK NGAS BZUNG NYI ZLA\n if (0xf35 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS\n if (0xf37 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xf3e) {\n // Mn TIBETAN MARK TSA -PHRU\n if (0xf39 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xf71) {\n // Mc [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES\n if (0xf3e <= code && code <= 0xf3f) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO\n if (0xf71 <= code && code <= 0xf7e) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0xf8d) {\n if (code < 0xf80) {\n // Mc TIBETAN SIGN RNAM BCAD\n if (0xf7f === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0xf86) {\n // Mn [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA\n if (0xf80 <= code && code <= 0xf84) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS\n if (0xf86 <= code && code <= 0xf87) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0xf99) {\n // Mn [11] TIBETAN SUBJOINED SIGN LCE TSA CAN..TIBETAN SUBJOINED LETTER JA\n if (0xf8d <= code && code <= 0xf97) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xfc6) {\n // Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA\n if (0xf99 <= code && code <= 0xfbc) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn TIBETAN SYMBOL PADMA GDAN\n if (0xfc6 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1c24) {\n if (code < 0x1930) {\n if (code < 0x1732) {\n if (code < 0x1082) {\n if (code < 0x103d) {\n if (code < 0x1032) {\n if (code < 0x1031) {\n // Mn [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU\n if (0x102d <= code && code <= 0x1030) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc MYANMAR VOWEL SIGN E\n if (0x1031 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0x1039) {\n // Mn [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW\n if (0x1032 <= code && code <= 0x1037) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x103b) {\n // Mn [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT\n if (0x1039 <= code && code <= 0x103a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA\n if (0x103b <= code && code <= 0x103c) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1058) {\n if (code < 0x1056) {\n // Mn [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA\n if (0x103d <= code && code <= 0x103e) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR\n if (0x1056 <= code && code <= 0x1057) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0x105e) {\n // Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL\n if (0x1058 <= code && code <= 0x1059) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1071) {\n // Mn [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA\n if (0x105e <= code && code <= 0x1060) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE\n if (0x1071 <= code && code <= 0x1074) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1100) {\n if (code < 0x1085) {\n // Mn MYANMAR CONSONANT SIGN SHAN MEDIAL WA\n if (0x1082 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mc MYANMAR VOWEL SIGN SHAN E\n if (0x1084 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x108d) {\n // Mn [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y\n if (0x1085 <= code && code <= 0x1086) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE\n if (0x108d === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mn MYANMAR VOWEL SIGN AITON AI\n if (0x109d === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x135d) {\n if (code < 0x1160) {\n // Lo [96] HANGUL CHOSEONG KIYEOK..HANGUL CHOSEONG FILLER\n if (0x1100 <= code && code <= 0x115f) {\n return boundaries_1.CLUSTER_BREAK.L;\n }\n }\n else {\n if (code < 0x11a8) {\n // Lo [72] HANGUL JUNGSEONG FILLER..HANGUL JUNGSEONG O-YAE\n if (0x1160 <= code && code <= 0x11a7) {\n return boundaries_1.CLUSTER_BREAK.V;\n }\n }\n else {\n // Lo [88] HANGUL JONGSEONG KIYEOK..HANGUL JONGSEONG SSANGNIEUN\n if (0x11a8 <= code && code <= 0x11ff) {\n return boundaries_1.CLUSTER_BREAK.T;\n }\n }\n }\n }\n else {\n if (code < 0x1712) {\n // Mn [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK\n if (0x135d <= code && code <= 0x135f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1715) {\n // Mn [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA\n if (0x1712 <= code && code <= 0x1714) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc TAGALOG SIGN PAMUDPOD\n if (0x1715 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x17c9) {\n if (code < 0x17b6) {\n if (code < 0x1752) {\n if (code < 0x1734) {\n // Mn [2] HANUNOO VOWEL SIGN I..HANUNOO VOWEL SIGN U\n if (0x1732 <= code && code <= 0x1733) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc HANUNOO SIGN PAMUDPOD\n if (0x1734 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0x1772) {\n // Mn [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U\n if (0x1752 <= code && code <= 0x1753) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x17b4) {\n // Mn [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U\n if (0x1772 <= code && code <= 0x1773) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA\n if (0x17b4 <= code && code <= 0x17b5) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x17be) {\n if (code < 0x17b7) {\n // Mc KHMER VOWEL SIGN AA\n if (0x17b6 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA\n if (0x17b7 <= code && code <= 0x17bd) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x17c6) {\n // Mc [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU\n if (0x17be <= code && code <= 0x17c5) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x17c7) {\n // Mn KHMER SIGN NIKAHIT\n if (0x17c6 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU\n if (0x17c7 <= code && code <= 0x17c8) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1885) {\n if (code < 0x180b) {\n if (code < 0x17dd) {\n // Mn [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT\n if (0x17c9 <= code && code <= 0x17d3) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn KHMER SIGN ATTHACAN\n if (0x17dd === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x180e) {\n // Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE\n if (0x180b <= code && code <= 0x180d) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Cf MONGOLIAN VOWEL SEPARATOR\n if (0x180e === code) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n // Mn MONGOLIAN FREE VARIATION SELECTOR FOUR\n if (0x180f === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x1923) {\n if (code < 0x18a9) {\n // Mn [2] MONGOLIAN LETTER ALI GALI BALUDA..MONGOLIAN LETTER ALI GALI THREE BALUDA\n if (0x1885 <= code && code <= 0x1886) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1920) {\n // Mn MONGOLIAN LETTER ALI GALI DAGALGA\n if (0x18a9 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U\n if (0x1920 <= code && code <= 0x1922) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x1927) {\n // Mc [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU\n if (0x1923 <= code && code <= 0x1926) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x1929) {\n // Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O\n if (0x1927 <= code && code <= 0x1928) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA\n if (0x1929 <= code && code <= 0x192b) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1b3b) {\n if (code < 0x1a58) {\n if (code < 0x1a19) {\n if (code < 0x1933) {\n if (code < 0x1932) {\n // Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA\n if (0x1930 <= code && code <= 0x1931) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn LIMBU SMALL LETTER ANUSVARA\n if (0x1932 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x1939) {\n // Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA\n if (0x1933 <= code && code <= 0x1938) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x1a17) {\n // Mn [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I\n if (0x1939 <= code && code <= 0x193b) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U\n if (0x1a17 <= code && code <= 0x1a18) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1a55) {\n if (code < 0x1a1b) {\n // Mc [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O\n if (0x1a19 <= code && code <= 0x1a1a) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn BUGINESE VOWEL SIGN AE\n if (0x1a1b === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x1a56) {\n // Mc TAI THAM CONSONANT SIGN MEDIAL RA\n if (0x1a55 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn TAI THAM CONSONANT SIGN MEDIAL LA\n if (0x1a56 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mc TAI THAM CONSONANT SIGN LA TANG LAI\n if (0x1a57 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1a73) {\n if (code < 0x1a62) {\n if (code < 0x1a60) {\n // Mn [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA\n if (0x1a58 <= code && code <= 0x1a5e) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn TAI THAM SIGN SAKOT\n if (0x1a60 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x1a65) {\n // Mn TAI THAM VOWEL SIGN MAI SAT\n if (0x1a62 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1a6d) {\n // Mn [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW\n if (0x1a65 <= code && code <= 0x1a6c) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI\n if (0x1a6d <= code && code <= 0x1a72) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1b00) {\n if (code < 0x1a7f) {\n // Mn [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN\n if (0x1a73 <= code && code <= 0x1a7c) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1ab0) {\n // Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT\n if (0x1a7f === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [14] COMBINING DOUBLED CIRCUMFLEX ACCENT..COMBINING PARENTHESES BELOW\n // Me COMBINING PARENTHESES OVERLAY\n // Mn [16] COMBINING LATIN SMALL LETTER W BELOW..COMBINING LATIN SMALL LETTER INSULAR T\n if (0x1ab0 <= code && code <= 0x1ace) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x1b04) {\n // Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG\n if (0x1b00 <= code && code <= 0x1b03) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1b34) {\n // Mc BALINESE SIGN BISAH\n if (0x1b04 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn BALINESE SIGN REREKAN\n // Mc BALINESE VOWEL SIGN TEDUNG\n // Mn [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA\n if (0x1b34 <= code && code <= 0x1b3a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1ba8) {\n if (code < 0x1b6b) {\n if (code < 0x1b3d) {\n // Mc BALINESE VOWEL SIGN RA REPA TEDUNG\n if (0x1b3b === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn BALINESE VOWEL SIGN LA LENGA\n if (0x1b3c === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1b42) {\n // Mc [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG\n if (0x1b3d <= code && code <= 0x1b41) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x1b43) {\n // Mn BALINESE VOWEL SIGN PEPET\n if (0x1b42 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG\n if (0x1b43 <= code && code <= 0x1b44) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1ba1) {\n if (code < 0x1b80) {\n // Mn [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG\n if (0x1b6b <= code && code <= 0x1b73) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1b82) {\n // Mn [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR\n if (0x1b80 <= code && code <= 0x1b81) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc SUNDANESE SIGN PANGWISAD\n if (0x1b82 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n else {\n if (code < 0x1ba2) {\n // Mc SUNDANESE CONSONANT SIGN PAMINGKAL\n if (0x1ba1 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x1ba6) {\n // Mn [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU\n if (0x1ba2 <= code && code <= 0x1ba5) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG\n if (0x1ba6 <= code && code <= 0x1ba7) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1be8) {\n if (code < 0x1bab) {\n if (code < 0x1baa) {\n // Mn [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG\n if (0x1ba8 <= code && code <= 0x1ba9) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc SUNDANESE SIGN PAMAAEH\n if (0x1baa === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0x1be6) {\n // Mn [3] SUNDANESE SIGN VIRAMA..SUNDANESE CONSONANT SIGN PASANGAN WA\n if (0x1bab <= code && code <= 0x1bad) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn BATAK SIGN TOMPI\n if (0x1be6 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mc BATAK VOWEL SIGN E\n if (0x1be7 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n else {\n if (code < 0x1bee) {\n if (code < 0x1bea) {\n // Mn [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE\n if (0x1be8 <= code && code <= 0x1be9) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1bed) {\n // Mc [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O\n if (0x1bea <= code && code <= 0x1bec) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn BATAK VOWEL SIGN KARO O\n if (0x1bed === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x1bef) {\n // Mc BATAK VOWEL SIGN U\n if (0x1bee === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x1bf2) {\n // Mn [3] BATAK VOWEL SIGN U FOR SIMALUNGUN SA..BATAK CONSONANT SIGN H\n if (0x1bef <= code && code <= 0x1bf1) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] BATAK PANGOLAT..BATAK PANONGONAN\n if (0x1bf2 <= code && code <= 0x1bf3) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xa952) {\n if (code < 0x2d7f) {\n if (code < 0x1cf7) {\n if (code < 0x1cd4) {\n if (code < 0x1c34) {\n if (code < 0x1c2c) {\n // Mc [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU\n if (0x1c24 <= code && code <= 0x1c2b) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T\n if (0x1c2c <= code && code <= 0x1c33) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x1c36) {\n // Mc [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG\n if (0x1c34 <= code && code <= 0x1c35) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x1cd0) {\n // Mn [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA\n if (0x1c36 <= code && code <= 0x1c37) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA\n if (0x1cd0 <= code && code <= 0x1cd2) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1ce2) {\n if (code < 0x1ce1) {\n // Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA\n if (0x1cd4 <= code && code <= 0x1ce0) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA\n if (0x1ce1 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0x1ced) {\n // Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL\n if (0x1ce2 <= code && code <= 0x1ce8) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn VEDIC SIGN TIRYAK\n if (0x1ced === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mn VEDIC TONE CANDRA ABOVE\n if (0x1cf4 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x200d) {\n if (code < 0x1dc0) {\n if (code < 0x1cf8) {\n // Mc VEDIC SIGN ATIKRAMA\n if (0x1cf7 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE\n if (0x1cf8 <= code && code <= 0x1cf9) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x200b) {\n // Mn [64] COMBINING DOTTED GRAVE ACCENT..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW\n if (0x1dc0 <= code && code <= 0x1dff) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Cf ZERO WIDTH SPACE\n if (0x200b === code) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n // Cf ZERO WIDTH NON-JOINER\n if (0x200c === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x2060) {\n if (code < 0x200e) {\n // Cf ZERO WIDTH JOINER\n if (0x200d === code) {\n return boundaries_1.CLUSTER_BREAK.ZWJ;\n }\n }\n else {\n if (code < 0x2028) {\n // Cf [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK\n if (0x200e <= code && code <= 0x200f) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n else {\n // Zl LINE SEPARATOR\n // Zp PARAGRAPH SEPARATOR\n // Cf [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE\n if (0x2028 <= code && code <= 0x202e) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n }\n }\n else {\n if (code < 0x20d0) {\n // Cf [5] WORD JOINER..INVISIBLE PLUS\n // Cn \n // Cf [10] LEFT-TO-RIGHT ISOLATE..NOMINAL DIGIT SHAPES\n if (0x2060 <= code && code <= 0x206f) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n else {\n if (code < 0x2cef) {\n // Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE\n // Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH\n // Mn COMBINING LEFT RIGHT ARROW ABOVE\n // Me [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE\n // Mn [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE\n if (0x20d0 <= code && code <= 0x20f0) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS\n if (0x2cef <= code && code <= 0x2cf1) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xa823) {\n if (code < 0xa674) {\n if (code < 0x302a) {\n if (code < 0x2de0) {\n // Mn TIFINAGH CONSONANT JOINER\n if (0x2d7f === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS\n if (0x2de0 <= code && code <= 0x2dff) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x3099) {\n // Mn [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK\n // Mc [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK\n if (0x302a <= code && code <= 0x302f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xa66f) {\n // Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK\n if (0x3099 <= code && code <= 0x309a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn COMBINING CYRILLIC VZMET\n // Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN\n if (0xa66f <= code && code <= 0xa672) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0xa802) {\n if (code < 0xa69e) {\n // Mn [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK\n if (0xa674 <= code && code <= 0xa67d) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xa6f0) {\n // Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E\n if (0xa69e <= code && code <= 0xa69f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS\n if (0xa6f0 <= code && code <= 0xa6f1) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0xa806) {\n // Mn SYLOTI NAGRI SIGN DVISVARA\n if (0xa802 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn SYLOTI NAGRI SIGN HASANTA\n if (0xa806 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mn SYLOTI NAGRI SIGN ANUSVARA\n if (0xa80b === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0xa8b4) {\n if (code < 0xa827) {\n if (code < 0xa825) {\n // Mc [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I\n if (0xa823 <= code && code <= 0xa824) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E\n if (0xa825 <= code && code <= 0xa826) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0xa82c) {\n // Mc SYLOTI NAGRI VOWEL SIGN OO\n if (0xa827 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0xa880) {\n // Mn SYLOTI NAGRI SIGN ALTERNATE HASANTA\n if (0xa82c === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA\n if (0xa880 <= code && code <= 0xa881) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0xa8ff) {\n if (code < 0xa8c4) {\n // Mc [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU\n if (0xa8b4 <= code && code <= 0xa8c3) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0xa8e0) {\n // Mn [2] SAURASHTRA SIGN VIRAMA..SAURASHTRA SIGN CANDRABINDU\n if (0xa8c4 <= code && code <= 0xa8c5) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA\n if (0xa8e0 <= code && code <= 0xa8f1) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0xa926) {\n // Mn DEVANAGARI VOWEL SIGN AY\n if (0xa8ff === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xa947) {\n // Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU\n if (0xa926 <= code && code <= 0xa92d) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R\n if (0xa947 <= code && code <= 0xa951) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xaab2) {\n if (code < 0xa9e5) {\n if (code < 0xa9b4) {\n if (code < 0xa980) {\n if (code < 0xa960) {\n // Mc [2] REJANG CONSONANT SIGN H..REJANG VIRAMA\n if (0xa952 <= code && code <= 0xa953) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH\n if (0xa960 <= code && code <= 0xa97c) {\n return boundaries_1.CLUSTER_BREAK.L;\n }\n }\n }\n else {\n if (code < 0xa983) {\n // Mn [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR\n if (0xa980 <= code && code <= 0xa982) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc JAVANESE SIGN WIGNYAN\n if (0xa983 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn JAVANESE SIGN CECAK TELU\n if (0xa9b3 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0xa9ba) {\n if (code < 0xa9b6) {\n // Mc [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG\n if (0xa9b4 <= code && code <= 0xa9b5) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT\n if (0xa9b6 <= code && code <= 0xa9b9) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0xa9bc) {\n // Mc [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE\n if (0xa9ba <= code && code <= 0xa9bb) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0xa9be) {\n // Mn [2] JAVANESE VOWEL SIGN PEPET..JAVANESE CONSONANT SIGN KERET\n if (0xa9bc <= code && code <= 0xa9bd) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [3] JAVANESE CONSONANT SIGN PENGKAL..JAVANESE PANGKON\n if (0xa9be <= code && code <= 0xa9c0) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xaa35) {\n if (code < 0xaa2f) {\n if (code < 0xaa29) {\n // Mn MYANMAR SIGN SHAN SAW\n if (0xa9e5 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE\n if (0xaa29 <= code && code <= 0xaa2e) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0xaa31) {\n // Mc [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI\n if (0xaa2f <= code && code <= 0xaa30) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0xaa33) {\n // Mn [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE\n if (0xaa31 <= code && code <= 0xaa32) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA\n if (0xaa33 <= code && code <= 0xaa34) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0xaa4d) {\n if (code < 0xaa43) {\n // Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA\n if (0xaa35 <= code && code <= 0xaa36) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn CHAM CONSONANT SIGN FINAL NG\n if (0xaa43 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mn CHAM CONSONANT SIGN FINAL M\n if (0xaa4c === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0xaa7c) {\n // Mc CHAM CONSONANT SIGN FINAL H\n if (0xaa4d === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn MYANMAR SIGN TAI LAING TONE-2\n if (0xaa7c === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mn TAI VIET MAI KANG\n if (0xaab0 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xabe6) {\n if (code < 0xaaec) {\n if (code < 0xaabe) {\n if (code < 0xaab7) {\n // Mn [3] TAI VIET VOWEL I..TAI VIET VOWEL U\n if (0xaab2 <= code && code <= 0xaab4) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA\n if (0xaab7 <= code && code <= 0xaab8) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0xaac1) {\n // Mn [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK\n if (0xaabe <= code && code <= 0xaabf) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn TAI VIET TONE MAI THO\n if (0xaac1 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mc MEETEI MAYEK VOWEL SIGN II\n if (0xaaeb === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n else {\n if (code < 0xaaf6) {\n if (code < 0xaaee) {\n // Mn [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI\n if (0xaaec <= code && code <= 0xaaed) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xaaf5) {\n // Mc [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU\n if (0xaaee <= code && code <= 0xaaef) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mc MEETEI MAYEK VOWEL SIGN VISARGA\n if (0xaaf5 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n else {\n if (code < 0xabe3) {\n // Mn MEETEI MAYEK VIRAMA\n if (0xaaf6 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xabe5) {\n // Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP\n if (0xabe3 <= code && code <= 0xabe4) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn MEETEI MAYEK VOWEL SIGN ANAP\n if (0xabe5 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xac00) {\n if (code < 0xabe9) {\n if (code < 0xabe8) {\n // Mc [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP\n if (0xabe6 <= code && code <= 0xabe7) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn MEETEI MAYEK VOWEL SIGN UNAP\n if (0xabe8 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0xabec) {\n // Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG\n if (0xabe9 <= code && code <= 0xabea) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mc MEETEI MAYEK LUM IYEK\n if (0xabec === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn MEETEI MAYEK APUN IYEK\n if (0xabed === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0xac1d) {\n if (code < 0xac01) {\n // Lo HANGUL SYLLABLE GA\n if (0xac00 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xac1c) {\n // Lo [27] HANGUL SYLLABLE GAG..HANGUL SYLLABLE GAH\n if (0xac01 <= code && code <= 0xac1b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GAE\n if (0xac1c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xac38) {\n // Lo [27] HANGUL SYLLABLE GAEG..HANGUL SYLLABLE GAEH\n if (0xac1d <= code && code <= 0xac37) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xac39) {\n // Lo HANGUL SYLLABLE GYA\n if (0xac38 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GYAG..HANGUL SYLLABLE GYAH\n if (0xac39 <= code && code <= 0xac53) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb5a1) {\n if (code < 0xb0ed) {\n if (code < 0xaea0) {\n if (code < 0xad6d) {\n if (code < 0xace0) {\n if (code < 0xac8d) {\n if (code < 0xac70) {\n if (code < 0xac55) {\n // Lo HANGUL SYLLABLE GYAE\n if (0xac54 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GYAEG..HANGUL SYLLABLE GYAEH\n if (0xac55 <= code && code <= 0xac6f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xac71) {\n // Lo HANGUL SYLLABLE GEO\n if (0xac70 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xac8c) {\n // Lo [27] HANGUL SYLLABLE GEOG..HANGUL SYLLABLE GEOH\n if (0xac71 <= code && code <= 0xac8b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GE\n if (0xac8c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xaca9) {\n if (code < 0xaca8) {\n // Lo [27] HANGUL SYLLABLE GEG..HANGUL SYLLABLE GEH\n if (0xac8d <= code && code <= 0xaca7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GYEO\n if (0xaca8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xacc4) {\n // Lo [27] HANGUL SYLLABLE GYEOG..HANGUL SYLLABLE GYEOH\n if (0xaca9 <= code && code <= 0xacc3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xacc5) {\n // Lo HANGUL SYLLABLE GYE\n if (0xacc4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GYEG..HANGUL SYLLABLE GYEH\n if (0xacc5 <= code && code <= 0xacdf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xad19) {\n if (code < 0xacfc) {\n if (code < 0xace1) {\n // Lo HANGUL SYLLABLE GO\n if (0xace0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GOG..HANGUL SYLLABLE GOH\n if (0xace1 <= code && code <= 0xacfb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xacfd) {\n // Lo HANGUL SYLLABLE GWA\n if (0xacfc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xad18) {\n // Lo [27] HANGUL SYLLABLE GWAG..HANGUL SYLLABLE GWAH\n if (0xacfd <= code && code <= 0xad17) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GWAE\n if (0xad18 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xad50) {\n if (code < 0xad34) {\n // Lo [27] HANGUL SYLLABLE GWAEG..HANGUL SYLLABLE GWAEH\n if (0xad19 <= code && code <= 0xad33) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xad35) {\n // Lo HANGUL SYLLABLE GOE\n if (0xad34 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GOEG..HANGUL SYLLABLE GOEH\n if (0xad35 <= code && code <= 0xad4f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xad51) {\n // Lo HANGUL SYLLABLE GYO\n if (0xad50 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xad6c) {\n // Lo [27] HANGUL SYLLABLE GYOG..HANGUL SYLLABLE GYOH\n if (0xad51 <= code && code <= 0xad6b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GU\n if (0xad6c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xadf9) {\n if (code < 0xadc0) {\n if (code < 0xad89) {\n if (code < 0xad88) {\n // Lo [27] HANGUL SYLLABLE GUG..HANGUL SYLLABLE GUH\n if (0xad6d <= code && code <= 0xad87) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GWEO\n if (0xad88 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xada4) {\n // Lo [27] HANGUL SYLLABLE GWEOG..HANGUL SYLLABLE GWEOH\n if (0xad89 <= code && code <= 0xada3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xada5) {\n // Lo HANGUL SYLLABLE GWE\n if (0xada4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GWEG..HANGUL SYLLABLE GWEH\n if (0xada5 <= code && code <= 0xadbf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xaddc) {\n if (code < 0xadc1) {\n // Lo HANGUL SYLLABLE GWI\n if (0xadc0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GWIG..HANGUL SYLLABLE GWIH\n if (0xadc1 <= code && code <= 0xaddb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xaddd) {\n // Lo HANGUL SYLLABLE GYU\n if (0xaddc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xadf8) {\n // Lo [27] HANGUL SYLLABLE GYUG..HANGUL SYLLABLE GYUH\n if (0xaddd <= code && code <= 0xadf7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GEU\n if (0xadf8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xae4c) {\n if (code < 0xae15) {\n if (code < 0xae14) {\n // Lo [27] HANGUL SYLLABLE GEUG..HANGUL SYLLABLE GEUH\n if (0xadf9 <= code && code <= 0xae13) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GYI\n if (0xae14 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xae30) {\n // Lo [27] HANGUL SYLLABLE GYIG..HANGUL SYLLABLE GYIH\n if (0xae15 <= code && code <= 0xae2f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xae31) {\n // Lo HANGUL SYLLABLE GI\n if (0xae30 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GIG..HANGUL SYLLABLE GIH\n if (0xae31 <= code && code <= 0xae4b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xae69) {\n if (code < 0xae4d) {\n // Lo HANGUL SYLLABLE GGA\n if (0xae4c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xae68) {\n // Lo [27] HANGUL SYLLABLE GGAG..HANGUL SYLLABLE GGAH\n if (0xae4d <= code && code <= 0xae67) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GGAE\n if (0xae68 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xae84) {\n // Lo [27] HANGUL SYLLABLE GGAEG..HANGUL SYLLABLE GGAEH\n if (0xae69 <= code && code <= 0xae83) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xae85) {\n // Lo HANGUL SYLLABLE GGYA\n if (0xae84 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GGYAG..HANGUL SYLLABLE GGYAH\n if (0xae85 <= code && code <= 0xae9f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xafb9) {\n if (code < 0xaf2c) {\n if (code < 0xaed9) {\n if (code < 0xaebc) {\n if (code < 0xaea1) {\n // Lo HANGUL SYLLABLE GGYAE\n if (0xaea0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GGYAEG..HANGUL SYLLABLE GGYAEH\n if (0xaea1 <= code && code <= 0xaebb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xaebd) {\n // Lo HANGUL SYLLABLE GGEO\n if (0xaebc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xaed8) {\n // Lo [27] HANGUL SYLLABLE GGEOG..HANGUL SYLLABLE GGEOH\n if (0xaebd <= code && code <= 0xaed7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GGE\n if (0xaed8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xaef5) {\n if (code < 0xaef4) {\n // Lo [27] HANGUL SYLLABLE GGEG..HANGUL SYLLABLE GGEH\n if (0xaed9 <= code && code <= 0xaef3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GGYEO\n if (0xaef4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xaf10) {\n // Lo [27] HANGUL SYLLABLE GGYEOG..HANGUL SYLLABLE GGYEOH\n if (0xaef5 <= code && code <= 0xaf0f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xaf11) {\n // Lo HANGUL SYLLABLE GGYE\n if (0xaf10 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GGYEG..HANGUL SYLLABLE GGYEH\n if (0xaf11 <= code && code <= 0xaf2b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xaf65) {\n if (code < 0xaf48) {\n if (code < 0xaf2d) {\n // Lo HANGUL SYLLABLE GGO\n if (0xaf2c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GGOG..HANGUL SYLLABLE GGOH\n if (0xaf2d <= code && code <= 0xaf47) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xaf49) {\n // Lo HANGUL SYLLABLE GGWA\n if (0xaf48 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xaf64) {\n // Lo [27] HANGUL SYLLABLE GGWAG..HANGUL SYLLABLE GGWAH\n if (0xaf49 <= code && code <= 0xaf63) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GGWAE\n if (0xaf64 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xaf9c) {\n if (code < 0xaf80) {\n // Lo [27] HANGUL SYLLABLE GGWAEG..HANGUL SYLLABLE GGWAEH\n if (0xaf65 <= code && code <= 0xaf7f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xaf81) {\n // Lo HANGUL SYLLABLE GGOE\n if (0xaf80 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GGOEG..HANGUL SYLLABLE GGOEH\n if (0xaf81 <= code && code <= 0xaf9b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xaf9d) {\n // Lo HANGUL SYLLABLE GGYO\n if (0xaf9c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xafb8) {\n // Lo [27] HANGUL SYLLABLE GGYOG..HANGUL SYLLABLE GGYOH\n if (0xaf9d <= code && code <= 0xafb7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GGU\n if (0xafb8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb060) {\n if (code < 0xb00c) {\n if (code < 0xafd5) {\n if (code < 0xafd4) {\n // Lo [27] HANGUL SYLLABLE GGUG..HANGUL SYLLABLE GGUH\n if (0xafb9 <= code && code <= 0xafd3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GGWEO\n if (0xafd4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xaff0) {\n // Lo [27] HANGUL SYLLABLE GGWEOG..HANGUL SYLLABLE GGWEOH\n if (0xafd5 <= code && code <= 0xafef) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xaff1) {\n // Lo HANGUL SYLLABLE GGWE\n if (0xaff0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GGWEG..HANGUL SYLLABLE GGWEH\n if (0xaff1 <= code && code <= 0xb00b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb029) {\n if (code < 0xb00d) {\n // Lo HANGUL SYLLABLE GGWI\n if (0xb00c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb028) {\n // Lo [27] HANGUL SYLLABLE GGWIG..HANGUL SYLLABLE GGWIH\n if (0xb00d <= code && code <= 0xb027) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE GGYU\n if (0xb028 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xb044) {\n // Lo [27] HANGUL SYLLABLE GGYUG..HANGUL SYLLABLE GGYUH\n if (0xb029 <= code && code <= 0xb043) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb045) {\n // Lo HANGUL SYLLABLE GGEU\n if (0xb044 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GGEUG..HANGUL SYLLABLE GGEUH\n if (0xb045 <= code && code <= 0xb05f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb099) {\n if (code < 0xb07c) {\n if (code < 0xb061) {\n // Lo HANGUL SYLLABLE GGYI\n if (0xb060 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE GGYIG..HANGUL SYLLABLE GGYIH\n if (0xb061 <= code && code <= 0xb07b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xb07d) {\n // Lo HANGUL SYLLABLE GGI\n if (0xb07c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb098) {\n // Lo [27] HANGUL SYLLABLE GGIG..HANGUL SYLLABLE GGIH\n if (0xb07d <= code && code <= 0xb097) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE NA\n if (0xb098 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb0d0) {\n if (code < 0xb0b4) {\n // Lo [27] HANGUL SYLLABLE NAG..HANGUL SYLLABLE NAH\n if (0xb099 <= code && code <= 0xb0b3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb0b5) {\n // Lo HANGUL SYLLABLE NAE\n if (0xb0b4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE NAEG..HANGUL SYLLABLE NAEH\n if (0xb0b5 <= code && code <= 0xb0cf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xb0d1) {\n // Lo HANGUL SYLLABLE NYA\n if (0xb0d0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb0ec) {\n // Lo [27] HANGUL SYLLABLE NYAG..HANGUL SYLLABLE NYAH\n if (0xb0d1 <= code && code <= 0xb0eb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE NYAE\n if (0xb0ec === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb354) {\n if (code < 0xb220) {\n if (code < 0xb179) {\n if (code < 0xb140) {\n if (code < 0xb109) {\n if (code < 0xb108) {\n // Lo [27] HANGUL SYLLABLE NYAEG..HANGUL SYLLABLE NYAEH\n if (0xb0ed <= code && code <= 0xb107) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE NEO\n if (0xb108 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xb124) {\n // Lo [27] HANGUL SYLLABLE NEOG..HANGUL SYLLABLE NEOH\n if (0xb109 <= code && code <= 0xb123) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb125) {\n // Lo HANGUL SYLLABLE NE\n if (0xb124 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE NEG..HANGUL SYLLABLE NEH\n if (0xb125 <= code && code <= 0xb13f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb15c) {\n if (code < 0xb141) {\n // Lo HANGUL SYLLABLE NYEO\n if (0xb140 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE NYEOG..HANGUL SYLLABLE NYEOH\n if (0xb141 <= code && code <= 0xb15b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xb15d) {\n // Lo HANGUL SYLLABLE NYE\n if (0xb15c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb178) {\n // Lo [27] HANGUL SYLLABLE NYEG..HANGUL SYLLABLE NYEH\n if (0xb15d <= code && code <= 0xb177) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE NO\n if (0xb178 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb1cc) {\n if (code < 0xb195) {\n if (code < 0xb194) {\n // Lo [27] HANGUL SYLLABLE NOG..HANGUL SYLLABLE NOH\n if (0xb179 <= code && code <= 0xb193) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE NWA\n if (0xb194 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xb1b0) {\n // Lo [27] HANGUL SYLLABLE NWAG..HANGUL SYLLABLE NWAH\n if (0xb195 <= code && code <= 0xb1af) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb1b1) {\n // Lo HANGUL SYLLABLE NWAE\n if (0xb1b0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE NWAEG..HANGUL SYLLABLE NWAEH\n if (0xb1b1 <= code && code <= 0xb1cb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb1e9) {\n if (code < 0xb1cd) {\n // Lo HANGUL SYLLABLE NOE\n if (0xb1cc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb1e8) {\n // Lo [27] HANGUL SYLLABLE NOEG..HANGUL SYLLABLE NOEH\n if (0xb1cd <= code && code <= 0xb1e7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE NYO\n if (0xb1e8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xb204) {\n // Lo [27] HANGUL SYLLABLE NYOG..HANGUL SYLLABLE NYOH\n if (0xb1e9 <= code && code <= 0xb203) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb205) {\n // Lo HANGUL SYLLABLE NU\n if (0xb204 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE NUG..HANGUL SYLLABLE NUH\n if (0xb205 <= code && code <= 0xb21f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb2ad) {\n if (code < 0xb259) {\n if (code < 0xb23c) {\n if (code < 0xb221) {\n // Lo HANGUL SYLLABLE NWEO\n if (0xb220 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE NWEOG..HANGUL SYLLABLE NWEOH\n if (0xb221 <= code && code <= 0xb23b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xb23d) {\n // Lo HANGUL SYLLABLE NWE\n if (0xb23c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb258) {\n // Lo [27] HANGUL SYLLABLE NWEG..HANGUL SYLLABLE NWEH\n if (0xb23d <= code && code <= 0xb257) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE NWI\n if (0xb258 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb290) {\n if (code < 0xb274) {\n // Lo [27] HANGUL SYLLABLE NWIG..HANGUL SYLLABLE NWIH\n if (0xb259 <= code && code <= 0xb273) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb275) {\n // Lo HANGUL SYLLABLE NYU\n if (0xb274 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE NYUG..HANGUL SYLLABLE NYUH\n if (0xb275 <= code && code <= 0xb28f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xb291) {\n // Lo HANGUL SYLLABLE NEU\n if (0xb290 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb2ac) {\n // Lo [27] HANGUL SYLLABLE NEUG..HANGUL SYLLABLE NEUH\n if (0xb291 <= code && code <= 0xb2ab) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE NYI\n if (0xb2ac === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb300) {\n if (code < 0xb2c9) {\n if (code < 0xb2c8) {\n // Lo [27] HANGUL SYLLABLE NYIG..HANGUL SYLLABLE NYIH\n if (0xb2ad <= code && code <= 0xb2c7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE NI\n if (0xb2c8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xb2e4) {\n // Lo [27] HANGUL SYLLABLE NIG..HANGUL SYLLABLE NIH\n if (0xb2c9 <= code && code <= 0xb2e3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb2e5) {\n // Lo HANGUL SYLLABLE DA\n if (0xb2e4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DAG..HANGUL SYLLABLE DAH\n if (0xb2e5 <= code && code <= 0xb2ff) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb31d) {\n if (code < 0xb301) {\n // Lo HANGUL SYLLABLE DAE\n if (0xb300 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb31c) {\n // Lo [27] HANGUL SYLLABLE DAEG..HANGUL SYLLABLE DAEH\n if (0xb301 <= code && code <= 0xb31b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DYA\n if (0xb31c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xb338) {\n // Lo [27] HANGUL SYLLABLE DYAG..HANGUL SYLLABLE DYAH\n if (0xb31d <= code && code <= 0xb337) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb339) {\n // Lo HANGUL SYLLABLE DYAE\n if (0xb338 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DYAEG..HANGUL SYLLABLE DYAEH\n if (0xb339 <= code && code <= 0xb353) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb46d) {\n if (code < 0xb3e0) {\n if (code < 0xb38d) {\n if (code < 0xb370) {\n if (code < 0xb355) {\n // Lo HANGUL SYLLABLE DEO\n if (0xb354 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DEOG..HANGUL SYLLABLE DEOH\n if (0xb355 <= code && code <= 0xb36f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xb371) {\n // Lo HANGUL SYLLABLE DE\n if (0xb370 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb38c) {\n // Lo [27] HANGUL SYLLABLE DEG..HANGUL SYLLABLE DEH\n if (0xb371 <= code && code <= 0xb38b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DYEO\n if (0xb38c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb3a9) {\n if (code < 0xb3a8) {\n // Lo [27] HANGUL SYLLABLE DYEOG..HANGUL SYLLABLE DYEOH\n if (0xb38d <= code && code <= 0xb3a7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DYE\n if (0xb3a8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xb3c4) {\n // Lo [27] HANGUL SYLLABLE DYEG..HANGUL SYLLABLE DYEH\n if (0xb3a9 <= code && code <= 0xb3c3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb3c5) {\n // Lo HANGUL SYLLABLE DO\n if (0xb3c4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DOG..HANGUL SYLLABLE DOH\n if (0xb3c5 <= code && code <= 0xb3df) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb419) {\n if (code < 0xb3fc) {\n if (code < 0xb3e1) {\n // Lo HANGUL SYLLABLE DWA\n if (0xb3e0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DWAG..HANGUL SYLLABLE DWAH\n if (0xb3e1 <= code && code <= 0xb3fb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xb3fd) {\n // Lo HANGUL SYLLABLE DWAE\n if (0xb3fc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb418) {\n // Lo [27] HANGUL SYLLABLE DWAEG..HANGUL SYLLABLE DWAEH\n if (0xb3fd <= code && code <= 0xb417) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DOE\n if (0xb418 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb450) {\n if (code < 0xb434) {\n // Lo [27] HANGUL SYLLABLE DOEG..HANGUL SYLLABLE DOEH\n if (0xb419 <= code && code <= 0xb433) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb435) {\n // Lo HANGUL SYLLABLE DYO\n if (0xb434 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DYOG..HANGUL SYLLABLE DYOH\n if (0xb435 <= code && code <= 0xb44f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xb451) {\n // Lo HANGUL SYLLABLE DU\n if (0xb450 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb46c) {\n // Lo [27] HANGUL SYLLABLE DUG..HANGUL SYLLABLE DUH\n if (0xb451 <= code && code <= 0xb46b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DWEO\n if (0xb46c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb514) {\n if (code < 0xb4c0) {\n if (code < 0xb489) {\n if (code < 0xb488) {\n // Lo [27] HANGUL SYLLABLE DWEOG..HANGUL SYLLABLE DWEOH\n if (0xb46d <= code && code <= 0xb487) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DWE\n if (0xb488 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xb4a4) {\n // Lo [27] HANGUL SYLLABLE DWEG..HANGUL SYLLABLE DWEH\n if (0xb489 <= code && code <= 0xb4a3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb4a5) {\n // Lo HANGUL SYLLABLE DWI\n if (0xb4a4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DWIG..HANGUL SYLLABLE DWIH\n if (0xb4a5 <= code && code <= 0xb4bf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb4dd) {\n if (code < 0xb4c1) {\n // Lo HANGUL SYLLABLE DYU\n if (0xb4c0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb4dc) {\n // Lo [27] HANGUL SYLLABLE DYUG..HANGUL SYLLABLE DYUH\n if (0xb4c1 <= code && code <= 0xb4db) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DEU\n if (0xb4dc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xb4f8) {\n // Lo [27] HANGUL SYLLABLE DEUG..HANGUL SYLLABLE DEUH\n if (0xb4dd <= code && code <= 0xb4f7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb4f9) {\n // Lo HANGUL SYLLABLE DYI\n if (0xb4f8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DYIG..HANGUL SYLLABLE DYIH\n if (0xb4f9 <= code && code <= 0xb513) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb54d) {\n if (code < 0xb530) {\n if (code < 0xb515) {\n // Lo HANGUL SYLLABLE DI\n if (0xb514 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DIG..HANGUL SYLLABLE DIH\n if (0xb515 <= code && code <= 0xb52f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xb531) {\n // Lo HANGUL SYLLABLE DDA\n if (0xb530 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb54c) {\n // Lo [27] HANGUL SYLLABLE DDAG..HANGUL SYLLABLE DDAH\n if (0xb531 <= code && code <= 0xb54b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DDAE\n if (0xb54c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb584) {\n if (code < 0xb568) {\n // Lo [27] HANGUL SYLLABLE DDAEG..HANGUL SYLLABLE DDAEH\n if (0xb54d <= code && code <= 0xb567) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb569) {\n // Lo HANGUL SYLLABLE DDYA\n if (0xb568 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DDYAG..HANGUL SYLLABLE DDYAH\n if (0xb569 <= code && code <= 0xb583) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xb585) {\n // Lo HANGUL SYLLABLE DDYAE\n if (0xb584 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb5a0) {\n // Lo [27] HANGUL SYLLABLE DDYAEG..HANGUL SYLLABLE DDYAEH\n if (0xb585 <= code && code <= 0xb59f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DDEO\n if (0xb5a0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xba55) {\n if (code < 0xb808) {\n if (code < 0xb6d4) {\n if (code < 0xb62d) {\n if (code < 0xb5f4) {\n if (code < 0xb5bd) {\n if (code < 0xb5bc) {\n // Lo [27] HANGUL SYLLABLE DDEOG..HANGUL SYLLABLE DDEOH\n if (0xb5a1 <= code && code <= 0xb5bb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DDE\n if (0xb5bc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xb5d8) {\n // Lo [27] HANGUL SYLLABLE DDEG..HANGUL SYLLABLE DDEH\n if (0xb5bd <= code && code <= 0xb5d7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb5d9) {\n // Lo HANGUL SYLLABLE DDYEO\n if (0xb5d8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DDYEOG..HANGUL SYLLABLE DDYEOH\n if (0xb5d9 <= code && code <= 0xb5f3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb610) {\n if (code < 0xb5f5) {\n // Lo HANGUL SYLLABLE DDYE\n if (0xb5f4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DDYEG..HANGUL SYLLABLE DDYEH\n if (0xb5f5 <= code && code <= 0xb60f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xb611) {\n // Lo HANGUL SYLLABLE DDO\n if (0xb610 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb62c) {\n // Lo [27] HANGUL SYLLABLE DDOG..HANGUL SYLLABLE DDOH\n if (0xb611 <= code && code <= 0xb62b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DDWA\n if (0xb62c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb680) {\n if (code < 0xb649) {\n if (code < 0xb648) {\n // Lo [27] HANGUL SYLLABLE DDWAG..HANGUL SYLLABLE DDWAH\n if (0xb62d <= code && code <= 0xb647) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DDWAE\n if (0xb648 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xb664) {\n // Lo [27] HANGUL SYLLABLE DDWAEG..HANGUL SYLLABLE DDWAEH\n if (0xb649 <= code && code <= 0xb663) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb665) {\n // Lo HANGUL SYLLABLE DDOE\n if (0xb664 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DDOEG..HANGUL SYLLABLE DDOEH\n if (0xb665 <= code && code <= 0xb67f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb69d) {\n if (code < 0xb681) {\n // Lo HANGUL SYLLABLE DDYO\n if (0xb680 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb69c) {\n // Lo [27] HANGUL SYLLABLE DDYOG..HANGUL SYLLABLE DDYOH\n if (0xb681 <= code && code <= 0xb69b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DDU\n if (0xb69c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xb6b8) {\n // Lo [27] HANGUL SYLLABLE DDUG..HANGUL SYLLABLE DDUH\n if (0xb69d <= code && code <= 0xb6b7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb6b9) {\n // Lo HANGUL SYLLABLE DDWEO\n if (0xb6b8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DDWEOG..HANGUL SYLLABLE DDWEOH\n if (0xb6b9 <= code && code <= 0xb6d3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb761) {\n if (code < 0xb70d) {\n if (code < 0xb6f0) {\n if (code < 0xb6d5) {\n // Lo HANGUL SYLLABLE DDWE\n if (0xb6d4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DDWEG..HANGUL SYLLABLE DDWEH\n if (0xb6d5 <= code && code <= 0xb6ef) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xb6f1) {\n // Lo HANGUL SYLLABLE DDWI\n if (0xb6f0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb70c) {\n // Lo [27] HANGUL SYLLABLE DDWIG..HANGUL SYLLABLE DDWIH\n if (0xb6f1 <= code && code <= 0xb70b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DDYU\n if (0xb70c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb744) {\n if (code < 0xb728) {\n // Lo [27] HANGUL SYLLABLE DDYUG..HANGUL SYLLABLE DDYUH\n if (0xb70d <= code && code <= 0xb727) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb729) {\n // Lo HANGUL SYLLABLE DDEU\n if (0xb728 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE DDEUG..HANGUL SYLLABLE DDEUH\n if (0xb729 <= code && code <= 0xb743) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xb745) {\n // Lo HANGUL SYLLABLE DDYI\n if (0xb744 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb760) {\n // Lo [27] HANGUL SYLLABLE DDYIG..HANGUL SYLLABLE DDYIH\n if (0xb745 <= code && code <= 0xb75f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE DDI\n if (0xb760 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb7b4) {\n if (code < 0xb77d) {\n if (code < 0xb77c) {\n // Lo [27] HANGUL SYLLABLE DDIG..HANGUL SYLLABLE DDIH\n if (0xb761 <= code && code <= 0xb77b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE RA\n if (0xb77c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xb798) {\n // Lo [27] HANGUL SYLLABLE RAG..HANGUL SYLLABLE RAH\n if (0xb77d <= code && code <= 0xb797) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb799) {\n // Lo HANGUL SYLLABLE RAE\n if (0xb798 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE RAEG..HANGUL SYLLABLE RAEH\n if (0xb799 <= code && code <= 0xb7b3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb7d1) {\n if (code < 0xb7b5) {\n // Lo HANGUL SYLLABLE RYA\n if (0xb7b4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb7d0) {\n // Lo [27] HANGUL SYLLABLE RYAG..HANGUL SYLLABLE RYAH\n if (0xb7b5 <= code && code <= 0xb7cf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE RYAE\n if (0xb7d0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xb7ec) {\n // Lo [27] HANGUL SYLLABLE RYAEG..HANGUL SYLLABLE RYAEH\n if (0xb7d1 <= code && code <= 0xb7eb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb7ed) {\n // Lo HANGUL SYLLABLE REO\n if (0xb7ec === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE REOG..HANGUL SYLLABLE REOH\n if (0xb7ed <= code && code <= 0xb807) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb921) {\n if (code < 0xb894) {\n if (code < 0xb841) {\n if (code < 0xb824) {\n if (code < 0xb809) {\n // Lo HANGUL SYLLABLE RE\n if (0xb808 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE REG..HANGUL SYLLABLE REH\n if (0xb809 <= code && code <= 0xb823) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xb825) {\n // Lo HANGUL SYLLABLE RYEO\n if (0xb824 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb840) {\n // Lo [27] HANGUL SYLLABLE RYEOG..HANGUL SYLLABLE RYEOH\n if (0xb825 <= code && code <= 0xb83f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE RYE\n if (0xb840 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb85d) {\n if (code < 0xb85c) {\n // Lo [27] HANGUL SYLLABLE RYEG..HANGUL SYLLABLE RYEH\n if (0xb841 <= code && code <= 0xb85b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE RO\n if (0xb85c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xb878) {\n // Lo [27] HANGUL SYLLABLE ROG..HANGUL SYLLABLE ROH\n if (0xb85d <= code && code <= 0xb877) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb879) {\n // Lo HANGUL SYLLABLE RWA\n if (0xb878 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE RWAG..HANGUL SYLLABLE RWAH\n if (0xb879 <= code && code <= 0xb893) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb8cd) {\n if (code < 0xb8b0) {\n if (code < 0xb895) {\n // Lo HANGUL SYLLABLE RWAE\n if (0xb894 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE RWAEG..HANGUL SYLLABLE RWAEH\n if (0xb895 <= code && code <= 0xb8af) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xb8b1) {\n // Lo HANGUL SYLLABLE ROE\n if (0xb8b0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb8cc) {\n // Lo [27] HANGUL SYLLABLE ROEG..HANGUL SYLLABLE ROEH\n if (0xb8b1 <= code && code <= 0xb8cb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE RYO\n if (0xb8cc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb904) {\n if (code < 0xb8e8) {\n // Lo [27] HANGUL SYLLABLE RYOG..HANGUL SYLLABLE RYOH\n if (0xb8cd <= code && code <= 0xb8e7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb8e9) {\n // Lo HANGUL SYLLABLE RU\n if (0xb8e8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE RUG..HANGUL SYLLABLE RUH\n if (0xb8e9 <= code && code <= 0xb903) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xb905) {\n // Lo HANGUL SYLLABLE RWEO\n if (0xb904 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb920) {\n // Lo [27] HANGUL SYLLABLE RWEOG..HANGUL SYLLABLE RWEOH\n if (0xb905 <= code && code <= 0xb91f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE RWE\n if (0xb920 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xb9c8) {\n if (code < 0xb974) {\n if (code < 0xb93d) {\n if (code < 0xb93c) {\n // Lo [27] HANGUL SYLLABLE RWEG..HANGUL SYLLABLE RWEH\n if (0xb921 <= code && code <= 0xb93b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE RWI\n if (0xb93c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xb958) {\n // Lo [27] HANGUL SYLLABLE RWIG..HANGUL SYLLABLE RWIH\n if (0xb93d <= code && code <= 0xb957) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb959) {\n // Lo HANGUL SYLLABLE RYU\n if (0xb958 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE RYUG..HANGUL SYLLABLE RYUH\n if (0xb959 <= code && code <= 0xb973) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xb991) {\n if (code < 0xb975) {\n // Lo HANGUL SYLLABLE REU\n if (0xb974 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xb990) {\n // Lo [27] HANGUL SYLLABLE REUG..HANGUL SYLLABLE REUH\n if (0xb975 <= code && code <= 0xb98f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE RYI\n if (0xb990 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xb9ac) {\n // Lo [27] HANGUL SYLLABLE RYIG..HANGUL SYLLABLE RYIH\n if (0xb991 <= code && code <= 0xb9ab) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xb9ad) {\n // Lo HANGUL SYLLABLE RI\n if (0xb9ac === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE RIG..HANGUL SYLLABLE RIH\n if (0xb9ad <= code && code <= 0xb9c7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xba01) {\n if (code < 0xb9e4) {\n if (code < 0xb9c9) {\n // Lo HANGUL SYLLABLE MA\n if (0xb9c8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE MAG..HANGUL SYLLABLE MAH\n if (0xb9c9 <= code && code <= 0xb9e3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xb9e5) {\n // Lo HANGUL SYLLABLE MAE\n if (0xb9e4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xba00) {\n // Lo [27] HANGUL SYLLABLE MAEG..HANGUL SYLLABLE MAEH\n if (0xb9e5 <= code && code <= 0xb9ff) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE MYA\n if (0xba00 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xba38) {\n if (code < 0xba1c) {\n // Lo [27] HANGUL SYLLABLE MYAG..HANGUL SYLLABLE MYAH\n if (0xba01 <= code && code <= 0xba1b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xba1d) {\n // Lo HANGUL SYLLABLE MYAE\n if (0xba1c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE MYAEG..HANGUL SYLLABLE MYAEH\n if (0xba1d <= code && code <= 0xba37) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xba39) {\n // Lo HANGUL SYLLABLE MEO\n if (0xba38 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xba54) {\n // Lo [27] HANGUL SYLLABLE MEOG..HANGUL SYLLABLE MEOH\n if (0xba39 <= code && code <= 0xba53) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE ME\n if (0xba54 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xbcbc) {\n if (code < 0xbb88) {\n if (code < 0xbae1) {\n if (code < 0xbaa8) {\n if (code < 0xba71) {\n if (code < 0xba70) {\n // Lo [27] HANGUL SYLLABLE MEG..HANGUL SYLLABLE MEH\n if (0xba55 <= code && code <= 0xba6f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE MYEO\n if (0xba70 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xba8c) {\n // Lo [27] HANGUL SYLLABLE MYEOG..HANGUL SYLLABLE MYEOH\n if (0xba71 <= code && code <= 0xba8b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xba8d) {\n // Lo HANGUL SYLLABLE MYE\n if (0xba8c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE MYEG..HANGUL SYLLABLE MYEH\n if (0xba8d <= code && code <= 0xbaa7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xbac4) {\n if (code < 0xbaa9) {\n // Lo HANGUL SYLLABLE MO\n if (0xbaa8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE MOG..HANGUL SYLLABLE MOH\n if (0xbaa9 <= code && code <= 0xbac3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xbac5) {\n // Lo HANGUL SYLLABLE MWA\n if (0xbac4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xbae0) {\n // Lo [27] HANGUL SYLLABLE MWAG..HANGUL SYLLABLE MWAH\n if (0xbac5 <= code && code <= 0xbadf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE MWAE\n if (0xbae0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xbb34) {\n if (code < 0xbafd) {\n if (code < 0xbafc) {\n // Lo [27] HANGUL SYLLABLE MWAEG..HANGUL SYLLABLE MWAEH\n if (0xbae1 <= code && code <= 0xbafb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE MOE\n if (0xbafc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xbb18) {\n // Lo [27] HANGUL SYLLABLE MOEG..HANGUL SYLLABLE MOEH\n if (0xbafd <= code && code <= 0xbb17) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xbb19) {\n // Lo HANGUL SYLLABLE MYO\n if (0xbb18 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE MYOG..HANGUL SYLLABLE MYOH\n if (0xbb19 <= code && code <= 0xbb33) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xbb51) {\n if (code < 0xbb35) {\n // Lo HANGUL SYLLABLE MU\n if (0xbb34 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xbb50) {\n // Lo [27] HANGUL SYLLABLE MUG..HANGUL SYLLABLE MUH\n if (0xbb35 <= code && code <= 0xbb4f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE MWEO\n if (0xbb50 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xbb6c) {\n // Lo [27] HANGUL SYLLABLE MWEOG..HANGUL SYLLABLE MWEOH\n if (0xbb51 <= code && code <= 0xbb6b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xbb6d) {\n // Lo HANGUL SYLLABLE MWE\n if (0xbb6c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE MWEG..HANGUL SYLLABLE MWEH\n if (0xbb6d <= code && code <= 0xbb87) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xbc15) {\n if (code < 0xbbc1) {\n if (code < 0xbba4) {\n if (code < 0xbb89) {\n // Lo HANGUL SYLLABLE MWI\n if (0xbb88 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE MWIG..HANGUL SYLLABLE MWIH\n if (0xbb89 <= code && code <= 0xbba3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xbba5) {\n // Lo HANGUL SYLLABLE MYU\n if (0xbba4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xbbc0) {\n // Lo [27] HANGUL SYLLABLE MYUG..HANGUL SYLLABLE MYUH\n if (0xbba5 <= code && code <= 0xbbbf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE MEU\n if (0xbbc0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xbbf8) {\n if (code < 0xbbdc) {\n // Lo [27] HANGUL SYLLABLE MEUG..HANGUL SYLLABLE MEUH\n if (0xbbc1 <= code && code <= 0xbbdb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xbbdd) {\n // Lo HANGUL SYLLABLE MYI\n if (0xbbdc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE MYIG..HANGUL SYLLABLE MYIH\n if (0xbbdd <= code && code <= 0xbbf7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xbbf9) {\n // Lo HANGUL SYLLABLE MI\n if (0xbbf8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xbc14) {\n // Lo [27] HANGUL SYLLABLE MIG..HANGUL SYLLABLE MIH\n if (0xbbf9 <= code && code <= 0xbc13) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BA\n if (0xbc14 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xbc68) {\n if (code < 0xbc31) {\n if (code < 0xbc30) {\n // Lo [27] HANGUL SYLLABLE BAG..HANGUL SYLLABLE BAH\n if (0xbc15 <= code && code <= 0xbc2f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BAE\n if (0xbc30 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xbc4c) {\n // Lo [27] HANGUL SYLLABLE BAEG..HANGUL SYLLABLE BAEH\n if (0xbc31 <= code && code <= 0xbc4b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xbc4d) {\n // Lo HANGUL SYLLABLE BYA\n if (0xbc4c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BYAG..HANGUL SYLLABLE BYAH\n if (0xbc4d <= code && code <= 0xbc67) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xbc85) {\n if (code < 0xbc69) {\n // Lo HANGUL SYLLABLE BYAE\n if (0xbc68 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xbc84) {\n // Lo [27] HANGUL SYLLABLE BYAEG..HANGUL SYLLABLE BYAEH\n if (0xbc69 <= code && code <= 0xbc83) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BEO\n if (0xbc84 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xbca0) {\n // Lo [27] HANGUL SYLLABLE BEOG..HANGUL SYLLABLE BEOH\n if (0xbc85 <= code && code <= 0xbc9f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xbca1) {\n // Lo HANGUL SYLLABLE BE\n if (0xbca0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BEG..HANGUL SYLLABLE BEH\n if (0xbca1 <= code && code <= 0xbcbb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xbdd5) {\n if (code < 0xbd48) {\n if (code < 0xbcf5) {\n if (code < 0xbcd8) {\n if (code < 0xbcbd) {\n // Lo HANGUL SYLLABLE BYEO\n if (0xbcbc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BYEOG..HANGUL SYLLABLE BYEOH\n if (0xbcbd <= code && code <= 0xbcd7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xbcd9) {\n // Lo HANGUL SYLLABLE BYE\n if (0xbcd8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xbcf4) {\n // Lo [27] HANGUL SYLLABLE BYEG..HANGUL SYLLABLE BYEH\n if (0xbcd9 <= code && code <= 0xbcf3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BO\n if (0xbcf4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xbd11) {\n if (code < 0xbd10) {\n // Lo [27] HANGUL SYLLABLE BOG..HANGUL SYLLABLE BOH\n if (0xbcf5 <= code && code <= 0xbd0f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BWA\n if (0xbd10 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xbd2c) {\n // Lo [27] HANGUL SYLLABLE BWAG..HANGUL SYLLABLE BWAH\n if (0xbd11 <= code && code <= 0xbd2b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xbd2d) {\n // Lo HANGUL SYLLABLE BWAE\n if (0xbd2c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BWAEG..HANGUL SYLLABLE BWAEH\n if (0xbd2d <= code && code <= 0xbd47) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xbd81) {\n if (code < 0xbd64) {\n if (code < 0xbd49) {\n // Lo HANGUL SYLLABLE BOE\n if (0xbd48 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BOEG..HANGUL SYLLABLE BOEH\n if (0xbd49 <= code && code <= 0xbd63) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xbd65) {\n // Lo HANGUL SYLLABLE BYO\n if (0xbd64 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xbd80) {\n // Lo [27] HANGUL SYLLABLE BYOG..HANGUL SYLLABLE BYOH\n if (0xbd65 <= code && code <= 0xbd7f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BU\n if (0xbd80 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xbdb8) {\n if (code < 0xbd9c) {\n // Lo [27] HANGUL SYLLABLE BUG..HANGUL SYLLABLE BUH\n if (0xbd81 <= code && code <= 0xbd9b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xbd9d) {\n // Lo HANGUL SYLLABLE BWEO\n if (0xbd9c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BWEOG..HANGUL SYLLABLE BWEOH\n if (0xbd9d <= code && code <= 0xbdb7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xbdb9) {\n // Lo HANGUL SYLLABLE BWE\n if (0xbdb8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xbdd4) {\n // Lo [27] HANGUL SYLLABLE BWEG..HANGUL SYLLABLE BWEH\n if (0xbdb9 <= code && code <= 0xbdd3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BWI\n if (0xbdd4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xbe7c) {\n if (code < 0xbe28) {\n if (code < 0xbdf1) {\n if (code < 0xbdf0) {\n // Lo [27] HANGUL SYLLABLE BWIG..HANGUL SYLLABLE BWIH\n if (0xbdd5 <= code && code <= 0xbdef) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BYU\n if (0xbdf0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xbe0c) {\n // Lo [27] HANGUL SYLLABLE BYUG..HANGUL SYLLABLE BYUH\n if (0xbdf1 <= code && code <= 0xbe0b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xbe0d) {\n // Lo HANGUL SYLLABLE BEU\n if (0xbe0c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BEUG..HANGUL SYLLABLE BEUH\n if (0xbe0d <= code && code <= 0xbe27) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xbe45) {\n if (code < 0xbe29) {\n // Lo HANGUL SYLLABLE BYI\n if (0xbe28 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xbe44) {\n // Lo [27] HANGUL SYLLABLE BYIG..HANGUL SYLLABLE BYIH\n if (0xbe29 <= code && code <= 0xbe43) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BI\n if (0xbe44 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xbe60) {\n // Lo [27] HANGUL SYLLABLE BIG..HANGUL SYLLABLE BIH\n if (0xbe45 <= code && code <= 0xbe5f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xbe61) {\n // Lo HANGUL SYLLABLE BBA\n if (0xbe60 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BBAG..HANGUL SYLLABLE BBAH\n if (0xbe61 <= code && code <= 0xbe7b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xbeb5) {\n if (code < 0xbe98) {\n if (code < 0xbe7d) {\n // Lo HANGUL SYLLABLE BBAE\n if (0xbe7c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BBAEG..HANGUL SYLLABLE BBAEH\n if (0xbe7d <= code && code <= 0xbe97) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xbe99) {\n // Lo HANGUL SYLLABLE BBYA\n if (0xbe98 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xbeb4) {\n // Lo [27] HANGUL SYLLABLE BBYAG..HANGUL SYLLABLE BBYAH\n if (0xbe99 <= code && code <= 0xbeb3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BBYAE\n if (0xbeb4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xbeec) {\n if (code < 0xbed0) {\n // Lo [27] HANGUL SYLLABLE BBYAEG..HANGUL SYLLABLE BBYAEH\n if (0xbeb5 <= code && code <= 0xbecf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xbed1) {\n // Lo HANGUL SYLLABLE BBEO\n if (0xbed0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BBEOG..HANGUL SYLLABLE BBEOH\n if (0xbed1 <= code && code <= 0xbeeb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xbeed) {\n // Lo HANGUL SYLLABLE BBE\n if (0xbeec === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xbf08) {\n // Lo [27] HANGUL SYLLABLE BBEG..HANGUL SYLLABLE BBEH\n if (0xbeed <= code && code <= 0xbf07) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BBYEO\n if (0xbf08 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xd1d8) {\n if (code < 0xc870) {\n if (code < 0xc3bc) {\n if (code < 0xc155) {\n if (code < 0xc03c) {\n if (code < 0xbf95) {\n if (code < 0xbf5c) {\n if (code < 0xbf25) {\n if (code < 0xbf24) {\n // Lo [27] HANGUL SYLLABLE BBYEOG..HANGUL SYLLABLE BBYEOH\n if (0xbf09 <= code && code <= 0xbf23) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BBYE\n if (0xbf24 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xbf40) {\n // Lo [27] HANGUL SYLLABLE BBYEG..HANGUL SYLLABLE BBYEH\n if (0xbf25 <= code && code <= 0xbf3f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xbf41) {\n // Lo HANGUL SYLLABLE BBO\n if (0xbf40 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BBOG..HANGUL SYLLABLE BBOH\n if (0xbf41 <= code && code <= 0xbf5b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xbf78) {\n if (code < 0xbf5d) {\n // Lo HANGUL SYLLABLE BBWA\n if (0xbf5c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BBWAG..HANGUL SYLLABLE BBWAH\n if (0xbf5d <= code && code <= 0xbf77) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xbf79) {\n // Lo HANGUL SYLLABLE BBWAE\n if (0xbf78 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xbf94) {\n // Lo [27] HANGUL SYLLABLE BBWAEG..HANGUL SYLLABLE BBWAEH\n if (0xbf79 <= code && code <= 0xbf93) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BBOE\n if (0xbf94 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xbfe8) {\n if (code < 0xbfb1) {\n if (code < 0xbfb0) {\n // Lo [27] HANGUL SYLLABLE BBOEG..HANGUL SYLLABLE BBOEH\n if (0xbf95 <= code && code <= 0xbfaf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BBYO\n if (0xbfb0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xbfcc) {\n // Lo [27] HANGUL SYLLABLE BBYOG..HANGUL SYLLABLE BBYOH\n if (0xbfb1 <= code && code <= 0xbfcb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xbfcd) {\n // Lo HANGUL SYLLABLE BBU\n if (0xbfcc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BBUG..HANGUL SYLLABLE BBUH\n if (0xbfcd <= code && code <= 0xbfe7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc005) {\n if (code < 0xbfe9) {\n // Lo HANGUL SYLLABLE BBWEO\n if (0xbfe8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc004) {\n // Lo [27] HANGUL SYLLABLE BBWEOG..HANGUL SYLLABLE BBWEOH\n if (0xbfe9 <= code && code <= 0xc003) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BBWE\n if (0xc004 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xc020) {\n // Lo [27] HANGUL SYLLABLE BBWEG..HANGUL SYLLABLE BBWEH\n if (0xc005 <= code && code <= 0xc01f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc021) {\n // Lo HANGUL SYLLABLE BBWI\n if (0xc020 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BBWIG..HANGUL SYLLABLE BBWIH\n if (0xc021 <= code && code <= 0xc03b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc0c8) {\n if (code < 0xc075) {\n if (code < 0xc058) {\n if (code < 0xc03d) {\n // Lo HANGUL SYLLABLE BBYU\n if (0xc03c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE BBYUG..HANGUL SYLLABLE BBYUH\n if (0xc03d <= code && code <= 0xc057) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xc059) {\n // Lo HANGUL SYLLABLE BBEU\n if (0xc058 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc074) {\n // Lo [27] HANGUL SYLLABLE BBEUG..HANGUL SYLLABLE BBEUH\n if (0xc059 <= code && code <= 0xc073) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BBYI\n if (0xc074 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc091) {\n if (code < 0xc090) {\n // Lo [27] HANGUL SYLLABLE BBYIG..HANGUL SYLLABLE BBYIH\n if (0xc075 <= code && code <= 0xc08f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE BBI\n if (0xc090 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xc0ac) {\n // Lo [27] HANGUL SYLLABLE BBIG..HANGUL SYLLABLE BBIH\n if (0xc091 <= code && code <= 0xc0ab) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc0ad) {\n // Lo HANGUL SYLLABLE SA\n if (0xc0ac === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SAG..HANGUL SYLLABLE SAH\n if (0xc0ad <= code && code <= 0xc0c7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc101) {\n if (code < 0xc0e4) {\n if (code < 0xc0c9) {\n // Lo HANGUL SYLLABLE SAE\n if (0xc0c8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SAEG..HANGUL SYLLABLE SAEH\n if (0xc0c9 <= code && code <= 0xc0e3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xc0e5) {\n // Lo HANGUL SYLLABLE SYA\n if (0xc0e4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc100) {\n // Lo [27] HANGUL SYLLABLE SYAG..HANGUL SYLLABLE SYAH\n if (0xc0e5 <= code && code <= 0xc0ff) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SYAE\n if (0xc100 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc138) {\n if (code < 0xc11c) {\n // Lo [27] HANGUL SYLLABLE SYAEG..HANGUL SYLLABLE SYAEH\n if (0xc101 <= code && code <= 0xc11b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc11d) {\n // Lo HANGUL SYLLABLE SEO\n if (0xc11c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SEOG..HANGUL SYLLABLE SEOH\n if (0xc11d <= code && code <= 0xc137) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xc139) {\n // Lo HANGUL SYLLABLE SE\n if (0xc138 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc154) {\n // Lo [27] HANGUL SYLLABLE SEG..HANGUL SYLLABLE SEH\n if (0xc139 <= code && code <= 0xc153) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SYEO\n if (0xc154 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc288) {\n if (code < 0xc1e1) {\n if (code < 0xc1a8) {\n if (code < 0xc171) {\n if (code < 0xc170) {\n // Lo [27] HANGUL SYLLABLE SYEOG..HANGUL SYLLABLE SYEOH\n if (0xc155 <= code && code <= 0xc16f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SYE\n if (0xc170 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xc18c) {\n // Lo [27] HANGUL SYLLABLE SYEG..HANGUL SYLLABLE SYEH\n if (0xc171 <= code && code <= 0xc18b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc18d) {\n // Lo HANGUL SYLLABLE SO\n if (0xc18c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SOG..HANGUL SYLLABLE SOH\n if (0xc18d <= code && code <= 0xc1a7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc1c4) {\n if (code < 0xc1a9) {\n // Lo HANGUL SYLLABLE SWA\n if (0xc1a8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SWAG..HANGUL SYLLABLE SWAH\n if (0xc1a9 <= code && code <= 0xc1c3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xc1c5) {\n // Lo HANGUL SYLLABLE SWAE\n if (0xc1c4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc1e0) {\n // Lo [27] HANGUL SYLLABLE SWAEG..HANGUL SYLLABLE SWAEH\n if (0xc1c5 <= code && code <= 0xc1df) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SOE\n if (0xc1e0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc234) {\n if (code < 0xc1fd) {\n if (code < 0xc1fc) {\n // Lo [27] HANGUL SYLLABLE SOEG..HANGUL SYLLABLE SOEH\n if (0xc1e1 <= code && code <= 0xc1fb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SYO\n if (0xc1fc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xc218) {\n // Lo [27] HANGUL SYLLABLE SYOG..HANGUL SYLLABLE SYOH\n if (0xc1fd <= code && code <= 0xc217) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc219) {\n // Lo HANGUL SYLLABLE SU\n if (0xc218 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SUG..HANGUL SYLLABLE SUH\n if (0xc219 <= code && code <= 0xc233) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc251) {\n if (code < 0xc235) {\n // Lo HANGUL SYLLABLE SWEO\n if (0xc234 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc250) {\n // Lo [27] HANGUL SYLLABLE SWEOG..HANGUL SYLLABLE SWEOH\n if (0xc235 <= code && code <= 0xc24f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SWE\n if (0xc250 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xc26c) {\n // Lo [27] HANGUL SYLLABLE SWEG..HANGUL SYLLABLE SWEH\n if (0xc251 <= code && code <= 0xc26b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc26d) {\n // Lo HANGUL SYLLABLE SWI\n if (0xc26c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SWIG..HANGUL SYLLABLE SWIH\n if (0xc26d <= code && code <= 0xc287) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc315) {\n if (code < 0xc2c1) {\n if (code < 0xc2a4) {\n if (code < 0xc289) {\n // Lo HANGUL SYLLABLE SYU\n if (0xc288 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SYUG..HANGUL SYLLABLE SYUH\n if (0xc289 <= code && code <= 0xc2a3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xc2a5) {\n // Lo HANGUL SYLLABLE SEU\n if (0xc2a4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc2c0) {\n // Lo [27] HANGUL SYLLABLE SEUG..HANGUL SYLLABLE SEUH\n if (0xc2a5 <= code && code <= 0xc2bf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SYI\n if (0xc2c0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc2f8) {\n if (code < 0xc2dc) {\n // Lo [27] HANGUL SYLLABLE SYIG..HANGUL SYLLABLE SYIH\n if (0xc2c1 <= code && code <= 0xc2db) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc2dd) {\n // Lo HANGUL SYLLABLE SI\n if (0xc2dc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SIG..HANGUL SYLLABLE SIH\n if (0xc2dd <= code && code <= 0xc2f7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xc2f9) {\n // Lo HANGUL SYLLABLE SSA\n if (0xc2f8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc314) {\n // Lo [27] HANGUL SYLLABLE SSAG..HANGUL SYLLABLE SSAH\n if (0xc2f9 <= code && code <= 0xc313) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SSAE\n if (0xc314 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc368) {\n if (code < 0xc331) {\n if (code < 0xc330) {\n // Lo [27] HANGUL SYLLABLE SSAEG..HANGUL SYLLABLE SSAEH\n if (0xc315 <= code && code <= 0xc32f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SSYA\n if (0xc330 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xc34c) {\n // Lo [27] HANGUL SYLLABLE SSYAG..HANGUL SYLLABLE SSYAH\n if (0xc331 <= code && code <= 0xc34b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc34d) {\n // Lo HANGUL SYLLABLE SSYAE\n if (0xc34c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SSYAEG..HANGUL SYLLABLE SSYAEH\n if (0xc34d <= code && code <= 0xc367) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc385) {\n if (code < 0xc369) {\n // Lo HANGUL SYLLABLE SSEO\n if (0xc368 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc384) {\n // Lo [27] HANGUL SYLLABLE SSEOG..HANGUL SYLLABLE SSEOH\n if (0xc369 <= code && code <= 0xc383) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SSE\n if (0xc384 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xc3a0) {\n // Lo [27] HANGUL SYLLABLE SSEG..HANGUL SYLLABLE SSEH\n if (0xc385 <= code && code <= 0xc39f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc3a1) {\n // Lo HANGUL SYLLABLE SSYEO\n if (0xc3a0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SSYEOG..HANGUL SYLLABLE SSYEOH\n if (0xc3a1 <= code && code <= 0xc3bb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc609) {\n if (code < 0xc4d5) {\n if (code < 0xc448) {\n if (code < 0xc3f5) {\n if (code < 0xc3d8) {\n if (code < 0xc3bd) {\n // Lo HANGUL SYLLABLE SSYE\n if (0xc3bc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SSYEG..HANGUL SYLLABLE SSYEH\n if (0xc3bd <= code && code <= 0xc3d7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xc3d9) {\n // Lo HANGUL SYLLABLE SSO\n if (0xc3d8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc3f4) {\n // Lo [27] HANGUL SYLLABLE SSOG..HANGUL SYLLABLE SSOH\n if (0xc3d9 <= code && code <= 0xc3f3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SSWA\n if (0xc3f4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc411) {\n if (code < 0xc410) {\n // Lo [27] HANGUL SYLLABLE SSWAG..HANGUL SYLLABLE SSWAH\n if (0xc3f5 <= code && code <= 0xc40f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SSWAE\n if (0xc410 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xc42c) {\n // Lo [27] HANGUL SYLLABLE SSWAEG..HANGUL SYLLABLE SSWAEH\n if (0xc411 <= code && code <= 0xc42b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc42d) {\n // Lo HANGUL SYLLABLE SSOE\n if (0xc42c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SSOEG..HANGUL SYLLABLE SSOEH\n if (0xc42d <= code && code <= 0xc447) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc481) {\n if (code < 0xc464) {\n if (code < 0xc449) {\n // Lo HANGUL SYLLABLE SSYO\n if (0xc448 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SSYOG..HANGUL SYLLABLE SSYOH\n if (0xc449 <= code && code <= 0xc463) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xc465) {\n // Lo HANGUL SYLLABLE SSU\n if (0xc464 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc480) {\n // Lo [27] HANGUL SYLLABLE SSUG..HANGUL SYLLABLE SSUH\n if (0xc465 <= code && code <= 0xc47f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SSWEO\n if (0xc480 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc4b8) {\n if (code < 0xc49c) {\n // Lo [27] HANGUL SYLLABLE SSWEOG..HANGUL SYLLABLE SSWEOH\n if (0xc481 <= code && code <= 0xc49b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc49d) {\n // Lo HANGUL SYLLABLE SSWE\n if (0xc49c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SSWEG..HANGUL SYLLABLE SSWEH\n if (0xc49d <= code && code <= 0xc4b7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xc4b9) {\n // Lo HANGUL SYLLABLE SSWI\n if (0xc4b8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc4d4) {\n // Lo [27] HANGUL SYLLABLE SSWIG..HANGUL SYLLABLE SSWIH\n if (0xc4b9 <= code && code <= 0xc4d3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SSYU\n if (0xc4d4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc57c) {\n if (code < 0xc528) {\n if (code < 0xc4f1) {\n if (code < 0xc4f0) {\n // Lo [27] HANGUL SYLLABLE SSYUG..HANGUL SYLLABLE SSYUH\n if (0xc4d5 <= code && code <= 0xc4ef) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE SSEU\n if (0xc4f0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xc50c) {\n // Lo [27] HANGUL SYLLABLE SSEUG..HANGUL SYLLABLE SSEUH\n if (0xc4f1 <= code && code <= 0xc50b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc50d) {\n // Lo HANGUL SYLLABLE SSYI\n if (0xc50c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE SSYIG..HANGUL SYLLABLE SSYIH\n if (0xc50d <= code && code <= 0xc527) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc545) {\n if (code < 0xc529) {\n // Lo HANGUL SYLLABLE SSI\n if (0xc528 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc544) {\n // Lo [27] HANGUL SYLLABLE SSIG..HANGUL SYLLABLE SSIH\n if (0xc529 <= code && code <= 0xc543) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE A\n if (0xc544 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xc560) {\n // Lo [27] HANGUL SYLLABLE AG..HANGUL SYLLABLE AH\n if (0xc545 <= code && code <= 0xc55f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc561) {\n // Lo HANGUL SYLLABLE AE\n if (0xc560 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE AEG..HANGUL SYLLABLE AEH\n if (0xc561 <= code && code <= 0xc57b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc5b5) {\n if (code < 0xc598) {\n if (code < 0xc57d) {\n // Lo HANGUL SYLLABLE YA\n if (0xc57c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE YAG..HANGUL SYLLABLE YAH\n if (0xc57d <= code && code <= 0xc597) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xc599) {\n // Lo HANGUL SYLLABLE YAE\n if (0xc598 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc5b4) {\n // Lo [27] HANGUL SYLLABLE YAEG..HANGUL SYLLABLE YAEH\n if (0xc599 <= code && code <= 0xc5b3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE EO\n if (0xc5b4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc5ec) {\n if (code < 0xc5d0) {\n // Lo [27] HANGUL SYLLABLE EOG..HANGUL SYLLABLE EOH\n if (0xc5b5 <= code && code <= 0xc5cf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc5d1) {\n // Lo HANGUL SYLLABLE E\n if (0xc5d0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE EG..HANGUL SYLLABLE EH\n if (0xc5d1 <= code && code <= 0xc5eb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xc5ed) {\n // Lo HANGUL SYLLABLE YEO\n if (0xc5ec === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc608) {\n // Lo [27] HANGUL SYLLABLE YEOG..HANGUL SYLLABLE YEOH\n if (0xc5ed <= code && code <= 0xc607) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE YE\n if (0xc608 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc73c) {\n if (code < 0xc695) {\n if (code < 0xc65c) {\n if (code < 0xc625) {\n if (code < 0xc624) {\n // Lo [27] HANGUL SYLLABLE YEG..HANGUL SYLLABLE YEH\n if (0xc609 <= code && code <= 0xc623) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE O\n if (0xc624 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xc640) {\n // Lo [27] HANGUL SYLLABLE OG..HANGUL SYLLABLE OH\n if (0xc625 <= code && code <= 0xc63f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc641) {\n // Lo HANGUL SYLLABLE WA\n if (0xc640 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE WAG..HANGUL SYLLABLE WAH\n if (0xc641 <= code && code <= 0xc65b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc678) {\n if (code < 0xc65d) {\n // Lo HANGUL SYLLABLE WAE\n if (0xc65c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE WAEG..HANGUL SYLLABLE WAEH\n if (0xc65d <= code && code <= 0xc677) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xc679) {\n // Lo HANGUL SYLLABLE OE\n if (0xc678 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc694) {\n // Lo [27] HANGUL SYLLABLE OEG..HANGUL SYLLABLE OEH\n if (0xc679 <= code && code <= 0xc693) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE YO\n if (0xc694 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc6e8) {\n if (code < 0xc6b1) {\n if (code < 0xc6b0) {\n // Lo [27] HANGUL SYLLABLE YOG..HANGUL SYLLABLE YOH\n if (0xc695 <= code && code <= 0xc6af) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE U\n if (0xc6b0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xc6cc) {\n // Lo [27] HANGUL SYLLABLE UG..HANGUL SYLLABLE UH\n if (0xc6b1 <= code && code <= 0xc6cb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc6cd) {\n // Lo HANGUL SYLLABLE WEO\n if (0xc6cc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE WEOG..HANGUL SYLLABLE WEOH\n if (0xc6cd <= code && code <= 0xc6e7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc705) {\n if (code < 0xc6e9) {\n // Lo HANGUL SYLLABLE WE\n if (0xc6e8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc704) {\n // Lo [27] HANGUL SYLLABLE WEG..HANGUL SYLLABLE WEH\n if (0xc6e9 <= code && code <= 0xc703) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE WI\n if (0xc704 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xc720) {\n // Lo [27] HANGUL SYLLABLE WIG..HANGUL SYLLABLE WIH\n if (0xc705 <= code && code <= 0xc71f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc721) {\n // Lo HANGUL SYLLABLE YU\n if (0xc720 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE YUG..HANGUL SYLLABLE YUH\n if (0xc721 <= code && code <= 0xc73b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc7c9) {\n if (code < 0xc775) {\n if (code < 0xc758) {\n if (code < 0xc73d) {\n // Lo HANGUL SYLLABLE EU\n if (0xc73c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE EUG..HANGUL SYLLABLE EUH\n if (0xc73d <= code && code <= 0xc757) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xc759) {\n // Lo HANGUL SYLLABLE YI\n if (0xc758 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc774) {\n // Lo [27] HANGUL SYLLABLE YIG..HANGUL SYLLABLE YIH\n if (0xc759 <= code && code <= 0xc773) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE I\n if (0xc774 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc7ac) {\n if (code < 0xc790) {\n // Lo [27] HANGUL SYLLABLE IG..HANGUL SYLLABLE IH\n if (0xc775 <= code && code <= 0xc78f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc791) {\n // Lo HANGUL SYLLABLE JA\n if (0xc790 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JAG..HANGUL SYLLABLE JAH\n if (0xc791 <= code && code <= 0xc7ab) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xc7ad) {\n // Lo HANGUL SYLLABLE JAE\n if (0xc7ac === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc7c8) {\n // Lo [27] HANGUL SYLLABLE JAEG..HANGUL SYLLABLE JAEH\n if (0xc7ad <= code && code <= 0xc7c7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JYA\n if (0xc7c8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc81c) {\n if (code < 0xc7e5) {\n if (code < 0xc7e4) {\n // Lo [27] HANGUL SYLLABLE JYAG..HANGUL SYLLABLE JYAH\n if (0xc7c9 <= code && code <= 0xc7e3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JYAE\n if (0xc7e4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xc800) {\n // Lo [27] HANGUL SYLLABLE JYAEG..HANGUL SYLLABLE JYAEH\n if (0xc7e5 <= code && code <= 0xc7ff) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc801) {\n // Lo HANGUL SYLLABLE JEO\n if (0xc800 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JEOG..HANGUL SYLLABLE JEOH\n if (0xc801 <= code && code <= 0xc81b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc839) {\n if (code < 0xc81d) {\n // Lo HANGUL SYLLABLE JE\n if (0xc81c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc838) {\n // Lo [27] HANGUL SYLLABLE JEG..HANGUL SYLLABLE JEH\n if (0xc81d <= code && code <= 0xc837) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JYEO\n if (0xc838 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xc854) {\n // Lo [27] HANGUL SYLLABLE JYEOG..HANGUL SYLLABLE JYEOH\n if (0xc839 <= code && code <= 0xc853) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc855) {\n // Lo HANGUL SYLLABLE JYE\n if (0xc854 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JYEG..HANGUL SYLLABLE JYEH\n if (0xc855 <= code && code <= 0xc86f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xcd24) {\n if (code < 0xcabd) {\n if (code < 0xc989) {\n if (code < 0xc8fc) {\n if (code < 0xc8a9) {\n if (code < 0xc88c) {\n if (code < 0xc871) {\n // Lo HANGUL SYLLABLE JO\n if (0xc870 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JOG..HANGUL SYLLABLE JOH\n if (0xc871 <= code && code <= 0xc88b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xc88d) {\n // Lo HANGUL SYLLABLE JWA\n if (0xc88c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc8a8) {\n // Lo [27] HANGUL SYLLABLE JWAG..HANGUL SYLLABLE JWAH\n if (0xc88d <= code && code <= 0xc8a7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JWAE\n if (0xc8a8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc8c5) {\n if (code < 0xc8c4) {\n // Lo [27] HANGUL SYLLABLE JWAEG..HANGUL SYLLABLE JWAEH\n if (0xc8a9 <= code && code <= 0xc8c3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JOE\n if (0xc8c4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xc8e0) {\n // Lo [27] HANGUL SYLLABLE JOEG..HANGUL SYLLABLE JOEH\n if (0xc8c5 <= code && code <= 0xc8df) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc8e1) {\n // Lo HANGUL SYLLABLE JYO\n if (0xc8e0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JYOG..HANGUL SYLLABLE JYOH\n if (0xc8e1 <= code && code <= 0xc8fb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xc935) {\n if (code < 0xc918) {\n if (code < 0xc8fd) {\n // Lo HANGUL SYLLABLE JU\n if (0xc8fc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JUG..HANGUL SYLLABLE JUH\n if (0xc8fd <= code && code <= 0xc917) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xc919) {\n // Lo HANGUL SYLLABLE JWEO\n if (0xc918 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc934) {\n // Lo [27] HANGUL SYLLABLE JWEOG..HANGUL SYLLABLE JWEOH\n if (0xc919 <= code && code <= 0xc933) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JWE\n if (0xc934 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc96c) {\n if (code < 0xc950) {\n // Lo [27] HANGUL SYLLABLE JWEG..HANGUL SYLLABLE JWEH\n if (0xc935 <= code && code <= 0xc94f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc951) {\n // Lo HANGUL SYLLABLE JWI\n if (0xc950 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JWIG..HANGUL SYLLABLE JWIH\n if (0xc951 <= code && code <= 0xc96b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xc96d) {\n // Lo HANGUL SYLLABLE JYU\n if (0xc96c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc988) {\n // Lo [27] HANGUL SYLLABLE JYUG..HANGUL SYLLABLE JYUH\n if (0xc96d <= code && code <= 0xc987) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JEU\n if (0xc988 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xca30) {\n if (code < 0xc9dc) {\n if (code < 0xc9a5) {\n if (code < 0xc9a4) {\n // Lo [27] HANGUL SYLLABLE JEUG..HANGUL SYLLABLE JEUH\n if (0xc989 <= code && code <= 0xc9a3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JYI\n if (0xc9a4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xc9c0) {\n // Lo [27] HANGUL SYLLABLE JYIG..HANGUL SYLLABLE JYIH\n if (0xc9a5 <= code && code <= 0xc9bf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xc9c1) {\n // Lo HANGUL SYLLABLE JI\n if (0xc9c0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JIG..HANGUL SYLLABLE JIH\n if (0xc9c1 <= code && code <= 0xc9db) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xc9f9) {\n if (code < 0xc9dd) {\n // Lo HANGUL SYLLABLE JJA\n if (0xc9dc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xc9f8) {\n // Lo [27] HANGUL SYLLABLE JJAG..HANGUL SYLLABLE JJAH\n if (0xc9dd <= code && code <= 0xc9f7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JJAE\n if (0xc9f8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xca14) {\n // Lo [27] HANGUL SYLLABLE JJAEG..HANGUL SYLLABLE JJAEH\n if (0xc9f9 <= code && code <= 0xca13) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xca15) {\n // Lo HANGUL SYLLABLE JJYA\n if (0xca14 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JJYAG..HANGUL SYLLABLE JJYAH\n if (0xca15 <= code && code <= 0xca2f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xca69) {\n if (code < 0xca4c) {\n if (code < 0xca31) {\n // Lo HANGUL SYLLABLE JJYAE\n if (0xca30 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JJYAEG..HANGUL SYLLABLE JJYAEH\n if (0xca31 <= code && code <= 0xca4b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xca4d) {\n // Lo HANGUL SYLLABLE JJEO\n if (0xca4c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xca68) {\n // Lo [27] HANGUL SYLLABLE JJEOG..HANGUL SYLLABLE JJEOH\n if (0xca4d <= code && code <= 0xca67) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JJE\n if (0xca68 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xcaa0) {\n if (code < 0xca84) {\n // Lo [27] HANGUL SYLLABLE JJEG..HANGUL SYLLABLE JJEH\n if (0xca69 <= code && code <= 0xca83) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xca85) {\n // Lo HANGUL SYLLABLE JJYEO\n if (0xca84 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JJYEOG..HANGUL SYLLABLE JJYEOH\n if (0xca85 <= code && code <= 0xca9f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xcaa1) {\n // Lo HANGUL SYLLABLE JJYE\n if (0xcaa0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xcabc) {\n // Lo [27] HANGUL SYLLABLE JJYEG..HANGUL SYLLABLE JJYEH\n if (0xcaa1 <= code && code <= 0xcabb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JJO\n if (0xcabc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xcbf0) {\n if (code < 0xcb49) {\n if (code < 0xcb10) {\n if (code < 0xcad9) {\n if (code < 0xcad8) {\n // Lo [27] HANGUL SYLLABLE JJOG..HANGUL SYLLABLE JJOH\n if (0xcabd <= code && code <= 0xcad7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JJWA\n if (0xcad8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xcaf4) {\n // Lo [27] HANGUL SYLLABLE JJWAG..HANGUL SYLLABLE JJWAH\n if (0xcad9 <= code && code <= 0xcaf3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xcaf5) {\n // Lo HANGUL SYLLABLE JJWAE\n if (0xcaf4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JJWAEG..HANGUL SYLLABLE JJWAEH\n if (0xcaf5 <= code && code <= 0xcb0f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xcb2c) {\n if (code < 0xcb11) {\n // Lo HANGUL SYLLABLE JJOE\n if (0xcb10 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JJOEG..HANGUL SYLLABLE JJOEH\n if (0xcb11 <= code && code <= 0xcb2b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xcb2d) {\n // Lo HANGUL SYLLABLE JJYO\n if (0xcb2c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xcb48) {\n // Lo [27] HANGUL SYLLABLE JJYOG..HANGUL SYLLABLE JJYOH\n if (0xcb2d <= code && code <= 0xcb47) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JJU\n if (0xcb48 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xcb9c) {\n if (code < 0xcb65) {\n if (code < 0xcb64) {\n // Lo [27] HANGUL SYLLABLE JJUG..HANGUL SYLLABLE JJUH\n if (0xcb49 <= code && code <= 0xcb63) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JJWEO\n if (0xcb64 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xcb80) {\n // Lo [27] HANGUL SYLLABLE JJWEOG..HANGUL SYLLABLE JJWEOH\n if (0xcb65 <= code && code <= 0xcb7f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xcb81) {\n // Lo HANGUL SYLLABLE JJWE\n if (0xcb80 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JJWEG..HANGUL SYLLABLE JJWEH\n if (0xcb81 <= code && code <= 0xcb9b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xcbb9) {\n if (code < 0xcb9d) {\n // Lo HANGUL SYLLABLE JJWI\n if (0xcb9c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xcbb8) {\n // Lo [27] HANGUL SYLLABLE JJWIG..HANGUL SYLLABLE JJWIH\n if (0xcb9d <= code && code <= 0xcbb7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE JJYU\n if (0xcbb8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xcbd4) {\n // Lo [27] HANGUL SYLLABLE JJYUG..HANGUL SYLLABLE JJYUH\n if (0xcbb9 <= code && code <= 0xcbd3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xcbd5) {\n // Lo HANGUL SYLLABLE JJEU\n if (0xcbd4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JJEUG..HANGUL SYLLABLE JJEUH\n if (0xcbd5 <= code && code <= 0xcbef) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xcc7d) {\n if (code < 0xcc29) {\n if (code < 0xcc0c) {\n if (code < 0xcbf1) {\n // Lo HANGUL SYLLABLE JJYI\n if (0xcbf0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE JJYIG..HANGUL SYLLABLE JJYIH\n if (0xcbf1 <= code && code <= 0xcc0b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xcc0d) {\n // Lo HANGUL SYLLABLE JJI\n if (0xcc0c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xcc28) {\n // Lo [27] HANGUL SYLLABLE JJIG..HANGUL SYLLABLE JJIH\n if (0xcc0d <= code && code <= 0xcc27) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE CA\n if (0xcc28 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xcc60) {\n if (code < 0xcc44) {\n // Lo [27] HANGUL SYLLABLE CAG..HANGUL SYLLABLE CAH\n if (0xcc29 <= code && code <= 0xcc43) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xcc45) {\n // Lo HANGUL SYLLABLE CAE\n if (0xcc44 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE CAEG..HANGUL SYLLABLE CAEH\n if (0xcc45 <= code && code <= 0xcc5f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xcc61) {\n // Lo HANGUL SYLLABLE CYA\n if (0xcc60 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xcc7c) {\n // Lo [27] HANGUL SYLLABLE CYAG..HANGUL SYLLABLE CYAH\n if (0xcc61 <= code && code <= 0xcc7b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE CYAE\n if (0xcc7c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xccd0) {\n if (code < 0xcc99) {\n if (code < 0xcc98) {\n // Lo [27] HANGUL SYLLABLE CYAEG..HANGUL SYLLABLE CYAEH\n if (0xcc7d <= code && code <= 0xcc97) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE CEO\n if (0xcc98 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xccb4) {\n // Lo [27] HANGUL SYLLABLE CEOG..HANGUL SYLLABLE CEOH\n if (0xcc99 <= code && code <= 0xccb3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xccb5) {\n // Lo HANGUL SYLLABLE CE\n if (0xccb4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE CEG..HANGUL SYLLABLE CEH\n if (0xccb5 <= code && code <= 0xcccf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xcced) {\n if (code < 0xccd1) {\n // Lo HANGUL SYLLABLE CYEO\n if (0xccd0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xccec) {\n // Lo [27] HANGUL SYLLABLE CYEOG..HANGUL SYLLABLE CYEOH\n if (0xccd1 <= code && code <= 0xcceb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE CYE\n if (0xccec === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xcd08) {\n // Lo [27] HANGUL SYLLABLE CYEG..HANGUL SYLLABLE CYEH\n if (0xcced <= code && code <= 0xcd07) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xcd09) {\n // Lo HANGUL SYLLABLE CO\n if (0xcd08 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE COG..HANGUL SYLLABLE COH\n if (0xcd09 <= code && code <= 0xcd23) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xcf71) {\n if (code < 0xce3d) {\n if (code < 0xcdb0) {\n if (code < 0xcd5d) {\n if (code < 0xcd40) {\n if (code < 0xcd25) {\n // Lo HANGUL SYLLABLE CWA\n if (0xcd24 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE CWAG..HANGUL SYLLABLE CWAH\n if (0xcd25 <= code && code <= 0xcd3f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xcd41) {\n // Lo HANGUL SYLLABLE CWAE\n if (0xcd40 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xcd5c) {\n // Lo [27] HANGUL SYLLABLE CWAEG..HANGUL SYLLABLE CWAEH\n if (0xcd41 <= code && code <= 0xcd5b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE COE\n if (0xcd5c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xcd79) {\n if (code < 0xcd78) {\n // Lo [27] HANGUL SYLLABLE COEG..HANGUL SYLLABLE COEH\n if (0xcd5d <= code && code <= 0xcd77) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE CYO\n if (0xcd78 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xcd94) {\n // Lo [27] HANGUL SYLLABLE CYOG..HANGUL SYLLABLE CYOH\n if (0xcd79 <= code && code <= 0xcd93) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xcd95) {\n // Lo HANGUL SYLLABLE CU\n if (0xcd94 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE CUG..HANGUL SYLLABLE CUH\n if (0xcd95 <= code && code <= 0xcdaf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xcde9) {\n if (code < 0xcdcc) {\n if (code < 0xcdb1) {\n // Lo HANGUL SYLLABLE CWEO\n if (0xcdb0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE CWEOG..HANGUL SYLLABLE CWEOH\n if (0xcdb1 <= code && code <= 0xcdcb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xcdcd) {\n // Lo HANGUL SYLLABLE CWE\n if (0xcdcc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xcde8) {\n // Lo [27] HANGUL SYLLABLE CWEG..HANGUL SYLLABLE CWEH\n if (0xcdcd <= code && code <= 0xcde7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE CWI\n if (0xcde8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xce20) {\n if (code < 0xce04) {\n // Lo [27] HANGUL SYLLABLE CWIG..HANGUL SYLLABLE CWIH\n if (0xcde9 <= code && code <= 0xce03) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xce05) {\n // Lo HANGUL SYLLABLE CYU\n if (0xce04 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE CYUG..HANGUL SYLLABLE CYUH\n if (0xce05 <= code && code <= 0xce1f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xce21) {\n // Lo HANGUL SYLLABLE CEU\n if (0xce20 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xce3c) {\n // Lo [27] HANGUL SYLLABLE CEUG..HANGUL SYLLABLE CEUH\n if (0xce21 <= code && code <= 0xce3b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE CYI\n if (0xce3c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xcee4) {\n if (code < 0xce90) {\n if (code < 0xce59) {\n if (code < 0xce58) {\n // Lo [27] HANGUL SYLLABLE CYIG..HANGUL SYLLABLE CYIH\n if (0xce3d <= code && code <= 0xce57) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE CI\n if (0xce58 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xce74) {\n // Lo [27] HANGUL SYLLABLE CIG..HANGUL SYLLABLE CIH\n if (0xce59 <= code && code <= 0xce73) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xce75) {\n // Lo HANGUL SYLLABLE KA\n if (0xce74 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE KAG..HANGUL SYLLABLE KAH\n if (0xce75 <= code && code <= 0xce8f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xcead) {\n if (code < 0xce91) {\n // Lo HANGUL SYLLABLE KAE\n if (0xce90 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xceac) {\n // Lo [27] HANGUL SYLLABLE KAEG..HANGUL SYLLABLE KAEH\n if (0xce91 <= code && code <= 0xceab) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE KYA\n if (0xceac === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xcec8) {\n // Lo [27] HANGUL SYLLABLE KYAG..HANGUL SYLLABLE KYAH\n if (0xcead <= code && code <= 0xcec7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xcec9) {\n // Lo HANGUL SYLLABLE KYAE\n if (0xcec8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE KYAEG..HANGUL SYLLABLE KYAEH\n if (0xcec9 <= code && code <= 0xcee3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xcf1d) {\n if (code < 0xcf00) {\n if (code < 0xcee5) {\n // Lo HANGUL SYLLABLE KEO\n if (0xcee4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE KEOG..HANGUL SYLLABLE KEOH\n if (0xcee5 <= code && code <= 0xceff) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xcf01) {\n // Lo HANGUL SYLLABLE KE\n if (0xcf00 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xcf1c) {\n // Lo [27] HANGUL SYLLABLE KEG..HANGUL SYLLABLE KEH\n if (0xcf01 <= code && code <= 0xcf1b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE KYEO\n if (0xcf1c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xcf54) {\n if (code < 0xcf38) {\n // Lo [27] HANGUL SYLLABLE KYEOG..HANGUL SYLLABLE KYEOH\n if (0xcf1d <= code && code <= 0xcf37) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xcf39) {\n // Lo HANGUL SYLLABLE KYE\n if (0xcf38 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE KYEG..HANGUL SYLLABLE KYEH\n if (0xcf39 <= code && code <= 0xcf53) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xcf55) {\n // Lo HANGUL SYLLABLE KO\n if (0xcf54 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xcf70) {\n // Lo [27] HANGUL SYLLABLE KOG..HANGUL SYLLABLE KOH\n if (0xcf55 <= code && code <= 0xcf6f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE KWA\n if (0xcf70 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xd0a4) {\n if (code < 0xcffd) {\n if (code < 0xcfc4) {\n if (code < 0xcf8d) {\n if (code < 0xcf8c) {\n // Lo [27] HANGUL SYLLABLE KWAG..HANGUL SYLLABLE KWAH\n if (0xcf71 <= code && code <= 0xcf8b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE KWAE\n if (0xcf8c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xcfa8) {\n // Lo [27] HANGUL SYLLABLE KWAEG..HANGUL SYLLABLE KWAEH\n if (0xcf8d <= code && code <= 0xcfa7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xcfa9) {\n // Lo HANGUL SYLLABLE KOE\n if (0xcfa8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE KOEG..HANGUL SYLLABLE KOEH\n if (0xcfa9 <= code && code <= 0xcfc3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xcfe0) {\n if (code < 0xcfc5) {\n // Lo HANGUL SYLLABLE KYO\n if (0xcfc4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE KYOG..HANGUL SYLLABLE KYOH\n if (0xcfc5 <= code && code <= 0xcfdf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xcfe1) {\n // Lo HANGUL SYLLABLE KU\n if (0xcfe0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xcffc) {\n // Lo [27] HANGUL SYLLABLE KUG..HANGUL SYLLABLE KUH\n if (0xcfe1 <= code && code <= 0xcffb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE KWEO\n if (0xcffc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xd050) {\n if (code < 0xd019) {\n if (code < 0xd018) {\n // Lo [27] HANGUL SYLLABLE KWEOG..HANGUL SYLLABLE KWEOH\n if (0xcffd <= code && code <= 0xd017) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE KWE\n if (0xd018 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xd034) {\n // Lo [27] HANGUL SYLLABLE KWEG..HANGUL SYLLABLE KWEH\n if (0xd019 <= code && code <= 0xd033) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd035) {\n // Lo HANGUL SYLLABLE KWI\n if (0xd034 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE KWIG..HANGUL SYLLABLE KWIH\n if (0xd035 <= code && code <= 0xd04f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd06d) {\n if (code < 0xd051) {\n // Lo HANGUL SYLLABLE KYU\n if (0xd050 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd06c) {\n // Lo [27] HANGUL SYLLABLE KYUG..HANGUL SYLLABLE KYUH\n if (0xd051 <= code && code <= 0xd06b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE KEU\n if (0xd06c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xd088) {\n // Lo [27] HANGUL SYLLABLE KEUG..HANGUL SYLLABLE KEUH\n if (0xd06d <= code && code <= 0xd087) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd089) {\n // Lo HANGUL SYLLABLE KYI\n if (0xd088 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE KYIG..HANGUL SYLLABLE KYIH\n if (0xd089 <= code && code <= 0xd0a3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xd131) {\n if (code < 0xd0dd) {\n if (code < 0xd0c0) {\n if (code < 0xd0a5) {\n // Lo HANGUL SYLLABLE KI\n if (0xd0a4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE KIG..HANGUL SYLLABLE KIH\n if (0xd0a5 <= code && code <= 0xd0bf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xd0c1) {\n // Lo HANGUL SYLLABLE TA\n if (0xd0c0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd0dc) {\n // Lo [27] HANGUL SYLLABLE TAG..HANGUL SYLLABLE TAH\n if (0xd0c1 <= code && code <= 0xd0db) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE TAE\n if (0xd0dc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd114) {\n if (code < 0xd0f8) {\n // Lo [27] HANGUL SYLLABLE TAEG..HANGUL SYLLABLE TAEH\n if (0xd0dd <= code && code <= 0xd0f7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd0f9) {\n // Lo HANGUL SYLLABLE TYA\n if (0xd0f8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE TYAG..HANGUL SYLLABLE TYAH\n if (0xd0f9 <= code && code <= 0xd113) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xd115) {\n // Lo HANGUL SYLLABLE TYAE\n if (0xd114 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd130) {\n // Lo [27] HANGUL SYLLABLE TYAEG..HANGUL SYLLABLE TYAEH\n if (0xd115 <= code && code <= 0xd12f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE TEO\n if (0xd130 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xd184) {\n if (code < 0xd14d) {\n if (code < 0xd14c) {\n // Lo [27] HANGUL SYLLABLE TEOG..HANGUL SYLLABLE TEOH\n if (0xd131 <= code && code <= 0xd14b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE TE\n if (0xd14c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xd168) {\n // Lo [27] HANGUL SYLLABLE TEG..HANGUL SYLLABLE TEH\n if (0xd14d <= code && code <= 0xd167) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd169) {\n // Lo HANGUL SYLLABLE TYEO\n if (0xd168 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE TYEOG..HANGUL SYLLABLE TYEOH\n if (0xd169 <= code && code <= 0xd183) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd1a1) {\n if (code < 0xd185) {\n // Lo HANGUL SYLLABLE TYE\n if (0xd184 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd1a0) {\n // Lo [27] HANGUL SYLLABLE TYEG..HANGUL SYLLABLE TYEH\n if (0xd185 <= code && code <= 0xd19f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE TO\n if (0xd1a0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xd1bc) {\n // Lo [27] HANGUL SYLLABLE TOG..HANGUL SYLLABLE TOH\n if (0xd1a1 <= code && code <= 0xd1bb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd1bd) {\n // Lo HANGUL SYLLABLE TWA\n if (0xd1bc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE TWAG..HANGUL SYLLABLE TWAH\n if (0xd1bd <= code && code <= 0xd1d7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1133b) {\n if (code < 0xd671) {\n if (code < 0xd424) {\n if (code < 0xd2f1) {\n if (code < 0xd264) {\n if (code < 0xd211) {\n if (code < 0xd1f4) {\n if (code < 0xd1d9) {\n // Lo HANGUL SYLLABLE TWAE\n if (0xd1d8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE TWAEG..HANGUL SYLLABLE TWAEH\n if (0xd1d9 <= code && code <= 0xd1f3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xd1f5) {\n // Lo HANGUL SYLLABLE TOE\n if (0xd1f4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd210) {\n // Lo [27] HANGUL SYLLABLE TOEG..HANGUL SYLLABLE TOEH\n if (0xd1f5 <= code && code <= 0xd20f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE TYO\n if (0xd210 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd22d) {\n if (code < 0xd22c) {\n // Lo [27] HANGUL SYLLABLE TYOG..HANGUL SYLLABLE TYOH\n if (0xd211 <= code && code <= 0xd22b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE TU\n if (0xd22c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xd248) {\n // Lo [27] HANGUL SYLLABLE TUG..HANGUL SYLLABLE TUH\n if (0xd22d <= code && code <= 0xd247) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd249) {\n // Lo HANGUL SYLLABLE TWEO\n if (0xd248 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE TWEOG..HANGUL SYLLABLE TWEOH\n if (0xd249 <= code && code <= 0xd263) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xd29d) {\n if (code < 0xd280) {\n if (code < 0xd265) {\n // Lo HANGUL SYLLABLE TWE\n if (0xd264 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE TWEG..HANGUL SYLLABLE TWEH\n if (0xd265 <= code && code <= 0xd27f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xd281) {\n // Lo HANGUL SYLLABLE TWI\n if (0xd280 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd29c) {\n // Lo [27] HANGUL SYLLABLE TWIG..HANGUL SYLLABLE TWIH\n if (0xd281 <= code && code <= 0xd29b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE TYU\n if (0xd29c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd2d4) {\n if (code < 0xd2b8) {\n // Lo [27] HANGUL SYLLABLE TYUG..HANGUL SYLLABLE TYUH\n if (0xd29d <= code && code <= 0xd2b7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd2b9) {\n // Lo HANGUL SYLLABLE TEU\n if (0xd2b8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE TEUG..HANGUL SYLLABLE TEUH\n if (0xd2b9 <= code && code <= 0xd2d3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xd2d5) {\n // Lo HANGUL SYLLABLE TYI\n if (0xd2d4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd2f0) {\n // Lo [27] HANGUL SYLLABLE TYIG..HANGUL SYLLABLE TYIH\n if (0xd2d5 <= code && code <= 0xd2ef) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE TI\n if (0xd2f0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xd37d) {\n if (code < 0xd344) {\n if (code < 0xd30d) {\n if (code < 0xd30c) {\n // Lo [27] HANGUL SYLLABLE TIG..HANGUL SYLLABLE TIH\n if (0xd2f1 <= code && code <= 0xd30b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE PA\n if (0xd30c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xd328) {\n // Lo [27] HANGUL SYLLABLE PAG..HANGUL SYLLABLE PAH\n if (0xd30d <= code && code <= 0xd327) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd329) {\n // Lo HANGUL SYLLABLE PAE\n if (0xd328 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE PAEG..HANGUL SYLLABLE PAEH\n if (0xd329 <= code && code <= 0xd343) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd360) {\n if (code < 0xd345) {\n // Lo HANGUL SYLLABLE PYA\n if (0xd344 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE PYAG..HANGUL SYLLABLE PYAH\n if (0xd345 <= code && code <= 0xd35f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xd361) {\n // Lo HANGUL SYLLABLE PYAE\n if (0xd360 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd37c) {\n // Lo [27] HANGUL SYLLABLE PYAEG..HANGUL SYLLABLE PYAEH\n if (0xd361 <= code && code <= 0xd37b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE PEO\n if (0xd37c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xd3d0) {\n if (code < 0xd399) {\n if (code < 0xd398) {\n // Lo [27] HANGUL SYLLABLE PEOG..HANGUL SYLLABLE PEOH\n if (0xd37d <= code && code <= 0xd397) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE PE\n if (0xd398 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xd3b4) {\n // Lo [27] HANGUL SYLLABLE PEG..HANGUL SYLLABLE PEH\n if (0xd399 <= code && code <= 0xd3b3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd3b5) {\n // Lo HANGUL SYLLABLE PYEO\n if (0xd3b4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE PYEOG..HANGUL SYLLABLE PYEOH\n if (0xd3b5 <= code && code <= 0xd3cf) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd3ed) {\n if (code < 0xd3d1) {\n // Lo HANGUL SYLLABLE PYE\n if (0xd3d0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd3ec) {\n // Lo [27] HANGUL SYLLABLE PYEG..HANGUL SYLLABLE PYEH\n if (0xd3d1 <= code && code <= 0xd3eb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE PO\n if (0xd3ec === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xd408) {\n // Lo [27] HANGUL SYLLABLE POG..HANGUL SYLLABLE POH\n if (0xd3ed <= code && code <= 0xd407) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd409) {\n // Lo HANGUL SYLLABLE PWA\n if (0xd408 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE PWAG..HANGUL SYLLABLE PWAH\n if (0xd409 <= code && code <= 0xd423) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xd53d) {\n if (code < 0xd4b0) {\n if (code < 0xd45d) {\n if (code < 0xd440) {\n if (code < 0xd425) {\n // Lo HANGUL SYLLABLE PWAE\n if (0xd424 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE PWAEG..HANGUL SYLLABLE PWAEH\n if (0xd425 <= code && code <= 0xd43f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xd441) {\n // Lo HANGUL SYLLABLE POE\n if (0xd440 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd45c) {\n // Lo [27] HANGUL SYLLABLE POEG..HANGUL SYLLABLE POEH\n if (0xd441 <= code && code <= 0xd45b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE PYO\n if (0xd45c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd479) {\n if (code < 0xd478) {\n // Lo [27] HANGUL SYLLABLE PYOG..HANGUL SYLLABLE PYOH\n if (0xd45d <= code && code <= 0xd477) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE PU\n if (0xd478 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xd494) {\n // Lo [27] HANGUL SYLLABLE PUG..HANGUL SYLLABLE PUH\n if (0xd479 <= code && code <= 0xd493) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd495) {\n // Lo HANGUL SYLLABLE PWEO\n if (0xd494 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE PWEOG..HANGUL SYLLABLE PWEOH\n if (0xd495 <= code && code <= 0xd4af) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xd4e9) {\n if (code < 0xd4cc) {\n if (code < 0xd4b1) {\n // Lo HANGUL SYLLABLE PWE\n if (0xd4b0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE PWEG..HANGUL SYLLABLE PWEH\n if (0xd4b1 <= code && code <= 0xd4cb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xd4cd) {\n // Lo HANGUL SYLLABLE PWI\n if (0xd4cc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd4e8) {\n // Lo [27] HANGUL SYLLABLE PWIG..HANGUL SYLLABLE PWIH\n if (0xd4cd <= code && code <= 0xd4e7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE PYU\n if (0xd4e8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd520) {\n if (code < 0xd504) {\n // Lo [27] HANGUL SYLLABLE PYUG..HANGUL SYLLABLE PYUH\n if (0xd4e9 <= code && code <= 0xd503) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd505) {\n // Lo HANGUL SYLLABLE PEU\n if (0xd504 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE PEUG..HANGUL SYLLABLE PEUH\n if (0xd505 <= code && code <= 0xd51f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xd521) {\n // Lo HANGUL SYLLABLE PYI\n if (0xd520 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd53c) {\n // Lo [27] HANGUL SYLLABLE PYIG..HANGUL SYLLABLE PYIH\n if (0xd521 <= code && code <= 0xd53b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE PI\n if (0xd53c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xd5e4) {\n if (code < 0xd590) {\n if (code < 0xd559) {\n if (code < 0xd558) {\n // Lo [27] HANGUL SYLLABLE PIG..HANGUL SYLLABLE PIH\n if (0xd53d <= code && code <= 0xd557) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE HA\n if (0xd558 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xd574) {\n // Lo [27] HANGUL SYLLABLE HAG..HANGUL SYLLABLE HAH\n if (0xd559 <= code && code <= 0xd573) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd575) {\n // Lo HANGUL SYLLABLE HAE\n if (0xd574 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE HAEG..HANGUL SYLLABLE HAEH\n if (0xd575 <= code && code <= 0xd58f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd5ad) {\n if (code < 0xd591) {\n // Lo HANGUL SYLLABLE HYA\n if (0xd590 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd5ac) {\n // Lo [27] HANGUL SYLLABLE HYAG..HANGUL SYLLABLE HYAH\n if (0xd591 <= code && code <= 0xd5ab) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE HYAE\n if (0xd5ac === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xd5c8) {\n // Lo [27] HANGUL SYLLABLE HYAEG..HANGUL SYLLABLE HYAEH\n if (0xd5ad <= code && code <= 0xd5c7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd5c9) {\n // Lo HANGUL SYLLABLE HEO\n if (0xd5c8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE HEOG..HANGUL SYLLABLE HEOH\n if (0xd5c9 <= code && code <= 0xd5e3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xd61d) {\n if (code < 0xd600) {\n if (code < 0xd5e5) {\n // Lo HANGUL SYLLABLE HE\n if (0xd5e4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE HEG..HANGUL SYLLABLE HEH\n if (0xd5e5 <= code && code <= 0xd5ff) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xd601) {\n // Lo HANGUL SYLLABLE HYEO\n if (0xd600 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd61c) {\n // Lo [27] HANGUL SYLLABLE HYEOG..HANGUL SYLLABLE HYEOH\n if (0xd601 <= code && code <= 0xd61b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE HYE\n if (0xd61c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd654) {\n if (code < 0xd638) {\n // Lo [27] HANGUL SYLLABLE HYEG..HANGUL SYLLABLE HYEH\n if (0xd61d <= code && code <= 0xd637) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd639) {\n // Lo HANGUL SYLLABLE HO\n if (0xd638 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE HOG..HANGUL SYLLABLE HOH\n if (0xd639 <= code && code <= 0xd653) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n else {\n if (code < 0xd655) {\n // Lo HANGUL SYLLABLE HWA\n if (0xd654 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd670) {\n // Lo [27] HANGUL SYLLABLE HWAG..HANGUL SYLLABLE HWAH\n if (0xd655 <= code && code <= 0xd66f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE HWAE\n if (0xd670 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x11000) {\n if (code < 0xd7b0) {\n if (code < 0xd6fd) {\n if (code < 0xd6c4) {\n if (code < 0xd68d) {\n if (code < 0xd68c) {\n // Lo [27] HANGUL SYLLABLE HWAEG..HANGUL SYLLABLE HWAEH\n if (0xd671 <= code && code <= 0xd68b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE HOE\n if (0xd68c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xd6a8) {\n // Lo [27] HANGUL SYLLABLE HOEG..HANGUL SYLLABLE HOEH\n if (0xd68d <= code && code <= 0xd6a7) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd6a9) {\n // Lo HANGUL SYLLABLE HYO\n if (0xd6a8 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE HYOG..HANGUL SYLLABLE HYOH\n if (0xd6a9 <= code && code <= 0xd6c3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd6e0) {\n if (code < 0xd6c5) {\n // Lo HANGUL SYLLABLE HU\n if (0xd6c4 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE HUG..HANGUL SYLLABLE HUH\n if (0xd6c5 <= code && code <= 0xd6df) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n else {\n if (code < 0xd6e1) {\n // Lo HANGUL SYLLABLE HWEO\n if (0xd6e0 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd6fc) {\n // Lo [27] HANGUL SYLLABLE HWEOG..HANGUL SYLLABLE HWEOH\n if (0xd6e1 <= code && code <= 0xd6fb) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE HWE\n if (0xd6fc === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0xd750) {\n if (code < 0xd719) {\n if (code < 0xd718) {\n // Lo [27] HANGUL SYLLABLE HWEG..HANGUL SYLLABLE HWEH\n if (0xd6fd <= code && code <= 0xd717) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE HWI\n if (0xd718 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n else {\n if (code < 0xd734) {\n // Lo [27] HANGUL SYLLABLE HWIG..HANGUL SYLLABLE HWIH\n if (0xd719 <= code && code <= 0xd733) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd735) {\n // Lo HANGUL SYLLABLE HYU\n if (0xd734 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE HYUG..HANGUL SYLLABLE HYUH\n if (0xd735 <= code && code <= 0xd74f) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n else {\n if (code < 0xd76d) {\n if (code < 0xd751) {\n // Lo HANGUL SYLLABLE HEU\n if (0xd750 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n if (code < 0xd76c) {\n // Lo [27] HANGUL SYLLABLE HEUG..HANGUL SYLLABLE HEUH\n if (0xd751 <= code && code <= 0xd76b) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n // Lo HANGUL SYLLABLE HYI\n if (0xd76c === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n }\n }\n else {\n if (code < 0xd788) {\n // Lo [27] HANGUL SYLLABLE HYIG..HANGUL SYLLABLE HYIH\n if (0xd76d <= code && code <= 0xd787) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n else {\n if (code < 0xd789) {\n // Lo HANGUL SYLLABLE HI\n if (0xd788 === code) {\n return boundaries_1.CLUSTER_BREAK.LV;\n }\n }\n else {\n // Lo [27] HANGUL SYLLABLE HIG..HANGUL SYLLABLE HIH\n if (0xd789 <= code && code <= 0xd7a3) {\n return boundaries_1.CLUSTER_BREAK.LVT;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x10a01) {\n if (code < 0xfeff) {\n if (code < 0xfb1e) {\n if (code < 0xd7cb) {\n // Lo [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E\n if (0xd7b0 <= code && code <= 0xd7c6) {\n return boundaries_1.CLUSTER_BREAK.V;\n }\n }\n else {\n // Lo [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH\n if (0xd7cb <= code && code <= 0xd7fb) {\n return boundaries_1.CLUSTER_BREAK.T;\n }\n }\n }\n else {\n if (code < 0xfe00) {\n // Mn HEBREW POINT JUDEO-SPANISH VARIKA\n if (0xfb1e === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xfe20) {\n // Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16\n if (0xfe00 <= code && code <= 0xfe0f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF\n if (0xfe20 <= code && code <= 0xfe2f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x101fd) {\n if (code < 0xff9e) {\n // Cf ZERO WIDTH NO-BREAK SPACE\n if (0xfeff === code) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n else {\n if (code < 0xfff0) {\n // Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK\n if (0xff9e <= code && code <= 0xff9f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Cn [9] ..\n // Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR\n if (0xfff0 <= code && code <= 0xfffb) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n }\n }\n else {\n if (code < 0x102e0) {\n // Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE\n if (0x101fd === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x10376) {\n // Mn COPTIC EPACT THOUSANDS MARK\n if (0x102e0 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [5] COMBINING OLD PERMIC LETTER AN..COMBINING OLD PERMIC LETTER SII\n if (0x10376 <= code && code <= 0x1037a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x10ae5) {\n if (code < 0x10a0c) {\n if (code < 0x10a05) {\n // Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R\n if (0x10a01 <= code && code <= 0x10a03) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O\n if (0x10a05 <= code && code <= 0x10a06) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x10a38) {\n // Mn [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA\n if (0x10a0c <= code && code <= 0x10a0f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x10a3f) {\n // Mn [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW\n if (0x10a38 <= code && code <= 0x10a3a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn KHAROSHTHI VIRAMA\n if (0x10a3f === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x10efd) {\n if (code < 0x10d24) {\n // Mn [2] MANICHAEAN ABBREVIATION MARK ABOVE..MANICHAEAN ABBREVIATION MARK BELOW\n if (0x10ae5 <= code && code <= 0x10ae6) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x10eab) {\n // Mn [4] HANIFI ROHINGYA SIGN HARBAHAY..HANIFI ROHINGYA SIGN TASSI\n if (0x10d24 <= code && code <= 0x10d27) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] YEZIDI COMBINING HAMZA MARK..YEZIDI COMBINING MADDA MARK\n if (0x10eab <= code && code <= 0x10eac) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x10f46) {\n // Mn [3] ARABIC SMALL LOW WORD SAKTA..ARABIC SMALL LOW WORD MADDA\n if (0x10efd <= code && code <= 0x10eff) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x10f82) {\n // Mn [11] SOGDIAN COMBINING DOT BELOW..SOGDIAN COMBINING STROKE BELOW\n if (0x10f46 <= code && code <= 0x10f50) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [4] OLD UYGHUR COMBINING DOT ABOVE..OLD UYGHUR COMBINING TWO DOTS BELOW\n if (0x10f82 <= code && code <= 0x10f85) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x11180) {\n if (code < 0x110b7) {\n if (code < 0x11073) {\n if (code < 0x11002) {\n // Mc BRAHMI SIGN CANDRABINDU\n if (0x11000 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn BRAHMI SIGN ANUSVARA\n if (0x11001 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11038) {\n // Mc BRAHMI SIGN VISARGA\n if (0x11002 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x11070) {\n // Mn [15] BRAHMI VOWEL SIGN AA..BRAHMI VIRAMA\n if (0x11038 <= code && code <= 0x11046) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn BRAHMI SIGN OLD TAMIL VIRAMA\n if (0x11070 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x11082) {\n if (code < 0x1107f) {\n // Mn [2] BRAHMI VOWEL SIGN OLD TAMIL SHORT E..BRAHMI VOWEL SIGN OLD TAMIL SHORT O\n if (0x11073 <= code && code <= 0x11074) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [3] BRAHMI NUMBER JOINER..KAITHI SIGN ANUSVARA\n if (0x1107f <= code && code <= 0x11081) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x110b0) {\n // Mc KAITHI SIGN VISARGA\n if (0x11082 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x110b3) {\n // Mc [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II\n if (0x110b0 <= code && code <= 0x110b2) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI\n if (0x110b3 <= code && code <= 0x110b6) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x11100) {\n if (code < 0x110bd) {\n if (code < 0x110b9) {\n // Mc [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU\n if (0x110b7 <= code && code <= 0x110b8) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA\n if (0x110b9 <= code && code <= 0x110ba) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x110c2) {\n // Cf KAITHI NUMBER SIGN\n if (0x110bd === code) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n }\n else {\n // Mn KAITHI VOWEL SIGN VOCALIC R\n if (0x110c2 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Cf KAITHI NUMBER SIGN ABOVE\n if (0x110cd === code) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n }\n }\n }\n else {\n if (code < 0x1112d) {\n if (code < 0x11127) {\n // Mn [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA\n if (0x11100 <= code && code <= 0x11102) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1112c) {\n // Mn [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU\n if (0x11127 <= code && code <= 0x1112b) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc CHAKMA VOWEL SIGN E\n if (0x1112c === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n else {\n if (code < 0x11145) {\n // Mn [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA\n if (0x1112d <= code && code <= 0x11134) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11173) {\n // Mc [2] CHAKMA VOWEL SIGN AA..CHAKMA VOWEL SIGN EI\n if (0x11145 <= code && code <= 0x11146) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn MAHAJANI SIGN NUKTA\n if (0x11173 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x11232) {\n if (code < 0x111c2) {\n if (code < 0x111b3) {\n if (code < 0x11182) {\n // Mn [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA\n if (0x11180 <= code && code <= 0x11181) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc SHARADA SIGN VISARGA\n if (0x11182 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0x111b6) {\n // Mc [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II\n if (0x111b3 <= code && code <= 0x111b5) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x111bf) {\n // Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O\n if (0x111b6 <= code && code <= 0x111be) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA\n if (0x111bf <= code && code <= 0x111c0) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0x111cf) {\n if (code < 0x111c9) {\n // Lo [2] SHARADA SIGN JIHVAMULIYA..SHARADA SIGN UPADHMANIYA\n if (0x111c2 <= code && code <= 0x111c3) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n }\n else {\n if (code < 0x111ce) {\n // Mn [4] SHARADA SANDHI MARK..SHARADA EXTRA SHORT VOWEL MARK\n if (0x111c9 <= code && code <= 0x111cc) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc SHARADA VOWEL SIGN PRISHTHAMATRA E\n if (0x111ce === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n else {\n if (code < 0x1122c) {\n // Mn SHARADA SIGN INVERTED CANDRABINDU\n if (0x111cf === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1122f) {\n // Mc [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II\n if (0x1122c <= code && code <= 0x1122e) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI\n if (0x1122f <= code && code <= 0x11231) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x11241) {\n if (code < 0x11235) {\n if (code < 0x11234) {\n // Mc [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU\n if (0x11232 <= code && code <= 0x11233) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn KHOJKI SIGN ANUSVARA\n if (0x11234 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x11236) {\n // Mc KHOJKI SIGN VIRAMA\n if (0x11235 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x1123e) {\n // Mn [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA\n if (0x11236 <= code && code <= 0x11237) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn KHOJKI SIGN SUKUN\n if (0x1123e === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x112e3) {\n if (code < 0x112df) {\n // Mn KHOJKI VOWEL SIGN VOCALIC R\n if (0x11241 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x112e0) {\n // Mn KHUDAWADI SIGN ANUSVARA\n if (0x112df === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II\n if (0x112e0 <= code && code <= 0x112e2) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n else {\n if (code < 0x11300) {\n // Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA\n if (0x112e3 <= code && code <= 0x112ea) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11302) {\n // Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU\n if (0x11300 <= code && code <= 0x11301) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA\n if (0x11302 <= code && code <= 0x11303) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x11a97) {\n if (code < 0x116ab) {\n if (code < 0x114b9) {\n if (code < 0x11370) {\n if (code < 0x11347) {\n if (code < 0x1133f) {\n if (code < 0x1133e) {\n // Mn [2] COMBINING BINDU BELOW..GRANTHA SIGN NUKTA\n if (0x1133b <= code && code <= 0x1133c) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc GRANTHA VOWEL SIGN AA\n if (0x1133e === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x11340) {\n // Mc GRANTHA VOWEL SIGN I\n if (0x1133f === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x11341) {\n // Mn GRANTHA VOWEL SIGN II\n if (0x11340 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR\n if (0x11341 <= code && code <= 0x11344) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0x11357) {\n if (code < 0x1134b) {\n // Mc [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI\n if (0x11347 <= code && code <= 0x11348) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mc [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA\n if (0x1134b <= code && code <= 0x1134d) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0x11362) {\n // Mc GRANTHA AU LENGTH MARK\n if (0x11357 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11366) {\n // Mc [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL\n if (0x11362 <= code && code <= 0x11363) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX\n if (0x11366 <= code && code <= 0x1136c) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x11445) {\n if (code < 0x11438) {\n if (code < 0x11435) {\n // Mn [5] COMBINING GRANTHA LETTER A..COMBINING GRANTHA LETTER PA\n if (0x11370 <= code && code <= 0x11374) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [3] NEWA VOWEL SIGN AA..NEWA VOWEL SIGN II\n if (0x11435 <= code && code <= 0x11437) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0x11440) {\n // Mn [8] NEWA VOWEL SIGN U..NEWA VOWEL SIGN AI\n if (0x11438 <= code && code <= 0x1143f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11442) {\n // Mc [2] NEWA VOWEL SIGN O..NEWA VOWEL SIGN AU\n if (0x11440 <= code && code <= 0x11441) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [3] NEWA SIGN VIRAMA..NEWA SIGN ANUSVARA\n if (0x11442 <= code && code <= 0x11444) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x114b0) {\n if (code < 0x11446) {\n // Mc NEWA SIGN VISARGA\n if (0x11445 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn NEWA SIGN NUKTA\n if (0x11446 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mn NEWA SANDHI MARK\n if (0x1145e === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x114b1) {\n // Mc TIRHUTA VOWEL SIGN AA\n if (0x114b0 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x114b3) {\n // Mc [2] TIRHUTA VOWEL SIGN I..TIRHUTA VOWEL SIGN II\n if (0x114b1 <= code && code <= 0x114b2) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [6] TIRHUTA VOWEL SIGN U..TIRHUTA VOWEL SIGN VOCALIC LL\n if (0x114b3 <= code && code <= 0x114b8) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x115b8) {\n if (code < 0x114bf) {\n if (code < 0x114bb) {\n // Mc TIRHUTA VOWEL SIGN E\n if (0x114b9 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn TIRHUTA VOWEL SIGN SHORT E\n if (0x114ba === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x114bd) {\n // Mc [2] TIRHUTA VOWEL SIGN AI..TIRHUTA VOWEL SIGN O\n if (0x114bb <= code && code <= 0x114bc) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mc TIRHUTA VOWEL SIGN SHORT O\n if (0x114bd === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mc TIRHUTA VOWEL SIGN AU\n if (0x114be === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n else {\n if (code < 0x115af) {\n if (code < 0x114c1) {\n // Mn [2] TIRHUTA SIGN CANDRABINDU..TIRHUTA SIGN ANUSVARA\n if (0x114bf <= code && code <= 0x114c0) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x114c2) {\n // Mc TIRHUTA SIGN VISARGA\n if (0x114c1 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [2] TIRHUTA SIGN VIRAMA..TIRHUTA SIGN NUKTA\n if (0x114c2 <= code && code <= 0x114c3) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x115b0) {\n // Mc SIDDHAM VOWEL SIGN AA\n if (0x115af === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x115b2) {\n // Mc [2] SIDDHAM VOWEL SIGN I..SIDDHAM VOWEL SIGN II\n if (0x115b0 <= code && code <= 0x115b1) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR\n if (0x115b2 <= code && code <= 0x115b5) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x11630) {\n if (code < 0x115be) {\n if (code < 0x115bc) {\n // Mc [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU\n if (0x115b8 <= code && code <= 0x115bb) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA\n if (0x115bc <= code && code <= 0x115bd) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x115bf) {\n // Mc SIDDHAM SIGN VISARGA\n if (0x115be === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x115dc) {\n // Mn [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA\n if (0x115bf <= code && code <= 0x115c0) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU\n if (0x115dc <= code && code <= 0x115dd) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1163d) {\n if (code < 0x11633) {\n // Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II\n if (0x11630 <= code && code <= 0x11632) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x1163b) {\n // Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI\n if (0x11633 <= code && code <= 0x1163a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU\n if (0x1163b <= code && code <= 0x1163c) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n else {\n if (code < 0x1163e) {\n // Mn MODI SIGN ANUSVARA\n if (0x1163d === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1163f) {\n // Mc MODI SIGN VISARGA\n if (0x1163e === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA\n if (0x1163f <= code && code <= 0x11640) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1193f) {\n if (code < 0x11727) {\n if (code < 0x116b6) {\n if (code < 0x116ad) {\n // Mn TAKRI SIGN ANUSVARA\n if (0x116ab === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mc TAKRI SIGN VISARGA\n if (0x116ac === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x116ae) {\n // Mn TAKRI VOWEL SIGN AA\n if (0x116ad === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x116b0) {\n // Mc [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II\n if (0x116ae <= code && code <= 0x116af) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU\n if (0x116b0 <= code && code <= 0x116b5) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1171d) {\n // Mc TAKRI SIGN VIRAMA\n if (0x116b6 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn TAKRI SIGN NUKTA\n if (0x116b7 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11722) {\n // Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA\n if (0x1171d <= code && code <= 0x1171f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11726) {\n // Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU\n if (0x11722 <= code && code <= 0x11725) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc AHOM VOWEL SIGN E\n if (0x11726 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x11930) {\n if (code < 0x1182f) {\n if (code < 0x1182c) {\n // Mn [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER\n if (0x11727 <= code && code <= 0x1172b) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [3] DOGRA VOWEL SIGN AA..DOGRA VOWEL SIGN II\n if (0x1182c <= code && code <= 0x1182e) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0x11838) {\n // Mn [9] DOGRA VOWEL SIGN U..DOGRA SIGN ANUSVARA\n if (0x1182f <= code && code <= 0x11837) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11839) {\n // Mc DOGRA SIGN VISARGA\n if (0x11838 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [2] DOGRA SIGN VIRAMA..DOGRA SIGN NUKTA\n if (0x11839 <= code && code <= 0x1183a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1193b) {\n if (code < 0x11931) {\n // Mc DIVES AKURU VOWEL SIGN AA\n if (0x11930 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11937) {\n // Mc [5] DIVES AKURU VOWEL SIGN I..DIVES AKURU VOWEL SIGN E\n if (0x11931 <= code && code <= 0x11935) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mc [2] DIVES AKURU VOWEL SIGN AI..DIVES AKURU VOWEL SIGN O\n if (0x11937 <= code && code <= 0x11938) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n else {\n if (code < 0x1193d) {\n // Mn [2] DIVES AKURU SIGN ANUSVARA..DIVES AKURU SIGN CANDRABINDU\n if (0x1193b <= code && code <= 0x1193c) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc DIVES AKURU SIGN HALANTA\n if (0x1193d === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn DIVES AKURU VIRAMA\n if (0x1193e === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x11a01) {\n if (code < 0x119d1) {\n if (code < 0x11941) {\n // Lo DIVES AKURU PREFIXED NASAL SIGN\n if (0x1193f === code) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n // Mc DIVES AKURU MEDIAL YA\n if (0x11940 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x11942) {\n // Lo DIVES AKURU INITIAL RA\n if (0x11941 === code) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n }\n else {\n // Mc DIVES AKURU MEDIAL RA\n if (0x11942 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn DIVES AKURU SIGN NUKTA\n if (0x11943 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x119dc) {\n if (code < 0x119d4) {\n // Mc [3] NANDINAGARI VOWEL SIGN AA..NANDINAGARI VOWEL SIGN II\n if (0x119d1 <= code && code <= 0x119d3) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x119da) {\n // Mn [4] NANDINAGARI VOWEL SIGN U..NANDINAGARI VOWEL SIGN VOCALIC RR\n if (0x119d4 <= code && code <= 0x119d7) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [2] NANDINAGARI VOWEL SIGN E..NANDINAGARI VOWEL SIGN AI\n if (0x119da <= code && code <= 0x119db) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x119e0) {\n // Mc [4] NANDINAGARI VOWEL SIGN O..NANDINAGARI SIGN VISARGA\n if (0x119dc <= code && code <= 0x119df) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn NANDINAGARI SIGN VIRAMA\n if (0x119e0 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mc NANDINAGARI VOWEL SIGN PRISHTHAMATRA E\n if (0x119e4 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0x11a47) {\n if (code < 0x11a39) {\n if (code < 0x11a33) {\n // Mn [10] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL LENGTH MARK\n if (0x11a01 <= code && code <= 0x11a0a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA\n if (0x11a33 <= code && code <= 0x11a38) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x11a3a) {\n // Mc ZANABAZAR SQUARE SIGN VISARGA\n if (0x11a39 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x11a3b) {\n // Lo ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA\n if (0x11a3a === code) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n }\n else {\n // Mn [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA\n if (0x11a3b <= code && code <= 0x11a3e) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x11a59) {\n if (code < 0x11a51) {\n // Mn ZANABAZAR SQUARE SUBJOINER\n if (0x11a47 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11a57) {\n // Mn [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE\n if (0x11a51 <= code && code <= 0x11a56) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU\n if (0x11a57 <= code && code <= 0x11a58) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n else {\n if (code < 0x11a84) {\n // Mn [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK\n if (0x11a59 <= code && code <= 0x11a5b) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11a8a) {\n // Lo [6] SOYOMBO SIGN JIHVAMULIYA..SOYOMBO CLUSTER-INITIAL LETTER SA\n if (0x11a84 <= code && code <= 0x11a89) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n }\n else {\n // Mn [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA\n if (0x11a8a <= code && code <= 0x11a96) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x16f51) {\n if (code < 0x11d90) {\n if (code < 0x11cb1) {\n if (code < 0x11c3e) {\n if (code < 0x11c2f) {\n if (code < 0x11a98) {\n // Mc SOYOMBO SIGN VISARGA\n if (0x11a97 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER\n if (0x11a98 <= code && code <= 0x11a99) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x11c30) {\n // Mc BHAIKSUKI VOWEL SIGN AA\n if (0x11c2f === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x11c38) {\n // Mn [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L\n if (0x11c30 <= code && code <= 0x11c36) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA\n if (0x11c38 <= code && code <= 0x11c3d) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x11c92) {\n // Mc BHAIKSUKI SIGN VISARGA\n if (0x11c3e === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn BHAIKSUKI SIGN VIRAMA\n if (0x11c3f === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11ca9) {\n // Mn [22] MARCHEN SUBJOINED LETTER KA..MARCHEN SUBJOINED LETTER ZA\n if (0x11c92 <= code && code <= 0x11ca7) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11caa) {\n // Mc MARCHEN SUBJOINED LETTER YA\n if (0x11ca9 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [7] MARCHEN SUBJOINED LETTER RA..MARCHEN VOWEL SIGN AA\n if (0x11caa <= code && code <= 0x11cb0) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x11d3a) {\n if (code < 0x11cb4) {\n if (code < 0x11cb2) {\n // Mc MARCHEN VOWEL SIGN I\n if (0x11cb1 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E\n if (0x11cb2 <= code && code <= 0x11cb3) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x11cb5) {\n // Mc MARCHEN VOWEL SIGN O\n if (0x11cb4 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n if (code < 0x11d31) {\n // Mn [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU\n if (0x11cb5 <= code && code <= 0x11cb6) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R\n if (0x11d31 <= code && code <= 0x11d36) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x11d46) {\n if (code < 0x11d3c) {\n // Mn MASARAM GONDI VOWEL SIGN E\n if (0x11d3a === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11d3f) {\n // Mn [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O\n if (0x11d3c <= code && code <= 0x11d3d) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA\n if (0x11d3f <= code && code <= 0x11d45) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x11d47) {\n // Lo MASARAM GONDI REPHA\n if (0x11d46 === code) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n }\n else {\n if (code < 0x11d8a) {\n // Mn MASARAM GONDI RA-KARA\n if (0x11d47 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [5] GUNJALA GONDI VOWEL SIGN AA..GUNJALA GONDI VOWEL SIGN UU\n if (0x11d8a <= code && code <= 0x11d8e) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x11f36) {\n if (code < 0x11ef3) {\n if (code < 0x11d95) {\n if (code < 0x11d93) {\n // Mn [2] GUNJALA GONDI VOWEL SIGN EE..GUNJALA GONDI VOWEL SIGN AI\n if (0x11d90 <= code && code <= 0x11d91) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] GUNJALA GONDI VOWEL SIGN OO..GUNJALA GONDI VOWEL SIGN AU\n if (0x11d93 <= code && code <= 0x11d94) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0x11d96) {\n // Mn GUNJALA GONDI SIGN ANUSVARA\n if (0x11d95 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc GUNJALA GONDI SIGN VISARGA\n if (0x11d96 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn GUNJALA GONDI VIRAMA\n if (0x11d97 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x11f02) {\n if (code < 0x11ef5) {\n // Mn [2] MAKASAR VOWEL SIGN I..MAKASAR VOWEL SIGN U\n if (0x11ef3 <= code && code <= 0x11ef4) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x11f00) {\n // Mc [2] MAKASAR VOWEL SIGN E..MAKASAR VOWEL SIGN O\n if (0x11ef5 <= code && code <= 0x11ef6) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [2] KAWI SIGN CANDRABINDU..KAWI SIGN ANUSVARA\n if (0x11f00 <= code && code <= 0x11f01) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x11f03) {\n // Lo KAWI SIGN REPHA\n if (0x11f02 === code) {\n return boundaries_1.CLUSTER_BREAK.PREPEND;\n }\n }\n else {\n if (code < 0x11f34) {\n // Mc KAWI SIGN VISARGA\n if (0x11f03 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mc [2] KAWI VOWEL SIGN AA..KAWI VOWEL SIGN ALTERNATE AA\n if (0x11f34 <= code && code <= 0x11f35) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x13430) {\n if (code < 0x11f40) {\n if (code < 0x11f3e) {\n // Mn [5] KAWI VOWEL SIGN I..KAWI VOWEL SIGN VOCALIC R\n if (0x11f36 <= code && code <= 0x11f3a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc [2] KAWI VOWEL SIGN E..KAWI VOWEL SIGN AI\n if (0x11f3e <= code && code <= 0x11f3f) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0x11f41) {\n // Mn KAWI VOWEL SIGN EU\n if (0x11f40 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc KAWI SIGN KILLER\n if (0x11f41 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n // Mn KAWI CONJOINER\n if (0x11f42 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x16af0) {\n if (code < 0x13440) {\n // Cf [16] EGYPTIAN HIEROGLYPH VERTICAL JOINER..EGYPTIAN HIEROGLYPH END WALLED ENCLOSURE\n if (0x13430 <= code && code <= 0x1343f) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n else {\n if (code < 0x13447) {\n // Mn EGYPTIAN HIEROGLYPH MIRROR HORIZONTALLY\n if (0x13440 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [15] EGYPTIAN HIEROGLYPH MODIFIER DAMAGED AT TOP START..EGYPTIAN HIEROGLYPH MODIFIER DAMAGED\n if (0x13447 <= code && code <= 0x13455) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x16b30) {\n // Mn [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE\n if (0x16af0 <= code && code <= 0x16af4) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x16f4f) {\n // Mn [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM\n if (0x16b30 <= code && code <= 0x16b36) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn MIAO SIGN CONSONANT MODIFIER BAR\n if (0x16f4f === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1da84) {\n if (code < 0x1d167) {\n if (code < 0x1bca0) {\n if (code < 0x16fe4) {\n if (code < 0x16f8f) {\n // Mc [55] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN UI\n if (0x16f51 <= code && code <= 0x16f87) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [4] MIAO TONE RIGHT..MIAO TONE BELOW\n if (0x16f8f <= code && code <= 0x16f92) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x16ff0) {\n // Mn KHITAN SMALL SCRIPT FILLER\n if (0x16fe4 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1bc9d) {\n // Mc [2] VIETNAMESE ALTERNATE READING MARK CA..VIETNAMESE ALTERNATE READING MARK NHAY\n if (0x16ff0 <= code && code <= 0x16ff1) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n else {\n // Mn [2] DUPLOYAN THICK LETTER SELECTOR..DUPLOYAN DOUBLE MARK\n if (0x1bc9d <= code && code <= 0x1bc9e) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1cf30) {\n if (code < 0x1cf00) {\n // Cf [4] SHORTHAND FORMAT LETTER OVERLAP..SHORTHAND FORMAT UP STEP\n if (0x1bca0 <= code && code <= 0x1bca3) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n else {\n // Mn [46] ZNAMENNY COMBINING MARK GORAZDO NIZKO S KRYZHEM ON LEFT..ZNAMENNY COMBINING MARK KRYZH ON LEFT\n if (0x1cf00 <= code && code <= 0x1cf2d) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x1d165) {\n // Mn [23] ZNAMENNY COMBINING TONAL RANGE MARK MRACHNO..ZNAMENNY PRIZNAK MODIFIER ROG\n if (0x1cf30 <= code && code <= 0x1cf46) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc MUSICAL SYMBOL COMBINING STEM\n if (0x1d165 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n // Mc MUSICAL SYMBOL COMBINING SPRECHGESANG STEM\n if (0x1d166 === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1d185) {\n if (code < 0x1d16e) {\n if (code < 0x1d16d) {\n // Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3\n if (0x1d167 <= code && code <= 0x1d169) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mc MUSICAL SYMBOL COMBINING AUGMENTATION DOT\n if (0x1d16d === code) {\n return boundaries_1.CLUSTER_BREAK.SPACINGMARK;\n }\n }\n }\n else {\n if (code < 0x1d173) {\n // Mc [5] MUSICAL SYMBOL COMBINING FLAG-1..MUSICAL SYMBOL COMBINING FLAG-5\n if (0x1d16e <= code && code <= 0x1d172) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1d17b) {\n // Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE\n if (0x1d173 <= code && code <= 0x1d17a) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n else {\n // Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE\n if (0x1d17b <= code && code <= 0x1d182) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1da00) {\n if (code < 0x1d1aa) {\n // Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE\n if (0x1d185 <= code && code <= 0x1d18b) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1d242) {\n // Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO\n if (0x1d1aa <= code && code <= 0x1d1ad) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME\n if (0x1d242 <= code && code <= 0x1d244) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x1da3b) {\n // Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN\n if (0x1da00 <= code && code <= 0x1da36) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1da75) {\n // Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT\n if (0x1da3b <= code && code <= 0x1da6c) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS\n if (0x1da75 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1e2ec) {\n if (code < 0x1e01b) {\n if (code < 0x1daa1) {\n if (code < 0x1da9b) {\n // Mn SIGNWRITING LOCATION HEAD NECK\n if (0x1da84 === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6\n if (0x1da9b <= code && code <= 0x1da9f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x1e000) {\n // Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16\n if (0x1daa1 <= code && code <= 0x1daaf) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1e008) {\n // Mn [7] COMBINING GLAGOLITIC LETTER AZU..COMBINING GLAGOLITIC LETTER ZHIVETE\n if (0x1e000 <= code && code <= 0x1e006) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [17] COMBINING GLAGOLITIC LETTER ZEMLJA..COMBINING GLAGOLITIC LETTER HERU\n if (0x1e008 <= code && code <= 0x1e018) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1e08f) {\n if (code < 0x1e023) {\n // Mn [7] COMBINING GLAGOLITIC LETTER SHTA..COMBINING GLAGOLITIC LETTER YATI\n if (0x1e01b <= code && code <= 0x1e021) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1e026) {\n // Mn [2] COMBINING GLAGOLITIC LETTER YU..COMBINING GLAGOLITIC LETTER SMALL YUS\n if (0x1e023 <= code && code <= 0x1e024) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [5] COMBINING GLAGOLITIC LETTER YO..COMBINING GLAGOLITIC LETTER FITA\n if (0x1e026 <= code && code <= 0x1e02a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0x1e130) {\n // Mn COMBINING CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I\n if (0x1e08f === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1e2ae) {\n // Mn [7] NYIAKENG PUACHUE HMONG TONE-B..NYIAKENG PUACHUE HMONG TONE-D\n if (0x1e130 <= code && code <= 0x1e136) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn TOTO SIGN RISING TONE\n if (0x1e2ae === code) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1f3fb) {\n if (code < 0x1e8d0) {\n if (code < 0x1e4ec) {\n // Mn [4] WANCHO TONE TUP..WANCHO TONE KOINI\n if (0x1e2ec <= code && code <= 0x1e2ef) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Mn [4] NAG MUNDARI SIGN MUHOR..NAG MUNDARI SIGN SUTUH\n if (0x1e4ec <= code && code <= 0x1e4ef) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n else {\n if (code < 0x1e944) {\n // Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS\n if (0x1e8d0 <= code && code <= 0x1e8d6) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0x1f1e6) {\n // Mn [7] ADLAM ALIF LENGTHENER..ADLAM NUKTA\n if (0x1e944 <= code && code <= 0x1e94a) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // So [26] REGIONAL INDICATOR SYMBOL LETTER A..REGIONAL INDICATOR SYMBOL LETTER Z\n if (0x1f1e6 <= code && code <= 0x1f1ff) {\n return boundaries_1.CLUSTER_BREAK.REGIONAL_INDICATOR;\n }\n }\n }\n }\n }\n else {\n if (code < 0xe0080) {\n if (code < 0xe0000) {\n // Sk [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6\n if (0x1f3fb <= code && code <= 0x1f3ff) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n if (code < 0xe0020) {\n // Cn \n // Cf LANGUAGE TAG\n // Cn [30] ..\n if (0xe0000 <= code && code <= 0xe001f) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n else {\n // Cf [96] TAG SPACE..CANCEL TAG\n if (0xe0020 <= code && code <= 0xe007f) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n }\n }\n else {\n if (code < 0xe0100) {\n // Cn [128] ..\n if (0xe0080 <= code && code <= 0xe00ff) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n else {\n if (code < 0xe01f0) {\n // Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256\n if (0xe0100 <= code && code <= 0xe01ef) {\n return boundaries_1.CLUSTER_BREAK.EXTEND;\n }\n }\n else {\n // Cn [3600] ..\n if (0xe01f0 <= code && code <= 0xe0fff) {\n return boundaries_1.CLUSTER_BREAK.CONTROL;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n // unlisted code points are treated as a break property of \"Other\"\n return boundaries_1.CLUSTER_BREAK.OTHER;\n }\n /**\n * Given a Unicode code point, returns if symbol is an extended pictographic or some other break\n * @param code {number} Unicode code point\n * @returns {number}\n */\n static getEmojiProperty(code) {\n // emoji property taken from:\n // https://www.unicode.org/Public/UCD/latest/ucd/emoji/emoji-data.txt\n // and generated by\n // node ./scripts/generate-emoji-extended-pictographic.js\n if (code < 0x27b0) {\n if (code < 0x2600) {\n if (code < 0x2328) {\n if (code < 0x2122) {\n if (code < 0x203c) {\n // E0.6 [1] (©️) copyright\n if (0xa9 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n // E0.6 [1] (®️) registered\n if (0xae === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [1] (‼️) double exclamation mark\n if (0x203c === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n // E0.6 [1] (⁉️) exclamation question mark\n if (0x2049 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n else {\n if (code < 0x2194) {\n // E0.6 [1] (™️) trade mark\n if (0x2122 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n // E0.6 [1] (ℹ️) information\n if (0x2139 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x21a9) {\n // E0.6 [6] (↔️..↙️) left-right arrow..down-left arrow\n if (0x2194 <= code && code <= 0x2199) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x231a) {\n // E0.6 [2] (↩️..↪️) right arrow curving left..left arrow curving right\n if (0x21a9 <= code && code <= 0x21aa) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [2] (⌚..⌛) watch..hourglass done\n if (0x231a <= code && code <= 0x231b) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x24c2) {\n if (code < 0x23cf) {\n // E1.0 [1] (⌨️) keyboard\n if (0x2328 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n // E0.0 [1] (⎈) HELM SYMBOL\n if (0x2388 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x23e9) {\n // E1.0 [1] (⏏️) eject button\n if (0x23cf === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x23f8) {\n // E0.6 [4] (⏩..⏬) fast-forward button..fast down button\n // E0.7 [2] (⏭️..⏮️) next track button..last track button\n // E1.0 [1] (⏯️) play or pause button\n // E0.6 [1] (⏰) alarm clock\n // E1.0 [2] (⏱️..⏲️) stopwatch..timer clock\n // E0.6 [1] (⏳) hourglass not done\n if (0x23e9 <= code && code <= 0x23f3) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.7 [3] (⏸️..⏺️) pause button..record button\n if (0x23f8 <= code && code <= 0x23fa) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n }\n else {\n if (code < 0x25b6) {\n if (code < 0x25aa) {\n // E0.6 [1] (Ⓜ️) circled M\n if (0x24c2 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [2] (▪️..▫️) black small square..white small square\n if (0x25aa <= code && code <= 0x25ab) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n else {\n if (code < 0x25c0) {\n // E0.6 [1] (▶️) play button\n if (0x25b6 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x25fb) {\n // E0.6 [1] (◀️) reverse button\n if (0x25c0 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [4] (◻️..◾) white medium square..black medium-small square\n if (0x25fb <= code && code <= 0x25fe) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x2733) {\n if (code < 0x2714) {\n if (code < 0x2614) {\n if (code < 0x2607) {\n // E0.6 [2] (☀️..☁️) sun..cloud\n // E0.7 [2] (☂️..☃️) umbrella..snowman\n // E1.0 [1] (☄️) comet\n // E0.0 [1] (★) BLACK STAR\n if (0x2600 <= code && code <= 0x2605) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.0 [7] (☇..☍) LIGHTNING..OPPOSITION\n // E0.6 [1] (☎️) telephone\n // E0.0 [2] (☏..☐) WHITE TELEPHONE..BALLOT BOX\n // E0.6 [1] (☑️) check box with check\n // E0.0 [1] (☒) BALLOT BOX WITH X\n if (0x2607 <= code && code <= 0x2612) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n else {\n if (code < 0x2690) {\n // E0.6 [2] (☔..☕) umbrella with rain drops..hot beverage\n // E0.0 [2] (☖..☗) WHITE SHOGI PIECE..BLACK SHOGI PIECE\n // E1.0 [1] (☘️) shamrock\n // E0.0 [4] (☙..☜) REVERSED ROTATED FLORAL HEART BULLET..WHITE LEFT POINTING INDEX\n // E0.6 [1] (☝️) index pointing up\n // E0.0 [2] (☞..☟) WHITE RIGHT POINTING INDEX..WHITE DOWN POINTING INDEX\n // E1.0 [1] (☠️) skull and crossbones\n // E0.0 [1] (☡) CAUTION SIGN\n // E1.0 [2] (☢️..☣️) radioactive..biohazard\n // E0.0 [2] (☤..☥) CADUCEUS..ANKH\n // E1.0 [1] (☦️) orthodox cross\n // E0.0 [3] (☧..☩) CHI RHO..CROSS OF JERUSALEM\n // E0.7 [1] (☪️) star and crescent\n // E0.0 [3] (☫..☭) FARSI SYMBOL..HAMMER AND SICKLE\n // E1.0 [1] (☮️) peace symbol\n // E0.7 [1] (☯️) yin yang\n // E0.0 [8] (☰..☷) TRIGRAM FOR HEAVEN..TRIGRAM FOR EARTH\n // E0.7 [2] (☸️..☹️) wheel of dharma..frowning face\n // E0.6 [1] (☺️) smiling face\n // E0.0 [5] (☻..☿) BLACK SMILING FACE..MERCURY\n // E4.0 [1] (♀️) female sign\n // E0.0 [1] (♁) EARTH\n // E4.0 [1] (♂️) male sign\n // E0.0 [5] (♃..♇) JUPITER..PLUTO\n // E0.6 [12] (♈..♓) Aries..Pisces\n // E0.0 [11] (♔..♞) WHITE CHESS KING..BLACK CHESS KNIGHT\n // E11.0 [1] (♟️) chess pawn\n // E0.6 [1] (♠️) spade suit\n // E0.0 [2] (♡..♢) WHITE HEART SUIT..WHITE DIAMOND SUIT\n // E0.6 [1] (♣️) club suit\n // E0.0 [1] (♤) WHITE SPADE SUIT\n // E0.6 [2] (♥️..♦️) heart suit..diamond suit\n // E0.0 [1] (♧) WHITE CLUB SUIT\n // E0.6 [1] (♨️) hot springs\n // E0.0 [18] (♩..♺) QUARTER NOTE..RECYCLING SYMBOL FOR GENERIC MATERIALS\n // E0.6 [1] (♻️) recycling symbol\n // E0.0 [2] (♼..♽) RECYCLED PAPER SYMBOL..PARTIALLY-RECYCLED PAPER SYMBOL\n // E11.0 [1] (♾️) infinity\n // E0.6 [1] (♿) wheelchair symbol\n // E0.0 [6] (⚀..⚅) DIE FACE-1..DIE FACE-6\n if (0x2614 <= code && code <= 0x2685) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x2708) {\n // E0.0 [2] (⚐..⚑) WHITE FLAG..BLACK FLAG\n // E1.0 [1] (⚒️) hammer and pick\n // E0.6 [1] (⚓) anchor\n // E1.0 [1] (⚔️) crossed swords\n // E4.0 [1] (⚕️) medical symbol\n // E1.0 [2] (⚖️..⚗️) balance scale..alembic\n // E0.0 [1] (⚘) FLOWER\n // E1.0 [1] (⚙️) gear\n // E0.0 [1] (⚚) STAFF OF HERMES\n // E1.0 [2] (⚛️..⚜️) atom symbol..fleur-de-lis\n // E0.0 [3] (⚝..⚟) OUTLINED WHITE STAR..THREE LINES CONVERGING LEFT\n // E0.6 [2] (⚠️..⚡) warning..high voltage\n // E0.0 [5] (⚢..⚦) DOUBLED FEMALE SIGN..MALE WITH STROKE SIGN\n // E13.0 [1] (⚧️) transgender symbol\n // E0.0 [2] (⚨..⚩) VERTICAL MALE WITH STROKE SIGN..HORIZONTAL MALE WITH STROKE SIGN\n // E0.6 [2] (⚪..⚫) white circle..black circle\n // E0.0 [4] (⚬..⚯) MEDIUM SMALL WHITE CIRCLE..UNMARRIED PARTNERSHIP SYMBOL\n // E1.0 [2] (⚰️..⚱️) coffin..funeral urn\n // E0.0 [11] (⚲..⚼) NEUTER..SESQUIQUADRATE\n // E0.6 [2] (⚽..⚾) soccer ball..baseball\n // E0.0 [5] (⚿..⛃) SQUARED KEY..BLACK DRAUGHTS KING\n // E0.6 [2] (⛄..⛅) snowman without snow..sun behind cloud\n // E0.0 [2] (⛆..⛇) RAIN..BLACK SNOWMAN\n // E0.7 [1] (⛈️) cloud with lightning and rain\n // E0.0 [5] (⛉..⛍) TURNED WHITE SHOGI PIECE..DISABLED CAR\n // E0.6 [1] (⛎) Ophiuchus\n // E0.7 [1] (⛏️) pick\n // E0.0 [1] (⛐) CAR SLIDING\n // E0.7 [1] (⛑️) rescue worker’s helmet\n // E0.0 [1] (⛒) CIRCLED CROSSING LANES\n // E0.7 [1] (⛓️) chains\n // E0.6 [1] (⛔) no entry\n // E0.0 [20] (⛕..⛨) ALTERNATE ONE-WAY LEFT WAY TRAFFIC..BLACK CROSS ON SHIELD\n // E0.7 [1] (⛩️) shinto shrine\n // E0.6 [1] (⛪) church\n // E0.0 [5] (⛫..⛯) CASTLE..MAP SYMBOL FOR LIGHTHOUSE\n // E0.7 [2] (⛰️..⛱️) mountain..umbrella on ground\n // E0.6 [2] (⛲..⛳) fountain..flag in hole\n // E0.7 [1] (⛴️) ferry\n // E0.6 [1] (⛵) sailboat\n // E0.0 [1] (⛶) SQUARE FOUR CORNERS\n // E0.7 [3] (⛷️..⛹️) skier..person bouncing ball\n // E0.6 [1] (⛺) tent\n // E0.0 [2] (⛻..⛼) JAPANESE BANK SYMBOL..HEADSTONE GRAVEYARD SYMBOL\n // E0.6 [1] (⛽) fuel pump\n // E0.0 [4] (⛾..✁) CUP ON BLACK SQUARE..UPPER BLADE SCISSORS\n // E0.6 [1] (✂️) scissors\n // E0.0 [2] (✃..✄) LOWER BLADE SCISSORS..WHITE SCISSORS\n // E0.6 [1] (✅) check mark button\n if (0x2690 <= code && code <= 0x2705) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [5] (✈️..✌️) airplane..victory hand\n // E0.7 [1] (✍️) writing hand\n // E0.0 [1] (✎) LOWER RIGHT PENCIL\n // E0.6 [1] (✏️) pencil\n // E0.0 [2] (✐..✑) UPPER RIGHT PENCIL..WHITE NIB\n // E0.6 [1] (✒️) black nib\n if (0x2708 <= code && code <= 0x2712) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n }\n else {\n if (code < 0x271d) {\n // E0.6 [1] (✔️) check mark\n if (0x2714 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n // E0.6 [1] (✖️) multiply\n if (0x2716 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x2721) {\n // E0.7 [1] (✝️) latin cross\n if (0x271d === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.7 [1] (✡️) star of David\n if (0x2721 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n // E0.6 [1] (✨) sparkles\n if (0x2728 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n }\n else {\n if (code < 0x2753) {\n if (code < 0x2747) {\n if (code < 0x2744) {\n // E0.6 [2] (✳️..✴️) eight-spoked asterisk..eight-pointed star\n if (0x2733 <= code && code <= 0x2734) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [1] (❄️) snowflake\n if (0x2744 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n else {\n if (code < 0x274c) {\n // E0.6 [1] (❇️) sparkle\n if (0x2747 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [1] (❌) cross mark\n if (0x274c === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n // E0.6 [1] (❎) cross mark button\n if (0x274e === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n else {\n if (code < 0x2763) {\n if (code < 0x2757) {\n // E0.6 [3] (❓..❕) red question mark..white exclamation mark\n if (0x2753 <= code && code <= 0x2755) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [1] (❗) red exclamation mark\n if (0x2757 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n else {\n if (code < 0x2795) {\n // E1.0 [1] (❣️) heart exclamation\n // E0.6 [1] (❤️) red heart\n // E0.0 [3] (❥..❧) ROTATED HEAVY BLACK HEART BULLET..ROTATED FLORAL HEART BULLET\n if (0x2763 <= code && code <= 0x2767) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x27a1) {\n // E0.6 [3] (➕..➗) plus..divide\n if (0x2795 <= code && code <= 0x2797) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [1] (➡️) right arrow\n if (0x27a1 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1f201) {\n if (code < 0x3297) {\n if (code < 0x2b1b) {\n if (code < 0x2934) {\n // E0.6 [1] (➰) curly loop\n if (0x27b0 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n // E1.0 [1] (➿) double curly loop\n if (0x27bf === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x2b05) {\n // E0.6 [2] (⤴️..⤵️) right arrow curving up..right arrow curving down\n if (0x2934 <= code && code <= 0x2935) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [3] (⬅️..⬇️) left arrow..down arrow\n if (0x2b05 <= code && code <= 0x2b07) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n else {\n if (code < 0x2b55) {\n if (code < 0x2b50) {\n // E0.6 [2] (⬛..⬜) black large square..white large square\n if (0x2b1b <= code && code <= 0x2b1c) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [1] (⭐) star\n if (0x2b50 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n else {\n if (code < 0x3030) {\n // E0.6 [1] (⭕) hollow red circle\n if (0x2b55 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [1] (〰️) wavy dash\n if (0x3030 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n // E0.6 [1] (〽️) part alternation mark\n if (0x303d === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1f16c) {\n if (code < 0x1f000) {\n // E0.6 [1] (㊗️) Japanese “congratulations” button\n if (0x3297 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n // E0.6 [1] (㊙️) Japanese “secret” button\n if (0x3299 === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x1f10d) {\n // E0.0 [4] (🀀..🀃) MAHJONG TILE EAST WIND..MAHJONG TILE NORTH WIND\n // E0.6 [1] (🀄) mahjong red dragon\n // E0.0 [202] (🀅..🃎) MAHJONG TILE GREEN DRAGON..PLAYING CARD KING OF DIAMONDS\n // E0.6 [1] (🃏) joker\n // E0.0 [48] (🃐..🃿) ..\n if (0x1f000 <= code && code <= 0x1f0ff) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x1f12f) {\n // E0.0 [3] (🄍..🄏) CIRCLED ZERO WITH SLASH..CIRCLED DOLLAR SIGN WITH OVERLAID BACKSLASH\n if (0x1f10d <= code && code <= 0x1f10f) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.0 [1] (🄯) COPYLEFT SYMBOL\n if (0x1f12f === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1f18e) {\n if (code < 0x1f17e) {\n // E0.0 [4] (🅬..🅯) RAISED MR SIGN..CIRCLED HUMAN FIGURE\n // E0.6 [2] (🅰️..🅱️) A button (blood type)..B button (blood type)\n if (0x1f16c <= code && code <= 0x1f171) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [2] (🅾️..🅿️) O button (blood type)..P button\n if (0x1f17e <= code && code <= 0x1f17f) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n else {\n if (code < 0x1f191) {\n // E0.6 [1] (🆎) AB button (blood type)\n if (0x1f18e === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x1f1ad) {\n // E0.6 [10] (🆑..🆚) CL button..VS button\n if (0x1f191 <= code && code <= 0x1f19a) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.0 [57] (🆭..🇥) MASK WORK SYMBOL..\n if (0x1f1ad <= code && code <= 0x1f1e5) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1f7d5) {\n if (code < 0x1f249) {\n if (code < 0x1f22f) {\n if (code < 0x1f21a) {\n // E0.6 [2] (🈁..🈂️) Japanese “here” button..Japanese “service charge” button\n // E0.0 [13] (🈃..🈏) ..\n if (0x1f201 <= code && code <= 0x1f20f) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.6 [1] (🈚) Japanese “free of charge” button\n if (0x1f21a === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n else {\n if (code < 0x1f232) {\n // E0.6 [1] (🈯) Japanese “reserved” button\n if (0x1f22f === code) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x1f23c) {\n // E0.6 [9] (🈲..🈺) Japanese “prohibited” button..Japanese “open for business” button\n if (0x1f232 <= code && code <= 0x1f23a) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.0 [4] (🈼..🈿) ..\n if (0x1f23c <= code && code <= 0x1f23f) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1f546) {\n if (code < 0x1f400) {\n // E0.0 [7] (🉉..🉏) ..\n // E0.6 [2] (🉐..🉑) Japanese “bargain” button..Japanese “acceptable” button\n // E0.0 [174] (🉒..🋿) ..\n // E0.6 [13] (🌀..🌌) cyclone..milky way\n // E0.7 [2] (🌍..🌎) globe showing Europe-Africa..globe showing Americas\n // E0.6 [1] (🌏) globe showing Asia-Australia\n // E1.0 [1] (🌐) globe with meridians\n // E0.6 [1] (🌑) new moon\n // E1.0 [1] (🌒) waxing crescent moon\n // E0.6 [3] (🌓..🌕) first quarter moon..full moon\n // E1.0 [3] (🌖..🌘) waning gibbous moon..waning crescent moon\n // E0.6 [1] (🌙) crescent moon\n // E1.0 [1] (🌚) new moon face\n // E0.6 [1] (🌛) first quarter moon face\n // E0.7 [1] (🌜) last quarter moon face\n // E1.0 [2] (🌝..🌞) full moon face..sun with face\n // E0.6 [2] (🌟..🌠) glowing star..shooting star\n // E0.7 [1] (🌡️) thermometer\n // E0.0 [2] (🌢..🌣) BLACK DROPLET..WHITE SUN\n // E0.7 [9] (🌤️..🌬️) sun behind small cloud..wind face\n // E1.0 [3] (🌭..🌯) hot dog..burrito\n // E0.6 [2] (🌰..🌱) chestnut..seedling\n // E1.0 [2] (🌲..🌳) evergreen tree..deciduous tree\n // E0.6 [2] (🌴..🌵) palm tree..cactus\n // E0.7 [1] (🌶️) hot pepper\n // E0.6 [20] (🌷..🍊) tulip..tangerine\n // E1.0 [1] (🍋) lemon\n // E0.6 [4] (🍌..🍏) banana..green apple\n // E1.0 [1] (🍐) pear\n // E0.6 [43] (🍑..🍻) peach..clinking beer mugs\n // E1.0 [1] (🍼) baby bottle\n // E0.7 [1] (🍽️) fork and knife with plate\n // E1.0 [2] (🍾..🍿) bottle with popping cork..popcorn\n // E0.6 [20] (🎀..🎓) ribbon..graduation cap\n // E0.0 [2] (🎔..🎕) HEART WITH TIP ON THE LEFT..BOUQUET OF FLOWERS\n // E0.7 [2] (🎖️..🎗️) military medal..reminder ribbon\n // E0.0 [1] (🎘) MUSICAL KEYBOARD WITH JACKS\n // E0.7 [3] (🎙️..🎛️) studio microphone..control knobs\n // E0.0 [2] (🎜..🎝) BEAMED ASCENDING MUSICAL NOTES..BEAMED DESCENDING MUSICAL NOTES\n // E0.7 [2] (🎞️..🎟️) film frames..admission tickets\n // E0.6 [37] (🎠..🏄) carousel horse..person surfing\n // E1.0 [1] (🏅) sports medal\n // E0.6 [1] (🏆) trophy\n // E1.0 [1] (🏇) horse racing\n // E0.6 [1] (🏈) american football\n // E1.0 [1] (🏉) rugby football\n // E0.6 [1] (🏊) person swimming\n // E0.7 [4] (🏋️..🏎️) person lifting weights..racing car\n // E1.0 [5] (🏏..🏓) cricket game..ping pong\n // E0.7 [12] (🏔️..🏟️) snow-capped mountain..stadium\n // E0.6 [4] (🏠..🏣) house..Japanese post office\n // E1.0 [1] (🏤) post office\n // E0.6 [12] (🏥..🏰) hospital..castle\n // E0.0 [2] (🏱..🏲) WHITE PENNANT..BLACK PENNANT\n // E0.7 [1] (🏳️) white flag\n // E1.0 [1] (🏴) black flag\n // E0.7 [1] (🏵️) rosette\n // E0.0 [1] (🏶) BLACK ROSETTE\n // E0.7 [1] (🏷️) label\n // E1.0 [3] (🏸..🏺) badminton..amphora\n if (0x1f249 <= code && code <= 0x1f3fa) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E1.0 [8] (🐀..🐇) rat..rabbit\n // E0.7 [1] (🐈) cat\n // E1.0 [3] (🐉..🐋) dragon..whale\n // E0.6 [3] (🐌..🐎) snail..horse\n // E1.0 [2] (🐏..🐐) ram..goat\n // E0.6 [2] (🐑..🐒) ewe..monkey\n // E1.0 [1] (🐓) rooster\n // E0.6 [1] (🐔) chicken\n // E0.7 [1] (🐕) dog\n // E1.0 [1] (🐖) pig\n // E0.6 [19] (🐗..🐩) boar..poodle\n // E1.0 [1] (🐪) camel\n // E0.6 [20] (🐫..🐾) two-hump camel..paw prints\n // E0.7 [1] (🐿️) chipmunk\n // E0.6 [1] (👀) eyes\n // E0.7 [1] (👁️) eye\n // E0.6 [35] (👂..👤) ear..bust in silhouette\n // E1.0 [1] (👥) busts in silhouette\n // E0.6 [6] (👦..👫) boy..woman and man holding hands\n // E1.0 [2] (👬..👭) men holding hands..women holding hands\n // E0.6 [63] (👮..💬) police officer..speech balloon\n // E1.0 [1] (💭) thought balloon\n // E0.6 [8] (💮..💵) white flower..dollar banknote\n // E1.0 [2] (💶..💷) euro banknote..pound banknote\n // E0.6 [52] (💸..📫) money with wings..closed mailbox with raised flag\n // E0.7 [2] (📬..📭) open mailbox with raised flag..open mailbox with lowered flag\n // E0.6 [1] (📮) postbox\n // E1.0 [1] (📯) postal horn\n // E0.6 [5] (📰..📴) newspaper..mobile phone off\n // E1.0 [1] (📵) no mobile phones\n // E0.6 [2] (📶..📷) antenna bars..camera\n // E1.0 [1] (📸) camera with flash\n // E0.6 [4] (📹..📼) video camera..videocassette\n // E0.7 [1] (📽️) film projector\n // E0.0 [1] (📾) PORTABLE STEREO\n // E1.0 [4] (📿..🔂) prayer beads..repeat single button\n // E0.6 [1] (🔃) clockwise vertical arrows\n // E1.0 [4] (🔄..🔇) counterclockwise arrows button..muted speaker\n // E0.7 [1] (🔈) speaker low volume\n // E1.0 [1] (🔉) speaker medium volume\n // E0.6 [11] (🔊..🔔) speaker high volume..bell\n // E1.0 [1] (🔕) bell with slash\n // E0.6 [22] (🔖..🔫) bookmark..water pistol\n // E1.0 [2] (🔬..🔭) microscope..telescope\n // E0.6 [16] (🔮..🔽) crystal ball..downwards button\n if (0x1f400 <= code && code <= 0x1f53d) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n else {\n if (code < 0x1f680) {\n // E0.0 [3] (🕆..🕈) WHITE LATIN CROSS..CELTIC CROSS\n // E0.7 [2] (🕉️..🕊️) om..dove\n // E1.0 [4] (🕋..🕎) kaaba..menorah\n // E0.0 [1] (🕏) BOWL OF HYGIEIA\n // E0.6 [12] (🕐..🕛) one o’clock..twelve o’clock\n // E0.7 [12] (🕜..🕧) one-thirty..twelve-thirty\n // E0.0 [7] (🕨..🕮) RIGHT SPEAKER..BOOK\n // E0.7 [2] (🕯️..🕰️) candle..mantelpiece clock\n // E0.0 [2] (🕱..🕲) BLACK SKULL AND CROSSBONES..NO PIRACY\n // E0.7 [7] (🕳️..🕹️) hole..joystick\n // E3.0 [1] (🕺) man dancing\n // E0.0 [12] (🕻..🖆) LEFT HAND TELEPHONE RECEIVER..PEN OVER STAMPED ENVELOPE\n // E0.7 [1] (🖇️) linked paperclips\n // E0.0 [2] (🖈..🖉) BLACK PUSHPIN..LOWER LEFT PENCIL\n // E0.7 [4] (🖊️..🖍️) pen..crayon\n // E0.0 [2] (🖎..🖏) LEFT WRITING HAND..TURNED OK HAND SIGN\n // E0.7 [1] (🖐️) hand with fingers splayed\n // E0.0 [4] (🖑..🖔) REVERSED RAISED HAND WITH FINGERS SPLAYED..REVERSED VICTORY HAND\n // E1.0 [2] (🖕..🖖) middle finger..vulcan salute\n // E0.0 [13] (🖗..🖣) WHITE DOWN POINTING LEFT HAND INDEX..BLACK DOWN POINTING BACKHAND INDEX\n // E3.0 [1] (🖤) black heart\n // E0.7 [1] (🖥️) desktop computer\n // E0.0 [2] (🖦..🖧) KEYBOARD AND MOUSE..THREE NETWORKED COMPUTERS\n // E0.7 [1] (🖨️) printer\n // E0.0 [8] (🖩..🖰) POCKET CALCULATOR..TWO BUTTON MOUSE\n // E0.7 [2] (🖱️..🖲️) computer mouse..trackball\n // E0.0 [9] (🖳..🖻) OLD PERSONAL COMPUTER..DOCUMENT WITH PICTURE\n // E0.7 [1] (🖼️) framed picture\n // E0.0 [5] (🖽..🗁) FRAME WITH TILES..OPEN FOLDER\n // E0.7 [3] (🗂️..🗄️) card index dividers..file cabinet\n // E0.0 [12] (🗅..🗐) EMPTY NOTE..PAGES\n // E0.7 [3] (🗑️..🗓️) wastebasket..spiral calendar\n // E0.0 [8] (🗔..🗛) DESKTOP WINDOW..DECREASE FONT SIZE SYMBOL\n // E0.7 [3] (🗜️..🗞️) clamp..rolled-up newspaper\n // E0.0 [2] (🗟..🗠) PAGE WITH CIRCLED TEXT..STOCK CHART\n // E0.7 [1] (🗡️) dagger\n // E0.0 [1] (🗢) LIPS\n // E0.7 [1] (🗣️) speaking head\n // E0.0 [4] (🗤..🗧) THREE RAYS ABOVE..THREE RAYS RIGHT\n // E2.0 [1] (🗨️) left speech bubble\n // E0.0 [6] (🗩..🗮) RIGHT SPEECH BUBBLE..LEFT ANGER BUBBLE\n // E0.7 [1] (🗯️) right anger bubble\n // E0.0 [3] (🗰..🗲) MOOD BUBBLE..LIGHTNING MOOD\n // E0.7 [1] (🗳️) ballot box with ballot\n // E0.0 [6] (🗴..🗹) BALLOT SCRIPT X..BALLOT BOX WITH BOLD CHECK\n // E0.7 [1] (🗺️) world map\n // E0.6 [5] (🗻..🗿) mount fuji..moai\n // E1.0 [1] (😀) grinning face\n // E0.6 [6] (😁..😆) beaming face with smiling eyes..grinning squinting face\n // E1.0 [2] (😇..😈) smiling face with halo..smiling face with horns\n // E0.6 [5] (😉..😍) winking face..smiling face with heart-eyes\n // E1.0 [1] (😎) smiling face with sunglasses\n // E0.6 [1] (😏) smirking face\n // E0.7 [1] (😐) neutral face\n // E1.0 [1] (😑) expressionless face\n // E0.6 [3] (😒..😔) unamused face..pensive face\n // E1.0 [1] (😕) confused face\n // E0.6 [1] (😖) confounded face\n // E1.0 [1] (😗) kissing face\n // E0.6 [1] (😘) face blowing a kiss\n // E1.0 [1] (😙) kissing face with smiling eyes\n // E0.6 [1] (😚) kissing face with closed eyes\n // E1.0 [1] (😛) face with tongue\n // E0.6 [3] (😜..😞) winking face with tongue..disappointed face\n // E1.0 [1] (😟) worried face\n // E0.6 [6] (😠..😥) angry face..sad but relieved face\n // E1.0 [2] (😦..😧) frowning face with open mouth..anguished face\n // E0.6 [4] (😨..😫) fearful face..tired face\n // E1.0 [1] (😬) grimacing face\n // E0.6 [1] (😭) loudly crying face\n // E1.0 [2] (😮..😯) face with open mouth..hushed face\n // E0.6 [4] (😰..😳) anxious face with sweat..flushed face\n // E1.0 [1] (😴) sleeping face\n // E0.6 [1] (😵) face with crossed-out eyes\n // E1.0 [1] (😶) face without mouth\n // E0.6 [10] (😷..🙀) face with medical mask..weary cat\n // E1.0 [4] (🙁..🙄) slightly frowning face..face with rolling eyes\n // E0.6 [11] (🙅..🙏) person gesturing NO..folded hands\n if (0x1f546 <= code && code <= 0x1f64f) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x1f774) {\n // E0.6 [1] (🚀) rocket\n // E1.0 [2] (🚁..🚂) helicopter..locomotive\n // E0.6 [3] (🚃..🚅) railway car..bullet train\n // E1.0 [1] (🚆) train\n // E0.6 [1] (🚇) metro\n // E1.0 [1] (🚈) light rail\n // E0.6 [1] (🚉) station\n // E1.0 [2] (🚊..🚋) tram..tram car\n // E0.6 [1] (🚌) bus\n // E0.7 [1] (🚍) oncoming bus\n // E1.0 [1] (🚎) trolleybus\n // E0.6 [1] (🚏) bus stop\n // E1.0 [1] (🚐) minibus\n // E0.6 [3] (🚑..🚓) ambulance..police car\n // E0.7 [1] (🚔) oncoming police car\n // E0.6 [1] (🚕) taxi\n // E1.0 [1] (🚖) oncoming taxi\n // E0.6 [1] (🚗) automobile\n // E0.7 [1] (🚘) oncoming automobile\n // E0.6 [2] (🚙..🚚) sport utility vehicle..delivery truck\n // E1.0 [7] (🚛..🚡) articulated lorry..aerial tramway\n // E0.6 [1] (🚢) ship\n // E1.0 [1] (🚣) person rowing boat\n // E0.6 [2] (🚤..🚥) speedboat..horizontal traffic light\n // E1.0 [1] (🚦) vertical traffic light\n // E0.6 [7] (🚧..🚭) construction..no smoking\n // E1.0 [4] (🚮..🚱) litter in bin sign..non-potable water\n // E0.6 [1] (🚲) bicycle\n // E1.0 [3] (🚳..🚵) no bicycles..person mountain biking\n // E0.6 [1] (🚶) person walking\n // E1.0 [2] (🚷..🚸) no pedestrians..children crossing\n // E0.6 [6] (🚹..🚾) men’s room..water closet\n // E1.0 [1] (🚿) shower\n // E0.6 [1] (🛀) person taking bath\n // E1.0 [5] (🛁..🛅) bathtub..left luggage\n // E0.0 [5] (🛆..🛊) TRIANGLE WITH ROUNDED CORNERS..GIRLS SYMBOL\n // E0.7 [1] (🛋️) couch and lamp\n // E1.0 [1] (🛌) person in bed\n // E0.7 [3] (🛍️..🛏️) shopping bags..bed\n // E1.0 [1] (🛐) place of worship\n // E3.0 [2] (🛑..🛒) stop sign..shopping cart\n // E0.0 [2] (🛓..🛔) STUPA..PAGODA\n // E12.0 [1] (🛕) hindu temple\n // E13.0 [2] (🛖..🛗) hut..elevator\n // E0.0 [4] (🛘..🛛) ..\n // E15.0 [1] (🛜) wireless\n // E14.0 [3] (🛝..🛟) playground slide..ring buoy\n // E0.7 [6] (🛠️..🛥️) hammer and wrench..motor boat\n // E0.0 [3] (🛦..🛨) UP-POINTING MILITARY AIRPLANE..UP-POINTING SMALL AIRPLANE\n // E0.7 [1] (🛩️) small airplane\n // E0.0 [1] (🛪) NORTHEAST-POINTING AIRPLANE\n // E1.0 [2] (🛫..🛬) airplane departure..airplane arrival\n // E0.0 [3] (🛭..🛯) ..\n // E0.7 [1] (🛰️) satellite\n // E0.0 [2] (🛱..🛲) ONCOMING FIRE ENGINE..DIESEL LOCOMOTIVE\n // E0.7 [1] (🛳️) passenger ship\n // E3.0 [3] (🛴..🛶) kick scooter..canoe\n // E5.0 [2] (🛷..🛸) sled..flying saucer\n // E11.0 [1] (🛹) skateboard\n // E12.0 [1] (🛺) auto rickshaw\n // E13.0 [2] (🛻..🛼) pickup truck..roller skate\n // E0.0 [3] (🛽..🛿) ..\n if (0x1f680 <= code && code <= 0x1f6ff) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.0 [12] (🝴..🝿) LOT OF FORTUNE..ORCUS\n if (0x1f774 <= code && code <= 0x1f77f) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n }\n }\n else {\n if (code < 0x1f8ae) {\n if (code < 0x1f848) {\n if (code < 0x1f80c) {\n // E0.0 [11] (🟕..🟟) CIRCLED TRIANGLE..\n // E12.0 [12] (🟠..🟫) orange circle..brown square\n // E0.0 [4] (🟬..🟯) ..\n // E14.0 [1] (🟰) heavy equals sign\n // E0.0 [15] (🟱..🟿) ..\n if (0x1f7d5 <= code && code <= 0x1f7ff) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.0 [4] (🠌..🠏) ..\n if (0x1f80c <= code && code <= 0x1f80f) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n else {\n if (code < 0x1f85a) {\n // E0.0 [8] (🡈..🡏) ..\n if (0x1f848 <= code && code <= 0x1f84f) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x1f888) {\n // E0.0 [6] (🡚..🡟) ..\n if (0x1f85a <= code && code <= 0x1f85f) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.0 [8] (🢈..🢏) ..\n if (0x1f888 <= code && code <= 0x1f88f) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n }\n else {\n if (code < 0x1f93c) {\n if (code < 0x1f90c) {\n // E0.0 [82] (🢮..🣿) ..\n if (0x1f8ae <= code && code <= 0x1f8ff) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E13.0 [1] (🤌) pinched fingers\n // E12.0 [3] (🤍..🤏) white heart..pinching hand\n // E1.0 [9] (🤐..🤘) zipper-mouth face..sign of the horns\n // E3.0 [6] (🤙..🤞) call me hand..crossed fingers\n // E5.0 [1] (🤟) love-you gesture\n // E3.0 [8] (🤠..🤧) cowboy hat face..sneezing face\n // E5.0 [8] (🤨..🤯) face with raised eyebrow..exploding head\n // E3.0 [1] (🤰) pregnant woman\n // E5.0 [2] (🤱..🤲) breast-feeding..palms up together\n // E3.0 [8] (🤳..🤺) selfie..person fencing\n if (0x1f90c <= code && code <= 0x1f93a) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n else {\n if (code < 0x1f947) {\n // E3.0 [3] (🤼..🤾) people wrestling..person playing handball\n // E12.0 [1] (🤿) diving mask\n // E3.0 [6] (🥀..🥅) wilted flower..goal net\n if (0x1f93c <= code && code <= 0x1f945) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n if (code < 0x1fc00) {\n // E3.0 [5] (🥇..🥋) 1st place medal..martial arts uniform\n // E5.0 [1] (🥌) curling stone\n // E11.0 [3] (🥍..🥏) lacrosse..flying disc\n // E3.0 [15] (🥐..🥞) croissant..pancakes\n // E5.0 [13] (🥟..🥫) dumpling..canned food\n // E11.0 [5] (🥬..🥰) leafy green..smiling face with hearts\n // E12.0 [1] (🥱) yawning face\n // E13.0 [1] (🥲) smiling face with tear\n // E11.0 [4] (🥳..🥶) partying face..cold face\n // E13.0 [2] (🥷..🥸) ninja..disguised face\n // E14.0 [1] (🥹) face holding back tears\n // E11.0 [1] (🥺) pleading face\n // E12.0 [1] (🥻) sari\n // E11.0 [4] (🥼..🥿) lab coat..flat shoe\n // E1.0 [5] (🦀..🦄) crab..unicorn\n // E3.0 [13] (🦅..🦑) eagle..squid\n // E5.0 [6] (🦒..🦗) giraffe..cricket\n // E11.0 [11] (🦘..🦢) kangaroo..swan\n // E13.0 [2] (🦣..🦤) mammoth..dodo\n // E12.0 [6] (🦥..🦪) sloth..oyster\n // E13.0 [3] (🦫..🦭) beaver..seal\n // E12.0 [2] (🦮..🦯) guide dog..white cane\n // E11.0 [10] (🦰..🦹) red hair..supervillain\n // E12.0 [6] (🦺..🦿) safety vest..mechanical leg\n // E1.0 [1] (🧀) cheese wedge\n // E11.0 [2] (🧁..🧂) cupcake..salt\n // E12.0 [8] (🧃..🧊) beverage box..ice\n // E13.0 [1] (🧋) bubble tea\n // E14.0 [1] (🧌) troll\n // E12.0 [3] (🧍..🧏) person standing..deaf person\n // E5.0 [23] (🧐..🧦) face with monocle..socks\n // E11.0 [25] (🧧..🧿) red envelope..nazar amulet\n // E0.0 [112] (🨀..🩯) NEUTRAL CHESS KING..\n // E12.0 [4] (🩰..🩳) ballet shoes..shorts\n // E13.0 [1] (🩴) thong sandal\n // E15.0 [3] (🩵..🩷) light blue heart..pink heart\n // E12.0 [3] (🩸..🩺) drop of blood..stethoscope\n // E14.0 [2] (🩻..🩼) x-ray..crutch\n // E0.0 [3] (🩽..🩿) ..\n // E12.0 [3] (🪀..🪂) yo-yo..parachute\n // E13.0 [4] (🪃..🪆) boomerang..nesting dolls\n // E15.0 [2] (🪇..🪈) maracas..flute\n // E0.0 [7] (🪉..🪏) ..\n // E12.0 [6] (🪐..🪕) ringed planet..banjo\n // E13.0 [19] (🪖..🪨) military helmet..rock\n // E14.0 [4] (🪩..🪬) mirror ball..hamsa\n // E15.0 [3] (🪭..🪯) folding hand fan..khanda\n // E13.0 [7] (🪰..🪶) fly..feather\n // E14.0 [4] (🪷..🪺) lotus..nest with eggs\n // E15.0 [3] (🪻..🪽) hyacinth..wing\n // E0.0 [1] (🪾) \n // E15.0 [1] (🪿) goose\n // E13.0 [3] (🫀..🫂) anatomical heart..people hugging\n // E14.0 [3] (🫃..🫅) pregnant man..person with crown\n // E0.0 [8] (🫆..🫍) ..\n // E15.0 [2] (🫎..🫏) moose..donkey\n // E13.0 [7] (🫐..🫖) blueberries..teapot\n // E14.0 [3] (🫗..🫙) pouring liquid..jar\n // E15.0 [2] (🫚..🫛) ginger root..pea pod\n // E0.0 [4] (🫜..🫟) ..\n // E14.0 [8] (🫠..🫧) melting face..bubbles\n // E15.0 [1] (🫨) shaking face\n // E0.0 [7] (🫩..🫯) ..\n // E14.0 [7] (🫰..🫶) hand with index finger and thumb crossed..heart hands\n // E15.0 [2] (🫷..🫸) leftwards pushing hand..rightwards pushing hand\n // E0.0 [7] (🫹..🫿) ..\n if (0x1f947 <= code && code <= 0x1faff) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n else {\n // E0.0[1022] (🰀..🿽) ..\n if (0x1fc00 <= code && code <= 0x1fffd) {\n return boundaries_1.EXTENDED_PICTOGRAPHIC;\n }\n }\n }\n }\n }\n }\n }\n }\n // unlisted code points are treated as a break property of \"Other\"\n return boundaries_1.CLUSTER_BREAK.OTHER;\n }\n}\nexports.default = Graphemer;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Graphemer_1 = __importDefault(require(\"./Graphemer\"));\nexports.default = Graphemer_1.default;\n","/*\nCopyright 2023 New Vector Ltd\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport GraphemeSplitter from \"graphemer\";\n\nexport const MX_USERNAME_PREFIX = \"@\";\nexport const MX_ROOM_PREFIX = \"#\";\nexport const MX_ALIAS_PREFIX = \"+\";\n\n/**\n * The CommonJS output of the graphemer package looks wrong,\n * this is a workaround\n * To remove when https://github.com/flmnt/graphemer/issues/11 is fixed\n * @param value the constructor or wrapper with `default`\n * @returns the Graphemer constructor\n */\nfunction interopDefault(value: T): T {\n if ((value as unknown as { default: T }).default) {\n return (value as unknown as { default: T }).default;\n }\n\n return value;\n}\n\n/**\n * returns the first (non-sigil) character of 'name',\n * converted to uppercase\n * @param {string} name\n * @return {string} the first letter\n */\nexport function getInitialLetter(name: string): string {\n if (name.length < 1) {\n return \"\";\n }\n\n const initial = name[0];\n if ([MX_USERNAME_PREFIX, MX_ROOM_PREFIX, MX_ALIAS_PREFIX].includes(initial)) {\n name = name.substring(1);\n }\n\n // rely on a grapheme cluster splitter so that we don't break apart compound emojis\n const splitter = new (interopDefault(GraphemeSplitter))();\n const result = splitter.iterateGraphemes(name).next();\n return result.done ? \"\" : result.value;\n}\n","/*\nCopyright 2023 New Vector Ltd\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n/**\n * Determines a number for a given Matrix ID or room ID, helps disambiguating users\n * who are trying to impersonate someone else.\n * @param id - a Matrix ID or room ID\n * @returns a hash of the ID provided\n */\nexport function useIdColorHash(id: string): number {\n const MIN = 1;\n const MAX = 6;\n // Sum up the values of all the char codes in the string\n const charCodeSum = id.split(\"\").reduce((sum, char) => {\n return sum + char.charCodeAt(0);\n }, 0);\n return (charCodeSum % MAX) + MIN;\n}\n","/*\nCopyright 2023 New Vector Ltd\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport classnames from \"classnames\";\nimport React, { forwardRef } from \"react\";\nimport { getInitialLetter } from \"../../utils/string\";\nimport { SuspenseImg } from \"../../utils/SuspenseImg\";\nimport styles from \"./Avatar.module.css\";\nimport { useIdColorHash } from \"./useIdColorHash\";\n\ntype AvatarProps = (\n | JSX.IntrinsicElements[\"button\"]\n | JSX.IntrinsicElements[\"span\"]\n) & {\n /**\n * The avatar image URL, if any.\n */\n src?: React.ComponentProps[\"src\"];\n /**\n * The Matrix ID, Room ID, or Alias to generate the color when no image source\n * is provided. Also used as a fallback when name is empty.\n */\n id: string;\n /**\n * The name used for the initial letter displayed when no image source is provided.\n */\n name: string;\n /**\n * Defines the avatar type, typically round, square is usually for spaces.\n * @default \"round\"\n */\n type?: \"square\" | \"round\";\n /**\n * The avatar size in CSS units, e.g. `\"24px\"`.\n */\n size?: CSSStyleDeclaration[\"height\"];\n /**\n * On click handler, will turn the avatar into a button element.\n */\n onClick?: (e: React.MouseEvent) => void;\n /**\n * Key down handler, will turn the avatar into a button element.\n */\n onKeyDown?: (e: React.KeyboardEvent) => void;\n /**\n * Key up handler, will turn the avatar into a button element.\n */\n onKeyUp?: (e: React.KeyboardEvent) => void;\n /**\n * Callback when the image has failed to load.\n */\n onError?: React.ComponentProps[\"onError\"];\n};\n\n/**\n * Some props warrant that the avatar become a button for accessibility purposes\n * @param props Avatar props\n * @returns whether the avatar should be a button or not\n */\nfunction shouldBeAButton(props: Partial): boolean {\n return !!(props.onClick || props.onKeyDown || props.onKeyUp);\n}\n\n/**\n * Avatar component that will fallback to an initial letter over a coloured\n * background if no source is provided or if the source has failed to load.\n */\nexport const Avatar = forwardRef<\n HTMLSpanElement | HTMLButtonElement,\n AvatarProps\n>(function Avatar(\n {\n src,\n id,\n name = \"\",\n type = \"round\",\n className = \"\",\n size,\n style = {},\n onError,\n ...props\n },\n ref,\n) {\n return React.createElement(\n shouldBeAButton(props) ? \"button\" : \"span\",\n {\n ref,\n role: \"img\",\n // Default the aria-label to id\n \"aria-label\": id,\n ...props,\n \"data-type\": type,\n \"data-color\": useIdColorHash(id),\n className: classnames(styles.avatar, className, {\n [styles[\"avatar-imageless\"]]: !src,\n }),\n style: {\n ...style,\n \"--cpd-avatar-size\": size,\n } as React.CSSProperties,\n },\n \n {!src ? (\n getInitialLetter(name)\n ) : (\n \n )}\n ,\n );\n});\n"],"names":["exports","CLUSTER_BREAK","GraphemerHelper_1","boundaries_1","require$$0","NotBreak","BreakStart","Break","BreakLastRegional","BreakPenultimateRegional","GraphemerHelper","str","pos","idx","code","hi","low","start","mid","end","startEmoji","midEmoji","endEmoji","all","allEmoji","previous","next","nextEmoji","rIIndex","c","previousNonExtendIndex","GraphemerIterator_1","GraphemerIterator","nextBreak","brk","value","__importDefault","this","mod","Graphemer_1","require$$1","require$$2","Graphemer","string","index","prevCP","prev","prevEmoji","i","nextCP","res","count","lib","_default","MX_USERNAME_PREFIX","MX_ROOM_PREFIX","MX_ALIAS_PREFIX","interopDefault","getInitialLetter","name","initial","result","GraphemeSplitter","useIdColorHash","id","sum","char","shouldBeAButton","props","Avatar","forwardRef","src","type","className","size","style","onError","ref","React","classnames","styles","jsx"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]} \ No newline at end of file diff --git a/assets/Avatar-5be843e9.css b/assets/Avatar-5be843e9.css deleted file mode 100644 index fb4432ea..00000000 --- a/assets/Avatar-5be843e9.css +++ /dev/null @@ -1 +0,0 @@ -._avatar_1o69u_17{display:inline-block;box-sizing:border-box;line-height:var(--cpd-avatar-size);text-align:center;font-size:min(calc(var(--cpd-avatar-size) * .5625),60px);text-transform:uppercase;speak:none;font-weight:700;overflow:hidden;-webkit-user-select:none;user-select:none;background:var(--cpd-color-bg-canvas-default)}button._avatar_1o69u_17{padding:0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}button._avatar_1o69u_17:disabled{cursor:not-allowed}._avatar_1o69u_17,._image_1o69u_49{aspect-ratio:1 / 1;inline-size:var(--cpd-avatar-size);border-radius:var(--cpd-avatar-radius)}._image_1o69u_49{object-fit:cover;overflow:hidden}._avatar-imageless_1o69u_60{background:var(--cpd-avatar-bg);color:var(--cpd-avatar-color)}._avatar_1o69u_17[data-color]{--cpd-avatar-bg: var(--cpd-color-blue-300);--cpd-avatar-color: var(--cpd-color-blue-1200)}._avatar_1o69u_17[data-color="2"]{--cpd-avatar-bg: var(--cpd-color-fuchsia-300);--cpd-avatar-color: var(--cpd-color-fuchsia-1200)}._avatar_1o69u_17[data-color="3"]{--cpd-avatar-bg: var(--cpd-color-green-300);--cpd-avatar-color: var(--cpd-color-green-1200)}._avatar_1o69u_17[data-color="4"]{--cpd-avatar-bg: var(--cpd-color-pink-300);--cpd-avatar-color: var(--cpd-color-pink-1200)}._avatar_1o69u_17[data-color="5"]{--cpd-avatar-bg: var(--cpd-color-orange-300);--cpd-avatar-color: var(--cpd-color-orange-1200)}._avatar_1o69u_17[data-color="6"]{--cpd-avatar-bg: var(--cpd-color-cyan-300);--cpd-avatar-color: var(--cpd-color-cyan-1200)}._avatar_1o69u_17[data-color="7"]{--cpd-avatar-bg: var(--cpd-color-purple-300);--cpd-avatar-color: var(--cpd-color-purple-1200)}._avatar_1o69u_17[data-color="8"]{--cpd-avatar-bg: var(--cpd-color-lime-300);--cpd-avatar-color: var(--cpd-color-lime-1200)}._avatar_1o69u_17[data-type=round]{--cpd-avatar-radius: 50%}._avatar_1o69u_17[data-type=square]{--cpd-avatar-radius: 25%}._stacked-avatars_1o69u_120:after{content:"";display:table;clear:both}._stacked-avatars_1o69u_120 ._avatar_1o69u_17{float:inline-start}._stacked-avatars_1o69u_120 ._avatar_1o69u_17:not(:last-child){clip-path:url(#cpdAvatarClip)}._stacked-avatars_1o69u_120>*:not(:first-child){margin-inline-start:calc(var(--cpd-avatar-size) * -.2)}._clip-path_1o69u_139{position:fixed;inset-inline-start:-9999px} diff --git a/assets/Avatar-9ed01f75.css b/assets/Avatar-9ed01f75.css new file mode 100644 index 00000000..7b977e49 --- /dev/null +++ b/assets/Avatar-9ed01f75.css @@ -0,0 +1 @@ +._avatar_k41ul_17{display:inline-block;box-sizing:border-box;line-height:var(--cpd-avatar-size);text-align:center;font-size:min(calc(var(--cpd-avatar-size) * .5625),60px);text-transform:uppercase;speak:none;font-weight:700;overflow:hidden;-webkit-user-select:none;user-select:none;background:var(--cpd-color-bg-canvas-default)}button._avatar_k41ul_17{padding:0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}button._avatar_k41ul_17:disabled{cursor:not-allowed}._avatar_k41ul_17,._image_k41ul_49{aspect-ratio:1 / 1;inline-size:var(--cpd-avatar-size);border-radius:var(--cpd-avatar-radius)}._image_k41ul_49{object-fit:cover;overflow:hidden}._avatar-imageless_k41ul_60{background:var(--cpd-avatar-bg);color:var(--cpd-avatar-color)}._avatar_k41ul_17[data-color]{--cpd-avatar-bg: var(--cpd-color-bg-decorative-1);--cpd-avatar-color: var(--cpd-color-text-decorative-1)}._avatar_k41ul_17[data-color="2"]{--cpd-avatar-bg: var(--cpd-color-bg-decorative-2);--cpd-avatar-color: var(--cpd-color-text-decorative-2)}._avatar_k41ul_17[data-color="3"]{--cpd-avatar-bg: var(--cpd-color-bg-decorative-3);--cpd-avatar-color: var(--cpd-color-text-decorative-3)}._avatar_k41ul_17[data-color="4"]{--cpd-avatar-bg: var(--cpd-color-bg-decorative-4);--cpd-avatar-color: var(--cpd-color-text-decorative-4)}._avatar_k41ul_17[data-color="5"]{--cpd-avatar-bg: var(--cpd-color-bg-decorative-5);--cpd-avatar-color: var(--cpd-color-text-decorative-5)}._avatar_k41ul_17[data-color="6"]{--cpd-avatar-bg: var(--cpd-color-bg-decorative-6);--cpd-avatar-color: var(--cpd-color-text-decorative-6)}._avatar_k41ul_17[data-type=round]{--cpd-avatar-radius: 50%}._avatar_k41ul_17[data-type=square]{--cpd-avatar-radius: 25%}._stacked-avatars_k41ul_110:after{content:"";display:table;clear:both}._stacked-avatars_k41ul_110 ._avatar_k41ul_17{float:inline-start}._stacked-avatars_k41ul_110 ._avatar_k41ul_17:not(:last-child){clip-path:url(#cpdAvatarClip)}._stacked-avatars_k41ul_110>*:not(:first-child){margin-inline-start:calc(var(--cpd-avatar-size) * -.2)}._clip-path_k41ul_129{position:fixed;inset-inline-start:-9999px} diff --git a/assets/Avatar.stories-779908ff.js b/assets/Avatar.stories-779908ff.js new file mode 100644 index 00000000..bd361bc1 --- /dev/null +++ b/assets/Avatar.stories-779908ff.js @@ -0,0 +1,15 @@ +import{j as a}from"./jsx-runtime-f6d73c06.js";import{A as s}from"./Avatar-0e9d46df.js";import"./index-8ee6c85d.js";import"./_commonjsHelpers-de833af9.js";import"./index-e131923d.js";const E={title:"Avatar",component:s,tags:["autodocs"],argTypes:{},args:{name:"Bob",size:"64px",id:"@bob:example.org",src:"/images/__test__/kitten.jpg",type:"round"}},m=r=>a.jsx(s,{...r}),e=m.bind({});e.args={type:"round"};const o=m.bind({});o.args={type:"square"};const t=m.bind({});t.args={type:"round",onClick:()=>console.log("clicked!")};const n=m.bind({});n.args={src:""};const c=m.bind({});c.args={src:"",size:"128px"};const f=r=>a.jsxs(a.Fragment,{children:[a.jsx(s,{...r,id:"1"})," ",a.jsx(s,{...r,id:"2"})," ",a.jsx(s,{...r,id:"3"})," ",a.jsx(s,{...r,id:"4"})," ",a.jsx(s,{...r,id:"5"})," ",a.jsx(s,{...r,id:"6"})," "]}),p=f.bind({});p.args={src:"",size:"36px"};var d,i,g;e.parameters={...e.parameters,docs:{...(d=e.parameters)==null?void 0:d.docs,source:{originalSource:"args => ",...(g=(i=e.parameters)==null?void 0:i.docs)==null?void 0:g.source}}};var u,l,b;o.parameters={...o.parameters,docs:{...(u=o.parameters)==null?void 0:u.docs,source:{originalSource:"args => ",...(b=(l=o.parameters)==null?void 0:l.docs)==null?void 0:b.source}}};var A,v,x;t.parameters={...t.parameters,docs:{...(A=t.parameters)==null?void 0:A.docs,source:{originalSource:"args => ",...(x=(v=t.parameters)==null?void 0:v.docs)==null?void 0:x.source}}};var C,j,S;n.parameters={...n.parameters,docs:{...(C=n.parameters)==null?void 0:C.docs,source:{originalSource:"args => ",...(S=(j=n.parameters)==null?void 0:j.docs)==null?void 0:S.source}}};var k,_,y;c.parameters={...c.parameters,docs:{...(k=c.parameters)==null?void 0:k.docs,source:{originalSource:"args => ",...(y=(_=c.parameters)==null?void 0:_.docs)==null?void 0:y.source}}};var F,I,N;p.parameters={...p.parameters,docs:{...(F=p.parameters)==null?void 0:F.docs,source:{originalSource:`args => <> + +   + +   + +   + +   + +   + +   + `,...(N=(I=p.parameters)==null?void 0:I.docs)==null?void 0:N.source}}};const T=["Round","Square","Button","NoImageFallback","LargeNoImageFallback","AllAvatars"];export{p as AllAvatars,t as Button,c as LargeNoImageFallback,n as NoImageFallback,e as Round,o as Square,T as __namedExportsOrder,E as default}; +//# sourceMappingURL=Avatar.stories-779908ff.js.map diff --git a/assets/Avatar.stories-779908ff.js.map b/assets/Avatar.stories-779908ff.js.map new file mode 100644 index 00000000..cca1783a --- /dev/null +++ b/assets/Avatar.stories-779908ff.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Avatar.stories-779908ff.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"} \ No newline at end of file diff --git a/assets/Avatar.stories-89eb081c.js b/assets/Avatar.stories-89eb081c.js deleted file mode 100644 index bed5956a..00000000 --- a/assets/Avatar.stories-89eb081c.js +++ /dev/null @@ -1,19 +0,0 @@ -import{j as a}from"./jsx-runtime-f6d73c06.js";import{A as s}from"./Avatar-8476321f.js";import"./index-8ee6c85d.js";import"./_commonjsHelpers-de833af9.js";import"./index-e131923d.js";const E={title:"Avatar",component:s,tags:["autodocs"],argTypes:{},args:{name:"Bob",size:"64px",id:"@bob:example.org",src:"/images/__test__/kitten.jpg",type:"round"}},m=r=>a.jsx(s,{...r}),e=m.bind({});e.args={type:"round"};const o=m.bind({});o.args={type:"square"};const t=m.bind({});t.args={type:"round",onClick:()=>console.log("clicked!")};const n=m.bind({});n.args={src:""};const p=m.bind({});p.args={src:"",size:"128px"};const f=r=>a.jsxs(a.Fragment,{children:[a.jsx(s,{...r,id:"1"})," ",a.jsx(s,{...r,id:"2"})," ",a.jsx(s,{...r,id:"3"})," ",a.jsx(s,{...r,id:"4"})," ",a.jsx(s,{...r,id:"5"})," ",a.jsx(s,{...r,id:"6"})," ",a.jsx(s,{...r,id:"7"})," ",a.jsx(s,{...r,id:"8"})," "]}),c=f.bind({});c.args={src:"",size:"36px"};var d,i,g;e.parameters={...e.parameters,docs:{...(d=e.parameters)==null?void 0:d.docs,source:{originalSource:"args => ",...(g=(i=e.parameters)==null?void 0:i.docs)==null?void 0:g.source}}};var u,l,b;o.parameters={...o.parameters,docs:{...(u=o.parameters)==null?void 0:u.docs,source:{originalSource:"args => ",...(b=(l=o.parameters)==null?void 0:l.docs)==null?void 0:b.source}}};var A,v,x;t.parameters={...t.parameters,docs:{...(A=t.parameters)==null?void 0:A.docs,source:{originalSource:"args => ",...(x=(v=t.parameters)==null?void 0:v.docs)==null?void 0:x.source}}};var C,j,S;n.parameters={...n.parameters,docs:{...(C=n.parameters)==null?void 0:C.docs,source:{originalSource:"args => ",...(S=(j=n.parameters)==null?void 0:j.docs)==null?void 0:S.source}}};var k,_,y;p.parameters={...p.parameters,docs:{...(k=p.parameters)==null?void 0:k.docs,source:{originalSource:"args => ",...(y=(_=p.parameters)==null?void 0:_.docs)==null?void 0:y.source}}};var F,I,N;c.parameters={...c.parameters,docs:{...(F=c.parameters)==null?void 0:F.docs,source:{originalSource:`args => <> - -   - -   - -   - -   - -   - -   - -   - -   - `,...(N=(I=c.parameters)==null?void 0:I.docs)==null?void 0:N.source}}};const T=["Round","Square","Button","NoImageFallback","LargeNoImageFallback","AllAvatars"];export{c as AllAvatars,t as Button,p as LargeNoImageFallback,n as NoImageFallback,e as Round,o as Square,T as __namedExportsOrder,E as default}; -//# sourceMappingURL=Avatar.stories-89eb081c.js.map diff --git a/assets/Avatar.stories-89eb081c.js.map b/assets/Avatar.stories-89eb081c.js.map deleted file mode 100644 index 17774aa3..00000000 --- a/assets/Avatar.stories-89eb081c.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Avatar.stories-89eb081c.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/assets/AvatarStack.stories-83f1c3dc.js b/assets/AvatarStack.stories-c133ad63.js similarity index 99% rename from assets/AvatarStack.stories-83f1c3dc.js rename to assets/AvatarStack.stories-c133ad63.js index 65263b89..49b14b4d 100644 --- a/assets/AvatarStack.stories-83f1c3dc.js +++ b/assets/AvatarStack.stories-c133ad63.js @@ -1,4 +1,4 @@ -import{j as X}from"./jsx-runtime-f6d73c06.js";import{c as Pr}from"./index-e131923d.js";import{r as mt}from"./index-8ee6c85d.js";import{s as Dt,A as zt}from"./Avatar-8476321f.js";import"./_commonjsHelpers-de833af9.js";var re={};/** +import{j as X}from"./jsx-runtime-f6d73c06.js";import{c as Pr}from"./index-e131923d.js";import{r as mt}from"./index-8ee6c85d.js";import{s as Dt,A as zt}from"./Avatar-0e9d46df.js";import"./_commonjsHelpers-de833af9.js";var re={};/** * @license React * react-dom-server-legacy.browser.production.min.js * @@ -28,4 +28,4 @@ import{j as X}from"./jsx-runtime-f6d73c06.js";import{c as Pr}from"./index-e13192 `,...(Bn=(Mn=ae.parameters)==null?void 0:Mn.docs)==null?void 0:Bn.source}}};const Gl=["AvatarStack"];export{ae as AvatarStack,Gl as __namedExportsOrder,Xl as default}; -//# sourceMappingURL=AvatarStack.stories-83f1c3dc.js.map +//# sourceMappingURL=AvatarStack.stories-c133ad63.js.map diff --git a/assets/AvatarStack.stories-83f1c3dc.js.map b/assets/AvatarStack.stories-c133ad63.js.map similarity index 99% rename from assets/AvatarStack.stories-83f1c3dc.js.map rename to assets/AvatarStack.stories-c133ad63.js.map index 22a09309..a18c4b4b 100644 --- a/assets/AvatarStack.stories-83f1c3dc.js.map +++ b/assets/AvatarStack.stories-c133ad63.js.map @@ -1 +1 @@ -{"version":3,"file":"AvatarStack.stories-83f1c3dc.js","sources":["../../node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.min.js","../../node_modules/react-dom/cjs/react-dom-server.browser.production.min.js","../../node_modules/react-dom/server.browser.js","../../src/components/Avatar/avatar-clip.mask.svg","../../src/components/Avatar/AvatarStack.tsx"],"sourcesContent":["/**\n * @license React\n * react-dom-server-legacy.browser.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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'use strict';var aa=require(\"react\");function l(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c