stone-kit 0.0.1028 → 0.0.1030

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 (177) hide show
  1. package/dist/App.js +1 -1
  2. package/dist/FilterWithSave-BWA01WwU.js +2476 -0
  3. package/dist/{Menu-CdJTzN7T.js → Menu-CeBSiTyP.js} +176 -157
  4. package/dist/{Option-rFBMQAPk.js → Option-DU8cvBnA.js} +1 -1
  5. package/dist/Router.js +1 -1
  6. package/dist/components/Button/ui/Button.d.ts +1 -0
  7. package/dist/components/Button/ui/Button.js +1 -1
  8. package/dist/components/Button/ui/Button.types.d.ts +1 -0
  9. package/dist/components/CheckBox/CheckBox.d.ts +1 -0
  10. package/dist/components/CheckBox/CheckBox.js +1 -1
  11. package/dist/components/CheckBox/CheckBox.types.d.ts +1 -0
  12. package/dist/components/CheckBoxNew/CheckBox.types.d.ts +1 -0
  13. package/dist/components/CheckBoxNew/CheckBoxNew.d.ts +1 -0
  14. package/dist/components/CheckBoxNew/CheckBoxNew.js +17 -17
  15. package/dist/components/CheckboxSelect/ui/CheckboxSelect.d.ts +1 -0
  16. package/dist/components/CheckboxSelect/ui/CheckboxSelect.js +34 -34
  17. package/dist/components/CommercialLotCard/CommercialLotCard.d.ts +1 -0
  18. package/dist/components/CommercialLotCard/CommercialLotCard.js +7 -50
  19. package/dist/components/CommercialLotCard/components/Price/Price.d.ts +1 -0
  20. package/dist/components/CommercialLotCard/components/Price/Price.js +24 -23
  21. package/dist/components/CommercialLotCard/components/Snippets/Snippets.d.ts +1 -0
  22. package/dist/components/CommercialLotCard/components/Snippets/Snippets.js +27 -98
  23. package/dist/components/CommercialLotCard/components/Tags/Tags.d.ts +1 -0
  24. package/dist/components/CommercialLotCard/components/Tags/Tags.js +17 -17
  25. package/dist/components/CommercialLotCard/types/CommercialLotCard.types.d.ts +1 -0
  26. package/dist/components/CommercialLotCard/types/LotCard.d.ts +1 -0
  27. package/dist/components/CommercialLotCard/utils/formatPrice.js +2 -1
  28. package/dist/components/CommercialLotCard/utils/getTagsFeatures.d.ts +2 -1
  29. package/dist/components/DestinationTab/ui/DestinationTab.d.ts +1 -0
  30. package/dist/components/DestinationTab/ui/DestinationTab.js +41 -41
  31. package/dist/components/DestinationTab/ui/DestinationTab.types.d.ts +1 -0
  32. package/dist/components/FieldInput/ui/FieldInput.d.ts +1 -0
  33. package/dist/components/FieldInput/ui/FieldInput.types.d.ts +1 -0
  34. package/dist/components/FilterWithSave/hooks/useFilterWithSave.d.ts +1 -0
  35. package/dist/components/FilterWithSave/hooks/useFilterWithSave.js +26 -54
  36. package/dist/components/FilterWithSave/ui/FilterWithSave.d.ts +1 -0
  37. package/dist/components/FilterWithSave/ui/FilterWithSave.js +7 -328
  38. package/dist/components/Flex/ui/Flex.d.ts +1 -0
  39. package/dist/components/Flex/ui/Flex.js +1 -1
  40. package/dist/components/Flex/ui/Flex.types.d.ts +1 -0
  41. package/dist/components/FormModal/ui/ModalForm.js +28 -1430
  42. package/dist/components/GroupedInput/ui/GroupedInputs.d.ts +1 -0
  43. package/dist/components/GroupedInput/ui/GroupedInputs.js +1 -1
  44. package/dist/components/GroupedInput/ui/GroupedInputs.types.d.ts +1 -0
  45. package/dist/components/Input/ui/Input.d.ts +2 -1
  46. package/dist/components/Input/ui/Input.js +304 -234
  47. package/dist/components/Logo/ui/Logo.d.ts +1 -0
  48. package/dist/components/Logo/ui/Logo.js +6 -6
  49. package/dist/components/LotCard/hooks/useLotCard.d.ts +1 -0
  50. package/dist/components/LotCard/hooks/useLotCard.js +24 -6
  51. package/dist/components/LotCard/index.js +2 -2
  52. package/dist/components/LotCard/ui/LotCard.d.ts +1 -0
  53. package/dist/components/LotCard/ui/LotCard.js +10 -213
  54. package/dist/components/LotCard/ui/LotCard.types.d.ts +1 -0
  55. package/dist/components/LotCard/utils/formatPrice.js +2 -1
  56. package/dist/components/LotCard/utils/getTagsFeatures.d.ts +2 -1
  57. package/dist/components/LotCardSkeleton/ui/LotCardSkeleton.js +1 -1
  58. package/dist/components/MetroLabel/ui/MetroLabel.d.ts +1 -0
  59. package/dist/components/MetroLabel/ui/MetroLabel.js +16 -16
  60. package/dist/components/MetroLabel/ui/MetroLabel.types.d.ts +1 -0
  61. package/dist/components/MetroTag/ui/MetroTag.d.ts +1 -0
  62. package/dist/components/MetroTag/ui/MetroTag.js +74 -74
  63. package/dist/components/MetroTag/ui/MetroTag.types.d.ts +1 -0
  64. package/dist/components/Modal/ui/Modal.d.ts +1 -0
  65. package/dist/components/Modal/ui/Modal.js +37 -34
  66. package/dist/components/Modal/ui/Modal.types.d.ts +1 -0
  67. package/dist/components/ModalSuccess/ModalSuccess.d.ts +1 -0
  68. package/dist/components/ModalSuccess/ModalSuccess.js +19 -18
  69. package/dist/components/ModalSuccess/ModalSuccess.types.d.ts +1 -0
  70. package/dist/components/NewIcon/icons/PinTrans.d.ts +1 -0
  71. package/dist/components/NewIcon/icons/SmallFilter.d.ts +1 -0
  72. package/dist/components/NewIcon/ui/NewIcon.d.ts +1 -0
  73. package/dist/components/NewIcon/ui/NewIcon.js +3 -3
  74. package/dist/components/NewIcon/ui/NewIcon.types.d.ts +1 -0
  75. package/dist/components/NewIcon/ui/iconTypes.d.ts +1 -0
  76. package/dist/components/ProjectCardSkeleton/ui/ProjectCardSkeleton.js +11 -9
  77. package/dist/components/RoundButton/ui/RoundButton.d.ts +1 -0
  78. package/dist/components/RoundButton/ui/RoundButton.js +2 -2
  79. package/dist/components/RoundButton/ui/RoundButton.types.d.ts +1 -0
  80. package/dist/components/Select/model/selectMode.d.ts +1 -0
  81. package/dist/components/Select/model/selectMode.js +30 -30
  82. package/dist/components/Select/ui/Category.d.ts +1 -0
  83. package/dist/components/Select/ui/Category.js +3 -3
  84. package/dist/components/Select/ui/Option.d.ts +1 -0
  85. package/dist/components/Select/ui/Option.js +2 -2
  86. package/dist/components/Select/ui/Select.d.ts +1 -0
  87. package/dist/components/Select/ui/Select.js +115 -115
  88. package/dist/components/SliderNavigation/index.d.ts +1 -0
  89. package/dist/components/SliderNavigation/ui/SliderNavigation.d.ts +1 -0
  90. package/dist/components/SliderNavigation/ui/SliderNavigation.js +6 -6
  91. package/dist/components/SortSelect/hooks/useSortSelect.d.ts +2 -1
  92. package/dist/components/SortSelect/hooks/useSortSelect.js +2 -2
  93. package/dist/components/SortSelect/index.js +1 -1
  94. package/dist/components/SortSelect/ui/SortSelect.d.ts +1 -0
  95. package/dist/components/SortSelect/ui/SortSelect.js +26 -108
  96. package/dist/components/SortSelect/ui/SortSelect.types.d.ts +1 -0
  97. package/dist/components/SummarySelect/ui/SummarySelect.d.ts +1 -0
  98. package/dist/components/SummarySelect/ui/SummarySelect.js +65 -59
  99. package/dist/components/Switcher/ui/Switcher.d.ts +1 -0
  100. package/dist/components/Switcher/ui/Switcher.js +1 -1
  101. package/dist/components/Switcher/ui/Switcher.types.d.ts +1 -0
  102. package/dist/components/TabSelect/ui/TabSelect.d.ts +13 -7
  103. package/dist/components/TabSelect/ui/TabSelect.js +42 -37
  104. package/dist/components/TabSwitcher/index.js +2 -2
  105. package/dist/components/TabSwitcher/ui/TabSwitcher.d.ts +5 -3
  106. package/dist/components/TabSwitcher/ui/TabSwitcher.js +26 -118
  107. package/dist/components/TabSwitcher/ui/TabSwitcher.types.d.ts +2 -1
  108. package/dist/components/Tag/ui/Tag.d.ts +1 -0
  109. package/dist/components/Tag/ui/Tag.js +91 -91
  110. package/dist/components/Tag/ui/Tag.types.d.ts +1 -0
  111. package/dist/components/Text/ui/Text.d.ts +1 -0
  112. package/dist/components/Text/ui/Text.js +1 -1
  113. package/dist/components/Text/ui/Text.types.d.ts +1 -0
  114. package/dist/components/TextArea/TextArea.d.ts +9 -0
  115. package/dist/components/TextArea/TextArea.js +18 -12
  116. package/dist/components/ZoomControls/ui/ZoomControls.d.ts +1 -0
  117. package/dist/components/ZoomControls/ui/ZoomControls.types.d.ts +1 -0
  118. package/dist/components/mobileButton/ui/MobileButton.d.ts +1 -0
  119. package/dist/components/mobileButton/ui/MobileButton.js +1 -1
  120. package/dist/components/mobileButton/ui/MobileButton.types.d.ts +1 -0
  121. package/dist/{index-CBdtKu-u.js → index-DmANy9jd.js} +271 -272
  122. package/dist/{index-3E04UaC2.js → index-DvCs2JPX.js} +9629 -9529
  123. package/dist/index-rKuIKazb.js +45 -0
  124. package/dist/layout/Layout.d.ts +1 -0
  125. package/dist/layout/components/Header/Header.js +71 -48
  126. package/dist/layout/components/Menu.js +24 -2
  127. package/dist/main.js +65 -70
  128. package/dist/pages/ButtonsPage/Buttons.js +63 -57
  129. package/dist/pages/FormsPage/FormsPage.js +50 -26
  130. package/dist/pages/IconsPage/IconsPage.js +31 -9
  131. package/dist/pages/InputPage/InputPage.js +32 -10
  132. package/dist/pages/LogoPage/LogoPage.js +35 -13
  133. package/dist/pages/LotsPage/LotsPage.js +17 -18
  134. package/dist/pages/LotsPage/const.d.ts +1 -0
  135. package/dist/pages/ModalsPage/ModalPage.js +66 -46
  136. package/dist/pages/SelectPage/SelectPage.js +58 -58
  137. package/dist/pages/TabsPage/TabsPage.js +20 -19
  138. package/dist/pages/TagsPage/TagsPage.js +44 -23
  139. package/dist/shared/checkLargeOffice.d.ts +1 -0
  140. package/dist/shared/checkLargeOffice.js +1 -1
  141. package/dist/shared/mlnRound.js +2 -1
  142. package/dist/stories/entities/CommercialLotCard/CommercialLotCard.stories.js +2 -2
  143. package/dist/stories/shared/ui/Button/Button.stories.js +5 -5
  144. package/dist/stories/shared/ui/CheckBox/CheckBox.stories.js +1 -1
  145. package/dist/stories/shared/ui/CheckBox/CheckBoxNew.stories.js +1 -1
  146. package/dist/stories/shared/ui/CheckboxSelect/CheckboxSelect.stories.js +1 -1
  147. package/dist/stories/shared/ui/DestinationTab/DestinationTab.stories.js +1 -1
  148. package/dist/stories/shared/ui/FieldInput/FieldInput.stories.js +1 -1
  149. package/dist/stories/shared/ui/FilterWithSave/FilterWithSave.stories.js +2 -2
  150. package/dist/stories/shared/ui/FormModal/FormModal.stories.js +8 -8
  151. package/dist/stories/shared/ui/GroupedInput/GroupedInput.stories.js +1 -1
  152. package/dist/stories/shared/ui/Logo/Logo.stories.js +1 -1
  153. package/dist/stories/shared/ui/MobileButton/MobileButton.stories.js +1 -1
  154. package/dist/stories/shared/ui/Modal/Modal.stories.js +1 -1
  155. package/dist/stories/shared/ui/ModalSuccess/ModalSuccess.stories.js +1 -1
  156. package/dist/stories/shared/ui/RoundButton/RoundButton.stories.js +1 -1
  157. package/dist/stories/shared/ui/Select/Select.stories.js +1 -1
  158. package/dist/stories/shared/ui/SliderNavigation/SliderNavigation.stories.js +1 -1
  159. package/dist/stories/shared/ui/SortSelect/SortSelect.stories.js +2 -2
  160. package/dist/stories/shared/ui/SummarySelect/SummarySelect.stories.js +1 -1
  161. package/dist/stories/shared/ui/Switcher/Switcher.stories.js +1 -1
  162. package/dist/stories/shared/ui/TabSelect/TabSelect.stories.js +1 -1
  163. package/dist/stories/shared/ui/TabSwitcher/TabSwitcher.stories.js +2 -2
  164. package/dist/stories/shared/ui/Tag/Tag.stories.js +4 -4
  165. package/dist/stories/shared/ui/ZoomControls/ZoomControls.stories.js +1 -1
  166. package/dist/style.css +1 -0
  167. package/dist/useSortSelect-BTCEVMVn.js +80 -0
  168. package/package.json +22 -31
  169. package/dist/ButtonState.module-DtW3aevR.js +0 -8
  170. package/dist/components/TextArea/TextArea.types.d.ts +0 -10
  171. package/dist/components/TextArea/TextArea.types.js +0 -1
  172. package/dist/index-B2JRaoNz.js +0 -48
  173. package/dist/pages/ButtonsPage/ButtonState/ButtonState.d.ts +0 -6
  174. package/dist/pages/ButtonsPage/ButtonState/ButtonState.js +0 -121
  175. package/dist/stone-kit.css +0 -1
  176. package/dist/useLotCard-DG9doKCX.js +0 -186
  177. package/dist/useSortSelect-C72ddcYI.js +0 -80
