@redneckz/wildless-cms-uni-blocks 0.14.803 → 0.14.805

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 (101) hide show
  1. package/bundle/bundle.umd.js +11 -11
  2. package/bundle/bundle.umd.min.js +1 -1
  3. package/bundle/ui-kit/Button/Button.d.ts +1 -0
  4. package/dist/retail/components/Fields/DaDataInnField.js +1 -2
  5. package/dist/retail/components/Fields/DaDataInnField.js.map +1 -1
  6. package/dist/retail/components/Fields/Experience5YearsField.js +1 -2
  7. package/dist/retail/components/Fields/Experience5YearsField.js.map +1 -1
  8. package/dist/retail/components/Fields/GeneralSeniorityField.js +1 -2
  9. package/dist/retail/components/Fields/GeneralSeniorityField.js.map +1 -1
  10. package/dist/retail/components/Fields/JobsNumberField.js +1 -2
  11. package/dist/retail/components/Fields/JobsNumberField.js.map +1 -1
  12. package/dist/retail/components/Fields/LastJobExperienceField.js +1 -2
  13. package/dist/retail/components/Fields/LastJobExperienceField.js.map +1 -1
  14. package/dist/retail/components/Fields/OrganizationNameField.js +1 -2
  15. package/dist/retail/components/Fields/OrganizationNameField.js.map +1 -1
  16. package/dist/retail/components/Fields/WagesField.js +1 -2
  17. package/dist/retail/components/Fields/WagesField.js.map +1 -1
  18. package/dist/ui-kit/Button/Button.d.ts +1 -0
  19. package/dist/ui-kit/Button/Button.js +2 -2
  20. package/dist/ui-kit/Button/Button.js.map +1 -1
  21. package/dist/ui-kit/SwipeListControl/SwipeListScrollButtons.js +1 -1
  22. package/dist/ui-kit/SwipeListControl/SwipeListScrollButtons.js.map +1 -1
  23. package/lib/retail/components/Fields/DaDataInnField.js +1 -2
  24. package/lib/retail/components/Fields/DaDataInnField.js.map +1 -1
  25. package/lib/retail/components/Fields/Experience5YearsField.js +1 -2
  26. package/lib/retail/components/Fields/Experience5YearsField.js.map +1 -1
  27. package/lib/retail/components/Fields/GeneralSeniorityField.js +1 -2
  28. package/lib/retail/components/Fields/GeneralSeniorityField.js.map +1 -1
  29. package/lib/retail/components/Fields/JobsNumberField.js +1 -2
  30. package/lib/retail/components/Fields/JobsNumberField.js.map +1 -1
  31. package/lib/retail/components/Fields/LastJobExperienceField.js +1 -2
  32. package/lib/retail/components/Fields/LastJobExperienceField.js.map +1 -1
  33. package/lib/retail/components/Fields/OrganizationNameField.js +1 -2
  34. package/lib/retail/components/Fields/OrganizationNameField.js.map +1 -1
  35. package/lib/retail/components/Fields/WagesField.js +1 -2
  36. package/lib/retail/components/Fields/WagesField.js.map +1 -1
  37. package/lib/ui-kit/Button/Button.d.ts +1 -0
  38. package/lib/ui-kit/Button/Button.js +2 -2
  39. package/lib/ui-kit/Button/Button.js.map +1 -1
  40. package/lib/ui-kit/SwipeListControl/SwipeListScrollButtons.js +1 -1
  41. package/lib/ui-kit/SwipeListControl/SwipeListScrollButtons.js.map +1 -1
  42. package/mobile/bundle/bundle.umd.js +11 -11
  43. package/mobile/bundle/bundle.umd.min.js +1 -1
  44. package/mobile/bundle/ui-kit/Button/Button.d.ts +1 -0
  45. package/mobile/dist/retail/components/Fields/DaDataInnField.js +1 -2
  46. package/mobile/dist/retail/components/Fields/DaDataInnField.js.map +1 -1
  47. package/mobile/dist/retail/components/Fields/Experience5YearsField.js +1 -2
  48. package/mobile/dist/retail/components/Fields/Experience5YearsField.js.map +1 -1
  49. package/mobile/dist/retail/components/Fields/GeneralSeniorityField.js +1 -2
  50. package/mobile/dist/retail/components/Fields/GeneralSeniorityField.js.map +1 -1
  51. package/mobile/dist/retail/components/Fields/JobsNumberField.js +1 -2
  52. package/mobile/dist/retail/components/Fields/JobsNumberField.js.map +1 -1
  53. package/mobile/dist/retail/components/Fields/LastJobExperienceField.js +1 -2
  54. package/mobile/dist/retail/components/Fields/LastJobExperienceField.js.map +1 -1
  55. package/mobile/dist/retail/components/Fields/OrganizationNameField.js +1 -2
  56. package/mobile/dist/retail/components/Fields/OrganizationNameField.js.map +1 -1
  57. package/mobile/dist/retail/components/Fields/WagesField.js +1 -2
  58. package/mobile/dist/retail/components/Fields/WagesField.js.map +1 -1
  59. package/mobile/dist/ui-kit/Button/Button.d.ts +1 -0
  60. package/mobile/dist/ui-kit/Button/Button.js +2 -2
  61. package/mobile/dist/ui-kit/Button/Button.js.map +1 -1
  62. package/mobile/dist/ui-kit/SwipeListControl/SwipeListScrollButtons.js +1 -1
  63. package/mobile/dist/ui-kit/SwipeListControl/SwipeListScrollButtons.js.map +1 -1
  64. package/mobile/lib/retail/components/Fields/DaDataInnField.js +1 -2
  65. package/mobile/lib/retail/components/Fields/DaDataInnField.js.map +1 -1
  66. package/mobile/lib/retail/components/Fields/Experience5YearsField.js +1 -2
  67. package/mobile/lib/retail/components/Fields/Experience5YearsField.js.map +1 -1
  68. package/mobile/lib/retail/components/Fields/GeneralSeniorityField.js +1 -2
  69. package/mobile/lib/retail/components/Fields/GeneralSeniorityField.js.map +1 -1
  70. package/mobile/lib/retail/components/Fields/JobsNumberField.js +1 -2
  71. package/mobile/lib/retail/components/Fields/JobsNumberField.js.map +1 -1
  72. package/mobile/lib/retail/components/Fields/LastJobExperienceField.js +1 -2
  73. package/mobile/lib/retail/components/Fields/LastJobExperienceField.js.map +1 -1
  74. package/mobile/lib/retail/components/Fields/OrganizationNameField.js +1 -2
  75. package/mobile/lib/retail/components/Fields/OrganizationNameField.js.map +1 -1
  76. package/mobile/lib/retail/components/Fields/WagesField.js +1 -2
  77. package/mobile/lib/retail/components/Fields/WagesField.js.map +1 -1
  78. package/mobile/lib/ui-kit/Button/Button.d.ts +1 -0
  79. package/mobile/lib/ui-kit/Button/Button.js +2 -2
  80. package/mobile/lib/ui-kit/Button/Button.js.map +1 -1
  81. package/mobile/lib/ui-kit/SwipeListControl/SwipeListScrollButtons.js +1 -1
  82. package/mobile/lib/ui-kit/SwipeListControl/SwipeListScrollButtons.js.map +1 -1
  83. package/mobile/src/retail/components/Fields/DaDataInnField.tsx +0 -2
  84. package/mobile/src/retail/components/Fields/Experience5YearsField.tsx +0 -2
  85. package/mobile/src/retail/components/Fields/GeneralSeniorityField.tsx +0 -2
  86. package/mobile/src/retail/components/Fields/JobsNumberField.tsx +0 -2
  87. package/mobile/src/retail/components/Fields/LastJobExperienceField.tsx +0 -2
  88. package/mobile/src/retail/components/Fields/OrganizationNameField.tsx +0 -2
  89. package/mobile/src/retail/components/Fields/WagesField.tsx +0 -2
  90. package/mobile/src/ui-kit/Button/Button.tsx +3 -0
  91. package/mobile/src/ui-kit/SwipeListControl/SwipeListScrollButtons.tsx +2 -0
  92. package/package.json +1 -1
  93. package/src/retail/components/Fields/DaDataInnField.tsx +0 -2
  94. package/src/retail/components/Fields/Experience5YearsField.tsx +0 -2
  95. package/src/retail/components/Fields/GeneralSeniorityField.tsx +0 -2
  96. package/src/retail/components/Fields/JobsNumberField.tsx +0 -2
  97. package/src/retail/components/Fields/LastJobExperienceField.tsx +0 -2
  98. package/src/retail/components/Fields/OrganizationNameField.tsx +0 -2
  99. package/src/retail/components/Fields/WagesField.tsx +0 -2
  100. package/src/ui-kit/Button/Button.tsx +3 -0
  101. package/src/ui-kit/SwipeListControl/SwipeListScrollButtons.tsx +2 -0
