merchi_cart 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +99 -0
  3. package/lib/Cart.js +62 -0
  4. package/lib/CartAlert.js +43 -0
  5. package/lib/CartHeader.js +28 -0
  6. package/lib/CartProvider.js +304 -0
  7. package/lib/CartTotals.js +99 -0
  8. package/lib/MerchiSDK/constants/auto_assign_production_on_actions.js +8 -0
  9. package/lib/MerchiSDK/constants/call_to_actions.js +16 -0
  10. package/lib/MerchiSDK/constants/call_to_actions.test.js +5 -0
  11. package/lib/MerchiSDK/constants/discount_types.js +5 -0
  12. package/lib/MerchiSDK/constants/discount_types.test.js +5 -0
  13. package/lib/MerchiSDK/constants/domain_types.js +14 -0
  14. package/lib/MerchiSDK/constants/domain_types.test.js +5 -0
  15. package/lib/MerchiSDK/constants/errors.js +33 -0
  16. package/lib/MerchiSDK/constants/event_types.js +7 -0
  17. package/lib/MerchiSDK/constants/event_types.test.js +5 -0
  18. package/lib/MerchiSDK/constants/field_types.js +15 -0
  19. package/lib/MerchiSDK/constants/field_types.test.js +5 -0
  20. package/lib/MerchiSDK/constants/input_types.js +15 -0
  21. package/lib/MerchiSDK/constants/input_types.test.js +5 -0
  22. package/lib/MerchiSDK/constants/inventory_status.test.js +5 -0
  23. package/lib/MerchiSDK/constants/inventory_statuses.js +8 -0
  24. package/lib/MerchiSDK/constants/invoice_types.js +7 -0
  25. package/lib/MerchiSDK/constants/invoice_types.test.js +5 -0
  26. package/lib/MerchiSDK/constants/item_types.js +7 -0
  27. package/lib/MerchiSDK/constants/item_types.test.js +5 -0
  28. package/lib/MerchiSDK/constants/job/drafting_status.js +9 -0
  29. package/lib/MerchiSDK/constants/job/drafting_status.test.js +5 -0
  30. package/lib/MerchiSDK/constants/job/payment_status.js +9 -0
  31. package/lib/MerchiSDK/constants/job/payment_status.test.js +5 -0
  32. package/lib/MerchiSDK/constants/job/production_status.js +14 -0
  33. package/lib/MerchiSDK/constants/job/production_status.test.js +5 -0
  34. package/lib/MerchiSDK/constants/job/shipment_status.js +13 -0
  35. package/lib/MerchiSDK/constants/job/shipment_status.test.js +5 -0
  36. package/lib/MerchiSDK/constants/job/supply_chain_request_status.js +8 -0
  37. package/lib/MerchiSDK/constants/job/supply_chain_request_status.test.js +5 -0
  38. package/lib/MerchiSDK/constants/job_priorities.js +8 -0
  39. package/lib/MerchiSDK/constants/job_priorities.test.js +5 -0
  40. package/lib/MerchiSDK/constants/job_status.js +51 -0
  41. package/lib/MerchiSDK/constants/job_status.test.js +5 -0
  42. package/lib/MerchiSDK/constants/job_types.js +17 -0
  43. package/lib/MerchiSDK/constants/job_types.test.js +5 -0
  44. package/lib/MerchiSDK/constants/notification_sections.js +15 -0
  45. package/lib/MerchiSDK/constants/notification_sections.test.js +5 -0
  46. package/lib/MerchiSDK/constants/notification_types.js +99 -0
  47. package/lib/MerchiSDK/constants/notification_types.test.js +5 -0
  48. package/lib/MerchiSDK/constants/notification_urgencies.js +8 -0
  49. package/lib/MerchiSDK/constants/notification_urgencies.test.js +5 -0
  50. package/lib/MerchiSDK/constants/payment_types.js +12 -0
  51. package/lib/MerchiSDK/constants/payment_types.test.js +5 -0
  52. package/lib/MerchiSDK/constants/platform.js +6 -0
  53. package/lib/MerchiSDK/constants/platform.test.js +9 -0
  54. package/lib/MerchiSDK/constants/product_types.js +27 -0
  55. package/lib/MerchiSDK/constants/product_types.test.js +5 -0
  56. package/lib/MerchiSDK/constants/rights.js +7 -0
  57. package/lib/MerchiSDK/constants/rights.test.js +5 -0
  58. package/lib/MerchiSDK/constants/robots_meta_directives.js +2 -0
  59. package/lib/MerchiSDK/constants/robots_meta_directives.test.js +5 -0
  60. package/lib/MerchiSDK/constants/roles.js +26 -0
  61. package/lib/MerchiSDK/constants/roles.test.js +5 -0
  62. package/lib/MerchiSDK/constants/shipment_companies.js +20 -0
  63. package/lib/MerchiSDK/constants/shipment_companies.test.js +5 -0
  64. package/lib/MerchiSDK/constants/shipment_services.js +5 -0
  65. package/lib/MerchiSDK/constants/shipment_services.test.js +5 -0
  66. package/lib/MerchiSDK/constants/system_roles.js +5 -0
  67. package/lib/MerchiSDK/constants/system_roles.test.js +5 -0
  68. package/lib/MerchiSDK/constants/theme_foundations.js +8 -0
  69. package/lib/MerchiSDK/constants/theme_foundations.test.js +5 -0
  70. package/lib/MerchiSDK/constants/theme_status.js +7 -0
  71. package/lib/MerchiSDK/constants/theme_status.test.js +5 -0
  72. package/lib/MerchiSDK/constants/user_types.js +19 -0
  73. package/lib/MerchiSDK/constants/user_types.test.js +5 -0
  74. package/lib/MerchiSDK/constants/white_label_accessibilities.js +7 -0
  75. package/lib/MerchiSDK/constants/white_label_accessibilities.test.js +5 -0
  76. package/lib/MerchiSDK/cookie.js +17 -0
  77. package/lib/MerchiSDK/cookie.test.js +13 -0
  78. package/lib/MerchiSDK/entities/address.js +166 -0
  79. package/lib/MerchiSDK/entities/address.test.js +7 -0
  80. package/lib/MerchiSDK/entities/assignment.js +185 -0
  81. package/lib/MerchiSDK/entities/assignment.test.js +39 -0
  82. package/lib/MerchiSDK/entities/automatic_payment_relationship.js +77 -0
  83. package/lib/MerchiSDK/entities/automatic_payment_relationship.test.js +7 -0
  84. package/lib/MerchiSDK/entities/backup.js +44 -0
  85. package/lib/MerchiSDK/entities/backup.test.js +7 -0
  86. package/lib/MerchiSDK/entities/bank.js +116 -0
  87. package/lib/MerchiSDK/entities/bank.test.js +7 -0
  88. package/lib/MerchiSDK/entities/cart.js +203 -0
  89. package/lib/MerchiSDK/entities/cart.test.js +53 -0
  90. package/lib/MerchiSDK/entities/cart_item.js +153 -0
  91. package/lib/MerchiSDK/entities/cart_item.test.js +35 -0
  92. package/lib/MerchiSDK/entities/cart_shipment_group.js +62 -0
  93. package/lib/MerchiSDK/entities/cart_shipment_quote.js +85 -0
  94. package/lib/MerchiSDK/entities/category.js +92 -0
  95. package/lib/MerchiSDK/entities/category.test.js +53 -0
  96. package/lib/MerchiSDK/entities/company.js +648 -0
  97. package/lib/MerchiSDK/entities/company.test.js +7 -0
  98. package/lib/MerchiSDK/entities/company_invitation.js +82 -0
  99. package/lib/MerchiSDK/entities/company_invitation.test.js +7 -0
  100. package/lib/MerchiSDK/entities/component.js +209 -0
  101. package/lib/MerchiSDK/entities/component.test.js +13 -0
  102. package/lib/MerchiSDK/entities/component_tag.js +50 -0
  103. package/lib/MerchiSDK/entities/component_tag.test.js +7 -0
  104. package/lib/MerchiSDK/entities/component_version.js +80 -0
  105. package/lib/MerchiSDK/entities/component_version.test.js +7 -0
  106. package/lib/MerchiSDK/entities/country_tax.js +110 -0
  107. package/lib/MerchiSDK/entities/country_tax.test.js +12 -0
  108. package/lib/MerchiSDK/entities/discount.js +77 -0
  109. package/lib/MerchiSDK/entities/discount.test.js +21 -0
  110. package/lib/MerchiSDK/entities/discount_group.js +74 -0
  111. package/lib/MerchiSDK/entities/discount_group.test.js +7 -0
  112. package/lib/MerchiSDK/entities/domain.js +535 -0
  113. package/lib/MerchiSDK/entities/domain.test.js +76 -0
  114. package/lib/MerchiSDK/entities/domain_invitation.js +90 -0
  115. package/lib/MerchiSDK/entities/domain_invitation.test.js +7 -0
  116. package/lib/MerchiSDK/entities/domain_tag.js +100 -0
  117. package/lib/MerchiSDK/entities/domain_tag.test.js +7 -0
  118. package/lib/MerchiSDK/entities/draft.js +180 -0
  119. package/lib/MerchiSDK/entities/draft.test.js +40 -0
  120. package/lib/MerchiSDK/entities/draft_comment.js +132 -0
  121. package/lib/MerchiSDK/entities/draft_comment.test.js +7 -0
  122. package/lib/MerchiSDK/entities/draft_template.js +105 -0
  123. package/lib/MerchiSDK/entities/draft_template.test.js +7 -0
  124. package/lib/MerchiSDK/entities/email_address.js +68 -0
  125. package/lib/MerchiSDK/entities/email_address.test.js +7 -0
  126. package/lib/MerchiSDK/entities/email_counter.js +56 -0
  127. package/lib/MerchiSDK/entities/email_counter.test.js +7 -0
  128. package/lib/MerchiSDK/entities/enrolled_domain.js +85 -0
  129. package/lib/MerchiSDK/entities/enrolled_domain.test.js +7 -0
  130. package/lib/MerchiSDK/entities/exchange_rate.js +62 -0
  131. package/lib/MerchiSDK/entities/exchange_rate.test.js +7 -0
  132. package/lib/MerchiSDK/entities/file.js +384 -0
  133. package/lib/MerchiSDK/entities/file.test.js +39 -0
  134. package/lib/MerchiSDK/entities/internal_tag.js +120 -0
  135. package/lib/MerchiSDK/entities/internal_tag.test.js +7 -0
  136. package/lib/MerchiSDK/entities/inventory.js +120 -0
  137. package/lib/MerchiSDK/entities/inventory.test.js +27 -0
  138. package/lib/MerchiSDK/entities/inventory_unit_variation.js +64 -0
  139. package/lib/MerchiSDK/entities/inventory_unit_variation.test.js +7 -0
  140. package/lib/MerchiSDK/entities/invoice.js +420 -0
  141. package/lib/MerchiSDK/entities/invoice.test.js +40 -0
  142. package/lib/MerchiSDK/entities/item.js +102 -0
  143. package/lib/MerchiSDK/entities/item.test.js +18 -0
  144. package/lib/MerchiSDK/entities/job.js +744 -0
  145. package/lib/MerchiSDK/entities/job.test.js +104 -0
  146. package/lib/MerchiSDK/entities/job_comment.js +120 -0
  147. package/lib/MerchiSDK/entities/job_comment.test.js +7 -0
  148. package/lib/MerchiSDK/entities/matching_inventory.js +77 -0
  149. package/lib/MerchiSDK/entities/menu.js +78 -0
  150. package/lib/MerchiSDK/entities/menu.test.js +7 -0
  151. package/lib/MerchiSDK/entities/menu_item.js +76 -0
  152. package/lib/MerchiSDK/entities/menu_item.test.js +7 -0
  153. package/lib/MerchiSDK/entities/notification.js +234 -0
  154. package/lib/MerchiSDK/entities/notification.test.js +7 -0
  155. package/lib/MerchiSDK/entities/page.js +84 -0
  156. package/lib/MerchiSDK/entities/page.test.js +7 -0
  157. package/lib/MerchiSDK/entities/payment.js +141 -0
  158. package/lib/MerchiSDK/entities/payment.test.js +19 -0
  159. package/lib/MerchiSDK/entities/payment_device.js +87 -0
  160. package/lib/MerchiSDK/entities/payment_device.test.js +7 -0
  161. package/lib/MerchiSDK/entities/phone_number.js +98 -0
  162. package/lib/MerchiSDK/entities/phone_number.test.js +7 -0
  163. package/lib/MerchiSDK/entities/product.js +806 -0
  164. package/lib/MerchiSDK/entities/product.test.js +812 -0
  165. package/lib/MerchiSDK/entities/production_comment.js +120 -0
  166. package/lib/MerchiSDK/entities/production_comment.test.js +7 -0
  167. package/lib/MerchiSDK/entities/quote.js +208 -0
  168. package/lib/MerchiSDK/entities/quote.test.js +108 -0
  169. package/lib/MerchiSDK/entities/quote_item.js +121 -0
  170. package/lib/MerchiSDK/entities/quote_item.test.js +57 -0
  171. package/lib/MerchiSDK/entities/seo_domain_page.js +82 -0
  172. package/lib/MerchiSDK/entities/seo_domain_page.test.js +7 -0
  173. package/lib/MerchiSDK/entities/session.js +77 -0
  174. package/lib/MerchiSDK/entities/session.test.js +7 -0
  175. package/lib/MerchiSDK/entities/shipment.js +401 -0
  176. package/lib/MerchiSDK/entities/shipment.test.js +29 -0
  177. package/lib/MerchiSDK/entities/shipment_item.js +49 -0
  178. package/lib/MerchiSDK/entities/shipment_item.test.js +7 -0
  179. package/lib/MerchiSDK/entities/shipment_item_fulfillment.js +48 -0
  180. package/lib/MerchiSDK/entities/shipment_item_fulfillment.test.js +7 -0
  181. package/lib/MerchiSDK/entities/shipment_method.js +146 -0
  182. package/lib/MerchiSDK/entities/shipment_method.test.js +7 -0
  183. package/lib/MerchiSDK/entities/shipment_method_variation.js +104 -0
  184. package/lib/MerchiSDK/entities/shipment_method_variation.test.js +7 -0
  185. package/lib/MerchiSDK/entities/short_url.js +95 -0
  186. package/lib/MerchiSDK/entities/short_url.test.js +7 -0
  187. package/lib/MerchiSDK/entities/subscription_plan.js +172 -0
  188. package/lib/MerchiSDK/entities/subscription_plan.test.js +7 -0
  189. package/lib/MerchiSDK/entities/supply_domain.js +73 -0
  190. package/lib/MerchiSDK/entities/supply_domain.test.js +7 -0
  191. package/lib/MerchiSDK/entities/system_role.js +50 -0
  192. package/lib/MerchiSDK/entities/system_role.test.js +7 -0
  193. package/lib/MerchiSDK/entities/theme.js +614 -0
  194. package/lib/MerchiSDK/entities/theme.test.js +40 -0
  195. package/lib/MerchiSDK/entities/theme_css_setting.js +67 -0
  196. package/lib/MerchiSDK/entities/theme_css_setting.test.js +7 -0
  197. package/lib/MerchiSDK/entities/user.js +749 -0
  198. package/lib/MerchiSDK/entities/user.test.js +158 -0
  199. package/lib/MerchiSDK/entities/user_company.js +78 -0
  200. package/lib/MerchiSDK/entities/user_company.test.js +7 -0
  201. package/lib/MerchiSDK/entities/variation.js +147 -0
  202. package/lib/MerchiSDK/entities/variation.test.js +7 -0
  203. package/lib/MerchiSDK/entities/variation_field.js +313 -0
  204. package/lib/MerchiSDK/entities/variation_field.test.js +70 -0
  205. package/lib/MerchiSDK/entities/variation_fields_option.js +190 -0
  206. package/lib/MerchiSDK/entities/variation_fields_option.test.js +48 -0
  207. package/lib/MerchiSDK/entities/variation_option.js +129 -0
  208. package/lib/MerchiSDK/entities/variation_option.test.js +7 -0
  209. package/lib/MerchiSDK/entities/variations_group.js +111 -0
  210. package/lib/MerchiSDK/entities/variations_group.test.js +7 -0
  211. package/lib/MerchiSDK/entity.js +896 -0
  212. package/lib/MerchiSDK/merchi.js +332 -0
  213. package/lib/MerchiSDK/merchi.test.js +36 -0
  214. package/lib/MerchiSDK/request.js +137 -0
  215. package/lib/MerchiSDK/request.test.js +47 -0
  216. package/lib/MerchiSDK/test_util.js +20 -0
  217. package/lib/MerchiSDK/toasts.js +28 -0
  218. package/lib/MerchiSDK/toasts.test.js +47 -0
  219. package/lib/MerchiSDK/util/float.js +25 -0
  220. package/lib/MerchiSDK/util/query_string.js +12 -0
  221. package/lib/MerchiSDK/util/query_string.test.js +7 -0
  222. package/lib/MerchiSDK/util/validation.js +4 -0
  223. package/lib/MerchiSDK/util/validation.test.js +13 -0
  224. package/lib/MerchiSDK/uuid.js +9 -0
  225. package/lib/MerchiSDK/uuid.test.js +14 -0
  226. package/lib/assets/merchi-swipe-outline.png +0 -0
  227. package/lib/assets/product-not-found.png +0 -0
  228. package/lib/buttons/Button.js +24 -0
  229. package/lib/buttons/ButtonBack.js +38 -0
  230. package/lib/buttons/ButtonClearCart.js +19 -0
  231. package/lib/buttons/ButtonInvoiceDownload.js +96 -0
  232. package/lib/buttons/ButtonNext.js +45 -0
  233. package/lib/buttons/ButtonNextDynamic.js +23 -0
  234. package/lib/buttons/ButtonPay.js +28 -0
  235. package/lib/buttons/ButtonShipmentTabNext.js +33 -0
  236. package/lib/buttons/index.js +8 -0
  237. package/lib/components/Alert.js +27 -0
  238. package/lib/components/CartBody.js +15 -0
  239. package/lib/components/CartClient.js +52 -0
  240. package/lib/components/CartFooter.js +13 -0
  241. package/lib/components/CartItemRow.js +133 -0
  242. package/lib/components/CartPaymentSettingsInvalid.js +15 -0
  243. package/lib/components/CartShipment.js +57 -0
  244. package/lib/components/CartTabContent.js +13 -0
  245. package/lib/components/CartTabPanel.js +26 -0
  246. package/lib/components/CartTableContainer.js +13 -0
  247. package/lib/components/Collapse.js +33 -0
  248. package/lib/components/LoadingTemplate.js +25 -0
  249. package/lib/components/NoCartItems.js +18 -0
  250. package/lib/components/ShipmentGroupCard.js +132 -0
  251. package/lib/components/Table.js +12 -0
  252. package/lib/components/Title.js +28 -0
  253. package/lib/components/containers.js +32 -0
  254. package/lib/components/index.js +15 -0
  255. package/lib/forms/FormNewCustomer.js +157 -0
  256. package/lib/forms/FormReturningCustomer.js +93 -0
  257. package/lib/forms/FormShipmentAddressAndNotes.js +118 -0
  258. package/lib/forms/FormSquarePayment.js +17 -0
  259. package/lib/forms/FormStripePayment.js +17 -0
  260. package/lib/forms/InputAcceptUserTermsAndConditions.js +38 -0
  261. package/lib/forms/InputError.js +17 -0
  262. package/lib/forms/InputSelect.js +52 -0
  263. package/lib/forms/InputText.js +59 -0
  264. package/lib/forms/InputsAddress.js +226 -0
  265. package/lib/index.js +5 -0
  266. package/lib/panels/PanelCartItems.js +59 -0
  267. package/lib/panels/PanelCartShipment.js +74 -0
  268. package/lib/panels/PanelClearCart.js +49 -0
  269. package/lib/panels/PanelClientCheckout.js +80 -0
  270. package/lib/panels/PanelEditCartItem.js +63 -0
  271. package/lib/panels/PanelPaymentSuccess.js +70 -0
  272. package/lib/panels/index.js +8 -0
  273. package/lib/slices/sliceCart.js +178 -0
  274. package/lib/slices/sliceCartAlert.js +35 -0
  275. package/lib/slices/sliceCartItem.js +30 -0
  276. package/lib/slices/sliceCartPayment.js +47 -0
  277. package/lib/slices/sliceCartShipment.js +72 -0
  278. package/lib/slices/sliceFormReturningCustomer.js +24 -0
  279. package/lib/slices/sliceNewCustomerForm.js +23 -0
  280. package/lib/square/SquareCard.js +52 -0
  281. package/lib/square/actions.js +53 -0
  282. package/lib/square/slices/reducersSquare.js +8 -0
  283. package/lib/square/slices/sliceSquareAlerts.js +34 -0
  284. package/lib/square/slices/sliceSquareForm.js +30 -0
  285. package/lib/store.js +704 -0
  286. package/lib/stripe/StripeCardFields.js +131 -0
  287. package/lib/stripe/StripeCardForm.js +149 -0
  288. package/lib/stripe/StripePaymentButtons.js +99 -0
  289. package/lib/stripe/actions.js +203 -0
  290. package/lib/stripe/slices/sliceStripeAlerts.js +34 -0
  291. package/lib/stripe/slices/sliceStripeCardForm.js +8 -0
  292. package/lib/stripe/slices/sliceStripeForm.js +57 -0
  293. package/lib/stripe/utils.js +20 -0
  294. package/lib/styles/globals.scss +179 -0
  295. package/lib/tabs/CartNav.js +33 -0
  296. package/lib/tabs/NavTab.js +38 -0
  297. package/lib/utilities/address.js +343 -0
  298. package/lib/utilities/cart.js +91 -0
  299. package/lib/utilities/company.js +7 -0
  300. package/lib/utilities/cookie.js +135 -0
  301. package/lib/utilities/currency.js +220 -0
  302. package/lib/utilities/helpers.js +224 -0
  303. package/lib/utilities/invoice.js +120 -0
  304. package/lib/utilities/product.js +6 -0
  305. package/lib/utilities/user.js +77 -0
  306. package/lib/utilities/variations.js +48 -0
  307. package/package.json +90 -0
