@hartl-services/medusa-affiliate 0.3.0 → 0.4.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.
@@ -2852,6 +2852,49 @@ const AffiliateEditRoute = () => {
2852
2852
  const { id } = reactRouterDom.useParams();
2853
2853
  return /* @__PURE__ */ jsxRuntime.jsx(AffiliateFormPage, { mode: "edit", affiliateId: id });
2854
2854
  };
2855
+ function ConsignmentReportsPage() {
2856
+ const reports = reactQuery.useQuery({
2857
+ queryKey: ["affiliate", "consignment-reports"],
2858
+ queryFn: () => listAdminConsignmentReports({ limit: 100, offset: 0 })
2859
+ });
2860
+ return /* @__PURE__ */ jsxRuntime.jsxs(ui.Container, { className: "grid gap-5", children: [
2861
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
2862
+ /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { level: "h1", children: "Kommissions-Monatsmeldungen" }),
2863
+ /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { className: "text-ui-fg-subtle", children: "Eingereichte Inventuren prüfen und abrechnen." })
2864
+ ] }),
2865
+ reports.isLoading ? /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { children: "Monatsmeldungen werden geladen …" }) : reports.isError ? /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { className: "text-ui-fg-error", children: getErrorMessage(reports.error) }) : !reports.data?.reports.length ? /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { className: "text-ui-fg-subtle", children: "Keine Monatsmeldungen vorhanden." }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full text-left text-sm", children: [
2866
+ /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "border-b", children: [
2867
+ /* @__PURE__ */ jsxRuntime.jsx("th", { className: "p-2", children: "Affiliate" }),
2868
+ /* @__PURE__ */ jsxRuntime.jsx("th", { className: "p-2", children: "Zeitraum" }),
2869
+ /* @__PURE__ */ jsxRuntime.jsx("th", { className: "p-2", children: "Status" }),
2870
+ /* @__PURE__ */ jsxRuntime.jsx("th", { className: "p-2", children: "Abweichungen" }),
2871
+ /* @__PURE__ */ jsxRuntime.jsx("th", { className: "p-2", children: "Draft / Order" }),
2872
+ /* @__PURE__ */ jsxRuntime.jsx("th", { className: "p-2" })
2873
+ ] }) }),
2874
+ /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: reports.data.reports.map((report) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "border-b", children: [
2875
+ /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-2", children: report.affiliate_id }),
2876
+ /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-2", children: formatDate(report.period_start) }),
2877
+ /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-2", children: report.status }),
2878
+ /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-2", children: report.lines.filter(
2879
+ (line) => line.requires_admin_clarification || line.expected_quantity !== line.counted_quantity
2880
+ ).length }),
2881
+ /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-2", children: report.order_id ?? report.draft_order_id ?? "–" }),
2882
+ /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-2 text-right", children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", variant: "secondary", asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
2883
+ reactRouterDom.Link,
2884
+ {
2885
+ to: `/affiliates/consignment-reports/${report.id}`,
2886
+ children: "Prüfen"
2887
+ }
2888
+ ) }) })
2889
+ ] }, report.id)) })
2890
+ ] }) })
2891
+ ] });
2892
+ }
2893
+ const ConsignmentReportsRoute = () => /* @__PURE__ */ jsxRuntime.jsx(ConsignmentReportsPage, {});
2894
+ const config$4 = adminSdk.defineRouteConfig({
2895
+ label: "Kommissionsmeldungen",
2896
+ rank: 83
2897
+ });
2855
2898
  const yearStart = () => `${(/* @__PURE__ */ new Date()).getFullYear()}-01-01`;
2856
2899
  const formatCurrencyTotals = (totals) => totals.length ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid gap-1", children: totals.map((total) => /* @__PURE__ */ jsxRuntime.jsx("span", { children: total.currency_code ? formatAmount(total.amount, total.currency_code) : `${total.amount} (Währung unbekannt)` }, total.currency_code ?? "unknown-currency")) }) : "–";
2857
2900
  function AffiliateDistributionReportPage() {
@@ -2962,53 +3005,10 @@ function AffiliateDistributionReportPage() {
2962
3005
  ] });
2963
3006
  }
2964
3007
  const AffiliateDistributionReportRoute = () => /* @__PURE__ */ jsxRuntime.jsx(AffiliateDistributionReportPage, {});
2965
- const config$4 = adminSdk.defineRouteConfig({
3008
+ const config$3 = adminSdk.defineRouteConfig({
2966
3009
  label: "Vertriebsreport",
2967
3010
  rank: 85
2968
3011
  });
2969
- function ConsignmentReportsPage() {
2970
- const reports = reactQuery.useQuery({
2971
- queryKey: ["affiliate", "consignment-reports"],
2972
- queryFn: () => listAdminConsignmentReports({ limit: 100, offset: 0 })
2973
- });
2974
- return /* @__PURE__ */ jsxRuntime.jsxs(ui.Container, { className: "grid gap-5", children: [
2975
- /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
2976
- /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { level: "h1", children: "Kommissions-Monatsmeldungen" }),
2977
- /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { className: "text-ui-fg-subtle", children: "Eingereichte Inventuren prüfen und abrechnen." })
2978
- ] }),
2979
- reports.isLoading ? /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { children: "Monatsmeldungen werden geladen …" }) : reports.isError ? /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { className: "text-ui-fg-error", children: getErrorMessage(reports.error) }) : !reports.data?.reports.length ? /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { className: "text-ui-fg-subtle", children: "Keine Monatsmeldungen vorhanden." }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full text-left text-sm", children: [
2980
- /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "border-b", children: [
2981
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: "p-2", children: "Affiliate" }),
2982
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: "p-2", children: "Zeitraum" }),
2983
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: "p-2", children: "Status" }),
2984
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: "p-2", children: "Abweichungen" }),
2985
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: "p-2", children: "Draft / Order" }),
2986
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: "p-2" })
2987
- ] }) }),
2988
- /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: reports.data.reports.map((report) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "border-b", children: [
2989
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-2", children: report.affiliate_id }),
2990
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-2", children: formatDate(report.period_start) }),
2991
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-2", children: report.status }),
2992
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-2", children: report.lines.filter(
2993
- (line) => line.requires_admin_clarification || line.expected_quantity !== line.counted_quantity
2994
- ).length }),
2995
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-2", children: report.order_id ?? report.draft_order_id ?? "–" }),
2996
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-2 text-right", children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", variant: "secondary", asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
2997
- reactRouterDom.Link,
2998
- {
2999
- to: `/affiliates/consignment-reports/${report.id}`,
3000
- children: "Prüfen"
3001
- }
3002
- ) }) })
3003
- ] }, report.id)) })
3004
- ] }) })
3005
- ] });
3006
- }
3007
- const ConsignmentReportsRoute = () => /* @__PURE__ */ jsxRuntime.jsx(ConsignmentReportsPage, {});
3008
- const config$3 = adminSdk.defineRouteConfig({
3009
- label: "Kommissionsmeldungen",
3010
- rank: 83
3011
- });
3012
3012
  const NewAffiliateRoute = () => /* @__PURE__ */ jsxRuntime.jsx(AffiliateFormPage, { mode: "create" });