@@ -2253,7 +2253,7 @@
2253
2253
  };
2254
2254
  const embeddedStyle = style('group/btn-embedded', 'bg-transparent border border-transparent outline-none');
2255
2255
  const disabledStyle = style('bg-main-gray text-main-disabled cursor-not-allowed');
2256
- const Button = JSX(({ className, type = 'button', version = 'primary', shape = 'default', embedded, disabled, role, ariaLabel, data, dataTheme, children, onClick = noop, }) => {
2256
+ const Button = JSX(({ className, type = 'button', version = 'primary', shape = 'default', embedded, disabled, role, ariaLabel, data, dataTheme, children, wcmsIgnore, onClick = noop, }) => {
2257
2257
  const handleClick = useCallback(role !== 'tab' ? handlerDecorator(onClick) : onClick, [
2258
2258
  role,
2259
2259
  onClick,
@@ -2267,7 +2267,7 @@
2267
2267
  }, embedded ? 'justify-between' : 'justify-center', embedded || isRound ? 'p-0' : 'px-9 py-4', {
2268
2268
  'rounded-md': shape === 'default',
2269
2269
  'rounded-full': isRound,
2270
- }, className), type: type, role: role, "aria-label": ariaLabel, disabled: disabled, "aria-disabled": disabled ? 'true' : undefined, "data-theme": dataTheme, ...aspectsAttrs, onClick: handleClick, children: children }));
2270
+ }, className), type: type, role: role, "aria-label": ariaLabel, disabled: disabled, "aria-disabled": disabled ? 'true' : undefined, "data-theme": dataTheme, "data-wcms-ignore": wcmsIgnore, ...aspectsAttrs, onClick: handleClick, children: children }));
2271
2271
  });
