{"id":13998567,"url":"https://github.com/nberlette/migo","last_synced_at":"2025-10-14T14:09:24.677Z","repository":{"id":49352182,"uuid":"508082494","full_name":"nberlette/migo","owner":"nberlette","description":"Generate dynamic OpenGraph images on Deno's Edge Network","archived":false,"fork":false,"pushed_at":"2025-03-25T15:24:49.000Z","size":183,"stargazers_count":10,"open_issues_count":3,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-28T05:05:26.502Z","etag":null,"topics":["api","cloudflare-kv","deno","deno-deploy","icns","iconify","migo","og-image","opengraph","svg","svg-to-png"],"latest_commit_sha":null,"homepage":"https://migo.deno.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nberlette.png","metadata":{"funding":{"ko_fi":"nberlette"},"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-06-27T22:42:42.000Z","updated_at":"2025-01-02T19:45:23.000Z","dependencies_parsed_at":"2023-02-17T00:00:42.459Z","dependency_job_id":null,"html_url":"https://github.com/nberlette/migo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nberlette%2Fmigo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nberlette%2Fmigo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nberlette%2Fmigo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nberlette%2Fmigo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nberlette","download_url":"https://codeload.github.com/nberlette/migo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248914127,"owners_count":21182360,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","cloudflare-kv","deno","deno-deploy","icns","iconify","migo","og-image","opengraph","svg","svg-to-png"],"created_at":"2024-08-09T19:01:47.174Z","updated_at":"2025-10-14T14:09:19.634Z","avatar_url":"https://github.com/nberlette.png","language":"TypeScript","funding_links":["https://ko-fi.com/nberlette"],"categories":["TypeScript"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003ch1\u003e\u003ca href=\"https://migo.deno.dev\" target=\"_blank\" rel=\"noopener\"\u003e\u003cimg src=\"https://icns.deno.dev/deno.svg?stroke=black\u0026stroke-width=0.5\u0026color=white\u0026stroke-linejoin=round\" height=\"24\" align=\"center\" alt=\"\"\u003e migo\u003c/a\u003e\u003cbr clear=\"all\"\u003e\u003c/h1\u003e\u003c/div\u003e\n\n[![Click here for example OpenGraph Images][example-img-0]](#examples \"Click\nhere for example OpenGraph Images\")\n\n---\n\n\n\u003cbr /\u003e\u003cdiv align=\"center\"\u003e\n\n### _Generate dynamic OpenGraph images on Deno's Edge Network_\n\n\u003cbr /\u003e\n\n[![Deploy with Deno][deploy-btn]][deploy]\n\n\u003c/div\u003e\u003cbr /\u003e\n\n\n## Schema\n\n\u003cpre\u003e\u003ccode\u003emigo.deno.dev/\u003cstrong\u003e:title\u003c/strong\u003e.(png|svg)?\u003cstrong\u003e:params\u003c/strong\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cpre\u003e\u003ccode\u003emigo.deno.dev/\u003cstrong\u003e:title\u003c/strong\u003e/\u003cstrong\u003e:subtitle\u003c/strong\u003e.(png|svg)?\u003cstrong\u003e:params\u003c/strong\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cpre\u003e\u003ccode\u003emigo.deno.dev/\u003cstrong\u003e:params\u003c/strong\u003e/\u003cstrong\u003e:title\u003c/strong\u003e.(png|svg)\u003c/code\u003e\u003c/pre\u003e\n\u003cpre\u003e\u003ccode\u003emigo.deno.dev/\u003cstrong\u003e:params\u003c/strong\u003e/\u003cstrong\u003e:title\u003c/strong\u003e/\u003cstrong\u003e:subtitle\u003c/strong\u003e.(png|svg)\u003c/code\u003e\u003c/pre\u003e\n\n\u003cbr /\u003e\n\n## Features\n\n- [x] Just-in-time rendered, globally deployed via [**Deno Deploy**][deno]\n- [x] Cached as immutable assets via [**Cloudflare**][kv] for fast loads.\n- [x] Rendered as **`.svg`**, rasterized to **`.png`** via [**`resvg`**][resvg]\n- [x] Integrated with 100,000 icons via [**Iconify**][iconify] + [**icns.ml**][icns]\n- [x] [**Parameters**](#parameters) for fine-grained control of image colors,\n  dimensions, icon, and text.\n- [ ] `TODO` create a friendly GUI for image creation ([see vercel][vercel])\n\n\u003cbr /\u003e\n\n## Formats\n\nEvery image is initially sculpted as an SVG ([Scalable Vector Graphics][svg]),\nand you can optionally add the extension **`.svg`** to force that format in\nthe response.\n\nUnfortunately most social media platforms don't support social images in SVG\nformat yet, so requests without an `.{svg,png}` extension are redirected to\n`.png` prior to rendering.\n\n\u003cbr /\u003e\n\n## Icons\n\nIcons are embedded from [**icns**][icns], another Deno-powered project of\nmine.  This means direct access to **over 100,000 icons**, and **millions of\ncolor combinations**. A great tool to browse the available icons and make a\nselection is [**icones**][icones] by [Anthony Fu][antfu].\n\nTo add an icon to an OG image, use the slug (in Iconify format) for the `icon`\nparam, like so:\n\n\u003e `icon={collection}:{icon}` (e.g. `?icon=tabler:brand-github`).\n\nYou can also use an override `iconUrl` parameter, with an encoded URI you'd\nlike to embed, e.g.:\n\n\u003e `icon=https%3A%2F%2Fcdn.jsdelivr.net%2Fgh%2Fremojansen%2Flogo.ts%40master%2Fts.svg`\n\n\u003cbr /\u003e\n\n## Parameters\n\nThere are numerous parameters you can use to control the look and feel of the\ngenerated images. Parameters can be provided in either the first part of the\npath or in the query string of the URL.\n\n\u003cbr /\u003e\n\n### Path (recommended)\n\nFor the best caching potential, I recommend only using the path-style\nparameters on your images. Some CDN providers have unexpected caching behavior\nwhen assets have query string parameters in their URI.\n\n\u003cpre\u003e\u003ccode\u003emigo.deno.dev/\u003cstrong\u003ebgColor=white\u0026titleColor=black\u0026icon=typescript\u003c/strong\u003e/Title.png\u003c/code\u003e\u003c/pre\u003e\n\n\u003e **Note**: Allowed delimiters are `\u0026` (ampersand), `;` (semi-colon), or `::`.\n\n\u003cbr /\u003e\n\n### Query String\n\n\u003cpre\u003e\u003ccode\u003emigo.deno.dev/title.png?\u003cstrong\u003ebgColor=white\u0026titleColor=black\u0026icon=typescript\u003c/strong\u003e\u003c/code\u003e\u003c/pre\u003e\n\n\u003e **Note**: Query string params **must** use the `\u0026` (ampersand) delimiter.\n\n\u003cbr /\u003e\n\n### Default Values\n\nAll available parameters and their default value (or formula used to calculate it):\n\n```jsonc\n// base props\nwidth = 1280, \nheight = 640, \nviewBox = \"0 0 1280 640\", \npxRatio = 1.5, // set to 1 for low-res\nbgColor = \"white\", \nborderRadius = 0, // rounded image corners\n\n// icon\nicon = \"noto:t-rex\", // set to false to disable icon\niconUrl = \"https://icns.ml/{icon}.svg\", \niconW = 240, \niconH = 240, // +iconW\niconX = 520, // ((width - iconW) / 2)\niconY = 60, // (iconH / 4)\niconColor = \"black\", // fill color\niconStroke = \"none\", // stroke color\niconStrokeWidth = 0, // stroke width\n\n// title (first line of text)\ntitleX = 640, // (width / 2)\ntitleY = 450, // (iconH + iconY + (titleFontSize * 2.5))\ntitleFontSize = 64, \ntitleFontFamily = \"sans-serif\", // \"Inter\"\ntitleFontWeight = \"bold\", \ntitleColor = \"#112233\", // text color\ntitleStroke = \"none\", // stroke color\ntitleStrokeWidth = 0, // stroke width\ntitleTextAnchor = \"middle\", // text-anchor\n\n// subtitle (second line of text)\nsubtitleX = 640, // (width / 2)\nsubtitleY = 530, // (titleY + (subtitleFontSize * 2.5))\nsubtitleFontSize = 32, \n// \"serif\" | \"sans-serif\" | \"monospace\"\nsubtitleFontFamily = \"monospace\",\nsubtitleFontWeight = \"normal\", \nsubtitleColor = \"#334455\", // text color\nsubtitleStroke = \"none\", // stroke color\nsubtitleStrokeWidth = 0, // stroke width\nsubtitleTextAnchor = \"middle\" // text-anchor\n```\n\n---\n\n## Performance\n\nThe only lag you might encounter is the very first time an image is requested\n(this is unavoidable due to the render/raster steps). Thankfully, your users\nshould essentially never be the ones encountering that lag time; they get a\ncache hit from their nearest edge datacenter.\n\n---\n\n## Examples\n\n![Deno Module Starter][example-img-4]\n\n![Nuxt Content Wind Starter][example-img-3]\n\n![Creating Dynamic Social Cover Images][example-img-2]\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n[MIT] © [**Nicholas Berlette**][nberlette]\n\n\u003c/div\u003e\n\n[MIT]: https://github.com/nberlette/migo/blob/main/LICENSE\n[nberlette]: https://github.com/nberlette \"Nicholas Berlette\"\n[icns]: https://icns.ml \"icns - SVG as a Service\"\n[antfu]: https://github.com/antfu \"Anthony Fu\"\n[icones]: https://icones.js.org \"Browse every Iconify Collection with Icones\"\n[vercel]: https://og-image.vercel.app \"Vercel's OG Image App\"\n[iconify]: https://iconify.design \"Iconify Project Homepage\"\n[kv]: https://developers.cloudflare.com/workers/runtime-apis/kv \"Cloudflare KV\"\n[svg]: https://w3.org/TR/SVG \"SVG Specification from W3.org\"\n[resvg]: https://deno.land/x/resvg_wasm \"Resvg Wasm\"\n[deno]: https://deno.com/deploy \"Deno Deploy\"\n[deploy]: https://dash.deno.com/new?url=https%3a%2f%2fgithub.com%2fnberlette%2fmigo%2fraw%2fmain%2fmain.tsx \"Deploy with Deno!\"\n[deploy-btn]: data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMzIiIHJvbGU9ImltZyI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIDwhW0NEQVRBWwogICAgICAuc3QwIHsKICAgICAgICBmaWxsOiAjRkZGRkZGCiAgICAgIH0KCiAgICAgIC5zdDEgewogICAgICAgIGZpbGw6ICMwMDAwMDAKICAgICAgfQoKICAgICAgQGZvbnQtZmFjZSB7CiAgICAgICAgZm9udC1mYW1pbHk6ICdFbmNvZGUgU2Fucyc7CiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZm9udC1zdHJldGNoOiAxMDAlOwogICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDsKICAgICAgICBzcmM6IHVybCgnZGF0YTpmb250L3dvZmYyO2Jhc2U2NCxkMDlHTWdBQkFBQUFBRGdBQUE4QUFBQUFnU0FBQURlaUFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBR29Fa0c3eHNISWNZQm1BL1UxUkJWRUFBaFJJUkNBcUJuaFQvVXd1RWRnQUJOZ0lrQTRsYUJDQUZoandISUJ0a2JnWGNHR2ZZT0FEQ3c3blpTSVN3Y1VBUXRGbjIveTJCRXhsQzlhRmJwMTZVVUNLY29LaFJqTFV6eTdLeDJHbGFyUW1nVEgzcXg2YUl1dURHWGFPanQ2RDhmdWV0VC9FWkJjNmxZSC9CZUFMY2s5RXlSQkwwaUhBSm5SVEJNRkRIZ204YllrZG83Sk1rbCtlLzF2N2Z0YnQ3NXI0QWZ3eWhJd0FGeENxVjhzUXVMZ3JMb3dJaUh3dDR6L0g4M083OUdDdHFETWFJOGFrY0VXV0RnWUUyVVRhT2lMUUtzeWlKTWxDWWtZd0tzekZxRk1EL0VHeXpXNXNiRWhaaTkweFFRQkNRS2dzVkE4UW9RTXlhbTlrb1dETnF6bTN2b2wzOXozVit4LzcvcjkvUzc1OVU5T05QL1U4c3FzcHBBbk5EeE1oSnc5RFFIVzYzOG9aQ2I1WXlHem1EL3pkZDd3bFlzZDZIMFdvMk1GcU45VFVCQjd6S2QrQXpPRURjY2NYVWxLbFNWQ25hVkdXYTRoNWVXeFhaQXpmcVcxL1k0dmpjZW1mZ1JYZ1RoYThxRVNEYmhhd2grU1pKWHYzSTluQVd2NHBiV0czOTFnUWcrdi83VTVNTmxQTzNML3IvQmc2SFd1MFZxZFdDYmk1d3lSc0FGcDNtS1NBU3NUQUU3QXVtemU3Vjl2ZW1wdTEvL0Z3UnZEdEpXTklCNTd3WFJvQXpKVSsvdUR1SEdDcTVqSC8vZ3RqOSs3R0hKVUJ4RUlRN0tITkpTZ1JKSlZBSkN4NmxCVWg1TUhTaTZKQVRjRkNBamc0Z1R5R2sxcm1Mc1hNWmNpVVhuVXFWTHQyMU1kZVY2c3BqRTF1YVI3SWhCK1JTcUVxRTQ2akc4TzBlZnR0WE5xOGN1dmVhWE0xZ2dwaFpZMHpqdWlKRlVZZ0U5N2kvZG41czlzT0J1MnB2ajVWRVdxaGcxUDMvR1Nrd2NzQmx3S013c2hBT2hNc1lZczRXWXM4ZTRpZ0FNczBzeUJ5TElFdUVRcGFKaE1TS2c2eVRBa21WQmdzVkNzSkdVR1dFWWdRaHVFaUpVWmRCVGNHMnN0dnpmaGdITmplZENHejlobFJSc09OUG5Ea2YxRzVhRmI4TzFLQWJyOTYwTGk3SzRkNkNnTzhwT2d6SE5sQUZBVmx6QlJEQVlXdEdQa2hQVmQ3endrUWE3OXdFbTdjbmF6QnRrVnpFVzQ2T01MNWdPVzhUWDNVbG5YODRYMDVZaHdXQ1h0cUViN2t4ZTVDbWI0YzNZT3ZlQVFJb1M2Rk96S2dhT0FHUlVZRGNGeDBVeDRIVEI2RkxsR0JqNWxjb0pSUkx5Q3pwWGc4Nkc1clBwMmVSdXZuVk5ZZGR0RzJuaW9iTm80cW5EdTBxblVDcDdlL29xd1VJb0w1TGcwQVJpQTVPQlpBWG9kVDZrK2lCSERSSnkvNTJrWHkzVmorY1JNM3dYUXBUYVU2ekdZWmlGUXFXbGtoODVHVGl6dVZ2QU1RVGE5b0xENHdjVm9aYTBpcFRrbnJwWnpVdEQvVHNRaGpjNlZsU09IZFdCTzRBTXM4VmluV3U4bzQwR293UEU3TngxeVlycXhhTVFrMEE1UW9GZEhVSkE4ZjRRYUlUYWpFemM0d0p0R0YyZjRHWVNJNkpSRFlKaFFDYlF2VWhQYnp1SXFQRklRcnh3dlZzR2taYUphZTJRUW55c0pjKzBWSXRYMlFnSGJybVJWV0cwbHIzdzc3QldzUVBhVitIaHBHRFYrc3p2YlRXWjhsanp5MFIyRGpQYTVsd0VMaGwvTmNERWJRRWJCTTBoMEtUL2tCVHI1R29WQkNyRU9XVzZFK2ZPbG05NXRCeEQ0SENlb0J3eVZZMGxWQlpRTjVvWENmVFI4eDZoVFVlY1FpVTNNQXlUTWliS29VUlZzNWs2SUY1NWg5K285SGQ1WGV2K3BxSnEwVkRHOURoMm4vT3FUUzhaMHBRcTh4QWE1enlNalhIak05QXZoMHNPS1dwMnd0Z2FOaTQ4MzZiMm5vTEZTK3FYMUV2cGFERkgxM3BEclhEVFhzNE10MUQwTWQ2WlNyTjNFbFB0NVFtUFh6ZmxzQ2l1T0VDQTVDQjFpRU8xQXhrWmlUNGFHYW1vcEhjMHp6dk5qNHpQR3h1eTZicGw5ZkVWbWk5bktyRXdSdE9OZ0xjN1QxRjdWdlVrMVFYQ2xSbVFSWkljNG9Ucm9oNytPZUJBZkRhMGlBMi9wdi8yQlFIalFHc3RGZGRFTVhxSXhmaTZnYUpRTHZaUjdZOGlaYkFMZWlESWFrTmxydnpIbVJad0Y1aUszY0JOOStReE5wTU9laWVBS29jVTg0T0cxSitRNjIzbnpkbnh5OTAydWptMjhSeEdxbnpxNHhkUENQZkFmUUR3bEV4YmVyL1VBRFFCM0NEU05YYXdka0NVUTdOa1FLYlhOR0dZTHJZaHdTczRQYS9DRm5LaS9hUVNMMEVaZUtmcGVKTnczT2VuSi9CakxGRkY2aFRYYis4bkZtTG9aV3NMeWkxdXlnQVRrMTFUUFJNK1Z0c1JaZUhGaUJhQnkvTndESUlTUnZLTzRGQkRPVDZnQnNGU0FMdWQ0YkRaaE1BNllNRjdPQnpaeTFLUDFVUkt1WHJMTTNEcXhVSmFRZlByQ1V3aTJud21IU2UzSkdFWGhCdnByUitERmlJWmVQY1U2T2hDU3l6aHBacGJzazVLNnFQRmcyY2VodWFyZFNtQ29EeE5Tby9QOGdFWUxKd1oza2ZiZVJYY3o5YzhtWmFvV3NIa2w2NkNzVFhRWGZGRjlUWXVZZ1VCMUV3ZHhpc3ZBZHhIREl1T3ViaEhBcnRGZk8rTDdkeG5nZERCc0I0bER2bmNjYmRqZW42VkxYd2RaNE8rZHhYOEVmNWdibnVrS0VvK0REL01nTTNPOGFjYnRBT3I1dFJadjE2VHNFRTFBVEl0K0Y4MnU0Y3ZoeHFDQ3lQZXNQcEJvOExBOTNWOUIvZCtmZFNjeXlGNnNGNjBWelZYZDV6cDNLUTIwMmxtS1dxdklHQmtIczlaRVdNTm9YZFdJRkx0azlUNTdTSXVwbVVjeVVoUFgyaE1ZZ2V0TGlzME9KZ0VBTkNuMjBLekNuVnpobUpWK2hzWTJnaEJEUGpsTXF0N054VzZDRzNML1NDQUVFOEJqcHZzRmUvSWlPdVY1TG1lZ1NhNGtxUnU5VVFKQ090RlNadDdwSEFObGVzMm9Pa1NrempwdEpKMElkV3FLY052UjB5UDV1ckYvU3F5TGU2RVB2Qk0zWm5uWTBzajZSMmFaODZCV2oxczRqM1BOVTlXenl5TVBSZUswS3RyeXdLSnZuS1I2SFhmZTlSUmRxb3FZKzBYRkNKc2NCZlROeFhKMHBXYnhzNGNhY3VVNHpjaDN6UXRxQ3FTNXkzOWptL2xqcHVsK2RBeFE2MmxVSEhUSEdRYit3QWcvU3dhS0xaeFdoYVlYY1g2azA4YkhYakUrUjU0L3dpc25KQ1BMVnZUTTlJZ25DcjQwenBqUlFNS2NWWjZkS3BOcjdGQUdMY1BqQmtYQTBhU2RRd21BZE1pZWtUdzMydjRaVWxWSVJqSXpZNjI5VXNaVFFGcm1veitWZGcwUW5SZUp4cHQ1MmQvU2UrazUwSXpHRTBkaTd1Z0VmK0ZwelRBQUNvMW1abDRQdm1xQXFFSlIzbkxYZ1EzRFhvbDZNYm9Cd0FoUnM2aEVKNHk1eU1JVjVTZkxXZ2RqSUVQbENSR2VteTRrYkxoOUVDMitZTUprNnFwTzVnZXBpamxQVjhwUlZTN0I1eXIxQ24yTlRwMWs1dWZmYVFrQ293cGlFWlNxM3FJKzBDR3FLc2tjTDlmYUNoQ2I5MlVGOGJ3aWdYTFlKUUpTZkI4MW53MzBmb2t6NVJMcEc2OUM3c2hnWmkyOXd4MDFyMk9ZYU1jbDM1ZkJVbzdUVDhVb0sxYnR4T0xDcHlXeDBZMHQ3V2traUpjVkRxRGFONEpTM3VZMmpESEhOT0pqZXVvVndtaXpzYjdUell5TFpwbCtEZTJndGNnZUR1Tzg1WUI3T0J3RFgvT3o5T1BiM1c5a0VtZ1RhSzNUQkVFeWF6TjlsK2ZrdWd1YlluY21OWmpZWjdZVGtvREI3MDZkVlQ4MXpHSUVDWTd3aFR5MUVxc3BQRWc2S3NMT2p0bmNxQU1GT0lOc2V5Mm1SS2hlb1AxMzQ4U0s5d2dXRHduNlY5QmpFa1pNZWVBMStCWmx0aXBWVldXeU5NdUFoUm9vbWt5MUNnV28xNlRacTFhTld1MnkxMzNIUGZBdzg5MGtPaVY1OStBd1lOR1RaaTFKaXY0VUhqZFNUR3NSbzVVV1hyYVR6cUlPOHFOYk02cktrS202cFpValVrSlcrZzE1SS96YVRHOC9ETjUyRUJrWVVLckNtVkZnaWZXSGo5SkNPMGt1THJyeTFraStxYkJHV0pnQ1NPSWpScElRcWtxWUxnUE9xb21lV3doZ0xEb2NJd3dJRUFFbWdnQTNTSldTRXM0SFpWdDVwT1NlaUNIdWlEQVJpQ0VSaURXVmRoRGJLckx2YVNZNDF5NnVwYlBMK2kvQ0VBQW1FYVRJY1pNQk5td1J3cHFIakJNQTlDN0VVV1dLSXNGTEJVV2xuVUtsZ05heUFNd2lFQ0lpR21hMXJ4MG92SXlNOHNpYXhxa3UzbDU5WUhlZlZhZmxtN29BWVYxZy9WVmFPR29KNWQzbU0zMWdQTmRkWkMrYTJWb0oydjdsWmJiSm5iZ0x2U3ZRTDM0UUU4bEI3Vm9oNlFTTDNGNjROK0dNZ2ZMR1NvcUdHRkVYdTBzREd3bDViL2xXOFVTaEl1YnFGY3o4SlRSYXFYQmFQTzJTSkZ2dkhnSERmSDRTVll3TWVBMStDSFYyWTBEQmVpQW14dEVSVkxoRnBnbVNJTFZhdVZxMTZqQXMxYWxXalhybHluVGhWcVpwVjlyVWUyNnpGbW41ZjNuOGVUWG52bmxLLytPVWRLcWlFS1VkQVlUamlhd2cxWGMxVEMwd0pCNGFFZEpCbUtPQUJ0QzRtaURXR0FpRHBVTUFxR2o3YWd5d0RZRlk4KzFnR1VSRU9xajIwRXdTUTZuUElPSkJ4OXBDa0NobVF1RDB5bXdaNEk3U3JGaWRQSkpsaFN3dzF0RUNEWGFVK3VxeU41Q0Vuek9pQVFkaFNaTTJORmlhSWoyeENjYjJrTHRoRFlnRzdYR05nQmRLNEgwVlZiQm1IQVpHWXdGWkJXcDJHWUFNSEFWdU5kcjhWaHpRRkEzQUU3S292USt2cURBYWd6WU5iK1RQVGloSWpnYTBEYXhXc0dDRHRKU3gxV3Bva0ZVQkVGZUk5TEN5Snp2d21ZcEFoRFNDUUNoNTRIOVlFQlRLNEpTNU1BU1dPS2FHT0RiS2NGMmE2V1NBaEI2VG9abkNGenB2VG93cG5RWWVESU5nUlh0YlJhMDBndlFNbTNGZFpGKzA5MHl5dkFsTDlOODZsdFRCM0JFTmlBMWJpbFFzTzM3VDR1WjBJcjBKOWZNSmxvdDhOS3pHai9uRm1ZanBlLzY5WG9WOTJ5ZmkzRS9KK0JoNEFOTjYxZkV3ZkpCbWZtNWQraVhMc0pTbTlMS2RoMkYvNVE3Q0VuVHJ4VStjcWR0RXVWa3k1cTB1UXFzVnJnSmZoeHg4eW5vT05NbWk4RkQ4K2ZPNE9DcDBEUWdFNEdIUU1JREFnRUJDQklJTmhBeUVKQW5FVUFjUm9OYUM2NmZoRzlld3BHd20xVG5KenBNa0RtQkxXT0hTRFdvS3FnT3Qyb1BxYVZ4OVkxNHdLUlJQR2NiNEdhQWFKbWZCT1ltWENnaFlRM1JBZUFnSDRwdXNjQ3U3TkJqQkl3QUIwd1NwcmdJaVdvVDcvOGVTOENlSHJHR2pRaXZRSVZnV0liMlptVG0yS3djSmpLbENWYmpseDU4aFVvVkxRUUUydlZzYmFPUDFway9XUDYwaXV2dmZIV08xOTlNK203SDM3NjViYy8vdnJuUDZtcDhLSVdkWmpuVEJVclVhcE11UXFWdHRwbXU2dXV1YTdURFRkMWVXemNoUGMrK09pVHo3NEVVQkNHY0VRZ0V0R1FES0lqQm1JaUZtSWpXYVFSelFnZ1NERGtPdVFHcEFzaWhpRE5FQ1FVMGdGQk5DRXRFS1FkQnNsVUJBUnlIZ2JaNFNEUUlGVk9BWTJNWXR1Qk4zVmhldXd4UmVNbWNMejNCVGVBTmdHMWFFVEFDSWFwcmQ0cjZqQTFheWJuTENiZms1NHJIcEljTDVseG1VM3Q4dkxDVTUyVE5wYTZCT0V1MzVEV3VVZ0tMTzFzSmpockNFRUZUN0I1aUg0cWswZ3dyUnJWd05QSlc5UmVaZDBLLzdjR2V3ZzNYanhPT210T0FGd0ZPNittczZVbkEyejRWcU5UMEJPQWNmQWtCblljenNmU1ljQ3FQZHIxU3IzMzJxaDRCSkI3cjRxUFFnakFvQUJCc0ZnSkF3TEl3WmtFYUVBSFZzR2gvZFU3MGRLQncxRUlHc0FtaEp5a200cFY1clcyMXRXRzJzaU9ER29qYWhXbFJna29IY3FBc3FHY0tWOHFuanF2cmFPOVZYdTdEa2RIZVdvS1lCTVVTODRPeHlwelc2dmt5cTBvVlVyai9saFRUbGUzY1RJQW5BMm9uUURMYTZVOEtYZml5Y1RnUkJzQXZ6dzdVVDd4Y3VMb1JOUkU0SVRiK09SNDJualoySnV4VVVBQUJ3UG5Hd0Y1TnZ1OFBZRjVORHQ4clA3cXNsRnRYcHVLb2pIZHhGcDlVK09lYXUxcTFmbnRwMThhb3dCaFlHS1RvNFJMbVFwMUdqUnBvZWd3WWNhY0JTSExMZFgvSFRweWRrZUh1LzU3RkZPdWZQa0pNTTFzY3dRSnRzZ1NvWlpaYnFVb01XTEZXV2U5ZUZ1SUpFaDJLMnB1Kyt1cEJpKzk5Y3E3cUVjcEp1RktOK2lmKzFHT1pYaitPT05zekVqRDBSd3JwMlVZY3RFRmx6UWhZWEF5Q0RSMExCenlGQ2hTdzZPS1Q1WTJBN3IwR05IM1hZajUrL2o2QmJ0bFl6RmgrSEJjUkNROWlrb1Rjbmw4Y21LcU9GbVM4dnRKbnBkZlVDUXJkcEhDaFlxV2ZnTjY5T29qZ2FCS2tnY1NaMEM3QytRcXNPbzZnQjErQnhnWGdQWVh3SUFWb09jZVNDMlJsa3F2NmJ0Mm5rTHdPTFF2NURId1QyMjVXNVRmUkhyVnZkT2lISmNqTjhibnRFdlROeFc0RU5YNWpMQ0NLRXluNzFwaUlwdk82M3NlY3BhMElDb29TYUd0YllpQ0orMUowK1BBam1lTlFvRmpNUk9sTFZJZFdGdklGc3ZyODRraDA3V0dOTWpFNFRJSHQrTllydDZLdVRjTDl3VkRWNUZnTXBPY1dUUG1XeWFMOUt6NlFvMXBDbU95cFZrV2d6N055elYxVzU5dDJkcS9ScDJpV3V1M1N0TldMcHRadEkxNVU0eFpGbHRxczNuR2RPVEhtRGE5T0QweGkraXBMNnVRWGk5S1l1VVJOaHJUWlN5WkpWMy9TT2E4dVd0VWFkNG1kVmN5R1k3dDNJVGFaNjE2Nk5YcWp0VmtTNklvYTNlWXVZZG16V1NRekx6NHJMTW1mVlhIMVd1cldJUWgvM3JuTVViNmhLV3RoVDcveU95MWhOYlB1b0UyQ1BNVW9iSENscXJHN0F4Wm5kNHo2K2E4MVRwRjE4NmJLeFQ4bWZOTnRuaUpOY3N0V1ZKVWl3eVdybHJtR2pkNVptYXc2Y2ZMYjlhTXF4MzJ4S2lnUm02U0llM0FTYnBFVFJ3WEkzdjdVUHQwNjJEcnlxbm9jSFN5ZVlDRW52Q1U0c0EzWFlzNUdsZ1VsRk1iak1TRUZFMjQydUdSWStJclZmMnBDNEFPVGFkSjRtOXYrTU1CRVprWDFKKzNWSEZFL1lLU1RoNlpRRGIvR1kvQnlLMTBCdkJvK2ZDaXlyQzMzMmc1a2lyQ2txOUhEVTNvSVkraDJ3WkR6Um9IM0pQMGRxODllU0pQNUMzMkgzY2tZcGxGOTZTYmJDZGNNcGhsazRvM2V1dkhTT3FqZmw3cDNuMjZzemdwZnRxOUZ3bEkzUHlPOE05RXpGTlZ6NkZBYklONnRXT3BJbzFuejlRbVU2b2JDa3lHWHBqYkNKV0dXYTdTc0hGNzRjdTg4MFlCYVRVY1Y4cEIxU3B2eTlXR0haM2N3dDRZWnhPOFJia3JDRExKdjdrbTFBd2dZTHl1WDZhNXV1NjFuRVNvc3ZWa0hBeCt6R3pUM1h2aFN1OW5iM3kvQ0wya2g5LzhvdXFENVhuSEYwY3NlbVh2NnJwZDN6aTRmbXRZQWkyNTJqNXFBajNKang3VTN6MWxabDRPQlQzc1hLUTFGNWZhWHB0YTd0MzB2aDlSMDJucWtwdm1PcmZGeHo0akZITXRMRUU4ejRhd3c0akM3M2ZyOXFqUzNzdjVMTVlkYlBWVnVtQzR4ek1rSFNlRDAyUHhrRERRM01GVG1VRjdoTlRBbDk0TUpWQnZJbmVtR21vMFJPbUhCREg2N1h3ajFUN25vQU54dXFwRlpaempLSHpaN3ZIWEJJYWhHRnRiWWNyakg5ZTFlRmg2azBLSGJNTDFSbTZXUitXYkhCOEhrSm4vcTF4N3BKNXdPYldDcllQVlM1RzYrMVo0OFdmQkNDRmpETlppQ0E1SS9qRzRraVFQUFE2ZmxCK1B2ZmxSQVMycjV0QzQ5SmoyTVh0a0twQWFQbXB6RXRTMDJ4RTFzWlVpd2NESnBFOWVxeWRsb3c1MVpYMTVWMHRtalZ3NjltM3cwZ3VZbk9hY1pTVW83ZzR1YnRHUzdIUE80VDdmbm1kOXFsT0gxa1lmY2l6d2NxMXJma0M2amdUUEdWTVI1TkpuZEZwTG5JZW4weU40eFZzMm1UcFRJalhBREVrN0RsZEc3SkE2VkYvVVFDd0NWWjl6QWdxTmhLbjhGMmo0KzhWUzU2bXl2Z2dFWHFpR21lYThLSjlLVVI4SEJ0QUdwSWJHd0g4N3ZBNHZRcUhpeEloQnNuV1AvUXFwUVRlVjNybUJ0OXREZ1lOdXF4ajVqZDBHQmdQZlJWV1dERDR3MEw0Sm1oRGR3SGNkWWY5OW5NRHZNaDhqOHF5SjZ3NWRwVU1yak5LaHR6aHRsSDY3QTlpd0dvdEdVME9kdk84dG9ldlZuWUZGSmpnNHdSTmVOQzdoUFJJanMzM25zeEtnb0hpVERRUDVnT3BHU2VOckpoaCtqK2QyeDFBVy8rKzBFYkxqSkh3Ykd3TkVrWmJEdmdQb01YVHM0bTdWZExkWWNxRlFVNzEreEl1TkJKYzRYcmpsaEFmalNibENNS21KaWR4eHp5YW41YnM3VGJvejJraS9ZeTJnVFlBb1RKM0NiN2hqazNod0ROWnZjdlF3L0p6eC91SHRNZzRrL3c2SGkvbEM1V0lkKzBtdW93a3VOZ2dGUHF2RGlpR25QRThIbTA3bk9Ybm9BOFo4SHlOcXJqT2hIaU5NeE9sUG91YVhWVFlXUW9sSzdOZ0s3K0pNMDl1eEJ6K2k2SDNwaW9zR21oQ0hsVFlwMkxFTjM0RlJDc05kdEEvZWY2RlFpVWNuZ3ZKb0xiVld1Tk5FUVdMZG96dFJKTlR1SE5HZEtIclZ1cURZSGRKWXBhdWMrY1c3ZElKZWlWaFArVEMyUmc4d0xna2NZck1hMVMzRkJ5bnFlWTVvNC8xS050Zkp3TnNRSTFZWkJGcmNBWE81UmszbUN0ZDFQTThScis5N1pESGdJWUV6WkErWWd1SmJZYWtvcEFBdkZxYVVLSnArV0VBSFpmb3Bsd09VTkhTZkw0TGl3UkdmNStCVEpzY0ExTGhiSGpXVGlIckNvNjdMa1hWdXRrYTFOM0V0RmxzS0RXT3FpR2d1VVliblVXbGF2NHhoZ3c4aklzWkwzS0VvSEcybUlrelFFaDNLdVB4Tm1Fa2d5eUdQOWtvQkx0b1RsQUFKMnFxQUlzdGxlVUhmWW44MW9ITEZENnBVS1l0ZTZ2azBLWm5Fdk5OMjhwUkxpWXM2aW9YZUhZOHhqcWZvNzZCYUN5NWM4RThTcFoyOGIyUXlHOERkVXl6QjV3ejlpcGE0cTkrY2JZTTU3NmV0aUY0ZjVPb1RQYytEVmZQYVNGYTBCdzhTdEhVcG1naHBTUFozNFdwVCtOYWxJckRYMFpicndwQnlQbU54STYraG5xZWNEbHF1aGpZRVhtUElIMnk0QTRQTzBMbDdvRFc0ZTdFaE9ocmwvVXJ3TnR6Q0JFU0tBbTdnVFYwd29OOXY1N3Q2dXRnRmxPSTdlNlQ1RDBNbThoYVdXQzJpRm05VDA1UG1rZ1J6T3Jxb1p5YU9WbnZSUEJuYVZIb2hyMDJOSFJJRjhaRWF2NjQrQ29oYnpIVGI2YWZndWpMZzNiL3JETW5YNy9tRENza05kNU1mMThjS0hESnFaSnA4RFN2NFhOMVNWK242dnlrVnN6RmsvdU5mZlVucXBXcTRhOEJNY2gwZW83Uk9HeUh2elpyNitjK1Exc2c5aGJwRzZ3NEFaM2dyVzkzdnovOW5COTUzNlp1MHpyRHl4RG4wandhQTlkVW1tN1VWM3V5czN0UHdkbXk0OU1LMFFCVE8rTTl0cVpmaytXN2RZM285cWZHelBEbkJURnlpZFJxS2hqWm9zcTZFa1NWemVKdThQVTFSTjNRalppV2k1WUdRWXlWb1VIL04wL2VZZlJEZmRleU9zVFhpWkt4WVR5OERqc3ZLUy9pblc4TkJJcmRLRlJGUVdZaDZlTldSbnZDR1gvWTl2RjdzOW5xM3ZUbi9VQjBYZVdPZWNLQk1vQWszNXhIR1dmcTlrT0NjQ1MxbmxaZUJuZVllV0krY2tvOVE3SDNjT1pkZHZiQXZJQnNWYm4wOW5RWklUMjdjLzR0aEtFU1ZCU21Jc3lDLzlFbTNadTNYUVZwMW9QRHluQ1N2ek43Ry9ySm1HcEc2NnltTUVxLzR6aGhLamtmcStBUFRwcWZ1Y2RKajNrWjZBVlByZzF1V1VsMmlxWlNpVUdsUzNtWGhmR05VdlA5cGRIS3JFeTd1dEFnM0UxNFNMaVl2b1M3UmxGdGRsOTd2c1kvUkx2bDJqaTF0TGdFMVEzVEduaXk5ajBBZS9mYVFVcmN1L1hOY1dMemN3TWUwVkNlbFFsQWEyTXptVUJwbFpFeTJ3ejUvZk9Ka0NGTVIyekJUZVFvM2FWL2FIUkNSeGFtYkxMZ3liYlB1dEpyQ2pOM2dDMkNhblp6amE0bFd0K2l6TEt6NkRmOGdqQW8vUm9YM3dsaFRyL0kyLzlzekZQOXZKSzZLMVcvS1F4NGptODRpZ1FHN2luYW42SGp2Z3ozSHYyM210T2dTU2lyemF2YXUwU1FqVDVjdi82QkkrUGYrM1MzUzk2SmFueXlkUU1udWxYdGdaMjNyVE92SVdaRjVSd0VwYnJuMFpjYlhTLzYyWTB2M2x5NnU3UHFhVjREaytUV3ZYRndCQjlaKzRqaTZUTjNOK0RCNTZ1LzR4K0ZzK0RHKzhTQ1V0dko3ZnRiLzNiM2t2OS9rallSU3ZVQUJKK1BxMVdWeXgvYkwyNUxOZzV0N2RjL2VQWVA5a1NJWEE2VEdISXJIOEtMR2JJOFhhdTZ1Skh2ZmlyMEdlajYvN0E4K3A3NHh0cTgxem1mYVQ2dnY5RCtuUld5bDI1Zmg2Q3QveWtwQnNiZjhsVEpsdGJ1QmxBOWE4UEFUVnQzaDZLRHlIWFRBbW5EVDdLYjRhVUh3QkhwT2EzU1VxVU8vTVMxSHo1M1hHaHRsa003UXBzNHVWMi9tU1Q0OUhveUV0dnlxcXMxYzZhY2U2S2o4WWdzUWpCRFhyNDhZcmo4VHUvSWNJUHE3RHFPTFVYdlFuUzRZLzRkOTJDQlM5OUpXeHVOTExJL0kzYkY3Rmk4SEorN0t5VVFrN2JhNzhLRnc4MzkzN29yK3Zvbi84V3RweWVFWFRFMmkwVVZ1dG5mQTczb3gzNzFoUXQ2dVp5T1hreDUzbnFvOWNYYnlTa2p5dnA4amx3VUVVLzR0eVdqNHFuMU81djdwRmo1N01aYjgreTFkSC9waHcra0E2dllqY2pQdHpGTXliMUZ2akdVNWR1NmMxc2dZUSs5RDRmVDk1NjlaWTNjcExVeHhmdTcwVGo5WEwrcm5Bbm1ISW9BYSt3MTc0Yk5hV0xzZXc4UDU4ZXRkNWRjaGtpdU93dDJQUTg3OXMvWVZxSHY0ODRQTzBwMFNac1ZVU0IwaFhkZkl3Rlo3RGd4QkV5OEpoS2pWZTdYcWxZWXVGOFpLbGFtcWpHNkhHT1BUM21ldmFHNGlYbkhqNW93SjhGV0tzZGFZVnpZUVNKSlJFck5raCt4ampKdHRWM1A0WTlsTlZlZCtUWU92WUkvUzg4dFY2KzhCcVFSM29KZi9WeFh0dlZNb0diMi8ySHJ5NU1Kbm40OCtiTHFqb3YycEFuU0szQnJYN01ueVFsMk9lMlRWNEpiWjVOWmpub1Brb0tsVS80VzNMdkV4VVVwdThIdTJZTnFRRUdqeTNoZk0xZEdsdzM5dGYyNzBpUTJnZjdJL2c5RnY1WWVhZkw3KzhYazQ0K1BSWVBLbDZiQjlTc09IQzIzZW01c1A3VFFON29QUGdWdWh6NjgzU3pYWDlNRnYyVlRyTlhETWFIUjEvRWpIUlUwL0ZHSU9yNEFobGZvUjBTeDJnaUFlVytubnZyWFVLVTNsSWdvYlFsQk50V1NUSlJONnp5WGF5clhoWXd2N0ZRWTIzdW9JTUJzTFgvbGFIditYZUtJdS9LZU9vcnI2MDhWcGYxMXoyODYxTFc0Sm5KUkYwbWlaa1NHYXc0eEdzbnFJV0JyV0FDZkR0RXhFT3l3d2FlZkdFVEtuSVRGSjBIbUdNL1JmOVE4eFVSN3ViSDkyRWw5RTZ5RmhSQkhaMGFxYmkycjlSdU5EMG9wYzRzTUd6ZjkxRTJVeVpVSnJPY1dJWCttWkF0K2hzWnRtYkRPd1YvZ29uVVcvRUpNS1RtZm1mOXVwYjJXcnA1bGQrT3hCai85a0daNkZML2M3M3FZVGJRQnNtT2FOYXNzZm5UZlNmMzVUWGtMTERXZk8wMUlOckJOSHFMU1psbmJ5WEJzMXd6OFBGZ21mdTllb0F2WnhFaTdGYnZuMnh2VU03RS8xQ1ZmdVhqM1dOdENDVmd3VUJuOTdxVzZMK1BMQXp3N3ZFK2lZWGxnNitiRGJiNm9zQWpqRHVoOFhpdjY4M3JubHg2UDQwb1JwUm1BYTdZQmVVdE4zVzZNNXEvNk5uWFB5M1dGRmhsUFhmU1Y3SUdPN2hsZEV4ODIzOStNV2l5azhYZ2tadTlEVGh5OWdvMS9kVEVyOGJsZW9sSUJOc0dNL3loUCs3RzViOStlOWxJb2pGMHJEL3I2Q05xakxWVFlIYWpJajZmUWNZcWhMYjUraUhpRldoRFhDS2I5bFdZZ09HSGg4TFcvRjhjMkV3NDdVUFg1SGY3dEhsUlptbE43bCsvWE5QcHFGZHpmbVZKdlFqWThLek5TbTVEbDF5M3lpL3E4ZW9qanZkSWI4NjZzNjF2WklkSVZCa3JIM2U4N2VIOWR6Y0JWK3g1dDFvdldFcDVaTzN1LzIxNVRpUUJtZ0JXM25zOEs4dFJIaWxHRjY3RUxueGUzR3pOd2trYWZZTkRZUVpRWmFzTnVlRUwxZEVJcm1ValUyR3dYZDI4MlozbzlpdWlGVzY5Rmc5RzY3U2RBNnpYdmwwZHpEdWVLSGVoU1pFWlQ5NWo0OTVFc01EdzZHU1VoT08yakJMdTVYR2JqNmpCTGlSQjAwN2x6NzFxMm16R1F4eDBWb3pneitYZ1d5UU5JR3J2RklBZTZqc0orZXZNbUtUVDd0SVZqc3ZDQlZxOURBdzJ1ZUtFNVgwK1BlbTk5dXpNeE9UblFYbThVRmVwaURZRmpYSTFYQ0g5Yzd0L3hVYTJlUEVGUzdmazMwZXpCaG01WlhUTjZTN2UzSExVRG5XUXVwUG5haGhBS2M1U2VEQ0pnYlJTelZ0ck9iSEl1OWlaMlM5c0N5OTFxQml0UENhbkpJOTRuc3ZEc1FVa3JCei9jeGpCWGszcUNkUXRRdXJ2WFFQQm0vME1jMFZsSDYwTHVpVWNBTDFucFBKZnJqZW1mOFQ5Mkt5bzdycFZGL3RXMW0vSFU3TlYvTExTSmpiUlBvSE91T3ZqWkZsTURseWRWM2hldis3S0pXMG43cUtBbTJaZFNzMjZHb0I0bGxtSk1Fam13QTh0ZUtZYUgrdjc0b2NlR2xhTkczWFo2TlhNYmExa3hRRmhkUGhVdE9CQXRYRWJCNWlnbDEyRGREcC84eVdlWTdpT0w4d0pyNnhrTWdub212UERqYk9naSs0eWZzL1FrVmtNdFFwNEdWclFYb0Izc2tiZk9pNkgrODNXTjVraitTSXZoTXd5NUEydlQ5WjJubzhhWnJkbWZsTy9tMldaYUpHTU1kelFTTVAySk1Sb3d6alFlTldiVUZYQm9XaDJkQ2hpeDdMV3U2aTl0ZXJiOG1GMENXeHJGR2xRZjhVZ3RjdlVrZWdXRWtodEVRcWh2VjFGclYvMllabkszaDlHRVlDVDd1SVlHbTZsaVZLTGswTEY3OE4xY1BxcWFucU8zWjhnVGN4bytqaU83VDQ3b28yYzF0YUZIK01JdTVjQVM3N1ZWWC9jc3ZwZWRibjZhazNUdnJCSkdmZVU4aUxhTUtYWDFJSG9IaEpMclJNS3Jic3JHbHF2Lzlzdi9hekR4cUhuaEJsOCt0ZGo3WGJWeUlxSlpLTWl3M1NQTk5zWG9HdWtkbkg4L0NDeU9wbWhhMzBIRmx1eVVqUnh6am5tZ1dFK2h1Y2R2em9xRmMzd3MvalFjSHpmeXh6N2xyR29TY3R0dG05bGl3RHFiQVhwT3ZyWUpBdUZVL1FDS3FZQWZXcWk3QWVGaTdBQy91VklTODNRbDY1dTNGblJYSXJ6bDFxcTRteHozMWR1VzkwTHEzNWFxbFBjaDJZTE9oMlNBTTZ4bXdTL3N6ckZGeGZkNHhMUENvdGY4RmF4WXg2NXg4VXNUTmdoQjJRM2REcm1xOFp0M3dneEk4NHcxSHBETVhqdzZuNDJrK3lZNFpHVmozcUdSTFZrQ1YwZDJkWHp0aEVUVkh3ems5VmRZVGhpTDlFdzJCNERYNzZ2akVzeGZqSTFldmpvMDkyeDEydFRtc3NpZENISFN3TnIvZ1lJMDRJQ0lpT1NCWUJmbDVnK1FnVUE3VmZOdWZTWWRBS3Vud0hkZCsxMDhNcXIvTW95dkpyVkw2cDdHSldmL0wwNU4zL3k0Q2FZQjBuWWxlOXJsWmJkTUV5SHZnS0ord0k4WndXdTJMUW1xN0ZFTkNMU29TdWJxVWIxWm02UFpKZXI1bnRuRnYwaXhiSnJ2VGRIZ05WRUdUVGlLNTVsTjg4MU1XZ3ZXbHB0cXl5YVlUcDZjTE40ODFsQlgwRmc1d3A1QjA1TlFydVdxcGdldVhQNjgybEU2ZDdyRGN0V2g4OHN4WVhjbm1iNmxneGxIYVhvS0h0dG9kMnFYWkk1eFB2SWRuSktBWktqNkZZcHRQY2MwK1EwVWZXempVR0MxUWZ1NVZyM3RLeitmL3p6TkhSTkhPaWRYY1UzcjNXSHJua2xQTmowemVRaWxVZFhGVzJReHQvelhsdmxTNytUdlVDdGpHMGF0SGxJbDkxNHJEZHQ0TDN1VnhiWUdveUpmS0tBMG1saVFuUjVVMWhzU0hsQ0R6TU8yYWw5Y0Qxalo4SVJLZDIxbXB2TklUQVNkc2VnUTQ3SzkxbFhMclNUN0loWjc0TFNGcFVYVms1bWF2WlU5SW5WUERWRWJwVXQzUzFIUjVRUlJPTWtwdHRsbHl2WjBTT3AycFVpeS9GaC8vc1BQcXhRV1k5dXFDRk1mbTBPcWcvRGFaZktTNHE2KzdYRWJHcEkreTJ1eVczTDhRTFJyTEtDcmUrRjRLUWRDQmwvMkpkQWhFUlVkNjM5QUxZQlhUVVczdlNteVZoUGpQeEZPLy8yRlViRXgxR3ZFVDJFS1dCT2lEUFY1VW5NYjU1akdUaHZxdFlMU1d2UWJ5NU1mdFNERXhyYzVGSWJVakNxM29LSXFDWFAxQ3lhODJ4UDNKRU9BeFE5Z3JuZVhKQ3Uvc3Vid0dYa0JUenFzTHpLZGl6TTlyeEp4ckxhd3RXMjY2ZVBsVXl0V3IrYWtGNmtJdGZ4SEpRazZCQk5OcWcvQS9PN2NhU2hkTzkxbnVXamMrMzNHb3JuTHovd0ZUanRKR0FlN1krTy9RanN5MmNENnAxcGZmWDJqYUJVMWVvTURzb21iYzJaUE54Q3VmZXJYcm5tZjYvWWZNVEVWSHV5YVdjeGYyY3hZOHNncklya3M1VkhGdVZ2RU1kUkU5cVpienQ4aWxzT21qRzAySWlLNUx4YXQzdGR5dnpSTXBmQ2swVlhCRTZFb3VxdzJKQ1ZZaHM3dDhjVGtndHZhR2FJdFhjZVZCVlJDRUFJOGxydDJWNjZXRmdFWFF4UzhUNHJ1TzNteXo3QXdwZFNyM202aWI2QnVzYUE0dDZhQldXays3WGs0Sm1jNVM1UzdkRis5LyttdW9rVkYvdWNXNUtWUVZsTkZKbmNYMXpZZHFCYVYzc0Jyc3B0d3ZpdVlIcjN6ajlhRU9Rc2xINE1lUFhzMWk2eXI1WENCdE1UWklaWkdEcnRJc1hpWEgxTjRVeGUrT2NQVkJlS0h5TFAxd1dUOGsyTkV0SFVvVnZHcHRGYjdhRnlhVjRCWitsY01CVEl5YnVxZlhmVno3RHg1a1lkeFJ2Y2R0bkJVRzBuTmx5OGdMQng3LzlWZ3ZLZWExSnJhQ2tNWTRtNHhJQWJvNGtKTkN5Y0xJNFR1TzdLeUJFaGFPMTNXQzJaRURQTWxQcHRRTDVUQ3RPNklPdWx4L3Q0NFRVcXJnYytpWjNLS3VPbW1SZ2tzbFN5aXlJSlVSb1c1SFBSUzd0TnBZSWNvdFM0SWJLZzZrVm1VMFh1NEREWjRvZW1GQ3VPQ1VVbS94YkxYQXI3Z1hoSFFUNm1BZGRTdDFjRXlKbk04SkNpSTN1TWozN05DeGs3Zk12VWIwUjNhS3c2djI5dWg4Rmltc0ZQVmNHNEtyM1d1MWlYRjNMbkkvc08vYkpCbGtORmJGRzVxdnJLQ0ZhMm9peTcxYmhhR2g1SGhldkNpWnh3M0lkMmtyTDZyMUlnbWF3cGkxa3E3RlVYQ3UwZVJ0V1paN3kzQ2NTVW9MMk50ZE1vWmpLRm1pOUFheFRiNDcwNXllZ1dla2NkTVNFNWxrVHlkc29qY1hrWWVxRjRUa1Uwcm1Pelg5TS9VcXJyQXV5Vm5tRWVXQWo4ZFJZcW5jYUFFRDUybVBUZktMTnMyenJHTUhaWk01elBJaEV1QjMreVlabGplMnh4bWFyNnlraFdWTDlHcU5Eb2pqaXVLVCtUN1hpdkowUlBhR00yc0dsMGZic2laSzlBYit5QWJkc1kyNHhzcDFrMVl3U2ZET0V2dGNVSThmV0ZQc0EwNXBjTDZ6eFFaTHI1Mnh1enRYN0FoR284K0RnVnE1M0dIUzhDcURIQjVPcCtEd3RLZ3dERDBLN0lod0ZMdE5DdzVaWUJsUlllRlVNamFTS296THh0MjI0UU54dXdYVS9vV2VPeFEzaW1WRW90SDB5QjNOazBKRDZTUWcxbWE3RzhMR2xQYitzb0dqVThJd05DcGV6MmhVV0RpRERGWTAyRFUzT0F4RWgrZFQ4dnFVZzV4SkpCMTU5RldCYXRrNGVjSmJqVEYwOWFTcTJ0UElCdHV0RU5HdEVQb3V5V3ZEL2xDalgxZ09LYXRQN3B0QzBzdzc1THpTQmxmcW91Z2pXbFdOSjhRYTI0UGI0WWNPcFpId09DTUV6RGc1VmFRR01hNlV3Z2lDZ2tZaktBdnhGQlB4QktXdUtLc0FIVVZIWTZ1NG9aQXZWc0pxeDVKblFxUm9kTloyUHRDaitXamdLdC84MHRIdEUyZnluWjBMZEcvbUFLRFVQYkUxbFhlOGZ2THBwSjNOK3NpbWtZVHR5c2xId0dlTFA3RDNNUm9lL0tDNUQzdjdtUHYrRThFM1BEZ1l2UVJpVWdjNEcrTG81UEJ3R3NWQjlUR01LQ0FPZEJTNWFkbkZ5Q3B2alhvdDZkalBiVmlNcWQzNFZzRU9VZWhlbS90cnRHYnRPSzZNWmpTYXNoeEhuM0tNUGpaM1o2UDIwYmlNbmU2NHp1ckRGOGw3QjhpUjRyTm5oU2l4UEVBMmxnNzBrMGx2aEFrVFRyeFk2MStqckd0NjM5b2pzT2hHeDlYMXV2Zk1PYlFvK3huN0tDYU5PYkQyMW5TSEszMVA3K0hrdE5Sb1Nac3FyN3BhM3p4TEw2K202RWxvRUpOV29yNUhwNEg4aGlsdHIrUm4rdGpnU2VMR21rbzl0UXo5amRXcU5rbTdRbzN2MDBqVGpyUHJhd05NSm8xcVAyTlAvVW93MzllOXhVRE5KcUwyY29ZQWFBM1lXU0RZbU1YTlNjSXMzS25WTkQ5YjlGOEVyd1p5QjU2SkRWV2dIMWd5TTN0MUZxTHZOclYxajVDWE1DazB3V0xFSFd0dWlWTlNBelNSNnVnd0Noa3c1cHZLQlBOUjdNRzJiWGhnVGVNL2MzZnZ3MDl6Y2VDQjhZTkdqTG9LMTIySjhUYkl6S3V3M041OTV2WGZXWkRiWHZHQjlSeGZKQmltZmYzM2dRK1RiN2gwNTZjWjJDUU9VNmw1eTA5MTFuWDBkMU51Q3BqQWxCUDFXZExjM1BUTWVrMGVuVUZ2ME13a0kwVUMrT3hOMVNxSEdNeVJ5Z3hwd0tzTktac3BIYTVjVnE4WVF0aWxEZ2lGSTdKMDRiQldTVTBkRkFxRzAyV0NrZEFvcFZ5a1VHWW1aMVdraUpTRkdSbnluUVc5ME5oTG1rS0wxWHUxL0hKREIxRlBRR1FtUStiM3FXN1A1SldxY0JaQmdEMUpDQTJDVVRrY1NMNWlmMCs3T2FKd2tUUm1SNnAxTHRGQmFCSnNmQ2RuWTAxc2RZcyt4OEtxWC9NUHdHandaU3E4RDhhY2ZwdS8rYi9la1hqcGVOd2hWcjhaejN6NWU3MzU2QWw0dzc0R2JENXZHZzJvaUl0djFiLzZsSWpvalVKTVhCQlZFMEgwY3NuMW96Nkx4WXVremxIMW9Ccmc0MmJEOWhFTkg4NjErWnpkZkdoMzk3dFRlUWNzODJrTi91Zm4wOFVIdnNIY3NLWm01Z3pUTUVHbkVkRm9qbktnd0lqeGNhUkZmTE8vNVE1NWw3SFliSTVzZXRUOEhzdS96cC9XUHgzOHBvcmlPNXFpYWpqNEViTW13N0RzeVFCbStxVEZCMGZYaCtVaGs0d2JyZFpsY1dONVYweGZXb2pXRVZHd1ZTWmlHU0ZzV1Foa3lpaFlmMEZ4bU13c3liamI5bHhzNkVoZVUvTTVuYlJiSXdxWFNHTzJRSzF6bVE0Q0FPeXl5bWduZlI5eFpWbG9yMFdXUUhHSTVYdlZTdmp1OC9MbC96L0JwZEFtNzhMVW1wQ1J5M2l6WHJPQWdxTnZvQ0c0bzJYZzlxKzhrZjBvejFZanNIZElRUFFpeUtVRFFXUWZZNUh3QnVYQzg4M2FjaHZlYXRwd0U1djNiTjRlMEIraVJZTVBzcGpmMVdUUDFnTWVZZ3U2b21laHRXajZncWtKaWllMURsb3dMdHNzTjdzVlJlaXB4WFNNb2NrUklhR2tDQXlHUkFnSkloTkRQendTUTBpRUV5TUdCNU1KZ0Y1WE1Pa3c2Y3Nlb0NxZ21IRlV1OS95dU1IUjB5aktPWERad2JTS0VBY1oxTmtQcnNSNW9TZlJ1SVZUN012UTVJWDBwVHVtT2YyK3hyWnhDWmY0NzF0bUpod0t6a0dEc00zL3NjSVFBYytraTg5U2pqczNnZ1Z2SzUvZDNmcnNkbEFpL2ZGWkJ5ekZ4WFUwMGtMSFJ2YmMxOTAxbkwyNzhVOU9BUGx6VzVvQ05zNi9iZFVZdlJjejBESGppYkUzang2THVhRkdwbXY2eHJHamNUY1ByNUFkRHVTSGVCMHBLZkZxNFljR0J2RkNnNmU0ZUY4ZUd0LzU5RG14bUp2UEQ3MDBIbmNEQW04Ym51cEdBUjhUeE5aOXBvUC80STVPZTFuQkdndlVwMTVTNTFnb0JmU1JBM2ZKK2hiY2NiZmNjV3Y1Kzlnc1YyV1VzbUI1U0RCV2VveVJ5NzJlY05tQW1IZmZwUXBSWWkyTjNKSWpScnNuZVMwc3R0SCtZS2ZHNURmSHZIYXQwRUI1L0tRbUxxbGJMQmFya2RzVGhGMHpTWEsySUVjaUZlU3ltZEU1YWRMb1BPWDdpak1KSW5Fa3NFWklCSGtzbGxDckN2UEFpdG5pckN4cHVyUFRqUXhrN2xJTTZtYWRuYVZTWS9xamYrRkpnV2YxVGMreFd3K3FGM0R2VkpmZlFsbzBiVjNiWmY4a2pIWlJrWnRTUmJNazdEZWZwaVVsamF5cFd6b3VqUGRBalZGR1pTYW9YTDBJSVpzbjVzWmlhdjBNTGl4eFRGVTZ4NFFObWthWkFRM0pkTjZjM25tZXVtcTVYOHNJamdqeUZ6RDh6cDkvR0dOMGJQT0FjSDBORXJkK09kN2w5Yk5sN21ldVdNVmRpQldyeTVDZENXYmJHaUFHQy9mREM2dEViYVBCdmR4Ym5MZXFwRExEME5Yc0lrUDNqQ0YwcEp3YllpOU9TT2ZqL1RoQy8xZjdtbjZYcFp5dVNDUU1sOHQ1dHRtSlFvK1lGckdBV2FVbWxWYWU1S2F0ZDRYREQwR3hpMUFzdERGOHMvMi9Bd1ZnNjVNNzIzUStqTkErNmVFZjc2YVY3SHNJcERoYjRNQjVEbGRoOUNFNENUN0lNdTZDMFVSNURqNGtYeHcrZ2dGWnRtdENOYlFYTTJtbEVTNXlsdHFGNm80aHNnWFFZVEh0bHZXTjh0NDNTeHVlSnM0OVlEck5tMENtSFM2YlZzdkc1cHpFcEk2Ym5NT0Vhc1BGUVN4RWJ1QVJWK3pxUjNZUHhwTG9rR08yTGFpNmxsSWVvd3pZM2xaNU5hZjlwT0Q5Q3hCMXYzTG42VkxNaVpmYjNUZWU5TjJ4aTljZkxSN21NYTJLV21vYkR6WFhsN2dsN0s4N3ZKM0J5WHpXd1IzdVJWMjRUb1RjWjZnaGVLNi9EaDBjZ0I4L1BvQ0FEcTJ2RXlHRmRIaloySkxhOHppVlAvV0wvdTg5VHl0U1B1dy93RGxQTS9iMHY2NGt6NEg5bng1UDBsMC9CTjFPU3hNbmlFcVRLaE4zUEVKdUcycFRKYlY1WU1iTHhlNXRMbTNoTVVOZmZ1RjZpUjl3NmY3ckkzT2NnczlWZXA2ellBSkJMVUk2SGh1bmxramp4c2JqcE9ucXVQZ3hxU1Jlclk2VjFDWVVxeVRweGNxRWhCSmx1cVJFQlE1T1BPeExOUnJkWjc3c0t3YjYvMDk5UDNDQUlhUnJ5WHBMSXQwMnBmcmxxMHFVb29UU3RpOTNaV1hYZkkveFRTVyt1dzBVOTlyWTlaVTcvbDlYRCt2czU2RDlYdVdWNCtKcGszMHIreWVQd0swQmZ0dkU1VGJZOUppRTRNSUNnc1F2SkJRYkZoVEEvbFdTRTdCUWp4QkJIZUJRRHljUXc0TkNpQk52ZTBqUU9LdTZsMy9sVFF4dXVFZVBpZVdDNHFYeEp4dnFINzVEU3k2T0J3Y09kVStFRzNNRkFra0tvL01VNVgxYThMMmYyUng4WXVuOXhNN3ZHVmlzZTdtekxCS3Q4Q2Eydm15SHBoWjhaSTRIQzhYMHhKbmErckVkVlMxNElsQWtVdXViNnNHaWFjOVlvL0NFVGlIRVBsRGd3czV4UHBzemlKREkrQXhhamhEWTltYWkvL0wxK3hzZCtyZWY3MStvVUxNa0ZEMGVXUFVTN21pL3FOVys5NjNZdk96SmdRUVEvdEErOWZETm5YN3IvRktBZmtQbzU3ZnNxZTJaOVg4S3dnYWxMOCtzRlVPQ093VnhiUXZxaklUV0dGKythU1dOaEhCOHRHQ0kwQVl3cC8xVG9Vc0pkdkVRTnd6T3dkVU43eERtTm54YmptY3FPQ3hta1FEUURHQUhnR1pDSWRUSm85ekp2VHpoalBXV2xIUzgveTZDa3p6S0hmWmdyTSt0czZUTDRCUWNnNTNnVzFBQmNIYm5RYmpNcmNPZEdUcTVMZTR6UUhOd0RIYkJYc2dSN3laY0tVNGU1UTU3SExSbklNSHVEOXdhVW5RdmdOd0pxUWFmNStpa0NxNTNjcEdEbk9TS0RST1hyTTJZY2hmY0xSYzVZT0ljZWhHVWpvSlRNQWRMTUFTalFHWk1XQndHUkNTaHlwWkpuRlRCVDUxYzVDQW5iRGozTHZpNVhPU0FDYXZ1Z204amlCQ25pTFZuTlliNGp2ZXJsNkhSSkpRVkVrbkpNTnVJam05cGtHOGFkbTlURDA3aU40RTJ3eUZuZkJnZjRVZFQrYUY4SGVlNzBVdXpheXdPQ0h2V2NnVE52TnFUcWtFL1RWWVRHV0cwUjIvNktONHZGT1Z0WjM0dkgvVG9DOFJUN3VGK29SOFBDQU40dUhNNGpYaEVHTUZqNmJHc3o4ckhDSTNlZU14SUcrdGlQYXlQRGJBaE52cEZaQXlPMnVMSjArV1pHY0tuNkJWWldlRHpEK0FKL0hrd29zbUZBZkFtanpjQjFvSHB6RVdFTGVmbkM5Mk52SzFaUmhQcnAyRlZZRnhSSzBZbGZtUzFROUZleTNBSjlPaDM4d0hxR09TTzFJN0RKM0ZzT2pCbnNzeHBUekZienM4WHZlMEdaaEVJZnY0UjlSMk1Md05VTFY4MDAzZmV2UHJYcSthZ2NqaUVpRVlNQ0ZsRzQ4dEdzSkF5ZWwrdEdFVnhxaDRIY3Y5TWd6TFF6ZzQ5NVFUc0M1MGJ6cHR4RXpEVkEzTEpsdkRTSW1rekU4ckEySURHeU9FWmdtSlVEdmY5R1pCZEgvdGtNVVJ4RERPWEp4T09HSTlEMlhMZGNKcm50NTZqY3lheE9GcEFqNTZaNEZ3ZmhzRTByS2hGdGRjMU5vTnZ0WGRleHIrRjZwcVU3UXB6RVBrcWNXR2hFa1JqLzl0ZkpxS3M1STdaUzVhYmxCWTFXUVdITURDT21zUktNdG9ldFJMcTBSd3ZFVG1ZSERBSGlSaXF0WmFMVXRpLzlnbWVBVzdiRzNwNnF5TUZudmhxZnZXL0U2OWZubkdRanZIV0ZLejhRbnV2QlEzWWNXSVZZNmhyenhIaFRzSitZR1lFTk9PMFRROXpmbG5HN1hEZi9DalFQSkxST0JFN0Q2ZlhKK1YxNjByZGRyclNYZEgvdit4blhkVkh2WHBVSmlDZ3kvbUFmMWhhazNmOVhjVmxIZ0srKytTMERRRGZyL2UxbEdaUzI1WHBLNEhBREFNSStQY1gxc3J6RmM4L3dURWg5SG1VL1VhSDZpbUM2dVpaUk8xb1FsQTE5bHF6Zk5xdDZuSGo0NHdxbHVtejBEcnE2R3NLMUY1MWNBRDZrdC9HbDVaSUFIYXlJT0RvSkZIMUFOMjB4clA0WlkyMzJIWk1NaXY3Ykh2ekhjM2twaU4yVXpWLzlCVVI0YVJSMG5xOGhoQzRuOXZRVnJWTzh6eHo2WTVHb2JLZUw0U3dBb2hmaTJDUDlvcHliR1NKc3J3WGg5YXk5bkt5VG9ZNDZERXdlb1lUbzNkVzJ3M1BmRzNaS0tHNU53bWVCWTNXMG8xRVNQdklYL1YrVU5CMGduSm5ndXpJa28ya0R5WUdISVl5aGd2VHVGN1BvL2NyYTEvUjh6ZXVKM0h0bmJ6SFAydmJIL3orbmVGZ2dkVm9aajVVekJ3SEpmU2IyT09mWld3N2oyTldNTnlEelJBRFpwQUJPVEFIWmtuKzNZZ0xGTUVNOEFkTm1BL3p3QUdzbmw1bUtjNTRUcXlXci9qc3N0czhsbi9laXZCTXUyL1VPSktYOTJQMERTZnl0TDRGOUJxQ2NVeFlPd2phY3lEZjJwekI5aEVsQXI5ZzJIRUpmdlduM2FYUlV5aUgyc0d4dmxRSmF1V0N4UXJBdUU5b3V4RmFJdDRUQ1NKcExTd1NVc1N3RmlWNXRtUlIvcDVkMTRiVUwyL0JRbFpleVFjdzlDakFqZXNQQ0JuSHJOSjR6VWtvY0dMQ3pERlFSc2tLR1ZaQkVIaWhtY1FiMXc1eUhTNUtzRWVmRk9jbWdtZXlVOXFORUoxa0Y5bFdzeFVyM3RhVnlBMU1ESENERU5penduMktWTEtBUmEwMTAyK1o0NjM1ZzJ2ZHZDL2YzRzA1SzdyaytpTTVMYXF0cHY2cU1yNXh6UHVsK2VwMWFPbzFjZ0Q0RitRamhTWDdDN0F0UENLc2tsNFlEdjRpYVh0K2dRWlVDTnhxNTRIZllwRGZ3YjN2cWlCVUNnVGtVR0ZrUkNDSDNza2JjR0JURitIUVlBQllBcmNhOFNaZGpaR0w1MnJjM014MkUvSFZKTFVjWGszam1wYlZjdXp6WTdVQzIyYTJTaEc3cmV4QkFDRnVOUUptSzZpSStVQ280VUdwV3h1Um0xZGNJSk9tSzZ4OXZiZWtOYStBTkp1WWs5TEVVNzBrcThBZ2c2ZWsyamlsZ2crWld5QzNkczR4bnlKUEh1TGxKWlZGQjVYSm5xZE10dGNGejhuSUNsU1NGZVdXZXBXeVBiamkzSmE3dUErZEtwbHR6VWtqdW84VlRvT3AxcEhodmJTZVFZWTR1OUpTcDB4dDFzU2JqdWZLclJsUmExSjlOYS9LQTVNUklVNC9EY3FVMmVYbmt5cXp4QVYrbnQ3TWpRd2xNWmxUU1NpMC9NVVhiUW4yQUFGbGxNdFNYZGJtS010WVhCcWlQRVg4Wko3Q1JFODV5eUlxSnBQVzN1RE1TQnBUemdXRVlZVVJrMlNwQ3M0b3NIdTJXSzNxelJQeGdBTT0nKSBmb3JtYXQoJ3dvZmYyJyk7CiAgICAgICAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKICAgICAgfQogICAgICBdXT4KICAgIDwvc3R5bGU+CiAgICA8c3ltYm9sIGlkPSJkZW5vIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgYXJpYS1oaWRkZW49InRydWUiIHJvbGU9ImltZyI+CiAgICAgIDxwYXRoCiAgICAgICAgZD0iTTEyIDBjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnMtNS4zNzMgMTItMTIgMTJTMCAxOC42MjcgMCAxMlM1LjM3MyAwIDEyIDBabS0uNDY5IDYuNzkzYy0zLjQ5IDAtNi4yMDQgMi4xOTYtNi4yMDQgNC45MjhjMCAyLjU4IDIuNDk4IDQuMjI4IDYuMzcgNC4xNDVsLjExOC0uMDAzbC40MjUtLjAxMmwtLjEwOS4yNzlsLjAxMy4wMjljLjAzMS4wNzIuMDYuMTQ1LjA4NC4yMmwuMDEuMDI4bC4wMTUuMDQ1bC4wMjEuMDY1bC4wMTQuMDQ1bC4wMTQuMDQ3bC4wMTUuMDQ5bC4wMjEuMDc1bC4wMjIuMDc5bC4wMTUuMDU0bC4wMjMuMDg0bC4wMjIuMDg4bC4wMjMuMDkxbC4wMjMuMDk1bC4wMTUuMDY1bC4wMjQuMWwuMDIzLjEwM2wuMDMyLjE0M2wuMDE3LjA3NGwuMDI0LjExNGwuMDI0LjExN2wuMDI1LjEybC4wMzUuMTc0bC4wMjkuMTQybC4wMzcuMTk1bC4wMi4xbC4wMjguMTU1bC4wMy4xNThsLjAzOS4yMTdsLjA0LjIyNWwuMDQuMjMxbC4wNDEuMjRsLjA0Mi4yNDZsLjA0Mi4yNTRsLjA0Mi4yNmwuMDMyLjIwMWwuMDU1LjM0NGwuMDIyLjE0bC4wNTUuMzZsLjA0NS4yOTVsLjAzNC4yMjdsLjA0Ni4zMDhsLjAyMy4xNTZhMTAuNzU4IDEwLjc1OCAwIDAgMCA2LjUyOS0zLjQxMmwuMDUtLjA1NWwtLjIzOC0uODkxbC0uNjMzLTIuMzdsLS4zOTUtMS40N2wtLjM0OC0xLjI5NmwtLjIxMy0uNzg3bC0uMTM2LS40OThsLS4wODEtLjI5N2wtLjA3My0uMjY0bC0uMDMyLS4xMWwtLjAxOC0uMDY0bC0uMDEtLjAzNGwtLjAwOC0uMDI2YTYuMDQyIDYuMDQyIDAgMCAwLTIuMDM4LTIuOTdjLTEuMTM0LS44ODctMi41NzMtMS4zNTEtNC4yNTItMS4zNTFaTTguNDY3IDE5LjNhLjU4Ni41ODYgMCAwIDAtLjcxNC40bC0uMDA0LjAxM2wtLjUyNyAxLjk1M2MuMzI4LjE2My42NjUuMzA5IDEuMDA4LjQzN2wuMDguMDNsLjU3LTIuMTE0bC4wMDQtLjAxNWEuNTg2LjU4NiAwIDAgMC0uNDE3LS43MDRabTMuMjY0LTEuNDNhLjU4Ni41ODYgMCAwIDAtLjcxNS40bC0uMDA0LjAxNGwtLjc5NiAyLjk1M2wtLjAwNC4wMTRhLjU4Ni41ODYgMCAwIDAgMS4xMzEuMzA1bC4wMDQtLjAxNGwuNzk3LTIuOTUzbC4wMDMtLjAxNGEuNTg1LjU4NSAwIDAgMCAuMDEzLS4wNjdsLjAwMi0uMDIybC0uMDE5LS4wOTZsLS4wMjctLjEzOGwtLjAxOC0uMDg2YS41ODQuNTg0IDAgMCAwLS4zNjctLjI5NVptLTUuNTUzLTMuMDRhLjU5LjU5IDAgMCAwLS4wMzcuMDlsLS4wMDUuMDJsLS43OTcgMi45NTNsLS4wMDQuMDE0YS41ODYuNTg2IDAgMCAwIDEuMTMxLjMwNmwuMDA0LS4wMTRsLjcyMy0yLjY3OGE1LjI5NSA1LjI5NSAwIDAgMS0xLjAxNS0uNjkyWm0tMS45LTMuMzk3YS41ODYuNTg2IDAgMCAwLS43MTUuNGwtLjAwNC4wMTNsLS43OTcgMi45NTNsLS4wMDMuMDE1YS41ODYuNTg2IDAgMCAwIDEuMTMuMzA1bC4wMDUtLjAxNGwuNzk3LTIuOTUzbC4wMDMtLjAxNWEuNTg2LjU4NiAwIDAgMC0uNDE2LS43MDRabTE3Ljg2OC0uNjdhLjU4Ni41ODYgMCAwIDAtLjcxNS4zOTlsLS4wMDQuMDE0bC0uNzk3IDIuOTUzbC0uMDAzLjAxNGEuNTg2LjU4NiAwIDAgMCAxLjEzLjMwNWwuMDA1LS4wMTRsLjc5Ny0yLjk1M2wuMDAzLS4wMTRhLjU4Ni41ODYgMCAwIDAtLjQxNi0uNzA0Wk0yLjU0MiA2LjgyYTEwLjcwNyAxMC43MDcgMCAwIDAtMS4yNTEgMy45MjZhLjU4Ni41ODYgMCAwIDAgMS4wMDItLjIybC4wMDQtLjAxNGwuNzk3LTIuOTUzbC4wMDMtLjAxNGEuNTg2LjU4NiAwIDAgMC0uNTU1LS43MjVabTE3LjU4NS4wMmEuNTg2LjU4NiAwIDAgMC0uNzE0LjRsLS4wMDQuMDE0bC0uNzk3IDIuOTUzbC0uMDA0LjAxNGEuNTg2LjU4NiAwIDAgMCAxLjEzMS4zMDVsLjAwNC0uMDE0bC43OTctMi45NTNsLjAwNC0uMDE0YS41ODYuNTg2IDAgMCAwLS40MTctLjcwNFptLTcuODQ2IDEuOTI2YS43NS43NSAwIDEgMSAwIDEuNWEuNzUuNzUgMCAwIDEgMC0xLjVabS02LjI3LTQuNzMzYS41ODYuNTg2IDAgMCAwLS43MTUuMzk4bC0uMDA0LjAxNWwtLjc5NyAyLjk1M2wtLjAwNC4wMTRhLjU4Ni41ODYgMCAwIDAgMS4xMzIuMzA1bC4wMDMtLjAxNGwuNzk3LTIuOTUzbC4wMDQtLjAxNGEuNTg2LjU4NiAwIDAgMC0uNDE3LS43MDRabTEwLjIzOC41NThhLjU4Ni41ODYgMCAwIDAtLjcxNC4zOTlsLS4wMDQuMDE0bC0uNTM2IDEuOTg0Yy4zNDcuMTcxLjY3OC4zNzMuOTkuNjAzbC4wNTEuMDM4bC42MjYtMi4zMmwuMDA0LS4wMTRhLjU4Ni41ODYgMCAwIDAtLjQxNy0uNzA0Wm0tNS4yMTEtMy4zM2ExMC43NiAxMC43NiAwIDAgMC0xLjExNS4xNThsLS4wNzguMDE1bC0uNzQyIDIuNzUzbC0uMDA0LjAxNWEuNTg2LjU4NiAwIDAgMCAxLjEzMS4zMDVsLjAwNC0uMDE0bC43OTctMi45NTNsLjAwNC0uMDE1YS41ODMuNTgzIDAgMCAwIC4wMDMtLjI2NFptNy4zMzIgMi4wNGwtLjE1Ni41OGwtLjAwNC4wMTVhLjU4Ni41ODYgMCAwIDAgMS4xMzEuMzA1bC4wMDQtLjAxNGwuMDE3LS4wNjNhMTAuODM4IDEwLjgzOCAwIDAgMC0uOTIzLS43NzJsLS4wNjktLjA1MVptLTQuNjM2LTEuOTQ0bC0uMjgzIDEuMDQ4bC0uMDAzLjAxNGEuNTg2LjU4NiAwIDAgMCAxLjEzLjMwNWwuMDA1LS4wMTRsLjI5Ny0xLjEwMmMtLjM1LS4wOTctLjcwNS0uMTc2LTEuMDYzLS4yMzdsLS4wODMtLjAxNFoiPgogICAgICA8L3BhdGg+CiAgICA8L3N5bWJvbD4KICAgIDxtYXNrIGlkPSJtYXNrLTEiPgogICAgICA8cmVjdCB3aWR0aD0iMTY4IiBoZWlnaHQ9IjMyIiBmaWxsPSIjZmZmIiB4PSIxNiIgeT0iMCIgLz4KICAgICAgPGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iMTYiIGZpbGw9IiNmZmYiIC8+CiAgICAgIDxjaXJjbGUgY3g9IjE4NCIgY3k9IjE2IiByPSIxNiIgZmlsbD0iI2ZmZiIgLz4KICAgIDwvbWFzaz4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iZ3JhZC0xIiB4MT0iMCIgeDI9IjAiIHkxPSIxIiB5Mj0iMCI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiNjY2MiIC8+CiAgICAgIDxzdG9wIG9mZnNldD0iODAlIiBzdG9wLWNvbG9yPSIjZmZmIiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICA8L2RlZnM+CiAgPHJlY3Qgd2lkdGg9IjIwMCIgaGVpZ2h0PSIzMiIgZmlsbD0idXJsKCNncmFkLTEpIiBtYXNrPSJ1cmwoI21hc2stMSkiIHJ4PSIxNiIgcnk9IjE2IiB4PSIwIiBjbGFzcz0iYnV0dG9uIgogICAgc3Ryb2tlPSIjYWFhYSIgc3Ryb2tlLXdpZHRoPSIyLjMiIC8+CiAgPHVzZSBocmVmPSIjZGVubyIgd2lkdGg9IjE4IiBmaWxsPSIjMTIzIiB4PSIxMiIgeT0iMC4yNSIgZmlsdGVyPSJkcm9wLXNoYWRvdygxcHggMXB4IDAuNXB4ICMwMDAxKSIgLz4KICA8dGV4dCB4PSIxMDUiIHk9IjIxLjUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHRleHRMZW5ndGg9IjExMCIgZm9udC1zaXplLWFkanVzdD0iMTAwJSIgZm9udC1zaXplPSIxMyIKICAgIGZvbnQtZmFtaWx5PSInRW5jb2RlIFNhbnMnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBmb250LXN0eWxlPSJub3JtYWwiCiAgICBmaWx0ZXI9ImRyb3Atc2hhZG93KDAuNXB4IDEuNXB4IDAgIzAwMDEpIiBmaWxsPSIjMTIzIj4KICAgIERlcGxveSB3aXRoIERlbm8KICA8L3RleHQ+Cjwvc3ZnPgo= \"Deploy with Deno!\"\n\n[examples-splash]: https://migo.deno.dev/image.png?icon=deno\u0026iconStrokeWidth=0.33\u0026subtitleFontSize=48\u0026iconColor=fff\u0026bgColor=234\u0026iconStroke=fff\u0026titleColor=fff\u0026subtitleColor=999\u0026titleY=425\u0026subtitleFontSize=36\u0026title=Click%20here%20for%20example%20OG%20Images\u0026subtitle=(or%20scroll%20down)\u0026pxRatio=1\u0026borderRadius=25\n[example-img-0]: https://migo.deno.dev/image.png?title=migo.deno.dev\u0026subtitle=Dynamic+OpenGraph+Images+on+Deno+Deploy\u0026titleFontFamily=serif\u0026titleFontSize=72\u0026titleFontWeight=900\u0026titleTextAnchor=left\u0026titleX=160\u0026titleY=110\u0026subtitleFontSize=36\u0026subtitleFontWeight=900\u0026subtitleFontFamily=monospace\u0026subtitleTextAnchor=left\u0026subtitleX=40\u0026subtitleY=250\u0026pxRatio=1\u0026width=1000\u0026height=300\u0026bgColor=111827\u0026titleColor=fff\u0026subtitleColor=ddd\u0026icon=noto:t-rex\u0026iconW=100\u0026iconH=100\u0026iconX=40\u0026iconY=30\u0026borderRadius=20\n[example-img-1]: https://migo.deno.dev/image.png?icon=deno\u0026iconStrokeWidth=0.33\u0026subtitleFontSize=48\u0026iconColor=fff\u0026bgColor=234\u0026iconStroke=fff\u0026titleColor=fff\u0026subtitleColor=papayawhip\u0026titleY=425\u0026subtitleFontSize=48\u0026title=Edge-rendered%20OpenGraph%20Images\u0026subtitle=migo.deno.dev\u0026pxRatio=1\u0026borderRadius=25\u0026titleFontFamily=sans-serif\n[example-img-2]: https://migo.deno.dev/image.png?icon=twitter\u0026subtitleFontSize=48\u0026iconColor=0cf\u0026titleY=460\u0026subtitleFontSize=48\u0026title=Creating%20Dynamic%20Cover%20Images\u0026subtitle=By%20Nicholas%20Berlette\u0026borderRadius=25\u0026titleFontFamily=monospace\n[example-img-3]: https://migo.deno.dev/image.png?icon=nuxtdotjs\u0026bgColor=112233\u0026iconColor=00DC82\u0026iconStroke=00DC82\u0026iconStrokeWidth=0.55\u0026titleColor=00DC82\u0026subtitleColor=e0e0e0\u0026iconW=300\u0026iconY=50\u0026titleY=460\u0026title=Nuxt%20ContentWind%20Starter\u0026subtitle=stackblitz.com%2fedit%2fcontent-wind\u0026borderRadius=30\u0026pxRatio=1\n[example-img-4]: https://migo.deno.dev/image.png?title=deno911⁄+kit\u0026subtitle=this+one+has+custom+alignment+and+size!\u0026titleFontFamily=sans-serif\u0026titleFontSize=80\u0026titleFontWeight=900\u0026titleTextAnchor=right\u0026titleX=160\u0026titleY=115\u0026subtitleFontSize=36\u0026subtitleFontWeight=900\u0026subtitleFontFamily=monospace\u0026subtitleTextAnchor=left\u0026subtitleX=40\u0026subtitleY=260\u0026pxRatio=1\u0026width=1000\u0026height=300\u0026bgColor=fff\u0026titleColor=123\u0026subtitleColor=456\u0026icon=noto:sauropod\u0026iconW=100\u0026iconH=100\u0026iconX=40\u0026iconY=30\u0026borderRadius=20\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnberlette%2Fmigo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnberlette%2Fmigo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnberlette%2Fmigo/lists"}