medusajs-documents-plugin 1.1.29 → 1.1.31
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/api/admin/documents/[id]/document/route.js +55 -4
- package/.medusa/server/src/api/admin/documents/templates/preview/route.js +22 -2
- package/.medusa/server/src/api/api/admin/documents/[id]/document/route.js +25 -4
- package/.medusa/server/src/api/documents/[id]/document/route.js +24 -3
- package/.medusa/server/src/api/documents/templates/preview/route.js +118 -47
- package/.medusa/server/src/api/middlewares.js +35 -0
- package/.medusa/server/src/modules/documents/service.js +48 -20
- package/.medusa/server/src/services/pdfkit-generator.js +176 -111
- package/CHANGELOG.md +19 -0
- package/package.json +1 -1
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HEAD = exports.AUTHENTICATE = void 0;
|
|
3
4
|
exports.GET = GET;
|
|
4
5
|
const documents_1 = require("../../../../modules/documents");
|
|
5
6
|
const pdfkit_generator_1 = require("../../../../services/pdfkit-generator");
|
|
6
|
-
|
|
7
|
+
exports.AUTHENTICATE = false;
|
|
8
|
+
// GET /documents/templates/preview?style=modern | classic | minimal | zoho_exact | standard&type=invoice | receipt | packing_slip | estimate | custom | job_card
|
|
7
9
|
async function GET(req, res) {
|
|
8
10
|
try {
|
|
9
11
|
const documentService = req.scope.resolve(documents_1.DOCUMENTS_MODULE);
|
|
10
|
-
const settings = (await documentService.getSettings().catch(() => ({}))) || {};
|
|
12
|
+
const settings = (await documentService.getSettings({}, req.scope).catch(() => ({}))) || {};
|
|
11
13
|
const rawStyle = String(req.query.style || "").trim().toLowerCase();
|
|
12
|
-
const
|
|
14
|
+
const validStyles = ["modern", "classic", "minimal", "zoho_exact", "standard"];
|
|
15
|
+
const style = validStyles.includes(rawStyle) ? rawStyle : "modern";
|
|
13
16
|
const rawType = String(req.query.type || "").trim().toLowerCase();
|
|
14
17
|
const validTypes = ["invoice", "receipt", "packing_slip", "estimate", "custom", "job_card"];
|
|
15
18
|
const type = (validTypes.includes(rawType) ? rawType : "invoice");
|
|
@@ -19,6 +22,68 @@ async function GET(req, res) {
|
|
|
19
22
|
const isPackingSlip = type === "packing_slip";
|
|
20
23
|
const isEstimate = type === "estimate";
|
|
21
24
|
const companyName = settings.company_name || "Urban Device Care Ltd";
|
|
25
|
+
const rawPreset = String(req.query.preset || "").trim().toLowerCase();
|
|
26
|
+
// Preset dictionary for custom documents
|
|
27
|
+
const PRESETS = {
|
|
28
|
+
warranty: {
|
|
29
|
+
title: "Warranty Certificate",
|
|
30
|
+
body_text: "This official certificate verifies that the aforementioned device has undergone professional repairs with genuine OEM-specification components and has passed our multi-point quality assurance inspection.\n\nAll hardware replacements and associated workshop labor are covered under our comprehensive 90-day warranty against defects in parts and workmanship. Please retain this document for warranty verification.",
|
|
31
|
+
items: [
|
|
32
|
+
{ title: "OEM Component & Hardware Warranty", description: "90-Day Comprehensive Hardware Protection", quantity: 1, unit_price: 0, total: 0 },
|
|
33
|
+
{ title: "Workshop Quality Clearance", description: "Multi-Point Hardware Bench Certification", quantity: 1, unit_price: 0, total: 0 },
|
|
34
|
+
],
|
|
35
|
+
},
|
|
36
|
+
diagnostic: {
|
|
37
|
+
title: "Diagnostic & Hardware Inspection Report",
|
|
38
|
+
body_text: "Our certified repair specialists have completed a hardware and firmware inspection of your equipment. Below are the confirmed technical findings, component test measurements, and technician notes regarding the state of your device.",
|
|
39
|
+
items: [
|
|
40
|
+
{ title: "Logic Board & Power Rail Inspection", description: "Voltage drop and circuit continuity tested", quantity: 1, unit_price: 0, total: 0 },
|
|
41
|
+
{ title: "Display & Touch Digitizer Diagnostic", description: "Digitizer touch grid, TrueTone, and Ambient Sensor test", quantity: 1, unit_price: 0, total: 0 },
|
|
42
|
+
{ title: "Battery Health & Thermal Profiling", description: "Cycle count, capacity retention, and charge testing", quantity: 1, unit_price: 0, total: 0 },
|
|
43
|
+
],
|
|
44
|
+
},
|
|
45
|
+
service_completion: {
|
|
46
|
+
title: "Certificate of Service Completion",
|
|
47
|
+
body_text: "This document certifies that the requested overhaul, maintenance, and repair services have been executed in full accordance with industry service standards. The device has cleared bench testing and is ready for customer collection.",
|
|
48
|
+
items: [
|
|
49
|
+
{ title: "Hardware Servicing & Component Replacement", description: "Executed per work order specifications", quantity: 1, unit_price: 0, total: 0 },
|
|
50
|
+
{ title: "Final Bench Testing & Quality Control", description: "Passed 100% functional test criteria", quantity: 1, unit_price: 0, total: 0 },
|
|
51
|
+
],
|
|
52
|
+
},
|
|
53
|
+
handover: {
|
|
54
|
+
title: "Equipment Handover & Custody Release Agreement",
|
|
55
|
+
body_text: "This handover document certifies the return and physical custody release of customer equipment and associated accessories from Urban Device Care. The customer acknowledges receipt of equipment in verified working order.",
|
|
56
|
+
items: [
|
|
57
|
+
{ title: "Device Handover & Physical Release", description: "Customer custody confirmed", quantity: 1, unit_price: 0, total: 0 },
|
|
58
|
+
{ title: "Accessories Handover", description: "Chargers, cases, and cables returned in verified condition", quantity: 1, unit_price: 0, total: 0 },
|
|
59
|
+
],
|
|
60
|
+
},
|
|
61
|
+
proforma: {
|
|
62
|
+
title: "Commercial Quotation (Proforma)",
|
|
63
|
+
body_text: "Thank you for choosing Urban Device Care. Below is an itemized breakdown of estimated hardware parts, workshop labor, and turnaround schedule for your project. This quote is valid for 14 calendar days.",
|
|
64
|
+
items: [
|
|
65
|
+
{ title: "OEM Replacement Hardware Assembly", description: "Brand new replacement module", quantity: 1, unit_price: 15000, total: 15000 },
|
|
66
|
+
{ title: "Workshop Labor & Clean-Room Installation", description: "Certified technician installation & calibration", quantity: 1, unit_price: 4500, total: 4500 },
|
|
67
|
+
],
|
|
68
|
+
},
|
|
69
|
+
trade_in: {
|
|
70
|
+
title: "Device Trade-In & Buyback Agreement",
|
|
71
|
+
body_text: "This agreement confirms the valuation, transfer of title, and trade-in credit for the listed customer hardware. Customer verifies legal ownership and consents to complete data sanitation and ownership transfer.",
|
|
72
|
+
items: [
|
|
73
|
+
{ title: "Trade-In Device Valuation & Credit", description: "Assessed Grade A condition allowance", quantity: 1, unit_price: 25000, total: 25000 },
|
|
74
|
+
{ title: "Data Sanitization & Ownership Transfer", description: "Certified NIST 800-88 cryptographic wipe", quantity: 1, unit_price: 0, total: 0 },
|
|
75
|
+
],
|
|
76
|
+
},
|
|
77
|
+
destruction: {
|
|
78
|
+
title: "Certificate of Destruction & Eco-Disposal",
|
|
79
|
+
body_text: "This certificate confirms that the decommissioned hardware listed below has been safely demanufactured, shredded, or recycled in full compliance with WEEE and data destruction standards.",
|
|
80
|
+
items: [
|
|
81
|
+
{ title: "Hardware Demanufacturing & Shredding", description: "Certified environmental destruction", quantity: 1, unit_price: 0, total: 0 },
|
|
82
|
+
{ title: "Hazardous Materials Recycling", description: "Zero-landfill lithium battery reclamation", quantity: 1, unit_price: 0, total: 0 },
|
|
83
|
+
],
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
const activePreset = isCustom ? (PRESETS[rawPreset] || PRESETS.warranty) : null;
|
|
22
87
|
const sampleData = {
|
|
23
88
|
display_id: isJobCard
|
|
24
89
|
? "JOB-1042"
|
|
@@ -29,7 +94,7 @@ async function GET(req, res) {
|
|
|
29
94
|
: isEstimate
|
|
30
95
|
? "EST-3091"
|
|
31
96
|
: isCustom
|
|
32
|
-
? "CERT-7701
|
|
97
|
+
? `DOC-${(rawPreset || "CERT").toUpperCase().slice(0, 4)}-7701`
|
|
33
98
|
: "INV-1092",
|
|
34
99
|
title: isJobCard
|
|
35
100
|
? "Repair Job Card"
|
|
@@ -41,7 +106,7 @@ async function GET(req, res) {
|
|
|
41
106
|
? "Packing Slip"
|
|
42
107
|
: isEstimate
|
|
43
108
|
? "Quotation / Estimate"
|
|
44
|
-
: "Warranty Certificate",
|
|
109
|
+
: (activePreset?.title || "Warranty Certificate"),
|
|
45
110
|
type: type,
|
|
46
111
|
date: new Date().toISOString().split("T")[0],
|
|
47
112
|
due_date: (type === "invoice" || isEstimate)
|
|
@@ -50,17 +115,17 @@ async function GET(req, res) {
|
|
|
50
115
|
customer: {
|
|
51
116
|
name: "Jane Doe",
|
|
52
117
|
email: "jane.doe@example.com",
|
|
53
|
-
phone: "+
|
|
54
|
-
address: "
|
|
118
|
+
phone: "+254 712 345 678",
|
|
119
|
+
address: "Bekim House, Westlands Crossway Rd, Nairobi",
|
|
55
120
|
},
|
|
56
121
|
company: {
|
|
57
122
|
name: companyName,
|
|
58
123
|
logo_url: settings.pdf_logo_url,
|
|
59
|
-
address: settings.pdf_address || "
|
|
60
|
-
phone: settings.pdf_phone || "
|
|
61
|
-
email: settings.pdf_email || "
|
|
124
|
+
address: settings.pdf_address || "Bekim House, 04 Westlands Crossway Rd, Westlands, Nairobi, Kenya",
|
|
125
|
+
phone: settings.pdf_phone || "0729 436 660 / 0794 700 241",
|
|
126
|
+
email: settings.pdf_email || "urbandevice.care@gmail.com",
|
|
62
127
|
website: settings.pdf_website || "www.urbandevicecare.co.uk",
|
|
63
|
-
payment_details: settings.pdf_payment_details || "
|
|
128
|
+
payment_details: settings.pdf_payment_details || "Paybill: 400200 | Acc: 1039764",
|
|
64
129
|
terms: settings.pdf_terms || "Payment is due within 14 days of invoice date. Thank you for your business.",
|
|
65
130
|
},
|
|
66
131
|
items: isJobCard
|
|
@@ -72,66 +137,51 @@ async function GET(req, res) {
|
|
|
72
137
|
{ title: "Final Multi-Point Bench Clearance & Sanitization", quantity: 1, unit_price: 0, total: 0 },
|
|
73
138
|
]
|
|
74
139
|
: isCustom
|
|
75
|
-
?
|
|
76
|
-
{
|
|
77
|
-
title: "OEM Component & Hardware Warranty",
|
|
78
|
-
description: "90-Day Comprehensive Hardware Protection",
|
|
79
|
-
quantity: 1,
|
|
80
|
-
unit_price: 0,
|
|
81
|
-
total: 0,
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
title: "Workshop Quality Clearance",
|
|
85
|
-
description: "Multi-Point Hardware Bench Certification",
|
|
86
|
-
quantity: 1,
|
|
87
|
-
unit_price: 0,
|
|
88
|
-
total: 0,
|
|
89
|
-
},
|
|
90
|
-
]
|
|
140
|
+
? activePreset.items
|
|
91
141
|
: [
|
|
92
142
|
{
|
|
93
143
|
title: "Apple iPhone 14 Screen Replacement",
|
|
94
144
|
description: "OEM Grade OLED Assembly with TrueTone restoration",
|
|
95
145
|
quantity: 1,
|
|
96
|
-
unit_price:
|
|
97
|
-
total:
|
|
146
|
+
unit_price: 18500.0,
|
|
147
|
+
total: 18500.0,
|
|
98
148
|
},
|
|
99
149
|
{
|
|
100
150
|
title: "Diagnostic & Workshop Labor Fee",
|
|
101
151
|
description: "Full device diagnostic and multi-point hardware inspection",
|
|
102
152
|
quantity: 1,
|
|
103
|
-
unit_price:
|
|
104
|
-
total:
|
|
153
|
+
unit_price: 4500.0,
|
|
154
|
+
total: 4500.0,
|
|
105
155
|
},
|
|
106
156
|
{
|
|
107
157
|
title: "Tempered Glass Screen Protector",
|
|
108
158
|
description: "9H Hardness Edge-to-Edge protection",
|
|
109
159
|
quantity: 1,
|
|
110
|
-
unit_price:
|
|
111
|
-
total:
|
|
160
|
+
unit_price: 1500.0,
|
|
161
|
+
total: 1500.0,
|
|
112
162
|
},
|
|
113
163
|
],
|
|
114
|
-
subtotal: (isJobCard || isPackingSlip || isCustom) ? undefined :
|
|
115
|
-
tax_total: (isJobCard || isPackingSlip || isCustom) ? undefined :
|
|
116
|
-
discount_total: (isJobCard || isPackingSlip || isCustom) ? undefined :
|
|
117
|
-
total: (isJobCard || isPackingSlip || isCustom) ? 0 :
|
|
164
|
+
subtotal: (isJobCard || isPackingSlip || (isCustom && !activePreset?.items.some((i) => i.unit_price > 0))) ? undefined : 24500.0,
|
|
165
|
+
tax_total: (isJobCard || isPackingSlip || isCustom) ? undefined : 0,
|
|
166
|
+
discount_total: (isJobCard || isPackingSlip || isCustom) ? undefined : 0,
|
|
167
|
+
total: (isJobCard || isPackingSlip || (isCustom && !activePreset?.items.some((i) => i.unit_price > 0))) ? 0 : 24500.0,
|
|
118
168
|
currency_code: "kes",
|
|
119
169
|
payment_status: isReceipt ? "paid" : "unpaid",
|
|
120
|
-
payment_link: (type === "invoice" || isEstimate) ? "https://
|
|
121
|
-
qr_url: (type === "invoice" || isEstimate || isJobCard) ? "https://
|
|
170
|
+
payment_link: (type === "invoice" || isEstimate) ? "https://urbandevicecare.co.uk/r/sample-preview" : undefined,
|
|
171
|
+
qr_url: (type === "invoice" || isEstimate || isJobCard) ? "https://urbandevicecare.co.uk/r/sample-preview" : undefined,
|
|
122
172
|
notes: isJobCard
|
|
123
173
|
? "Customer acknowledges device physical intake condition and workshop repair terms."
|
|
124
174
|
: isReceipt
|
|
125
|
-
? "Payment received in full
|
|
175
|
+
? "Payment received in full. Thank you for your business!"
|
|
126
176
|
: isPackingSlip
|
|
127
177
|
? "Please inspect contents immediately upon receipt. Keep this slip for your delivery records."
|
|
128
178
|
: isEstimate
|
|
129
|
-
? "This quotation is valid for
|
|
179
|
+
? "This quotation is valid for 14 calendar days from the date of issue."
|
|
130
180
|
: isCustom
|
|
131
|
-
? "
|
|
132
|
-
: "
|
|
181
|
+
? "Please retain this official document for your records and compliance."
|
|
182
|
+
: "Thank you for choosing Urban Device Care. Payment details above.",
|
|
133
183
|
body_text: isCustom
|
|
134
|
-
?
|
|
184
|
+
? activePreset.body_text
|
|
135
185
|
: undefined,
|
|
136
186
|
custom_fields: isJobCard
|
|
137
187
|
? {
|
|
@@ -145,15 +195,36 @@ async function GET(req, res) {
|
|
|
145
195
|
: undefined,
|
|
146
196
|
};
|
|
147
197
|
const pdfBuffer = await pdfkit_generator_1.PDFKitGenerator.generate(sampleData, style);
|
|
198
|
+
const totalLength = pdfBuffer.length;
|
|
148
199
|
res.setHeader("Content-Type", "application/pdf");
|
|
149
200
|
res.setHeader("Content-Disposition", `inline; filename="preview-${style}-${type}.pdf"`);
|
|
150
|
-
res.setHeader("
|
|
201
|
+
res.setHeader("Accept-Ranges", "bytes");
|
|
151
202
|
res.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
|
|
203
|
+
const range = req.headers?.range;
|
|
204
|
+
if (range && req.method !== "HEAD") {
|
|
205
|
+
const parts = range.replace(/bytes=/, "").split("-");
|
|
206
|
+
const start = parseInt(parts[0], 10);
|
|
207
|
+
const end = parts[1] ? parseInt(parts[1], 10) : totalLength - 1;
|
|
208
|
+
if (!isNaN(start) && start < totalLength) {
|
|
209
|
+
const chunkEnd = Math.min(end, totalLength - 1);
|
|
210
|
+
const chunk = pdfBuffer.subarray(start, chunkEnd + 1);
|
|
211
|
+
res.status(206);
|
|
212
|
+
res.setHeader("Content-Range", `bytes ${start}-${chunkEnd}/${totalLength}`);
|
|
213
|
+
res.setHeader("Content-Length", String(chunk.length));
|
|
214
|
+
return res.send(chunk);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
res.setHeader("Content-Length", String(totalLength));
|
|
152
218
|
return res.send(pdfBuffer);
|
|
153
219
|
}
|
|
154
220
|
catch (err) {
|
|
155
|
-
|
|
221
|
+
try {
|
|
222
|
+
req.scope.resolve("logger", { allowUnregistered: true })?.error?.(`[Documents-API] Error generating preview: ${err.message}`);
|
|
223
|
+
}
|
|
224
|
+
catch (_) { }
|
|
156
225
|
return res.status(500).send(`Failed to generate preview: ${err.message}`);
|
|
157
226
|
}
|
|
158
227
|
}
|
|
159
|
-
|
|
228
|
+
// HEAD /documents/templates/preview
|
|
229
|
+
exports.HEAD = GET;
|
|
230
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2RvY3VtZW50cy90ZW1wbGF0ZXMvcHJldmlldy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSxrQkFvT0M7QUEzT0QsNkRBQWlFO0FBRWpFLDRFQUFzRjtBQUV6RSxRQUFBLFlBQVksR0FBRyxLQUFLLENBQUM7QUFFbEMsaUtBQWlLO0FBQzFKLEtBQUssVUFBVSxHQUFHLENBQUMsR0FBa0IsRUFBRSxHQUFtQjtJQUMvRCxJQUFJLENBQUM7UUFDSCxNQUFNLGVBQWUsR0FBMEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsNEJBQWdCLENBQUMsQ0FBQztRQUNuRixNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFNUYsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BFLE1BQU0sV0FBVyxHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9FLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBRW5FLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FB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
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const http_1 = require("@medusajs/framework/http");
|
|
4
|
+
exports.default = (0, http_1.defineMiddlewares)({
|
|
5
|
+
routes: [
|
|
6
|
+
{
|
|
7
|
+
matcher: "/admin/documents/:id/document",
|
|
8
|
+
methods: ["GET", "HEAD", "OPTIONS"],
|
|
9
|
+
middlewares: [
|
|
10
|
+
(0, http_1.authenticate)("user", ["bearer", "session", "api-key"], {
|
|
11
|
+
allowUnauthenticated: true,
|
|
12
|
+
}),
|
|
13
|
+
],
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
matcher: "/admin/documents/templates/preview",
|
|
17
|
+
methods: ["GET", "HEAD", "OPTIONS"],
|
|
18
|
+
middlewares: [
|
|
19
|
+
(0, http_1.authenticate)("user", ["bearer", "session", "api-key"], {
|
|
20
|
+
allowUnauthenticated: true,
|
|
21
|
+
}),
|
|
22
|
+
],
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
matcher: "/api/admin/documents/:id/document",
|
|
26
|
+
methods: ["GET", "HEAD", "OPTIONS"],
|
|
27
|
+
middlewares: [
|
|
28
|
+
(0, http_1.authenticate)("user", ["bearer", "session", "api-key"], {
|
|
29
|
+
allowUnauthenticated: true,
|
|
30
|
+
}),
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBQTJFO0FBRTNFLGtCQUFlLElBQUEsd0JBQWlCLEVBQUM7SUFDL0IsTUFBTSxFQUFFO1FBQ047WUFDRSxPQUFPLEVBQUUsK0JBQStCO1lBQ3hDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDO1lBQ25DLFdBQVcsRUFBRTtnQkFDWCxJQUFBLG1CQUFZLEVBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsRUFBRTtvQkFDckQsb0JBQW9CLEVBQUUsSUFBSTtpQkFDM0IsQ0FBQzthQUNIO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSxvQ0FBb0M7WUFDN0MsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUM7WUFDbkMsV0FBVyxFQUFFO2dCQUNYLElBQUEsbUJBQVksRUFBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxFQUFFO29CQUNyRCxvQkFBb0IsRUFBRSxJQUFJO2lCQUMzQixDQUFDO2FBQ0g7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLG1DQUFtQztZQUM1QyxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQztZQUNuQyxXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxtQkFBWSxFQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLEVBQUU7b0JBQ3JELG9CQUFvQixFQUFFLElBQUk7aUJBQzNCLENBQUM7YUFDSDtTQUNGO0tBQ0Y7Q0FDRixDQUFDLENBQUMifQ==
|