3013
3013
  const config$2 = adminSdk.defineRouteConfig({
3014
3014
  label: texts.routes.newAffiliate
@@ -3625,13 +3625,13 @@ const routeModule = {
3625
3625
  path: "/affiliates/:id"
3626
3626
  },
3627
3627
  {
3628
- Component: AffiliateDistributionReportRoute,
3629
- path: "/affiliates/distribution-reports",
3628
+ Component: ConsignmentReportsRoute,
3629
+ path: "/affiliates/consignment-reports",
3630
3630
  handle: { label: config$4.label, translationNs: config$4.translationNs }
3631
3631
  },
3632
3632
  {
3633
- Component: ConsignmentReportsRoute,
3634
- path: "/affiliates/consignment-reports",
3633
+ Component: AffiliateDistributionReportRoute,
3634
+ path: "/affiliates/distribution-reports",
3635
3635
  handle: { label: config$3.label, translationNs: config$3.translationNs }
3636
3636
  },
3637
3637
  {
@@ -3678,7 +3678,7 @@ const menuItemModule = {
3678
3678
  translationNs: void 0
3679
3679
  },
3680
3680
  {
3681
- label: config$3.label,
3681
+ label: config$4.label,
3682
3682
  icon: void 0,
3683
3683
  path: "/affiliates/consignment-reports",
3684
3684
  nested: void 0,
@@ -3686,7 +3686,7 @@ const menuItemModule = {
3686
3686
  translationNs: void 0
3687
3687
  },
3688
3688
  {
3689
- label: config$4.label,
3689
+ label: config$3.label,
3690
3690
  icon: void 0,
3691
3691
  path: "/affiliates/distribution-reports",
3692
3692
  nested: void 0,
@@ -2849,6 +2849,49 @@ const AffiliateEditRoute = () => {
2849
2849
  const { id } = useParams();
2850
2850
  return /* @__PURE__ */ jsx(AffiliateFormPage, { mode: "edit", affiliateId: id });
2851
2851
  };
2852
+ function ConsignmentReportsPage() {
2853
+ const reports = useQuery({
2854
+ queryKey: ["affiliate", "consignment-reports"],
2855
+ queryFn: () => listAdminConsignmentReports({ limit: 100, offset: 0 })
2856
+ });
2857
+ return /* @__PURE__ */ jsxs(Container, { className: "grid gap-5", children: [
2858
+ /* @__PURE__ */ jsxs("div", { children: [
2859
+ /* @__PURE__ */ jsx(Heading, { level: "h1", children: "Kommissions-Monatsmeldungen" }),
2860
+ /* @__PURE__ */ jsx(Text, { className: "text-ui-fg-subtle", children: "Eingereichte Inventuren prüfen und abrechnen." })
2861
+ ] }),
2862
+ reports.isLoading ? /* @__PURE__ */ jsx(Text, { children: "Monatsmeldungen werden geladen …" }) : reports.isError ? /* @__PURE__ */ jsx(Text, { className: "text-ui-fg-error", children: getErrorMessage(reports.error) }) : !reports.data?.reports.length ? /* @__PURE__ */ jsx(Text, { className: "text-ui-fg-subtle", children: "Keine Monatsmeldungen vorhanden." }) : /* @__PURE__ */ jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxs("table", { className: "w-full text-left text-sm", children: [
2863
+ /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { className: "border-b", children: [
2864
+ /* @__PURE__ */ jsx("th", { className: "p-2", children: "Affiliate" }),
2865
+ /* @__PURE__ */ jsx("th", { className: "p-2", children: "Zeitraum" }),
2866
+ /* @__PURE__ */ jsx("th", { className: "p-2", children: "Status" }),
2867
+ /* @__PURE__ */ jsx("th", { className: "p-2", children: "Abweichungen" }),
2868
+ /* @__PURE__ */ jsx("th", { className: "p-2", children: "Draft / Order" }),
2869
+ /* @__PURE__ */ jsx("th", { className: "p-2" })
2870
+ ] }) }),
2871
+ /* @__PURE__ */ jsx("tbody", { children: reports.data.reports.map((report) => /* @__PURE__ */ jsxs("tr", { className: "border-b", children: [
2872
+ /* @__PURE__ */ jsx("td", { className: "p-2", children: report.affiliate_id }),
2873
+ /* @__PURE__ */ jsx("td", { className: "p-2", children: formatDate(report.period_start) }),
2874
+ /* @__PURE__ */ jsx("td", { className: "p-2", children: report.status }),
2875
+ /* @__PURE__ */ jsx("td", { className: "p-2", children: report.lines.filter(
2876
+ (line) => line.requires_admin_clarification || line.expected_quantity !== line.counted_quantity
2877
+ ).length }),
2878
+ /* @__PURE__ */ jsx("td", { className: "p-2", children: report.order_id ?? report.draft_order_id ?? "–" }),
2879
+ /* @__PURE__ */ jsx("td", { className: "p-2 text-right", children: /* @__PURE__ */ jsx(Button, { size: "small", variant: "secondary", asChild: true, children: /* @__PURE__ */ jsx(
2880
+ Link,
2881
+ {
2882
+ to: `/affiliates/consignment-reports/${report.id}`,
2883
+ children: "Prüfen"
2884
+ }
2885
+ ) }) })
2886
+ ] }, report.id)) })
2887
+ ] }) })
2888
+ ] });
2889
+ }
2890
+ const ConsignmentReportsRoute = () => /* @__PURE__ */ jsx(ConsignmentReportsPage, {});
2891
+ const config$4 = defineRouteConfig({
2892
+ label: "Kommissionsmeldungen",
2893
+ rank: 83
2894
+ });
2852
2895
  const yearStart = () => `${(/* @__PURE__ */ new Date()).getFullYear()}-01-01`;
2853
2896
  const formatCurrencyTotals = (totals) => totals.length ? /* @__PURE__ */ jsx("div", { className: "grid gap-1", children: totals.map((total) => /* @__PURE__ */ jsx("span", { children: total.currency_code ? formatAmount(total.amount, total.currency_code) : `${total.amount} (Währung unbekannt)` }, total.currency_code ?? "unknown-currency")) }) : "–";
2854
2897
  function AffiliateDistributionReportPage() {
@@ -2959,53 +3002,10 @@ function AffiliateDistributionReportPage() {
2959
3002
  ] });
2960
3003
  }
2961
3004
  const AffiliateDistributionReportRoute = () => /* @__PURE__ */ jsx(AffiliateDistributionReportPage, {});
2962
- const config$4 = defineRouteConfig({
3005
+ const config$3 = defineRouteConfig({
2963
3006
  label: "Vertriebsreport",
2964
3007
  rank: 85
2965
3008
  });
2966
- function ConsignmentReportsPage() {
2967
- const reports = useQuery({
2968
- queryKey: ["affiliate", "consignment-reports"],
2969
- queryFn: () => listAdminConsignmentReports({ limit: 100, offset: 0 })
2970
- });
2971
- return /* @__PURE__ */ jsxs(Container, { className: "grid gap-5", children: [
2972
- /* @__PURE__ */ jsxs("div", { children: [
2973
- /* @__PURE__ */ jsx(Heading, { level: "h1", children: "Kommissions-Monatsmeldungen" }),
2974
- /* @__PURE__ */ jsx(Text, { className: "text-ui-fg-subtle", children: "Eingereichte Inventuren prüfen und abrechnen." })
2975
- ] }),
2976
- reports.isLoading ? /* @__PURE__ */ jsx(Text, { children: "Monatsmeldungen werden geladen …" }) : reports.isError ? /* @__PURE__ */ jsx(Text, { className: "text-ui-fg-error", children: getErrorMessage(reports.error) }) : !reports.data?.reports.length ? /* @__PURE__ */ jsx(Text, { className: "text-ui-fg-subtle", children: "Keine Monatsmeldungen vorhanden." }) : /* @__PURE__ */ jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxs("table", { className: "w-full text-left text-sm", children: [
2977
- /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { className: "border-b", children: [
2978
- /* @__PURE__ */ jsx("th", { className: "p-2", children: "Affiliate" }),
2979
- /* @__PURE__ */ jsx("th", { className: "p-2", children: "Zeitraum" }),
2980
- /* @__PURE__ */ jsx("th", { className: "p-2", children: "Status" }),
2981
- /* @__PURE__ */ jsx("th", { className: "p-2", children: "Abweichungen" }),
2982
- /* @__PURE__ */ jsx("th", { className: "p-2", children: "Draft / Order" }),
2983
- /* @__PURE__ */ jsx("th", { className: "p-2" })
2984
- ] }) }),
2985
- /* @__PURE__ */ jsx("tbody", { children: reports.data.reports.map((report) => /* @__PURE__ */ jsxs("tr", { className: "border-b", children: [
2986
- /* @__PURE__ */ jsx("td", { className: "p-2", children: report.affiliate_id }),
2987
- /* @__PURE__ */ jsx("td", { className: "p-2", children: formatDate(report.period_start) }),
2988
- /* @__PURE__ */ jsx("td", { className: "p-2", children: report.status }),
2989
- /* @__PURE__ */ jsx("td", { className: "p-2", children: report.lines.filter(
2990
- (line) => line.requires_admin_clarification || line.expected_quantity !== line.counted_quantity
2991
- ).length }),
2992
- /* @__PURE__ */ jsx("td", { className: "p-2", children: report.order_id ?? report.draft_order_id ?? "–" }),
2993
- /* @__PURE__ */ jsx("td", { className: "p-2 text-right", children: /* @__PURE__ */ jsx(Button, { size: "small", variant: "secondary", asChild: true, children: /* @__PURE__ */ jsx(
2994
- Link,
2995
- {
2996
- to: `/affiliates/consignment-reports/${report.id}`,
2997
- children: "Prüfen"
2998
- }
2999
- ) }) })
3000
- ] }, report.id)) })
3001
- ] }) })
3002
- ] });
3003
- }
3004
- const ConsignmentReportsRoute = () => /* @__PURE__ */ jsx(ConsignmentReportsPage, {});
3005
- const config$3 = defineRouteConfig({
3006
- label: "Kommissionsmeldungen",
3007
- rank: 83
3008
- });
3009
3009
  const NewAffiliateRoute = () => /* @__PURE__ */ jsx(AffiliateFormPage, { mode: "create" });