2272
2272
 
2273
2273
  const CloseButton = JSX(({ className, onClose }) => (jsx("button", { className: style('flex justify-center items-center w-12 h-12 p-2xs bg-transparent border-none', className), onClick: onClose, title: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C", type: "button", children: jsx(Icon, { name: "CloseIcon", width: "20", height: "20", iconVersion: "gray" }) })));
@@ -4391,7 +4391,7 @@
4391
4391
  }
4392
4392
  })();
4393
4393
  }, [employerActivities, employerOrganization, organization, amountWorkers]);
4394
- return (jsx(DaDataInputControl, { label: "\u0418\u041D\u041D", isInteger: true, maxLength: 12, disabled: input?.filledByEsia && isEsiaAuthorize(field, input.name ?? ''), ...input, ...field(input?.name ?? ''), onDaDataChange: onDaDataChange }));
4394
+ return (jsx(DaDataInputControl, { label: "\u0418\u041D\u041D", isInteger: true, maxLength: 12, ...input, ...field(input?.name ?? ''), onDaDataChange: onDaDataChange }));
4395
4395
  });
4396
4396
 
4397
4397
  const DeliveryDateFiels = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0434\u043E\u0441\u0442\u0430\u0432\u043A\u0438", ...field(input?.name ?? '') })));
@@ -4470,7 +4470,7 @@
4470
4470
  const MIN_YEARS = 0;
4471
4471
  const Experience5YearsField = JSX(({ field, input }) => {
4472
4472
  const onChange = useCallback((value) => field(input?.name ?? '')?.onChange?.(String(clamp(Number(value), MIN_YEARS, MAX_YEARS))), []);
4473
- return (jsx(DaDataInputControl, { label: "\u0421\u0442\u0430\u0436", placeholder: "\u0417\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 5 \u043B\u0435\u0442", type: "number", disabled: input?.filledByEsia && isEsiaAuthorize(field, input.name ?? ''), ...field(input?.name ?? ''), ...input, onChange: onChange }));
4473
+ return (jsx(DaDataInputControl, { label: "\u0421\u0442\u0430\u0436", placeholder: "\u0417\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 5 \u043B\u0435\u0442", type: "number", ...field(input?.name ?? ''), ...input, onChange: onChange }));
4474
4474
  });
