@bagelink/vue 0.0.933 → 0.0.937

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/dist/components/AccordionItem.vue.d.ts.map +1 -1
  2. package/dist/components/AddressSaerch.vue.d.ts +7 -0
  3. package/dist/components/AddressSaerch.vue.d.ts.map +1 -0
  4. package/dist/components/Btn.vue.d.ts.map +1 -1
  5. package/dist/components/ComboBox.vue.d.ts +3 -3
  6. package/dist/components/Comments.vue.d.ts +2 -2
  7. package/dist/components/ContactSubmissions.vue.d.ts +2 -2
  8. package/dist/components/DropDown.vue.d.ts +186 -17
  9. package/dist/components/DropDown.vue.d.ts.map +1 -1
  10. package/dist/components/FormSchema.vue.d.ts +4 -5
  11. package/dist/components/LangText.vue.d.ts +2 -2
  12. package/dist/components/ModalBglForm.vue.d.ts +20 -21
  13. package/dist/components/PersonPreview.vue.d.ts +4 -5
  14. package/dist/components/PersonPreviewFormkit.vue.d.ts +3 -4
  15. package/dist/components/Popover.vue.d.ts +10 -0
  16. package/dist/components/Popover.vue.d.ts.map +1 -0
  17. package/dist/components/RTXEditor.vue.d.ts +3 -3
  18. package/dist/components/TabbedLayout.vue.d.ts +4 -5
  19. package/dist/components/TableSchema.vue.d.ts +11 -2
  20. package/dist/components/TableSchema.vue.d.ts.map +1 -1
  21. package/dist/components/charts/BarChart.vue.d.ts +2 -2
  22. package/dist/components/form/BglField.vue.d.ts +6 -2
  23. package/dist/components/form/BglField.vue.d.ts.map +1 -1
  24. package/dist/components/form/BglMultiStepForm.vue.d.ts +21 -3
  25. package/dist/components/form/BglMultiStepForm.vue.d.ts.map +1 -1
  26. package/dist/components/form/ItemRef.vue.d.ts +3 -5
  27. package/dist/components/form/ItemRef.vue.d.ts.map +1 -1
  28. package/dist/components/form/MaterialIcon.vue.d.ts +3 -4
  29. package/dist/components/form/PlainInputField.vue.d.ts +3 -3
  30. package/dist/components/form/inputs/CurrencyInput.vue.d.ts +3 -3
  31. package/dist/components/form/inputs/DatetimeInput.vue.d.ts +3 -3
  32. package/dist/components/form/inputs/DurationInput.vue.d.ts +3 -3
  33. package/dist/components/form/inputs/DynamicLinkField.vue.d.ts +3 -3
  34. package/dist/components/form/inputs/EmailInput.vue.d.ts +3 -3
  35. package/dist/components/form/inputs/FileUpload.vue.d.ts +0 -2
  36. package/dist/components/form/inputs/FileUpload.vue.d.ts.map +1 -1
  37. package/dist/components/form/inputs/FloatInput.vue.d.ts +3 -3
  38. package/dist/components/form/inputs/IntInput.vue.d.ts +3 -3
  39. package/dist/components/form/inputs/LinkField.vue.d.ts +3 -3
  40. package/dist/components/form/inputs/Password.vue.d.ts +3 -3
  41. package/dist/components/form/inputs/PlainText.vue.d.ts +3 -3
  42. package/dist/components/form/inputs/RadioGroup.vue.d.ts +6 -2
  43. package/dist/components/form/inputs/RadioGroup.vue.d.ts.map +1 -1
  44. package/dist/components/form/inputs/RangeInput.vue.d.ts +5 -0
  45. package/dist/components/form/inputs/RangeInput.vue.d.ts.map +1 -1
  46. package/dist/components/form/inputs/ReadOnlyInput.vue.d.ts +2 -2
  47. package/dist/components/form/inputs/RichTextEditor.vue.d.ts +3 -3
  48. package/dist/components/form/inputs/SelectField.vue.d.ts +8 -6
  49. package/dist/components/form/inputs/SelectField.vue.d.ts.map +1 -1
  50. package/dist/components/form/inputs/SelectInput.vue.d.ts +52 -2
  51. package/dist/components/form/inputs/SelectInput.vue.d.ts.map +1 -1
  52. package/dist/components/form/inputs/TextArea.vue.d.ts +3 -3
  53. package/dist/components/form/inputs/TextInput.vue.d.ts +1 -0
  54. package/dist/components/form/inputs/TextInput.vue.d.ts.map +1 -1
  55. package/dist/components/formkit/AddressArray.vue.d.ts +2 -2
  56. package/dist/components/formkit/BankDetailsArray.vue.d.ts +2 -2
  57. package/dist/components/formkit/ContactArrayFormKit.vue.d.ts +2 -2
  58. package/dist/components/formkit/FileUploader.vue.d.ts +2 -2
  59. package/dist/components/formkit/MiscFields.vue.d.ts +2 -2
  60. package/dist/components/formkit/Toggle.vue.d.ts +2 -2
  61. package/dist/components/sortable/Animation.d.ts +43 -0
  62. package/dist/components/sortable/Animation.d.ts.map +1 -0
  63. package/dist/components/sortable/BrowserInfo.d.ts +7 -0
  64. package/dist/components/sortable/BrowserInfo.d.ts.map +1 -0
  65. package/dist/components/sortable/EventDispatcher.d.ts +13 -0
  66. package/dist/components/sortable/EventDispatcher.d.ts.map +1 -0
  67. package/dist/components/sortable/PluginManager.d.ts +27 -0
  68. package/dist/components/sortable/PluginManager.d.ts.map +1 -0
  69. package/dist/components/sortable/Sortable.d.ts +81 -0
  70. package/dist/components/sortable/Sortable.d.ts.map +1 -0
  71. package/dist/components/sortable/index.d.ts +5 -0
  72. package/dist/components/sortable/index.d.ts.map +1 -0
  73. package/dist/components/sortable/utils.d.ts +49 -0
  74. package/dist/components/sortable/utils.d.ts.map +1 -0
  75. package/dist/components/whatsapp/form/MsgTemplate.vue.d.ts +3 -4
  76. package/dist/components/whatsapp/form/TextVariableExamples.vue.d.ts +2 -2
  77. package/dist/composables/drag-n-drop/useDraggable.d.ts +2 -0
  78. package/dist/composables/drag-n-drop/useDraggable.d.ts.map +1 -0
  79. package/dist/index.cjs +1448 -1513
  80. package/dist/index.mjs +1448 -1513
  81. package/dist/plugins/drag-n-drop/draggable.d.ts +4 -0
  82. package/dist/plugins/drag-n-drop/draggable.d.ts.map +1 -0
  83. package/dist/plugins/drag-n-drop/droppable.d.ts +4 -0
  84. package/dist/plugins/drag-n-drop/droppable.d.ts.map +1 -0
  85. package/dist/plugins/drag-n-drop/index.d.ts +5 -0
  86. package/dist/plugins/drag-n-drop/index.d.ts.map +1 -0
  87. package/dist/plugins/drag-n-drop/useDraggable.d.ts +8 -0
  88. package/dist/plugins/drag-n-drop/useDraggable.d.ts.map +1 -0
  89. package/dist/plugins/drag-n-drop/useDroppable.d.ts +7 -0
  90. package/dist/plugins/drag-n-drop/useDroppable.d.ts.map +1 -0
  91. package/dist/style.css +76 -81
  92. package/dist/types/materialIcon.d.ts +2 -0
  93. package/dist/types/materialIcon.d.ts.map +1 -0
  94. package/dist/utils/BagelFormUtils.d.ts +30 -2
  95. package/dist/utils/BagelFormUtils.d.ts.map +1 -1
  96. package/dist/utils/objects.d.ts +0 -1
  97. package/package.json +1 -1
  98. package/src/components/AccordionItem.vue +2 -0
  99. package/src/components/Btn.vue +2 -1
  100. package/src/components/form/inputs/RangeInput.vue +49 -14
  101. package/src/components/form/inputs/TextInput.vue +2 -1
  102. package/dist/components/Accordion.d.ts +0 -12
  103. package/dist/components/Accordion.d.ts.map +0 -1
  104. package/dist/components/AccordionItem.d.ts +0 -34
  105. package/dist/components/AccordionItem.d.ts.map +0 -1
  106. package/dist/components/Alert.d.ts +0 -34
  107. package/dist/components/Alert.d.ts.map +0 -1
  108. package/dist/components/Avatar.d.ts +0 -36
  109. package/dist/components/Avatar.d.ts.map +0 -1
  110. package/dist/components/Badge.d.ts +0 -22
  111. package/dist/components/Badge.d.ts.map +0 -1
  112. package/dist/components/BglVideo.d.ts +0 -20
  113. package/dist/components/BglVideo.d.ts.map +0 -1
  114. package/dist/components/Btn.d.ts +0 -99
  115. package/dist/components/Btn.d.ts.map +0 -1
  116. package/dist/components/Card.d.ts +0 -39
  117. package/dist/components/Card.d.ts.map +0 -1
  118. package/dist/components/Carousel.d.ts +0 -74
  119. package/dist/components/Carousel.d.ts.map +0 -1
  120. package/dist/components/DataPreview.d.ts +0 -42
  121. package/dist/components/DataPreview.d.ts.map +0 -1
  122. package/dist/components/Drop.vue.d.ts +0 -34
  123. package/dist/components/Drop.vue.d.ts.map +0 -1
  124. package/dist/components/FileUploader.vue.d.ts +0 -60
  125. package/dist/components/FileUploader.vue.d.ts.map +0 -1
  126. package/dist/components/Flag.d.ts +0 -20
  127. package/dist/components/Flag.d.ts.map +0 -1
  128. package/dist/components/ListItem.d.ts +0 -34
  129. package/dist/components/ListItem.d.ts.map +0 -1
  130. package/dist/components/ListView.d.ts +0 -13
  131. package/dist/components/ListView.d.ts.map +0 -1
  132. package/dist/components/MapEmbed.d.ts +0 -3
  133. package/dist/components/MapEmbed.d.ts.map +0 -1
  134. package/dist/components/MaterialIcon.d.ts +0 -26
  135. package/dist/components/MaterialIcon.d.ts.map +0 -1
  136. package/dist/components/Modal.d.ts +0 -46
  137. package/dist/components/Modal.d.ts.map +0 -1
  138. package/dist/components/ModalConfirm.d.ts +0 -24
  139. package/dist/components/ModalConfirm.d.ts.map +0 -1
  140. package/dist/components/ModalForm.d.ts +0 -78
  141. package/dist/components/ModalForm.d.ts.map +0 -1
  142. package/dist/components/NavBar.d.ts +0 -64
  143. package/dist/components/NavBar.d.ts.map +0 -1
  144. package/dist/components/PageTitle.d.ts +0 -24
  145. package/dist/components/PageTitle.d.ts.map +0 -1
  146. package/dist/components/RouterWrapper.d.ts +0 -3
  147. package/dist/components/RouterWrapper.d.ts.map +0 -1
  148. package/dist/components/TableSchema.d.ts +0 -35
  149. package/dist/components/TableSchema.d.ts.map +0 -1
  150. package/dist/components/Title.d.ts +0 -42
  151. package/dist/components/Title.d.ts.map +0 -1
  152. package/dist/components/TopBar.d.ts +0 -12
  153. package/dist/components/TopBar.d.ts.map +0 -1
  154. package/dist/components/dashboard/Lineart.d.ts +0 -20
  155. package/dist/components/dashboard/Lineart.d.ts.map +0 -1
  156. package/dist/components/form/BglField.d.ts +0 -25
  157. package/dist/components/form/BglField.d.ts.map +0 -1
  158. package/dist/components/form/BglForm.d.ts +0 -75
  159. package/dist/components/form/BglForm.d.ts.map +0 -1
  160. package/dist/components/form/inputs/CheckInput.d.ts +0 -56
  161. package/dist/components/form/inputs/CheckInput.d.ts.map +0 -1
  162. package/dist/components/form/inputs/Checkbox.d.ts +0 -16
  163. package/dist/components/form/inputs/Checkbox.d.ts.map +0 -1
  164. package/dist/components/form/inputs/ColorPicker.d.ts +0 -48
  165. package/dist/components/form/inputs/ColorPicker.d.ts.map +0 -1
  166. package/dist/components/form/inputs/DateInput.d.ts +0 -64
  167. package/dist/components/form/inputs/DateInput.d.ts.map +0 -1
  168. package/dist/components/form/inputs/DatePicker.d.ts +0 -33
  169. package/dist/components/form/inputs/DatePicker.d.ts.map +0 -1
  170. package/dist/components/form/inputs/FileUpload.d.ts +0 -108
  171. package/dist/components/form/inputs/FileUpload.d.ts.map +0 -1
  172. package/dist/components/form/inputs/JSONInput.d.ts +0 -53
  173. package/dist/components/form/inputs/JSONInput.d.ts.map +0 -1
  174. package/dist/components/form/inputs/RadioGroup.d.ts +0 -42
  175. package/dist/components/form/inputs/RadioGroup.d.ts.map +0 -1
  176. package/dist/components/form/inputs/RadioPillsInput.d.ts +0 -48
  177. package/dist/components/form/inputs/RadioPillsInput.d.ts.map +0 -1
  178. package/dist/components/form/inputs/RichText.d.ts +0 -20
  179. package/dist/components/form/inputs/RichText.d.ts.map +0 -1
  180. package/dist/components/form/inputs/RichText2/Toolbar.d.ts +0 -22
  181. package/dist/components/form/inputs/RichText2/Toolbar.d.ts.map +0 -1
  182. package/dist/components/form/inputs/RichText2/index.d.ts +0 -24
  183. package/dist/components/form/inputs/RichText2/index.d.ts.map +0 -1
  184. package/dist/components/form/inputs/SelectInput.d.ts +0 -55
  185. package/dist/components/form/inputs/SelectInput.d.ts.map +0 -1
  186. package/dist/components/form/inputs/SignaturePad.d.ts +0 -72
  187. package/dist/components/form/inputs/SignaturePad.d.ts.map +0 -1
  188. package/dist/components/form/inputs/TableField.d.ts +0 -45
  189. package/dist/components/form/inputs/TableField.d.ts.map +0 -1
  190. package/dist/components/form/inputs/TelInput.d.ts +0 -241
  191. package/dist/components/form/inputs/TelInput.d.ts.map +0 -1
  192. package/dist/components/form/inputs/TextInput.d.ts +0 -90
  193. package/dist/components/form/inputs/TextInput.d.ts.map +0 -1
  194. package/dist/components/form/inputs/ToggleInput.d.ts +0 -58
  195. package/dist/components/form/inputs/ToggleInput.d.ts.map +0 -1
  196. package/dist/components/layout/BottomMenu.d.ts +0 -27
  197. package/dist/components/layout/BottomMenu.d.ts.map +0 -1
  198. package/dist/components/layout/Layout.d.ts +0 -58
  199. package/dist/components/layout/Layout.d.ts.map +0 -1
  200. package/dist/components/layout/SidebarMenu.d.ts +0 -38
  201. package/dist/components/layout/SidebarMenu.d.ts.map +0 -1
  202. package/dist/components/layout/TabbedLayout.d.ts +0 -42
  203. package/dist/components/layout/TabbedLayout.d.ts.map +0 -1
  204. package/dist/components/layout/Tabs.d.ts +0 -31
  205. package/dist/components/layout/Tabs.d.ts.map +0 -1
  206. package/dist/components/layout/TabsBody.d.ts +0 -23
  207. package/dist/components/layout/TabsBody.d.ts.map +0 -1
  208. package/dist/components/layout/TabsNav.d.ts +0 -35
  209. package/dist/components/layout/TabsNav.d.ts.map +0 -1
  210. package/dist/vue.css +0 -13814
package/dist/index.mjs CHANGED
@@ -154,7 +154,7 @@ const _export_sfc = (sfc, props2) => {
154
154
  }
155
155
  return target;
156
156
  };
157
- const AccordionItem = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["__scopeId", "data-v-bb26ed1a"]]);
157
+ const AccordionItem = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["__scopeId", "data-v-2054c0ea"]]);
158
158
  const _hoisted_1$K = { class: "relative" };
159
159
  const _sfc_main$X = /* @__PURE__ */ defineComponent({
160
160
  __name: "AddressSearch",
@@ -246,8 +246,8 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
246
246
  },
247
247
  setup(__props) {
248
248
  useCssVars((_ctx) => ({
249
- "da24ea44": computedBackgroundColor.value,
250
- "864c1f8e": cumputedTextColor.value
249
+ "eb819078": computedBackgroundColor.value,
250
+ "4a90c19f": cumputedTextColor.value
251
251
  }));
252
252
  const props2 = __props;
253
253
  const isComponent = computed(() => {
@@ -340,7 +340,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
340
340
  };
341
341
  }
342
342
  });
343
- const Btn = /* @__PURE__ */ _export_sfc(_sfc_main$W, [["__scopeId", "data-v-be5ba54d"]]);
343
+ const Btn = /* @__PURE__ */ _export_sfc(_sfc_main$W, [["__scopeId", "data-v-c3d9914e"]]);
344
344
  const _hoisted_1$I = ["dismissable"];
345
345
  const _hoisted_2$u = { class: "m-0" };
346
346
  const _sfc_main$V = /* @__PURE__ */ defineComponent({
@@ -6583,7 +6583,7 @@ const _hoisted_1$1$1 = {
6583
6583
  };
6584
6584
  const _hoisted_2$1$1 = ["width", "height", "viewBox"];
6585
6585
  const _hoisted_3$l = { class: "layer-rectangles" };
6586
- const _hoisted_4$f = ["transform", "onMouseover"];
6586
+ const _hoisted_4$e = ["transform", "onMouseover"];
6587
6587
  const _hoisted_5$d = ["width", "height"];
6588
6588
  const _hoisted_6$a = {
6589
6589
  x: 0 + 10,
@@ -6635,7 +6635,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
6635
6635
  )
6636
6636
  ])
6637
6637
  ])
6638
- ], 42, _hoisted_4$f);
6638
+ ], 42, _hoisted_4$e);
6639
6639
  }),
6640
6640
  128
6641
6641
  /* KEYED_FRAGMENT */
@@ -6859,7 +6859,7 @@ const _hoisted_2$q = {
6859
6859
  class: "data-row m_py-05"
6860
6860
  };
6861
6861
  const _hoisted_3$k = { class: "key" };
6862
- const _hoisted_4$e = { class: "m-0" };
6862
+ const _hoisted_4$d = { class: "m-0" };
6863
6863
  const _hoisted_5$c = { key: 1 };
6864
6864
  const _hoisted_6$9 = {
6865
6865
  key: 0,
@@ -6918,7 +6918,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
6918
6918
  }, [
6919
6919
  unref(iffer)(field, itemData.value) ? (openBlock(), createElementBlock("div", _hoisted_2$q, [
6920
6920
  createElementVNode("div", _hoisted_3$k, [
6921
- createElementVNode("p", _hoisted_4$e, toDisplayString((field == null ? void 0 : field.label) || unref(keyToLabel)(field.id)), 1)
6921
+ createElementVNode("p", _hoisted_4$d, toDisplayString((field == null ? void 0 : field.label) || unref(keyToLabel)(field.id)), 1)
6922
6922
  ]),
6923
6923
  createVNode(unref(_sfc_main$L), {
6924
6924
  modelValue: itemData.value,
@@ -7553,9 +7553,10 @@ async function convertValueToCoords(state2, options) {
7553
7553
  crossAxis: 0,
7554
7554
  alignmentAxis: null
7555
7555
  } : {
7556
- mainAxis: rawValue.mainAxis || 0,
7557
- crossAxis: rawValue.crossAxis || 0,
7558
- alignmentAxis: rawValue.alignmentAxis
7556
+ mainAxis: 0,
7557
+ crossAxis: 0,
7558
+ alignmentAxis: null,
7559
+ ...rawValue
7559
7560
  };
7560
7561
  if (alignment && typeof alignmentAxis === "number") {
7561
7562
  crossAxis = alignment === "end" ? alignmentAxis * -1 : alignmentAxis;
@@ -7660,11 +7661,7 @@ const shift$1 = function(options) {
7660
7661
  ...limitedCoords,
7661
7662
  data: {
7662
7663
  x: limitedCoords.x - x2,
7663
- y: limitedCoords.y - y2,
7664
- enabled: {
7665
- [mainAxis]: checkMainAxis,
7666
- [crossAxis]: checkCrossAxis
7667
- }
7664
+ y: limitedCoords.y - y2
7668
7665
  }
7669
7666
  };
7670
7667
  }
@@ -7678,7 +7675,6 @@ const size = function(options) {
7678
7675
  name: "size",
7679
7676
  options,
7680
7677
  async fn(state2) {
7681
- var _state$middlewareData, _state$middlewareData2;
7682
7678
  const {
7683
7679
  placement,
7684
7680
  rects,
@@ -7714,11 +7710,10 @@ const size = function(options) {
7714
7710
  const noShift = !state2.middlewareData.shift;
7715
7711
  let availableHeight = overflowAvailableHeight;
7716
7712
  let availableWidth = overflowAvailableWidth;
7717
- if ((_state$middlewareData = state2.middlewareData.shift) != null && _state$middlewareData.enabled.x) {
7718
- availableWidth = maximumClippingWidth;
7719
- }
7720
- if ((_state$middlewareData2 = state2.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {
7721
- availableHeight = maximumClippingHeight;
7713
+ if (isYAxis) {
7714
+ availableWidth = alignment || noShift ? min$1(overflowAvailableWidth, maximumClippingWidth) : maximumClippingWidth;
7715
+ } else {
7716
+ availableHeight = alignment || noShift ? min$1(overflowAvailableHeight, maximumClippingHeight) : maximumClippingHeight;
7722
7717
  }
7723
7718
  if (noShift && !alignment) {
7724
7719
  const xMin = max$1(overflow.left, 0);
@@ -18582,7 +18577,7 @@ const _hoisted_3$i = {
18582
18577
  key: 0,
18583
18578
  class: "time-wrap"
18584
18579
  };
18585
- const _hoisted_4$d = ["id", "name", "value"];
18580
+ const _hoisted_4$c = ["id", "name", "value"];
18586
18581
  const _hoisted_5$b = ["for"];
18587
18582
  const _sfc_main$E = /* @__PURE__ */ defineComponent({
18588
18583
  __name: "DatePicker",
@@ -18640,7 +18635,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
18640
18635
  type: "radio",
18641
18636
  name: _ctx.label,
18642
18637
  value: hr2
18643
- }, null, 8, _hoisted_4$d), [
18638
+ }, null, 8, _hoisted_4$c), [
18644
18639
  [vModelRadio, selectedHour.value]
18645
18640
  ]),
18646
18641
  createElementVNode("label", {
@@ -18659,7 +18654,7 @@ const _hoisted_3$h = {
18659
18654
  key: 0,
18660
18655
  class: "txt-gray txt-12"
18661
18656
  };
18662
- const _hoisted_4$c = {
18657
+ const _hoisted_4$b = {
18663
18658
  key: 0,
18664
18659
  class: "bgl-multi-preview"
18665
18660
  };
@@ -18903,7 +18898,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
18903
18898
  files: storageFiles.value,
18904
18899
  fileQueue: fileQueue.value
18905
18900
  }, () => [
18906
- _ctx.multiple ? (openBlock(), createElementBlock("div", _hoisted_4$c, [
18901
+ _ctx.multiple ? (openBlock(), createElementBlock("div", _hoisted_4$b, [
18907
18902
  (openBlock(true), createElementBlock(Fragment$1, null, renderList(storageFiles.value, (file) => {
18908
18903
  return withDirectives((openBlock(), createElementBlock("div", {
18909
18904
  key: file.id,
@@ -19272,7 +19267,7 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
19272
19267
  const _hoisted_1$s = ["for"];
19273
19268
  const _hoisted_2$j = ["id", "name", "value"];
19274
19269
  const _hoisted_3$f = { class: "flex w-100 gap-1 flex-wrap m_gap-05 m_gap-row-025" };
19275
- const _hoisted_4$b = ["src", "alt"];
19270
+ const _hoisted_4$a = ["src", "alt"];
19276
19271
  const _hoisted_5$9 = { class: "" };
19277
19272
  const _hoisted_6$7 = {
19278
19273
  key: 0,
@@ -19320,7 +19315,7 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
19320
19315
  width: "60",
19321
19316
  src: opt.imgSrc,
19322
19317
  alt: opt.imgAlt
19323
- }, null, 8, _hoisted_4$b)) : createCommentVNode("", true),
19318
+ }, null, 8, _hoisted_4$a)) : createCommentVNode("", true),
19324
19319
  createElementVNode("div", _hoisted_5$9, [
19325
19320
  opt.label ? (openBlock(), createElementBlock("p", _hoisted_6$7, toDisplayString(opt.label), 1)) : createCommentVNode("", true),
19326
19321
  opt.subLabel ? (openBlock(), createElementBlock("p", _hoisted_7$4, toDisplayString(opt.subLabel), 1)) : createCommentVNode("", true)
@@ -19345,7 +19340,7 @@ const RadioGroup = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data
19345
19340
  const _hoisted_1$r = { class: "bagel-input" };
19346
19341
  const _hoisted_2$i = { class: "pb-025" };
19347
19342
  const _hoisted_3$e = { class: "flex gap-05 flex-wrap" };
19348
- const _hoisted_4$a = ["id", "name", "value", "checked"];
19343
+ const _hoisted_4$9 = ["id", "name", "value", "checked"];
19349
19344
  const _hoisted_5$8 = ["for"];
19350
19345
  const _sfc_main$y = /* @__PURE__ */ defineComponent({
19351
19346
  __name: "RadioPillsInput",
@@ -19403,7 +19398,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
19403
19398
  value: getValue(option2),
19404
19399
  checked: unref(selectedValue) === getValue(option2),
19405
19400
  onChange: handleSelect
19406
- }, null, 40, _hoisted_4$a),
19401
+ }, null, 40, _hoisted_4$9),
19407
19402
  createElementVNode("label", {
19408
19403
  for: `${_ctx.id}-${getValue(option2)}`
19409
19404
  }, toDisplayString(getLabel(option2)), 9, _hoisted_5$8)
@@ -19415,16 +19410,20 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
19415
19410
  }
19416
19411
  });
19417
19412
  const RadioPillsInput = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__scopeId", "data-v-cf892d71"]]);
19418
- const _hoisted_1$q = { class: "flex gap-1 align-center range-slide" };
19419
- const _hoisted_2$h = { key: 0 };
19420
- const _hoisted_3$d = ["max", "min", "step"];
19421
- const _hoisted_4$9 = { key: 1 };
19413
+ const _hoisted_1$q = { key: 0 };
19414
+ const _hoisted_2$h = ["id", "disabled", "max", "min", "step", "required", "name"];
19415
+ const _hoisted_3$d = { key: 1 };
19422
19416
  const _sfc_main$x = /* @__PURE__ */ defineComponent({
19423
19417
  __name: "RangeInput",
19424
19418
  props: /* @__PURE__ */ mergeModels({
19425
19419
  min: {},
19426
19420
  max: {},
19427
- step: {}
19421
+ step: {},
19422
+ disabled: { type: Boolean },
19423
+ id: {},
19424
+ name: {},
19425
+ required: { type: Boolean },
19426
+ thickness: { default: "8px" }
19428
19427
  }, {
19429
19428
  "modelValue": { default: 0 },
19430
19429
  "modelModifiers": {}
@@ -19432,31 +19431,55 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
19432
19431
  emits: ["update:modelValue"],
19433
19432
  setup(__props) {
19434
19433
  const val = useModel(__props, "modelValue");
19434
+ const range2 = ref();
19435
+ const direction = computed(() => {
19436
+ if (!range2.value) return "ltr";
19437
+ const parent = range2.value.parentElement;
19438
+ return getComputedStyle(parent).direction;
19439
+ });
19435
19440
  const background = computed(() => {
19436
19441
  const minVal = __props.min ?? 0;
19437
19442
  const maxVal = __props.max ?? 100;
19438
19443
  const percentage = (val.value - minVal) / (maxVal - minVal) * 100;
19444
+ if (direction.value === "rtl") {
19445
+ return `linear-gradient(to left, var(--bgl-primary) ${percentage}%, var(--input-bg) ${percentage}%)`;
19446
+ }
19439
19447
  return `linear-gradient(to right, var(--bgl-primary) ${percentage}%, var(--input-bg) ${percentage}%)`;
19440
19448
  });
19449
+ watch(() => val.value, (newValue) => {
19450
+ if (__props.min !== void 0 && newValue < __props.min) val.value = __props.min;
19451
+ if (__props.max !== void 0 && newValue > __props.max) val.value = __props.max;
19452
+ });
19453
+ const height = computed(() => {
19454
+ return Number.isNaN(Number(__props.thickness)) ? __props.thickness : `${__props.thickness}px`;
19455
+ });
19441
19456
  return (_ctx, _cache) => {
19442
- return openBlock(), createElementBlock("div", _hoisted_1$q, [
19443
- _ctx.min !== void 0 ? (openBlock(), createElementBlock("p", _hoisted_2$h, toDisplayString(_ctx.min), 1)) : createCommentVNode("", true),
19457
+ return openBlock(), createElementBlock("div", {
19458
+ class: normalizeClass(["flex gap-1 align-center range-slide", { disabled: _ctx.disabled }])
19459
+ }, [
19460
+ _ctx.min !== void 0 ? (openBlock(), createElementBlock("p", _hoisted_1$q, toDisplayString(_ctx.min), 1)) : createCommentVNode("", true),
19444
19461
  withDirectives(createElementVNode("input", {
19462
+ id: _ctx.id,
19463
+ ref_key: "range",
19464
+ ref: range2,
19445
19465
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => val.value = $event),
19446
- style: normalizeStyle({ background: background.value }),
19466
+ disabled: _ctx.disabled,
19467
+ style: normalizeStyle({ background: background.value, height: height.value }),
19447
19468
  max: _ctx.max,
19448
19469
  min: _ctx.min,
19449
19470
  step: _ctx.step,
19450
- type: "range"
19451
- }, null, 12, _hoisted_3$d), [
19471
+ required: _ctx.required,
19472
+ type: "range",
19473
+ name: _ctx.name
19474
+ }, null, 12, _hoisted_2$h), [
19452
19475
  [vModelText, val.value]
19453
19476
  ]),
19454
- _ctx.max !== void 0 ? (openBlock(), createElementBlock("p", _hoisted_4$9, toDisplayString(_ctx.max), 1)) : createCommentVNode("", true)
19455
- ]);
19477
+ _ctx.max !== void 0 ? (openBlock(), createElementBlock("p", _hoisted_3$d, toDisplayString(_ctx.max), 1)) : createCommentVNode("", true)
19478
+ ], 2);
19456
19479
  };
19457
19480
  }
19458
19481
  });
19459
- const RangeInput = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v-d653c76a"]]);
19482
+ const RangeInput = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v-ded4d62d"]]);
19460
19483
  function OrderedMap(content) {
19461
19484
  this.content = content;
19462
19485
  }
@@ -20612,12 +20635,6 @@ let Node$2 = class Node2 {
20612
20635
  this.content = content || Fragment.empty;
20613
20636
  }
20614
20637
  /**
20615
- The array of this node's child nodes.
20616
- */
20617
- get children() {
20618
- return this.content.content;
20619
- }
20620
- /**
20621
20638
  The size of this node, as defined by the integer-based [indexing
20622
20639
  scheme](/docs/guide/#doc.indexing). For text nodes, this is the
20623
20640
  amount of characters. For other leaf nodes, it is one. For
@@ -21304,7 +21321,7 @@ function resolveName(stream, name) {
21304
21321
  let result2 = [];
21305
21322
  for (let typeName in types) {
21306
21323
  let type4 = types[typeName];
21307
- if (type4.isInGroup(name))
21324
+ if (type4.groups.indexOf(name) > -1)
21308
21325
  result2.push(type4);
21309
21326
  }
21310
21327
  if (result2.length == 0)
@@ -21542,13 +21559,6 @@ let NodeType$1 = class NodeType2 {
21542
21559
  return this.isLeaf || !!this.spec.atom;
21543
21560
  }
21544
21561
  /**
21545
- Return true when this node type is part of the given
21546
- [group](https://prosemirror.net/docs/ref/#model.NodeSpec.group).
21547
- */
21548
- isInGroup(group) {
21549
- return this.groups.indexOf(group) > -1;
21550
- }
21551
- /**
21552
21562
  The node type's [whitespace](https://prosemirror.net/docs/ref/#model.NodeSpec.whitespace) option.
21553
21563
  */
21554
21564
  get whitespace() {
@@ -22304,7 +22314,6 @@ class ParseContext {
22304
22314
  contentDOM = rule.contentElement;
22305
22315
  this.findAround(dom, contentDOM, true);
22306
22316
  this.addAll(contentDOM, marks);
22307
- this.findAround(dom, contentDOM, false);
22308
22317
  }
22309
22318
  if (sync && this.sync(startIn))
22310
22319
  this.open--;
@@ -22480,7 +22489,7 @@ class ParseContext {
22480
22489
  return false;
22481
22490
  } else {
22482
22491
  let next = depth > 0 || depth == 0 && useRoot ? this.nodes[depth].type : option2 && depth >= minDepth ? option2.node(depth - minDepth).type : null;
22483
- if (!next || next.name != part && !next.isInGroup(part))
22492
+ if (!next || next.name != part && next.groups.indexOf(part) == -1)
22484
22493
  return false;
22485
22494
  depth--;
22486
22495
  }
@@ -23740,24 +23749,8 @@ function canJoin(doc2, pos) {
23740
23749
  let $pos = doc2.resolve(pos), index2 = $pos.index();
23741
23750
  return joinable($pos.nodeBefore, $pos.nodeAfter) && $pos.parent.canReplace(index2, index2 + 1);
23742
23751
  }
23743
- function canAppendWithSubstitutedLinebreaks(a2, b2) {
23744
- if (!b2.content.size)
23745
- a2.type.compatibleContent(b2.type);
23746
- let match2 = a2.contentMatchAt(a2.childCount);
23747
- let { linebreakReplacement } = a2.type.schema;
23748
- for (let i2 = 0; i2 < b2.childCount; i2++) {
23749
- let child = b2.child(i2);
23750
- let type3 = child.type == linebreakReplacement ? a2.type.schema.nodes.text : child.type;
23751
- match2 = match2.matchType(type3);
23752
- if (!match2)
23753
- return false;
23754
- if (!a2.type.allowsMarks(child.marks))
23755
- return false;
23756
- }
23757
- return match2.validEnd;
23758
- }
23759
23752
  function joinable(a2, b2) {
23760
- return !!(a2 && b2 && !a2.isLeaf && canAppendWithSubstitutedLinebreaks(a2, b2));
23753
+ return !!(a2 && b2 && !a2.isLeaf && a2.canAppend(b2));
23761
23754
  }
23762
23755
  function joinPoint(doc2, pos, dir = -1) {
23763
23756
  let $pos = doc2.resolve(pos);
@@ -23782,31 +23775,8 @@ function joinPoint(doc2, pos, dir = -1) {
23782
23775
  }
23783
23776
  }
23784
23777
  function join(tr2, pos, depth) {
23785
- let convertNewlines = null;
23786
- let { linebreakReplacement } = tr2.doc.type.schema;
23787
- let $before = tr2.doc.resolve(pos - depth), beforeType = $before.node().type;
23788
- if (linebreakReplacement && beforeType.inlineContent) {
23789
- let pre = beforeType.whitespace == "pre";
23790
- let supportLinebreak = !!beforeType.contentMatch.matchType(linebreakReplacement);
23791
- if (pre && !supportLinebreak)
23792
- convertNewlines = false;
23793
- else if (!pre && supportLinebreak)
23794
- convertNewlines = true;
23795
- }
23796
- let mapFrom = tr2.steps.length;
23797
- if (convertNewlines === false) {
23798
- let $after = tr2.doc.resolve(pos + depth);
23799
- replaceLinebreaks(tr2, $after.node(), $after.before(), mapFrom);
23800
- }
23801
- if (beforeType.inlineContent)
23802
- clearIncompatible(tr2, pos + depth - 1, beforeType, $before.node().contentMatchAt($before.index()), convertNewlines == null);
23803
- let mapping = tr2.mapping.slice(mapFrom), start2 = mapping.map(pos - depth);
23804
- tr2.step(new ReplaceStep(start2, mapping.map(pos + depth, -1), Slice.empty, true));
23805
- if (convertNewlines === true) {
23806
- let $full = tr2.doc.resolve(start2);
23807
- replaceNewlines(tr2, $full.node(), $full.before(), tr2.steps.length);
23808
- }
23809
- return tr2;
23778
+ let step = new ReplaceStep(pos - depth, pos + depth, Slice.empty, true);
23779
+ tr2.step(step);
23810
23780
  }
23811
23781
  function insertPoint(doc2, pos, nodeType) {
23812
23782
  let $pos = doc2.resolve(pos);
@@ -24202,7 +24172,7 @@ function deleteRange$1(tr2, from2, to2) {
24202
24172
  return tr2.delete($from.before(depth), $to.after(depth));
24203
24173
  }
24204
24174
  for (let d2 = 1; d2 <= $from.depth && d2 <= $to.depth; d2++) {
24205
- if (from2 - $from.start(d2) == $from.depth - d2 && to2 > $from.end(d2) && $to.end(d2) - to2 != $to.depth - d2 && $from.start(d2 - 1) == $to.start(d2 - 1) && $from.node(d2 - 1).canReplace($from.index(d2 - 1), $to.index(d2 - 1)))
24175
+ if (from2 - $from.start(d2) == $from.depth - d2 && to2 > $from.end(d2) && $to.end(d2) - to2 != $to.depth - d2)
24206
24176
  return tr2.delete($from.before(d2), to2);
24207
24177
  }
24208
24178
  tr2.delete(from2, to2);
@@ -26356,18 +26326,17 @@ class ViewDesc {
26356
26326
  // custom things with the selection. Note that this falls apart when
26357
26327
  // a selection starts in such a node and ends in another, in which
26358
26328
  // case we just use whatever domFromPos produces as a best effort.
26359
- setSelection(anchor, head, view, force = false) {
26329
+ setSelection(anchor, head, root2, force = false) {
26360
26330
  let from2 = Math.min(anchor, head), to2 = Math.max(anchor, head);
26361
26331
  for (let i2 = 0, offset2 = 0; i2 < this.children.length; i2++) {
26362
26332
  let child = this.children[i2], end2 = offset2 + child.size;
26363
26333
  if (from2 > offset2 && to2 < end2)
26364
- return child.setSelection(anchor - offset2 - child.border, head - offset2 - child.border, view, force);
26334
+ return child.setSelection(anchor - offset2 - child.border, head - offset2 - child.border, root2, force);
26365
26335
  offset2 = end2;
26366
26336
  }
26367
26337
  let anchorDOM = this.domFromPos(anchor, anchor ? -1 : 1);
26368
26338
  let headDOM = head == anchor ? anchorDOM : this.domFromPos(head, head ? -1 : 1);
26369
- let domSel = view.root.getSelection();
26370
- let selRange = view.domSelectionRange();
26339
+ let domSel = root2.getSelection();
26371
26340
  let brKludge = false;
26372
26341
  if ((gecko || safari) && anchor == head) {
26373
26342
  let { node, offset: offset2 } = anchorDOM;
@@ -26390,12 +26359,12 @@ class ViewDesc {
26390
26359
  brKludge = prev && (prev.nodeName == "BR" || prev.contentEditable == "false");
26391
26360
  }
26392
26361
  }
26393
- if (gecko && selRange.focusNode && selRange.focusNode != headDOM.node && selRange.focusNode.nodeType == 1) {
26394
- let after = selRange.focusNode.childNodes[selRange.focusOffset];
26362
+ if (gecko && domSel.focusNode && domSel.focusNode != headDOM.node && domSel.focusNode.nodeType == 1) {
26363
+ let after = domSel.focusNode.childNodes[domSel.focusOffset];
26395
26364
  if (after && after.contentEditable == "false")
26396
26365
  force = true;
26397
26366
  }
26398
- if (!(force || brKludge && safari) && isEquivalentPosition(anchorDOM.node, anchorDOM.offset, selRange.anchorNode, selRange.anchorOffset) && isEquivalentPosition(headDOM.node, headDOM.offset, selRange.focusNode, selRange.focusOffset))
26367
+ if (!(force || brKludge && safari) && isEquivalentPosition(anchorDOM.node, anchorDOM.offset, domSel.anchorNode, domSel.anchorOffset) && isEquivalentPosition(headDOM.node, headDOM.offset, domSel.focusNode, domSel.focusOffset))
26399
26368
  return;
26400
26369
  let domSelExtended = false;
26401
26370
  if ((domSel.extend || anchor == head) && !brKludge) {
@@ -26536,17 +26505,16 @@ class CompositionViewDesc extends ViewDesc {
26536
26505
  }
26537
26506
  }
26538
26507
  class MarkViewDesc extends ViewDesc {
26539
- constructor(parent, mark, dom, contentDOM, spec) {
26508
+ constructor(parent, mark, dom, contentDOM) {
26540
26509
  super(parent, [], dom, contentDOM);
26541
26510
  this.mark = mark;
26542
- this.spec = spec;
26543
26511
  }
26544
26512
  static create(parent, mark, inline, view) {
26545
26513
  let custom2 = view.nodeViews[mark.type.name];
26546
26514
  let spec = custom2 && custom2(mark, view, inline);
26547
26515
  if (!spec || !spec.dom)
26548
26516
  spec = DOMSerializer.renderSpec(document, mark.type.spec.toDOM(mark, inline), null, mark.attrs);
26549
- return new MarkViewDesc(parent, mark, spec.dom, spec.contentDOM || spec.dom, spec);
26517
+ return new MarkViewDesc(parent, mark, spec.dom, spec.contentDOM || spec.dom);
26550
26518
  }
26551
26519
  parseRule() {
26552
26520
  if (this.dirty & NODE_DIRTY || this.mark.type.spec.reparseInView)
@@ -26579,14 +26547,6 @@ class MarkViewDesc extends ViewDesc {
26579
26547
  copy2.children = nodes;
26580
26548
  return copy2;
26581
26549
  }
26582
- ignoreMutation(mutation) {
26583
- return this.spec.ignoreMutation ? this.spec.ignoreMutation(mutation) : super.ignoreMutation(mutation);
26584
- }
26585
- destroy() {
26586
- if (this.spec.destroy)
26587
- this.spec.destroy();
26588
- super.destroy();
26589
- }
26590
26550
  }
26591
26551
  class NodeViewDesc extends ViewDesc {
26592
26552
  constructor(parent, node, outerDeco, innerDeco, dom, contentDOM, nodeDOM, view, pos) {
@@ -26878,7 +26838,7 @@ class CustomNodeViewDesc extends NodeViewDesc {
26878
26838
  update(node, outerDeco, innerDeco, view) {
26879
26839
  if (this.dirty == NODE_DIRTY)
26880
26840
  return false;
26881
- if (this.spec.update && (this.node.type == node.type || this.spec.multiType)) {
26841
+ if (this.spec.update) {
26882
26842
  let result2 = this.spec.update(node, outerDeco, innerDeco);
26883
26843
  if (result2)
26884
26844
  this.updateInner(node, outerDeco, innerDeco, view);
@@ -26895,8 +26855,8 @@ class CustomNodeViewDesc extends NodeViewDesc {
26895
26855
  deselectNode() {
26896
26856
  this.spec.deselectNode ? this.spec.deselectNode() : super.deselectNode();
26897
26857
  }
26898
- setSelection(anchor, head, view, force) {
26899
- this.spec.setSelection ? this.spec.setSelection(anchor, head, view.root) : super.setSelection(anchor, head, view, force);
26858
+ setSelection(anchor, head, root2, force) {
26859
+ this.spec.setSelection ? this.spec.setSelection(anchor, head, root2) : super.setSelection(anchor, head, root2, force);
26900
26860
  }
26901
26861
  destroy() {
26902
26862
  if (this.spec.destroy)
@@ -27483,7 +27443,7 @@ function selectionToDOM(view, force = false) {
27483
27443
  if (!sel.empty && !sel.$from.parent.inlineContent)
27484
27444
  resetEditableTo = temporarilyEditableNear(view, sel.to);
27485
27445
  }
27486
- view.docView.setSelection(anchor, head, view, force);
27446
+ view.docView.setSelection(anchor, head, view.root, force);
27487
27447
  if (brokenSelectBetweenUneditable) {
27488
27448
  if (resetEditableFrom)
27489
27449
  resetEditable(resetEditableFrom);
@@ -28119,14 +28079,11 @@ let _detachedDoc = null;
28119
28079
  function detachedDoc() {
28120
28080
  return _detachedDoc || (_detachedDoc = document.implementation.createHTMLDocument("title"));
28121
28081
  }
28122
- let _policy = null;
28123
28082
  function maybeWrapTrusted(html) {
28124
28083
  let trustedTypes = window.trustedTypes;
28125
28084
  if (!trustedTypes)
28126
28085
  return html;
28127
- if (!_policy)
28128
- _policy = trustedTypes.createPolicy("ProseMirrorClipboard", { createHTML: (s2) => s2 });
28129
- return _policy.createHTML(html);
28086
+ return trustedTypes.createPolicy("detachedDocument", { createHTML: (s2) => s2 }).createHTML(html);
28130
28087
  }
28131
28088
  function readHTML(html) {
28132
28089
  let metas = /^(\s*<meta [^>]*>)*/.exec(html);
@@ -28258,7 +28215,9 @@ editHandlers.keydown = (view, _event) => {
28258
28215
  view.input.lastKeyCodeTime = Date.now();
28259
28216
  if (android && chrome && event.keyCode == 13)
28260
28217
  return;
28261
- if (event.keyCode != 229)
28218
+ if (view.domObserver.selectionChanged(view.domSelectionRange()))
28219
+ view.domObserver.flush();
28220
+ else if (event.keyCode != 229)
28262
28221
  view.domObserver.forceFlush();
28263
28222
  if (ios && event.keyCode == 13 && !event.ctrlKey && !event.altKey && !event.metaKey) {
28264
28223
  let now = Date.now();
@@ -29636,6 +29595,9 @@ class DOMObserver {
29636
29595
  this.queue.push(mut);
29637
29596
  return this.queue;
29638
29597
  }
29598
+ selectionChanged(sel) {
29599
+ return !this.suppressingSelectionUpdates && !this.currentSelection.eq(sel) && hasFocusAndSelection(this.view) && !this.ignoreSelectionChange(sel);
29600
+ }
29639
29601
  flush() {
29640
29602
  let { view } = this;
29641
29603
  if (!view.docView || this.flushingSoon > -1)
@@ -29643,8 +29605,7 @@ class DOMObserver {
29643
29605
  let mutations = this.pendingRecords();
29644
29606
  if (mutations.length)
29645
29607
  this.queue = [];
29646
- let sel = view.domSelectionRange();
29647
- let newSel = !this.suppressingSelectionUpdates && !this.currentSelection.eq(sel) && hasFocusAndSelection(view) && !this.ignoreSelectionChange(sel);
29608
+ let sel = view.domSelectionRange(), newSel = this.selectionChanged(sel);
29648
29609
  let from2 = -1, to2 = -1, typeOver = false, added = [];
29649
29610
  if (view.editable) {
29650
29611
  for (let i2 = 0; i2 < mutations.length; i2++) {
@@ -31084,7 +31045,7 @@ function joinMaybeClear(state2, $pos, dispatch) {
31084
31045
  if (!$pos.parent.canReplace(index2, index2 + 1) || !(after.isTextblock || canJoin(state2.doc, $pos.pos)))
31085
31046
  return false;
31086
31047
  if (dispatch)
31087
- dispatch(state2.tr.join($pos.pos).scrollIntoView());
31048
+ dispatch(state2.tr.clearIncompatible($pos.pos, before.type, before.contentMatchAt(before.childCount)).join($pos.pos).scrollIntoView());
31088
31049
  return true;
31089
31050
  }
31090
31051
  function deleteBarrier(state2, $cut, dispatch, dir) {
@@ -31100,9 +31061,9 @@ function deleteBarrier(state2, $cut, dispatch, dir) {
31100
31061
  wrap2 = Fragment.from(conn[i2].create(null, wrap2));
31101
31062
  wrap2 = Fragment.from(before.copy(wrap2));
31102
31063
  let tr2 = state2.tr.step(new ReplaceAroundStep($cut.pos - 1, end2, $cut.pos, end2, new Slice(wrap2, 1, 0), conn.length, true));
31103
- let $joinAt = tr2.doc.resolve(end2 + 2 * conn.length);
31104
- if ($joinAt.nodeAfter && $joinAt.nodeAfter.type == before.type && canJoin(tr2.doc, $joinAt.pos))
31105
- tr2.join($joinAt.pos);
31064
+ let joinAt = end2 + 2 * conn.length;
31065
+ if (canJoin(tr2.doc, joinAt))
31066
+ tr2.join(joinAt);
31106
31067
  dispatch(tr2.scrollIntoView());
31107
31068
  }
31108
31069
  return true;
@@ -31467,13 +31428,6 @@ class EventEmitter {
31467
31428
  }
31468
31429
  return this;
31469
31430
  }
31470
- once(event, fn3) {
31471
- const onceFn = (...args) => {
31472
- this.off(event, onceFn);
31473
- fn3.apply(this, args);
31474
- };
31475
- return this.on(event, onceFn);
31476
- }
31477
31431
  removeAllListeners() {
31478
31432
  this.callbacks = {};
31479
31433
  }
@@ -31721,7 +31675,6 @@ function getSchemaByResolvedExtensions(extensions, editor) {
31721
31675
  draggable: callOrReturn(getExtensionField(extension, "draggable", context)),
31722
31676
  code: callOrReturn(getExtensionField(extension, "code", context)),
31723
31677
  whitespace: callOrReturn(getExtensionField(extension, "whitespace", context)),
31724
- linebreakReplacement: callOrReturn(getExtensionField(extension, "linebreakReplacement", context)),
31725
31678
  defining: callOrReturn(getExtensionField(extension, "defining", context)),
31726
31679
  isolating: callOrReturn(getExtensionField(extension, "isolating", context)),
31727
31680
  attrs: Object.fromEntries(extensionAttributes.map((extensionAttribute) => {
@@ -31804,13 +31757,6 @@ function isExtensionRulesEnabled(extension, enabled) {
31804
31757
  }
31805
31758
  return enabled;
31806
31759
  }
31807
- function getHTMLFromFragment(fragment, schema) {
31808
- const documentFragment = DOMSerializer.fromSchema(schema).serializeFragment(fragment);
31809
- const temporaryDocument = document.implementation.createHTMLDocument();
31810
- const container = temporaryDocument.createElement("div");
31811
- container.appendChild(documentFragment);
31812
- return container.innerHTML;
31813
- }
31814
31760
  const getTextContentFromNodes = ($from, maxMatch = 500) => {
31815
31761
  let textBefore = "";
31816
31762
  const sliceEndPos = $from.parentOffset;
@@ -31921,7 +31867,7 @@ function inputRulesPlugin(props2) {
31921
31867
  init() {
31922
31868
  return null;
31923
31869
  },
31924
- apply(tr2, prev, state2) {
31870
+ apply(tr2, prev) {
31925
31871
  const stored = tr2.getMeta(plugin);
31926
31872
  if (stored) {
31927
31873
  return stored;
@@ -31930,13 +31876,7 @@ function inputRulesPlugin(props2) {
31930
31876
  const isSimulatedInput = !!simulatedInputMeta;
31931
31877
  if (isSimulatedInput) {
31932
31878
  setTimeout(() => {
31933
- let { text } = simulatedInputMeta;
31934
- if (typeof text === "string") {
31935
- text = text;
31936
- } else {
31937
- text = getHTMLFromFragment(Fragment.from(text), state2.schema);
31938
- }
31939
- const { from: from2 } = simulatedInputMeta;
31879
+ const { from: from2, text } = simulatedInputMeta;
31940
31880
  const to2 = from2 + text.length;
31941
31881
  run$1({
31942
31882
  editor,
@@ -32005,109 +31945,6 @@ function inputRulesPlugin(props2) {
32005
31945
  });
32006
31946
  return plugin;
32007
31947
  }
32008
- function getType$1(value) {
32009
- return Object.prototype.toString.call(value).slice(8, -1);
32010
- }
32011
- function isPlainObject$1(value) {
32012
- if (getType$1(value) !== "Object") {
32013
- return false;
32014
- }
32015
- return value.constructor === Object && Object.getPrototypeOf(value) === Object.prototype;
32016
- }
32017
- function mergeDeep(target, source) {
32018
- const output = { ...target };
32019
- if (isPlainObject$1(target) && isPlainObject$1(source)) {
32020
- Object.keys(source).forEach((key) => {
32021
- if (isPlainObject$1(source[key]) && isPlainObject$1(target[key])) {
32022
- output[key] = mergeDeep(target[key], source[key]);
32023
- } else {
32024
- output[key] = source[key];
32025
- }
32026
- });
32027
- }
32028
- return output;
32029
- }
32030
- class Mark {
32031
- constructor(config = {}) {
32032
- this.type = "mark";
32033
- this.name = "mark";
32034
- this.parent = null;
32035
- this.child = null;
32036
- this.config = {
32037
- name: this.name,
32038
- defaultOptions: {}
32039
- };
32040
- this.config = {
32041
- ...this.config,
32042
- ...config
32043
- };
32044
- this.name = this.config.name;
32045
- if (config.defaultOptions && Object.keys(config.defaultOptions).length > 0) {
32046
- console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`);
32047
- }
32048
- this.options = this.config.defaultOptions;
32049
- if (this.config.addOptions) {
32050
- this.options = callOrReturn(getExtensionField(this, "addOptions", {
32051
- name: this.name
32052
- }));
32053
- }
32054
- this.storage = callOrReturn(getExtensionField(this, "addStorage", {
32055
- name: this.name,
32056
- options: this.options
32057
- })) || {};
32058
- }
32059
- static create(config = {}) {
32060
- return new Mark(config);
32061
- }
32062
- configure(options = {}) {
32063
- const extension = this.extend({
32064
- ...this.config,
32065
- addOptions: () => {
32066
- return mergeDeep(this.options, options);
32067
- }
32068
- });
32069
- extension.name = this.name;
32070
- extension.parent = this.parent;
32071
- return extension;
32072
- }
32073
- extend(extendedConfig = {}) {
32074
- const extension = new Mark(extendedConfig);
32075
- extension.parent = this;
32076
- this.child = extension;
32077
- extension.name = extendedConfig.name ? extendedConfig.name : extension.parent.name;
32078
- if (extendedConfig.defaultOptions && Object.keys(extendedConfig.defaultOptions).length > 0) {
32079
- console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${extension.name}".`);
32080
- }
32081
- extension.options = callOrReturn(getExtensionField(extension, "addOptions", {
32082
- name: extension.name
32083
- }));
32084
- extension.storage = callOrReturn(getExtensionField(extension, "addStorage", {
32085
- name: extension.name,
32086
- options: extension.options
32087
- }));
32088
- return extension;
32089
- }
32090
- static handleExit({ editor, mark }) {
32091
- const { tr: tr2 } = editor.state;
32092
- const currentPos = editor.state.selection.$from;
32093
- const isAtEnd = currentPos.pos === currentPos.end();
32094
- if (isAtEnd) {
32095
- const currentMarks = currentPos.marks();
32096
- const isInMark = !!currentMarks.find((m2) => (m2 === null || m2 === void 0 ? void 0 : m2.type.name) === mark.name);
32097
- if (!isInMark) {
32098
- return false;
32099
- }
32100
- const removeMark2 = currentMarks.find((m2) => (m2 === null || m2 === void 0 ? void 0 : m2.type.name) === mark.name);
32101
- if (removeMark2) {
32102
- tr2.removeStoredMark(removeMark2);
32103
- }
32104
- tr2.insertText(" ", currentPos.pos);
32105
- editor.view.dispatch(tr2);
32106
- return true;
32107
- }
32108
- return false;
32109
- }
32110
- }
32111
31948
  function isNumber$1(value) {
32112
31949
  return typeof value === "number";
32113
31950
  }
@@ -32194,12 +32031,7 @@ function pasteRulesPlugin(props2) {
32194
32031
  let isPastedFromProseMirror = false;
32195
32032
  let isDroppedFromProseMirror = false;
32196
32033
  let pasteEvent = typeof ClipboardEvent !== "undefined" ? new ClipboardEvent("paste") : null;
32197
- let dropEvent;
32198
- try {
32199
- dropEvent = typeof DragEvent !== "undefined" ? new DragEvent("drop") : null;
32200
- } catch (e) {
32201
- dropEvent = null;
32202
- }
32034
+ let dropEvent = typeof DragEvent !== "undefined" ? new DragEvent("drop") : null;
32203
32035
  const processEvent = ({ state: state2, from: from2, to: to2, rule, pasteEvt }) => {
32204
32036
  const tr2 = state2.tr;
32205
32037
  const chainableState = createChainableState({
@@ -32218,11 +32050,7 @@ function pasteRulesPlugin(props2) {
32218
32050
  if (!handler || !tr2.steps.length) {
32219
32051
  return;
32220
32052
  }
32221
- try {
32222
- dropEvent = typeof DragEvent !== "undefined" ? new DragEvent("drop") : null;
32223
- } catch (e) {
32224
- dropEvent = null;
32225
- }
32053
+ dropEvent = typeof DragEvent !== "undefined" ? new DragEvent("drop") : null;
32226
32054
  pasteEvent = typeof ClipboardEvent !== "undefined" ? new ClipboardEvent("paste") : null;
32227
32055
  return tr2;
32228
32056
  };
@@ -32267,13 +32095,7 @@ function pasteRulesPlugin(props2) {
32267
32095
  return;
32268
32096
  }
32269
32097
  if (isSimulatedPaste) {
32270
- let { text } = simulatedPasteMeta;
32271
- if (typeof text === "string") {
32272
- text = text;
32273
- } else {
32274
- text = getHTMLFromFragment(Fragment.from(text), state2.schema);
32275
- }
32276
- const { from: from3 } = simulatedPasteMeta;
32098
+ const { from: from3, text } = simulatedPasteMeta;
32277
32099
  const to3 = from3 + text.length;
32278
32100
  const pasteEvt = createClipboardPasteEvent(text);
32279
32101
  return processEvent({
@@ -32547,6 +32369,28 @@ class ExtensionManager {
32547
32369
  });
32548
32370
  }
32549
32371
  }
32372
+ function getType$1(value) {
32373
+ return Object.prototype.toString.call(value).slice(8, -1);
32374
+ }
32375
+ function isPlainObject$1(value) {
32376
+ if (getType$1(value) !== "Object") {
32377
+ return false;
32378
+ }
32379
+ return value.constructor === Object && Object.getPrototypeOf(value) === Object.prototype;
32380
+ }
32381
+ function mergeDeep(target, source) {
32382
+ const output = { ...target };
32383
+ if (isPlainObject$1(target) && isPlainObject$1(source)) {
32384
+ Object.keys(source).forEach((key) => {
32385
+ if (isPlainObject$1(source[key]) && isPlainObject$1(target[key])) {
32386
+ output[key] = mergeDeep(target[key], source[key]);
32387
+ } else {
32388
+ output[key] = source[key];
32389
+ }
32390
+ });
32391
+ }
32392
+ return output;
32393
+ }
32550
32394
  class Extension {
32551
32395
  constructor(config = {}) {
32552
32396
  this.type = "extension";
@@ -32797,29 +32641,23 @@ function objectIncludes(object1, object2, options = { strict: true }) {
32797
32641
  }
32798
32642
  function findMarkInSet(marks, type3, attributes = {}) {
32799
32643
  return marks.find((item) => {
32800
- return item.type === type3 && objectIncludes(
32801
- // Only check equality for the attributes that are provided
32802
- Object.fromEntries(Object.keys(attributes).map((k2) => [k2, item.attrs[k2]])),
32803
- attributes
32804
- );
32644
+ return item.type === type3 && objectIncludes(item.attrs, attributes);
32805
32645
  });
32806
32646
  }
32807
32647
  function isMarkInSet(marks, type3, attributes = {}) {
32808
32648
  return !!findMarkInSet(marks, type3, attributes);
32809
32649
  }
32810
- function getMarkRange($pos, type3, attributes) {
32811
- var _a2;
32650
+ function getMarkRange($pos, type3, attributes = {}) {
32812
32651
  if (!$pos || !type3) {
32813
32652
  return;
32814
32653
  }
32815
32654
  let start2 = $pos.parent.childAfter($pos.parentOffset);
32816
- if (!start2.node || !start2.node.marks.some((mark2) => mark2.type === type3)) {
32655
+ if ($pos.parentOffset === start2.offset && start2.offset !== 0) {
32817
32656
  start2 = $pos.parent.childBefore($pos.parentOffset);
32818
32657
  }
32819
- if (!start2.node || !start2.node.marks.some((mark2) => mark2.type === type3)) {
32658
+ if (!start2.node) {
32820
32659
  return;
32821
32660
  }
32822
- attributes = attributes || ((_a2 = start2.node.marks[0]) === null || _a2 === void 0 ? void 0 : _a2.attrs);
32823
32661
  const mark = findMarkInSet([...start2.node.marks], type3, attributes);
32824
32662
  if (!mark) {
32825
32663
  return;
@@ -32828,7 +32666,8 @@ function getMarkRange($pos, type3, attributes) {
32828
32666
  let startPos = $pos.start() + start2.offset;
32829
32667
  let endIndex = startIndex + 1;
32830
32668
  let endPos = startPos + start2.node.nodeSize;
32831
- while (startIndex > 0 && isMarkInSet([...$pos.parent.child(startIndex - 1).marks], type3, attributes)) {
32669
+ findMarkInSet([...start2.node.marks], type3, attributes);
32670
+ while (startIndex > 0 && mark.isInSet($pos.parent.child(startIndex - 1).marks)) {
32832
32671
  startIndex -= 1;
32833
32672
  startPos -= $pos.parent.child(startIndex).nodeSize;
32834
32673
  }
@@ -32969,9 +32808,6 @@ function elementFromString(value) {
32969
32808
  return removeWhitespaces(html);
32970
32809
  }
32971
32810
  function createNodeFromContent(content, schema, options) {
32972
- if (content instanceof Node$2 || content instanceof Fragment) {
32973
- return content;
32974
- }
32975
32811
  options = {
32976
32812
  slice: true,
32977
32813
  parseOptions: {},
@@ -33066,7 +32902,7 @@ const insertContentAt = (position, value, options) => ({ tr: tr2, dispatch, edit
33066
32902
  var _a2;
33067
32903
  if (dispatch) {
33068
32904
  options = {
33069
- parseOptions: editor.options.parseOptions,
32905
+ parseOptions: {},
33070
32906
  updateSelection: true,
33071
32907
  applyInputRules: false,
33072
32908
  applyPasteRules: false,
@@ -33086,9 +32922,7 @@ const insertContentAt = (position, value, options) => ({ tr: tr2, dispatch, edit
33086
32922
  editor,
33087
32923
  error: e,
33088
32924
  disableCollaboration: () => {
33089
- if (editor.storage.collaboration) {
33090
- editor.storage.collaboration.isDisabled = true;
33091
- }
32925
+ console.error("[tiptap error]: Unable to disable collaboration at this point in time");
33092
32926
  }
33093
32927
  });
33094
32928
  return false;
@@ -33114,14 +32948,6 @@ const insertContentAt = (position, value, options) => ({ tr: tr2, dispatch, edit
33114
32948
  if (isOnlyTextContent) {
33115
32949
  if (Array.isArray(value)) {
33116
32950
  newContent = value.map((v2) => v2.text || "").join("");
33117
- } else if (value instanceof Fragment) {
33118
- let text = "";
33119
- value.forEach((node) => {
33120
- if (node.text) {
33121
- text += node.text;
33122
- }
33123
- });
33124
- newContent = text;
33125
32951
  } else if (typeof value === "object" && !!value && !!value.text) {
33126
32952
  newContent = value.text;
33127
32953
  } else {
@@ -33457,6 +33283,13 @@ function findParentNodeClosestToPos($pos, predicate) {
33457
33283
  function findParentNode(predicate) {
33458
33284
  return (selection) => findParentNodeClosestToPos(selection.$from, predicate);
33459
33285
  }
33286
+ function getHTMLFromFragment(fragment, schema) {
33287
+ const documentFragment = DOMSerializer.fromSchema(schema).serializeFragment(fragment);
33288
+ const temporaryDocument = document.implementation.createHTMLDocument();
33289
+ const container = temporaryDocument.createElement("div");
33290
+ container.appendChild(documentFragment);
33291
+ return container.innerHTML;
33292
+ }
33460
33293
  function getText(node, options) {
33461
33294
  const range2 = {
33462
33295
  from: 0,
@@ -33742,22 +33575,18 @@ const setMeta = (key, value) => ({ tr: tr2 }) => {
33742
33575
  };
33743
33576
  const setNode = (typeOrName, attributes = {}) => ({ state: state2, dispatch, chain }) => {
33744
33577
  const type3 = getNodeType(typeOrName, state2.schema);
33745
- let attributesToCopy;
33746
- if (state2.selection.$anchor.sameParent(state2.selection.$head)) {
33747
- attributesToCopy = state2.selection.$anchor.parent.attrs;
33748
- }
33749
33578
  if (!type3.isTextblock) {
33750
33579
  console.warn('[tiptap warn]: Currently "setNode()" only supports text block nodes.');
33751
33580
  return false;
33752
33581
  }
33753
33582
  return chain().command(({ commands: commands2 }) => {
33754
- const canSetBlock = setBlockType(type3, { ...attributesToCopy, ...attributes })(state2);
33583
+ const canSetBlock = setBlockType(type3, attributes)(state2);
33755
33584
  if (canSetBlock) {
33756
33585
  return true;
33757
33586
  }
33758
33587
  return commands2.clearNodes();
33759
33588
  }).command(({ state: updatedState }) => {
33760
- return setBlockType(type3, { ...attributesToCopy, ...attributes })(updatedState, dispatch);
33589
+ return setBlockType(type3, attributes)(updatedState, dispatch);
33761
33590
  }).run();
33762
33591
  };
33763
33592
  const setNodeSelection = (position) => ({ tr: tr2, dispatch }) => {
@@ -34116,59 +33945,18 @@ const updateAttributes = (typeOrName, attributes = {}) => ({ tr: tr2, state: sta
34116
33945
  tr2.selection.ranges.forEach((range2) => {
34117
33946
  const from2 = range2.$from.pos;
34118
33947
  const to2 = range2.$to.pos;
34119
- let lastPos;
34120
- let lastNode;
34121
- let trimmedFrom;
34122
- let trimmedTo;
34123
- if (tr2.selection.empty) {
34124
- state2.doc.nodesBetween(from2, to2, (node, pos) => {
34125
- if (nodeType && nodeType === node.type) {
34126
- trimmedFrom = Math.max(pos, from2);
34127
- trimmedTo = Math.min(pos + node.nodeSize, to2);
34128
- lastPos = pos;
34129
- lastNode = node;
34130
- }
34131
- });
34132
- } else {
34133
- state2.doc.nodesBetween(from2, to2, (node, pos) => {
34134
- if (pos < from2 && nodeType && nodeType === node.type) {
34135
- trimmedFrom = Math.max(pos, from2);
34136
- trimmedTo = Math.min(pos + node.nodeSize, to2);
34137
- lastPos = pos;
34138
- lastNode = node;
34139
- }
34140
- if (pos >= from2 && pos <= to2) {
34141
- if (nodeType && nodeType === node.type) {
34142
- tr2.setNodeMarkup(pos, void 0, {
34143
- ...node.attrs,
34144
- ...attributes
34145
- });
34146
- }
34147
- if (markType && node.marks.length) {
34148
- node.marks.forEach((mark) => {
34149
- if (markType === mark.type) {
34150
- const trimmedFrom2 = Math.max(pos, from2);
34151
- const trimmedTo2 = Math.min(pos + node.nodeSize, to2);
34152
- tr2.addMark(trimmedFrom2, trimmedTo2, markType.create({
34153
- ...mark.attrs,
34154
- ...attributes
34155
- }));
34156
- }
34157
- });
34158
- }
34159
- }
34160
- });
34161
- }
34162
- if (lastNode) {
34163
- if (lastPos !== void 0) {
34164
- tr2.setNodeMarkup(lastPos, void 0, {
34165
- ...lastNode.attrs,
33948
+ state2.doc.nodesBetween(from2, to2, (node, pos) => {
33949
+ if (nodeType && nodeType === node.type) {
33950
+ tr2.setNodeMarkup(pos, void 0, {
33951
+ ...node.attrs,
34166
33952
  ...attributes
34167
33953
  });
34168
33954
  }
34169
- if (markType && lastNode.marks.length) {
34170
- lastNode.marks.forEach((mark) => {
33955
+ if (markType && node.marks.length) {
33956
+ node.marks.forEach((mark) => {
34171
33957
  if (markType === mark.type) {
33958
+ const trimmedFrom = Math.max(pos, from2);
33959
+ const trimmedTo = Math.min(pos + node.nodeSize, to2);
34172
33960
  tr2.addMark(trimmedFrom, trimmedTo, markType.create({
34173
33961
  ...mark.attrs,
34174
33962
  ...attributes
@@ -34176,7 +33964,7 @@ const updateAttributes = (typeOrName, attributes = {}) => ({ tr: tr2, state: sta
34176
33964
  }
34177
33965
  });
34178
33966
  }
34179
- }
33967
+ });
34180
33968
  });
34181
33969
  }
34182
33970
  return true;
@@ -34258,26 +34046,6 @@ const Commands = Extension.create({
34258
34046
  };
34259
34047
  }
34260
34048
  });
34261
- const Drop = Extension.create({
34262
- name: "drop",
34263
- addProseMirrorPlugins() {
34264
- return [
34265
- new Plugin({
34266
- key: new PluginKey("tiptapDrop"),
34267
- props: {
34268
- handleDrop: (_2, e, slice4, moved2) => {
34269
- this.editor.emit("drop", {
34270
- editor: this.editor,
34271
- event: e,
34272
- slice: slice4,
34273
- moved: moved2
34274
- });
34275
- }
34276
- }
34277
- })
34278
- ];
34279
- }
34280
- });
34281
34049
  const Editable = Extension.create({
34282
34050
  name: "editable",
34283
34051
  addProseMirrorPlugins() {
@@ -34427,25 +34195,6 @@ const Keymap = Extension.create({
34427
34195
  ];
34428
34196
  }
34429
34197
  });
34430
- const Paste = Extension.create({
34431
- name: "paste",
34432
- addProseMirrorPlugins() {
34433
- return [
34434
- new Plugin({
34435
- key: new PluginKey("tiptapPaste"),
34436
- props: {
34437
- handlePaste: (_view, e, slice4) => {
34438
- this.editor.emit("paste", {
34439
- editor: this.editor,
34440
- event: e,
34441
- slice: slice4
34442
- });
34443
- }
34444
- }
34445
- })
34446
- ];
34447
- }
34448
- });
34449
34198
  const Tabindex = Extension.create({
34450
34199
  name: "tabindex",
34451
34200
  addProseMirrorPlugins() {
@@ -34553,8 +34302,7 @@ class NodePos {
34553
34302
  const children2 = [];
34554
34303
  this.node.content.forEach((node, offset2) => {
34555
34304
  const isBlock = node.isBlock && !node.isTextblock;
34556
- const isNonTextAtom = node.isAtom && !node.isText;
34557
- const targetPos = this.pos + offset2 + (isNonTextAtom ? 0 : 1);
34305
+ const targetPos = this.pos + offset2 + 1;
34558
34306
  const $pos = this.resolvedPos.doc.resolve(targetPos);
34559
34307
  if (!isBlock && $pos.depth <= this.depth) {
34560
34308
  return;
@@ -34623,14 +34371,30 @@ class NodePos {
34623
34371
  return nodes;
34624
34372
  }
34625
34373
  setAttribute(attributes) {
34626
- const { tr: tr2 } = this.editor.state;
34627
- tr2.setNodeMarkup(this.from, void 0, {
34628
- ...this.node.attrs,
34629
- ...attributes
34630
- });
34631
- this.editor.view.dispatch(tr2);
34374
+ const oldSelection = this.editor.state.selection;
34375
+ this.editor.chain().setTextSelection(this.from).updateAttributes(this.node.type.name, attributes).setTextSelection(oldSelection.from).run();
34632
34376
  }
34633
34377
  }
34378
+ const DropPlugin = (onDrop) => {
34379
+ return new Plugin({
34380
+ key: new PluginKey("tiptapDrop"),
34381
+ props: {
34382
+ handleDrop: (_2, e, slice4, moved2) => {
34383
+ onDrop(e, slice4, moved2);
34384
+ }
34385
+ }
34386
+ });
34387
+ };
34388
+ const PastePlugin = (onPaste) => {
34389
+ return new Plugin({
34390
+ key: new PluginKey("tiptapPaste"),
34391
+ props: {
34392
+ handlePaste: (_view, e, slice4) => {
34393
+ onPaste(e, slice4);
34394
+ }
34395
+ }
34396
+ });
34397
+ };
34634
34398
  const style = `.ProseMirror {
34635
34399
  position: relative;
34636
34400
  }
@@ -34773,8 +34537,12 @@ let Editor$1 = class Editor2 extends EventEmitter {
34773
34537
  this.on("focus", this.options.onFocus);
34774
34538
  this.on("blur", this.options.onBlur);
34775
34539
  this.on("destroy", this.options.onDestroy);
34776
- this.on("drop", ({ event, slice: slice4, moved: moved2 }) => this.options.onDrop(event, slice4, moved2));
34777
- this.on("paste", ({ event, slice: slice4 }) => this.options.onPaste(event, slice4));
34540
+ if (this.options.onPaste) {
34541
+ this.registerPlugin(PastePlugin(this.options.onPaste));
34542
+ }
34543
+ if (this.options.onDrop) {
34544
+ this.registerPlugin(DropPlugin(this.options.onDrop));
34545
+ }
34778
34546
  window.setTimeout(() => {
34779
34547
  if (this.isDestroyed) {
34780
34548
  return;
@@ -34871,24 +34639,17 @@ let Editor$1 = class Editor2 extends EventEmitter {
34871
34639
  /**
34872
34640
  * Unregister a ProseMirror plugin.
34873
34641
  *
34874
- * @param nameOrPluginKeyToRemove The plugins name
34642
+ * @param nameOrPluginKey The plugins name
34875
34643
  * @returns The new editor state or undefined if the editor is destroyed
34876
34644
  */
34877
- unregisterPlugin(nameOrPluginKeyToRemove) {
34645
+ unregisterPlugin(nameOrPluginKey) {
34878
34646
  if (this.isDestroyed) {
34879
34647
  return void 0;
34880
34648
  }
34881
- const prevPlugins = this.state.plugins;
34882
- let plugins2 = prevPlugins;
34883
- [].concat(nameOrPluginKeyToRemove).forEach((nameOrPluginKey) => {
34884
- const name = typeof nameOrPluginKey === "string" ? `${nameOrPluginKey}$` : nameOrPluginKey.key;
34885
- plugins2 = prevPlugins.filter((plugin) => !plugin.key.startsWith(name));
34886
- });
34887
- if (prevPlugins.length === plugins2.length) {
34888
- return void 0;
34889
- }
34649
+ const name = typeof nameOrPluginKey === "string" ? `${nameOrPluginKey}$` : nameOrPluginKey.key;
34890
34650
  const state2 = this.state.reconfigure({
34891
- plugins: plugins2
34651
+ // @ts-ignore
34652
+ plugins: this.state.plugins.filter((plugin) => !plugin.key.startsWith(name))
34892
34653
  });
34893
34654
  this.view.updateState(state2);
34894
34655
  return state2;
@@ -34906,9 +34667,7 @@ let Editor$1 = class Editor2 extends EventEmitter {
34906
34667
  Commands,
34907
34668
  FocusEvents,
34908
34669
  Keymap,
34909
- Tabindex,
34910
- Drop,
34911
- Paste
34670
+ Tabindex
34912
34671
  ].filter((ext) => {
34913
34672
  if (typeof this.options.enableCoreExtensions === "object") {
34914
34673
  return this.options.enableCoreExtensions[ext.name] !== false;
@@ -34938,7 +34697,6 @@ let Editor$1 = class Editor2 extends EventEmitter {
34938
34697
  * Creates a ProseMirror view.
34939
34698
  */
34940
34699
  createView() {
34941
- var _a2;
34942
34700
  let doc2;
34943
34701
  try {
34944
34702
  doc2 = createDocument(this.options.content, this.schema, this.options.parseOptions, { errorOnInvalidContent: this.options.enableContentCheck });
@@ -34950,9 +34708,6 @@ let Editor$1 = class Editor2 extends EventEmitter {
34950
34708
  editor: this,
34951
34709
  error: e,
34952
34710
  disableCollaboration: () => {
34953
- if (this.storage.collaboration) {
34954
- this.storage.collaboration.isDisabled = true;
34955
- }
34956
34711
  this.options.extensions = this.options.extensions.filter((extension) => extension.name !== "collaboration");
34957
34712
  this.createExtensionManager();
34958
34713
  }
@@ -34962,11 +34717,6 @@ let Editor$1 = class Editor2 extends EventEmitter {
34962
34717
  const selection = resolveFocusPosition(doc2, this.options.autofocus);
34963
34718
  this.view = new EditorView(this.options.element, {
34964
34719
  ...this.options.editorProps,
34965
- attributes: {
34966
- // add `role="textbox"` to the editor element
34967
- role: "textbox",
34968
- ...(_a2 = this.options.editorProps) === null || _a2 === void 0 ? void 0 : _a2.attributes
34969
- },
34970
34720
  dispatchTransaction: this.dispatchTransaction.bind(this),
34971
34721
  state: EditorState.create({
34972
34722
  doc: doc2,
@@ -35266,6 +35016,87 @@ function wrappingInputRule(config) {
35266
35016
  }
35267
35017
  });
35268
35018
  }
35019
+ class Mark {
35020
+ constructor(config = {}) {
35021
+ this.type = "mark";
35022
+ this.name = "mark";
35023
+ this.parent = null;
35024
+ this.child = null;
35025
+ this.config = {
35026
+ name: this.name,
35027
+ defaultOptions: {}
35028
+ };
35029
+ this.config = {
35030
+ ...this.config,
35031
+ ...config
35032
+ };
35033
+ this.name = this.config.name;
35034
+ if (config.defaultOptions && Object.keys(config.defaultOptions).length > 0) {
35035
+ console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`);
35036
+ }
35037
+ this.options = this.config.defaultOptions;
35038
+ if (this.config.addOptions) {
35039
+ this.options = callOrReturn(getExtensionField(this, "addOptions", {
35040
+ name: this.name
35041
+ }));
35042
+ }
35043
+ this.storage = callOrReturn(getExtensionField(this, "addStorage", {
35044
+ name: this.name,
35045
+ options: this.options
35046
+ })) || {};
35047
+ }
35048
+ static create(config = {}) {
35049
+ return new Mark(config);
35050
+ }
35051
+ configure(options = {}) {
35052
+ const extension = this.extend({
35053
+ ...this.config,
35054
+ addOptions: () => {
35055
+ return mergeDeep(this.options, options);
35056
+ }
35057
+ });
35058
+ extension.name = this.name;
35059
+ extension.parent = this.parent;
35060
+ return extension;
35061
+ }
35062
+ extend(extendedConfig = {}) {
35063
+ const extension = new Mark(extendedConfig);
35064
+ extension.parent = this;
35065
+ this.child = extension;
35066
+ extension.name = extendedConfig.name ? extendedConfig.name : extension.parent.name;
35067
+ if (extendedConfig.defaultOptions && Object.keys(extendedConfig.defaultOptions).length > 0) {
35068
+ console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${extension.name}".`);
35069
+ }
35070
+ extension.options = callOrReturn(getExtensionField(extension, "addOptions", {
35071
+ name: extension.name
35072
+ }));
35073
+ extension.storage = callOrReturn(getExtensionField(extension, "addStorage", {
35074
+ name: extension.name,
35075
+ options: extension.options
35076
+ }));
35077
+ return extension;
35078
+ }
35079
+ static handleExit({ editor, mark }) {
35080
+ const { tr: tr2 } = editor.state;
35081
+ const currentPos = editor.state.selection.$from;
35082
+ const isAtEnd = currentPos.pos === currentPos.end();
35083
+ if (isAtEnd) {
35084
+ const currentMarks = currentPos.marks();
35085
+ const isInMark = !!currentMarks.find((m2) => (m2 === null || m2 === void 0 ? void 0 : m2.type.name) === mark.name);
35086
+ if (!isInMark) {
35087
+ return false;
35088
+ }
35089
+ const removeMark2 = currentMarks.find((m2) => (m2 === null || m2 === void 0 ? void 0 : m2.type.name) === mark.name);
35090
+ if (removeMark2) {
35091
+ tr2.removeStoredMark(removeMark2);
35092
+ }
35093
+ tr2.insertText(" ", currentPos.pos);
35094
+ editor.view.dispatch(tr2);
35095
+ return true;
35096
+ }
35097
+ return false;
35098
+ }
35099
+ }
35269
35100
  let Node$1 = class Node3 {
35270
35101
  constructor(config = {}) {
35271
35102
  this.type = "node";
@@ -36095,7 +35926,7 @@ function drawCellSelection(state2) {
36095
35926
  return DecorationSet.create(state2.doc, cells);
36096
35927
  }
36097
35928
  function isCellBoundarySelection({ $from, $to }) {
36098
- if ($from.pos == $to.pos || $from.pos < $to.pos - 6)
35929
+ if ($from.pos == $to.pos || $from.pos < $from.pos - 6)
36099
35930
  return false;
36100
35931
  let afterFrom = $from.pos;
36101
35932
  let beforeTo = $to.pos;
@@ -36258,800 +36089,233 @@ function fixTable(state2, table, tablePos, tr2) {
36258
36089
  }
36259
36090
  return tr2.setMeta(fixTablesKey, { fixTables: true });
36260
36091
  }
36261
- function selectedRect(state2) {
36262
- const sel = state2.selection;
36263
- const $pos = selectionCell(state2);
36264
- const table = $pos.node(-1);
36265
- const tableStart = $pos.start(-1);
36266
- const map4 = TableMap.get(table);
36267
- const rect = sel instanceof CellSelection ? map4.rectBetween(
36268
- sel.$anchorCell.pos - tableStart,
36269
- sel.$headCell.pos - tableStart
36270
- ) : map4.findCell($pos.pos - tableStart);
36271
- return { ...rect, tableStart, map: map4, table };
36272
- }
36273
- function addColumn(tr2, { map: map4, tableStart, table }, col) {
36274
- let refColumn = col > 0 ? -1 : 0;
36275
- if (columnIsHeader(map4, table, col + refColumn)) {
36276
- refColumn = col == 0 || col == map4.width ? null : 0;
36092
+ function pastedCells(slice4) {
36093
+ if (!slice4.size)
36094
+ return null;
36095
+ let { content, openStart, openEnd } = slice4;
36096
+ while (content.childCount == 1 && (openStart > 0 && openEnd > 0 || content.child(0).type.spec.tableRole == "table")) {
36097
+ openStart--;
36098
+ openEnd--;
36099
+ content = content.child(0).content;
36277
36100
  }
36278
- for (let row = 0; row < map4.height; row++) {
36279
- const index2 = row * map4.width + col;
36280
- if (col > 0 && col < map4.width && map4.map[index2 - 1] == map4.map[index2]) {
36281
- const pos = map4.map[index2];
36282
- const cell = table.nodeAt(pos);
36283
- tr2.setNodeMarkup(
36284
- tr2.mapping.map(tableStart + pos),
36285
- null,
36286
- addColSpan(cell.attrs, col - map4.colCount(pos))
36287
- );
36288
- row += cell.attrs.rowspan - 1;
36289
- } else {
36290
- const type3 = refColumn == null ? tableNodeTypes(table.type.schema).cell : table.nodeAt(map4.map[index2 + refColumn]).type;
36291
- const pos = map4.positionAt(row, col, table);
36292
- tr2.insert(tr2.mapping.map(tableStart + pos), type3.createAndFill());
36101
+ const first2 = content.child(0);
36102
+ const role = first2.type.spec.tableRole;
36103
+ const schema = first2.type.schema, rows = [];
36104
+ if (role == "row") {
36105
+ for (let i2 = 0; i2 < content.childCount; i2++) {
36106
+ let cells = content.child(i2).content;
36107
+ const left2 = i2 ? 0 : Math.max(0, openStart - 1);
36108
+ const right2 = i2 < content.childCount - 1 ? 0 : Math.max(0, openEnd - 1);
36109
+ if (left2 || right2)
36110
+ cells = fitSlice(
36111
+ tableNodeTypes(schema).row,
36112
+ new Slice(cells, left2, right2)
36113
+ ).content;
36114
+ rows.push(cells);
36293
36115
  }
36116
+ } else if (role == "cell" || role == "header_cell") {
36117
+ rows.push(
36118
+ openStart || openEnd ? fitSlice(
36119
+ tableNodeTypes(schema).row,
36120
+ new Slice(content, openStart, openEnd)
36121
+ ).content : content
36122
+ );
36123
+ } else {
36124
+ return null;
36294
36125
  }
36295
- return tr2;
36126
+ return ensureRectangular(schema, rows);
36296
36127
  }
36297
- function addColumnBefore(state2, dispatch) {
36298
- if (!isInTable(state2))
36299
- return false;
36300
- if (dispatch) {
36301
- const rect = selectedRect(state2);
36302
- dispatch(addColumn(state2.tr, rect, rect.left));
36128
+ function ensureRectangular(schema, rows) {
36129
+ const widths = [];
36130
+ for (let i2 = 0; i2 < rows.length; i2++) {
36131
+ const row = rows[i2];
36132
+ for (let j2 = row.childCount - 1; j2 >= 0; j2--) {
36133
+ const { rowspan, colspan } = row.child(j2).attrs;
36134
+ for (let r2 = i2; r2 < i2 + rowspan; r2++)
36135
+ widths[r2] = (widths[r2] || 0) + colspan;
36136
+ }
36303
36137
  }
36304
- return true;
36305
- }
36306
- function addColumnAfter(state2, dispatch) {
36307
- if (!isInTable(state2))
36308
- return false;
36309
- if (dispatch) {
36310
- const rect = selectedRect(state2);
36311
- dispatch(addColumn(state2.tr, rect, rect.right));
36138
+ let width = 0;
36139
+ for (let r2 = 0; r2 < widths.length; r2++)
36140
+ width = Math.max(width, widths[r2]);
36141
+ for (let r2 = 0; r2 < widths.length; r2++) {
36142
+ if (r2 >= rows.length)
36143
+ rows.push(Fragment.empty);
36144
+ if (widths[r2] < width) {
36145
+ const empty2 = tableNodeTypes(schema).cell.createAndFill();
36146
+ const cells = [];
36147
+ for (let i2 = widths[r2]; i2 < width; i2++) {
36148
+ cells.push(empty2);
36149
+ }
36150
+ rows[r2] = rows[r2].append(Fragment.from(cells));
36151
+ }
36312
36152
  }
36313
- return true;
36153
+ return { height: rows.length, width, rows };
36314
36154
  }
36315
- function removeColumn(tr2, { map: map4, table, tableStart }, col) {
36316
- const mapStart = tr2.mapping.maps.length;
36317
- for (let row = 0; row < map4.height; ) {
36318
- const index2 = row * map4.width + col;
36319
- const pos = map4.map[index2];
36320
- const cell = table.nodeAt(pos);
36321
- const attrs = cell.attrs;
36322
- if (col > 0 && map4.map[index2 - 1] == pos || col < map4.width - 1 && map4.map[index2 + 1] == pos) {
36323
- tr2.setNodeMarkup(
36324
- tr2.mapping.slice(mapStart).map(tableStart + pos),
36325
- null,
36326
- removeColSpan(attrs, col - map4.colCount(pos))
36327
- );
36328
- } else {
36329
- const start2 = tr2.mapping.slice(mapStart).map(tableStart + pos);
36330
- tr2.delete(start2, start2 + cell.nodeSize);
36155
+ function fitSlice(nodeType, slice4) {
36156
+ const node = nodeType.createAndFill();
36157
+ const tr2 = new Transform(node).replace(0, node.content.size, slice4);
36158
+ return tr2.doc;
36159
+ }
36160
+ function clipCells({ width, height, rows }, newWidth, newHeight) {
36161
+ if (width != newWidth) {
36162
+ const added = [];
36163
+ const newRows = [];
36164
+ for (let row = 0; row < rows.length; row++) {
36165
+ const frag = rows[row], cells = [];
36166
+ for (let col = added[row] || 0, i2 = 0; col < newWidth; i2++) {
36167
+ let cell = frag.child(i2 % frag.childCount);
36168
+ if (col + cell.attrs.colspan > newWidth)
36169
+ cell = cell.type.createChecked(
36170
+ removeColSpan(
36171
+ cell.attrs,
36172
+ cell.attrs.colspan,
36173
+ col + cell.attrs.colspan - newWidth
36174
+ ),
36175
+ cell.content
36176
+ );
36177
+ cells.push(cell);
36178
+ col += cell.attrs.colspan;
36179
+ for (let j2 = 1; j2 < cell.attrs.rowspan; j2++)
36180
+ added[row + j2] = (added[row + j2] || 0) + cell.attrs.colspan;
36181
+ }
36182
+ newRows.push(Fragment.from(cells));
36331
36183
  }
36332
- row += attrs.rowspan;
36184
+ rows = newRows;
36185
+ width = newWidth;
36333
36186
  }
36334
- }
36335
- function deleteColumn(state2, dispatch) {
36336
- if (!isInTable(state2))
36337
- return false;
36338
- if (dispatch) {
36339
- const rect = selectedRect(state2);
36340
- const tr2 = state2.tr;
36341
- if (rect.left == 0 && rect.right == rect.map.width)
36342
- return false;
36343
- for (let i2 = rect.right - 1; ; i2--) {
36344
- removeColumn(tr2, rect, i2);
36345
- if (i2 == rect.left)
36346
- break;
36347
- const table = rect.tableStart ? tr2.doc.nodeAt(rect.tableStart - 1) : tr2.doc;
36348
- if (!table) {
36349
- throw RangeError("No table found");
36187
+ if (height != newHeight) {
36188
+ const newRows = [];
36189
+ for (let row = 0, i2 = 0; row < newHeight; row++, i2++) {
36190
+ const cells = [], source = rows[i2 % height];
36191
+ for (let j2 = 0; j2 < source.childCount; j2++) {
36192
+ let cell = source.child(j2);
36193
+ if (row + cell.attrs.rowspan > newHeight)
36194
+ cell = cell.type.create(
36195
+ {
36196
+ ...cell.attrs,
36197
+ rowspan: Math.max(1, newHeight - cell.attrs.rowspan)
36198
+ },
36199
+ cell.content
36200
+ );
36201
+ cells.push(cell);
36350
36202
  }
36351
- rect.table = table;
36352
- rect.map = TableMap.get(table);
36203
+ newRows.push(Fragment.from(cells));
36353
36204
  }
36354
- dispatch(tr2);
36205
+ rows = newRows;
36206
+ height = newHeight;
36355
36207
  }
36356
- return true;
36357
- }
36358
- function rowIsHeader(map4, table, row) {
36359
- var _a2;
36360
- const headerCell = tableNodeTypes(table.type.schema).header_cell;
36361
- for (let col = 0; col < map4.width; col++)
36362
- if (((_a2 = table.nodeAt(map4.map[col + row * map4.width])) == null ? void 0 : _a2.type) != headerCell)
36363
- return false;
36364
- return true;
36208
+ return { width, height, rows };
36365
36209
  }
36366
- function addRow(tr2, { map: map4, tableStart, table }, row) {
36367
- var _a2;
36368
- let rowPos = tableStart;
36369
- for (let i2 = 0; i2 < row; i2++)
36370
- rowPos += table.child(i2).nodeSize;
36371
- const cells = [];
36372
- let refRow = row > 0 ? -1 : 0;
36373
- if (rowIsHeader(map4, table, row + refRow))
36374
- refRow = row == 0 || row == map4.height ? null : 0;
36375
- for (let col = 0, index2 = map4.width * row; col < map4.width; col++, index2++) {
36376
- if (row > 0 && row < map4.height && map4.map[index2] == map4.map[index2 - map4.width]) {
36377
- const pos = map4.map[index2];
36378
- const attrs = table.nodeAt(pos).attrs;
36379
- tr2.setNodeMarkup(tableStart + pos, null, {
36380
- ...attrs,
36381
- rowspan: attrs.rowspan + 1
36382
- });
36383
- col += attrs.colspan - 1;
36384
- } else {
36385
- const type3 = refRow == null ? tableNodeTypes(table.type.schema).cell : (_a2 = table.nodeAt(map4.map[index2 + refRow * map4.width])) == null ? void 0 : _a2.type;
36386
- const node = type3 == null ? void 0 : type3.createAndFill();
36387
- if (node)
36388
- cells.push(node);
36210
+ function growTable(tr2, map4, table, start2, width, height, mapFrom) {
36211
+ const schema = tr2.doc.type.schema;
36212
+ const types = tableNodeTypes(schema);
36213
+ let empty2;
36214
+ let emptyHead;
36215
+ if (width > map4.width) {
36216
+ for (let row = 0, rowEnd = 0; row < map4.height; row++) {
36217
+ const rowNode = table.child(row);
36218
+ rowEnd += rowNode.nodeSize;
36219
+ const cells = [];
36220
+ let add2;
36221
+ if (rowNode.lastChild == null || rowNode.lastChild.type == types.cell)
36222
+ add2 = empty2 || (empty2 = types.cell.createAndFill());
36223
+ else
36224
+ add2 = emptyHead || (emptyHead = types.header_cell.createAndFill());
36225
+ for (let i2 = map4.width; i2 < width; i2++)
36226
+ cells.push(add2);
36227
+ tr2.insert(tr2.mapping.slice(mapFrom).map(rowEnd - 1 + start2), cells);
36389
36228
  }
36390
36229
  }
36391
- tr2.insert(rowPos, tableNodeTypes(table.type.schema).row.create(null, cells));
36392
- return tr2;
36393
- }
36394
- function addRowBefore(state2, dispatch) {
36395
- if (!isInTable(state2))
36396
- return false;
36397
- if (dispatch) {
36398
- const rect = selectedRect(state2);
36399
- dispatch(addRow(state2.tr, rect, rect.top));
36230
+ if (height > map4.height) {
36231
+ const cells = [];
36232
+ for (let i2 = 0, start22 = (map4.height - 1) * map4.width; i2 < Math.max(map4.width, width); i2++) {
36233
+ const header = i2 >= map4.width ? false : table.nodeAt(map4.map[start22 + i2]).type == types.header_cell;
36234
+ cells.push(
36235
+ header ? emptyHead || (emptyHead = types.header_cell.createAndFill()) : empty2 || (empty2 = types.cell.createAndFill())
36236
+ );
36237
+ }
36238
+ const emptyRow = types.row.create(null, Fragment.from(cells)), rows = [];
36239
+ for (let i2 = map4.height; i2 < height; i2++)
36240
+ rows.push(emptyRow);
36241
+ tr2.insert(tr2.mapping.slice(mapFrom).map(start2 + table.nodeSize - 2), rows);
36400
36242
  }
36401
- return true;
36243
+ return !!(empty2 || emptyHead);
36402
36244
  }
36403
- function addRowAfter(state2, dispatch) {
36404
- if (!isInTable(state2))
36245
+ function isolateHorizontal(tr2, map4, table, start2, left2, right2, top2, mapFrom) {
36246
+ if (top2 == 0 || top2 == map4.height)
36405
36247
  return false;
36406
- if (dispatch) {
36407
- const rect = selectedRect(state2);
36408
- dispatch(addRow(state2.tr, rect, rect.bottom));
36409
- }
36410
- return true;
36411
- }
36412
- function removeRow(tr2, { map: map4, table, tableStart }, row) {
36413
- let rowPos = 0;
36414
- for (let i2 = 0; i2 < row; i2++)
36415
- rowPos += table.child(i2).nodeSize;
36416
- const nextRow = rowPos + table.child(row).nodeSize;
36417
- const mapFrom = tr2.mapping.maps.length;
36418
- tr2.delete(rowPos + tableStart, nextRow + tableStart);
36419
- const seen = /* @__PURE__ */ new Set();
36420
- for (let col = 0, index2 = row * map4.width; col < map4.width; col++, index2++) {
36421
- const pos = map4.map[index2];
36422
- if (seen.has(pos))
36423
- continue;
36424
- seen.add(pos);
36425
- if (row > 0 && pos == map4.map[index2 - map4.width]) {
36426
- const attrs = table.nodeAt(pos).attrs;
36427
- tr2.setNodeMarkup(tr2.mapping.slice(mapFrom).map(pos + tableStart), null, {
36428
- ...attrs,
36429
- rowspan: attrs.rowspan - 1
36430
- });
36431
- col += attrs.colspan - 1;
36432
- } else if (row < map4.height && pos == map4.map[index2 + map4.width]) {
36248
+ let found2 = false;
36249
+ for (let col = left2; col < right2; col++) {
36250
+ const index2 = top2 * map4.width + col, pos = map4.map[index2];
36251
+ if (map4.map[index2 - map4.width] == pos) {
36252
+ found2 = true;
36433
36253
  const cell = table.nodeAt(pos);
36434
- const attrs = cell.attrs;
36435
- const copy2 = cell.type.create(
36436
- { ...attrs, rowspan: cell.attrs.rowspan - 1 },
36437
- cell.content
36254
+ const { top: cellTop, left: cellLeft } = map4.findCell(pos);
36255
+ tr2.setNodeMarkup(tr2.mapping.slice(mapFrom).map(pos + start2), null, {
36256
+ ...cell.attrs,
36257
+ rowspan: top2 - cellTop
36258
+ });
36259
+ tr2.insert(
36260
+ tr2.mapping.slice(mapFrom).map(map4.positionAt(top2, cellLeft, table)),
36261
+ cell.type.createAndFill({
36262
+ ...cell.attrs,
36263
+ rowspan: cellTop + cell.attrs.rowspan - top2
36264
+ })
36438
36265
  );
36439
- const newPos = map4.positionAt(row + 1, col, table);
36440
- tr2.insert(tr2.mapping.slice(mapFrom).map(tableStart + newPos), copy2);
36441
- col += attrs.colspan - 1;
36266
+ col += cell.attrs.colspan - 1;
36442
36267
  }
36443
36268
  }
36269
+ return found2;
36444
36270
  }
36445
- function deleteRow(state2, dispatch) {
36446
- if (!isInTable(state2))
36271
+ function isolateVertical(tr2, map4, table, start2, top2, bottom2, left2, mapFrom) {
36272
+ if (left2 == 0 || left2 == map4.width)
36447
36273
  return false;
36448
- if (dispatch) {
36449
- const rect = selectedRect(state2), tr2 = state2.tr;
36450
- if (rect.top == 0 && rect.bottom == rect.map.height)
36451
- return false;
36452
- for (let i2 = rect.bottom - 1; ; i2--) {
36453
- removeRow(tr2, rect, i2);
36454
- if (i2 == rect.top)
36455
- break;
36456
- const table = rect.tableStart ? tr2.doc.nodeAt(rect.tableStart - 1) : tr2.doc;
36457
- if (!table) {
36458
- throw RangeError("No table found");
36459
- }
36460
- rect.table = table;
36461
- rect.map = TableMap.get(rect.table);
36274
+ let found2 = false;
36275
+ for (let row = top2; row < bottom2; row++) {
36276
+ const index2 = row * map4.width + left2, pos = map4.map[index2];
36277
+ if (map4.map[index2 - 1] == pos) {
36278
+ found2 = true;
36279
+ const cell = table.nodeAt(pos);
36280
+ const cellLeft = map4.colCount(pos);
36281
+ const updatePos = tr2.mapping.slice(mapFrom).map(pos + start2);
36282
+ tr2.setNodeMarkup(
36283
+ updatePos,
36284
+ null,
36285
+ removeColSpan(
36286
+ cell.attrs,
36287
+ left2 - cellLeft,
36288
+ cell.attrs.colspan - (left2 - cellLeft)
36289
+ )
36290
+ );
36291
+ tr2.insert(
36292
+ updatePos + cell.nodeSize,
36293
+ cell.type.createAndFill(
36294
+ removeColSpan(cell.attrs, 0, left2 - cellLeft)
36295
+ )
36296
+ );
36297
+ row += cell.attrs.rowspan - 1;
36462
36298
  }
36463
- dispatch(tr2);
36464
36299
  }
36465
- return true;
36466
- }
36467
- function isEmpty(cell) {
36468
- const c2 = cell.content;
36469
- return c2.childCount == 1 && c2.child(0).isTextblock && c2.child(0).childCount == 0;
36300
+ return found2;
36470
36301
  }
36471
- function cellsOverlapRectangle({ width, height, map: map4 }, rect) {
36472
- let indexTop = rect.top * width + rect.left, indexLeft = indexTop;
36473
- let indexBottom = (rect.bottom - 1) * width + rect.left, indexRight = indexTop + (rect.right - rect.left - 1);
36474
- for (let i2 = rect.top; i2 < rect.bottom; i2++) {
36475
- if (rect.left > 0 && map4[indexLeft] == map4[indexLeft - 1] || rect.right < width && map4[indexRight] == map4[indexRight + 1])
36476
- return true;
36477
- indexLeft += width;
36478
- indexRight += width;
36302
+ function insertCells(state2, dispatch, tableStart, rect, cells) {
36303
+ let table = tableStart ? state2.doc.nodeAt(tableStart - 1) : state2.doc;
36304
+ if (!table) {
36305
+ throw new Error("No table found");
36479
36306
  }
36480
- for (let i2 = rect.left; i2 < rect.right; i2++) {
36481
- if (rect.top > 0 && map4[indexTop] == map4[indexTop - width] || rect.bottom < height && map4[indexBottom] == map4[indexBottom + width])
36482
- return true;
36483
- indexTop++;
36484
- indexBottom++;
36485
- }
36486
- return false;
36487
- }
36488
- function mergeCells(state2, dispatch) {
36489
- const sel = state2.selection;
36490
- if (!(sel instanceof CellSelection) || sel.$anchorCell.pos == sel.$headCell.pos)
36491
- return false;
36492
- const rect = selectedRect(state2), { map: map4 } = rect;
36493
- if (cellsOverlapRectangle(map4, rect))
36494
- return false;
36495
- if (dispatch) {
36496
- const tr2 = state2.tr;
36497
- const seen = {};
36498
- let content = Fragment.empty;
36499
- let mergedPos;
36500
- let mergedCell;
36501
- for (let row = rect.top; row < rect.bottom; row++) {
36502
- for (let col = rect.left; col < rect.right; col++) {
36503
- const cellPos = map4.map[row * map4.width + col];
36504
- const cell = rect.table.nodeAt(cellPos);
36505
- if (seen[cellPos] || !cell)
36506
- continue;
36507
- seen[cellPos] = true;
36508
- if (mergedPos == null) {
36509
- mergedPos = cellPos;
36510
- mergedCell = cell;
36511
- } else {
36512
- if (!isEmpty(cell))
36513
- content = content.append(cell.content);
36514
- const mapped = tr2.mapping.map(cellPos + rect.tableStart);
36515
- tr2.delete(mapped, mapped + cell.nodeSize);
36516
- }
36517
- }
36518
- }
36519
- if (mergedPos == null || mergedCell == null) {
36520
- return true;
36521
- }
36522
- tr2.setNodeMarkup(mergedPos + rect.tableStart, null, {
36523
- ...addColSpan(
36524
- mergedCell.attrs,
36525
- mergedCell.attrs.colspan,
36526
- rect.right - rect.left - mergedCell.attrs.colspan
36527
- ),
36528
- rowspan: rect.bottom - rect.top
36529
- });
36530
- if (content.size) {
36531
- const end2 = mergedPos + 1 + mergedCell.content.size;
36532
- const start2 = isEmpty(mergedCell) ? mergedPos + 1 : end2;
36533
- tr2.replaceWith(start2 + rect.tableStart, end2 + rect.tableStart, content);
36534
- }
36535
- tr2.setSelection(
36536
- new CellSelection(tr2.doc.resolve(mergedPos + rect.tableStart))
36537
- );
36538
- dispatch(tr2);
36539
- }
36540
- return true;
36541
- }
36542
- function splitCell(state2, dispatch) {
36543
- const nodeTypes = tableNodeTypes(state2.schema);
36544
- return splitCellWithType(({ node }) => {
36545
- return nodeTypes[node.type.spec.tableRole];
36546
- })(state2, dispatch);
36547
- }
36548
- function splitCellWithType(getCellType) {
36549
- return (state2, dispatch) => {
36550
- var _a2;
36551
- const sel = state2.selection;
36552
- let cellNode;
36553
- let cellPos;
36554
- if (!(sel instanceof CellSelection)) {
36555
- cellNode = cellWrapping(sel.$from);
36556
- if (!cellNode)
36557
- return false;
36558
- cellPos = (_a2 = cellAround(sel.$from)) == null ? void 0 : _a2.pos;
36559
- } else {
36560
- if (sel.$anchorCell.pos != sel.$headCell.pos)
36561
- return false;
36562
- cellNode = sel.$anchorCell.nodeAfter;
36563
- cellPos = sel.$anchorCell.pos;
36564
- }
36565
- if (cellNode == null || cellPos == null) {
36566
- return false;
36567
- }
36568
- if (cellNode.attrs.colspan == 1 && cellNode.attrs.rowspan == 1) {
36569
- return false;
36570
- }
36571
- if (dispatch) {
36572
- let baseAttrs = cellNode.attrs;
36573
- const attrs = [];
36574
- const colwidth = baseAttrs.colwidth;
36575
- if (baseAttrs.rowspan > 1)
36576
- baseAttrs = { ...baseAttrs, rowspan: 1 };
36577
- if (baseAttrs.colspan > 1)
36578
- baseAttrs = { ...baseAttrs, colspan: 1 };
36579
- const rect = selectedRect(state2), tr2 = state2.tr;
36580
- for (let i2 = 0; i2 < rect.right - rect.left; i2++)
36581
- attrs.push(
36582
- colwidth ? {
36583
- ...baseAttrs,
36584
- colwidth: colwidth && colwidth[i2] ? [colwidth[i2]] : null
36585
- } : baseAttrs
36586
- );
36587
- let lastCell;
36588
- for (let row = rect.top; row < rect.bottom; row++) {
36589
- let pos = rect.map.positionAt(row, rect.left, rect.table);
36590
- if (row == rect.top)
36591
- pos += cellNode.nodeSize;
36592
- for (let col = rect.left, i2 = 0; col < rect.right; col++, i2++) {
36593
- if (col == rect.left && row == rect.top)
36594
- continue;
36595
- tr2.insert(
36596
- lastCell = tr2.mapping.map(pos + rect.tableStart, 1),
36597
- getCellType({ node: cellNode, row, col }).createAndFill(attrs[i2])
36598
- );
36599
- }
36600
- }
36601
- tr2.setNodeMarkup(
36602
- cellPos,
36603
- getCellType({ node: cellNode, row: rect.top, col: rect.left }),
36604
- attrs[0]
36605
- );
36606
- if (sel instanceof CellSelection)
36607
- tr2.setSelection(
36608
- new CellSelection(
36609
- tr2.doc.resolve(sel.$anchorCell.pos),
36610
- lastCell ? tr2.doc.resolve(lastCell) : void 0
36611
- )
36612
- );
36613
- dispatch(tr2);
36614
- }
36615
- return true;
36616
- };
36617
- }
36618
- function setCellAttr(name, value) {
36619
- return function(state2, dispatch) {
36620
- if (!isInTable(state2))
36621
- return false;
36622
- const $cell = selectionCell(state2);
36623
- if ($cell.nodeAfter.attrs[name] === value)
36624
- return false;
36625
- if (dispatch) {
36626
- const tr2 = state2.tr;
36627
- if (state2.selection instanceof CellSelection)
36628
- state2.selection.forEachCell((node, pos) => {
36629
- if (node.attrs[name] !== value)
36630
- tr2.setNodeMarkup(pos, null, {
36631
- ...node.attrs,
36632
- [name]: value
36633
- });
36634
- });
36635
- else
36636
- tr2.setNodeMarkup($cell.pos, null, {
36637
- ...$cell.nodeAfter.attrs,
36638
- [name]: value
36639
- });
36640
- dispatch(tr2);
36641
- }
36642
- return true;
36643
- };
36644
- }
36645
- function deprecated_toggleHeader(type3) {
36646
- return function(state2, dispatch) {
36647
- if (!isInTable(state2))
36648
- return false;
36649
- if (dispatch) {
36650
- const types = tableNodeTypes(state2.schema);
36651
- const rect = selectedRect(state2), tr2 = state2.tr;
36652
- const cells = rect.map.cellsInRect(
36653
- type3 == "column" ? {
36654
- left: rect.left,
36655
- top: 0,
36656
- right: rect.right,
36657
- bottom: rect.map.height
36658
- } : type3 == "row" ? {
36659
- left: 0,
36660
- top: rect.top,
36661
- right: rect.map.width,
36662
- bottom: rect.bottom
36663
- } : rect
36664
- );
36665
- const nodes = cells.map((pos) => rect.table.nodeAt(pos));
36666
- for (let i2 = 0; i2 < cells.length; i2++)
36667
- if (nodes[i2].type == types.header_cell)
36668
- tr2.setNodeMarkup(
36669
- rect.tableStart + cells[i2],
36670
- types.cell,
36671
- nodes[i2].attrs
36672
- );
36673
- if (tr2.steps.length == 0)
36674
- for (let i2 = 0; i2 < cells.length; i2++)
36675
- tr2.setNodeMarkup(
36676
- rect.tableStart + cells[i2],
36677
- types.header_cell,
36678
- nodes[i2].attrs
36679
- );
36680
- dispatch(tr2);
36681
- }
36682
- return true;
36683
- };
36684
- }
36685
- function isHeaderEnabledByType(type3, rect, types) {
36686
- const cellPositions = rect.map.cellsInRect({
36687
- left: 0,
36688
- top: 0,
36689
- right: type3 == "row" ? rect.map.width : 1,
36690
- bottom: type3 == "column" ? rect.map.height : 1
36691
- });
36692
- for (let i2 = 0; i2 < cellPositions.length; i2++) {
36693
- const cell = rect.table.nodeAt(cellPositions[i2]);
36694
- if (cell && cell.type !== types.header_cell) {
36695
- return false;
36696
- }
36697
- }
36698
- return true;
36699
- }
36700
- function toggleHeader(type3, options) {
36701
- options = options || { useDeprecatedLogic: false };
36702
- if (options.useDeprecatedLogic)
36703
- return deprecated_toggleHeader(type3);
36704
- return function(state2, dispatch) {
36705
- if (!isInTable(state2))
36706
- return false;
36707
- if (dispatch) {
36708
- const types = tableNodeTypes(state2.schema);
36709
- const rect = selectedRect(state2), tr2 = state2.tr;
36710
- const isHeaderRowEnabled = isHeaderEnabledByType("row", rect, types);
36711
- const isHeaderColumnEnabled = isHeaderEnabledByType(
36712
- "column",
36713
- rect,
36714
- types
36715
- );
36716
- const isHeaderEnabled = type3 === "column" ? isHeaderRowEnabled : type3 === "row" ? isHeaderColumnEnabled : false;
36717
- const selectionStartsAt = isHeaderEnabled ? 1 : 0;
36718
- const cellsRect = type3 == "column" ? {
36719
- left: 0,
36720
- top: selectionStartsAt,
36721
- right: 1,
36722
- bottom: rect.map.height
36723
- } : type3 == "row" ? {
36724
- left: selectionStartsAt,
36725
- top: 0,
36726
- right: rect.map.width,
36727
- bottom: 1
36728
- } : rect;
36729
- const newType = type3 == "column" ? isHeaderColumnEnabled ? types.cell : types.header_cell : type3 == "row" ? isHeaderRowEnabled ? types.cell : types.header_cell : types.cell;
36730
- rect.map.cellsInRect(cellsRect).forEach((relativeCellPos) => {
36731
- const cellPos = relativeCellPos + rect.tableStart;
36732
- const cell = tr2.doc.nodeAt(cellPos);
36733
- if (cell) {
36734
- tr2.setNodeMarkup(cellPos, newType, cell.attrs);
36735
- }
36736
- });
36737
- dispatch(tr2);
36738
- }
36739
- return true;
36740
- };
36741
- }
36742
- toggleHeader("row", {
36743
- useDeprecatedLogic: true
36744
- });
36745
- toggleHeader("column", {
36746
- useDeprecatedLogic: true
36747
- });
36748
- var toggleHeaderCell = toggleHeader("cell", {
36749
- useDeprecatedLogic: true
36750
- });
36751
- function findNextCell($cell, dir) {
36752
- if (dir < 0) {
36753
- const before = $cell.nodeBefore;
36754
- if (before)
36755
- return $cell.pos - before.nodeSize;
36756
- for (let row = $cell.index(-1) - 1, rowEnd = $cell.before(); row >= 0; row--) {
36757
- const rowNode = $cell.node(-1).child(row);
36758
- const lastChild2 = rowNode.lastChild;
36759
- if (lastChild2) {
36760
- return rowEnd - 1 - lastChild2.nodeSize;
36761
- }
36762
- rowEnd -= rowNode.nodeSize;
36763
- }
36764
- } else {
36765
- if ($cell.index() < $cell.parent.childCount - 1) {
36766
- return $cell.pos + $cell.nodeAfter.nodeSize;
36767
- }
36768
- const table = $cell.node(-1);
36769
- for (let row = $cell.indexAfter(-1), rowStart = $cell.after(); row < table.childCount; row++) {
36770
- const rowNode = table.child(row);
36771
- if (rowNode.childCount)
36772
- return rowStart + 1;
36773
- rowStart += rowNode.nodeSize;
36774
- }
36775
- }
36776
- return null;
36777
- }
36778
- function goToNextCell(direction) {
36779
- return function(state2, dispatch) {
36780
- if (!isInTable(state2))
36781
- return false;
36782
- const cell = findNextCell(selectionCell(state2), direction);
36783
- if (cell == null)
36784
- return false;
36785
- if (dispatch) {
36786
- const $cell = state2.doc.resolve(cell);
36787
- dispatch(
36788
- state2.tr.setSelection(TextSelection.between($cell, moveCellForward($cell))).scrollIntoView()
36789
- );
36790
- }
36791
- return true;
36792
- };
36793
- }
36794
- function deleteTable(state2, dispatch) {
36795
- const $pos = state2.selection.$anchor;
36796
- for (let d2 = $pos.depth; d2 > 0; d2--) {
36797
- const node = $pos.node(d2);
36798
- if (node.type.spec.tableRole == "table") {
36799
- if (dispatch)
36800
- dispatch(
36801
- state2.tr.delete($pos.before(d2), $pos.after(d2)).scrollIntoView()
36802
- );
36803
- return true;
36804
- }
36805
- }
36806
- return false;
36807
- }
36808
- function deleteCellSelection(state2, dispatch) {
36809
- const sel = state2.selection;
36810
- if (!(sel instanceof CellSelection))
36811
- return false;
36812
- if (dispatch) {
36813
- const tr2 = state2.tr;
36814
- const baseContent = tableNodeTypes(state2.schema).cell.createAndFill().content;
36815
- sel.forEachCell((cell, pos) => {
36816
- if (!cell.content.eq(baseContent))
36817
- tr2.replace(
36818
- tr2.mapping.map(pos + 1),
36819
- tr2.mapping.map(pos + cell.nodeSize - 1),
36820
- new Slice(baseContent, 0, 0)
36821
- );
36822
- });
36823
- if (tr2.docChanged)
36824
- dispatch(tr2);
36825
- }
36826
- return true;
36827
- }
36828
- function pastedCells(slice4) {
36829
- if (!slice4.size)
36830
- return null;
36831
- let { content, openStart, openEnd } = slice4;
36832
- while (content.childCount == 1 && (openStart > 0 && openEnd > 0 || content.child(0).type.spec.tableRole == "table")) {
36833
- openStart--;
36834
- openEnd--;
36835
- content = content.child(0).content;
36836
- }
36837
- const first2 = content.child(0);
36838
- const role = first2.type.spec.tableRole;
36839
- const schema = first2.type.schema, rows = [];
36840
- if (role == "row") {
36841
- for (let i2 = 0; i2 < content.childCount; i2++) {
36842
- let cells = content.child(i2).content;
36843
- const left2 = i2 ? 0 : Math.max(0, openStart - 1);
36844
- const right2 = i2 < content.childCount - 1 ? 0 : Math.max(0, openEnd - 1);
36845
- if (left2 || right2)
36846
- cells = fitSlice(
36847
- tableNodeTypes(schema).row,
36848
- new Slice(cells, left2, right2)
36849
- ).content;
36850
- rows.push(cells);
36851
- }
36852
- } else if (role == "cell" || role == "header_cell") {
36853
- rows.push(
36854
- openStart || openEnd ? fitSlice(
36855
- tableNodeTypes(schema).row,
36856
- new Slice(content, openStart, openEnd)
36857
- ).content : content
36858
- );
36859
- } else {
36860
- return null;
36861
- }
36862
- return ensureRectangular(schema, rows);
36863
- }
36864
- function ensureRectangular(schema, rows) {
36865
- const widths = [];
36866
- for (let i2 = 0; i2 < rows.length; i2++) {
36867
- const row = rows[i2];
36868
- for (let j2 = row.childCount - 1; j2 >= 0; j2--) {
36869
- const { rowspan, colspan } = row.child(j2).attrs;
36870
- for (let r2 = i2; r2 < i2 + rowspan; r2++)
36871
- widths[r2] = (widths[r2] || 0) + colspan;
36872
- }
36873
- }
36874
- let width = 0;
36875
- for (let r2 = 0; r2 < widths.length; r2++)
36876
- width = Math.max(width, widths[r2]);
36877
- for (let r2 = 0; r2 < widths.length; r2++) {
36878
- if (r2 >= rows.length)
36879
- rows.push(Fragment.empty);
36880
- if (widths[r2] < width) {
36881
- const empty2 = tableNodeTypes(schema).cell.createAndFill();
36882
- const cells = [];
36883
- for (let i2 = widths[r2]; i2 < width; i2++) {
36884
- cells.push(empty2);
36885
- }
36886
- rows[r2] = rows[r2].append(Fragment.from(cells));
36887
- }
36888
- }
36889
- return { height: rows.length, width, rows };
36890
- }
36891
- function fitSlice(nodeType, slice4) {
36892
- const node = nodeType.createAndFill();
36893
- const tr2 = new Transform(node).replace(0, node.content.size, slice4);
36894
- return tr2.doc;
36895
- }
36896
- function clipCells({ width, height, rows }, newWidth, newHeight) {
36897
- if (width != newWidth) {
36898
- const added = [];
36899
- const newRows = [];
36900
- for (let row = 0; row < rows.length; row++) {
36901
- const frag = rows[row], cells = [];
36902
- for (let col = added[row] || 0, i2 = 0; col < newWidth; i2++) {
36903
- let cell = frag.child(i2 % frag.childCount);
36904
- if (col + cell.attrs.colspan > newWidth)
36905
- cell = cell.type.createChecked(
36906
- removeColSpan(
36907
- cell.attrs,
36908
- cell.attrs.colspan,
36909
- col + cell.attrs.colspan - newWidth
36910
- ),
36911
- cell.content
36912
- );
36913
- cells.push(cell);
36914
- col += cell.attrs.colspan;
36915
- for (let j2 = 1; j2 < cell.attrs.rowspan; j2++)
36916
- added[row + j2] = (added[row + j2] || 0) + cell.attrs.colspan;
36917
- }
36918
- newRows.push(Fragment.from(cells));
36919
- }
36920
- rows = newRows;
36921
- width = newWidth;
36922
- }
36923
- if (height != newHeight) {
36924
- const newRows = [];
36925
- for (let row = 0, i2 = 0; row < newHeight; row++, i2++) {
36926
- const cells = [], source = rows[i2 % height];
36927
- for (let j2 = 0; j2 < source.childCount; j2++) {
36928
- let cell = source.child(j2);
36929
- if (row + cell.attrs.rowspan > newHeight)
36930
- cell = cell.type.create(
36931
- {
36932
- ...cell.attrs,
36933
- rowspan: Math.max(1, newHeight - cell.attrs.rowspan)
36934
- },
36935
- cell.content
36936
- );
36937
- cells.push(cell);
36938
- }
36939
- newRows.push(Fragment.from(cells));
36940
- }
36941
- rows = newRows;
36942
- height = newHeight;
36943
- }
36944
- return { width, height, rows };
36945
- }
36946
- function growTable(tr2, map4, table, start2, width, height, mapFrom) {
36947
- const schema = tr2.doc.type.schema;
36948
- const types = tableNodeTypes(schema);
36949
- let empty2;
36950
- let emptyHead;
36951
- if (width > map4.width) {
36952
- for (let row = 0, rowEnd = 0; row < map4.height; row++) {
36953
- const rowNode = table.child(row);
36954
- rowEnd += rowNode.nodeSize;
36955
- const cells = [];
36956
- let add2;
36957
- if (rowNode.lastChild == null || rowNode.lastChild.type == types.cell)
36958
- add2 = empty2 || (empty2 = types.cell.createAndFill());
36959
- else
36960
- add2 = emptyHead || (emptyHead = types.header_cell.createAndFill());
36961
- for (let i2 = map4.width; i2 < width; i2++)
36962
- cells.push(add2);
36963
- tr2.insert(tr2.mapping.slice(mapFrom).map(rowEnd - 1 + start2), cells);
36964
- }
36965
- }
36966
- if (height > map4.height) {
36967
- const cells = [];
36968
- for (let i2 = 0, start22 = (map4.height - 1) * map4.width; i2 < Math.max(map4.width, width); i2++) {
36969
- const header = i2 >= map4.width ? false : table.nodeAt(map4.map[start22 + i2]).type == types.header_cell;
36970
- cells.push(
36971
- header ? emptyHead || (emptyHead = types.header_cell.createAndFill()) : empty2 || (empty2 = types.cell.createAndFill())
36972
- );
36973
- }
36974
- const emptyRow = types.row.create(null, Fragment.from(cells)), rows = [];
36975
- for (let i2 = map4.height; i2 < height; i2++)
36976
- rows.push(emptyRow);
36977
- tr2.insert(tr2.mapping.slice(mapFrom).map(start2 + table.nodeSize - 2), rows);
36978
- }
36979
- return !!(empty2 || emptyHead);
36980
- }
36981
- function isolateHorizontal(tr2, map4, table, start2, left2, right2, top2, mapFrom) {
36982
- if (top2 == 0 || top2 == map4.height)
36983
- return false;
36984
- let found2 = false;
36985
- for (let col = left2; col < right2; col++) {
36986
- const index2 = top2 * map4.width + col, pos = map4.map[index2];
36987
- if (map4.map[index2 - map4.width] == pos) {
36988
- found2 = true;
36989
- const cell = table.nodeAt(pos);
36990
- const { top: cellTop, left: cellLeft } = map4.findCell(pos);
36991
- tr2.setNodeMarkup(tr2.mapping.slice(mapFrom).map(pos + start2), null, {
36992
- ...cell.attrs,
36993
- rowspan: top2 - cellTop
36994
- });
36995
- tr2.insert(
36996
- tr2.mapping.slice(mapFrom).map(map4.positionAt(top2, cellLeft, table)),
36997
- cell.type.createAndFill({
36998
- ...cell.attrs,
36999
- rowspan: cellTop + cell.attrs.rowspan - top2
37000
- })
37001
- );
37002
- col += cell.attrs.colspan - 1;
37003
- }
37004
- }
37005
- return found2;
37006
- }
37007
- function isolateVertical(tr2, map4, table, start2, top2, bottom2, left2, mapFrom) {
37008
- if (left2 == 0 || left2 == map4.width)
37009
- return false;
37010
- let found2 = false;
37011
- for (let row = top2; row < bottom2; row++) {
37012
- const index2 = row * map4.width + left2, pos = map4.map[index2];
37013
- if (map4.map[index2 - 1] == pos) {
37014
- found2 = true;
37015
- const cell = table.nodeAt(pos);
37016
- const cellLeft = map4.colCount(pos);
37017
- const updatePos = tr2.mapping.slice(mapFrom).map(pos + start2);
37018
- tr2.setNodeMarkup(
37019
- updatePos,
37020
- null,
37021
- removeColSpan(
37022
- cell.attrs,
37023
- left2 - cellLeft,
37024
- cell.attrs.colspan - (left2 - cellLeft)
37025
- )
37026
- );
37027
- tr2.insert(
37028
- updatePos + cell.nodeSize,
37029
- cell.type.createAndFill(
37030
- removeColSpan(cell.attrs, 0, left2 - cellLeft)
37031
- )
37032
- );
37033
- row += cell.attrs.rowspan - 1;
37034
- }
37035
- }
37036
- return found2;
37037
- }
37038
- function insertCells(state2, dispatch, tableStart, rect, cells) {
37039
- let table = tableStart ? state2.doc.nodeAt(tableStart - 1) : state2.doc;
37040
- if (!table) {
37041
- throw new Error("No table found");
37042
- }
37043
- let map4 = TableMap.get(table);
37044
- const { top: top2, left: left2 } = rect;
37045
- const right2 = left2 + cells.width, bottom2 = top2 + cells.height;
37046
- const tr2 = state2.tr;
37047
- let mapFrom = 0;
37048
- function recomp() {
37049
- table = tableStart ? tr2.doc.nodeAt(tableStart - 1) : tr2.doc;
37050
- if (!table) {
37051
- throw new Error("No table found");
37052
- }
37053
- map4 = TableMap.get(table);
37054
- mapFrom = tr2.mapping.maps.length;
36307
+ let map4 = TableMap.get(table);
36308
+ const { top: top2, left: left2 } = rect;
36309
+ const right2 = left2 + cells.width, bottom2 = top2 + cells.height;
36310
+ const tr2 = state2.tr;
36311
+ let mapFrom = 0;
36312
+ function recomp() {
36313
+ table = tableStart ? tr2.doc.nodeAt(tableStart - 1) : tr2.doc;
36314
+ if (!table) {
36315
+ throw new Error("No table found");
36316
+ }
36317
+ map4 = TableMap.get(table);
36318
+ mapFrom = tr2.mapping.maps.length;
37055
36319
  }
37056
36320
  if (growTable(tr2, map4, table, tableStart, right2, bottom2, mapFrom))
37057
36321
  recomp();
@@ -37162,6 +36426,26 @@ function shiftArrow(axis2, dir) {
37162
36426
  );
37163
36427
  };
37164
36428
  }
36429
+ function deleteCellSelection(state2, dispatch) {
36430
+ const sel = state2.selection;
36431
+ if (!(sel instanceof CellSelection))
36432
+ return false;
36433
+ if (dispatch) {
36434
+ const tr2 = state2.tr;
36435
+ const baseContent = tableNodeTypes(state2.schema).cell.createAndFill().content;
36436
+ sel.forEachCell((cell, pos) => {
36437
+ if (!cell.content.eq(baseContent))
36438
+ tr2.replace(
36439
+ tr2.mapping.map(pos + 1),
36440
+ tr2.mapping.map(pos + cell.nodeSize - 1),
36441
+ new Slice(baseContent, 0, 0)
36442
+ );
36443
+ });
36444
+ if (tr2.docChanged)
36445
+ dispatch(tr2);
36446
+ }
36447
+ return true;
36448
+ }
37165
36449
  function handleTripleClick(view, pos) {
37166
36450
  const doc2 = view.state.doc, $cell = cellAround(doc2.resolve(pos));
37167
36451
  if (!$cell)
@@ -37300,37 +36584,28 @@ function cellUnderMouse(view, event) {
37300
36584
  return mousePos ? cellAround(view.state.doc.resolve(mousePos.pos)) : null;
37301
36585
  }
37302
36586
  var TableView$1 = class TableView2 {
37303
- constructor(node, defaultCellMinWidth) {
36587
+ constructor(node, cellMinWidth) {
37304
36588
  this.node = node;
37305
- this.defaultCellMinWidth = defaultCellMinWidth;
36589
+ this.cellMinWidth = cellMinWidth;
37306
36590
  this.dom = document.createElement("div");
37307
36591
  this.dom.className = "tableWrapper";
37308
36592
  this.table = this.dom.appendChild(document.createElement("table"));
37309
- this.table.style.setProperty(
37310
- "--default-cell-min-width",
37311
- `${defaultCellMinWidth}px`
37312
- );
37313
36593
  this.colgroup = this.table.appendChild(document.createElement("colgroup"));
37314
- updateColumnsOnResize(node, this.colgroup, this.table, defaultCellMinWidth);
36594
+ updateColumnsOnResize(node, this.colgroup, this.table, cellMinWidth);
37315
36595
  this.contentDOM = this.table.appendChild(document.createElement("tbody"));
37316
36596
  }
37317
36597
  update(node) {
37318
36598
  if (node.type != this.node.type)
37319
36599
  return false;
37320
36600
  this.node = node;
37321
- updateColumnsOnResize(
37322
- node,
37323
- this.colgroup,
37324
- this.table,
37325
- this.defaultCellMinWidth
37326
- );
36601
+ updateColumnsOnResize(node, this.colgroup, this.table, this.cellMinWidth);
37327
36602
  return true;
37328
36603
  }
37329
36604
  ignoreMutation(record) {
37330
36605
  return record.type == "attributes" && (record.target == this.table || this.colgroup.contains(record.target));
37331
36606
  }
37332
36607
  };
37333
- function updateColumnsOnResize(node, colgroup, table, defaultCellMinWidth, overrideCol, overrideValue) {
36608
+ function updateColumnsOnResize(node, colgroup, table, cellMinWidth, overrideCol, overrideValue) {
37334
36609
  var _a2;
37335
36610
  let totalWidth = 0;
37336
36611
  let fixedWidth = true;
@@ -37343,17 +36618,14 @@ function updateColumnsOnResize(node, colgroup, table, defaultCellMinWidth, overr
37343
36618
  for (let j2 = 0; j2 < colspan; j2++, col++) {
37344
36619
  const hasWidth = overrideCol == col ? overrideValue : colwidth && colwidth[j2];
37345
36620
  const cssWidth = hasWidth ? hasWidth + "px" : "";
37346
- totalWidth += hasWidth || defaultCellMinWidth;
36621
+ totalWidth += hasWidth || cellMinWidth;
37347
36622
  if (!hasWidth)
37348
36623
  fixedWidth = false;
37349
36624
  if (!nextDOM) {
37350
- const col2 = document.createElement("col");
37351
- col2.style.width = cssWidth;
37352
- colgroup.appendChild(col2);
36625
+ colgroup.appendChild(document.createElement("col")).style.width = cssWidth;
37353
36626
  } else {
37354
- if (nextDOM.style.width != cssWidth) {
36627
+ if (nextDOM.style.width != cssWidth)
37355
36628
  nextDOM.style.width = cssWidth;
37356
- }
37357
36629
  nextDOM = nextDOM.nextSibling;
37358
36630
  }
37359
36631
  }
@@ -37377,7 +36649,6 @@ var columnResizingPluginKey = new PluginKey(
37377
36649
  function columnResizing({
37378
36650
  handleWidth = 5,
37379
36651
  cellMinWidth = 25,
37380
- defaultCellMinWidth = 100,
37381
36652
  View = TableView$1,
37382
36653
  lastColumnResizable = true
37383
36654
  } = {}) {
@@ -37390,7 +36661,7 @@ function columnResizing({
37390
36661
  const tableName = tableNodeTypes(state2.schema).table.name;
37391
36662
  if (View && nodeViews) {
37392
36663
  nodeViews[tableName] = (node, view) => {
37393
- return new View(node, defaultCellMinWidth, view);
36664
+ return new View(node, cellMinWidth, view);
37394
36665
  };
37395
36666
  }
37396
36667
  return new ResizeState(-1, false);
@@ -37406,13 +36677,19 @@ function columnResizing({
37406
36677
  },
37407
36678
  handleDOMEvents: {
37408
36679
  mousemove: (view, event) => {
37409
- handleMouseMove(view, event, handleWidth, lastColumnResizable);
36680
+ handleMouseMove(
36681
+ view,
36682
+ event,
36683
+ handleWidth,
36684
+ cellMinWidth,
36685
+ lastColumnResizable
36686
+ );
37410
36687
  },
37411
36688
  mouseleave: (view) => {
37412
36689
  handleMouseLeave(view);
37413
36690
  },
37414
36691
  mousedown: (view, event) => {
37415
- handleMouseDown2(view, event, cellMinWidth, defaultCellMinWidth);
36692
+ handleMouseDown2(view, event, cellMinWidth);
37416
36693
  }
37417
36694
  },
37418
36695
  decorations: (state2) => {
@@ -37448,7 +36725,7 @@ var ResizeState = class _ResizeState {
37448
36725
  return state2;
37449
36726
  }
37450
36727
  };
37451
- function handleMouseMove(view, event, handleWidth, lastColumnResizable) {
36728
+ function handleMouseMove(view, event, handleWidth, cellMinWidth, lastColumnResizable) {
37452
36729
  const pluginState = columnResizingPluginKey.getState(view.state);
37453
36730
  if (!pluginState)
37454
36731
  return;
@@ -37473,194 +36750,718 @@ function handleMouseMove(view, event, handleWidth, lastColumnResizable) {
37473
36750
  return;
37474
36751
  }
37475
36752
  }
37476
- updateHandle(view, cell);
36753
+ updateHandle(view, cell);
36754
+ }
36755
+ }
36756
+ }
36757
+ function handleMouseLeave(view) {
36758
+ const pluginState = columnResizingPluginKey.getState(view.state);
36759
+ if (pluginState && pluginState.activeHandle > -1 && !pluginState.dragging)
36760
+ updateHandle(view, -1);
36761
+ }
36762
+ function handleMouseDown2(view, event, cellMinWidth) {
36763
+ var _a2;
36764
+ const win = (_a2 = view.dom.ownerDocument.defaultView) != null ? _a2 : window;
36765
+ const pluginState = columnResizingPluginKey.getState(view.state);
36766
+ if (!pluginState || pluginState.activeHandle == -1 || pluginState.dragging)
36767
+ return false;
36768
+ const cell = view.state.doc.nodeAt(pluginState.activeHandle);
36769
+ const width = currentColWidth(view, pluginState.activeHandle, cell.attrs);
36770
+ view.dispatch(
36771
+ view.state.tr.setMeta(columnResizingPluginKey, {
36772
+ setDragging: { startX: event.clientX, startWidth: width }
36773
+ })
36774
+ );
36775
+ function finish(event2) {
36776
+ win.removeEventListener("mouseup", finish);
36777
+ win.removeEventListener("mousemove", move);
36778
+ const pluginState2 = columnResizingPluginKey.getState(view.state);
36779
+ if (pluginState2 == null ? void 0 : pluginState2.dragging) {
36780
+ updateColumnWidth(
36781
+ view,
36782
+ pluginState2.activeHandle,
36783
+ draggedWidth(pluginState2.dragging, event2, cellMinWidth)
36784
+ );
36785
+ view.dispatch(
36786
+ view.state.tr.setMeta(columnResizingPluginKey, { setDragging: null })
36787
+ );
36788
+ }
36789
+ }
36790
+ function move(event2) {
36791
+ if (!event2.which)
36792
+ return finish(event2);
36793
+ const pluginState2 = columnResizingPluginKey.getState(view.state);
36794
+ if (!pluginState2)
36795
+ return;
36796
+ if (pluginState2.dragging) {
36797
+ const dragged = draggedWidth(pluginState2.dragging, event2, cellMinWidth);
36798
+ displayColumnWidth(view, pluginState2.activeHandle, dragged, cellMinWidth);
36799
+ }
36800
+ }
36801
+ win.addEventListener("mouseup", finish);
36802
+ win.addEventListener("mousemove", move);
36803
+ event.preventDefault();
36804
+ return true;
36805
+ }
36806
+ function currentColWidth(view, cellPos, { colspan, colwidth }) {
36807
+ const width = colwidth && colwidth[colwidth.length - 1];
36808
+ if (width)
36809
+ return width;
36810
+ const dom = view.domAtPos(cellPos);
36811
+ const node = dom.node.childNodes[dom.offset];
36812
+ let domWidth = node.offsetWidth, parts = colspan;
36813
+ if (colwidth) {
36814
+ for (let i2 = 0; i2 < colspan; i2++)
36815
+ if (colwidth[i2]) {
36816
+ domWidth -= colwidth[i2];
36817
+ parts--;
36818
+ }
36819
+ }
36820
+ return domWidth / parts;
36821
+ }
36822
+ function domCellAround(target) {
36823
+ while (target && target.nodeName != "TD" && target.nodeName != "TH")
36824
+ target = target.classList && target.classList.contains("ProseMirror") ? null : target.parentNode;
36825
+ return target;
36826
+ }
36827
+ function edgeCell(view, event, side, handleWidth) {
36828
+ const offset2 = side == "right" ? -handleWidth : handleWidth;
36829
+ const found2 = view.posAtCoords({
36830
+ left: event.clientX + offset2,
36831
+ top: event.clientY
36832
+ });
36833
+ if (!found2)
36834
+ return -1;
36835
+ const { pos } = found2;
36836
+ const $cell = cellAround(view.state.doc.resolve(pos));
36837
+ if (!$cell)
36838
+ return -1;
36839
+ if (side == "right")
36840
+ return $cell.pos;
36841
+ const map4 = TableMap.get($cell.node(-1)), start2 = $cell.start(-1);
36842
+ const index2 = map4.map.indexOf($cell.pos - start2);
36843
+ return index2 % map4.width == 0 ? -1 : start2 + map4.map[index2 - 1];
36844
+ }
36845
+ function draggedWidth(dragging, event, cellMinWidth) {
36846
+ const offset2 = event.clientX - dragging.startX;
36847
+ return Math.max(cellMinWidth, dragging.startWidth + offset2);
36848
+ }
36849
+ function updateHandle(view, value) {
36850
+ view.dispatch(
36851
+ view.state.tr.setMeta(columnResizingPluginKey, { setHandle: value })
36852
+ );
36853
+ }
36854
+ function updateColumnWidth(view, cell, width) {
36855
+ const $cell = view.state.doc.resolve(cell);
36856
+ const table = $cell.node(-1), map4 = TableMap.get(table), start2 = $cell.start(-1);
36857
+ const col = map4.colCount($cell.pos - start2) + $cell.nodeAfter.attrs.colspan - 1;
36858
+ const tr2 = view.state.tr;
36859
+ for (let row = 0; row < map4.height; row++) {
36860
+ const mapIndex = row * map4.width + col;
36861
+ if (row && map4.map[mapIndex] == map4.map[mapIndex - map4.width])
36862
+ continue;
36863
+ const pos = map4.map[mapIndex];
36864
+ const attrs = table.nodeAt(pos).attrs;
36865
+ const index2 = attrs.colspan == 1 ? 0 : col - map4.colCount(pos);
36866
+ if (attrs.colwidth && attrs.colwidth[index2] == width)
36867
+ continue;
36868
+ const colwidth = attrs.colwidth ? attrs.colwidth.slice() : zeroes(attrs.colspan);
36869
+ colwidth[index2] = width;
36870
+ tr2.setNodeMarkup(start2 + pos, null, { ...attrs, colwidth });
36871
+ }
36872
+ if (tr2.docChanged)
36873
+ view.dispatch(tr2);
36874
+ }
36875
+ function displayColumnWidth(view, cell, width, cellMinWidth) {
36876
+ const $cell = view.state.doc.resolve(cell);
36877
+ const table = $cell.node(-1), start2 = $cell.start(-1);
36878
+ const col = TableMap.get(table).colCount($cell.pos - start2) + $cell.nodeAfter.attrs.colspan - 1;
36879
+ let dom = view.domAtPos($cell.start(-1)).node;
36880
+ while (dom && dom.nodeName != "TABLE") {
36881
+ dom = dom.parentNode;
36882
+ }
36883
+ if (!dom)
36884
+ return;
36885
+ updateColumnsOnResize(
36886
+ table,
36887
+ dom.firstChild,
36888
+ dom,
36889
+ cellMinWidth,
36890
+ col,
36891
+ width
36892
+ );
36893
+ }
36894
+ function zeroes(n2) {
36895
+ return Array(n2).fill(0);
36896
+ }
36897
+ function handleDecorations(state2, cell) {
36898
+ const decorations = [];
36899
+ const $cell = state2.doc.resolve(cell);
36900
+ const table = $cell.node(-1);
36901
+ if (!table) {
36902
+ return DecorationSet.empty;
36903
+ }
36904
+ const map4 = TableMap.get(table);
36905
+ const start2 = $cell.start(-1);
36906
+ const col = map4.colCount($cell.pos - start2) + $cell.nodeAfter.attrs.colspan - 1;
36907
+ for (let row = 0; row < map4.height; row++) {
36908
+ const index2 = col + row * map4.width;
36909
+ if ((col == map4.width - 1 || map4.map[index2] != map4.map[index2 + 1]) && (row == 0 || map4.map[index2] != map4.map[index2 - map4.width])) {
36910
+ const cellPos = map4.map[index2];
36911
+ const pos = start2 + cellPos + table.nodeAt(cellPos).nodeSize - 1;
36912
+ const dom = document.createElement("div");
36913
+ dom.className = "column-resize-handle";
36914
+ decorations.push(Decoration.widget(pos, dom));
36915
+ }
36916
+ }
36917
+ return DecorationSet.create(state2.doc, decorations);
36918
+ }
36919
+ function selectedRect(state2) {
36920
+ const sel = state2.selection;
36921
+ const $pos = selectionCell(state2);
36922
+ const table = $pos.node(-1);
36923
+ const tableStart = $pos.start(-1);
36924
+ const map4 = TableMap.get(table);
36925
+ const rect = sel instanceof CellSelection ? map4.rectBetween(
36926
+ sel.$anchorCell.pos - tableStart,
36927
+ sel.$headCell.pos - tableStart
36928
+ ) : map4.findCell($pos.pos - tableStart);
36929
+ return { ...rect, tableStart, map: map4, table };
36930
+ }
36931
+ function addColumn(tr2, { map: map4, tableStart, table }, col) {
36932
+ let refColumn = col > 0 ? -1 : 0;
36933
+ if (columnIsHeader(map4, table, col + refColumn)) {
36934
+ refColumn = col == 0 || col == map4.width ? null : 0;
36935
+ }
36936
+ for (let row = 0; row < map4.height; row++) {
36937
+ const index2 = row * map4.width + col;
36938
+ if (col > 0 && col < map4.width && map4.map[index2 - 1] == map4.map[index2]) {
36939
+ const pos = map4.map[index2];
36940
+ const cell = table.nodeAt(pos);
36941
+ tr2.setNodeMarkup(
36942
+ tr2.mapping.map(tableStart + pos),
36943
+ null,
36944
+ addColSpan(cell.attrs, col - map4.colCount(pos))
36945
+ );
36946
+ row += cell.attrs.rowspan - 1;
36947
+ } else {
36948
+ const type3 = refColumn == null ? tableNodeTypes(table.type.schema).cell : table.nodeAt(map4.map[index2 + refColumn]).type;
36949
+ const pos = map4.positionAt(row, col, table);
36950
+ tr2.insert(tr2.mapping.map(tableStart + pos), type3.createAndFill());
36951
+ }
36952
+ }
36953
+ return tr2;
36954
+ }
36955
+ function addColumnBefore(state2, dispatch) {
36956
+ if (!isInTable(state2))
36957
+ return false;
36958
+ if (dispatch) {
36959
+ const rect = selectedRect(state2);
36960
+ dispatch(addColumn(state2.tr, rect, rect.left));
36961
+ }
36962
+ return true;
36963
+ }
36964
+ function addColumnAfter(state2, dispatch) {
36965
+ if (!isInTable(state2))
36966
+ return false;
36967
+ if (dispatch) {
36968
+ const rect = selectedRect(state2);
36969
+ dispatch(addColumn(state2.tr, rect, rect.right));
36970
+ }
36971
+ return true;
36972
+ }
36973
+ function removeColumn(tr2, { map: map4, table, tableStart }, col) {
36974
+ const mapStart = tr2.mapping.maps.length;
36975
+ for (let row = 0; row < map4.height; ) {
36976
+ const index2 = row * map4.width + col;
36977
+ const pos = map4.map[index2];
36978
+ const cell = table.nodeAt(pos);
36979
+ const attrs = cell.attrs;
36980
+ if (col > 0 && map4.map[index2 - 1] == pos || col < map4.width - 1 && map4.map[index2 + 1] == pos) {
36981
+ tr2.setNodeMarkup(
36982
+ tr2.mapping.slice(mapStart).map(tableStart + pos),
36983
+ null,
36984
+ removeColSpan(attrs, col - map4.colCount(pos))
36985
+ );
36986
+ } else {
36987
+ const start2 = tr2.mapping.slice(mapStart).map(tableStart + pos);
36988
+ tr2.delete(start2, start2 + cell.nodeSize);
36989
+ }
36990
+ row += attrs.rowspan;
36991
+ }
36992
+ }
36993
+ function deleteColumn(state2, dispatch) {
36994
+ if (!isInTable(state2))
36995
+ return false;
36996
+ if (dispatch) {
36997
+ const rect = selectedRect(state2);
36998
+ const tr2 = state2.tr;
36999
+ if (rect.left == 0 && rect.right == rect.map.width)
37000
+ return false;
37001
+ for (let i2 = rect.right - 1; ; i2--) {
37002
+ removeColumn(tr2, rect, i2);
37003
+ if (i2 == rect.left)
37004
+ break;
37005
+ const table = rect.tableStart ? tr2.doc.nodeAt(rect.tableStart - 1) : tr2.doc;
37006
+ if (!table) {
37007
+ throw RangeError("No table found");
37008
+ }
37009
+ rect.table = table;
37010
+ rect.map = TableMap.get(table);
37011
+ }
37012
+ dispatch(tr2);
37013
+ }
37014
+ return true;
37015
+ }
37016
+ function rowIsHeader(map4, table, row) {
37017
+ var _a2;
37018
+ const headerCell = tableNodeTypes(table.type.schema).header_cell;
37019
+ for (let col = 0; col < map4.width; col++)
37020
+ if (((_a2 = table.nodeAt(map4.map[col + row * map4.width])) == null ? void 0 : _a2.type) != headerCell)
37021
+ return false;
37022
+ return true;
37023
+ }
37024
+ function addRow(tr2, { map: map4, tableStart, table }, row) {
37025
+ var _a2;
37026
+ let rowPos = tableStart;
37027
+ for (let i2 = 0; i2 < row; i2++)
37028
+ rowPos += table.child(i2).nodeSize;
37029
+ const cells = [];
37030
+ let refRow = row > 0 ? -1 : 0;
37031
+ if (rowIsHeader(map4, table, row + refRow))
37032
+ refRow = row == 0 || row == map4.height ? null : 0;
37033
+ for (let col = 0, index2 = map4.width * row; col < map4.width; col++, index2++) {
37034
+ if (row > 0 && row < map4.height && map4.map[index2] == map4.map[index2 - map4.width]) {
37035
+ const pos = map4.map[index2];
37036
+ const attrs = table.nodeAt(pos).attrs;
37037
+ tr2.setNodeMarkup(tableStart + pos, null, {
37038
+ ...attrs,
37039
+ rowspan: attrs.rowspan + 1
37040
+ });
37041
+ col += attrs.colspan - 1;
37042
+ } else {
37043
+ const type3 = refRow == null ? tableNodeTypes(table.type.schema).cell : (_a2 = table.nodeAt(map4.map[index2 + refRow * map4.width])) == null ? void 0 : _a2.type;
37044
+ const node = type3 == null ? void 0 : type3.createAndFill();
37045
+ if (node)
37046
+ cells.push(node);
37047
+ }
37048
+ }
37049
+ tr2.insert(rowPos, tableNodeTypes(table.type.schema).row.create(null, cells));
37050
+ return tr2;
37051
+ }
37052
+ function addRowBefore(state2, dispatch) {
37053
+ if (!isInTable(state2))
37054
+ return false;
37055
+ if (dispatch) {
37056
+ const rect = selectedRect(state2);
37057
+ dispatch(addRow(state2.tr, rect, rect.top));
37058
+ }
37059
+ return true;
37060
+ }
37061
+ function addRowAfter(state2, dispatch) {
37062
+ if (!isInTable(state2))
37063
+ return false;
37064
+ if (dispatch) {
37065
+ const rect = selectedRect(state2);
37066
+ dispatch(addRow(state2.tr, rect, rect.bottom));
37067
+ }
37068
+ return true;
37069
+ }
37070
+ function removeRow(tr2, { map: map4, table, tableStart }, row) {
37071
+ let rowPos = 0;
37072
+ for (let i2 = 0; i2 < row; i2++)
37073
+ rowPos += table.child(i2).nodeSize;
37074
+ const nextRow = rowPos + table.child(row).nodeSize;
37075
+ const mapFrom = tr2.mapping.maps.length;
37076
+ tr2.delete(rowPos + tableStart, nextRow + tableStart);
37077
+ const seen = /* @__PURE__ */ new Set();
37078
+ for (let col = 0, index2 = row * map4.width; col < map4.width; col++, index2++) {
37079
+ const pos = map4.map[index2];
37080
+ if (seen.has(pos))
37081
+ continue;
37082
+ seen.add(pos);
37083
+ if (row > 0 && pos == map4.map[index2 - map4.width]) {
37084
+ const attrs = table.nodeAt(pos).attrs;
37085
+ tr2.setNodeMarkup(tr2.mapping.slice(mapFrom).map(pos + tableStart), null, {
37086
+ ...attrs,
37087
+ rowspan: attrs.rowspan - 1
37088
+ });
37089
+ col += attrs.colspan - 1;
37090
+ } else if (row < map4.height && pos == map4.map[index2 + map4.width]) {
37091
+ const cell = table.nodeAt(pos);
37092
+ const attrs = cell.attrs;
37093
+ const copy2 = cell.type.create(
37094
+ { ...attrs, rowspan: cell.attrs.rowspan - 1 },
37095
+ cell.content
37096
+ );
37097
+ const newPos = map4.positionAt(row + 1, col, table);
37098
+ tr2.insert(tr2.mapping.slice(mapFrom).map(tableStart + newPos), copy2);
37099
+ col += attrs.colspan - 1;
37100
+ }
37101
+ }
37102
+ }
37103
+ function deleteRow(state2, dispatch) {
37104
+ if (!isInTable(state2))
37105
+ return false;
37106
+ if (dispatch) {
37107
+ const rect = selectedRect(state2), tr2 = state2.tr;
37108
+ if (rect.top == 0 && rect.bottom == rect.map.height)
37109
+ return false;
37110
+ for (let i2 = rect.bottom - 1; ; i2--) {
37111
+ removeRow(tr2, rect, i2);
37112
+ if (i2 == rect.top)
37113
+ break;
37114
+ const table = rect.tableStart ? tr2.doc.nodeAt(rect.tableStart - 1) : tr2.doc;
37115
+ if (!table) {
37116
+ throw RangeError("No table found");
37117
+ }
37118
+ rect.table = table;
37119
+ rect.map = TableMap.get(rect.table);
37120
+ }
37121
+ dispatch(tr2);
37122
+ }
37123
+ return true;
37124
+ }
37125
+ function isEmpty(cell) {
37126
+ const c2 = cell.content;
37127
+ return c2.childCount == 1 && c2.child(0).isTextblock && c2.child(0).childCount == 0;
37128
+ }
37129
+ function cellsOverlapRectangle({ width, height, map: map4 }, rect) {
37130
+ let indexTop = rect.top * width + rect.left, indexLeft = indexTop;
37131
+ let indexBottom = (rect.bottom - 1) * width + rect.left, indexRight = indexTop + (rect.right - rect.left - 1);
37132
+ for (let i2 = rect.top; i2 < rect.bottom; i2++) {
37133
+ if (rect.left > 0 && map4[indexLeft] == map4[indexLeft - 1] || rect.right < width && map4[indexRight] == map4[indexRight + 1])
37134
+ return true;
37135
+ indexLeft += width;
37136
+ indexRight += width;
37137
+ }
37138
+ for (let i2 = rect.left; i2 < rect.right; i2++) {
37139
+ if (rect.top > 0 && map4[indexTop] == map4[indexTop - width] || rect.bottom < height && map4[indexBottom] == map4[indexBottom + width])
37140
+ return true;
37141
+ indexTop++;
37142
+ indexBottom++;
37143
+ }
37144
+ return false;
37145
+ }
37146
+ function mergeCells(state2, dispatch) {
37147
+ const sel = state2.selection;
37148
+ if (!(sel instanceof CellSelection) || sel.$anchorCell.pos == sel.$headCell.pos)
37149
+ return false;
37150
+ const rect = selectedRect(state2), { map: map4 } = rect;
37151
+ if (cellsOverlapRectangle(map4, rect))
37152
+ return false;
37153
+ if (dispatch) {
37154
+ const tr2 = state2.tr;
37155
+ const seen = {};
37156
+ let content = Fragment.empty;
37157
+ let mergedPos;
37158
+ let mergedCell;
37159
+ for (let row = rect.top; row < rect.bottom; row++) {
37160
+ for (let col = rect.left; col < rect.right; col++) {
37161
+ const cellPos = map4.map[row * map4.width + col];
37162
+ const cell = rect.table.nodeAt(cellPos);
37163
+ if (seen[cellPos] || !cell)
37164
+ continue;
37165
+ seen[cellPos] = true;
37166
+ if (mergedPos == null) {
37167
+ mergedPos = cellPos;
37168
+ mergedCell = cell;
37169
+ } else {
37170
+ if (!isEmpty(cell))
37171
+ content = content.append(cell.content);
37172
+ const mapped = tr2.mapping.map(cellPos + rect.tableStart);
37173
+ tr2.delete(mapped, mapped + cell.nodeSize);
37174
+ }
37175
+ }
37176
+ }
37177
+ if (mergedPos == null || mergedCell == null) {
37178
+ return true;
37179
+ }
37180
+ tr2.setNodeMarkup(mergedPos + rect.tableStart, null, {
37181
+ ...addColSpan(
37182
+ mergedCell.attrs,
37183
+ mergedCell.attrs.colspan,
37184
+ rect.right - rect.left - mergedCell.attrs.colspan
37185
+ ),
37186
+ rowspan: rect.bottom - rect.top
37187
+ });
37188
+ if (content.size) {
37189
+ const end2 = mergedPos + 1 + mergedCell.content.size;
37190
+ const start2 = isEmpty(mergedCell) ? mergedPos + 1 : end2;
37191
+ tr2.replaceWith(start2 + rect.tableStart, end2 + rect.tableStart, content);
37192
+ }
37193
+ tr2.setSelection(
37194
+ new CellSelection(tr2.doc.resolve(mergedPos + rect.tableStart))
37195
+ );
37196
+ dispatch(tr2);
37197
+ }
37198
+ return true;
37199
+ }
37200
+ function splitCell(state2, dispatch) {
37201
+ const nodeTypes = tableNodeTypes(state2.schema);
37202
+ return splitCellWithType(({ node }) => {
37203
+ return nodeTypes[node.type.spec.tableRole];
37204
+ })(state2, dispatch);
37205
+ }
37206
+ function splitCellWithType(getCellType) {
37207
+ return (state2, dispatch) => {
37208
+ var _a2;
37209
+ const sel = state2.selection;
37210
+ let cellNode;
37211
+ let cellPos;
37212
+ if (!(sel instanceof CellSelection)) {
37213
+ cellNode = cellWrapping(sel.$from);
37214
+ if (!cellNode)
37215
+ return false;
37216
+ cellPos = (_a2 = cellAround(sel.$from)) == null ? void 0 : _a2.pos;
37217
+ } else {
37218
+ if (sel.$anchorCell.pos != sel.$headCell.pos)
37219
+ return false;
37220
+ cellNode = sel.$anchorCell.nodeAfter;
37221
+ cellPos = sel.$anchorCell.pos;
37222
+ }
37223
+ if (cellNode == null || cellPos == null) {
37224
+ return false;
37225
+ }
37226
+ if (cellNode.attrs.colspan == 1 && cellNode.attrs.rowspan == 1) {
37227
+ return false;
37228
+ }
37229
+ if (dispatch) {
37230
+ let baseAttrs = cellNode.attrs;
37231
+ const attrs = [];
37232
+ const colwidth = baseAttrs.colwidth;
37233
+ if (baseAttrs.rowspan > 1)
37234
+ baseAttrs = { ...baseAttrs, rowspan: 1 };
37235
+ if (baseAttrs.colspan > 1)
37236
+ baseAttrs = { ...baseAttrs, colspan: 1 };
37237
+ const rect = selectedRect(state2), tr2 = state2.tr;
37238
+ for (let i2 = 0; i2 < rect.right - rect.left; i2++)
37239
+ attrs.push(
37240
+ colwidth ? {
37241
+ ...baseAttrs,
37242
+ colwidth: colwidth && colwidth[i2] ? [colwidth[i2]] : null
37243
+ } : baseAttrs
37244
+ );
37245
+ let lastCell;
37246
+ for (let row = rect.top; row < rect.bottom; row++) {
37247
+ let pos = rect.map.positionAt(row, rect.left, rect.table);
37248
+ if (row == rect.top)
37249
+ pos += cellNode.nodeSize;
37250
+ for (let col = rect.left, i2 = 0; col < rect.right; col++, i2++) {
37251
+ if (col == rect.left && row == rect.top)
37252
+ continue;
37253
+ tr2.insert(
37254
+ lastCell = tr2.mapping.map(pos + rect.tableStart, 1),
37255
+ getCellType({ node: cellNode, row, col }).createAndFill(attrs[i2])
37256
+ );
37257
+ }
37258
+ }
37259
+ tr2.setNodeMarkup(
37260
+ cellPos,
37261
+ getCellType({ node: cellNode, row: rect.top, col: rect.left }),
37262
+ attrs[0]
37263
+ );
37264
+ if (sel instanceof CellSelection)
37265
+ tr2.setSelection(
37266
+ new CellSelection(
37267
+ tr2.doc.resolve(sel.$anchorCell.pos),
37268
+ lastCell ? tr2.doc.resolve(lastCell) : void 0
37269
+ )
37270
+ );
37271
+ dispatch(tr2);
37477
37272
  }
37478
- }
37273
+ return true;
37274
+ };
37479
37275
  }
37480
- function handleMouseLeave(view) {
37481
- const pluginState = columnResizingPluginKey.getState(view.state);
37482
- if (pluginState && pluginState.activeHandle > -1 && !pluginState.dragging)
37483
- updateHandle(view, -1);
37276
+ function setCellAttr(name, value) {
37277
+ return function(state2, dispatch) {
37278
+ if (!isInTable(state2))
37279
+ return false;
37280
+ const $cell = selectionCell(state2);
37281
+ if ($cell.nodeAfter.attrs[name] === value)
37282
+ return false;
37283
+ if (dispatch) {
37284
+ const tr2 = state2.tr;
37285
+ if (state2.selection instanceof CellSelection)
37286
+ state2.selection.forEachCell((node, pos) => {
37287
+ if (node.attrs[name] !== value)
37288
+ tr2.setNodeMarkup(pos, null, {
37289
+ ...node.attrs,
37290
+ [name]: value
37291
+ });
37292
+ });
37293
+ else
37294
+ tr2.setNodeMarkup($cell.pos, null, {
37295
+ ...$cell.nodeAfter.attrs,
37296
+ [name]: value
37297
+ });
37298
+ dispatch(tr2);
37299
+ }
37300
+ return true;
37301
+ };
37484
37302
  }
37485
- function handleMouseDown2(view, event, cellMinWidth, defaultCellMinWidth) {
37486
- var _a2;
37487
- const win = (_a2 = view.dom.ownerDocument.defaultView) != null ? _a2 : window;
37488
- const pluginState = columnResizingPluginKey.getState(view.state);
37489
- if (!pluginState || pluginState.activeHandle == -1 || pluginState.dragging)
37490
- return false;
37491
- const cell = view.state.doc.nodeAt(pluginState.activeHandle);
37492
- const width = currentColWidth(view, pluginState.activeHandle, cell.attrs);
37493
- view.dispatch(
37494
- view.state.tr.setMeta(columnResizingPluginKey, {
37495
- setDragging: { startX: event.clientX, startWidth: width }
37496
- })
37497
- );
37498
- function finish(event2) {
37499
- win.removeEventListener("mouseup", finish);
37500
- win.removeEventListener("mousemove", move);
37501
- const pluginState2 = columnResizingPluginKey.getState(view.state);
37502
- if (pluginState2 == null ? void 0 : pluginState2.dragging) {
37503
- updateColumnWidth(
37504
- view,
37505
- pluginState2.activeHandle,
37506
- draggedWidth(pluginState2.dragging, event2, cellMinWidth)
37507
- );
37508
- view.dispatch(
37509
- view.state.tr.setMeta(columnResizingPluginKey, { setDragging: null })
37303
+ function deprecated_toggleHeader(type3) {
37304
+ return function(state2, dispatch) {
37305
+ if (!isInTable(state2))
37306
+ return false;
37307
+ if (dispatch) {
37308
+ const types = tableNodeTypes(state2.schema);
37309
+ const rect = selectedRect(state2), tr2 = state2.tr;
37310
+ const cells = rect.map.cellsInRect(
37311
+ type3 == "column" ? {
37312
+ left: rect.left,
37313
+ top: 0,
37314
+ right: rect.right,
37315
+ bottom: rect.map.height
37316
+ } : type3 == "row" ? {
37317
+ left: 0,
37318
+ top: rect.top,
37319
+ right: rect.map.width,
37320
+ bottom: rect.bottom
37321
+ } : rect
37510
37322
  );
37323
+ const nodes = cells.map((pos) => rect.table.nodeAt(pos));
37324
+ for (let i2 = 0; i2 < cells.length; i2++)
37325
+ if (nodes[i2].type == types.header_cell)
37326
+ tr2.setNodeMarkup(
37327
+ rect.tableStart + cells[i2],
37328
+ types.cell,
37329
+ nodes[i2].attrs
37330
+ );
37331
+ if (tr2.steps.length == 0)
37332
+ for (let i2 = 0; i2 < cells.length; i2++)
37333
+ tr2.setNodeMarkup(
37334
+ rect.tableStart + cells[i2],
37335
+ types.header_cell,
37336
+ nodes[i2].attrs
37337
+ );
37338
+ dispatch(tr2);
37511
37339
  }
37512
- }
37513
- function move(event2) {
37514
- if (!event2.which)
37515
- return finish(event2);
37516
- const pluginState2 = columnResizingPluginKey.getState(view.state);
37517
- if (!pluginState2)
37518
- return;
37519
- if (pluginState2.dragging) {
37520
- const dragged = draggedWidth(pluginState2.dragging, event2, cellMinWidth);
37521
- displayColumnWidth(
37522
- view,
37523
- pluginState2.activeHandle,
37524
- dragged,
37525
- defaultCellMinWidth
37526
- );
37340
+ return true;
37341
+ };
37342
+ }
37343
+ function isHeaderEnabledByType(type3, rect, types) {
37344
+ const cellPositions = rect.map.cellsInRect({
37345
+ left: 0,
37346
+ top: 0,
37347
+ right: type3 == "row" ? rect.map.width : 1,
37348
+ bottom: type3 == "column" ? rect.map.height : 1
37349
+ });
37350
+ for (let i2 = 0; i2 < cellPositions.length; i2++) {
37351
+ const cell = rect.table.nodeAt(cellPositions[i2]);
37352
+ if (cell && cell.type !== types.header_cell) {
37353
+ return false;
37527
37354
  }
37528
37355
  }
37529
- displayColumnWidth(
37530
- view,
37531
- pluginState.activeHandle,
37532
- width,
37533
- defaultCellMinWidth
37534
- );
37535
- win.addEventListener("mouseup", finish);
37536
- win.addEventListener("mousemove", move);
37537
- event.preventDefault();
37538
37356
  return true;
37539
37357
  }
37540
- function currentColWidth(view, cellPos, { colspan, colwidth }) {
37541
- const width = colwidth && colwidth[colwidth.length - 1];
37542
- if (width)
37543
- return width;
37544
- const dom = view.domAtPos(cellPos);
37545
- const node = dom.node.childNodes[dom.offset];
37546
- let domWidth = node.offsetWidth, parts = colspan;
37547
- if (colwidth) {
37548
- for (let i2 = 0; i2 < colspan; i2++)
37549
- if (colwidth[i2]) {
37550
- domWidth -= colwidth[i2];
37551
- parts--;
37552
- }
37553
- }
37554
- return domWidth / parts;
37555
- }
37556
- function domCellAround(target) {
37557
- while (target && target.nodeName != "TD" && target.nodeName != "TH")
37558
- target = target.classList && target.classList.contains("ProseMirror") ? null : target.parentNode;
37559
- return target;
37560
- }
37561
- function edgeCell(view, event, side, handleWidth) {
37562
- const offset2 = side == "right" ? -handleWidth : handleWidth;
37563
- const found2 = view.posAtCoords({
37564
- left: event.clientX + offset2,
37565
- top: event.clientY
37566
- });
37567
- if (!found2)
37568
- return -1;
37569
- const { pos } = found2;
37570
- const $cell = cellAround(view.state.doc.resolve(pos));
37571
- if (!$cell)
37572
- return -1;
37573
- if (side == "right")
37574
- return $cell.pos;
37575
- const map4 = TableMap.get($cell.node(-1)), start2 = $cell.start(-1);
37576
- const index2 = map4.map.indexOf($cell.pos - start2);
37577
- return index2 % map4.width == 0 ? -1 : start2 + map4.map[index2 - 1];
37578
- }
37579
- function draggedWidth(dragging, event, resizeMinWidth) {
37580
- const offset2 = event.clientX - dragging.startX;
37581
- return Math.max(resizeMinWidth, dragging.startWidth + offset2);
37582
- }
37583
- function updateHandle(view, value) {
37584
- view.dispatch(
37585
- view.state.tr.setMeta(columnResizingPluginKey, { setHandle: value })
37586
- );
37587
- }
37588
- function updateColumnWidth(view, cell, width) {
37589
- const $cell = view.state.doc.resolve(cell);
37590
- const table = $cell.node(-1), map4 = TableMap.get(table), start2 = $cell.start(-1);
37591
- const col = map4.colCount($cell.pos - start2) + $cell.nodeAfter.attrs.colspan - 1;
37592
- const tr2 = view.state.tr;
37593
- for (let row = 0; row < map4.height; row++) {
37594
- const mapIndex = row * map4.width + col;
37595
- if (row && map4.map[mapIndex] == map4.map[mapIndex - map4.width])
37596
- continue;
37597
- const pos = map4.map[mapIndex];
37598
- const attrs = table.nodeAt(pos).attrs;
37599
- const index2 = attrs.colspan == 1 ? 0 : col - map4.colCount(pos);
37600
- if (attrs.colwidth && attrs.colwidth[index2] == width)
37601
- continue;
37602
- const colwidth = attrs.colwidth ? attrs.colwidth.slice() : zeroes(attrs.colspan);
37603
- colwidth[index2] = width;
37604
- tr2.setNodeMarkup(start2 + pos, null, { ...attrs, colwidth });
37605
- }
37606
- if (tr2.docChanged)
37607
- view.dispatch(tr2);
37358
+ function toggleHeader(type3, options) {
37359
+ options = options || { useDeprecatedLogic: false };
37360
+ if (options.useDeprecatedLogic)
37361
+ return deprecated_toggleHeader(type3);
37362
+ return function(state2, dispatch) {
37363
+ if (!isInTable(state2))
37364
+ return false;
37365
+ if (dispatch) {
37366
+ const types = tableNodeTypes(state2.schema);
37367
+ const rect = selectedRect(state2), tr2 = state2.tr;
37368
+ const isHeaderRowEnabled = isHeaderEnabledByType("row", rect, types);
37369
+ const isHeaderColumnEnabled = isHeaderEnabledByType(
37370
+ "column",
37371
+ rect,
37372
+ types
37373
+ );
37374
+ const isHeaderEnabled = type3 === "column" ? isHeaderRowEnabled : type3 === "row" ? isHeaderColumnEnabled : false;
37375
+ const selectionStartsAt = isHeaderEnabled ? 1 : 0;
37376
+ const cellsRect = type3 == "column" ? {
37377
+ left: 0,
37378
+ top: selectionStartsAt,
37379
+ right: 1,
37380
+ bottom: rect.map.height
37381
+ } : type3 == "row" ? {
37382
+ left: selectionStartsAt,
37383
+ top: 0,
37384
+ right: rect.map.width,
37385
+ bottom: 1
37386
+ } : rect;
37387
+ const newType = type3 == "column" ? isHeaderColumnEnabled ? types.cell : types.header_cell : type3 == "row" ? isHeaderRowEnabled ? types.cell : types.header_cell : types.cell;
37388
+ rect.map.cellsInRect(cellsRect).forEach((relativeCellPos) => {
37389
+ const cellPos = relativeCellPos + rect.tableStart;
37390
+ const cell = tr2.doc.nodeAt(cellPos);
37391
+ if (cell) {
37392
+ tr2.setNodeMarkup(cellPos, newType, cell.attrs);
37393
+ }
37394
+ });
37395
+ dispatch(tr2);
37396
+ }
37397
+ return true;
37398
+ };
37608
37399
  }
37609
- function displayColumnWidth(view, cell, width, defaultCellMinWidth) {
37610
- const $cell = view.state.doc.resolve(cell);
37611
- const table = $cell.node(-1), start2 = $cell.start(-1);
37612
- const col = TableMap.get(table).colCount($cell.pos - start2) + $cell.nodeAfter.attrs.colspan - 1;
37613
- let dom = view.domAtPos($cell.start(-1)).node;
37614
- while (dom && dom.nodeName != "TABLE") {
37615
- dom = dom.parentNode;
37400
+ toggleHeader("row", {
37401
+ useDeprecatedLogic: true
37402
+ });
37403
+ toggleHeader("column", {
37404
+ useDeprecatedLogic: true
37405
+ });
37406
+ var toggleHeaderCell = toggleHeader("cell", {
37407
+ useDeprecatedLogic: true
37408
+ });
37409
+ function findNextCell($cell, dir) {
37410
+ if (dir < 0) {
37411
+ const before = $cell.nodeBefore;
37412
+ if (before)
37413
+ return $cell.pos - before.nodeSize;
37414
+ for (let row = $cell.index(-1) - 1, rowEnd = $cell.before(); row >= 0; row--) {
37415
+ const rowNode = $cell.node(-1).child(row);
37416
+ const lastChild2 = rowNode.lastChild;
37417
+ if (lastChild2) {
37418
+ return rowEnd - 1 - lastChild2.nodeSize;
37419
+ }
37420
+ rowEnd -= rowNode.nodeSize;
37421
+ }
37422
+ } else {
37423
+ if ($cell.index() < $cell.parent.childCount - 1) {
37424
+ return $cell.pos + $cell.nodeAfter.nodeSize;
37425
+ }
37426
+ const table = $cell.node(-1);
37427
+ for (let row = $cell.indexAfter(-1), rowStart = $cell.after(); row < table.childCount; row++) {
37428
+ const rowNode = table.child(row);
37429
+ if (rowNode.childCount)
37430
+ return rowStart + 1;
37431
+ rowStart += rowNode.nodeSize;
37432
+ }
37616
37433
  }
37617
- if (!dom)
37618
- return;
37619
- updateColumnsOnResize(
37620
- table,
37621
- dom.firstChild,
37622
- dom,
37623
- defaultCellMinWidth,
37624
- col,
37625
- width
37626
- );
37434
+ return null;
37627
37435
  }
37628
- function zeroes(n2) {
37629
- return Array(n2).fill(0);
37436
+ function goToNextCell(direction) {
37437
+ return function(state2, dispatch) {
37438
+ if (!isInTable(state2))
37439
+ return false;
37440
+ const cell = findNextCell(selectionCell(state2), direction);
37441
+ if (cell == null)
37442
+ return false;
37443
+ if (dispatch) {
37444
+ const $cell = state2.doc.resolve(cell);
37445
+ dispatch(
37446
+ state2.tr.setSelection(TextSelection.between($cell, moveCellForward($cell))).scrollIntoView()
37447
+ );
37448
+ }
37449
+ return true;
37450
+ };
37630
37451
  }
37631
- function handleDecorations(state2, cell) {
37632
- var _a2;
37633
- const decorations = [];
37634
- const $cell = state2.doc.resolve(cell);
37635
- const table = $cell.node(-1);
37636
- if (!table) {
37637
- return DecorationSet.empty;
37638
- }
37639
- const map4 = TableMap.get(table);
37640
- const start2 = $cell.start(-1);
37641
- const col = map4.colCount($cell.pos - start2) + $cell.nodeAfter.attrs.colspan - 1;
37642
- for (let row = 0; row < map4.height; row++) {
37643
- const index2 = col + row * map4.width;
37644
- if ((col == map4.width - 1 || map4.map[index2] != map4.map[index2 + 1]) && (row == 0 || map4.map[index2] != map4.map[index2 - map4.width])) {
37645
- const cellPos = map4.map[index2];
37646
- const pos = start2 + cellPos + table.nodeAt(cellPos).nodeSize - 1;
37647
- const dom = document.createElement("div");
37648
- dom.className = "column-resize-handle";
37649
- if ((_a2 = columnResizingPluginKey.getState(state2)) == null ? void 0 : _a2.dragging) {
37650
- decorations.push(
37651
- Decoration.node(
37652
- start2 + cellPos,
37653
- start2 + cellPos + table.nodeAt(cellPos).nodeSize,
37654
- {
37655
- class: "column-resize-dragging"
37656
- }
37657
- )
37452
+ function deleteTable(state2, dispatch) {
37453
+ const $pos = state2.selection.$anchor;
37454
+ for (let d2 = $pos.depth; d2 > 0; d2--) {
37455
+ const node = $pos.node(d2);
37456
+ if (node.type.spec.tableRole == "table") {
37457
+ if (dispatch)
37458
+ dispatch(
37459
+ state2.tr.delete($pos.before(d2), $pos.after(d2)).scrollIntoView()
37658
37460
  );
37659
- }
37660
- decorations.push(Decoration.widget(pos, dom));
37461
+ return true;
37661
37462
  }
37662
37463
  }
37663
- return DecorationSet.create(state2.doc, decorations);
37464
+ return false;
37664
37465
  }
37665
37466
  function tableEditing({
37666
37467
  allowTableNodeSelection = false
@@ -37705,46 +37506,33 @@ function tableEditing({
37705
37506
  }
37706
37507
  });
37707
37508
  }
37708
- function getColStyleDeclaration(minWidth, width) {
37709
- if (width) {
37710
- return ["width", `${Math.max(width, minWidth)}px`];
37711
- }
37712
- return ["min-width", `${minWidth}px`];
37713
- }
37714
37509
  function updateColumns(node, colgroup, table, cellMinWidth, overrideCol, overrideValue) {
37715
- var _a2;
37716
37510
  let totalWidth = 0;
37717
37511
  let fixedWidth = true;
37718
37512
  let nextDOM = colgroup.firstChild;
37719
37513
  const row = node.firstChild;
37720
- if (row !== null) {
37721
- for (let i2 = 0, col = 0; i2 < row.childCount; i2 += 1) {
37722
- const { colspan, colwidth } = row.child(i2).attrs;
37723
- for (let j2 = 0; j2 < colspan; j2 += 1, col += 1) {
37724
- const hasWidth = overrideCol === col ? overrideValue : colwidth && colwidth[j2];
37725
- const cssWidth = hasWidth ? `${hasWidth}px` : "";
37726
- totalWidth += hasWidth || cellMinWidth;
37727
- if (!hasWidth) {
37728
- fixedWidth = false;
37729
- }
37730
- if (!nextDOM) {
37731
- const colElement = document.createElement("col");
37732
- const [propertyKey, propertyValue] = getColStyleDeclaration(cellMinWidth, hasWidth);
37733
- colElement.style.setProperty(propertyKey, propertyValue);
37734
- colgroup.appendChild(colElement);
37735
- } else {
37736
- if (nextDOM.style.width !== cssWidth) {
37737
- const [propertyKey, propertyValue] = getColStyleDeclaration(cellMinWidth, hasWidth);
37738
- nextDOM.style.setProperty(propertyKey, propertyValue);
37739
- }
37740
- nextDOM = nextDOM.nextSibling;
37514
+ for (let i2 = 0, col = 0; i2 < row.childCount; i2 += 1) {
37515
+ const { colspan, colwidth } = row.child(i2).attrs;
37516
+ for (let j2 = 0; j2 < colspan; j2 += 1, col += 1) {
37517
+ const hasWidth = overrideCol === col ? overrideValue : colwidth && colwidth[j2];
37518
+ const cssWidth = hasWidth ? `${hasWidth}px` : "";
37519
+ totalWidth += hasWidth || cellMinWidth;
37520
+ if (!hasWidth) {
37521
+ fixedWidth = false;
37522
+ }
37523
+ if (!nextDOM) {
37524
+ colgroup.appendChild(document.createElement("col")).style.width = cssWidth;
37525
+ } else {
37526
+ if (nextDOM.style.width !== cssWidth) {
37527
+ nextDOM.style.width = cssWidth;
37741
37528
  }
37529
+ nextDOM = nextDOM.nextSibling;
37742
37530
  }
37743
37531
  }
37744
37532
  }
37745
37533
  while (nextDOM) {
37746
37534
  const after = nextDOM.nextSibling;
37747
- (_a2 = nextDOM.parentNode) === null || _a2 === void 0 ? void 0 : _a2.removeChild(nextDOM);
37535
+ nextDOM.parentNode.removeChild(nextDOM);
37748
37536
  nextDOM = after;
37749
37537
  }
37750
37538
  if (fixedWidth) {
@@ -37790,15 +37578,12 @@ function createColGroup(node, cellMinWidth, overrideCol, overrideValue) {
37790
37578
  const { colspan, colwidth } = row.child(i2).attrs;
37791
37579
  for (let j2 = 0; j2 < colspan; j2 += 1, col += 1) {
37792
37580
  const hasWidth = overrideCol === col ? overrideValue : colwidth && colwidth[j2];
37581
+ const cssWidth = hasWidth ? `${hasWidth}px` : "";
37793
37582
  totalWidth += hasWidth || cellMinWidth;
37794
37583
  if (!hasWidth) {
37795
37584
  fixedWidth = false;
37796
37585
  }
37797
- const [property, value] = getColStyleDeclaration(cellMinWidth, hasWidth);
37798
- cols.push([
37799
- "col",
37800
- { style: `${property}: ${value}` }
37801
- ]);
37586
+ cols.push(["col", cssWidth ? { style: `width: ${cssWidth}` } : {}]);
37802
37587
  }
37803
37588
  }
37804
37589
  const tableWidth = fixedWidth ? `${totalWidth}px` : "";
@@ -38007,7 +37792,6 @@ const Table = Node$1.create({
38007
37792
  columnResizing({
38008
37793
  handleWidth: this.options.handleWidth,
38009
37794
  cellMinWidth: this.options.cellMinWidth,
38010
- defaultCellMinWidth: this.options.cellMinWidth,
38011
37795
  View: this.options.View,
38012
37796
  lastColumnResizable: this.options.lastColumnResizable
38013
37797
  })
@@ -38048,7 +37832,7 @@ const TableCell = Node$1.create({
38048
37832
  default: null,
38049
37833
  parseHTML: (element) => {
38050
37834
  const colwidth = element.getAttribute("colwidth");
38051
- const value = colwidth ? colwidth.split(",").map((width) => parseInt(width, 10)) : null;
37835
+ const value = colwidth ? [parseInt(colwidth, 10)] : null;
38052
37836
  return value;
38053
37837
  }
38054
37838
  }
@@ -38085,7 +37869,7 @@ const TableHeader = Node$1.create({
38085
37869
  default: null,
38086
37870
  parseHTML: (element) => {
38087
37871
  const colwidth = element.getAttribute("colwidth");
38088
- const value = colwidth ? colwidth.split(",").map((width) => parseInt(width, 10)) : null;
37872
+ const value = colwidth ? [parseInt(colwidth, 10)] : null;
38089
37873
  return value;
38090
37874
  }
38091
37875
  }
@@ -38402,10 +38186,6 @@ const Bold = Mark.create({
38402
38186
  tag: "b",
38403
38187
  getAttrs: (node) => node.style.fontWeight !== "normal" && null
38404
38188
  },
38405
- {
38406
- style: "font-weight=400",
38407
- clearMark: (mark) => mark.type.name === this.name
38408
- },
38409
38189
  {
38410
38190
  style: "font-weight",
38411
38191
  getAttrs: (value) => /^(bold(er)?|[5-9]\d{2,})$/.test(value) && null
@@ -38459,8 +38239,73 @@ const Bold = Mark.create({
38459
38239
  ];
38460
38240
  }
38461
38241
  });
38462
- const ListItemName$1 = "listItem";
38463
- const TextStyleName$1 = "textStyle";
38242
+ const ListItem$2 = Node$1.create({
38243
+ name: "listItem",
38244
+ addOptions() {
38245
+ return {
38246
+ HTMLAttributes: {},
38247
+ bulletListTypeName: "bulletList",
38248
+ orderedListTypeName: "orderedList"
38249
+ };
38250
+ },
38251
+ content: "paragraph block*",
38252
+ defining: true,
38253
+ parseHTML() {
38254
+ return [
38255
+ {
38256
+ tag: "li"
38257
+ }
38258
+ ];
38259
+ },
38260
+ renderHTML({ HTMLAttributes }) {
38261
+ return ["li", mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
38262
+ },
38263
+ addKeyboardShortcuts() {
38264
+ return {
38265
+ Enter: () => this.editor.commands.splitListItem(this.name),
38266
+ Tab: () => this.editor.commands.sinkListItem(this.name),
38267
+ "Shift-Tab": () => this.editor.commands.liftListItem(this.name)
38268
+ };
38269
+ }
38270
+ });
38271
+ const TextStyle$1 = Mark.create({
38272
+ name: "textStyle",
38273
+ priority: 101,
38274
+ addOptions() {
38275
+ return {
38276
+ HTMLAttributes: {}
38277
+ };
38278
+ },
38279
+ parseHTML() {
38280
+ return [
38281
+ {
38282
+ tag: "span",
38283
+ getAttrs: (element) => {
38284
+ const hasStyles = element.hasAttribute("style");
38285
+ if (!hasStyles) {
38286
+ return false;
38287
+ }
38288
+ return {};
38289
+ }
38290
+ }
38291
+ ];
38292
+ },
38293
+ renderHTML({ HTMLAttributes }) {
38294
+ return ["span", mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
38295
+ },
38296
+ addCommands() {
38297
+ return {
38298
+ removeEmptyTextStyle: () => ({ state: state2, commands: commands2 }) => {
38299
+ const attributes = getMarkAttributes(state2, this.type);
38300
+ const hasStyles = Object.entries(attributes).some(([, value]) => !!value);
38301
+ if (hasStyles) {
38302
+ return true;
38303
+ }
38304
+ return commands2.unsetMark(this.name);
38305
+ }
38306
+ };
38307
+ }
38308
+ });
38464
38309
  const inputRegex$3 = /^\s*([-+*])\s$/;
38465
38310
  const BulletList = Node$1.create({
38466
38311
  name: "bulletList",
@@ -38488,7 +38333,7 @@ const BulletList = Node$1.create({
38488
38333
  return {
38489
38334
  toggleBulletList: () => ({ commands: commands2, chain }) => {
38490
38335
  if (this.options.keepAttributes) {
38491
- return chain().toggleList(this.name, this.options.itemTypeName, this.options.keepMarks).updateAttributes(ListItemName$1, this.editor.getAttributes(TextStyleName$1)).run();
38336
+ return chain().toggleList(this.name, this.options.itemTypeName, this.options.keepMarks).updateAttributes(ListItem$2.name, this.editor.getAttributes(TextStyle$1.name)).run();
38492
38337
  }
38493
38338
  return commands2.toggleList(this.name, this.options.itemTypeName, this.options.keepMarks);
38494
38339
  }
@@ -38511,7 +38356,7 @@ const BulletList = Node$1.create({
38511
38356
  keepMarks: this.options.keepMarks,
38512
38357
  keepAttributes: this.options.keepAttributes,
38513
38358
  getAttributes: () => {
38514
- return this.editor.getAttributes(TextStyleName$1);
38359
+ return this.editor.getAttributes(TextStyle$1.name);
38515
38360
  },
38516
38361
  editor: this.editor
38517
38362
  });
@@ -38521,8 +38366,8 @@ const BulletList = Node$1.create({
38521
38366
  ];
38522
38367
  }
38523
38368
  });
38524
- const inputRegex$2 = new RegExp("(?<!`)`([^`]+)`(?!`)");
38525
- const pasteRegex$1 = new RegExp("(?<!`)`([^`]+)`(?!`)", "g");
38369
+ const inputRegex$2 = /(?:^|\s)(`(?!\s+`)((?:[^`]+))`(?!\s+`))$/;
38370
+ const pasteRegex$1 = /(?:^|\s)(`(?!\s+`)((?:[^`]+))`(?!\s+`))/g;
38526
38371
  const Code = Mark.create({
38527
38372
  name: "code",
38528
38373
  addOptions() {
@@ -39149,7 +38994,6 @@ const HardBreak = Node$1.create({
39149
38994
  inline: true,
39150
38995
  group: "inline",
39151
38996
  selectable: false,
39152
- linebreakReplacement: true,
39153
38997
  parseHTML() {
39154
38998
  return [
39155
38999
  { tag: "br" }
@@ -39911,10 +39755,6 @@ const Italic = Mark.create({
39911
39755
  tag: "i",
39912
39756
  getAttrs: (node) => node.style.fontStyle !== "normal" && null
39913
39757
  },
39914
- {
39915
- style: "font-style=normal",
39916
- clearMark: (mark) => mark.type.name === this.name
39917
- },
39918
39758
  {
39919
39759
  style: "font-style=italic"
39920
39760
  }
@@ -39967,6 +39807,35 @@ const Italic = Mark.create({
39967
39807
  ];
39968
39808
  }
39969
39809
  });
39810
+ const ListItem$1 = Node$1.create({
39811
+ name: "listItem",
39812
+ addOptions() {
39813
+ return {
39814
+ HTMLAttributes: {},
39815
+ bulletListTypeName: "bulletList",
39816
+ orderedListTypeName: "orderedList"
39817
+ };
39818
+ },
39819
+ content: "paragraph block*",
39820
+ defining: true,
39821
+ parseHTML() {
39822
+ return [
39823
+ {
39824
+ tag: "li"
39825
+ }
39826
+ ];
39827
+ },
39828
+ renderHTML({ HTMLAttributes }) {
39829
+ return ["li", mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
39830
+ },
39831
+ addKeyboardShortcuts() {
39832
+ return {
39833
+ Enter: () => this.editor.commands.splitListItem(this.name),
39834
+ Tab: () => this.editor.commands.sinkListItem(this.name),
39835
+ "Shift-Tab": () => this.editor.commands.liftListItem(this.name)
39836
+ };
39837
+ }
39838
+ });
39970
39839
  const ListItem = Node$1.create({
39971
39840
  name: "listItem",
39972
39841
  addOptions() {
@@ -39996,8 +39865,44 @@ const ListItem = Node$1.create({
39996
39865
  };
39997
39866
  }
39998
39867
  });
39999
- const ListItemName = "listItem";
40000
- const TextStyleName = "textStyle";
39868
+ const TextStyle = Mark.create({
39869
+ name: "textStyle",
39870
+ priority: 101,
39871
+ addOptions() {
39872
+ return {
39873
+ HTMLAttributes: {}
39874
+ };
39875
+ },
39876
+ parseHTML() {
39877
+ return [
39878
+ {
39879
+ tag: "span",
39880
+ getAttrs: (element) => {
39881
+ const hasStyles = element.hasAttribute("style");
39882
+ if (!hasStyles) {
39883
+ return false;
39884
+ }
39885
+ return {};
39886
+ }
39887
+ }
39888
+ ];
39889
+ },
39890
+ renderHTML({ HTMLAttributes }) {
39891
+ return ["span", mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
39892
+ },
39893
+ addCommands() {
39894
+ return {
39895
+ removeEmptyTextStyle: () => ({ state: state2, commands: commands2 }) => {
39896
+ const attributes = getMarkAttributes(state2, this.type);
39897
+ const hasStyles = Object.entries(attributes).some(([, value]) => !!value);
39898
+ if (hasStyles) {
39899
+ return true;
39900
+ }
39901
+ return commands2.unsetMark(this.name);
39902
+ }
39903
+ };
39904
+ }
39905
+ });
40001
39906
  const inputRegex$1 = /^(\d+)\.\s$/;
40002
39907
  const OrderedList = Node$1.create({
40003
39908
  name: "orderedList",
@@ -40042,7 +39947,7 @@ const OrderedList = Node$1.create({
40042
39947
  return {
40043
39948
  toggleOrderedList: () => ({ commands: commands2, chain }) => {
40044
39949
  if (this.options.keepAttributes) {
40045
- return chain().toggleList(this.name, this.options.itemTypeName, this.options.keepMarks).updateAttributes(ListItemName, this.editor.getAttributes(TextStyleName)).run();
39950
+ return chain().toggleList(this.name, this.options.itemTypeName, this.options.keepMarks).updateAttributes(ListItem.name, this.editor.getAttributes(TextStyle.name)).run();
40046
39951
  }
40047
39952
  return commands2.toggleList(this.name, this.options.itemTypeName, this.options.keepMarks);
40048
39953
  }
@@ -40066,7 +39971,7 @@ const OrderedList = Node$1.create({
40066
39971
  type: this.type,
40067
39972
  keepMarks: this.options.keepMarks,
40068
39973
  keepAttributes: this.options.keepAttributes,
40069
- getAttributes: (match2) => ({ start: +match2[1], ...this.editor.getAttributes(TextStyleName) }),
39974
+ getAttributes: (match2) => ({ start: +match2[1], ...this.editor.getAttributes(TextStyle.name) }),
40070
39975
  joinPredicate: (match2, node) => node.childCount + node.attrs.start === +match2[1],
40071
39976
  editor: this.editor
40072
39977
  });
@@ -40221,7 +40126,7 @@ const StarterKit = Extension.create({
40221
40126
  extensions.push(Italic.configure((_o = this.options) === null || _o === void 0 ? void 0 : _o.italic));
40222
40127
  }
40223
40128
  if (this.options.listItem !== false) {
40224
- extensions.push(ListItem.configure((_p = this.options) === null || _p === void 0 ? void 0 : _p.listItem));
40129
+ extensions.push(ListItem$1.configure((_p = this.options) === null || _p === void 0 ? void 0 : _p.listItem));
40225
40130
  }
40226
40131
  if (this.options.orderedList !== false) {
40227
40132
  extensions.push(OrderedList.configure((_q = this.options) === null || _q === void 0 ? void 0 : _q.orderedList));
@@ -42896,9 +42801,6 @@ class BubbleMenuView {
42896
42801
  if ((event === null || event === void 0 ? void 0 : event.relatedTarget) && ((_a2 = this.element.parentNode) === null || _a2 === void 0 ? void 0 : _a2.contains(event.relatedTarget))) {
42897
42802
  return;
42898
42803
  }
42899
- if ((event === null || event === void 0 ? void 0 : event.relatedTarget) === this.editor.view.dom) {
42900
- return;
42901
- }
42902
42804
  this.hide();
42903
42805
  };
42904
42806
  this.tippyBlurHandler = (event) => {
@@ -42931,7 +42833,6 @@ class BubbleMenuView {
42931
42833
  const to2 = Math.max(...ranges.map((range2) => range2.$to.pos));
42932
42834
  const shouldShow2 = (_a2 = this.shouldShow) === null || _a2 === void 0 ? void 0 : _a2.call(this, {
42933
42835
  editor: this.editor,
42934
- element: this.element,
42935
42836
  view: view2,
42936
42837
  state: state2,
42937
42838
  oldState,
@@ -42946,14 +42847,12 @@ class BubbleMenuView {
42946
42847
  getReferenceClientRect: ((_c = this.tippyOptions) === null || _c === void 0 ? void 0 : _c.getReferenceClientRect) || (() => {
42947
42848
  if (isNodeSelection(state2.selection)) {
42948
42849
  let node = view2.nodeDOM(from2);
42850
+ const nodeViewWrapper = node.dataset.nodeViewWrapper ? node : node.querySelector("[data-node-view-wrapper]");
42851
+ if (nodeViewWrapper) {
42852
+ node = nodeViewWrapper.firstChild;
42853
+ }
42949
42854
  if (node) {
42950
- const nodeViewWrapper = node.dataset.nodeViewWrapper ? node : node.querySelector("[data-node-view-wrapper]");
42951
- if (nodeViewWrapper) {
42952
- node = nodeViewWrapper.firstChild;
42953
- }
42954
- if (node) {
42955
- return node.getBoundingClientRect();
42956
- }
42855
+ return node.getBoundingClientRect();
42957
42856
  }
42958
42857
  }
42959
42858
  return posToDOMRect(view2, from2, to2);
@@ -43088,9 +42987,6 @@ class FloatingMenuView {
43088
42987
  if ((event === null || event === void 0 ? void 0 : event.relatedTarget) && ((_a2 = this.element.parentNode) === null || _a2 === void 0 ? void 0 : _a2.contains(event.relatedTarget))) {
43089
42988
  return;
43090
42989
  }
43091
- if ((event === null || event === void 0 ? void 0 : event.relatedTarget) === this.editor.view.dom) {
43092
- return;
43093
- }
43094
42990
  this.hide();
43095
42991
  };
43096
42992
  this.tippyBlurHandler = (event) => {
@@ -43351,8 +43247,21 @@ const EditorContent = defineComponent({
43351
43247
  if (!editor) {
43352
43248
  return;
43353
43249
  }
43250
+ if (!editor.isDestroyed) {
43251
+ editor.view.setProps({
43252
+ nodeViews: {}
43253
+ });
43254
+ }
43354
43255
  editor.contentComponent = null;
43355
43256
  editor.appContext = null;
43257
+ if (!editor.options.element.firstChild) {
43258
+ return;
43259
+ }
43260
+ const newElement = document.createElement("div");
43261
+ newElement.append(...editor.options.element.childNodes);
43262
+ editor.setOptions({
43263
+ element: newElement
43264
+ });
43356
43265
  });
43357
43266
  return { rootEl: rootEl2 };
43358
43267
  },
@@ -44480,7 +44389,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
44480
44389
  });
44481
44390
  const SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-982f5078"]]);
44482
44391
  /*!
44483
- * Signature Pad v5.0.4 | https://github.com/szimek/signature_pad
44392
+ * Signature Pad v5.0.3 | https://github.com/szimek/signature_pad
44484
44393
  * (c) 2024 Szymon Nowak | Released under the MIT license
44485
44394
  */
44486
44395
  class Point {
@@ -44564,7 +44473,7 @@ class SignatureEventTarget {
44564
44473
  constructor() {
44565
44474
  try {
44566
44475
  this._et = new EventTarget();
44567
- } catch (_a2) {
44476
+ } catch (error) {
44568
44477
  this._et = document;
44569
44478
  }
44570
44479
  }
@@ -44678,16 +44587,13 @@ class SignaturePad extends SignatureEventTarget {
44678
44587
  this._strokeEnd(this._touchEventToSignatureEvent(event));
44679
44588
  };
44680
44589
  this._handlePointerDown = (event) => {
44681
- if (!event.isPrimary || !this._isLeftButtonPressed(event) || this._drawingStroke) {
44590
+ if (!this._isLeftButtonPressed(event) || this._drawingStroke) {
44682
44591
  return;
44683
44592
  }
44684
44593
  event.preventDefault();
44685
44594
  this._strokeBegin(this._pointerEventToSignatureEvent(event));
44686
44595
  };
44687
44596
  this._handlePointerMove = (event) => {
44688
- if (!event.isPrimary) {
44689
- return;
44690
- }
44691
44597
  if (!this._isLeftButtonPressed(event, true) || !this._drawingStroke) {
44692
44598
  this._strokeEnd(this._pointerEventToSignatureEvent(event), false);
44693
44599
  return;
@@ -44696,7 +44602,7 @@ class SignaturePad extends SignatureEventTarget {
44696
44602
  this._strokeMoveUpdate(this._pointerEventToSignatureEvent(event));
44697
44603
  };
44698
44604
  this._handlePointerUp = (event) => {
44699
- if (!event.isPrimary || this._isLeftButtonPressed(event)) {
44605
+ if (this._isLeftButtonPressed(event)) {
44700
44606
  return;
44701
44607
  }
44702
44608
  event.preventDefault();
@@ -48474,11 +48380,6 @@ function buildURL(url, params, options) {
48474
48380
  return url;
48475
48381
  }
48476
48382
  const _encode = options && options.encode || encode;
48477
- if (utils$1.isFunction(options)) {
48478
- options = {
48479
- serialize: options
48480
- };
48481
- }
48482
48383
  const serializeFn = options && options.serialize;
48483
48384
  let serializedParams;
48484
48385
  if (serializeFn) {
@@ -48665,7 +48566,7 @@ function stringifySafely(rawValue, parser, encoder) {
48665
48566
  }
48666
48567
  }
48667
48568
  }
48668
- return (0, JSON.stringify)(rawValue);
48569
+ return (encoder || JSON.stringify)(rawValue);
48669
48570
  }
48670
48571
  const defaults = {
48671
48572
  transitional: transitionalDefaults,
@@ -49158,13 +49059,45 @@ const progressEventDecorator = (total, throttled) => {
49158
49059
  }), throttled[1]];
49159
49060
  };
49160
49061
  const asyncDecorator = (fn3) => (...args) => utils$1.asap(() => fn3(...args));
49161
- const isURLSameOrigin = platform.hasStandardBrowserEnv ? /* @__PURE__ */ ((origin2, isMSIE) => (url) => {
49162
- url = new URL(url, platform.origin);
49163
- return origin2.protocol === url.protocol && origin2.host === url.host && (isMSIE || origin2.port === url.port);
49164
- })(
49165
- new URL(platform.origin),
49166
- platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)
49167
- ) : () => true;
49062
+ const isURLSameOrigin = platform.hasStandardBrowserEnv ? (
49063
+ // Standard browser envs have full support of the APIs needed to test
49064
+ // whether the request URL is of the same origin as current location.
49065
+ function standardBrowserEnv() {
49066
+ const msie = platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent);
49067
+ const urlParsingNode = document.createElement("a");
49068
+ let originURL;
49069
+ function resolveURL(url) {
49070
+ let href = url;
49071
+ if (msie) {
49072
+ urlParsingNode.setAttribute("href", href);
49073
+ href = urlParsingNode.href;
49074
+ }
49075
+ urlParsingNode.setAttribute("href", href);
49076
+ return {
49077
+ href: urlParsingNode.href,
49078
+ protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, "") : "",
49079
+ host: urlParsingNode.host,
49080
+ search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, "") : "",
49081
+ hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, "") : "",
49082
+ hostname: urlParsingNode.hostname,
49083
+ port: urlParsingNode.port,
49084
+ pathname: urlParsingNode.pathname.charAt(0) === "/" ? urlParsingNode.pathname : "/" + urlParsingNode.pathname
49085
+ };
49086
+ }
49087
+ originURL = resolveURL(window.location.href);
49088
+ return function isURLSameOrigin2(requestURL) {
49089
+ const parsed = utils$1.isString(requestURL) ? resolveURL(requestURL) : requestURL;
49090
+ return parsed.protocol === originURL.protocol && parsed.host === originURL.host;
49091
+ };
49092
+ }()
49093
+ ) : (
49094
+ // Non standard browser envs (web workers, react-native) lack needed support.
49095
+ /* @__PURE__ */ function nonStandardBrowserEnv() {
49096
+ return function isURLSameOrigin2() {
49097
+ return true;
49098
+ };
49099
+ }()
49100
+ );
49168
49101
  const cookies = platform.hasStandardBrowserEnv ? (
49169
49102
  // Standard browser envs support document.cookie
49170
49103
  {
@@ -49212,7 +49145,7 @@ const headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing }
49212
49145
  function mergeConfig(config1, config2) {
49213
49146
  config2 = config2 || {};
49214
49147
  const config = {};
49215
- function getMergedValue(target, source, prop3, caseless) {
49148
+ function getMergedValue(target, source, caseless) {
49216
49149
  if (utils$1.isPlainObject(target) && utils$1.isPlainObject(source)) {
49217
49150
  return utils$1.merge.call({ caseless }, target, source);
49218
49151
  } else if (utils$1.isPlainObject(source)) {
@@ -49222,11 +49155,11 @@ function mergeConfig(config1, config2) {
49222
49155
  }
49223
49156
  return source;
49224
49157
  }
49225
- function mergeDeepProperties(a2, b2, prop3, caseless) {
49158
+ function mergeDeepProperties(a2, b2, caseless) {
49226
49159
  if (!utils$1.isUndefined(b2)) {
49227
- return getMergedValue(a2, b2, prop3, caseless);
49160
+ return getMergedValue(a2, b2, caseless);
49228
49161
  } else if (!utils$1.isUndefined(a2)) {
49229
- return getMergedValue(void 0, a2, prop3, caseless);
49162
+ return getMergedValue(void 0, a2, caseless);
49230
49163
  }
49231
49164
  }
49232
49165
  function valueFromConfig2(a2, b2) {
@@ -49277,7 +49210,7 @@ function mergeConfig(config1, config2) {
49277
49210
  socketPath: defaultToConfig2,
49278
49211
  responseEncoding: defaultToConfig2,
49279
49212
  validateStatus: mergeDirectKeys,
49280
- headers: (a2, b2, prop3) => mergeDeepProperties(headersToObject(a2), headersToObject(b2), prop3, true)
49213
+ headers: (a2, b2) => mergeDeepProperties(headersToObject(a2), headersToObject(b2), true)
49281
49214
  };
49282
49215
  utils$1.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop3) {
49283
49216
  const merge2 = mergeMap[prop3] || mergeDeepProperties;
@@ -49477,7 +49410,7 @@ const composeSignals = (signals, timeout) => {
49477
49410
  };
49478
49411
  const streamChunk = function* (chunk, chunkSize) {
49479
49412
  let len = chunk.byteLength;
49480
- if (len < chunkSize) {
49413
+ if (!chunkSize || len < chunkSize) {
49481
49414
  yield chunk;
49482
49415
  return;
49483
49416
  }
@@ -49807,7 +49740,7 @@ function dispatchRequest(config) {
49807
49740
  return Promise.reject(reason);
49808
49741
  });
49809
49742
  }
49810
- const VERSION = "1.7.9";
49743
+ const VERSION = "1.7.7";
49811
49744
  const validators$1 = {};
49812
49745
  ["object", "boolean", "number", "function", "string", "symbol"].forEach((type3, i2) => {
49813
49746
  validators$1[type3] = function validator2(thing) {
@@ -49838,12 +49771,6 @@ validators$1.transitional = function transitional(validator2, version2, message2
49838
49771
  return validator2 ? validator2(value, opt, opts) : true;
49839
49772
  };
49840
49773
  };
49841
- validators$1.spelling = function spelling(correctSpelling) {
49842
- return (value, opt) => {
49843
- console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);
49844
- return true;
49845
- };
49846
- };
49847
49774
  function assertOptions(options, schema, allowUnknown) {
49848
49775
  if (typeof options !== "object") {
49849
49776
  throw new AxiosError("options must be an object", AxiosError.ERR_BAD_OPTION_VALUE);
@@ -49892,8 +49819,8 @@ class Axios {
49892
49819
  return await this._request(configOrUrl, config);
49893
49820
  } catch (err) {
49894
49821
  if (err instanceof Error) {
49895
- let dummy = {};
49896
- Error.captureStackTrace ? Error.captureStackTrace(dummy) : dummy = new Error();
49822
+ let dummy;
49823
+ Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : dummy = new Error();
49897
49824
  const stack2 = dummy.stack ? dummy.stack.replace(/^.+\n/, "") : "";
49898
49825
  try {
49899
49826
  if (!err.stack) {
@@ -49935,10 +49862,6 @@ class Axios {
49935
49862
  }, true);
49936
49863
  }
49937
49864
  }
49938
- validator.assertOptions(config, {
49939
- baseUrl: validators.spelling("baseURL"),
49940
- withXsrfToken: validators.spelling("withXSRFToken")
49941
- }, true);
49942
49865
  config.method = (config.method || this.defaults.method || "get").toLowerCase();
49943
49866
  let contextHeaders = headers && utils$1.merge(
49944
49867
  headers.common,
@@ -50235,7 +50158,7 @@ axios$1.formToJSON = (thing) => formDataToJSON(utils$1.isHTMLForm(thing) ? new F
50235
50158
  axios$1.getAdapter = adapters.getAdapter;
50236
50159
  axios$1.HttpStatusCode = HttpStatusCode;
50237
50160
  axios$1.default = axios$1;
50238
- const metadata = { "version": 4, "country_calling_codes": { "1": ["US", "AG", "AI", "AS", "BB", "BM", "BS", "CA", "DM", "DO", "GD", "GU", "JM", "KN", "KY", "LC", "MP", "MS", "PR", "SX", "TC", "TT", "VC", "VG", "VI"], "7": ["RU", "KZ"], "20": ["EG"], "27": ["ZA"], "30": ["GR"], "31": ["NL"], "32": ["BE"], "33": ["FR"], "34": ["ES"], "36": ["HU"], "39": ["IT", "VA"], "40": ["RO"], "41": ["CH"], "43": ["AT"], "44": ["GB", "GG", "IM", "JE"], "45": ["DK"], "46": ["SE"], "47": ["NO", "SJ"], "48": ["PL"], "49": ["DE"], "51": ["PE"], "52": ["MX"], "53": ["CU"], "54": ["AR"], "55": ["BR"], "56": ["CL"], "57": ["CO"], "58": ["VE"], "60": ["MY"], "61": ["AU", "CC", "CX"], "62": ["ID"], "63": ["PH"], "64": ["NZ"], "65": ["SG"], "66": ["TH"], "81": ["JP"], "82": ["KR"], "84": ["VN"], "86": ["CN"], "90": ["TR"], "91": ["IN"], "92": ["PK"], "93": ["AF"], "94": ["LK"], "95": ["MM"], "98": ["IR"], "211": ["SS"], "212": ["MA", "EH"], "213": ["DZ"], "216": ["TN"], "218": ["LY"], "220": ["GM"], "221": ["SN"], "222": ["MR"], "223": ["ML"], "224": ["GN"], "225": ["CI"], "226": ["BF"], "227": ["NE"], "228": ["TG"], "229": ["BJ"], "230": ["MU"], "231": ["LR"], "232": ["SL"], "233": ["GH"], "234": ["NG"], "235": ["TD"], "236": ["CF"], "237": ["CM"], "238": ["CV"], "239": ["ST"], "240": ["GQ"], "241": ["GA"], "242": ["CG"], "243": ["CD"], "244": ["AO"], "245": ["GW"], "246": ["IO"], "247": ["AC"], "248": ["SC"], "249": ["SD"], "250": ["RW"], "251": ["ET"], "252": ["SO"], "253": ["DJ"], "254": ["KE"], "255": ["TZ"], "256": ["UG"], "257": ["BI"], "258": ["MZ"], "260": ["ZM"], "261": ["MG"], "262": ["RE", "YT"], "263": ["ZW"], "264": ["NA"], "265": ["MW"], "266": ["LS"], "267": ["BW"], "268": ["SZ"], "269": ["KM"], "290": ["SH", "TA"], "291": ["ER"], "297": ["AW"], "298": ["FO"], "299": ["GL"], "350": ["GI"], "351": ["PT"], "352": ["LU"], "353": ["IE"], "354": ["IS"], "355": ["AL"], "356": ["MT"], "357": ["CY"], "358": ["FI", "AX"], "359": ["BG"], "370": ["LT"], "371": ["LV"], "372": ["EE"], "373": ["MD"], "374": ["AM"], "375": ["BY"], "376": ["AD"], "377": ["MC"], "378": ["SM"], "380": ["UA"], "381": ["RS"], "382": ["ME"], "383": ["XK"], "385": ["HR"], "386": ["SI"], "387": ["BA"], "389": ["MK"], "420": ["CZ"], "421": ["SK"], "423": ["LI"], "500": ["FK"], "501": ["BZ"], "502": ["GT"], "503": ["SV"], "504": ["HN"], "505": ["NI"], "506": ["CR"], "507": ["PA"], "508": ["PM"], "509": ["HT"], "590": ["GP", "BL", "MF"], "591": ["BO"], "592": ["GY"], "593": ["EC"], "594": ["GF"], "595": ["PY"], "596": ["MQ"], "597": ["SR"], "598": ["UY"], "599": ["CW", "BQ"], "670": ["TL"], "672": ["NF"], "673": ["BN"], "674": ["NR"], "675": ["PG"], "676": ["TO"], "677": ["SB"], "678": ["VU"], "679": ["FJ"], "680": ["PW"], "681": ["WF"], "682": ["CK"], "683": ["NU"], "685": ["WS"], "686": ["KI"], "687": ["NC"], "688": ["TV"], "689": ["PF"], "690": ["TK"], "691": ["FM"], "692": ["MH"], "850": ["KP"], "852": ["HK"], "853": ["MO"], "855": ["KH"], "856": ["LA"], "880": ["BD"], "886": ["TW"], "960": ["MV"], "961": ["LB"], "962": ["JO"], "963": ["SY"], "964": ["IQ"], "965": ["KW"], "966": ["SA"], "967": ["YE"], "968": ["OM"], "970": ["PS"], "971": ["AE"], "972": ["IL"], "973": ["BH"], "974": ["QA"], "975": ["BT"], "976": ["MN"], "977": ["NP"], "992": ["TJ"], "993": ["TM"], "994": ["AZ"], "995": ["GE"], "996": ["KG"], "998": ["UZ"] }, "countries": { "AC": ["247", "00", "(?:[01589]\\d|[46])\\d{4}", [5, 6]], "AD": ["376", "00", "(?:1|6\\d)\\d{7}|[135-9]\\d{5}", [6, 8, 9], [["(\\d{3})(\\d{3})", "$1 $2", ["[135-9]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["1"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]]]], "AE": ["971", "00", "(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}", [5, 6, 7, 8, 9, 10, 11, 12], [["(\\d{3})(\\d{2,9})", "$1 $2", ["60|8"]], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[236]|[479][2-8]"], "0$1"], ["(\\d{3})(\\d)(\\d{5})", "$1 $2 $3", ["[479]"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["5"], "0$1"]], "0"], "AF": ["93", "00", "[2-7]\\d{8}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"]], "0"], "AG": ["1", "011", "(?:268|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([457]\\d{6})$|1", "268$1", 0, "268"], "AI": ["1", "011", "(?:264|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2457]\\d{6})$|1", "264$1", 0, "264"], "AL": ["355", "00", "(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}", [6, 7, 8, 9], [["(\\d{3})(\\d{3,4})", "$1 $2", ["80|9"], "0$1"], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["4[2-6]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2358][2-5]|4"], "0$1"], ["(\\d{3})(\\d{5})", "$1 $2", ["[23578]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["6"], "0$1"]], "0"], "AM": ["374", "00", "(?:[1-489]\\d|55|60|77)\\d{6}", [8], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[89]0"], "0 $1"], ["(\\d{3})(\\d{5})", "$1 $2", ["2|3[12]"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["1|47"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["[3-9]"], "0$1"]], "0"], "AO": ["244", "00", "[29]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[29]"]]]], "AR": ["54", "00", "(?:11|[89]\\d\\d)\\d{8}|[2368]\\d{9}", [10, 11], [["(\\d{4})(\\d{2})(\\d{4})", "$1 $2-$3", ["2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])", "2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)", "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]", "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"], "0$1", 1], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["1"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[68]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2-$3", ["[23]"], "0$1", 1], ["(\\d)(\\d{4})(\\d{2})(\\d{4})", "$2 15-$3-$4", ["9(?:2[2-469]|3[3-578])", "9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))", "9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)", "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]", "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"], "0$1", 0, "$1 $2 $3-$4"], ["(\\d)(\\d{2})(\\d{4})(\\d{4})", "$2 15-$3-$4", ["91"], "0$1", 0, "$1 $2 $3-$4"], ["(\\d{3})(\\d{3})(\\d{5})", "$1-$2-$3", ["8"], "0$1"], ["(\\d)(\\d{3})(\\d{3})(\\d{4})", "$2 15-$3-$4", ["9"], "0$1", 0, "$1 $2 $3-$4"]], "0", 0, "0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?", "9$1"], "AS": ["1", "011", "(?:[58]\\d\\d|684|900)\\d{7}", [10], 0, "1", 0, "([267]\\d{6})$|1", "684$1", 0, "684"], "AT": ["43", "00", "1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13], [["(\\d)(\\d{3,12})", "$1 $2", ["1(?:11|[2-9])"], "0$1"], ["(\\d{3})(\\d{2})", "$1 $2", ["517"], "0$1"], ["(\\d{2})(\\d{3,5})", "$1 $2", ["5[079]"], "0$1"], ["(\\d{3})(\\d{3,10})", "$1 $2", ["(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]"], "0$1"], ["(\\d{4})(\\d{3,9})", "$1 $2", ["[2-467]|5[2-6]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["5"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4,7})", "$1 $2 $3", ["5"], "0$1"]], "0"], "AU": ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{7}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}", [5, 6, 7, 8, 9, 10, 12], [["(\\d{2})(\\d{3,4})", "$1 $2", ["16"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["16"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["14|4"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[2378]"], "(0$1)"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:30|[89])"]]], "0", 0, "(183[12])|0", 0, 0, 0, [["(?:(?:(?:2(?:[0-26-9]\\d|3[0-8]|4[02-9]|5[0135-9])|7(?:[013-57-9]\\d|2[0-8]))\\d|3(?:(?:[0-3589]\\d|6[1-9]|7[0-35-9])\\d|4(?:[0-578]\\d|90)))\\d\\d|8(?:51(?:0(?:0[03-9]|[12479]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\d|7[89]|9[0-4])|3\\d\\d)|(?:6[0-8]|[78]\\d)\\d{3}|9(?:[02-9]\\d{3}|1(?:(?:[0-58]\\d|6[0135-9])\\d|7(?:0[0-24-9]|[1-9]\\d)|9(?:[0-46-9]\\d|5[0-79])))))\\d{3}", [9]], ["4(?:79[01]|83[0-389]|94[0-4])\\d{5}|4(?:[0-36]\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, ["163\\d{2,6}", [5, 6, 7, 8, 9]], ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], "AW": ["297", "00", "(?:[25-79]\\d\\d|800)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[25-9]"]]]], "AX": ["358", "00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))", "2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|7\\d{5,11}|(?:[14]\\d|3[0-46-9]|50)\\d{4,8}", [5, 6, 7, 8, 9, 10, 11, 12], 0, "0", 0, 0, 0, 0, "18", 0, "00"], "AZ": ["994", "00", "365\\d{6}|(?:[124579]\\d|60|88)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["90"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[28]|2|365|46", "1[28]|2|365[45]|46", "1[28]|2|365(?:4|5[02])|46"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[13-9]"], "0$1"]], "0"], "BA": ["387", "00", "6\\d{8}|(?:[35689]\\d|49|70)\\d{6}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["6[1-3]|[7-9]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2-$3", ["[3-5]|6[56]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["6"], "0$1"]], "0"], "BB": ["1", "011", "(?:246|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "246$1", 0, "246"], "BD": ["880", "00", "[1-469]\\d{9}|8[0-79]\\d{7,8}|[2-79]\\d{8}|[2-9]\\d{7}|[3-9]\\d{6}|[57-9]\\d{5}", [6, 7, 8, 9, 10], [["(\\d{2})(\\d{4,6})", "$1-$2", ["31[5-8]|[459]1"], "0$1"], ["(\\d{3})(\\d{3,7})", "$1-$2", ["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]"], "0$1"], ["(\\d{4})(\\d{3,6})", "$1-$2", ["[13-9]|2[23]"], "0$1"], ["(\\d)(\\d{7,8})", "$1-$2", ["2"], "0$1"]], "0"], "BE": ["32", "00", "4\\d{8}|[1-9]\\d{7}", [8, 9], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:80|9)0"], "0$1"], ["(\\d)(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[239]|4[23]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[15-8]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["4"], "0$1"]], "0"], "BF": ["226", "00", "[025-7]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[025-7]"]]]], "BG": ["359", "00", "00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}", [6, 7, 8, 9, 12], [["(\\d)(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["2"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["43[1-6]|70[1-9]"], "0$1"], ["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:70|8)0"], "0$1"], ["(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3", ["43[1-7]|7"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[48]|9[08]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"]], "0"], "BH": ["973", "00", "[136-9]\\d{7}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[13679]|8[02-4679]"]]]], "BI": ["257", "00", "(?:[267]\\d|31)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2367]"]]]], "BJ": ["229", "00", "(?:01\\d|[24-689])\\d{7}", [8, 10], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24-689]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["0"]]]], "BL": ["590", "00", "(?:590\\d|7090)\\d{5}|(?:69|80|9\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["590(?:2[7-9]|3[3-7]|5[12]|87)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], 0, 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-5])\\d{4}"]]], "BM": ["1", "011", "(?:441|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "441$1", 0, "441"], "BN": ["673", "00", "[2-578]\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-578]"]]]], "BO": ["591", "00(?:1\\d)?", "8001\\d{5}|(?:[2-467]\\d|50)\\d{6}", [8, 9], [["(\\d)(\\d{7})", "$1 $2", ["[235]|4[46]"]], ["(\\d{8})", "$1", ["[67]"]], ["(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["8"]]], "0", 0, "0(1\\d)?"], "BQ": ["599", "00", "(?:[34]1|7\\d)\\d{5}", [7], 0, 0, 0, 0, 0, 0, "[347]"], "BR": ["55", "00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)", "(?:[1-46-9]\\d\\d|5(?:[0-46-9]\\d|5[0-46-9]))\\d{8}|[1-9]\\d{9}|[3589]\\d{8}|[34]\\d{7}", [8, 9, 10, 11], [["(\\d{4})(\\d{4})", "$1-$2", ["300|4(?:0[02]|37)", "4(?:02|37)0|[34]00"]], ["(\\d{3})(\\d{2,3})(\\d{4})", "$1 $2 $3", ["(?:[358]|90)0"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"], "($1)"], ["(\\d{2})(\\d{5})(\\d{4})", "$1 $2-$3", ["[16][1-9]|[2-57-9]"], "($1)"]], "0", 0, "(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?", "$2"], "BS": ["1", "011", "(?:242|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([3-8]\\d{6})$|1", "242$1", 0, "242"], "BT": ["975", "00", "[17]\\d{7}|[2-8]\\d{6}", [7, 8], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-68]|7[246]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[67]|7"]]]], "BW": ["267", "00", "(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}", [7, 8, 10], [["(\\d{2})(\\d{5})", "$1 $2", ["90"]], ["(\\d{3})(\\d{4})", "$1 $2", ["[24-6]|3[15-9]"]], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[37]"]], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["0"]], ["(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["8"]]]], "BY": ["375", "810", "(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}", [6, 7, 8, 9, 10, 11], [["(\\d{3})(\\d{3})", "$1 $2", ["800"], "8 $1"], ["(\\d{3})(\\d{2})(\\d{2,4})", "$1 $2 $3", ["800"], "8 $1"], ["(\\d{4})(\\d{2})(\\d{3})", "$1 $2-$3", ["1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])", "1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])"], "8 0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["1(?:[56]|7[467])|2[1-3]"], "8 0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[1-4]"], "8 0$1"], ["(\\d{3})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["[89]"], "8 $1"]], "8", 0, "0|80?", 0, 0, 0, 0, "8~10"], "BZ": ["501", "00", "(?:0800\\d|[2-8])\\d{6}", [7, 11], [["(\\d{3})(\\d{4})", "$1-$2", ["[2-8]"]], ["(\\d)(\\d{3})(\\d{4})(\\d{3})", "$1-$2-$3-$4", ["0"]]]], "CA": ["1", "011", "(?:[2-8]\\d|90)\\d{8}|3\\d{6}", [7, 10], 0, "1", 0, 0, 0, 0, 0, [["(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|90[25])[2-9]\\d{6}", [10]], ["", [10]], ["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", [10]], ["900[2-9]\\d{6}", [10]], ["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|(?:5(?:00|2[125-9]|33|44|66|77|88)|622)[2-9]\\d{6}", [10]], 0, ["310\\d{4}", [7]], 0, ["600[2-9]\\d{6}", [10]]]], "CC": ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}", [6, 7, 8, 9, 10, 12], 0, "0", 0, "([59]\\d{7})$|0", "8$1", 0, 0, [["8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}", [9]], ["4(?:79[01]|83[0-389]|94[0-4])\\d{5}|4(?:[0-36]\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, 0, ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], "CD": ["243", "00", "(?:(?:[189]|5\\d)\\d|2)\\d{7}|[1-68]\\d{6}", [7, 8, 9, 10], [["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["88"], "0$1"], ["(\\d{2})(\\d{5})", "$1 $2", ["[1-6]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["5"], "0$1"]], "0"], "CF": ["236", "00", "(?:[27]\\d{3}|8776)\\d{4}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[278]"]]]], "CG": ["242", "00", "222\\d{6}|(?:0\\d|80)\\d{7}", [9], [["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[02]"]]]], "CH": ["41", "00", "8\\d{11}|[2-9]\\d{8}", [9, 12], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8[047]|90"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-79]|81"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["8"], "0$1"]], "0"], "CI": ["225", "00", "[02]\\d{9}", [10], [["(\\d{2})(\\d{2})(\\d)(\\d{5})", "$1 $2 $3 $4", ["2"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3 $4", ["0"]]]], "CK": ["682", "00", "[2-578]\\d{4}", [5], [["(\\d{2})(\\d{3})", "$1 $2", ["[2-578]"]]]], "CL": ["56", "(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0", "12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}", [9, 10, 11], [["(\\d{5})(\\d{4})", "$1 $2", ["219", "2196"], "($1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["44"]], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2[1-36]"], "($1)"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["9[2-9]"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])"], "($1)"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["60|8"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]], ["(\\d{3})(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["60"]]]], "CM": ["237", "00", "[26]\\d{8}|88\\d{6,7}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["88"]], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[26]|88"]]]], "CN": ["86", "00|1(?:[12]\\d|79)\\d\\d00", "(?:(?:1[03-689]|2\\d)\\d\\d|6)\\d{8}|1\\d{10}|[126]\\d{6}(?:\\d(?:\\d{2})?)?|86\\d{5,6}|(?:[3-579]\\d|8[0-57-9])\\d{5,9}", [7, 8, 9, 10, 11, 12], [["(\\d{2})(\\d{5,6})", "$1 $2", ["(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]", "(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123"], "0$1"], ["(\\d{3})(\\d{5,6})", "$1 $2", ["3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]", "(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]", "85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])", "85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["(?:4|80)0"]], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["10|2(?:[02-57-9]|1[1-9])", "10|2(?:[02-57-9]|1[1-9])", "10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"], "0$1", 1], ["(\\d{3})(\\d{7,8})", "$1 $2", ["9"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["80"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[3-578]"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["1[3-9]"]], ["(\\d{2})(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["[12]"], "0$1", 1]], "0", 0, "(1(?:[12]\\d|79)\\d\\d)|0", 0, 0, 0, 0, "00"], "CO": ["57", "00(?:4(?:[14]4|56)|[579])", "(?:46|60\\d\\d)\\d{6}|(?:1\\d|[39])\\d{9}", [8, 10, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["46"]], ["(\\d{3})(\\d{7})", "$1 $2", ["6|90"], "($1)"], ["(\\d{3})(\\d{7})", "$1 $2", ["3[0-357]|91"]], ["(\\d)(\\d{3})(\\d{7})", "$1-$2-$3", ["1"], "0$1", 0, "$1 $2 $3"]], "0", 0, "0([3579]|4(?:[14]4|56))?"], "CR": ["506", "00", "(?:8\\d|90)\\d{8}|(?:[24-8]\\d{3}|3005)\\d{4}", [8, 10], [["(\\d{4})(\\d{4})", "$1 $2", ["[2-7]|8[3-9]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[89]"]]], 0, 0, "(19(?:0[0-2468]|1[09]|20|66|77|99))"], "CU": ["53", "119", "(?:[2-7]|8\\d\\d)\\d{7}|[2-47]\\d{6}|[34]\\d{5}", [6, 7, 8, 10], [["(\\d{2})(\\d{4,6})", "$1 $2", ["2[1-4]|[34]"], "(0$1)"], ["(\\d)(\\d{6,7})", "$1 $2", ["7"], "(0$1)"], ["(\\d)(\\d{7})", "$1 $2", ["[56]"], "0$1"], ["(\\d{3})(\\d{7})", "$1 $2", ["8"], "0$1"]], "0"], "CV": ["238", "0", "(?:[2-59]\\d\\d|800)\\d{4}", [7], [["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2-589]"]]]], "CW": ["599", "00", "(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}", [7, 8], [["(\\d{3})(\\d{4})", "$1 $2", ["[3467]"]], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["9[4-8]"]]], 0, 0, 0, 0, 0, "[69]"], "CX": ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}", [6, 7, 8, 9, 10, 12], 0, "0", 0, "([59]\\d{7})$|0", "8$1", 0, 0, [["8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}", [9]], ["4(?:79[01]|83[0-389]|94[0-4])\\d{5}|4(?:[0-36]\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, 0, ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], "CY": ["357", "00", "(?:[279]\\d|[58]0)\\d{6}", [8], [["(\\d{2})(\\d{6})", "$1 $2", ["[257-9]"]]]], "CZ": ["420", "00", "(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}", [9, 10, 11, 12], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-8]|9[015-7]"]], ["(\\d{2})(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["96"]], ["(\\d{2})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]]]], "DE": ["49", "00", "[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[015]\\d|2[13]|31|[46][1-8])\\d{1,9}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [["(\\d{2})(\\d{3,13})", "$1 $2", ["3[02]|40|[68]9"], "0$1"], ["(\\d{3})(\\d{3,12})", "$1 $2", ["2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1", "2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1"], "0$1"], ["(\\d{4})(\\d{2,11})", "$1 $2", ["[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]", "[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["138"], "0$1"], ["(\\d{5})(\\d{2,10})", "$1 $2", ["3"], "0$1"], ["(\\d{3})(\\d{5,11})", "$1 $2", ["181"], "0$1"], ["(\\d{3})(\\d)(\\d{4,10})", "$1 $2 $3", ["1(?:3|80)|9"], "0$1"], ["(\\d{3})(\\d{7,8})", "$1 $2", ["1[67]"], "0$1"], ["(\\d{3})(\\d{7,12})", "$1 $2", ["8"], "0$1"], ["(\\d{5})(\\d{6})", "$1 $2", ["185", "1850", "18500"], "0$1"], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], ["(\\d{4})(\\d{7})", "$1 $2", ["18[68]"], "0$1"], ["(\\d{4})(\\d{7})", "$1 $2", ["15[1279]"], "0$1"], ["(\\d{5})(\\d{6})", "$1 $2", ["15[03568]", "15(?:[0568]|31)"], "0$1"], ["(\\d{3})(\\d{8})", "$1 $2", ["18"], "0$1"], ["(\\d{3})(\\d{2})(\\d{7,8})", "$1 $2 $3", ["1(?:6[023]|7)"], "0$1"], ["(\\d{4})(\\d{2})(\\d{7})", "$1 $2 $3", ["15[279]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{8})", "$1 $2 $3", ["15"], "0$1"]], "0"], "DJ": ["253", "00", "(?:2\\d|77)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[27]"]]]], "DK": ["45", "00", "[2-9]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-9]"]]]], "DM": ["1", "011", "(?:[58]\\d\\d|767|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "767$1", 0, "767"], "DO": ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "8001|8[024]9"], "DZ": ["213", "00", "(?:[1-4]|[5-79]\\d|80)\\d{7}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[1-4]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["9"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-8]"], "0$1"]], "0"], "EC": ["593", "00", "1\\d{9,10}|(?:[2-7]|9\\d)\\d{7}", [8, 9, 10, 11], [["(\\d)(\\d{3})(\\d{4})", "$1 $2-$3", ["[2-7]"], "(0$1)", 0, "$1-$2-$3"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1"]]], "0"], "EE": ["372", "00", "8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d|90)\\d{5}", [7, 8, 10], [["(\\d{3})(\\d{4})", "$1 $2", ["[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88", "[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88"]], ["(\\d{4})(\\d{3,4})", "$1 $2", ["[45]|8(?:00|[1-49])", "[45]|8(?:00[1-9]|[1-49])"]], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["7"]], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]]]], "EG": ["20", "00", "[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}", [8, 9, 10], [["(\\d)(\\d{7,8})", "$1 $2", ["[23]"], "0$1"], ["(\\d{2})(\\d{6,7})", "$1 $2", ["1[35]|[4-6]|8[2468]|9[235-7]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{2})(\\d{8})", "$1 $2", ["1"], "0$1"]], "0"], "EH": ["212", "00", "[5-8]\\d{8}", [9], 0, "0", 0, 0, 0, 0, "528[89]"], "ER": ["291", "00", "[178]\\d{6}", [7], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[178]"], "0$1"]], "0"], "ES": ["34", "00", "[5-9]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]00"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-9]"]]]], "ET": ["251", "00", "(?:11|[2-579]\\d)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-579]"], "0$1"]], "0"], "FI": ["358", "00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))", "[1-35689]\\d{4}|7\\d{10,11}|(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}", [5, 6, 7, 8, 9, 10, 11, 12], [["(\\d{5})", "$1", ["20[2-59]"], "0$1"], ["(\\d{3})(\\d{3,7})", "$1 $2", ["(?:[1-3]0|[68])0|70[07-9]"], "0$1"], ["(\\d{2})(\\d{4,8})", "$1 $2", ["[14]|2[09]|50|7[135]"], "0$1"], ["(\\d{2})(\\d{6,10})", "$1 $2", ["7"], "0$1"], ["(\\d)(\\d{4,9})", "$1 $2", ["(?:19|[2568])[1-8]|3(?:0[1-9]|[1-9])|9"], "0$1"]], "0", 0, 0, 0, 0, "1[03-79]|[2-9]", 0, "00"], "FJ": ["679", "0(?:0|52)", "45\\d{5}|(?:0800\\d|[235-9])\\d{6}", [7, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["[235-9]|45"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "FK": ["500", "00", "[2-7]\\d{4}", [5]], "FM": ["691", "00", "(?:[39]\\d\\d|820)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[389]"]]]], "FO": ["298", "00", "[2-9]\\d{5}", [6], [["(\\d{6})", "$1", ["[2-9]"]]], 0, 0, "(10(?:01|[12]0|88))"], "FR": ["33", "00", "[1-9]\\d{8}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0 $1"], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[1-79]"], "0$1"]], "0"], "GA": ["241", "00", "(?:[067]\\d|11)\\d{6}|[2-7]\\d{6}", [7, 8], [["(\\d)(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-7]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["11|[67]"], "0$1"]], 0, 0, "0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})", "$1"], "GB": ["44", "00", "[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}", [7, 9, 10], [["(\\d{3})(\\d{4})", "$1 $2", ["800", "8001", "80011", "800111", "8001111"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["845", "8454", "84546", "845464"], "0$1"], ["(\\d{3})(\\d{6})", "$1 $2", ["800"], "0$1"], ["(\\d{5})(\\d{4,5})", "$1 $2", ["1(?:38|5[23]|69|76|94)", "1(?:(?:38|69)7|5(?:24|39)|768|946)", "1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)"], "0$1"], ["(\\d{4})(\\d{5,6})", "$1 $2", ["1(?:[2-69][02-9]|[78])"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["[25]|7(?:0|6[02-9])", "[25]|7(?:0|6(?:[03-9]|2[356]))"], "0$1"], ["(\\d{4})(\\d{6})", "$1 $2", ["7"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1389]"], "0$1"]], "0", 0, 0, 0, 0, 0, [["(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0-35])|4(?:(?:[0-5]\\d|70)\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|50))\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d|1(?:[0-7]\\d|8[0-3]))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d)\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}", [9, 10]], ["7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}", [10]], ["80[08]\\d{7}|800\\d{6}|8001111"], ["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d", [7, 10]], ["70\\d{8}", [10]], 0, ["(?:3[0347]|55)\\d{8}", [10]], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", [10]], ["56\\d{8}", [10]]], 0, " x"], "GD": ["1", "011", "(?:473|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "473$1", 0, "473"], "GE": ["995", "00", "(?:[3-57]\\d\\d|800)\\d{6}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["70"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["32"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[57]"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[348]"], "0$1"]], "0"], "GF": ["594", "00", "[56]94\\d{6}|(?:80|9\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[56]|9[47]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[89]"], "0$1"]], "0"], "GG": ["44", "00", "(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?", [7, 9, 10], 0, "0", 0, "([25-9]\\d{5})$|0", "1481$1", 0, 0, [["1481[25-9]\\d{5}", [10]], ["7(?:(?:781|839)\\d|911[17])\\d{5}", [10]], ["80[08]\\d{7}|800\\d{6}|8001111"], ["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d", [7, 10]], ["70\\d{8}", [10]], 0, ["(?:3[0347]|55)\\d{8}", [10]], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", [10]], ["56\\d{8}", [10]]]], "GH": ["233", "00", "(?:[235]\\d{3}|800)\\d{5}", [8, 9], [["(\\d{3})(\\d{5})", "$1 $2", ["8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[235]"], "0$1"]], "0"], "GI": ["350", "00", "(?:[25]\\d|60)\\d{6}", [8], [["(\\d{3})(\\d{5})", "$1 $2", ["2"]]]], "GL": ["299", "00", "(?:19|[2-689]\\d|70)\\d{4}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["19|[2-9]"]]]], "GM": ["220", "00", "[2-9]\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], "GN": ["224", "00", "722\\d{6}|(?:3|6\\d)\\d{7}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["3"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[67]"]]]], "GP": ["590", "00", "(?:590\\d|7090)\\d{5}|(?:69|80|9\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-79]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], "0", 0, 0, 0, 0, 0, [["590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\d)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], 0, 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-5])\\d{4}"]]], "GQ": ["240", "00", "222\\d{6}|(?:3\\d|55|[89]0)\\d{7}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235]"]], ["(\\d{3})(\\d{6})", "$1 $2", ["[89]"]]]], "GR": ["30", "00", "5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}", [10, 11, 12], [["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["21|7"]], ["(\\d{4})(\\d{6})", "$1 $2", ["2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2689]"]], ["(\\d{3})(\\d{3,4})(\\d{5})", "$1 $2 $3", ["8"]]]], "GT": ["502", "00", "80\\d{6}|(?:1\\d{3}|[2-7])\\d{7}", [8, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["[2-8]"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]]]], "GU": ["1", "011", "(?:[58]\\d\\d|671|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "671$1", 0, "671"], "GW": ["245", "00", "[49]\\d{8}|4\\d{6}", [7, 9], [["(\\d{3})(\\d{4})", "$1 $2", ["40"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[49]"]]]], "GY": ["592", "001", "(?:[2-8]\\d{3}|9008)\\d{3}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], "HK": ["852", "00(?:30|5[09]|[126-9]?)", "8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}", [5, 6, 7, 8, 9, 11], [["(\\d{3})(\\d{2,5})", "$1 $2", ["900", "9003"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[2-7]|8[1-4]|9(?:0[1-9]|[1-8])"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{3})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "HN": ["504", "00", "8\\d{10}|[237-9]\\d{7}", [8, 11], [["(\\d{4})(\\d{4})", "$1-$2", ["[237-9]"]]]], "HR": ["385", "00", "(?:[24-69]\\d|3[0-79])\\d{7}|80\\d{5,7}|[1-79]\\d{7}|6\\d{5,6}", [6, 7, 8, 9], [["(\\d{2})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["6[01]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["8"], "0$1"], ["(\\d)(\\d{4})(\\d{3})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["6|7[245]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-57]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"], "0$1"]], "0"], "HT": ["509", "00", "(?:[2-489]\\d|55)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["[2-589]"]]]], "HU": ["36", "00", "[235-7]\\d{8}|[1-9]\\d{7}", [8, 9], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "(06 $1)"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]"], "(06 $1)"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-9]"], "06 $1"]], "06"], "ID": ["62", "00[89]", "00[1-9]\\d{9,14}|(?:[1-36]|8\\d{5})\\d{6}|00\\d{9}|[1-9]\\d{8,10}|[2-9]\\d{7}", [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["15"]], ["(\\d{2})(\\d{5,9})", "$1 $2", ["2[124]|[36]1"], "(0$1)"], ["(\\d{3})(\\d{5,7})", "$1 $2", ["800"], "0$1"], ["(\\d{3})(\\d{5,8})", "$1 $2", ["[2-79]"], "(0$1)"], ["(\\d{3})(\\d{3,4})(\\d{3})", "$1-$2-$3", ["8[1-35-9]"], "0$1"], ["(\\d{3})(\\d{6,8})", "$1 $2", ["1"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["804"], "0$1"], ["(\\d{3})(\\d)(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["80"], "0$1"], ["(\\d{3})(\\d{4})(\\d{4,5})", "$1-$2-$3", ["8"], "0$1"]], "0"], "IE": ["353", "00", "(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}", [7, 8, 9, 10], [["(\\d{2})(\\d{5})", "$1 $2", ["2[24-9]|47|58|6[237-9]|9[35-9]"], "(0$1)"], ["(\\d{3})(\\d{5})", "$1 $2", ["[45]0"], "(0$1)"], ["(\\d)(\\d{3,4})(\\d{4})", "$1 $2 $3", ["1"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2569]|4[1-69]|7[14]"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["70"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["81"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[78]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["4"], "(0$1)"], ["(\\d{2})(\\d)(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], "IL": ["972", "0(?:0|1[2-9])", "1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}", [7, 8, 9, 10, 11, 12], [["(\\d{4})(\\d{3})", "$1-$2", ["125"]], ["(\\d{4})(\\d{2})(\\d{2})", "$1-$2-$3", ["121"]], ["(\\d)(\\d{3})(\\d{4})", "$1-$2-$3", ["[2-489]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["[57]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1-$2-$3", ["12"]], ["(\\d{4})(\\d{6})", "$1-$2", ["159"]], ["(\\d)(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3-$4", ["1[7-9]"]], ["(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})", "$1-$2 $3-$4", ["15"]]], "0"], "IM": ["44", "00", "1624\\d{6}|(?:[3578]\\d|90)\\d{8}", [10], 0, "0", 0, "([25-8]\\d{5})$|0", "1624$1", 0, "74576|(?:16|7[56])24"], "IN": ["91", "00", "(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}", [8, 9, 10, 11, 12, 13], [["(\\d{8})", "$1", ["5(?:0|2[23]|3[03]|[67]1|88)", "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)", "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"], 0, 1], ["(\\d{4})(\\d{4,5})", "$1 $2", ["180", "1800"], 0, 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["140"], 0, 1], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["11|2[02]|33|4[04]|79[1-7]|80[2-46]", "11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])", "11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]", "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]", "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]"], "0$1", 1], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807", "1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]", "1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\d|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"], "0$1", 1], ["(\\d{5})(\\d{5})", "$1 $2", ["[6-9]"], "0$1", 1], ["(\\d{4})(\\d{2,4})(\\d{4})", "$1 $2 $3", ["1(?:6|8[06])", "1(?:6|8[06]0)"], 0, 1], ["(\\d{4})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["18"], 0, 1]], "0"], "IO": ["246", "00", "3\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["3"]]]], "IQ": ["964", "00", "(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}", [8, 9, 10], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-6]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"]], "0"], "IR": ["98", "00", "[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}", [4, 5, 6, 7, 10], [["(\\d{4,5})", "$1", ["96"], "0$1"], ["(\\d{2})(\\d{4,5})", "$1 $2", ["(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["[1-8]"], "0$1"]], "0"], "IS": ["354", "00|1(?:0(?:01|[12]0)|100)", "(?:38\\d|[4-9])\\d{6}", [7, 9], [["(\\d{3})(\\d{4})", "$1 $2", ["[4-9]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["3"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "IT": ["39", "00", "0\\d{5,10}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:43|55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?", [6, 7, 8, 9, 10, 11, 12], [["(\\d{2})(\\d{4,6})", "$1 $2", ["0[26]"]], ["(\\d{3})(\\d{3,6})", "$1 $2", ["0[13-57-9][0159]|8(?:03|4[17]|9[2-5])", "0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))"]], ["(\\d{4})(\\d{2,6})", "$1 $2", ["0(?:[13-579][2-46-8]|8[236-8])"]], ["(\\d{4})(\\d{4})", "$1 $2", ["894"]], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[26]|5"]], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1(?:44|[679])|[378]|43"]], ["(\\d{3})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[13-57-9][0159]|14"]], ["(\\d{2})(\\d{4})(\\d{5})", "$1 $2 $3", ["0[26]"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]], ["(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["3"]]], 0, 0, 0, 0, 0, 0, [["0669[0-79]\\d{1,6}|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}", [6, 7, 8, 9, 10, 11]], ["3[2-9]\\d{7,8}|(?:31|43)\\d{8}", [9, 10]], ["80(?:0\\d{3}|3)\\d{3}", [6, 9]], ["(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}", [6, 8, 9, 10]], ["1(?:78\\d|99)\\d{6}", [9, 10]], ["3[2-8]\\d{9,10}", [11, 12]], 0, 0, ["55\\d{8}", [10]], ["84(?:[08]\\d{3}|[17])\\d{3}", [6, 9]]]], "JE": ["44", "00", "1534\\d{6}|(?:[3578]\\d|90)\\d{8}", [10], 0, "0", 0, "([0-24-8]\\d{5})$|0", "1534$1", 0, 0, [["1534[0-24-8]\\d{5}"], ["7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97\\d))\\d{5}"], ["80(?:07(?:35|81)|8901)\\d{4}"], ["(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}"], ["701511\\d{4}"], 0, ["(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}"], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}"], ["56\\d{8}"]]], "JM": ["1", "011", "(?:[58]\\d\\d|658|900)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "658|876"], "JO": ["962", "00", "(?:(?:[2689]|7\\d)\\d|32|53)\\d{6}", [8, 9], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2356]|87"], "(0$1)"], ["(\\d{3})(\\d{5,6})", "$1 $2", ["[89]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["70"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["7"], "0$1"]], "0"], "JP": ["81", "010", "00[1-9]\\d{6,14}|[257-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}", [8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [["(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3", ["(?:12|57|99)0"], "0$1"], ["(\\d{4})(\\d)(\\d{4})", "$1-$2-$3", ["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])", "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]", "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["60"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1-$2-$3", ["[36]|4(?:2[09]|7[01])", "[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])", "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]", "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{4})", "$1-$2-$3", ["[14]|[289][2-9]|5[3-9]|7[2-4679]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["800"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[257-9]"], "0$1"]], "0", 0, "(000[259]\\d{6})$|(?:(?:003768)0?)|0", "$1"], "KE": ["254", "000", "(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}", [7, 8, 9, 10], [["(\\d{2})(\\d{5,7})", "$1 $2", ["[24-6]"], "0$1"], ["(\\d{3})(\\d{6})", "$1 $2", ["[17]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[89]"], "0$1"]], "0"], "KG": ["996", "00", "8\\d{9}|[235-9]\\d{8}", [9, 10], [["(\\d{4})(\\d{5})", "$1 $2", ["3(?:1[346]|[24-79])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235-79]|88"], "0$1"], ["(\\d{3})(\\d{3})(\\d)(\\d{2,3})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], "KH": ["855", "00[14-9]", "1\\d{9}|[1-9]\\d{7,8}", [8, 9, 10], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-9]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], "0"], "KI": ["686", "00", "(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}", [5, 8], 0, "0"], "KM": ["269", "00", "[3478]\\d{6}", [7], [["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[3478]"]]]], "KN": ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "869$1", 0, "869"], "KP": ["850", "00|99", "85\\d{6}|(?:19\\d|[2-7])\\d{7}", [8, 10], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"], "0$1"], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"]], "0"], "KR": ["82", "00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))", "00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}", [5, 6, 8, 9, 10, 11, 12, 13, 14], [["(\\d{2})(\\d{3,4})", "$1-$2", ["(?:3[1-3]|[46][1-4]|5[1-5])1"], "0$1"], ["(\\d{4})(\\d{4})", "$1-$2", ["1"]], ["(\\d)(\\d{3,4})(\\d{4})", "$1-$2-$3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["[36]0|8"], "0$1"], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1-$2-$3", ["[1346]|5[1-5]"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[57]"], "0$1"], ["(\\d{2})(\\d{5})(\\d{4})", "$1-$2-$3", ["5"], "0$1"]], "0", 0, "0(8(?:[1-46-8]|5\\d\\d))?"], "KW": ["965", "00", "18\\d{5}|(?:[2569]\\d|41)\\d{6}", [7, 8], [["(\\d{4})(\\d{3,4})", "$1 $2", ["[169]|2(?:[235]|4[1-35-9])|52"]], ["(\\d{3})(\\d{5})", "$1 $2", ["[245]"]]]], "KY": ["1", "011", "(?:345|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "345$1", 0, "345"], "KZ": ["7", "810", "(?:33622|8\\d{8})\\d{5}|[78]\\d{9}", [10, 14], 0, "8", 0, 0, 0, 0, "33|7", 0, "8~10"], "LA": ["856", "00", "[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}", [8, 9, 10], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["2[13]|3[14]|[4-8]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["30[0135-9]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[23]"], "0$1"]], "0"], "LB": ["961", "00", "[27-9]\\d{7}|[13-9]\\d{6}", [7, 8], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[27-9]"]]], "0"], "LC": ["1", "011", "(?:[58]\\d\\d|758|900)\\d{7}", [10], 0, "1", 0, "([2-8]\\d{6})$|1", "758$1", 0, "758"], "LI": ["423", "00", "[68]\\d{8}|(?:[2378]\\d|90)\\d{5}", [7, 9], [["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2379]|8(?:0[09]|7)", "[2379]|8(?:0(?:02|9)|7)"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["69"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]]], "0", 0, "(1001)|0"], "LK": ["94", "00", "[1-9]\\d{8}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[1-689]"], "0$1"]], "0"], "LR": ["231", "00", "(?:[245]\\d|33|77|88)\\d{7}|(?:2\\d|[4-6])\\d{6}", [7, 8, 9], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["4[67]|[56]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-578]"], "0$1"]], "0"], "LS": ["266", "00", "(?:[256]\\d\\d|800)\\d{5}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[2568]"]]]], "LT": ["370", "00", "(?:[3469]\\d|52|[78]0)\\d{6}", [8], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["52[0-7]"], "(0-$1)", 1], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[7-9]"], "0 $1", 1], ["(\\d{2})(\\d{6})", "$1 $2", ["37|4(?:[15]|6[1-8])"], "(0-$1)", 1], ["(\\d{3})(\\d{5})", "$1 $2", ["[3-6]"], "(0-$1)", 1]], "0", 0, "[08]"], "LU": ["352", "00", "35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}", [4, 5, 6, 7, 8, 9, 10, 11], [["(\\d{2})(\\d{3})", "$1 $2", ["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]], ["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]], ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["20[2-689]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})", "$1 $2 $3 $4", ["2(?:[0367]|4[3-8])"]], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["80[01]|90[015]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["20"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})", "$1 $2 $3 $4 $5", ["2(?:[0367]|4[3-8])"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})", "$1 $2 $3 $4", ["[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]"]]], 0, 0, "(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)"], "LV": ["371", "00", "(?:[268]\\d|90)\\d{6}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[269]|8[01]"]]]], "LY": ["218", "00", "[2-9]\\d{8}", [9], [["(\\d{2})(\\d{7})", "$1-$2", ["[2-9]"], "0$1"]], "0"], "MA": ["212", "00", "[5-8]\\d{8}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["5[45]"], "0$1"], ["(\\d{4})(\\d{5})", "$1-$2", ["5(?:2[2-46-9]|3[3-9]|9)|8(?:0[89]|92)"], "0$1"], ["(\\d{2})(\\d{7})", "$1-$2", ["8"], "0$1"], ["(\\d{3})(\\d{6})", "$1-$2", ["[5-7]"], "0$1"]], "0", 0, 0, 0, 0, 0, [["5(?:2(?:[0-25-79]\\d|3[1-578]|4[02-46-8]|8[0235-7])|3(?:[0-47]\\d|5[02-9]|6[02-8]|8[014-9]|9[3-9])|(?:4[067]|5[03])\\d)\\d{5}"], ["(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[0167]\\d|2[0-4]|5[01]|8[0-3]))\\d{6}"], ["80[0-7]\\d{6}"], ["89\\d{7}"], 0, 0, 0, 0, ["(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}"]]], "MC": ["377", "00", "(?:[3489]|6\\d)\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["4"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[389]"]], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["6"], "0$1"]], "0"], "MD": ["373", "00", "(?:[235-7]\\d|[89]0)\\d{6}", [8], [["(\\d{3})(\\d{5})", "$1 $2", ["[89]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["22|3"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[25-7]"], "0$1"]], "0"], "ME": ["382", "00", "(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-9]"], "0$1"]], "0"], "MF": ["590", "00", "(?:590\\d|7090)\\d{5}|(?:69|80|9\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["590(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], 0, 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-5])\\d{4}"]]], "MG": ["261", "00", "[23]\\d{8}", [9], [["(\\d{2})(\\d{2})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["[23]"], "0$1"]], "0", 0, "([24-9]\\d{6})$|0", "20$1"], "MH": ["692", "011", "329\\d{4}|(?:[256]\\d|45)\\d{5}", [7], [["(\\d{3})(\\d{4})", "$1-$2", ["[2-6]"]]], "1"], "MK": ["389", "00", "[2-578]\\d{7}", [8], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["2|34[47]|4(?:[37]7|5[47]|64)"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[347]"], "0$1"], ["(\\d{3})(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[58]"], "0$1"]], "0"], "ML": ["223", "00", "[24-9]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24-9]"]]]], "MM": ["95", "00", "1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}", [6, 7, 8, 9, 10], [["(\\d)(\\d{2})(\\d{3})", "$1 $2 $3", ["16|2"], "0$1"], ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["4(?:[2-46]|5[3-5])|5|6(?:[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-5]|(?:60|86)[23]"], "0$1"], ["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[12]|452|678|86", "[12]|452|6788|86"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[4-7]|8[1-35]"], "0$1"], ["(\\d)(\\d{3})(\\d{4,6})", "$1 $2 $3", ["9(?:2[0-4]|[35-9]|4[137-9])"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"], ["(\\d)(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["92"], "0$1"], ["(\\d)(\\d{5})(\\d{4})", "$1 $2 $3", ["9"], "0$1"]], "0"], "MN": ["976", "001", "[12]\\d{7,9}|[5-9]\\d{7}", [8, 9, 10], [["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["[12]1"], "0$1"], ["(\\d{4})(\\d{4})", "$1 $2", ["[5-9]"]], ["(\\d{3})(\\d{5,6})", "$1 $2", ["[12]2[1-3]"], "0$1"], ["(\\d{4})(\\d{5,6})", "$1 $2", ["[12](?:27|3[2-8]|4[2-68]|5[1-4689])", "[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]"], "0$1"], ["(\\d{5})(\\d{4,5})", "$1 $2", ["[12]"], "0$1"]], "0"], "MO": ["853", "00", "0800\\d{3}|(?:28|[68]\\d)\\d{6}", [7, 8], [["(\\d{4})(\\d{3})", "$1 $2", ["0"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[268]"]]]], "MP": ["1", "011", "[58]\\d{9}|(?:67|90)0\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "670$1", 0, "670"], "MQ": ["596", "00", "596\\d{6}|(?:69|[89]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[569]|8(?:0[6-9]|[36])"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], "MR": ["222", "00", "(?:[2-4]\\d\\d|800)\\d{5}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-48]"]]]], "MS": ["1", "011", "(?:[58]\\d\\d|664|900)\\d{7}", [10], 0, "1", 0, "([34]\\d{6})$|1", "664$1", 0, "664"], "MT": ["356", "00", "3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[2357-9]"]]]], "MU": ["230", "0(?:0|[24-7]0|3[03])", "(?:[57]|8\\d\\d)\\d{7}|[2-468]\\d{6}", [7, 8, 10], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-46]|8[013]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[57]"]], ["(\\d{5})(\\d{5})", "$1 $2", ["8"]]], 0, 0, 0, 0, 0, 0, 0, "020"], "MV": ["960", "0(?:0|19)", "(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}", [7, 10], [["(\\d{3})(\\d{4})", "$1-$2", ["[34679]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "MW": ["265", "00", "(?:[1289]\\d|31|77)\\d{7}|1\\d{6}", [7, 9], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["1[2-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[137-9]"], "0$1"]], "0"], "MX": ["52", "0[09]", "[2-9]\\d{9}", [10], [["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["33|5[56]|81"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-9]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "MY": ["60", "00", "1\\d{8,9}|(?:3\\d|[4-9])\\d{7}", [8, 9, 10], [["(\\d)(\\d{3})(\\d{4})", "$1-$2 $3", ["[4-79]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1-$2 $3", ["1(?:[02469]|[378][1-9]|53)|8", "1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1-$2 $3", ["3"], "0$1"], ["(\\d)(\\d{3})(\\d{2})(\\d{4})", "$1-$2-$3-$4", ["1(?:[367]|80)"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2 $3", ["15"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2 $3", ["1"], "0$1"]], "0"], "MZ": ["258", "00", "(?:2|8\\d)\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2|8[2-79]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]]]], "NA": ["264", "00", "[68]\\d{7,8}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["88"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["6"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["87"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"]], "0"], "NC": ["687", "00", "(?:050|[2-57-9]\\d\\d)\\d{3}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1.$2.$3", ["[02-57-9]"]]]], "NE": ["227", "00", "[027-9]\\d{7}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["08"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[089]|2[013]|7[0467]"]]]], "NF": ["672", "00", "[13]\\d{5}", [6], [["(\\d{2})(\\d{4})", "$1 $2", ["1[0-3]"]], ["(\\d)(\\d{5})", "$1 $2", ["[13]"]]], 0, 0, "([0-258]\\d{4})$", "3$1"], "NG": ["234", "009", "38\\d{6}|[78]\\d{9,13}|(?:20|9\\d)\\d{8}", [8, 10, 11, 12, 13, 14], [["(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["3"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[7-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["20[129]"], "0$1"], ["(\\d{4})(\\d{2})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["[78]"], "0$1"], ["(\\d{3})(\\d{5})(\\d{5,6})", "$1 $2 $3", ["[78]"], "0$1"]], "0"], "NI": ["505", "00", "(?:1800|[25-8]\\d{3})\\d{4}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[125-8]"]]]], "NL": ["31", "00", "(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|8\\d{6,9}|9\\d{6,10}|1\\d{4,5}", [5, 6, 7, 8, 9, 10, 11], [["(\\d{3})(\\d{4,7})", "$1 $2", ["[89]0"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["66"], "0$1"], ["(\\d)(\\d{8})", "$1 $2", ["6"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-578]|91"], "0$1"], ["(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3", ["9"], "0$1"]], "0"], "NO": ["47", "00", "(?:0|[2-9]\\d{3})\\d{4}", [5, 8], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-79]"]]], 0, 0, 0, 0, 0, "[02-689]|7[0-8]"], "NP": ["977", "00", "(?:1\\d|9)\\d{9}|[1-9]\\d{7}", [8, 10, 11], [["(\\d)(\\d{7})", "$1-$2", ["1[2-6]"], "0$1"], ["(\\d{2})(\\d{6})", "$1-$2", ["1[01]|[2-8]|9(?:[1-59]|[67][2-6])"], "0$1"], ["(\\d{3})(\\d{7})", "$1-$2", ["9"]]], "0"], "NR": ["674", "00", "(?:444|(?:55|8\\d)\\d|666)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[4-68]"]]]], "NU": ["683", "00", "(?:[4-7]|888\\d)\\d{3}", [4, 7], [["(\\d{3})(\\d{4})", "$1 $2", ["8"]]]], "NZ": ["64", "0(?:0|161)", "[1289]\\d{9}|50\\d{5}(?:\\d{2,3})?|[27-9]\\d{7,8}|(?:[34]\\d|6[0-35-9])\\d{6}|8\\d{4,6}", [5, 6, 7, 8, 9, 10], [["(\\d{2})(\\d{3,8})", "$1 $2", ["8[1-79]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["50[036-8]|8|90", "50(?:[0367]|88)|8|90"], "0$1"], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["24|[346]|7[2-57-9]|9[2-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2(?:10|74)|[589]"], "0$1"], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["1|2[028]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,5})", "$1 $2 $3", ["2(?:[169]|7[0-35-9])|7"], "0$1"]], "0", 0, 0, 0, 0, 0, 0, "00"], "OM": ["968", "00", "(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}", [7, 8, 9], [["(\\d{3})(\\d{4,6})", "$1 $2", ["[58]"]], ["(\\d{2})(\\d{6})", "$1 $2", ["2"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[179]"]]]], "PA": ["507", "00", "(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}", [7, 8, 10, 11], [["(\\d{3})(\\d{4})", "$1-$2", ["[1-57-9]"]], ["(\\d{4})(\\d{4})", "$1-$2", ["[68]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]]]], "PE": ["51", "00|19(?:1[124]|77|90)00", "(?:[14-8]|9\\d)\\d{7}", [8, 9], [["(\\d{3})(\\d{5})", "$1 $2", ["80"], "(0$1)"], ["(\\d)(\\d{7})", "$1 $2", ["1"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["[4-8]"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"]]], "0", 0, 0, 0, 0, 0, 0, "00", " Anexo "], "PF": ["689", "00", "4\\d{5}(?:\\d{2})?|8\\d{7,8}", [6, 8, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["44"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["4|8[7-9]"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]]]], "PG": ["675", "00|140[1-3]", "(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}", [7, 8], [["(\\d{3})(\\d{4})", "$1 $2", ["18|[2-69]|85"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[78]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "PH": ["63", "00", "(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}", [6, 8, 9, 10, 11, 12, 13], [["(\\d)(\\d{5})", "$1 $2", ["2"], "(0$1)"], ["(\\d{4})(\\d{4,6})", "$1 $2", ["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2", "3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"], "(0$1)"], ["(\\d{5})(\\d{4})", "$1 $2", ["346|4(?:27|9[35])|883", "3469|4(?:279|9(?:30|56))|8834"], "(0$1)"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[3-7]|8[2-8]"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]], ["(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["1"]]], "0"], "PK": ["92", "00", "122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[06-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}", [8, 9, 10, 11, 12], [["(\\d{3})(\\d{3})(\\d{2,7})", "$1 $2 $3", ["[89]0"], "0$1"], ["(\\d{4})(\\d{5})", "$1 $2", ["1"]], ["(\\d{3})(\\d{6,7})", "$1 $2", ["2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])", "9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]"], "(0$1)"], ["(\\d{2})(\\d{7,8})", "$1 $2", ["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"], "(0$1)"], ["(\\d{5})(\\d{5})", "$1 $2", ["58"], "(0$1)"], ["(\\d{3})(\\d{7})", "$1 $2", ["3"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[24-9]"], "(0$1)"]], "0"], "PL": ["48", "00", "(?:6|8\\d\\d)\\d{7}|[1-9]\\d{6}(?:\\d{2})?|[26]\\d{5}", [6, 7, 8, 9, 10], [["(\\d{5})", "$1", ["19"]], ["(\\d{3})(\\d{3})", "$1 $2", ["11|20|64"]], ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1", "(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19"]], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["64"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)"]], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[2-8]|[2-7]|8[1-79]|9[145]"]], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["8"]]]], "PM": ["508", "00", "[45]\\d{5}|(?:708|8\\d\\d)\\d{6}", [6, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[45]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["7"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], "PR": ["1", "011", "(?:[589]\\d\\d|787)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "787|939"], "PS": ["970", "00", "[2489]2\\d{6}|(?:1\\d|5)\\d{8}", [8, 9, 10], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2489]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["5"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], "0"], "PT": ["351", "00", "1693\\d{5}|(?:[26-9]\\d|30)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["2[12]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["16|[236-9]"]]]], "PW": ["680", "01[12]", "(?:[24-8]\\d\\d|345|900)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], "PY": ["595", "00", "59\\d{4,6}|9\\d{5,10}|(?:[2-46-8]\\d|5[0-8])\\d{4,7}", [6, 7, 8, 9, 10, 11], [["(\\d{3})(\\d{3,6})", "$1 $2", ["[2-9]0"], "0$1"], ["(\\d{2})(\\d{5})", "$1 $2", ["[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]"], "(0$1)"], ["(\\d{3})(\\d{4,5})", "$1 $2", ["2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["87"]], ["(\\d{3})(\\d{6})", "$1 $2", ["9(?:[5-79]|8[1-7])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-8]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"]]], "0"], "QA": ["974", "00", "800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}", [7, 8, 9, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["2[16]|8"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[3-7]"]]]], "RE": ["262", "00", "(?:26|[689]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2689]"], "0$1"]], "0", 0, 0, 0, 0, 0, [["26(?:2\\d\\d|3(?:0\\d|1[0-6]))\\d{4}"], ["69(?:2\\d\\d|3(?:[06][0-6]|1[013]|2[0-2]|3[0-39]|4\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))\\d{4}"], ["80\\d{7}"], ["89[1-37-9]\\d{6}"], 0, 0, 0, 0, ["9(?:399[0-3]|479[0-5]|76(?:2[278]|3[0-37]))\\d{4}"], ["8(?:1[019]|2[0156]|84|90)\\d{6}"]]], "RO": ["40", "00", "(?:[236-8]\\d|90)\\d{7}|[23]\\d{5}", [6, 9], [["(\\d{3})(\\d{3})", "$1 $2", ["2[3-6]", "2[3-6]\\d9"], "0$1"], ["(\\d{2})(\\d{4})", "$1 $2", ["219|31"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[23]1"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[236-9]"], "0$1"]], "0", 0, 0, 0, 0, 0, 0, 0, " int "], "RS": ["381", "00", "38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}", [6, 7, 8, 9, 10, 11, 12], [["(\\d{3})(\\d{3,9})", "$1 $2", ["(?:2[389]|39)0|[7-9]"], "0$1"], ["(\\d{2})(\\d{5,10})", "$1 $2", ["[1-36]"], "0$1"]], "0"], "RU": ["7", "810", "8\\d{13}|[347-9]\\d{9}", [10, 14], [["(\\d{4})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["7(?:1[0-8]|2[1-9])", "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))", "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"], "8 ($1)", 1], ["(\\d{5})(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["7(?:1[0-68]|2[1-9])", "7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))", "7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"], "8 ($1)", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "8 ($1)", 1], ["(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[349]|8(?:[02-7]|1[1-8])"], "8 ($1)", 1], ["(\\d{4})(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["8"], "8 ($1)"]], "8", 0, 0, 0, 0, "3[04-689]|[489]", 0, "8~10"], "RW": ["250", "00", "(?:06|[27]\\d\\d|[89]00)\\d{6}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[7-9]"], "0$1"]], "0"], "SA": ["966", "00", "92\\d{7}|(?:[15]|8\\d)\\d{8}", [9, 10], [["(\\d{4})(\\d{5})", "$1 $2", ["9"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["5"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["81"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]]], "0"], "SB": ["677", "0[01]", "[6-9]\\d{6}|[1-6]\\d{4}", [5, 7], [["(\\d{2})(\\d{5})", "$1 $2", ["6[89]|7|8[4-9]|9(?:[1-8]|9[0-8])"]]]], "SC": ["248", "010|0[0-2]", "(?:[2489]\\d|64)\\d{5}", [7], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[246]|9[57]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "SD": ["249", "00", "[19]\\d{8}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[19]"], "0$1"]], "0"], "SE": ["46", "00", "(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}", [6, 7, 8, 9, 10, 12], [["(\\d{2})(\\d{2,3})(\\d{2})", "$1-$2 $3", ["20"], "0$1", 0, "$1 $2 $3"], ["(\\d{3})(\\d{4})", "$1-$2", ["9(?:00|39|44|9)"], "0$1", 0, "$1 $2"], ["(\\d{2})(\\d{3})(\\d{2})", "$1-$2 $3", ["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"], "0$1", 0, "$1 $2 $3"], ["(\\d)(\\d{2,3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["8"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2,3})(\\d{2})", "$1-$2 $3", ["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"], "0$1", 0, "$1 $2 $3"], ["(\\d{3})(\\d{2,3})(\\d{3})", "$1-$2 $3", ["9(?:00|39|44)"], "0$1", 0, "$1 $2 $3"], ["(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["10|7"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1-$2 $3 $4", ["8"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{3})", "$1-$2 $3 $4", ["9"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1-$2 $3 $4 $5", ["[26]"], "0$1", 0, "$1 $2 $3 $4 $5"]], "0"], "SG": ["65", "0[0-3]\\d", "(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}", [8, 10, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["[369]|8(?:0[1-9]|[1-9])"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]], ["(\\d{4})(\\d{4})(\\d{3})", "$1 $2 $3", ["7"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]]]], "SH": ["290", "00", "(?:[256]\\d|8)\\d{3}", [4, 5], 0, 0, 0, 0, 0, 0, "[256]"], "SI": ["386", "00|10(?:22|66|88|99)", "[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}", [5, 6, 7, 8], [["(\\d{2})(\\d{3,6})", "$1 $2", ["8[09]|9"], "0$1"], ["(\\d{3})(\\d{5})", "$1 $2", ["59|8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[37][01]|4[0139]|51|6"], "0$1"], ["(\\d)(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[1-57]"], "(0$1)"]], "0", 0, 0, 0, 0, 0, 0, "00"], "SJ": ["47", "00", "0\\d{4}|(?:[489]\\d|79)\\d{6}", [5, 8], 0, 0, 0, 0, 0, 0, "79"], "SK": ["421", "00", "[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}", [6, 7, 9], [["(\\d)(\\d{2})(\\d{3,4})", "$1 $2 $3", ["21"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["[3-5][1-8]1", "[3-5][1-8]1[67]"], "0$1"], ["(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1/$2 $3 $4", ["2"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[689]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1/$2 $3 $4", ["[3-5]"], "0$1"]], "0"], "SL": ["232", "00", "(?:[237-9]\\d|66)\\d{6}", [8], [["(\\d{2})(\\d{6})", "$1 $2", ["[236-9]"], "(0$1)"]], "0"], "SM": ["378", "00", "(?:0549|[5-7]\\d)\\d{6}", [8, 10], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]"]], ["(\\d{4})(\\d{6})", "$1 $2", ["0"]]], 0, 0, "([89]\\d{5})$", "0549$1"], "SN": ["221", "00", "(?:[378]\\d|93)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[379]"]]]], "SO": ["252", "00", "[346-9]\\d{8}|[12679]\\d{7}|[1-5]\\d{6}|[1348]\\d{5}", [6, 7, 8, 9], [["(\\d{2})(\\d{4})", "$1 $2", ["8[125]"]], ["(\\d{6})", "$1", ["[134]"]], ["(\\d)(\\d{6})", "$1 $2", ["[15]|2[0-79]|3[0-46-8]|4[0-7]"]], ["(\\d)(\\d{7})", "$1 $2", ["(?:2|90)4|[67]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[348]|64|79|90"]], ["(\\d{2})(\\d{5,7})", "$1 $2", ["1|28|6[0-35-9]|77|9[2-9]"]]], "0"], "SR": ["597", "00", "(?:[2-5]|68|[78]\\d)\\d{5}", [6, 7], [["(\\d{2})(\\d{2})(\\d{2})", "$1-$2-$3", ["56"]], ["(\\d{3})(\\d{3})", "$1-$2", ["[2-5]"]], ["(\\d{3})(\\d{4})", "$1-$2", ["[6-8]"]]]], "SS": ["211", "00", "[19]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[19]"], "0$1"]], "0"], "ST": ["239", "00", "(?:22|9\\d)\\d{5}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[29]"]]]], "SV": ["503", "00", "[267]\\d{7}|(?:80\\d|900)\\d{4}(?:\\d{4})?", [7, 8, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["[89]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[267]"]], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[89]"]]]], "SX": ["1", "011", "7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "(5\\d{6})$|1", "721$1", 0, "721"], "SY": ["963", "00", "[1-39]\\d{8}|[1-5]\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-5]"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1", 1]], "0"], "SZ": ["268", "00", "0800\\d{4}|(?:[237]\\d|900)\\d{6}", [8, 9], [["(\\d{4})(\\d{4})", "$1 $2", ["[0237]"]], ["(\\d{5})(\\d{4})", "$1 $2", ["9"]]]], "TA": ["290", "00", "8\\d{3}", [4], 0, 0, 0, 0, 0, 0, "8"], "TC": ["1", "011", "(?:[58]\\d\\d|649|900)\\d{7}", [10], 0, "1", 0, "([2-479]\\d{6})$|1", "649$1", 0, "649"], "TD": ["235", "00|16", "(?:22|[689]\\d|77)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[26-9]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "TG": ["228", "00", "[279]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[279]"]]]], "TH": ["66", "00[1-9]", "(?:001800|[2-57]|[689]\\d)\\d{7}|1\\d{7,9}", [8, 9, 10, 13], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[13-9]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], "0"], "TJ": ["992", "810", "[0-57-9]\\d{8}", [9], [["(\\d{6})(\\d)(\\d{2})", "$1 $2 $3", ["331", "3317"]], ["(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["44[02-479]|[34]7"]], ["(\\d{4})(\\d)(\\d{4})", "$1 $2 $3", ["3(?:[1245]|3[12])"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[0-57-9]"]]], 0, 0, 0, 0, 0, 0, 0, "8~10"], "TK": ["690", "00", "[2-47]\\d{3,6}", [4, 5, 6, 7]], "TL": ["670", "00", "7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}", [7, 8], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-489]|70"]], ["(\\d{4})(\\d{4})", "$1 $2", ["7"]]]], "TM": ["993", "810", "(?:[1-6]\\d|71)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["12"], "(8 $1)"], ["(\\d{3})(\\d)(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[1-5]"], "(8 $1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["[67]"], "8 $1"]], "8", 0, 0, 0, 0, 0, 0, "8~10"], "TN": ["216", "00", "[2-57-9]\\d{7}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-57-9]"]]]], "TO": ["676", "00", "(?:0800|(?:[5-8]\\d\\d|999)\\d)\\d{3}|[2-8]\\d{4}", [5, 7], [["(\\d{2})(\\d{3})", "$1-$2", ["[2-4]|50|6[09]|7[0-24-69]|8[05]"]], ["(\\d{4})(\\d{3})", "$1 $2", ["0"]], ["(\\d{3})(\\d{4})", "$1 $2", ["[5-9]"]]]], "TR": ["90", "00", "4\\d{6}|8\\d{11,12}|(?:[2-58]\\d\\d|900)\\d{7}", [7, 10, 12, 13], [["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["512|8[01589]|90"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["5(?:[0-59]|61)", "5(?:[0-59]|61[06])", "5(?:[0-59]|61[06]1)"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24][1-8]|3[1-9]"], "(0$1)", 1], ["(\\d{3})(\\d{3})(\\d{6,7})", "$1 $2 $3", ["80"], "0$1", 1]], "0"], "TT": ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-46-8]\\d{6})$|1", "868$1", 0, "868"], "TV": ["688", "00", "(?:2|7\\d\\d|90)\\d{4}", [5, 6, 7], [["(\\d{2})(\\d{3})", "$1 $2", ["2"]], ["(\\d{2})(\\d{4})", "$1 $2", ["90"]], ["(\\d{2})(\\d{5})", "$1 $2", ["7"]]]], "TW": ["886", "0(?:0[25-79]|19)", "[2-689]\\d{8}|7\\d{9,10}|[2-8]\\d{7}|2\\d{6}", [7, 8, 9, 10, 11], [["(\\d{2})(\\d)(\\d{4})", "$1 $2 $3", ["202"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[258]0"], "0$1"], ["(\\d)(\\d{3,4})(\\d{4})", "$1 $2 $3", ["[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]", "[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[49]"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["7"], "0$1"]], "0", 0, 0, 0, 0, 0, 0, 0, "#"], "TZ": ["255", "00[056]", "(?:[25-8]\\d|41|90)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[24]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["5"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[67]"], "0$1"]], "0"], "UA": ["380", "00", "[89]\\d{9}|[3-9]\\d{8}", [9, 10], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]", "6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]"], "0$1"], ["(\\d{4})(\\d{5})", "$1 $2", ["3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])", "3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[3-7]|89|9[1-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[89]"], "0$1"]], "0", 0, 0, 0, 0, 0, 0, "0~0"], "UG": ["256", "00[057]", "800\\d{6}|(?:[29]0|[347]\\d)\\d{7}", [9], [["(\\d{4})(\\d{5})", "$1 $2", ["202", "2024"], "0$1"], ["(\\d{3})(\\d{6})", "$1 $2", ["[27-9]|4(?:6[45]|[7-9])"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["[34]"], "0$1"]], "0"], "US": ["1", "011", "[2-9]\\d{9}|3\\d{6}", [10], [["(\\d{3})(\\d{4})", "$1-$2", ["310"], 0, 1], ["(\\d{3})(\\d{3})(\\d{4})", "($1) $2-$3", ["[2-9]"], 0, 1, "$1-$2-$3"]], "1", 0, 0, 0, 0, 0, [["(?:3052(?:0[0-8]|[1-9]\\d)|5056(?:[0-35-9]\\d|4[468])|7302[0-4]\\d)\\d{4}|(?:305[3-9]|472[24]|505[2-57-9]|7306|983[2-47-9])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[013569]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}"], [""], ["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"], ["900[2-9]\\d{6}"], ["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"], 0, 0, 0, ["305209\\d{4}"]]], "UY": ["598", "0(?:0|1[3-9]\\d)", "0004\\d{2,9}|[1249]\\d{7}|(?:[49]\\d|80)\\d{5}", [6, 7, 8, 9, 10, 11, 12, 13], [["(\\d{3})(\\d{3,4})", "$1 $2", ["0"]], ["(\\d{3})(\\d{4})", "$1 $2", ["[49]0|8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{4})(\\d{4})", "$1 $2", ["[124]"]], ["(\\d{3})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["0"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{2,4})", "$1 $2 $3 $4", ["0"]]], "0", 0, 0, 0, 0, 0, 0, "00", " int. "], "UZ": ["998", "00", "(?:20|33|[5-79]\\d|88)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[235-9]"]]]], "VA": ["39", "00", "0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}", [6, 7, 8, 9, 10, 11, 12], 0, 0, 0, 0, 0, 0, "06698"], "VC": ["1", "011", "(?:[58]\\d\\d|784|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "784$1", 0, "784"], "VE": ["58", "00", "[68]00\\d{7}|(?:[24]\\d|[59]0)\\d{8}", [10], [["(\\d{3})(\\d{7})", "$1-$2", ["[24-689]"], "0$1"]], "0"], "VG": ["1", "011", "(?:284|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-578]\\d{6})$|1", "284$1", 0, "284"], "VI": ["1", "011", "[58]\\d{9}|(?:34|90)0\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "340$1", 0, "340"], "VN": ["84", "00", "[12]\\d{9}|[135-9]\\d{8}|[16]\\d{7}|[16-8]\\d{6}", [7, 8, 9, 10], [["(\\d{2})(\\d{5})", "$1 $2", ["80"], "0$1", 1], ["(\\d{4})(\\d{4,6})", "$1 $2", ["1"], 0, 1], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["6"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[357-9]"], "0$1", 1], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["2[48]"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["2"], "0$1", 1]], "0"], "VU": ["678", "00", "[57-9]\\d{6}|(?:[238]\\d|48)\\d{3}", [5, 7], [["(\\d{3})(\\d{4})", "$1 $2", ["[57-9]"]]]], "WF": ["681", "00", "(?:40|72|8\\d{4})\\d{4}|[89]\\d{5}", [6, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[47-9]"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]]]], "WS": ["685", "0", "(?:[2-6]|8\\d{5})\\d{4}|[78]\\d{6}|[68]\\d{5}", [5, 6, 7, 10], [["(\\d{5})", "$1", ["[2-5]|6[1-9]"]], ["(\\d{3})(\\d{3,7})", "$1 $2", ["[68]"]], ["(\\d{2})(\\d{5})", "$1 $2", ["7"]]]], "XK": ["383", "00", "2\\d{7,8}|3\\d{7,11}|(?:4\\d\\d|[89]00)\\d{5}", [8, 9, 10, 11, 12], [["(\\d{3})(\\d{5})", "$1 $2", ["[89]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-4]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2|39"], "0$1"], ["(\\d{2})(\\d{7,10})", "$1 $2", ["3"], "0$1"]], "0"], "YE": ["967", "00", "(?:1|7\\d)\\d{7}|[1-7]\\d{6}", [7, 8, 9], [["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-6]|7(?:[24-6]|8[0-7])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["7"], "0$1"]], "0"], "YT": ["262", "00", "(?:80|9\\d)\\d{7}|(?:26|63)9\\d{6}", [9], 0, "0", 0, 0, 0, 0, 0, [["269(?:0[0-467]|15|5[0-4]|6\\d|[78]0)\\d{4}"], ["639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])\\d{4}"], ["80\\d{7}"], 0, 0, 0, 0, 0, ["9(?:(?:39|47)8[01]|769\\d)\\d{4}"]]], "ZA": ["27", "00", "[1-79]\\d{8}|8\\d{4,9}", [5, 6, 7, 8, 9, 10], [["(\\d{2})(\\d{3,4})", "$1 $2", ["8[1-4]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["8[1-4]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["860"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"]], "0"], "ZM": ["260", "00", "800\\d{6}|(?:21|63|[79]\\d)\\d{7}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[28]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["[79]"], "0$1"]], "0"], "ZW": ["263", "00", "2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}", [5, 6, 7, 8, 9, 10], [["(\\d{3})(\\d{3,5})", "$1 $2", ["2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]"], "0$1"], ["(\\d)(\\d{3})(\\d{2,4})", "$1 $2 $3", ["[49]"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["80"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2", "2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)", "2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)"], "0$1"], ["(\\d{4})(\\d{6})", "$1 $2", ["8"], "0$1"], ["(\\d{2})(\\d{3,5})", "$1 $2", ["1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["29[013-9]|39|54"], "0$1"], ["(\\d{4})(\\d{3,5})", "$1 $2", ["(?:25|54)8", "258|5483"], "0$1"]], "0"] }, "nonGeographic": { "800": ["800", 0, "(?:00|[1-9]\\d)\\d{6}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["\\d"]]], 0, 0, 0, 0, 0, 0, [0, 0, ["(?:00|[1-9]\\d)\\d{6}"]]], "808": ["808", 0, "[1-9]\\d{7}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[1-9]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, 0, ["[1-9]\\d{7}"]]], "870": ["870", 0, "7\\d{11}|[35-7]\\d{8}", [9, 12], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[35-7]"]]], 0, 0, 0, 0, 0, 0, [0, ["(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}"]]], "878": ["878", 0, "10\\d{10}", [12], [["(\\d{2})(\\d{5})(\\d{5})", "$1 $2 $3", ["1"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, ["10\\d{10}"]]], "881": ["881", 0, "6\\d{9}|[0-36-9]\\d{8}", [9, 10], [["(\\d)(\\d{3})(\\d{5})", "$1 $2 $3", ["[0-37-9]"]], ["(\\d)(\\d{3})(\\d{5,6})", "$1 $2 $3", ["6"]]], 0, 0, 0, 0, 0, 0, [0, ["6\\d{9}|[0-36-9]\\d{8}"]]], "882": ["882", 0, "[13]\\d{6}(?:\\d{2,5})?|[19]\\d{7}|(?:[25]\\d\\d|4)\\d{7}(?:\\d{2})?", [7, 8, 9, 10, 11, 12], [["(\\d{2})(\\d{5})", "$1 $2", ["16|342"]], ["(\\d{2})(\\d{6})", "$1 $2", ["49"]], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["1[36]|9"]], ["(\\d{2})(\\d{4})(\\d{3})", "$1 $2 $3", ["3[23]"]], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["16"]], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["10|23|3(?:[15]|4[57])|4|51"]], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["34"]], ["(\\d{2})(\\d{4,5})(\\d{5})", "$1 $2 $3", ["[1-35]"]]], 0, 0, 0, 0, 0, 0, [0, ["342\\d{4}|(?:337|49)\\d{6}|(?:3(?:2|47|7\\d{3})|50\\d{3})\\d{7}", [7, 8, 9, 10, 12]], 0, 0, 0, ["348[57]\\d{7}", [11]], 0, 0, ["1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\d{4}|6\\d{5,10})|(?:345\\d|9[89])\\d{6}|(?:10|2(?:3|85\\d)|3(?:[15]|[69]\\d\\d)|4[15-8]|51)\\d{8}"]]], "883": ["883", 0, "(?:[1-4]\\d|51)\\d{6,10}", [8, 9, 10, 11, 12], [["(\\d{3})(\\d{3})(\\d{2,8})", "$1 $2 $3", ["[14]|2[24-689]|3[02-689]|51[24-9]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["510"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["21"]], ["(\\d{4})(\\d{4})(\\d{4})", "$1 $2 $3", ["51[13]"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[235]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, ["(?:2(?:00\\d\\d|10)|(?:370[1-9]|51\\d0)\\d)\\d{7}|51(?:00\\d{5}|[24-9]0\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\d{5,9}"]]], "888": ["888", 0, "\\d{11}", [11], [["(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3"]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, ["\\d{11}"]]], "979": ["979", 0, "[1359]\\d{8}", [9], [["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[1359]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, ["[1359]\\d{8}"]]] } };
50161
+ const metadata = { "version": 4, "country_calling_codes": { "1": ["US", "AG", "AI", "AS", "BB", "BM", "BS", "CA", "DM", "DO", "GD", "GU", "JM", "KN", "KY", "LC", "MP", "MS", "PR", "SX", "TC", "TT", "VC", "VG", "VI"], "7": ["RU", "KZ"], "20": ["EG"], "27": ["ZA"], "30": ["GR"], "31": ["NL"], "32": ["BE"], "33": ["FR"], "34": ["ES"], "36": ["HU"], "39": ["IT", "VA"], "40": ["RO"], "41": ["CH"], "43": ["AT"], "44": ["GB", "GG", "IM", "JE"], "45": ["DK"], "46": ["SE"], "47": ["NO", "SJ"], "48": ["PL"], "49": ["DE"], "51": ["PE"], "52": ["MX"], "53": ["CU"], "54": ["AR"], "55": ["BR"], "56": ["CL"], "57": ["CO"], "58": ["VE"], "60": ["MY"], "61": ["AU", "CC", "CX"], "62": ["ID"], "63": ["PH"], "64": ["NZ"], "65": ["SG"], "66": ["TH"], "81": ["JP"], "82": ["KR"], "84": ["VN"], "86": ["CN"], "90": ["TR"], "91": ["IN"], "92": ["PK"], "93": ["AF"], "94": ["LK"], "95": ["MM"], "98": ["IR"], "211": ["SS"], "212": ["MA", "EH"], "213": ["DZ"], "216": ["TN"], "218": ["LY"], "220": ["GM"], "221": ["SN"], "222": ["MR"], "223": ["ML"], "224": ["GN"], "225": ["CI"], "226": ["BF"], "227": ["NE"], "228": ["TG"], "229": ["BJ"], "230": ["MU"], "231": ["LR"], "232": ["SL"], "233": ["GH"], "234": ["NG"], "235": ["TD"], "236": ["CF"], "237": ["CM"], "238": ["CV"], "239": ["ST"], "240": ["GQ"], "241": ["GA"], "242": ["CG"], "243": ["CD"], "244": ["AO"], "245": ["GW"], "246": ["IO"], "247": ["AC"], "248": ["SC"], "249": ["SD"], "250": ["RW"], "251": ["ET"], "252": ["SO"], "253": ["DJ"], "254": ["KE"], "255": ["TZ"], "256": ["UG"], "257": ["BI"], "258": ["MZ"], "260": ["ZM"], "261": ["MG"], "262": ["RE", "YT"], "263": ["ZW"], "264": ["NA"], "265": ["MW"], "266": ["LS"], "267": ["BW"], "268": ["SZ"], "269": ["KM"], "290": ["SH", "TA"], "291": ["ER"], "297": ["AW"], "298": ["FO"], "299": ["GL"], "350": ["GI"], "351": ["PT"], "352": ["LU"], "353": ["IE"], "354": ["IS"], "355": ["AL"], "356": ["MT"], "357": ["CY"], "358": ["FI", "AX"], "359": ["BG"], "370": ["LT"], "371": ["LV"], "372": ["EE"], "373": ["MD"], "374": ["AM"], "375": ["BY"], "376": ["AD"], "377": ["MC"], "378": ["SM"], "380": ["UA"], "381": ["RS"], "382": ["ME"], "383": ["XK"], "385": ["HR"], "386": ["SI"], "387": ["BA"], "389": ["MK"], "420": ["CZ"], "421": ["SK"], "423": ["LI"], "500": ["FK"], "501": ["BZ"], "502": ["GT"], "503": ["SV"], "504": ["HN"], "505": ["NI"], "506": ["CR"], "507": ["PA"], "508": ["PM"], "509": ["HT"], "590": ["GP", "BL", "MF"], "591": ["BO"], "592": ["GY"], "593": ["EC"], "594": ["GF"], "595": ["PY"], "596": ["MQ"], "597": ["SR"], "598": ["UY"], "599": ["CW", "BQ"], "670": ["TL"], "672": ["NF"], "673": ["BN"], "674": ["NR"], "675": ["PG"], "676": ["TO"], "677": ["SB"], "678": ["VU"], "679": ["FJ"], "680": ["PW"], "681": ["WF"], "682": ["CK"], "683": ["NU"], "685": ["WS"], "686": ["KI"], "687": ["NC"], "688": ["TV"], "689": ["PF"], "690": ["TK"], "691": ["FM"], "692": ["MH"], "850": ["KP"], "852": ["HK"], "853": ["MO"], "855": ["KH"], "856": ["LA"], "880": ["BD"], "886": ["TW"], "960": ["MV"], "961": ["LB"], "962": ["JO"], "963": ["SY"], "964": ["IQ"], "965": ["KW"], "966": ["SA"], "967": ["YE"], "968": ["OM"], "970": ["PS"], "971": ["AE"], "972": ["IL"], "973": ["BH"], "974": ["QA"], "975": ["BT"], "976": ["MN"], "977": ["NP"], "992": ["TJ"], "993": ["TM"], "994": ["AZ"], "995": ["GE"], "996": ["KG"], "998": ["UZ"] }, "countries": { "AC": ["247", "00", "(?:[01589]\\d|[46])\\d{4}", [5, 6]], "AD": ["376", "00", "(?:1|6\\d)\\d{7}|[135-9]\\d{5}", [6, 8, 9], [["(\\d{3})(\\d{3})", "$1 $2", ["[135-9]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["1"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]]]], "AE": ["971", "00", "(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}", [5, 6, 7, 8, 9, 10, 11, 12], [["(\\d{3})(\\d{2,9})", "$1 $2", ["60|8"]], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[236]|[479][2-8]"], "0$1"], ["(\\d{3})(\\d)(\\d{5})", "$1 $2 $3", ["[479]"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["5"], "0$1"]], "0"], "AF": ["93", "00", "[2-7]\\d{8}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"]], "0"], "AG": ["1", "011", "(?:268|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([457]\\d{6})$|1", "268$1", 0, "268"], "AI": ["1", "011", "(?:264|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2457]\\d{6})$|1", "264$1", 0, "264"], "AL": ["355", "00", "(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}", [6, 7, 8, 9], [["(\\d{3})(\\d{3,4})", "$1 $2", ["80|9"], "0$1"], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["4[2-6]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2358][2-5]|4"], "0$1"], ["(\\d{3})(\\d{5})", "$1 $2", ["[23578]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["6"], "0$1"]], "0"], "AM": ["374", "00", "(?:[1-489]\\d|55|60|77)\\d{6}", [8], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[89]0"], "0 $1"], ["(\\d{3})(\\d{5})", "$1 $2", ["2|3[12]"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["1|47"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["[3-9]"], "0$1"]], "0"], "AO": ["244", "00", "[29]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[29]"]]]], "AR": ["54", "00", "(?:11|[89]\\d\\d)\\d{8}|[2368]\\d{9}", [10, 11], [["(\\d{4})(\\d{2})(\\d{4})", "$1 $2-$3", ["2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])", "2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)", "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]", "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"], "0$1", 1], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["1"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[68]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2-$3", ["[23]"], "0$1", 1], ["(\\d)(\\d{4})(\\d{2})(\\d{4})", "$2 15-$3-$4", ["9(?:2[2-469]|3[3-578])", "9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))", "9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)", "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]", "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"], "0$1", 0, "$1 $2 $3-$4"], ["(\\d)(\\d{2})(\\d{4})(\\d{4})", "$2 15-$3-$4", ["91"], "0$1", 0, "$1 $2 $3-$4"], ["(\\d{3})(\\d{3})(\\d{5})", "$1-$2-$3", ["8"], "0$1"], ["(\\d)(\\d{3})(\\d{3})(\\d{4})", "$2 15-$3-$4", ["9"], "0$1", 0, "$1 $2 $3-$4"]], "0", 0, "0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?", "9$1"], "AS": ["1", "011", "(?:[58]\\d\\d|684|900)\\d{7}", [10], 0, "1", 0, "([267]\\d{6})$|1", "684$1", 0, "684"], "AT": ["43", "00", "1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13], [["(\\d)(\\d{3,12})", "$1 $2", ["1(?:11|[2-9])"], "0$1"], ["(\\d{3})(\\d{2})", "$1 $2", ["517"], "0$1"], ["(\\d{2})(\\d{3,5})", "$1 $2", ["5[079]"], "0$1"], ["(\\d{3})(\\d{3,10})", "$1 $2", ["(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]"], "0$1"], ["(\\d{4})(\\d{3,9})", "$1 $2", ["[2-467]|5[2-6]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["5"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4,7})", "$1 $2 $3", ["5"], "0$1"]], "0"], "AU": ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{7}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}", [5, 6, 7, 8, 9, 10, 12], [["(\\d{2})(\\d{3,4})", "$1 $2", ["16"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["16"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["14|4"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[2378]"], "(0$1)"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:30|[89])"]]], "0", 0, "(183[12])|0", 0, 0, 0, [["(?:(?:(?:2(?:[0-26-9]\\d|3[0-8]|4[02-9]|5[0135-9])|7(?:[013-57-9]\\d|2[0-8]))\\d|3(?:(?:[0-3589]\\d|6[1-9]|7[0-35-9])\\d|4(?:[0-578]\\d|90)))\\d\\d|8(?:51(?:0(?:0[03-9]|[12479]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\d|7[89]|9[0-4])|3\\d\\d)|(?:6[0-8]|[78]\\d)\\d{3}|9(?:[02-9]\\d{3}|1(?:(?:[0-58]\\d|6[0135-9])\\d|7(?:0[0-24-9]|[1-9]\\d)|9(?:[0-46-9]\\d|5[0-79])))))\\d{3}", [9]], ["4(?:79[01]|83[0-389]|94[0-4])\\d{5}|4(?:[0-36]\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, ["163\\d{2,6}", [5, 6, 7, 8, 9]], ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], "AW": ["297", "00", "(?:[25-79]\\d\\d|800)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[25-9]"]]]], "AX": ["358", "00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))", "2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|7\\d{5,11}|(?:[14]\\d|3[0-46-9]|50)\\d{4,8}", [5, 6, 7, 8, 9, 10, 11, 12], 0, "0", 0, 0, 0, 0, "18", 0, "00"], "AZ": ["994", "00", "365\\d{6}|(?:[124579]\\d|60|88)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["90"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[28]|2|365|46", "1[28]|2|365[45]|46", "1[28]|2|365(?:4|5[02])|46"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[13-9]"], "0$1"]], "0"], "BA": ["387", "00", "6\\d{8}|(?:[35689]\\d|49|70)\\d{6}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["6[1-3]|[7-9]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2-$3", ["[3-5]|6[56]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["6"], "0$1"]], "0"], "BB": ["1", "011", "(?:246|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "246$1", 0, "246"], "BD": ["880", "00", "[1-469]\\d{9}|8[0-79]\\d{7,8}|[2-79]\\d{8}|[2-9]\\d{7}|[3-9]\\d{6}|[57-9]\\d{5}", [6, 7, 8, 9, 10], [["(\\d{2})(\\d{4,6})", "$1-$2", ["31[5-8]|[459]1"], "0$1"], ["(\\d{3})(\\d{3,7})", "$1-$2", ["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]"], "0$1"], ["(\\d{4})(\\d{3,6})", "$1-$2", ["[13-9]|2[23]"], "0$1"], ["(\\d)(\\d{7,8})", "$1-$2", ["2"], "0$1"]], "0"], "BE": ["32", "00", "4\\d{8}|[1-9]\\d{7}", [8, 9], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:80|9)0"], "0$1"], ["(\\d)(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[239]|4[23]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[15-8]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["4"], "0$1"]], "0"], "BF": ["226", "00", "[025-7]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[025-7]"]]]], "BG": ["359", "00", "00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}", [6, 7, 8, 9, 12], [["(\\d)(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["2"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["43[1-6]|70[1-9]"], "0$1"], ["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:70|8)0"], "0$1"], ["(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3", ["43[1-7]|7"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[48]|9[08]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"]], "0"], "BH": ["973", "00", "[136-9]\\d{7}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[13679]|8[02-4679]"]]]], "BI": ["257", "00", "(?:[267]\\d|31)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2367]"]]]], "BJ": ["229", "00", "[24-689]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24-689]"]]]], "BL": ["590", "00", "590\\d{6}|(?:69|80|9\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["590(?:2[7-9]|3[3-7]|5[12]|87)\\d{4}"], ["69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))\\d{4}"], ["80[0-5]\\d{6}"], 0, 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-5])\\d{4}"]]], "BM": ["1", "011", "(?:441|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "441$1", 0, "441"], "BN": ["673", "00", "[2-578]\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-578]"]]]], "BO": ["591", "00(?:1\\d)?", "8001\\d{5}|(?:[2-467]\\d|50)\\d{6}", [8, 9], [["(\\d)(\\d{7})", "$1 $2", ["[235]|4[46]"]], ["(\\d{8})", "$1", ["[67]"]], ["(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["8"]]], "0", 0, "0(1\\d)?"], "BQ": ["599", "00", "(?:[34]1|7\\d)\\d{5}", [7], 0, 0, 0, 0, 0, 0, "[347]"], "BR": ["55", "00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)", "(?:[1-46-9]\\d\\d|5(?:[0-46-9]\\d|5[0-46-9]))\\d{8}|[1-9]\\d{9}|[3589]\\d{8}|[34]\\d{7}", [8, 9, 10, 11], [["(\\d{4})(\\d{4})", "$1-$2", ["300|4(?:0[02]|37)", "4(?:02|37)0|[34]00"]], ["(\\d{3})(\\d{2,3})(\\d{4})", "$1 $2 $3", ["(?:[358]|90)0"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"], "($1)"], ["(\\d{2})(\\d{5})(\\d{4})", "$1 $2-$3", ["[16][1-9]|[2-57-9]"], "($1)"]], "0", 0, "(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?", "$2"], "BS": ["1", "011", "(?:242|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([3-8]\\d{6})$|1", "242$1", 0, "242"], "BT": ["975", "00", "[17]\\d{7}|[2-8]\\d{6}", [7, 8], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-68]|7[246]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[67]|7"]]]], "BW": ["267", "00", "(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}", [7, 8, 10], [["(\\d{2})(\\d{5})", "$1 $2", ["90"]], ["(\\d{3})(\\d{4})", "$1 $2", ["[24-6]|3[15-9]"]], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[37]"]], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["0"]], ["(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["8"]]]], "BY": ["375", "810", "(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}", [6, 7, 8, 9, 10, 11], [["(\\d{3})(\\d{3})", "$1 $2", ["800"], "8 $1"], ["(\\d{3})(\\d{2})(\\d{2,4})", "$1 $2 $3", ["800"], "8 $1"], ["(\\d{4})(\\d{2})(\\d{3})", "$1 $2-$3", ["1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])", "1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])"], "8 0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["1(?:[56]|7[467])|2[1-3]"], "8 0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[1-4]"], "8 0$1"], ["(\\d{3})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["[89]"], "8 $1"]], "8", 0, "0|80?", 0, 0, 0, 0, "8~10"], "BZ": ["501", "00", "(?:0800\\d|[2-8])\\d{6}", [7, 11], [["(\\d{3})(\\d{4})", "$1-$2", ["[2-8]"]], ["(\\d)(\\d{3})(\\d{4})(\\d{3})", "$1-$2-$3-$4", ["0"]]]], "CA": ["1", "011", "(?:[2-8]\\d|90)\\d{8}|3\\d{6}", [7, 10], 0, "1", 0, 0, 0, 0, 0, [["(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|90[25])[2-9]\\d{6}", [10]], ["", [10]], ["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", [10]], ["900[2-9]\\d{6}", [10]], ["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|(?:5(?:00|2[125-9]|33|44|66|77|88)|622)[2-9]\\d{6}", [10]], 0, ["310\\d{4}", [7]], 0, ["600[2-9]\\d{6}", [10]]]], "CC": ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}", [6, 7, 8, 9, 10, 12], 0, "0", 0, "([59]\\d{7})$|0", "8$1", 0, 0, [["8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}", [9]], ["4(?:79[01]|83[0-389]|94[0-4])\\d{5}|4(?:[0-36]\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, 0, ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], "CD": ["243", "00", "(?:(?:[189]|5\\d)\\d|2)\\d{7}|[1-68]\\d{6}", [7, 8, 9, 10], [["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["88"], "0$1"], ["(\\d{2})(\\d{5})", "$1 $2", ["[1-6]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["5"], "0$1"]], "0"], "CF": ["236", "00", "(?:[27]\\d{3}|8776)\\d{4}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[278]"]]]], "CG": ["242", "00", "222\\d{6}|(?:0\\d|80)\\d{7}", [9], [["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[02]"]]]], "CH": ["41", "00", "8\\d{11}|[2-9]\\d{8}", [9, 12], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8[047]|90"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-79]|81"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["8"], "0$1"]], "0"], "CI": ["225", "00", "[02]\\d{9}", [10], [["(\\d{2})(\\d{2})(\\d)(\\d{5})", "$1 $2 $3 $4", ["2"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3 $4", ["0"]]]], "CK": ["682", "00", "[2-578]\\d{4}", [5], [["(\\d{2})(\\d{3})", "$1 $2", ["[2-578]"]]]], "CL": ["56", "(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0", "12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}", [9, 10, 11], [["(\\d{5})(\\d{4})", "$1 $2", ["219", "2196"], "($1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["44"]], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2[1-36]"], "($1)"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["9[2-9]"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])"], "($1)"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["60|8"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]], ["(\\d{3})(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["60"]]]], "CM": ["237", "00", "[26]\\d{8}|88\\d{6,7}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["88"]], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[26]|88"]]]], "CN": ["86", "00|1(?:[12]\\d|79)\\d\\d00", "(?:(?:1[03-689]|2\\d)\\d\\d|6)\\d{8}|1\\d{10}|[126]\\d{6}(?:\\d(?:\\d{2})?)?|86\\d{5,6}|(?:[3-579]\\d|8[0-57-9])\\d{5,9}", [7, 8, 9, 10, 11, 12], [["(\\d{2})(\\d{5,6})", "$1 $2", ["(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]", "(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123"], "0$1"], ["(\\d{3})(\\d{5,6})", "$1 $2", ["3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]", "(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]", "85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])", "85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["(?:4|80)0"]], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["10|2(?:[02-57-9]|1[1-9])", "10|2(?:[02-57-9]|1[1-9])", "10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"], "0$1", 1], ["(\\d{3})(\\d{7,8})", "$1 $2", ["9"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["80"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[3-578]"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["1[3-9]"]], ["(\\d{2})(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["[12]"], "0$1", 1]], "0", 0, "(1(?:[12]\\d|79)\\d\\d)|0", 0, 0, 0, 0, "00"], "CO": ["57", "00(?:4(?:[14]4|56)|[579])", "60\\d{8}|(?:1\\d|[39])\\d{9}", [10, 11], [["(\\d{3})(\\d{7})", "$1 $2", ["6|90"], "($1)"], ["(\\d{3})(\\d{7})", "$1 $2", ["3[0-357]|91"]], ["(\\d)(\\d{3})(\\d{7})", "$1-$2-$3", ["1"], "0$1", 0, "$1 $2 $3"]], "0", 0, "0([3579]|4(?:[14]4|56))?"], "CR": ["506", "00", "(?:8\\d|90)\\d{8}|(?:[24-8]\\d{3}|3005)\\d{4}", [8, 10], [["(\\d{4})(\\d{4})", "$1 $2", ["[2-7]|8[3-9]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[89]"]]], 0, 0, "(19(?:0[0-2468]|1[09]|20|66|77|99))"], "CU": ["53", "119", "(?:[2-7]|8\\d\\d)\\d{7}|[2-47]\\d{6}|[34]\\d{5}", [6, 7, 8, 10], [["(\\d{2})(\\d{4,6})", "$1 $2", ["2[1-4]|[34]"], "(0$1)"], ["(\\d)(\\d{6,7})", "$1 $2", ["7"], "(0$1)"], ["(\\d)(\\d{7})", "$1 $2", ["[56]"], "0$1"], ["(\\d{3})(\\d{7})", "$1 $2", ["8"], "0$1"]], "0"], "CV": ["238", "0", "(?:[2-59]\\d\\d|800)\\d{4}", [7], [["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2-589]"]]]], "CW": ["599", "00", "(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}", [7, 8], [["(\\d{3})(\\d{4})", "$1 $2", ["[3467]"]], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["9[4-8]"]]], 0, 0, 0, 0, 0, "[69]"], "CX": ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}", [6, 7, 8, 9, 10, 12], 0, "0", 0, "([59]\\d{7})$|0", "8$1", 0, 0, [["8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}", [9]], ["4(?:79[01]|83[0-389]|94[0-4])\\d{5}|4(?:[0-36]\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, 0, ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], "CY": ["357", "00", "(?:[279]\\d|[58]0)\\d{6}", [8], [["(\\d{2})(\\d{6})", "$1 $2", ["[257-9]"]]]], "CZ": ["420", "00", "(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}", [9, 10, 11, 12], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-8]|9[015-7]"]], ["(\\d{2})(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["96"]], ["(\\d{2})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]]]], "DE": ["49", "00", "[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[015]\\d|2[13]|31|[46][1-8])\\d{1,9}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [["(\\d{2})(\\d{3,13})", "$1 $2", ["3[02]|40|[68]9"], "0$1"], ["(\\d{3})(\\d{3,12})", "$1 $2", ["2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1", "2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1"], "0$1"], ["(\\d{4})(\\d{2,11})", "$1 $2", ["[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]", "[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["138"], "0$1"], ["(\\d{5})(\\d{2,10})", "$1 $2", ["3"], "0$1"], ["(\\d{3})(\\d{5,11})", "$1 $2", ["181"], "0$1"], ["(\\d{3})(\\d)(\\d{4,10})", "$1 $2 $3", ["1(?:3|80)|9"], "0$1"], ["(\\d{3})(\\d{7,8})", "$1 $2", ["1[67]"], "0$1"], ["(\\d{3})(\\d{7,12})", "$1 $2", ["8"], "0$1"], ["(\\d{5})(\\d{6})", "$1 $2", ["185", "1850", "18500"], "0$1"], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], ["(\\d{4})(\\d{7})", "$1 $2", ["18[68]"], "0$1"], ["(\\d{4})(\\d{7})", "$1 $2", ["15[1279]"], "0$1"], ["(\\d{5})(\\d{6})", "$1 $2", ["15[03568]", "15(?:[0568]|31)"], "0$1"], ["(\\d{3})(\\d{8})", "$1 $2", ["18"], "0$1"], ["(\\d{3})(\\d{2})(\\d{7,8})", "$1 $2 $3", ["1(?:6[023]|7)"], "0$1"], ["(\\d{4})(\\d{2})(\\d{7})", "$1 $2 $3", ["15[279]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{8})", "$1 $2 $3", ["15"], "0$1"]], "0"], "DJ": ["253", "00", "(?:2\\d|77)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[27]"]]]], "DK": ["45", "00", "[2-9]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-9]"]]]], "DM": ["1", "011", "(?:[58]\\d\\d|767|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "767$1", 0, "767"], "DO": ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "8001|8[024]9"], "DZ": ["213", "00", "(?:[1-4]|[5-79]\\d|80)\\d{7}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[1-4]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["9"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-8]"], "0$1"]], "0"], "EC": ["593", "00", "1\\d{9,10}|(?:[2-7]|9\\d)\\d{7}", [8, 9, 10, 11], [["(\\d)(\\d{3})(\\d{4})", "$1 $2-$3", ["[2-7]"], "(0$1)", 0, "$1-$2-$3"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1"]]], "0"], "EE": ["372", "00", "8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d|90)\\d{5}", [7, 8, 10], [["(\\d{3})(\\d{4})", "$1 $2", ["[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88", "[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88"]], ["(\\d{4})(\\d{3,4})", "$1 $2", ["[45]|8(?:00|[1-49])", "[45]|8(?:00[1-9]|[1-49])"]], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["7"]], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]]]], "EG": ["20", "00", "[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}", [8, 9, 10], [["(\\d)(\\d{7,8})", "$1 $2", ["[23]"], "0$1"], ["(\\d{2})(\\d{6,7})", "$1 $2", ["1[35]|[4-6]|8[2468]|9[235-7]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{2})(\\d{8})", "$1 $2", ["1"], "0$1"]], "0"], "EH": ["212", "00", "[5-8]\\d{8}", [9], 0, "0", 0, 0, 0, 0, "528[89]"], "ER": ["291", "00", "[178]\\d{6}", [7], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[178]"], "0$1"]], "0"], "ES": ["34", "00", "[5-9]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]00"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-9]"]]]], "ET": ["251", "00", "(?:11|[2-579]\\d)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-579]"], "0$1"]], "0"], "FI": ["358", "00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))", "[1-35689]\\d{4}|7\\d{10,11}|(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}", [5, 6, 7, 8, 9, 10, 11, 12], [["(\\d{5})", "$1", ["20[2-59]"], "0$1"], ["(\\d{3})(\\d{3,7})", "$1 $2", ["(?:[1-3]0|[68])0|70[07-9]"], "0$1"], ["(\\d{2})(\\d{4,8})", "$1 $2", ["[14]|2[09]|50|7[135]"], "0$1"], ["(\\d{2})(\\d{6,10})", "$1 $2", ["7"], "0$1"], ["(\\d)(\\d{4,9})", "$1 $2", ["(?:1[49]|[2568])[1-8]|3(?:0[1-9]|[1-9])|9"], "0$1"]], "0", 0, 0, 0, 0, "1[03-79]|[2-9]", 0, "00"], "FJ": ["679", "0(?:0|52)", "45\\d{5}|(?:0800\\d|[235-9])\\d{6}", [7, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["[235-9]|45"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "FK": ["500", "00", "[2-7]\\d{4}", [5]], "FM": ["691", "00", "(?:[39]\\d\\d|820)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[389]"]]]], "FO": ["298", "00", "[2-9]\\d{5}", [6], [["(\\d{6})", "$1", ["[2-9]"]]], 0, 0, "(10(?:01|[12]0|88))"], "FR": ["33", "00", "[1-9]\\d{8}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0 $1"], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[1-79]"], "0$1"]], "0"], "GA": ["241", "00", "(?:[067]\\d|11)\\d{6}|[2-7]\\d{6}", [7, 8], [["(\\d)(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-7]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["11|[67]"], "0$1"]], 0, 0, "0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})", "$1"], "GB": ["44", "00", "[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}", [7, 9, 10], [["(\\d{3})(\\d{4})", "$1 $2", ["800", "8001", "80011", "800111", "8001111"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["845", "8454", "84546", "845464"], "0$1"], ["(\\d{3})(\\d{6})", "$1 $2", ["800"], "0$1"], ["(\\d{5})(\\d{4,5})", "$1 $2", ["1(?:38|5[23]|69|76|94)", "1(?:(?:38|69)7|5(?:24|39)|768|946)", "1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)"], "0$1"], ["(\\d{4})(\\d{5,6})", "$1 $2", ["1(?:[2-69][02-9]|[78])"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["[25]|7(?:0|6[02-9])", "[25]|7(?:0|6(?:[03-9]|2[356]))"], "0$1"], ["(\\d{4})(\\d{6})", "$1 $2", ["7"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1389]"], "0$1"]], "0", 0, 0, 0, 0, 0, [["(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0-35])|4(?:(?:[0-5]\\d|70)\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|50))\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d|1(?:[0-7]\\d|8[0-3]))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d)\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}", [9, 10]], ["7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}", [10]], ["80[08]\\d{7}|800\\d{6}|8001111"], ["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d", [7, 10]], ["70\\d{8}", [10]], 0, ["(?:3[0347]|55)\\d{8}", [10]], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", [10]], ["56\\d{8}", [10]]], 0, " x"], "GD": ["1", "011", "(?:473|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "473$1", 0, "473"], "GE": ["995", "00", "(?:[3-57]\\d\\d|800)\\d{6}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["70"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["32"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[57]"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[348]"], "0$1"]], "0"], "GF": ["594", "00", "[56]94\\d{6}|(?:80|9\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[56]|9[47]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[89]"], "0$1"]], "0"], "GG": ["44", "00", "(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?", [7, 9, 10], 0, "0", 0, "([25-9]\\d{5})$|0", "1481$1", 0, 0, [["1481[25-9]\\d{5}", [10]], ["7(?:(?:781|839)\\d|911[17])\\d{5}", [10]], ["80[08]\\d{7}|800\\d{6}|8001111"], ["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d", [7, 10]], ["70\\d{8}", [10]], 0, ["(?:3[0347]|55)\\d{8}", [10]], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", [10]], ["56\\d{8}", [10]]]], "GH": ["233", "00", "(?:[235]\\d{3}|800)\\d{5}", [8, 9], [["(\\d{3})(\\d{5})", "$1 $2", ["8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[235]"], "0$1"]], "0"], "GI": ["350", "00", "(?:[25]\\d|60)\\d{6}", [8], [["(\\d{3})(\\d{5})", "$1 $2", ["2"]]]], "GL": ["299", "00", "(?:19|[2-689]\\d|70)\\d{4}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["19|[2-9]"]]]], "GM": ["220", "00", "[2-9]\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], "GN": ["224", "00", "722\\d{6}|(?:3|6\\d)\\d{7}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["3"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[67]"]]]], "GP": ["590", "00", "590\\d{6}|(?:69|80|9\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[569]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], "0", 0, 0, 0, 0, 0, [["590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\d)\\d{4}"], ["69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))\\d{4}"], ["80[0-5]\\d{6}"], 0, 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-5])\\d{4}"]]], "GQ": ["240", "00", "222\\d{6}|(?:3\\d|55|[89]0)\\d{7}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235]"]], ["(\\d{3})(\\d{6})", "$1 $2", ["[89]"]]]], "GR": ["30", "00", "5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}", [10, 11, 12], [["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["21|7"]], ["(\\d{4})(\\d{6})", "$1 $2", ["2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2689]"]], ["(\\d{3})(\\d{3,4})(\\d{5})", "$1 $2 $3", ["8"]]]], "GT": ["502", "00", "80\\d{6}|(?:1\\d{3}|[2-7])\\d{7}", [8, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["[2-8]"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]]]], "GU": ["1", "011", "(?:[58]\\d\\d|671|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "671$1", 0, "671"], "GW": ["245", "00", "[49]\\d{8}|4\\d{6}", [7, 9], [["(\\d{3})(\\d{4})", "$1 $2", ["40"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[49]"]]]], "GY": ["592", "001", "(?:[2-8]\\d{3}|9008)\\d{3}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], "HK": ["852", "00(?:30|5[09]|[126-9]?)", "8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}", [5, 6, 7, 8, 9, 11], [["(\\d{3})(\\d{2,5})", "$1 $2", ["900", "9003"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[2-7]|8[1-4]|9(?:0[1-9]|[1-8])"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{3})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "HN": ["504", "00", "8\\d{10}|[237-9]\\d{7}", [8, 11], [["(\\d{4})(\\d{4})", "$1-$2", ["[237-9]"]]]], "HR": ["385", "00", "(?:[24-69]\\d|3[0-79])\\d{7}|80\\d{5,7}|[1-79]\\d{7}|6\\d{5,6}", [6, 7, 8, 9], [["(\\d{2})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["6[01]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["8"], "0$1"], ["(\\d)(\\d{4})(\\d{3})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["6|7[245]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-57]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"], "0$1"]], "0"], "HT": ["509", "00", "(?:[2-489]\\d|55)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["[2-589]"]]]], "HU": ["36", "00", "[235-7]\\d{8}|[1-9]\\d{7}", [8, 9], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "(06 $1)"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]"], "(06 $1)"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-9]"], "06 $1"]], "06"], "ID": ["62", "00[89]", "00[1-9]\\d{9,14}|(?:[1-36]|8\\d{5})\\d{6}|00\\d{9}|[1-9]\\d{8,10}|[2-9]\\d{7}", [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["15"]], ["(\\d{2})(\\d{5,9})", "$1 $2", ["2[124]|[36]1"], "(0$1)"], ["(\\d{3})(\\d{5,7})", "$1 $2", ["800"], "0$1"], ["(\\d{3})(\\d{5,8})", "$1 $2", ["[2-79]"], "(0$1)"], ["(\\d{3})(\\d{3,4})(\\d{3})", "$1-$2-$3", ["8[1-35-9]"], "0$1"], ["(\\d{3})(\\d{6,8})", "$1 $2", ["1"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["804"], "0$1"], ["(\\d{3})(\\d)(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["80"], "0$1"], ["(\\d{3})(\\d{4})(\\d{4,5})", "$1-$2-$3", ["8"], "0$1"]], "0"], "IE": ["353", "00", "(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}", [7, 8, 9, 10], [["(\\d{2})(\\d{5})", "$1 $2", ["2[24-9]|47|58|6[237-9]|9[35-9]"], "(0$1)"], ["(\\d{3})(\\d{5})", "$1 $2", ["[45]0"], "(0$1)"], ["(\\d)(\\d{3,4})(\\d{4})", "$1 $2 $3", ["1"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2569]|4[1-69]|7[14]"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["70"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["81"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[78]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["4"], "(0$1)"], ["(\\d{2})(\\d)(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], "IL": ["972", "0(?:0|1[2-9])", "1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}", [7, 8, 9, 10, 11, 12], [["(\\d{4})(\\d{3})", "$1-$2", ["125"]], ["(\\d{4})(\\d{2})(\\d{2})", "$1-$2-$3", ["121"]], ["(\\d)(\\d{3})(\\d{4})", "$1-$2-$3", ["[2-489]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["[57]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1-$2-$3", ["12"]], ["(\\d{4})(\\d{6})", "$1-$2", ["159"]], ["(\\d)(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3-$4", ["1[7-9]"]], ["(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})", "$1-$2 $3-$4", ["15"]]], "0"], "IM": ["44", "00", "1624\\d{6}|(?:[3578]\\d|90)\\d{8}", [10], 0, "0", 0, "([25-8]\\d{5})$|0", "1624$1", 0, "74576|(?:16|7[56])24"], "IN": ["91", "00", "(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}", [8, 9, 10, 11, 12, 13], [["(\\d{8})", "$1", ["5(?:0|2[23]|3[03]|[67]1|88)", "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)", "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"], 0, 1], ["(\\d{4})(\\d{4,5})", "$1 $2", ["180", "1800"], 0, 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["140"], 0, 1], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["11|2[02]|33|4[04]|79[1-7]|80[2-46]", "11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])", "11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]", "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]", "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]"], "0$1", 1], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807", "1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]", "1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\d|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"], "0$1", 1], ["(\\d{5})(\\d{5})", "$1 $2", ["[6-9]"], "0$1", 1], ["(\\d{4})(\\d{2,4})(\\d{4})", "$1 $2 $3", ["1(?:6|8[06])", "1(?:6|8[06]0)"], 0, 1], ["(\\d{4})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["18"], 0, 1]], "0"], "IO": ["246", "00", "3\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["3"]]]], "IQ": ["964", "00", "(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}", [8, 9, 10], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-6]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"]], "0"], "IR": ["98", "00", "[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}", [4, 5, 6, 7, 10], [["(\\d{4,5})", "$1", ["96"], "0$1"], ["(\\d{2})(\\d{4,5})", "$1 $2", ["(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["[1-8]"], "0$1"]], "0"], "IS": ["354", "00|1(?:0(?:01|[12]0)|100)", "(?:38\\d|[4-9])\\d{6}", [7, 9], [["(\\d{3})(\\d{4})", "$1 $2", ["[4-9]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["3"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "IT": ["39", "00", "0\\d{5,10}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:43|55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?", [6, 7, 8, 9, 10, 11, 12], [["(\\d{2})(\\d{4,6})", "$1 $2", ["0[26]"]], ["(\\d{3})(\\d{3,6})", "$1 $2", ["0[13-57-9][0159]|8(?:03|4[17]|9[2-5])", "0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))"]], ["(\\d{4})(\\d{2,6})", "$1 $2", ["0(?:[13-579][2-46-8]|8[236-8])"]], ["(\\d{4})(\\d{4})", "$1 $2", ["894"]], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[26]|5"]], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1(?:44|[679])|[378]|43"]], ["(\\d{3})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[13-57-9][0159]|14"]], ["(\\d{2})(\\d{4})(\\d{5})", "$1 $2 $3", ["0[26]"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]], ["(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["3"]]], 0, 0, 0, 0, 0, 0, [["0669[0-79]\\d{1,6}|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}", [6, 7, 8, 9, 10, 11]], ["3[2-9]\\d{7,8}|(?:31|43)\\d{8}", [9, 10]], ["80(?:0\\d{3}|3)\\d{3}", [6, 9]], ["(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}", [6, 8, 9, 10]], ["1(?:78\\d|99)\\d{6}", [9, 10]], ["3[2-8]\\d{9,10}", [11, 12]], 0, 0, ["55\\d{8}", [10]], ["84(?:[08]\\d{3}|[17])\\d{3}", [6, 9]]]], "JE": ["44", "00", "1534\\d{6}|(?:[3578]\\d|90)\\d{8}", [10], 0, "0", 0, "([0-24-8]\\d{5})$|0", "1534$1", 0, 0, [["1534[0-24-8]\\d{5}"], ["7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97\\d))\\d{5}"], ["80(?:07(?:35|81)|8901)\\d{4}"], ["(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}"], ["701511\\d{4}"], 0, ["(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}"], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}"], ["56\\d{8}"]]], "JM": ["1", "011", "(?:[58]\\d\\d|658|900)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "658|876"], "JO": ["962", "00", "(?:(?:[2689]|7\\d)\\d|32|53)\\d{6}", [8, 9], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2356]|87"], "(0$1)"], ["(\\d{3})(\\d{5,6})", "$1 $2", ["[89]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["70"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["7"], "0$1"]], "0"], "JP": ["81", "010", "00[1-9]\\d{6,14}|[257-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}", [8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [["(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3", ["(?:12|57|99)0"], "0$1"], ["(\\d{4})(\\d)(\\d{4})", "$1-$2-$3", ["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])", "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]", "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["60"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1-$2-$3", ["[36]|4(?:2[09]|7[01])", "[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])", "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]", "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{4})", "$1-$2-$3", ["[14]|[289][2-9]|5[3-9]|7[2-4679]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["800"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[257-9]"], "0$1"]], "0", 0, "(000[259]\\d{6})$|(?:(?:003768)0?)|0", "$1"], "KE": ["254", "000", "(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}", [7, 8, 9, 10], [["(\\d{2})(\\d{5,7})", "$1 $2", ["[24-6]"], "0$1"], ["(\\d{3})(\\d{6})", "$1 $2", ["[17]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[89]"], "0$1"]], "0"], "KG": ["996", "00", "8\\d{9}|[235-9]\\d{8}", [9, 10], [["(\\d{4})(\\d{5})", "$1 $2", ["3(?:1[346]|[24-79])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235-79]|88"], "0$1"], ["(\\d{3})(\\d{3})(\\d)(\\d{2,3})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], "KH": ["855", "00[14-9]", "1\\d{9}|[1-9]\\d{7,8}", [8, 9, 10], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-9]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], "0"], "KI": ["686", "00", "(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}", [5, 8], 0, "0"], "KM": ["269", "00", "[3478]\\d{6}", [7], [["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[3478]"]]]], "KN": ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "869$1", 0, "869"], "KP": ["850", "00|99", "85\\d{6}|(?:19\\d|[2-7])\\d{7}", [8, 10], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"], "0$1"], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"]], "0"], "KR": ["82", "00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))", "00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}", [5, 6, 8, 9, 10, 11, 12, 13, 14], [["(\\d{2})(\\d{3,4})", "$1-$2", ["(?:3[1-3]|[46][1-4]|5[1-5])1"], "0$1"], ["(\\d{4})(\\d{4})", "$1-$2", ["1"]], ["(\\d)(\\d{3,4})(\\d{4})", "$1-$2-$3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["[36]0|8"], "0$1"], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1-$2-$3", ["[1346]|5[1-5]"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[57]"], "0$1"], ["(\\d{2})(\\d{5})(\\d{4})", "$1-$2-$3", ["5"], "0$1"]], "0", 0, "0(8(?:[1-46-8]|5\\d\\d))?"], "KW": ["965", "00", "18\\d{5}|(?:[2569]\\d|41)\\d{6}", [7, 8], [["(\\d{4})(\\d{3,4})", "$1 $2", ["[169]|2(?:[235]|4[1-35-9])|52"]], ["(\\d{3})(\\d{5})", "$1 $2", ["[245]"]]]], "KY": ["1", "011", "(?:345|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "345$1", 0, "345"], "KZ": ["7", "810", "(?:33622|8\\d{8})\\d{5}|[78]\\d{9}", [10, 14], 0, "8", 0, 0, 0, 0, "33|7", 0, "8~10"], "LA": ["856", "00", "[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}", [8, 9, 10], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["2[13]|3[14]|[4-8]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["30[0135-9]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[23]"], "0$1"]], "0"], "LB": ["961", "00", "[27-9]\\d{7}|[13-9]\\d{6}", [7, 8], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[27-9]"]]], "0"], "LC": ["1", "011", "(?:[58]\\d\\d|758|900)\\d{7}", [10], 0, "1", 0, "([2-8]\\d{6})$|1", "758$1", 0, "758"], "LI": ["423", "00", "[68]\\d{8}|(?:[2378]\\d|90)\\d{5}", [7, 9], [["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2379]|8(?:0[09]|7)", "[2379]|8(?:0(?:02|9)|7)"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["69"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]]], "0", 0, "(1001)|0"], "LK": ["94", "00", "[1-9]\\d{8}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[1-689]"], "0$1"]], "0"], "LR": ["231", "00", "(?:[245]\\d|33|77|88)\\d{7}|(?:2\\d|[4-6])\\d{6}", [7, 8, 9], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["4[67]|[56]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-578]"], "0$1"]], "0"], "LS": ["266", "00", "(?:[256]\\d\\d|800)\\d{5}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[2568]"]]]], "LT": ["370", "00", "(?:[3469]\\d|52|[78]0)\\d{6}", [8], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["52[0-7]"], "(0-$1)", 1], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[7-9]"], "0 $1", 1], ["(\\d{2})(\\d{6})", "$1 $2", ["37|4(?:[15]|6[1-8])"], "(0-$1)", 1], ["(\\d{3})(\\d{5})", "$1 $2", ["[3-6]"], "(0-$1)", 1]], "0", 0, "[08]"], "LU": ["352", "00", "35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}", [4, 5, 6, 7, 8, 9, 10, 11], [["(\\d{2})(\\d{3})", "$1 $2", ["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]], ["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]], ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["20[2-689]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})", "$1 $2 $3 $4", ["2(?:[0367]|4[3-8])"]], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["80[01]|90[015]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["20"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})", "$1 $2 $3 $4 $5", ["2(?:[0367]|4[3-8])"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})", "$1 $2 $3 $4", ["[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]"]]], 0, 0, "(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)"], "LV": ["371", "00", "(?:[268]\\d|90)\\d{6}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[269]|8[01]"]]]], "LY": ["218", "00", "[2-9]\\d{8}", [9], [["(\\d{2})(\\d{7})", "$1-$2", ["[2-9]"], "0$1"]], "0"], "MA": ["212", "00", "[5-8]\\d{8}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["5[45]"], "0$1"], ["(\\d{4})(\\d{5})", "$1-$2", ["5(?:2[2-46-9]|3[3-9]|9)|8(?:0[89]|92)"], "0$1"], ["(\\d{2})(\\d{7})", "$1-$2", ["8"], "0$1"], ["(\\d{3})(\\d{6})", "$1-$2", ["[5-7]"], "0$1"]], "0", 0, 0, 0, 0, 0, [["5(?:2(?:[0-25-79]\\d|3[1-578]|4[02-46-8]|8[0235-7])|3(?:[0-47]\\d|5[02-9]|6[02-8]|8[014-9]|9[3-9])|(?:4[067]|5[03])\\d)\\d{5}"], ["(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[0167]\\d|2[0-4]|5[01]|8[0-3]))\\d{6}"], ["80[0-7]\\d{6}"], ["89\\d{7}"], 0, 0, 0, 0, ["(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}"]]], "MC": ["377", "00", "(?:[3489]|6\\d)\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["4"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[389]"]], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["6"], "0$1"]], "0"], "MD": ["373", "00", "(?:[235-7]\\d|[89]0)\\d{6}", [8], [["(\\d{3})(\\d{5})", "$1 $2", ["[89]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["22|3"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[25-7]"], "0$1"]], "0"], "ME": ["382", "00", "(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-9]"], "0$1"]], "0"], "MF": ["590", "00", "590\\d{6}|(?:69|80|9\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["590(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)\\d{4}"], ["69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))\\d{4}"], ["80[0-5]\\d{6}"], 0, 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-5])\\d{4}"]]], "MG": ["261", "00", "[23]\\d{8}", [9], [["(\\d{2})(\\d{2})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["[23]"], "0$1"]], "0", 0, "([24-9]\\d{6})$|0", "20$1"], "MH": ["692", "011", "329\\d{4}|(?:[256]\\d|45)\\d{5}", [7], [["(\\d{3})(\\d{4})", "$1-$2", ["[2-6]"]]], "1"], "MK": ["389", "00", "[2-578]\\d{7}", [8], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["2|34[47]|4(?:[37]7|5[47]|64)"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[347]"], "0$1"], ["(\\d{3})(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[58]"], "0$1"]], "0"], "ML": ["223", "00", "[24-9]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24-9]"]]]], "MM": ["95", "00", "1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}", [6, 7, 8, 9, 10], [["(\\d)(\\d{2})(\\d{3})", "$1 $2 $3", ["16|2"], "0$1"], ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]"], "0$1"], ["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[12]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[4-7]|8[1-35]"], "0$1"], ["(\\d)(\\d{3})(\\d{4,6})", "$1 $2 $3", ["9(?:2[0-4]|[35-9]|4[137-9])"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"], ["(\\d)(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["92"], "0$1"], ["(\\d)(\\d{5})(\\d{4})", "$1 $2 $3", ["9"], "0$1"]], "0"], "MN": ["976", "001", "[12]\\d{7,9}|[5-9]\\d{7}", [8, 9, 10], [["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["[12]1"], "0$1"], ["(\\d{4})(\\d{4})", "$1 $2", ["[5-9]"]], ["(\\d{3})(\\d{5,6})", "$1 $2", ["[12]2[1-3]"], "0$1"], ["(\\d{4})(\\d{5,6})", "$1 $2", ["[12](?:27|3[2-8]|4[2-68]|5[1-4689])", "[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]"], "0$1"], ["(\\d{5})(\\d{4,5})", "$1 $2", ["[12]"], "0$1"]], "0"], "MO": ["853", "00", "0800\\d{3}|(?:28|[68]\\d)\\d{6}", [7, 8], [["(\\d{4})(\\d{3})", "$1 $2", ["0"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[268]"]]]], "MP": ["1", "011", "[58]\\d{9}|(?:67|90)0\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "670$1", 0, "670"], "MQ": ["596", "00", "596\\d{6}|(?:69|80|9\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[569]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], "MR": ["222", "00", "(?:[2-4]\\d\\d|800)\\d{5}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-48]"]]]], "MS": ["1", "011", "(?:[58]\\d\\d|664|900)\\d{7}", [10], 0, "1", 0, "([34]\\d{6})$|1", "664$1", 0, "664"], "MT": ["356", "00", "3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[2357-9]"]]]], "MU": ["230", "0(?:0|[24-7]0|3[03])", "(?:[57]|8\\d\\d)\\d{7}|[2-468]\\d{6}", [7, 8, 10], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-46]|8[013]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[57]"]], ["(\\d{5})(\\d{5})", "$1 $2", ["8"]]], 0, 0, 0, 0, 0, 0, 0, "020"], "MV": ["960", "0(?:0|19)", "(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}", [7, 10], [["(\\d{3})(\\d{4})", "$1-$2", ["[34679]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "MW": ["265", "00", "(?:[1289]\\d|31|77)\\d{7}|1\\d{6}", [7, 9], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["1[2-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[137-9]"], "0$1"]], "0"], "MX": ["52", "0[09]", "[2-9]\\d{9}", [10], [["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["33|5[56]|81"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-9]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "MY": ["60", "00", "1\\d{8,9}|(?:3\\d|[4-9])\\d{7}", [8, 9, 10], [["(\\d)(\\d{3})(\\d{4})", "$1-$2 $3", ["[4-79]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1-$2 $3", ["1(?:[02469]|[378][1-9]|53)|8", "1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1-$2 $3", ["3"], "0$1"], ["(\\d)(\\d{3})(\\d{2})(\\d{4})", "$1-$2-$3-$4", ["1(?:[367]|80)"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2 $3", ["15"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2 $3", ["1"], "0$1"]], "0"], "MZ": ["258", "00", "(?:2|8\\d)\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2|8[2-79]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]]]], "NA": ["264", "00", "[68]\\d{7,8}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["88"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["6"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["87"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"]], "0"], "NC": ["687", "00", "(?:050|[2-57-9]\\d\\d)\\d{3}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1.$2.$3", ["[02-57-9]"]]]], "NE": ["227", "00", "[027-9]\\d{7}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["08"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[089]|2[013]|7[0467]"]]]], "NF": ["672", "00", "[13]\\d{5}", [6], [["(\\d{2})(\\d{4})", "$1 $2", ["1[0-3]"]], ["(\\d)(\\d{5})", "$1 $2", ["[13]"]]], 0, 0, "([0-258]\\d{4})$", "3$1"], "NG": ["234", "009", "38\\d{6}|[78]\\d{9,13}|(?:20|9\\d)\\d{8}", [8, 10, 11, 12, 13, 14], [["(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["3"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[7-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["20[129]"], "0$1"], ["(\\d{4})(\\d{2})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["[78]"], "0$1"], ["(\\d{3})(\\d{5})(\\d{5,6})", "$1 $2 $3", ["[78]"], "0$1"]], "0"], "NI": ["505", "00", "(?:1800|[25-8]\\d{3})\\d{4}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[125-8]"]]]], "NL": ["31", "00", "(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|8\\d{6,9}|9\\d{6,10}|1\\d{4,5}", [5, 6, 7, 8, 9, 10, 11], [["(\\d{3})(\\d{4,7})", "$1 $2", ["[89]0"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["66"], "0$1"], ["(\\d)(\\d{8})", "$1 $2", ["6"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-578]|91"], "0$1"], ["(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3", ["9"], "0$1"]], "0"], "NO": ["47", "00", "(?:0|[2-9]\\d{3})\\d{4}", [5, 8], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-79]"]]], 0, 0, 0, 0, 0, "[02-689]|7[0-8]"], "NP": ["977", "00", "(?:1\\d|9)\\d{9}|[1-9]\\d{7}", [8, 10, 11], [["(\\d)(\\d{7})", "$1-$2", ["1[2-6]"], "0$1"], ["(\\d{2})(\\d{6})", "$1-$2", ["1[01]|[2-8]|9(?:[1-59]|[67][2-6])"], "0$1"], ["(\\d{3})(\\d{7})", "$1-$2", ["9"]]], "0"], "NR": ["674", "00", "(?:444|(?:55|8\\d)\\d|666)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[4-68]"]]]], "NU": ["683", "00", "(?:[4-7]|888\\d)\\d{3}", [4, 7], [["(\\d{3})(\\d{4})", "$1 $2", ["8"]]]], "NZ": ["64", "0(?:0|161)", "[1289]\\d{9}|50\\d{5}(?:\\d{2,3})?|[27-9]\\d{7,8}|(?:[34]\\d|6[0-35-9])\\d{6}|8\\d{4,6}", [5, 6, 7, 8, 9, 10], [["(\\d{2})(\\d{3,8})", "$1 $2", ["8[1-79]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["50[036-8]|8|90", "50(?:[0367]|88)|8|90"], "0$1"], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["24|[346]|7[2-57-9]|9[2-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2(?:10|74)|[589]"], "0$1"], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["1|2[028]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,5})", "$1 $2 $3", ["2(?:[169]|7[0-35-9])|7"], "0$1"]], "0", 0, 0, 0, 0, 0, 0, "00"], "OM": ["968", "00", "(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}", [7, 8, 9], [["(\\d{3})(\\d{4,6})", "$1 $2", ["[58]"]], ["(\\d{2})(\\d{6})", "$1 $2", ["2"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[179]"]]]], "PA": ["507", "00", "(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}", [7, 8, 10, 11], [["(\\d{3})(\\d{4})", "$1-$2", ["[1-57-9]"]], ["(\\d{4})(\\d{4})", "$1-$2", ["[68]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]]]], "PE": ["51", "00|19(?:1[124]|77|90)00", "(?:[14-8]|9\\d)\\d{7}", [8, 9], [["(\\d{3})(\\d{5})", "$1 $2", ["80"], "(0$1)"], ["(\\d)(\\d{7})", "$1 $2", ["1"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["[4-8]"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"]]], "0", 0, 0, 0, 0, 0, 0, "00", " Anexo "], "PF": ["689", "00", "4\\d{5}(?:\\d{2})?|8\\d{7,8}", [6, 8, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["44"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["4|8[7-9]"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]]]], "PG": ["675", "00|140[1-3]", "(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}", [7, 8], [["(\\d{3})(\\d{4})", "$1 $2", ["18|[2-69]|85"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[78]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "PH": ["63", "00", "(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}", [6, 8, 9, 10, 11, 12, 13], [["(\\d)(\\d{5})", "$1 $2", ["2"], "(0$1)"], ["(\\d{4})(\\d{4,6})", "$1 $2", ["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2", "3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"], "(0$1)"], ["(\\d{5})(\\d{4})", "$1 $2", ["346|4(?:27|9[35])|883", "3469|4(?:279|9(?:30|56))|8834"], "(0$1)"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[3-7]|8[2-8]"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]], ["(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["1"]]], "0"], "PK": ["92", "00", "122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[06-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}", [8, 9, 10, 11, 12], [["(\\d{3})(\\d{3})(\\d{2,7})", "$1 $2 $3", ["[89]0"], "0$1"], ["(\\d{4})(\\d{5})", "$1 $2", ["1"]], ["(\\d{3})(\\d{6,7})", "$1 $2", ["2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])", "9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]"], "(0$1)"], ["(\\d{2})(\\d{7,8})", "$1 $2", ["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"], "(0$1)"], ["(\\d{5})(\\d{5})", "$1 $2", ["58"], "(0$1)"], ["(\\d{3})(\\d{7})", "$1 $2", ["3"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[24-9]"], "(0$1)"]], "0"], "PL": ["48", "00", "(?:6|8\\d\\d)\\d{7}|[1-9]\\d{6}(?:\\d{2})?|[26]\\d{5}", [6, 7, 8, 9, 10], [["(\\d{5})", "$1", ["19"]], ["(\\d{3})(\\d{3})", "$1 $2", ["11|20|64"]], ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1", "(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19"]], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["64"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)"]], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[2-8]|[2-7]|8[1-79]|9[145]"]], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["8"]]]], "PM": ["508", "00", "[45]\\d{5}|(?:708|80\\d)\\d{6}", [6, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[45]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["7"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], "PR": ["1", "011", "(?:[589]\\d\\d|787)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "787|939"], "PS": ["970", "00", "[2489]2\\d{6}|(?:1\\d|5)\\d{8}", [8, 9, 10], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2489]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["5"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], "0"], "PT": ["351", "00", "1693\\d{5}|(?:[26-9]\\d|30)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["2[12]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["16|[236-9]"]]]], "PW": ["680", "01[12]", "(?:[24-8]\\d\\d|345|900)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], "PY": ["595", "00", "59\\d{4,6}|9\\d{5,10}|(?:[2-46-8]\\d|5[0-8])\\d{4,7}", [6, 7, 8, 9, 10, 11], [["(\\d{3})(\\d{3,6})", "$1 $2", ["[2-9]0"], "0$1"], ["(\\d{2})(\\d{5})", "$1 $2", ["[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]"], "(0$1)"], ["(\\d{3})(\\d{4,5})", "$1 $2", ["2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["87"]], ["(\\d{3})(\\d{6})", "$1 $2", ["9(?:[5-79]|8[1-7])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-8]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"]]], "0"], "QA": ["974", "00", "800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}", [7, 8, 9, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["2[16]|8"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[3-7]"]]]], "RE": ["262", "00", "(?:26|[689]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2689]"], "0$1"]], "0", 0, 0, 0, 0, 0, [["26(?:2\\d\\d|3(?:0\\d|1[0-6]))\\d{4}"], ["69(?:2\\d\\d|3(?:[06][0-6]|1[013]|2[0-2]|3[0-39]|4\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))\\d{4}"], ["80\\d{7}"], ["89[1-37-9]\\d{6}"], 0, 0, 0, 0, ["9(?:399[0-3]|479[0-5]|76(?:2[278]|3[0-37]))\\d{4}"], ["8(?:1[019]|2[0156]|84|90)\\d{6}"]]], "RO": ["40", "00", "(?:[236-8]\\d|90)\\d{7}|[23]\\d{5}", [6, 9], [["(\\d{3})(\\d{3})", "$1 $2", ["2[3-6]", "2[3-6]\\d9"], "0$1"], ["(\\d{2})(\\d{4})", "$1 $2", ["219|31"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[23]1"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[236-9]"], "0$1"]], "0", 0, 0, 0, 0, 0, 0, 0, " int "], "RS": ["381", "00", "38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}", [6, 7, 8, 9, 10, 11, 12], [["(\\d{3})(\\d{3,9})", "$1 $2", ["(?:2[389]|39)0|[7-9]"], "0$1"], ["(\\d{2})(\\d{5,10})", "$1 $2", ["[1-36]"], "0$1"]], "0"], "RU": ["7", "810", "8\\d{13}|[347-9]\\d{9}", [10, 14], [["(\\d{4})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["7(?:1[0-8]|2[1-9])", "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))", "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"], "8 ($1)", 1], ["(\\d{5})(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["7(?:1[0-68]|2[1-9])", "7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))", "7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"], "8 ($1)", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "8 ($1)", 1], ["(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[349]|8(?:[02-7]|1[1-8])"], "8 ($1)", 1], ["(\\d{4})(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["8"], "8 ($1)"]], "8", 0, 0, 0, 0, "3[04-689]|[489]", 0, "8~10"], "RW": ["250", "00", "(?:06|[27]\\d\\d|[89]00)\\d{6}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[7-9]"], "0$1"]], "0"], "SA": ["966", "00", "92\\d{7}|(?:[15]|8\\d)\\d{8}", [9, 10], [["(\\d{4})(\\d{5})", "$1 $2", ["9"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["5"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["81"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]]], "0"], "SB": ["677", "0[01]", "[6-9]\\d{6}|[1-6]\\d{4}", [5, 7], [["(\\d{2})(\\d{5})", "$1 $2", ["6[89]|7|8[4-9]|9(?:[1-8]|9[0-8])"]]]], "SC": ["248", "010|0[0-2]", "(?:[2489]\\d|64)\\d{5}", [7], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[246]|9[57]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "SD": ["249", "00", "[19]\\d{8}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[19]"], "0$1"]], "0"], "SE": ["46", "00", "(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}", [6, 7, 8, 9, 10, 12], [["(\\d{2})(\\d{2,3})(\\d{2})", "$1-$2 $3", ["20"], "0$1", 0, "$1 $2 $3"], ["(\\d{3})(\\d{4})", "$1-$2", ["9(?:00|39|44|9)"], "0$1", 0, "$1 $2"], ["(\\d{2})(\\d{3})(\\d{2})", "$1-$2 $3", ["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"], "0$1", 0, "$1 $2 $3"], ["(\\d)(\\d{2,3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["8"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2,3})(\\d{2})", "$1-$2 $3", ["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"], "0$1", 0, "$1 $2 $3"], ["(\\d{3})(\\d{2,3})(\\d{3})", "$1-$2 $3", ["9(?:00|39|44)"], "0$1", 0, "$1 $2 $3"], ["(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["10|7"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1-$2 $3 $4", ["8"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{3})", "$1-$2 $3 $4", ["9"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1-$2 $3 $4 $5", ["[26]"], "0$1", 0, "$1 $2 $3 $4 $5"]], "0"], "SG": ["65", "0[0-3]\\d", "(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}", [8, 10, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["[369]|8(?:0[1-9]|[1-9])"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]], ["(\\d{4})(\\d{4})(\\d{3})", "$1 $2 $3", ["7"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]]]], "SH": ["290", "00", "(?:[256]\\d|8)\\d{3}", [4, 5], 0, 0, 0, 0, 0, 0, "[256]"], "SI": ["386", "00|10(?:22|66|88|99)", "[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}", [5, 6, 7, 8], [["(\\d{2})(\\d{3,6})", "$1 $2", ["8[09]|9"], "0$1"], ["(\\d{3})(\\d{5})", "$1 $2", ["59|8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[37][01]|4[0139]|51|6"], "0$1"], ["(\\d)(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[1-57]"], "(0$1)"]], "0", 0, 0, 0, 0, 0, 0, "00"], "SJ": ["47", "00", "0\\d{4}|(?:[489]\\d|79)\\d{6}", [5, 8], 0, 0, 0, 0, 0, 0, "79"], "SK": ["421", "00", "[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}", [6, 7, 9], [["(\\d)(\\d{2})(\\d{3,4})", "$1 $2 $3", ["21"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["[3-5][1-8]1", "[3-5][1-8]1[67]"], "0$1"], ["(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1/$2 $3 $4", ["2"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[689]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1/$2 $3 $4", ["[3-5]"], "0$1"]], "0"], "SL": ["232", "00", "(?:[237-9]\\d|66)\\d{6}", [8], [["(\\d{2})(\\d{6})", "$1 $2", ["[236-9]"], "(0$1)"]], "0"], "SM": ["378", "00", "(?:0549|[5-7]\\d)\\d{6}", [8, 10], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]"]], ["(\\d{4})(\\d{6})", "$1 $2", ["0"]]], 0, 0, "([89]\\d{5})$", "0549$1"], "SN": ["221", "00", "(?:[378]\\d|93)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[379]"]]]], "SO": ["252", "00", "[346-9]\\d{8}|[12679]\\d{7}|[1-5]\\d{6}|[1348]\\d{5}", [6, 7, 8, 9], [["(\\d{2})(\\d{4})", "$1 $2", ["8[125]"]], ["(\\d{6})", "$1", ["[134]"]], ["(\\d)(\\d{6})", "$1 $2", ["[15]|2[0-79]|3[0-46-8]|4[0-7]"]], ["(\\d)(\\d{7})", "$1 $2", ["(?:2|90)4|[67]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[348]|64|79|90"]], ["(\\d{2})(\\d{5,7})", "$1 $2", ["1|28|6[0-35-9]|77|9[2-9]"]]], "0"], "SR": ["597", "00", "(?:[2-5]|68|[78]\\d)\\d{5}", [6, 7], [["(\\d{2})(\\d{2})(\\d{2})", "$1-$2-$3", ["56"]], ["(\\d{3})(\\d{3})", "$1-$2", ["[2-5]"]], ["(\\d{3})(\\d{4})", "$1-$2", ["[6-8]"]]]], "SS": ["211", "00", "[19]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[19]"], "0$1"]], "0"], "ST": ["239", "00", "(?:22|9\\d)\\d{5}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[29]"]]]], "SV": ["503", "00", "[267]\\d{7}|(?:80\\d|900)\\d{4}(?:\\d{4})?", [7, 8, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["[89]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[267]"]], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[89]"]]]], "SX": ["1", "011", "7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "(5\\d{6})$|1", "721$1", 0, "721"], "SY": ["963", "00", "[1-39]\\d{8}|[1-5]\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-5]"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1", 1]], "0"], "SZ": ["268", "00", "0800\\d{4}|(?:[237]\\d|900)\\d{6}", [8, 9], [["(\\d{4})(\\d{4})", "$1 $2", ["[0237]"]], ["(\\d{5})(\\d{4})", "$1 $2", ["9"]]]], "TA": ["290", "00", "8\\d{3}", [4], 0, 0, 0, 0, 0, 0, "8"], "TC": ["1", "011", "(?:[58]\\d\\d|649|900)\\d{7}", [10], 0, "1", 0, "([2-479]\\d{6})$|1", "649$1", 0, "649"], "TD": ["235", "00|16", "(?:22|[689]\\d|77)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[26-9]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "TG": ["228", "00", "[279]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[279]"]]]], "TH": ["66", "00[1-9]", "(?:001800|[2-57]|[689]\\d)\\d{7}|1\\d{7,9}", [8, 9, 10, 13], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[13-9]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], "0"], "TJ": ["992", "810", "[0-57-9]\\d{8}", [9], [["(\\d{6})(\\d)(\\d{2})", "$1 $2 $3", ["331", "3317"]], ["(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["44[02-479]|[34]7"]], ["(\\d{4})(\\d)(\\d{4})", "$1 $2 $3", ["3(?:[1245]|3[12])"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[0-57-9]"]]], 0, 0, 0, 0, 0, 0, 0, "8~10"], "TK": ["690", "00", "[2-47]\\d{3,6}", [4, 5, 6, 7]], "TL": ["670", "00", "7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}", [7, 8], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-489]|70"]], ["(\\d{4})(\\d{4})", "$1 $2", ["7"]]]], "TM": ["993", "810", "(?:[1-6]\\d|71)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["12"], "(8 $1)"], ["(\\d{3})(\\d)(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[1-5]"], "(8 $1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["[67]"], "8 $1"]], "8", 0, 0, 0, 0, 0, 0, "8~10"], "TN": ["216", "00", "[2-57-9]\\d{7}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-57-9]"]]]], "TO": ["676", "00", "(?:0800|(?:[5-8]\\d\\d|999)\\d)\\d{3}|[2-8]\\d{4}", [5, 7], [["(\\d{2})(\\d{3})", "$1-$2", ["[2-4]|50|6[09]|7[0-24-69]|8[05]"]], ["(\\d{4})(\\d{3})", "$1 $2", ["0"]], ["(\\d{3})(\\d{4})", "$1 $2", ["[5-9]"]]]], "TR": ["90", "00", "4\\d{6}|8\\d{11,12}|(?:[2-58]\\d\\d|900)\\d{7}", [7, 10, 12, 13], [["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["512|8[01589]|90"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["5(?:[0-59]|61)", "5(?:[0-59]|61[06])", "5(?:[0-59]|61[06]1)"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24][1-8]|3[1-9]"], "(0$1)", 1], ["(\\d{3})(\\d{3})(\\d{6,7})", "$1 $2 $3", ["80"], "0$1", 1]], "0"], "TT": ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-46-8]\\d{6})$|1", "868$1", 0, "868"], "TV": ["688", "00", "(?:2|7\\d\\d|90)\\d{4}", [5, 6, 7], [["(\\d{2})(\\d{3})", "$1 $2", ["2"]], ["(\\d{2})(\\d{4})", "$1 $2", ["90"]], ["(\\d{2})(\\d{5})", "$1 $2", ["7"]]]], "TW": ["886", "0(?:0[25-79]|19)", "[2-689]\\d{8}|7\\d{9,10}|[2-8]\\d{7}|2\\d{6}", [7, 8, 9, 10, 11], [["(\\d{2})(\\d)(\\d{4})", "$1 $2 $3", ["202"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[258]0"], "0$1"], ["(\\d)(\\d{3,4})(\\d{4})", "$1 $2 $3", ["[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]", "[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[49]"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["7"], "0$1"]], "0", 0, 0, 0, 0, 0, 0, 0, "#"], "TZ": ["255", "00[056]", "(?:[25-8]\\d|41|90)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[24]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["5"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[67]"], "0$1"]], "0"], "UA": ["380", "00", "[89]\\d{9}|[3-9]\\d{8}", [9, 10], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]", "6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]"], "0$1"], ["(\\d{4})(\\d{5})", "$1 $2", ["3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])", "3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[3-7]|89|9[1-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[89]"], "0$1"]], "0", 0, 0, 0, 0, 0, 0, "0~0"], "UG": ["256", "00[057]", "800\\d{6}|(?:[29]0|[347]\\d)\\d{7}", [9], [["(\\d{4})(\\d{5})", "$1 $2", ["202", "2024"], "0$1"], ["(\\d{3})(\\d{6})", "$1 $2", ["[27-9]|4(?:6[45]|[7-9])"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["[34]"], "0$1"]], "0"], "US": ["1", "011", "[2-9]\\d{9}|3\\d{6}", [10], [["(\\d{3})(\\d{4})", "$1-$2", ["310"], 0, 1], ["(\\d{3})(\\d{3})(\\d{4})", "($1) $2-$3", ["[2-9]"], 0, 1, "$1-$2-$3"]], "1", 0, 0, 0, 0, 0, [["(?:3052(?:0[0-8]|[1-9]\\d)|5056(?:[0-35-9]\\d|4[468])|7302[0-4]\\d)\\d{4}|(?:305[3-9]|472[24]|505[2-57-9]|7306|983[2-47-9])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[013569]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}"], [""], ["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"], ["900[2-9]\\d{6}"], ["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"], 0, 0, 0, ["305209\\d{4}"]]], "UY": ["598", "0(?:0|1[3-9]\\d)", "0004\\d{2,9}|[1249]\\d{7}|(?:[49]\\d|80)\\d{5}", [6, 7, 8, 9, 10, 11, 12, 13], [["(\\d{3})(\\d{3,4})", "$1 $2", ["0"]], ["(\\d{3})(\\d{4})", "$1 $2", ["[49]0|8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{4})(\\d{4})", "$1 $2", ["[124]"]], ["(\\d{3})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["0"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{2,4})", "$1 $2 $3 $4", ["0"]]], "0", 0, 0, 0, 0, 0, 0, "00", " int. "], "UZ": ["998", "00", "(?:20|33|[5-79]\\d|88)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[235-9]"]]]], "VA": ["39", "00", "0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}", [6, 7, 8, 9, 10, 11, 12], 0, 0, 0, 0, 0, 0, "06698"], "VC": ["1", "011", "(?:[58]\\d\\d|784|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "784$1", 0, "784"], "VE": ["58", "00", "[68]00\\d{7}|(?:[24]\\d|[59]0)\\d{8}", [10], [["(\\d{3})(\\d{7})", "$1-$2", ["[24-689]"], "0$1"]], "0"], "VG": ["1", "011", "(?:284|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-578]\\d{6})$|1", "284$1", 0, "284"], "VI": ["1", "011", "[58]\\d{9}|(?:34|90)0\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "340$1", 0, "340"], "VN": ["84", "00", "[12]\\d{9}|[135-9]\\d{8}|[16]\\d{7}|[16-8]\\d{6}", [7, 8, 9, 10], [["(\\d{2})(\\d{5})", "$1 $2", ["80"], "0$1", 1], ["(\\d{4})(\\d{4,6})", "$1 $2", ["1"], 0, 1], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["6"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[357-9]"], "0$1", 1], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["2[48]"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["2"], "0$1", 1]], "0"], "VU": ["678", "00", "[57-9]\\d{6}|(?:[238]\\d|48)\\d{3}", [5, 7], [["(\\d{3})(\\d{4})", "$1 $2", ["[57-9]"]]]], "WF": ["681", "00", "(?:40|72)\\d{4}|8\\d{5}(?:\\d{3})?", [6, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[478]"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]]]], "WS": ["685", "0", "(?:[2-6]|8\\d{5})\\d{4}|[78]\\d{6}|[68]\\d{5}", [5, 6, 7, 10], [["(\\d{5})", "$1", ["[2-5]|6[1-9]"]], ["(\\d{3})(\\d{3,7})", "$1 $2", ["[68]"]], ["(\\d{2})(\\d{5})", "$1 $2", ["7"]]]], "XK": ["383", "00", "2\\d{7,8}|3\\d{7,11}|(?:4\\d\\d|[89]00)\\d{5}", [8, 9, 10, 11, 12], [["(\\d{3})(\\d{5})", "$1 $2", ["[89]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-4]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2|39"], "0$1"], ["(\\d{2})(\\d{7,10})", "$1 $2", ["3"], "0$1"]], "0"], "YE": ["967", "00", "(?:1|7\\d)\\d{7}|[1-7]\\d{6}", [7, 8, 9], [["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-6]|7(?:[24-6]|8[0-7])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["7"], "0$1"]], "0"], "YT": ["262", "00", "(?:80|9\\d)\\d{7}|(?:26|63)9\\d{6}", [9], 0, "0", 0, 0, 0, 0, 0, [["269(?:0[0-467]|15|5[0-4]|6\\d|[78]0)\\d{4}"], ["639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])\\d{4}"], ["80\\d{7}"], 0, 0, 0, 0, 0, ["9(?:(?:39|47)8[01]|769\\d)\\d{4}"]]], "ZA": ["27", "00", "[1-79]\\d{8}|8\\d{4,9}", [5, 6, 7, 8, 9, 10], [["(\\d{2})(\\d{3,4})", "$1 $2", ["8[1-4]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["8[1-4]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["860"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"]], "0"], "ZM": ["260", "00", "800\\d{6}|(?:21|63|[79]\\d)\\d{7}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[28]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["[79]"], "0$1"]], "0"], "ZW": ["263", "00", "2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}", [5, 6, 7, 8, 9, 10], [["(\\d{3})(\\d{3,5})", "$1 $2", ["2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]"], "0$1"], ["(\\d)(\\d{3})(\\d{2,4})", "$1 $2 $3", ["[49]"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["80"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2", "2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)", "2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)"], "0$1"], ["(\\d{4})(\\d{6})", "$1 $2", ["8"], "0$1"], ["(\\d{2})(\\d{3,5})", "$1 $2", ["1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["29[013-9]|39|54"], "0$1"], ["(\\d{4})(\\d{3,5})", "$1 $2", ["(?:25|54)8", "258|5483"], "0$1"]], "0"] }, "nonGeographic": { "800": ["800", 0, "(?:00|[1-9]\\d)\\d{6}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["\\d"]]], 0, 0, 0, 0, 0, 0, [0, 0, ["(?:00|[1-9]\\d)\\d{6}"]]], "808": ["808", 0, "[1-9]\\d{7}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[1-9]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, 0, ["[1-9]\\d{7}"]]], "870": ["870", 0, "7\\d{11}|[35-7]\\d{8}", [9, 12], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[35-7]"]]], 0, 0, 0, 0, 0, 0, [0, ["(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}"]]], "878": ["878", 0, "10\\d{10}", [12], [["(\\d{2})(\\d{5})(\\d{5})", "$1 $2 $3", ["1"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, ["10\\d{10}"]]], "881": ["881", 0, "6\\d{9}|[0-36-9]\\d{8}", [9, 10], [["(\\d)(\\d{3})(\\d{5})", "$1 $2 $3", ["[0-37-9]"]], ["(\\d)(\\d{3})(\\d{5,6})", "$1 $2 $3", ["6"]]], 0, 0, 0, 0, 0, 0, [0, ["6\\d{9}|[0-36-9]\\d{8}"]]], "882": ["882", 0, "[13]\\d{6}(?:\\d{2,5})?|[19]\\d{7}|(?:[25]\\d\\d|4)\\d{7}(?:\\d{2})?", [7, 8, 9, 10, 11, 12], [["(\\d{2})(\\d{5})", "$1 $2", ["16|342"]], ["(\\d{2})(\\d{6})", "$1 $2", ["49"]], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["1[36]|9"]], ["(\\d{2})(\\d{4})(\\d{3})", "$1 $2 $3", ["3[23]"]], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["16"]], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["10|23|3(?:[15]|4[57])|4|51"]], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["34"]], ["(\\d{2})(\\d{4,5})(\\d{5})", "$1 $2 $3", ["[1-35]"]]], 0, 0, 0, 0, 0, 0, [0, ["342\\d{4}|(?:337|49)\\d{6}|(?:3(?:2|47|7\\d{3})|50\\d{3})\\d{7}", [7, 8, 9, 10, 12]], 0, 0, 0, ["348[57]\\d{7}", [11]], 0, 0, ["1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\d{4}|6\\d{5,10})|(?:345\\d|9[89])\\d{6}|(?:10|2(?:3|85\\d)|3(?:[15]|[69]\\d\\d)|4[15-8]|51)\\d{8}"]]], "883": ["883", 0, "(?:[1-4]\\d|51)\\d{6,10}", [8, 9, 10, 11, 12], [["(\\d{3})(\\d{3})(\\d{2,8})", "$1 $2 $3", ["[14]|2[24-689]|3[02-689]|51[24-9]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["510"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["21"]], ["(\\d{4})(\\d{4})(\\d{4})", "$1 $2 $3", ["51[13]"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[235]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, ["(?:2(?:00\\d\\d|10)|(?:370[1-9]|51\\d0)\\d)\\d{7}|51(?:00\\d{5}|[24-9]0\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\d{5,9}"]]], "888": ["888", 0, "\\d{11}", [11], [["(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3"]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, ["\\d{11}"]]], "979": ["979", 0, "[1359]\\d{8}", [9], [["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[1359]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, ["[1359]\\d{8}"]]] } };
50239
50162
  function withMetadataArgument(func, _arguments) {
50240
50163
  var args = Array.prototype.slice.call(_arguments);
50241
50164
  args.push(metadata);
@@ -51848,8 +51771,9 @@ function _arrayLikeToArray$1(arr, len) {
51848
51771
  return arr2;
51849
51772
  }
51850
51773
  function getCountryByNationalNumber(nationalPhoneNumber, _ref) {
51851
- var countries = _ref.countries, metadata2 = _ref.metadata;
51774
+ var countries = _ref.countries, defaultCountry = _ref.defaultCountry, metadata2 = _ref.metadata;
51852
51775
  metadata2 = new Metadata(metadata2);
51776
+ var matchingCountries = [];
51853
51777
  for (var _iterator = _createForOfIteratorHelperLoose(countries), _step; !(_step = _iterator()).done; ) {
51854
51778
  var country = _step.value;
51855
51779
  metadata2.country(country);
@@ -51861,9 +51785,19 @@ function getCountryByNationalNumber(nationalPhoneNumber, _ref) {
51861
51785
  phone: nationalPhoneNumber,
51862
51786
  country
51863
51787
  }, void 0, metadata2.metadata)) {
51864
- return country;
51788
+ if (defaultCountry) {
51789
+ if (country === defaultCountry) {
51790
+ return country;
51791
+ }
51792
+ matchingCountries.push(country);
51793
+ } else {
51794
+ return country;
51795
+ }
51865
51796
  }
51866
51797
  }
51798
+ if (matchingCountries.length > 0) {
51799
+ return matchingCountries[0];
51800
+ }
51867
51801
  }
51868
51802
  function getCountryByCallingCode(callingCode, _ref) {
51869
51803
  var nationalPhoneNumber = _ref.nationalNumber, defaultCountry = _ref.defaultCountry, metadata2 = _ref.metadata;
@@ -52731,11 +52665,12 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
52731
52665
  },
52732
52666
  { immediate: true }
52733
52667
  );
52668
+ const hasFocus = () => document.activeElement === input.value;
52734
52669
  const focus2 = () => {
52735
52670
  var _a2;
52736
52671
  return (_a2 = input.value) == null ? void 0 : _a2.focus();
52737
52672
  };
52738
- __expose({ focus: focus2 });
52673
+ __expose({ focus: focus2, hasFocus });
52739
52674
  onMounted(() => {
52740
52675
  if (props2.autofocus) setTimeout(() => {
52741
52676
  var _a2;
@@ -52816,7 +52751,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
52816
52751
  };
52817
52752
  }
52818
52753
  });
52819
- const TextInput = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-2c465924"]]);
52754
+ const TextInput = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-0e10a3b5"]]);
52820
52755
  const _hoisted_1$h = ["title"];
52821
52756
  const _hoisted_2$9 = ["id", "required"];
52822
52757
  const _hoisted_3$7 = ["for"];