@dbx-tools/shared-email-template 0.9.138 → 0.9.139
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/README.md +6 -6
- package/index.ts +3 -1
- package/lib/index.d.ts +3 -1
- package/lib/index.js +4 -2
- package/lib/src/generated/assets.d.ts +3 -0
- package/lib/src/generated/assets.js +8 -0
- package/lib/src/generated/index.d.ts +2 -0
- package/lib/src/generated/index.js +6 -0
- package/lib/src/template.d.ts +5 -6
- package/lib/src/template.js +13 -7
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/generated/assets.ts +8 -0
- package/src/generated/index.ts +6 -0
- package/src/template.tsx +16 -11
package/README.md
CHANGED
|
@@ -47,10 +47,9 @@ import { EmailDocument } from "@dbx-tools/shared-email-template";
|
|
|
47
47
|
Node runtimes should pass this component to `@react-email/render`.
|
|
48
48
|
`@dbx-tools/email` does that automatically for SMTP and local outbox delivery.
|
|
49
49
|
|
|
50
|
-
`heading`
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
to keep the code in notifications without repeating it inside the opened card:
|
|
50
|
+
`heading` defaults to the MIME subject. Pass a shorter heading when the subject
|
|
51
|
+
carries notification-specific details. One-time-code mail uses this to keep the
|
|
52
|
+
code in notifications without repeating it inside the opened card:
|
|
54
53
|
|
|
55
54
|
```tsx
|
|
56
55
|
<EmailDocument
|
|
@@ -87,7 +86,7 @@ import { EmailBody } from "@dbx-tools/shared-email-template";
|
|
|
87
86
|
```
|
|
88
87
|
|
|
89
88
|
The body preview and complete document share typography and content styling. The
|
|
90
|
-
full document adds the branded header band,
|
|
89
|
+
full document adds the branded header band, heading, and footer.
|
|
91
90
|
Envelope rows (`headers`) are opt-in for local outbox previews. Delivered SMTP
|
|
92
91
|
mail and browser approval chrome leave recipients and attachments outside the
|
|
93
92
|
HTML body.
|
|
@@ -111,7 +110,8 @@ const emailBrand = emailBrandFromContext(brandUtils.defaultBrandContext);
|
|
|
111
110
|
```
|
|
112
111
|
|
|
113
112
|
Omitting `brand` uses the dbx-tools brand. A consumer may supply its own colors,
|
|
114
|
-
font, name, tagline, website, and fetchable logo URL.
|
|
113
|
+
font, name, tagline, website, and fetchable logo URL. The footer renders a
|
|
114
|
+
tagline only when the supplied brand declares one.
|
|
115
115
|
|
|
116
116
|
## Package exports
|
|
117
117
|
|
package/index.ts
CHANGED
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
// Hand edits are overwritten on the next watch; this file is read-only.
|
|
4
4
|
|
|
5
5
|
export const PACKAGE_IDENTIFIER = "@dbx-tools/shared-email-template";
|
|
6
|
-
export const PACKAGE_VERSION = "0.9.
|
|
6
|
+
export const PACKAGE_VERSION = "0.9.139";
|
|
7
|
+
export * as generatedAssets from "./src/generated/assets.ts";
|
|
7
8
|
export * as template from "./src/template.tsx";
|
|
9
|
+
export { dbxToolsEmailAssetDataUrls } from "./src/generated/assets.ts";
|
|
8
10
|
export { emailBrandFromContext, defaultEmailBrand, resolveEmailBrand, normalizeEmailMarkdown, EmailBody, EmailCard, EmailDocument } from "./src/template.tsx";
|
|
9
11
|
export type { EmailBrand, ResolvedEmailBrand, EmailBodyProps, EmailDocumentProps } from "./src/template.tsx";
|
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export declare const PACKAGE_IDENTIFIER = "@dbx-tools/shared-email-template";
|
|
2
|
-
export declare const PACKAGE_VERSION = "0.9.
|
|
2
|
+
export declare const PACKAGE_VERSION = "0.9.139";
|
|
3
|
+
export * as generatedAssets from "./src/generated/assets.ts";
|
|
3
4
|
export * as template from "./src/template.tsx";
|
|
5
|
+
export { dbxToolsEmailAssetDataUrls } from "./src/generated/assets.ts";
|
|
4
6
|
export { emailBrandFromContext, defaultEmailBrand, resolveEmailBrand, normalizeEmailMarkdown, EmailBody, EmailCard, EmailDocument } from "./src/template.tsx";
|
|
5
7
|
export type { EmailBrand, ResolvedEmailBrand, EmailBodyProps, EmailDocumentProps } from "./src/template.tsx";
|
package/lib/index.js
CHANGED
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
// Regenerated from the exporting modules in ./src.
|
|
3
3
|
// Hand edits are overwritten on the next watch; this file is read-only.
|
|
4
4
|
export const PACKAGE_IDENTIFIER = "@dbx-tools/shared-email-template";
|
|
5
|
-
export const PACKAGE_VERSION = "0.9.
|
|
5
|
+
export const PACKAGE_VERSION = "0.9.139";
|
|
6
|
+
export * as generatedAssets from "./src/generated/assets.js";
|
|
6
7
|
export * as template from "./src/template.js";
|
|
8
|
+
export { dbxToolsEmailAssetDataUrls } from "./src/generated/assets.js";
|
|
7
9
|
export { emailBrandFromContext, defaultEmailBrand, resolveEmailBrand, normalizeEmailMarkdown, EmailBody, EmailCard, EmailDocument } from "./src/template.js";
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUNyRSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxlQUFlLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxLQUFLLFFBQVEsTUFBTSxtQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsc0JBQXNCLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEdFTkVSQVRFRCBieSBwcm9qZW4gd2F0Y2ggLSBETyBOT1QgRURJVC5cbi8vIFJlZ2VuZXJhdGVkIGZyb20gdGhlIGV4cG9ydGluZyBtb2R1bGVzIGluIC4vc3JjLlxuLy8gSGFuZCBlZGl0cyBhcmUgb3ZlcndyaXR0ZW4gb24gdGhlIG5leHQgd2F0Y2g7IHRoaXMgZmlsZSBpcyByZWFkLW9ubHkuXG5cbmV4cG9ydCBjb25zdCBQQUNLQUdFX0lERU5USUZJRVIgPSBcIkBkYngtdG9vbHMvc2hhcmVkLWVtYWlsLXRlbXBsYXRlXCI7XG5leHBvcnQgY29uc3QgUEFDS0FHRV9WRVJTSU9OID0gXCIwLjkuMTM5XCI7XG5leHBvcnQgKiBhcyBnZW5lcmF0ZWRBc3NldHMgZnJvbSBcIi4vc3JjL2dlbmVyYXRlZC9hc3NldHMudHNcIjtcbmV4cG9ydCAqIGFzIHRlbXBsYXRlIGZyb20gXCIuL3NyYy90ZW1wbGF0ZS50c3hcIjtcbmV4cG9ydCB7IGRieFRvb2xzRW1haWxBc3NldERhdGFVcmxzIH0gZnJvbSBcIi4vc3JjL2dlbmVyYXRlZC9hc3NldHMudHNcIjtcbmV4cG9ydCB7IGVtYWlsQnJhbmRGcm9tQ29udGV4dCwgZGVmYXVsdEVtYWlsQnJhbmQsIHJlc29sdmVFbWFpbEJyYW5kLCBub3JtYWxpemVFbWFpbE1hcmtkb3duLCBFbWFpbEJvZHksIEVtYWlsQ2FyZCwgRW1haWxEb2N1bWVudCB9IGZyb20gXCIuL3NyYy90ZW1wbGF0ZS50c3hcIjtcbmV4cG9ydCB0eXBlIHsgRW1haWxCcmFuZCwgUmVzb2x2ZWRFbWFpbEJyYW5kLCBFbWFpbEJvZHlQcm9wcywgRW1haWxEb2N1bWVudFByb3BzIH0gZnJvbSBcIi4vc3JjL3RlbXBsYXRlLnRzeFwiO1xuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const dbxToolsEmailAssetDataUrls: {
|
|
2
|
+
readonly logo: "data:image/png;base64,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";
|
|
3
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// GENERATED by branding/generate-package-assets.mjs - DO NOT EDIT.
|
|
2
|
+
// Regenerated from branding/assets.
|
|
3
|
+
// Hand edits are overwritten during synthesis; this file is read-only.
|
|
4
|
+
/* eslint-disable prettier/prettier */
|
|
5
|
+
export const dbxToolsEmailAssetDataUrls = {
|
|
6
|
+
logo: "data:image/png;base64,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",
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9hc3NldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUVBQW1FO0FBQ25FLG9DQUFvQztBQUNwQyx1RUFBdUU7QUFDdkUsc0NBQXNDO0FBRXRDLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHO0lBQ3hDLElBQUksRUFBRSw0aEhBQTRoSDtDQUMxaEgsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEdFTkVSQVRFRCBieSBicmFuZGluZy9nZW5lcmF0ZS1wYWNrYWdlLWFzc2V0cy5tanMgLSBETyBOT1QgRURJVC5cbi8vIFJlZ2VuZXJhdGVkIGZyb20gYnJhbmRpbmcvYXNzZXRzLlxuLy8gSGFuZCBlZGl0cyBhcmUgb3ZlcndyaXR0ZW4gZHVyaW5nIHN5bnRoZXNpczsgdGhpcyBmaWxlIGlzIHJlYWQtb25seS5cbi8qIGVzbGludC1kaXNhYmxlIHByZXR0aWVyL3ByZXR0aWVyICovXG5cbmV4cG9ydCBjb25zdCBkYnhUb29sc0VtYWlsQXNzZXREYXRhVXJscyA9IHtcbiAgbG9nbzogXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVVBQUFBQklDQUlBQUFBSTFyc2tBQUFLT0VsRVFWUjRuT3lkQzJ4VjlSM0hmK2MrK29ETllFdWRia0NMdDJoaFV4SElZRXdqVWlXQmFXZVp5NGhNWERESVpDN0RrU0J1WU9JNk0wUURMcnJoWkNPNitXQXl4ZUdnazR3aGNYU2FkWTJ2V0NLdEZLaUFoUmFmME42bnYvODk3YjNuZng3M2NXNmwvZWQ4UDdtQmMvN24vLy9mZndyZjgzdjl6Mmtna1VnUUFFQk5mQVFBVUJZSUdBQ0ZnWUFCVUpoQTFoN3RIWWQyN242NXFibGxmMXY3aWU0ZUdqb3F5c3RxcWtNenAwMlpWenNyVkZWSkFIZ2VMVU1TcTczajhFT2JObTlyM0VYRGovcTVjNVl2V1J5cUdrY0FlQmhIQVQrOWJmdktoclUwdkZtM1p0Vk45WFVFZ0ZleEYvRERtNSs0LzVFL2tBcmNkY2ZTbnk2K2hRRHdKRFpKTExhOXFxaVg0YVh5Z2drQVQySzJ3QnozWGpWL0FhbkczdWUzSUI0R0hzUnNnVGxyUlFxeVFjMWxBMUFna29DNVlqUThjODVaZWFGeEZ5K2VBUEFZa29DNTNrdktvdlRpQVhDSEpPQ201aFpTRnFVWEQ0QTdwSjFZKzl2YVNWbVVYandBN3BBRVBMUTdKUXRFNmNVRDRBNDh6QUNBd2tEQUFDZ01CQXlBd2tEQUFDZ01CQXlBd2tEQUFDZ01CQXlBd2tEQUFDaE05bmRpNVVobjhMaHQrNWpJK1lQU2Y2aUl4NkxSU0YvcVZOTjh3ZUpTUG9pR2UrUHhXS3JkSHlqeUI0TGtRVnFhYU9OdjBxZXo1dEhDMndtY0xRWk53SjRoTWZCWHdyYjlMSEc4a3o3N0pIMWFXVTFEZGZ2b1BVT1JjUHIwMDQ4Sm5FVWdZRFY1K0ZmMHZ1SHh5ZFVicUhvU0FlK0JHQmdBaFlHQUFWQVl1TkJwRXZFWTU2VVNpWVRHK1B3K241L3lSOHpnTUVraUVaY2laZEZEa3hZZ2R4Qlg1UTZDN2k3dUp5SlBVK09vY25GdzdtanlXNWJkZFl3NkQ5TEpEMFN3V2xaQkZSZFFxTVptNWtFWlpVdTRUemo4aDl0RjNGNDVnYXFxYWVTWENRd0dFTENBVlJlTDlNbnY5NHV3Z2dKRnhibFBrb2pIbzVGZTh5U2FGZ2dVK2Z6aTV4enBrMVZIV2xISkNPTWFPTE50dkd5VDJmN29GSzI0MmZyVjZUenduUTEwMlRmVDdmL2ZSODgvSVVYTE9pV2xWSHM5MVMreVQzMjVHMlZMNit1MDZRSHFPV2x1THgxSjE5VFIvRnRjM2hIQUFCQXdGNHBpTER5N0t3bFdsSzY5ckxCdUkrRXp0aGU0Q3NWVDhEd3NTTmFvOFJwL2NVcWlNVU94aXBMbXQ2QzZWQ3hHai8rV1hubkovaW9iOEIzUFV2Ti9hT1g5Vkg1ZW9hTnM0UnZaVXh2cFgzKzN2M3JtTTNyeEdXcDdoMzUycjdndkFMYzQvdS9zdk5UQnlXazlRUG5RdWVEYjloZWVlODYrdjBOOVdHTGloTlRobURjL29jSndVRzgvYkJjcEJ6SjNZdzBIZlg0V1pEd1dNWnBvMXJPdVVoNXVlcjl2SUZoQ2hiRDFUNDQ2VFBIQlVicnZUbHIzZU5xaXVodGx5OTVHUi9XbWFIMkRmdmRyV25FZkFiZDRQWWtWbGUzZUY0ZHVZQU5GSlpaMllaT2prbVVXNWxyejJmM1RGSmZRcE10cDRtWG1RUGVDc2FLUlB4eXNNbTJ0OUUvTC9YSHNoZlNOcWVhQjdOeHUyZFIvN0c2VUU0MWJwVk9PbjltOVgzNHZYVGxIYW4rcjJSelBnM3p3dWd0dDNFMmx3eWFSZlYxSzVyUWk0VjdLQjlhbm5yVmkzMWoybHZ1L2lQTmFMRTZqdWViZ1c4U0Jrdm5WQWtHSDJKdTl6WlhKWDFqMXk5dWtHUFhXbjB0MTRKY3NPbXg0bE1hT0Z3ZlJLSzM1TVIwN2tyNjA1eCswNERZS0JGeU9jb0t6WDBidWZyRGZZaytlSVE3MjdFaGZldjFWbW5FMUFWZDQyZ0lMcjFWMlhIM0MwUzNTanptSEhDekt3NDlsMWFWeXpud1hzQWJQbk9YU3UvSGN4bmFUMVBQS25ObkFZbXRwa2xwK3VLeGZoMkwyZ0hCWmpSYVY0OTQzWG5NNUtnT21IRDVIemlsdVhFeTNya2gvUWhNSnVNWFRGbGlVYldUOHN1bGpEYlBOdEhhemtxd1pTVDlNRm1wWURvemppWmcvZWNma1MwNkJ0K3Z5VlpxVHg0VzZqRndoZTYyanYwTGpMeElPY3dvdThIeXQwczJvcVE0SkRxYm1VdUVlcDNoMExUMzVlN3A4QmszNHVuQVdycmdXK2VkQndkc3V0T1UzTTJxVy8xWHM4eVppdVFqWTFwZlJwRDNTQTEvSFpsNkwrWFNEYkNJWUxNejhNcWU2cFZNdTJGalR2SlhWa2hRNXBuVTNLZ08xZFpLQUtibE4rcFZkNGtQSldPQmJzK25xNzlDNEVJRUM4THdMYmNUT0pqZ28wNlpmMWpiajF3VUNOa0lWaWF2QzdaTHBjWUt5MFRaOTlGeVhjWWk3VVJtWVBKMXV2OXZ4S2lldU9BeStaNWxOMmd6a2c2Y0ZyRmtVWnUyVGkvOU0xbnVCWGFQeDYyeXozMnlUYmMxeWZwd3pTanJ0N3JMcHc2VWcweEIzb3pJemZSYXRmNUsrdTVCR2xUbjIyZklZdmJxSGdGc2NYV2luK21xblEvSFA4VG5lTGZ2czI2bUE1NFFMcnYzMll6RjMraFpJcVNXZW80RHpjTE9UVlYvNy9od2JCNHRIVUNHY0t4dFB0blZuVGxPcFBPZVI5NlRUOGdxWG83TENScnQra2ZqMG5LQUQ3OUNCdDJuZmJyR0x3OGhyZTVHRmRvMm5ZMkNmeFQyT2hudjE1L1YxTWlqTlRFTGFWcVZQWmVveVVOcE5aQ2crSnl6ejVBU0xMVVg1ZVNKZGJNeElOZjZONWk5S254NDVTQWZmbFlaWFhlUnlsQk5IRDlOLy81MCs1UUkxbDYrblh5VStDNWZSMXMyMDg5bjAxZlpXQW03eDlrWU91OGNKV0hpNmFMa01uTmMyRDY0R3NmYVNHaFFTdFZhWWRRc2NEVXR6Smd0WFFkTTh0czY4aEtuVVpLd0FzUTdaZHpXeS9TbDY4My85eHgrZm9nMnJwYXZCb3Y2dEdpNUdPY0VHL01WbjBwOE45NlFEWnY2QlQ1b3NkUzR0ek9Qd05sN2Z5TUcxbjZUcTByRHc0bjB1OXdZbE5SeDIrcUwreVdWaGk3S3dwc1c0REd2SVY0dnQwNWxMME9lUGtld2hKNFRlUDBRWFhrelgzaUJzNmR6dlU5TnVxZi82MVNLeFhGcHFrenFlZXlQcHJvRzdVYmJ3U25nWnFVQTZFcWJWUzJuYWxhSzk2eGp0K0t2VW1RdEx3QzFlMzBxWjNMWnhOZ3FTZ2FEWUgySXk2VUxWU1JkQXY1ckNxbk16NHkzdTY3dHZpNHh1WjRjNEhqdWV2dmNqY3dlT1BLMDY1UEx2RFFPUE43a2I1UVRmRG94ODJDTzJSaisyamw3NGkvUUtIcVorRVFHMzRJRit5cnpkeXUvUEtSek4vTkJTMHB4cTBZalpOMDV0bVJTYm4yVm5Qb3YzUHZ2NlRLbGQ1cm9GVkxlUU1oT3FvVlVQU0liVTNTaGJycW1qbTMrU3BROFhxeG8yWm4rd0NUaUR4d2xGYm9rVFZ5d1lVOEtaRlJVSWxvaDRPSmJESk9KdGxTTlM4Yk94blZXcXA2ODRxRFplTW9XKy9tQ3hsUGZLbk0wS0JPZ1g2K21QRHdyRDY3QWdrWUs2WktvSVFWT2hiQXIyd05uWm5uMmRPUS92WXBUcE9RZmo3dWphT3JyNEV2cnpJMkxQbHVtSkJaYnVsSm4wZ3lVa3V4NGdYelJqclhJTS8weXo4VVcvRHJhUStUdE51M256UkdTZkRDL1QwTnp0cWVBNUNwOGtkMDUvU2djUFVPOXBzWmw1eEVnUlQxcDNVTEY0dW83U3lTNU91OU9YemhHYkl2WFhkMlRHM2FnTTYyVDNudjlrZS92VmNlU0g1UmdjOGhid2NLWkFBUU9nSElpQkFWQVlDQmdBaFlHQUFWQVlDQmdBaFlHQUFWQVlDQmdBaFlHQUFWQVlDQmdBaFpFRVhGRmVSc3FpOU9JQmNJY2s0SnBxaGQ4d3B2VGlBWENISk9DWjA2YVFzaWk5ZUFEY0lRbDRYdTBzVWhhbEZ3K0FPeVFCaDZvcTYrZk9JUVhoWmZQaUNRQ1BZYzVDTDEreW1CUkUwV1VEVUNCbUFZZXF4cTFiczRxVWdoZk15eVlBdklkTkhmaW0rcnE3N2xoS2lzQkw1UVVUQUo1RVN6aTh3ZlRwYmR0WE5xeWw0UTNiWHFnWGVCbEhBVFB0SFljZjJyUjVXK011R241dzFvcmpYbmpPd09Oa0VyQk9lOGVobmJ0ZmJtcHUyZC9XZnFLN2g0YU9pdkt5bXVvUTEzdTVZb1NjTXdDVWk0QUJBTU1XUE13QWdNSkF3QUFvREFRTWdNSjhEZ0FBLy85a0pjQ0ZBQUFBQmtsRVFWUURBTXdjS1BSNFNQaHJBQUFBQUVsRlRrU3VRbUNDXCIsXG59IGFzIGNvbnN0O1xuIl19
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// GENERATED by projen watch - DO NOT EDIT.
|
|
2
|
+
// Regenerated from the exporting modules in ./src.
|
|
3
|
+
// Hand edits are overwritten on the next watch; this file is read-only.
|
|
4
|
+
export * as assets from "./assets.js";
|
|
5
|
+
export { dbxToolsEmailAssetDataUrls } from "./assets.js";
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJDQUEyQztBQUMzQyxtREFBbUQ7QUFDbkQsd0VBQXdFO0FBRXhFLE9BQU8sS0FBSyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEdFTkVSQVRFRCBieSBwcm9qZW4gd2F0Y2ggLSBETyBOT1QgRURJVC5cbi8vIFJlZ2VuZXJhdGVkIGZyb20gdGhlIGV4cG9ydGluZyBtb2R1bGVzIGluIC4vc3JjLlxuLy8gSGFuZCBlZGl0cyBhcmUgb3ZlcndyaXR0ZW4gb24gdGhlIG5leHQgd2F0Y2g7IHRoaXMgZmlsZSBpcyByZWFkLW9ubHkuXG5cbmV4cG9ydCAqIGFzIGFzc2V0cyBmcm9tIFwiLi9hc3NldHMudHNcIjtcbmV4cG9ydCB7IGRieFRvb2xzRW1haWxBc3NldERhdGFVcmxzIH0gZnJvbSBcIi4vYXNzZXRzLnRzXCI7XG4iXX0=
|
package/lib/src/template.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ export interface EmailBrand {
|
|
|
25
25
|
website?: string;
|
|
26
26
|
}
|
|
27
27
|
/** Complete values after applying the dbx-tools default brand. */
|
|
28
|
-
export type ResolvedEmailBrand = Required<Pick<EmailBrand, "accent" | "onAccent" | "fontFamily" | "name" | "background" | "surface" | "foreground" | "muted" | "border"
|
|
28
|
+
export type ResolvedEmailBrand = Required<Pick<EmailBrand, "accent" | "onAccent" | "fontFamily" | "name" | "background" | "surface" | "foreground" | "muted" | "border">> & Pick<EmailBrand, "logoUrl" | "tagline" | "website">;
|
|
29
29
|
/** Project a portable brand context into email-safe values. */
|
|
30
30
|
export declare const emailBrandFromContext: (context: BrandContext) => EmailBrand;
|
|
31
31
|
/** The repository brand used by every email unless explicitly overridden. */
|
|
@@ -45,10 +45,9 @@ export declare const EmailBody: ({ body, brand: brandInput }: EmailBodyProps) =>
|
|
|
45
45
|
export interface EmailDocumentProps extends EmailBodyProps {
|
|
46
46
|
subject?: string;
|
|
47
47
|
/**
|
|
48
|
-
* Visible heading inside the email card.
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
* details (one-time-code mail is the motivating case).
|
|
48
|
+
* Visible heading inside the email card. Defaults to the transport subject.
|
|
49
|
+
* Pass a shorter heading when the subject carries notification-specific
|
|
50
|
+
* details, such as a one-time code.
|
|
52
51
|
*/
|
|
53
52
|
heading?: string;
|
|
54
53
|
/**
|
|
@@ -84,6 +83,6 @@ export interface EmailDocumentProps extends EmailBodyProps {
|
|
|
84
83
|
preview?: string;
|
|
85
84
|
}
|
|
86
85
|
/** Branded message card shared by the full document and browser previews. */
|
|
87
|
-
export declare const EmailCard: ({ body, heading, headers, footer, framed, brand: brandInput, }: EmailDocumentProps) => React.JSX.Element;
|
|
86
|
+
export declare const EmailCard: ({ body, heading, headers, subject, footer, framed, brand: brandInput, }: EmailDocumentProps) => React.JSX.Element;
|
|
88
87
|
/** Complete responsive, branded React Email document. */
|
|
89
88
|
export declare const EmailDocument: (props: EmailDocumentProps) => React.JSX.Element;
|
package/lib/src/template.js
CHANGED
|
@@ -10,6 +10,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
10
10
|
*/
|
|
11
11
|
import { brandUtils } from "@dbx-tools/shared-core";
|
|
12
12
|
import { Body, Column, Container, Head, Heading, Hr, Html, Img, Link, Markdown, Preview, Row, Section, Text, } from "@react-email/components";
|
|
13
|
+
import { dbxToolsEmailAssetDataUrls } from "./generated/assets.js";
|
|
13
14
|
function isRenderableImageUrl(value) {
|
|
14
15
|
return typeof value === "string" && /^(?:https?:|data:|cid:)/i.test(value);
|
|
15
16
|
}
|
|
@@ -26,16 +27,20 @@ export const emailBrandFromContext = (context) => {
|
|
|
26
27
|
foreground: context.colors.foreground,
|
|
27
28
|
muted: context.colors.muted,
|
|
28
29
|
border: context.colors.border,
|
|
29
|
-
tagline: context.tagline,
|
|
30
|
+
...(context.tagline ? { tagline: context.tagline } : {}),
|
|
30
31
|
website: context.links.website,
|
|
31
32
|
...(isRenderableImageUrl(logo) ? { logoUrl: logo } : {}),
|
|
32
33
|
};
|
|
33
34
|
};
|
|
34
35
|
/** The repository brand used by every email unless explicitly overridden. */
|
|
35
|
-
export const defaultEmailBrand =
|
|
36
|
+
export const defaultEmailBrand = {
|
|
37
|
+
...emailBrandFromContext(brandUtils.defaultBrandContext),
|
|
38
|
+
logoUrl: dbxToolsEmailAssetDataUrls.logo,
|
|
39
|
+
};
|
|
36
40
|
/** Merge a partial consumer brand over the repository default. */
|
|
37
41
|
export const resolveEmailBrand = (input) => {
|
|
38
42
|
const merged = { ...defaultEmailBrand, ...input };
|
|
43
|
+
const tagline = input === undefined ? defaultEmailBrand.tagline : input.tagline;
|
|
39
44
|
return {
|
|
40
45
|
accent: merged.accent,
|
|
41
46
|
onAccent: merged.onAccent ?? "#ffffff",
|
|
@@ -46,7 +51,7 @@ export const resolveEmailBrand = (input) => {
|
|
|
46
51
|
foreground: merged.foreground ?? brandUtils.defaultBrandContext.colors.foreground,
|
|
47
52
|
muted: merged.muted ?? brandUtils.defaultBrandContext.colors.muted,
|
|
48
53
|
border: merged.border ?? brandUtils.defaultBrandContext.colors.border,
|
|
49
|
-
tagline
|
|
54
|
+
...(tagline ? { tagline } : {}),
|
|
50
55
|
...(merged.logoUrl ? { logoUrl: merged.logoUrl } : {}),
|
|
51
56
|
...(merged.website ? { website: merged.website } : {}),
|
|
52
57
|
};
|
|
@@ -153,8 +158,9 @@ function EnvelopeHeaders({ headers, theme, }) {
|
|
|
153
158
|
}, children: label }), _jsx(Column, { style: { color: theme.foreground, fontSize: "13px", padding: "3px 0" }, children: value })] }, `${label}:${value}`))) }));
|
|
154
159
|
}
|
|
155
160
|
/** Branded message card shared by the full document and browser previews. */
|
|
156
|
-
export const EmailCard = ({ body, heading, headers, footer, framed = true, brand: brandInput, }) => {
|
|
161
|
+
export const EmailCard = ({ body, heading, headers, subject, footer, framed = true, brand: brandInput, }) => {
|
|
157
162
|
const theme = resolveEmailBrand(brandInput);
|
|
163
|
+
const visibleHeading = heading ?? subject;
|
|
158
164
|
return (_jsxs(Container, { style: {
|
|
159
165
|
backgroundColor: theme.surface,
|
|
160
166
|
fontFamily: theme.fontFamily,
|
|
@@ -174,13 +180,13 @@ export const EmailCard = ({ body, heading, headers, footer, framed = true, brand
|
|
|
174
180
|
// `overflow: hidden` does not reliably clip, so the band needs its own
|
|
175
181
|
// rounded corners to stay inside the container edge.
|
|
176
182
|
...(framed ? { borderRadius: "15px 15px 0 0" } : {}),
|
|
177
|
-
}, children: _jsx(Row, { children: _jsx(Column, { style: { padding: "26px 36px" }, children: _jsx(BrandMark, { theme: theme }) }) }) }), _jsx(Section, { children: _jsx(Row, { children: _jsxs(Column, { style: { padding: "38px 38px 28px" }, children: [
|
|
183
|
+
}, children: _jsx(Row, { children: _jsx(Column, { style: { padding: "26px 36px" }, children: _jsx(BrandMark, { theme: theme }) }) }) }), _jsx(Section, { children: _jsx(Row, { children: _jsxs(Column, { style: { padding: "38px 38px 28px" }, children: [visibleHeading ? (_jsx(Heading, { style: {
|
|
178
184
|
color: theme.foreground,
|
|
179
185
|
fontSize: "28px",
|
|
180
186
|
letterSpacing: "-0.5px",
|
|
181
187
|
lineHeight: "1.2",
|
|
182
188
|
margin: "0 0 24px",
|
|
183
|
-
}, children:
|
|
189
|
+
}, children: visibleHeading })) : null, _jsx(EnvelopeHeaders, { headers: headers, theme: theme }), _jsx(EmailBody, { body: body, brand: theme })] }) }) }), _jsx(Hr, { style: { borderColor: theme.border, margin: 0 } }), _jsx(Section, { children: _jsx(Row, { children: _jsx(Column, { style: { padding: "24px 38px 30px" }, children: _jsxs(Text, { style: {
|
|
184
190
|
color: theme.muted,
|
|
185
191
|
fontSize: "12px",
|
|
186
192
|
lineHeight: "1.55",
|
|
@@ -201,4 +207,4 @@ export const EmailDocument = (props) => {
|
|
|
201
207
|
};
|
|
202
208
|
return (_jsxs(Html, { lang: "en", children: [_jsx(Head, {}), _jsx(Preview, { children: props.preview ?? props.subject ?? "Message" }), _jsx(Body, { style: pageStyle, children: _jsx(EmailCard, { ...props }) })] }));
|
|
203
209
|
};
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVtcGxhdGUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7R0FRRztBQUNILE9BQU8sRUFBRSxVQUFVLEVBQXFCLE1BQU0sd0JBQXdCLENBQUM7QUFDdkUsT0FBTyxFQUNMLElBQUksRUFDSixNQUFNLEVBQ04sU0FBUyxFQUNULElBQUksRUFDSixPQUFPLEVBQ1AsRUFBRSxFQUNGLElBQUksRUFDSixHQUFHLEVBQ0gsSUFBSSxFQUNKLFFBQVEsRUFDUixPQUFPLEVBQ1AsR0FBRyxFQUNILE9BQU8sRUFDUCxJQUFJLEdBQ0wsTUFBTSx5QkFBeUIsQ0FBQztBQXFDakMsU0FBUyxvQkFBb0IsQ0FBQyxLQUF5QjtJQUNyRCxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDN0UsQ0FBQztBQUVELCtEQUErRDtBQUMvRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLE9BQXFCLEVBQWMsRUFBRTtJQUN6RSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ25FLE9BQU87UUFDTCxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1FBQzlCLFFBQVEsRUFBRSxTQUFTO1FBQ25CLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUk7UUFDbkMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1FBQ2xCLFVBQVUsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU87UUFDbEMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVTtRQUNsQyxVQUFVLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVO1FBQ3JDLEtB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QUFPLENBQUMsQ0FBQyxDQUFDLENBQ2YsS0FBQyxJQUFJLElBQ0gsSUFBSSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQ25CLEtBQUssRUFBRTt3Q0FDTCxLQUFLLEVBQUUsS0FBSyxDQUFDLE1BQU07d0NBQ25CLGNBQWMsRUFBRSxNQUFNO3FDQUN2QixZQUVBLEtBQUssQ0FBQyxJQUFJLEdBQ04sQ0FDUixDQUFDLENBQUMsQ0FBQyxJQUFJLElBQ0gsR0FDQSxHQUNMLEdBQ0UsSUFDQSxDQUNiLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRix5REFBeUQ7QUFDekQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsS0FBeUIsRUFBRSxFQUFFO0lBQ3pELE1BQU0sS0FBSyxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QyxNQUFNLFNBQVMsR0FBd0I7UUFDckMsZUFBZSxFQUFFLEtBQUssQ0FBQyxVQUFVO1FBQ2pDLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtRQUM1QixNQUFNLEVBQUUsQ0FBQztRQUNULE9BQU8sRUFBRSxXQUFXO0tBQ3JCLENBQUM7SUFDRixPQUFPLENBQ0wsTUFBQyxJQUFJLElBQUMsSUFBSSxFQUFDLElBQUksYUFDYixLQUFDLElBQUksS0FBRyxFQUNSLEtBQUMsT0FBTyxjQUFFLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxTQUFTLEdBQVcsRUFDaEUsS0FBQyxJQUFJLElBQUMsS0FBSyxFQUFFLFNBQVMsWUFDcEIsS0FBQyxTQUFTLE9BQUssS0FBSyxHQUFJLEdBQ25CLElBQ0YsQ0FDUixDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBVbml2ZXJzYWwgUmVhY3QgRW1haWwgcHJlc2VudGF0aW9uIGZvciBkYngtdG9vbHMgZW1haWwgZmxvd3MuXG4gKlxuICogVGhlIGRvY3VtZW50IGNvbXBvbmVudCByZW5kZXJzIG9uIHRoZSBzZXJ2ZXIgdGhyb3VnaCBgQHJlYWN0LWVtYWlsL3JlbmRlcmA7XG4gKiB0aGUgYm9keSBjb21wb25lbnQgaXMgcmV1c2VkIGRpcmVjdGx5IGJ5IGJyb3dzZXIgYXBwcm92YWwgYW5kIGNvbXBvc2Ugdmlld3MuXG4gKiBCb3RoIGRlZmF1bHQgdG8gdGhlIHJlcG9zaXRvcnkgYnJhbmQgd2hpbGUgYWNjZXB0aW5nIGEgY29uc3VtZXIgb3ZlcnJpZGUuXG4gKlxuICogQG1vZHVsZVxuICovXG5pbXBvcnQgeyBicmFuZFV0aWxzLCB0eXBlIEJyYW5kQ29udGV4dCB9IGZyb20gXCJAZGJ4LXRvb2xzL3NoYXJlZC1jb3JlXCI7XG5pbXBvcnQge1xuICBCb2R5LFxuICBDb2x1bW4sXG4gIENvbnRhaW5lcixcbiAgSGVhZCxcbiAgSGVhZGluZyxcbiAgSHIsXG4gIEh0bWwsXG4gIEltZyxcbiAgTGluayxcbiAgTWFya2Rvd24sXG4gIFByZXZpZXcsXG4gIFJvdyxcbiAgU2VjdGlvbixcbiAgVGV4dCxcbn0gZnJvbSBcIkByZWFjdC1lbWFpbC9jb21wb25lbnRzXCI7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcblxuLyoqIEVtYWlsLXNhZmUgYnJhbmQgdmFsdWVzIHVzZWQgYnkgdGhlIFJlYWN0IEVtYWlsIHRlbXBsYXRlLiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbWFpbEJyYW5kIHtcbiAgYWNjZW50OiBzdHJpbmc7XG4gIG9uQWNjZW50Pzogc3RyaW5nO1xuICBmb250RmFtaWx5OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGxvZ29Vcmw/OiBzdHJpbmc7XG4gIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIHN1cmZhY2U/OiBzdHJpbmc7XG4gIGZvcmVncm91bmQ/OiBzdHJpbmc7XG4gIG11dGVkPzogc3RyaW5nO1xuICBib3JkZXI/OiBzdHJpbmc7XG4gIHRhZ2xpbmU/OiBzdHJpbmc7XG4gIHdlYnNpdGU/OiBzdHJpbmc7XG59XG5cbi8qKiBDb21wbGV0ZSB2YWx1ZXMgYWZ0ZXIgYXBwbHlpbmcgdGhlIGRieC10b29scyBkZWZhdWx0IGJyYW5kLiAqL1xuZXhwb3J0IHR5cGUgUmVzb2x2ZWRFbWFpbEJyYW5kID0gUmVxdWlyZWQ8XG4gIFBpY2s8XG4gICAgRW1haWxCcmFuZCxcbiAgICB8IFwiYWNjZW50XCJcbiAgICB8IFwib25BY2NlbnRcIlxuICAgIHwgXCJmb250RmFtaWx5XCJcbiAgICB8IFwibmFtZVwiXG4gICAgfCBcImJhY2tncm91bmRcIlxuICAgIHwgXCJzdXJmYWNlXCJcbiAgICB8IFwiZm9yZWdyb3VuZFwiXG4gICAgfCBcIm11dGVkXCJcbiAgICB8IFwiYm9yZGVyXCJcbiAgICB8IFwidGFnbGluZVwiXG4gID5cbj4gJlxuICBQaWNrPEVtYWlsQnJhbmQsIFwibG9nb1VybFwiIHwgXCJ3ZWJzaXRlXCI+O1xuXG5mdW5jdGlvbiBpc1JlbmRlcmFibGVJbWFnZVVybCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogdmFsdWUgaXMgc3RyaW5nIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiAmJiAvXig/Omh0dHBzPzp8ZGF0YTp8Y2lkOikvaS50ZXN0KHZhbHVlKTtcbn1cblxuLyoqIFByb2plY3QgYSBwb3J0YWJsZSBicmFuZCBjb250ZXh0IGludG8gZW1haWwtc2FmZSB2YWx1ZXMuICovXG5leHBvcnQgY29uc3QgZW1haWxCcmFuZEZyb21Db250ZXh0ID0gKGNvbnRleHQ6IEJyYW5kQ29udGV4dCk6IEVtYWlsQnJhbmQgPT4ge1xuICBjb25zdCBsb2dvID0gY29udGV4dC5hc3NldHMubG9nby5kYXJrID8/IGNvbnRleHQuYXNzZXRzLmxvZ28ubGlnaHQ7XG4gIHJldHVybiB7XG4gICAgYWNjZW50OiBjb250ZXh0LmNvbG9ycy5wcmltYXJ5LFxuICAgIG9uQWNjZW50OiBcIiNmZmZmZmZcIixcbiAgICBmb250RmFtaWx5OiBjb250ZXh0LnR5cG9ncmFwaHkuc2FucyxcbiAgICBuYW1lOiBjb250ZXh0Lm5hbWUsXG4gICAgYmFja2dyb3VuZDogY29udGV4dC5jb2xvcnMuc3VyZmFjZSxcbiAgICBzdXJmYWNlOiBjb250ZXh0LmNvbG9ycy5iYWNrZ3JvdW5kLFxuICAgIGZvcmVncm91bmQ6IGNvbnRleHQuY29sb3JzLmZvcmVncm91bmQsXG4gICAgbXV0ZWQ6IGNvbnRleHQuY29sb3JzLm11dGVkLFxuICAgIGJvcmRlcjogY29udGV4dC5jb2xvcnMuYm9yZGVyLFxuICAgIHRhZ2xpbmU6IGNvbnRleHQudGFnbGluZSxcbiAgICB3ZWJzaXRlOiBjb250ZXh0LmxpbmtzLndlYnNpdGUsXG4gICAgLi4uKGlzUmVuZGVyYWJsZUltYWdlVXJsKGxvZ28pID8geyBsb2dvVXJsOiBsb2dvIH0gOiB7fSksXG4gIH07XG59O1xuXG4vKiogVGhlIHJlcG9zaXRvcnkgYnJhbmQgdXNlZCBieSBldmVyeSBlbWFpbCB1bmxlc3MgZXhwbGljaXRseSBvdmVycmlkZGVuLiAqL1xuZXhwb3J0IGNvbnN0IGRlZmF1bHRFbWFpbEJyYW5kOiBFbWFpbEJyYW5kID0gZW1haWxCcmFuZEZyb21Db250ZXh0KGJyYW5kVXRpbHMuZGVmYXVsdEJyYW5kQ29udGV4dCk7XG5cbi8qKiBNZXJnZSBhIHBhcnRpYWwgY29uc3VtZXIgYnJhbmQgb3ZlciB0aGUgcmVwb3NpdG9yeSBkZWZhdWx0LiAqL1xuZXhwb3J0IGNvbnN0IHJlc29sdmVFbWFpbEJyYW5kID0gKGlucHV0PzogRW1haWxCcmFuZCk6IFJlc29sdmVkRW1haWxCcmFuZCA9PiB7XG4gIGNvbnN0IG1lcmdlZCA9IHsgLi4uZGVmYXVsdEVtYWlsQnJhbmQsIC4uLmlucHV0IH07XG4gIHJldHVybiB7XG4gICAgYWNjZW50OiBtZXJnZWQuYWNjZW50LFxuICAgIG9uQWNjZW50OiBtZXJnZWQub25BY2NlbnQgPz8gXCIjZmZmZmZmXCIsXG4gICAgZm9udEZhbWlseTogbWVyZ2VkLmZvbnRGYW1pbHksXG4gICAgbmFtZTogbWVyZ2VkLm5hbWUgPz8gYnJhbmRVdGlscy5kZWZhdWx0QnJhbmRDb250ZXh0Lm5hbWUsXG4gICAgYmFja2dyb3VuZDogbWVyZ2VkLmJhY2tncm91bmQgPz8gYnJhbmRVdGlscy5kZWZhdWx0QnJhbmRDb250ZXh0LmNvbG9ycy5zdXJmYWNlLFxuICAgIHN1cmZhY2U6IG1lcmdlZC5zdXJmYWNlID8/IGJyYW5kVXRpbHMuZGVmYXVsdEJyYW5kQ29udGV4dC5jb2xvcnMuYmFja2dyb3VuZCxcbiAgICBmb3JlZ3JvdW5kOiBtZXJnZWQuZm9yZWdyb3VuZCA/PyBicmFuZFV0aWxzLmRlZmF1bHRCcmFuZENvbnRleHQuY29sb3JzLmZvcmVncm91bmQsXG4gICAgbXV0ZWQ6IG1lcmdlZC5tdXRlZCA/PyBicmFuZFV0aWxzLmRlZmF1bHRCcmFuZENvbnRleHQuY29sb3JzLm11dGVkLFxuICAgIGJvcmRlcjogbWVyZ2VkLmJvcmRlciA/PyBicmFuZFV0aWxzLmRlZmF1bHRCcmFuZENvbnRleHQuY29sb3JzLmJvcmRlcixcbiAgICB0YWdsaW5lOiBtZXJnZWQudGFnbGluZSA/PyBicmFuZFV0aWxzLmRlZmF1bHRCcmFuZENvbnRleHQudGFnbGluZSxcbiAgICAuLi4obWVyZ2VkLmxvZ29VcmwgPyB7IGxvZ29Vcmw6IG1lcmdlZC5sb2dvVXJsIH0gOiB7fSksXG4gICAgLi4uKG1lcmdlZC53ZWJzaXRlID8geyB3ZWJzaXRlOiBtZXJnZWQud2Vic2l0ZSB9IDoge30pLFxuICB9O1xufTtcblxuLyoqIE5vcm1hbGl6ZSBpbmRlbnRhdGlvbiBpbiBhdXRob3JlZCBjb250ZW50IHdpdGhvdXQgY29uc3RyYWluaW5nIGl0cyBzdHJ1Y3R1cmUuICovXG5leHBvcnQgY29uc3Qgbm9ybWFsaXplRW1haWxNYXJrZG93biA9ICh2YWx1ZTogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgY29uc3QgbGluZXMgPSB2YWx1ZS5yZXBsYWNlKC9cXHJcXG4/L2csIFwiXFxuXCIpLnNwbGl0KFwiXFxuXCIpO1xuICB3aGlsZSAobGluZXNbMF0/LnRyaW0oKSA9PT0gXCJcIikgbGluZXMuc2hpZnQoKTtcbiAgd2hpbGUgKGxpbmVzLmF0KC0xKT8udHJpbSgpID09PSBcIlwiKSBsaW5lcy5wb3AoKTtcbiAgY29uc3Qgbm9uQmxhbmsgPSBsaW5lcy5maWx0ZXIoKGxpbmUpID0+IGxpbmUudHJpbSgpLmxlbmd0aCA+IDApO1xuICBjb25zdCBpbmRlbnQgPSBub25CbGFuay5yZWR1Y2UoKG1pbmltdW0sIGxpbmUpID0+IHtcbiAgICBjb25zdCB3aWR0aCA9IGxpbmUubWF0Y2goL15cXHMqLyk/LlswXS5sZW5ndGggPz8gMDtcbiAgICByZXR1cm4gTWF0aC5taW4obWluaW11bSwgd2lkdGgpO1xuICB9LCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpO1xuICBpZiAoIU51bWJlci5pc0Zpbml0ZShpbmRlbnQpIHx8IGluZGVudCA9PT0gMCkgcmV0dXJuIGxpbmVzLmpvaW4oXCJcXG5cIik7XG4gIHJldHVybiBsaW5lcy5tYXAoKGxpbmUpID0+IGxpbmUuc2xpY2UoTWF0aC5taW4oaW5kZW50LCBsaW5lLmxlbmd0aCkpKS5qb2luKFwiXFxuXCIpO1xufTtcblxuLyoqIFByb3BzIGZvciB0aGUgcmV1c2FibGUgbWVzc2FnZS1ib2R5IGNvbXBvbmVudC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW1haWxCb2R5UHJvcHMge1xuICBib2R5OiBzdHJpbmc7XG4gIGJyYW5kPzogRW1haWxCcmFuZDtcbn1cblxuLyoqIFJlbmRlciByaWNoIG1lc3NhZ2UgY29udGVudCB3aXRoIGVtYWlsLWNsaWVudC1zYWZlIGlubGluZSBzdHlsZXMuICovXG5leHBvcnQgY29uc3QgRW1haWxCb2R5ID0gKHsgYm9keSwgYnJhbmQ6IGJyYW5kSW5wdXQgfTogRW1haWxCb2R5UHJvcHMpID0+IHtcbiAgY29uc3QgdGhlbWUgPSByZXNvbHZlRW1haWxCcmFuZChicmFuZElucHV0KTtcbiAgcmV0dXJuIChcbiAgICA8TWFya2Rvd25cbiAgICAgIG1hcmtkb3duQ29udGFpbmVyU3R5bGVzPXt7XG4gICAgICAgIGNvbG9yOiB0aGVtZS5mb3JlZ3JvdW5kLFxuICAgICAgICBmb250RmFtaWx5OiB0aGVtZS5mb250RmFtaWx5LFxuICAgICAgICBmb250U2l6ZTogXCIxNXB4XCIsXG4gICAgICAgIGxpbmVIZWlnaHQ6IFwiMS42NVwiLFxuICAgICAgfX1cbiAgICAgIG1hcmtkb3duQ3VzdG9tU3R5bGVzPXt7XG4gICAgICAgIGgxOiB7IGNvbG9yOiB0aGVtZS5mb3JlZ3JvdW5kLCBmb250U2l6ZTogXCIzMHB4XCIsIGxpbmVIZWlnaHQ6IFwiMS4yXCIsIG1hcmdpbjogXCIwIDAgMjBweFwiIH0sXG4gICAgICAgIGgyOiB7IGNvbG9yOiB0aGVtZS5mb3JlZ3JvdW5kLCBmb250U2l6ZTogXCIyM3B4XCIsIGxpbmVIZWlnaHQ6IFwiMS4zXCIsIG1hcmdpbjogXCIyOHB4IDAgMTJweFwiIH0sXG4gICAgICAgIGgzOiB7IGNvbG9yOiB0aGVtZS5mb3JlZ3JvdW5kLCBmb250U2l6ZTogXCIxOHB4XCIsIGxpbmVIZWlnaHQ6IFwiMS40XCIsIG1hcmdpbjogXCIyNHB4IDAgMTBweFwiIH0sXG4gICAgICAgIHA6IHsgbWFyZ2luOiBcIjAgMCAxNnB4XCIgfSxcbiAgICAgICAgbGluazogeyBjb2xvcjogdGhlbWUuYWNjZW50LCBmb250V2VpZ2h0OiA2MDAsIHRleHREZWNvcmF0aW9uOiBcInVuZGVybGluZVwiIH0sXG4gICAgICAgIGJsb2NrUXVvdGU6IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmJhY2tncm91bmQsXG4gICAgICAgICAgYm9yZGVyTGVmdDogYDRweCBzb2xpZCAke3RoZW1lLmFjY2VudH1gLFxuICAgICAgICAgIGJvcmRlclJhZGl1czogXCIwIDEwcHggMTBweCAwXCIsXG4gICAgICAgICAgY29sb3I6IHRoZW1lLmZvcmVncm91bmQsXG4gICAgICAgICAgbWFyZ2luOiBcIjIwcHggMFwiLFxuICAgICAgICAgIHBhZGRpbmc6IFwiMTRweCAxOHB4XCIsXG4gICAgICAgIH0sXG4gICAgICAgIGNvZGVJbmxpbmU6IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmJhY2tncm91bmQsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiBcIjVweFwiLFxuICAgICAgICAgIGNvbG9yOiB0aGVtZS5mb3JlZ3JvdW5kLFxuICAgICAgICAgIGZvbnRGYW1pbHk6IGJyYW5kVXRpbHMuZGVmYXVsdEJyYW5kQ29udGV4dC50eXBvZ3JhcGh5Lm1vbm8sXG4gICAgICAgICAgZm9udFNpemU6IFwiMTNweFwiLFxuICAgICAgICAgIHBhZGRpbmc6IFwiMnB4IDVweFwiLFxuICAgICAgICB9LFxuICAgICAgICBjb2RlQmxvY2s6IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmZvcmVncm91bmQsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiBcIjEwcHhcIixcbiAgICAgICAgICBjb2xvcjogdGhlbWUuc3VyZmFjZSxcbiAgICAgICAgICBmb250RmFtaWx5OiBicmFuZFV0aWxzLmRlZmF1bHRCcmFuZENvbnRleHQudHlwb2dyYXBoeS5tb25vLFxuICAgICAgICAgIGZvbnRTaXplOiBcIjEzcHhcIixcbiAgICAgICAgICBsaW5lSGVpZ2h0OiBcIjEuNTVcIixcbiAgICAgICAgICBtYXJnaW46IFwiMjBweCAwXCIsXG4gICAgICAgICAgcGFkZGluZzogXCIxNnB4XCIsXG4gICAgICAgIH0sXG4gICAgICAgIGhyOiB7IGJvcmRlckNvbG9yOiB0aGVtZS5ib3JkZXIsIG1hcmdpbjogXCIyOHB4IDBcIiB9LFxuICAgICAgICBpbWFnZTogeyBib3JkZXJSYWRpdXM6IFwiMTBweFwiLCBoZWlnaHQ6IFwiYXV0b1wiLCBtYXhXaWR0aDogXCIxMDAlXCIgfSxcbiAgICAgICAgbGk6IHsgbWFyZ2luOiBcIjZweCAwXCIgfSxcbiAgICAgICAgdGFibGU6IHsgYm9yZGVyQ29sbGFwc2U6IFwiY29sbGFwc2VcIiwgbWFyZ2luOiBcIjIwcHggMFwiLCB3aWR0aDogXCIxMDAlXCIgfSxcbiAgICAgICAgdGg6IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmJhY2tncm91bmQsXG4gICAgICAgICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7dGhlbWUuYm9yZGVyfWAsXG4gICAgICAgICAgcGFkZGluZzogXCI5cHggMTJweFwiLFxuICAgICAgICAgIHRleHRBbGlnbjogXCJsZWZ0XCIsXG4gICAgICAgIH0sXG4gICAgICAgIHRkOiB7XG4gICAgICAgICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7dGhlbWUuYm9yZGVyfWAsXG4gICAgICAgICAgcGFkZGluZzogXCI5cHggMTJweFwiLFxuICAgICAgICAgIHRleHRBbGlnbjogXCJsZWZ0XCIsXG4gICAgICAgIH0sXG4gICAgICB9fVxuICAgID5cbiAgICAgIHtub3JtYWxpemVFbWFpbE1hcmtkb3duKGJvZHkpfVxuICAgIDwvTWFya2Rvd24+XG4gICk7XG59O1xuXG4vKiogUHJvcHMgZm9yIHRoZSBjb21wbGV0ZSBSZWFjdCBFbWFpbCBkb2N1bWVudC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW1haWxEb2N1bWVudFByb3BzIGV4dGVuZHMgRW1haWxCb2R5UHJvcHMge1xuICBzdWJqZWN0Pzogc3RyaW5nO1xuICAvKipcbiAgICogVmlzaWJsZSBoZWFkaW5nIGluc2lkZSB0aGUgZW1haWwgY2FyZC4gT21pdCBpdCBmb3Igb3JkaW5hcnkgbWVzc2FnZXMgc28gdGhlXG4gICAqIHRyYW5zcG9ydCBzdWJqZWN0IHN0YXlzIGEgdHJhbnNwb3J0IHN1YmplY3QgYW5kIGlzIG5vdCByZXBlYXRlZCBhcyBhIGJvZHlcbiAgICogdGl0bGUuIFBhc3MgYSBzaG9ydGVyIGhlYWRpbmcgd2hlbiB0aGUgc3ViamVjdCBjYXJyaWVzIG5vdGlmaWNhdGlvbi1zcGVjaWZpY1xuICAgKiBkZXRhaWxzIChvbmUtdGltZS1jb2RlIG1haWwgaXMgdGhlIG1vdGl2YXRpbmcgY2FzZSkuXG4gICAqL1xuICBoZWFkaW5nPzogc3RyaW5nO1xuICAvKipcbiAgICogT3B0aW9uYWwgZW52ZWxvcGUgcm93cyByZW5kZXJlZCBhYm92ZSB0aGUgYm9keSAoRnJvbSAvIFRvIC8gQ2MgLyDigKYpLiBLZXB0IGZvclxuICAgKiBsb2NhbCBvdXRib3ggcHJldmlld3MgdGhhdCBkZWxpYmVyYXRlbHkgc2hvdyB0aGUgd2lyZSBlbnZlbG9wZTsgZGVsaXZlcmVkXG4gICAqIFNNVFAgbWFpbCBhbmQgYnJvd3NlciBhcHByb3ZhbC9jb21wb3NlIHByZXZpZXdzIGxlYXZlIHRoaXMgdW5zZXQg4oCUIHRob3NlXG4gICAqIHN1cmZhY2VzIHB1dCByZWNpcGllbnRzIGFuZCBhdHRhY2htZW50cyBpbiBjbGllbnQgY2hyb21lIGluc3RlYWQuXG4gICAqL1xuICBoZWFkZXJzPzogUmVhZG9ubHlBcnJheTxyZWFkb25seSBbc3RyaW5nLCBzdHJpbmddPjtcbiAgZm9vdGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogRHJhdyB0aGUgY2FyZCdzIG93biBmcmFtZTogcm91bmRlZCBjb3JuZXJzLCBib3JkZXIsIGRyb3Agc2hhZG93LCBhbmQgdGhlXG4gICAqIDYyMHB4IHJlYWRpbmcgd2lkdGguIERlbGl2ZXJlZCBtYWlsIGtlZXBzIGl0LCBiZWNhdXNlIHRoZSBjYXJkIGZsb2F0cyBvbiB0aGVcbiAgICogY2xpZW50J3MgcGFnZSBiYWNrZ3JvdW5kIGFuZCB0aGUgZnJhbWUgaXMgd2hhdCBzZXBhcmF0ZXMgdGhlIHR3by5cbiAgICpcbiAgICogVHVybiBpdCBvZmYgd2hlbiB0aGUgY2FyZCBhbHJlYWR5IHNpdHMgaW5zaWRlIGEgc3VyZmFjZSB0aGF0IGZyYW1lcyBpdCAtIGFcbiAgICogYnJvd3NlciBwcmV2aWV3J3MgcmVhZGluZyBwYW5lIC0gc28gdGhlIHR3byBmcmFtZXMgZG8gbm90IG5lc3QgaW50byBhIHJvdW5kZWRcbiAgICogY2FyZCBpbnNpZGUgYSByb3VuZGVkIGNhcmQuXG4gICAqL1xuICBmcmFtZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogUHJlaGVhZGVyIHRleHQ6IHRoZSBzbmlwcGV0IGEgY2xpZW50IHNob3dzIG5leHQgdG8gdGhlIHN1YmplY3QgaW4gYSBsaXN0LCBhbmRcbiAgICogLSB0aGUgcmVhc29uIHRoaXMgaXMgYSBwcm9wIC0gdGhlIHRleHQgYSBtb2JpbGUgT1MgcHV0cyBpbiB0aGUgUFVTSFxuICAgKiBOT1RJRklDQVRJT04gYm9keS5cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gdGhlIHN1YmplY3QuIFNldCBpdCB3aGVuIHRoZSBub3RpZmljYXRpb24gc2hvdWxkIHNheSBzb21ldGhpbmcgdGhlXG4gICAqIHN1YmplY3QgZG9lcyBub3QuIE9uZS10aW1lLWNvZGUgbWFpbCBpcyB0aGUgY2FzZSB0aGF0IG1vdGl2YXRlZCBpdDogaU9TIHJlYWRzXG4gICAqIGFuIGluY29taW5nIG5vdGlmaWNhdGlvbidzIHRleHQgdG8gb2ZmZXIgYW4gYXV0b2ZpbGwgY29kZSAobmF0aXZlbHkgZm9yIE1haWxcbiAgICogYW5kIE1lc3NhZ2VzLCBhbmQgc2luY2UgaU9TIDI2IGZvciBhbnkgYXBwJ3Mgbm90aWZpY2F0aW9uLCBHbWFpbCBpbmNsdWRlZCksIHNvXG4gICAqIGEgY29kZSB0aGF0IGFwcGVhcnMgb25seSBpbiB0aGUgQk9EWSBpcyBuZXZlciBzZWVuIC0gdGhlIG5vdGlmaWNhdGlvbiBjYXJyaWVzXG4gICAqIHRoZSBzdWJqZWN0IGFuZCB0aGlzIHNuaXBwZXQsIG5vdGhpbmcgbW9yZS5cbiAgICovXG4gIHByZXZpZXc/OiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIEJyYW5kTWFyayh7IHRoZW1lIH06IHsgdGhlbWU6IFJlc29sdmVkRW1haWxCcmFuZCB9KTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgaWYgKHRoZW1lLmxvZ29VcmwpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPEltZ1xuICAgICAgICBzcmM9e3RoZW1lLmxvZ29Vcmx9XG4gICAgICAgIGFsdD17dGhlbWUubmFtZX1cbiAgICAgICAgaGVpZ2h0PVwiMzRcIlxuICAgICAgICBzdHlsZT17eyBkaXNwbGF5OiBcImJsb2NrXCIsIGhlaWdodDogXCIzNHB4XCIsIHdpZHRoOiBcImF1dG9cIiB9fVxuICAgICAgLz5cbiAgICApO1xuICB9XG4gIHJldHVybiAoXG4gICAgPFRleHRcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGNvbG9yOiB0aGVtZS5vbkFjY2VudCxcbiAgICAgICAgZm9udFNpemU6IFwiMjBweFwiLFxuICAgICAgICBmb250V2VpZ2h0OiA4MDAsXG4gICAgICAgIGxldHRlclNwYWNpbmc6IFwiLTAuM3B4XCIsXG4gICAgICAgIG1hcmdpbjogMCxcbiAgICAgIH19XG4gICAgPlxuICAgICAge3RoZW1lLm5hbWV9XG4gICAgPC9UZXh0PlxuICApO1xufVxuXG5mdW5jdGlvbiBFbnZlbG9wZUhlYWRlcnMoe1xuICBoZWFkZXJzLFxuICB0aGVtZSxcbn06IHtcbiAgaGVhZGVyczogRW1haWxEb2N1bWVudFByb3BzW1wiaGVhZGVyc1wiXTtcbiAgdGhlbWU6IFJlc29sdmVkRW1haWxCcmFuZDtcbn0pIHtcbiAgaWYgKCFoZWFkZXJzPy5sZW5ndGgpIHJldHVybiBudWxsO1xuICByZXR1cm4gKFxuICAgIDxTZWN0aW9uXG4gICAgICBzdHlsZT17e1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmJhY2tncm91bmQsXG4gICAgICAgIGJvcmRlclJhZGl1czogXCIxMHB4XCIsXG4gICAgICAgIG1hcmdpbjogXCIwIDAgMjRweFwiLFxuICAgICAgICBwYWRkaW5nOiBcIjE0cHggMTZweFwiLFxuICAgICAgfX1cbiAgICA+XG4gICAgICB7aGVhZGVycy5tYXAoKFtsYWJlbCwgdmFsdWVdKSA9PiAoXG4gICAgICAgIDxSb3cga2V5PXtgJHtsYWJlbH06JHt2YWx1ZX1gfT5cbiAgICAgICAgICA8Q29sdW1uXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBjb2xvcjogdGhlbWUubXV0ZWQsXG4gICAgICAgICAgICAgIGZvbnRTaXplOiBcIjEycHhcIixcbiAgICAgICAgICAgICAgZm9udFdlaWdodDogNzAwLFxuICAgICAgICAgICAgICBwYWRkaW5nOiBcIjNweCAxMnB4IDNweCAwXCIsXG4gICAgICAgICAgICAgIHdpZHRoOiBcIjcwcHhcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDwvQ29sdW1uPlxuICAgICAgICAgIDxDb2x1bW4gc3R5bGU9e3sgY29sb3I6IHRoZW1lLmZvcmVncm91bmQsIGZvbnRTaXplOiBcIjEzcHhcIiwgcGFkZGluZzogXCIzcHggMFwiIH19PlxuICAgICAgICAgICAge3ZhbHVlfVxuICAgICAgICAgIDwvQ29sdW1uPlxuICAgICAgICA8L1Jvdz5cbiAgICAgICkpfVxuICAgIDwvU2VjdGlvbj5cbiAgKTtcbn1cblxuLyoqIEJyYW5kZWQgbWVzc2FnZSBjYXJkIHNoYXJlZCBieSB0aGUgZnVsbCBkb2N1bWVudCBhbmQgYnJvd3NlciBwcmV2aWV3cy4gKi9cbmV4cG9ydCBjb25zdCBFbWFpbENhcmQgPSAoe1xuICBib2R5LFxuICBoZWFkaW5nLFxuICBoZWFkZXJzLFxuICBmb290ZXIsXG4gIGZyYW1lZCA9IHRydWUsXG4gIGJyYW5kOiBicmFuZElucHV0LFxufTogRW1haWxEb2N1bWVudFByb3BzKSA9PiB7XG4gIGNvbnN0IHRoZW1lID0gcmVzb2x2ZUVtYWlsQnJhbmQoYnJhbmRJbnB1dCk7XG4gIHJldHVybiAoXG4gICAgPENvbnRhaW5lclxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5zdXJmYWNlLFxuICAgICAgICBmb250RmFtaWx5OiB0aGVtZS5mb250RmFtaWx5LFxuICAgICAgICBtYXJnaW46IFwiMCBhdXRvXCIsXG4gICAgICAgIC4uLihmcmFtZWRcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7dGhlbWUuYm9yZGVyfWAsXG4gICAgICAgICAgICAgIGJvcmRlclJhZGl1czogXCIxNnB4XCIsXG4gICAgICAgICAgICAgIGJveFNoYWRvdzogXCIwIDhweCAzMHB4IHJnYmEoMjcsNDksNTcsMC4wOClcIixcbiAgICAgICAgICAgICAgbWF4V2lkdGg6IFwiNjIwcHhcIixcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHsgbWF4V2lkdGg6IFwiMTAwJVwiIH0pLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8U2VjdGlvblxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUuYWNjZW50LFxuICAgICAgICAgIC8vIFRoZSBjb3JuZXJzIGFyZSBzZXQgb24gdGhlIGJhbmQgaXRzZWxmIHJhdGhlciB0aGFuIGNsaXBwZWQgYnkgdGhlXG4gICAgICAgICAgLy8gY29udGFpbmVyOiBSZWFjdCBFbWFpbCByZW5kZXJzIHRoZSBjb250YWluZXIgYXMgYSA8dGFibGU+LCB3aGljaFxuICAgICAgICAgIC8vIGBvdmVyZmxvdzogaGlkZGVuYCBkb2VzIG5vdCByZWxpYWJseSBjbGlwLCBzbyB0aGUgYmFuZCBuZWVkcyBpdHMgb3duXG4gICAgICAgICAgLy8gcm91bmRlZCBjb3JuZXJzIHRvIHN0YXkgaW5zaWRlIHRoZSBjb250YWluZXIgZWRnZS5cbiAgICAgICAgICAuLi4oZnJhbWVkID8geyBib3JkZXJSYWRpdXM6IFwiMTVweCAxNXB4IDAgMFwiIH0gOiB7fSksXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxSb3c+XG4gICAgICAgICAgPENvbHVtbiBzdHlsZT17eyBwYWRkaW5nOiBcIjI2cHggMzZweFwiIH19PlxuICAgICAgICAgICAgPEJyYW5kTWFyayB0aGVtZT17dGhlbWV9IC8+XG4gICAgICAgICAgPC9Db2x1bW4+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9TZWN0aW9uPlxuICAgICAgPFNlY3Rpb24+XG4gICAgICAgIDxSb3c+XG4gICAgICAgICAgPENvbHVtbiBzdHlsZT17eyBwYWRkaW5nOiBcIjM4cHggMzhweCAyOHB4XCIgfX0+XG4gICAgICAgICAgICB7aGVhZGluZyA/IChcbiAgICAgICAgICAgICAgPEhlYWRpbmdcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgY29sb3I6IHRoZW1lLmZvcmVncm91bmQsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIyOHB4XCIsXG4gICAgICAgICAgICAgICAgICBsZXR0ZXJTcGFjaW5nOiBcIi0wLjVweFwiLFxuICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDogXCIxLjJcIixcbiAgICAgICAgICAgICAgICAgIG1hcmdpbjogXCIwIDAgMjRweFwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7aGVhZGluZ31cbiAgICAgICAgICAgICAgPC9IZWFkaW5nPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8RW52ZWxvcGVIZWFkZXJzIGhlYWRlcnM9e2hlYWRlcnN9IHRoZW1lPXt0aGVtZX0gLz5cbiAgICAgICAgICAgIDxFbWFpbEJvZHkgYm9keT17Ym9keX0gYnJhbmQ9e3RoZW1lfSAvPlxuICAgICAgICAgIDwvQ29sdW1uPlxuICAgICAgICA8L1Jvdz5cbiAgICAgIDwvU2VjdGlvbj5cbiAgICAgIDxIciBzdHlsZT17eyBib3JkZXJDb2xvcjogdGhlbWUuYm9yZGVyLCBtYXJnaW46IDAgfX0gLz5cbiAgICAgIDxTZWN0aW9uPlxuICAgICAgICA8Um93PlxuICAgICAgICAgIDxDb2x1bW4gc3R5bGU9e3sgcGFkZGluZzogXCIyNHB4IDM4cHggMzBweFwiIH19PlxuICAgICAgICAgICAgPFRleHRcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBjb2xvcjogdGhlbWUubXV0ZWQsXG4gICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMTJweFwiLFxuICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IFwiMS41NVwiLFxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2Zvb3RlciA/PyB0aGVtZS50YWdsaW5lfXtcIiBcIn1cbiAgICAgICAgICAgICAge3RoZW1lLndlYnNpdGUgPyAoXG4gICAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICAgIGhyZWY9e3RoZW1lLndlYnNpdGV9XG4gICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdGhlbWUuYWNjZW50LFxuICAgICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbjogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt0aGVtZS5uYW1lfVxuICAgICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgPC9Db2x1bW4+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9TZWN0aW9uPlxuICAgIDwvQ29udGFpbmVyPlxuICApO1xufTtcblxuLyoqIENvbXBsZXRlIHJlc3BvbnNpdmUsIGJyYW5kZWQgUmVhY3QgRW1haWwgZG9jdW1lbnQuICovXG5leHBvcnQgY29uc3QgRW1haWxEb2N1bWVudCA9IChwcm9wczogRW1haWxEb2N1bWVudFByb3BzKSA9PiB7XG4gIGNvbnN0IHRoZW1lID0gcmVzb2x2ZUVtYWlsQnJhbmQocHJvcHMuYnJhbmQpO1xuICBjb25zdCBwYWdlU3R5bGU6IFJlYWN0LkNTU1Byb3BlcnRpZXMgPSB7XG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5iYWNrZ3JvdW5kLFxuICAgIGZvbnRGYW1pbHk6IHRoZW1lLmZvbnRGYW1pbHksXG4gICAgbWFyZ2luOiAwLFxuICAgIHBhZGRpbmc6IFwiMjhweCAxMnB4XCIsXG4gIH07XG4gIHJldHVybiAoXG4gICAgPEh0bWwgbGFuZz1cImVuXCI+XG4gICAgICA8SGVhZCAvPlxuICAgICAgPFByZXZpZXc+e3Byb3BzLnByZXZpZXcgPz8gcHJvcHMuc3ViamVjdCA/PyBcIk1lc3NhZ2VcIn08L1ByZXZpZXc+XG4gICAgICA8Qm9keSBzdHlsZT17cGFnZVN0eWxlfT5cbiAgICAgICAgPEVtYWlsQ2FyZCB7Li4ucHJvcHN9IC8+XG4gICAgICA8L0JvZHk+XG4gICAgPC9IdG1sPlxuICApO1xufTtcbiJdfQ==
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVtcGxhdGUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7R0FRRztBQUNILE9BQU8sRUFBRSxVQUFVLEVBQXFCLE1BQU0sd0JBQXdCLENBQUM7QUFDdkUsT0FBTyxFQUNMLElBQUksRUFDSixNQUFNLEVBQ04sU0FBUyxFQUNULElBQUksRUFDSixPQUFPLEVBQ1AsRUFBRSxFQUNGLElBQUksRUFDSixHQUFHLEVBQ0gsSUFBSSxFQUNKLFFBQVEsRUFDUixPQUFPLEVBQ1AsR0FBRyxFQUNILE9BQU8sRUFDUCxJQUFJLEdBQ0wsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQW1DbkUsU0FBUyxvQkFBb0IsQ0FBQyxLQUF5QjtJQUNyRCxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDN0UsQ0FBQztBQUVELCtEQUErRDtBQUMvRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLE9BQXFCLEVBQWMsRUFBRTtJQUN6RSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ25FLE9BQU87UUFDTCxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1FBQzlCLFFBQVEsRUFBRSxTQUFTO1FBQ25CLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUk7UUFDbkMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1FBQ2xCLFVBQVUsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU87UUFDbEMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVTtRQUNs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RUFDUixLQUFDLE9BQU8sY0FBRSxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksU0FBUyxHQUFXLEVBQ2hFLEtBQUMsSUFBSSxJQUFDLEtBQUssRUFBRSxTQUFTLFlBQ3BCLEtBQUMsU0FBUyxPQUFLLEtBQUssR0FBSSxHQUNuQixJQUNGLENBQ1IsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVW5pdmVyc2FsIFJlYWN0IEVtYWlsIHByZXNlbnRhdGlvbiBmb3IgZGJ4LXRvb2xzIGVtYWlsIGZsb3dzLlxuICpcbiAqIFRoZSBkb2N1bWVudCBjb21wb25lbnQgcmVuZGVycyBvbiB0aGUgc2VydmVyIHRocm91Z2ggYEByZWFjdC1lbWFpbC9yZW5kZXJgO1xuICogdGhlIGJvZHkgY29tcG9uZW50IGlzIHJldXNlZCBkaXJlY3RseSBieSBicm93c2VyIGFwcHJvdmFsIGFuZCBjb21wb3NlIHZpZXdzLlxuICogQm90aCBkZWZhdWx0IHRvIHRoZSByZXBvc2l0b3J5IGJyYW5kIHdoaWxlIGFjY2VwdGluZyBhIGNvbnN1bWVyIG92ZXJyaWRlLlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuaW1wb3J0IHsgYnJhbmRVdGlscywgdHlwZSBCcmFuZENvbnRleHQgfSBmcm9tIFwiQGRieC10b29scy9zaGFyZWQtY29yZVwiO1xuaW1wb3J0IHtcbiAgQm9keSxcbiAgQ29sdW1uLFxuICBDb250YWluZXIsXG4gIEhlYWQsXG4gIEhlYWRpbmcsXG4gIEhyLFxuICBIdG1sLFxuICBJbWcsXG4gIExpbmssXG4gIE1hcmtkb3duLFxuICBQcmV2aWV3LFxuICBSb3csXG4gIFNlY3Rpb24sXG4gIFRleHQsXG59IGZyb20gXCJAcmVhY3QtZW1haWwvY29tcG9uZW50c1wiO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBkYnhUb29sc0VtYWlsQXNzZXREYXRhVXJscyB9IGZyb20gXCIuL2dlbmVyYXRlZC9hc3NldHMudHNcIjtcblxuLyoqIEVtYWlsLXNhZmUgYnJhbmQgdmFsdWVzIHVzZWQgYnkgdGhlIFJlYWN0IEVtYWlsIHRlbXBsYXRlLiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbWFpbEJyYW5kIHtcbiAgYWNjZW50OiBzdHJpbmc7XG4gIG9uQWNjZW50Pzogc3RyaW5nO1xuICBmb250RmFtaWx5OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGxvZ29Vcmw/OiBzdHJpbmc7XG4gIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIHN1cmZhY2U/OiBzdHJpbmc7XG4gIGZvcmVncm91bmQ/OiBzdHJpbmc7XG4gIG11dGVkPzogc3RyaW5nO1xuICBib3JkZXI/OiBzdHJpbmc7XG4gIHRhZ2xpbmU/OiBzdHJpbmc7XG4gIHdlYnNpdGU/OiBzdHJpbmc7XG59XG5cbi8qKiBDb21wbGV0ZSB2YWx1ZXMgYWZ0ZXIgYXBwbHlpbmcgdGhlIGRieC10b29scyBkZWZhdWx0IGJyYW5kLiAqL1xuZXhwb3J0IHR5cGUgUmVzb2x2ZWRFbWFpbEJyYW5kID0gUmVxdWlyZWQ8XG4gIFBpY2s8XG4gICAgRW1haWxCcmFuZCxcbiAgICB8IFwiYWNjZW50XCJcbiAgICB8IFwib25BY2NlbnRcIlxuICAgIHwgXCJmb250RmFtaWx5XCJcbiAgICB8IFwibmFtZVwiXG4gICAgfCBcImJhY2tncm91bmRcIlxuICAgIHwgXCJzdXJmYWNlXCJcbiAgICB8IFwiZm9yZWdyb3VuZFwiXG4gICAgfCBcIm11dGVkXCJcbiAgICB8IFwiYm9yZGVyXCJcbiAgPlxuPiAmXG4gIFBpY2s8RW1haWxCcmFuZCwgXCJsb2dvVXJsXCIgfCBcInRhZ2xpbmVcIiB8IFwid2Vic2l0ZVwiPjtcblxuZnVuY3Rpb24gaXNSZW5kZXJhYmxlSW1hZ2VVcmwodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZhbHVlIGlzIHN0cmluZyB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgJiYgL14oPzpodHRwcz86fGRhdGE6fGNpZDopL2kudGVzdCh2YWx1ZSk7XG59XG5cbi8qKiBQcm9qZWN0IGEgcG9ydGFibGUgYnJhbmQgY29udGV4dCBpbnRvIGVtYWlsLXNhZmUgdmFsdWVzLiAqL1xuZXhwb3J0IGNvbnN0IGVtYWlsQnJhbmRGcm9tQ29udGV4dCA9IChjb250ZXh0OiBCcmFuZENvbnRleHQpOiBFbWFpbEJyYW5kID0+IHtcbiAgY29uc3QgbG9nbyA9IGNvbnRleHQuYXNzZXRzLmxvZ28uZGFyayA/PyBjb250ZXh0LmFzc2V0cy5sb2dvLmxpZ2h0O1xuICByZXR1cm4ge1xuICAgIGFjY2VudDogY29udGV4dC5jb2xvcnMucHJpbWFyeSxcbiAgICBvbkFjY2VudDogXCIjZmZmZmZmXCIsXG4gICAgZm9udEZhbWlseTogY29udGV4dC50eXBvZ3JhcGh5LnNhbnMsXG4gICAgbmFtZTogY29udGV4dC5uYW1lLFxuICAgIGJhY2tncm91bmQ6IGNvbnRleHQuY29sb3JzLnN1cmZhY2UsXG4gICAgc3VyZmFjZTogY29udGV4dC5jb2xvcnMuYmFja2dyb3VuZCxcbiAgICBmb3JlZ3JvdW5kOiBjb250ZXh0LmNvbG9ycy5mb3JlZ3JvdW5kLFxuICAgIG11dGVkOiBjb250ZXh0LmNvbG9ycy5tdXRlZCxcbiAgICBib3JkZXI6IGNvbnRleHQuY29sb3JzLmJvcmRlcixcbiAgICAuLi4oY29udGV4dC50YWdsaW5lID8geyB0YWdsaW5lOiBjb250ZXh0LnRhZ2xpbmUgfSA6IHt9KSxcbiAgICB3ZWJzaXRlOiBjb250ZXh0LmxpbmtzLndlYnNpdGUsXG4gICAgLi4uKGlzUmVuZGVyYWJsZUltYWdlVXJsKGxvZ28pID8geyBsb2dvVXJsOiBsb2dvIH0gOiB7fSksXG4gIH07XG59O1xuXG4vKiogVGhlIHJlcG9zaXRvcnkgYnJhbmQgdXNlZCBieSBldmVyeSBlbWFpbCB1bmxlc3MgZXhwbGljaXRseSBvdmVycmlkZGVuLiAqL1xuZXhwb3J0IGNvbnN0IGRlZmF1bHRFbWFpbEJyYW5kOiBFbWFpbEJyYW5kID0ge1xuICAuLi5lbWFpbEJyYW5kRnJvbUNvbnRleHQoYnJhbmRVdGlscy5kZWZhdWx0QnJhbmRDb250ZXh0KSxcbiAgbG9nb1VybDogZGJ4VG9vbHNFbWFpbEFzc2V0RGF0YVVybHMubG9nbyxcbn07XG5cbi8qKiBNZXJnZSBhIHBhcnRpYWwgY29uc3VtZXIgYnJhbmQgb3ZlciB0aGUgcmVwb3NpdG9yeSBkZWZhdWx0LiAqL1xuZXhwb3J0IGNvbnN0IHJlc29sdmVFbWFpbEJyYW5kID0gKGlucHV0PzogRW1haWxCcmFuZCk6IFJlc29sdmVkRW1haWxCcmFuZCA9PiB7XG4gIGNvbnN0IG1lcmdlZCA9IHsgLi4uZGVmYXVsdEVtYWlsQnJhbmQsIC4uLmlucHV0IH07XG4gIGNvbnN0IHRhZ2xpbmUgPSBpbnB1dCA9PT0gdW5kZWZpbmVkID8gZGVmYXVsdEVtYWlsQnJhbmQudGFnbGluZSA6IGlucHV0LnRhZ2xpbmU7XG4gIHJldHVybiB7XG4gICAgYWNjZW50OiBtZXJnZWQuYWNjZW50LFxuICAgIG9uQWNjZW50OiBtZXJnZWQub25BY2NlbnQgPz8gXCIjZmZmZmZmXCIsXG4gICAgZm9udEZhbWlseTogbWVyZ2VkLmZvbnRGYW1pbHksXG4gICAgbmFtZTogbWVyZ2VkLm5hbWUgPz8gYnJhbmRVdGlscy5kZWZhdWx0QnJhbmRDb250ZXh0Lm5hbWUsXG4gICAgYmFja2dyb3VuZDogbWVyZ2VkLmJhY2tncm91bmQgPz8gYnJhbmRVdGlscy5kZWZhdWx0QnJhbmRDb250ZXh0LmNvbG9ycy5zdXJmYWNlLFxuICAgIHN1cmZhY2U6IG1lcmdlZC5zdXJmYWNlID8/IGJyYW5kVXRpbHMuZGVmYXVsdEJyYW5kQ29udGV4dC5jb2xvcnMuYmFja2dyb3VuZCxcbiAgICBmb3JlZ3JvdW5kOiBtZXJnZWQuZm9yZWdyb3VuZCA/PyBicmFuZFV0aWxzLmRlZmF1bHRCcmFuZENvbnRleHQuY29sb3JzLmZvcmVncm91bmQsXG4gICAgbXV0ZWQ6IG1lcmdlZC5tdXRlZCA/PyBicmFuZFV0aWxzLmRlZmF1bHRCcmFuZENvbnRleHQuY29sb3JzLm11dGVkLFxuICAgIGJvcmRlcjogbWVyZ2VkLmJvcmRlciA/PyBicmFuZFV0aWxzLmRlZmF1bHRCcmFuZENvbnRleHQuY29sb3JzLmJvcmRlcixcbiAgICAuLi4odGFnbGluZSA/IHsgdGFnbGluZSB9IDoge30pLFxuICAgIC4uLihtZXJnZWQubG9nb1VybCA/IHsgbG9nb1VybDogbWVyZ2VkLmxvZ29VcmwgfSA6IHt9KSxcbiAgICAuLi4obWVyZ2VkLndlYnNpdGUgPyB7IHdlYnNpdGU6IG1lcmdlZC53ZWJzaXRlIH0gOiB7fSksXG4gIH07XG59O1xuXG4vKiogTm9ybWFsaXplIGluZGVudGF0aW9uIGluIGF1dGhvcmVkIGNvbnRlbnQgd2l0aG91dCBjb25zdHJhaW5pbmcgaXRzIHN0cnVjdHVyZS4gKi9cbmV4cG9ydCBjb25zdCBub3JtYWxpemVFbWFpbE1hcmtkb3duID0gKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBsaW5lcyA9IHZhbHVlLnJlcGxhY2UoL1xcclxcbj8vZywgXCJcXG5cIikuc3BsaXQoXCJcXG5cIik7XG4gIHdoaWxlIChsaW5lc1swXT8udHJpbSgpID09PSBcIlwiKSBsaW5lcy5zaGlmdCgpO1xuICB3aGlsZSAobGluZXMuYXQoLTEpPy50cmltKCkgPT09IFwiXCIpIGxpbmVzLnBvcCgpO1xuICBjb25zdCBub25CbGFuayA9IGxpbmVzLmZpbHRlcigobGluZSkgPT4gbGluZS50cmltKCkubGVuZ3RoID4gMCk7XG4gIGNvbnN0IGluZGVudCA9IG5vbkJsYW5rLnJlZHVjZSgobWluaW11bSwgbGluZSkgPT4ge1xuICAgIGNvbnN0IHdpZHRoID0gbGluZS5tYXRjaCgvXlxccyovKT8uWzBdLmxlbmd0aCA/PyAwO1xuICAgIHJldHVybiBNYXRoLm1pbihtaW5pbXVtLCB3aWR0aCk7XG4gIH0sIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7XG4gIGlmICghTnVtYmVyLmlzRmluaXRlKGluZGVudCkgfHwgaW5kZW50ID09PSAwKSByZXR1cm4gbGluZXMuam9pbihcIlxcblwiKTtcbiAgcmV0dXJuIGxpbmVzLm1hcCgobGluZSkgPT4gbGluZS5zbGljZShNYXRoLm1pbihpbmRlbnQsIGxpbmUubGVuZ3RoKSkpLmpvaW4oXCJcXG5cIik7XG59O1xuXG4vKiogUHJvcHMgZm9yIHRoZSByZXVzYWJsZSBtZXNzYWdlLWJvZHkgY29tcG9uZW50LiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbWFpbEJvZHlQcm9wcyB7XG4gIGJvZHk6IHN0cmluZztcbiAgYnJhbmQ/OiBFbWFpbEJyYW5kO1xufVxuXG4vKiogUmVuZGVyIHJpY2ggbWVzc2FnZSBjb250ZW50IHdpdGggZW1haWwtY2xpZW50LXNhZmUgaW5saW5lIHN0eWxlcy4gKi9cbmV4cG9ydCBjb25zdCBFbWFpbEJvZHkgPSAoeyBib2R5LCBicmFuZDogYnJhbmRJbnB1dCB9OiBFbWFpbEJvZHlQcm9wcykgPT4ge1xuICBjb25zdCB0aGVtZSA9IHJlc29sdmVFbWFpbEJyYW5kKGJyYW5kSW5wdXQpO1xuICByZXR1cm4gKFxuICAgIDxNYXJrZG93blxuICAgICAgbWFya2Rvd25Db250YWluZXJTdHlsZXM9e3tcbiAgICAgICAgY29sb3I6IHRoZW1lLmZvcmVncm91bmQsXG4gICAgICAgIGZvbnRGYW1pbHk6IHRoZW1lLmZvbnRGYW1pbHksXG4gICAgICAgIGZvbnRTaXplOiBcIjE1cHhcIixcbiAgICAgICAgbGluZUhlaWdodDogXCIxLjY1XCIsXG4gICAgICB9fVxuICAgICAgbWFya2Rvd25DdXN0b21TdHlsZXM9e3tcbiAgICAgICAgaDE6IHsgY29sb3I6IHRoZW1lLmZvcmVncm91bmQsIGZvbnRTaXplOiBcIjMwcHhcIiwgbGluZUhlaWdodDogXCIxLjJcIiwgbWFyZ2luOiBcIjAgMCAyMHB4XCIgfSxcbiAgICAgICAgaDI6IHsgY29sb3I6IHRoZW1lLmZvcmVncm91bmQsIGZvbnRTaXplOiBcIjIzcHhcIiwgbGluZUhlaWdodDogXCIxLjNcIiwgbWFyZ2luOiBcIjI4cHggMCAxMnB4XCIgfSxcbiAgICAgICAgaDM6IHsgY29sb3I6IHRoZW1lLmZvcmVncm91bmQsIGZvbnRTaXplOiBcIjE4cHhcIiwgbGluZUhlaWdodDogXCIxLjRcIiwgbWFyZ2luOiBcIjI0cHggMCAxMHB4XCIgfSxcbiAgICAgICAgcDogeyBtYXJnaW46IFwiMCAwIDE2cHhcIiB9LFxuICAgICAgICBsaW5rOiB7IGNvbG9yOiB0aGVtZS5hY2NlbnQsIGZvbnRXZWlnaHQ6IDYwMCwgdGV4dERlY29yYXRpb246IFwidW5kZXJsaW5lXCIgfSxcbiAgICAgICAgYmxvY2tRdW90ZToge1xuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUuYmFja2dyb3VuZCxcbiAgICAgICAgICBib3JkZXJMZWZ0OiBgNHB4IHNvbGlkICR7dGhlbWUuYWNjZW50fWAsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiBcIjAgMTBweCAxMHB4IDBcIixcbiAgICAgICAgICBjb2xvcjogdGhlbWUuZm9yZWdyb3VuZCxcbiAgICAgICAgICBtYXJnaW46IFwiMjBweCAwXCIsXG4gICAgICAgICAgcGFkZGluZzogXCIxNHB4IDE4cHhcIixcbiAgICAgICAgfSxcbiAgICAgICAgY29kZUlubGluZToge1xuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUuYmFja2dyb3VuZCxcbiAgICAgICAgICBib3JkZXJSYWRpdXM6IFwiNXB4XCIsXG4gICAgICAgICAgY29sb3I6IHRoZW1lLmZvcmVncm91bmQsXG4gICAgICAgICAgZm9udEZhbWlseTogYnJhbmRVdGlscy5kZWZhdWx0QnJhbmRDb250ZXh0LnR5cG9ncmFwaHkubW9ubyxcbiAgICAgICAgICBmb250U2l6ZTogXCIxM3B4XCIsXG4gICAgICAgICAgcGFkZGluZzogXCIycHggNXB4XCIsXG4gICAgICAgIH0sXG4gICAgICAgIGNvZGVCbG9jazoge1xuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUuZm9yZWdyb3VuZCxcbiAgICAgICAgICBib3JkZXJSYWRpdXM6IFwiMTBweFwiLFxuICAgICAgICAgIGNvbG9yOiB0aGVtZS5zdXJmYWNlLFxuICAgICAgICAgIGZvbnRGYW1pbHk6IGJyYW5kVXRpbHMuZGVmYXVsdEJyYW5kQ29udGV4dC50eXBvZ3JhcGh5Lm1vbm8sXG4gICAgICAgICAgZm9udFNpemU6IFwiMTNweFwiLFxuICAgICAgICAgIGxpbmVIZWlnaHQ6IFwiMS41NVwiLFxuICAgICAgICAgIG1hcmdpbjogXCIyMHB4IDBcIixcbiAgICAgICAgICBwYWRkaW5nOiBcIjE2cHhcIixcbiAgICAgICAgfSxcbiAgICAgICAgaHI6IHsgYm9yZGVyQ29sb3I6IHRoZW1lLmJvcmRlciwgbWFyZ2luOiBcIjI4cHggMFwiIH0sXG4gICAgICAgIGltYWdlOiB7IGJvcmRlclJhZGl1czogXCIxMHB4XCIsIGhlaWdodDogXCJhdXRvXCIsIG1heFdpZHRoOiBcIjEwMCVcIiB9LFxuICAgICAgICBsaTogeyBtYXJnaW46IFwiNnB4IDBcIiB9LFxuICAgICAgICB0YWJsZTogeyBib3JkZXJDb2xsYXBzZTogXCJjb2xsYXBzZVwiLCBtYXJnaW46IFwiMjBweCAwXCIsIHdpZHRoOiBcIjEwMCVcIiB9LFxuICAgICAgICB0aDoge1xuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUuYmFja2dyb3VuZCxcbiAgICAgICAgICBib3JkZXI6IGAxcHggc29saWQgJHt0aGVtZS5ib3JkZXJ9YCxcbiAgICAgICAgICBwYWRkaW5nOiBcIjlweCAxMnB4XCIsXG4gICAgICAgICAgdGV4dEFsaWduOiBcImxlZnRcIixcbiAgICAgICAgfSxcbiAgICAgICAgdGQ6IHtcbiAgICAgICAgICBib3JkZXI6IGAxcHggc29saWQgJHt0aGVtZS5ib3JkZXJ9YCxcbiAgICAgICAgICBwYWRkaW5nOiBcIjlweCAxMnB4XCIsXG4gICAgICAgICAgdGV4dEFsaWduOiBcImxlZnRcIixcbiAgICAgICAgfSxcbiAgICAgIH19XG4gICAgPlxuICAgICAge25vcm1hbGl6ZUVtYWlsTWFya2Rvd24oYm9keSl9XG4gICAgPC9NYXJrZG93bj5cbiAgKTtcbn07XG5cbi8qKiBQcm9wcyBmb3IgdGhlIGNvbXBsZXRlIFJlYWN0IEVtYWlsIGRvY3VtZW50LiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbWFpbERvY3VtZW50UHJvcHMgZXh0ZW5kcyBFbWFpbEJvZHlQcm9wcyB7XG4gIHN1YmplY3Q/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBWaXNpYmxlIGhlYWRpbmcgaW5zaWRlIHRoZSBlbWFpbCBjYXJkLiBEZWZhdWx0cyB0byB0aGUgdHJhbnNwb3J0IHN1YmplY3QuXG4gICAqIFBhc3MgYSBzaG9ydGVyIGhlYWRpbmcgd2hlbiB0aGUgc3ViamVjdCBjYXJyaWVzIG5vdGlmaWNhdGlvbi1zcGVjaWZpY1xuICAgKiBkZXRhaWxzLCBzdWNoIGFzIGEgb25lLXRpbWUgY29kZS5cbiAgICovXG4gIGhlYWRpbmc/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBlbnZlbG9wZSByb3dzIHJlbmRlcmVkIGFib3ZlIHRoZSBib2R5IChGcm9tIC8gVG8gLyBDYyAvIOKApikuIEtlcHQgZm9yXG4gICAqIGxvY2FsIG91dGJveCBwcmV2aWV3cyB0aGF0IGRlbGliZXJhdGVseSBzaG93IHRoZSB3aXJlIGVudmVsb3BlOyBkZWxpdmVyZWRcbiAgICogU01UUCBtYWlsIGFuZCBicm93c2VyIGFwcHJvdmFsL2NvbXBvc2UgcHJldmlld3MgbGVhdmUgdGhpcyB1bnNldCDigJQgdGhvc2VcbiAgICogc3VyZmFjZXMgcHV0IHJlY2lwaWVudHMgYW5kIGF0dGFjaG1lbnRzIGluIGNsaWVudCBjaHJvbWUgaW5zdGVhZC5cbiAgICovXG4gIGhlYWRlcnM/OiBSZWFkb25seUFycmF5PHJlYWRvbmx5IFtzdHJpbmcsIHN0cmluZ10+O1xuICBmb290ZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEcmF3IHRoZSBjYXJkJ3Mgb3duIGZyYW1lOiByb3VuZGVkIGNvcm5lcnMsIGJvcmRlciwgZHJvcCBzaGFkb3csIGFuZCB0aGVcbiAgICogNjIwcHggcmVhZGluZyB3aWR0aC4gRGVsaXZlcmVkIG1haWwga2VlcHMgaXQsIGJlY2F1c2UgdGhlIGNhcmQgZmxvYXRzIG9uIHRoZVxuICAgKiBjbGllbnQncyBwYWdlIGJhY2tncm91bmQgYW5kIHRoZSBmcmFtZSBpcyB3aGF0IHNlcGFyYXRlcyB0aGUgdHdvLlxuICAgKlxuICAgKiBUdXJuIGl0IG9mZiB3aGVuIHRoZSBjYXJkIGFscmVhZHkgc2l0cyBpbnNpZGUgYSBzdXJmYWNlIHRoYXQgZnJhbWVzIGl0IC0gYVxuICAgKiBicm93c2VyIHByZXZpZXcncyByZWFkaW5nIHBhbmUgLSBzbyB0aGUgdHdvIGZyYW1lcyBkbyBub3QgbmVzdCBpbnRvIGEgcm91bmRlZFxuICAgKiBjYXJkIGluc2lkZSBhIHJvdW5kZWQgY2FyZC5cbiAgICovXG4gIGZyYW1lZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQcmVoZWFkZXIgdGV4dDogdGhlIHNuaXBwZXQgYSBjbGllbnQgc2hvd3MgbmV4dCB0byB0aGUgc3ViamVjdCBpbiBhIGxpc3QsIGFuZFxuICAgKiAtIHRoZSByZWFzb24gdGhpcyBpcyBhIHByb3AgLSB0aGUgdGV4dCBhIG1vYmlsZSBPUyBwdXRzIGluIHRoZSBQVVNIXG4gICAqIE5PVElGSUNBVElPTiBib2R5LlxuICAgKlxuICAgKiBEZWZhdWx0cyB0byB0aGUgc3ViamVjdC4gU2V0IGl0IHdoZW4gdGhlIG5vdGlmaWNhdGlvbiBzaG91bGQgc2F5IHNvbWV0aGluZyB0aGVcbiAgICogc3ViamVjdCBkb2VzIG5vdC4gT25lLXRpbWUtY29kZSBtYWlsIGlzIHRoZSBjYXNlIHRoYXQgbW90aXZhdGVkIGl0OiBpT1MgcmVhZHNcbiAgICogYW4gaW5jb21pbmcgbm90aWZpY2F0aW9uJ3MgdGV4dCB0byBvZmZlciBhbiBhdXRvZmlsbCBjb2RlIChuYXRpdmVseSBmb3IgTWFpbFxuICAgKiBhbmQgTWVzc2FnZXMsIGFuZCBzaW5jZSBpT1MgMjYgZm9yIGFueSBhcHAncyBub3RpZmljYXRpb24sIEdtYWlsIGluY2x1ZGVkKSwgc29cbiAgICogYSBjb2RlIHRoYXQgYXBwZWFycyBvbmx5IGluIHRoZSBCT0RZIGlzIG5ldmVyIHNlZW4gLSB0aGUgbm90aWZpY2F0aW9uIGNhcnJpZXNcbiAgICogdGhlIHN1YmplY3QgYW5kIHRoaXMgc25pcHBldCwgbm90aGluZyBtb3JlLlxuICAgKi9cbiAgcHJldmlldz86IHN0cmluZztcbn1cblxuZnVuY3Rpb24gQnJhbmRNYXJrKHsgdGhlbWUgfTogeyB0aGVtZTogUmVzb2x2ZWRFbWFpbEJyYW5kIH0pOiBSZWFjdC5SZWFjdE5vZGUge1xuICBpZiAodGhlbWUubG9nb1VybCkge1xuICAgIHJldHVybiAoXG4gICAgICA8SW1nXG4gICAgICAgIHNyYz17dGhlbWUubG9nb1VybH1cbiAgICAgICAgYWx0PXt0aGVtZS5uYW1lfVxuICAgICAgICBoZWlnaHQ9XCIzNFwiXG4gICAgICAgIHN0eWxlPXt7IGRpc3BsYXk6IFwiYmxvY2tcIiwgaGVpZ2h0OiBcIjM0cHhcIiwgd2lkdGg6IFwiYXV0b1wiIH19XG4gICAgICAvPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIChcbiAgICA8VGV4dFxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgY29sb3I6IHRoZW1lLm9uQWNjZW50LFxuICAgICAgICBmb250U2l6ZTogXCIyMHB4XCIsXG4gICAgICAgIGZvbnRXZWlnaHQ6IDgwMCxcbiAgICAgICAgbGV0dGVyU3BhY2luZzogXCItMC4zcHhcIixcbiAgICAgICAgbWFyZ2luOiAwLFxuICAgICAgfX1cbiAgICA+XG4gICAgICB7dGhlbWUubmFtZX1cbiAgICA8L1RleHQ+XG4gICk7XG59XG5cbmZ1bmN0aW9uIEVudmVsb3BlSGVhZGVycyh7XG4gIGhlYWRlcnMsXG4gIHRoZW1lLFxufToge1xuICBoZWFkZXJzOiBFbWFpbERvY3VtZW50UHJvcHNbXCJoZWFkZXJzXCJdO1xuICB0aGVtZTogUmVzb2x2ZWRFbWFpbEJyYW5kO1xufSkge1xuICBpZiAoIWhlYWRlcnM/Lmxlbmd0aCkgcmV0dXJuIG51bGw7XG4gIHJldHVybiAoXG4gICAgPFNlY3Rpb25cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUuYmFja2dyb3VuZCxcbiAgICAgICAgYm9yZGVyUmFkaXVzOiBcIjEwcHhcIixcbiAgICAgICAgbWFyZ2luOiBcIjAgMCAyNHB4XCIsXG4gICAgICAgIHBhZGRpbmc6IFwiMTRweCAxNnB4XCIsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHtoZWFkZXJzLm1hcCgoW2xhYmVsLCB2YWx1ZV0pID0+IChcbiAgICAgICAgPFJvdyBrZXk9e2Ake2xhYmVsfToke3ZhbHVlfWB9PlxuICAgICAgICAgIDxDb2x1bW5cbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGNvbG9yOiB0aGVtZS5tdXRlZCxcbiAgICAgICAgICAgICAgZm9udFNpemU6IFwiMTJweFwiLFxuICAgICAgICAgICAgICBmb250V2VpZ2h0OiA3MDAsXG4gICAgICAgICAgICAgIHBhZGRpbmc6IFwiM3B4IDEycHggM3B4IDBcIixcbiAgICAgICAgICAgICAgd2lkdGg6IFwiNzBweFwiLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAgPC9Db2x1bW4+XG4gICAgICAgICAgPENvbHVtbiBzdHlsZT17eyBjb2xvcjogdGhlbWUuZm9yZWdyb3VuZCwgZm9udFNpemU6IFwiMTNweFwiLCBwYWRkaW5nOiBcIjNweCAwXCIgfX0+XG4gICAgICAgICAgICB7dmFsdWV9XG4gICAgICAgICAgPC9Db2x1bW4+XG4gICAgICAgIDwvUm93PlxuICAgICAgKSl9XG4gICAgPC9TZWN0aW9uPlxuICApO1xufVxuXG4vKiogQnJhbmRlZCBtZXNzYWdlIGNhcmQgc2hhcmVkIGJ5IHRoZSBmdWxsIGRvY3VtZW50IGFuZCBicm93c2VyIHByZXZpZXdzLiAqL1xuZXhwb3J0IGNvbnN0IEVtYWlsQ2FyZCA9ICh7XG4gIGJvZHksXG4gIGhlYWRpbmcsXG4gIGhlYWRlcnMsXG4gIHN1YmplY3QsXG4gIGZvb3RlcixcbiAgZnJhbWVkID0gdHJ1ZSxcbiAgYnJhbmQ6IGJyYW5kSW5wdXQsXG59OiBFbWFpbERvY3VtZW50UHJvcHMpID0+IHtcbiAgY29uc3QgdGhlbWUgPSByZXNvbHZlRW1haWxCcmFuZChicmFuZElucHV0KTtcbiAgY29uc3QgdmlzaWJsZUhlYWRpbmcgPSBoZWFkaW5nID8/IHN1YmplY3Q7XG4gIHJldHVybiAoXG4gICAgPENvbnRhaW5lclxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5zdXJmYWNlLFxuICAgICAgICBmb250RmFtaWx5OiB0aGVtZS5mb250RmFtaWx5LFxuICAgICAgICBtYXJnaW46IFwiMCBhdXRvXCIsXG4gICAgICAgIC4uLihmcmFtZWRcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7dGhlbWUuYm9yZGVyfWAsXG4gICAgICAgICAgICAgIGJvcmRlclJhZGl1czogXCIxNnB4XCIsXG4gICAgICAgICAgICAgIGJveFNoYWRvdzogXCIwIDhweCAzMHB4IHJnYmEoMjcsNDksNTcsMC4wOClcIixcbiAgICAgICAgICAgICAgbWF4V2lkdGg6IFwiNjIwcHhcIixcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHsgbWF4V2lkdGg6IFwiMTAwJVwiIH0pLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8U2VjdGlvblxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUuYWNjZW50LFxuICAgICAgICAgIC8vIFRoZSBjb3JuZXJzIGFyZSBzZXQgb24gdGhlIGJhbmQgaXRzZWxmIHJhdGhlciB0aGFuIGNsaXBwZWQgYnkgdGhlXG4gICAgICAgICAgLy8gY29udGFpbmVyOiBSZWFjdCBFbWFpbCByZW5kZXJzIHRoZSBjb250YWluZXIgYXMgYSA8dGFibGU+LCB3aGljaFxuICAgICAgICAgIC8vIGBvdmVyZmxvdzogaGlkZGVuYCBkb2VzIG5vdCByZWxpYWJseSBjbGlwLCBzbyB0aGUgYmFuZCBuZWVkcyBpdHMgb3duXG4gICAgICAgICAgLy8gcm91bmRlZCBjb3JuZXJzIHRvIHN0YXkgaW5zaWRlIHRoZSBjb250YWluZXIgZWRnZS5cbiAgICAgICAgICAuLi4oZnJhbWVkID8geyBib3JkZXJSYWRpdXM6IFwiMTVweCAxNXB4IDAgMFwiIH0gOiB7fSksXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxSb3c+XG4gICAgICAgICAgPENvbHVtbiBzdHlsZT17eyBwYWRkaW5nOiBcIjI2cHggMzZweFwiIH19PlxuICAgICAgICAgICAgPEJyYW5kTWFyayB0aGVtZT17dGhlbWV9IC8+XG4gICAgICAgICAgPC9Db2x1bW4+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9TZWN0aW9uPlxuICAgICAgPFNlY3Rpb24+XG4gICAgICAgIDxSb3c+XG4gICAgICAgICAgPENvbHVtbiBzdHlsZT17eyBwYWRkaW5nOiBcIjM4cHggMzhweCAyOHB4XCIgfX0+XG4gICAgICAgICAgICB7dmlzaWJsZUhlYWRpbmcgPyAoXG4gICAgICAgICAgICAgIDxIZWFkaW5nXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiB0aGVtZS5mb3JlZ3JvdW5kLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMjhweFwiLFxuICAgICAgICAgICAgICAgICAgbGV0dGVyU3BhY2luZzogXCItMC41cHhcIixcbiAgICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IFwiMS4yXCIsXG4gICAgICAgICAgICAgICAgICBtYXJnaW46IFwiMCAwIDI0cHhcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3Zpc2libGVIZWFkaW5nfVxuICAgICAgICAgICAgICA8L0hlYWRpbmc+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxFbnZlbG9wZUhlYWRlcnMgaGVhZGVycz17aGVhZGVyc30gdGhlbWU9e3RoZW1lfSAvPlxuICAgICAgICAgICAgPEVtYWlsQm9keSBib2R5PXtib2R5fSBicmFuZD17dGhlbWV9IC8+XG4gICAgICAgICAgPC9Db2x1bW4+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9TZWN0aW9uPlxuICAgICAgPEhyIHN0eWxlPXt7IGJvcmRlckNvbG9yOiB0aGVtZS5ib3JkZXIsIG1hcmdpbjogMCB9fSAvPlxuICAgICAgPFNlY3Rpb24+XG4gICAgICAgIDxSb3c+XG4gICAgICAgICAgPENvbHVtbiBzdHlsZT17eyBwYWRkaW5nOiBcIjI0cHggMzhweCAzMHB4XCIgfX0+XG4gICAgICAgICAgICA8VGV4dFxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGNvbG9yOiB0aGVtZS5tdXRlZCxcbiAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIxMnB4XCIsXG4gICAgICAgICAgICAgICAgbGluZUhlaWdodDogXCIxLjU1XCIsXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7Zm9vdGVyID8/IHRoZW1lLnRhZ2xpbmV9e1wiIFwifVxuICAgICAgICAgICAgICB7dGhlbWUud2Vic2l0ZSA/IChcbiAgICAgICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICAgICAgaHJlZj17dGhlbWUud2Vic2l0ZX1cbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB0aGVtZS5hY2NlbnQsXG4gICAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3RoZW1lLm5hbWV9XG4gICAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICA8L0NvbHVtbj5cbiAgICAgICAgPC9Sb3c+XG4gICAgICA8L1NlY3Rpb24+XG4gICAgPC9Db250YWluZXI+XG4gICk7XG59O1xuXG4vKiogQ29tcGxldGUgcmVzcG9uc2l2ZSwgYnJhbmRlZCBSZWFjdCBFbWFpbCBkb2N1bWVudC4gKi9cbmV4cG9ydCBjb25zdCBFbWFpbERvY3VtZW50ID0gKHByb3BzOiBFbWFpbERvY3VtZW50UHJvcHMpID0+IHtcbiAgY29uc3QgdGhlbWUgPSByZXNvbHZlRW1haWxCcmFuZChwcm9wcy5icmFuZCk7XG4gIGNvbnN0IHBhZ2VTdHlsZTogUmVhY3QuQ1NTUHJvcGVydGllcyA9IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmJhY2tncm91bmQsXG4gICAgZm9udEZhbWlseTogdGhlbWUuZm9udEZhbWlseSxcbiAgICBtYXJnaW46IDAsXG4gICAgcGFkZGluZzogXCIyOHB4IDEycHhcIixcbiAgfTtcbiAgcmV0dXJuIChcbiAgICA8SHRtbCBsYW5nPVwiZW5cIj5cbiAgICAgIDxIZWFkIC8+XG4gICAgICA8UHJldmlldz57cHJvcHMucHJldmlldyA/PyBwcm9wcy5zdWJqZWN0ID8/IFwiTWVzc2FnZVwifTwvUHJldmlldz5cbiAgICAgIDxCb2R5IHN0eWxlPXtwYWdlU3R5bGV9PlxuICAgICAgICA8RW1haWxDYXJkIHsuLi5wcm9wc30gLz5cbiAgICAgIDwvQm9keT5cbiAgICA8L0h0bWw+XG4gICk7XG59O1xuIl19
|
package/lib/tsconfig.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/template.tsx","../index.ts"],"version":"5.9.3"}
|
|
1
|
+
{"root":["../src/generated/assets.ts","../src/generated/index.ts","../src/template.tsx","../index.ts"],"version":"5.9.3"}
|
package/package.json
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"typescript": "^5.9.3"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@dbx-tools/shared-core": "^0.9.
|
|
26
|
+
"@dbx-tools/shared-core": "^0.9.139",
|
|
27
27
|
"@react-email/components": "^1.0.12",
|
|
28
28
|
"react": "~19.2.4"
|
|
29
29
|
},
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"./package.json": "./package.json"
|
|
50
50
|
}
|
|
51
51
|
},
|
|
52
|
-
"version": "0.9.
|
|
52
|
+
"version": "0.9.139",
|
|
53
53
|
"types": "./lib/index.d.ts",
|
|
54
54
|
"dbxToolsConfig": {
|
|
55
55
|
"tags": [
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// GENERATED by branding/generate-package-assets.mjs - DO NOT EDIT.
|
|
2
|
+
// Regenerated from branding/assets.
|
|
3
|
+
// Hand edits are overwritten during synthesis; this file is read-only.
|
|
4
|
+
/* eslint-disable prettier/prettier */
|
|
5
|
+
|
|
6
|
+
export const dbxToolsEmailAssetDataUrls = {
|
|
7
|
+
logo: "data:image/png;base64,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",
|
|
8
|
+
} as const;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// GENERATED by projen watch - DO NOT EDIT.
|
|
2
|
+
// Regenerated from the exporting modules in ./src.
|
|
3
|
+
// Hand edits are overwritten on the next watch; this file is read-only.
|
|
4
|
+
|
|
5
|
+
export * as assets from "./assets.ts";
|
|
6
|
+
export { dbxToolsEmailAssetDataUrls } from "./assets.ts";
|
package/src/template.tsx
CHANGED
|
@@ -25,6 +25,7 @@ import {
|
|
|
25
25
|
Text,
|
|
26
26
|
} from "@react-email/components";
|
|
27
27
|
import * as React from "react";
|
|
28
|
+
import { dbxToolsEmailAssetDataUrls } from "./generated/assets.ts";
|
|
28
29
|
|
|
29
30
|
/** Email-safe brand values used by the React Email template. */
|
|
30
31
|
export interface EmailBrand {
|
|
@@ -55,10 +56,9 @@ export type ResolvedEmailBrand = Required<
|
|
|
55
56
|
| "foreground"
|
|
56
57
|
| "muted"
|
|
57
58
|
| "border"
|
|
58
|
-
| "tagline"
|
|
59
59
|
>
|
|
60
60
|
> &
|
|
61
|
-
Pick<EmailBrand, "logoUrl" | "website">;
|
|
61
|
+
Pick<EmailBrand, "logoUrl" | "tagline" | "website">;
|
|
62
62
|
|
|
63
63
|
function isRenderableImageUrl(value: string | undefined): value is string {
|
|
64
64
|
return typeof value === "string" && /^(?:https?:|data:|cid:)/i.test(value);
|
|
@@ -77,18 +77,22 @@ export const emailBrandFromContext = (context: BrandContext): EmailBrand => {
|
|
|
77
77
|
foreground: context.colors.foreground,
|
|
78
78
|
muted: context.colors.muted,
|
|
79
79
|
border: context.colors.border,
|
|
80
|
-
tagline: context.tagline,
|
|
80
|
+
...(context.tagline ? { tagline: context.tagline } : {}),
|
|
81
81
|
website: context.links.website,
|
|
82
82
|
...(isRenderableImageUrl(logo) ? { logoUrl: logo } : {}),
|
|
83
83
|
};
|
|
84
84
|
};
|
|
85
85
|
|
|
86
86
|
/** The repository brand used by every email unless explicitly overridden. */
|
|
87
|
-
export const defaultEmailBrand: EmailBrand =
|
|
87
|
+
export const defaultEmailBrand: EmailBrand = {
|
|
88
|
+
...emailBrandFromContext(brandUtils.defaultBrandContext),
|
|
89
|
+
logoUrl: dbxToolsEmailAssetDataUrls.logo,
|
|
90
|
+
};
|
|
88
91
|
|
|
89
92
|
/** Merge a partial consumer brand over the repository default. */
|
|
90
93
|
export const resolveEmailBrand = (input?: EmailBrand): ResolvedEmailBrand => {
|
|
91
94
|
const merged = { ...defaultEmailBrand, ...input };
|
|
95
|
+
const tagline = input === undefined ? defaultEmailBrand.tagline : input.tagline;
|
|
92
96
|
return {
|
|
93
97
|
accent: merged.accent,
|
|
94
98
|
onAccent: merged.onAccent ?? "#ffffff",
|
|
@@ -99,7 +103,7 @@ export const resolveEmailBrand = (input?: EmailBrand): ResolvedEmailBrand => {
|
|
|
99
103
|
foreground: merged.foreground ?? brandUtils.defaultBrandContext.colors.foreground,
|
|
100
104
|
muted: merged.muted ?? brandUtils.defaultBrandContext.colors.muted,
|
|
101
105
|
border: merged.border ?? brandUtils.defaultBrandContext.colors.border,
|
|
102
|
-
tagline
|
|
106
|
+
...(tagline ? { tagline } : {}),
|
|
103
107
|
...(merged.logoUrl ? { logoUrl: merged.logoUrl } : {}),
|
|
104
108
|
...(merged.website ? { website: merged.website } : {}),
|
|
105
109
|
};
|
|
@@ -194,10 +198,9 @@ export const EmailBody = ({ body, brand: brandInput }: EmailBodyProps) => {
|
|
|
194
198
|
export interface EmailDocumentProps extends EmailBodyProps {
|
|
195
199
|
subject?: string;
|
|
196
200
|
/**
|
|
197
|
-
* Visible heading inside the email card.
|
|
198
|
-
*
|
|
199
|
-
*
|
|
200
|
-
* details (one-time-code mail is the motivating case).
|
|
201
|
+
* Visible heading inside the email card. Defaults to the transport subject.
|
|
202
|
+
* Pass a shorter heading when the subject carries notification-specific
|
|
203
|
+
* details, such as a one-time code.
|
|
201
204
|
*/
|
|
202
205
|
heading?: string;
|
|
203
206
|
/**
|
|
@@ -303,11 +306,13 @@ export const EmailCard = ({
|
|
|
303
306
|
body,
|
|
304
307
|
heading,
|
|
305
308
|
headers,
|
|
309
|
+
subject,
|
|
306
310
|
footer,
|
|
307
311
|
framed = true,
|
|
308
312
|
brand: brandInput,
|
|
309
313
|
}: EmailDocumentProps) => {
|
|
310
314
|
const theme = resolveEmailBrand(brandInput);
|
|
315
|
+
const visibleHeading = heading ?? subject;
|
|
311
316
|
return (
|
|
312
317
|
<Container
|
|
313
318
|
style={{
|
|
@@ -343,7 +348,7 @@ export const EmailCard = ({
|
|
|
343
348
|
<Section>
|
|
344
349
|
<Row>
|
|
345
350
|
<Column style={{ padding: "38px 38px 28px" }}>
|
|
346
|
-
{
|
|
351
|
+
{visibleHeading ? (
|
|
347
352
|
<Heading
|
|
348
353
|
style={{
|
|
349
354
|
color: theme.foreground,
|
|
@@ -353,7 +358,7 @@ export const EmailCard = ({
|
|
|
353
358
|
margin: "0 0 24px",
|
|
354
359
|
}}
|
|
355
360
|
>
|
|
356
|
-
{
|
|
361
|
+
{visibleHeading}
|
|
357
362
|
</Heading>
|
|
358
363
|
) : null}
|
|
359
364
|
<EnvelopeHeaders headers={headers} theme={theme} />
|