3010
3010
  const config$2 = defineRouteConfig({
3011
3011
  label: texts.routes.newAffiliate
@@ -3622,13 +3622,13 @@ const routeModule = {
3622
3622
  path: "/affiliates/:id"
3623
3623
  },
3624
3624
  {
3625
- Component: AffiliateDistributionReportRoute,
3626
- path: "/affiliates/distribution-reports",
3625
+ Component: ConsignmentReportsRoute,
3626
+ path: "/affiliates/consignment-reports",
3627
3627
  handle: { label: config$4.label, translationNs: config$4.translationNs }
3628
3628
  },
3629
3629
  {
3630
- Component: ConsignmentReportsRoute,
3631
- path: "/affiliates/consignment-reports",
3630
+ Component: AffiliateDistributionReportRoute,
3631
+ path: "/affiliates/distribution-reports",
3632
3632
  handle: { label: config$3.label, translationNs: config$3.translationNs }
3633
3633
  },
3634
3634
  {
@@ -3675,7 +3675,7 @@ const menuItemModule = {
3675
3675
  translationNs: void 0
3676
3676
  },
3677
3677
  {
3678
- label: config$3.label,
3678
+ label: config$4.label,
3679
3679
  icon: void 0,
3680
3680
  path: "/affiliates/consignment-reports",
3681
3681
  nested: void 0,
@@ -3683,7 +3683,7 @@ const menuItemModule = {
3683
3683
  translationNs: void 0
3684
3684
  },
3685
3685
  {
3686
- label: config$4.label,
3686
+ label: config$3.label,
3687
3687
  icon: void 0,
3688
3688
  path: "/affiliates/distribution-reports",
3689
3689
  nested: void 0,
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.respondToAffiliateCouponCommandError = exports.requireAdminCouponAffiliate = exports.requireStoreCouponAffiliate = exports.toAdminAffiliateCouponCode = exports.toStoreAffiliateCouponCode = void 0;
4
4
  const utils_1 = require("@medusajs/framework/utils");
5
5
  const affiliate_coupon_policy_1 = require("../modules/affiliate/domain/affiliate-coupon-policy");
6
- const affiliate_self_service_http_1 = require("./affiliate-self-service-http");
7
6
  const requiredWireDate = (value, field) => {
8
7
  if (value == null) {
9
8
  throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, `Affiliate coupon ${field} is missing.`);
@@ -36,7 +35,6 @@ const toAdminAffiliateCouponCode = (coupon, affiliate) => ({
36
35
  });
37
36
  exports.toAdminAffiliateCouponCode = toAdminAffiliateCouponCode;
38
37
  const requireStoreCouponAffiliate = async (affiliateService, customerId, requireActive) => {
39
- await (0, affiliate_self_service_http_1.requireAffiliateSelfService)(affiliateService);
40
38
  const [affiliates] = await affiliateService.listAffiliateRecords({
41
39
  customer_id: customerId,
42
40
  limit: 1,
@@ -149,4 +147,4 @@ const respondToAffiliateCouponCommandError = async (res, error, affiliateService
149
147
  return false;
150
148
  };
151
149
  exports.respondToAffiliateCouponCommandError = respondToAffiliateCouponCommandError;
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaWxpYXRlLWNvdXBvbi1odHRwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9hZmZpbGlhdGUtY291cG9uLWh0dHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQXVEO0FBSXZELGlHQUFrRztBQU1sRywrRUFBMkU7QUFFM0UsTUFBTSxnQkFBZ0IsR0FBRyxDQUN2QixLQUFnQyxFQUNoQyxLQUFhLEVBQ0wsRUFBRTtJQUNWLElBQUksS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2xCLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFDbEMsb0JBQW9CLEtBQUssY0FBYyxDQUN4QyxDQUFBO0lBQ0gsQ0FBQztJQUNELE9BQU8sS0FBSyxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7QUFDNUQsQ0FBQyxDQUFBO0FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQTJCLEVBQWlCLEVBQUUsQ0FDdEUsS0FBSyxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7QUFFOUMsTUFBTSwwQkFBMEIsR0FBRyxDQUN4QyxNQUEwQixFQUMxQixTQUF1QyxFQUNiLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRTtJQUNiLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtJQUNqQixNQUFNLEVBQUUsSUFBQSxzREFBNEIsRUFBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQztJQUM5RCxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07SUFDckIsVUFBVSxFQUFFLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDO0lBQzdELFVBQVUsRUFBRSxn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
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaWxpYXRlLWNvdXBvbi1odHRwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9hZmZpbGlhdGUtY291cG9uLWh0dHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQXVEO0FBSXZELGlHQUFrRztBQU9sRyxNQUFNLGdCQUFnQixHQUFHLENBQ3ZCLEtBQWdDLEVBQ2hDLEtBQWEsRUFDTCxFQUFFO0lBQ1YsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7UUFDbEIsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUNsQyxvQkFBb0IsS0FBSyxjQUFjLENBQ3hDLENBQUE7SUFDSCxDQUFDO0lBQ0QsT0FBTyxLQUFLLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtBQUM1RCxDQUFDLENBQUE7QUFFRCxNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBMkIsRUFBaUIsRUFBRSxDQUN0RSxLQUFLLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtBQUU5QyxNQUFNLDBCQUEwQixHQUFHLENBQ3hDLE1BQTBCLEVBQzFCLFNBQXVDLEVBQ2IsRUFBRSxDQUFDLENBQUM7SUFDOUIsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFO0lBQ2IsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO0lBQ2pCLE1BQU0sRUFBRSxJQUFBLHNEQUE0QixFQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDO0lBQzlELE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtJQUNyQixVQUFVLEVBQUUsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUM7SUFDN0QsVUFBVSxFQUFFLGdCQUFnQixDQUFDLE1B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
@@ -1,37 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.requireAffiliateReferralBaseUrl = exports.requireAffiliateSelfService = exports.getAffiliateSelfServiceStatus = exports.AFFILIATE_SELF_SERVICE_DISABLED_MESSAGE = exports.AFFILIATE_SELF_SERVICE_DISABLED_CODE = void 0;
3
+ exports.requireAffiliateReferralBaseUrl = void 0;
4
4
  const utils_1 = require("@medusajs/framework/utils");
5
- exports.AFFILIATE_SELF_SERVICE_DISABLED_CODE = "partner_portal_disabled";
6
- exports.AFFILIATE_SELF_SERVICE_DISABLED_MESSAGE = "Der Affiliate-Self-Service ist in der Shop-Konfiguration deaktiviert. Deshalb stehen die Partnerportal-Funktionen nicht zur Verfügung (affiliate.portal.enabled: false).";
7
- const disabledError = () => new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, exports.AFFILIATE_SELF_SERVICE_DISABLED_MESSAGE, exports.AFFILIATE_SELF_SERVICE_DISABLED_CODE);
8
- const getAffiliateSelfServiceStatus = async (affiliateService) => {
9
- const options = await affiliateService.getPluginOptions();
10
- return options.portal.enabled
11
- ? { enabled: true }
12
- : {
13
- enabled: false,
14
- code: exports.AFFILIATE_SELF_SERVICE_DISABLED_CODE,
15
- message: exports.AFFILIATE_SELF_SERVICE_DISABLED_MESSAGE,
16
- };
17
- };
18
- exports.getAffiliateSelfServiceStatus = getAffiliateSelfServiceStatus;
19
- const requireAffiliateSelfService = async (affiliateService) => {
20
- const options = await affiliateService.getPluginOptions();
21
- if (!options.portal.enabled) {
22
- throw disabledError();
23
- }
24
- };
25
- exports.requireAffiliateSelfService = requireAffiliateSelfService;
5
+ /**
6
+ * Whether the partner portal is reachable at all is decided by the
7
+ * `partner_portal` feature toggle at the HTTP boundary (see middlewares.ts).
8
+ * A route that builds referral links additionally needs the shop's
9
+ * configured base URL.
10
+ */
26
11
  const requireAffiliateReferralBaseUrl = async (affiliateService) => {
27
12
  const options = await affiliateService.getPluginOptions();
28
- if (!options.portal.enabled) {
29
- throw disabledError();
30
- }
31
13
  if (!options.portal.referral_base_url) {
32
- throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, "Affiliate self-service is enabled without a referral base URL.");
14
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, "Für das Partnerportal fehlt portal.referral_base_url in der Plugin-Konfiguration.");
33
15
  }
34
16
  return options.portal.referral_base_url;
35
17
  };
36
18
  exports.requireAffiliateReferralBaseUrl = requireAffiliateReferralBaseUrl;
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaWxpYXRlLXNlbGYtc2VydmljZS1odHRwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9hZmZpbGlhdGUtc2VsZi1zZXJ2aWNlLWh0dHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQXVEO0FBSzFDLFFBQUEsb0NBQW9DLEdBQy9DLHlCQUFrQyxDQUFBO0FBQ3ZCLFFBQUEsdUNBQXVDLEdBQ2xELDBLQUEwSyxDQUFBO0FBRTVLLE1BQU0sYUFBYSxHQUFHLEdBQWdCLEVBQUUsQ0FDdEMsSUFBSSxtQkFBVyxDQUNiLG1CQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFDN0IsK0NBQXVDLEVBQ3ZDLDRDQUFvQyxDQUNyQyxDQUFBO0FBRUksTUFBTSw2QkFBNkIsR0FBRyxLQUFLLEVBQ2hELGdCQUF3QyxFQUNILEVBQUU7SUFDdkMsTUFBTSxPQUFPLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO0lBQ3pELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1FBQzNCLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7UUFDbkIsQ0FBQyxDQUFDO1lBQ0UsT0FBTyxFQUFFLEtBQUs7WUFDZCxJQUFJLEVBQUUsNENBQW9DO1lBQzFDLE9BQU8sRUFBRSwrQ0FBdUM7U0FDakQsQ0FBQTtBQUNQLENBQUMsQ0FBQTtBQVhZLFFBQUEsNkJBQTZCLGlDQVd6QztBQUVNLE1BQU0sMkJBQTJCLEdBQUcsS0FBSyxFQUM5QyxnQkFBd0MsRUFDekIsRUFBRTtJQUNqQixNQUFNLE9BQU8sR0FBRyxNQUFNLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFLENBQUE7SUFDekQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDNUIsTUFBTSxhQUFhLEVBQUUsQ0FBQTtJQUN2QixDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBUFksUUFBQSwyQkFBMkIsK0JBT3ZDO0FBRU0sTUFBTSwrQkFBK0IsR0FBRyxLQUFLLEVBQ2xELGdCQUF3QyxFQUN2QixFQUFFO0lBQ25CLE1BQU0sT0FBTyxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtJQUN6RCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM1QixNQUFNLGFBQWEsRUFBRSxDQUFBO0lBQ3ZCLENBQUM7SUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFDbEMsZ0VBQWdFLENBQ2pFLENBQUE7SUFDSCxDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFBO0FBQ3pDLENBQUMsQ0FBQTtBQWRZLFFBQUEsK0JBQStCLG1DQWMzQyJ9
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaWxpYXRlLXNlbGYtc2VydmljZS1odHRwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9hZmZpbGlhdGUtc2VsZi1zZXJ2aWNlLWh0dHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQXVEO0FBSXZEOzs7OztHQUtHO0FBQ0ksTUFBTSwrQkFBK0IsR0FBRyxLQUFLLEVBQ2xELGdCQUF3QyxFQUN2QixFQUFFO0lBQ25CLE1BQU0sT0FBTyxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtJQUN6RCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFDbEMsbUZBQW1GLENBQ3BGLENBQUE7SUFDSCxDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFBO0FBQ3pDLENBQUMsQ0FBQTtBQVhZLFFBQUEsK0JBQStCLG1DQVczQyJ9
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.holdAffiliateCartRequestLocks = exports.bindAffiliateReferralCookie = void 0;
37
37
  const Sentry = __importStar(require("@sentry/node"));
38
+ const medusa_base_1 = require("@hartl-services/medusa-base");
38
39
  const http_1 = require("@medusajs/framework/http");
39
40
  const utils_1 = require("@medusajs/framework/utils");
40
41
  const registered_email_checkout_1 = require("../utils/registered-email-checkout");
@@ -47,6 +48,7 @@ const affiliate_cart_operation_lock_1 = require("../utils/affiliate-cart-operati
47
48
  const affiliate_coupon_cart_1 = require("../workflows/affiliate/affiliate-coupon-cart");
48
49
  const ensure_affiliate_coupon_promotion_1 = require("../workflows/affiliate/ensure-affiliate-coupon-promotion");
49
50
  const reconcile_affiliate_coupon_1 = require("../workflows/affiliate/reconcile-affiliate-coupon");
51
+ const plugin_features_1 = require("../plugin-features");
50
52
  const reportTolerated = (req, area, message, error) => {
51
53
  Sentry.captureException(error, {
52
54
  tags: { area },
@@ -306,8 +308,65 @@ const enforceConsignmentReportOwnership = async (req, _res, next) => {
306
308
  }
307
309
  next();
308
310
  };
311
+ /**
312
+ * Feature-toggle gate. Without `methods` Medusa registers the entry with
313
+ * `app.use`, i.e. as a prefix match that runs before every method-specific
314
+ * middleware (authentication included), so a disabled feature answers 404
315
+ * for the route and everything below it. Without keys only the plugin switch
316
+ * is checked; several keys must all be enabled (a feature is only effective
317
+ * while its plugin and parent feature are on).
318
+ */
319
+ const gate = (matcher, ...keys) => ({
320
+ matcher,
321
+ middlewares: [(0, medusa_base_1.requirePluginFeature)(plugin_features_1.affiliatePluginFeatures, ...keys)],
322
+ });
309
323
  exports.default = (0, http_1.defineMiddlewares)({
310
324
  routes: [
325
+ // Feature-toggle gates (see plugin-features.ts). They cover every
326
+ // Affiliate route and nothing else: the cart path (/store/carts*,
327
+ // payment sessions, /admin/orders/:id/cancel) and all workflow hooks never
328
+ // read a toggle, so checkout integrity does not depend on them.
329
+ //
330
+ // Plugin switch
331
+ gate("/store/affiliates"),
332
+ gate("/store/affiliate-referrals"),
333
+ gate("/admin/affiliates"),
334
+ gate("/admin/affiliate-applications"),
335
+ gate("/admin/affiliate-program-settings"),
336
+ gate("/admin/customers/:id/affiliate"),
337
+ gate("/admin/orders/:id/affiliate-attribution"),
338
+ // Kommissionsvertrieb
339
+ gate("/store/affiliates/consignment-inventory", "consignment"),
340
+ gate("/store/affiliates/consignment-reports", "consignment"),
341
+ gate("/admin/consignment-reports", "consignment"),
342
+ gate("/admin/affiliates/:id/distribution", "consignment"),
343
+ gate("/admin/affiliates/:id/consignment-transfers", "consignment"),
344
+ gate("/admin/affiliates/:id/consignment-reminders", "consignment"),
345
+ gate("/admin/affiliate-distribution-reports", "consignment"),
346
+ // Provisionen
347
+ gate("/store/affiliates/me/commissions", "commissions"),
348
+ gate("/store/affiliates/me/dashboard", "commissions"),
349
+ gate("/admin/affiliate-reports", "commissions"),
350
+ // Gutscheinsystem
351
+ gate("/store/affiliates/coupon-labels", "coupons"),
352
+ gate("/store/affiliate-referrals/apply-coupon", "coupons"),
353
+ gate("/admin/affiliates/:id/coupon-codes", "coupons"),
354
+ gate("/store/affiliates/me/coupon-codes", "coupons_self_service", "partner_portal"),
355
+ // Partnerportal. /store/affiliates/me is gated exactly (with methods) so
356
+ // the gate does not also swallow the /me/* feature routes.
357
+ {
358
+ matcher: "/store/affiliates/me",
359
+ methods: ["GET", "POST"],
360
+ middlewares: [
361
+ (0, medusa_base_1.requirePluginFeature)(plugin_features_1.affiliatePluginFeatures, "partner_portal"),
362
+ ],
363
+ },
364
+ gate("/store/affiliates/register", "partner_portal"),
365
+ // Empfehlungslinks
366
+ gate("/store/affiliates/me/slugs", "referral_links", "partner_portal"),
367
+ gate("/store/affiliate-referrals/capture", "referral_links"),
368
+ gate("/store/affiliates/resolve-referral", "referral_links"),
369
+ gate("/admin/affiliates/:id/slugs", "referral_links"),
311
370
  // Registered-email gates. The storefront makes these calls from the browser
312
371
  // with a Medusa session cookie, hence "session" first; bearer covers its
313
372
  // server-side calls. allowUnauthenticated keeps guest checkout working -
@@ -783,4 +842,4 @@ exports.default = (0, http_1.defineMiddlewares)({
783
842
  },
784
843
  ],
785
844
  });
786
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFEQUFzQztBQUN0QyxtREFLaUM7QUFPakMscURBSWtDO0FBRWxDLGtGQUkyQztBQUMzQyxnRUFBbUU7QUFDbkUsOERBQTZEO0FBQzdELDZDQTBDcUI7QUFDckIsMkVBR29DO0FBQ3BDLHlGQUF5RjtBQUN6RiwwRkFNK0M7QUFDL0Msd0ZBQThGO0FBQzlGLGdIQUE4RztBQUM5RyxrR0FBbUc7QUFFbkcsTUFBTSxlQUFlLEdBQUcsQ0FDdEIsR0FBa0IsRUFDbEIsSUFBWSxFQUNaLE9BQWUsRUFDZixLQUFjLEVBQ1IsRUFBRTtJQUNSLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUU7UUFDN0IsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFO1FBQ2QsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsV0FBVyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUU7S0FDbkUsQ0FBQyxDQUFBO0lBQ0YsSUFBSSxDQUFDO1FBQ0gsR0FBRyxDQUFDLEtBQUs7YUFDTixPQUFPLENBQ04saUNBQXlCLENBQUMsTUFBTSxDQUNqQzthQUNBLElBQUksQ0FDSCxHQUFHLE9BQU8sVUFBVSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFDL0IsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsZUFDM0MsRUFBRSxDQUNILENBQUE7SUFDTCxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1Asd0VBQXdFO0lBQzFFLENBQUM7QUFDSCxDQUFDLENBQUE7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFN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
845
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFEQUFzQztBQUN0Qyw2REFBa0U7QUFDbEUsbURBS2lDO0FBT2pDLHFEQUlrQztBQUVsQyxrRkFJMkM7QUFDM0MsZ0VBQW1FO0FBQ25FLDhEQUE2RDtBQUM3RCw2Q0EwQ3FCO0FBQ3JCLDJFQUdvQztBQUNwQyx5RkFBeUY7QUFDekYsMEZBTStDO0FBQy9DLHdGQUE4RjtBQUM5RixnSEFBOEc7QUFDOUcsa0dBQW1HO0FBQ25HLHdEQUcyQjtBQUUzQixNQUFNLGVBQWUsR0FBRyxDQUN0QixHQUFrQixFQUNsQixJQUFZLEVBQ1osT0FBZSxFQUNmLEtBQWMsRUFDUixFQUFFO0lBQ1IsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRTtRQUM3QixJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUU7UUFDZCxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxXQUFXLElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRTtLQUNuRSxDQUFDLENBQUE7SUFDRixJQUFJLENBQUM7UUFDSCxHQUFHLENBQUMsS0FBSzthQUNOLE9BQU8sQ0FDTixpQ0FBeUIsQ0FBQyxNQUFNLENBQ2pDO2FBQ0EsSUFBSSxDQUNILEdBQUcsT0FBTyxVQUFVLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUMvQixLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxlQUMzQyxFQUFFLENBQ0gsQ0FBQTtJQUNMLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCx3RUFBd0U7SUFDMUUsQ0FBQztBQUNILENBQUMsQ0FBQTtBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sZ0NBQWdDLEdBQUcsS0FBSyxFQUM1QyxHQUFrQixFQUNsQixHQUFtQixFQUNuQixPQUEyQixFQUNaLEVBQUU7SUFDakIsTUFBTSxRQUFRLEdBQUcsSUFBQSx1REFBMkIsRUFBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2hFLElBQUksQ0FBQyxRQUFRO1FBQUUsT0FBTTtJQUVyQixJQUFJLENBQUM7UUFDSCxNQUFNLElBQUEsMENBQXVCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLHlCQUF5QixDQUNoRTtZQUNFLE9BQU8sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdEIsU0FBUyxFQUFFLFFBQVE7U0FDcEIsRUFDRCxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FDbkQsQ0FBQTtJQUNILENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsSUFBSSxPQUFPLENBQUMsS0FBSztZQUFFLE1BQU0sS0FBSyxDQUFBO1FBQzlCLGVBQWUsQ0FDYixHQUFHLEVBQ0gsMkJBQTJCLEVBQzNCLDBEQUEwRCxFQUMxRCxLQUFLLENBQ04sQ0FBQTtRQUNELE9BQU07SUFDUixDQUFDO0lBQ0QsR0FBRyxDQUFDLFNBQVMsQ0FDWCxZQUFZLEVBQ1osSUFBQSwrREFBbUMsRUFBQztRQUNsQyxNQUFNLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssWUFBWTtLQUM5QyxDQUFDLENBQ0gsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVNLE1BQU0sMkJBQTJCLEdBQUcsS0FBSyxFQUM5QyxHQUFrQixFQUNsQixHQUFtQixFQUNuQixJQUF3QixFQUNULEVBQUU7SUFDakIsTUFBTSxnQ0FBZ0MsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7SUFDbEUsSUFBSSxFQUFFLENBQUE7QUFDUixDQUFDLENBQUE7QUFQWSxRQUFBLDJCQUEyQiwrQkFPdkM7QUFFRCxNQUFNLGlCQUFpQixHQUNyQiwrRUFBK0UsQ0FBQTtBQVFqRixNQUFNLHFCQUFxQixHQUFHLENBQUMsR0FBa0IsRUFBVyxFQUFFLENBQzVELENBQUMsR0FBRyxDQUFDLFdBQVcsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUE7QUFFckUsTUFBTSx5QkFBeUIsR0FBRyxLQUFLLEVBQ3JDLEdBQWtCLEVBQ2MsRUFBRTtJQUNsQyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUNoQztRQUNFLE1BQU0sRUFBRSxNQUFNO1FBQ2QsTUFBTSxFQUFFO1lBQ04sSUFBSTtZQUNKLE9BQU87WUFDUCxhQUFhO1lBQ2IsZUFBZTtZQUNmLGlCQUFpQjtTQUNsQjtRQUNELE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRTtLQUMvQixFQUNELEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQzdCLENBQUE7SUFDRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQU9OLENBQUE7SUFDYixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDVixPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQTtJQUNwRSxDQUFDO0lBRUQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLDBDQUF1QixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMzRCxNQUFNLENBQUMsYUFBYSxFQUFFLGNBQWMsQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUN4RCxnQkFBZ0IsQ0FBQyx1Q0FBdUMsQ0FDdEQ7WUFDRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDaEIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSTtZQUNyQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDMUIsQ0FBQyxDQUFDLElBQUEsNkNBQXVCLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDckMsQ0FBQyxDQUFDLElBQUk7U0FDVCxFQUNELEtBQUssQ0FDTjtRQUNELElBQUEsdURBQStCLEVBQzdCLGdCQUFnQixFQUNoQixJQUFBLG9DQUFrQixFQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FDcEM7S0FDRixDQUFDLENBQUE7SUFDRixNQUFNLFlBQVksR0FBRztRQUNuQixHQUFHLElBQUksR0FBRyxDQUFDO1lBQ1QsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQztZQUNsRSxHQUFHLENBQUMsYUFBYSxDQUFDLFVBQVU7Z0JBQzFCLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO2dCQUN6QyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ1AsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztTQUMzRCxDQUFDO0tBQ0gsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUNSLE1BQU0sY0FBYyxHQUNsQixhQUFhLENBQUMsZUFBZSxFQUFFLE1BQU0sS0FBSyxhQUFhO1FBQ3ZELGFBQWEsQ0FBQyxlQUFlLENBQUMsa0JBQWtCLEtBQUssb0JBQW9CLENBQUE7SUFDM0UsTUFBTSxTQUFTLEdBQUcsY0FBYztRQUM5QixDQUFDLENBQUMsRUFBRTtRQUNKLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDdEUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMvQixhQUFhLEVBQUUsWUFBWTtRQUMzQixlQUFlLEVBQUUsY0FBYzthQUM1QixHQUFHLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdEMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxFQUFFO1lBQ3BCLEtBQUs7WUFDTCxZQUFZLEVBQUUsU0FBUyxDQUFDLEVBQUU7U0FDM0IsQ0FBQyxDQUFDO2FBQ0YsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FDcEQ7UUFDSCxTQUFTLEVBQUUsYUFBYSxDQUFDLFNBQVM7YUFDL0IsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2xCLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRTtZQUNmLFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWTtZQUNuQyxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU07WUFDdkIsMEJBQTBCLEVBQUUsUUFBUSxDQUFDLDBCQUEwQjtZQUMvRCwyQkFBMkIsRUFBRSxRQUFRLENBQUMsMkJBQTJCO1lBQ2pFLG9CQUFvQixFQUFFLFFBQVEsQ0FBQyxvQkFBb0I7WUFDbkQsVUFBVSxFQUFFLFFBQVEsQ0FBQyxVQUFVO1NBQ2hDLENBQUMsQ0FBQzthQUNGLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6RCxVQUFVLEVBQUUsYUFBYSxDQUFDLFVBQVU7WUFDbEMsQ0FBQyxDQUFDO2dCQUNFLEVBQUUsRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQy9CLFlBQVksRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLFlBQVk7Z0JBQ25ELFVBQVUsRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLFVBQVU7YUFDaEQ7WUFDSCxDQUFDLENBQUMsSUFBSTtLQUNULENBQUMsQ0FBQTtJQUVGLE9BQU87UUFDTCxhQUFhLEVBQUUsWUFBWTtRQUMzQixVQUFVLEVBQUUsU0FBUztRQUNyQixTQUFTO0tBQ1YsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0sbUJBQW1CLEdBQUcsQ0FDMUIsWUFBeUMsRUFDbEIsRUFBRTtJQUN6QixJQUFJLGNBQXlDLENBQUE7SUFDN0MsT0FBTyxHQUFHLEVBQUU7UUFDVixjQUFjLEtBQUssWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQ3pDLE9BQU8sY0FBYyxDQUFBO0lBQ3ZCLENBQUMsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVNLE1BQU0sNkJBQTZCLEdBQUcsS0FBSyxFQUNoRCxHQUFrQixFQUNsQixHQUFtQixFQUNuQixJQUF3QixFQUNULEVBQUU7SUFDakIsTUFBTSxRQUFRLEdBQUcscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDM0MsSUFBSSxRQUFRLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7SUFDckUsSUFBSSxXQUFXLEdBQUcsS0FBSyxDQUFBO0lBQ3ZCLElBQUksWUFBWSxHQUF1QyxJQUFJLENBQUE7SUFFM0QsSUFBSSxDQUFDO1FBQ0gsS0FBSyxJQUFJLE9BQU8sR0FBRyxDQUFDLEVBQUUsT0FBTyxHQUFHLENBQUMsRUFBRSxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDaEQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxRQUFRLEVBQUUsYUFBYSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxvREFBb0IsQ0FBQyxDQUFBO1lBQzFFLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxFQUFFLFVBQVUsQ0FBQyxNQUFNO2dCQUNsRCxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsdUVBQW1DLENBQUM7Z0JBQ3JFLENBQUMsQ0FBQyxFQUFFLENBQUE7WUFDTixZQUFZLEdBQUcsTUFBTSxJQUFBLDhEQUE4QixFQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUU7Z0JBQzdELElBQUEsb0RBQW9CLEVBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ25DLEdBQUcsUUFBUTtnQkFDWCxHQUFHLGdCQUFnQjthQUNwQixDQUFDLENBQUE7WUFDRixJQUFJLFVBQVUsR0FBaUMsSUFBSSxDQUFBO1lBRW5ELE1BQU0sWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDaEMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUNqQixNQUFNLGdDQUFnQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQTtvQkFDckUsV0FBVyxHQUFHLElBQUksQ0FBQTtnQkFDcEIsQ0FBQztnQkFDRCxJQUFJLENBQUMsUUFBUTtvQkFBRSxPQUFNO2dCQUVyQixNQUFNLE1BQU0sR0FBRyxNQUFNLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxDQUFBO2dCQUNuRCxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsU0FBUyxLQUFLLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDeEQsVUFBVSxHQUFHLE1BQU0sQ0FBQTtvQkFDbkIsT0FBTTtnQkFDUixDQUFDO2dCQUVELE1BQU0sV0FBVyxHQUFHLE1BQU0seUJBQXlCLENBQUMsR0FBRyxDQUFDLENBQUE7Z0JBQ3hELElBQUksV0FBVyxDQUFDLFNBQVMsS0FBSyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQy9DLFVBQVUsR0FBRyxXQUFXLENBQUE7b0JBQ3hCLE9BQU07Z0JBQ1IsQ0FBQztnQkFFRCxLQUFLLE1BQU0sUUFBUSxJQUFJLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFDOUMsTUFBTSxJQUFBLDREQUErQixFQUNuQyxHQUFHLENBQUMsS0FBSyxFQUNULFFBQVEsRUFDUixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FDZCxDQUFBO2dCQUNILENBQUM7Z0JBQ0QsTUFBTSxVQUFVLEdBQUcsTUFBTSx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFDdkQsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUE7Z0JBQzdELElBQ0UsVUFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQzNCLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FDdEQsRUFDRCxDQUFDO29CQUNELFVBQVUsR0FBRyxVQUFVLENBQUE7Z0JBQ3pCLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQTtZQUVGLElBQUksQ0FBQyxVQUFVO2dCQUFFLE1BQUs7WUFDdEIsTUFBTSxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUE7WUFDNUIsWUFBWSxHQUFHLElBQUksQ0FBQTtZQUNuQixRQUFRLEdBQUcsVUFBVSxDQUFBO1FBQ3ZCLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEIsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFDMUIsb0VBQW9FLENBQ3JFLENBQUE7UUFDSCxDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDakQsTUFBTSxhQUFhLEdBQUcsR0FBRyxFQUFFO1lBQ3pCLEtBQUssT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQzdCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLE1BQU0sQ0FFaEUsQ0FBQTtnQkFDRCxNQUFNLENBQUMsS0FBSyxDQUNWLCtDQUNFLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGVBQzNDLEVBQUUsQ0FDSCxDQUFBO1lBQ0gsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDLENBQUE7UUFDRCxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQTtRQUNqQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQTtRQUNoQyxJQUFJLEdBQUcsQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3ZDLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFBO1lBQ2hDLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFBO1lBQy9CLE1BQU0sT0FBTyxFQUFFLENBQUE7WUFDZixPQUFNO1FBQ1IsQ0FBQztRQUNELElBQUksQ0FBQztZQUNILFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUNoQyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFBO1lBQ2hDLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFBO1lBQy9CLElBQUksQ0FBQztnQkFDSCxNQUFNLE9BQU8sRUFBRSxDQUFBO1lBQ2pCLENBQUM7WUFBQyxPQUFPLFlBQVksRUFBRSxDQUFDO2dCQUN0QixNQUFNLElBQUksY0FBYyxDQUN0QixDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsRUFDckIsZ0RBQWdELENBQ2pELENBQUE7WUFDSCxDQUFDO1lBQ0QsTUFBTSxLQUFLLENBQUE7UUFDYixDQUFDO0lBQ0gsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLE1BQU0sT0FBTyxHQUFHLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFBO1lBQ2pELElBQUksQ0FBQztnQkFDSCxNQUFNLE9BQU8sRUFBRSxDQUFBO1lBQ2pCLENBQUM7WUFBQyxPQUFPLFlBQVksRUFBRSxDQUFDO2dCQUN0QixNQUFNLElBQUksY0FBYyxDQUN0QixDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsRUFDckIsZ0RBQWdELENBQ2pELENBQUE7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksS0FBSyxZQUFZLGtFQUFrQyxFQUFFLENBQUM7WUFDeEQsdUVBQXVFO1lBQ3ZFLG1FQUFtRTtZQUNuRSxzRUFBc0U7WUFDdEUsc0VBQXNFO1lBQ3RFLDRDQUE0QztZQUM1QyxlQUFlLENBQ2IsR0FBRyxFQUNILHFCQUFxQixFQUNyQixtREFBbUQsRUFDbkQsS0FBSyxDQUNOLENBQUE7WUFDRCxNQUFNLElBQUksbUJBQVcsQ0FBQyxtQkFBVyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsaUJBQWlCLENBQUMsQ0FBQTtRQUN6RSxDQUFDO1FBQ0QsTUFBTSxLQUFLLENBQUE7SUFDYixDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBeklZLFFBQUEsNkJBQTZCLGlDQXlJekM7QUFFRCxNQUFNLG1DQUFtQyxHQUFHLEtBQUssRUFDL0MsR0FBa0IsRUFDbEIsSUFBb0IsRUFDcEIsSUFBd0IsRUFDVCxFQUFFO0lBQ2pCLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxLQUFLLENBQXdCLENBQUE7SUFDNUUsTUFBTSxLQUFLLEdBQUcsTUFBTSxZQUFZLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFO1FBQzVELE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUM7S0FDM0IsQ0FBQyxDQUFBO0lBRUYsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLFdBQVcsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUN6QyxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUMzQix3R0FBd0csQ0FDekcsQ0FBQTtJQUNILENBQUM7SUFFRCxJQUFJLEVBQUUsQ0FBQTtBQUNSLENBQUMsQ0FBQTtBQUVELE1BQU0saUNBQWlDLEdBQUcsS0FBSyxFQUM3QyxHQUE2RCxFQUM3RCxJQUFvQixFQUNwQixJQUF3QixFQUNULEVBQUU7SUFDakIsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUE7SUFDN0MsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQzNCLG1FQUFtRSxDQUNwRSxDQUFBO0lBQ0gsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUFHLElBQUEsMENBQXVCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2xELE1BQU0sU0FBUyxHQUFHLE1BQU0sT0FBTyxDQUFDLCtCQUErQixDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQzNFLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLCtCQUErQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDM0UsSUFBSSxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUMsWUFBWSxLQUFLLFNBQVMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUN2RCxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUMzQix3REFBd0QsQ0FDekQsQ0FBQTtJQUNILENBQUM7SUFDRCxJQUFJLEVBQUUsQ0FBQTtBQUNSLENBQUMsQ0FBQTtBQUVEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLElBQUksR0FBRyxDQUFDLE9BQWUsRUFBRSxHQUFHLElBQTJCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakUsT0FBTztJQUNQLFdBQVcsRUFBRSxDQUFDLElBQUEsa0NBQW9CLEVBQUMseUNBQXVCLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztDQUN0RSxDQUFDLENBQUE7QUFFRixrQkFBZSxJQUFBLHdCQUFpQixFQUFDO0lBQy9CLE1BQU0sRUFBRTtRQUNOLGtFQUFrRTtRQUNsRSxrRUFBa0U7UUFDbEUsMkVBQTJFO1FBQzNFLGdFQUFnRTtRQUNoRSxFQUFFO1FBQ0YsZ0JBQWdCO1FBQ2hCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztRQUN6QixJQUFJLENBQUMsNEJBQTRCLENBQUM7UUFDbEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQ3pCLElBQUksQ0FBQywrQkFBK0IsQ0FBQztRQUNyQyxJQUFJLENBQUMsbUNBQW1DLENBQUM7UUFDekMsSUFBSSxDQUFDLGdDQUFnQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyx5Q0FBeUMsQ0FBQztRQUMvQyxzQkFBc0I7UUFDdEIsSUFBSSxDQUFDLHlDQUF5QyxFQUFFLGFBQWEsQ0FBQztRQUM5RCxJQUFJLENBQUMsdUNBQXVDLEVBQUUsYUFBYSxDQUFDO1FBQzVELElBQUksQ0FBQyw0QkFBNEIsRUFBRSxhQUFhLENBQUM7UUFDakQsSUFBSSxDQUFDLG9DQUFvQyxFQUFFLGFBQWEsQ0FBQztRQUN6RCxJQUFJLENBQUMsNkNBQTZDLEVBQUUsYUFBYSxDQUFDO1FBQ2xFLElBQUksQ0FBQyw2Q0FBNkMsRUFBRSxhQUFhLENBQUM7UUFDbEUsSUFBSSxDQUFDLHVDQUF1QyxFQUFFLGFBQWEsQ0FBQztRQUM1RCxjQUFjO1FBQ2QsSUFBSSxDQUFDLGtDQUFrQyxFQUFFLGFBQWEsQ0FBQztRQUN2RCxJQUFJLENBQUMsZ0NBQWdDLEVBQUUsYUFBYSxDQUFDO1FBQ3JELElBQUksQ0FBQywwQkFBMEIsRUFBRSxhQUFhLENBQUM7UUFDL0Msa0JBQWtCO1FBQ2xCLElBQUksQ0FBQyxpQ0FBaUMsRUFBRSxTQUFTLENBQUM7UUFDbEQsSUFBSSxDQUFDLHlDQUF5QyxFQUFFLFNBQVMsQ0FBQztRQUMxRCxJQUFJLENBQUMsb0NBQW9DLEVBQUUsU0FBUyxDQUFDO1FBQ3JELElBQUksQ0FDRixtQ0FBbUMsRUFDbkMsc0JBQXNCLEVBQ3RCLGdCQUFnQixDQUNqQjtRQUNELHlFQUF5RTtRQUN6RSwyREFBMkQ7UUFDM0Q7WUFDRSxPQUFPLEVBQUUsc0JBQXNCO1lBQy9CLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7WUFDeEIsV0FBVyxFQUFFO2dCQUNYLElBQUEsa0NBQW9CLEVBQUMseUNBQXVCLEVBQUUsZ0JBQWdCLENBQUM7YUFDaEU7U0FDRjtRQUNELElBQUksQ0FBQyw0QkFBNEIsRUFBRSxnQkFBZ0IsQ0FBQztRQUNwRCxtQkFBbUI7UUFDbkIsSUFBSSxDQUFDLDRCQUE0QixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO1FBQ3RFLElBQUksQ0FBQyxvQ0FBb0MsRUFBRSxnQkFBZ0IsQ0FBQztRQUM1RCxJQUFJLENBQUMsb0NBQW9DLEVBQUUsZ0JBQWdCLENBQUM7UUFDNUQsSUFBSSxDQUFDLDZCQUE2QixFQUFFLGdCQUFnQixDQUFDO1FBQ3JELDRFQUE0RTtRQUM1RSx5RUFBeUU7UUFDekUseUVBQXlFO1FBQ3pFLHNFQUFzRTtRQUN0RTtZQUNFLE9BQU8sRUFBRSxjQUFjO1lBQ3ZCLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNqQixXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxtQkFBWSxFQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxDQUFDO2dCQUMvRSw4REFBa0M7YUFDbkM7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLGtCQUFrQjtZQUMzQixPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDakIsV0FBVyxFQUFFO2dCQUNYLElBQUEsbUJBQVksRUFBQyxVQUFVLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsQ0FBQztnQkFDL0UsOERBQWtDO2FBQ25DO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSxpREFBaUQ7WUFDMUQsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2pCLFdBQVcsRUFBRTtnQkFDWCxJQUFBLG1CQUFZLEVBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQy9FLGlFQUFxQzthQUN0QztTQUNGO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsMkJBQTJCO1lBQ3BDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNqQixXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxtQkFBWSxFQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxDQUFDO2dCQUMvRSxrRUFBc0M7YUFDdkM7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLG1CQUFtQjtZQUM1QixPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUM7WUFDM0MsV0FBVyxFQUFFLENBQUMscUNBQTZCLENBQUM7U0FDN0M7UUFDRDtZQUNFLE9BQU8sRUFBRSxtQkFBbUI7WUFDNUIsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2hCLFdBQVcsRUFBRSxDQUFDLG1DQUEyQixDQUFDO1NBQzNDO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsb0NBQW9DO1lBQzdDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNqQixXQUFXLEVBQUUsQ0FBQyxJQUFBLCtCQUF3QixFQUFDLDJDQUE4QixDQUFDLENBQUM7U0FDeEU7UUFDRDtZQUNFLE9BQU8sRUFBRSx5Q0FBeUM7WUFDbEQsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2pCLFdBQVcsRUFBRSxDQUFDLElBQUEsK0JBQXdCLEVBQUMsdUNBQTBCLENBQUMsQ0FBQztTQUNwRTtRQUNEO1lBQ0UsT0FBTyxFQUFFLGlDQUFpQztZQUMxQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDakIsV0FBVyxFQUFFO2dCQUNYLElBQUEsK0JBQXdCLEVBQUMsc0RBQXlDLENBQUM7YUFDcEU7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLHNCQUFzQjtZQUMvQixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDaEIsV0FBVyxFQUFFO2dCQUNYLElBQUEsbUJBQVksRUFBQyxVQUFVLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQy9DLElBQUEsZ0NBQXlCLEVBQUMsMENBQTZCLEVBQUU7b0JBQ3ZELE1BQU0sRUFBRSxLQUFLO2lCQUNkLENBQUM7YUFDSDtTQUNGO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsc0JBQXNCO1lBQy9CLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNqQixXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxtQkFBWSxFQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDL0MsSUFBQSwrQkFBd0IsRUFBQyw2Q0FBZ0MsQ0FBQzthQUMzRDtTQUNGO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsNEJBQTRCO1lBQ3JDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNoQixXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxtQkFBWSxFQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDL0MsSUFBQSxnQ0FBeUIsRUFBQywwQ0FBNkIsRUFBRTtvQkFDdkQsTUFBTSxFQUFFLEtBQUs7aUJBQ2QsQ0FBQzthQUNIO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSw0QkFBNEI7WUFDckMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2pCLFdBQVcsRUFBRTtnQkFDWCxJQUFBLG1CQUFZLEVBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUMvQyxJQUFBLCtCQUF3QixFQUFDLDBDQUE2QixDQUFDO2FBQ3hEO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSxxQ0FBcUM7WUFDOUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2pCLFdBQVcsRUFBRTtnQkFDWCxJQUFBLG1CQUFZLEVBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUMvQyxJQUFBLCtCQUF3QixFQUFDLDBDQUE2QixDQUFDO2FBQ3hEO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSxtQ0FBbUM7WUFDNUMsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2hCLFdBQVcsRUFBRTtnQkFDWCxJQUFBLG1CQUFZLEVBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUMvQyxJQUFBLGdDQUF5QixFQUFDLHFEQUF3QyxFQUFFO29CQUNsRSxNQUFNLEVBQUUsSUFBSTtpQkFDYixDQUFDO2FBQ0g7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLG1DQUFtQztZQUM1QyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDakIsV0FBVyxFQUFFO2dCQUNYLElBQUEsbUJBQVksRUFBQyxVQUFVLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQy9DLElBQUEsK0JBQXdCLEVBQUMsaURBQW9DLENBQUM7YUFDL0Q7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLHFEQUFxRDtZQUM5RCxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDakIsV0FBVyxFQUFFO2dCQUNYLElBQUEsbUJBQVksRUFBQyxVQUFVLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQy9DLElBQUEsK0JBQXdCLEVBQUMsaURBQW9DLENBQUM7YUFDL0Q7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLHFEQUFxRDtZQUM5RCxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDakIsV0FBVyxFQUFFLENBQUMsSUFBQSxtQkFBWSxFQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQy9EO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsZ0NBQWdDO1lBQ3pDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNoQixXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxtQkFBWSxFQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDL0MsSUFBQSxnQ0FBeUIsRUFBQyw4Q0FBaUMsRUFBRTtvQkFDM0QsTUFBTSxFQUFFLEtBQUs7aUJBQ2QsQ0FBQzthQUNIO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSxrQ0FBa0M7WUFDM0MsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2hCLFdBQVcsRUFBRTtnQkFDWCxJQUFBLG1CQUFZLEVBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUMvQyxJQUFBLGdDQUF5QixFQUFDLGdEQUFtQyxFQUFFO29CQUM3RCxNQUFNLEVBQUUsS0FBSztpQkFDZCxDQUFDO2FBQ0g7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLDRCQUE0QjtZQUNyQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDakIsV0FBVyxFQUFFO2dCQUNYLElBQUEsbUJBQVksRUFBQyxVQUFVLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQy9DLElBQUEsK0JBQXdCLEVBQUMsNkNBQWdDLENBQUM7YUFDM0Q7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLG9DQUFvQztZQUM3QyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDaEIsV0FBVyxFQUFFO2dCQUNYLElBQUEsZ0NBQXlCLEVBQUMsdUNBQTBCLEVBQUU7b0JBQ3BELE1BQU0sRUFBRSxLQUFLO2lCQUNkLENBQUM7YUFDSDtTQUNGO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsc0NBQXNDO1lBQy9DLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNoQixXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxtQkFBWSxFQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDL0MsSUFBQSxnQ0FBeUIsRUFBQyx3Q0FBMkIsRUFBRTtvQkFDckQsTUFBTSxFQUFFLEtBQUs7aUJBQ2QsQ0FBQzthQUNIO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSx1Q0FBdUM7WUFDaEQsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2pCLFdBQVcsRUFBRTtnQkFDWCxJQUFBLG1CQUFZLEVBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUMvQyxJQUFBLCtCQUF3QixFQUFDLHlDQUE0QixDQUFDO2FBQ3ZEO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSx5Q0FBeUM7WUFDbEQsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2hCLFdBQVcsRUFBRSxDQUFDLElBQUEsbUJBQVksRUFBQyxVQUFVLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUMvRDtRQUNEO1lBQ0UsT0FBTyxFQUFFLHVDQUF1QztZQUNoRCxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDaEIsV0FBVyxFQUFFLENBQUMsSUFBQSxtQkFBWSxFQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQy9EO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsdUNBQXVDO1lBQ2hELE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNqQixXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxtQkFBWSxFQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDL0MsSUFBQSwrQkFBd0IsRUFBQywwQ0FBNkIsQ0FBQzthQUN4RDtTQUNGO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsa0RBQWtEO1lBQzNELE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNqQixXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxtQkFBWSxFQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDL0MsaUNBQWlDO2dCQUNqQyxJQUFBLCtCQUF3QixFQUFDLGtEQUFxQyxDQUFDO2FBQ2hFO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSwrQkFBK0I7WUFDeEMsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2hCLFdBQVcsRUFBRTtnQkFDWCxJQUFBLG1CQUFZLEVBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUMzQyxJQUFBLGdDQUF5QixFQUFDLGlEQUFvQyxFQUFFO29CQUM5RCxNQUFNLEVBQUUsSUFBSTtpQkFDYixDQUFDO2FBQ0g7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLDJDQUEyQztZQUNwRCxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDakIsV0FBVyxFQUFFO2dCQUNYLElBQUEsbUJBQVksRUFBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQzNDLElBQUEsK0JBQXdCLEVBQUMsOENBQWlDLENBQUM7YUFDNUQ7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLDBDQUEwQztZQUNuRCxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDakIsV0FBVyxFQUFFO2dCQUNYLElBQUEsbUJBQVksRUFBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQzNDLElBQUEsK0JBQXdCLEVBQUMsNkNBQWdDLENBQUM7YUFDM0Q7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLG1CQUFtQjtZQUM1QixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDaEIsV0FBVyxFQUFFO2dCQUNYLElBQUEsbUJBQVksRUFBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQzNDLElBQUEsZ0NBQXlCLEVBQUMsc0NBQXlCLEVBQUU7b0JBQ25ELE1BQU0sRUFBRSxJQUFJO2lCQUNiLENBQUM7YUFDSDtTQUNGO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNqQixXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxtQkFBWSxFQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDM0MsSUFBQSwrQkFBd0IsRUFBQyxrQ0FBcUIsQ0FBQzthQUNoRDtTQUNGO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsdUJBQXVCO1lBQ2hDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNoQixXQUFXLEVBQUUsQ0FBQyxJQUFBLG1CQUFZLEVBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDM0Q7UUFDRDtZQUNFLE9BQU8sRUFBRSx1QkFBdUI7WUFDaEMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2pCLFdBQVcsRUFBRTtnQkFDWCxJQUFBLG1CQUFZLEVBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUMzQyxJQUFBLCtCQUF3QixFQUFDLGtDQUFxQixDQUFDO2FBQ2hEO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSxnQ0FBZ0M7WUFDekMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2pCLFdBQVcsRUFBRSxDQUFDLElBQUEsbUJBQVksRUFBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUMzRDtRQUNEO1lBQ0UsT0FBTyxFQUFFLDZCQUE2QjtZQUN0QyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDaEIsV0FBVyxFQUFFLENBQUMsSUFBQSxtQkFBWSxFQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQzNEO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsNkJBQTZCO1lBQ3RDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNqQixXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxtQkFBWSxFQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDM0MsSUFBQSwrQkFBd0IsRUFBQyxzQ0FBeUIsQ0FBQzthQUNwRDtTQUNGO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsc0NBQXNDO1lBQy9DLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNqQixXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxtQkFBWSxFQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDM0MsSUFBQSwrQkFBd0IsRUFBQyxzQ0FBeUIsQ0FBQzthQUNwRDtTQUNGO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsb0NBQW9DO1lBQzdDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNoQixXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxtQkFBWSxFQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDM0MsSUFBQSxnQ0FBeUIsRUFBQyxxREFBd0MsRUFBRTtvQkFDbEUsTUFBTSxFQUFFLElBQUk7aUJBQ2IsQ0FBQzthQUNIO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSxvQ0FBb0M7WUFDN0MsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2pCLFdBQVcsRUFBRTtnQkFDWCxJQUFBLG1CQUFZLEVBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUMzQyxJQUFBLCtCQUF3QixFQUFDLGlEQUFvQyxDQUFDO2FBQy9EO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSxzREFBc0Q7WUFDL0QsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2pCLFdBQVcsRUFBRTtnQkFDWCxJQUFBLG1CQUFZLEVBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUMzQyxJQUFBLCtCQUF3QixFQUFDLGlEQUFvQyxDQUFDO2FBQy9EO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSxzREFBc0Q7WUFDL0QsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2pCLFdBQVcsRUFBRSxDQUFDLElBQUEsbUJBQVksRUFBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUMzRDtRQUNEO1lBQ0UsT0FBTyxFQUFFLHlEQUF5RDtZQUNsRSxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDakIsV0FBVyxFQUFFLENBQUMsSUFBQSxtQkFBWSxFQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQzNEO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsb0NBQW9DO1lBQzdDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNoQixXQUFXLEVBQUUsQ0FBQyxJQUFBLG1CQUFZLEVBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDM0Q7UUFDRDtZQUNFLE9BQU8sRUFBRSxvQ0FBb0M7WUFDN0MsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2pCLFdBQVcsRUFBRTtnQkFDWCxJQUFBLG1CQUFZLEVBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUMzQyxJQUFBLCtCQUF3QixFQUFDLDhDQUFpQyxDQUFDO2FBQzVEO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSw2Q0FBNkM7WUFDdEQsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2pCLFdBQVcsRUFBRTtnQkFDWCxJQUFBLG1CQUFZLEVBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUMzQyxJQUFBLCtCQUF3QixFQUFDLDJDQUE4QixDQUFDO2FBQ3pEO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSw2Q0FBNkM7WUFDdEQsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2pCLFdBQVcsRUFBRTtnQkFDWCxJQUFBLG1CQUFZLEVBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUMzQyxJQUFBLCtCQUF3QixFQUFDLDZDQUFnQyxDQUFDO2FBQzNEO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSx3Q0FBd0M7WUFDakQsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2pCLFdBQVcsRUFBRTtnQkFDWCxJQUFBLG1CQUFZLEVBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUMzQyxJQUFBLCtCQUF3QixFQUFDLDJDQUE4QixDQUFDO2FBQ3pEO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSw0QkFBNEI7WUFDckMsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2hCLFdBQVcsRUFBRTtnQkFDWCxJQUFBLG1CQUFZLEVBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUMzQyxJQUFBLGdDQUF5QixFQUFDLDhDQUFpQyxFQUFFO29CQUMzRCxNQUFNLEVBQUUsSUFBSTtpQkFDYixDQUFDO2FBQ0g7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLGdDQUFnQztZQUN6QyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDaEIsV0FBVyxFQUFFLENBQUMsSUFBQSxtQkFBWSxFQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQzNEO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsdUNBQXVDO1lBQ2hELE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNoQixXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxtQkFBWSxFQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDM0MsSUFBQSxnQ0FBeUIsRUFBQyxtREFBc0MsRUFBRTtvQkFDaEUsTUFBTSxFQUFFLEtBQUs7aUJBQ2QsQ0FBQzthQUNIO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSxtQ0FBbUM7WUFDNUMsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2hCLFdBQVcsRUFBRSxDQUFDLElBQUEsbUJBQVksRUFBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUMzRDtRQUNEO1lBQ0UsT0FBTyxFQUFFLG1DQUFtQztZQUM1QyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDakIsV0FBVyxFQUFFO2dCQUNYLElBQUEsbUJBQVksRUFBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQzNDLElBQUEsK0JBQXdCLEVBQUMsaURBQW9DLENBQUM7YUFDL0Q7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLHVDQUF1QztZQUNoRCxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDakIsV0FBVyxFQUFFO2dCQUNYLElBQUEsbUJBQVksRUFBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQzNDLElBQUEsK0JBQXdCLEVBQUMsMENBQTZCLENBQUM7YUFDeEQ7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLHdDQUF3QztZQUNqRCxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDakIsV0FBVyxFQUFFO2dCQUNYLElBQUEsbUJBQVksRUFBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQzNDLElBQUEsK0JBQXdCLEVBQUMsMkNBQThCLENBQUM7YUFDekQ7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLDBCQUEwQjtZQUNuQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDakIsV0FBVyxFQUFFLENBQUMsbUNBQW1DLENBQUM7U0FDbkQ7UUFDRDtZQUNFLE9BQU8sRUFBRSx5Q0FBeUM7WUFDbEQsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2hCLFdBQVcsRUFBRSxDQUFDLElBQUEsbUJBQVksRUFBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUMzRDtRQUNEO1lBQ0UsT0FBTyxFQUFFLGdDQUFnQztZQUN6QyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDakIsV0FBVyxFQUFFO2dCQUNYLElBQUEsbUJBQVksRUFBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQzNDLElBQUEsK0JBQXdCLEVBQUMsaURBQW9DLENBQUM7YUFDL0Q7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLGdDQUFnQztZQUN6QyxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDO1lBQzFCLFdBQVcsRUFBRSxDQUFDLElBQUEsbUJBQVksRUFBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUMzRDtRQUNEO1lBQ0UsT0FBTyxFQUFFLDBCQUEwQjtZQUNuQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDaEIsV0FBVyxFQUFFO2dCQUNYLElBQUEsbUJBQVksRUFBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQzNDLElBQUEsZ0NBQXlCLEVBQUMsdUNBQTBCLEVBQUU7b0JBQ3BELE1BQU0sRUFBRSxLQUFLO2lCQUNkLENBQUM7YUFDSDtTQUNGO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsOEJBQThCO1lBQ3ZDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNoQixXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxtQkFBWSxFQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDM0MsSUFBQSxnQ0FBeUIsRUFBQyxvQ0FBdUIsRUFBRTtvQkFDakQsTUFBTSxFQUFFLEtBQUs7aUJBQ2QsQ0FBQzthQUNIO1NBQ0Y7S0FDRjtDQUNGLENBQUMsQ0FBQSJ9