4475
4475
 
4476
4476
  const FamilyMembersField = JSX(({ field, input }) => {
@@ -4491,7 +4491,7 @@
4491
4491
  return (jsx(SelectField, { field: field, source: familyStatus, label: "\u0421\u0435\u043C\u0435\u0439\u043D\u043E\u0435 \u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435", fieldName: "familyStatus", input: input }));
4492
4492
  });
4493
4493
 
4494
- const GeneralSeniorityField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041E\u0431\u0449\u0438\u0439 \u0441\u0442\u0430\u0436", type: "number", maxLength: 2, placeholder: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043B\u0435\u0442", disabled: input?.filledByEsia && isEsiaAuthorize(field, input.name ?? ''), ...field(input?.name ?? ''), ...input })));
4494
+ const GeneralSeniorityField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041E\u0431\u0449\u0438\u0439 \u0441\u0442\u0430\u0436", type: "number", maxLength: 2, placeholder: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043B\u0435\u0442", ...field(input?.name ?? ''), ...input })));
4495
4495
 
4496
4496
  const HousingField = JSX(({ field, input }) => {
4497
4497
  const { data: housing } = useLeadFormData('HOUSE_TYPE');
@@ -4500,9 +4500,9 @@
4500
4500
 
4501
4501
  const InfoCardField = JSX(({ input }) => (jsx(InfoCard, { __html: input?.label })));
4502
4502
 
4503
- const JobsNumberField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043C\u0435\u0441\u0442 \u0440\u0430\u0431\u043E\u0442\u044B \u0437\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 5 \u043B\u0435\u0442", placeholder: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043C\u0435\u0441\u0442", isInteger: true, maxLength: 2, disabled: input?.filledByEsia && isEsiaAuthorize(field, input.name ?? ''), ...field(input?.name ?? ''), ...input })));
4503
+ const JobsNumberField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043C\u0435\u0441\u0442 \u0440\u0430\u0431\u043E\u0442\u044B \u0437\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 5 \u043B\u0435\u0442", placeholder: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043C\u0435\u0441\u0442", isInteger: true, maxLength: 2, ...field(input?.name ?? ''), ...input })));
4504
4504
 
4505
- const LastJobExperienceField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u0421\u0442\u0430\u0436 \u043D\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u043C \u0440\u0430\u0431\u043E\u0447\u0435\u043C \u043C\u0435\u0441\u0442\u0435", placeholder: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043B\u0435\u0442", type: "number", maxLength: 2, disabled: input?.filledByEsia && isEsiaAuthorize(field, input.name ?? ''), ...field(input?.name ?? ''), ...input })));
4505
+ const LastJobExperienceField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u0421\u0442\u0430\u0436 \u043D\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u043C \u0440\u0430\u0431\u043E\u0447\u0435\u043C \u043C\u0435\u0441\u0442\u0435", placeholder: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043B\u0435\u0442", type: "number", maxLength: 2, ...field(input?.name ?? ''), ...input })));
4506
4506
 
4507
4507
  const latinPattern = /^[\u0041-\u005A\u0061-\u007A\s]+$/u;
4508
4508
  const isLatin = (_ = '') => latinPattern.test(_);
@@ -4654,7 +4654,7 @@
4654
4654
  field?.('inn')?.onChange?.(item.data?.inn);
4655
4655
  updateOrganizationFields(store, field, item);
4656
4656
  }, []);
