@legenki/print2medusa 0.1.0 → 0.2.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.
- package/.medusa/server/src/admin/index.js +138 -1
- package/.medusa/server/src/admin/index.mjs +139 -2
- package/.medusa/server/src/api/admin/printful/webhook/route.js +78 -0
- package/.medusa/server/src/api/hooks/printful/[token]/route.js +80 -0
- package/.medusa/server/src/api/middlewares.js +60 -0
- package/.medusa/server/src/jobs/retry-webhook-events.js +65 -0
- package/.medusa/server/src/modules/printful/migrations/Migration20260731000000.js +62 -0
- package/.medusa/server/src/modules/printful/models/printful-webhook-event.js +18 -0
- package/.medusa/server/src/modules/printful/service.js +123 -3
- package/.medusa/server/src/providers/printful-fulfillment/service.js +1 -1
- package/.medusa/server/src/subscribers/payment-captured.js +1 -1
- package/.medusa/server/src/utils/mappers.js +67 -20
- package/.medusa/server/src/utils/order-state.js +58 -0
- package/.medusa/server/src/utils/printful-client.js +23 -1
- package/.medusa/server/src/utils/webhook-events.js +117 -0
- package/.medusa/server/src/utils/webhook-path.js +44 -0
- package/.medusa/server/src/workflows/apply-order-status.js +244 -0
- package/.medusa/server/src/workflows/create-printful-order.js +3 -2
- package/.medusa/server/src/workflows/index.js +5 -2
- package/.medusa/server/src/workflows/sync-products.js +1 -1
- package/README.md +124 -18
- package/package.json +6 -1
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PRINTFUL_WEBHOOK_TYPES = void 0;
|
|
4
|
+
exports.verifyWebhookToken = verifyWebhookToken;
|
|
5
|
+
exports.payloadFingerprint = payloadFingerprint;
|
|
6
|
+
exports.extractOrderId = extractOrderId;
|
|
7
|
+
exports.extractShipmentId = extractShipmentId;
|
|
8
|
+
exports.deriveEventId = deriveEventId;
|
|
9
|
+
const crypto_1 = require("crypto");
|
|
10
|
+
/**
|
|
11
|
+
* Constant-time comparison of the configured secret against the token supplied
|
|
12
|
+
* in the request path. Both sides are hashed first so differing lengths cannot
|
|
13
|
+
* throw and cannot leak length through timing.
|
|
14
|
+
*/
|
|
15
|
+
function verifyWebhookToken(configured, provided) {
|
|
16
|
+
if (typeof configured !== "string" || typeof provided !== "string") {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
if (!configured || !provided) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
const a = (0, crypto_1.createHash)("sha256").update(configured).digest();
|
|
23
|
+
const b = (0, crypto_1.createHash)("sha256").update(provided).digest();
|
|
24
|
+
return (0, crypto_1.timingSafeEqual)(a, b);
|
|
25
|
+
}
|
|
26
|
+
/** Event types we register with Printful. order_updated is noisy and opt-in. */
|
|
27
|
+
exports.PRINTFUL_WEBHOOK_TYPES = [
|
|
28
|
+
"package_shipped",
|
|
29
|
+
"order_failed",
|
|
30
|
+
"order_canceled",
|
|
31
|
+
"package_returned",
|
|
32
|
+
];
|
|
33
|
+
/**
|
|
34
|
+
* Nesting limit for canonicalize. Real Printful payloads are a handful of
|
|
35
|
+
* levels deep; 100 is generous headroom without being unbounded. Without this,
|
|
36
|
+
* a hostile or malformed payload (~5000 levels, well under body-parser's
|
|
37
|
+
* default 100KB limit) blows the call stack before verifyWebhookToken even
|
|
38
|
+
* gets a say for a value nested this deep — this guard runs post-auth, on the
|
|
39
|
+
* derive-event-id path only.
|
|
40
|
+
*/
|
|
41
|
+
const MAX_CANONICALIZE_DEPTH = 100;
|
|
42
|
+
/** Deterministic JSON with sorted keys, so key order cannot change the hash. */
|
|
43
|
+
function canonicalize(value, depth = 0) {
|
|
44
|
+
if (depth > MAX_CANONICALIZE_DEPTH) {
|
|
45
|
+
throw new Error(`Payload is too deeply nested (limit ${MAX_CANONICALIZE_DEPTH})`);
|
|
46
|
+
}
|
|
47
|
+
if (value === null || typeof value !== "object") {
|
|
48
|
+
return JSON.stringify(value) ?? "null";
|
|
49
|
+
}
|
|
50
|
+
if (Array.isArray(value)) {
|
|
51
|
+
return `[${value.map((v) => canonicalize(v, depth + 1)).join(",")}]`;
|
|
52
|
+
}
|
|
53
|
+
const entries = Object.entries(value)
|
|
54
|
+
.filter(([, v]) => v !== undefined)
|
|
55
|
+
.sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0))
|
|
56
|
+
.map(([k, v]) => `${JSON.stringify(k)}:${canonicalize(v, depth + 1)}`);
|
|
57
|
+
return `{${entries.join(",")}}`;
|
|
58
|
+
}
|
|
59
|
+
function payloadFingerprint(payload) {
|
|
60
|
+
return (0, crypto_1.createHash)("sha256").update(canonicalize(payload)).digest("hex");
|
|
61
|
+
}
|
|
62
|
+
function extractOrderId(payload) {
|
|
63
|
+
const order = payload.data?.order;
|
|
64
|
+
return order?.id != null ? String(order.id) : "";
|
|
65
|
+
}
|
|
66
|
+
function extractShipmentId(payload) {
|
|
67
|
+
const shipment = payload.data?.shipment;
|
|
68
|
+
if (shipment?.id == null || shipment.id === "") {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
return String(shipment.id);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Fingerprint only the stable content of an event. Printful's delivery envelope
|
|
75
|
+
* (`retries`, `store`) changes between redeliveries of the SAME event, so it
|
|
76
|
+
* must never reach the hash — otherwise a redelivered event derives a new id,
|
|
77
|
+
* defeats the unique index, and produces a duplicate fulfillment.
|
|
78
|
+
*/
|
|
79
|
+
function stableFingerprint(payload) {
|
|
80
|
+
return payloadFingerprint({ type: payload.type, data: payload.data });
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Printful v1 sends no stable event identifier, so we derive one. The
|
|
84
|
+
* discriminator varies by type: shipments must not collapse into one event,
|
|
85
|
+
* while a terminal order_failed is one event per order.
|
|
86
|
+
*/
|
|
87
|
+
function deriveEventId(payload) {
|
|
88
|
+
const type = payload.type ?? "unknown";
|
|
89
|
+
const orderId = extractOrderId(payload);
|
|
90
|
+
const order = payload.data?.order;
|
|
91
|
+
let discriminator;
|
|
92
|
+
switch (type) {
|
|
93
|
+
case "package_shipped":
|
|
94
|
+
case "package_returned":
|
|
95
|
+
discriminator = extractShipmentId(payload) ?? stableFingerprint(payload);
|
|
96
|
+
break;
|
|
97
|
+
case "order_updated":
|
|
98
|
+
discriminator =
|
|
99
|
+
order?.updated != null
|
|
100
|
+
? String(order.updated)
|
|
101
|
+
: stableFingerprint(payload);
|
|
102
|
+
break;
|
|
103
|
+
case "order_failed":
|
|
104
|
+
case "order_canceled":
|
|
105
|
+
discriminator = "";
|
|
106
|
+
break;
|
|
107
|
+
default:
|
|
108
|
+
discriminator = stableFingerprint(payload);
|
|
109
|
+
}
|
|
110
|
+
const timeKey = payload.created != null
|
|
111
|
+
? String(payload.created)
|
|
112
|
+
: stableFingerprint(payload);
|
|
113
|
+
return (0, crypto_1.createHash)("sha256")
|
|
114
|
+
.update(`${type}|${orderId}|${discriminator}|${timeKey}`)
|
|
115
|
+
.digest("hex");
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViaG9vay1ldmVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvd2ViaG9vay1ldmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBT0EsZ0RBYUM7QUFnREQsZ0RBRUM7QUFFRCx3Q0FHQztBQUVELDhDQVNDO0FBaUJELHNDQWlDQztBQXhJRCxtQ0FBb0Q7QUFFcEQ7Ozs7R0FJRztBQUNILFNBQWdCLGtCQUFrQixDQUNoQyxVQUFxQyxFQUNyQyxRQUFtQztJQUVuQyxJQUFJLE9BQU8sVUFBVSxLQUFLLFFBQVEsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNuRSxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFDRCxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDN0IsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBQ0QsTUFBTSxDQUFDLEdBQUcsSUFBQSxtQkFBVSxFQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtJQUMxRCxNQUFNLENBQUMsR0FBRyxJQUFBLG1CQUFVLEVBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQ3hELE9BQU8sSUFBQSx3QkFBZSxFQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUM5QixDQUFDO0FBRUQsZ0ZBQWdGO0FBQ25FLFFBQUEsc0JBQXNCLEdBQUc7SUFDcEMsaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsa0JBQWtCO0NBQ1YsQ0FBQTtBQVVWOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLHNCQUFzQixHQUFHLEdBQUcsQ0FBQTtBQUVsQyxnRkFBZ0Y7QUFDaEYsU0FBUyxZQUFZLENBQUMsS0FBYyxFQUFFLEtBQUssR0FBRyxDQUFDO0lBQzdDLElBQUksS0FBSyxH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
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* The webhook secret travels in the URL path because Printful API v1's webhook
|
|
4
|
+
* config accepts only `url`, `types` and `params` — there is no custom-header
|
|
5
|
+
* support to carry it out of band. Everything here exists to keep that secret
|
|
6
|
+
* out of logs.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.WEBHOOK_BODY_SIZE_LIMIT = void 0;
|
|
10
|
+
exports.redactWebhookPath = redactWebhookPath;
|
|
11
|
+
/** Path prefix of the public webhook endpoint; the next segment is the secret. */
|
|
12
|
+
const WEBHOOK_PATH = /^(\/hooks\/printful\/)[^/?#]+/;
|
|
13
|
+
/**
|
|
14
|
+
* Strip the secret from a webhook request path.
|
|
15
|
+
*
|
|
16
|
+
* Medusa's error handler logs `Error ${statusCode} at ${req.path}` verbatim
|
|
17
|
+
* (@medusajs/framework/dist/http/middlewares/error-handler.js), so any error
|
|
18
|
+
* raised for this route would otherwise write the live secret in cleartext.
|
|
19
|
+
*
|
|
20
|
+
* Pure and total: it never throws and never returns the original token, so it
|
|
21
|
+
* is safe to call from an error path where input shape is not guaranteed.
|
|
22
|
+
*/
|
|
23
|
+
function redactWebhookPath(path) {
|
|
24
|
+
if (typeof path !== "string") {
|
|
25
|
+
return "";
|
|
26
|
+
}
|
|
27
|
+
return path.replace(WEBHOOK_PATH, "$1[redacted]");
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Body-parser size limit for the webhook route.
|
|
31
|
+
*
|
|
32
|
+
* Express defaults to 100KB, which real traffic exceeds: a `package_shipped`
|
|
33
|
+
* body for a ~25-line-item order already measures ~132KB, and a 50-item order
|
|
34
|
+
* ~262KB (modelled from Printful's published OpenAPI shapes with 6 print files
|
|
35
|
+
* per item and realistic CDN URLs). Under the default, such a delivery is
|
|
36
|
+
* rejected with a 413 raised by the GLOBAL body-parser — which runs before any
|
|
37
|
+
* route-scoped middleware and therefore reaches the error handler with the
|
|
38
|
+
* un-redacted path, leaking the live secret.
|
|
39
|
+
*
|
|
40
|
+
* 1MB clears the measured worst case with roughly 4x headroom while staying
|
|
41
|
+
* bounded, so the public endpoint is not an unbounded memory sink.
|
|
42
|
+
*/
|
|
43
|
+
exports.WEBHOOK_BODY_SIZE_LIMIT = "1mb";
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViaG9vay1wYXRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL3dlYmhvb2stcGF0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7O0dBS0c7OztBQWVILDhDQUtDO0FBbEJELGtGQUFrRjtBQUNsRixNQUFNLFlBQVksR0FBRywrQkFBK0IsQ0FBQTtBQUVwRDs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxJQUFZO0lBQzVDLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDN0IsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxjQUFjLENBQUMsQ0FBQTtBQUNuRCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNVLFFBQUEsdUJBQXVCLEdBQUcsS0FBSyxDQUFBIn0=
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.applyOrderStatusWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
7
|
+
const printful_1 = require("../modules/printful");
|
|
8
|
+
const service_1 = require("../modules/printful/service");
|
|
9
|
+
const order_state_1 = require("../utils/order-state");
|
|
10
|
+
/** Fulfillment metadata key that ties a Medusa fulfillment to a Printful parcel. */
|
|
11
|
+
const SHIPMENT_ID_KEY = "printful_shipment_id";
|
|
12
|
+
const applyStep = (0, workflows_sdk_1.createStep)("apply-printful-order-status", async (input, { container }) => {
|
|
13
|
+
const printful = container.resolve(printful_1.PRINTFUL_MODULE);
|
|
14
|
+
const orderModule = container.resolve(utils_1.Modules.ORDER);
|
|
15
|
+
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
16
|
+
const [event] = await printful.listPrintfulWebhookEvents({
|
|
17
|
+
id: input.event_row_id,
|
|
18
|
+
});
|
|
19
|
+
if (!event || event.status === "processed") {
|
|
20
|
+
return new workflows_sdk_1.StepResponse({
|
|
21
|
+
status: "processed",
|
|
22
|
+
reason: "already_processed",
|
|
23
|
+
shipments_created: 0,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
// Claim the attempt before any risky work: a crash mid-attempt must not
|
|
27
|
+
// leave the row immediately due again, or the retry job spins.
|
|
28
|
+
const attempts = (event.attempts ?? 0) + 1;
|
|
29
|
+
await printful.updatePrintfulWebhookEvents({
|
|
30
|
+
id: event.id,
|
|
31
|
+
attempts,
|
|
32
|
+
next_retry_at: new Date(Date.now() + (0, service_1.nextRetryDelayMs)(attempts)),
|
|
33
|
+
});
|
|
34
|
+
const link = await printful.findOrderLinkByPrintfulId(event.printful_order_id);
|
|
35
|
+
if (!link) {
|
|
36
|
+
// Order links are written on payment.captured; a webhook can beat it.
|
|
37
|
+
const status = attempts >= service_1.MAX_WEBHOOK_ATTEMPTS ? "failed" : "deferred";
|
|
38
|
+
await printful.updatePrintfulWebhookEvents({
|
|
39
|
+
id: event.id,
|
|
40
|
+
status,
|
|
41
|
+
error_message: "No printful_order_link for this Printful order yet",
|
|
42
|
+
});
|
|
43
|
+
return new workflows_sdk_1.StepResponse({
|
|
44
|
+
status,
|
|
45
|
+
reason: "link_missing",
|
|
46
|
+
shipments_created: 0,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
try {
|
|
50
|
+
// The lint rule cannot see through the withOrderLock closure, but every
|
|
51
|
+
// return inside it is a `new StepResponse(...)` — as are the two early
|
|
52
|
+
// returns above.
|
|
53
|
+
// eslint-disable-next-line @medusajs/step-must-return-step-response
|
|
54
|
+
return await printful.withOrderLock(event.printful_order_id, async () => {
|
|
55
|
+
const client = await printful.getClient();
|
|
56
|
+
// The payload is untrusted — Printful API v1 does not sign webhooks. It
|
|
57
|
+
// only names which order to inspect; every decision below comes from this
|
|
58
|
+
// authoritative re-fetch.
|
|
59
|
+
const pfOrder = await client.getOrder(event.printful_order_id);
|
|
60
|
+
// Fulfillments are not an Order-module relation: they live in the
|
|
61
|
+
// Fulfillment module and are reachable only across the module link, so
|
|
62
|
+
// they must be read through Query rather than retrieveOrder().
|
|
63
|
+
const { data: orderRows } = await query.graph({
|
|
64
|
+
entity: "order",
|
|
65
|
+
fields: [
|
|
66
|
+
"id",
|
|
67
|
+
"metadata",
|
|
68
|
+
"items.id",
|
|
69
|
+
"items.quantity",
|
|
70
|
+
// Remaining unfulfilled quantity is validated by the order module
|
|
71
|
+
// (utils/actions/fulfill-item.js: "Cannot fulfill more items than
|
|
72
|
+
// what was ordered"), so we must clamp against it before asking.
|
|
73
|
+
"items.detail.fulfilled_quantity",
|
|
74
|
+
"fulfillments.id",
|
|
75
|
+
"fulfillments.metadata",
|
|
76
|
+
],
|
|
77
|
+
filters: { id: link.medusa_order_id },
|
|
78
|
+
});
|
|
79
|
+
const orderRow = (Array.isArray(orderRows) ? orderRows[0] : orderRows);
|
|
80
|
+
if (!orderRow) {
|
|
81
|
+
const status = attempts >= service_1.MAX_WEBHOOK_ATTEMPTS ? "failed" : "deferred";
|
|
82
|
+
await printful.updatePrintfulWebhookEvents({
|
|
83
|
+
id: event.id,
|
|
84
|
+
status,
|
|
85
|
+
error_message: `Medusa order ${link.medusa_order_id} not found`,
|
|
86
|
+
});
|
|
87
|
+
return new workflows_sdk_1.StepResponse({
|
|
88
|
+
status,
|
|
89
|
+
reason: "order_missing",
|
|
90
|
+
shipments_created: 0,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
// Read back the Printful shipment id we stamped on previous fulfillments.
|
|
94
|
+
// This is how an already-recorded parcel is detected, so a redelivered or
|
|
95
|
+
// duplicated event cannot produce a second fulfillment for it.
|
|
96
|
+
const recorded = (orderRow.fulfillments ?? [])
|
|
97
|
+
.map((f) => f.metadata?.[SHIPMENT_ID_KEY])
|
|
98
|
+
.filter((v) => typeof v === "string");
|
|
99
|
+
const plan = (0, order_state_1.planOrderStateActions)(pfOrder, recorded);
|
|
100
|
+
await orderModule.updateOrders(link.medusa_order_id, {
|
|
101
|
+
metadata: { ...(orderRow.metadata ?? {}), ...plan.metadata },
|
|
102
|
+
});
|
|
103
|
+
// Printful's Shipment.items gives a per-parcel breakdown keyed by its own
|
|
104
|
+
// line item id. create-printful-order.ts stamps external_id with the
|
|
105
|
+
// Medusa line item id on every item it sends, so this map joins a parcel's
|
|
106
|
+
// contents back to Medusa line items.
|
|
107
|
+
const printfulItemToMedusaItem = new Map();
|
|
108
|
+
for (const pfItem of pfOrder.items ?? []) {
|
|
109
|
+
if (pfItem.external_id) {
|
|
110
|
+
printfulItemToMedusaItem.set(Number(pfItem.id), pfItem.external_id);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
// Remaining unfulfilled quantity per Medusa line item. Decremented as we
|
|
114
|
+
// go so two parcels in one pass cannot jointly over-fulfill a line.
|
|
115
|
+
const remaining = new Map();
|
|
116
|
+
for (const item of orderRow.items ?? []) {
|
|
117
|
+
const fulfilled = Number(item.detail?.fulfilled_quantity ?? 0);
|
|
118
|
+
remaining.set(item.id, Math.max(0, Number(item.quantity) - fulfilled));
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Items to fulfill for one parcel, clamped to what Medusa still has open.
|
|
122
|
+
*
|
|
123
|
+
* Clamping is load-bearing: Printful can report more than Medusa has
|
|
124
|
+
* outstanding — after a partial cancel, or on a reshipment, where the same
|
|
125
|
+
* units ship twice and must not be counted twice. Over-asking throws
|
|
126
|
+
* "Cannot fulfill more items than what was ordered", which would strand
|
|
127
|
+
* the event permanently.
|
|
128
|
+
*/
|
|
129
|
+
const itemsForParcel = (shipment) => {
|
|
130
|
+
// No breakdown (older or partial payloads): fall back to the whole
|
|
131
|
+
// order, still clamped, rather than crashing.
|
|
132
|
+
const requested = shipment.items === undefined
|
|
133
|
+
? (orderRow.items ?? []).map((i) => ({
|
|
134
|
+
id: i.id,
|
|
135
|
+
quantity: Number(i.quantity),
|
|
136
|
+
}))
|
|
137
|
+
: shipment.items.flatMap((pi) => {
|
|
138
|
+
const medusaId = printfulItemToMedusaItem.get(pi.item_id);
|
|
139
|
+
return medusaId
|
|
140
|
+
? [{ id: medusaId, quantity: Number(pi.quantity) }]
|
|
141
|
+
: [];
|
|
142
|
+
});
|
|
143
|
+
const clamped = [];
|
|
144
|
+
for (const req of requested) {
|
|
145
|
+
const open = remaining.get(req.id) ?? 0;
|
|
146
|
+
const quantity = Math.min(req.quantity, open);
|
|
147
|
+
if (quantity > 0) {
|
|
148
|
+
clamped.push({ id: req.id, quantity });
|
|
149
|
+
remaining.set(req.id, open - quantity);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return clamped;
|
|
153
|
+
};
|
|
154
|
+
let created = 0;
|
|
155
|
+
const skipped = [];
|
|
156
|
+
for (const shipment of plan.shipments) {
|
|
157
|
+
const items = itemsForParcel(shipment);
|
|
158
|
+
// Nothing left open for this parcel — a reshipment, or units already
|
|
159
|
+
// fulfilled. Record it and move on instead of throwing.
|
|
160
|
+
if (!items.length) {
|
|
161
|
+
skipped.push(shipment.printful_shipment_id);
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
const labels = shipment.tracking_number
|
|
165
|
+
? [
|
|
166
|
+
{
|
|
167
|
+
tracking_number: shipment.tracking_number,
|
|
168
|
+
tracking_url: shipment.tracking_url ?? "",
|
|
169
|
+
// Printful's v1 Shipment schema exposes no customer-facing
|
|
170
|
+
// label URL. Empty beats a plausible-looking wrong link.
|
|
171
|
+
label_url: "",
|
|
172
|
+
},
|
|
173
|
+
]
|
|
174
|
+
: [];
|
|
175
|
+
// Each unrecorded Printful shipment gets its OWN fulfillment: Printful
|
|
176
|
+
// splits orders across facilities, so one fulfillment must never close
|
|
177
|
+
// the whole order.
|
|
178
|
+
const { result: fulfillment } = await (0, core_flows_1.createOrderFulfillmentWorkflow)(container).run({
|
|
179
|
+
input: {
|
|
180
|
+
order_id: link.medusa_order_id,
|
|
181
|
+
items,
|
|
182
|
+
labels,
|
|
183
|
+
metadata: {
|
|
184
|
+
printful_order_id: String(event.printful_order_id),
|
|
185
|
+
[SHIPMENT_ID_KEY]: shipment.printful_shipment_id,
|
|
186
|
+
printful_carrier: shipment.carrier ?? null,
|
|
187
|
+
printful_service: shipment.service ?? null,
|
|
188
|
+
printful_reshipment: shipment.reshipment ?? false,
|
|
189
|
+
},
|
|
190
|
+
},
|
|
191
|
+
});
|
|
192
|
+
await (0, core_flows_1.createOrderShipmentWorkflow)(container).run({
|
|
193
|
+
input: {
|
|
194
|
+
order_id: link.medusa_order_id,
|
|
195
|
+
fulfillment_id: fulfillment.id,
|
|
196
|
+
items,
|
|
197
|
+
labels,
|
|
198
|
+
},
|
|
199
|
+
});
|
|
200
|
+
created += 1;
|
|
201
|
+
}
|
|
202
|
+
// Negative states (failed/canceled/onhold) are recorded for a human to
|
|
203
|
+
// review — never auto-canceled or auto-refunded here.
|
|
204
|
+
await printful.updatePrintfulOrderLinks({
|
|
205
|
+
id: link.id,
|
|
206
|
+
status: pfOrder.status,
|
|
207
|
+
});
|
|
208
|
+
// Skipped parcels are not an error, but they are worth surfacing: a
|
|
209
|
+
// reshipment or a post-cancel shipment leaves a visible breadcrumb rather
|
|
210
|
+
// than silently producing fewer fulfillments than parcels.
|
|
211
|
+
await printful.updatePrintfulWebhookEvents({
|
|
212
|
+
id: event.id,
|
|
213
|
+
status: "processed",
|
|
214
|
+
processed_at: new Date(),
|
|
215
|
+
error_message: skipped.length
|
|
216
|
+
? `No unfulfilled quantity remaining for shipment(s): ${skipped.join(", ")}`
|
|
217
|
+
: null,
|
|
218
|
+
});
|
|
219
|
+
return new workflows_sdk_1.StepResponse({
|
|
220
|
+
status: "processed",
|
|
221
|
+
shipments_created: created,
|
|
222
|
+
});
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
catch (err) {
|
|
226
|
+
// Outside the lock deliberately: a write inside would roll back with it,
|
|
227
|
+
// losing the only record of why this failed. Without this, an event that
|
|
228
|
+
// throws its way to MAX_WEBHOOK_ATTEMPTS stops matching
|
|
229
|
+
// listDueWebhookEvents while still marked received/deferred — invisible to
|
|
230
|
+
// the retry job and indistinguishable from a fresh event.
|
|
231
|
+
const status = attempts >= service_1.MAX_WEBHOOK_ATTEMPTS ? "failed" : "deferred";
|
|
232
|
+
await printful.updatePrintfulWebhookEvents({
|
|
233
|
+
id: event.id,
|
|
234
|
+
status,
|
|
235
|
+
error_message: (err instanceof Error ? err.message : String(err)).slice(0, 1000),
|
|
236
|
+
});
|
|
237
|
+
throw err;
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
exports.applyOrderStatusWorkflow = (0, workflows_sdk_1.createWorkflow)("apply-printful-order-status", (input) => {
|
|
241
|
+
return new workflows_sdk_1.WorkflowResponse(applyStep(input));
|
|
242
|
+
});
|
|
243
|
+
exports.default = exports.applyOrderStatusWorkflow;
|
|
244
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktb3JkZXItc3RhdHVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9hcHBseS1vcmRlci1zdGF0dXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSzBDO0FBQzFDLHFEQUE4RTtBQUM5RSw0REFHb0M7QUFDcEMsa0RBQXFEO0FBRXJELHlEQUdvQztBQUNwQyxzREFBNEQ7QUFhNUQsb0ZBQW9GO0FBQ3BGLE1BQU0sZUFBZSxHQUFHLHNCQUFzQixDQUFBO0FBRTlDLE1BQU0sU0FBUyxHQUFHLElBQUEsMEJBQVUsRUFDMUIsNkJBQTZCLEVBQzdCLEtBQUssRUFBRSxLQUE0QixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNwRCxNQUFNLFFBQVEsR0FBMEIsU0FBUyxDQUFDLE9BQU8sQ0FBQywwQkFBZSxDQUFDLENBQUE7SUFDMUUsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDcEQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUVoRSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSxRQUFRLENBQUMseUJBQXlCLENBQUM7UUFDdkQsRUFBRSxFQUFFLEtBQUssQ0FBQyxZQUFZO0tBQ3ZCLENBQUMsQ0FBQTtJQUNGLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUMzQyxPQUFPLElBQUksNEJBQVksQ0FBYztZQUNuQyxNQUFNLEVBQUUsV0FBVztZQUNuQixNQUFNLEVBQUUsbUJBQW1CO1lBQzNCLGlCQUFpQixFQUFFLENBQUM7U0FDckIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELHdFQUF3RTtJQUN4RSwrREFBK0Q7SUFDL0QsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFL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
|
|
@@ -66,7 +66,8 @@ const createPrintfulOrderStep = (0, workflows_sdk_1.createStep)("printful-create
|
|
|
66
66
|
}
|
|
67
67
|
const countryCode = (addr.country_code || "").toUpperCase();
|
|
68
68
|
const recipient = {
|
|
69
|
-
name: [addr.first_name, addr.last_name].filter(Boolean).join(" ") ||
|
|
69
|
+
name: [addr.first_name, addr.last_name].filter(Boolean).join(" ") ||
|
|
70
|
+
"Customer",
|
|
70
71
|
address1: addr.address_1 || "",
|
|
71
72
|
address2: addr.address_2 || undefined,
|
|
72
73
|
city: addr.city || "",
|
|
@@ -120,4 +121,4 @@ exports.createPrintfulOrderWorkflow = (0, workflows_sdk_1.createWorkflow)("print
|
|
|
120
121
|
return new workflows_sdk_1.WorkflowResponse(result);
|
|
121
122
|
});
|
|
122
123
|
exports.default = exports.createPrintfulOrderWorkflow;
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXByaW50ZnVsLW9yZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9jcmVhdGUtcHJpbnRmdWwtb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSzBDO0FBQzFDLHFEQUFtRDtBQUNuRCxrREFBcUQ7QUFPckQsOENBQW1EO0FBa0JuRCxNQUFNLHVCQUF1QixHQUFHLElBQUEsMEJBQVUsRUFDeEMsdUJBQXVCLEVBQ3ZCLEtBQUssRUFBRSxLQUErQixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN2RCxNQUFNLFFBQVEsR0FBMEIsU0FBUyxDQUFDLE9BQU8sQ0FBQywwQkFBZSxDQUFDLENBQUE7SUFDMUUsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDcEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDM0MsTUFBTSxNQUFNLEdBQUcsTUFBTSxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUE7SUFFekMsTUFBTSxRQUFRLEdBQUcsTUFBTSxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUM3RCxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsT0FBTyxJQUFJLDRCQUFZLENBQWU7WUFDcEMsT0FBTyxFQUFFLElBQUk7WUFDYixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxpQkFBaUI7U0FDOUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLE1BQU0sV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO1FBQzVELFNBQVMsRUFBRSxDQUFDLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQztLQUN6QyxDQUFDLENBQUE7SUFFRixNQUFNLEtBQUssR0FB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
|
|
@@ -3,11 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createPrintfulOrder = exports.createPrintfulOrderWorkflow = exports.syncProducts = exports.syncProductsWorkflow = void 0;
|
|
6
|
+
exports.applyOrderStatus = exports.applyOrderStatusWorkflow = exports.createPrintfulOrder = exports.createPrintfulOrderWorkflow = exports.syncProducts = exports.syncProductsWorkflow = void 0;
|
|
7
7
|
var sync_products_1 = require("./sync-products");
|
|
8
8
|
Object.defineProperty(exports, "syncProductsWorkflow", { enumerable: true, get: function () { return __importDefault(sync_products_1).default; } });
|
|
9
9
|
Object.defineProperty(exports, "syncProducts", { enumerable: true, get: function () { return sync_products_1.syncProductsWorkflow; } });
|
|
10
10
|
var create_printful_order_1 = require("./create-printful-order");
|
|
11
11
|
Object.defineProperty(exports, "createPrintfulOrderWorkflow", { enumerable: true, get: function () { return __importDefault(create_printful_order_1).default; } });
|
|
12
12
|
Object.defineProperty(exports, "createPrintfulOrder", { enumerable: true, get: function () { return create_printful_order_1.createPrintfulOrderWorkflow; } });
|
|
13
|
-
|
|
13
|
+
var apply_order_status_1 = require("./apply-order-status");
|
|
14
|
+
Object.defineProperty(exports, "applyOrderStatusWorkflow", { enumerable: true, get: function () { return __importDefault(apply_order_status_1).default; } });
|
|
15
|
+
Object.defineProperty(exports, "applyOrderStatus", { enumerable: true, get: function () { return apply_order_status_1.applyOrderStatusWorkflow; } });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlEQUd3QjtBQUZ0QixzSUFBQSxPQUFPLE9BQXdCO0FBQy9CLDZHQUFBLG9CQUFvQixPQUFnQjtBQUd0QyxpRUFHZ0M7QUFGOUIscUpBQUEsT0FBTyxPQUErQjtBQUN0Qyw0SEFBQSwyQkFBMkIsT0FBdUI7QUFHcEQsMkRBRzZCO0FBRjNCLCtJQUFBLE9BQU8sT0FBNEI7QUFDbkMsc0hBQUEsd0JBQXdCLE9BQW9CIn0=
|
|
@@ -224,4 +224,4 @@ exports.syncProductsWorkflow = (0, workflows_sdk_1.createWorkflow)("printful-syn
|
|
|
224
224
|
});
|
|
225
225
|
});
|
|
226
226
|
exports.default = exports.syncProductsWorkflow;
|
|
227
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1wcm9kdWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3luYy1wcm9kdWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFNMEM7QUFDMUMsNERBR29DO0FBQ3BDLHFEQUFtRDtBQUNuRCxrREFBcUQ7QUFFckQsOENBQWdGO0FBY2hGLE1BQU0saUJBQWlCLEdBQUcsSUFBQSwwQkFBVSxFQUNsQywwQkFBMEIsRUFDMUIsS0FBSyxFQUFFLE1BQVksRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDcEMsTUFBTSxRQUFRLEdBQTBCLFNBQVMsQ0FBQyxPQUFPLENBQUMsMEJBQWUsQ0FBQyxDQUFBO0lBQzFFLE1BQU0sR0FBRyxHQUFHLE1BQU0sUUFBUSxDQUFDLHNCQUFzQixDQUFDO1FBQ2hELE1BQU0sRUFBRSxTQUFTO1FBQ2pCLFVBQVUsRUFBRSxJQUFJLElBQUksRUFBRTtRQUN0QixnQkFBZ0IsRUFBRSxDQUFDO1FBQ25CLGdCQUFnQixFQUFFLENBQUM7UUFDbkIsZUFBZSxFQUFFLENBQUM7S0FDbkIsQ0FBQyxDQUFBO0lBQ0YsT0FBTyxJQUFJLDRCQUFZLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDOUIsQ0FBQyxDQUNGLENBQUE7QUFFRCxNQUFNLGdCQUFnQixHQUFHLElBQUEsMEJBQVUsRUFDakMsd0JBQXdCLEVBQ3hCLEtBQUssRUFBRSxLQUF3QixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNoRCxNQUFNLFFBQVEsR0FBMEIsU0FBUyxDQUFDLE9BQU8sQ0FBQywwQkFBZSxDQUFDLENBQUE7SUFDMUUsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDeEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUE7SUFDekMsTUFBTSxPQUFPLEdBQUcsTUFB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
|
|
227
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1wcm9kdWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3luYy1wcm9kdWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFNMEM7QUFDMUMsNERBR29DO0FBQ3BDLHFEQUFtRDtBQUNuRCxrREFBcUQ7QUFFckQsOENBQWdGO0FBY2hGLE1BQU0saUJBQWlCLEdBQUcsSUFBQSwwQkFBVSxFQUNsQywwQkFBMEIsRUFDMUIsS0FBSyxFQUFFLE1BQVksRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDcEMsTUFBTSxRQUFRLEdBQTBCLFNBQVMsQ0FBQyxPQUFPLENBQUMsMEJBQWUsQ0FBQyxDQUFBO0lBQzFFLE1BQU0sR0FBRyxHQUFHLE1BQU0sUUFBUSxDQUFDLHNCQUFzQixDQUFDO1FBQ2hELE1BQU0sRUFBRSxTQUFTO1FBQ2pCLFVBQVUsRUFBRSxJQUFJLElBQUksRUFBRTtRQUN0QixnQkFBZ0IsRUFBRSxDQUFDO1FBQ25CLGdCQUFnQixFQUFFLENBQUM7UUFDbkIsZUFBZSxFQUFFLENBQUM7S0FDbkIsQ0FBQyxDQUFBO0lBQ0YsT0FBTyxJQUFJLDRCQUFZLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDOUIsQ0FBQyxDQUNGLENBQUE7QUFFRCxNQUFNLGdCQUFnQixHQUFHLElBQUEsMEJBQVUsRUFDakMsd0JBQXdCLEVBQ3hCLEtBQUssRUFBRSxLQUF3QixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNoRCxNQUFNLFFBQVEsR0FBMEIsU0FBUyxDQUFDLE9BQU8sQ0FBQywwQkFBZSxDQUFDLENBQUE7SUFDMUUsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDeEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUE7SUFDekMsTUFBTSxPQUFPLEdBQUcsTUFBTSxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDM0MsTUFBTSxPQUFPLEdBQUcsTUFBTSxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUE7SUFFM0MsTUFBTSxTQUFTLEdBQUcsTUFBTSxNQUFNLENBQUMsbUJBQW1CLENBQUM7UUFDakQsS0FBSyxFQUFFLEdBQUc7S0FDWCxDQUFDLENBQUE7SUFFRixNQUFNLFNBQVMsR0FDYixLQUFLLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFFbkUsTUFBTSxRQUFRLEdBQWlCO1FBQzdCLE9BQU8sRUFBRSxDQUFDO1FBQ1YsT0FBTyxFQUFFLENBQUM7UUFDVixNQUFNLEVBQUUsQ0FBQztRQUNULE1BQU0sRUFBRSxFQUFFO0tBQ1gsQ0FBQTtJQUVELEtBQUssTUFBTSxPQUFPLElBQUksU0FBUyxFQUFFLENBQUM7UUFDaEMsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdkIsU0FBUTtRQUNWLENBQUM7UUFFRCxJQUFJLENBQUM7WUFDSCxNQUFNLE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxDQUFDO2dCQUNsQyxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQTtnQkFDcEIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxPQUFPLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO2dCQUM3RCxTQUFRO1lBQ1YsQ0FBQztZQUVELE1BQU0sTUFBTSxHQUFHLElBQUEsZ0NBQXNCLEVBQUMsTUFBTSxFQUFFO2dCQUM1QyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87Z0JBQ3hCLGVBQWUsRUFBRSxPQUFPLENBQUMsZUFBZTtnQkFDeEMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxhQUFhO2FBQ3JDLENBQUMsQ0FBQTtZQUVGLE1BQU0sWUFBWSxHQUFHLE1BQU0sUUFBUSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7WUFFdkUsSUFBSSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztnQkFDcEMsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLGlCQUFpQixDQUFBO2dCQUVoRCw4QkFBOEI7Z0JBQzlCLE1BQU0sYUFBYSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUU7b0JBQzVDLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztvQkFDbkIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO29CQUMzQixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7b0JBQ3pCLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtpQkFDdEIsQ0FBQyxDQUFBO2dCQUVGLHdFQUF3RTtnQkFDeEUsTUFBTSxPQUFPLEdBQUcsTUFBTSxhQUFhLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRTtvQkFDN0QsU0FBUyxFQUFFLENBQUMsVUFBVSxDQUFDO2lCQUN4QixDQUFDLENBQUE7Z0JBQ0YsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFBLCtCQUFxQixFQUNsRCxNQUFNLENBQUMsUUFBUSxFQUNmLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQ3BDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtvQkFDVCxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVE7aUJBQ3RCLENBQUMsQ0FBQyxDQUNKLENBQUE7Z0JBRUQsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3BCLE1BQU0sSUFBQSx5Q0FBNEIsRUFBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUM7d0JBQ2hELEtBQUssRUFBRTs0QkFDTCxNQUFNLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQ0FDM0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFO2dDQUNSLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSztnQ0FDZCxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU07Z0NBQ2hCLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUTs2QkFDckIsQ0FBQyxDQUFDO3lCQUNKO3FCQUNGLENBQUMsQ0FBQTtnQkFDSixDQUFDO2dCQUVELElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNwQixNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0sSUFBQSx5Q0FBNEIsRUFDNUQsU0FBUyxDQUNWLENBQUMsR0FBRyxDQUFDO3dCQUNKLEtBQUssRUFBRTs0QkFDTCxNQUFNLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQ0FDM0IsVUFBVSxFQUFFLFNBQVM7Z0NBQ3JCLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSztnQ0FDZCxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUc7Z0NBQ1YsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO2dDQUNsQixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU07Z0NBQ2hCLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUTtnQ0FDcEIsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQjtnQ0FDcEMsZUFBZSxFQUFFLENBQUMsQ0FBQyxlQUFlOzZCQUNuQyxDQUFDLENBQUM7eUJBQ0o7cUJBQ0YsQ0FBQyxDQUFBO29CQUVGLEtBQUssTUFBTSxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsQ0FBQzt3QkFDNUMsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSx3QkFBd0IsQ0FBQTt3QkFDaEUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDOzRCQUNuQixTQUFRO3dCQUNWLENBQUM7d0JBQ0QsTUFBTSxRQUFRLENBQUMsMEJBQTBCLENBQUM7NEJBQ3hDLGlCQUFpQixFQUFFLE9BQU87NEJBQzFCLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDOzRCQUM1Qyx3QkFBd0IsRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDOzRCQUMvQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsRUFBRTs0QkFDN0IsY0FBYyxFQUFFLElBQUksSUFBSSxFQUFFO3lCQUMzQixDQUFDLENBQUE7b0JBQ0osQ0FBQztnQkFDSCxDQUFDO2dCQUVELGdEQUFnRDtnQkFDaEQsS0FBSyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQ3JDLE1BQU0sZUFBZSxHQUFHLE1BQU0sUUFBUSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7b0JBQ3BFLElBQUksZUFBZSxFQUFFLENBQUM7d0JBQ3BCLE1BQU0sUUFBUSxDQUFDLDBCQUEwQixDQUFDOzRCQUN4QyxFQUFFLEVBQUUsZUFBZSxDQUFDLEVBQUU7NEJBQ3RCLGNBQWMsRUFBRSxJQUFJLElBQUksRUFBRTt5QkFDM0IsQ0FBQyxDQUFBO29CQUNKLENBQUM7Z0JBQ0gsQ0FBQztnQkFFRCxNQUFNLFFBQVEsQ0FBQywwQkFBMEIsQ0FBQztvQkFDeEMsRUFBRSxFQUFFLFlBQVksQ0FBQyxFQUFFO29CQUNuQixjQUFjLEVBQUUsSUFBSSxJQUFJLEVBQUU7aUJBQzNCLENBQUMsQ0FBQTtnQkFDRixRQUFRLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQTtZQUN2QixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sb0NBQW9DO2dCQUNwQyxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFBO2dCQUMxQixJQUFJLENBQUM7b0JBQ0gsTUFBTSxRQUFRLEdBQUcsTUFBTSxhQUFhLENBQUMsWUFBWSxDQUMvQyxFQUFFLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQ3BCLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUNaLENBQUE7b0JBQ0QsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7d0JBQ3BCLE1BQU0sR0FBRyxHQUFHLE1BQU0sT0FBTyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUE7b0JBQ3ZDLENBQUM7Z0JBQ0gsQ0FBQztnQkFBQyxNQUFNLENBQUM7b0JBQ1AsdUJBQXVCO2dCQUN6QixDQUFDO2dCQUVELE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsbUNBQXNCLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO29CQUM3RCxLQUFLLEVBQUU7d0JBQ0wsUUFBUSxFQUFFOzRCQUNSO2dDQUNFLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztnQ0FDbkIsTUFBTTtnQ0FDTixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07Z0NBQ3JCLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztnQ0FDM0IsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO2dDQUNyQixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87Z0NBQ3ZCLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztvQ0FDcEMsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO29DQUNkLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRztvQ0FDVixPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU87b0NBQ2xCLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTTtvQ0FDaEIsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRO29DQUNwQixnQkFBZ0IsRUFBRSxDQUFDLENBQUMsZ0JBQWdCO29DQUNwQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLGVBQWU7aUNBQ25DLENBQUMsQ0FBQztnQ0FDSCxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7Z0NBQ3pCLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVzs2QkFDaEM7eUJBQ0Y7cUJBQ0Y7aUJBQ0YsQ0FBQyxDQUFBO2dCQUVGLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDekIsTUFBTSxRQUFRLENBQUMsMEJBQTBCLENBQUM7b0JBQ3hDLGlCQUFpQixFQUFFLE9BQU87b0JBQzFCLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO29CQUM1QyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsRUFBRTtvQkFDN0IsY0FBYyxFQUFFLElBQUksSUFBSSxFQUFFO2lCQUMzQixDQUFDLENBQUE7Z0JBRUYsS0FBSyxNQUFNLE9BQU8sSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUFDO29CQUM3QyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsUUFBUSxFQUFFLHdCQUF3QixDQUFBO29CQUNoRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7d0JBQ25CLFNBQVE7b0JBQ1YsQ0FBQztvQkFDRCxNQUFNLFFBQVEsQ0FBQywwQkFBMEIsQ0FBQzt3QkFDeEMsaUJBQWlCLEVBQUUsT0FBTzt3QkFDMUIsd0JBQXdCLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7d0JBQzVDLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUM7d0JBQy9DLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxFQUFFO3dCQUM3QixjQUFjLEVBQUUsSUFBSSxJQUFJLEVBQUU7cUJBQzNCLENBQUMsQ0FBQTtnQkFDSixDQUFDO2dCQUVELFFBQVEsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFBO1lBQ3ZCLENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLFFBQVEsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFBO1lBQ3BCLE1BQU0sT0FBTyxHQUFHLEdBQUcsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUNoRSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLE9BQU8sQ0FBQyxFQUFFLEtBQUssT0FBTyxFQUFFLENBQUMsQ0FBQTtRQUMzRCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sSUFBSSw0QkFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBQ25DLENBQUMsQ0FDRixDQUFBO0FBRUQsTUFBTSxtQkFBbUIsR0FBRyxJQUFBLDBCQUFVLEVBQ3BDLDRCQUE0QixFQUM1QixLQUFLLEVBQUUsS0FBZ0QsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDeEUsTUFBTSxRQUFRLEdBQTBCLFNBQVMsQ0FBQyxPQUFPLENBQUMsMEJBQWUsQ0FBQyxDQUFBO0lBQzFFLE1BQU0sVUFBVSxHQUNkLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUM7UUFDekIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEtBQUssQ0FBQztRQUM1QixLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sS0FBSyxDQUFDLENBQUE7SUFFOUIsTUFBTSxHQUFHLEdBQUcsTUFBTSxRQUFRLENBQUMsc0JBQXNCLENBQUM7UUFDaEQsRUFBRSxFQUFFLEtBQUssQ0FBQyxLQUFLO1FBQ2YsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTO1FBQ3pDLFdBQVcsRUFBRSxJQUFJLElBQUksRUFBRTtRQUN2QixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU87UUFDeEMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPO1FBQ3hDLGVBQWUsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU07UUFDdEMsYUFBYSxFQUNYLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQzlCLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDL0MsQ0FBQyxDQUFDLElBQUk7S0FDWCxDQUFDLENBQUE7SUFFRixPQUFPLElBQUksNEJBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUM5QixDQUFDLENBQ0YsQ0FBQTtBQUVZLFFBQUEsb0JBQW9CLEdBQUcsSUFBQSw4QkFBYyxFQUNoRCx3QkFBd0IsRUFDeEIsQ0FBQyxLQUF3QixFQUFFLEVBQUU7SUFDM0IsTUFBTSxHQUFHLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQTtJQUMvQixNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN4QyxNQUFNLGFBQWEsR0FBRyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNUQsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBWTtRQUM1QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQXdCO0tBQ3hDLENBQUMsQ0FBQyxDQUFBO0lBQ0gsTUFBTSxRQUFRLEdBQUcsbUJBQW1CLENBQUMsYUFBYSxDQUFDLENBQUE7SUFFbkQsT0FBTyxJQUFJLGdDQUFnQixDQUFDO1FBQzFCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLFFBQVE7S0FDVCxDQUFDLENBQUE7QUFDSixDQUFDLENBQ0YsQ0FBQTtBQUVELGtCQUFlLDRCQUFvQixDQUFBIn0=
|