@@ -0,0 +1,38 @@
1
+ import * as React from 'react';
2
+ import { useDispatch, useSelector } from 'react-redux';
3
+ import { sliceCart } from '../slices/sliceCart';
4
+ import { useCartContext } from '../CartProvider';
5
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ import { jsxs as _jsxs } from "react/jsx-runtime";
8
+ function NavTab(_ref) {
9
+ var disabled = _ref.disabled,
10
+ icon = _ref.icon,
11
+ name = _ref.name,
12
+ tabId = _ref.tabId;
13
+ var dispatch = useDispatch();
14
+ var _useCartContext = useCartContext(),
15
+ classNameCartTabItem = _useCartContext.classNameCartTabItem,
16
+ classNameCartTabItemLink = _useCartContext.classNameCartTabItemLink;
17
+ var _useSelector = useSelector(function (s) {
18
+ return s.stateCart;
19
+ }),
20
+ activeTab = _useSelector.activeTab;
21
+ function toggle() {
22
+ dispatch(sliceCart.actions.setActiveTab(tabId));
23
+ }
24
+ var active = activeTab === tabId;
25
+ return /*#__PURE__*/_jsx("div", {
26
+ className: classNameCartTabItem,
27
+ children: /*#__PURE__*/_jsxs("button", {
28
+ className: "".concat(classNameCartTabItemLink, " ").concat(active ? 'active' : '', " disClass"),
29
+ onClick: toggle,
30
+ disabled: disabled,
31
+ children: [/*#__PURE__*/_jsx(FontAwesomeIcon, {
32
+ icon: icon
33
+ }), " ", name]
34
+ })
35
+ });
36
+ }
37
+ export default NavTab;
38
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZURpc3BhdGNoIiwidXNlU2VsZWN0b3IiLCJzbGljZUNhcnQiLCJ1c2VDYXJ0Q29udGV4dCIsIkZvbnRBd2Vzb21lSWNvbiIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJOYXZUYWIiLCJfcmVmIiwiZGlzYWJsZWQiLCJpY29uIiwibmFtZSIsInRhYklkIiwiZGlzcGF0Y2giLCJfdXNlQ2FydENvbnRleHQiLCJjbGFzc05hbWVDYXJ0VGFiSXRlbSIsImNsYXNzTmFtZUNhcnRUYWJJdGVtTGluayIsIl91c2VTZWxlY3RvciIsInMiLCJzdGF0ZUNhcnQiLCJhY3RpdmVUYWIiLCJ0b2dnbGUiLCJhY3Rpb25zIiwic2V0QWN0aXZlVGFiIiwiYWN0aXZlIiwiY2xhc3NOYW1lIiwiY2hpbGRyZW4iLCJjb25jYXQiLCJvbkNsaWNrIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RhYnMvTmF2VGFiLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBzbGljZUNhcnQgfSBmcm9tICcuLi9zbGljZXMvc2xpY2VDYXJ0JztcbmltcG9ydCB7IHVzZUNhcnRDb250ZXh0IH0gZnJvbSAnLi4vQ2FydFByb3ZpZGVyJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgaWNvbjogYW55O1xuICBuYW1lOiBzdHJpbmc7XG4gIHRhYklkOiBudW1iZXI7XG59XG5cbmZ1bmN0aW9uIE5hdlRhYih7IGRpc2FibGVkLCBpY29uLCBuYW1lLCB0YWJJZCB9OiBQcm9wcykge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHtcbiAgICBjbGFzc05hbWVDYXJ0VGFiSXRlbSxcbiAgICBjbGFzc05hbWVDYXJ0VGFiSXRlbUxpbmssXG4gIH0gPSB1c2VDYXJ0Q29udGV4dCgpO1xuICBjb25zdCB7IGFjdGl2ZVRhYiB9ID0gdXNlU2VsZWN0b3IoKHM6IGFueSkgPT4gcy5zdGF0ZUNhcnQpO1xuICBmdW5jdGlvbiB0b2dnbGUoKSB7XG4gICAgZGlzcGF0Y2goc2xpY2VDYXJ0LmFjdGlvbnMuc2V0QWN0aXZlVGFiKHRhYklkKSk7XG4gIH1cbiAgY29uc3QgYWN0aXZlID0gYWN0aXZlVGFiID09PSB0YWJJZDtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lQ2FydFRhYkl0ZW19PlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzc05hbWU9e2Ake2NsYXNzTmFtZUNhcnRUYWJJdGVtTGlua30gJHthY3RpdmUgPyAnYWN0aXZlJyA6ICcnfSBkaXNDbGFzc2B9XG4gICAgICAgIG9uQ2xpY2s9e3RvZ2dsZX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgPlxuICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGljb249e2ljb259IC8+IHtuYW1lfVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IE5hdlRhYjtcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLQSxLQUFLLE1BQU0sT0FBTztBQUM5QixTQUFTQyxXQUFXLEVBQUVDLFdBQVcsUUFBUSxhQUFhO0FBQ3RELFNBQVNDLFNBQVMsUUFBUSxxQkFBcUI7QUFDL0MsU0FBU0MsY0FBYyxRQUFRLGlCQUFpQjtBQUNoRCxTQUFTQyxlQUFlLFFBQVEsZ0NBQWdDO0FBQUMsU0FBQUMsR0FBQSxJQUFBQyxJQUFBO0FBQUEsU0FBQUMsSUFBQSxJQUFBQyxLQUFBO0FBU2pFLFNBQVNDLE1BQU1BLENBQUFDLElBQUEsRUFBeUM7RUFBQSxJQUF0Q0MsUUFBUSxHQUFBRCxJQUFBLENBQVJDLFFBQVE7SUFBRUMsSUFBSSxHQUFBRixJQUFBLENBQUpFLElBQUk7SUFBRUMsSUFBSSxHQUFBSCxJQUFBLENBQUpHLElBQUk7SUFBRUMsS0FBSyxHQUFBSixJQUFBLENBQUxJLEtBQUs7RUFDM0MsSUFBTUMsUUFBUSxHQUFHZixXQUFXLENBQUMsQ0FBQztFQUM5QixJQUFBZ0IsZUFBQSxHQUdJYixjQUFjLENBQUMsQ0FBQztJQUZsQmMsb0JBQW9CLEdBQUFELGVBQUEsQ0FBcEJDLG9CQUFvQjtJQUNwQkMsd0JBQXdCLEdBQUFGLGVBQUEsQ0FBeEJFLHdCQUF3QjtFQUUxQixJQUFBQyxZQUFBLEdBQXNCbEIsV0FBVyxDQUFDLFVBQUNtQixDQUFNO01BQUEsT0FBS0EsQ0FBQyxDQUFDQyxTQUFTO0lBQUEsRUFBQztJQUFsREMsU0FBUyxHQUFBSCxZQUFBLENBQVRHLFNBQVM7RUFDakIsU0FBU0MsTUFBTUEsQ0FBQSxFQUFHO0lBQ2hCUixRQUFRLENBQUNiLFNBQVMsQ0FBQ3NCLE9BQU8sQ0FBQ0MsWUFBWSxDQUFDWCxLQUFLLENBQUMsQ0FBQztFQUNqRDtFQUNBLElBQU1ZLE1BQU0sR0FBR0osU0FBUyxLQUFLUixLQUFLO0VBQ2xDLG9CQUNFUixJQUFBO0lBQUtxQixTQUFTLEVBQUVWLG9CQUFxQjtJQUFBVyxRQUFBLGVBQ25DcEIsS0FBQTtNQUNFbUIsU0FBUyxLQUFBRSxNQUFBLENBQUtYLHdCQUF3QixPQUFBVyxNQUFBLENBQUlILE1BQU0sR0FBRyxRQUFRLEdBQUcsRUFBRSxjQUFZO01BQzVFSSxPQUFPLEVBQUVQLE1BQU87TUFDaEJaLFFBQVEsRUFBRUEsUUFBUztNQUFBaUIsUUFBQSxnQkFFbkJ0QixJQUFBLENBQUNGLGVBQWU7UUFBQ1EsSUFBSSxFQUFFQTtNQUFLLENBQUUsQ0FBQyxLQUFDLEVBQUNDLElBQUk7SUFBQSxDQUMvQjtFQUFDLENBQ04sQ0FBQztBQUVWO0FBRUEsZUFBZUosTUFBTSJ9
@@ -0,0 +1,343 @@
1
+ import { Merchi } from '../MerchiSDK/merchi';
2
+ var merchi = new Merchi();
3
+ export function makeAddress(addressJson, makeDirty) {
4
+ var address = new merchi.Address();
5
+ return address.fromJson(addressJson, {
6
+ makeDirty: makeDirty
7
+ });
8
+ }
9
+ var isoCountries = {
10
+ AF: "Afghanistan",
11
+ AX: "Aland Islands",
12
+ AL: "Albania",
13
+ DZ: "Algeria",
14
+ AS: "American Samoa",
15
+ AD: "Andorra",
16
+ AO: "Angola",
17
+ AI: "Anguilla",
18
+ AQ: "Antarctica",
19
+ AG: "Antigua And Barbuda",
20
+ AR: "Argentina",
21
+ AM: "Armenia",
22
+ AW: "Aruba",
23
+ AU: "Australia",
24
+ AT: "Austria",
25
+ AZ: "Azerbaijan",
26
+ BS: "Bahamas",
27
+ BH: "Bahrain",
28
+ BD: "Bangladesh",
29
+ BB: "Barbados",
30
+ BY: "Belarus",
31
+ BE: "Belgium",
32
+ BZ: "Belize",
33
+ BJ: "Benin",
34
+ BM: "Bermuda",
35
+ BT: "Bhutan",
36
+ BO: "Bolivia",
37
+ BA: "Bosnia And Herzegovina",
38
+ BW: "Botswana",
39
+ BV: "Bouvet Island",
40
+ BR: "Brazil",
41
+ IO: "British Indian Ocean Territory",
42
+ BN: "Brunei Darussalam",
43
+ BG: "Bulgaria",
44
+ BF: "Burkina Faso",
45
+ BI: "Burundi",
46
+ KH: "Cambodia",
47
+ CM: "Cameroon",
48
+ CA: "Canada",
49
+ CV: "Cape Verde",
50
+ KY: "Cayman Islands",
51
+ CF: "Central African Republic",
52
+ TD: "Chad",
53
+ CL: "Chile",
54
+ CN: "China",
55
+ CX: "Christmas Island",
56
+ CC: "Cocos (Keeling) Islands",
57
+ CO: "Colombia",
58
+ KM: "Comoros",
59
+ CG: "Congo",
60
+ CD: "Congo, Democratic Republic",
61
+ CK: "Cook Islands",
62
+ CR: "Costa Rica",
63
+ CI: "Cote D'Ivoire",
64
+ HR: "Croatia",
65
+ CU: "Cuba",
66
+ CY: "Cyprus",
67
+ CZ: "Czech Republic",
68
+ DK: "Denmark",
69
+ DJ: "Djibouti",
70
+ DM: "Dominica",
71
+ DO: "Dominican Republic",
72
+ EC: "Ecuador",
73
+ EG: "Egypt",
74
+ SV: "El Salvador",
75
+ GQ: "Equatorial Guinea",
76
+ ER: "Eritrea",
77
+ EE: "Estonia",
78
+ ET: "Ethiopia",
79
+ FK: "Falkland Islands (Malvinas)",
80
+ FO: "Faroe Islands",
81
+ FJ: "Fiji",
82
+ FI: "Finland",
83
+ FR: "France",
84
+ GF: "French Guiana",
85
+ PF: "French Polynesia",
86
+ TF: "French Southern Territories",
87
+ GA: "Gabon",
88
+ GM: "Gambia",
89
+ GE: "Georgia",
90
+ DE: "Germany",
91
+ GH: "Ghana",
92
+ GI: "Gibraltar",
93
+ GR: "Greece",
94
+ GL: "Greenland",
95
+ GD: "Grenada",
96
+ GP: "Guadeloupe",
97
+ GU: "Guam",
98
+ GT: "Guatemala",
99
+ GG: "Guernsey",
100
+ GN: "Guinea",
101
+ GW: "Guinea-Bissau",
102
+ GY: "Guyana",
103
+ HT: "Haiti",
104
+ HM: "Heard Island & Mcdonald Islands",
105
+ VA: "Holy See (Vatican City State)",
106
+ HN: "Honduras",
107
+ HK: "Hong Kong",
108
+ HU: "Hungary",
109
+ IS: "Iceland",
110
+ IN: "India",
111
+ ID: "Indonesia",
112
+ IR: "Iran, Islamic Republic Of",
113
+ IQ: "Iraq",
114
+ IE: "Ireland",
115
+ IM: "Isle Of Man",
116
+ IL: "Israel",
117
+ IT: "Italy",
118
+ JM: "Jamaica",
119
+ JP: "Japan",
120
+ JE: "Jersey",
121
+ JO: "Jordan",
122
+ KZ: "Kazakhstan",
123
+ KE: "Kenya",
124
+ KI: "Kiribati",
125
+ KR: "Korea",
126
+ KW: "Kuwait",
127
+ KG: "Kyrgyzstan",
128
+ LA: "Lao People's Democratic Republic",
129
+ LV: "Latvia",
130
+ LB: "Lebanon",
131
+ LS: "Lesotho",
132
+ LR: "Liberia",
133
+ LY: "Libyan Arab Jamahiriya",
134
+ LI: "Liechtenstein",
135
+ LT: "Lithuania",
136
+ LU: "Luxembourg",
137
+ MO: "Macao",
138
+ MK: "Macedonia",
139
+ MG: "Madagascar",
140
+ MW: "Malawi",
141
+ MY: "Malaysia",
142
+ MV: "Maldives",
143
+ ML: "Mali",
144
+ MT: "Malta",
145
+ MH: "Marshall Islands",
146
+ MQ: "Martinique",
147
+ MR: "Mauritania",
148
+ MU: "Mauritius",
149
+ YT: "Mayotte",
150
+ MX: "Mexico",
151
+ FM: "Micronesia, Federated States Of",
152
+ MD: "Moldova",
153
+ MC: "Monaco",
154
+ MN: "Mongolia",
155
+ ME: "Montenegro",
156
+ MS: "Montserrat",
157
+ MA: "Morocco",
158
+ MZ: "Mozambique",
159
+ MM: "Myanmar",
160
+ NA: "Namibia",
161
+ NR: "Nauru",
162
+ NP: "Nepal",
163
+ NL: "Netherlands",
164
+ AN: "Netherlands Antilles",
165
+ NC: "New Caledonia",
166
+ NZ: "New Zealand",
167
+ NI: "Nicaragua",
168
+ NE: "Niger",
169
+ NG: "Nigeria",
170
+ NU: "Niue",
171
+ NF: "Norfolk Island",
172
+ MP: "Northern Mariana Islands",
173
+ NO: "Norway",
174
+ OM: "Oman",
175
+ PK: "Pakistan",
176
+ PW: "Palau",
177
+ PS: "Palestinian Territory, Occupied",
178
+ PA: "Panama",
179
+ PG: "Papua New Guinea",
180
+ PY: "Paraguay",
181
+ PE: "Peru",
182
+ PH: "Philippines",
183
+ PN: "Pitcairn",
184
+ PL: "Poland",
185
+ PT: "Portugal",
186
+ PR: "Puerto Rico",
187
+ QA: "Qatar",
188
+ RE: "Reunion",
189
+ RO: "Romania",
190
+ RU: "Russian Federation",
191
+ RW: "Rwanda",
192
+ BL: "Saint Barthelemy",
193
+ SH: "Saint Helena",
194
+ KN: "Saint Kitts And Nevis",
195
+ LC: "Saint Lucia",
196
+ MF: "Saint Martin",
197
+ PM: "Saint Pierre And Miquelon",
198
+ VC: "Saint Vincent And Grenadines",
199
+ WS: "Samoa",
200
+ SM: "San Marino",
201
+ ST: "Sao Tome And Principe",
202
+ SA: "Saudi Arabia",
203
+ SN: "Senegal",
204
+ RS: "Serbia",
205
+ SC: "Seychelles",
206
+ SL: "Sierra Leone",
207
+ SG: "Singapore",
208
+ SK: "Slovakia",
209
+ SI: "Slovenia",
210
+ SB: "Solomon Islands",
211
+ SO: "Somalia",
212
+ ZA: "South Africa",
213
+ GS: "South Georgia And Sandwich Isl.",
214
+ ES: "Spain",
215
+ LK: "Sri Lanka",
216
+ SD: "Sudan",
217
+ SR: "Suriname",
218
+ SJ: "Svalbard And Jan Mayen",
219
+ SZ: "Swaziland",
220
+ SE: "Sweden",
221
+ CH: "Switzerland",
222
+ SY: "Syrian Arab Republic",
223
+ TW: "Taiwan",
224
+ TJ: "Tajikistan",
225
+ TZ: "Tanzania",
226
+ TH: "Thailand",
227
+ TL: "Timor-Leste",
228
+ TG: "Togo",
229
+ TK: "Tokelau",
230
+ TO: "Tonga",
231
+ TT: "Trinidad And Tobago",
232
+ TN: "Tunisia",
233
+ TR: "Turkey",
234
+ TM: "Turkmenistan",
235
+ TC: "Turks And Caicos Islands",
236
+ TV: "Tuvalu",
237
+ UG: "Uganda",
238
+ UA: "Ukraine",
239
+ AE: "United Arab Emirates",
240
+ GB: "United Kingdom",
241
+ US: "United States",
242
+ UM: "United States Outlying Islands",
243
+ UY: "Uruguay",
244
+ UZ: "Uzbekistan",
245
+ VU: "Vanuatu",
246
+ VE: "Venezuela",
247
+ VN: "Viet Nam",
248
+ VG: "Virgin Islands, British",
249
+ VI: "Virgin Islands, U.S.",
250
+ WF: "Wallis And Futuna",
251
+ EH: "Western Sahara",
252
+ YE: "Yemen",
253
+ ZM: "Zambia",
254
+ ZW: "Zimbabwe"
255
+ };
256
+ export function addressInOneLine(address) {
257
+ var a = address ? address : {};
258
+ var city = a.city,
259
+ country = a.country,
260
+ lineOne = a.lineOne,
261
+ lineTwo = a.lineTwo,
262
+ postcode = a.postcode,
263
+ state = a.state;
264
+ var l1 = lineOne ? "".concat(lineOne, " ") : '';
265
+ var l2 = lineTwo ? "".concat(lineTwo, " ") : '';
266
+ var c = city ? "".concat(city, " ") : '';
267
+ var s = state ? "".concat(state, " ") : '';
268
+ var p = postcode ? "".concat(postcode, " ") : '';
269
+ var countryFull = country ? isoCountries[country] : '';
270
+ return l1 + l2 + c + s + p + countryFull;
271
+ }
272
+ export var addressComponentsSettings = {
273
+ administrative_area_level_1: 'short_name',
274
+ administrative_area_level_2: 'short_name',
275
+ country: 'short_name',
276
+ establishment: 'long_name',
277
+ floor: 'short_name',
278
+ locality: 'long_name',
279
+ postal_code: 'short_name',
280
+ premise: 'short_name',
281
+ room: 'long_name',
282
+ route: 'short_name',
283
+ street_number: 'short_name',
284
+ sublocality: 'long_name',
285
+ subpremise: 'short_name'
286
+ };
287
+ export function geoSuggestResultAsNewAddress(resp) {
288
+ var addressComponents = resp && resp.gmaps ? resp.gmaps.address_components : null;
289
+ var name = resp && resp.gmaps && resp.gmaps.name;
290
+ var address = {
291
+ city: '',
292
+ country: '',
293
+ lineOne: name ? name : '',
294
+ lineTwo: '',
295
+ postcode: '',
296
+ state: ''
297
+ };
298
+ var i;
299
+ if (addressComponents) {
300
+ for (i = 0; i < addressComponents.length; i++) {
301
+ var addrComponent = addressComponents[i];
302
+ var addrTypes = addrComponent.types;
303
+ var addrType = addrTypes.length > 0 ? addrTypes[0] : null;
304
+ var componentSetting = addrType ? addressComponentsSettings[addrType] : null;
305
+ if (componentSetting) {
306
+ var addressVal = addrComponent[componentSetting];
307
+ switch (addrType) {
308
+ case 'establishment':
309
+ case 'room':
310
+ case 'floor':
311
+ case 'street_number':
312
+ case 'premise':
313
+ case 'subpremise':
314
+ case 'route':
315
+ var oldLineOne = address.lineOne;
316
+ address.lineOne = oldLineOne.includes(addressVal) ? oldLineOne : "".concat(oldLineOne, " ").concat(addressVal);
317
+ break;
318
+ case 'locality':
319
+ case 'sublocality':
320
+ var oldCity = address.city ? "".concat(address.city, " ") : '';
321
+ address.city = oldCity + addressVal;
322
+ break;
323
+ case 'administrative_area_level_1':
324
+ address.state = addressVal;
325
+ break;
326
+ case 'administrative_area_level_2':
327
+ break;
328
+ case 'country':
329
+ address.country = addressVal;
330
+ break;
331
+ case 'postal_code':
332
+ address.postcode = addressVal;
333
+ break;
334
+ default:
335
+ break;
336
+ }
337
+ }
338
+ }
339
+ return address;
340
+ }
341
+ return null;
342
+ }
343
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNZXJjaGkiLCJtZXJjaGkiLCJtYWtlQWRkcmVzcyIsImFkZHJlc3NKc29uIiwibWFrZURpcnR5IiwiYWRkcmVzcyIsIkFkZHJlc3MiLCJmcm9tSnNvbiIsImlzb0NvdW50cmllcyIsIkFGIiwiQVgiLCJBTCIsIkRaIiwiQVMiLCJBRCIsIkFPIiwiQUkiLCJBUSIsIkFHIiwiQVIiLCJBTSIsIkFXIiwiQVUiLCJBVCIsIkFaIiwiQlMiLCJCSCIsIkJEIiwiQkIiLCJCWSIsIkJFIiwiQloiLCJCSiIsIkJNIiwiQlQiLCJCTyIsIkJBIiwiQlciLCJCViIsIkJSIiwiSU8iLCJCTiIsIkJHIiwiQkYiLCJCSSIsIktIIiwiQ00iLCJDQSIsIkNWIiwiS1kiLCJDRiIsIlREIiwiQ0wiLCJDTiIsIkNYIiwiQ0MiLCJDTyIsIktNIiwiQ0ciLCJDRCIsIkNLIiwiQ1IiLCJDSSIsIkhSIiwiQ1UiLCJDWSIsIkNaIiwiREsiLCJESiIsIkRNIiwiRE8iLCJFQyIsIkVHIiwiU1YiLCJHUSIsIkVSIiwiRUUiLCJFVCIsIkZLIiwiRk8iLCJGSiIsIkZJIiwiRlIiLCJHRiIsIlBGIiwiVEYiLCJHQSIsIkdNIiwiR0UiLCJERSIsIkdIIiwiR0kiLCJHUiIsIkdMIiwiR0QiLCJHUCIsIkdVIiwiR1QiLCJHRyIsIkdOIiwiR1ciLCJHWSIsIkhUIiwiSE0iLCJWQSIsIkhOIiwiSEsiLCJIVSIsIklTIiwiSU4iLCJJRCIsIklSIiwiSVEiLCJJRSIsIklNIiwiSUwiLCJJVCIsIkpNIiwiSlAiLCJKRSIsIkpPIiwiS1oiLCJLRSIsIktJIiwiS1IiLCJLVyIsIktHIiwiTEEiLCJMViIsIkxCIiwiTFMiLCJMUiIsIkxZIiwiTEkiLCJMVCIsIkxVIiwiTU8iLCJNSyIsIk1HIiwiTVciLCJNWSIsIk1WIiwiTUwiLCJNVCIsIk1IIiwiTVEiLCJNUiIsIk1VIiwiWVQiLCJNWCIsIkZNIiwiTUQiLCJNQyIsIk1OIiwiTUUiLCJNUyIsIk1BIiwiTVoiLCJNTSIsIk5BIiwiTlIiLCJOUCIsIk5MIiwiQU4iLCJOQyIsIk5aIiwiTkkiLCJORSIsIk5HIiwiTlUiLCJORiIsIk1QIiwiTk8iLCJPTSIsIlBLIiwiUFciLCJQUyIsIlBBIiwiUEciLCJQWSIsIlBFIiwiUEgiLCJQTiIsIlBMIiwiUFQiLCJQUiIsIlFBIiwiUkUiLCJSTyIsIlJVIiwiUlciLCJCTCIsIlNIIiwiS04iLCJMQyIsIk1GIiwiUE0iLCJWQyIsIldTIiwiU00iLCJTVCIsIlNBIiwiU04iLCJSUyIsIlNDIiwiU0wiLCJTRyIsIlNLIiwiU0kiLCJTQiIsIlNPIiwiWkEiLCJHUyIsIkVTIiwiTEsiLCJTRCIsIlNSIiwiU0oiLCJTWiIsIlNFIiwiQ0giLCJTWSIsIlRXIiwiVEoiLCJUWiIsIlRIIiwiVEwiLCJURyIsIlRLIiwiVE8iLCJUVCIsIlROIiwiVFIiLCJUTSIsIlRDIiwiVFYiLCJVRyIsIlVBIiwiQUUiLCJHQiIsIlVTIiwiVU0iLCJVWSIsIlVaIiwiVlUiLCJWRSIsIlZOIiwiVkciLCJWSSIsIldGIiwiRUgiLCJZRSIsIlpNIiwiWlciLCJhZGRyZXNzSW5PbmVMaW5lIiwiYSIsImNpdHkiLCJjb3VudHJ5IiwibGluZU9uZSIsImxpbmVUd28iLCJwb3N0Y29kZSIsInN0YXRlIiwibDEiLCJjb25jYXQiLCJsMiIsImMiLCJzIiwicCIsImNvdW50cnlGdWxsIiwiYWRkcmVzc0NvbXBvbmVudHNTZXR0aW5ncyIsImFkbWluaXN0cmF0aXZlX2FyZWFfbGV2ZWxfMSIsImFkbWluaXN0cmF0aXZlX2FyZWFfbGV2ZWxfMiIsImVzdGFibGlzaG1lbnQiLCJmbG9vciIsImxvY2FsaXR5IiwicG9zdGFsX2NvZGUiLCJwcmVtaXNlIiwicm9vbSIsInJvdXRlIiwic3RyZWV0X251bWJlciIsInN1YmxvY2FsaXR5Iiwic3VicHJlbWlzZSIsImdlb1N1Z2dlc3RSZXN1bHRBc05ld0FkZHJlc3MiLCJyZXNwIiwiYWRkcmVzc0NvbXBvbmVudHMiLCJnbWFwcyIsImFkZHJlc3NfY29tcG9uZW50cyIsIm5hbWUiLCJpIiwibGVuZ3RoIiwiYWRkckNvbXBvbmVudCIsImFkZHJUeXBlcyIsInR5cGVzIiwiYWRkclR5cGUiLCJjb21wb25lbnRTZXR0aW5nIiwiYWRkcmVzc1ZhbCIsIm9sZExpbmVPbmUiLCJpbmNsdWRlcyIsIm9sZENpdHkiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbGl0aWVzL2FkZHJlc3MudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVyY2hpIH0gZnJvbSAnLi4vTWVyY2hpU0RLL21lcmNoaSc7XG5cbmNvbnN0IG1lcmNoaSA9IG5ldyBNZXJjaGkoKTtcblxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VBZGRyZXNzKGFkZHJlc3NKc29uOiBhbnksIG1ha2VEaXJ0eT86IGJvb2xlYW4pIHtcbiAgY29uc3QgYWRkcmVzcyA9IG5ldyBtZXJjaGkuQWRkcmVzcygpO1xuICByZXR1cm4gYWRkcmVzcy5mcm9tSnNvbihhZGRyZXNzSnNvbiwgeyBtYWtlRGlydHkgfSk7XG59XG5cbmNvbnN0IGlzb0NvdW50cmllczogYW55ID0ge1xuICBBRjogXCJBZmdoYW5pc3RhblwiLFxuICBBWDogXCJBbGFuZCBJc2xhbmRzXCIsXG4gIEFMOiBcIkFsYmFuaWFcIixcbiAgRFo6IFwiQWxnZXJpYVwiLFxuICBBUzogXCJBbWVyaWNhbiBTYW1vYVwiLFxuICBBRDogXCJBbmRvcnJhXCIsXG4gIEFPOiBcIkFuZ29sYVwiLFxuICBBSTogXCJBbmd1aWxsYVwiLFxuICBBUTogXCJBbnRhcmN0aWNhXCIsXG4gIEFHOiBcIkFudGlndWEgQW5kIEJhcmJ1ZGFcIixcbiAgQVI6IFwiQXJnZW50aW5hXCIsXG4gIEFNOiBcIkFybWVuaWFcIixcbiAgQVc6IFwiQXJ1YmFcIixcbiAgQVU6IFwiQXVzdHJhbGlhXCIsXG4gIEFUOiBcIkF1c3RyaWFcIixcbiAgQVo6IFwiQXplcmJhaWphblwiLFxuICBCUzogXCJCYWhhbWFzXCIsXG4gIEJIOiBcIkJhaHJhaW5cIixcbiAgQkQ6IFwiQmFuZ2xhZGVzaFwiLFxuICBCQjogXCJCYXJiYWRvc1wiLFxuICBCWTogXCJCZWxhcnVzXCIsXG4gIEJFOiBcIkJlbGdpdW1cIixcbiAgQlo6IFwiQmVsaXplXCIsXG4gIEJKOiBcIkJlbmluXCIsXG4gIEJNOiBcIkJlcm11ZGFcIixcbiAgQlQ6IFwiQmh1dGFuXCIsXG4gIEJPOiBcIkJvbGl2aWFcIixcbiAgQkE6IFwiQm9zbmlhIEFuZCBIZXJ6ZWdvdmluYVwiLFxuICBCVzogXCJCb3Rzd2FuYVwiLFxuICBCVjogXCJCb3V2ZXQgSXNsYW5kXCIsXG4gIEJSOiBcIkJyYXppbFwiLFxuICBJTzogXCJCcml0aXNoIEluZGlhbiBPY2VhbiBUZXJyaXRvcnlcIixcbiAgQk46IFwiQnJ1bmVpIERhcnVzc2FsYW1cIixcbiAgQkc6IFwiQnVsZ2FyaWFcIixcbiAgQkY6IFwiQnVya2luYSBGYXNvXCIsXG4gIEJJOiBcIkJ1cnVuZGlcIixcbiAgS0g6IFwiQ2FtYm9kaWFcIixcbiAgQ006IFwiQ2FtZXJvb25cIixcbiAgQ0E6IFwiQ2FuYWRhXCIsXG4gIENWOiBcIkNhcGUgVmVyZGVcIixcbiAgS1k6IFwiQ2F5bWFuIElzbGFuZHNcIixcbiAgQ0Y6IFwiQ2VudHJhbCBBZnJpY2FuIFJlcHVibGljXCIsXG4gIFREOiBcIkNoYWRcIixcbiAgQ0w6IFwiQ2hpbGVcIixcbiAgQ046IFwiQ2hpbmFcIixcbiAgQ1g6IFwiQ2hyaXN0bWFzIElzbGFuZFwiLFxuICBDQzogXCJDb2NvcyAoS2VlbGluZykgSXNsYW5kc1wiLFxuICBDTzogXCJDb2xvbWJpYVwiLFxuICBLTTogXCJDb21vcm9zXCIsXG4gIENHOiBcIkNvbmdvXCIsXG4gIENEOiBcIkNvbmdvLCBEZW1vY3JhdGljIFJlcHVibGljXCIsXG4gIENLOiBcIkNvb2sgSXNsYW5kc1wiLFxuICBDUjogXCJDb3N0YSBSaWNhXCIsXG4gIENJOiBcIkNvdGUgRCdJdm9pcmVcIixcbiAgSFI6IFwiQ3JvYXRpYVwiLFxuICBDVTogXCJDdWJhXCIsXG4gIENZOiBcIkN5cHJ1c1wiLFxuICBDWjogXCJDemVjaCBSZXB1YmxpY1wiLFxuICBESzogXCJEZW5tYXJrXCIsXG4gIERKOiBcIkRqaWJvdXRpXCIsXG4gIERNOiBcIkRvbWluaWNhXCIsXG4gIERPOiBcIkRvbWluaWNhbiBSZXB1YmxpY1wiLFxuICBFQzogXCJFY3VhZG9yXCIsXG4gIEVHOiBcIkVneXB0XCIsXG4gIFNWOiBcIkVsIFNhbHZhZG9yXCIsXG4gIEdROiBcIkVxdWF0b3JpYWwgR3VpbmVhXCIsXG4gIEVSOiBcIkVyaXRyZWFcIixcbiAgRUU6IFwiRXN0b25pYVwiLFxuICBFVDogXCJFdGhpb3BpYVwiLFxuICBGSzogXCJGYWxrbGFuZCBJc2xhbmRzIChNYWx2aW5hcylcIixcbiAgRk86IFwiRmFyb2UgSXNsYW5kc1wiLFxuICBGSjogXCJGaWppXCIsXG4gIEZJOiBcIkZpbmxhbmRcIixcbiAgRlI6IFwiRnJhbmNlXCIsXG4gIEdGOiBcIkZyZW5jaCBHdWlhbmFcIixcbiAgUEY6IFwiRnJlbmNoIFBvbHluZXNpYVwiLFxuICBURjogXCJGcmVuY2ggU291dGhlcm4gVGVycml0b3JpZXNcIixcbiAgR0E6IFwiR2Fib25cIixcbiAgR006IFwiR2FtYmlhXCIsXG4gIEdFOiBcIkdlb3JnaWFcIixcbiAgREU6IFwiR2VybWFueVwiLFxuICBHSDogXCJHaGFuYVwiLFxuICBHSTogXCJHaWJyYWx0YXJcIixcbiAgR1I6IFwiR3JlZWNlXCIsXG4gIEdMOiBcIkdyZWVubGFuZFwiLFxuICBHRDogXCJHcmVuYWRhXCIsXG4gIEdQOiBcIkd1YWRlbG91cGVcIixcbiAgR1U6IFwiR3VhbVwiLFxuICBHVDogXCJHdWF0ZW1hbGFcIixcbiAgR0c6IFwiR3Vlcm5zZXlcIixcbiAgR046IFwiR3VpbmVhXCIsXG4gIEdXOiBcIkd1aW5lYS1CaXNzYXVcIixcbiAgR1k6IFwiR3V5YW5hXCIsXG4gIEhUOiBcIkhhaXRpXCIsXG4gIEhNOiBcIkhlYXJkIElzbGFuZCAmIE1jZG9uYWxkIElzbGFuZHNcIixcbiAgVkE6IFwiSG9seSBTZWUgKFZhdGljYW4gQ2l0eSBTdGF0ZSlcIixcbiAgSE46IFwiSG9uZHVyYXNcIixcbiAgSEs6IFwiSG9uZyBLb25nXCIsXG4gIEhVOiBcIkh1bmdhcnlcIixcbiAgSVM6IFwiSWNlbGFuZFwiLFxuICBJTjogXCJJbmRpYVwiLFxuICBJRDogXCJJbmRvbmVzaWFcIixcbiAgSVI6IFwiSXJhbiwgSXNsYW1pYyBSZXB1YmxpYyBPZlwiLFxuICBJUTogXCJJcmFxXCIsXG4gIElFOiBcIklyZWxhbmRcIixcbiAgSU06IFwiSXNsZSBPZiBNYW5cIixcbiAgSUw6IFwiSXNyYWVsXCIsXG4gIElUOiBcIkl0YWx5XCIsXG4gIEpNOiBcIkphbWFpY2FcIixcbiAgSlA6IFwiSmFwYW5cIixcbiAgSkU6IFwiSmVyc2V5XCIsXG4gIEpPOiBcIkpvcmRhblwiLFxuICBLWjogXCJLYXpha2hzdGFuXCIsXG4gIEtFOiBcIktlbnlhXCIsXG4gIEtJOiBcIktpcmliYXRpXCIsXG4gIEtSOiBcIktvcmVhXCIsXG4gIEtXOiBcIkt1d2FpdFwiLFxuICBLRzogXCJLeXJneXpzdGFuXCIsXG4gIExBOiBcIkxhbyBQZW9wbGUncyBEZW1vY3JhdGljIFJlcHVibGljXCIsXG4gIExWOiBcIkxhdHZpYVwiLFxuICBMQjogXCJMZWJhbm9uXCIsXG4gIExTOiBcIkxlc290aG9cIixcbiAgTFI6IFwiTGliZXJpYVwiLFxuICBMWTogXCJMaWJ5YW4gQXJhYiBKYW1haGlyaXlhXCIsXG4gIExJOiBcIkxpZWNodGVuc3RlaW5cIixcbiAgTFQ6IFwiTGl0aHVhbmlhXCIsXG4gIExVOiBcIkx1eGVtYm91cmdcIixcbiAgTU86IFwiTWFjYW9cIixcbiAgTUs6IFwiTWFjZWRvbmlhXCIsXG4gIE1HOiBcIk1hZGFnYXNjYXJcIixcbiAgTVc6IFwiTWFsYXdpXCIsXG4gIE1ZOiBcIk1hbGF5c2lhXCIsXG4gIE1WOiBcIk1hbGRpdmVzXCIsXG4gIE1MOiBcIk1hbGlcIixcbiAgTVQ6IFwiTWFsdGFcIixcbiAgTUg6IFwiTWFyc2hhbGwgSXNsYW5kc1wiLFxuICBNUTogXCJNYXJ0aW5pcXVlXCIsXG4gIE1SOiBcIk1hdXJpdGFuaWFcIixcbiAgTVU6IFwiTWF1cml0aXVzXCIsXG4gIFlUOiBcIk1heW90dGVcIixcbiAgTVg6IFwiTWV4aWNvXCIsXG4gIEZNOiBcIk1pY3JvbmVzaWEsIEZlZGVyYXRlZCBTdGF0ZXMgT2ZcIixcbiAgTUQ6IFwiTW9sZG92YVwiLFxuICBNQzogXCJNb25hY29cIixcbiAgTU46IFwiTW9uZ29saWFcIixcbiAgTUU6IFwiTW9udGVuZWdyb1wiLFxuICBNUzogXCJNb250c2VycmF0XCIsXG4gIE1BOiBcIk1vcm9jY29cIixcbiAgTVo6IFwiTW96YW1iaXF1ZVwiLFxuICBNTTogXCJNeWFubWFyXCIsXG4gIE5BOiBcIk5hbWliaWFcIixcbiAgTlI6IFwiTmF1cnVcIixcbiAgTlA6IFwiTmVwYWxcIixcbiAgTkw6IFwiTmV0aGVybGFuZHNcIixcbiAgQU46IFwiTmV0aGVybGFuZHMgQW50aWxsZXNcIixcbiAgTkM6IFwiTmV3IENhbGVkb25pYVwiLFxuICBOWjogXCJOZXcgWmVhbGFuZFwiLFxuICBOSTogXCJOaWNhcmFndWFcIixcbiAgTkU6IFwiTmlnZXJcIixcbiAgTkc6IFwiTmlnZXJpYVwiLFxuICBOVTogXCJOaXVlXCIsXG4gIE5GOiBcIk5vcmZvbGsgSXNsYW5kXCIsXG4gIE1QOiBcIk5vcnRoZXJuIE1hcmlhbmEgSXNsYW5kc1wiLFxuICBOTzogXCJOb3J3YXlcIixcbiAgT006IFwiT21hblwiLFxuICBQSzogXCJQYWtpc3RhblwiLFxuICBQVzogXCJQYWxhdVwiLFxuICBQUzogXCJQYWxlc3RpbmlhbiBUZXJyaXRvcnksIE9jY3VwaWVkXCIsXG4gIFBBOiBcIlBhbmFtYVwiLFxuICBQRzogXCJQYXB1YSBOZXcgR3VpbmVhXCIsXG4gIFBZOiBcIlBhcmFndWF5XCIsXG4gIFBFOiBcIlBlcnVcIixcbiAgUEg6IFwiUGhpbGlwcGluZXNcIixcbiAgUE46IFwiUGl0Y2Fpcm5cIixcbiAgUEw6IFwiUG9sYW5kXCIsXG4gIFBUOiBcIlBvcnR1Z2FsXCIsXG4gIFBSOiBcIlB1ZXJ0byBSaWNvXCIsXG4gIFFBOiBcIlFhdGFyXCIsXG4gIFJFOiBcIlJldW5pb25cIixcbiAgUk86IFwiUm9tYW5pYVwiLFxuICBSVTogXCJSdXNzaWFuIEZlZGVyYXRpb25cIixcbiAgUlc6IFwiUndhbmRhXCIsXG4gIEJMOiBcIlNhaW50IEJhcnRoZWxlbXlcIixcbiAgU0g6IFwiU2FpbnQgSGVsZW5hXCIsXG4gIEtOOiBcIlNhaW50IEtpdHRzIEFuZCBOZXZpc1wiLFxuICBMQzogXCJTYWludCBMdWNpYVwiLFxuICBNRjogXCJTYWludCBNYXJ0aW5cIixcbiAgUE06IFwiU2FpbnQgUGllcnJlIEFuZCBNaXF1ZWxvblwiLFxuICBWQzogXCJTYWludCBWaW5jZW50IEFuZCBHcmVuYWRpbmVzXCIsXG4gIFdTOiBcIlNhbW9hXCIsXG4gIFNNOiBcIlNhbiBNYXJpbm9cIixcbiAgU1Q6IFwiU2FvIFRvbWUgQW5kIFByaW5jaXBlXCIsXG4gIFNBOiBcIlNhdWRpIEFyYWJpYVwiLFxuICBTTjogXCJTZW5lZ2FsXCIsXG4gIFJTOiBcIlNlcmJpYVwiLFxuICBTQzogXCJTZXljaGVsbGVzXCIsXG4gIFNMOiBcIlNpZXJyYSBMZW9uZVwiLFxuICBTRzogXCJTaW5nYXBvcmVcIixcbiAgU0s6IFwiU2xvdmFraWFcIixcbiAgU0k6IFwiU2xvdmVuaWFcIixcbiAgU0I6IFwiU29sb21vbiBJc2xhbmRzXCIsXG4gIFNPOiBcIlNvbWFsaWFcIixcbiAgWkE6IFwiU291dGggQWZyaWNhXCIsXG4gIEdTOiBcIlNvdXRoIEdlb3JnaWEgQW5kIFNhbmR3aWNoIElzbC5cIixcbiAgRVM6IFwiU3BhaW5cIixcbiAgTEs6IFwiU3JpIExhbmthXCIsXG4gIFNEOiBcIlN1ZGFuXCIsXG4gIFNSOiBcIlN1cmluYW1lXCIsXG4gIFNKOiBcIlN2YWxiYXJkIEFuZCBKYW4gTWF5ZW5cIixcbiAgU1o6IFwiU3dhemlsYW5kXCIsXG4gIFNFOiBcIlN3ZWRlblwiLFxuICBDSDogXCJTd2l0emVybGFuZFwiLFxuICBTWTogXCJTeXJpYW4gQXJhYiBSZXB1YmxpY1wiLFxuICBUVzogXCJUYWl3YW5cIixcbiAgVEo6IFwiVGFqaWtpc3RhblwiLFxuICBUWjogXCJUYW56YW5pYVwiLFxuICBUSDogXCJUaGFpbGFuZFwiLFxuICBUTDogXCJUaW1vci1MZXN0ZVwiLFxuICBURzogXCJUb2dvXCIsXG4gIFRLOiBcIlRva2VsYXVcIixcbiAgVE86IFwiVG9uZ2FcIixcbiAgVFQ6IFwiVHJpbmlkYWQgQW5kIFRvYmFnb1wiLFxuICBUTjogXCJUdW5pc2lhXCIsXG4gIFRSOiBcIlR1cmtleVwiLFxuICBUTTogXCJUdXJrbWVuaXN0YW5cIixcbiAgVEM6IFwiVHVya3MgQW5kIENhaWNvcyBJc2xhbmRzXCIsXG4gIFRWOiBcIlR1dmFsdVwiLFxuICBVRzogXCJVZ2FuZGFcIixcbiAgVUE6IFwiVWtyYWluZVwiLFxuICBBRTogXCJVbml0ZWQgQXJhYiBFbWlyYXRlc1wiLFxuICBHQjogXCJVbml0ZWQgS2luZ2RvbVwiLFxuICBVUzogXCJVbml0ZWQgU3RhdGVzXCIsXG4gIFVNOiBcIlVuaXRlZCBTdGF0ZXMgT3V0bHlpbmcgSXNsYW5kc1wiLFxuICBVWTogXCJVcnVndWF5XCIsXG4gIFVaOiBcIlV6YmVraXN0YW5cIixcbiAgVlU6IFwiVmFudWF0dVwiLFxuICBWRTogXCJWZW5lenVlbGFcIixcbiAgVk46IFwiVmlldCBOYW1cIixcbiAgVkc6IFwiVmlyZ2luIElzbGFuZHMsIEJyaXRpc2hcIixcbiAgVkk6IFwiVmlyZ2luIElzbGFuZHMsIFUuUy5cIixcbiAgV0Y6IFwiV2FsbGlzIEFuZCBGdXR1bmFcIixcbiAgRUg6IFwiV2VzdGVybiBTYWhhcmFcIixcbiAgWUU6IFwiWWVtZW5cIixcbiAgWk06IFwiWmFtYmlhXCIsXG4gIFpXOiBcIlppbWJhYndlXCJcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRyZXNzSW5PbmVMaW5lKGFkZHJlc3M6IGFueSkge1xuICBjb25zdCBhID0gYWRkcmVzcyA/IGFkZHJlc3MgOiB7fTtcbiAgY29uc3Qge1xuICAgIGNpdHksXG4gICAgY291bnRyeSxcbiAgICBsaW5lT25lLFxuICAgIGxpbmVUd28sXG4gICAgcG9zdGNvZGUsXG4gICAgc3RhdGVcbiAgfSA9IGE7XG4gIGNvbnN0IGwxID0gbGluZU9uZSA/IGAke2xpbmVPbmV9IGAgOiAnJztcbiAgY29uc3QgbDIgPSBsaW5lVHdvID8gYCR7bGluZVR3b30gYCA6ICcnO1xuICBjb25zdCBjID0gY2l0eSA/IGAke2NpdHl9IGAgOiAnJztcbiAgY29uc3QgcyA9IHN0YXRlID8gYCR7c3RhdGV9IGAgOiAnJztcbiAgY29uc3QgcCA9IHBvc3Rjb2RlID8gYCR7cG9zdGNvZGV9IGAgOiAnJztcbiAgY29uc3QgY291bnRyeUZ1bGwgPSBjb3VudHJ5ID8gaXNvQ291bnRyaWVzW2NvdW50cnldIDogJyc7XG4gIHJldHVybiBsMSArIGwyICsgYyArIHMgKyBwICsgY291bnRyeUZ1bGw7XG59XG5cbmV4cG9ydCBjb25zdCBhZGRyZXNzQ29tcG9uZW50c1NldHRpbmdzOiBhbnkgPSB7XG4gIGFkbWluaXN0cmF0aXZlX2FyZWFfbGV2ZWxfMTogJ3Nob3J0X25hbWUnLFxuICBhZG1pbmlzdHJhdGl2ZV9hcmVhX2xldmVsXzI6ICdzaG9ydF9uYW1lJyxcbiAgY291bnRyeTogJ3Nob3J0X25hbWUnLFxuICBlc3RhYmxpc2htZW50OiAnbG9uZ19uYW1lJyxcbiAgZmxvb3I6ICdzaG9ydF9uYW1lJyxcbiAgbG9jYWxpdHk6ICdsb25nX25hbWUnLFxuICBwb3N0YWxfY29kZTogJ3Nob3J0X25hbWUnLFxuICBwcmVtaXNlOiAnc2hvcnRfbmFtZScsXG4gIHJvb206ICdsb25nX25hbWUnLFxuICByb3V0ZTogJ3Nob3J0X25hbWUnLFxuICBzdHJlZXRfbnVtYmVyOiAnc2hvcnRfbmFtZScsXG4gIHN1YmxvY2FsaXR5OiAnbG9uZ19uYW1lJyxcbiAgc3VicHJlbWlzZTogJ3Nob3J0X25hbWUnLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdlb1N1Z2dlc3RSZXN1bHRBc05ld0FkZHJlc3MocmVzcDogYW55KSB7XG4gIGNvbnN0IGFkZHJlc3NDb21wb25lbnRzID0gcmVzcCAmJiByZXNwLmdtYXBzID9cbiAgICByZXNwLmdtYXBzLmFkZHJlc3NfY29tcG9uZW50cyA6IG51bGw7XG4gIGNvbnN0IG5hbWUgPSByZXNwICYmIHJlc3AuZ21hcHMgJiYgcmVzcC5nbWFwcy5uYW1lO1xuICBjb25zdCBhZGRyZXNzID0ge1xuICAgIGNpdHk6ICcnLFxuICAgIGNvdW50cnk6ICcnLFxuICAgIGxpbmVPbmU6IG5hbWUgPyBuYW1lIDogJycsXG4gICAgbGluZVR3bzogJycsXG4gICAgcG9zdGNvZGU6ICcnLFxuICAgIHN0YXRlOiAnJyxcbiAgfTtcbiAgbGV0IGk7XG4gIGlmIChhZGRyZXNzQ29tcG9uZW50cykge1xuICAgIGZvciAoaSA9IDA7IGkgPCBhZGRyZXNzQ29tcG9uZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgYWRkckNvbXBvbmVudCA9IGFkZHJlc3NDb21wb25lbnRzW2ldO1xuICAgICAgY29uc3QgYWRkclR5cGVzID0gYWRkckNvbXBvbmVudC50eXBlcztcbiAgICAgIGNvbnN0IGFkZHJUeXBlID0gYWRkclR5cGVzLmxlbmd0aCA+IDAgPyBhZGRyVHlwZXNbMF0gOiBudWxsO1xuICAgICAgY29uc3QgY29tcG9uZW50U2V0dGluZyA9IGFkZHJUeXBlID9cbiAgICAgICAgYWRkcmVzc0NvbXBvbmVudHNTZXR0aW5nc1thZGRyVHlwZV0gOiBudWxsO1xuICAgICAgaWYgKGNvbXBvbmVudFNldHRpbmcpIHtcbiAgICAgICAgY29uc3QgYWRkcmVzc1ZhbCA9IGFkZHJDb21wb25lbnRbY29tcG9uZW50U2V0dGluZ107XG4gICAgICAgIHN3aXRjaCAoYWRkclR5cGUpIHtcbiAgICAgICAgICBjYXNlICdlc3RhYmxpc2htZW50JzpcbiAgICAgICAgICBjYXNlICdyb29tJzpcbiAgICAgICAgICBjYXNlICdmbG9vcic6XG4gICAgICAgICAgY2FzZSAnc3RyZWV0X251bWJlcic6XG4gICAgICAgICAgY2FzZSAncHJlbWlzZSc6XG4gICAgICAgICAgY2FzZSAnc3VicHJlbWlzZSc6XG4gICAgICAgICAgY2FzZSAncm91dGUnOlxuICAgICAgICAgICAgY29uc3Qgb2xkTGluZU9uZSA9IGFkZHJlc3MubGluZU9uZTtcbiAgICAgICAgICAgIGFkZHJlc3MubGluZU9uZSA9IG9sZExpbmVPbmUuaW5jbHVkZXMoYWRkcmVzc1ZhbCkgP1xuICAgICAgICAgICAgICBvbGRMaW5lT25lIDogYCR7b2xkTGluZU9uZX0gJHthZGRyZXNzVmFsfWA7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdsb2NhbGl0eSc6XG4gICAgICAgICAgY2FzZSAnc3VibG9jYWxpdHknOlxuICAgICAgICAgICAgY29uc3Qgb2xkQ2l0eSA9IGFkZHJlc3MuY2l0eSA/IGAke2FkZHJlc3MuY2l0eX0gYCA6ICcnXG4gICAgICAgICAgICBhZGRyZXNzLmNpdHkgPSBvbGRDaXR5ICsgYWRkcmVzc1ZhbDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2FkbWluaXN0cmF0aXZlX2FyZWFfbGV2ZWxfMSc6XG4gICAgICAgICAgICBhZGRyZXNzLnN0YXRlID0gYWRkcmVzc1ZhbDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2FkbWluaXN0cmF0aXZlX2FyZWFfbGV2ZWxfMic6XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdjb3VudHJ5JzpcbiAgICAgICAgICAgIGFkZHJlc3MuY291bnRyeSA9IGFkZHJlc3NWYWw7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdwb3N0YWxfY29kZSc6XG4gICAgICAgICAgICBhZGRyZXNzLnBvc3Rjb2RlID0gYWRkcmVzc1ZhbDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYWRkcmVzcztcbiAgfVxuICByZXR1cm4g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
@@ -0,0 +1,91 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
3
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
4
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
5
+ import { Merchi } from '../MerchiSDK/merchi';
6
+ import { companyStripePubKeyOrTestPubKey } from './company';
7
+ var merchi = new Merchi();
8
+ export var makeCart = function makeCart(json, makeDirty, cartToken) {
9
+ var merchi = new Merchi();
10
+ if (cartToken) merchi.cartToken = cartToken;
11
+ var cart = new merchi.Cart();
12
+ return cart.fromJson(json, {
13
+ makeDirty: makeDirty
14
+ });
15
+ };
16
+ export var makeCartItem = function makeCartItem(json, makeDirty, cartToken) {
17
+ var merchi = new Merchi();
18
+ if (cartToken) merchi.cartToken = cartToken;
19
+ var cartItem = new merchi.CartItem();
20
+ return cartItem.fromJson(json, {
21
+ makeDirty: makeDirty
22
+ });
23
+ };
24
+ export function makeCartShipmentQuote(json, makeDirty) {
25
+ var cartShipmentQuote = new merchi.CartShipmentQuote();
26
+ return cartShipmentQuote.fromJson(json, {
27
+ makeDirty: makeDirty
28
+ });
29
+ }
30
+ export function cartHasSelectedQuotes(cart) {
31
+ var _cart$shipmentGroups = cart.shipmentGroups,
32
+ shipmentGroups = _cart$shipmentGroups === void 0 ? [] : _cart$shipmentGroups;
33
+ if (shipmentGroups.length) {
34
+ var selected = shipmentGroups.filter(function (g) {
35
+ return !!g.selectedQuote;
36
+ });
37
+ return selected.length === shipmentGroups.length;
38
+ }
39
+ return false;
40
+ }
41
+ export function getCartShipmentGroupsAndQuotes(_x) {
42
+ return _getCartShipmentGroupsAndQuotes.apply(this, arguments);
43
+ }
44
+ function _getCartShipmentGroupsAndQuotes() {
45
+ _getCartShipmentGroupsAndQuotes = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(cart) {
46
+ var query;
47
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
48
+ while (1) switch (_context.prev = _context.next) {
49
+ case 0:
50
+ query = [];
51
+ query.push(['cart_token', cart.token]);
52
+ return _context.abrupt("return", merchi.authenticatedFetch("/generate-cart-shipment-quotes/".concat(cart.id, "/"), {
53
+ method: 'GET',
54
+ query: query
55
+ }));
56
+ case 3:
57
+ case "end":
58
+ return _context.stop();
59
+ }
60
+ }, _callee);
61
+ }));
62
+ return _getCartShipmentGroupsAndQuotes.apply(this, arguments);
63
+ }
64
+ function cartCompany(cart) {
65
+ return cart && cart.domain && cart.domain.company ? cart.domain.company : null;
66
+ }
67
+ export function hasStripeLegacyAccount(cart) {
68
+ var company = cartCompany(cart);
69
+ return Boolean(company && companyStripePubKeyOrTestPubKey(company));
70
+ }
71
+ function hasStripeConnectAccount(cart) {
72
+ var company = cartCompany(cart);
73
+ return Boolean(company && company.isStripeAccountEnabled);
74
+ }
75
+ export function stripeIsValidAndActive(cart) {
76
+ var company = cartCompany(cart);
77
+ var hasStripe = hasStripeLegacyAccount(cart) || hasStripeConnectAccount(cart);
78
+ return Boolean(hasStripe && company && company.acceptStripe);
79
+ }
80
+ export function cartRequiresShipment(cart) {
81
+ var _cart$cartItems = cart.cartItems,
82
+ cartItems = _cart$cartItems === void 0 ? [] : _cart$cartItems;
83
+ for (var i = 0; i < cartItems.length; i++) {
84
+ var item = cartItems[i];
85
+ if (item && item.product && item.product.needsShipping) {
86
+ return true;
87
+ }
88
+ }
89
+ return false;
90
+ }
91
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVnZW5lcmF0b3JSdW50aW1lIiwiZSIsInQiLCJyIiwiT2JqZWN0IiwicHJvdG90eXBlIiwibiIsImhhc093blByb3BlcnR5IiwibyIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJpIiwiU3ltYm9sIiwiYSIsIml0ZXJhdG9yIiwiYyIsImFzeW5jSXRlcmF0b3IiLCJ1IiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJjYWxsIiwiaCIsImwiLCJmIiwicyIsInkiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwicCIsImQiLCJnZXRQcm90b3R5cGVPZiIsInYiLCJ2YWx1ZXMiLCJnIiwiZGVmaW5lSXRlcmF0b3JNZXRob2RzIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwiX3R5cGVvZiIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiRXJyb3IiLCJkb25lIiwibWV0aG9kIiwiZGVsZWdhdGUiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJUeXBlRXJyb3IiLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsImlzTmFOIiwibGVuZ3RoIiwiZGlzcGxheU5hbWUiLCJpc0dlbmVyYXRvckZ1bmN0aW9uIiwiY29uc3RydWN0b3IiLCJuYW1lIiwibWFyayIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiYXdyYXAiLCJhc3luYyIsIlByb21pc2UiLCJrZXlzIiwicmV2ZXJzZSIsInBvcCIsInByZXYiLCJjaGFyQXQiLCJzbGljZSIsInN0b3AiLCJydmFsIiwiaGFuZGxlIiwiY29tcGxldGUiLCJmaW5pc2giLCJfY2F0Y2giLCJkZWxlZ2F0ZVlpZWxkIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiZ2VuIiwicmVqZWN0IiwiX25leHQiLCJfdGhyb3ciLCJrZXkiLCJpbmZvIiwiZXJyb3IiLCJfYXN5bmNUb0dlbmVyYXRvciIsImZuIiwic2VsZiIsImFyZ3MiLCJhcmd1bWVudHMiLCJhcHBseSIsImVyciIsInVuZGVmaW5lZCIsIk1lcmNoaSIsImNvbXBhbnlTdHJpcGVQdWJLZXlPclRlc3RQdWJLZXkiLCJtZXJjaGkiLCJtYWtlQ2FydCIsImpzb24iLCJtYWtlRGlydHkiLCJjYXJ0VG9rZW4iLCJjYXJ0IiwiQ2FydCIsImZyb21Kc29uIiwibWFrZUNhcnRJdGVtIiwiY2FydEl0ZW0iLCJDYXJ0SXRlbSIsIm1ha2VDYXJ0U2hpcG1lbnRRdW90ZSIsImNhcnRTaGlwbWVudFF1b3RlIiwiQ2FydFNoaXBtZW50UXVvdGUiLCJjYXJ0SGFzU2VsZWN0ZWRRdW90ZXMiLCJfY2FydCRzaGlwbWVudEdyb3VwcyIsInNoaXBtZW50R3JvdXBzIiwic2VsZWN0ZWQiLCJmaWx0ZXIiLCJzZWxlY3RlZFF1b3RlIiwiZ2V0Q2FydFNoaXBtZW50R3JvdXBzQW5kUXVvdGVzIiwiX3giLCJfZ2V0Q2FydFNoaXBtZW50R3JvdXBzQW5kUXVvdGVzIiwiX2NhbGxlZSIsInF1ZXJ5IiwiX2NhbGxlZSQiLCJfY29udGV4dCIsInRva2VuIiwiYXV0aGVudGljYXRlZEZldGNoIiwiY29uY2F0IiwiaWQiLCJjYXJ0Q29tcGFueSIsImRvbWFpbiIsImNvbXBhbnkiLCJoYXNTdHJpcGVMZWdhY3lBY2NvdW50IiwiQm9vbGVhbiIsImhhc1N0cmlwZUNvbm5lY3RBY2NvdW50IiwiaXNTdHJpcGVBY2NvdW50RW5hYmxlZCIsInN0cmlwZUlzVmFsaWRBbmRBY3RpdmUiLCJoYXNTdHJpcGUiLCJhY2NlcHRTdHJpcGUiLCJjYXJ0UmVxdWlyZXNTaGlwbWVudCIsIl9jYXJ0JGNhcnRJdGVtcyIsImNhcnRJdGVtcyIsIml0ZW0iLCJwcm9kdWN0IiwibmVlZHNTaGlwcGluZyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY2FydC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXJjaGkgfSBmcm9tICcuLi9NZXJjaGlTREsvbWVyY2hpJztcbmltcG9ydCB7IGNvbXBhbnlTdHJpcGVQdWJLZXlPclRlc3RQdWJLZXkgfSBmcm9tICcuL2NvbXBhbnknO1xuXG5jb25zdCBtZXJjaGkgPSBuZXcgTWVyY2hpKCk7XG5cbmV4cG9ydCBjb25zdCBtYWtlQ2FydCA9IChqc29uOiBhbnksIG1ha2VEaXJ0eT86IGJvb2xlYW4sIGNhcnRUb2tlbj86IHN0cmluZykgPT4ge1xuICBjb25zdCBtZXJjaGkgPSBuZXcgTWVyY2hpKCk7XG4gIGlmIChjYXJ0VG9rZW4pIG1lcmNoaS5jYXJ0VG9rZW4gPSBjYXJ0VG9rZW47XG4gIGNvbnN0IGNhcnQgPSBuZXcgbWVyY2hpLkNhcnQoKTtcbiAgcmV0dXJuIGNhcnQuZnJvbUpzb24oanNvbiwgeyBtYWtlRGlydHkgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgbWFrZUNhcnRJdGVtID0gKGpzb246IGFueSwgbWFrZURpcnR5PzogYm9vbGVhbiwgY2FydFRva2VuPzogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IG1lcmNoaSA9IG5ldyBNZXJjaGkoKTtcbiAgaWYgKGNhcnRUb2tlbikgbWVyY2hpLmNhcnRUb2tlbiA9IGNhcnRUb2tlbjtcbiAgY29uc3QgY2FydEl0ZW0gPSBuZXcgbWVyY2hpLkNhcnRJdGVtKCk7XG4gIHJldHVybiBjYXJ0SXRlbS5mcm9tSnNvbihqc29uLCB7IG1ha2VEaXJ0eSB9KTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBtYWtlQ2FydFNoaXBtZW50UXVvdGUoanNvbjogYW55LCBtYWtlRGlydHk/OiBib29sZWFuKSB7XG4gIGNvbnN0IGNhcnRTaGlwbWVudFF1b3RlID0gbmV3IG1lcmNoaS5DYXJ0U2hpcG1lbnRRdW90ZSgpO1xuICByZXR1cm4gY2FydFNoaXBtZW50UXVvdGUuZnJvbUpzb24oanNvbiwgeyBtYWtlRGlydHkgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYXJ0SGFzU2VsZWN0ZWRRdW90ZXMoY2FydDogYW55KSB7XG4gIGNvbnN0IHsgc2hpcG1lbnRHcm91cHMgPSBbXSB9ID0gY2FydDtcbiAgaWYgKHNoaXBtZW50R3JvdXBzLmxlbmd0aCkge1xuICAgIGNvbnN0IHNlbGVjdGVkID0gc2hpcG1lbnRHcm91cHMuZmlsdGVyKChnOiBhbnkpID0+ICEhZy5zZWxlY3RlZFF1b3RlKTtcbiAgICByZXR1cm4gc2VsZWN0ZWQubGVuZ3RoID09PSBzaGlwbWVudEdyb3Vwcy5sZW5ndGg7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0Q2FydFNoaXBtZW50R3JvdXBzQW5kUXVvdGVzKGNhcnQ6IGFueSkge1xuICBjb25zdCBxdWVyeTogQXJyYXk8YW55PiA9IFtdO1xuICBxdWVyeS5wdXNoKFsnY2FydF90b2tlbicsIGNhcnQudG9rZW5dKTtcbiAgcmV0dXJuIG1lcmNoaS5hdXRoZW50aWNhdGVkRmV0Y2goXG4gICAgYC9nZW5lcmF0ZS1jYXJ0LXNoaXBtZW50LXF1b3Rlcy8ke2NhcnQuaWR9L2AsXG4gICAge21ldGhvZDogJ0dFVCcsIHF1ZXJ5fSk7XG59XG5cbmZ1bmN0aW9uIGNhcnRDb21wYW55KGNhcnQ6IGFueSkge1xuICByZXR1cm4gY2FydCAmJiBjYXJ0LmRvbWFpbiAmJiBjYXJ0LmRvbWFpbi5jb21wYW55ID9cbiAgICBjYXJ0LmRvbWFpbi5jb21wYW55IDogbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc1N0cmlwZUxlZ2FjeUFjY291bnQoY2FydDogYW55KSB7XG4gIGNvbnN0IGNvbXBhbnkgPSBjYXJ0Q29tcGFueShjYXJ0KTtcbiAgcmV0dXJuIEJvb2xlYW4oY29tcGFueSAmJiBjb21wYW55U3RyaXBlUHViS2V5T3JUZXN0UHViS2V5KGNvbXBhbnkpKTtcbn1cblxuZnVuY3Rpb24gaGFzU3RyaXBlQ29ubmVjdEFjY291bnQoY2FydDogYW55KSB7XG4gIGNvbnN0IGNvbXBhbnkgPSBjYXJ0Q29tcGFueShjYXJ0KTtcbiAgcmV0dXJuIEJvb2xlYW4oY29tcGFueSAmJiBjb21wYW55LmlzU3RyaXBlQWNjb3VudEVuYWJsZWQpOyBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0cmlwZUlzVmFsaWRBbmRBY3RpdmUoY2FydDogYW55KSB7XG4gIGNvbnN0IGNvbXBhbnkgPSBjYXJ0Q29tcGFueShjYXJ0KTtcbiAgY29uc3QgaGFzU3RyaXBlID0gaGFzU3RyaXBlTGVnYWN5QWNjb3VudChjYXJ0KSB8fFxuICAgIGhhc1N0cmlwZUNvbm5lY3RBY2NvdW50KGNhcnQpO1xuICByZXR1cm4gQm9vbGVhbihoYXNTdHJpcGUgJiYgY29tcGFueSAmJiBjb21wYW55LmFjY2VwdFN0cmlwZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYXJ0UmVxdWlyZXNTaGlwbWVudChjYXJ0OiBhbnkpIHtcbiAgY29uc3QgeyBjYXJ0SXRlbXMgPSBbXSB9ID0gY2FydDtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjYXJ0SXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBpdGVtID0gY2FydEl0ZW1zW2ldO1xuICAgIGlmIChpdGVtICYmIGl0ZW0ucHJvZHVjdCAmJiBpdGVtLnByb2R1Y3QubmVlZHNTaGlwcGluZykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cbiJdLCJtYXBwaW5ncyI6IjsrQ0FDQSxxSkFBQUEsbUJBQUEsWUFBQUEsb0JBQUEsV0FBQUMsQ0FBQSxTQUFBQyxDQUFBLEVBQUFELENBQUEsT0FB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
@@ -0,0 +1,7 @@
1
+ export function companyPrimaryAddress(company) {
2
+ return company && company.addresses ? company.addresses[0] : undefined;
3
+ }
4
+ export function companyStripePubKeyOrTestPubKey(company) {
5
+ return company.isTesting ? company.stripePublishableTestKey : company.stripePublishableKey;
6
+ }
7
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21wYW55UHJpbWFyeUFkZHJlc3MiLCJjb21wYW55IiwiYWRkcmVzc2VzIiwidW5kZWZpbmVkIiwiY29tcGFueVN0cmlwZVB1YktleU9yVGVzdFB1YktleSIsImlzVGVzdGluZyIsInN0cmlwZVB1Ymxpc2hhYmxlVGVzdEtleSIsInN0cmlwZVB1Ymxpc2hhYmxlS2V5Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxpdGllcy9jb21wYW55LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBjb21wYW55UHJpbWFyeUFkZHJlc3MoY29tcGFueTogYW55KSB7XG4gIHJldHVybiBjb21wYW55ICYmIGNvbXBhbnkuYWRkcmVzc2VzID8gY29tcGFueS5hZGRyZXNzZXNbMF0gOiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wYW55U3RyaXBlUHViS2V5T3JUZXN0UHViS2V5KGNvbXBhbnk6IGFueSkge1xuICByZXR1cm4gY29tcGFueS5pc1Rlc3RpbmcgPyBjb21wYW55LnN0cmlwZVB1Ymxpc2hhYmxlVGVzdEtleSA6XG4gICAgY29tcGFueS5zdHJpcGVQdWJsaXNoYWJsZUtleTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxTQUFTQSxxQkFBcUJBLENBQUNDLE9BQVksRUFBRTtFQUNsRCxPQUFPQSxPQUFPLElBQUlBLE9BQU8sQ0FBQ0MsU0FBUyxHQUFHRCxPQUFPLENBQUNDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBR0MsU0FBUztBQUN4RTtBQUVBLE9BQU8sU0FBU0MsK0JBQStCQSxDQUFDSCxPQUFZLEVBQUU7RUFDNUQsT0FBT0EsT0FBTyxDQUFDSSxTQUFTLEdBQUdKLE9BQU8sQ0FBQ0ssd0JBQXdCLEdBQ3pETCxPQUFPLENBQUNNLG9CQUFvQjtBQUNoQyJ9