4657
- return (jsx(DaDataInputControl, { label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", disabled: input?.filledByEsia && isEsiaAuthorize(field, input.name ?? ''), ...input, ...field(input?.name ?? ''), onDaDataChange: onDaDataChange }));
4657
+ return (jsx(DaDataInputControl, { label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", ...input, ...field(input?.name ?? ''), onDaDataChange: onDaDataChange }));
4658
4658
  });
4659
4659
 
4660
4660
  const OtherIncomeField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u0418\u043D\u044B\u0435 \u0434\u043E\u0445\u043E\u0434\u044B", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, ...field(input?.name ?? ''), ...input })));
@@ -4794,7 +4794,7 @@
4794
4794
 
4795
4795
  const TotalIncomeField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u0421\u043E\u0432\u043E\u043A\u0443\u043F\u043D\u044B\u0439 \u043E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0434\u043E\u0445\u043E\u0434 \u0432 \u043C\u0435\u0441\u044F\u0446 \u043F\u043E\u0441\u043B\u0435 \u0432\u044B\u0447\u0435\u0442\u0430 \u043D\u0430\u043B\u043E\u0433\u043E\u0432 (\u0437\u0430\u0440\u043F\u043B\u0430\u0442\u0430, \u043F\u0440\u0435\u043C\u0438\u0438)", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, ...field(input?.name ?? ''), ...input })));
4796
4796
 
4797
- const WagesField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u0421\u043E\u0432\u043E\u043A\u0443\u043F\u043D\u044B\u0439 \u0434\u043E\u0445\u043E\u0434 \u0432 \u043C\u0435\u0441\u044F\u0446 \u043F\u043E\u0441\u043B\u0435 \u0432\u044B\u0447\u0435\u0442\u0430 \u043D\u0430\u043B\u043E\u0433\u043E\u0432 (\u0437\u0430\u0440\u043F\u043B\u0430\u0442\u0430, \u043F\u0440\u0435\u043C\u0438\u0438)", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, disabled: input?.filledByEsia && isEsiaAuthorize(field, input.name ?? ''), ...field(input?.name ?? ''), ...input })));
4797
+ const WagesField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u0421\u043E\u0432\u043E\u043A\u0443\u043F\u043D\u044B\u0439 \u0434\u043E\u0445\u043E\u0434 \u0432 \u043C\u0435\u0441\u044F\u0446 \u043F\u043E\u0441\u043B\u0435 \u0432\u044B\u0447\u0435\u0442\u0430 \u043D\u0430\u043B\u043E\u0433\u043E\u0432 (\u0437\u0430\u0440\u043F\u043B\u0430\u0442\u0430, \u043F\u0440\u0435\u043C\u0438\u0438)", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, ...field(input?.name ?? ''), ...input })));
4798
4798
 
4799
4799
  const DELIVERY_CITIES_REF = {
4800
4800
  $ref: '/wcms-resources/delivery-cities-data.json',
@@ -6343,7 +6343,7 @@
6343
6343
  const SwipeListScrollButtons = JSX(({ className, scroll, hasBlur, arrowsPadded, isBottom }) => {
6344
6344
  const { canScrollLeft, canScrollRight, scrollLeft, scrollRight } = scroll;
6345
6345
  const isArrowPadded = arrowsPadded && !isBottom;
6346
- return (jsxs("div", { className: className, children: [hasBlur ? renderBlur(scroll) : null, canScrollLeft ? (jsx(ArrowLeftButton, { className: style(buttonStyle(isBottom), isArrowPadded ? 'left-1' : 'left-0'), onClick: scrollLeft })) : null, canScrollRight ? (jsx(ArrowRightButton, { className: style(buttonStyle(isBottom), isArrowPadded ? 'right-1' : 'right-0'), onClick: scrollRight })) : null] }));
6346
+ return (jsxs("div", { className: className, children: [hasBlur ? renderBlur(scroll) : null, canScrollLeft ? (jsx(ArrowLeftButton, { wcmsIgnore: true, className: style(buttonStyle(isBottom), isArrowPadded ? 'left-1' : 'left-0'), onClick: scrollLeft })) : null, canScrollRight ? (jsx(ArrowRightButton, { wcmsIgnore: true, className: style(buttonStyle(isBottom), isArrowPadded ? 'right-1' : 'right-0'), onClick: scrollRight })) : null] }));
6347
6347
  });
6348
6348
  const renderBlur = (scroll) => (jsxs("div", { children: [scroll.canScrollLeft ? (jsx("div", { className: style(blurBaseStyle, 'left-0 bg-opacity-from-white group-data-secondary:bg-none') })) : null, scroll.canScrollRight ? (jsx("div", { className: style(blurBaseStyle, 'right-0 bg-opacity-to-white group-data-secondary:bg-none') })) : null] }));
6349
6349
  const buttonStyle = (isBottom = false) => style('absolute z-40', isBottom ? 'bottom-[56px]' : 'top-[calc(50%-24px)]');
@@ -11461,7 +11461,7 @@
11461
11461
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
11462
11462
  });
11463
11463
 
11464
- const packageVersion = "0.14.802";
11464
+ const packageVersion = "0.14.804";
11465
11465
 
11466
11466
  exports.Blocks = Blocks;
11467
11467
  exports.ContentPage = ContentPage;