@@ -0,0 +1,2476 @@
1
+ import { jsx as o, jsxs as C, Fragment as nt } from "react/jsx-runtime";
2
+ import { NewIcon as ge } from "./components/NewIcon/ui/NewIcon.js";
3
+ import { Modal as at } from "./components/Modal/ui/Modal.js";
4
+ import { Text as lt } from "./components/Text/ui/Text.js";
5
+ import { c as Ae, g as er } from "./index-rKuIKazb.js";
6
+ import { Button as ke } from "./components/Button/ui/Button.js";
7
+ import "./components/mobileButton/ui/MobileButton.js";
8
+ import "./components/DestinationTab/ui/DestinationTab.js";
9
+ import "./components/RoundButton/ui/RoundButton.js";
10
+ import { Tag as Ee } from "./components/Tag/ui/Tag.js";
11
+ import "./components/Switcher/ui/Switcher.js";
12
+ import { Flex as tr } from "./components/Flex/ui/Flex.js";
13
+ import { Input as tt } from "./components/Input/ui/Input.js";
14
+ import U, { useState as xe, useRef as Lt, useEffect as Oe } from "react";
15
+ import "react-dom";
16
+ import "./components/GroupedInput/ui/GroupedInputs.js";
17
+ import "./components/MetroTag/ui/MetroTag.js";
18
+ import { checkLargeOffice as rr } from "./shared/checkLargeOffice.js";
19
+ import { sclMillion as wt } from "./shared/mlnRound.js";
20
+ import "./components/Select/ui/Select.js";
21
+ import { useClientWidth as Be } from "./shared/useClientWidth.js";
22
+ import { s as le, u as sr } from "./useSortSelect-BTCEVMVn.js";
23
+ import "./components/SliderNavigation/ui/SliderNavigation.js";
24
+ import "./components/LotCardSkeleton/ui/LotCardSkeleton.js";
25
+ import "./components/TabSelect/ui/TabSelect.js";
26
+ import { nameReg as ir, phoneReg as nr, emailReg as ar } from "./components/FormModal/utils/reg.js";
27
+ import { CheckBox as St } from "./components/CheckBox/CheckBox.js";
28
+ import { TextArea as lr } from "./components/TextArea/TextArea.js";
29
+ import { fmtNumber as or } from "./shared/fmtNumber.js";
30
+ import { Price as cr } from "./components/CommercialLotCard/components/Price/Price.js";
31
+ import { O as Ft } from "./Option-DU8cvBnA.js";
32
+ import "./components/CheckBoxNew/CheckBoxNew.js";
33
+ import "./components/CheckboxSelect/ui/CheckboxSelect.js";
34
+ import { getTagsFeatures as dr } from "./components/CommercialLotCard/utils/getTagsFeatures.js";
35
+ import { Tags as ur } from "./components/CommercialLotCard/components/Tags/Tags.js";
36
+ import { getTagsFeatures as fr } from "./components/LotCard/utils/getTagsFeatures.js";
37
+ import { checkBedroomsCount as pr } from "./components/LotCard/utils/checkBedroomsCount.js";
38
+ import { formatPayment as mr } from "./components/LotCard/utils/monthlyPayment.js";
39
+ import { formatPrice as Ve } from "./components/LotCard/utils/formatPrice.js";
40
+ const hr = "_root_14gc5_1", yr = "_text_14gc5_18", gr = "_textMini_14gc5_26", vr = "_rootCol_14gc5_32", br = "_item_14gc5_38", wr = "_whiteRow_14gc5_57", Sr = "_firstItem_14gc5_68", Fr = "_lastItem_14gc5_72", xr = "_whiteRowGrayLabel_14gc5_103", kr = "_labelItem_14gc5_118", Nr = "_apart_14gc5_147", Cr = "_isLong_14gc5_147", Ar = "_autoWidth_14gc5_172", Pr = "_mini_14gc5_176", Tr = "_isDisabled_14gc5_184", Wr = "_grayRow_14gc5_208", $ = {
41
+ root: hr,
42
+ text: yr,
43
+ textMini: gr,
44
+ rootCol: vr,
45
+ item: br,
46
+ whiteRow: wr,
47
+ firstItem: Sr,
48
+ lastItem: Fr,
49
+ whiteRowGrayLabel: xr,
50
+ labelItem: kr,
51
+ apart: Nr,
52
+ isLong: Cr,
53
+ autoWidth: Ar,
54
+ mini: Pr,
55
+ isDisabled: Tr,
56
+ grayRow: Wr,
57
+ "tiny-size": "_tiny-size_14gc5_236",
58
+ "small-size": "_small-size_14gc5_241",
59
+ "medium-size": "_medium-size_14gc5_246",
60
+ "large-size": "_large-size_14gc5_251",
61
+ "text-tiny-size": "_text-tiny-size_14gc5_256",
62
+ "text-small-size": "_text-small-size_14gc5_262",
63
+ "text-medium-size": "_text-medium-size_14gc5_267",
64
+ "text-large-size": "_text-large-size_14gc5_272",
65
+ "small-size_m": "_small-size_m_14gc5_278",
66
+ "medium-size_m": "_medium-size_m_14gc5_282",
67
+ "large-size_m": "_large-size_m_14gc5_286",
68
+ "text-small-size_m": "_text-small-size_m_14gc5_290",
69
+ "text-medium-size_m": "_text-medium-size_m_14gc5_294",
70
+ "text-large-size_m": "_text-large-size_m_14gc5_298",
71
+ "small-size_l": "_small-size_l_14gc5_313",
72
+ "medium-size_l": "_medium-size_l_14gc5_317",
73
+ "large-size_l": "_large-size_l_14gc5_321",
74
+ "text-small-size_l": "_text-small-size_l_14gc5_325",
75
+ "text-medium-size_l": "_text-medium-size_l_14gc5_329",
76
+ "text-large-size_l": "_text-large-size_l_14gc5_333"
77
+ }, qe = Ae.bind($), Ir = ({
78
+ children: e,
79
+ variant: r = "whiteRow",
80
+ isApart: t = !1,
81
+ addClassName: a = "",
82
+ col: n = !1
83
+ }) => /* @__PURE__ */ o("div", { className: qe($.root, $[r], { [$.rootCol]: n, [$.apart]: t }, a), children: e }), Bt = (e) => {
84
+ const { isTablet: r, isDesktop: t } = Be(), {
85
+ index: a,
86
+ children: n,
87
+ addItemClassName: i,
88
+ addLabelClassname: d,
89
+ addTextClass: u,
90
+ size_s: A = "large",
91
+ size_m: w,
92
+ size_l: y,
93
+ disabled: m = !1,
94
+ itemsLength: W = 0,
95
+ isLongOn: P = !0,
96
+ width: N,
97
+ width_m: D,
98
+ width_l: x,
99
+ mini: E = !1,
100
+ dataTestId: S,
101
+ ref: M,
102
+ ...q
103
+ } = e, I = (n != null && n.toString().length ? (n == null ? void 0 : n.toString().length) > 2 : !1) && P, H = (X, L) => X && D ? D : L && x ? x : N, G = !N && !D && !x && I;
104
+ return /* @__PURE__ */ C("label", { className: qe($.labelItem, { [$.isLong]: I }, d), children: [
105
+ /* @__PURE__ */ o(
106
+ "input",
107
+ {
108
+ ref: M,
109
+ type: "checkbox",
110
+ ...q,
111
+ disabled: m
112
+ }
113
+ ),
114
+ /* @__PURE__ */ o(
115
+ "div",
116
+ {
117
+ style: { width: H(r, t) },
118
+ "data-testid": S,
119
+ className: qe(
120
+ $.item,
121
+ {
122
+ [$.firstItem]: a === 0,
123
+ [$.lastItem]: a === W - 1,
124
+ [$.isDisabled]: m,
125
+ [$.autoWidth]: G,
126
+ [$.mini]: E
127
+ },
128
+ $[`${A}-size`],
129
+ $[`${w}-size_m`],
130
+ $[`${y}-size_l`],
131
+ i
132
+ ),
133
+ children: /* @__PURE__ */ o(
134
+ lt,
135
+ {
136
+ className: qe(
137
+ $.text,
138
+ $[`text-${A}-size`],
139
+ $[`text-${w}-size_m`],
140
+ $[`text-${y}-size_l`],
141
+ { [$.textMini]: E },
142
+ u
143
+ ),
144
+ children: n
145
+ }
146
+ )
147
+ }
148
+ )
149
+ ] });
150
+ };
151
+ Bt.displayName = "TabSwitcherItem";
152
+ const _e = Object.assign(Ir, {
153
+ Item: Bt
154
+ }), Lr = "_root_kbf05_1", Br = "_lotBtn_kbf05_15", Er = "_rootDisable_kbf05_24", Vr = "_lotImageWrapper_kbf05_24", Dr = "_lotInfoWrapper_kbf05_25", Mr = "_infoHeader_kbf05_45", Rr = "_monthlyWrapper_kbf05_54", Or = "_price_kbf05_64", jr = "_monthlyPayment_kbf05_71", _r = "_decor_kbf05_77", zr = "_lotPropertyListMobile_kbf05_84", Xr = "_lotPropertyItem_kbf05_92", qr = "_lotPropertyListDesktop_kbf05_109", Zr = "_lotPriceWrapper_kbf05_113", Ur = "_discountWrapper_kbf05_119", Gr = "_discountPrice_kbf05_130", Hr = "_priceWrap_kbf05_142", Jr = "_snippetLast_kbf05_152", Yr = "_snippet_kbf05_152", Kr = "_tagsMobile_kbf05_167", Qr = "_discountTag_kbf05_182", $r = "_lotPricePerMetr_kbf05_186", es = "_btnWrapper_kbf05_191", ts = "_title_kbf05_198", rs = "_snippets_kbf05_202", ss = "_retailSnippets_kbf05_207", is = "_shownSnippets_kbf05_212", ns = "_addSnippets_kbf05_237", as = "_addSnippetsActive_kbf05_253", ls = "_addSnippetsList_kbf05_258", os = "_closeSnippetBtn_kbf05_302", cs = "_rootRow_kbf05_314", ds = "_rowTablet_kbf05_325", us = "_rootRightSide_kbf05_366", fs = "_topWrapper_kbf05_382", ps = "_botWrapper_kbf05_387", ms = "_lotPriceWrapperRow_kbf05_418", hs = "_fullscreenBtn_kbf05_428", ys = "_projectLotPricePerMetr_kbf05_447", gs = "_paymentClass_kbf05_487", k = {
155
+ root: Lr,
156
+ lotBtn: Br,
157
+ rootDisable: Er,
158
+ lotImageWrapper: Vr,
159
+ lotInfoWrapper: Dr,
160
+ infoHeader: Mr,
161
+ monthlyWrapper: Rr,
162
+ price: Or,
163
+ monthlyPayment: jr,
164
+ decor: _r,
165
+ lotPropertyListMobile: zr,
166
+ lotPropertyItem: Xr,
167
+ lotPropertyListDesktop: qr,
168
+ lotPriceWrapper: Zr,
169
+ discountWrapper: Ur,
170
+ discountPrice: Gr,
171
+ priceWrap: Hr,
172
+ snippetLast: Jr,
173
+ snippet: Yr,
174
+ tagsMobile: Kr,
175
+ discountTag: Qr,
176
+ lotPricePerMetr: $r,
177
+ btnWrapper: es,
178
+ title: ts,
179
+ snippets: rs,
180
+ retailSnippets: ss,
181
+ shownSnippets: is,
182
+ addSnippets: ns,
183
+ addSnippetsActive: as,
184
+ addSnippetsList: ls,
185
+ closeSnippetBtn: os,
186
+ rootRow: cs,
187
+ rowTablet: ds,
188
+ rootRightSide: us,
189
+ topWrapper: fs,
190
+ botWrapper: ps,
191
+ lotPriceWrapperRow: ms,
192
+ fullscreenBtn: hs,
193
+ projectLotPricePerMetr: ys,
194
+ paymentClass: gs
195
+ }, We = Ae.bind(k), vs = ({ lot: e, rowConditions: r }) => {
196
+ const {
197
+ status: t,
198
+ direction: a,
199
+ area: n,
200
+ floor: i,
201
+ endFloor: d,
202
+ floorsNumber: u,
203
+ type: A,
204
+ isCorner: w,
205
+ windowViews: y,
206
+ subTypeName: m,
207
+ number: W,
208
+ bedroomsCount: P,
209
+ mortgageMonthlyPayment: N
210
+ } = e, [D, x] = xe(!1), E = t === 2, S = a === 1, M = A === 11, q = n ? n + " м²" : "", I = i && u ? (d && d !== i ? i + "-" + d : i) + " из " + u : "", H = fr({ ...e }), { isTablet: G, isDesktop: X, isMobile: L, currentClientWidth: j } = Be(), _ = typeof r < "u" ? r : X || G, b = () => M ? u ? "Кол-во этажей: " + u : "" : I ? "Этаж: " + I : "", v = () => M ? u ? /* @__PURE__ */ C("li", { className: We(k.lotPropertyItem), children: [
211
+ /* @__PURE__ */ o("div", { children: "Количество этажей" }),
212
+ /* @__PURE__ */ o("div", { children: u })
213
+ ] }) : null : I ? /* @__PURE__ */ C("li", { className: We(k.lotPropertyItem), children: [
214
+ /* @__PURE__ */ o("div", { children: "Этаж" }),
215
+ /* @__PURE__ */ o("div", { children: I })
216
+ ] }) : null, T = () => {
217
+ if (A === 3) {
218
+ if (L && (!y || y.length === 0))
219
+ return null;
220
+ let V = 0;
221
+ const z = X ? 36 : 28, Y = [], se = [];
222
+ if (w) {
223
+ const J = "Угловая";
224
+ if (V + J.length <= z)
225
+ Y.push(J), V += J.length;
226
+ else
227
+ return Y;
228
+ }
229
+ if (y) {
230
+ const J = y.filter((de) => de && de.trim() !== "");
231
+ let ne = 0, ce = V;
232
+ for (let de = 0; de < J.length; de++) {
233
+ const Q = J[de], ue = ne > 0 ? " " + Q : Q;
234
+ if (ce + ue.length <= z)
235
+ Y.push(Q), ce += ue.length, ne++;
236
+ else {
237
+ if (ne === 0) {
238
+ const ve = z - ce;
239
+ if (ve > 3) {
240
+ const Pe = Q.substring(0, ve - 3) + "...";
241
+ Y.push(Pe), ce = z;
242
+ } else
243
+ Y.push("..."), ce += 3;
244
+ }
245
+ se.push(...J.slice(de));
246
+ break;
247
+ }
248
+ }
249
+ V = ce;
250
+ }
251
+ return /* @__PURE__ */ C("div", { className: k.retailSnippets, children: [
252
+ /* @__PURE__ */ o("ul", { className: k.shownSnippets, children: Y == null ? void 0 : Y.map((J, ne) => /* @__PURE__ */ o("li", { children: J }, ne)) }),
253
+ (se == null ? void 0 : se.length) > 0 && /* @__PURE__ */ C(
254
+ "div",
255
+ {
256
+ className: We(k.addSnippets, { [k.addSnippetsActive]: D }),
257
+ onClick: (J) => {
258
+ X || (J.stopPropagation(), J.preventDefault(), x((ne) => !ne));
259
+ },
260
+ onMouseEnter: () => {
261
+ X && x(!0);
262
+ },
263
+ onMouseLeave: () => {
264
+ X && x(!1);
265
+ },
266
+ children: [
267
+ "+" + (se == null ? void 0 : se.length),
268
+ D && /* @__PURE__ */ C("ul", { className: k.addSnippetsList, children: [
269
+ se.map((J, ne) => /* @__PURE__ */ o("li", { children: J }, ne)),
270
+ /* @__PURE__ */ o("div", { className: k.closeSnippetBtn, children: /* @__PURE__ */ o(
271
+ ge,
272
+ {
273
+ name: "close",
274
+ size: "16",
275
+ color: "#ffffff"
276
+ }
277
+ ) })
278
+ ] })
279
+ ]
280
+ }
281
+ )
282
+ ] });
283
+ }
284
+ return H.length ? /* @__PURE__ */ o("div", { className: k.snippets, children: H.map((V, z) => {
285
+ const Y = z === H.length - 1;
286
+ return /* @__PURE__ */ o(
287
+ "div",
288
+ {
289
+ className: We(k.snippet, Y ? "" : k.snippetLast),
290
+ children: V.text
291
+ },
292
+ z
293
+ );
294
+ }) }) : null;
295
+ };
296
+ return {
297
+ currentClientWidth: j,
298
+ isBuilding: M,
299
+ LotCardInfo: () => {
300
+ const V = S && A && m ? m : pr(P), z = M ? V : `${V}${W ? `, ${W}` : ""}`;
301
+ return /* @__PURE__ */ o(nt, { children: /* @__PURE__ */ C("div", { className: We(k.monthlyWrapper), children: [
302
+ z && /* @__PURE__ */ o(
303
+ lt,
304
+ {
305
+ className: We(k.infoHeader),
306
+ html: z
307
+ }
308
+ ),
309
+ N && /* @__PURE__ */ o("div", { className: k.monthlyPayment, children: mr(N) }),
310
+ /* @__PURE__ */ o(T, {})
311
+ ] }) });
312
+ },
313
+ tagFeatures: H,
314
+ FloorByType: v,
315
+ isTablet: G,
316
+ isDesktop: X,
317
+ getFloorStr: b,
318
+ isReserved: E,
319
+ isMobile: L,
320
+ areaStr: q,
321
+ floorStr: I,
322
+ isShowSnippet: D,
323
+ setIsShowSnippet: x,
324
+ rowConditionsVar: _
325
+ };
326
+ }, bs = "data:image/webp;base64,UklGRq5lAABXRUJQVlA4IKJlAAAQ0QKdASrcBIADPpFEn0qlpD+hpDIKs/ASCWlu/m306XsdUnkhaV9AJzZ776B/43k2mv+dQ9L5rX+t6fxhjs3cD4ffh+ZiUoBlqNdOSk35c/1H95/x3uO+j/xH/A6cn2PtifmeR/s/1ROzf+1/iPbB/F/+X/GeMf7B/M+gR7j8Iv/M7fzcf+T+1nsEewf2D/sf5n1V/lf/J/ePUv7L+wD+wv/e9i/+r4ZX4f/p/tr8Af8l/tH/J/v35j/JV/6f6/0Q/pv+s/+3+5+Br+if4T6+vnI///uS/cL//+6X+yH///3X/3J+za9jbb9p/xm2/af8Ztv2n/Gbb9p/xm2/af8Ztv2n/Gbb9p/xm2/af8Ztv2n/Gbb9p/xm2/af8Ztv2n/Gbb9p/xm2/af8Ztv2n/Gbb9p/xm2/af8Ztv2n/Gbb9p/xm2/af8Ztv2n/Gbb9p/xm2/af8Ztv2n/Gbb9p/xm25EkTrm7cnoz5cNbHibz+pO0ablR28SGXoWOOoSgdjxN6FpDAFUNKwHYXN4B6TJHNv5rY8TdxxdSIthHm8SGXoMV0Ed4kMvQtIxzXQif1s6uFNbUTDyJUAdF5FO2+FCYFtFpCyVNwc3c1xgba9jbba5447m7muE/cCN1Zsn11ecrLtP+LY+KuIGB2OeEYywhcxMdee/9bNr1NmF0nrQDBCyVHj83c1wn7jrEHc2yYEL0sT6tJl4nbyGNuzRb/hC4+D0pslDn56XsaLJTh6fyQH1y3UK2nt+9pFkyHtKFo8kym3zXYUL61NGNY5GuGvI6zact3+bSfvbqYBj8GbtpHUjpjOx3MdnbZNa+vFx2YltA6z+gph0hdekof8uGg5SRt5f4Lgx21sc6McP1gIvwzlqnAwQfKqb+OrBLOPRj1YOP1VSsRDBmbc8D1M+Tt1v5Hw7Qtv+dRO7nU6lazjtCcyYEyZLYK57i7Xwr1Z0shWCompnbjMwJVW9tUo2IwsWCtVgQd+FEk0NBW6LKNByuGry9zZqk/xPj/jNt+0/4zPpIOhcKrYl8j9EfCFTCSrfrL2QUix8pyZySe56eqktM6USY5vhzKNqm2rmkgJN0lR6ZCTTFwdH5bPMdF6FPXjMhLWWCypd61bOAonx/xpFysHx3KE2P+qCNrAMR/rb/mrE26FW75MpcJrmpsfqma4Z+l4N6iXOeB5sDNRd9cK5xUCMQrRLPBmy74MtDT6GeU4haX6MGhzIqnf4ejZKQOPjhwXHCIFTheiaBdNA/7ysObSykIV04B5Q1GNtv2n8TsG3rnrNM/isykDkyz7b8EE2ZfQrTNZZbDNy+wMSABGXlElgEqAA5dadYc2l4E5g4bnkjFPYRSOGnYyCTswen2+rS2L65MlydYCtQB6LOgN11RBg+We+3hcAPnnnmM/zjbUOwaeyUM6Khf+DX0QQriw8rxPRPd8iS8sHFTUT247YLZqUXhLJ9F5DfauX3R3n7+Lf7XHvhmPO3mGapdYlt3mSWna2Oa7QFXB/Ou/ZdqZTF/NpWoN2gCAOeX4mltI6mxPF6Q60CenmFtiq5fvre7K0g6DIeSl7f9uGT+RxKe/umPwDI7z64f7FBe3iayjzNlPIv6DR3OTy6XZOrMB3NLdszIliAeeon7racyHWLDzFMax30cXvWi6mMSdxnm4FWvt86P0DPYj47r5h/6fpi/JRsYv6h+FFhgYT6YSXtqTdIYPBbsoiV2zx5GbTQVEmPoiD48eTcWv8jlTBZ5aSzH5hmMs9sgyh8xbKK/Suhll5Gx05C/CkS0/QYG2y+r6H/7Y/SRZtmgsFR7MJKOFId9/RlTpABdDAzqC/oephIj30ZG4zMaItH+5YQAcnkal0r/8k+3s/FpoXXuL02bXrSbb16KfMfpn9/GCOuaEUj2Sd+PrCFmvmHsyaI3u9XojQNOIBpa2kRAADLJc4QCrpuL/c0fR0XoT/HzbS39E4lM4x1rpuEmfr2fRCUZ5gSjLH2NmppppwXf32mm6PeDNPbd7rdNur/TkVsrrGDdbNr1L7PdT2z7w2aGpeJQhg2kBvE0MSUU1Olx/LaD/1wNCK3+us9l5IolLaFambTThA8TIAbKNBxQInxrGmc1W824+kF7BLN2/d9S/8RO6nmrx7F8+LhPnJVjaOLLC/5sSddYPPI/qPC+Qi2vImqwgDcSnyNsXv45g0KK6OwtPpyRNd3RPchTTLz/FqlVJXEOKuL3YhJL/pXk6d/YubZSZI0prAvwxWlyf7KBK6arXQn0ClR/qCaZSy8LnCunqwHQkdAUwoA6LxfUeydflcbUX4ROQP78kHRZwO/EUPB4/6/xHgGTkZnVPK9k5eRWpv0vTT1DJGISH4HGRkclWjsKgsGntZu0PWDEzFINhz3xbjuXI8pq0QLVlYaYiMMCXo7AvUOqFnTuTtz0AixWvh7e3KqOyu0/WyESZBs41K6R8DLZ5XX6/nfUj3QeZETcXaEZOPdB1oam0QpMXGkJlilJaBjKolljeUrmQiCgvsHk/H8oQmpi9oJR4G3mRvgXSqvzQgp9Z1sCYQ5GW4kzauIX9/6UD3eO0Z3lWetp/ldhY6bLyOdSwcAM1z32KHXK7SAI8F5Nd9p/EIIIIyce6DqT5rpCzy8EPOveNM2YsvFsTWjWePiWKhIJuCSyml7993nqug4B//6jJe5SDorT1Eho9V+R9q0CuBJ9aO6IX0eKY/wBc0WBeBIX330uwlGZTBjFu81hyWqOaS86qemKRcFxXYX1Nd4FBli2bXrONWDq01sbSXY1KuN/5mxxypaRUTS+UzOnYbXbVlTOgINpw9I2jxrU9YZITw1Ssc4sSxvtFvRwhY6XN+oqpQ47ftP/83rnMeVn3jBDcQXfWCqN7tROCvWtQTt7i62/Y+38U2n8OYt+8cO73wRs18ZRV1yKtFZTiE0kiFzlhSjzFNfDk5Hq3KgoMjCGDaYsImcbtqkJu37sODCYR+3lkaeqYEwAfGkvaq1LtE0h+la+g6GRo7tmZKTEXzDh9lNp/xm2478Ytrp5hrpR3LO5WvtgD0yA6lXWR9oTy9t//8Xp4Y3sGL77gXu9BmpZHoZtQlb83WU+E0z/SG/DLpPdo0EA1z0SGJ5sG+WyXDaeYqZXWza9jYY1OHpSBDbF7H0FysE/QEyiEbWjo7aRqRLkZbb9jYutgcyMX/tM/UnyD6XamXkPZFggGKkhrb8jbb9pvybxNn53AMjrfn/8Qll9tX2keYsvGbb9p//ImToT2vim1IiUgtFTNp/xexeW2n8Pm3GpjBCKcBxN53yGvQp7NnA4OZ92qiXdkR/WYDF/5Yyt1PAhQQlsgEcsZqE/54Ff8wumXhV3sDX+1e6e31DI4zK2dzNp/xm11VNdW9Pgn1+kEZfo93BlVZO5r4L7z1o226SsWbXrN0iHrkT949JBhVMot5AyLcM122+7nN/drMhl0si5fnSGA6ukg2KSrKR7e9l/5IQ48B/iSr/qqlPM+cu6lRCH90dSSs3b4bmacJTOJ+ijTPGSsyUR+3IMxGp/tnIgv5m0ktVgR8dmDTpf6hxLcc/eBb/iC7zCTDYa2gZUUKvnkgizL8lHm74TFFFhAHQFgqrp6lEiW0DkBvyoh6UCEdMvQHrBoXgLgUM8ajqEnMHr/7NLvgjsCqHgjaDqqPQPmMYSAWRh22IKolQ/Ryiy0WmOeDQv1FEg1jMknS6hdEXz6wtgFQePpoGTK61kKJPViapwrwLHUKSX5IZqiTAaffAFJ86v1W8Xs4DCsGc/cLF6f60XPko5uypm8jG2rrlQ9KdlYqeyPa2QxuyFIj/r2j810++mzy4M5uBxFztb0OiuiWfyEKm5IckBuFLt5VaYM6Cjwmu0gFGvQ8W57eth4aoAhHPcTXjWaOjBpJVHAB90mmYVltmj0/2vunwDq468XGPccqR/E91TIf2G2iU3jWx4m9C0j5KPN4vAFhcbxej4G+two+qmmOqUuO2ISCuX4MF+06agZgJoVIjn/jFm2Tgv7IJfyyOqIUneQ6BK+JGw/184Bvx5Q0CnJ9MZsl7lv61dsAJmDNsRTkcKA/hpYwr6fH6E7yWbadM5Q3CXzS2v+xcQRwb0MsiPOX/fuFgf2X1KQtfDwEcqM6Bz1eGkuPpyQ2eBfWZG945Qpoo75MTl6AQ0cuqQXzJHD5IU3QJH48xrO2A9AVHdlrO84oueDdn+4iNsCwd5Nf7l6FPZvtY22/af8ZttsC4xb8e621iNReQ4nhlB+NwuobTkbGfnY+roGnJ4SzA8eVd2Zlw3vZdFZJ4Ljak45OdeBcWZ3M2nJnA6myw+5dkIK5S15HNtZ43Zavw9XmFPTL0D6xcsTi0cOXoU9m17G237T/jNt+0/+gIVqLjOjqOwhMLzb2i8ZUEusGagGDQq2zwTUW7k7hfwOfeOYLf/ZT3DMaqBaPZ06192TSGdiQdFm8zjA7BHJgjv5FHDq/2k4JONhG4GVisnrvY2I4gA3L+DUBqG1Ij/1OCVTmn8TIkAdF6FPZtextt+0/4zbsLcp+XclZFh2cM1tAyvLvZTDLNW8EQfxMiiySZQAS1Hr2n7B9MpfkN29n1EbioPp/NZX0S7vWXF9ShX9GnmbBY1Pk82YkAdF4V0sQNZ2wIGbb9p/xm2/aaRZniPIuuS0oAzIebT/aigW6vF2KDM9tXXs0Q02sU1webT/jM774yfacnbs0OGXOvN+G1xr2MWRpV0ukF86sjrrZgsFSvLg1I6f4Ppl6FPZtextt+00+NqrfIQbguIqzkAc8mnZGkbYfPb0Ng552oUellAt1ehLbftP+L1NOanWu9+DwP8m0ymBKiCqpufUnhTupyvzM7mtLFtux+eWBMBMmXVstFCqrvLuGfQ3vZF+IqrmkwABpoG8PJbu5LWoUNp+zDI/AfkKrHFBzluf6y57+lccKyFO80YGoN+5Ng7DZwTFqxT8390ttl6WNLx5mSng82m2Gi5cH8ZPtOTFsEsw527UuXeD6bAujWRFCvKe5GFK5/ggllPsHyzk0Xz74dhI8l1ZTY85yQ07Td4wje9WM373WzLwwwBYRbJMibDhiVaHurmV1s34sRpkMSaRdnWvyAR8ASnI3MLZjyaqpT5aS1IwABPdgoA6LxaoqjIATEH6M7pcYQL0gG8+E65whsv/+1xO3PgPtgwKF1B5y0XyVWuDYhLkBkAHReKntIGwAVC2vWau+bsW5HPofmoe5m0/4zKVuTy+Q6fG8LLZvRc14vxOH5JE5HXVSZs4Gbb9kqbPnaA2bUrotBnG7zHuZwAffv8H8xsTicN08FwPtP+LGs9ye0KSzZqux8uzyDzL+rCf3m17G222HI9iB+UQyx1rC5MZZYJ5JOofGRYSNgODk51kC3lfr2NtuRdK8aYSTCIOgM/siHHb9p/vMapiT9kD8g8JlaDdbNr1WjVFi5ZCXjM04qj18dUWrwrnLxm2/Y7JztcLt9tXhohzjQwAdP+hUUL0Apc09yp93JsC4C/E+abrlCHdYVqoQXkr5C8jYwlgp7NVmmp5iKxingj8UyIt7jeM2rmzupao3b7qOM1+MHoBtNZzJAm+JAHPOIeFrGL60zacmNxEzRwwtV5IOi9CnTpcm1Hd+1D3kGLz2ArcE+RYbQuTZFy3qbIKKsXsvmTtD3joyB8foFJd+vPme5wyzY//6/LjK3BlxiqrFvOJk4A6AwYaWcD/AI4f/iDUD1gnezwRrezaKRjbboreci3AODz2oWlxHvtCns2uORuw5+eNjRw8gu6Knsyl/+0manmIYprpqWJjBnkEGGQmUYVyflcR53HjK3cR++xOYgWzpehTsMVm+/e6ocNB9UJX+4w2fblmpadxbyZaYQFQEcQ5Z3XacTHl6g+olNMa8SGCvDhyn/GZpKok0HoUr96bbw7P/R63LjbXwj0D3vTUPP+et+FVKRBwE714jUWvKmRs0IIzyW0RLnABZqZH80vqU33C3oGF9/sUdlWn3F3s8/vT/rIASOLLxmamSUJZNstb6a+aUql7h1NOh/fn5qxqJDeg51SGD2zQileqnlrppovBYiu3E+egwxw9Xb0giQDPIfalCFv9yHqwsdc0ZG5YvT/i9IzH6MrA8KA6N9FWQN+SjqNrKbJXzEWRU6oRdMNN4M/9i3ZCcEWE58xY2PWFNcW9oplTj35cqZP9a220VoEx5j3acdujapm0/TI2VZI3O5XWu99Tym2FSIjsqJqaqBeEwpnHbPLEEwcHbgDWDWpmSP6STX0csUqvUzXwbNVzUi0Z1Wgw8RDRUlp8xqlS4qqjJoWhXFqcE43n3H6xO4JLyLOlWtDhCRWLTxXJ960bNTgu+egen6ne81J6HfxC8jqmmar5XJJBIWEo46OjhAn+OAaZFtpe06ec2xSU35c0dGVw709qUpEFlU725wfCjj2bXHNidpc0j0/3Dc9IFvtW6oO+b1XURQ312Yl5DcHjkjfhYweBXhSHgQK7+0RIDk+l9Klontb0jOkhdUaf7PN2VyJFQMo5cWniI/ctAfU/TJ5Bf89M69VD4ma/27qgxkD1p8x5XJCYwyzW0DKMfsRaniBCSNVmiE+tJzA0UyvtE3ZOVqe8HY8TegrSDB6E17oPMN06jyUMrzHA+8EPHbU7HhEtQGhZ8BbkAZXmQy9Cy57bVheP0tSIM/RGgbaLL8Przn6yBDHXM8uj1XPY3vJ4Ee/Hl8ZanJgEfJR5vEhlTlLnyUebhE+f3Ui50dmPq0bbftP+L1M2btWSd6Ps7kzaf8Ztv4AYkAdFnKMrrZtextt+0/4zbftP+M237T/jNt+0/4zbfkRNBbTnp57vtJl6FPZtextt+05O1YzbftP+M237T/jNt+0/4zbftP+M237T/jNq7675JXeYJoVVoUv2n/Gbb9p/xm26Mx6f8Ztv2n/Gbb9p/xm2/af8Ztv2n/Gbb9p/vMbgyDsQuZaA9bbdL9p/xm2/af8ZtujMen/Gbb9p/xm2/af8Ztv2n/Gbb9p/xm2/af7zHsaUNEHcfYeXpHyUebxIZegZ9WpVzSDrJkTgnoA6Az+0Keza9jbb9p/xm2/af8Ztv2n/Gbb9p/xm26Mo4mvE06+ETlp1DohVEiW2fTI5d6MRxzQ72ZPkdw46w/9bhq++XVdg13PBK+cJMIbN58mpEL+SDovQp7Nr2Ntv2n/Gbb9p/xm2/af8Ztv2n+8x6/jrARXyI0XI3s/mlWrunvw5MLHgSCgxXpAvBSdizZZj0/3mPdB5tP+M237T/jNt+0/4zbftP+M237T/jNt+RFo/aA88r48p+Se6Rt4AQ/VqIrcQgfcVFjzI3auXMMVoRP87Rv1yjK614LI/4zbftP+M237T/jNt+0/4zbftP+M237T/i1eAkx129ubw8BUwyzW5DLASDYuZxQfIwWm09Vg8DJomPbIpWrMrrZtextt+0/4zbftP+M237T/jNt+0/4zbfiYXj9+HOlmLBzkMvQtI+SjzPvDAl/M2FclzosdSI3la/avK/iavk6ns2vY22/af8Ztv2n/Gbb9p/xm2/af8Ztv2oAQsHm0/4zbftP9tN2mwic73eMvMKqHtt+0/4zbftP+M237T/jNt+0/4zbftP+M237T/jNt+0/4zbftNPMv1QfmEvpgYaDzaf8Ztv2n/Gbb9p/xm2/af8Ztv2n/Gbb9p/xm2/af8Ztv2n/Gbb9p/xm2/af8Ztv2n/Gbb9p/xm2/af8WAAD+/xzoAAAAAAAAAOPuBGi0dXB9Twzxt/OheMEOPfmudWiJ8W3OG5ezdf32Kv5T9W1k6c1chjUUUaWHUhkfOgFo9d1FCsWx2NLHKU3FR8kKGmXJqcpR9QHyl64CMZbp4Rdr5fax5zjAxc61qVjDkpHtvEKQ7MRJRraRUIQGSN9CuE47eu4C0XDwB8bd+VIbsShve+h5tATjmcruS5T+XCT/qVI4HhPNd337Oqj++UmlZLEXROZLlKlAlE6FOtb0nU8rpW7Dhl29rGDxdaIV/eWnWU0W+2JtOM9E3sGxjMwx2JnjrwXgOsTjD/uAxS8tXDe2RAGyBCLnc3usNcFKI+gvKCzwTO3Dg8icMEWeUVOpCIzGd/QL0uAta5tuJDG++FtTiLtPKRISuC0hU0BoccO5GazoVTV2PZGAnZwJev3BjSqFDYib5GCrmyoQeHZI4CxcUDUkT7Lz5qnhT09Px1nBIHv6vmvjk5hsLoO4HjfjbmqFSpeqzwGCbpiQUqkmoU3bktbXsyHvElqvj/JI23GfY3asuFw9MSHn+XpqajE5pH/YduDrOs4HcW8okosI1A7QZHnD8ITG8eF8ZnrTL1uT0dS9dwfeq8ru0MmVue/UHV8TJjKjR9HcpGJmK9op7FqJNCdpxnz27l4T2BPV2PNvnxCc+DHFfaZ09DuKl8q/piIgsw7ViUv5DLnMHwZ9fhIO7mym8NPcIzecE1osAK69JOu3F9LCy2sgS+gNUZVnaLg2014/rDeVhttGZlvw9PTkTh1L/jkqsQ7VvcxbLC9QEL0aIQC1046RfYSF0xQM4A6+jOV/gjSKo749unZt87lTEviY4Z3ra/832fAKp22V/ypBlHT6/DaPgwdT1AKeRCG8dST4amdggdyoCSypYI+2ea1WxJO8bzzaum2yPGOB/oYk31o5fVlqkVktCchoCtMU3NXijBJed3vcmPLApFilq9TYfsAGvHShSiTu37YOLjtfGyHTqBEUHlhNI3F5LRg41EIEmR8jNGxFRT2bU+39wiA080pD0wrgfEYN1yNzQje19i233n3gB9ZLn6xkWPlmRyu0Kpju0KsBb226xwy3iTCI1OzkVMuojem2AInTNv3FHfy19+8qci9TL3TJfWKcC/3X2gK0RbrV92+7d6m9jnLvT3xAbUBvlvhcAvIZ4NtDvZ9Y/Xx3T7Nk9m0JTOXPbNGrKUn11NiVGNnCoYeThxzmaBCLnNfE49/EewWAEtmPz+N+/mxK8/jya+OtILBRu07znBnpszBT+heVU5dXuKbunmAtskGazLNgbiqCNammU0HziTI0c/FXSYDwjxXpeY8rvm++tNy4qSWG2XsecYEjuoHZ5UzfjI8s7KNl6BfosoPL2G0wi9pgTD+TWR+39RhUaZ4mD9assSNkaFMUtKdrRAahAEHzcXEecM6bi3L5/bBkYFTUFRo6bn+xsY07qxzeGxxiEqoI8dsuXD+rvB8F+KhVoswJzliM+U6ZZoEu1M5S1TxuPr7BOI9T65dRrbllWauiyunt/bMlQJ4ySjUauzhyhqx5oyhcBdvn3ZXq60zLdr+Hko8mL8BCsRC2lQmUuKkFa/3wmf1JXBYiY62PjbgK8AlSuf6UWqh2XOul+nvHMG0/gu/KNBMri9VCkTVlpvQbne82Kc6FL75Xv9gMe3mVTtgHuu6qj54+63L8ApRDay782yB3rGWW5Im28g8ZSvUzm4aXTYPBTAKskAg1eR4jszP8a4PSDHvxpElOTWCbXn/Btj1O6v0ic41EQ6pmk6z1Fjly3MV3AsKZjYvEA8Tv03hyQyotgFmUoqTf0YRNPX+nqnQnQbKErC9ZmV4w5UZO/oEbhxBRgyII+Bj1yQLogCYshdjHoyiLzZz/BBqqYQRbRaZoTIje3nSnYhZHM9W4fRtdL7FtC5YDEGf9JSfiP/7SCD4pel8//lxF8D5dg7IAmXTEDElwKoXP0sB9DrJw8tiTH+hi9udv6K2/AdX21BJSjBXEjvndaLNGyZ9ReAKTzcsCnmIcdSdGkA5E0sCriiwe0awFSpcaVDRfmjKHIpTGVipKEkA/F53DUUzWDXNzuAh+uOCxJMZjzoiV7pjri+zH1F4Aotb8oVYjsgkENJmk3bpmvE6ovEGejBQq7Eb4vUCvWkGNxhNHSaZGHckWvHZ3QHsGdDYbzBG84Td2tvo8fda3E3heNkv2VxX4H8L+Bd2T/KcgavEeXbfCvEYDtlQfuAOGjyVEWoZPkU07AtzPeXfe/iZG69M97Y2GlZtwvMRMoksuBTbyvfEGiiwaHJ0p6lFc2E8tSgj9IKc7tVabdYFrscl+ANnreAMnYRwYZKRJcSXlBL0J+JJ5YmH8Xt6Je0wsTUD52/CrY6IZlkeGEjRfOwR3WGoiJ+3+O2f+WlVBZlgZpUw3R8msytK0e4ksfZ4eoaZTViCjk71JIU6HvXb499iB1bIKV5v18YlLqFEedESj9C7nh07IsqoJSPUX6FBj1fqJiuHIl/iXOkxvLv2qrZIjFqKkY974aVusA7C5MGNL6Y1n8aoMPMMEOvTKxYquK18WtxEuJIZigl7mqzlwAvmlqzOlqjLwEqJUEneA6xsk11Afl5gRVO4wE3dqh76xTMFxJa1HgPb8/uj787RFvd7vhA1Eh/g1r6dKVsNJxKjcyUCrC3mDFDjxtDrViKLDb6G+mPYTHmbonrz8IQI2XeANw63tFppyBMHzeyzpVDPzd80Qcm8Qrn22/+B6ozMAhOrGHKvenf8Uc63MToRmXzq0VeTvqCnDJtTGeey8TYnbkk9Zod9+OWRNWHg36NXYaRSB/HFT527LYZMJSvxr2YxRtn6ViHL/8sXBCupoN6iqsygIM75xRE3RjuSb+vQ37expyJhAnMTx3Ggpe47HeBagBrhqCKPHRce25y5clJ1Vbj83byPzyrIYe6AWEGqrF16J4pUKppz1VAcFg6BS2pf/W7vM94Rmo7YeOitLjXYvPxnygbslEcpamAnnbmvHiDtPUS4LwcET4p9iYv14yG3BCZJKBtTBpOy6dF6y6owBTx0QLeDxEZ6Y5y1fc4YkGv5P06RqD+2sArAesyEn6kz8+EpmKZuIKdrNBcPOEDB3sM6bNqLmoSeYDjNUCsyHiaIAKxQ/M0008j9fvmLXN3Uf6/QtHRHy6RKVs0QIhT0u1Vdd54b52x/+mMsBbtKwISnLcNL8d8HyiZJNJvZ2lm5boazyueMwkPI+RtM9StcJRc2sasZ2VDzf0wxbhZsvXA1TauHIbV+519M+geLXpqRhoENOu413Mp9zHlJX1p/dL3w2ACu9gyNKjuIowQkEfcPgj41Fh1ILM6cGOSawWzQaYwysxK30Oth8mOqgFGEna9R674SCQW8vZ2zuOX2rXgqiMFgODKX4S/eyyYX7SYyMRyf5QunciY4OpE6u90/HqDv3cHRqH+pJaJV0IZQtXPaAPqfaxMNhC09/pGdaKoaks9t7FnHt0TESJnSkrfIQ+Kkc7pMnADvsliQ2G1qARElVA9MjQ+T9tFVjN4vsOlVQmOYHUbX/hffSnxQXLz5SjhhUfDc+tP6qjmtcvcsOk9+l7XYICoG7cmJQRrDngGj6WSICDfyN6dD4iqNCOFo2Yh0xz3w5g+2jE8rlygV/Gi67gmOdCbjO0mwJGGHsGv6zR03Up838hoDvvzg7Jg3gnpGG6uMIZIg4hHdSVncVSi7E+D2zjxK5smuYXswnj09PBJKfH7mQxFX0rIQfWM/Goubz3SgkBPKcp/dwd1ZuMc2CYS2/CV0vpwUFJ2DfcVQ2Z7ZnsWfDZ2sdeLh4lRrWqqintAunZRss3OUV7hSgOcMhahFh7rKkQBGkKepMcLgfs5kuVklIjTNxSOLtWtq3kHjkkzaDtuEJD3REtPqRHUM0xjMeSjsm3bWfKr/34MKL+McxECpytBghgr6IGnhTSAg2PHyCXdePTdXd0tZHoqH8C6aDa8dWDp+X8OBCU8dW+zn1zOURm1U5nQxBeho7TSzP9PmsUp6EmQ56dJ2netyMt3ld9wEBHTKZgRZq2k8LByHPTw1fw8z1LovBq6l+3iDhQaiUZeeNHOKff5SuMkb/b1gxOEcRnVc7ul1Nd0nj+H+AjrOJLOOw2qdl3z0REQ9qhaZXSwDFqiI8RNFE1jbH3Nisi3mCNJuR2Fa/1GOs0HQzbDqq/rwZZ/g62UP7pIBK7JD9SXLM35u9yL30l2zp8idB1pXjrUs3uxb2Fz+CFkFGJIczLzqS/Sf8ocp4YfP1BJvCqmrgGDJ8e9da7IDjm558108s36vCL4hiq/EldhrmaS3N6cYRb0/o0B+86HUv5MXLsndcyVbnj5hUCLmz4BF1dhJwn1+0UXhn6mNcTbRvkuT1+6MD8ChwF4Nh9fIAlO/+thl4QCthVeyloLy1bMPAVNAfeXVClKrp3k9oecjfNWlYiV1x4PpyAdV71xXjgvx8ctsts+7KLUiCBWap4yhafiDTgGaCzvLKCkYa6VSoQt3SDs8dy7JHFWKEgI9cziYeXGUj7zB1KqN2+6N8fsbW41/hYkazpQIDtUV5MFSjE6iH6UfLeJBzGWJ22Q0mZJd7qYnRDwNS72Y3wQadIko9+TXkn0QLJmbNDvo5sBkjiGe+fYbYZmG6inGQp5I1ZdbZLUiEBlB7AudKfM0LhMQ8+kF6/vYe81xSJpUvzWVJH9+A0EG5Q/jW+Mmz+AKp1ilu9xOHdGCgmz9TYS3JOV7H7l/ZnvKkebATpUkvqoGOjFr/tI31/MKbtJp+PJhyeu+Egf14E/GblrvdK7HsnDwWvLyaSeWWTco2WjTI5HgEci/3TPjiRfZ7P4Z+Zth0oYpehtOtVF9Gr2DGbQ4ocW8OQ6wtPrR4Mq5LI5BStyXvfRX7Su0nNwfHoV87/jGFTPpMTEativ8UthSiH4KPxBuWzjhgsnjDZ6cZkBgW1+9Y9hNImpOrsW9JeHvpmdmuSPk/h5U6c3Kxe5E5VtgxOoDfwVOKuryC4YIlmRcw5+H/lIG1oDsAy+J4f0J4Vyz0YC0byaUEyAqkAGuDbzl8vO32gzHfwxbhTyO0Eixvo/SXcUuRlpJg/ob8kWNK+sD4dFdSAlkFFaLc5H4583X3aNb+7xVSmOP/2v00oShkIhPgi7v/Y8FO2gMZ4Zre44sGI2SMyPOkdNjobTcVkr3yqqLWFi56294unII0WMkvKYG0At7HP8vVhgDvxPcZvaOLi6jytuOr5cP2lQjpGeZPN7/Rlqk/CVm/U7xP2/UIKbyRI99/DqpaPZsVx3PXnlddn+wbJ7fjCPqcDKTidNUf2moxrCI3medoU6eM6d0JRtL26/ByPjLak0dvW21N1TEwhR37HxnXMrzl03iGy4w5i+o3D6P3/NqMpmwg37LcznVPPf5YEqb3dXnNkoXhwTYPfZa5hUT0SPkw+ZDiM+Lzu3/Vaw36GxACEVY1P/UVLkRD3rk11UwVh4qevq5rWq1F39CluLgStKSgMS5aXN0+8GFGiX7uHdRAZ8hGjCLrnCLrJ/9vupO1m4R/T3bARO/JJUH+GZMEFh8fHvuKh0NFge8I/4UIIe+2une0CY8KWHLcRm/7B1BhQU7k4lMm/+kBOv5BctR2yRQzqbnFoHWTow7HzkS4fP2NRFkecRjobWJ/K492nPat3nnexhML6pEwJQdbfK0/+tgaKKK/KUM1vncl7OZF+rNd2uYiODU0MBBV8AJXaxCdp1riC/rqQ7fWEZZUOVtDTnJ1SjO1o4qvyaQ8XTbjWfppLR1LnhU8vXDk0yeiisWwP5n9vMLh3l4ktwS8WFWzoPbF3yhnCkteVSFgHSm0ynRmC8Ns4/UXF7/FnkUMWHN5ecLfc/47AjMGVEe+3Lc8x0IllunxNMIOF3t3f58vmUTD4Gwd/em2vXmFX6zpHszz/HfQfJua9nflZcuD7xRe0YD1YkywSGriFKb9d/wSLrqFFdoecajavxtAkqZPREmRoOWXStnH4ejO60SnrpEMnntejZcl+szwUBNxwyEeZSEkGOgwXrymu8k9jW5SGEH5kolNyDsWqizsS7kCe9ZPLQCZ6orOwFJ2F79+9sOPFrrwR+XJl+3AEGn4uuKh1pmt/uuz13/UbyuIHfC6W3BrhlIACDyhECz0b+GGE7KWsIeSmFFR+aZQVvyCS4vRr9KhOzdwic1bBEUuZT7BZpWAT7LNCQ32Nm/qihqzND9hwJkt2CEbVjCGxL1hzUYC91yeEtDyF6lnnDd5EcXStFNyGJ2C7vwRp9D8VA4bTrE1gut5JbjA26MJS5YSF2+uXoR5Oi0Ue0B8xq/xuFd4xQG+lpX93J8gyGC0AJZCdeOhICBsmAH9F+v97g5aXddPIUC8MvNXcAc2wFUjnDdyF5zYfq5r53FEeLyzo5r70yufN7OMNsWucUp5ZtIeJDpL9HJyU6xc0wxcj+l3Z07uTszdXAZyiJXpJwMqgoB5MsRg0rIMjvyJmdI/JEjbpYcmdPRR7e0LJ528vLRr/LffMFyxLN5nOCRjTzXF4bZHfsEjuhR4J2khz3HICIkeZP4TpMZtHFf2R1yAzUtTw0KdU4tuxnYdQpu1QHxEzxZO6zeXXm7xuc86CFQ5LJeQ+74nM0vlpcvj0+lGJ/VnJwdEf4iOpQs6vGf37hcP2R1+5jIZ0Q4KFtxYEVRkZHB0IVBePeiCak/Z+O8KFv6YjgfY4pimK+KJvzlu7mrO/jMyBKpIA5aIkW7b51bp8uyqpry0jTXjVwYN0W5/rwofDLIyq7U3J5rBVRq1t/dqiSkaNUlT1HTxHc+pToLinbkXugZnG1KpGarDcbVONRysj88dDESgBTt+F4IJMyC8JpxGsp59eJUr9w5FSQuNyESW6hMBVrgpqh6MDIndkWVqMm2NTKMhPnSfj+E410YSvqzK6Rnk5S1it+QlwZn8db1/8njXPNcdnW7bUCSFlB5R86f3gGU33Kt3Wj22zjsalOsBn/sZq1vlVQuHxFYkrqcxT6LX8HXwptGvSP9uLtvT3rqbSwoYaYPkD5a47LNH9URnxG2daSNVm1BGR0Y9Q+0l5nGA4ebEJBjHa+2zpbhNBP0vrXj59SJD4ryKqa4HKW5EwOgo7ZQfIqWeN/dDRBL+Qc1cNpGLD3YXkWDlE/pR5C4aS+nqr6h9wbxVWXpUwusb7xbYEA9aDksiDrH0t1LYRPj0S89rPQKC4eadtaha+NLoNYSGw2FcXfShY7P011JFbMA9A51ucuFpe6nL4hnNzEPtsBdCohH4LYnjYlH547w8wSymoM46kr3IFkvdCFcN3hHQHjm5lNxfCh4b83hnn+WFoWmoWApeeIjkqVvbdrqXXLcDlNN382Zbt1ncubwybN8O+IyWcI0wm/xhqlEtkSK2ga0X+pErkrvSAFNrjkLOlOqdKfa2dDeBpmEUNZ7euNB5p51ybFnJ860lXi79d0jIE1R3k1vvq5O7v8sRaUFM3KmYM6bZnaKUPxIIU+h/ZbKcrOayaD2beYUlE8aurUjaA6/wZNyNkTkTukaYVOl2i8UgLelwSrf1+lh6cR+Ms9MuzGuEeL/W5cFQU+53To3E5l4RWq4T6+oQ/ftzEYTWUbvwsgva0humPwedlu0hvO2PqqRXdPcO10mS+uRJBBg6N0dYOnCsRXx71T0YetgJNaKM28igAIzJUNF3gdqr1XOmTD6TgxR+e0fZJxOOccA9nqYOe0TR8GtjAXhjeexAw5Rx7zLmfJZvq1uzRuW912pyXLp0pgLFvKbFCpoq7CoxxGkKmVmrQjWxO6CcMHjq5dawNmc+URT5KBKL0B89JprkaiQYXGiXatHILwAFcCTF0YU6rnFtdebxfKErNLP4Ky2VvJ8GqXGAuioXKSwTT6BiH7j04cymgs1STdXauTHvBTSTyn31WIQeEVnPZlXVgZir+Zi4Gb+KmlXhHxZCTpAxNeqUJWvtDDPUBuL36jAajT21Nx5Z+LxfphLhW9xL2rcSakXySOdEdM6R53EiLPe3ffNBa8JKk/6JXi0Ri9J3L32k/u+Ira6Y+CJr30XaWnijZ9NA0DhV0Vr0gR8f1ZBeieV3Cgj1RqT11PiD7dx75rM7Ukikrccvji4wJJr6v1+fF2UFOpz8vwIyA3n9mI7f+UfRh1V4R/cVVlGr9mJrVL0uqQqsMvPHeB91LRT+D/ZUO6obloKpJJdl2sV6iDSU2jMRB3YmCyINvJIxHWV3pNetTYoYUhjtDK/zETHHlx83NptaMeYZb9hZa+jFc6BvMXcjUKyGyoVTfYCEr0zQ0W3EwLYKQAJbU9KJwGrVezv8TDC2vJvKya5a21O5qMZLkrDWfMESkb+9ltyvGRalXCTSwTc6zY+EPidBTuYvNgiDjzspKjSIhO+Yxbv0s8O/VZDG39ViH3I7JHr2Y6e+0gCkTjJquKI9oRhO/NKXj//wz1z9WvX26Ib7KDWmrLFJaGl0RKCv/Kg6M8m85wepDgND+ENLYsgjsjvqrkTDijd1tnRuiAi+AGsmTWoGMJICEMLl+UTJYbNzzpmDRvBj3FzcFh1+EIzBZy25RmfLHhfe4t7iQSQb+VZ89y4l7N1chCVaZIChh5rBwlEW6k3HXWopzoynWgR6JjafHkkV4KwxRUx7lx/OasnGsCVK9LVDlrAwIW5fvX5xyPqjcYuEhkCuFQHe6YyzmO9NydYhcZyAB9ZcgkCFwlR+TLrGswzVbivCAwoPpx7PA6aHIRTOlJ2Eo+nk49r7CSqjsIndljEj1DHxHOaBmR8Ieas9ttGsgpuwTe1ELXrkwIvs/IP5nq+cxkmsZiPdslp+OjfOfgwA+s2mQd30ms/iQigvgcHGosVymSEoN90pF6gRYuPv+xqqpWdGdMQPv3CysxZzauTSp9HRgO4Jof1pUwtQlAI/JOzWv+VtGBPb3sS+BFd0KqFOFkl8PEBw976zNVChbK2iYPbB26wnnytdCGfwhL0JAoh1wp1s/Ig15XT876jEt9jAXfFawG2gh+ukRMp8fMuCkLeBoUk9Doq6p8e2hfgD3Wgo5+8U59LpXg5MUqhoN+prToODapXXdWUBp6igfdYw5Yd7LfFxCoVUUVZdjpYaY7TXtjavsseg7g2YpZR3R8CLw5PKubjW/9Nwer6cYYete3n9ekbnL09zbSakyuI3ynAGwTzCweZBrug8RvA1ao1T2ikXOyCC0Zn7ph/kHmPYTKUG6FtiIJbclr61eJ4qQRFLncVKpQWYk8sQMtzjcCBB7hBY8X47b4KlAz2c+hr5ijCBh2WwCwi583cZIynyp2TuK827wVydA5wWNK/8Ct0pGhX8hvdpFws/ORKKhR+PT7SaImf8aj8wv41OGgkM6q8Ug2OFpaDBaw/YUhKXJb9jhKKFJrh0fJEtSRwKwHcFc+LdVyq9Www9B5lXDb/WW738OUlDW/JdczCGQ76ZaGM+WmWNkeHlXB74/Rx4wlMN59EQZ5TbfR+56tAZ9QebonUBV7Rw7swHcr8u/I6ull5agd7dRQilbvcHxqSc2FvBPDnBWVdOR44G85qP7rVtz3J7zSv8q4PHkg6P7ldvO4QXiCgEgbRnbrniH0G08sD4bJklhaYUGRPm/EP+qFy/G1VucKojn849CttaVi/jWwIPRMYb41cOrwYthVJzJg8m57rZM1VHeH7IxAuOJO0G9JiJBxFP3ciGKrvAp3+vIoPv+vqNvDNgTzaDHWcTQGdXCDTAOAySxEicznlE2c7xfFg2JJnWvfFWW1fGX/51usc4P42Ko8SsX8ZQIgwLcgEr19o7daA5vcFHKUG+uiu98ugZN6zs5dr9FLV3l95ICXu2tB0B2ljhGKYBbOC0aWWZzKsgrgtmP7rKlSHc7+18ss9YG6W2g/kBHZqpeXfCeH+oUU7fFs40laHy4H+cQHjouMCRzTYN4f6OKFRTCZgPJHM6ikmIHiAKqxUnyX0TBUEP7CUynNMt2QnjJ/k9hc4FFsJ3Sm/77AO0cZr6avczB9WXKE84I2WGeeU/bffqXjiF/2ei+wgTxyboVJ1zuuKGmUbgzOe9bSq9ESKLJIqhdKTNdo4eXvGgdSTVlAR8l+oiNNWeJpjsVl6Ow3bdGtVj9YQ1mM4LBMEo51h9nb5eQqcwa/LisfUqlOJADPVZaUUk9DD9TO9PH2B9WLjD2jR8gMWVil5MgkYb7U6ri/LEX7g6TACgPjphxqekasMtzEYEqz5eEeaACnOOgob+IGFMPJbA62uAf+KXsdzfWyBkm/rFEyY5DNR8p0kpRQkA6VhL+8IvnFFB+NhFQwOBL2bki4D0nWNW5s9v0rYU3cyELnPGQx3DOVfw5KmxpoiOgODP7DooLPw6FaVCGv2fLE7Pv8nT8bosA2wC6rX8pCuTWZvsuMcm3OVw46jIk37jMp7WRoC+qc3rf84l9aCbJN/xyNNMATnDbExEWLFYcY3RbtOIuK9nuCzFwMdeGWRw+pNl6iMu3PCmgHI95Rrfhkd45oH2A145Nl5Zrhn6oQvqM4SuvfT1aZGliJhJ/CxrDLHyYenH/Gzm18sx4wnOJQlO8DSgoFIvVEhVC8+yWt8B30s5Mi/p0lbli2NMp7iFnLvHZEaV5m5Y4KHY3nJZUGuPJ/WdTOxZCTZxrkwL/AWzmyhIN0d2RCTxQpGeickLpH8wjKjsD/GOztObq7xC33gNAs0aVIAJBXpU3Xo8CJcoRnXTWKVRWngC30hUOMdka7Jn9vmQJzn9yTDVIGoxAalVT9BkE3G7aUiGWdGvfHxl4HPe0q9JJdKkPw+etwlzsb7qB7QZFuJvhUXEvRRWqgLCCyV25YCMHXmLUBWKrJTDb9Zol3DlUUDRjPlTl/7MHWdvdIFRbMY3c/7T+9TPvu88zqUqzhUkLxBiDovvOq2Zia5C3AgIgsVY7aCRCgOn8P9RIxOO4DnipAgHtBuB9yWD65Bp5DIn5gQKO0RTq9HBCS7J91QWl8TxzMuW7/ugr+tkB/ukAmSl8PRr96DQpdFofgAXBXwgyuUHI0OGnmAELYoX+JFa+Tm9C+u2YMoWWup8HILLqJKSetZhXe6MenjO9NMdhhTDenFWQVVtzwI+QvucFVXOnonFRvhMkU+CWCwFSHgJfCuALAx5Liwt5pVQ8lszVGdsdXs9/e58tWX4wuIkBpo+KqJofcFMChUsW0YZBzxmaWaKrrcq7pLbP7BhSLgOJrdbUCFZNl3Ao0XH+CXpbGauIDHFHsGIgkzIedp35N810SsBktb5dPSX3vX0qZ+TrR2jj2KEkR+S6rRyMGsKDpmc5HmWZj1Twez49k4mXof6b5R1guOWJACiGT8tcI17+IYTOlUDBflQiseIdB4Eit3LAikQHt4DtTyocavggWHQdS1WBmNluhWBO6IC2h48aEJOWZMKA0nNj5je6Opq/uU5lOfQXhrIAzgku7g2Gw1TGK1GXREq0KJJIBWr0QpKOBgvajJtnQpmQMuDOXPQZEnAkgAtu9SSuk9B4IpYLaT2JN1urWwH8jR63Q4Zq4WGUnxJifsQQZ4k0mt/ijhjcwvaG8jumvsuDn/iSZCbt8zbqBktJ5rMyH0zydQc4SsmW40daQ9We4XfdDW7JQCGSp9jCJOlf1zxyPA6FJxWZIfZ5V7Dnkzyekz8frEprtk7BYRWbAeJxs3Xup3gou7j1JWzwXXm/sTAiskf/wuk5RwFE4OjNcioxrEtXneFkrTIyDcUwloAYOszv4ksWQvb7BmX2zskWgfP3b+p5K7xL9bzUfJ91aMzmREEqXsqe9mE6TMZCfYkUjHnxaUkDvjjXK2OmYKbUDprcKJv/BQcmL2DCw3+atp8r2i6BkzhlTPxhBuLksXdWgGiiwcV/3Dr4W+FQH87omh5TEKIp7JDzgFUQMGqIs7AqbdSS4NjKjfsK01JKr36xeIEwYuwQg5lqQm/jcnW9crfbGmTkAmhRJOV47rrUboW11doidgNpAo2Qk/vvennqF/gdJH/WjsrsDxRm9euCYwkb+13QZGw2C7VRUyzpXrVw48lcGqj905zayLNhREyqJpg/djwZU/JTxuGRmX0eCVr4q9ePcG2iRDOfSUYypu4hj5VuZOtR32+2LbOpssuG73R8WrRiv7SQYqj+AEEeu9SV/Sg0aMPymOj1m8rMRHsN5Z1oKqFfRegqDKQrQer7P8DKf/SNUO3C0BONsZ55E8I4PjK3MjpeHz0ctHJjiNDO469jaPTa23iwB5i8FV+b29Xv1I3iUUiTA4KAQu90rIDvZY3BFcjmIeIL9ZJV1O4uDOkCt/aIINuEYsC2mBurW62WItt1CPvf81DiD4TIBqcImOG5cl1diDiBZildaXgJ1hC3rxRQ7zkUrOh70GKCIMFB1zl77ZIkZ2dXazNPg2UvRcIXYPIS0/hshQ7yZogZBDkpJH5C8m6ZppeR5GxGrNIXfYyFj9WrdB41T25Sx9CzmxAkd4MJWnglwFLtonSw33vl/1/InYbF7Ffx7U2/MeqvmJ77ZzpuktqktdntpthPj9hwbCwONq98vJDzZiXlQ/FUJqmMyZ+ulTLHoII+trqirnNlTLfEMSMIHmABgp0OOHNJjsKmvsSySh2BtqYYcKs8qeJpeDbW+HiCe9w1slnFsG4xOw2MtplFIWmzfuTlPii7tGBrYVmtUgTApwr5whTPRhxp0/PhzsMTfOZogz2nV3YlD4TwML1ctUihFaUWfH0vzSPKqFMHu8d0bMJ5mwA1q9B5haEqBpPNqUlKY+8rAUG4KSNG9Iblj283GSE+nyjmGzAgf3tPPZ248l7pU5HhUv2nQjXc3d1DOAX38PBOcW2qJnZbvePCU7EQ8wPAo8sWaRtl7UuS7f+MSrv7UAOasOz6tdaqkEJ9zc1gIpJbfEo+dNxsCo2AYHpXLcjkR/X72+K8Z3QLImnhE0jqgqf3gtCVu6mcfcFeVDzmmRPUwXHrMRDSurFU79xemtcCGyqfRiW/EZDvx2R5pFYVANkQJjqF4MZ9qOZnpoV+ljG3rg7nk9ZC7xxziVzW+u/f/MDrARQxMplJ4Z5KViP17Of1Q7P1huDYqyR/4+AP9hDh1WG6mNVjweBSLgLSjKGrK6Iyfu7aWlJVNf3+vRwmtDboBpkoEL+BjZtw4YI5ovJDWjniNrmfEIllc+nQVxpOy/57QUzw8OyjHCTX2WtifR1UnTE9XVyqs1fdoktDI36Y4BigHps1Y/QHfZVt3axevBSad3XN+Kf6g89DWd2OuN+MoPS+5dkIy4cyTueAeLbxhtMuq2rzKzEW8WpInO9rHISzKv4PAlfV8q9mwg4KulDs4SfqUFiCPJIHHl1GkWEAqpyZFNynETFf2NYJPEMlkQd9l358HWn904z/PfS+PZhuQwuFEi4iMOGOpJwOTdWfg2mquKgz9Wp/MlzFFzpfsCyOc6jhTaPE1FpwnkmNGUZ59OrA1OzJFdYkJm4MS2PxdBPJ5La8gXCishcxMKi/dbVZHIwJ1UH8dn1J97Mdw0vz14GLuo5WBBCRtiZPoYtoCuYnN7HYGphUfHy5vFHNA5vA9Tqc7Ykx+g3JlHhSw5PjDzsv8/9RJp/QgBUcsXdGnLPZ0RaxawwT43S9/8/UVJs1mm+57qSZa/wdbTTvZIWmqkhDMXVsDHgkl8a4dmtDrjB+tP0Y0AU/q0lcnx3Vswv3eviSZFxNezADsefOejD9rfBFeEUgk/hAzbVYDBI4w7H1wEg4yQVd7MUVediuZJgB9sui8cZmjLzKR8F68+wn3tF+tnIH0A7FRWOGKbfrQ+c4iWf2RRhiUE01NL/71TdpKLnVAaojwI1NUCKrcsDsLQSyvovngsDlSrcD/Aygtiv27XsngG+qlechQuEXiduhuAGUKaOiJqO/Vvc59NGIFlArfZli3i12/Z7uxRJtEXCx61AlQxsHfB0SdEMkSp/YwjQjVepk4+fDbSY0nia7ztdbTCtruFbMsFyAG1WWYh/U8aPlGVv2Ei2O1RAQtQAmznPHEyc7ZEzCzuzhtRSuhGAYB05V7fOQ9ao0P4iMFB4XA6sEBKeEFOWev8zNY9Zj7zT0I4ww5k/AEWkjsH8epjSfmcKpEAu3p6kkGtZUVtSDYirmP6oe0smK/w3h0dgQmUASGnhODYce36IOiKoNE4WUCUieFydHUjGewGp+MHf2C05ClH0nfx0tF+hSj/hwNuBk0TunJyuIzqByeTNaVaFslAcICq7t+Pk9sW2rv57E/+2HRrM8FYI8qS0x2DonnfBjfCPIyrA7TFsLbx1CHa1I4yqXg4qo4vtoihkGTrX/X1ofyc8LnbCtEVdYayCvRwEiX9dhCClJgb78SgkeJWs3H8fsR+jRVFwwRCx0O488UQ5yTv3BFFL5mJUhtg0wpfnbv/l+FJ2a9/Ud0kPCn0MuZPLND2aA22yqdQG1ecp5A3TQRgMORHNLC1mp8W8lxk1dytgPUoa2pADK7iw6qC2Lx66ezgZecZ9NH5w+SwTyd2qBfaLJK0y9DVM9YQnI9X6cIxAYarjYbXhE/YZixOmAj+JH1nAdjCn/Epf+tLf9xeovyGodknovddtyC2Ou9355w2TILb+MRD8FTRsqHI7tvVLQG0BHtF5IZT5S3vBy66/kTqqP1/v/PDvDTIYZRzObUlnCiHCs+c7z3ZtUtS5PHr8QALoZTLl4VzNEkIn0vWRHa7ILXhaqPYMww+HC6S6vvnQ96dBRENoJwGZk8J5Cjrb2b1tBATT3GClG7JQtp7R8YDuI0ZFq7Cf71VAA/67Z/EQirWfPS/Gc6f4ELHgMx9Cfor4Guvy0hlIsccKPZZB9cSUd07ypJTsNK6viQD7uHZ/0R7bZX0KqLYvmUG3HcfbgbwPsBVNw3bA2gi1BOxrUWiPCdI8Eap8Kx7d7vcyVeQPjnfGfJedHrpjP8sIyXCU0IqSUjX1K26Tp9nVcmUljPFgXMUmM0MxVMO2cEgX5NhFlIkht4jbbgMTu1wIeoGqU5fnHkgEGD5ZBqOkmvPc6e41AQcH5HDYO2qHHvWqqSOE2sMS+mgSKoNM14viNBrJlnpE70ArTiRHSCfBUFKqAET8sE5BaWStS/xnkCmX11Md+cB3K5OCsB2VHexRxTjg4n1YUU/R+TTT2oPJahg93bAPdOzcXJO3yeHqaz+/iBxePr+P7/P9dDlw+YGqnAtNGuoUTstaXLILbGpFv3aCAdY8SOHMJ1AMrmWKen8gC948ChfVbkgo1Rxsmgil31J8xGH7twLyUErzVN8pJd0AfqeVOoeJrP3jx3MUbnDpbQSi+ADwdcaNQajptJ5isIHu2bW9FjZtHxpaFB3FqJLd8coS47wjskZ+UQQ0GYvTIiKHOdXz9Dx2fQTLABdSbbQNzUD1zl4nPLYsA0o7e2LW2PjB1aVJVa25yedwGQKGF9GDDQMasWIZ9HLWJXXkuc0WF9hZ/lbO4rKUQlmrBeiJpSIdO/oa6fF2EewfzjDI7uH9/+GDxskzuAZ3U61H7XaSQVxZXYpoxIp74KZOAmhiuhwVLf3+TN8NLEsday5I2g6O/c4nAd0y05VrZflubIpUkCcB0NzCSFXlOhWZ4XHoz7shBY30WIwgQOAwiFhbZplqJIw4bl60McPcOp0FkvjrqNIIII/mMJNBXFNVYW53MjEKF99X7f6EubylsFxhpPLPH5k5VABRH1iDUSkPwfov/OQDF4QgwEMmm7t3mwstudzRMA28QTLj/nNLoaNqiYcFRoGOKtrsv6lwESPyW+JmA0seRZs+JXr4q7wCnqcfzHV4WyyA/+EYidSIll4w/CK0aNGQ27t/2v0IUNTQ+tjDRuY2bAY7plaYpf+m/z9NbMUB7K2974JxlxV/I4Yga/mLy0jiXAIVeFete+PDE9fmUupBkSAGZaOyPrwnc9DgDH8T0HaQRWdzeGVN3upr3dknnp5a+JLtD2S2Xn7Uj6EsXZYAuzgnMIz/SMoa1uz1rK129fPOf7QopSs5YEplo2cYSGYow+722pDRdHMj0RSo90X7EaC4lH3FrzeCRVg7WXyhTyNr+/zShjBS2LXLgHRTjT8O5C1sk9nidSAMu9lfUzwPnMVnQo9up6lsVsLMZzULyzDTAIOsUPGSwCpnb2G8M3urqKqCYfQgXyjTLXcL+e3YFvgSy0RSdqQ9ASoJDbaJFMbI563hec1FFXaAJyU64ikEI5zJ/5m+Ab8++gNsFyJ9KRCa2Q0OME0xYTSjwPXdK4/oFmm9qZeOGQPmE8CO6IQRbxABPJcmu8oP/XsqIkixT/8stO+ubdHeInO5KhAXHH2Y8MNErFRThl8a4dhTF8rnqxF+sjwiEr72U7AvCF2BTtkrj91UIBC+H0+C9v8CXHLGNyId5Zs0yj+CNiLT/Jc7UEyBiUJELxAesG4qXXE1cmD+ZOfU7bgb7HXHGf1qV7q+wBuoiAr4KMSOZ2v/AGDmi1L4hex3Joeb6vDcDjHWFRGCCX9BzPNyYh1WeVbDjkQ3ikG2mO0fAhCAzkvbIgxeyJMiF9Mg6BEqOtdF+3W46O1z9ydvObI7CzyDQOcObiYGDbRe9/F9sq7C7VENVvsG+xTkG8CRkkZZs1IUZXwKnfKY4bECWjgTo9NhqSdjclcda/hhdhCgfxWgYkITagDAvCb47zNbaSRQXBkuCUN0iXRR1cUbO2lNqTdn3YXmICHyASIhAY4A4KWwtOAAt+qYC39drM+Vx3I4AY0LeGR2XExJaZ21Qtxb5mC1wGn5MN/9oDJaQf0rBZ3xsZx3SeBncB2Ey0ibl7S/5aebvRBEivQd8rcZL9QnURpiTHmyBtxL4fWDbZagDP4c8+Z5ujPV7IgdWutc0rj4v0cshFl6uecAz3denKgeEVE6VwMnxy7L6vRlZHmu1FTKnQJ7oOO6NwhAlSbqiZx5D3zLEcHYopus4N6nK2CabOhw6wLeweI8CsYHUdPxPlTw5b2SM/SjLEE3+ERIvUuxKwvkbNkFcT8yt/+UwEjputFBiaYVhWLIBpBU3Gst2C/MbwLxveSTgKBj+AcLzmBwoVuWflGrImGoArVcUojxvQ16SEBnYx72D3DxWeuoto0kZAoAKWf0SaZH3Wp+UF6gEgiqFn0myW0azsX5ulDutLdnEbwr3Al+xM8h4DJPebJt6gAbCgezg60tMCSTkYl+dCHJX+H/9GsXbyQWLQQjPNfntv2jhjADo7qEqs9o+FiFNQ0ZcxBCQKtD6rgb3bRkPUbDeP6WO7O57TsgYfdMc5ntTBiCBm/AziPHW3g6SDxkPQuUSSbE7a+3kBKUAic9ypgGrAHAVPDaOewNIVN3naqGe2rhORwR5lxVSAywNZPOWx9r7X7jc+mK4K2o3QcYCbIYxbcM1YPrennnjRWWQH3WtcMJWsWvxfWYXFuw1Ho9w1y5GE958EiT7dfxdu7qB77h2+bwnN3OzGvJJ+lS99EL85lY5uMy8vgbnsNN/U6mNE3xXR7rOJ37POCJsj5IeqrLXTXUL9KpkLoE7TGKhQeIGJFhYVXGnmi4D0Np5WQFpy/1cwIASCKT/bPCmJQdr5Ic9TXPT5FHUptBCj5l2CISpDBcIC6RSXXN1FnV8ea6OEOFG4Ca7qy6gfZjgaoa0vkD/uSLFO1xsAE0KxIeeSD/RxGXeLCubhdNaPRGTLz0wSdDS9ew42wFilXO1arzQoeFJodLgH2xGOtHIVbqTgLc+iZzXBxriab5qTlw3YfardgG9sfaGpBCsoBHW7UzVQjpXHq3oXlqCzVvNrLnCxCXgLJsV8I17Hw8whoLojMcKEgI9Qcx79tWVRaMee5IdIdShLsTT1WB9uBwYQF9hWxvqxTvWknrtHYxq4a6hrWpoCqU30JiA+y1zGfhAb/wSOOhXLZW61hxJyEBP6ewuwiUzpOrDVPvzOU9YwxgjeJuFcViqAOlFIOX4LWhyLQrQas5EWi2qYe8PmExn9nUfdEOd2OWYsvsWrgsqsFRrUEUgYEZfelPMZyJuXRw4HWbyA2m8K/42/nZmihQ8n33fco/u7YYRIu8SGgBl8rFCC+Ke+C2JrC/05GXNRzooNiwHOAUT2oYadpUvBp+S0p4WZQY2G0jNMmim7RczS8VRh0ofbJV7503H3PDvbxjC6eljQEPdAvoovakuvvr/Eajbg/Rd86jSIIJztPGrIQlyI1Vxj8ryJwkvXo/JrZvd8ahND4ITuGDSMvTBy4KnY/DStW+bbf8AymeQVR28yJgu+0p5SksKuGx0N7kuvWFJzTxd7McSkPJbgfhp8w2XJoys6grSl6GrLBM4ECY2vUJ8BhRX99YXq1BHlldzkX4/DrFSs2t1jhHTFFHS/bOnusb3uuRPRv+Z4f8LtVTTR0CZ/E3zsSFd0Eo4eo/LyiyIjxdQOujmJEAC1MSdN2fZnE5vpMoDhbLw19b6iMQbPv3BX/m/MzSaiO1W7czJLNUBuMqyAp8Ye5ieyrzihKxpBMeVh6CxpwG16SeGZyXnevUaG10Sqn2LfWTV72Ark+aKIn4VdlmkKRNKmVg6AfC+YJ4Bb/ur+XS61C5wSyBT7LGEUQ+HYuUICyogubfl1qkQu4lQTccl9CgVpcsnOeymlPNdNa3Wi3h5JsXpJh4WEhknAPOCHyZWnPMs71YFqrjP99e1vSz+urzFp8Vr3d24lELKr8jj0ugPrL2mOllVMRQGd3yWPD5/29HmcxPZGcnRbL1Uno5mDEb/E0/+7I/mYYzJoJrHs3XK2bW3lHD6VkxLiyTVNOVUewem/9nAj2KrNeFPKSwBnT2n9FowUbYQyuOjFIbk1VGh9u0bBU9u39lbTljHBsVVXduyTMdDgpLM1TV3RIfUYzPyH3M0gBqi8y0aOLZHIhp01tWHC5tXFdrg0CjSS1o8lK/+9HFKVONVc7WQWXA3MJ6U7DBmZqAdqZZJeQXaeOrsBC8gP5+b191uVbaaWcls89hhLORQTOiZ3tlzAngENqd4Z8YcJe/ieFtxoi1llMzst+VcZGY94Him7n+9S4BHg6lMwRYGrI01qnMlUp5ipGTOHUIATcCSYXhXVY8PxMpFLjY5+XVwECr6q2mMR4PvIO6MIAjz0a4BO3pCFRWRW9gw8U84BtSM++8GqpkJoVhrbC8SXx4MRUHPha09csjZJcPqrpaMl0HGIqj+shAVwPkxbTxawX0S9MNq6VhKNcwKOQbF6DzxzxrQ8+ShREm0J9cWrNWGEWYRKVc7F+P6V3vh+0qh1ZNvSiD6hiaWMAFnF60+kMWrixiYEyoxijvJl65Z7BCu3gfH18PHU84fJufJAyqAJWKmSsMi4BBR1rRRMkjexXrzOiCX4TsavBZVDTzZQl2IedetjtVBRzn4vjxLhK7BeEBS7THpwFKV+d/QFyULiY4T8CbS5Y7WxrrgFMRrXOpFwBglC5dAQpJH7nzXqbPBLhDnYrWSk8c8rLDK0JZxy3YuuysfenFp6QKG1HA1wQy+1E0O1YNxGYSkj5uA4zmESn7Z4ZnRMKwE1UX/jNupwoF8nDhLEoR/ZDQn8zxb7XQyL9UoIbvObjlKbInN6fWg0blDGDEj+T6CNbSMaZ+J4wmmHpxMKcOmprkkpbVN0wUzlf4vonVbd5EofNeQ/ayHaHNPVkM4ASnwYhGX7Elbu09HidrlsBaWl8XwlvLmSktZcVCYPWkFBnrSR2rpdm0rwS/LU8owhiWET87B2pLOEW26hyeCm5d+YzH2kwyVfizvwnX8+kn4aONl/Qc9MdDV6VKH3/AC0+bFfe51LKiyjTHH5e63iyGPp44bDS3oE1oYtNDbGksbwkLKIl1eVpVkeOJWdl7Wv7u3xIiTIHrWMcQnnFWvujFzr7M4v3NqyqFaJREQ9+iKVdcgX/4CO5saKENqG2TEqNvrJ3TukMB7YiqrcSvXTU/0PcslmX3YUzBpe5Ue4hmj+uNt8A13W/KLbhPyctRDITrNHJnkVao7EHQsAC3pBfEUaKscp9jvqJfJVXm9uCYTUJLvJCVV/A8/O9TKjedqHSowW90pf+6CpI3OMq1e8sHWu03eVsUKVrW5X63hPSHd9S7FtqRtogggYD61jJMKDh+6Ic16XHoIPSYRiY+spza3weAD1RamEnKjSEopA4PE6VBGkd68E/2Vpv0pqofBwJGX2fjrOR7QmPSCqv6pyf7ArwrtkUqQ5hWvm9hznzjpUrNVA+GlmX0+16+m3ThfA0ANQd+BfNf+iYpHhd7rVNftsOqo+4VITXqvEFIn5/JuUFoCnLU+vm/4XCsLtaS8XKf2EsGI/Pu8ND40DWEYl64N0shh2QAohF7tnJGf5Jy//iOJCMLSnm1n78Ewqlf+/dO1KkuhVu47G90gE6ke/krtlrhtswjMdNHmKG0HZloPPtYVs0s3HrjkeRXx0tRnIZ3L5K1ATNt/5ZFwiUJLbnEkoJQOmSvGWScsx1+nuWELJA3HX35VR8bqBwWXvq37zKj7jsgstjRixAsPdYwx7Gp6Ww6L207r7Va/BU8H/WPFSG/F5crDfqTUQA4UOhk4ge0eOrj+yhPdPEKOtb/j64zCd0dlpfNj8ShjSI4sguBKgvm1F2iE+aV7ytycUXC0qtsw1Bl0y2htNM4T6BkiXt/iGT93+/IxHSItYPoxOfLzu61H2SI3TtM3yALqSUnctCDFiNa9N2RvmHyDea45JRGROFwKDHY5HEUqEx7FggSO0kH2iPmC8BGlM3DmFFk782MRm4qWfona7mbNGUWLPF1T4BSnOVaCV5EKFr9uPbyCj8MLC62PGNNUeCZ5BJQ/W+ts+LBA2bZJCttEjRQUqkCNt5ghXlojxvUXuDrtnLZq1l2yE7zF0ZI4xcLUy02aG6FPHaEgsHe16CRDr2CP/beLKv55G51uICzQUYEnixUI5UMGVZY4paWadgK/cU28079Tr1kJSXfDyuGfCeRvi/VpKLerEndOcXdeGZJIq5en8oWdLm618QVqxdIba697dwd83I3LEc41UgofOPf+BaDhzfIDLZELTHFi23JCPNymJRcCt1Syky24YvbQFdrNajJK6rfNCkMvSrZUT+S+ws7gFbaKuNaPmOhD1QYS75INVdFBl3J4jJoRv5PjCourC4ymSXVKyP8t+FKQva1wIP1o+YEb3YcOCjIHCViNAPeOAP5IqBuE8S13p/uYN3YFkJBACFofGm8Kq+wber4Ynhvjy6OAPyXj8xEO9jhAiaorr9TsFItFaxCJ6i8JZSZ2BG4X1txQe3KSbte7eqqycVUZ9pAyf5xONMtyfxN7a7lHLbAsWTHfmyMlsgwqcubKFJTBT6aLdt1aMjBIZTpcQCfIDs9vj5BTuCe9FCISXUMhi2fukr8ZDbsSqnsoZjsL0IsME3BtnhjQgQVtXuiW+L5gtAJxwCSV1QLzBwncuiY6hOP8YCB9saclXIYl/yrzl600aYQthYV0cEHP4ish4f9vzsm5IKbtQu4y01Mv/Xyn+bpnDlkiHPXDxk1UE5c8BEDRbzi07iH1uOjGUfjRLSN/J9USJcp3C1lC/6FwIw8OBWpC82l+K6BT3yXSU8LIQfWeBce8mixb5hisEXuWL2oWplPgECkdAKFdc7/rYE7lpb/qm8g0mZYFm3MDVbA9QjGYatosBe7cMiaSwRNx38ILTO4BXaXQqjSQBed6pkEJ6ZGVAmJIhR4ows587aKBXlK8MmpxDKwOlR1g+WtmUv3KdL202GCCMRslRk5km/vS1pVsX32msDQ/zTxsE1CHWFijOPzQW8552EvV/WnWsiskTSCOXYp9J+E0ctsYfkxKUYz+LP4k75gLgKKFVnffcm0G8C68RnPan3I1or5imerQQnmxMOMtbNsXgr5tM0DqTNXqBcRUwI+e7yoaZmrVHOTeeoOl1stGN3n8U780YX1vgPHV2S3RpJDXX9OJ8PFobpCuX5E+qom1e71a6lVuW4lWpn+twz/uRNPoa4oxsGJbTouVc8aHPvcKL0k2bg54eboyPMgemZG7QeZS9iizl3oBPpvgyO9ToH5Yu2Z/+gUYjOgQuPN7AAMHrBVy/7iGfUOpOAmtMxfqMolvv3b+/JgjOdL67R302drbS3h8px/XmOJuMPyt/To3WuJoQoO+nj779mUc9C5FEZ+Ng5aoAF++6GatSgnHdOX1T+kHumcezdt/irsKhRkwQD/AA91bT6+X8XejflMYt964UOegtr6DarFCyqzsVQKLOia+iiRLGlXCiBrTv7gLXVgZvisfwPQimFyEDEsRf4Bsvc7pY9B1sNvNfJLF9sLWQNukXNQ2Dx2HgTjtFba1wk9x7JFSMXF3XqcSzNbyYO3DpiBAtfIYjwq2uN0WdpsMTwzaE+0VL2WBdxvtopDXKHCNiLk+nj1DITtX3Pzz+1yZB40GBCmRpo/h8CTAZvG8km8JjpshrG4bgzqRPO9H86geXVqK1WVmv86B6eA6D1K18JZfEG0Y6ZEBGXWPVNEbQPLn0ujv5bo7KmBKg4Nn9+ZW2wHQwpv+vRiMCp8CZx3ENyviqn6yujlz91xJz94/n/X4A4TKBzr7ryPZlkuC12kLFi7HE2jKxiUf329hOq3ulJgGZ4vRFhDL6gfZbXi7x1l2K9DSWFpomzqwgYN8U/qRKl9zb2Suz8EidKG+1VuMOjdRw6ObIGDnCi2Rk2DFKSbByFXPoVXMHcebJlSpU0XNdR08fpF+dWNpcfdZrSdI0zBR+wp1eLcesvuimXMK9nnLfbTdVfcG8uuClIS6BuOYD/8hB5s40EPaiMXqf1tuV/IONZ7Se331DcXftUPIPF6qNskEYzgj7C1NFUdi6mJRDqdmIQ3M2vjwhJy2VUiyoDUnEznl83CkkBEXO8ZTpTG6cev11ChR5PaeoaST6Ks5ULXjLvjj5gY9urLoGhk1gyXSG2ROwzx2kgtyugZv70EVw+KrG4srmNTemuBHOk51nE1jchg1fO0cVKuYMdMu4VbFPaNO6Tgnwtcdj4QqkOArFlxre5qzqskOVTuLY40QciBukNkWpInc6MGCS9LQqh7jfBsP0iCTEyN1jhcX1p83s1eJotA53gqUEMvu8eaxPquSC4Z78Aa7rqeDTtuaYsR0sRgMVbEtbswIlfBg8Hfnigmm0XVY5HFRErHo6n1xcF2G4NTLyHtxtFskYp/hbYrqXdcJ4Ts8rqaYKU81FpOFCheWVcVyBxwqpYSmRN2DcmlGSnfJWQaiNZtnLBTl40AQo7r9O77tXGNpNOxJ3IBXzwZMo1XV0ae951dDagNhbZtFB2N+E7qOzpmGye8vHQxLn/qSghqsqQ7P0gCuQG/foa0vyFyOVLmhpO1TL0Cm9bpCzmWjHdMl+FfGTCDdpwA4kYmOLa/XA26gRJt1s/p831o4+RNYn8U+lFoAvIrHBnqTGVCRt9eTx9AIuXAGKUnYMXFrmQRFEFHOpSwmxkEvgCZ9pdDmjtr8Ulmwyu1YVaRto5egXO6VNDRsSI7wRs5kdsFHuEtaS18RUehfN649ZutpmknJtpltff46BI1pK35QEtpYZVniT/AyQ1nPquKVikRk0MLqCAU7hvA/fE/K11EAhgLM5UFdkIM/EWOfLdZ/TtrSjCnac2rZmxFB3XuhzcgyYxFMfqWrfoLl3YRT88Xefb8FyP+70QLrD0ChgmqZ2NJJnvntuUTQh7PRWZN011TX0blw5zG8ZQXyAx2zyWjjYFKkP4LoB/7Sfzeq+8FfLqkIjo54tXloXFoMIqG9vF+UjgnJKukG+5xvz2Yt/dFTr4L+E5KWetVjrOeLkuJs2Jm1/jj+fGqDnp5dR/0jAZjfhtWrJJfROsjs4bibsyh2+DhrwJto2WyJZmZjj5jwZln2GmdBXO37z41fo//0FtmZOX8q7wKXQzKLwT3+V1peqo74RDyd97q+jEp/W1MBDPfOGHqhkiE/MoWrz1b9lXZtX97jd0AEo63j35UZC7le/nZes7ygIVP/6YMOHEhXLV8C/y7f9QTXZqAIwu6cCFz6cqz5tHgNaZ441wi9GuPD0W2LWkvCYukS5hfvRcfel3QwS8i/78Xo2zIXtrnHe0lRq3epCAF0QVF+CsB4DkZbwIlh0wx9NnHLeeesVfEcLyntH1WF9+igdTKtwEhg6quUQbxIr85wYr4PIGKaYfKc/MdDF20XPabAiSNTVx0WzPPsuQpqdUDJKJNr7OQlsPcGNt7wfSMojRLkNGE7/bCnjYlgYFetvBRytpnK5X3MfeyFlx+0mKD1qzpz7lfZWJiC91YNOH7yTiPIqFKoGzbQUhu8FMw8yEdpt3f5EX92V/8m3/k6a7MgzGxiFSPPNHqDN9V37JFVx7T6ow4ZcSVdjCws+rhIXvNox+iUZb5Pttv5aDIp4DEeEc3eQDRZyBJWzWWq62qMoEofPhCCGmPNE/qpoOD22A5aXdnTFWwgVV96k2pn7cXVDBvVz6dugqZtJoC8MkalPCDHBPGVjUFAC2u9qudvd6KCtXIcLTVXlaaxcVHA9f1LPqh7juUsEtwqoo376Ux0k4ibuYMrdWu7fFFiFYifkwlrohF2xHroIWh3kVDhmqLEBlUZOHhxRTreULMazDu6uCoINEP0NeTRMgL8kQ65w/Q+q/HH5I/ryzNlG3Jmypp6YnNx/Rz8NTbPZc1+dCg3u2A/tBevT/fW8dPzpwbhcPK6o3Qf9tO8Sr+end9k5hGq/GaROg46Eq8rqmmM8CtK2p9dcCs9dqz+1jgK8QSyXMdXLuHQX2FBu8Z4h0Ogv16iOVF4I0RVtDQSrKx0KKcBZbUZfwq9BflI/QnkLghj3uZwccnDkRygZ/X74bYAWeFaMFfdfNiXGLYqgIzb4+ZrdXpPos5iXP9Gelp2P/2rC4wSZ/DICAPX9x95YYlwem45X2MMAMS5xb06Gp3W3juVSed13hPNC4JZA8rWe6JgPjX0UI1FMrMLZMQbb/wRl+IvTvhrAyel+yqBjYJgGGYBlTVRpFtKaUHglhV+JCPyNjEKgk/Dkmck7d6fNZnbvk2a7XIAqGLjEBpjq8JK0mLaJwzRQXG4OuQdoaTLjTvndhXFt9H+LW9+hQdLciZ40iAGKUF8lPNWss3WiAkUzKdD9NK8Pf+qxYr5etWmb3f5inAmusMkw+YjdGt/35qery4PgbcanMNHLKJ0ygZRysFG56LjrqdktFTWCpNc++DtDMad40rlHVQFyaONOhIbBMdSY+d/1YyJ2dfp6XUSqSJkiJsPsHB3k8w4GCcZBaID0ELB4zLbbD6CeMUmGGkuOFGby9VqLfuRWTJImPNP53/OFodpkJrtFXN5ASOPEu9UhzlDjKNhrOoODCpAAidh5C4YlHDUDFbOazKsYpwp0n87UXT81eEtYXP8CGh7Hmld4W2dH8iPstvXx10sAVJu2oA237PcjTk9yELbJNAFvtHYADjAhByVrhK+gmtZozvY6Dm+AhVy9tD0FnECS01ZdYgAABeUt2iE3mypW8dxaRBgxEJ/bm17N4AAA5fTKZ7taGAfsBUFW19OfI060uC663uUIn2yak3hxmcbb7J/4J8eq7ZviyCIsLP8u2QAAH/o6Z1uQ9wg9y0pkvALQAtoCzAZO2U07n8ramyVM9YbFwVTjV0EdnXXx72oEb6pxGE1QIpoIeNalTw1PdJwAB3p2h5ZY/5fYMWj9NjconkpwRmL/Nh0ZjpFEfLAKxR1siD6e+gdwQVMse/mPrPqcx3+EgY4bUjXyVQJwhbP6t/YkGA8MQT2vTscMc8rXpQy5MIXn7plc4u1e1euFCnthB5E+EKTB1S6SIHTI3h0DfphthD9/6a+gr48myw1izXSJmcUTQGTCqz8Yq0d3vyA0grLPf/LhFkV9UKRhBvDFbq21SuVTLLRomq4feua8hdQDi4wz+VNfAGBgLNX/0ZG13YGXZssSjAeLCZbU9d8jsvAfi3Ur6aQYezYX9S152RLPdTg+nzEGDiaswMRI0jSNLFTAAHss/vS/puFK/RZpNx7Onp3cakRirflFTWyX5LueexmA8fWq+CdS0vC+yYkuJYSWbsEfN7+Hp1+fxUwPThMsu3WDzbeo7QDldfiBb1awIAP2ga/EH4IvEA56RUokRpVgRe2sre9RtwMHgNfgOgSNZwwPxaKM9j9wstRa90fcxSpUj3/sOIU8LxPVp2OvfjFNx/KzbpAMnfNf7IM79wI1jeA/u2IuGTgzTN314CtwggkrjcC6QF1799BtVjhc1abovrPNfoxk7fMQOWfBnWZZ8U46dIo+Pvj89V6/K4JtcIhRLWRQEnybkeXcYJy0D2hBCYuu+ufUvRFK6pVXxuTcUCgxKnVONFlM745zzw4RLQBGdBeq+kIz712KPqh9gAjAAACQXxL4CDrWKn/f66OOtHIUBT+wejR0jVS4tZ0bsTmIQMEyM0ldX6ddNuY5Shps1dGSR8A9i9ayrbCW8dOlDTqEG+ceg/pro8MqUOLxQjrNyGcaJQECgia1NDPFZHGzr9BL1+FF+9YlQRdCCBEwwAAFWZg9X9233YcM8QqHBj750YIaAob+O5VAiUYZzrFJEPvHhFdSaU4SrMZTSq7+nLR9hEwBNayfTyA3VjKzFIhhaXCf1Up2759FaZnRmTg4mCUMMNM6Pah3GGrAAsNoN+8OCxnq2ZtkF0RY66Qu0gn6D5ZKQNbE4FNrlEtFZWPJ0xR/5c+WEo4NZneEsC0mmPXdhMIDEguyVWPFKEgHvfXZZ5LtkjZ3OAqPJ/80VJkSlochNtuXZPQUyx9PE/g8DzYVFe86AiSRKi7dyBIPQNWLvUilVJwGqrAAAIokSIjCWQm9WPH5M+T4RhPEZ/ucMgJRZOQUdIb4PJopyE8utWQycvhmUn7KyXLfHdOFPd8YD6B2vwNmiO7vdzoqUcabCTX1PUJ5wzWPS/tpfrYi6IrbQ9TwAAAMjQ1rrpMtU9iLElTzkhf/ip9YTC/vs6N9e/crf9ZwFRZ9Vad8hJ/ffOXCV8I7Lj3njTIAGNmLnMeo5+uRFVbumBzXV0gSCUM7Atp07w82DuesFcMAAAAAAAAA==", ae = Ae.bind(k), Tn = ({
327
+ lot: e,
328
+ handleBtnForm: r,
329
+ handleFullScreenBtn: t,
330
+ btnDisabled: a,
331
+ addClassname: n,
332
+ btnName: i = "Уточнить детали",
333
+ imgNode: d,
334
+ rowConditions: u,
335
+ addClassnameLotImage: A
336
+ }) => {
337
+ var ce, de;
338
+ const {
339
+ housing: w,
340
+ sellingPricePerMeter: y,
341
+ interiorPlanImg: m,
342
+ direction: W,
343
+ floorPlanImg: P,
344
+ discount: N,
345
+ sellingPrice: D,
346
+ sellingPriceBeforeDiscount: x
347
+ } = e, E = !!((de = (ce = e.project) == null ? void 0 : ce.showPriceSubType) != null && de.some((Q) => Number(Q.filter) === e.subType)), S = E && Number(e.sellingPrice) && e.bestPurchasingConditions, M = !E && e.bestPurchasingConditions && Number(e.sellingPrice), q = () => {
348
+ if (M)
349
+ return {
350
+ notMobileText: `Первоначальный взнос ${e.bestPurchasingConditions} %`,
351
+ mobileText: `${e.bestPurchasingConditions} %`
352
+ };
353
+ if (e.hasBestPurchasingConditions)
354
+ return {
355
+ notMobileText: "Рассрочка 0% на весь срок",
356
+ mobileText: "0% на весь срок"
357
+ };
358
+ if (S && e.bestPurchasingConditions) {
359
+ const Q = e.bestPurchasingConditions * 0.01 * Number(e.sellingPrice);
360
+ return {
361
+ notMobileText: `Первоначальный взнос ${wt(Q)} млн ₽`,
362
+ mobileText: `${wt(Q)} млн ₽`
363
+ };
364
+ }
365
+ return {
366
+ notMobileText: null,
367
+ mobileText: null
368
+ };
369
+ }, H = M ? "Первоначальный взнос" : e.hasBestPurchasingConditions ? "Рассрочка" : S ? "Первоначальный взнос" : "", { notMobileText: G, mobileText: X } = q(), L = rr(e), {
370
+ getFloorStr: j,
371
+ FloorByType: _,
372
+ areaStr: b,
373
+ isReserved: v,
374
+ rowConditionsVar: T,
375
+ currentClientWidth: B,
376
+ isMobile: V,
377
+ isBuilding: z,
378
+ LotCardInfo: Y
379
+ } = vs({ lot: e, rowConditions: u });
380
+ if (!B)
381
+ return null;
382
+ const se = () => /* @__PURE__ */ o("div", { className: ae(k.lotImageWrapper, A), children: d || /* @__PURE__ */ o(
383
+ "img",
384
+ {
385
+ loading: "lazy",
386
+ src: m ?? P ?? bs,
387
+ width: 280,
388
+ height: 200,
389
+ alt: "logo_image"
390
+ }
391
+ ) }), J = () => /* @__PURE__ */ C("div", { className: ae(k.btnWrapper), children: [
392
+ /* @__PURE__ */ o(
393
+ ke,
394
+ {
395
+ as: "button",
396
+ "data-testid": "lot_fullscreen",
397
+ disabled: a,
398
+ variant: "whiteStroke",
399
+ additionalClass: k.fullscreenBtn,
400
+ onClick: (Q) => {
401
+ Q.preventDefault(), t && t();
402
+ },
403
+ children: /* @__PURE__ */ o(
404
+ ge,
405
+ {
406
+ name: "fullscreen",
407
+ color: "#777E90",
408
+ size: "20"
409
+ }
410
+ )
411
+ }
412
+ ),
413
+ /* @__PURE__ */ o(
414
+ ke,
415
+ {
416
+ as: "button",
417
+ size: "medium",
418
+ disabled: v,
419
+ variant: v ? "gray" : "blue",
420
+ width: "full",
421
+ additionalClass: k.lotBtn,
422
+ "data-testid": "lot_form",
423
+ post: v ? /* @__PURE__ */ o(
424
+ ge,
425
+ {
426
+ name: "lock",
427
+ size: "24",
428
+ color: "#777E90"
429
+ }
430
+ ) : void 0,
431
+ onClick: (Q) => {
432
+ Q.preventDefault(), r(Q);
433
+ },
434
+ children: i
435
+ }
436
+ )
437
+ ] }), ne = () => /* @__PURE__ */ C("div", { className: k.rootRightSide, children: [
438
+ /* @__PURE__ */ C("div", { className: k.topWrapper, children: [
439
+ T && /* @__PURE__ */ o(Y, {}),
440
+ !V && !v && /* @__PURE__ */ C("div", { style: { display: "flex", alignItems: "flex-end", flexDirection: "column" }, children: [
441
+ /* @__PURE__ */ C("div", { className: k.priceWrap, children: [
442
+ /* @__PURE__ */ o("div", { className: k.discountWrapper, children: !L && N && D && x && T && /* @__PURE__ */ C("div", { className: ae(k.discountPrice), children: [
443
+ /* @__PURE__ */ o("span", { children: E && Ve(x ?? D, !1, W) }),
444
+ E && /* @__PURE__ */ o(
445
+ Ee,
446
+ {
447
+ additionalClass: ae(k.discountTag),
448
+ variant: "red",
449
+ size: "tiny",
450
+ children: "-" + Number(N) + "%"
451
+ }
452
+ )
453
+ ] }) }),
454
+ !L && T && /* @__PURE__ */ o(
455
+ "div",
456
+ {
457
+ className: k.price,
458
+ children: E ? Ve(D, !1, W) : "Цена по запросу"
459
+ }
460
+ ),
461
+ L && T && /* @__PURE__ */ o("div", { className: k.price, children: "Цена по запросу" })
462
+ ] }),
463
+ !L && /* @__PURE__ */ o("div", { className: k.paymentClass, children: G })
464
+ ] }),
465
+ y && !v && /* @__PURE__ */ o("div", { className: ae(k.lotPricePerMetr, k.projectLotPricePerMetr), children: Ve(y, !0, W) })
466
+ ] }),
467
+ /* @__PURE__ */ C("div", { className: k.botWrapper, children: [
468
+ /* @__PURE__ */ o("div", { className: ae(k.lotPriceWrapper, k.infoWrapper, { [k.lotPriceWrapperRow]: !T }), children: /* @__PURE__ */ C("div", { className: ae(k.lotInfoWrapper), children: [
469
+ /* @__PURE__ */ C("div", { className: ae(k.lotPropertyListDesktop), children: [
470
+ b && /* @__PURE__ */ o(Ee, { variant: "gray", fontWeight: "large", children: b }),
471
+ !z && w && /* @__PURE__ */ o(Ee, { variant: "gray", children: w }),
472
+ j() && /* @__PURE__ */ o(Ee, { variant: "gray", children: j() })
473
+ ] }),
474
+ /* @__PURE__ */ C("ul", { className: ae(k.lotPropertyListMobile), children: [
475
+ b && /* @__PURE__ */ C("li", { className: ae(k.lotPropertyItem), children: [
476
+ /* @__PURE__ */ o("div", { children: "Площадь" }),
477
+ /* @__PURE__ */ o("div", { children: b })
478
+ ] }),
479
+ !z && w && /* @__PURE__ */ C("li", { className: ae(k.lotPropertyItem), children: [
480
+ /* @__PURE__ */ o("div", { children: w == null ? void 0 : w.split(" ")[0] }),
481
+ /* @__PURE__ */ o("div", { children: w == null ? void 0 : w.split(" ")[1] })
482
+ ] }),
483
+ /* @__PURE__ */ o(_, {}),
484
+ !L && H && /* @__PURE__ */ C("li", { className: ae(k.lotPropertyItem), children: [
485
+ /* @__PURE__ */ o("div", { children: H }),
486
+ /* @__PURE__ */ o("div", { children: X })
487
+ ] })
488
+ ] })
489
+ ] }) }),
490
+ (V && !v || !T) && /* @__PURE__ */ o("div", { style: { display: "flex", alignItems: "flex-start" }, children: /* @__PURE__ */ C("div", { className: k.priceWrap, children: [
491
+ /* @__PURE__ */ o("div", { className: k.discountWrapper, children: !L && N && D && x && /* @__PURE__ */ C("div", { className: ae(k.discountPrice), children: [
492
+ E && /* @__PURE__ */ o("span", { children: Ve(x ?? D, !1, W) }),
493
+ E && /* @__PURE__ */ o(
494
+ Ee,
495
+ {
496
+ additionalClass: ae(k.discountTag),
497
+ variant: "red",
498
+ size: "tiny",
499
+ children: "-" + Number(N) + "%"
500
+ }
501
+ )
502
+ ] }) }),
503
+ !L && /* @__PURE__ */ o(
504
+ "div",
505
+ {
506
+ className: k.price,
507
+ children: E ? Ve(D, !1, W) : "Цена по запросу"
508
+ }
509
+ ),
510
+ L && /* @__PURE__ */ o("div", { className: k.price, children: "Цена по запросу" })
511
+ ] }) }),
512
+ /* @__PURE__ */ o(J, {})
513
+ ] })
514
+ ] });
515
+ return /* @__PURE__ */ C(
516
+ "div",
517
+ {
518
+ className: ae(k.root, n, {
519
+ [k.rootDisable]: v,
520
+ [k.rootRow]: T,
521
+ [k.rowTablet]: !T
522
+ }),
523
+ "data-testid": "lot_card",
524
+ children: [
525
+ /* @__PURE__ */ o(se, {}),
526
+ !T && /* @__PURE__ */ o("div", { className: ae(k.title), children: /* @__PURE__ */ o(Y, {}) }),
527
+ /* @__PURE__ */ o(ne, {})
528
+ ]
529
+ }
530
+ );
531
+ }, ze = Ae.bind(le), ws = ({
532
+ options: e,
533
+ selectedOption: r,
534
+ placeholder: t = "",
535
+ error: a,
536
+ disabled: n,
537
+ additionalClass: i = "",
538
+ onChange: d,
539
+ onBlur: u,
540
+ mini: A,
541
+ openOnTop: w = !1,
542
+ onClickItem: y,
543
+ onCLickSelect: m,
544
+ onOpenClick: W
545
+ }) => {
546
+ const [P, N] = xe(!1), D = Lt(null), { isMobile: x } = Be(), { handleBlur: E, getInputValue: S, getOption: M, handleDocumentClick: q } = sr({
547
+ selectedOption: r,
548
+ onClickOption: y,
549
+ setSelectedOption: d,
550
+ setIsOpen: N,
551
+ containerRef: D,
552
+ isOpen: P,
553
+ isMobile: x,
554
+ placeholder: t,
555
+ onChange: d,
556
+ onBlur: u
557
+ });
558
+ return Oe(() => (document.addEventListener("click", q), () => {
559
+ document.removeEventListener("click", q);
560
+ }), []), /* @__PURE__ */ C(
561
+ "div",
562
+ {
563
+ ref: D,
564
+ className: ze(
565
+ le.sortSelectWrapper,
566
+ { [le.sortSelectWrapperError]: a },
567
+ { [le.sortSelectWrapperTop]: w },
568
+ i
569
+ ),
570
+ tabIndex: 0,
571
+ onBlur: E,
572
+ onClick: () => {
573
+ m && m();
574
+ },
575
+ children: [
576
+ /* @__PURE__ */ C("div", { className: ze(le.inputWrapper), children: [
577
+ /* @__PURE__ */ o(
578
+ "input",
579
+ {
580
+ type: "text",
581
+ readOnly: !0,
582
+ value: S(),
583
+ className: ze(
584
+ le.selectedOptions,
585
+ { [le.selectOptionsDisabled]: n },
586
+ { [le.selectionOptionMini]: A }
587
+ ),
588
+ onClick: () => {
589
+ P || W && W(), N(!P);
590
+ }
591
+ }
592
+ ),
593
+ /* @__PURE__ */ o(
594
+ ge,
595
+ {
596
+ name: "twoArrows",
597
+ size: "24",
598
+ additionalClass: le.icon
599
+ }
600
+ )
601
+ ] }),
602
+ P && x && /* @__PURE__ */ C(
603
+ at,
604
+ {
605
+ isOpen: P,
606
+ emitIsOpen: N,
607
+ additionalClassModalBody: le.modalAddBody,
608
+ additionalClass: le.selectModal,
609
+ createPortalObj: { domNode: document.querySelector("body") },
610
+ isTransparentBack: !0,
611
+ children: [
612
+ /* @__PURE__ */ C("div", { className: le.mobileSortHeader, children: [
613
+ /* @__PURE__ */ o(lt, { children: "Сортировка" }),
614
+ /* @__PURE__ */ o("div", { onClick: () => N(!1), children: /* @__PURE__ */ o(
615
+ ge,
616
+ {
617
+ name: "close",
618
+ size: "20"
619
+ }
620
+ ) })
621
+ ] }),
622
+ /* @__PURE__ */ o("div", { className: le.mobileOptionList, children: e == null ? void 0 : e.map((I) => M(I)) })
623
+ ]
624
+ }
625
+ ),
626
+ P && !x && /* @__PURE__ */ o("div", { className: ze(le.optionsList, { [le.optionListOnTop]: w }), children: e == null ? void 0 : e.map((I) => M(I)) })
627
+ ]
628
+ }
629
+ );
630
+ };
631
+ ws.displayName = "SortSelect";
632
+ const Ss = "_btn_ky28a_1", Fs = "_modal_ky28a_9", xs = "_modalBody_ky28a_16", ks = "_root_ky28a_21", Ns = "_title_ky28a_34", Cs = "_description_ky28a_41", As = "_inputWrapper_ky28a_48", Ps = "_linkPolicy_ky28a_55", Ts = "_telegramLink_ky28a_60", Ws = "_telegramWrapper_ky28a_65", Is = "_telegram_ky28a_60", Ls = "_orText_ky28a_88", Bs = "_checkboxText_ky28a_116", ie = {
633
+ btn: Ss,
634
+ modal: Fs,
635
+ modalBody: xs,
636
+ root: ks,
637
+ title: Ns,
638
+ description: Cs,
639
+ inputWrapper: As,
640
+ linkPolicy: Ps,
641
+ telegramLink: Ts,
642
+ telegramWrapper: Ws,
643
+ telegram: Is,
644
+ orText: Ls,
645
+ checkboxText: Bs
646
+ };
647
+ var je = (e) => e.type === "checkbox", Le = (e) => e instanceof Date, oe = (e) => e == null;
648
+ const Et = (e) => typeof e == "object";
649
+ var re = (e) => !oe(e) && !Array.isArray(e) && Et(e) && !Le(e), Vt = (e) => re(e) && e.target ? je(e.target) ? e.target.checked : e.target.value : e, Es = (e) => e.substring(0, e.search(/\.\d+(\.|$)/)) || e, Dt = (e, r) => e.has(Es(r)), Vs = (e) => {
650
+ const r = e.constructor && e.constructor.prototype;
651
+ return re(r) && r.hasOwnProperty("isPrototypeOf");
652
+ }, ot = typeof window < "u" && typeof window.HTMLElement < "u" && typeof document < "u";
653
+ function fe(e) {
654
+ let r;
655
+ const t = Array.isArray(e);
656
+ if (e instanceof Date)
657
+ r = new Date(e);
658
+ else if (e instanceof Set)
659
+ r = new Set(e);
660
+ else if (!(ot && (e instanceof Blob || e instanceof FileList)) && (t || re(e)))
661
+ if (r = t ? [] : {}, !t && !Vs(e))
662
+ r = e;
663
+ else
664
+ for (const a in e)
665
+ e.hasOwnProperty(a) && (r[a] = fe(e[a]));
666
+ else
667
+ return e;
668
+ return r;
669
+ }
670
+ var Ke = (e) => Array.isArray(e) ? e.filter(Boolean) : [], K = (e) => e === void 0, p = (e, r, t) => {
671
+ if (!r || !re(e))
672
+ return t;
673
+ const a = Ke(r.split(/[,[\].]+?/)).reduce((n, i) => oe(n) ? n : n[i], e);
674
+ return K(a) || a === e ? K(e[r]) ? t : e[r] : a;
675
+ }, be = (e) => typeof e == "boolean", ct = (e) => /^\w*$/.test(e), Mt = (e) => Ke(e.replace(/["|']|\]/g, "").split(/\.|\[/)), Z = (e, r, t) => {
676
+ let a = -1;
677
+ const n = ct(r) ? [r] : Mt(r), i = n.length, d = i - 1;
678
+ for (; ++a < i; ) {
679
+ const u = n[a];
680
+ let A = t;
681
+ if (a !== d) {
682
+ const w = e[u];
683
+ A = re(w) || Array.isArray(w) ? w : isNaN(+n[a + 1]) ? {} : [];
684
+ }
685
+ if (u === "__proto__")
686
+ return;
687
+ e[u] = A, e = e[u];
688
+ }
689
+ return e;
690
+ };
691
+ const Ue = {
692
+ BLUR: "blur",
693
+ FOCUS_OUT: "focusout",
694
+ CHANGE: "change"
695
+ }, ye = {
696
+ onBlur: "onBlur",
697
+ onChange: "onChange",
698
+ onSubmit: "onSubmit",
699
+ onTouched: "onTouched",
700
+ all: "all"
701
+ }, Se = {
702
+ max: "max",
703
+ min: "min",
704
+ maxLength: "maxLength",
705
+ minLength: "minLength",
706
+ pattern: "pattern",
707
+ required: "required",
708
+ validate: "validate"
709
+ }, Ds = U.createContext(null), dt = () => U.useContext(Ds);
710
+ var Rt = (e, r, t, a = !0) => {
711
+ const n = {
712
+ defaultValues: r._defaultValues
713
+ };
714
+ for (const i in e)
715
+ Object.defineProperty(n, i, {
716
+ get: () => {
717
+ const d = i;
718
+ return r._proxyFormState[d] !== ye.all && (r._proxyFormState[d] = !a || ye.all), t && (t[d] = !0), e[d];
719
+ }
720
+ });
721
+ return n;
722
+ }, pe = (e) => re(e) && !Object.keys(e).length, Ot = (e, r, t, a) => {
723
+ t(e);
724
+ const { name: n, ...i } = e;
725
+ return pe(i) || Object.keys(i).length >= Object.keys(r).length || Object.keys(i).find((d) => r[d] === (!a || ye.all));
726
+ }, Me = (e) => Array.isArray(e) ? e : [e], jt = (e, r, t) => !e || !r || e === r || Me(e).some((a) => a && (t ? a === r : a.startsWith(r) || r.startsWith(a)));
727
+ function ut(e) {
728
+ const r = U.useRef(e);
729
+ r.current = e, U.useEffect(() => {
730
+ const t = !e.disabled && r.current.subject && r.current.subject.subscribe({
731
+ next: r.current.next
732
+ });
733
+ return () => {
734
+ t && t.unsubscribe();
735
+ };
736
+ }, [e.disabled]);
737
+ }
738
+ function Ms(e) {
739
+ const r = dt(), { control: t = r.control, disabled: a, name: n, exact: i } = e || {}, [d, u] = U.useState(t._formState), A = U.useRef(!0), w = U.useRef({
740
+ isDirty: !1,
741
+ isLoading: !1,
742
+ dirtyFields: !1,
743
+ touchedFields: !1,
744
+ validatingFields: !1,
745
+ isValidating: !1,
746
+ isValid: !1,
747
+ errors: !1
748
+ }), y = U.useRef(n);
749
+ return y.current = n, ut({
750
+ disabled: a,
751
+ next: (m) => A.current && jt(y.current, m.name, i) && Ot(m, w.current, t._updateFormState) && u({
752
+ ...t._formState,
753
+ ...m
754
+ }),
755
+ subject: t._subjects.state
756
+ }), U.useEffect(() => (A.current = !0, w.current.isValid && t._updateValid(!0), () => {
757
+ A.current = !1;
758
+ }), [t]), Rt(d, t, w.current, !1);
759
+ }
760
+ var we = (e) => typeof e == "string", _t = (e, r, t, a, n) => we(e) ? (a && r.watch.add(e), p(t, e, n)) : Array.isArray(e) ? e.map((i) => (a && r.watch.add(i), p(t, i))) : (a && (r.watchAll = !0), t);
761
+ function Rs(e) {
762
+ const r = dt(), { control: t = r.control, name: a, defaultValue: n, disabled: i, exact: d } = e || {}, u = U.useRef(a);
763
+ u.current = a, ut({
764
+ disabled: i,
765
+ subject: t._subjects.values,
766
+ next: (y) => {
767
+ jt(u.current, y.name, d) && w(fe(_t(u.current, t._names, y.values || t._formValues, !1, n)));
768
+ }
769
+ });
770
+ const [A, w] = U.useState(t._getWatch(a, n));
771
+ return U.useEffect(() => t._removeUnmounted()), A;
772
+ }
773
+ function Os(e) {
774
+ const r = dt(), { name: t, disabled: a, control: n = r.control, shouldUnregister: i } = e, d = Dt(n._names.array, t), u = Rs({
775
+ control: n,
776
+ name: t,
777
+ defaultValue: p(n._formValues, t, p(n._defaultValues, t, e.defaultValue)),
778
+ exact: !0
779
+ }), A = Ms({
780
+ control: n,
781
+ name: t,
782
+ exact: !0
783
+ }), w = U.useRef(n.register(t, {
784
+ ...e.rules,
785
+ value: u,
786
+ ...be(e.disabled) ? { disabled: e.disabled } : {}
787
+ }));
788
+ return U.useEffect(() => {
789
+ const y = n._options.shouldUnregister || i, m = (W, P) => {
790
+ const N = p(n._fields, W);
791
+ N && N._f && (N._f.mount = P);
792
+ };
793
+ if (m(t, !0), y) {
794
+ const W = fe(p(n._options.defaultValues, t));
795
+ Z(n._defaultValues, t, W), K(p(n._formValues, t)) && Z(n._formValues, t, W);
796
+ }
797
+ return () => {
798
+ (d ? y && !n._state.action : y) ? n.unregister(t) : m(t, !1);
799
+ };
800
+ }, [t, n, d, i]), U.useEffect(() => {
801
+ p(n._fields, t) && n._updateDisabledField({
802
+ disabled: a,
803
+ fields: n._fields,
804
+ name: t,
805
+ value: p(n._fields, t)._f.value
806
+ });
807
+ }, [a, t, n]), {
808
+ field: {
809
+ name: t,
810
+ value: u,
811
+ ...be(a) || A.disabled ? { disabled: A.disabled || a } : {},
812
+ onChange: U.useCallback((y) => w.current.onChange({
813
+ target: {
814
+ value: Vt(y),
815
+ name: t
816
+ },
817
+ type: Ue.CHANGE
818
+ }), [t]),
819
+ onBlur: U.useCallback(() => w.current.onBlur({
820
+ target: {
821
+ value: p(n._formValues, t),
822
+ name: t
823
+ },
824
+ type: Ue.BLUR
825
+ }), [t, n]),
826
+ ref: U.useCallback((y) => {
827
+ const m = p(n._fields, t);
828
+ m && y && (m._f.ref = {
829
+ focus: () => y.focus(),
830
+ select: () => y.select(),
831
+ setCustomValidity: (W) => y.setCustomValidity(W),
832
+ reportValidity: () => y.reportValidity()
833
+ });
834
+ }, [n._fields, t])
835
+ },
836
+ formState: A,
837
+ fieldState: Object.defineProperties({}, {
838
+ invalid: {
839
+ enumerable: !0,
840
+ get: () => !!p(A.errors, t)
841
+ },
842
+ isDirty: {
843
+ enumerable: !0,
844
+ get: () => !!p(A.dirtyFields, t)
845
+ },
846
+ isTouched: {
847
+ enumerable: !0,
848
+ get: () => !!p(A.touchedFields, t)
849
+ },
850
+ isValidating: {
851
+ enumerable: !0,
852
+ get: () => !!p(A.validatingFields, t)
853
+ },
854
+ error: {
855
+ enumerable: !0,
856
+ get: () => p(A.errors, t)
857
+ }
858
+ })
859
+ };
860
+ }
861
+ const js = (e) => e.render(Os(e));
862
+ var _s = (e, r, t, a, n) => r ? {
863
+ ...t[e],
864
+ types: {
865
+ ...t[e] && t[e].types ? t[e].types : {},
866
+ [a]: n || !0
867
+ }
868
+ } : {}, xt = (e) => ({
869
+ isOnSubmit: !e || e === ye.onSubmit,
870
+ isOnBlur: e === ye.onBlur,
871
+ isOnChange: e === ye.onChange,
872
+ isOnAll: e === ye.all,
873
+ isOnTouch: e === ye.onTouched
874
+ }), kt = (e, r, t) => !t && (r.watchAll || r.watch.has(e) || [...r.watch].some((a) => e.startsWith(a) && /^\.\w+/.test(e.slice(a.length))));
875
+ const Re = (e, r, t, a) => {
876
+ for (const n of t || Object.keys(e)) {
877
+ const i = p(e, n);
878
+ if (i) {
879
+ const { _f: d, ...u } = i;
880
+ if (d) {
881
+ if (d.refs && d.refs[0] && r(d.refs[0], n) && !a)
882
+ break;
883
+ if (d.ref && r(d.ref, d.name) && !a)
884
+ break;
885
+ Re(u, r);
886
+ } else
887
+ re(u) && Re(u, r);
888
+ }
889
+ }
890
+ };
891
+ var zs = (e, r, t) => {
892
+ const a = Me(p(e, t));
893
+ return Z(a, "root", r[t]), Z(e, t, a), e;
894
+ }, ft = (e) => e.type === "file", Ne = (e) => typeof e == "function", Ge = (e) => {
895
+ if (!ot)
896
+ return !1;
897
+ const r = e ? e.ownerDocument : 0;
898
+ return e instanceof (r && r.defaultView ? r.defaultView.HTMLElement : HTMLElement);
899
+ }, Ze = (e) => we(e), pt = (e) => e.type === "radio", He = (e) => e instanceof RegExp;
900
+ const Nt = {
901
+ value: !1,
902
+ isValid: !1
903
+ }, Ct = { value: !0, isValid: !0 };
904
+ var zt = (e) => {
905
+ if (Array.isArray(e)) {
906
+ if (e.length > 1) {
907
+ const r = e.filter((t) => t && t.checked && !t.disabled).map((t) => t.value);
908
+ return { value: r, isValid: !!r.length };
909
+ }
910
+ return e[0].checked && !e[0].disabled ? (
911
+ // @ts-expect-error expected to work in the browser
912
+ e[0].attributes && !K(e[0].attributes.value) ? K(e[0].value) || e[0].value === "" ? Ct : { value: e[0].value, isValid: !0 } : Ct
913
+ ) : Nt;
914
+ }
915
+ return Nt;
916
+ };
917
+ const At = {
918
+ isValid: !1,
919
+ value: null
920
+ };
921
+ var Xt = (e) => Array.isArray(e) ? e.reduce((r, t) => t && t.checked && !t.disabled ? {
922
+ isValid: !0,
923
+ value: t.value
924
+ } : r, At) : At;
925
+ function Pt(e, r, t = "validate") {
926
+ if (Ze(e) || Array.isArray(e) && e.every(Ze) || be(e) && !e)
927
+ return {
928
+ type: t,
929
+ message: Ze(e) ? e : "",
930
+ ref: r
931
+ };
932
+ }
933
+ var Ie = (e) => re(e) && !He(e) ? e : {
934
+ value: e,
935
+ message: ""
936
+ }, Tt = async (e, r, t, a, n) => {
937
+ const { ref: i, refs: d, required: u, maxLength: A, minLength: w, min: y, max: m, pattern: W, validate: P, name: N, valueAsNumber: D, mount: x, disabled: E } = e._f, S = p(r, N);
938
+ if (!x || E)
939
+ return {};
940
+ const M = d ? d[0] : i, q = (b) => {
941
+ a && M.reportValidity && (M.setCustomValidity(be(b) ? "" : b || ""), M.reportValidity());
942
+ }, I = {}, H = pt(i), G = je(i), X = H || G, L = (D || ft(i)) && K(i.value) && K(S) || Ge(i) && i.value === "" || S === "" || Array.isArray(S) && !S.length, j = _s.bind(null, N, t, I), _ = (b, v, T, B = Se.maxLength, V = Se.minLength) => {
943
+ const z = b ? v : T;
944
+ I[N] = {
945
+ type: b ? B : V,
946
+ message: z,
947
+ ref: i,
948
+ ...j(b ? B : V, z)
949
+ };
950
+ };
951
+ if (n ? !Array.isArray(S) || !S.length : u && (!X && (L || oe(S)) || be(S) && !S || G && !zt(d).isValid || H && !Xt(d).isValid)) {
952
+ const { value: b, message: v } = Ze(u) ? { value: !!u, message: u } : Ie(u);
953
+ if (b && (I[N] = {
954
+ type: Se.required,
955
+ message: v,
956
+ ref: M,
957
+ ...j(Se.required, v)
958
+ }, !t))
959
+ return q(v), I;
960
+ }
961
+ if (!L && (!oe(y) || !oe(m))) {
962
+ let b, v;
963
+ const T = Ie(m), B = Ie(y);
964
+ if (!oe(S) && !isNaN(S)) {
965
+ const V = i.valueAsNumber || S && +S;
966
+ oe(T.value) || (b = V > T.value), oe(B.value) || (v = V < B.value);
967
+ } else {
968
+ const V = i.valueAsDate || new Date(S), z = (J) => /* @__PURE__ */ new Date((/* @__PURE__ */ new Date()).toDateString() + " " + J), Y = i.type == "time", se = i.type == "week";
969
+ we(T.value) && S && (b = Y ? z(S) > z(T.value) : se ? S > T.value : V > new Date(T.value)), we(B.value) && S && (v = Y ? z(S) < z(B.value) : se ? S < B.value : V < new Date(B.value));
970
+ }
971
+ if ((b || v) && (_(!!b, T.message, B.message, Se.max, Se.min), !t))
972
+ return q(I[N].message), I;
973
+ }
974
+ if ((A || w) && !L && (we(S) || n && Array.isArray(S))) {
975
+ const b = Ie(A), v = Ie(w), T = !oe(b.value) && S.length > +b.value, B = !oe(v.value) && S.length < +v.value;
976
+ if ((T || B) && (_(T, b.message, v.message), !t))
977
+ return q(I[N].message), I;
978
+ }
979
+ if (W && !L && we(S)) {
980
+ const { value: b, message: v } = Ie(W);
981
+ if (He(b) && !S.match(b) && (I[N] = {
982
+ type: Se.pattern,
983
+ message: v,
984
+ ref: i,
985
+ ...j(Se.pattern, v)
986
+ }, !t))
987
+ return q(v), I;
988
+ }
989
+ if (P) {
990
+ if (Ne(P)) {
991
+ const b = await P(S, r), v = Pt(b, M);
992
+ if (v && (I[N] = {
993
+ ...v,
994
+ ...j(Se.validate, v.message)
995
+ }, !t))
996
+ return q(v.message), I;
997
+ } else if (re(P)) {
998
+ let b = {};
999
+ for (const v in P) {
1000
+ if (!pe(b) && !t)
1001
+ break;
1002
+ const T = Pt(await P[v](S, r), M, v);
1003
+ T && (b = {
1004
+ ...T,
1005
+ ...j(v, T.message)
1006
+ }, q(T.message), t && (I[N] = b));
1007
+ }
1008
+ if (!pe(b) && (I[N] = {
1009
+ ref: M,
1010
+ ...b
1011
+ }, !t))
1012
+ return I;
1013
+ }
1014
+ }
1015
+ return q(!0), I;
1016
+ };
1017
+ function Xs(e, r) {
1018
+ const t = r.slice(0, -1).length;
1019
+ let a = 0;
1020
+ for (; a < t; )
1021
+ e = K(e) ? a++ : e[r[a++]];
1022
+ return e;
1023
+ }
1024
+ function qs(e) {
1025
+ for (const r in e)
1026
+ if (e.hasOwnProperty(r) && !K(e[r]))
1027
+ return !1;
1028
+ return !0;
1029
+ }
1030
+ function te(e, r) {
1031
+ const t = Array.isArray(r) ? r : ct(r) ? [r] : Mt(r), a = t.length === 1 ? e : Xs(e, t), n = t.length - 1, i = t[n];
1032
+ return a && delete a[i], n !== 0 && (re(a) && pe(a) || Array.isArray(a) && qs(a)) && te(e, t.slice(0, -1)), e;
1033
+ }
1034
+ var rt = () => {
1035
+ let e = [];
1036
+ return {
1037
+ get observers() {
1038
+ return e;
1039
+ },
1040
+ next: (n) => {
1041
+ for (const i of e)
1042
+ i.next && i.next(n);
1043
+ },
1044
+ subscribe: (n) => (e.push(n), {
1045
+ unsubscribe: () => {
1046
+ e = e.filter((i) => i !== n);
1047
+ }
1048
+ }),
1049
+ unsubscribe: () => {
1050
+ e = [];
1051
+ }
1052
+ };
1053
+ }, Je = (e) => oe(e) || !Et(e);
1054
+ function Ce(e, r) {
1055
+ if (Je(e) || Je(r))
1056
+ return e === r;
1057
+ if (Le(e) && Le(r))
1058
+ return e.getTime() === r.getTime();
1059
+ const t = Object.keys(e), a = Object.keys(r);
1060
+ if (t.length !== a.length)
1061
+ return !1;
1062
+ for (const n of t) {
1063
+ const i = e[n];
1064
+ if (!a.includes(n))
1065
+ return !1;
1066
+ if (n !== "ref") {
1067
+ const d = r[n];
1068
+ if (Le(i) && Le(d) || re(i) && re(d) || Array.isArray(i) && Array.isArray(d) ? !Ce(i, d) : i !== d)
1069
+ return !1;
1070
+ }
1071
+ }
1072
+ return !0;
1073
+ }
1074
+ var qt = (e) => e.type === "select-multiple", Zs = (e) => pt(e) || je(e), st = (e) => Ge(e) && e.isConnected, Zt = (e) => {
1075
+ for (const r in e)
1076
+ if (Ne(e[r]))
1077
+ return !0;
1078
+ return !1;
1079
+ };
1080
+ function Ye(e, r = {}) {
1081
+ const t = Array.isArray(e);
1082
+ if (re(e) || t)
1083
+ for (const a in e)
1084
+ Array.isArray(e[a]) || re(e[a]) && !Zt(e[a]) ? (r[a] = Array.isArray(e[a]) ? [] : {}, Ye(e[a], r[a])) : oe(e[a]) || (r[a] = !0);
1085
+ return r;
1086
+ }
1087
+ function Ut(e, r, t) {
1088
+ const a = Array.isArray(e);
1089
+ if (re(e) || a)
1090
+ for (const n in e)
1091
+ Array.isArray(e[n]) || re(e[n]) && !Zt(e[n]) ? K(r) || Je(t[n]) ? t[n] = Array.isArray(e[n]) ? Ye(e[n], []) : { ...Ye(e[n]) } : Ut(e[n], oe(r) ? {} : r[n], t[n]) : t[n] = !Ce(e[n], r[n]);
1092
+ return t;
1093
+ }
1094
+ var Xe = (e, r) => Ut(e, r, Ye(r)), Gt = (e, { valueAsNumber: r, valueAsDate: t, setValueAs: a }) => K(e) ? e : r ? e === "" ? NaN : e && +e : t && we(e) ? new Date(e) : a ? a(e) : e;
1095
+ function it(e) {
1096
+ const r = e.ref;
1097
+ if (!(e.refs ? e.refs.every((t) => t.disabled) : r.disabled))
1098
+ return ft(r) ? r.files : pt(r) ? Xt(e.refs).value : qt(r) ? [...r.selectedOptions].map(({ value: t }) => t) : je(r) ? zt(e.refs).value : Gt(K(r.value) ? e.ref.value : r.value, e);
1099
+ }
1100
+ var Us = (e, r, t, a) => {
1101
+ const n = {};
1102
+ for (const i of e) {
1103
+ const d = p(r, i);
1104
+ d && Z(n, i, d._f);
1105
+ }
1106
+ return {
1107
+ criteriaMode: t,
1108
+ names: [...e],
1109
+ fields: n,
1110
+ shouldUseNativeValidation: a
1111
+ };
1112
+ }, De = (e) => K(e) ? e : He(e) ? e.source : re(e) ? He(e.value) ? e.value.source : e.value : e, Gs = (e) => e.mount && (e.required || e.min || e.max || e.maxLength || e.minLength || e.pattern || e.validate);
1113
+ function Wt(e, r, t) {
1114
+ const a = p(e, t);
1115
+ if (a || ct(t))
1116
+ return {
1117
+ error: a,
1118
+ name: t
1119
+ };
1120
+ const n = t.split(".");
1121
+ for (; n.length; ) {
1122
+ const i = n.join("."), d = p(r, i), u = p(e, i);
1123
+ if (d && !Array.isArray(d) && t !== i)
1124
+ return { name: t };
1125
+ if (u && u.type)
1126
+ return {
1127
+ name: i,
1128
+ error: u
1129
+ };
1130
+ n.pop();
1131
+ }
1132
+ return {
1133
+ name: t
1134
+ };
1135
+ }
1136
+ var Hs = (e, r, t, a, n) => n.isOnAll ? !1 : !t && n.isOnTouch ? !(r || e) : (t ? a.isOnBlur : n.isOnBlur) ? !e : (t ? a.isOnChange : n.isOnChange) ? e : !0, Js = (e, r) => !Ke(p(e, r)).length && te(e, r);
1137
+ const Ys = {
1138
+ mode: ye.onSubmit,
1139
+ reValidateMode: ye.onChange,
1140
+ shouldFocusError: !0
1141
+ };
1142
+ function Ks(e = {}) {
1143
+ let r = {
1144
+ ...Ys,
1145
+ ...e
1146
+ }, t = {
1147
+ submitCount: 0,
1148
+ isDirty: !1,
1149
+ isLoading: Ne(r.defaultValues),
1150
+ isValidating: !1,
1151
+ isSubmitted: !1,
1152
+ isSubmitting: !1,
1153
+ isSubmitSuccessful: !1,
1154
+ isValid: !1,
1155
+ touchedFields: {},
1156
+ dirtyFields: {},
1157
+ validatingFields: {},
1158
+ errors: r.errors || {},
1159
+ disabled: r.disabled || !1
1160
+ }, a = {}, n = re(r.defaultValues) || re(r.values) ? fe(r.defaultValues || r.values) || {} : {}, i = r.shouldUnregister ? {} : fe(n), d = {
1161
+ action: !1,
1162
+ mount: !1,
1163
+ watch: !1
1164
+ }, u = {
1165
+ mount: /* @__PURE__ */ new Set(),
1166
+ unMount: /* @__PURE__ */ new Set(),
1167
+ array: /* @__PURE__ */ new Set(),
1168
+ watch: /* @__PURE__ */ new Set()
1169
+ }, A, w = 0;
1170
+ const y = {
1171
+ isDirty: !1,
1172
+ dirtyFields: !1,
1173
+ validatingFields: !1,
1174
+ touchedFields: !1,
1175
+ isValidating: !1,
1176
+ isValid: !1,
1177
+ errors: !1
1178
+ }, m = {
1179
+ values: rt(),
1180
+ array: rt(),
1181
+ state: rt()
1182
+ }, W = xt(r.mode), P = xt(r.reValidateMode), N = r.criteriaMode === ye.all, D = (s) => (l) => {
1183
+ clearTimeout(w), w = setTimeout(s, l);
1184
+ }, x = async (s) => {
1185
+ if (y.isValid || s) {
1186
+ const l = r.resolver ? pe((await X()).errors) : await j(a, !0);
1187
+ l !== t.isValid && m.state.next({
1188
+ isValid: l
1189
+ });
1190
+ }
1191
+ }, E = (s, l) => {
1192
+ (y.isValidating || y.validatingFields) && ((s || Array.from(u.mount)).forEach((c) => {
1193
+ c && (l ? Z(t.validatingFields, c, l) : te(t.validatingFields, c));
1194
+ }), m.state.next({
1195
+ validatingFields: t.validatingFields,
1196
+ isValidating: !pe(t.validatingFields)
1197
+ }));
1198
+ }, S = (s, l = [], c, g, h = !0, f = !0) => {
1199
+ if (g && c) {
1200
+ if (d.action = !0, f && Array.isArray(p(a, s))) {
1201
+ const F = c(p(a, s), g.argA, g.argB);
1202
+ h && Z(a, s, F);
1203
+ }
1204
+ if (f && Array.isArray(p(t.errors, s))) {
1205
+ const F = c(p(t.errors, s), g.argA, g.argB);
1206
+ h && Z(t.errors, s, F), Js(t.errors, s);
1207
+ }
1208
+ if (y.touchedFields && f && Array.isArray(p(t.touchedFields, s))) {
1209
+ const F = c(p(t.touchedFields, s), g.argA, g.argB);
1210
+ h && Z(t.touchedFields, s, F);
1211
+ }
1212
+ y.dirtyFields && (t.dirtyFields = Xe(n, i)), m.state.next({
1213
+ name: s,
1214
+ isDirty: b(s, l),
1215
+ dirtyFields: t.dirtyFields,
1216
+ errors: t.errors,
1217
+ isValid: t.isValid
1218
+ });
1219
+ } else
1220
+ Z(i, s, l);
1221
+ }, M = (s, l) => {
1222
+ Z(t.errors, s, l), m.state.next({
1223
+ errors: t.errors
1224
+ });
1225
+ }, q = (s) => {
1226
+ t.errors = s, m.state.next({
1227
+ errors: t.errors,
1228
+ isValid: !1
1229
+ });
1230
+ }, I = (s, l, c, g) => {
1231
+ const h = p(a, s);
1232
+ if (h) {
1233
+ const f = p(i, s, K(c) ? p(n, s) : c);
1234
+ K(f) || g && g.defaultChecked || l ? Z(i, s, l ? f : it(h._f)) : B(s, f), d.mount && x();
1235
+ }
1236
+ }, H = (s, l, c, g, h) => {
1237
+ let f = !1, F = !1;
1238
+ const R = {
1239
+ name: s
1240
+ }, ee = !!(p(a, s) && p(a, s)._f && p(a, s)._f.disabled);
1241
+ if (!c || g) {
1242
+ y.isDirty && (F = t.isDirty, t.isDirty = R.isDirty = b(), f = F !== R.isDirty);
1243
+ const me = ee || Ce(p(n, s), l);
1244
+ F = !!(!ee && p(t.dirtyFields, s)), me || ee ? te(t.dirtyFields, s) : Z(t.dirtyFields, s, !0), R.dirtyFields = t.dirtyFields, f = f || y.dirtyFields && F !== !me;
1245
+ }
1246
+ if (c) {
1247
+ const me = p(t.touchedFields, s);
1248
+ me || (Z(t.touchedFields, s, c), R.touchedFields = t.touchedFields, f = f || y.touchedFields && me !== c);
1249
+ }
1250
+ return f && h && m.state.next(R), f ? R : {};
1251
+ }, G = (s, l, c, g) => {
1252
+ const h = p(t.errors, s), f = y.isValid && be(l) && t.isValid !== l;
1253
+ if (e.delayError && c ? (A = D(() => M(s, c)), A(e.delayError)) : (clearTimeout(w), A = null, c ? Z(t.errors, s, c) : te(t.errors, s)), (c ? !Ce(h, c) : h) || !pe(g) || f) {
1254
+ const F = {
1255
+ ...g,
1256
+ ...f && be(l) ? { isValid: l } : {},
1257
+ errors: t.errors,
1258
+ name: s
1259
+ };
1260
+ t = {
1261
+ ...t,
1262
+ ...F
1263
+ }, m.state.next(F);
1264
+ }
1265
+ }, X = async (s) => {
1266
+ E(s, !0);
1267
+ const l = await r.resolver(i, r.context, Us(s || u.mount, a, r.criteriaMode, r.shouldUseNativeValidation));
1268
+ return E(s), l;
1269
+ }, L = async (s) => {
1270
+ const { errors: l } = await X(s);
1271
+ if (s)
1272
+ for (const c of s) {
1273
+ const g = p(l, c);
1274
+ g ? Z(t.errors, c, g) : te(t.errors, c);
1275
+ }
1276
+ else
1277
+ t.errors = l;
1278
+ return l;
1279
+ }, j = async (s, l, c = {
1280
+ valid: !0
1281
+ }) => {
1282
+ for (const g in s) {
1283
+ const h = s[g];
1284
+ if (h) {
1285
+ const { _f: f, ...F } = h;
1286
+ if (f) {
1287
+ const R = u.array.has(f.name);
1288
+ E([g], !0);
1289
+ const ee = await Tt(h, i, N, r.shouldUseNativeValidation && !l, R);
1290
+ if (E([g]), ee[f.name] && (c.valid = !1, l))
1291
+ break;
1292
+ !l && (p(ee, f.name) ? R ? zs(t.errors, ee, f.name) : Z(t.errors, f.name, ee[f.name]) : te(t.errors, f.name));
1293
+ }
1294
+ !pe(F) && await j(F, l, c);
1295
+ }
1296
+ }
1297
+ return c.valid;
1298
+ }, _ = () => {
1299
+ for (const s of u.unMount) {
1300
+ const l = p(a, s);
1301
+ l && (l._f.refs ? l._f.refs.every((c) => !st(c)) : !st(l._f.ref)) && ve(s);
1302
+ }
1303
+ u.unMount = /* @__PURE__ */ new Set();
1304
+ }, b = (s, l) => (s && l && Z(i, s, l), !Ce(ne(), n)), v = (s, l, c) => _t(s, u, {
1305
+ ...d.mount ? i : K(l) ? n : we(s) ? { [s]: l } : l
1306
+ }, c, l), T = (s) => Ke(p(d.mount ? i : n, s, e.shouldUnregister ? p(n, s, []) : [])), B = (s, l, c = {}) => {
1307
+ const g = p(a, s);
1308
+ let h = l;
1309
+ if (g) {
1310
+ const f = g._f;
1311
+ f && (!f.disabled && Z(i, s, Gt(l, f)), h = Ge(f.ref) && oe(l) ? "" : l, qt(f.ref) ? [...f.ref.options].forEach((F) => F.selected = h.includes(F.value)) : f.refs ? je(f.ref) ? f.refs.length > 1 ? f.refs.forEach((F) => (!F.defaultChecked || !F.disabled) && (F.checked = Array.isArray(h) ? !!h.find((R) => R === F.value) : h === F.value)) : f.refs[0] && (f.refs[0].checked = !!h) : f.refs.forEach((F) => F.checked = F.value === h) : ft(f.ref) ? f.ref.value = "" : (f.ref.value = h, f.ref.type || m.values.next({
1312
+ name: s,
1313
+ values: { ...i }
1314
+ })));
1315
+ }
1316
+ (c.shouldDirty || c.shouldTouch) && H(s, h, c.shouldTouch, c.shouldDirty, !0), c.shouldValidate && J(s);
1317
+ }, V = (s, l, c) => {
1318
+ for (const g in l) {
1319
+ const h = l[g], f = `${s}.${g}`, F = p(a, f);
1320
+ (u.array.has(s) || !Je(h) || F && !F._f) && !Le(h) ? V(f, h, c) : B(f, h, c);
1321
+ }
1322
+ }, z = (s, l, c = {}) => {
1323
+ const g = p(a, s), h = u.array.has(s), f = fe(l);
1324
+ Z(i, s, f), h ? (m.array.next({
1325
+ name: s,
1326
+ values: { ...i }
1327
+ }), (y.isDirty || y.dirtyFields) && c.shouldDirty && m.state.next({
1328
+ name: s,
1329
+ dirtyFields: Xe(n, i),
1330
+ isDirty: b(s, f)
1331
+ })) : g && !g._f && !oe(f) ? V(s, f, c) : B(s, f, c), kt(s, u) && m.state.next({ ...t }), m.values.next({
1332
+ name: d.mount ? s : void 0,
1333
+ values: { ...i }
1334
+ });
1335
+ }, Y = async (s) => {
1336
+ d.mount = !0;
1337
+ const l = s.target;
1338
+ let c = l.name, g = !0;
1339
+ const h = p(a, c), f = () => l.type ? it(h._f) : Vt(s), F = (R) => {
1340
+ g = Number.isNaN(R) || R === p(i, c, R);
1341
+ };
1342
+ if (h) {
1343
+ let R, ee;
1344
+ const me = f(), Te = s.type === Ue.BLUR || s.type === Ue.FOCUS_OUT, Kt = !Gs(h._f) && !r.resolver && !p(t.errors, c) && !h._f.deps || Hs(Te, p(t.touchedFields, c), t.isSubmitted, P, W), $e = kt(c, u, Te);
1345
+ Z(i, c, me), Te ? (h._f.onBlur && h._f.onBlur(s), A && A(0)) : h._f.onChange && h._f.onChange(s);
1346
+ const et = H(c, me, Te, !1), Qt = !pe(et) || $e;
1347
+ if (!Te && m.values.next({
1348
+ name: c,
1349
+ type: s.type,
1350
+ values: { ...i }
1351
+ }), Kt)
1352
+ return y.isValid && x(), Qt && m.state.next({ name: c, ...$e ? {} : et });
1353
+ if (!Te && $e && m.state.next({ ...t }), r.resolver) {
1354
+ const { errors: vt } = await X([c]);
1355
+ if (F(me), g) {
1356
+ const $t = Wt(t.errors, a, c), bt = Wt(vt, a, $t.name || c);
1357
+ R = bt.error, c = bt.name, ee = pe(vt);
1358
+ }
1359
+ } else
1360
+ E([c], !0), R = (await Tt(h, i, N, r.shouldUseNativeValidation))[c], E([c]), F(me), g && (R ? ee = !1 : y.isValid && (ee = await j(a, !0)));
1361
+ g && (h._f.deps && J(h._f.deps), G(c, ee, R, et));
1362
+ }
1363
+ }, se = (s, l) => {
1364
+ if (p(t.errors, l) && s.focus)
1365
+ return s.focus(), 1;
1366
+ }, J = async (s, l = {}) => {
1367
+ let c, g;
1368
+ const h = Me(s);
1369
+ if (r.resolver) {
1370
+ const f = await L(K(s) ? s : h);
1371
+ c = pe(f), g = s ? !h.some((F) => p(f, F)) : c;
1372
+ } else
1373
+ s ? (g = (await Promise.all(h.map(async (f) => {
1374
+ const F = p(a, f);
1375
+ return await j(F && F._f ? { [f]: F } : F);
1376
+ }))).every(Boolean), !(!g && !t.isValid) && x()) : g = c = await j(a);
1377
+ return m.state.next({
1378
+ ...!we(s) || y.isValid && c !== t.isValid ? {} : { name: s },
1379
+ ...r.resolver || !s ? { isValid: c } : {},
1380
+ errors: t.errors
1381
+ }), l.shouldFocus && !g && Re(a, se, s ? h : u.mount), g;
1382
+ }, ne = (s) => {
1383
+ const l = {
1384
+ ...d.mount ? i : n
1385
+ };
1386
+ return K(s) ? l : we(s) ? p(l, s) : s.map((c) => p(l, c));
1387
+ }, ce = (s, l) => ({
1388
+ invalid: !!p((l || t).errors, s),
1389
+ isDirty: !!p((l || t).dirtyFields, s),
1390
+ error: p((l || t).errors, s),
1391
+ isValidating: !!p(t.validatingFields, s),
1392
+ isTouched: !!p((l || t).touchedFields, s)
1393
+ }), de = (s) => {
1394
+ s && Me(s).forEach((l) => te(t.errors, l)), m.state.next({
1395
+ errors: s ? t.errors : {}
1396
+ });
1397
+ }, Q = (s, l, c) => {
1398
+ const g = (p(a, s, { _f: {} })._f || {}).ref, h = p(t.errors, s) || {}, { ref: f, message: F, type: R, ...ee } = h;
1399
+ Z(t.errors, s, {
1400
+ ...ee,
1401
+ ...l,
1402
+ ref: g
1403
+ }), m.state.next({
1404
+ name: s,
1405
+ errors: t.errors,
1406
+ isValid: !1
1407
+ }), c && c.shouldFocus && g && g.focus && g.focus();
1408
+ }, ue = (s, l) => Ne(s) ? m.values.subscribe({
1409
+ next: (c) => s(v(void 0, l), c)
1410
+ }) : v(s, l, !0), ve = (s, l = {}) => {
1411
+ for (const c of s ? Me(s) : u.mount)
1412
+ u.mount.delete(c), u.array.delete(c), l.keepValue || (te(a, c), te(i, c)), !l.keepError && te(t.errors, c), !l.keepDirty && te(t.dirtyFields, c), !l.keepTouched && te(t.touchedFields, c), !l.keepIsValidating && te(t.validatingFields, c), !r.shouldUnregister && !l.keepDefaultValue && te(n, c);
1413
+ m.values.next({
1414
+ values: { ...i }
1415
+ }), m.state.next({
1416
+ ...t,
1417
+ ...l.keepDirty ? { isDirty: b() } : {}
1418
+ }), !l.keepIsValid && x();
1419
+ }, Pe = ({ disabled: s, name: l, field: c, fields: g, value: h }) => {
1420
+ if (be(s) && d.mount || s) {
1421
+ const f = s ? void 0 : K(h) ? it(c ? c._f : p(g, l)._f) : h;
1422
+ Z(i, l, f), H(l, f, !1, !1, !0);
1423
+ }
1424
+ }, Qe = (s, l = {}) => {
1425
+ let c = p(a, s);
1426
+ const g = be(l.disabled);
1427
+ return Z(a, s, {
1428
+ ...c || {},
1429
+ _f: {
1430
+ ...c && c._f ? c._f : { ref: { name: s } },
1431
+ name: s,
1432
+ mount: !0,
1433
+ ...l
1434
+ }
1435
+ }), u.mount.add(s), c ? Pe({
1436
+ field: c,
1437
+ disabled: l.disabled,
1438
+ name: s,
1439
+ value: l.value
1440
+ }) : I(s, !0, l.value), {
1441
+ ...g ? { disabled: l.disabled } : {},
1442
+ ...r.progressive ? {
1443
+ required: !!l.required,
1444
+ min: De(l.min),
1445
+ max: De(l.max),
1446
+ minLength: De(l.minLength),
1447
+ maxLength: De(l.maxLength),
1448
+ pattern: De(l.pattern)
1449
+ } : {},
1450
+ name: s,
1451
+ onChange: Y,
1452
+ onBlur: Y,
1453
+ ref: (h) => {
1454
+ if (h) {
1455
+ Qe(s, l), c = p(a, s);
1456
+ const f = K(h.value) && h.querySelectorAll && h.querySelectorAll("input,select,textarea")[0] || h, F = Zs(f), R = c._f.refs || [];
1457
+ if (F ? R.find((ee) => ee === f) : f === c._f.ref)
1458
+ return;
1459
+ Z(a, s, {
1460
+ _f: {
1461
+ ...c._f,
1462
+ ...F ? {
1463
+ refs: [
1464
+ ...R.filter(st),
1465
+ f,
1466
+ ...Array.isArray(p(n, s)) ? [{}] : []
1467
+ ],
1468
+ ref: { type: f.type, name: s }
1469
+ } : { ref: f }
1470
+ }
1471
+ }), I(s, !1, void 0, f);
1472
+ } else
1473
+ c = p(a, s, {}), c._f && (c._f.mount = !1), (r.shouldUnregister || l.shouldUnregister) && !(Dt(u.array, s) && d.action) && u.unMount.add(s);
1474
+ }
1475
+ };
1476
+ }, mt = () => r.shouldFocusError && Re(a, se, u.mount), Jt = (s) => {
1477
+ be(s) && (m.state.next({ disabled: s }), Re(a, (l, c) => {
1478
+ const g = p(a, c);
1479
+ g && (l.disabled = g._f.disabled || s, Array.isArray(g._f.refs) && g._f.refs.forEach((h) => {
1480
+ h.disabled = g._f.disabled || s;
1481
+ }));
1482
+ }, 0, !1));
1483
+ }, ht = (s, l) => async (c) => {
1484
+ let g;
1485
+ c && (c.preventDefault && c.preventDefault(), c.persist && c.persist());
1486
+ let h = fe(i);
1487
+ if (m.state.next({
1488
+ isSubmitting: !0
1489
+ }), r.resolver) {
1490
+ const { errors: f, values: F } = await X();
1491
+ t.errors = f, h = F;
1492
+ } else
1493
+ await j(a);
1494
+ if (te(t.errors, "root"), pe(t.errors)) {
1495
+ m.state.next({
1496
+ errors: {}
1497
+ });
1498
+ try {
1499
+ await s(h, c);
1500
+ } catch (f) {
1501
+ g = f;
1502
+ }
1503
+ } else
1504
+ l && await l({ ...t.errors }, c), mt(), setTimeout(mt);
1505
+ if (m.state.next({
1506
+ isSubmitted: !0,
1507
+ isSubmitting: !1,
1508
+ isSubmitSuccessful: pe(t.errors) && !g,
1509
+ submitCount: t.submitCount + 1,
1510
+ errors: t.errors
1511
+ }), g)
1512
+ throw g;
1513
+ }, Yt = (s, l = {}) => {
1514
+ p(a, s) && (K(l.defaultValue) ? z(s, fe(p(n, s))) : (z(s, l.defaultValue), Z(n, s, fe(l.defaultValue))), l.keepTouched || te(t.touchedFields, s), l.keepDirty || (te(t.dirtyFields, s), t.isDirty = l.defaultValue ? b(s, fe(p(n, s))) : b()), l.keepError || (te(t.errors, s), y.isValid && x()), m.state.next({ ...t }));
1515
+ }, yt = (s, l = {}) => {
1516
+ const c = s ? fe(s) : n, g = fe(c), h = pe(s), f = h ? n : g;
1517
+ if (l.keepDefaultValues || (n = c), !l.keepValues) {
1518
+ if (l.keepDirtyValues)
1519
+ for (const F of u.mount)
1520
+ p(t.dirtyFields, F) ? Z(f, F, p(i, F)) : z(F, p(f, F));
1521
+ else {
1522
+ if (ot && K(s))
1523
+ for (const F of u.mount) {
1524
+ const R = p(a, F);
1525
+ if (R && R._f) {
1526
+ const ee = Array.isArray(R._f.refs) ? R._f.refs[0] : R._f.ref;
1527
+ if (Ge(ee)) {
1528
+ const me = ee.closest("form");
1529
+ if (me) {
1530
+ me.reset();
1531
+ break;
1532
+ }
1533
+ }
1534
+ }
1535
+ }
1536
+ a = {};
1537
+ }
1538
+ i = e.shouldUnregister ? l.keepDefaultValues ? fe(n) : {} : fe(f), m.array.next({
1539
+ values: { ...f }
1540
+ }), m.values.next({
1541
+ values: { ...f }
1542
+ });
1543
+ }
1544
+ u = {
1545
+ mount: l.keepDirtyValues ? u.mount : /* @__PURE__ */ new Set(),
1546
+ unMount: /* @__PURE__ */ new Set(),
1547
+ array: /* @__PURE__ */ new Set(),
1548
+ watch: /* @__PURE__ */ new Set(),
1549
+ watchAll: !1,
1550
+ focus: ""
1551
+ }, d.mount = !y.isValid || !!l.keepIsValid || !!l.keepDirtyValues, d.watch = !!e.shouldUnregister, m.state.next({
1552
+ submitCount: l.keepSubmitCount ? t.submitCount : 0,
1553
+ isDirty: h ? !1 : l.keepDirty ? t.isDirty : !!(l.keepDefaultValues && !Ce(s, n)),
1554
+ isSubmitted: l.keepIsSubmitted ? t.isSubmitted : !1,
1555
+ dirtyFields: h ? {} : l.keepDirtyValues ? l.keepDefaultValues && i ? Xe(n, i) : t.dirtyFields : l.keepDefaultValues && s ? Xe(n, s) : l.keepDirty ? t.dirtyFields : {},
1556
+ touchedFields: l.keepTouched ? t.touchedFields : {},
1557
+ errors: l.keepErrors ? t.errors : {},
1558
+ isSubmitSuccessful: l.keepIsSubmitSuccessful ? t.isSubmitSuccessful : !1,
1559
+ isSubmitting: !1
1560
+ });
1561
+ }, gt = (s, l) => yt(Ne(s) ? s(i) : s, l);
1562
+ return {
1563
+ control: {
1564
+ register: Qe,
1565
+ unregister: ve,
1566
+ getFieldState: ce,
1567
+ handleSubmit: ht,
1568
+ setError: Q,
1569
+ _executeSchema: X,
1570
+ _getWatch: v,
1571
+ _getDirty: b,
1572
+ _updateValid: x,
1573
+ _removeUnmounted: _,
1574
+ _updateFieldArray: S,
1575
+ _updateDisabledField: Pe,
1576
+ _getFieldArray: T,
1577
+ _reset: yt,
1578
+ _resetDefaultValues: () => Ne(r.defaultValues) && r.defaultValues().then((s) => {
1579
+ gt(s, r.resetOptions), m.state.next({
1580
+ isLoading: !1
1581
+ });
1582
+ }),
1583
+ _updateFormState: (s) => {
1584
+ t = {
1585
+ ...t,
1586
+ ...s
1587
+ };
1588
+ },
1589
+ _disableForm: Jt,
1590
+ _subjects: m,
1591
+ _proxyFormState: y,
1592
+ _setErrors: q,
1593
+ get _fields() {
1594
+ return a;
1595
+ },
1596
+ get _formValues() {
1597
+ return i;
1598
+ },
1599
+ get _state() {
1600
+ return d;
1601
+ },
1602
+ set _state(s) {
1603
+ d = s;
1604
+ },
1605
+ get _defaultValues() {
1606
+ return n;
1607
+ },
1608
+ get _names() {
1609
+ return u;
1610
+ },
1611
+ set _names(s) {
1612
+ u = s;
1613
+ },
1614
+ get _formState() {
1615
+ return t;
1616
+ },
1617
+ set _formState(s) {
1618
+ t = s;
1619
+ },
1620
+ get _options() {
1621
+ return r;
1622
+ },
1623
+ set _options(s) {
1624
+ r = {
1625
+ ...r,
1626
+ ...s
1627
+ };
1628
+ }
1629
+ },
1630
+ trigger: J,
1631
+ register: Qe,
1632
+ handleSubmit: ht,
1633
+ watch: ue,
1634
+ setValue: z,
1635
+ getValues: ne,
1636
+ reset: gt,
1637
+ resetField: Yt,
1638
+ clearErrors: de,
1639
+ unregister: ve,
1640
+ setError: Q,
1641
+ setFocus: (s, l = {}) => {
1642
+ const c = p(a, s), g = c && c._f;
1643
+ if (g) {
1644
+ const h = g.refs ? g.refs[0] : g.ref;
1645
+ h.focus && (h.focus(), l.shouldSelect && h.select());
1646
+ }
1647
+ },
1648
+ getFieldState: ce
1649
+ };
1650
+ }
1651
+ function Qs(e = {}) {
1652
+ const r = U.useRef(), t = U.useRef(), [a, n] = U.useState({
1653
+ isDirty: !1,
1654
+ isValidating: !1,
1655
+ isLoading: Ne(e.defaultValues),
1656
+ isSubmitted: !1,
1657
+ isSubmitting: !1,
1658
+ isSubmitSuccessful: !1,
1659
+ isValid: !1,
1660
+ submitCount: 0,
1661
+ dirtyFields: {},
1662
+ touchedFields: {},
1663
+ validatingFields: {},
1664
+ errors: e.errors || {},
1665
+ disabled: e.disabled || !1,
1666
+ defaultValues: Ne(e.defaultValues) ? void 0 : e.defaultValues
1667
+ });
1668
+ r.current || (r.current = {
1669
+ ...Ks(e),
1670
+ formState: a
1671
+ });
1672
+ const i = r.current.control;
1673
+ return i._options = e, ut({
1674
+ subject: i._subjects.state,
1675
+ next: (d) => {
1676
+ Ot(d, i._proxyFormState, i._updateFormState, !0) && n({ ...i._formState });
1677
+ }
1678
+ }), U.useEffect(() => i._disableForm(e.disabled), [i, e.disabled]), U.useEffect(() => {
1679
+ if (i._proxyFormState.isDirty) {
1680
+ const d = i._getDirty();
1681
+ d !== a.isDirty && i._subjects.state.next({
1682
+ isDirty: d
1683
+ });
1684
+ }
1685
+ }, [i, a.isDirty]), U.useEffect(() => {
1686
+ e.values && !Ce(e.values, t.current) ? (i._reset(e.values, i._options.resetOptions), t.current = e.values, n((d) => ({ ...d }))) : i._resetDefaultValues();
1687
+ }, [e.values, i]), U.useEffect(() => {
1688
+ e.errors && i._setErrors(e.errors);
1689
+ }, [e.errors, i]), U.useEffect(() => {
1690
+ i._state.mount || (i._updateValid(), i._state.mount = !0), i._state.watch && (i._state.watch = !1, i._subjects.state.next({ ...i._formState })), i._removeUnmounted();
1691
+ }), U.useEffect(() => {
1692
+ e.shouldUnregister && i._subjects.values.next({
1693
+ values: i._getWatch()
1694
+ });
1695
+ }, [e.shouldUnregister, i]), r.current.formState = Rt(a, i), r.current;
1696
+ }
1697
+ const $s = Ae.bind(ie), ei = "Я принимаю условия Политики обработки и защиты персональных данных, даю согласия на обработку персональных данных", Wn = ({
1698
+ isFormOpen: e,
1699
+ setIsFormOpen: r,
1700
+ isNews: t,
1701
+ title: a,
1702
+ isEmail: n,
1703
+ isPhone: i,
1704
+ isTextArea: d,
1705
+ telegramLink: u = "https://t.me/stone_developer",
1706
+ isRequiredPhone: A = !0,
1707
+ isRequiredEmail: w = !1,
1708
+ isRequiredPhoneOrEmail: y,
1709
+ textAreaPlaceholder: m,
1710
+ subTitle: W,
1711
+ submitHandler: P,
1712
+ modalWidth: N = "442px",
1713
+ rowsTextArea: D = 2,
1714
+ advCheckBox: x = { text: ei, isRequired: !0 },
1715
+ isAdvCheckBox: E,
1716
+ addTitleClassName: S,
1717
+ createPortalObj: M,
1718
+ telegramClickHandler: q = () => null,
1719
+ blurHandler: I,
1720
+ handlerButton: H,
1721
+ block_name: G,
1722
+ emitCheckBox: X,
1723
+ emitAdvCheckBox: L
1724
+ }) => {
1725
+ const {
1726
+ register: j,
1727
+ handleSubmit: _,
1728
+ reset: b,
1729
+ control: v,
1730
+ watch: T,
1731
+ formState: { errors: B }
1732
+ } = Qs(), V = !!T("email"), z = T("personalCheckBox"), Y = T("advCheckBox");
1733
+ Oe(() => {
1734
+ typeof z < "u" && X && X();
1735
+ }, [X, z]), Oe(() => {
1736
+ typeof Y < "u" && L && L();
1737
+ }, [L, Y]);
1738
+ const { isMobile: se, currentClientWidth: J } = Be(), ne = T("personalCheckBox"), ce = T("advCheckBox"), de = (ue) => {
1739
+ P(ue), b();
1740
+ }, Q = (ue, { action_element_status: ve, action_element: Pe }) => {
1741
+ I && I({
1742
+ e: ue,
1743
+ analyticParams: { action_element: Pe, action_element_status: ve, block_name: G }
1744
+ });
1745
+ };
1746
+ return J ? /* @__PURE__ */ o(
1747
+ at,
1748
+ {
1749
+ additionalClass: ie.modal,
1750
+ additionalClassModalBody: ie.modalBody,
1751
+ createPortalObj: M,
1752
+ isOpen: e,
1753
+ isTransparentBack: !0,
1754
+ emitIsOpen: () => r(!1),
1755
+ opacity: 0.7,
1756
+ children: /* @__PURE__ */ C(
1757
+ "div",
1758
+ {
1759
+ className: ie.root,
1760
+ style: { width: se ? "100%" : N },
1761
+ "data-testid": "modal_window",
1762
+ children: [
1763
+ /* @__PURE__ */ o(
1764
+ "div",
1765
+ {
1766
+ className: $s(ie.title, S),
1767
+ dangerouslySetInnerHTML: { __html: a ?? "Оставить обращение" }
1768
+ }
1769
+ ),
1770
+ t && /* @__PURE__ */ C("div", { className: ie.telegramWrapper, children: [
1771
+ /* @__PURE__ */ o(
1772
+ "a",
1773
+ {
1774
+ className: ie.telegramLink,
1775
+ href: u,
1776
+ target: "_blank",
1777
+ "data-testid": "modal_telegram_link",
1778
+ children: /* @__PURE__ */ C(
1779
+ "div",
1780
+ {
1781
+ className: ie.telegram,
1782
+ onClick: q,
1783
+ children: [
1784
+ /* @__PURE__ */ o("div", { children: "Подписаться в Telegram" }),
1785
+ /* @__PURE__ */ o(ge, { name: "telegram" })
1786
+ ]
1787
+ }
1788
+ )
1789
+ }
1790
+ ),
1791
+ /* @__PURE__ */ o("div", { className: ie.orText, children: "или" })
1792
+ ] }),
1793
+ !t && /* @__PURE__ */ o(
1794
+ "div",
1795
+ {
1796
+ className: ie.description,
1797
+ dangerouslySetInnerHTML: {
1798
+ __html: W && !t ? "Оставьте номер телефона для получения консультации" : `${/* @__PURE__ */ o("div", { children: "привет" })}`
1799
+ }
1800
+ }
1801
+ ),
1802
+ /* @__PURE__ */ C("form", { onSubmit: _(de), children: [
1803
+ /* @__PURE__ */ C(tr, { className: ie.inputWrapper, children: [
1804
+ /* @__PURE__ */ o(
1805
+ tt,
1806
+ {
1807
+ width: "full",
1808
+ size_s: "large",
1809
+ variant: "light",
1810
+ placeholder: "Введите имя",
1811
+ "data-testid": "modal_name",
1812
+ ...j("name", { required: !0, pattern: ir }),
1813
+ onBlur: (ue) => Q(ue, {
1814
+ action_element_status: B.name ? "error" : "success",
1815
+ action_element: `input_${G}_name`
1816
+ }),
1817
+ error: !!B.name
1818
+ }
1819
+ ),
1820
+ i && /* @__PURE__ */ o(
1821
+ js,
1822
+ {
1823
+ name: "phone",
1824
+ control: v,
1825
+ rules: {
1826
+ required: w || A || y && !V,
1827
+ pattern: { value: nr, message: "" }
1828
+ },
1829
+ defaultValue: "",
1830
+ render: ({ field: ue }) => /* @__PURE__ */ o(
1831
+ tt,
1832
+ {
1833
+ inputMode: "numeric",
1834
+ isPhoneIMask: !0,
1835
+ ...ue,
1836
+ width: "full",
1837
+ "data-testid": "phone_modal",
1838
+ type: "tel",
1839
+ error: !!B.phone,
1840
+ size_s: "large",
1841
+ variant: "light",
1842
+ onBlur: (ve) => Q(ve, {
1843
+ action_element_status: B.phone ? "error" : "success",
1844
+ action_element: `input_${G}_phone`
1845
+ })
1846
+ }
1847
+ )
1848
+ }
1849
+ ),
1850
+ n && /* @__PURE__ */ o(
1851
+ tt,
1852
+ {
1853
+ width: "full",
1854
+ size_s: "large",
1855
+ variant: "light",
1856
+ placeholder: "Введите email",
1857
+ "data-testid": "modal_email",
1858
+ ...j("email", {
1859
+ required: w || y && !V,
1860
+ pattern: ar
1861
+ }),
1862
+ error: !!B.email,
1863
+ onBlur: (ue) => Q(ue, {
1864
+ action_element_status: B.email ? "error" : "success",
1865
+ action_element: `input_${G}_email`
1866
+ })
1867
+ }
1868
+ ),
1869
+ d && /* @__PURE__ */ o(
1870
+ lr,
1871
+ {
1872
+ "data-testid": "modal_textarea",
1873
+ placeholder: m,
1874
+ rows: D,
1875
+ width: "full",
1876
+ ...j("textarea")
1877
+ }
1878
+ ),
1879
+ x && !t && E && /* @__PURE__ */ o(
1880
+ St,
1881
+ {
1882
+ "data-testid": "modal_advCheckBox",
1883
+ isChecked: ce,
1884
+ error: !!B.advCheckBox,
1885
+ text: x.text,
1886
+ ...j("advCheckBox", { required: x == null ? void 0 : x.isRequired })
1887
+ }
1888
+ ),
1889
+ /* @__PURE__ */ C(
1890
+ St,
1891
+ {
1892
+ "data-testid": "modal_personalCheckBox",
1893
+ isChecked: ne,
1894
+ error: !!B.personalCheckBox,
1895
+ ...j("personalCheckBox", { required: !t }),
1896
+ children: [
1897
+ t && /* @__PURE__ */ C("div", { className: ie.checkboxText, children: [
1898
+ "Согласен(-на)",
1899
+ " ",
1900
+ /* @__PURE__ */ o(
1901
+ "a",
1902
+ {
1903
+ className: ie.linkPolicy,
1904
+ href: "/documents/soglasie-na-rassylki",
1905
+ children: "получать новости, информацию по сделке и рекламу"
1906
+ }
1907
+ ),
1908
+ " ",
1909
+ "от Stone"
1910
+ ] }),
1911
+ !t && /* @__PURE__ */ C("div", { className: ie.checkboxText, children: [
1912
+ "Я принимаю условия",
1913
+ " ",
1914
+ /* @__PURE__ */ o("a", { className: ie.linkPolicy, href: "/documents/politika-konfidenczialnosti", children: "Политики обработки и защиты персональных данных" }),
1915
+ ", даю",
1916
+ " ",
1917
+ /* @__PURE__ */ o("a", { className: ie.linkPolicy, href: "/documents/docs", children: "согласие на обработку персональных данных" })
1918
+ ] })
1919
+ ]
1920
+ }
1921
+ ),
1922
+ /* @__PURE__ */ o(
1923
+ ke,
1924
+ {
1925
+ "data-testid": "modal_submit",
1926
+ variant: "blue",
1927
+ width: "full",
1928
+ type: "submit",
1929
+ size: "large",
1930
+ as: "button",
1931
+ additionalClass: ie.modalBtn,
1932
+ onClick: () => {
1933
+ H && H();
1934
+ },
1935
+ disabled: !!B.name || !!B.phone && A || !!B.email && w || !!B.advCheckBox && (x == null ? void 0 : x.isRequired) || !!B.personalCheckBox && !t,
1936
+ children: "Отправить запрос"
1937
+ }
1938
+ )
1939
+ ] }),
1940
+ /* @__PURE__ */ o(
1941
+ ke,
1942
+ {
1943
+ additionalClass: ie.btn,
1944
+ onClick: () => r(!1),
1945
+ as: "button",
1946
+ variant: "gray",
1947
+ type: "button",
1948
+ size: "small",
1949
+ children: /* @__PURE__ */ o(
1950
+ ge,
1951
+ {
1952
+ name: "close",
1953
+ size: "16",
1954
+ color: "#141416"
1955
+ }
1956
+ )
1957
+ }
1958
+ )
1959
+ ] })
1960
+ ]
1961
+ }
1962
+ )
1963
+ }
1964
+ ) : null;
1965
+ }, ti = "_snippet_1vgdm_1", ri = "_snippetLast_1vgdm_9", si = "_snippets_1vgdm_25", ii = "_retailSnippets_1vgdm_30", ni = "_shownSnippets_1vgdm_35", ai = "_addSnippets_1vgdm_64", li = "_addSnippetsActive_1vgdm_80", oi = "_addSnippetsList_1vgdm_85", ci = "_closeSnippetBtn_1vgdm_129", he = {
1966
+ snippet: ti,
1967
+ snippetLast: ri,
1968
+ snippets: si,
1969
+ retailSnippets: ii,
1970
+ shownSnippets: ni,
1971
+ addSnippets: ai,
1972
+ addSnippetsActive: li,
1973
+ addSnippetsList: oi,
1974
+ closeSnippetBtn: ci
1975
+ }, It = Ae.bind(he), di = ({ lot: e }) => {
1976
+ const { type: r, windowViews: t, isCorner: a } = e || {}, [n, i] = xe(!1), d = dr({ ...e }), { isDesktop: u, isMobile: A } = Be();
1977
+ if (r === 3) {
1978
+ if (A && (!t || t.length === 0))
1979
+ return null;
1980
+ let w = 0;
1981
+ const y = u ? 36 : 28, m = [], W = [];
1982
+ if (a) {
1983
+ const P = "Угловая";
1984
+ if (w + P.length <= y)
1985
+ m.push(P), w += P.length;
1986
+ else
1987
+ return m;
1988
+ }
1989
+ if (t) {
1990
+ const P = t.filter((x) => x && x.trim() !== "");
1991
+ let N = 0, D = w;
1992
+ for (let x = 0; x < P.length; x++) {
1993
+ const E = P[x], S = N > 0 ? " " + E : E;
1994
+ if (D + S.length <= y)
1995
+ m.push(E), D += S.length, N++;
1996
+ else {
1997
+ if (N === 0) {
1998
+ const M = y - D;
1999
+ if (M > 3) {
2000
+ const q = E.substring(0, M - 3) + "...";
2001
+ m.push(q), D = y;
2002
+ } else
2003
+ m.push("..."), D += 3;
2004
+ }
2005
+ W.push(...P.slice(x));
2006
+ break;
2007
+ }
2008
+ }
2009
+ w = D;
2010
+ }
2011
+ return /* @__PURE__ */ C("div", { className: he.retailSnippets, children: [
2012
+ /* @__PURE__ */ o("ul", { className: he.shownSnippets, children: m == null ? void 0 : m.map((P, N) => /* @__PURE__ */ o("li", { className: he.snippets, children: P }, N)) }),
2013
+ (W == null ? void 0 : W.length) > 0 && /* @__PURE__ */ C(
2014
+ "div",
2015
+ {
2016
+ className: It(he.addSnippets, { [he.addSnippetsActive]: n }),
2017
+ onClick: (P) => {
2018
+ u || (P.stopPropagation(), P.preventDefault(), i((N) => !N));
2019
+ },
2020
+ onMouseEnter: () => {
2021
+ u && i(!0);
2022
+ },
2023
+ onMouseLeave: () => {
2024
+ u && i(!1);
2025
+ },
2026
+ children: [
2027
+ "+" + (W == null ? void 0 : W.length),
2028
+ n && /* @__PURE__ */ C("ul", { className: he.addSnippetsList, children: [
2029
+ W.map((P, N) => /* @__PURE__ */ o("li", { children: P }, N)),
2030
+ /* @__PURE__ */ o("div", { className: he.closeSnippetBtn, children: /* @__PURE__ */ o(
2031
+ ge,
2032
+ {
2033
+ name: "close",
2034
+ size: "16",
2035
+ color: "#ffffff"
2036
+ }
2037
+ ) })
2038
+ ] })
2039
+ ]
2040
+ }
2041
+ )
2042
+ ] });
2043
+ }
2044
+ return d.length ? /* @__PURE__ */ o("div", { className: he.snippets, children: d.map((w, y) => {
2045
+ const m = y === d.length - 1;
2046
+ return /* @__PURE__ */ o(
2047
+ "div",
2048
+ {
2049
+ className: It(he.snippet, m ? "" : he.snippetLast),
2050
+ children: w.text
2051
+ },
2052
+ y
2053
+ );
2054
+ }) }) : null;
2055
+ }, ui = "_root_19awq_1", fi = "_lotImageWrapper_19awq_17", pi = "_lotNameWrapper_19awq_23", mi = "_lotName_19awq_23", hi = "_lotNumber_19awq_38", yi = "_priceWrapper_19awq_47", gi = "_rootRow_19awq_52", Fe = {
2056
+ root: ui,
2057
+ lotImageWrapper: fi,
2058
+ lotNameWrapper: pi,
2059
+ lotName: mi,
2060
+ lotNumber: hi,
2061
+ priceWrapper: yi,
2062
+ rootRow: gi
2063
+ }, vi = Ae.bind(Fe), In = ({
2064
+ lot: e,
2065
+ imgNode: r,
2066
+ onPriceClickHandler: t,
2067
+ addClassname: a,
2068
+ isVertical: n = !1
2069
+ }) => {
2070
+ const { interiorPlanImg: i, floorPlanImg: d, area: u, subTypeName: A, number: w } = e || {}, y = A + ", " + or(u) + "м²", m = i ?? d ?? "";
2071
+ return e ? /* @__PURE__ */ C("div", { className: vi(Fe.root, a, { [Fe.rootRow]: !n }), children: [
2072
+ /* @__PURE__ */ o("div", { className: Fe.lotImageWrapper, children: r || /* @__PURE__ */ o(
2073
+ "img",
2074
+ {
2075
+ loading: "lazy",
2076
+ src: m,
2077
+ width: 295,
2078
+ height: 213,
2079
+ alt: "logo_image"
2080
+ }
2081
+ ) }),
2082
+ /* @__PURE__ */ C("div", { className: Fe.lotNameWrapper, children: [
2083
+ /* @__PURE__ */ o("p", { className: Fe.lotName, children: y }),
2084
+ /* @__PURE__ */ o("p", { className: Fe.lotNumber, children: w }),
2085
+ /* @__PURE__ */ o(di, { lot: e }),
2086
+ /* @__PURE__ */ o(ur, { lot: e })
2087
+ ] }),
2088
+ /* @__PURE__ */ o("div", { className: Fe.priceWrapper, children: /* @__PURE__ */ o(
2089
+ cr,
2090
+ {
2091
+ lot: e,
2092
+ isVertical: n,
2093
+ onPriceClickHandler: t
2094
+ }
2095
+ ) })
2096
+ ] }) : null;
2097
+ }, bi = "_root_1v1y9_1", wi = "_filterWithSaveModal_1v1y9_15", Si = "_modalAddBody_1v1y9_20", Fi = "_closeBtn_1v1y9_29", xi = "_btnName_1v1y9_35", ki = "_modalTitle_1v1y9_39", Ni = "_tabSWitcherWrapper_1v1y9_48", Ci = "_switcherTitle_1v1y9_77", Ai = "_switcherScroll_1v1y9_84", Pi = "_tabs_1v1y9_93", Ti = "_selectWrapper_1v1y9_98", Wi = "_filterOption_1v1y9_102", Ii = "_btnWrapper_1v1y9_110", Li = "_resetBtn_1v1y9_116", Bi = "_saveBtn_1v1y9_117", Ei = "_desktopWrapper_1v1y9_121", Vi = "_desktopWrapperOpen_1v1y9_144", O = {
2098
+ root: bi,
2099
+ filterWithSaveModal: wi,
2100
+ modalAddBody: Si,
2101
+ closeBtn: Fi,
2102
+ btnName: xi,
2103
+ modalTitle: ki,
2104
+ tabSWitcherWrapper: Ni,
2105
+ switcherTitle: Ci,
2106
+ switcherScroll: Ai,
2107
+ tabs: Pi,
2108
+ selectWrapper: Ti,
2109
+ filterOption: Wi,
2110
+ btnWrapper: Ii,
2111
+ resetBtn: Li,
2112
+ saveBtn: Bi,
2113
+ desktopWrapper: Ei,
2114
+ desktopWrapperOpen: Vi
2115
+ };
2116
+ var Ht = { exports: {} };
2117
+ /*!
2118
+ Copyright (c) 2018 Jed Watson.
2119
+ Licensed under the MIT License (MIT), see
2120
+ http://jedwatson.github.io/classnames
2121
+ */
2122
+ (function(e) {
2123
+ (function() {
2124
+ var r = {}.hasOwnProperty;
2125
+ function t() {
2126
+ for (var i = "", d = 0; d < arguments.length; d++) {
2127
+ var u = arguments[d];
2128
+ u && (i = n(i, a.call(this, u)));
2129
+ }
2130
+ return i;
2131
+ }
2132
+ function a(i) {
2133
+ if (typeof i == "string" || typeof i == "number")
2134
+ return this && this[i] || i;
2135
+ if (typeof i != "object")
2136
+ return "";
2137
+ if (Array.isArray(i))
2138
+ return t.apply(this, i);
2139
+ if (i.toString !== Object.prototype.toString && !i.toString.toString().includes("[native code]"))
2140
+ return i.toString();
2141
+ var d = "";
2142
+ for (var u in i)
2143
+ r.call(i, u) && i[u] && (d = n(d, this && this[u] || u));
2144
+ return d;
2145
+ }
2146
+ function n(i, d) {
2147
+ return d ? i ? i + " " + d : i + d : i;
2148
+ }
2149
+ e.exports ? (t.default = t, e.exports = t) : window.classNames = t;
2150
+ })();
2151
+ })(Ht);
2152
+ var Di = Ht.exports;
2153
+ const Mi = /* @__PURE__ */ er(Di), Ri = ({
2154
+ selectedTabs: e = [],
2155
+ selectedValues: r = [],
2156
+ onClickItem: t,
2157
+ disabledOptions: a = [],
2158
+ tabs: n = [],
2159
+ onChange: i,
2160
+ setSelectedTabs: d,
2161
+ onSaveClick: u,
2162
+ onClearClick: A
2163
+ }) => {
2164
+ const { isMobile: w } = Be(), [y, m] = xe(!1), W = Lt(null), [P, N] = xe(e), [D] = xe(r), [x, E] = xe(P), [S, M] = xe(D), q = (L) => {
2165
+ if (t && t(L), a.some((_) => _.value === L.value))
2166
+ return;
2167
+ const j = S.some((_) => _.value === L.value) ? S.filter((_) => _.value !== L.value) : [...S, L];
2168
+ M(j);
2169
+ }, I = () => {
2170
+ N(n), E(n), M([]), A(), i && (i([]), d == null || d(n));
2171
+ }, H = () => {
2172
+ M(r), E(e);
2173
+ }, G = () => {
2174
+ H(), m(!1);
2175
+ }, X = (L) => {
2176
+ L.stopPropagation(), u(), i && (d == null || d(x), i(S)), m(!1);
2177
+ };
2178
+ return Oe(() => {
2179
+ y || E((L) => JSON.stringify(L) !== JSON.stringify(e) ? e : L);
2180
+ }, [y, e]), Oe(() => {
2181
+ const L = (j) => {
2182
+ if (!W.current)
2183
+ return;
2184
+ const _ = j.target;
2185
+ W.current.contains(_) || _.closest("svg") || G();
2186
+ };
2187
+ return y ? document.addEventListener("click", L) : document.removeEventListener("click", L), () => {
2188
+ document.removeEventListener("click", L);
2189
+ };
2190
+ }, [y]), {
2191
+ isMobile: w,
2192
+ handleClearClick: I,
2193
+ handleCloseModal: G,
2194
+ handleOptionClick: q,
2195
+ handleSaveClick: X,
2196
+ localSelectedTabs: x,
2197
+ selectedOptions: S,
2198
+ setSelectedOptions: M,
2199
+ isModalOpen: y,
2200
+ setIsModalOpen: m,
2201
+ setLocalSelectedTabs: E,
2202
+ containerRef: W
2203
+ };
2204
+ }, Oi = Mi.bind(O), Ln = ({
2205
+ disabledOptions: e,
2206
+ tabs: r = [],
2207
+ selectOptions: t = [],
2208
+ onChange: a,
2209
+ onClick: n = () => null,
2210
+ selectedValues: i,
2211
+ setSelectedTabs: d,
2212
+ selectedTabs: u,
2213
+ onClickItem: A,
2214
+ onCLickSelect: w,
2215
+ dataTestId: y,
2216
+ onSaveClick: m = () => null,
2217
+ onClearClick: W = () => null,
2218
+ onTabClick: P = () => null,
2219
+ btnName: N = "Фильтр"
2220
+ }) => {
2221
+ const {
2222
+ handleCloseModal: D,
2223
+ localSelectedTabs: x,
2224
+ selectedOptions: E,
2225
+ isMobile: S,
2226
+ handleOptionClick: M,
2227
+ handleClearClick: q,
2228
+ handleSaveClick: I,
2229
+ isModalOpen: H,
2230
+ setLocalSelectedTabs: G,
2231
+ setIsModalOpen: X,
2232
+ containerRef: L
2233
+ } = Ri({
2234
+ selectedTabs: u,
2235
+ onClickItem: A,
2236
+ setSelectedTabs: d,
2237
+ tabs: r,
2238
+ onChange: a,
2239
+ disabledOptions: e,
2240
+ selectedValues: i,
2241
+ onSaveClick: m,
2242
+ onClearClick: W
2243
+ }), j = () => /* @__PURE__ */ C(nt, { children: [
2244
+ /* @__PURE__ */ o(
2245
+ "div",
2246
+ {
2247
+ className: O.closeBtn,
2248
+ onClick: () => {
2249
+ D();
2250
+ },
2251
+ children: /* @__PURE__ */ o(
2252
+ ge,
2253
+ {
2254
+ name: "close",
2255
+ size: "24"
2256
+ }
2257
+ )
2258
+ }
2259
+ ),
2260
+ /* @__PURE__ */ o("div", { className: O.modalTitle, children: "Фильтры" }),
2261
+ /* @__PURE__ */ C("div", { className: O.tabSWitcherWrapper, children: [
2262
+ /* @__PURE__ */ o("div", { className: O.switcherTitle, children: "Готовность" }),
2263
+ /* @__PURE__ */ o("div", { className: O.switcherScroll, children: /* @__PURE__ */ o(
2264
+ _e,
2265
+ {
2266
+ variant: "grayRow",
2267
+ addClassName: O.tabs,
2268
+ isApart: !0,
2269
+ children: r == null ? void 0 : r.map((_, b) => {
2270
+ var T;
2271
+ const v = _.value;
2272
+ return /* @__PURE__ */ o(
2273
+ _e.Item,
2274
+ {
2275
+ itemsLength: r == null ? void 0 : r.length,
2276
+ mini: !0,
2277
+ size_s: "small",
2278
+ value: v,
2279
+ onClick: () => {
2280
+ },
2281
+ checked: ((T = x == null ? void 0 : x.find((B) => B.value === v)) == null ? void 0 : T.state) ?? !1,
2282
+ onChange: () => {
2283
+ G == null || G(
2284
+ (B) => B.map((V) => V.value === v ? { ...V, state: !V.state } : V)
2285
+ );
2286
+ },
2287
+ index: b,
2288
+ children: v
2289
+ },
2290
+ b
2291
+ );
2292
+ })
2293
+ }
2294
+ ) })
2295
+ ] }),
2296
+ /* @__PURE__ */ o("div", { className: O.selectWrapper, children: t == null ? void 0 : t.map((_, b) => /* @__PURE__ */ o(
2297
+ Ft,
2298
+ {
2299
+ sizeIcon: "24",
2300
+ addClassName: O.filterOption,
2301
+ disabledOptions: [],
2302
+ clickableOptions: t == null ? void 0 : t.map((v) => v.value.toString()),
2303
+ selectedOptions: E,
2304
+ option: _,
2305
+ handleOptionClick: M
2306
+ },
2307
+ b
2308
+ )) }),
2309
+ /* @__PURE__ */ C("div", { className: O.btnWrapper, children: [
2310
+ /* @__PURE__ */ o(
2311
+ ke,
2312
+ {
2313
+ as: "button",
2314
+ variant: "gray",
2315
+ additionalClass: O.resetBtn,
2316
+ onClick: q,
2317
+ children: "Сбросить"
2318
+ }
2319
+ ),
2320
+ /* @__PURE__ */ o(
2321
+ ke,
2322
+ {
2323
+ as: "button",
2324
+ additionalClass: O.saveBtn,
2325
+ onClick: I,
2326
+ children: "Сохранить"
2327
+ }
2328
+ )
2329
+ ] })
2330
+ ] });
2331
+ return /* @__PURE__ */ C(nt, { children: [
2332
+ /* @__PURE__ */ C("div", { style: { position: "relative" }, children: [
2333
+ /* @__PURE__ */ C(
2334
+ "div",
2335
+ {
2336
+ className: O.root,
2337
+ "data-testid": y,
2338
+ onClick: () => {
2339
+ w && w(), n && n(), S ? X((_) => !_) : H || X(!0);
2340
+ },
2341
+ children: [
2342
+ /* @__PURE__ */ o("div", { className: O.btnName, children: N }),
2343
+ /* @__PURE__ */ o(
2344
+ ge,
2345
+ {
2346
+ name: "filter",
2347
+ size: "16"
2348
+ }
2349
+ )
2350
+ ]
2351
+ }
2352
+ ),
2353
+ !S && /* @__PURE__ */ C(
2354
+ "div",
2355
+ {
2356
+ ref: L,
2357
+ className: Oi(O.desktopWrapper, { [O.desktopWrapperOpen]: H }),
2358
+ children: [
2359
+ /* @__PURE__ */ o(
2360
+ "div",
2361
+ {
2362
+ className: O.closeBtn,
2363
+ onClick: () => {
2364
+ D();
2365
+ },
2366
+ children: /* @__PURE__ */ o(
2367
+ ge,
2368
+ {
2369
+ name: "close",
2370
+ size: "24"
2371
+ }
2372
+ )
2373
+ }
2374
+ ),
2375
+ /* @__PURE__ */ o("div", { className: O.modalTitle, children: "Фильтры" }),
2376
+ /* @__PURE__ */ C("div", { className: O.tabSWitcherWrapper, children: [
2377
+ /* @__PURE__ */ o("div", { className: O.switcherTitle, children: "Готовность" }),
2378
+ /* @__PURE__ */ o("div", { className: O.switcherScroll, children: /* @__PURE__ */ o(
2379
+ _e,
2380
+ {
2381
+ variant: "grayRow",
2382
+ addClassName: O.tabs,
2383
+ isApart: !0,
2384
+ children: r == null ? void 0 : r.map((_, b) => {
2385
+ var T;
2386
+ const v = _.value;
2387
+ return /* @__PURE__ */ o(
2388
+ _e.Item,
2389
+ {
2390
+ itemsLength: r == null ? void 0 : r.length,
2391
+ dataTestId: `filterWithSave_year_${v}_tab`,
2392
+ size_s: "small",
2393
+ mini: !0,
2394
+ value: v,
2395
+ onClick: () => P(),
2396
+ checked: ((T = x == null ? void 0 : x.find((B) => B.value === v)) == null ? void 0 : T.state) ?? !1,
2397
+ onChange: () => {
2398
+ G == null || G(
2399
+ (B) => B.map((V) => V.value === v ? { ...V, state: !V.state } : V)
2400
+ );
2401
+ },
2402
+ index: b,
2403
+ addItemClassName: O.tabSwitcher,
2404
+ children: v
2405
+ },
2406
+ b
2407
+ );
2408
+ })
2409
+ }
2410
+ ) })
2411
+ ] }),
2412
+ /* @__PURE__ */ o("div", { className: O.selectWrapper, children: t == null ? void 0 : t.map((_, b) => /* @__PURE__ */ o(
2413
+ Ft,
2414
+ {
2415
+ sizeIcon: "24",
2416
+ dataTestId: `filterWIthSave_${b}_select`,
2417
+ addClassName: O.filterOption,
2418
+ disabledOptions: [],
2419
+ clickableOptions: t == null ? void 0 : t.map((v) => v.value.toString()),
2420
+ selectedOptions: E,
2421
+ option: _,
2422
+ handleOptionClick: M
2423
+ },
2424
+ b
2425
+ )) }),
2426
+ /* @__PURE__ */ C("div", { className: O.btnWrapper, children: [
2427
+ /* @__PURE__ */ o(
2428
+ ke,
2429
+ {
2430
+ "data-testid": "filterWithSave_clear_btn",
2431
+ as: "button",
2432
+ variant: "gray",
2433
+ additionalClass: O.resetBtn,
2434
+ onClick: q,
2435
+ children: "Сбросить"
2436
+ }
2437
+ ),
2438
+ /* @__PURE__ */ o(
2439
+ ke,
2440
+ {
2441
+ "data-testid": "filterWithSave_save_btn",
2442
+ as: "button",
2443
+ additionalClass: O.saveBtn,
2444
+ onClick: I,
2445
+ children: "Сохранить"
2446
+ }
2447
+ )
2448
+ ] })
2449
+ ]
2450
+ }
2451
+ )
2452
+ ] }),
2453
+ S && /* @__PURE__ */ o(
2454
+ at,
2455
+ {
2456
+ isOpen: H,
2457
+ emitIsOpen: X,
2458
+ isTransparentBack: !0,
2459
+ additionalClassModalBody: O.modalAddBody,
2460
+ additionalClass: O.filterWithSaveModal,
2461
+ children: /* @__PURE__ */ o(j, {})
2462
+ }
2463
+ )
2464
+ ] });
2465
+ };
2466
+ export {
2467
+ In as C,
2468
+ Ln as F,
2469
+ Tn as L,
2470
+ Wn as M,
2471
+ ws as S,
2472
+ _e as T,
2473
+ di as a,
2474
+ Ri as b,
2475
+ vs as u
2476
+ };