PageSourceSearch

https://brianhoskins.uk/

html brianhoskins.uk collected 2026-10-04 03:52:59 UTC 157,521 bytes, 683 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en-GB"><head><meta charset="utf-8">
3    <meta name="viewport" content="width=device-width, initial-scale=1.0">
4    <base href="/">
5    <meta property="og:site_name" content="brianhoskins.uk" />
6
7    <link href="/_content/PSC.Blazor.Components.MarkdownEditor/css/markdowneditor.css" rel="stylesheet">
8    <link href="/_content/PSC.Blazor.Components.MarkdownEditor/css/easymde.min.css" rel="stylesheet">
9
10    
11    <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/quill.snow.css" rel="stylesheet">
12    <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/quill.bubble.css" rel="stylesheet">
13
14    
15    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/github-dark.min.css">
16    
17    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css">
18    
19    <link rel="stylesheet" href="tailwind.30i6fam7gp.css" />
19<script type="importmap">{
20  "imports": {
21    "./_content/Blazored.TextEditor/Blazored-BlazorQuill.js": "./_content/Blazored.TextEditor/Blazored-BlazorQuill.dj4raj0v6v.js",
22    "./_content/Blazored.TextEditor/quill-blot-formatter.min.js": "./_content/Blazored.TextEditor/quill-blot-formatter.min.06wjpxauos.js",
23    "./_content/LeafletForBlazor/LeafletMapFunctionalities.js": "./_content/LeafletForBlazor/LeafletMapFunctionalities.mm30od2jer.js",
24    "./_content/LeafletForBlazor/RealTime/Map.js": "./_content/LeafletForBlazor/RealTime/Map.zzwwooidxk.js",
25    "./_content/LeafletForBlazor/RealTime/components/streamLegend.js": "./_content/LeafletForBlazor/RealTime/components/streamLegend.9qvnlwgbu2.js",
26    "./_content/LeafletForBlazor/RealTime/esri/geocoder.js": "./_content/LeafletForBlazor/RealTime/esri/geocoder.2kcfxnfqjt.js",
27    "./_content/LeafletForBlazor/RealTime/geojson/fromObject.js": "./_content/LeafletForBlazor/RealTime/geojson/fromObject.030g0k9ean.js",
28    "./_content/LeafletForBlazor/RealTime/geometry/circles.js": "./_content/LeafletForBlazor/RealTime/geometry/circles.c4o5mu4gtf.js",
29    "./_content/LeafletForBlazor/RealTime/geometry/point.js": "./_content/LeafletForBlazor/RealTime/geometry/point.29xsovyp6v.js",
30    "./_content/LeafletForBlazor/RealTime/geometry/points.js": "./_content/LeafletForBlazor/RealTime/geometry/points.3hbha332t1.js",
31    "./_content/LeafletForBlazor/RealTime/geometry/polygons.js": "./_content/LeafletForBlazor/RealTime/geometry/polygons.fphufpfwwi.js",
32    "./_content/LeafletForBlazor/RealTime/geometry/polylines.js": "./_content/LeafletForBlazor/RealTime/geometry/polylines.54cpmnqvdh.js",
33    "./_content/LeafletForBlazor/RealTime/geometry/routing.js": "./_content/LeafletForBlazor/RealTime/geometry/routing.fcfons0sbr.js",
34    "./_content/LeafletForBlazor/RealTime/helper/felicia.js": "./_content/LeafletForBlazor/RealTime/helper/felicia.hg67wea390.js",
35    "./_content/LeafletForBlazor/RealTime/helper/mathFelicia.js": "./_content/LeafletForBlazor/RealTime/helper/mathFelicia.fc2gum9evd.js",
36    "./_content/LeafletForBlazor/RealTime/layers/basemap.js": "./_content/LeafletForBlazor/RealTime/layers/basemap.iandt4iq9y.js",
37    "./_content/LeafletForBlazor/RealTime/layers/geometricLayers.js": "./_content/LeafletForBlazor/RealTime/layers/geometricLayers.612w08nje5.js",
38    "./_content/LeafletForBlazor/RealTime/layers/svg.js": "./_content/LeafletForBlazor/RealTime/layers/svg.k3bpy47g0e.js",
39    "./_content/LeafletForBlazor/basemap_layers.js": "./_content/LeafletForBlazor/basemap_layers.u5dqj233yj.js",
40    "./_content/LeafletForBlazor/create_on_the_fly_css.js": "./_content/LeafletForBlazor/create_on_the_fly_css.1g074axppc.js",
41    "./_content/LeafletForBlazor/custom_map_controls.js": "./_content/LeafletForBlazor/custom_map_controls.c09yrar5j0.js",
42    "./_content/LeafletForBlazor/esri_interops.js": "./_content/LeafletForBlazor/esri_interops.klzhkh34ny.js",
43    "./_content/LeafletForBlazor/helper.js": "./_content/LeafletForBlazor/helper.pwm550k0yp.js",
44    "./_content/LeafletForBlazor/other_overlays.js": "./_content/LeafletForBlazor/other_overlays.j6m2ivp4h8.js",
45    "./_content/LeafletForBlazor/plugins.js": "./_content/LeafletForBlazor/plugins.hn5qixqzw1.js",
46    "./_content/LeafletForBlazor/plugins/Leaflet.LinearMeasurement.js": "./_content/LeafletForBlazor/plugins/Leaflet.LinearMeasurement.27ix8o99a7.js",
47    "./_content/LeafletForBlazor/plugins/easyPrint.js": "./_content/LeafletForBlazor/plugins/easyPrint.xb41vbz65x.js",
48    "./_content/LeafletForBlazor/plugins/geolet.js": "./_content/LeafletForBlazor/plugins/geolet.h2qp0zwxkj.js",
49    "./_content/LeafletForBlazor/plugins/testare.js": "./_content/LeafletForBlazor/plugins/testare.ynwzuzzhbg.js",
50    "./_framework/blazor.server.js": "./_framework/blazor.server.68qhiysw0j.js",
51    "./_framework/blazor.web.js": "./_framework/blazor.web.f7fxoh55ae.js",
52    "./_framework/dotnet.native.js": "./_framework/dotnet.native.puryxhmhq9.js",
53    "./_framework/dotnet.runtime.js": "./_framework/dotnet.runtime.web2r9gqbh.js",
54    "./_framework/dotnet.js": "./_framework/dotnet.t1416ztisf.js",
55    "./js/clipboardImage.js": "./js/clipboardImage.i3f0jxpw4o.js",
56    "./js/codeHighlight.js": "./js/codeHighlight.vatufc54q1.js",
57    "./js/featuredImageCrop.js": "./js/featuredImageCrop.k2bwgsw627.js",
58    "./js/fileTransfer.js": "./js/fileTransfer.sfileda5cg.js",
59    "./js/galleryImagesCarousel.js": "./js/galleryImagesCarousel.jnh373uccz.js",
60    "./js/galleryMasonry.js": "./js/galleryMasonry.800crf9pyw.js",
61    "./js/galleryUpload.js": "./js/galleryUpload.wsa18oh7uv.js",
62    "./js/imageContextMenu.js": "./js/imageContextMenu.l8d6n4gr2d.js",
63    "./js/imageViewer.js": "./js/imageViewer.fxij56w7st.js",
64    "./js/passwordManagerCrypto.js": "./js/passwordManagerCrypto.eqaqv2p756.js",
65    "./js/rallyViewer.js": "./js/rallyViewer.mvuz000ddg.js",
66    "./js/vendor/embla-carousel.esm.js": "./js/vendor/embla-carousel.esm.9425i38shj.js",
67    "./js/vendor/embla-carousel.umd.js": "./js/vendor/embla-carousel.umd.s5mr3smapc.js",
68    "./js/videoPlayer.js": "./js/videoPlayer.vkbmc2yvcj.js",
69    "./lib/bootstrap/dist/js/bootstrap.bundle.js": "./lib/bootstrap/dist/js/bootstrap.bundle.4094rpi4f9.js",
70    "./lib/bootstrap/dist/js/bootstrap.bundle.min.js": "./lib/bootstrap/dist/js/bootstrap.bundle.min.hd3gran6i8.js",
71    "./lib/bootstrap/dist/js/bootstrap.esm.js": "./lib/bootstrap/dist/js/bootstrap.esm.ltid2c489k.js",
72    "./lib/bootstrap/dist/js/bootstrap.esm.min.js": "./lib/bootstrap/dist/js/bootstrap.esm.min.8vyfqsqgz1.js",
73    "./lib/bootstrap/dist/js/bootstrap.min.js": "./lib/bootstrap/dist/js/bootstrap.min.4d85u1mtcx.js",
74    "./lib/bootstrap/dist/js/bootstrap.js": "./lib/bootstrap/dist/js/bootstrap.u9q1upor1n.js",
75    "./lib/hls/hls.mjs": "./lib/hls/hls.lgvgxsbpq9.mjs",
76    "_framework/resource-collection.js": "./_framework/resource-collection.JObhL.js",
77    "_framework/resource-collection.js.gz": "./_framework/resource-collection.JObhL.js.gz"
78  },
79  "integrity": {
80    "./_content/Blazored.TextEditor/Blazored-BlazorQuill.dj4raj0v6v.js": "sha256-uYWJEOddyql6USMTLDsAXzo0Gp9WY1rK8K+Tul1rbAc=",
81    "./_content/Blazored.TextEditor/Blazored-BlazorQuill.js": "sha256-uYWJEOddyql6USMTLDsAXzo0Gp9WY1rK8K+Tul1rbAc=",
82    "./_content/Blazored.TextEditor/quill-blot-formatter.min.06wjpxauos.js": "sha256-aNk36zfXB+ixZlkufdUvWaoJNMMNVB0nqx7xVe0YdAA=",
83    "./_content/Blazored.TextEditor/quill-blot-formatter.min.js": "sha256-aNk36zfXB+ixZlkufdUvWaoJNMMNVB0nqx7xVe0YdAA=",
84    "./_content/LeafletForBlazor/LeafletMapFunctionalities.js": "sha256-Xl4o6JxxfU5KEsuMgPRBiO0nXhL/7R9QsJQSd10tEnE=",
85    "./_content/LeafletForBlazor/LeafletMapFunctionalities.mm30od2jer.js": "sha256-Xl4o6JxxfU5KEsuMgPRBiO0nXhL/7R9QsJQSd10tEnE=",
86    "./_content/LeafletForBlazor/RealTime/Map.js": "sha256-8biIrqkR
86dVPt/OIzyrIgLkCAEBHzEG55K+v0cpcK3DQ=",
87    "./_content/LeafletForBlazor/RealTime/Map.zzwwooidxk.js": "sha256-8biIrqkRdVPt/OIzyrIgLkCAEBHzEG55K+v0cpcK3DQ=",
88    "./_content/LeafletForBlazor/RealTime/components/streamLegend.9qvnlwgbu2.js": "sha256-n4os6mKn/AeBQY7A0g95KEb3wVeFvHhFgNF8h88lk5w=",
89    "./_content/LeafletForBlazor/RealTime/components/streamLegend.js": "sha256-n4os6mKn/AeBQY7A0g95KEb3wVeFvHhFgNF8h88lk5w=",
90    "./_content/LeafletForBlazor/RealTime/esri/geocoder.2kcfxnfqjt.js": "sha256-riX3LfgLYK/HQ3mv5U4ayZHswn2mKC1Cmwn5b4eWwBs=",
91    "./_content/LeafletForBlazor/RealTime/esri/geocoder.js": "sha256-riX3LfgLYK/HQ3mv5U4ayZHswn2mKC1Cmwn5b4eWwBs=",
92    "./_content/LeafletForBlazor/RealTime/geojson/fromObject.030g0k9ean.js": "sha256-bERVQpba1JYptf4nAa+iWObQynAJp0PgAEGfXZVoXRs=",
93    "./_content/LeafletForBlazor/RealTime/geojson/fromObject.js": "sha256-bERVQpba1JYptf4nAa+iWObQynAJp0PgAEGfXZVoXRs=",
94    "./_content/LeafletForBlazor/RealTime/geometry/circles.c4o5mu4gtf.js": "sha256-XFfQOrTzjYMeze9XbTyVGUJsXvThWckY3SgPcEv/WNc=",
95    "./_content/LeafletForBlazor/RealTime/geometry/circles.js": "sha256-XFfQOrTzjYMeze9XbTyVGUJsXvThWckY3SgPcEv/WNc=",
96    "./_content/LeafletForBlazor/RealTime/geometry/point.29xsovyp6v.js": "sha256-qhQEgjH/IxOCcqhTnAW98+YmA3xIGM/nlz/Q6yk8yyI=",
97    "./_content/LeafletForBlazor/RealTime/geometry/point.js": "sha256-qhQEgjH/IxOCcqhTnAW98+YmA3xIGM/nlz/Q6yk8yyI=",
98    "./_content/LeafletForBlazor/RealTime/geometry/points.3hbha332t1.js": "sha256-VzqXXmreZGA0KxotAaHUgeJu7IJKgAIJ8R/FuyxBvFA=",
99    "./_content/LeafletForBlazor/RealTime/geometry/points.js": "sha256-VzqXXmreZGA0KxotAaHUgeJu7IJKgAIJ8R/FuyxBvFA=",
100    "./_content/LeafletForBlazor/RealTime/geometry/polygons.fphufpfwwi.js": "sha256-3edNRgjvu+HbLilnaNg0npYnJGapbSCqW3xLx0FJdzA=",
101    "./_content/LeafletForBlazor/RealTime/geometry/polygons.js": "sha256-3edNRgjvu+HbLilnaNg0npYnJGapbSCqW3xLx0FJdzA=",
102    "./_content/LeafletForBlazor/RealTime/geometry/polylines.54cpmnqvdh.js": "sha256-lfvsY0SLH7o0b/quye7muE809ffunYTPR63UIh3MBfM=",
103    "./_content/LeafletForBlazor/RealTime/geometry/polylines.js": "sha256-lfvsY0SLH7o0b/quye7muE809ffunYTPR63UIh3MBfM=",
104    "./_content/LeafletForBlazor/RealTime/geometry/routing.fcfons0sbr.js": "sha256-r8oeOlnyU5x4nB3hGoFvyc2/CmXDtes29d+J9/eE4bU=",
105    "./_content/LeafletForBlazor/RealTime/geometry/routing.js": "sha256-r8oeOlnyU5x4nB3hGoFvyc2/CmXDtes29d+J9/eE4bU=",
106    "./_content/LeafletForBlazor/RealTime/helper/felicia.hg67wea390.js": "sha256-cZQYmt3zY3BS9gbDFE04JNgZ+KUgNkXKrNzJFTEhKUA=",
107    "./_content/LeafletForBlazor/RealTime/helper/felicia.js": "sha256-cZQYmt3zY3BS9gbDFE04JNgZ+KUgNkXKrNzJFTEhKUA=",
108    "./_content/LeafletForBlazor/RealTime/helper/mathFelicia.fc2gum9evd.js": "sha256-33VoAa7w61xxh6tQFTpa3uDiGy2ElOhCz14/Yp2Qqn4=",
109    "./_content/LeafletForBlazor/RealTime/helper/mathFelicia.js": "sha256-33VoAa7w61xxh6tQFTpa3uDiGy2ElOhCz14/Yp2Qqn4=",
110    "./_content/LeafletForBlazor/RealTime/layers/basemap.iandt4iq9y.js": "sha256-KiR+gM8JZmEqG9VElIlf9JKNV0SIqYWmmm2yZUp8MSE=",
111    "./_content/LeafletForBlazor/RealTime/layers/basemap.js": "sha256-KiR+gM8JZmEqG9VElIlf9JKNV0SIqYWmmm2yZUp8MSE=",
112    "./_content/LeafletForBlazor/RealTime/layers/geometricLayers.612w08nje5.js": "sha256-SiJHzuoqIUAi4cyn8UQz7OuMWsyTU3wk47pHINOqg0g=",
113    "./_content/LeafletForBlazor/RealTime/layers/geometricLayers.js": "sha256-SiJHzuoqIUAi4cyn8UQz7OuMWsyTU3wk47pHINOqg0g=",
114    "./_content/LeafletForBlazor/RealTime/layers/svg.js": "sha256-cGYpv9JLL0ovw6HWUmZp6mFa/oUYypVJ7gXy+njoSAk=",
115    "./_content/LeafletForBlazor/RealTime/layers/svg.k3bpy47g0e.js": "sha256-cGYpv9JLL0ovw6HWUmZp6mFa/oUYypVJ7gXy+njoSAk=",
116    "./_content/LeafletForBlazor/basemap_layers.js": "sha256-IvCEGDDgvFN0PAcgkpmWJ6LJ4WIg9GmDWt3aLo7sIgM=",
117    "./_content/LeafletForBlazor/basemap_layers.u5dqj233yj.js": "sha256-IvCEGDDgvFN0PAcgkpmWJ6LJ4WIg9GmDWt3aLo7sIgM=",
118    "./_content/LeafletForBlazor/create_on_the_fly_css.1g074axppc.js": "sha256-/8W71lSbHEPc0If2NT8JnGvJHXwitZqkmB37KISYQSc=",
119    "./_content/LeafletForBlazor/create_on_the_fly_css.js": "sha256-/8W71lSbHEPc0If2NT8JnGvJHXwitZqkmB37KISYQSc=",
120    "./_content/LeafletForBlazor/custom_map_controls.c09yrar5j0.js": "sha256-HLUHeH6bStEVmwlvW38pxhgipbBJ73pBNCNzIhGB+vk=",
121    "./_content/LeafletForBlazor/custom_map_controls.js": "sha256-HLUHeH6bStEVmwlvW38pxhgipbBJ73pBNCNzIhGB+vk=",
122    "./_content/LeafletForBlazor/esri_interops.js": "sha256-iImYKwszIhbrmYVpv2LMwdhYVg5rSV/bKFjLc7SihCw=",
123    "./_content/LeafletForBlazor/esri_interops.klzhkh34ny.js": "sha256-iImYKwszIhbrmYVpv2LMwdhYVg5rSV/bKFjLc7SihCw=",
124    "./_content/LeafletForBlazor/helper.js": "sha256-x5fo6mML4gCrcJTxhEM3+hqxVgxVqBN2mZWBJeNZCBM=",
125    "./_content/LeafletForBlazor/helper.pwm550k0yp.js": "sha256-x5fo6mML4gCrcJTxhEM3+hqxVgxVqBN2mZWBJeNZCBM=",
126    "./_content/LeafletForBlazor/other_overlays.j6m2ivp4h8.js": "sha256-y5prvlHNxe0fmUmcZ+90zKMV63kAtyg0yU6tThURW8E=",
127    "./_content/LeafletForBlazor/other_overlays.js": "sha256-y5prvlHNxe0fmUmcZ+90zKMV63kAtyg0yU6tThURW8E=",
128    "./_content/LeafletForBlazor/plugins.hn5qixqzw1.js": "sha256-44piiGUz/hOUm2OPvg/IUKnFJJhHSdYO35EJkCBPYtU=",
129    "./_content/LeafletForBlazor/plugins.js": "sha256-44piiGUz/hOUm2OPvg/IUKnFJJhHSdYO35EJkCBPYtU=",
130    "./_content/LeafletForBlazor/plugins/Leaflet.LinearMeasurement.27ix8o99a7.js": "sha256-ou3ttqQD6EjhGMMhIn4Dd7BxBXACwqU3vK1HLEFmQxI=",
131    "./_content/LeafletForBlazor/plugins/Leaflet.LinearMeasurement.js": "sha256-ou3ttqQD6EjhGMMhIn4Dd7BxBXACwqU3vK1HLEFmQxI=",
132    "./_content/LeafletForBlazor/plugins/easyPrint.js": "sha256-LQee+jseY0d2wjWl0X1PHTiNlvgnC5fMCa29syUwCmk=",
133    "./_content/LeafletForBlazor/plugins/easyPrint.xb41vbz65x.js": "sha256-LQee+jseY0d2wjWl0X1PHTiNlvgnC5fMCa29syUwCmk=",
134    "./_content/LeafletForBlazor/plugins/geolet.h2qp0zwxkj.js": "sha256-Ofz+a8oQih0qeW81ysKfRRh5c1a90bi6jaLM64FfXqc=",
135    "./_content/LeafletForBlazor/plugins/geolet.js": "sha256-Ofz+a8oQih0qeW81ysKfRRh5c1a90bi6jaLM64FfXqc=",
136    "./_content/LeafletForBlazor/plugins/testare.js": "sha256-HkrroCdMxb4jIR0kRUzEeOwE129iJcwHyiw4SyDW2mo=",
137    "./_content/LeafletForBlazor/plugins/testare.ynwzuzzhbg.js": "sha256-HkrroCdMxb4jIR0kRUzEeOwE129iJcwHyiw4SyDW2mo=",
138    "./_content/PSC.Blazor.Components.MarkdownEditor/js/easymde.min.js": "sha256-9kzBc/F+fLe6vD0ySJYIlEm429TG9OSRqVxelJUtxPw=",
139    "./_content/PSC.Blazor.Components.MarkdownEditor/js/markdownEditor.js": "sha256-sf0vocGbUPIGiejOKEbYokUXIJ/xR4yHv4pKtSnCSyQ=",
140    "./_content/PSC.Blazor.Components.MarkdownEditor/js/mermaid.min.js": "sha256-YbM1pG3wWnzhyYN49g5fPnen+2CKEFaZfopkkwSpNtY=",
141    "./_content/PSC.Blazor.Components.MarkdownEditor/js/textarearesize.min.js": "sha256-dKg50lN8AGJ6CNvV+pg5u4luijwQ2cJLGYYhzxCFbpg=",
142    "./_framework/blazor.server.68qhiysw0j.js": "sha256-+oYiImkFPT+SF9nA/GeVbeaccaj6H6nLZP+3ZUZmtMU=",
143    "./_framework/blazor.server.js": "sha256-+oYiImkFPT+SF9nA/GeVbeaccaj6H6nLZP+3ZUZmtMU=",
144    "./_framework/blazor.web.f7fxoh55ae.js": "sha256-O1d45wdRx5tLsfUPYUNmKOUiZGMnhRDKqINrWJ53K4A=",
145    "./_framework/blazor.web.js": "sha256-O1d45wdRx5tLsfUPYUNmKOUiZGMnhRDKqINrWJ53K4A=",
146    "./_framework/blazor.webassembly.js": "sha256-3lCWrko3zwspV40aQhs2S/IMkRSarnHRKIdkHhuXIBA=",
147    "./_framework/dotnet.js": "sha256-wUy85tO6FCADCzmN2JTzenMRbIYyJwkOZnCb1b/EgWs=",
148    "./_framework/dotnet.native.js": "sha256-gQbHHzCnWx8iDOC65EKbql7bEltJkfao7lmkAbIRajw=",
149    "./_framework/dotnet.native.puryxhmhq9.js": "sha256-gQbHHzCnWx8iDOC65EKbql7bEltJkfao7lmkAbIRajw=",
150    "./_framework/dotnet.runtime.js": "sha256-SOUHEQ3FhDAibBSR2u90NWZpoBjPuWRmH0BAATUlhJU=",
151    "./_framework/dotnet.runtime.web2r9gqbh.js": "sha256-SOUHEQ3FhDAibBSR2u90NWZpoBjPuWRmH0BAATUlhJU=",
152    "./_framework/dotnet.t1416ztisf.js": "sha256-wUy85tO6FCADCzmN2JTzenMRbIYyJwkOZnCb1b/EgWs=",
153    "./js/clipboardImage.i3f0jxpw4o.js": "sha256-kgzlBMN6wWvEVa6sf6Fi0eHPgWSwjcm6wZsmKIv+tWA=",
154    "./js/clipboardImage.js": "sha256-kgzlBMN6wWvEVa6sf6Fi0eHPgWSwjcm6wZsmKIv+tWA=",
155    "./js/codeHighlight.js": "sha256-116IhHRQAhcWBLt0/YmOSDnM3OTy+iGbPx9fP3Pv8ik=",
156    "./js/codeHighlight.vatufc54q1.js": "sha256-116IhHRQAhcWBLt0/YmOSDnM3OTy+iGbPx9fP3Pv8ik=",
157    "./js/featuredImageCrop.js": "sha256-DIAwRoWosn8OQelLKWTdBJ9UbFfgI0sQHc2C4J3HzPc=",
158    "./js/featuredImageCrop.k2bwgsw627.js": "sha256-DIAwRoWosn8OQelLKWTdBJ9UbFfgI0sQHc2C4J3HzPc=",
159    "./js/fileTransfer.js": "sha256-aK21o1ITiyaU8UwUZyjFo/BnBPDh9pP06g/+aj86TFg=",
160    "./js/fileTransfer.sfileda5cg.js": "sha256-aK21o1ITiyaU8UwUZyjFo/BnBPDh9pP06g/+aj86TFg=",
161    "./js/galleryImagesCarousel.jnh373uccz.js": "sha256-H6+cqwF4eOA7+9pYXLebpS+C3FURo52s3ANzol3xFss=",
162    "./js/galleryImagesCarousel.js": "sha256-H6+cqwF4eOA7+9pYXLebpS+C3FURo52s3ANzol3xFss=",
163    "./js/galleryMasonry.800crf9pyw.js": "sha256-CPIZa0J4xXdOdZ5fPvayN4p4ktFdjKyFSoxjwd2NAA0=",
164    "./js/galleryMasonry.js": "sha256-CPIZa0J4xXdOdZ5fPvayN4p4ktFdjKyFSoxjwd2NAA0=",
165    "./js/galleryUpload.js": "sha256-ENvkoNHnrpP37BS3AaDDskf0TFGrmhhFqJ1Cro7MfLM=",
166    "./js/galleryUpload.wsa18oh7uv.js": "sha256-ENvkoNHnrpP37BS3AaDDskf0TFGrmhhFqJ1Cro7MfLM=",
167    "./js/imageContextMenu.js": "sha256-e7CL0dxO9N2I8S7taeAXZ33o+83CIVqHp3Y+c5KRZU0=",
168    "./js/imageContextMenu.l8d6n4gr2d.js": "sha256-e7CL0dxO9N2I8S7taeAXZ33o+83CIVqHp3Y+c5KRZU0=",
169    "./js/imageViewer.fxij56w7st.js": "sha256-k6MTqXOqfGpVmLxz3WrS2cePWG+WZ6WmEGogI6CES/U=",
170    "./js/imageViewer.js": "sha256-k6MTqXOqfGpVmLxz3WrS2cePWG+WZ6WmEGogI6CES/U=",
171    "./js/passwordManagerCrypto.eqaqv2p756.js": "sha256-KjAEV/1n/56xCYUo6r7cAIsp00uZ6uMya75nl45K5iI=",
172    "./js/passwordManagerCrypto.js": "sha256-KjAEV/1n/56xCYUo6r7cAIsp00uZ6uMya75nl45K5iI=",
173    "./js/rallyViewer.js": "sha256-EscvYmLV7D0Amtb+Mn3bix/CmBdESfKPvtVdQN/m5+g=",
174    "./js/rallyViewer.mvuz000ddg.js": "sha256-EscvYmLV7D0Amtb+Mn3bix/CmBdESfKPvtVdQN/m5+g=",
175    "./js/vendor/embla-carousel.esm.9425i38shj.js": "sha256-B6gKkcGDR3LIQ1/EojS6b4EdqnremRkDqKdYhdYD4Hc=",
176    "./js/vendor/embla-carousel.esm.js": "sha256-B6gKkcGDR3LIQ1/EojS6b4EdqnremRkDqKdYhdYD4Hc=",
177    "./js/vendor/embla-carousel.umd.js": "sha256-8Ftdv+N9ebY2udt0rQTtXpm0vONp14Gw+ziwsqxhnmY=",
178    "./js/vendor/embla-carousel.umd.s5mr3smapc.js": "sha256-8Ftdv+N9ebY2udt0rQTtXpm0vONp14Gw+ziwsqxhnmY=",
179    "./js/videoPlayer.js": "sha256-4WdVd+2A3Nyy//RCVlWw8n5Txl1OHtPFWRbej9D6V40=",
180    "./js/videoPlayer.vkbmc2yvcj.js": "sha256-4WdVd+2A3Nyy//RCVlWw8n5Txl1OHtPFWRbej9D6V40=",
181    "./lib/bootstrap/dist/js/bootstrap.bundle.4094rpi4f9.js": "sha256-bNojyBU9M3Cv/K4YqdKkq4xeaAkchkkS7HXP7554z9Y=",
182    "./lib/bootstrap/dist/js/bootstrap.bundle.js": "sha256-bNojyBU9M3Cv/K4YqdKkq4xeaAkchkkS7HXP7554z9Y=",
183    "./lib/bootstrap/dist/js/bootstrap.bundle.min.hd3gran6i8.js": "sha256-6zfk2L8R3wCgRbZzpkEi7UYC2bc6fYGIgFfNeqyOWnQ=",
184    "./lib/bootstrap/dist/js/bootstrap.bundle.min.js": "sha256-6zfk2L8R3wCgRbZzpkEi7UYC2bc6fYGIgFfNeqyOWnQ=",
185    "./lib/bootstrap/dist/js/bootstrap.esm.js": "sha256-idJzCWndWIhl4ZZvXbuLRTe5wquRfykXbEiDpO7ZsFk=",
186    "./lib/bootstrap/dist/js/bootstrap.esm.ltid2c489k.js": "sha256-idJzCWndWIhl4ZZvXbuLRTe5wquRfykXbEiDpO7ZsFk=",
187    "./lib/bootstrap/dist/js/bootstrap.esm.min.8vyfqsqgz1.js": "sha256-REjSeieVKd00nAKwd6dv7MMhuVKvKctPmLI4iDRs/cc=",
188    "./lib/bootstrap/dist/js/bootstrap.esm.min.js": "sha256-REjSeieVKd00nAKwd6dv7MMhuVKvKctPmLI4iDRs/cc=",
189    "./lib/bootstrap/dist/js/bootstrap.js": "sha256-vqK8KwEVuWidx0Ddm5m5LyBriPDPl9TcjrKZQhkFSVA=",
190    "./lib/bootstrap/dist/js/bootstrap.min.4d85u1mtcx.js": "sha256-aCTIqw9o
190p0XQGYnNe1649V7fnihACD48OP3M8BP2xVM=",
191    "./lib/bootstrap/dist/js/bootstrap.min.js": "sha256-aCTIqw9op0XQGYnNe1649V7fnihACD48OP3M8BP2xVM=",
192    "./lib/bootstrap/dist/js/bootstrap.u9q1upor1n.js": "sha256-vqK8KwEVuWidx0Ddm5m5LyBriPDPl9TcjrKZQhkFSVA=",
193    "./lib/hls/hls.lgvgxsbpq9.mjs": "sha256-RaS7VeU0a/koT6fka2+sfWLc5bkDlNy6l0fUcZQP6m4=",
194    "./lib/hls/hls.mjs": "sha256-RaS7VeU0a/koT6fka2+sfWLc5bkDlNy6l0fUcZQP6m4=",
195    "./_framework/resource-collection.JObhL.js": "sha256-Z9rt7Nyr5oHB2NDYxLFJzNREVtKlnYJ4V8itLsq/s80=",
196    "./_framework/resource-collection.JObhL.js.gz": "sha256-Z9rt7Nyr5oHB2NDYxLFJzNREVtKlnYJ4V8itLsq/s80="
197  }
198}</script>
198
199    <link rel="icon" href="favicon.ico" sizes="any" />
200    <link rel="manifest" href="site.webmanifest" />
201    <title>brianhoskins.uk</title><link rel="canonical" href="https://www.brianhoskins.uk/" />
202    <meta name="description" content="Firmware, electronics, astrophotography, Land Rover projects, photo galleries, and practical tools by Brian Hoskins." />
203    <meta property="og:title" content="brianhoskins.uk" />
204    <meta property="og:description" content="Firmware, electronics, astrophotography, Land Rover projects, photo galleries, and practical tools by Brian Hoskins." />
205    <meta property="og:image" content="https://www.brianhoskins.uk/img/site_banner_green_neg_dark.png" />
206    <meta property="og:url" content="https://www.brianhoskins.uk/" />
207    <meta property="og:type" content="website">
208    <meta name="twitter:card" content="summary_large_image">
209    <meta name="twitter:title" content="brianhoskins.uk" />
210    <meta name="twitter:description" content="Firmware, electronics, astrophotography, Land Rover projects, photo galleries, and practical tools by Brian Hoskins." />
211    <meta name="twitter:image" content="https://www.brianhoskins.uk/img/site_banner_green_neg_dark.png" /></head>
212
213<body class="font-sans antialiased"><div class="antialiased bg-white" b-6izeu3dk78><div class="flex flex-col bg-stone-100 min-h-screen mx-0.5 rounded-2xl border-green-700" style="overflow: clip;" b-6izeu3dk78><div class="relative h-[50px] overflow-hidden " b-6izeu3dk78><img src="img/banner_notext_slim.png" alt class="absolute -inset-px w-[calc(100%&#x2B;2px)] h-[calc(100%&#x2B;2px)] object-cover object-right z-0 pointer-events-none select-none block" aria-hidden="true" b-6izeu3dk78 /><div class="relative z-10 h-full px-6 flex items-center justify-between text-stone-100" b-6izeu3dk78><a href="/" aria-label="Go to home" class="h-full flex items-center" b-6izeu3dk78><img src="img/logo-with-glow-small.png" alt="brianhoskins.uk" class="h-full object-contain" b-6izeu3dk78 /></a><nav class="hidden lg:flex gap-4 ml-auto" b-6izeu3dk78><a href="/" style="order: 100;" b-6izeu3dk78>Home</a><a href="/articles" style="order: 200;" b-6izeu3dk78>Articles</a><a href="/galleries" style="order: 300;" b-6izeu3dk78>Gallery</a><div class="relative" style="order: 400;" b-6izeu3dk78><button popovertarget="desktop-menu-about" class="inline-flex items-center gap-x-1" b-6izeu3dk78><span b-6izeu3dk78>About</span>
214						<svg viewBox="0 0 20 20" fill="currentColor" data-slot="icon" aria-hidden="true" class="size-5" b-6izeu3dk78><path d="M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z" clip-rule="evenodd" fill-rule="evenodd" b-6izeu3dk78></path></svg></button>
215
216					<el-popover id="desktop-menu-about" anchor="bottom" popover class="w-screen max-w-max overflow-visible bg-transparent px-4 transition transition-discrete [--anchor-gap:--spacing(5)] backdrop:bg-transparent open:flex data-closed:translate-y-1 data-closed:opacity-0 data-enter:duration-200 data-enter:ease-out data-leave:duration-150 data-leave:ease-in" b-6izeu3dk78><div class="w-screen max-w-sm flex-auto overflow-hidden rounded-3xl bg-green-700 text-stone-100 text-sm/6 shadow-2xl shadow-black/50 outline-1 outline-green-100/5 " b-6izeu3dk78><div class="p-4" b-6izeu3dk78><a href="/contact" data-enhance-nav="false" class="group relative flex gap-x-6 rounded-lg p-4 hover:bg-green-800"><div class="mt-1 flex size-11 flex-none items-center justify-center rounded-lg"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="size-6 text-gray-100 group-hover:text-lime-400" focusable="false" aria-hidden="true"><path d="M4 4h16v16H4z" /><path d="m22 6-10 7L2 6" /></svg></div>
217    <div><span class="font-semibold text-gray-100">Contact</span>
218        <p class="mt-1 text-gray-300">Get in touch with the site team</p></div></a><a href="/privacy-policy" data-enhance-nav="false" class="group relative flex gap-x-6 rounded-lg p-4 hover:bg-green-800"><div class="mt-1 flex size-11 flex-none items-center justify-center rounded-lg"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="size-6 text-gray-100 group-hover:text-lime-400" focusable="false" aria-hidden="true"><path d="M12 3c4.97 0 9 4.03 9 9s-4.03 9-9 9-9-4.03-9-9 4.03-9 9-9Z" /><path d="M12 8v4" />
218<path d="M12 16h.01" /></svg></div>
219    <div><span class="font-semibold text-gray-100">Privacy Policy</span>
220        <p class="mt-1 text-gray-300">How the site handles account and Google sign-in data</p></div></a></div></div></el-popover></div>
221				<div class="relative" style="order: 500;" b-6izeu3dk78><button popovertarget="desktop-menu-solutions" class="inline-flex items-center gap-x-1" b-6izeu3dk78><span b-6izeu3dk78>Tools</span>
222						<svg viewBox="0 0 20 20" fill="currentColor" data-slot="icon" aria-hidden="true" class="size-5" b-6izeu3dk78><path d="M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z" clip-rule="evenodd" fill-rule="evenodd" b-6izeu3dk78></path></svg></button>
223
224					<el-popover id="desktop-menu-solutions" anchor="bottom" popover class="w-screen max-w-max overflow-visible bg-transparent px-4 transition transition-discrete [--anchor-gap:--spacing(5)] backdrop:bg-transparent open:flex data-closed:translate-y-1 data-closed:opacity-0 data-enter:duration-200 data-enter:ease-out data-leave:duration-150 data-leave:ease-in" b-6izeu3dk78><div class="w-screen max-w-md flex-auto overflow-hidden rounded-3xl bg-green-700 text-stone-100 text-sm/6 shadow-2xl shadow-black/50 outline-1 outline-green-100/5 " b-6izeu3dk78><div class="p-4" b-6izeu3dk78><a href="/cbor" data-enhance-nav="false" class="group relative flex gap-x-6 rounded-lg p-4 hover:bg-green-800"><div class="mt-1 flex size-11 flex-none items-center justify-center rounded-lg"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="size-6 text-gray-100 group-hover:text-lime-400" focusable="false" aria-hidden="true"><path d="M8 3H5a2 2 0 0 0-2 2v3" /><path d="M16 3h3a2 2 0 0 1 2 2v3" /><path d="M8 21H5a2 2 0 0 1-2-2v-3" /><path d="M16 21h3a2 2 0 0 0 2-2v-3" /><path d="M7 8h10v8H7z" /><path d="M10 11h4" /><path d="M10 13h4" /></svg></div>
225    <div><span class="font-semibold text-gray-100">CBOR Type Explainer</span>
226        <p class="mt-1 text-gray-300">Encode and inspect CBOR data types and their headers</p></div></a><a href="/cryptography" data-enhance-nav="false" class="group relative flex gap-x-6 rounded-lg p-4 hover:bg-green-800"><div class="mt-1 flex size-11 flex-none items-center justify-center rounded-lg"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="size-6 text-gray-100 group-hover:text-lime-400" focusable="false" aria-hidden="true"><path d="M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z" /><circle cx="16.5" cy="7.5" r=".5" /></svg></div>
227    <div><span class="font-semibold text-gray-100">Cryptography</span>
228        <p class="mt-1 text-gray-300">Useful tools for working with cryptography</p></div></a><a href="/camc/whats-on" data-enhance-nav="false" class="group relative flex gap-x-6 rounded-lg p-4 hover:bg-green-800"><div class="mt-1 flex size-11 flex-none items-center justify-center rounded-lg"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="size-6 text-gray-100 group-hover:text-lime-400" focusable="false" aria-hidden="true"><path d="M18 19V9a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v8a2 2 0 0 0 2 2h2" /><path d="M2 9h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2" /><path d="M22 17v1a1 1 0 0 1-1 1H10v-9a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v9" /><circle cx="8" cy="19" r="2" /></svg></div>
229    <div><span class="font-semibold text-gray-100">CaMC Tools</span>
230        <p class="mt-1 text-gray-300">Caravan &amp; Motorhome Club rally viewer/planner</p></div></a><a href="/knowledgebase" data-enhance-nav="false" class="group relative flex gap-x-6 rounded-lg p-4 hover:bg-green-800"><div class="mt-1 flex size-11 flex-none items-center justify-center rounded-lg"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="size-6 text-gray-100 group-hover:text-lime-400" focusable="false" aria-hidden="true"><path d="M12 18V5" /><path d="M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4" /><path d="M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5" /><path d="M17.997 5.125a4 4 0 0 1 2.526 5.77" /><path d="M18 18a4 4 0 0 0 2-7.464" /><path d="M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517" /><path d="M6 18a4 4 0 0 1-2-7.464" /><path d="M6.003 5.125a4 4 0 0 0-2.526 5.77" /></svg></div>
231    <div><span class="font-semibold text-gray-100">Knowledgebase</span>
232        <p class="mt-1 text-gray-300">Create a wiki style knowledgebase for documenting important information.</p></div></a></div></div></el-popover></div><div class="user-avatar-container" style="order: 9999;
232" b-6izeu3dk78><button popovertarget="desktop-user-menu" class="avatar-button" b-6izeu3dk78><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="avatar-icon" b-6izeu3dk78><path fill-rule="evenodd" d="M7.5 6a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM3.751 20.105a8.25 8.25 0 0 1 16.498 0 .75.75 0 0 1-.437.695A18.683 18.683 0 0 1 12 22.5c-2.786 0-5.433-.608-7.812-1.7a.75.75 0 0 1-.437-.695Z" clip-rule="evenodd" b-6izeu3dk78></path></svg></button><el-popover id="desktop-user-menu" anchor="bottom" popover class="user-menu-popover" b-6izeu3dk78><div class="user-menu-content" b-6izeu3dk78><div class="menu-items" b-6izeu3dk78><a href="/Account/Login" class="menu-item" b-6izeu3dk78><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="menu-icon" b-6izeu3dk78><path fill-rule="evenodd" d="M7.5 3.75A1.5 1.5 0 0 0 6 5.25v13.5a1.5 1.5 0 0 0 1.5 1.5h6a1.5 1.5 0 0 0 1.5-1.5V15a.75.75 0 0 1 1.5 0v3.75a3 3 0 0 1-3 3h-6a3 3 0 0 1-3-3V5.25a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3V9A.75.75 0 0 1 15 9V5.25a1.5 1.5 0 0 0-1.5-1.5h-6Zm10.72 4.72a.75.75 0 0 1 1.06 0l3 3a.75.75 0 0 1 0 1.06l-3 3a.75.75 0 1 1-1.06-1.06l1.72-1.72H9a.75.75 0 0 1 0-1.5h10.94l-1.72-1.72a.75.75 0 0 1 0-1.06Z" clip-rule="evenodd" b-6izeu3dk78></path></svg>
233									Log in
234								</a></div></div></el-popover></div></nav>
235			
236			<div class="flex lg:hidden justify-between" b-6izeu3dk78><button type="button" id="mobile-menu-toggle" class="-m-2.5 inline-flex items-center justify-center rounded-md p-2.5 text-stone-100" b-6izeu3dk78><span class="sr-only" b-6izeu3dk78>Open main menu</span>
237      				<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" class="size-6" aria-hidden="true" b-6izeu3dk78><path d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5" stroke-linecap="round" stroke-linejoin="round" b-6izeu3dk78></path></svg></button></div></div></div>
238	
239	<div id="mobile-menu-backdrop" class="fixed inset-0 z-40 lg:hidden cursor-pointer hidden" aria-hidden="true" b-6izeu3dk78></div>
240	
241	<div id="mobile-menu-panel" class="fixed inset-y-0 right-0 z-50 w-full overflow-y-auto bg-white p-6 sm:max-w-sm sm:ring-1 sm:ring-gray-900/10 lg:hidden hidden" b-6izeu3dk78><div class="flex items-center justify-between" b-6izeu3dk78><button type="button" id="mobile-menu-close" class="-m-2.5 rounded-md p-2.5 text-gray-700" b-6izeu3dk78><span class="sr-only" b-6izeu3dk78>Close menu</span>
242				<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" data-slot="icon" aria-hidden="true" class="size-6" b-6izeu3dk78><path d="M6 18 18 6M6 6l12 12" stroke-linecap="round" stroke-linejoin="round" b-6izeu3dk78></path></svg></button></div>
243			<div class="mt-6 flow-root" b-6izeu3dk78><div class="-my-6" b-6izeu3dk78><div class="space-y-2 py-6 flex flex-col" b-6izeu3dk78><div class="-mx-3" b-6izeu3dk78></div>
244				<div style="order: 100;" b-6izeu3dk78><a href="/" class="-mx-3 block rounded-lg px-3 py-2 text-base/7 font-semibold text-gray-900 hover:bg-gray-50" b-6izeu3dk78>Home</a></div>
245				<div style="order: 200;" b-6izeu3dk78><a href="/articles" class="-mx-3 block rounded-lg px-3 py-2 text-base/7 font-semibold text-gray-900 hover:bg-gray-50" b-6izeu3dk78>Articles</a></div>
246				<div style="order: 300;" b-6izeu3dk78><a href="/galleries" class="-mx-3 block rounded-lg px-3 py-2 text-base/7 font-semibold text-gray-900 hover:bg-gray-50" b-6izeu3dk78>Gallery</a></div>
247				<div style="order: 400;" b-6izeu3dk78><button type="button" id="mobile-about-toggle" data-mobile-submenu-toggle="true" data-mobile-submenu-id="mobile-about-submenu" data-mobile-chevron-id="mobile-about-chevron" class="-mx-3 flex w-full items-center justify-between rounded-lg px-3 py-2 text-base/7 font-semibold text-gray-900 hover:bg-gray-50" b-6izeu3dk78>
248					About
249					<svg id="mobile-about-chevron" viewBox="0 0 20 20" fill="currentColor" data-slot="icon" aria-hidden="true" class="size-5 flex-none" b-6izeu3dk78><path d="M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z" clip-rule="evenodd" fill-rule="evenodd" b-6izeu3dk78></path></svg></button>
250				<div id="mobile-about-submenu" data-mobile-submenu="true" class="mt-2 block space-y-2 hidden" b-6izeu3dk78><a href="/contact" data-enhance-nav="false" class="block w-full rounded-lg py-2 pr-3 pl-6 text-sm/7 font-semibold text-gray-900 hover:bg-gray-50" b-6izeu3dk78>Contact</a><a href="/privacy-policy" data-enhance-nav="false" class="block w-full rounded-lg py-2 pr-3 pl-6 text-sm/7 font-semibold text-gray-900 hover:bg-gray-50" b-6izeu3dk78>Privacy Policy</a></div></div>
251				<div style="order: 500;" b-6izeu3dk78><button type="button" id="mobile-tools-toggle" data-mobile-submenu-toggle="true" data-mobile-submenu-id="mobile-tools-submenu" data-mobile-chevron-id="mobile-tools-chevron" class="-mx-3 flex w-full items-center justify-between rounded-lg px-3 py-2 text-base/7 font-semibold text-gray-900 hover:bg-gray-50" b-6izeu3dk78>
252					Tools
253					<svg id="mobile-tools-chevron" viewBox="0 0 20 20" fill="currentColor" data-slot="icon" aria-hidden="true" class="size-5 flex-none" b-6izeu3dk78><path d="M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z" clip-rule="evenodd" fill-rule="evenodd" b-6izeu3dk78></path></svg></button>
254					<div id="mobile-tools-submenu" data-mobile-submenu="true" class="mt-2 block space-y-2 hidden" b-6izeu3dk78><a href="/cbor" data-enhance-nav="false" class="block w-full rounded-lg py-2 pr-3 pl-6 text-sm/7 font-semibold text-gray-900 hover:bg-gray-50" b-6izeu3dk78>CBOR Type Explainer</a><a href="/cryptography" data-enhance-nav="false" class="block w-full rounded-lg py-2 pr-3 pl-6 text-sm/7 font-semibold text-gray-900 hover:bg-gray-50" b-6izeu3dk78>Cryptography</a><a href="/camc/whats-on" data-enhance-nav="false" class="block w-full rounded-lg py-2 pr-3 pl-6 text-sm/7 font-semibold text-gray-900 hover:bg-gray-50" b-6izeu3dk78>CaMC Tools</a><a href="/knowledgebase" data-enhance-nav="false" class="block w-full rounded-lg py-2 pr-3 pl-6 text-sm/7 font-semibold text-gray-900 hover:bg-gray-50" b-6izeu3dk78>Knowledgebase</a></div></div></div><div class="py-6" b-6izeu3dk78><a href="/Account/Login" class="-mx-3 flex items-center gap-3 rounded-lg px-3 py-2.5 text-base/7 font-semibold text-gray-900 hover:bg-gray-50" b-6izeu3dk78><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="w-6 h-6" b-6izeu3dk78><path fill-rule="evenodd" d="M7.5 3.75A1.5 1.5 0 0 0 6 5.25v13.5a1.5 1.5 0 0 0 1.5 1.5h6a1.5 1.5 0 0 0 1.5-1.5V15a.75.75 0 0 1 1.5 0v3.75a3 3 0 0 1-3 3h-6a3 3 0 0 1-3-3V5.25a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3V9A.75.75 0 0 1 15 9V5.25a1.5 1.5 0 0 0-1.5-1.5h-6Zm10.72 4.72a.75.75 0 0 1 1.06 0l3 3a.75.75 0 0 1 0 1.06l-3 3a.75.75 0 1 1-1.06-1.06l1.72-1.72H9a.75.75 0 0 1 0-1.5h10.94l-1.72-1.72a.75.75 0 0 1 0-1.06Z" clip-rule="evenodd" b-6izeu3dk78></path></svg>
255							Log in
256						</a></div></div></div></div>
257
258    
259		<main class="flex-1 px-4 py-3 lg:px-6 lg:py-6" b-6izeu3dk78><div class="w-full h-full " b-6izeu3dk78><!--Blazor-WebAssembly:{"environmentName":"Production","environmentVariables":{}}--><!--Blazor:{"type":"webassembly","prerenderId":"f0215ed98e5742cd9964e3e9ddcba3b4","key":{"locationHash":"CF6BDBB0E5DB6731EC568C5C89524C9FCEFD7FD21333808B015E5C11623EDC73:0","formattedComponentKey":""},"assembly":"BHUK.WebUI.Server.Client","typeName":"BHUK.WebUI.Server.Client.Features.Home.Pages.Home","parameterDefinitions":"W10=","parameterValues":"W10="}-->
260
261
262
263
264
265<div class="mx-auto max-w-7xl sm:px-6 lg:px-8"><section><div><img src="img/personal-avatar-small.png" alt="Me" class="block my-4 w-[100px] lg:w-[150px]">
266        <h1>Firmware &amp; Electronics Engineer, Astrophotographer, Land Rover enthusiast.</h1>
267        <p>My name is Brian, I'm a Firmware Engineer based in South Wales, UK.</p>
268        <p>Aside from my professional interest in Firmware, I also enjoy Electronics Engineering, and "making stuff" more broadly.</p>
269        <p>I tinker with Astrophotography as a hobby, and this interest has also spilled over into photography in general - although I confess that I don't have much of an 'eye' for it unfortunately. So I won't be giving up the day job!</p>
270        <p>I've got an interest in Land Rovers (the classic ones) which I've had since childhood. I own an old style Defender 110, which means I can quite often be found underneath it fixing stuff. And when it's not broken I like to go camping in it.</p>
271        <p>
272            I write articles about my various interests, which you may browse here on this website.<br>
273            I also publish a gallery holding some of my best photos, although be warned that my best is not that great. You may browse those in the Galleries section.<br>
274            And finally I also use this website to host a few tools that I've developed to make my life easier. If you find them useful too, they are free to use.
275        </p></div>
276    <div class="py-12 sm:py-12"><div class="mx-auto max-w-7xl px-2 sm:px-6 lg:px-8"><div class="flex flex-wrap items-center gap-x-8 gap-y-6"><a href="https://github.com/bh4017" target="_blank" rel="noopener noreferrer" class="group"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 98 96" fill="currentColor" class="max-h-10 w-full sm:max-h-12 text-bjh hover:text-bjh/80 transition-colors" aria-hidden="true"><path d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.691 2.427.49 3.316-1.059 3.316-2.3
27662 0-1.165-.082-5.022-.082-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.183-5.704-5.42-7.17-5.42-7.17-4.448-3.015.327-3.015.327-3.015 4.934.327 7.523 5.103 7.523 5.103 4.367 7.496 11.404 5.378 14.235 4.074.409-3.178 1.699-5.378 3.098-6.605-10.839-1.165-22.281-5.378-22.281-24.19 0-5.378 1.94-9.778 5.103-13.2-.491-1.24-2.204-6.27.491-13.036 0 0 4.154-1.327 13.425 5.103a46.74 46.74 0 0 1 12.207-1.632c4.154 0 8.308.573 12.207 1.632 9.271-6.43 13.425-5.103 13.425-5.103 2.695 6.766.982 11.796.491 13.036 3.163 3.422 5.103 7.822 5.103 13.2 0 18.812-11.442 23.025-22.364 24.19 1.776 1.531 3.347 4.48 3.347 9.126 0 6.605-.082 11.928-.082 13.547 0 1.303.89 2.853 3.316 2.362C84.007 89.39 98 70.973 98 49.217 98 22 76.07 0 48.854 0z"></path></svg></a>
277
278                
279                <a href="https://www.facebook.com/profile.php?id=100013069873394" target="_blank" rel="noopener noreferrer" class="group"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="max-h-10 w-full sm:max-h-12 text-bjh hover:text-bjh/80 transition-colors" aria-hidden="true"><path d="M24 12a12 12 0 1 0-13.875 11.875V15.47h-3.3V12h3.3V9.356c0-3.26 1.944-5.062 4.924-5.062 1.428 0 2.924.256 2.924.256v3.218h-1.647c-1.623 0-2.13 1.007-2.13 2.04V12h3.624l-.579 3.47h-3.045v8.405A12 12 0 0 0 24 12"></path></svg></a>
280
281                
282                <a href="https://www.instagram.com/brianjhoskins" target="_blank" rel="noopener noreferrer" class="group"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="max-h-10 w-full sm:max-h-12 text-primary hover:text-primary/80 transition-colors" aria-hidden="true"><path d="M7.5 2h9A5.5 5.5 0 0 1 22 7.5v9A5.5 5.5 0 0 1 16.5 22h-9A5.5 5.5 0 0 1 2 16.5v-9A5.5 5.5 0 0 1 7.5 2m0 1.5A4 4 0 0 0 3.5 7.5v9A4 4 0 0 0 7.5 20.5h9a4 4 0 0 0 4-4v-9a4 4 0 0 0-4-4zm4.5 3A5.5 5.5 0 1 1 6.5 12 5.5 5.5 0 0 1 12 6.5m0 1.5a4 4 0 1 0 4 4 4 4 0 0 0-4-4m5.75-.75a1.25 1.25 0 1 1-1.25 1.25 1.25 1.25 0 0 1 1.25-1.25"></path></svg></a>
283
284                
285                <a href="https://x.com/bh4017" target="_blank" rel="noopener noreferrer" class="group"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="max-h-10 w-full sm:max-h-12 text-primary hover:text-primary/80 transition-colors" aria-hidden="true"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.37l-5.214-6.823-5.97 6.823H1.877l7.73-8.834L1.5 2.25h6.86l4.713 6.175z"></path></svg></a></div></div></div></section><section class="py-8"><h2>From the Blog...</h2>
286            <div class="mt-6 grid grid-cols-3 gap-2 sm:gap-4"><a href="/articles/symmetric-key-diversification" class="relative isolate overflow-hidden rounded-xl sm:rounded-2xl bg-gray-900 block aspect-[2/3] sm:aspect-square transition-all hover:scale-105"><img src="/api/images/d7e595ed-d81f-411a-a13d-7f561c3b034f?size=600" alt="Symmetric Key Diversification" class="absolute inset-0 -z-10 size-full object-cover object-center" /><div class="absolute inset-0 -z-10 bg-linear-to-t from-gray-900 via-gray-900/40"></div>
287                            <div class="absolute inset-0 -z-10 rounded-xl sm:rounded-2xl inset-ring inset-ring-gray-900/10"></div>
288                            <div class="absolute bottom-0 left-0 right-0 px-2 pb-2 sm:px-4 sm:pb-4"><h3 class="text-xs sm:text-base font-semibold text-white line-clamp-2">Symmetric Key Diversification</h3><time class="hidden sm:block mt-1 text-xs text-gray-300">Aug 26, 2026</time><div class="hidden sm:flex mt-1 items-center gap-x-2 text-xs text-gray-300"><img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/7QCEUGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAGgcAigAYkZCTUQwYTAwMGFkODAxMDAwMGYxMDQwMDAwNWQwODAwMDBmZjA4MDAwMDI4MGEwMDAwOTAwYzAwMDA1YjEzMDAwMGU4MTMwMDAwYTQxNDAwMDA3YzE1MDAwMDk1MWUwMDAwAP/bAIQABQYGCwgLCwsLCw0LCwsNDg4NDQ4ODw0ODg4NDxAQEBEREBAQEA8TEhMPEBETFBQTERMWFhYTFhUVFhkWGRYWEgEFBQUKBwoICQkICwgKCAsKCgkJCgoMCQoJCgkMDQsKCwsKCw0MCwsICwsMDAwNDQwMDQoLCg0MDQ0MExQTExOc/8IAEQgAyADIAwEiAAIRAQMRAf/EAKMAAAEFAQEBAAAAAAAAAAAAAAMAAQIEBQYHCBAAAgICAAQFAwMDBQAAAAAAAAECEQMSBBATIQUUIDFhIkFRIzCRQoHhFTJTYvARAAIBAgMFBQcDBQEAAAAAAAABESExAhBBEiBRYaEwMnGBkSJAscHh8PEDktETIzNCUnISAAIBAwMDBQEBAQEAAAAAAAABESExQVFhcYGRoRCxwdHw4SDxMP/aAAwDAQACAAMAAAAB5lbJJNi6HT9XF/OCem4zLle947skrulh6qVhJOkkkqOXq5jxy6OlROKkG0IsKoLgiDpiuiIOmd2lH0HSz1j6hycoEg&#x2B;gvtohKCxzFt26AVG86sJJ0kmSq52hQTZ9HSqlhnDuhKOoO7CcaQ70ZwoU9jHlDZa3IB6dmxYhK/PNQiDlbtjnrWM46VpCZI0Ruk9QwEs6pqVJxzoa9iUchtwKWJR2a5IZvP8AZ8ZOPTLVgAufOw7OGZixeJimhKBouzmUZpNGcUq8ZwSGM0ZNWhdLJsme5nMq1UObJbHIX6Eo&#x2B;mVU9YrFjJnaRIM5LlJmViNXPZy7Xzn6kYfbPmkAS6AcnczCSYomi7qnbilUIYkm5/mfQPP3b0J&#x2B;ZlB&#x2B;llzZIy6JYPKpvRYeE98l3PNcCdNxG5jWrlf0j0LwT1&#x2B;qfbJzdsRNpsWml0sebaS6RucZ26RctCTdZ51r5Empk0iWA5htCwyrcb6J5xFczZsmIPAFtQT5Y92LLE6Q4ZNzva5GpGX
288omUalCYhW5SbPa8KTUoWhSjV1aN5225ebhAT08nmA0/pnC8xtShjeo8C7t1XNiLJj&#x2B;6eD9vGQModN29R4KzxMJem2/OOodbo&#x2B;X1na6PJotLdq25yjlktVZNikOTnbdaV00X4i/v8AO69eVAnI3BdLd44rP2Z1KcBAsySEiQdqdbRx2crcw8Z9lkZnf15clPsa9AnJ&#x2B;kc70UlkDvPVnV0BST2/Oe5yixwcn0Dhr0CZXQ87ZG8&#x2B;06OkXymXqE4ry2XoQZtwtf0HMdcnK3o3B4PU4nf55qwrqz5529QvyWLJPOF&#x2B;pkc8VtnHg9wc6RhFaM0V4lPWsQYzHkw8uveBIlSN2s8qT2Xk8NnJcb9VscBoVSdbq42zSLh4e3h2QZUqx7sSyiRmrSsSSqq/FkB7DvGJqsVEQbKlKsnk7xc2mN8M/oTVDcJHuAM/G&#x2B;jYu08eNw/TlYh5nL0pFbzRelqTeaG9FUV54Tv1FuCn3SS4WHepR4IXoSd/PB&#x2B;jpn86b0ZO/N7FxZ5qT3FAmVqpNH//2gAIAQEAAQUCooSFEWNixNkMZw6lrCTXqkSJDHzooooWCR0GYuD2IcFBCxqJmwTYscomLJKKll2Ie3okSGP1VywwOmjWh1JeWYsAoGpQn39EiQxrlRRRRRRrGBkzqMVxEybbMOJQI9jJxuspcaqx/WQhr6ZDGP0UUUVyo1EhZhT2J8NGaxcJ2jCl6aHAaGiihYrOkPF2KKKEKuVEew3ZGRsWWWbDkjYlyUkhTgbwROSmOETpi1XrXJCZZZZfq1KOkzpUbwRvAeNGsSiijUWNs6bNeepqzUfooaRSMkyU7GND7nTZodM6bO5FvlITRl4zHilubo2RcTZFo7HY2HNjmdQlkT5WWbMsvm5HuZpLHHieJeafA8R1scaK5duVll89UaocV&#x2B;14lCUsJw2fpx8HzXEX7fmzzZ5s80eZPEuNnA8/mMHHfpR8Yyon4zkY&#x2B;51v0&#x2B;D4zyxDjsXTXiGAxcXDKS4mjzp5086edPOnnjzzPPM1NDUUSMDxJXPptnRciUGnTLfPbfBfbwviNCYx879GpqaiiKJxUf1uudRn9UcKOmkeX5OSLgcBOpSR0zpGg4oor15s6wxWTbLk/wB3m8cI5/F1XmsmdvJ1MkV9fi9dTwyClmycPA4uEK4fMs0dSiiihodFH&#x2B;o5B&#x2B;JZBeKTJeKTZm4mWVaWvLo8ujy6I49CMNZLxWSfF8T13w2Z4Z5/EZZI5FOa4HKsMpcfElx7uPGY2S4&#x2B;CJeIxuL3WpQoIo1OkjjMSRP2xXrLikjzZDMpn1cmO&#x2B;c&#x2B;xilsutE68SEtiXDytYciOlkOjkNTWzpoWJGTVpZIs4idR5Qlq&#x2B;T9PFT5456vHHtqjU1Gy0Roj2H9RxeLQlwiUIQciWPUaoVnctm7OpI6sxZpk57OMbHCjHDd4cOSLZ9RQkjVHsWjZHEYusZYpwx5ZYx54xfucC4VKdHVRcB9IfRH00cbFSjh1L&#x2B;nhu&#x2B;RZEbclE2QsiNkTmkZpoUpIuQ1ZoaCtFyO4595Sb57NcvchJxPNyMfEqQ6YqFBCMvEUPvyoZRZZZ7kDNXN8qKKK5Ys7iY5vJyzZSmUaHYsp&#x2B;ixdySG&#x2B;
288VFcqKOjJnl5HRkQjNGzM06KNRUalIoo15Wh0WUNFM1Z7HDzjarnJRZqZszO53Z7cmbG5aE&#x2B;VnY78r57F0YMsWridWBvfL//2gAIAQMAAT8Boor0sYxoa5OR1PW0UUOJqUJFl&#x2B;lmpqhxNTUoor1UaGpXwUalFGpF22v4NTU1NSijU2RshySFkTHNMRCXY2RsjZG6N0brnI7/AI57fApF&#x2B;ubFIcrIyL7jaNkbL88qKKNTKhI19FWaEY9zU15WS7k&#x2B;whQvvZp8o0&#x2B;UaGxBWUaljmN82zbuITLLIz/ImP1VzQsXydM1/bgy&#x2B;X//2gAIAQIAAT8BscjYv0IiIQmWKNnSK9KExMTEzYschxQ16Uzb4N2Rmb/BubDkX6LLNjqCk/yX8mxubGxuTTik/wCTc3NjY2Njc6bNGKDZLDJfIsUk17DMuNttr7mkvwaM6cjpyOlL8HSlzj7nb883D5JRFHkud8oL3HjsUKHErsKLNH9jR/gssscvk6nycFk2jT&#x2B;w5G3Oy6OocTmcY38nm38HmZfH8CY&#x2B;5w8tH&#x2B;F9zhsjndv79h9ifFuLcdL/AL/4POv/AI3/AO/sec/6SI8VbS1avt3/ACanFZXH6V7Ndy/g3Oxj4e&#x2B;77EY129xcmVzslBS91Zk4b7x/gcTD7&#x2B;3&#x2B;OexsWVyslKk3V0PjH9o/yxcU/wADz3/SiCpe3Noa9F8ssPqoliS7iZ//2gAIAQEBBj8C32vQjF7jYtnYeyVRVUKe43ktlcvnbKPcKs9k5EfdTjxeVF5iJmj90XIsVhIezddT2qEdrb3axbKOpWvnlafduBXEjvP0NTU190ucS3aYcOLFDxcviXL79u3eNumE2vTkjjiw0xfzuW9zxLDV09Mv1V/3h2Z5/iTF&#x2B;n/zVeD07XU1Nc8KwPZmsn&#x2B;TEYsWLGttTC4wv5K7L8oPZwrD1JP6cf7bU&#x2B;UD2cMvFx&#x2B;hg/Ux4tnbpxqrkf1K/wDljeBzHkWLFkWRZFkWRYtvYVK7uUtqhF/AtuYcM4Zw4m71t965PDE7WLDr8td23ZYmpbsl5HdO4xuMXtGq8UXXoPKpoNPZe278H2zxPQWK21tP1wsZhe1RYdK8D&#x2B;3M8We3imFQ/SUdyMPjDMfhh&#x2B;YuWH4sqp9hndXojbw&#x2B;y04Wm1F48CdVR&#x2B;PY9z4ndXUrhRojZ2tqsik&#x2B;pr6mvrltcHI3sqscdDaaikG2odIgaWFYW9ZEnilYbGKazBRT0&#x2B;RRYY5/aOB3WKMNCVEeJp6mm5p6GCOI4KlFJbqRqaRnRZt8iXQv0L9DQ9mxcv1O91ZfO5EP6l0eOc9hs7lc7nAuUeaNradpsWKzy3Ll&#x2B;pd&#x2B;pdlyuSIsxN4vZWklI9Sq9Ny6NPU7y5CjEoVxriqDwzBOGGotxyhd675n0bNf2FvXAd1ft&#x2B;h3V&#x2B;2CcPRG1qteTKzSbcxYp5OVaBPzLMtlxNfPOuyU8eSKF3v/AFPrlcu86MsQ6fAt8zh5Zfgi7K9koztv3lcGUjw1KrEQsrl/cbMsWJVMoUdlbfsRiSKQWLZWILe560Jrlck//9oACAEBAgE/IfXpjCRYEOTgXYbSyG/m/wDCT1GhoYYYYayElh&#x2B;wQVqxAoDdoJaDmpIs8Vq4jOnncWif9UFFGhoaGhoYgbCTWGB1Wgmps28ablioW4mOFTyazdMiXd1zUSJQk6kdF2IP9gvpNDD9Bl&#x2B;nROsZkb8CTq50P9I/VSmqCmjbclvgaFXvUSxJjOTE2JOXef1RmkmeC0FRVudf8P1UEGhoj/AYgkJiszqJVYuNR7tOwta0KwN6cii6SEKuX&#x2B;Whrkmtb5H&#x2B;gxXsKsbfieJ&#x2B;i5qdMtwv6XEr67kf4CI1RxgiSagy4eir/Hgcoc9SGGMvSsUwWlDEjoijOgQmTbYXZa2MmXey6f4S9F6EUf5CxIxjGiQzQlwj1GtSC/YPwHyPC37IVVG2tKFK8vWRXohbQ2QkJST9JshCBogUhDPYVrCJ9A2iX0CSHKyKdzYEzE&#x2B;x&#x2B;KEJTwIPUrp5NzS7imfBipOGcS4nRUSItgacjZlmyLSgb3sdFFXcWyaegzRdhIsLsJoUroOFlvoiZPVm4yv1qCQe6CgopevQcnphdC3L3FqbmFJl46l5TEavbI00FDukRoDZJE9SWpL1IbyLMkbKLiPWCPVv1Ri5GaV2jlkjKslEwUpuTmDmjboPofv6IQR6QQQQR6x0MNAk0CXR&#x2B;BSw&#x2B;4heNNkdYTiER/cvolVqZkJuiKb6C2PyYYshll/3T3EUnSWb6kJ6NEdnUUPWhVUKJNvZKtFD3NhgJOFpSROKtmCewkgLw3Dq6x6M9o/R&#x2B;sDYGwbHybXyJzkftPXIvVDuzm&#x2B;ecWFmRz/wacFZ5vF30LDv1G8KcVjgrozo&#x2B;xRKa2i6aK0Rj6Eqpon1kxASmChuVdXdFhvSmw&#x2B;BsT0G9h9Ri9FbROggfenFV4&#x2B;iY3ThtPT7E76f6JOXSREW6yNP2CsDpnI47iSbOIa0dCYhRZZdadCkUNYbMkeP0KWZFpYqW4nRDdSTySKbs2A11Y&#x2B;oa9FBKJEyWuMFdt2QtuqqleHC9xu&#x2B;TWrgRWlpbdCJSpOxZQ1St6mJr&#x2B;EtfQulKrkOfJg0N4avVURkvn&#x2B;COlWCaT9xDP2PYdoZ4UJoipVnMMhxYnRFXoZkRroR0Guwj0GNru4GjugSw&#x2B;GIkk9VpT7k5NK9SHERSkDjMI5VNUNuvcfgw2Z/HAtHGctkCrrQNUPzfjUjUHVjNZyKark050YkcEVnGuEIvJQmngS9pVp9&#x2B;BJ2Wrb8Je44kTJSbfWzsZRtvH2SllZihHGNrvSSMnNsJE3w&#x2B;8wUuyXsSWfJvjuh7zoJUirF0i8bIV6yKFBGHkbQzdMCTX&#x2B;cEqkrQxydPNI0JQhsNUzBBBTUk2pD2oUHe3uPfdR/1fwQJTbWIfwmPM27ojYsiLqR1Sp8vSEnh1gVpr2Hjnf9JF/fgR5mNOkqKLNFkm5JfWjpkiSCA0OS9Vn0t9WZ3Ikk5fwV9HrffgXXk21/0ehQZ3S6R8kGbu454rfCTKlzWJJ6usslgtJgW6qWoiuzeR7qEkLK4/pONSj9wLRtqkmkYdJkmNaMktJ&#x2B;XErLuR5/nPpz/tGqdk/gZNdC8Da&#x2B;xEsro5h73LruRu1gmgyKtm1HQk7Jby&#x2B;BJLFdTj2HO8dUjJT8kFnHM/YouVzb&#x2B;CRVuOahOdU8r&#x2B;xS5&#x2B;5zMOmLW3KgnSy4ryVmTdeYar0fsxxkMWylt8L9A3JvqYia5WjfEaQJkpmL2nZfJTs6zXFBthUPcfwQTLHomLZdX5kQYUrJuBw2vBGVzq3OYGdO8sFl/Gg5wEOhYbKLXwilKJN8FX7GbM7C0X0r/BvWPC92LvK4R8CYqw4R8FjLjRT7UFQqo6&#x2B;VPmSKdB669SknLb0aFNygM1mlERKIlW1Ll8229RJqIOiE4WwmasWv2HKzsyZXJfdJE58kPAVtxTSvggbdzkqMTLUItd2RqZazV9ESsk9oDI4SXaIk3jsU1U05UF0EtXHXUZvL159hLkoqp6k3p0RIqOgo0Ym0shIdSpVtWmSYVrkrSeSGgZw8Hb6KBOLtwM17A&#x2B;0IJm1wflkbnQ60JZW41mOgvwyejuhIqwY9j5cmwfMVF0IWEmJVg3hCUv5Of39GzwcWKcEnlST54FZdiBXYd0OvQ4vDVBjA2tzsTKJT5X0hCxbmlbZFWBLAjUqP9k5JIf1iT/j&#x2B;x6V3YoVWuwjZFTaSUXZPdjNPAirVYuxknoB2bij6kFUXFlXsVVv3ghNpQT0V48EIoe6Uy/oatRU&#x2B;J92L0Pl/VPQmx2kh3Qid0MncUf8AslWPTT&#x2B;
288odSCvBVYo0Q6EnsNbSX0jqQt7EWt1IA6oWY3VNHo0NEw2oyNEpVxEjbScvs//2gAMAwEBAgEDAgAAEOqzRdgALxaXUKjSx42RCA3pcMC9DOZAElhiZ0diGvoY7sVRjeSvKe4yAQ2c1B9LtAO9qQEmtIDVOXIIEfwzowfHdzbaJ6B2lfTo2Q2v6DgxmeYgljWDJyphmzCxbrT0IHwrFBtBRgUkzaCIzHjfvkeFsFbRic4Acs8IQU4IQAf/2gAIAQMBAT8QzUbymcQIWtjwkvwJnceQw8g8xTi3SFWuRwjxrqTEVlQRlA0MrjIrQa/gVizfMxX5gRIbxFlSSbk1RqK1EzUuvIo5UcC0idWhM1GjU54&#x2B;L0Hxzn9M2hE8DNR&#x2B;o8oeRj3LBDkkcSFWWiu4E7QXHmPJ6kbUVJ5bGucCsR58iPM6bMqLJcArIVAj9385SmbU4F0eQm5wR473DkYSo6jPMJ1kpLb55kmkwfYR4yS1fqPfWdErGf/aAAgBAgEBPxDOnLdsMPkIO0XJ6kPEiBOc27KFYKoSSTkTQ9A4jJaM/QjzHkGZJJyIKI30GrhBQMMUHgPwkbtoQyMXwRslaTWVKlB8Q0Ob0p1GlcaqV1FUUDVcJtkLgdRcLqIHI65MSRGZJ9GRFmWVY2S7wSAtAQ6viUCy/FFIkLnzEEJCcknnk1OhMQtVB9pZQlccu/1fwzCFMTDwed1D8kEehQf8AlElOJ&#x2B;YZzzDagR8jOSAjyy2oHIPtqRiczsXHqAcAhq09PqKu9AXSC3BS3SCU1M5R//aAAgBAQIBPxBQq5Gg2dTDQ1VjXBLSyriqzMAQiWdBTYtsoxUTmqr/AJ4elgon&#x2B;7oPrIhjfsRjcCi1PgjyrnQmDSokSZpeUVguIdCzLJoVOByzHX/KTP8A5UQOMxgl2SKAG9hC2oLUdYhKsycMql8B/wA0HpQo7ZXZf56iN9RPaL80qU4SuEHZNKf4foT/AEiL9YMpRFDCddbIsorF8lRxcQKNHS3QjAl0jeCmVggWQGSeEdi67ddSOCq/L/YpQUCdEWwqaxdFMU9jZK4JYX&#x2B;Ggaaif5DWWGH6VveZ6kg0NsBlCdoTmCiQLwzU4Sy6oVa93gyJLwfB5JmtW6nItMo8f4ZIXNm7FO3ThmdAo3S3qSmSb5Ma0OtkuoYNoGwfc&#x2B;AxVR5rHVR4GWEolE8SUqG3zCJcuonZIiVuz5Gik6RnQojc8tsUnobiYguNLOywmCoWkiKrrd1/SurJhKnlqWMOqReCbZ6ECCRqtBfLsQtDs1v3yNbE7mD8qfYn1fzIKSwhSNEoFkSBxoepfpTIZYSRB7JapN9B4oDkVG/wk2KaJzlt&#x2B;B9LDZjVyyez9ydMJhmWN0qgaqzkXrZBKSS3cG6cMuKgUidFulexLZfA1K3TJfI7kPqGF3NLkURW9lBBKFh1vrLGzSWqkqtBVNTf&#x2B;D8zF0RFvTtNGQV8IZ07Wg/lPJBp3&#x2B;xBqhcBInghujHFhBuoZiXmxgc7sx5mHSiQWWV0Z7DZp9USOqs/C9yirtj3K4&#x2B;0KajPqNu7sfucg6DrKTc&#x2B;ijdextfA&#x2B;0r9DSWycUC2zZg0x5CSQNt&#x2B;4xf2GJrpfLK1EUJUjpdtFk6rEsjCIN5KgsrixYTVuEt2I9isWWm0bWpXVsVxJLJUJ4CCWWYodSeZmBW0uZ&#x2B;x0fKwVZSmIbmPZfArRwPCxH/CJ8ey&#x2B;h4H90GLncSKLtIn&#x2B;HAo5KPAkEhQcaidS&#x2B;Rcl1Ot6WVmKONEOJSJHrqf0GsjhMrgXUtxElLv7kToGhp6X/jM/Ihf80/qF9DX2fQ/iH0KCDgylCku76DSMInC5ZtXIx8t5&#x2B;NhI5KXRLAIZgeWsidl&#x2B;SJ/AIGPTSYs8geovCTgXdJxOGPOHu6CO1tNGUrWoaZ3/otfaz9G&#x2B;z9GyX9H9iH3f0Q&#x2B;5jJP975NUuyE38IW4SZ9vo30WkBKDS3dgKc7Wz3Cgp1dVybj6BgoFZptPon3gdbAR0NoLCppFRtq/UYfjYRvZrmnqEx0Ra2mznyQ&#x2B;lY4tAAt5XuKn0KmS5SGSt5oYreQ8nRA3WMg277M2WxbWb7uZnyFceBhZAaqeuAQINEyrURzuW1cBbwi0ORVWo1iY7jvSE/sJMQEKvuFFVcgsyE0mqs8yIKlzTzzkQpJY7WoVKLaGB6kV0/o3nd025Eg0gl3lt6C0W9xrIhaP0dg6OxASfo7EpCOX9nHuaB2xFUCrkIlmGiJELF8URMHViC4Wc9hC/8AoCWCHaFhWgY&#x2B;cZDc8Cr0ipH0GlOyneRq8DxpaoYSrwDh8oudmQTsv8IasyMfwN2TZoxkv&#x2B;CPZy&#x2B;GIdnXgsqsv&#x2B;HY&#x2B;075HtwtR8tmiiR&#x2B;REFVb00mPUuiFoWldMUKVC7L8dxaqFdvy3EE22lZDjwTeuEmM5tdOBwHupwNLyHJ2dZ2fwGPc5U0FuxeqLlLuosSDBeUk&#x2B;W5P7VEWUNxmhBgIATBQ77jqWyoT1hHTwpoOFeGg8pa8iSUqfgOULxzX4ow9h2bsq5eB2kvSReK/r&#x2B;SLFOV&#x2B;2G0UKUVUQ/xYiWKhLVQtpMbTJu1GoiZTg8VfwOCBsK&#x2B;LuDL6SCOEDm4aoNOapm37T6FR09yioqp6VaQKV6DUjC7lL/IhdMWCEqsK/Az4Fgg8SJe4rjsKT8MCAE24TaQL9As8rwJxsi7Ur8SJVVDj6DMlmgUkqNPz3ZdP&#x2B;OSZhl4V33&#x2B;hPcVSV7lyUxqyIJ02I4vzfx1E1TIaj011dl&#x2B;6FGXQ&#x2B;VHuJyOlVzzsKyvZDa0Kibcl7M16fzd5ZUV1OgfdkMNJDBGMPlGpwDNH&#x2B;kpTNNMomrEtJhBrynP4zsg0gRoOZfgv6My6XlfKlIlQkroexFrHV6IS3R4HIdXGrWrcTBcVvtzuyK8ZCVbQk4rwOyDl2Y&#x2B;U4klcvuG0wRv&#x2B;xWXfhf2n2QHSdHsDS0H0CyicJbqLc6vAPcMtiqJ9EtNajXXAGdEG4e6WtdV0TFAhZfBB7Uu9x7kih4cN5QqhFV3s4V3kvENqH5DMUqq8ouzJaL9Okl6tL2LYkOlcBKuIpcPI10GdFC0yYYXEIZu&#x2B;0wdkHLdS&#x2B;SnQSzUC4JaXUYEuqGZMRLvisLMGd0L/hAKINVQV/wKcGn3tq5ZT0IiHKcw7BfwEhP29V1dQ3xGgc/IN0CjUv8A7aELIe9omZ7gfhjoK0K3oeSBVapKubifKh4Sm1muMuVzXWu/2iihgfkXkEzeFL5LEetVLlxRD3Eguux6hqS0NCbiRP2VfQFIaqol2TFpd6CmLurZUoz&#x2B;SX8nXwAzD3YNavcQOot0ybVdMySylXTkbrJejk2zkoYmNcNciioZa&#x2B;SlirMf0LS6mQcoc/zueEkNrQXJW7LWePYk9zuh0Ufkmei&#x2B;XBwxX/8ABwsipEprDX8PuKPa4joogEirr4KlhNFu77Joq7UCxoYIJM5IajTWq3w9CqbBZ/aDaQVadSGpni0Hz9BEAEpr7ycP2B&#x2B;RQ4Gr6BLXYiFutRwfjVjVaKB&#x2B;ig8RLT8n5B2IWoNdwIRaCZco3r7EjmE79KGQFe6grIkS4o3gOGZi1YnBKD/hA3W7kvsQHlfdQ2Ipl96CcOSKWpElMmlVyqmQVBwyI&#x2B;wcJXffwuJqhULLiS8oLkw3fGOzFjepQUE/joZMgqe6fUCphcMjUYfX2PwFdGSw4RJv7n8I3s/4JOV0a9xYBxST&#x2B;gHGdZv8gVeiVqjqS3kc16lcc3DlB5mHmUiqDoGqUtWGW&#x2B;pSAjtbO4Su2W/GgLKjqhz1VwCTmRo7fJJfARk0&#x2B;6r0Hc&#x2B;EFvcUUd1Rs54fyLWe1V4CbmiT3LJBNhXx5Gm1SMUox21&#x2B;0wW0&#x2B;zyTpt3KQ5&#x2B;hppodQkRRvB&#x2B;7Hxy6Hfr7IxGStDWHdPYws1EnxX3Wh0kgr8XHazitb4dixBpE8Ke5/9k=" alt="Brian Hoskins" class="size-4 rounded-full bg-white/10" />
289                                    Brian Hoskins</div></div></a><a href="/articles/sinclair-zx-spectrum-composite-video-modification" class="relative isolate overflow-hidden rounded-xl sm:rounded-2xl bg-gray-900 block aspect-[2/3] sm:aspect-square transition-all hover:scale-105"><img src="/api/images/50d583f3-c193-4143-8037-a16347a944f2?size=600" alt="Sinclair ZX Spectrum Composite Video Modification" class="absolute inset-0 -z-10 size-full object-cover object-center" /><div class="absolute inset-0 -z-10 bg-linear-to-t from-gray-900 via-gray-900/40"></div>
290                            <div class="absolute inset-0 -z-10 rounded-xl sm:rounded-2xl inset-ring inset-ring-gray-900/10"></div>
291                            <div class="absolute bottom-0 left-0 right-0 px-2 pb-2 sm:px-4 sm:pb-4"><h3 class="text-xs sm:text-base font-semibold text-white line-clamp-2">Sinclair ZX Spectrum Composite Video Modification</h3><time class="hidden sm:block mt-1 text-xs text-gray-300">Mar 17, 2013</time><div class="hidden sm:flex mt-1 items-center gap-x-2 text-xs text-gray-300"><img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/7QCEUGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAGgcAigAYkZCTUQwYTAwMGFkODAxMDAwMGYxMDQwMDAwNWQwODAwMDBmZjA4MDAwMDI4MGEwMDAwOTAwYzAwMDA1YjEzMDAwMGU4MTMwMDAwYTQxNDAwMDA3YzE1MDAwMDk1MWUwMDAwAP/bAIQABQYGCwgLCwsLCw0LCwsNDg4NDQ4ODw0ODg4NDxAQEBEREBAQEA8TEhMPEBETFBQTERMWFhYTFhUVFhkWGRYWEgEFBQUKBwoICQkICwgKCAsKCgkJCgoMCQoJCgkMDQsKCwsKCw0MCwsICwsMDAwNDQwMDQoLCg0MDQ0MExQTExOc/8IAEQgAyADIAwEiAAIRAQMRAf/EAKMAAAEFAQEBAAAAAAAAAAAAAAMAAQIEBQYHCBAAAgICAAQFAwMDBQAAAAAAAAECEQMSBBATIQUUIDFhIkFRIzCRQoHhFTJTYvARAAIBAgMFBQcDBQEAAAAAAAABESExAhBBEiBRYaEwMnGBkSJAscHh8PEDktETIzNCUnISAAIBAwMDBQEBAQEAAAAAAAABESExQVFhcYGRoRCxwdHw4SDxMP/aAAwDAQACAAMAAAAB5lbJJNi6HT9XF/OCem4zLle947skrulh6qVhJOkkkqOXq5jxy6OlROKkG0IsKoLgiDpiuiIOmd2lH0HSz1j6hycoEg&#x2B;gvtohKCxzFt26AVG86sJJ0kmSq52hQTZ9HSqlhnDuhKOoO7CcaQ70ZwoU9jHlDZa3IB6dmxYhK/PNQiDlbtjnrWM46VpCZI0Ruk9QwEs6pqVJxzoa9iUchtwKWJR2a5IZvP8AZ8ZOPTLVgAufOw7OGZixeJimhKBouzmUZpNGcUq8ZwSGM0ZNWhdLJsme5nMq1UObJbHIX6Eo&#x2B;mVU9YrFjJnaRIM5LlJmViNXPZy7Xzn6kYfbPmkAS6AcnczCSYomi7qnbilUIYkm5/mfQPP3b0J&#x2B;ZlB&#x2B;llzZIy6JYPKpvRYeE98l3PNcCdNxG5jWrlf0j0LwT1&#x2B;qfbJzdsRNpsWml0sebaS6RucZ26RctCTdZ51r5Empk0iWA5htCwyrcb6J5xFczZsmIPAFtQT5Y92LLE6Q4ZNzva5GpGX
291omUalCYhW5SbPa8KTUoWhSjV1aN5225ebhAT08nmA0/pnC8xtShjeo8C7t1XNiLJj&#x2B;6eD9vGQModN29R4KzxMJem2/OOodbo&#x2B;X1na6PJotLdq25yjlktVZNikOTnbdaV00X4i/v8AO69eVAnI3BdLd44rP2Z1KcBAsySEiQdqdbRx2crcw8Z9lkZnf15clPsa9AnJ&#x2B;kc70UlkDvPVnV0BST2/Oe5yixwcn0Dhr0CZXQ87ZG8&#x2B;06OkXymXqE4ry2XoQZtwtf0HMdcnK3o3B4PU4nf55qwrqz5529QvyWLJPOF&#x2B;pkc8VtnHg9wc6RhFaM0V4lPWsQYzHkw8uveBIlSN2s8qT2Xk8NnJcb9VscBoVSdbq42zSLh4e3h2QZUqx7sSyiRmrSsSSqq/FkB7DvGJqsVEQbKlKsnk7xc2mN8M/oTVDcJHuAM/G&#x2B;jYu08eNw/TlYh5nL0pFbzRelqTeaG9FUV54Tv1FuCn3SS4WHepR4IXoSd/PB&#x2B;jpn86b0ZO/N7FxZ5qT3FAmVqpNH//2gAIAQEAAQUCooSFEWNixNkMZw6lrCTXqkSJDHzooooWCR0GYuD2IcFBCxqJmwTYscomLJKKll2Ie3okSGP1VywwOmjWh1JeWYsAoGpQn39EiQxrlRRRRRRrGBkzqMVxEybbMOJQI9jJxuspcaqx/WQhr6ZDGP0UUUVyo1EhZhT2J8NGaxcJ2jCl6aHAaGiihYrOkPF2KKKEKuVEew3ZGRsWWWbDkjYlyUkhTgbwROSmOETpi1XrXJCZZZZfq1KOkzpUbwRvAeNGsSiijUWNs6bNeepqzUfooaRSMkyU7GND7nTZodM6bO5FvlITRl4zHilubo2RcTZFo7HY2HNjmdQlkT5WWbMsvm5HuZpLHHieJeafA8R1scaK5duVll89UaocV&#x2B;14lCUsJw2fpx8HzXEX7fmzzZ5s80eZPEuNnA8/mMHHfpR8Yyon4zkY&#x2B;51v0&#x2B;D4zyxDjsXTXiGAxcXDKS4mjzp5086edPOnnjzzPPM1NDUUSMDxJXPptnRciUGnTLfPbfBfbwviNCYx879GpqaiiKJxUf1uudRn9UcKOmkeX5OSLgcBOpSR0zpGg4oor15s6wxWTbLk/wB3m8cI5/F1XmsmdvJ1MkV9fi9dTwyClmycPA4uEK4fMs0dSiiihodFH&#x2B;o5B&#x2B;JZBeKTJeKTZm4mWVaWvLo8ujy6I49CMNZLxWSfF8T13w2Z4Z5/EZZI5FOa4HKsMpcfElx7uPGY2S4&#x2B;CJeIxuL3WpQoIo1OkjjMSRP2xXrLikjzZDMpn1cmO&#x2B;c&#x2B;xilsutE68SEtiXDytYciOlkOjkNTWzpoWJGTVpZIs4idR5Qlq&#x2B;T9PFT5456vHHtqjU1Gy0Roj2H9RxeLQlwiUIQciWPUaoVnctm7OpI6sxZpk57OMbHCjHDd4cOSLZ9RQkjVHsWjZHEYusZYpwx5ZYx54xfucC4VKdHVRcB9IfRH00cbFSjh1L&#x2B;nhu&#x2B;RZEbclE2QsiNkTmkZpoUpIuQ1ZoaCtFyO4595Sb57NcvchJxPNyMfEqQ6YqFBCMvEUPvyoZRZZZ7kDNXN8qKKK5Ys7iY5vJyzZSmUaHYsp&#x2B;ixdySG&#x2B;
291VFcqKOjJnl5HRkQjNGzM06KNRUalIoo15Wh0WUNFM1Z7HDzjarnJRZqZszO53Z7cmbG5aE&#x2B;VnY78r57F0YMsWridWBvfL//2gAIAQMAAT8Boor0sYxoa5OR1PW0UUOJqUJFl&#x2B;lmpqhxNTUoor1UaGpXwUalFGpF22v4NTU1NSijU2RshySFkTHNMRCXY2RsjZG6N0brnI7/AI57fApF&#x2B;ubFIcrIyL7jaNkbL88qKKNTKhI19FWaEY9zU15WS7k&#x2B;whQvvZp8o0&#x2B;UaGxBWUaljmN82zbuITLLIz/ImP1VzQsXydM1/bgy&#x2B;X//2gAIAQIAAT8BscjYv0IiIQmWKNnSK9KExMTEzYschxQ16Uzb4N2Rmb/BubDkX6LLNjqCk/yX8mxubGxuTTik/wCTc3NjY2Njc6bNGKDZLDJfIsUk17DMuNttr7mkvwaM6cjpyOlL8HSlzj7nb883D5JRFHkud8oL3HjsUKHErsKLNH9jR/gssscvk6nycFk2jT&#x2B;w5G3Oy6OocTmcY38nm38HmZfH8CY&#x2B;5w8tH&#x2B;F9zhsjndv79h9ifFuLcdL/AL/4POv/AI3/AO/sec/6SI8VbS1avt3/ACanFZXH6V7Ndy/g3Oxj4e&#x2B;77EY129xcmVzslBS91Zk4b7x/gcTD7&#x2B;3&#x2B;OexsWVyslKk3V0PjH9o/yxcU/wADz3/SiCpe3Noa9F8ssPqoliS7iZ//2gAIAQEBBj8C32vQjF7jYtnYeyVRVUKe43ktlcvnbKPcKs9k5EfdTjxeVF5iJmj90XIsVhIezddT2qEdrb3axbKOpWvnlafduBXEjvP0NTU190ucS3aYcOLFDxcviXL79u3eNumE2vTkjjiw0xfzuW9zxLDV09Mv1V/3h2Z5/iTF&#x2B;n/zVeD07XU1Nc8KwPZmsn&#x2B;TEYsWLGttTC4wv5K7L8oPZwrD1JP6cf7bU&#x2B;UD2cMvFx&#x2B;hg/Ux4tnbpxqrkf1K/wDljeBzHkWLFkWRZFkWRYtvYVK7uUtqhF/AtuYcM4Zw4m71t965PDE7WLDr8td23ZYmpbsl5HdO4xuMXtGq8UXXoPKpoNPZe278H2zxPQWK21tP1wsZhe1RYdK8D&#x2B;3M8We3imFQ/SUdyMPjDMfhh&#x2B;YuWH4sqp9hndXojbw&#x2B;y04Wm1F48CdVR&#x2B;PY9z4ndXUrhRojZ2tqsik&#x2B;pr6mvrltcHI3sqscdDaaikG2odIgaWFYW9ZEnilYbGKazBRT0&#x2B;RRYY5/aOB3WKMNCVEeJp6mm5p6GCOI4KlFJbqRqaRnRZt8iXQv0L9DQ9mxcv1O91ZfO5EP6l0eOc9hs7lc7nAuUeaNradpsWKzy3Ll&#x2B;pd&#x2B;pdlyuSIsxN4vZWklI9Sq9Ny6NPU7y5CjEoVxriqDwzBOGGotxyhd675n0bNf2FvXAd1ft&#x2B;h3V&#x2B;2CcPRG1qteTKzSbcxYp5OVaBPzLMtlxNfPOuyU8eSKF3v/AFPrlcu86MsQ6fAt8zh5Zfgi7K9koztv3lcGUjw1KrEQsrl/cbMsWJVMoUdlbfsRiSKQWLZWILe560Jrlck//9oACAEBAgE/IfXpjCRYEOTgXYbSyG/m/wDCT1GhoYYYYayElh&#x2B;wQVqxAoDdoJaDmpIs8Vq4jOnncWif9UFFGhoaGhoYgbCTWGB1Wgmps28ablioW4mOFTyazdMiXd1zUSJQk6kdF2IP9gvpNDD9Bl&#x2B;nROsZkb8CTq50P9I/VSmqCmjbclvgaFXvUSxJjOTE2JOXef1RmkmeC0FRVudf8P1UEGhoj/AYgkJiszqJVYuNR7tOwta0KwN6cii6SEKuX&#x2B;Whrkmtb5H&#x2B;gxXsKsbfieJ&#x2B;i5qdMtwv6XEr67kf4CI1RxgiSagy4eir/Hgcoc9SGGMvSsUwWlDEjoijOgQmTbYXZa2MmXey6f4S9F6EUf5CxIxjGiQzQlwj1GtSC/YPwHyPC37IVVG2tKFK8vWRXohbQ2QkJST9JshCBogUhDPYVrCJ9A2iX0CSHKyKdzYEzE&#x2B;x&#x2B;KEJTwIPUrp5NzS7imfBipOGcS4nRUSItgacjZlmyLSgb3sdFFXcWyaegzRdhIsLsJoUroOFlvoiZPVm4yv1qCQe6CgopevQcnphdC3L3FqbmFJl46l5TEavbI00FDukRoDZJE9SWpL1IbyLMkbKLiPWCPVv1Ri5GaV2jlkjKslEwUpuTmDmjboPofv6IQR6QQQQR6x0MNAk0CXR&#x2B;BSw&#x2B;4heNNkdYTiER/cvolVqZkJuiKb6C2PyYYshll/3T3EUnSWb6kJ6NEdnUUPWhVUKJNvZKtFD3NhgJOFpSROKtmCewkgLw3Dq6x6M9o/R&#x2B;sDYGwbHybXyJzkftPXIvVDuzm&#x2B;ecWFmRz/wacFZ5vF30LDv1G8KcVjgrozo&#x2B;xRKa2i6aK0Rj6Eqpon1kxASmChuVdXdFhvSmw&#x2B;BsT0G9h9Ri9FbROggfenFV4&#x2B;iY3ThtPT7E76f6JOXSREW6yNP2CsDpnI47iSbOIa0dCYhRZZdadCkUNYbMkeP0KWZFpYqW4nRDdSTySKbs2A11Y&#x2B;oa9FBKJEyWuMFdt2QtuqqleHC9xu&#x2B;TWrgRWlpbdCJSpOxZQ1St6mJr&#x2B;EtfQulKrkOfJg0N4avVURkvn&#x2B;COlWCaT9xDP2PYdoZ4UJoipVnMMhxYnRFXoZkRroR0Guwj0GNru4GjugSw&#x2B;GIkk9VpT7k5NK9SHERSkDjMI5VNUNuvcfgw2Z/HAtHGctkCrrQNUPzfjUjUHVjNZyKark050YkcEVnGuEIvJQmngS9pVp9&#x2B;BJ2Wrb8Je44kTJSbfWzsZRtvH2SllZihHGNrvSSMnNsJE3w&#x2B;8wUuyXsSWfJvjuh7zoJUirF0i8bIV6yKFBGHkbQzdMCTX&#x2B;cEqkrQxydPNI0JQhsNUzBBBTUk2pD2oUHe3uPfdR/1fwQJTbWIfwmPM27ojYsiLqR1Sp8vSEnh1gVpr2Hjnf9JF/fgR5mNOkqKLNFkm5JfWjpkiSCA0OS9Vn0t9WZ3Ikk5fwV9HrffgXXk21/0ehQZ3S6R8kGbu454rfCTKlzWJJ6usslgtJgW6qWoiuzeR7qEkLK4/pONSj9wLRtqkmkYdJkmNaMktJ&#x2B;XErLuR5/nPpz/tGqdk/gZNdC8Da&#x2B;xEsro5h73LruRu1gmgyKtm1HQk7Jby&#x2B;BJLFdTj2HO8dUjJT8kFnHM/YouVzb&#x2B;CRVuOahOdU8r&#x2B;xS5&#x2B;5zMOmLW3KgnSy4ryVmTdeYar0fsxxkMWylt8L9A3JvqYia5WjfEaQJkpmL2nZfJTs6zXFBthUPcfwQTLHomLZdX5kQYUrJuBw2vBGVzq3OYGdO8sFl/Gg5wEOhYbKLXwilKJN8FX7GbM7C0X0r/BvWPC92LvK4R8CYqw4R8FjLjRT7UFQqo6&#x2B;VPmSKdB669SknLb0aFNygM1mlERKIlW1Ll8229RJqIOiE4WwmasWv2HKzsyZXJfdJE58kPAVtxTSvggbdzkqMTLUItd2RqZazV9ESsk9oDI4SXaIk3jsU1U05UF0EtXHXUZvL159hLkoqp6k3p0RIqOgo0Ym0shIdSpVtWmSYVrkrSeSGgZw8Hb6KBOLtwM17A&#x2B;0IJm1wflkbnQ60JZW41mOgvwyejuhIqwY9j5cmwfMVF0IWEmJVg3hCUv5Of39GzwcWKcEnlST54FZdiBXYd0OvQ4vDVBjA2tzsTKJT5X0hCxbmlbZFWBLAjUqP9k5JIf1iT/j&#x2B;x6V3YoVWuwjZFTaSUXZPdjNPAirVYuxknoB2bij6kFUXFlXsVVv3ghNpQT0V48EIoe6Uy/oatRU&#x2B;J92L0Pl/VPQmx2kh3Qid0MncUf8AslWPTT&#x2B;
291odSCvBVYo0Q6EnsNbSX0jqQt7EWt1IA6oWY3VNHo0NEw2oyNEpVxEjbScvs//2gAMAwEBAgEDAgAAEOqzRdgALxaXUKjSx42RCA3pcMC9DOZAElhiZ0diGvoY7sVRjeSvKe4yAQ2c1B9LtAO9qQEmtIDVOXIIEfwzowfHdzbaJ6B2lfTo2Q2v6DgxmeYgljWDJyphmzCxbrT0IHwrFBtBRgUkzaCIzHjfvkeFsFbRic4Acs8IQU4IQAf/2gAIAQMBAT8QzUbymcQIWtjwkvwJnceQw8g8xTi3SFWuRwjxrqTEVlQRlA0MrjIrQa/gVizfMxX5gRIbxFlSSbk1RqK1EzUuvIo5UcC0idWhM1GjU54&#x2B;L0Hxzn9M2hE8DNR&#x2B;o8oeRj3LBDkkcSFWWiu4E7QXHmPJ6kbUVJ5bGucCsR58iPM6bMqLJcArIVAj9385SmbU4F0eQm5wR473DkYSo6jPMJ1kpLb55kmkwfYR4yS1fqPfWdErGf/aAAgBAgEBPxDOnLdsMPkIO0XJ6kPEiBOc27KFYKoSSTkTQ9A4jJaM/QjzHkGZJJyIKI30GrhBQMMUHgPwkbtoQyMXwRslaTWVKlB8Q0Ob0p1GlcaqV1FUUDVcJtkLgdRcLqIHI65MSRGZJ9GRFmWVY2S7wSAtAQ6viUCy/FFIkLnzEEJCcknnk1OhMQtVB9pZQlccu/1fwzCFMTDwed1D8kEehQf8AlElOJ&#x2B;YZzzDagR8jOSAjyy2oHIPtqRiczsXHqAcAhq09PqKu9AXSC3BS3SCU1M5R//aAAgBAQIBPxBQq5Gg2dTDQ1VjXBLSyriqzMAQiWdBTYtsoxUTmqr/AJ4elgon&#x2B;7oPrIhjfsRjcCi1PgjyrnQmDSokSZpeUVguIdCzLJoVOByzHX/KTP8A5UQOMxgl2SKAG9hC2oLUdYhKsycMql8B/wA0HpQo7ZXZf56iN9RPaL80qU4SuEHZNKf4foT/AEiL9YMpRFDCddbIsorF8lRxcQKNHS3QjAl0jeCmVggWQGSeEdi67ddSOCq/L/YpQUCdEWwqaxdFMU9jZK4JYX&#x2B;Ggaaif5DWWGH6VveZ6kg0NsBlCdoTmCiQLwzU4Sy6oVa93gyJLwfB5JmtW6nItMo8f4ZIXNm7FO3ThmdAo3S3qSmSb5Ma0OtkuoYNoGwfc&#x2B;AxVR5rHVR4GWEolE8SUqG3zCJcuonZIiVuz5Gik6RnQojc8tsUnobiYguNLOywmCoWkiKrrd1/SurJhKnlqWMOqReCbZ6ECCRqtBfLsQtDs1v3yNbE7mD8qfYn1fzIKSwhSNEoFkSBxoepfpTIZYSRB7JapN9B4oDkVG/wk2KaJzlt&#x2B;B9LDZjVyyez9ydMJhmWN0qgaqzkXrZBKSS3cG6cMuKgUidFulexLZfA1K3TJfI7kPqGF3NLkURW9lBBKFh1vrLGzSWqkqtBVNTf&#x2B;D8zF0RFvTtNGQV8IZ07Wg/lPJBp3&#x2B;xBqhcBInghujHFhBuoZiXmxgc7sx5mHSiQWWV0Z7DZp9USOqs/C9yirtj3K4&#x2B;0KajPqNu7sfucg6DrKTc&#x2B;ijdextfA&#x2B;0r9DSWycUC2zZg0x5CSQNt&#x2B;4xf2GJrpfLK1EUJUjpdtFk6rEsjCIN5KgsrixYTVuEt2I9isWWm0bWpXVsVxJLJUJ4CCWWYodSeZmBW0uZ&#x2B;x0fKwVZSmIbmPZfArRwPCxH/CJ8ey&#x2B;h4H90GLncSKLtIn&#x2B;HAo5KPAkEhQcaidS&#x2B;Rcl1Ot6WVmKONEOJSJHrqf0GsjhMrgXUtxElLv7kToGhp6X/jM/Ihf80/qF9DX2fQ/iH0KCDgylCku76DSMInC5ZtXIx8t5&#x2B;NhI5KXRLAIZgeWsidl&#x2B;SJ/AIGPTSYs8geovCTgXdJxOGPOHu6CO1tNGUrWoaZ3/otfaz9G&#x2B;z9GyX9H9iH3f0Q&#x2B;5jJP975NUuyE38IW4SZ9vo30WkBKDS3dgKc7Wz3Cgp1dVybj6BgoFZptPon3gdbAR0NoLCppFRtq/UYfjYRvZrmnqEx0Ra2mznyQ&#x2B;lY4tAAt5XuKn0KmS5SGSt5oYreQ8nRA3WMg277M2WxbWb7uZnyFceBhZAaqeuAQINEyrURzuW1cBbwi0ORVWo1iY7jvSE/sJMQEKvuFFVcgsyE0mqs8yIKlzTzzkQpJY7WoVKLaGB6kV0/o3nd025Eg0gl3lt6C0W9xrIhaP0dg6OxASfo7EpCOX9nHuaB2xFUCrkIlmGiJELF8URMHViC4Wc9hC/8AoCWCHaFhWgY&#x2B;cZDc8Cr0ipH0GlOyneRq8DxpaoYSrwDh8oudmQTsv8IasyMfwN2TZoxkv&#x2B;CPZy&#x2B;GIdnXgsqsv&#x2B;HY&#x2B;075HtwtR8tmiiR&#x2B;REFVb00mPUuiFoWldMUKVC7L8dxaqFdvy3EE22lZDjwTeuEmM5tdOBwHupwNLyHJ2dZ2fwGPc5U0FuxeqLlLuosSDBeUk&#x2B;W5P7VEWUNxmhBgIATBQ77jqWyoT1hHTwpoOFeGg8pa8iSUqfgOULxzX4ow9h2bsq5eB2kvSReK/r&#x2B;SLFOV&#x2B;2G0UKUVUQ/xYiWKhLVQtpMbTJu1GoiZTg8VfwOCBsK&#x2B;LuDL6SCOEDm4aoNOapm37T6FR09yioqp6VaQKV6DUjC7lL/IhdMWCEqsK/Az4Fgg8SJe4rjsKT8MCAE24TaQL9As8rwJxsi7Ur8SJVVDj6DMlmgUkqNPz3ZdP&#x2B;OSZhl4V33&#x2B;hPcVSV7lyUxqyIJ02I4vzfx1E1TIaj011dl&#x2B;6FGXQ&#x2B;VHuJyOlVzzsKyvZDa0Kibcl7M16fzd5ZUV1OgfdkMNJDBGMPlGpwDNH&#x2B;kpTNNMomrEtJhBrynP4zsg0gRoOZfgv6My6XlfKlIlQkroexFrHV6IS3R4HIdXGrWrcTBcVvtzuyK8ZCVbQk4rwOyDl2Y&#x2B;U4klcvuG0wRv&#x2B;xWXfhf2n2QHSdHsDS0H0CyicJbqLc6vAPcMtiqJ9EtNajXXAGdEG4e6WtdV0TFAhZfBB7Uu9x7kih4cN5QqhFV3s4V3kvENqH5DMUqq8ouzJaL9Okl6tL2LYkOlcBKuIpcPI10GdFC0yYYXEIZu&#x2B;0wdkHLdS&#x2B;SnQSzUC4JaXUYEuqGZMRLvisLMGd0L/hAKINVQV/wKcGn3tq5ZT0IiHKcw7BfwEhP29V1dQ3xGgc/IN0CjUv8A7aELIe9omZ7gfhjoK0K3oeSBVapKubifKh4Sm1muMuVzXWu/2iihgfkXkEzeFL5LEetVLlxRD3Eguux6hqS0NCbiRP2VfQFIaqol2TFpd6CmLurZUoz&#x2B;SX8nXwAzD3YNavcQOot0ybVdMySylXTkbrJejk2zkoYmNcNciioZa&#x2B;SlirMf0LS6mQcoc/zueEkNrQXJW7LWePYk9zuh0Ufkmei&#x2B;XBwxX/8ABwsipEprDX8PuKPa4joogEirr4KlhNFu77Joq7UCxoYIJM5IajTWq3w9CqbBZ/aDaQVadSGpni0Hz9BEAEpr7ycP2B&#x2B;RQ4Gr6BLXYiFutRwfjVjVaKB&#x2B;ig8RLT8n5B2IWoNdwIRaCZco3r7EjmE79KGQFe6grIkS4o3gOGZi1YnBKD/hA3W7kvsQHlfdQ2Ipl96CcOSKWpElMmlVyqmQVBwyI&#x2B;wcJXffwuJqhULLiS8oLkw3fGOzFjepQUE/joZMgqe6fUCphcMjUYfX2PwFdGSw4RJv7n8I3s/4JOV0a9xYBxST&#x2B;gHGdZv8gVeiVqjqS3kc16lcc3DlB5mHmUiqDoGqUtWGW&#x2B;pSAjtbO4Su2W/GgLKjqhz1VwCTmRo7fJJfARk0&#x2B;6r0Hc&#x2B;EFvcUUd1Rs54fyLWe1V4CbmiT3LJBNhXx5Gm1SMUox21&#x2B;0wW0&#x2B;zyTpt3KQ5&#x2B;hppodQkRRvB&#x2B;7Hxy6Hfr7IxGStDWHdPYws1EnxX3Wh0kgr8XHazitb4dixBpE8Ke5/9k=" alt="Brian Hoskins" class="size-4 rounded-full bg-white/10" />
292                                    Brian Hoskins</div></div></a><a href="/articles/digital-multimeter-accuracy" class="relative isolate overflow-hidden rounded-xl sm:rounded-2xl bg-gray-900 block aspect-[2/3] sm:aspect-square transition-all hover:scale-105"><img src="/api/images/28d97697-28c5-4d15-ab55-497089d98bfb?size=600" alt="Digital Multimeter Accuracy Explained" class="absolute inset-0 -z-10 size-full object-cover object-center" /><div class="absolute inset-0 -z-10 bg-linear-to-t from-gray-900 via-gray-900/40"></div>
293                            <div class="absolute inset-0 -z-10 rounded-xl sm:rounded-2xl inset-ring inset-ring-gray-900/10"></div>
294                            <div class="absolute bottom-0 left-0 right-0 px-2 pb-2 sm:px-4 sm:pb-4"><h3 class="text-xs sm:text-base font-semibold text-white line-clamp-2">Digital Multimeter Accuracy Explained</h3><time class="hidden sm:block mt-1 text-xs text-gray-300">Oct 20, 2012</time><div class="hidden sm:flex mt-1 items-center gap-x-2 text-xs text-gray-300"><img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/7QCEUGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAGgcAigAYkZCTUQwYTAwMGFkODAxMDAwMGYxMDQwMDAwNWQwODAwMDBmZjA4MDAwMDI4MGEwMDAwOTAwYzAwMDA1YjEzMDAwMGU4MTMwMDAwYTQxNDAwMDA3YzE1MDAwMDk1MWUwMDAwAP/bAIQABQYGCwgLCwsLCw0LCwsNDg4NDQ4ODw0ODg4NDxAQEBEREBAQEA8TEhMPEBETFBQTERMWFhYTFhUVFhkWGRYWEgEFBQUKBwoICQkICwgKCAsKCgkJCgoMCQoJCgkMDQsKCwsKCw0MCwsICwsMDAwNDQwMDQoLCg0MDQ0MExQTExOc/8IAEQgAyADIAwEiAAIRAQMRAf/EAKMAAAEFAQEBAAAAAAAAAAAAAAMAAQIEBQYHCBAAAgICAAQFAwMDBQAAAAAAAAECEQMSBBATIQUUIDFhIkFRIzCRQoHhFTJTYvARAAIBAgMFBQcDBQEAAAAAAAABESExAhBBEiBRYaEwMnGBkSJAscHh8PEDktETIzNCUnISAAIBAwMDBQEBAQEAAAAAAAABESExQVFhcYGRoRCxwdHw4SDxMP/aAAwDAQACAAMAAAAB5lbJJNi6HT9XF/OCem4zLle947skrulh6qVhJOkkkqOXq5jxy6OlROKkG0IsKoLgiDpiuiIOmd2lH0HSz1j6hycoEg&#x2B;gvtohKCxzFt26AVG86sJJ0kmSq52hQTZ9HSqlhnDuhKOoO7CcaQ70ZwoU9jHlDZa3IB6dmxYhK/PNQiDlbtjnrWM46VpCZI0Ruk9QwEs6pqVJxzoa9iUchtwKWJR2a5IZvP8AZ8ZOPTLVgAufOw7OGZixeJimhKBouzmUZpNGcUq8ZwSGM0ZNWhdLJsme5nMq1UObJbHIX6Eo&#x2B;mVU9YrFjJnaRIM5LlJmViNXPZy7Xzn6kYfbPmkAS6AcnczCSYomi7qnbilUIYkm5/mfQPP3b0J&#x2B;ZlB&#x2B;llzZIy6JYPKpvRYeE98l3PNcCdNxG5jWrlf0j0LwT1&#x2B;qfbJzdsRNpsWml0sebaS6RucZ26RctCTdZ51r5Empk0iWA5htCwyrcb6J5xFczZsmIPAFtQT5Y92LLE6Q4ZNzva5GpGX
294omUalCYhW5SbPa8KTUoWhSjV1aN5225ebhAT08nmA0/pnC8xtShjeo8C7t1XNiLJj&#x2B;6eD9vGQModN29R4KzxMJem2/OOodbo&#x2B;X1na6PJotLdq25yjlktVZNikOTnbdaV00X4i/v8AO69eVAnI3BdLd44rP2Z1KcBAsySEiQdqdbRx2crcw8Z9lkZnf15clPsa9AnJ&#x2B;kc70UlkDvPVnV0BST2/Oe5yixwcn0Dhr0CZXQ87ZG8&#x2B;06OkXymXqE4ry2XoQZtwtf0HMdcnK3o3B4PU4nf55qwrqz5529QvyWLJPOF&#x2B;pkc8VtnHg9wc6RhFaM0V4lPWsQYzHkw8uveBIlSN2s8qT2Xk8NnJcb9VscBoVSdbq42zSLh4e3h2QZUqx7sSyiRmrSsSSqq/FkB7DvGJqsVEQbKlKsnk7xc2mN8M/oTVDcJHuAM/G&#x2B;jYu08eNw/TlYh5nL0pFbzRelqTeaG9FUV54Tv1FuCn3SS4WHepR4IXoSd/PB&#x2B;jpn86b0ZO/N7FxZ5qT3FAmVqpNH//2gAIAQEAAQUCooSFEWNixNkMZw6lrCTXqkSJDHzooooWCR0GYuD2IcFBCxqJmwTYscomLJKKll2Ie3okSGP1VywwOmjWh1JeWYsAoGpQn39EiQxrlRRRRRRrGBkzqMVxEybbMOJQI9jJxuspcaqx/WQhr6ZDGP0UUUVyo1EhZhT2J8NGaxcJ2jCl6aHAaGiihYrOkPF2KKKEKuVEew3ZGRsWWWbDkjYlyUkhTgbwROSmOETpi1XrXJCZZZZfq1KOkzpUbwRvAeNGsSiijUWNs6bNeepqzUfooaRSMkyU7GND7nTZodM6bO5FvlITRl4zHilubo2RcTZFo7HY2HNjmdQlkT5WWbMsvm5HuZpLHHieJeafA8R1scaK5duVll89UaocV&#x2B;14lCUsJw2fpx8HzXEX7fmzzZ5s80eZPEuNnA8/mMHHfpR8Yyon4zkY&#x2B;51v0&#x2B;D4zyxDjsXTXiGAxcXDKS4mjzp5086edPOnnjzzPPM1NDUUSMDxJXPptnRciUGnTLfPbfBfbwviNCYx879GpqaiiKJxUf1uudRn9UcKOmkeX5OSLgcBOpSR0zpGg4oor15s6wxWTbLk/wB3m8cI5/F1XmsmdvJ1MkV9fi9dTwyClmycPA4uEK4fMs0dSiiihodFH&#x2B;o5B&#x2B;JZBeKTJeKTZm4mWVaWvLo8ujy6I49CMNZLxWSfF8T13w2Z4Z5/EZZI5FOa4HKsMpcfElx7uPGY2S4&#x2B;CJeIxuL3WpQoIo1OkjjMSRP2xXrLikjzZDMpn1cmO&#x2B;c&#x2B;xilsutE68SEtiXDytYciOlkOjkNTWzpoWJGTVpZIs4idR5Qlq&#x2B;T9PFT5456vHHtqjU1Gy0Roj2H9RxeLQlwiUIQciWPUaoVnctm7OpI6sxZpk57OMbHCjHDd4cOSLZ9RQkjVHsWjZHEYusZYpwx5ZYx54xfucC4VKdHVRcB9IfRH00cbFSjh1L&#x2B;nhu&#x2B;RZEbclE2QsiNkTmkZpoUpIuQ1ZoaCtFyO4595Sb57NcvchJxPNyMfEqQ6YqFBCMvEUPvyoZRZZZ7kDNXN8qKKK5Ys7iY5vJyzZSmUaHYsp&#x2B;ixdySG&#x2B;
294VFcqKOjJnl5HRkQjNGzM06KNRUalIoo15Wh0WUNFM1Z7HDzjarnJRZqZszO53Z7cmbG5aE&#x2B;VnY78r57F0YMsWridWBvfL//2gAIAQMAAT8Boor0sYxoa5OR1PW0UUOJqUJFl&#x2B;lmpqhxNTUoor1UaGpXwUalFGpF22v4NTU1NSijU2RshySFkTHNMRCXY2RsjZG6N0brnI7/AI57fApF&#x2B;ubFIcrIyL7jaNkbL88qKKNTKhI19FWaEY9zU15WS7k&#x2B;whQvvZp8o0&#x2B;UaGxBWUaljmN82zbuITLLIz/ImP1VzQsXydM1/bgy&#x2B;X//2gAIAQIAAT8BscjYv0IiIQmWKNnSK9KExMTEzYschxQ16Uzb4N2Rmb/BubDkX6LLNjqCk/yX8mxubGxuTTik/wCTc3NjY2Njc6bNGKDZLDJfIsUk17DMuNttr7mkvwaM6cjpyOlL8HSlzj7nb883D5JRFHkud8oL3HjsUKHErsKLNH9jR/gssscvk6nycFk2jT&#x2B;w5G3Oy6OocTmcY38nm38HmZfH8CY&#x2B;5w8tH&#x2B;F9zhsjndv79h9ifFuLcdL/AL/4POv/AI3/AO/sec/6SI8VbS1avt3/ACanFZXH6V7Ndy/g3Oxj4e&#x2B;77EY129xcmVzslBS91Zk4b7x/gcTD7&#x2B;3&#x2B;OexsWVyslKk3V0PjH9o/yxcU/wADz3/SiCpe3Noa9F8ssPqoliS7iZ//2gAIAQEBBj8C32vQjF7jYtnYeyVRVUKe43ktlcvnbKPcKs9k5EfdTjxeVF5iJmj90XIsVhIezddT2qEdrb3axbKOpWvnlafduBXEjvP0NTU190ucS3aYcOLFDxcviXL79u3eNumE2vTkjjiw0xfzuW9zxLDV09Mv1V/3h2Z5/iTF&#x2B;n/zVeD07XU1Nc8KwPZmsn&#x2B;TEYsWLGttTC4wv5K7L8oPZwrD1JP6cf7bU&#x2B;UD2cMvFx&#x2B;hg/Ux4tnbpxqrkf1K/wDljeBzHkWLFkWRZFkWRYtvYVK7uUtqhF/AtuYcM4Zw4m71t965PDE7WLDr8td23ZYmpbsl5HdO4xuMXtGq8UXXoPKpoNPZe278H2zxPQWK21tP1wsZhe1RYdK8D&#x2B;3M8We3imFQ/SUdyMPjDMfhh&#x2B;YuWH4sqp9hndXojbw&#x2B;y04Wm1F48CdVR&#x2B;PY9z4ndXUrhRojZ2tqsik&#x2B;pr6mvrltcHI3sqscdDaaikG2odIgaWFYW9ZEnilYbGKazBRT0&#x2B;RRYY5/aOB3WKMNCVEeJp6mm5p6GCOI4KlFJbqRqaRnRZt8iXQv0L9DQ9mxcv1O91ZfO5EP6l0eOc9hs7lc7nAuUeaNradpsWKzy3Ll&#x2B;pd&#x2B;pdlyuSIsxN4vZWklI9Sq9Ny6NPU7y5CjEoVxriqDwzBOGGotxyhd675n0bNf2FvXAd1ft&#x2B;h3V&#x2B;2CcPRG1qteTKzSbcxYp5OVaBPzLMtlxNfPOuyU8eSKF3v/AFPrlcu86MsQ6fAt8zh5Zfgi7K9koztv3lcGUjw1KrEQsrl/cbMsWJVMoUdlbfsRiSKQWLZWILe560Jrlck//9oACAEBAgE/IfXpjCRYEOTgXYbSyG/m/wDCT1GhoYYYYayElh&#x2B;wQVqxAoDdoJaDmpIs8Vq4jOnncWif9UFFGhoaGhoYgbCTWGB1Wgmps28ablioW4mOFTyazdMiXd1zUSJQk6kdF2IP9gvpNDD9Bl&#x2B;nROsZkb8CTq50P9I/VSmqCmjbclvgaFXvUSxJjOTE2JOXef1RmkmeC0FRVudf8P1UEGhoj/AYgkJiszqJVYuNR7tOwta0KwN6cii6SEKuX&#x2B;Whrkmtb5H&#x2B;gxXsKsbfieJ&#x2B;i5qdMtwv6XEr67kf4CI1RxgiSagy4eir/Hgcoc9SGGMvSsUwWlDEjoijOgQmTbYXZa2MmXey6f4S9F6EUf5CxIxjGiQzQlwj1GtSC/YPwHyPC37IVVG2tKFK8vWRXohbQ2QkJST9JshCBogUhDPYVrCJ9A2iX0CSHKyKdzYEzE&#x2B;x&#x2B;KEJTwIPUrp5NzS7imfBipOGcS4nRUSItgacjZlmyLSgb3sdFFXcWyaegzRdhIsLsJoUroOFlvoiZPVm4yv1qCQe6CgopevQcnphdC3L3FqbmFJl46l5TEavbI00FDukRoDZJE9SWpL1IbyLMkbKLiPWCPVv1Ri5GaV2jlkjKslEwUpuTmDmjboPofv6IQR6QQQQR6x0MNAk0CXR&#x2B;BSw&#x2B;4heNNkdYTiER/cvolVqZkJuiKb6C2PyYYshll/3T3EUnSWb6kJ6NEdnUUPWhVUKJNvZKtFD3NhgJOFpSROKtmCewkgLw3Dq6x6M9o/R&#x2B;sDYGwbHybXyJzkftPXIvVDuzm&#x2B;ecWFmRz/wacFZ5vF30LDv1G8KcVjgrozo&#x2B;xRKa2i6aK0Rj6Eqpon1kxASmChuVdXdFhvSmw&#x2B;BsT0G9h9Ri9FbROggfenFV4&#x2B;iY3ThtPT7E76f6JOXSREW6yNP2CsDpnI47iSbOIa0dCYhRZZdadCkUNYbMkeP0KWZFpYqW4nRDdSTySKbs2A11Y&#x2B;oa9FBKJEyWuMFdt2QtuqqleHC9xu&#x2B;TWrgRWlpbdCJSpOxZQ1St6mJr&#x2B;EtfQulKrkOfJg0N4avVURkvn&#x2B;COlWCaT9xDP2PYdoZ4UJoipVnMMhxYnRFXoZkRroR0Guwj0GNru4GjugSw&#x2B;GIkk9VpT7k5NK9SHERSkDjMI5VNUNuvcfgw2Z/HAtHGctkCrrQNUPzfjUjUHVjNZyKark050YkcEVnGuEIvJQmngS9pVp9&#x2B;BJ2Wrb8Je44kTJSbfWzsZRtvH2SllZihHGNrvSSMnNsJE3w&#x2B;8wUuyXsSWfJvjuh7zoJUirF0i8bIV6yKFBGHkbQzdMCTX&#x2B;cEqkrQxydPNI0JQhsNUzBBBTUk2pD2oUHe3uPfdR/1fwQJTbWIfwmPM27ojYsiLqR1Sp8vSEnh1gVpr2Hjnf9JF/fgR5mNOkqKLNFkm5JfWjpkiSCA0OS9Vn0t9WZ3Ikk5fwV9HrffgXXk21/0ehQZ3S6R8kGbu454rfCTKlzWJJ6usslgtJgW6qWoiuzeR7qEkLK4/pONSj9wLRtqkmkYdJkmNaMktJ&#x2B;XErLuR5/nPpz/tGqdk/gZNdC8Da&#x2B;xEsro5h73LruRu1gmgyKtm1HQk7Jby&#x2B;BJLFdTj2HO8dUjJT8kFnHM/YouVzb&#x2B;CRVuOahOdU8r&#x2B;xS5&#x2B;5zMOmLW3KgnSy4ryVmTdeYar0fsxxkMWylt8L9A3JvqYia5WjfEaQJkpmL2nZfJTs6zXFBthUPcfwQTLHomLZdX5kQYUrJuBw2vBGVzq3OYGdO8sFl/Gg5wEOhYbKLXwilKJN8FX7GbM7C0X0r/BvWPC92LvK4R8CYqw4R8FjLjRT7UFQqo6&#x2B;VPmSKdB669SknLb0aFNygM1mlERKIlW1Ll8229RJqIOiE4WwmasWv2HKzsyZXJfdJE58kPAVtxTSvggbdzkqMTLUItd2RqZazV9ESsk9oDI4SXaIk3jsU1U05UF0EtXHXUZvL159hLkoqp6k3p0RIqOgo0Ym0shIdSpVtWmSYVrkrSeSGgZw8Hb6KBOLtwM17A&#x2B;0IJm1wflkbnQ60JZW41mOgvwyejuhIqwY9j5cmwfMVF0IWEmJVg3hCUv5Of39GzwcWKcEnlST54FZdiBXYd0OvQ4vDVBjA2tzsTKJT5X0hCxbmlbZFWBLAjUqP9k5JIf1iT/j&#x2B;x6V3YoVWuwjZFTaSUXZPdjNPAirVYuxknoB2bij6kFUXFlXsVVv3ghNpQT0V48EIoe6Uy/oatRU&#x2B;J92L0Pl/VPQmx2kh3Qid0MncUf8AslWPTT&#x2B;
294odSCvBVYo0Q6EnsNbSX0jqQt7EWt1IA6oWY3VNHo0NEw2oyNEpVxEjbScvs//2gAMAwEBAgEDAgAAEOqzRdgALxaXUKjSx42RCA3pcMC9DOZAElhiZ0diGvoY7sVRjeSvKe4yAQ2c1B9LtAO9qQEmtIDVOXIIEfwzowfHdzbaJ6B2lfTo2Q2v6DgxmeYgljWDJyphmzCxbrT0IHwrFBtBRgUkzaCIzHjfvkeFsFbRic4Acs8IQU4IQAf/2gAIAQMBAT8QzUbymcQIWtjwkvwJnceQw8g8xTi3SFWuRwjxrqTEVlQRlA0MrjIrQa/gVizfMxX5gRIbxFlSSbk1RqK1EzUuvIo5UcC0idWhM1GjU54&#x2B;L0Hxzn9M2hE8DNR&#x2B;o8oeRj3LBDkkcSFWWiu4E7QXHmPJ6kbUVJ5bGucCsR58iPM6bMqLJcArIVAj9385SmbU4F0eQm5wR473DkYSo6jPMJ1kpLb55kmkwfYR4yS1fqPfWdErGf/aAAgBAgEBPxDOnLdsMPkIO0XJ6kPEiBOc27KFYKoSSTkTQ9A4jJaM/QjzHkGZJJyIKI30GrhBQMMUHgPwkbtoQyMXwRslaTWVKlB8Q0Ob0p1GlcaqV1FUUDVcJtkLgdRcLqIHI65MSRGZJ9GRFmWVY2S7wSAtAQ6viUCy/FFIkLnzEEJCcknnk1OhMQtVB9pZQlccu/1fwzCFMTDwed1D8kEehQf8AlElOJ&#x2B;YZzzDagR8jOSAjyy2oHIPtqRiczsXHqAcAhq09PqKu9AXSC3BS3SCU1M5R//aAAgBAQIBPxBQq5Gg2dTDQ1VjXBLSyriqzMAQiWdBTYtsoxUTmqr/AJ4elgon&#x2B;7oPrIhjfsRjcCi1PgjyrnQmDSokSZpeUVguIdCzLJoVOByzHX/KTP8A5UQOMxgl2SKAG9hC2oLUdYhKsycMql8B/wA0HpQo7ZXZf56iN9RPaL80qU4SuEHZNKf4foT/AEiL9YMpRFDCddbIsorF8lRxcQKNHS3QjAl0jeCmVggWQGSeEdi67ddSOCq/L/YpQUCdEWwqaxdFMU9jZK4JYX&#x2B;Ggaaif5DWWGH6VveZ6kg0NsBlCdoTmCiQLwzU4Sy6oVa93gyJLwfB5JmtW6nItMo8f4ZIXNm7FO3ThmdAo3S3qSmSb5Ma0OtkuoYNoGwfc&#x2B;AxVR5rHVR4GWEolE8SUqG3zCJcuonZIiVuz5Gik6RnQojc8tsUnobiYguNLOywmCoWkiKrrd1/SurJhKnlqWMOqReCbZ6ECCRqtBfLsQtDs1v3yNbE7mD8qfYn1fzIKSwhSNEoFkSBxoepfpTIZYSRB7JapN9B4oDkVG/wk2KaJzlt&#x2B;B9LDZjVyyez9ydMJhmWN0qgaqzkXrZBKSS3cG6cMuKgUidFulexLZfA1K3TJfI7kPqGF3NLkURW9lBBKFh1vrLGzSWqkqtBVNTf&#x2B;D8zF0RFvTtNGQV8IZ07Wg/lPJBp3&#x2B;xBqhcBInghujHFhBuoZiXmxgc7sx5mHSiQWWV0Z7DZp9USOqs/C9yirtj3K4&#x2B;0KajPqNu7sfucg6DrKTc&#x2B;ijdextfA&#x2B;0r9DSWycUC2zZg0x5CSQNt&#x2B;4xf2GJrpfLK1EUJUjpdtFk6rEsjCIN5KgsrixYTVuEt2I9isWWm0bWpXVsVxJLJUJ4CCWWYodSeZmBW0uZ&#x2B;x0fKwVZSmIbmPZfArRwPCxH/CJ8ey&#x2B;h4H90GLncSKLtIn&#x2B;HAo5KPAkEhQcaidS&#x2B;Rcl1Ot6WVmKONEOJSJHrqf0GsjhMrgXUtxElLv7kToGhp6X/jM/Ihf80/qF9DX2fQ/iH0KCDgylCku76DSMInC5ZtXIx8t5&#x2B;NhI5KXRLAIZgeWsidl&#x2B;SJ/AIGPTSYs8geovCTgXdJxOGPOHu6CO1tNGUrWoaZ3/otfaz9G&#x2B;z9GyX9H9iH3f0Q&#x2B;5jJP975NUuyE38IW4SZ9vo30WkBKDS3dgKc7Wz3Cgp1dVybj6BgoFZptPon3gdbAR0NoLCppFRtq/UYfjYRvZrmnqEx0Ra2mznyQ&#x2B;lY4tAAt5XuKn0KmS5SGSt5oYreQ8nRA3WMg277M2WxbWb7uZnyFceBhZAaqeuAQINEyrURzuW1cBbwi0ORVWo1iY7jvSE/sJMQEKvuFFVcgsyE0mqs8yIKlzTzzkQpJY7WoVKLaGB6kV0/o3nd025Eg0gl3lt6C0W9xrIhaP0dg6OxASfo7EpCOX9nHuaB2xFUCrkIlmGiJELF8URMHViC4Wc9hC/8AoCWCHaFhWgY&#x2B;cZDc8Cr0ipH0GlOyneRq8DxpaoYSrwDh8oudmQTsv8IasyMfwN2TZoxkv&#x2B;CPZy&#x2B;GIdnXgsqsv&#x2B;HY&#x2B;075HtwtR8tmiiR&#x2B;REFVb00mPUuiFoWldMUKVC7L8dxaqFdvy3EE22lZDjwTeuEmM5tdOBwHupwNLyHJ2dZ2fwGPc5U0FuxeqLlLuosSDBeUk&#x2B;W5P7VEWUNxmhBgIATBQ77jqWyoT1hHTwpoOFeGg8pa8iSUqfgOULxzX4ow9h2bsq5eB2kvSReK/r&#x2B;SLFOV&#x2B;2G0UKUVUQ/xYiWKhLVQtpMbTJu1GoiZTg8VfwOCBsK&#x2B;LuDL6SCOEDm4aoNOapm37T6FR09yioqp6VaQKV6DUjC7lL/IhdMWCEqsK/Az4Fgg8SJe4rjsKT8MCAE24TaQL9As8rwJxsi7Ur8SJVVDj6DMlmgUkqNPz3ZdP&#x2B;OSZhl4V33&#x2B;hPcVSV7lyUxqyIJ02I4vzfx1E1TIaj011dl&#x2B;6FGXQ&#x2B;VHuJyOlVzzsKyvZDa0Kibcl7M16fzd5ZUV1OgfdkMNJDBGMPlGpwDNH&#x2B;kpTNNMomrEtJhBrynP4zsg0gRoOZfgv6My6XlfKlIlQkroexFrHV6IS3R4HIdXGrWrcTBcVvtzuyK8ZCVbQk4rwOyDl2Y&#x2B;U4klcvuG0wRv&#x2B;xWXfhf2n2QHSdHsDS0H0CyicJbqLc6vAPcMtiqJ9EtNajXXAGdEG4e6WtdV0TFAhZfBB7Uu9x7kih4cN5QqhFV3s4V3kvENqH5DMUqq8ouzJaL9Okl6tL2LYkOlcBKuIpcPI10GdFC0yYYXEIZu&#x2B;0wdkHLdS&#x2B;SnQSzUC4JaXUYEuqGZMRLvisLMGd0L/hAKINVQV/wKcGn3tq5ZT0IiHKcw7BfwEhP29V1dQ3xGgc/IN0CjUv8A7aELIe9omZ7gfhjoK0K3oeSBVapKubifKh4Sm1muMuVzXWu/2iihgfkXkEzeFL5LEetVLlxRD3Eguux6hqS0NCbiRP2VfQFIaqol2TFpd6CmLurZUoz&#x2B;SX8nXwAzD3YNavcQOot0ybVdMySylXTkbrJejk2zkoYmNcNciioZa&#x2B;SlirMf0LS6mQcoc/zueEkNrQXJW7LWePYk9zuh0Ufkmei&#x2B;XBwxX/8ABwsipEprDX8PuKPa4joogEirr4KlhNFu77Joq7UCxoYIJM5IajTWq3w9CqbBZ/aDaQVadSGpni0Hz9BEAEpr7ycP2B&#x2B;RQ4Gr6BLXYiFutRwfjVjVaKB&#x2B;ig8RLT8n5B2IWoNdwIRaCZco3r7EjmE79KGQFe6grIkS4o3gOGZi1YnBKD/hA3W7kvsQHlfdQ2Ipl96CcOSKWpElMmlVyqmQVBwyI&#x2B;wcJXffwuJqhULLiS8oLkw3fGOzFjepQUE/joZMgqe6fUCphcMjUYfX2PwFdGSw4RJv7n8I3s/4JOV0a9xYBxST&#x2B;gHGdZv8gVeiVqjqS3kc16lcc3DlB5mHmUiqDoGqUtWGW&#x2B;pSAjtbO4Su2W/GgLKjqhz1VwCTmRo7fJJfARk0&#x2B;6r0Hc&#x2B;EFvcUUd1Rs54fyLWe1V4CbmiT3LJBNhXx5Gm1SMUox21&#x2B;0wW0&#x2B;zyTpt3KQ5&#x2B;hppodQkRRvB&#x2B;7Hxy6Hfr7IxGStDWHdPYws1EnxX3Wh0kgr8XHazitb4dixBpE8Ke5/9k=" alt="Brian Hoskins" class="size-4 rounded-full bg-white/10" />
295                                    Brian Hoskins</div></div></a></div></section></div><!--Blazor:{"prerenderId":"f0215ed98e5742cd9964e3e9ddcba3b4"}--></div></main>
296
297    
298	    <div class="relative h-[50px] overflow-hidden " b-6izeu3dk78><img src="img/banner_footer_notext_slim.png" alt class="absolute -inset-px w-[calc(100%&#x2B;2px)] h-[calc(100%&#x2B;2px)] object-cover object-right z-0 pointer-events-none select-none block" aria-hidden="true" b-6izeu3dk78 /><div class="relative z-10 h-full px-6 flex items-center justify-between gap-4 " b-6izeu3dk78><p class="text-stone-100" b-6izeu3dk78><b b-6izeu3dk78>&#xA9; 2026 brianhoskins.uk.</b></p>
299				<div class="flex items-center gap-4" b-6izeu3dk78><a href="/contact" class="shrink-0 text-sm font-semibold underline underline-offset-4 text-stone-100 decoration-stone-100/40 hover:text-white" b-6izeu3dk78>Contact</a></div></div></div></div></div>
300
301    
302
303
304
305
306<style b-6izeu3dk78>
307    .user-avatar-container {
308        display: inline-flex;
309        align-items: center;
310        margin-left: 1rem;
311    }
312
313    .avatar-button {
314        width: 32px;
315        height: 32px;
316        border-radius: 50%;
317        border: 2px solid rgba(255, 255, 255, 0.3);
318        background: rgba(255, 255, 255, 0.1);
319        padding: 0;
320        cursor: pointer;
321        display: flex;
322        align-items: center;
323        justify-content: center;
324        transition: all 0.2s ease;
325        overflow: hidden;
326    }
327
328    .avatar-button:hover {
329        border-color: rgba(255, 255, 255, 0.6);
330        background: rgba(255, 255, 255, 0.2);
331        transform: scale(1.05);
332    }
333
334    .avatar-image {
335        width: 100%;
336        height: 100%;
337        object-fit: cover;
338        border-radius: 50%;
339    }
340
341    .avatar-icon {
342        width: 18px;
343        height: 18px;
344        color: rgba(255, 255, 255, 0.9);
345    }
346
347    .user-menu-popover {
348        width: max-content;
349        max-width: 320px;
350        overflow: visible;
351        background: transparent;
352        padding: 1rem;
353        transition: all 0.2s ease;
354    }
355
356    .user-menu-popover[open] {
357        display: flex;
358        opacity: 1;
359        transform: translateY(0);
360    }
361
362    .user-menu-popover:not([open]) {
363        opacity: 0;
364        transform: translateY(-0.5rem);
365    }
366
367    .user-menu-content {
368        width: 100%;
369        overflow: hidden;
370        border-radius: 0.75rem;
371        background: var(--layout-menu-background, rgb(21, 128, 61)); /* green-700 fallback */
372        color: var(--layout-menu-foreground, rgb(245, 245, 244)); /* stone-100 fallback */
373        font-size: 0.875rem;
374        line-height: 1.5rem;
375        box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.4);
376        border: 1px solid rgba(255, 255, 255, 0.05);
377        -webkit-backdrop-filter: blur(8px);
378        backdrop-filter: blur(8px);
379    }
380
381    .user-info {
382        padding: 1rem;
383        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
384    }
385
386    .user-name {
387        font-weight: 600;
388        font-size: 1rem;
389        color: inherit;
390        margin-bottom: 0.25rem;
391    }
392
393    .user-email {
394        font-size: 0.875rem;
395        color: color-mix(in srgb, currentColor 75%, transparent);
396    }
397
398    .menu-divider {
399        height: 1px;
400        background: rgba(255, 255, 255, 0.1);
401    }
402
403    .menu-items {
404        padding: 0.5rem;
405    }
406
407    .user-menu-content .menu-item {
408        display: flex;
409        align-items: center;
410        gap: 0.75rem;
411        border-radius: 0.5rem;
412        padding: 0.75rem 1rem;
413        font-weight: 600;
414        color: inherit;
415        text-decoration: none;
416        transition: background-color 0.2s ease, color 0.2s ease;
417        cursor: pointer;
418        width: 100%;
419        border: none;
420        background: transparent;
421        text-align: left;
422        font-family: inherit;
423        font-size: inherit;
424    }
425
426    .user-menu-content .menu-item:hover {
427        background-color: var(--layout-menu-hover, rgb(22, 101, 52)); /* green-800 fallback */
428        color: var(--layout-menu-hover-foreground, rgb(245, 245, 244));
429    }
430
431    .menu-item-button {
432        margin-top: 0.25rem;
433    }
434
435    .menu-item-button:disabled {
436        opacity: 0.6;
437        cursor: not-allowed;
438    }
439
440    .menu-icon {
441        width: 1.25rem;
442        height: 1.25rem;
443        flex-shrink: 0;
444    }
445</style>
446    
446<script src="/_content/PSC.Blazor.Components.MarkdownEditor/js/easymde.min.js"></script>
446
447    
447<script src="/_content/PSC.Blazor.Components.MarkdownEditor/js/markdownEditor.js"></script>
447
448    
449    
449<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/quill.js"></script>
449
450    
450<script src="_content/Blazored.TextEditor/quill-blot-formatter.min.js"></script>
450
451    
451<script src="_content/Blazored.TextEditor/Blazored-BlazorQuill.js"></script>
451
452    
453    
454    
454<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js"></script>
454
455    
455<script>
456        window.highlightCodeElement = function (el) {
457            if (!el || typeof hljs === 'undefined') return;
458            el.removeAttribute('data-highlighted');
459            hljs.highlightElement(el);
460        };
461
462        window.tableEditorTab = {
463            bind: function (element, dotNetRef) {
464                if (!element || element._tableTabBound) {
465                    return;
466                }
467
468                element._tableTabHandler = function (event) {
469                    if (event.key !== 'Tab') {
470                        return;
471                    }
472
473                    event.preventDefault();
474                    event.stopPropagation();
475                    dotNetRef.invokeMethodAsync('HandleTableTab', event.shiftKey);
476                };
477
478                element.addEventListener('keydown', element._tableTabHandler, true);
479                element._tableTabBound = true;
480            },
481            unbind: function (element) {
482                if (!element || !element._tableTabHandler) {
483                    return;
484                }
485
486                element.removeEventListener('keydown', element._tableTabHandler, true);
487                element._tableTabBound = false;
488                element._tableTabHandler = null;
489            }
490        };
491
492        window.alertEditor = {
493            bind: async function (element, dotNetRef) {
494                if (!element || element._alertEditorBound) {
495                    return true;
496                }
497
498                let editorHost;
499                for (let attempt = 0; attempt < 20; attempt++) {
500                    editorHost = element.querySelector('.ql-container');
501                    if (editorHost && editorHost.__quill) {
502                        break;
503                    }
504
505                    await new Promise(resolve => setTimeout(resolve, 25));
506                }
507
508                if (!editorHost || !editorHost.__quill) {
509                    return false;
510                }
511
512                editorHost.__quill.on('text-change', function () {
513                    dotNetRef.invokeMethodAsync('HandleEditorChanged', editorHost.__quill.root.innerHTML);
514                });
515                element._alertEditorBound = true;
516                return true;
517            }
518        };
519    </script>
519
520    
521    
521<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.js"></script>
521
522    
522<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/contrib/auto-render.min.js"></script>
522
523    
523<script>
524        window.renderLatexElement = function (el, latex) {
525            if (!el) return;
526            el.textContent = latex ?? '';
527            if (typeof renderMathInElement !== 'undefined') {
528                renderMathInElement(el, {
529                    delimiters: [
530                        { left: '$$', right: '$$', display: true },
531                        { left: '$', right: '$', display: false },
532                        { left: '\\[', right: '\\]', display: true },
533                        { left: '\\(', right: '\\)', display: false }
534                    ],
535                    throwOnError: false
536                });
537            }
538        };
539    </script>
539
540    
540<script type="module" src="https://cdn.jsdelivr.net/npm/@tailwindplus/elements@1"></script>
540
541    
541<script>
542        // -----------------------------------------------------------------------
543        // FIX: Native Popover API top-layer leak
544        //
545        // The desktop nav uses el-popover / native [popover] elements (Tools menu,
546        // user avatar menu). Native popovers live in the browser's top layer, which
547        // is NOT affected by display:none on ancestors. When the viewport shrinks to
548        // mobile (<1024px) the parent nav becomes display:none (hidden lg:flex) but
549        // any open popover remains in the top layer — invisible yet intercepting
550        // every click, making the whole app appear frozen.
551        //
552        // The same problem occurs on Blazor enhanced navigation: the DOM is morphed
553        // rather than replaced, so a popover left open before navigation stays open.
554        //
555        // Fix: close all open [popover] elements after navigation and on resize to
556        // mobile. hidePopover() on an already-closed popover throws; we suppress it.
557        // -----------------------------------------------------------------------
558        (function () {
559            function closeAllPopovers() {
560                document.querySelectorAll('[popover]').forEach(function (el) {
561                    try { el.hidePopover(); } catch (e) { }
562                });
563            }
564
565            // After every Blazor enhanced navigation, purge any open popovers.
566            window.addEventListener('blazor:navigated', closeAllPopovers);
567
568            // When the viewport enters mobile width, purge open popovers immediately
569            // (the desktop-nav trigger is now hidden but the popover may still be open).
570            var mq = window.matchMedia('(max-width: 1023px)');
571            mq.addEventListener('change', function (e) {
572                if (e.matches) closeAllPopovers();
573            });
574            // Run once on load in case the page is already at mobile width.
575            if (mq.matches) closeAllPopovers();
576        })();
577
578        // -----------------------------------------------------------------------
579        // FIX: bfcache stale WASM state
580        //
581        // Mobile browsers restore WASM pages from the back-forward cache with the
582        // component tree frozen in its last state. Force a reload on bfcache restore
583        // so Blazor starts with a clean component tree.
584        // -----------------------------------------------------------------------
585        window.addEventListener('pageshow', function (event) {
586            if (event.persisted) {
587                window.location.reload();
588            }
589        });
590    </script>
590
591    
591<script>
592        // -----------------------------------------------------------------------
593        // Mobile menu JavaScript driver
594        //
595        // Previously the mobile menu was driven by Blazor C# state (showMobileMenu bool)
596        // in the layout. Toggling that state triggered server-side re-renders which
597        // patched the DOM, disrupting the WebAssembly component roots embedded in the Body slot.
598        //
599        // The menu is driven from JavaScript using event delegation on `document`.
600        // Event delegation survives Blazor's enhanced-navigation DOM morphing, so
601        // listeners never need re-attaching after page transitions.
602        // -----------------------------------------------------------------------
603        (function () {
604            function closeMobileMenu() {
605                var backdrop = document.getElementById('mobile-menu-backdrop');
606                var panel    = document.getElementById('mobile-menu-panel');
607                if (backdrop) backdrop.classList.add('hidden');
608                if (panel) {
609                    // iOS Safari keeps a touch-scroll observer alive on overflow:auto elements
610                    // even after display:none. Changing overflow before hiding forces iOS to
611                    // release that observer so subsequent taps aren't swallowed.
612                    panel.style.overflowY = 'hidden';
613                    panel.scrollTop = 0;
614                    panel.classList.add('hidden');
615                    requestAnimationFrame(function () { panel.style.overflowY = ''; });
616                }
617                // Belt-and-suspenders: ensure no native popover is stuck in the top layer
618                document.querySelectorAll('[popover]').forEach(function (el) {
619                    try { el.hidePopover(); } catch (e) { }
620                });
621                document.querySelectorAll('[data-mobile-submenu]').forEach(function (menu) {
622                    menu.classList.add('hidden');
623                });
624                document.querySelectorAll('[data-mobile-submenu-toggle]').forEach(function (toggle) {
625                    var chevronId = toggle.getAttribute('data-mobile-chevron-id');
626                    var chevron = chevronId ? document.getElementById(chevronId) : null;
627                    if (chevron) chevron.classList.remove('rotate-180');
628                });
629            }
630
631            function setSubmenu(menuId, chevronId, open) {
632                var menu    = document.getElementById(menuId);
633                var chevron = document.getElementById(chevronId);
634                if (menu)    menu.classList.toggle('hidden', !open);
635                if (chevron) chevron.classList.toggle('rotate-180', open
635);
636            }
637
638            function toggleSubmenu(menuId, chevronId) {
639                var menu = document.getElementById(menuId);
640                if (!menu) return;
641                setSubmenu(menuId, chevronId, menu.classList.contains('hidden'));
642            }
643
644            document.addEventListener('click', function (e) {
645                var target = e.target instanceof Element ? e.target : e.target && e.target.parentElement;
646                if (!target) return;
647
648                if (target.closest('#mobile-menu-toggle')) {
649                    var backdrop = document.getElementById('mobile-menu-backdrop');
650                    var panel    = document.getElementById('mobile-menu-panel');
651                    if (backdrop) backdrop.classList.remove('hidden');
652                    if (panel)    panel.classList.remove('hidden');
653                    return;
654                }
655                if (target.closest('#mobile-menu-close') ||
656                    target.closest('#mobile-menu-backdrop')) {
657                    closeMobileMenu();
658                    return;
659                }
660                var submenuToggle = target.closest('[data-mobile-submenu-toggle]');
661                if (submenuToggle) {
662                    toggleSubmenu(
663                        submenuToggle.getAttribute('data-mobile-submenu-id'),
664                        submenuToggle.getAttribute('data-mobile-chevron-id'));
665                    return;
666                }
667
668                // For any navigation link inside the mobile panel, close the menu but
669                // let the browser and Blazor handle navigation normally. Same-page
670                // clicks won't navigate, but the menu still needs to close cleanly.
671                var panelLink = target.closest('#mobile-menu-panel a[href]');
672                if (panelLink) {
673                    closeMobileMenu();
674                    return;
675                }
676            }, true); // capture phase — fires before Blazor's click handler
677
678            // Close menu after every Blazor enhanced navigation.
679            window.addEventListener('blazor:navigated', closeMobileMenu);
680        })();
681    </script>
681
682
683    
683<script src="_framework/blazor.web.f7fxoh55ae.js"></script>
683</body></html><!--Blazor-Server-Component-State:CfDJ8EDKvfFFR8xFvoZJ3oqFv0CbruIcPpZpws7iFgzc39Mohw8LabWGdCTRggH55DGVbalT8a8giPUoMK+VZ/M0uG3kSufGZtep2UDetdIQLlRPqxwtOs4iru8VINlosMqdP126kZDf/j93iOnI8727Uw1zqneVWVTnKMFHDqIEWhajZeUGvAhk+7r3SZjl1hMIHYulIkzYr9HTSXhpmQHsWKJSgkwC9VYixiuhDXyN0GRfEq0W39X0pH71EbWzwQmo3HY4M0W96EVkwN1sgd3xsM8gmDlCuOsCHnRDoo8T40rtycdfV7tbDTv80rVC/vcWF+W6+azQ5DCV6SZ0WmZnrd5WlCd2dKm8WGxcLuGhxJotpJyTRPeYfXT5k9gZF1X4OxxyRwdw/6zK7hBThWj2Wfkh6QmtF/8y09F62U6OWA0F4UCvUXdvH8vTZZbRBmWrq4W/xP4FOO4MsiEfP1PELjKhRTiwqyzKmOgOKQpno7Dd6fP4aGS2JyW3QVseganvlveuEDiteT0TQSs/vXedOJmPzXOTPplxSVikNJ5g3AYA5lsB4hDSsOQlatiMHBvyX0pRYpO7WxmD9hkxzjaV4Idmfc3Emvrpp2cSM9dFCZE9W5pbJGOHg45epfa19/iBbZhFhCuWs+OoJLqonY82Wn4882sKobgdE443xnM+4iO43r/0yIRKy0NLUXWJlr9oiepqROvk+s4gO3MoFATuySCzdNWkzC9ukox0aW7YeS37Y2E3QoVCiMlHSaAckfCVlkWsEeS0BhNMJ/1zHKKFd6+WkvGJ/Wa3KVFdXj99p1CZX5+iQS825B2GAXTvMSl3fQtxDadScYs+FpOoBjxDfv4lYDyNt/4FZisPdvRZKuWvuPzomJcA5HPNwcyCHq1wt57vXQREmhGo58S+E946yE+vrBbpkWHzwzKXHgIPIYQWKXIG9f94/1KD0VtMEUASnJZuCE1xPYXS+GfM+dSAs+FrXoWlCCn+qFz9gWoDDCyiPntOBv4qlOECRlMIBlmaZj3pYHS5qH0vbjypnTDEFD2ZyFzyc5R1Fu6Ton3Tol506M8t7e5cSY17++wMuRsGnuFusIyEoU1ePmWG+9/vRlFWVd2koHXB/jNjf3S+84OZpIOUAjUtWuLU+Zd1f+QfMg==--><!--Blazor-WebAssembly-Component-State:eyJIb21lLkZlYXR1cmVkQXJ0aWNsZXMiOiJXM3NpZEdsMGJHVWlPaUpUZVcxdFpYUnlhV01nUzJWNUlFUnBkbVZ5YzJsbWFXTmhkR2x2YmlJc0luVnliRk5zZFdjaU9pSnplVzF0WlhSeWFXTXRhMlY1TFdScGRtVnljMmxtYVdOaGRHbHZiaUlzSW1SaGRHVlFkV0pzYVhOb1pXUWlPaUl5TURJMkxUQTRMVEkyVkRFMU9qVTBPakV4TGpZME1TSXNJbVpsWVhSMWNtVmtTVzFoWjJWSlJDSTZJbVEzWlRVNU5XVmtMV1E0TVdZdE5ERXhZUzFoTVROa0xUZG1OVFl4WXpOaU1ETTBaaUlzSW1GMWRHaHZjazVoYldVaU9pSkNjbWxoYmlCSWIzTnJhVzV6SWl3aVlYVjBhRzl5VUhKdlptbHNaVWx0WVdkbFZYSnNJam9pWkdGMFlUcHBiV0ZuWlM5cWNHVm5PMkpoYzJVMk5Dd3ZPV292TkVGQlVWTnJXa3BTWjBGQ1FWRkJRVUZSUVVKQlFVUXZOMUZEUlZWSGFIWmtSemw2WVVjNWQwbEVUWFZOUVVFMFVXdHNUa0pCVVVGQlFVRkJRVWRuWTBGcFowRlphMXBEVkZWUmQxbFVRWGROUjBaclQwUkJlRTFFUVhkTlIxbDRUVVJSZDAxRVFYZE9WMUYzVDBSQmQwMUVRbTFhYWtFMFRVUkJkMDFFU1RSTlIwVjNUVVJCZDA5VVFYZFpla0YzVFVSQk1WbHFSWHBOUkVGM1RVZFZORTFVVFhkTlJFRjNXVlJSZUU1RVFYZE5SRUV6V1hwRk1VMUVRWGROUkdzeFRWZFZkMDFFUVhkQlVDOWlRVWxSUVVKUldVZERkMmRNUTNkelRFTjNNRXhEZDNOT1JHYzBUa1JSTkU5RWR6QlBSR2MwVGtSNFFWRkZRa1ZTUlVKQlVVVkJPRlJGYUUxUVJVSkZWRVpDVVZSRlVrMVhSbWhaVkVab1ZWWkdhR3RYUjFKWlYwVm5SVVpDVVZWTFFuZHZTVU5SYTBsRGQyZExRMEZ6UzBObmEwcERaMjlOUTFGdlNrTm5hMDFFVVhOTFEzZHpTME4zTUUxRGQzTkpRM2R6VFVSQmQwNUVVWGROUkZGdlRFTm5NRTFFVVRCTlJYaFJWRVY0VDJNdk9FbEJSVkZuUVhsQlJFbEJkMFZwUVVGSlVrRlJUVkpCWmk5RlFVdE5RVUZCUlVaQlVVVkNRVUZCUVVGQlFVRkJRVUZCUVVGTlFVRlJTVVZDVVZsSVEwSkJRVUZuU1VOQlFWRkdRWGROUkVKUlFVRkJRVUZCUVVGRlEwVlJUVk5DUWtGVVNWRlZWVWxFUm1oSmEwWlNTWHBEVWxGdlNHaEdWRXBVV1haQlVrRkJTVUpCWjAxR1FsRmpSRUpSUlVGQlFVRkJRVUZCUWtWVFJYaEJhRUpDUldsQ1VsbGhSWGROYmtkQ2ExTktRWE5qU0dnNFVFVkVhM1JGVkVsNlRrTlZia2xUUVVGSlFrRjNUVVJDVVVWQ1FWRkZRVUZCUVVGQlFVRkNSVk5GZUZGV1JtaGpXVWRTYjFKRGVIZGtTSGMwVTBSNFRWQXZZVUZCZDBSQlVVRkRRVUZOUVVGQlFVSTFiR0pLU2s1cE5raFVPVmhHTDA5RFpXMDBla3hzWlRrME4zTnJjblZzYURaeFZtaEtUMnRyYTNGUFdIRTFhbmg1Tms5c1VrOUxhMGN3U1hOTGIweG5hVVJ3YVhWcFNVOXRaREpzU0RCSVUzb3hhalpvZVdOdlJXZGNkVEF3TWtKbmRuUnZhRXREZUhwR2RESTJRVlpIT0RaelNrb3dhMjFUY1RVeWFGRlVXamxJVTNGc2FHNUVkV2hMVDI5UE4wTmpZVkUzTUZwM2IxVTVha2hzUkZwaE0wbENObVJ0ZUZsb1N5OVFUbEZwUkd4aWRHcHVjbGROT
683kRaV2NFTmFTVEJTZFdzNVVYZEZjelp3Y1ZaS2VIcHZZVGxwVldOb2RIZExWMHBTTW1FMVNWcDJVRGhCV2poYVQxQlVURlpuUVhWbVQzYzNUMGRhYVhobFNtbHRhRXRDYjNWNmJWVmFjRTVIWTFWeE9GcDNVMGROTUZwT1YyaGtURXB6YldVMWJrMXhNVlZQWWtwaVNFbFlOa1Z2WEhVd01ESkNiVlpWT1ZseVJtcEtibUZTU1UwMVRHeEtiVlpwVGxoUVduazNXSHB1Tm10WlptSlFiV3RCVXpaQlkyNWpla05UV1c5dGFUZHhibUpwYkZWSldXdHROUzl0WmxGUVVETmlNRXBjZFRBd01rSmFiRUpjZFRBd01rSnNiSHBhU1hrMlNsbFFTM0IyVWxsbFJUazRiRE5RVG1ORFpFNTRSelZxVjNKc1pqQnFNRXgzVkRGY2RUQXdNa0p4Wm1KS2VtUnpVazV3YzFkdGJEQnpaV0poVXpaU2RXTmFNalpTWTNSRFZHUmFOVEZ5TlVWdGNHc3dhVmRCTldoMFEzZDVjbU5pTmtvMWVFWmplbHB6YlVsUVFVWjBVVlExV1RreVRFeEZObEUwV2s1NmRtRTFSM0JIV0c5dFZXRnNRMWxvVnpWVFlsQmhPRXRVVlc5WGFGTnFWakZoVGpVeU1qVmxZbWhCVkRBNGJtMUJNQzl3YmtNNGVIUlRhR3BsYnpoRE4zUXhXRTVwVEVwcVhIVXdNREpDTm1WRU9YWkhVVTF2WkU0eU9WSTBTM3A0VFVwbGJUSXZUMDl2WkdKdlhIVXdNREpDV0RGdVlUWlFTbTkwVEdSeE1qVjVhbXhyZEZaYVRtbHJUMVJ1WW1SaFZqQXdXRFJwTDNZNFFVODJPV1ZXUVc1Sk0wSmtUR1EwTkhKUU1sb3hTMk5DUVhONVUwVnBVV1J4WkdKU2VESmpjbU4zT0ZvNWJHdGFibVl4TldOc1VITmhPVUZ1U2x4MU1EQXlRbXRqTnpCVmJHdEVkbEJXYmxZd1FsTlVNaTlQWlRWNWFYaDNZMjR3UkdoeU1FTmFXRkU0TjFwSE9GeDFNREF5UWpBMlQydFllVzFZY1VVMGNua3lXRzlSV25SM2RHWXdTRTFrWTI1TE0yOHpRalJRVlRSdVpqVTFjWGR5Y1hvMU5USTVVWFo1VjB4S1VFOUdYSFV3TURKQ2NHdGpPRlowYmtobk9YZGpObEpvUm1GTk1GWTBiRkJYYzFGWmVraHJkemgxZG1WQ1NXeFRUakp6T0hGVU1saHJPRTV1U21OaU9WWnpZMEp2VmxOa1luRTBNbnBUVEdnMFpUTm9NbEZhVlhGNE4zTlRlV2xTYlhKVGMxTlRjWEV2Um10Q04wUjJSMHB4YzFaRlVXSkxiRXR6Ym1zM2VHTXliVTQ0VFM5dlZGWkVZMHBJZFVGTkwwZGNkVEF3TWtKcVdYVXdPR1ZPZHk5VWJGbG9OVzVNTUhCR1lucFNaV3h4VkdWaFJ6bEdWVlkxTkZSMk1VWjFRMjR6VTFNMFYwaGxjRkkwU1ZodlUyUXZVRUpjZFRBd01rSnFjRzQ0Tm1Jd1drOHZUamRHZUZvMWNWUXpSa0Z0Vm5Gd1RrZ3ZMekpuUVVsQlVVVkJRVkZWUTI5dlUwWkZWMDVwZUU1clRWcDNObXh5UTFSWWNXdFRTa1JJZW05dmIyOVhRMUl3UjFsMVJESkpZMFpDUTNoeFNtMTNWRmx6WTI5dFRFcExTMnhzTWtsbE0yOXJVMGRRTVZaNWQzZFBiV3BYYURGS1pWZFpjMEZ2UjNCUmJqTTVSV2xSZUhKc1VsSlNVbEpTY2tkQ2EzcHhUVlo0UlhsaVlrMVBTbEZKT1dwS2VIVnpjR05oY1hndlYxRm9jalphUkVkUU1GVlZWVlo1YnpGRmFGcG9WREpLT0U1SFlYaGpTakpxUTJ3MllVaEJZVWRwYVdoWmNrOXJVRVl5UzB0TFJVdDFWa1ZsZHpOYVIxSnpWMWRYWWtScmFsbHNlVlZyYUZSblluZFNUMU50VDBWVWNHa3hXSEpZU2tOYVdscGFabkV4UzA5cmVuQlZZbmRTZGtGbFRrZHpVMmxwYWxWWFRuTTJZazVsWlhCeGVsVm1iMjloVWxOTmEzbFZOMGRPUkRkdVZGcHZaRTAyWWs4MVJuWnNTVlJTYkRSNlNHbHNkV0p2TWxKalZGcEdiemRJV1RKSVRtcHRaRkZzYTFRMVYxZGlUWE4yYlRWSWRWcHdURWhJYVdWS1pXRm1RVGhTTVhOallVczFaSFZXYkd3NE9WVmhiMk5XWEhVd01ESkNNVFJzUTFWelNuY3labkI0T0VoNldFVllOMlp0ZW5wYU5YTTRNR1ZhVUVWMVRtNUJPQzl0VFVoSVpuQlNPRmw1YjI0MGVtdFpYSFV3TURKQ05URjJNRngxTURBeVFrUTBlbmw0UkdweldGUllhVWRCZUdOWVJFdFRORzFxZW5BMU1EZzJaV1JRVDI1dWFucDZVRkJOTVU1RVZWVlRUVVI0U2xoUWNIUnVVbU5wVlVkdVZFeG1VR0ptUW1aaWQzWnBUa05aZURnM09VZHdjV0ZwYVV0S2VGVm1NWFYxWkZKdU9WVmpTMDl0YTJWWU5VOVRUR2RqUWs5d1UxSXdlbkJIWnpSdmIzSXhOWE0yZDNoWFZHSk1heTkzUWpOdE9HTkpOUzlHTVZodGMyMWtka294VFd0V09XWnBPV1JVZDNsRGJHMTVZMUJCTkhWRlN6Um1UWE13WkZOcGFXbG9iMlJHU0Z4MU1EQXlRbTgxUWx4MU1EQXlRa3BhUW1WTFZFcGxTMVJhYlRSdFYxWmhWM1pNYnpoMWFuazJTVFE1UTAxT1dreDRWMU5tUmpoVU1UTjNNbG8wV2pVdlJWcGFTVFZHVDJFMFNFdHpUWEJqWmtWc2VEZDFVRWRaTWxNMFhIVXdNREpDUTBwbFNYaDFURE5YY0ZGdlNXOHhUMnRxYWsxVFVsQXllRmh5VEdscmFucGFSRTF3YmpGamJVOWNkVEF3TWtKalhIVXdNREpDZUdsc2MzVjBSVFk0VTBWMGFWaEVlWFJaWTJsUGJHdFBhbXRPVkZkNmNHOVhTa2RVVm5CYVNYTTBhV1JTTlZGc2NWeDFNREF5UWxRNVVFWlVOVFExTm5aSVNIUnhhbFV4UjNrd1VtOXFNa2c1VW5obFRGRnNkMmxWU1ZGamFWZFFWV0Z2Vm01amRHMDNUM0JKTm5ONFduQnJOVGRQVFdKSVEycElSR1EwWTA5VFRGbzVVbEZyYWxaSWMxZHFXa2hGV1hWeldsbHdkM2cxV2xsNE5UUjRablZqUXpSV1MyUklWbEpqUWpsSlpsSklNREJqWWtaVGFtZ3hURngxTURBeVFtNW9kVngxTURBeVFsSmFSV0pqYkVVeVVYTnBUbXRVYld0YWNHOVZjRWwxVVRGYWIyRkRkRVo1VHpRMU9UVlRZalUzVG1OMlkyaEtlRkJPZVUxbVJYRlJObGx4UmtKRFRYWkZWVkIyZVc5YVVscGFXamRyUkU1WVRqaHhTMHRMTlZsek4ybFpOWFpLZVhwYVUyMVZZVWhaYzNCY2RUQXdNa0pwZUdSNVUwZGNkVEF3TWtKV1JtTnhTMDlxU201c05VaFNhMUZxVGtkNlRUQTJTMDVTVldGc1NXOXZNVFZYYURCWFZVNUdUVEZhTjBoRWVtcGhjbTVLVWxweFduTjZUelV6V2pkamJXSkhOV0ZGWEhVd01ESkNWbTVaTnpoeU5UZEdNRmxOYzFkeWFXUlhRblptVEM4dk1tZEJTVUZSVFVGQlZEaENiMjl5TUhOWmVHOWhOVTlTTVZCWE1GVlZUMHB4VlVwR2JGeDFNREF5UW14dGNIRm9lRTVVVlc5dmNqRlZZVWR3V0hkVllXeEdSM0JHTWpKMk5FNVVWVEZPVTJscVZUSlNjMmg1VTBaclZFaE9UVkpEV0ZreVVuTnFXa2MyVGpCaWNtNUpOeTlCU1RVM1prRndSbHgxTURBeVFuVmlSa2xqY2tsNVREZHFZVTVyWWt3NE9IRkxTMDVVUzJoSk1UbEdWMkZGV1RsNlZURTFWMU0zYTF4MU1EQXlRbmRvVVhaMlduQTRiekJjZFRBd01rSlZZVWQ0UWxkVllXeHFiVTQ0TW5waWRVbFVURXhKZWk5SmJWQXhWbnBSYzFoNVpFMHhMMkpuZVZ4MU1EQXlRbGd2THpKblFVbEJVVWxCUVZRNFFuTmphbGwyTUVscFNWRnRWMHRPYmxOTE9VdEZlRTFVUlhwWmMyTm9lRkV4TmxWNllqUk9NbEp0WWk5Q2RXSkVhMWcyVEV4T2FuRkRheTk1V0RodGVIVmlSM2gxVkZScGF5OTNRMVJqTTA1cVdUSk9hbU0yWWs1SFMwUmFURVJLWmtselZXc3hOMFJOZFU1MGRISTNiV3Qy
683ZDJGTk5tTnFjSGxQYkV3NFNGTnNlbW8zYm1JNE9ETkVOVXBTUmtocmRXUTRiMHd6U0dwelZVdElSWEp6UzB4T1NEbHFVaTluYzNOelkzWnJObTU1WTBack1tcFVYSFV3TURKQ2R6VkhNMDk1Tms5dlkxUnRZMWt6T0c1dE16aEliVnBtU0RoRFdWeDFNREF5UWpWM09IUklYSFV3TURKQ1JqbDZhSE5xYm1SMk56bG9PV2xtUm5WTVkyUk1MMEZNTHpSUVQzWXZRVWt6TDBGUEwzTmxZeTgyVTBrNFZtSlRNV0YyZERNdlFVTmhia1phV0VnMlZqZE9aSGt2WnpOUGVHbzBaVngxTURBeVFqYzNSVmt4TWpsNFkyMVdlbk5zUWxNNU1WcHJOR0kzZUM5blkxUkVOMXgxTURBeVFqTmNkVEF3TWtKUFpYaHpWMVo1YzJ4TGF6TldNRkJxU0RsdkwzbDRZMVV2ZDBGRWVqTXZVMmxEY0dVelRtOWhPVVk0YzNOUWNXOXNhVk0zYVZvdkx6Sm5RVWxCVVVWQ1FtbzRRek15ZGxGcVJqZHFXWFJ1V1dWNVZsSldWVXRsTkROcmRHeGpkbTVpUzFCalMzTTVhelZGWm1SVWFuaGxWa1kxYVVwdGFqa3dXRWx6Vm1oSlpYcGtaRlF5Y1VWa2NtSXpZWGhpUzA5d1YzWnViR0ZtWkhWQ1dFVnFkbEF3VGxSVk1Ua3dkV05UTTJGWlkwOU1Sa1I0WTNacFdFdzNPWFV6WlU1MWJVVXlkbFJyYW1wcGR6QjRabnAxVnpsNmVFeEVWakE1VFhZeFZpOHphREphTlM5cFZFWmNkVEF3TWtKdUwzcFdaVVF3TjFoVk1VNWpPRXQzVUZwdGMyNWNkVEF3TWtKVVJWbHpWMHhIZEhSVVF6UjNkalZMTjB3NGIxQmFkM0pFTVVwUU5tTm1OMkpWWEhVd01ESkNWVVF5WTAxMlJuaGNkVEF3TWtKb1p5OVZlRFIwYm1Kd2VIRnlhMll4U3k5M1JHeHFaVUo2U0d0WFRFWnJWMUphUm10WFVsbDBkbGxXU3pkMVZYUnhhRVl2UVhSMVdXTk5ORnAzTkcwM01YUTVOalZRUkVVM1YweEVjamgwWkRJeldsbHRjR0p6YkRWSVpFODBlSFZOV0hSSGNUaFZXRmh2VUV0d2IwNVFXbVV5TnpoSU1ucDRVRkZYU3pJeGRGQXhkM05hYUdVeFVsbGtTemhFWEhVd01ESkNNMDA0VjJVemFXMUdVUzlUVldSNVRWQnFSRTFtYUdoY2RUQXdNa0paZFZkSU5ITnhjRGxvYm1SWWIycGlkMXgxTURBeVFua3dORmR0TVVZME9FTmtWbEpjZFRBd01rSlFXVGw2Tkc1a1dGVnlhRkp2YWxveWRIRnphV3RjZFRBd01rSndjalp0ZG5Kc2RHTklTVE56Y1hOalpFUmhZV2xyUnpKdlpFbG5ZVmRHV1ZjNVdrVnVhV3haWWtkTFlYcENVbFF3WEhVd01ESkNVbEpaV1RVdllVOUNNMWRMVFU1RFZrVmxTbkEyYlcwMWNEWkhRMDlKTkV0c1JrcGljVkp4WVZKdVVscDBPR2xZVVhZd1REbEVVVGx0ZUdOMk1VODVNVnBtVHpWRlVEWnNNR1ZQWXpsb2N6ZHNZemR1UVhWVlpXRk9jbUZrY0hOWFMzcDVNMHhzWEhVd01ESkNjR1JjZFRBd01rSndaR3g1ZFZOSmMzaE9OSFphVjJ0c1NUbFRjVGxPZVRaT1VGVTNlVFZEYWtWdlZuaHlhWEZFZDNwQ1QwZEhiM1I0ZVdoa05qYzFiakJpVG1ZeVJuWllRV1F4Wm5SY2RUQXdNa0pvTTFaY2RUQXdNa0l5UTJOUVVrY3hjWFJsVkV0NlUySmplRmx3TlU5V1lVSlFla3hOZEd4NFRtWlFUM1Y1VlRobFUwdEdNM1l2UVVaUWNteGpkVGcyVFhOUk5tWkJkRGg2YURWYVptZHBOMHM1YTI5NmRIWXpiR05IVldwM01VdHlSVkZ6Y213dlkySk5jMWRLVmsxdlZXUnNZbVp6VW1sVFMxRlhURnBYU1V4bE5UWXdTbkpzWTJzdkx6bHZRVU5CUlVKQlowVXZTV1pZY0dwRFVsbEZUMVJuV0ZsaVUzbEhMMjB2ZDBSRFZERkhhRzlaV1ZsWllYbEZiR2hjZFRBd01rSjNVVlp4ZUVGdlJHUnZTbUZFYlhCSmN6aFdjVFJxVDI1dVkxZHBaamxWUmtaSGFHOWhSMmh2V1dkaVExUlhSMEl4VjJkdGNITXlPR0ZpYkdsdlZ6UnRUMFpVZVdGNlpFMXBXR1F4ZWxWVFNsRnJObXRrUmpKSlVEbG5kbkJPUkVRNVFteGNkVEF3TWtKdVVrOXpXbXRpT0VOVWNUVXdVRGxKTDFaVGJYRkRiV3BpWTJ4MloyRkdXSFpWVTNoS2FrOVVSVEpLVDFobFpqRlNiV3R0WlVNd1JsSldkV1JtT0ZBeFZVVkhhRzlxTDBGWloydEthWE42Y1VwV1dYVk9VamQwVDNkMFlUQkxkMDQyWTJscE5sTkZTM1ZZWEhVd01ESkNWMmh5YTIxMFlqVklYSFV3TURKQ1ozaFljMHR6WW1acFpVcGNkVEF3TWtKcE5YRmtUWFIzZGpaWVJYSTJOMnRtTkVOSk1WSjRaMmxUWVdkNU5HVnBjaTlJWjJOdll6bFRSMGROZGxOelZYZFhiRVJGYW05cGFrOW5VVzFVWWxsWVdtRXlUVzFZWlhrMlpqUlRPVVkyUlZWbU5VTjRTWGhxUjJsUmVsRnNkMm94UjNSVFF5OVpVSGRJZVZCRE16ZEpWbFpITW5STFJrczRkbGRTV0c5b1lsRXlVV3RLVTFRNVNuTm9RMEp2WjFWb1JGQlpWbkpEU2psQk1tbFlNRU5UU0V0NVMyUjZXVVY2UlZ4MU1EQXlRbmhjZFRBd01rSkxSVXBVZDBsUVZYSndOVTU2VXpkcGJXWkNhWEJQUjJOVE5HNVNWVk5KZEdkaFkycGFiRzE1VEZObllqTnpaRVpHV0dOWGVXRmxaM3BTWkdoSmMweHpTbTlWY205UFJteDJiMmxhVUZadE5IbDJNWEZEVVdVMlEyZHZjR1YyVVdOdWNHaGtRek5NTTBaeFltMUdTbXcwTm13MVZFVmhkbUpKTURCR1JIVnJVbTlFV2twRk9WTlhjRXd4U1dKNVRFMXJZa3RNYVZCWFExQldkakZTYVRWSFlWWXlhbXhyYWt0emJFVjNWWEIxVkcxRWJXcGliMUJ2Wm5ZMlNWRlNObEZSVVZGU05uZ3dUVTVCYXpCRFdGSmNkVEF3TWtKQ1UzZGNkVEF3TWtJMGFHVk9UbXRrV1ZScFJWSXZZM1p2YkZaeFdtdEtkV2xMWWpaRE1sQjVXVmx6YUd4c0x6TlVNMFZWYmxOWFlqWnJTalpPUldSdVZWVlFWMmhXVlV0S1RuWmFTM1JHUkROT2FHZEtUMFp3VTFKUFMzUnRRMlYzYTJkTWR6TkVjVFo0TmswNWJ5OVNYSFV3TURKQ2MwUlpSM2RpU0hsaVdIbEtlbXRtZEZCWVNYWldSSFY2YlZ4MU1EQXlRbVZqVjBadFVub3ZkMkZqUmxvMWRrWXpNRXhFZGpGSE9FdGpWbXBuY205NmIxeDFNREF5UW5oU1MyRXlhVFpoU3pCU2FqWkZjWEJ2YmpGcmVFRlRiVU5vZFZaa1dHUkdhSFpUYlhkY2RUQXdNa0pDYzFRd1J6bG9PVkpwT1VaaVVrOW5aMlpsYmtaV05GeDFNREF5UW1sWk0xUm9kRkJVTjBVM05tWTJTazlZVTFKRlZ6WjVUbEF5UTNORWNHNUpORGRwVTJKUFNXRXdaRU5aYUZKYVdtUmhaRU5yVlU1WllrMXJaVkF3UzFkYVJuQlpjVmMwYmxKRVpGTlVlVk5MWW5NeVFURXhXVngxTURBeVFtOWhPVVpDUzBwRmVWZDFUVVprZERKUmRIVnhjV3hsU0VNNWVIVmNkVEF3TWtKVVYzSm5VbGRzY0dKa1EwcFRjRTk0V2xFeFUzUTJiVXB5WEhVd01ESkNSWFJtVVhWc1MzSnJUMlpLWnpCT05HRjJWbFZTYTNadVhIVXdNREpDUTA5c1YwTmhWRGw0UkZBeVVGbGtiMW8wVlVwdmFYQldiazFOYUhoWmJsSkdXRzlhYTFKeWIxSXdSM1YzYWpCSFRuSjFORWRxZFdkVGQxeDFNREF5UWtkSmEyczVWbkJVTjJzMVRrczVVMGhGVWxOclJHcE5TVFZXVGxWT2RYWmpabWQzTWxvdlNFRjBTRWRqZEd0RGNuSlJUbFZRZW1acVZXcFZTRlpxVGxwNVMyRnlhekExTUZsclkwVldia2QxUlVsMlNsRnRibWRUT1hCV2NEbGNkVEF3TWtKQ1NqSlhjbUk0U21VME5HdFVTbE5pWmxkNmMxcFNkSFpJTWxOc2JGcHBhRWhIVG5KMlUxTk5iazV6U2tVemQxeDFNREF5UWpoM1ZYVjVXSE5UVjJaS2RtcDFhRGQ2YjBwVmFYSkdNR2s0WWtsV05ubExSa0pIU0d0aVVYcGtUVU5VV0Z4MU1EQXlRbU5GY1d0eVVYaDVaRkJPU1RCS1VXaHpUbFY2UWtKQ1ZGVnJNbkJFTW05VlNHVXpkVkJtWkZJdk1XWjNVVXBVWWxkSlpuZHRVRTB5TjI5cVdYTnBUSEZTTVZOd09IWlRSVzVvTVdkV2NISXlTR3B1WmpsS1JpOW1aMUkxYlU1UGEzRkxURTVHYTIwMVNtWlhhbkJyYVZORFFUQlBVemxXYmpCME9WZGFNMGxyYXpWbWQxWTVTSEptWm1kWVdHc3lNUzh3WldoUldqTlRObEk0YTBkaWRUUTFOSEptUTFSTGJIcFhTa28yZFhOemJHZDBTbWRYTm5GWGIybDFlbVZTTjNGRmEweExOQzl3VDA1VGFqbDNURkowY1d0dGExbGtTbXR0VG1GTmEzUktYSFV3TURKQ1dFVnlUSFZTTlM5dVVIQjZMM1JIY1dSckwyZGFUbVJET0VSaFhIVXdNREpDZUVWemNtODFhRGN6VEhKMVVuVXhaMjFuZVV0MGJURklVV3MzU21KNVhIVXdNREpDUWtwTVJtUlVhakpJVHpoa1ZXcEtWRGhyUm01SVRTOVpiM1ZXZW1KY2RUQXdNa0pEVWxaMVQyRm9UMlJWT0hKY2RUQXdNa0o0VXpWY2RUQXdNa0kxZWsxUGJVeFhNMHRuYmxONU5ISjVWbTFVWkdWWllYSXdabk40ZUd0TlYzbHNkRGhNT1VFelNuWnhXV2xoTlZkcVprVmhVVXByY0cxTU1tNWFaa3BVY3paNldFWkNkR2hWVUdObWQxRlVURWh2YlV4YVpGZzFhMUZaVlhKS2RVSjNNblpDUjFaNmNUTlBXVWRrVHpoelJtd3ZSMmMxZDBWUGFGbGlTMHhZZDJsc1MwcE9PRVpZTjBkaVRUZERNRmd3Y2k5Q2RsZFFRemt5VEhaTE5GSTRRMWx4ZHpSU09FWnFUR3BTVkRkVlJsRnhielpjZFRBd01rSldVRzFUUzJSQ05qWTVVMnR1VEdJd1lVWk9lV2ROTVcxc1JWSkxTV3hYTVV4c09ESXlPVkpLY1VsUGFVVTBWM2R0WVhOWGRqSklTM3B6ZVZwWVNtWmtTa1UxT0d0UVFWWjBlRlJUZG1kblltUjZhM0ZOVkV4VlNYUmtNbEp4V21GNlZqbEZVM05yT1c5RVNUUlRXR0ZKYXpOcWMxVXhWVEExVlVZd1JYUllTRmhWV25aTU1UVTVhRXhyYjNGd05tc3pjREJTU1hGUFoyOHdXVzB3YzJoSlpGTndWblJYYlZOWlZuSnJjbE5sVTBkblduYzRTR0kyUzBKUFRIUjNUVEUzUVZ4MU1EQXlRakJKU20weGQyWnNhMkp1VVRZd1NscFhOREZ0VDJkMmQzbGxhblZvU1hGM1dUbHFOV050ZDJaTlZrWXdTVmRGYlVwV1p6Tm9RMVYyTlU5bU16bEhlbmRqVjB0alJXNXNVMVExTkVaYVpHbENXRmxrTUU5MlVUUjJSRlpDYWtFeWRIcHpWRXRLVkRWWU1HaERlR0p0YkdKYVJsZENURUZxVlhGUU9XczFTa2xtTVdsVUwycGNkVEF3TWtKNE5sWXpXVzlXVjNWM2FscEdWR0ZUVlZoYVVHUnFUbEJCYVhKV1dYVjRhMjV2UWpKaWFXbzJhMFpWV0Vac1dITldWbll6WjJoT2NGRlVNRlkwT0VWSmIyVTJWWGt2YjJGMFVsVmNkVEF3TWtKS09USk1NRkJzTDFaUVVXMTRNbXRvTTFGcFpEQk5ibU5WWmpoQmMyeFhVRlJVWEhVd01ESkNiMlJUUTNaQ1ZsbHZNRkUyUlc1elRtSlRXREJxY1ZGME4wVlhkREZKUVRadlYxa3pWazVJYnpCT1JYY3liM2xPUlhCV2VFVnFZbE5qZG5Ndkx6Sm5RVTFCZDBWQ1FXZEZSRUZuUVVGRlQzRjZVbVJuUVV4NFlWaFZTMnBUZURReVVrTkJNM0JqVFVNNVJFOWFRVVZzYUdsYU1HUnBSM1p2V1RkelZsSnFaVk4yUzJVMGVVRlJNbU14UWpsTWRFRlBPWEZSUlcxMFNVUldUMWhKU1VWbWQzcHZkMlpJWkhwaVlVbzJRakpzWmxSdk1sRXlkalpFWjNodFpWbG5iR3BYUkVwNWNHaHRla040WW5KVU1FbElkM0pHUW5SQ1VtZFZhM3BoUTBsNlNHcG1kbXRsUm5OR1lsSnBZelJCWTNNNFNWRlZORWxSUVdZdk1tZEJTVUZSVFVKQlZEaFJlbFZpZVcxalVVbFhkR3AzYTNaM1NtNWpaVkYzT
6830djNGVGUnBNMU5HVjNWU2QycDRjbkZVUlZac1VWSnNRVEJOY21wSmNsRmhMMmRXYVhwbVRYaFlOV2RTU1dKNFJteFRVMkpyTVZKeFN6RkZlbFYxZGtsdk5WVmpRekJwWkZkb1RURkhhbFUxTkZ4MU1EQXlRa3d3U0hoNmJqbE5NbWhGT0VST1VseDFNREF5UW04NGIyVlNhak5NUWtScmEyTlRSbGRYYVhVMFJUZFJXRWh0VUVvMmEySlZWa28xWWtkMVkwTnpValU0YVZCTk5tSk5jVXhLWTBGeVNWWkJhamt6T0RWVGJXSlZORVl3WlZGdE5YZFNORGN6Ukd0WlUyODJhbEJOU2pGcmNFeGlOVFZyYld0M1psbFNOSGxUTVdaeFVHWlhaRVZ5UjJZdllVRkJaMEpCWjBWQ1VIaEVUMjVNWkhOTlVHdEpUekJZU2paclVFVnBRazlqTWpkTFJsbExiMU5UVkd0VVVUbEJOR3BLWVUwdlVXcDZTR3RIV2twS2VVbExTVE13UjNKb1FsRk5UVlZJWjFCM2EySjBiMUY1VFZoM1VuTnNZVlJYVmt0c1FqaFJNRTlpTUhBeFIyeGpZWEZXTVVaVlZVUldZMHAwYTB4blpGSmpUSEZKU0VrMk5VMVRVa2RhU2psSFVrWnRWMVpaTWxNM2QxTkJkRUZSTm5acFZVTjVMMFpHU1d0TWJucEZSVXBEWTJ0dWJtc3hUMmhOVVhSV1FqbHdXbEZzWTJOMUx6Rm1kM3BEUmsxVVJIZGxaREZFT0d0RlpXaFJaamhCYkVWc1QwcGNkVEF3TWtKWlducDZSR0ZuVWpocVQxTkJhbmw1TW05SVNWQjBjVkpwWTNweldFaHhRV05CYUhFd09WQnhTM1U1UVZoVFF6TkNVek5UUTFVeFRUVlNMeTloUVVGblFrRlJTVUpRZUVKUmNUVkhaekprVkVSUk1WWnFXRUpNVTNseWFYRjZUVUZSYVZka1FsUlpkSE52ZUZWVWJYRnlMMEZLTkdWc1oyOXVYSFV3TURKQ04yOVFja2xvYW1aelVtcGpRMmt4VUdkcWVYSnVVVzFFVTI5clUxcHdaVlZXWjNWSlpFTjZURXB2Vms5Q2VYcElXQzlMVkZBNFFUVlZVVTlOZUdkc01sTkxRVWM1YUVNeWIweFZaRmxvUzNONVkwMXhiRGhDTDNkQk1FaHdVVzgzV2xoYVpqVTJhVTQ1VWxCaFREZ3djVlUwVTNWRlNGcE9TMlkwWm05VUwwRkZhVXc1V1Uxd1VrWkVRMlJrWWtsemIzSkdPR3hTZUdOUlMwNUlVek5SYWtGc01HcGxRMjFXWjJkWFVVZFRaVVZrYVRZM1pHUlRUME54TDB3dldYQlJWVU5rUlZkM2NXRjRaRVpOVlRscVdrczBTbGxZWEhVd01ESkNSMmRoWVdsbU5VUlhWMGRJTmxaMlpWbzJhMmN3VG5OQ2JFTmtiMVJ0UTJsUlRIZDZWVFJUZVRadlZtRTVNMmQ1U2t4M1prSTFTbTEwVnpadVNYUk5iemhtTkZwSldFNXROMFpQTTFSb2JXUkJiek5UTTNGVGJWTmlOVTFoTUU5MGEzVnZXVTV2UjNkbVkxeDFNREF5UWtGNFZsSTFja2hXVWpSSFYwVnZiRVU0VTFWeFJ6TjZRMHBqZFc5dVdrbHBWblY2TlVkcGF6WlNibEZ2YW1NNGRITlZibTlpYVZsbmRVNU1UM2wzYlVOdlYydHBTM0p5WkRFdlUzVnlTbWhMYm14eFYwMVBjVkpsUTJKYU5rVkRRMUp4ZEVKbVRITlJkRVJ6TVhZemVVNWlSVGR0UkRoeFpsbHVNV1o2U1V0VGQyaFRUa1Z2Um10VFFuaHZaWEJtY0ZSSldsbFRVa0kzU21Gd1RqbENORzlFYTFaSEwzZHJNa3RoU25wc2RGeDFNREF5UWtJNVRFUmFhbFo1ZVdWNk9YbGtUVXBvYlZkT01IRm5ZWEY2YTFoeVdrSkxVMU16WTBjMlkwMTFTMmRWYVdSR2RXeGxlRXhhWmtFeFN6TlVTbVpKTjJ0UWNVZEdNMDVNYTFWU1Z6bHNRa0pMUm1neGRuSk1SM3BUVjNGcmNYUkNWazVVWmx4MU1EQXlRa1E0ZWtZd1VrWjJWSFJPUjFGV09FbGFNRGRYWnk5c1VFcENjRE5jZFRBd01rSjRRbkZvWTBKSmJtZG9kV3BJUm1oQ2RXOWFhVmh0ZUdkak4zTjROVzFJVTJsUlYxZFdNRm8zUkZwd09WVlRUM0Z6TDBNNWVXbHlkR296U3pSY2RUQXdNa0l3UzJGcVVIRk9kVGR6Wm5Walp6WkVja3RVWTF4MU1EQXlRbWxxWkdWNGRHWkJYSFV3TURKQ01ISTVSRk5YZVdOVlF6SjZXbWN3ZURWRFUxRk9kRngxTURBeVFqUjRaakpIU25Kd1preExNVVZWU2xWcWNHUjBSbXMyY2tWemFrTkpUalZMWjNOeWFYaFpWRloxUlhReVNUbHBjMWRYYlRCaVYzQllWbk5XZUVwTVNsVktORU5EVjFkWmIyUlRaVnB0UWxjd2RWcGNkVEF3TWtKNE1HWkxkMVphVTIxSlltMVFXbVpCY2xKM1VFTjRTQzlEU2pobGVWeDFNREF5UW1nMFNEa3dSMHh1WTFOTFRIUkpibHgxTURBeVFraEJielZMVUVGclJXaFJZMkZwWkZOY2RUQXdNa0pTWTJ3eFQzUTJWMVp0UzA5T1JVOUtVMHBJY25GbU1FZHphbWhOY21kWVZYUjRSV3hNZGpkclZHOUhhSEEyV0M5cVRTOUphR1k0TUM5eFJqbEVXREptVVM5cFNEQkxRMFJuZVd4RGEzVTNOa1JUVFVsdVF6VmFkRmhKZURoME5WeDFNREF5UWs1b1NUVkxXRkpNUVVsYVoyVlhjMmxrYkZ4MU1EQXlRbE5LTDBGSlIxQlVVMWx6T0dkbGIzWkRWR2RZWkVwNFQwZFFUMGgxTmtOUE1YUk9SMVZ5VjI5aFdqTXZiM1JtWVhvNVIxeDFNREF5UW5vNVIzbFlPVWc1YVVnelpqQlJYSFV3TURKQ05XcEtVRGszTlU1VmRYbEZNemhKVnpSVFdqbDJiek13VjJ0Q1MwUlRNMlJuUzJNM1Yzb3pRMmR3TV
683dSV2VXSnFOa0puYjBaYWNIUlFiMjR6WjJSaVFWSXdUbTlNUTNCd1JsSjBjUzlWV1dacVdWSjJXbkp0Ym5GRmVEQlNZVEp0ZW01NVVWeDFNREF5UW14Wk5IUkJRWFExV0hWTGJqQkxiVk0xVTBkVGREVnZXWEpsVVRodVVrRXpWMDFuTWpjM1RUSlhlR0pYWWpkMVdtNTVSbU5sUW1oYVFXRnhaWFZCVVVsT1JYbHlWVko2ZFZjeFkwSmlkMmt3VDFKV1YyOHhhVmszYW5aVFJTOXpTazFSUlV0MmRVWkdWbU5uYzNsRk1HMXhjemg1U1V0c2VsUjZlbXRSY0VwWk4xZHZWa3RNWVVkQ05tdFdNQzl2TTI1a01ESTFSV2N3WjJ3emJIUTJRekJYT1hoeVNXaGhVREJrWnpaUGVFRlRabTgzUlhCRFQxZzVia2gxWVVJeWVFWlZRM0pyU1d4dFIybEtSVXhHT0ZWU1RVaFdhVU0wVjJNNWFFTXZPRUZ2UTFkRFNHRkdhRmRuV1Z4MU1EQXlRbU5hUkdNNFEzSXdhWEJJTUVkc1QzbHVaVkp4T0VSNGNHRnZXVk55ZDBSb09HOTFaRzFSVkhOMk9FbGhjM2xOWm5kT01sUmFiM2hyZGx4MU1EQXlRa05RV25sY2RUQXdNa0pIU1dSdVdHZHpjWE4yWEhVd01ESkNTRmxjZFRBd01rSXdOelZJZEhkMFVqaDBiV2xwVWx4MU1EQXlRbEpGUmxaaU1EQnRVRlYxYVVadlYyeGtUVlZMVmtNM1REaGtlR0Z4Um1SMmVUTkZSVEl5YkZwRWFuZFVaWFZGYlUwMWRHUlBRbmRJZFhCM1RreDVTRW95WkZveVpuZEhVR00xVlRCR2RYaGxjVXhzVEhWdmMxTkVRbVZWYTF4MU1EQXlRbGMxVURkV1JWZFZUbmh0YUVKblNVRlVRbEUzTjJweFYzbHZWREZvU0ZSM2NHOVBSbVZIWnpod1lUaHBVMVZ4Wm1kUFZVeDRlbGcwYjNjNWFESmljM0UxWlVJeWEzWlRVbVZMTDNKY2RUQXdNa0pUVEVaUFZseDFNREF5UWpKSE1GVkxWVlpWVVM5NFdXbFhTMmhNVmxGMGNFMWlWRXAxTVVkdmFWcFVaemhXWm5kUFEwSnpTMXgxTURBeVFreDFSRXcyVTBOUFJVUnROR0Z2VGs5aGNHMHpOMVEyUmxJd09YbHBiM0Z3TmxaaFVVdFdOa1JWYWtNM2JFd3ZTV2hrVFZkRFJYRnpTeTlCZWpSR1oyYzRVMHBsTkhKcWMwdFVPRTFEUVVVeU5GUmhVVXc1UVhNNGNuZEtlSE5wTjFWeU9GTktWbFpFYWpaRVRXeHRaMVZyY1U1UWVqTmFaRkJjZFRBd01rSlBVMXBvYkRSV016TmNkVEF3TWtKb1VHTldVMVkzYkhsVmVIRjVTVW93TWtrMGRucG1lREZGTVZSSllXb3dNVEZrYkZ4MU1EQXlRalpHUjFoUlhIVXdNREpDVmtoMVNubFBiRlo2ZW5OTGVYWmFSR0V3UzJsaVkydzNUVEUyWm5wa05WcFZWakZQWjJaa2EwMU9Ta1JDUjAxUWJFZHdkMFJPU0Z4MU1EQXlRbXR3VkU1T1RXOXRja1YwU21oQ2NubHVVRFI2YzJjd1oxSnZUMXBtWjNZMlRYazJXR3htUzJ4SmJGRnJjbTlsZUVaeVNGWTJTVk16VWpSSVNXUllSM0pYY21OVVFtTldkblI2ZFhsTE9GcERWbUpSYXpSeWQwOTVSR3d5V1Z4MU1EQXlRbFUwYTJ4amRuVkhNSGRTZGx4MU1EQXlRbmhYV0dab1pqSnVNbEZJVTJSSWMwUlRNRWd3UTNscFkwcGljVXhqTm5aQlVHTk5kR2x4U2psRmRFNWhhbGhZUVVka1JVYzBaVFpYZEdSV01GUkdRV2hhWmtKQ04xVjFPWGczYTJsb05HTk9OVkZ4YUVaV00zTTBWak5yZGtWT2NVZzFSRTFWY1hFNGIzVjZTbUZNT1U5cmJEWjBUREpNV1d0UGJHTkNTM1ZKY0dOUVNURXdSMlJHUXpCNVdWbFlSVWxhZFZ4MU1EQXlRakIzWkd0SVRHUlRYSFV3TURKQ1UyNVJVM3BWUXpSS1lWaFZXVVYxY1VkYVRWSk1kbWx6VEUxSFpEQk1MMmhCUzBsT1ZsRldMM2RMWTBkdU0zUnhOVnBVTUVscFNFdGpkemRDWm5kRmFGQXlPVll4WkZFemVFZG5ZeTlKVGpCRGFsVjJPRUUzWVVWTVNXVTViMjFhTjJkbWFHcHZTekJMTTI5bFUwSldZWEJMZFdKcFprdG9ORk50TVcxMVRYVldlbGhYZFM4eWFXbG9aMlpyV0d0RmVtVkdURFZNUldWMFZreHNlRkpFTTBWbmRYVjRObWh4VXpCT1EySnBVbEF5Vm1aUlJrbGhjVzlzTWxSR2NHUTJRMjFNZFhKYVZXOTZYSFV3TURKQ1UxZzRibGgzUVhwRU0xbE9ZWFpqVVU5dmREQjVZbFprVFhsVGVXeFlWR3RpY2twbGFtc3llbXR2V1cxT1kwNWphV2x2V21GY2RUQXdNa0pUYkdseVRXWXdURk0yYlZGamIyTXZlblZsUld0T2NsRllTbGMzVEZkbFVGbHJPWHAxYURCVlptdHRaV2xjZFRBd01rSllRbmQ0V0M4NFFVSjNjMmx3UlhCeVJGZzRVSFZMVUdFMGFtOXZaMFZwY25JMFMyeG9Ua1oxTnpkS2IzRTNWVU40YjFsSlNrMDFTV0ZxVkZkeE0zYzVRM0ZpUWxvdllVUmhVVlpoWkZOSGNHNXBNRWg2T1VKRlFVVndjamQ1WTFBeVFseDFNREF5UWxKUk5FZHlOa0pNV0ZscFJuVjBVbmRtYWxacVZtRkxRbHgxTURBeVFtbG5PRkpNVkRodU5VSXlTVmR2VG1SM1NWSmhRMXBqYnpOeU4wVnFiVVUzT1V0SFVVWmxObWR5U1d0VE5HOHpaMDlIV21reFdXNUNTMFF2YUVFelZ6ZHJkbk5SU0d4bVpGRXlTWEJzT1RaRFkwOVRTMWR3Uld4TmJXeFdlWEZ0VVZaQ2QzbEpYSFV3TURKQ2QyTktXR1ptZDNWS2NXaFZURXhwVXpodlRHdDNNMlpIVDNwR2FtVndVVlZGTDJwdldrMW5jV1UyWmxWRGNHaGpUV3BWV1daWU1sQjNSbVJIVTNjMFVrcDJOMjQ0U1ROekx6UktUMVl3WVRsNFdVSjRVMVJjZFRBd01rSm5TRWRrV25ZNFoxWmxhVlp4YW5GVE0ydGpNVFpzWTJNelJHeENOVzFJYlZWcGNVUnZSM0ZWZEZkSFYxeDFNREF5UW5CVFFXcDBZazgwVTNVeVZ5OUhaMHhMYW5Gb2VqRldkME5VYlZKdk4yWktTbVpCVW1zd1hIVXdNREpDTm5Jd1NHTmNkVEF3TWtKRlJuWmpWVlZrTVZKek5UUm1lVXhYWlRGV05FTmliV2xVTTB4S1FrNW9XSGcxUjIweFUwMVZiM2d5TVZ4MU1EQXlRakIzVnpCY2RUQXdNa0o2ZVZSd2RETkxVVFZjZFRBd01rSm9jSEJ2WkZGclVsSjJRbHgxTURBeVFqZEllSGsyU0daeU4wbDRSMU4wUkZkSVpGQlpkM014Ulc1NFdETlhhREJyWjNJNFdFaGhlbWwwWWpSa2FYaENjRVU0UzJVMUx6bHJQU0o5TEhzaWRHbDBiR1VpT2lKVGFXNWpiR0ZwY2lCYVdDQlRjR1ZqZEhKMWJTQkRiMjF3YjNOcGRHVWdWbWxrWlc4Z1RXOWthV1pwWTJGMGFXOXVJaXdpZFhKc1UyeDFaeUk2SW5OcGJtTnNZV2x5TFhwNExYTndaV04wY25WdExXTnZiWEJ2YzJsMFpTMTJhV1JsYnkxdGIyUnBabWxqWVhScGIyNGlMQ0prWVhSbFVIVmliR2x6YUdWa0lqb2lNakF4TXkwd015MHhOMVF4TkRveU1qb3dNQ0lzSW1abFlYUjFjbVZrU1cxaFoyVkpSQ0k2SWpVd1pEVTRNMll6TFdNeE9UTXROREUwTXkwNE1ETTNMV0V4TmpNME4yRTVORFJtTWlJc0ltRjFkR2h2Y2s1aGJXVWlPaUpDY21saGJpQkliM05yYVc1eklpd2lZWFYwYUc5eVVISnZabWxzWlVsdFlXZGxWWEpzSWpvaVpHRjBZVHBwYldGblpTOXFjR1ZuTzJKaGMyVTJOQ3d2T1dvdk5FRkJVVk5yV2twU1owRkNRVkZCUVVGUlFVSkJRVVF2TjFGRFJWVkhhSFprUnpsNllVYzVkMGxFVFhWTlFVRTBVV3RzVGtKQlVVRkJRVUZCUVVkblkwRnBaMEZaYTFwRFZGVlJkMWxVUVhkTlIwWnJUMFJCZUUxRVFYZE5SMWw0VFVSUmQwMUVRWGRPVjFGM1QwUkJkMDFFUW0xYWFrRTBUVVJCZDAxRVNUUk5SMFYzVFVSQmQwOVVRWGRaZWtGM1RVUkJNVmxxUlhwTlJFRjNUVWRWTkUxVVRYZE5SRUYzV1ZSUmVFNUVRWGROUkVFeldYcEZNVTFFUVhkTlJHc3hUVmRWZDAxRVFYZEJVQzlpUVVsUlFVSlJXVWREZDJkTVEzZHpURU4zTUV4RGQzTk9SR2MwVGtSUk5FOUVkekJQUkdjMFRrUjRRVkZGUWtWU1JVSkJVVVZCT0ZSRmFFMVFSVUpGVkVaQ1VWUkZVazFYUm1oWlZFWm9WVlpHYUd0WFIxSlpWMFZuUlVaQ1VWVkxRbmR2U1VOUmEwbERkMmRMUTBGelMwTm5hMHBEWjI5TlExRnZTa05uYTAxRVVYTkxRM2R6UzBOM01FMURkM05KUTNkelRVUkJkMDVFVVhkTlJGRnZURU5uTUUxRVVUQk5SWGhSVkVWNFQyTXZPRWxCUlZGblFYbEJSRWxCZDBWcFFVRk
683pVa0ZSVFZKQlppOUZRVXROUVVGQlJVWkJVVVZDUVVGQlFVRkJRVUZCUVVGQlFVRk5RVUZSU1VWQ1VWbElRMEpCUVVGblNVTkJRVkZHUVhkTlJFSlJRVUZCUVVGQlFVRkZRMFZSVFZOQ1FrRlVTVkZWVlVsRVJtaEphMFpTU1hwRFVsRnZTR2hHVkVwVVdYWkJVa0ZCU1VKQlowMUdRbEZqUkVKUlJVRkJRVUZCUVVGQlFrVlRSWGhCYUVKQ1JXbENVbGxoUlhkTmJrZENhMU5LUVhOalNHZzRVRVZFYTNSRlZFbDZUa05WYmtsVFFVRkpRa0YzVFVSQ1VVVkNRVkZGUVVGQlFVRkJRVUZDUlZORmVGRldSbWhqV1VkU2IxSkRlSGRrU0hjMFUwUjRUVkF2WVVGQmQwUkJVVUZEUVVGTlFVRkJRVUkxYkdKS1NrNXBOa2hVT1ZoR0wwOURaVzAwZWt4c1pUazBOM05yY25Wc2FEWnhWbWhLVDJ0cmEzRlBXSEUxYW5oNU5rOXNVazlMYTBjd1NYTkxiMHhuYVVSd2FYVnBTVTl0WkRKc1NEQklVM294YWpab2VXTnZSV2RjZFRBd01rSm5kblJ2YUV0RGVIcEdkREkyUVZaSE9EWnpTa293YTIxVGNUVXlhRkZVV2psSVUzRnNhRzVFZFdoTFQyOVBOME5qWVZFM01GcDNiMVU1YWtoc1JGcGhNMGxDTm1SdGVGbG9TeTlRVGxGcFJHeGlkR3B1Y2xkTk5EWldjRU5hU1RCU2RXczVVWGRGY3pad2NWWktlSHB2WVRscFZXTm9kSGRMVjBwU01tRTFTVnAyVURoQldqaGFUMUJVVEZablFYVm1UM2MzVDBkYWFYaGxTbWx0YUV0Q2IzVjZiVlZhY0U1SFkxVnhPRnAzVTBkTk1GcE9WMmhrVEVwemJXVTFiazF4TVZWUFlrcGlTRWxZTmtWdlhIVXdNREpDYlZaVk9WbHlSbXBLYm1GU1NVMDFUR3hLYlZacFRsaFFXbmszV0hwdU5tdFpabUpRYld0QlV6WkJZMjVqZWtOVFdXOXRhVGR4Ym1KcGJGVkpXV3R0TlM5dFpsRlFVRE5pTUVwY2RUQXdNa0phYkVKY2RUQXdNa0pzYkhwYVNYazJTbGxRUzNCMlVsbGxSVGs0YkROUVRtTkRaRTU0UnpWcVYzSnNaakJxTUV4M1ZERmNkVEF3TWtKeFptSktlbVJ6VWs1d2MxZHRiREJ6WldKaFV6WlNkV05hTWpaU1kzUkRWR1JhTlRGeU5VVnRjR3N3YVZkQk5XaDBRM2Q1Y21OaU5rbzFlRVpqZWxwemJVbFFRVVowVVZRMVdUa3lURXhGTmxFMFdrNTZkbUUxUjNCSFdHOXRWV0ZzUTFsb1Z6VlRZbEJoT0V0VVZXOVhhRk5xVmpGaFRqVXlNalZsWW1oQlZEQTRibTFCTUM5d2JrTTRlSFJUYUdwbGJ6aEROM1F4V0U1cFRFcHFYSFV3TURKQ05tVkVPWFpIVVUxdlpFNHlPVkkwUzNwNFRVcGxiVEl2VDA5dlpHSnZYSFV3TURKQ1dERnVZVFpRU205MFRHUnhNalY1YW14cmRGWmFUbWxyVDFSdVltUmhWakF3V0RScEwzWTRRVTgyT1dWV1FXNUpNMEprVEdRME5ISlFNbG94UzJOQ1FYTjVVMFZwVVdSeFpHSlNlREpqY21OM09GbzViR3RhYm1ZeE5XTnNVSE5oT1VGdVNseDFNREF5UW10ak56QlZiR3RFZGxCV2JsWXdRbE5VTWk5UFpUVjVhWGgzWTI0d1JHaHlNRU5hV0ZFNE4xcEhPRngxTURBeVFqQTJUMnRZZVcxWWNVVTBjbmt5V0c5UlduUjNkR1l3U0Uxa1kyNUxNMjh6UWpSUVZUUnVaalUxY1hkeWNYbzFOVEk1VVhaNVYweEtVRTlHWEhVd01ESkNjR3RqT0ZaMGJraG5PWGRqTmxKb1JtRk5NRlkwYkZCWGMxRlpla2hyZHpoMWRtVkNTV3hUVGpKek9IRlVNbGhyT0U1dVNtTmlPVlp6WTBKdlZsTmtZbkUwTW5wVFRHZzBaVE5vTWxGYVZYRjROM05UZVdsU2JYSlRjMU5UY1hFdlJtdENOMFIyUjBweGMxWkZVV0pMYkV0emJtczNlR015YlU0NFRTOXZWRlpFWTBwSWRVRk5MMGRjZFRBd01rSnFXWFV3T0dWT2R5OVViRmxvTlc1TU1IQkdZbnBTWld4eFZHVmhSemxHVlZZMU5GUjJNVVoxUTI0elUxTTBWMGhsY0ZJMFNWaHZVMlF2VUVKY2RUQXdNa0pxY0c0NE5tSXdXazh2VGpkR2VGbzFjVlF6UmtGdFZuRndUa2d2THpKblFVbEJVVVZCUVZGVlEyOXZVMFpGVjA1cGVFNXJUVnAzTm14eVExUlljV3RUU2tSSWVtOXZiMjlYUTFJd1IxbDFSREpKWTBaQ1EzaHhTbTEzVkZselkyOXRURXBMUzJ4c01rbGxNMjlyVTBkUU1WWjVkM2RQYldwWGFERktaVmRaYzBGdlIzQlJiak01UldsUmVISnNVbEpTVWxKU2NrZENhM3B4VFZaNFJYbGlZazFQU2xGSk9XcEtlSFZ6Y0dOaGNYZ3ZWMUZvY2paYVJFZFFNRlZWVlZaNWJ6RkZhRnBvVkRKS09FNUhZWGhqU2pKcVEydzJZVWhCWVVkcGFXaFpjazlyVUVZeVMwdExSVXQxVmtWbGR6TmFSMUp6VjFkWFlrUnJhbGxzZVZWcmFGUm5ZbmRTVDFOdFQwVlVjR2t4V0hKWVNrTmFXbHBhWm5FeFMwOXJlbkJWWW5kU2RrRmxUa2R6VTJscGFsVlhUbk0yWWs1bFpYQnhlbFZtYjI5aFVsTk5hM2xWTjBkT1JEZHVWRnB2WkUwMllrODFSblpzU1ZSU2JEUjZTR2xzZFdKdk1sSmpWRnBHYnpkSVdUSklUbXB0WkZGc2ExUTFWMWRpVFhOMmJUVklkVnB3VEVoSWFXVktaV0ZtUVRoU01YTmpZVXMxWkhWV2JHdzRPVlZoYjJOV1hIVXdNREpDTVRSc1ExVnpTbmN5Wm5CNE9FaDZXRVZZTjJadGVucGFOWE00TUdWYVVFVjFUbTVCT0M5dFRVaElabkJTT0ZsNWIyNDBlbXRaWEhVd01ESkNOVEYyTUZ4MU1EQXlRa1EwZW5sNFJHcHpXRlJZYVVkQmVHTllSRXRUTkcxcWVuQTFNRGcyWldSUVQyNXVhbnA2VUZCTk1VNUVWVlZUVFVSNFNsaFFjSFJ1VW1OcFZVZHVWRXhtVUdKbVFtWmlkM1pwVGtOWmVEZzNPVWR3Y1dGcGFVdEtlRlZtTVhWMVpGSnVPVlZqUzA5dGEyVllOVTlUVEdkalFrOXdVMUl3ZW5CSFp6UnZiM0l4TlhNMmQzaFhWR0pNYXk5M1FqTnRPR05KTlM5R01WaHRjMjFrZGtveFRXdFdPV1pwT1dSVWQzbERiRzE1WTFCQk5IVkZTelJtVFhNd1pGTnBhV2xvYjJSR1NGeDFNREF5UW04MVFseDFNREF5UWtwYVFtVkxWRXBsUzFSYWJUUnRWMVpoVjNaTWJ6aDFhbmsyU1RRNVEwMU9Xa3g0VjFObVJqaFVNVE4zTWxvMFdqVXZSVnBhU1RWR1QyRTBTRXR6VFhCalprVnNlRGQxVUVkWk1sTTBYSFV3TURKQ1EwcGxTWGgxVEROWGNGRnZTVzh4VDJ0cWFrMVRVbEF5ZUZoeVRHbHJhbnBhUkUxd2JqRmpiVTljZFRBd01rSmpYSFV3TURKQ2VHbHNjM1YwUlRZNFUwVjBhVmhFZVhSWlkybFBiR3RQYW10T1ZGZDZjRzlYU2tkVVZuQmFTWE0wYVdSU05WRnNjVngxTURBeVFsUTVVRVpVTlRRMU5uWklTSFJ4YWxVeFIza3dVbTlxTWtnNVVuaGxURkZzZDJsVlNWRmphVmRRVldGdlZtNWpkRzAzVDNCSk5uTjRXbkJyTlRkUFRXSklRMnBJUkdRMFkwOVRURm81VWxGcmFsWkljMWRxV2toRldYVnpXbGx3ZDNnMVdsbDROVFI0Wm5WalF6UldTMlJJVmxKalFqbEpabEpJTURCallrWlRhbWd4VEZ4MU1EQXlRbTVvZFZ4MU1EQXlRbEphUldKamJFVXlVWE5wVG10VWJXdGFjRzlWY0VsMVVURmFiMkZEZEVaNVR6UTFPVFZUWWpVM1RtTjJZMmhLZUZCT2VVMW1SWEZSTmxseFJrSkRUWFpGVlZCMmVXOWFVbHBhV2pkclJFNVlU
683amh4UzB0TE5WbHpOMmxaTlhaS2VYcGFVMjFWWVVoWmMzQmNkVEF3TWtKcGVHUjVVMGRjZFRBd01rSldSbU54UzA5cVNtNXNOVWhTYTFGcVRrZDZUVEEyUzA1U1ZXRnNTVzl2TVRWWGFEQlhWVTVHVFRGYU4waEVlbXBoY201S1VscHhXbk42VHpVeldqZGpiV0pITldGRlhIVXdNREpDVm01Wk56aHlOVGRHTUZsTmMxZHlhV1JYUW5abVRDOHZNbWRCU1VGUlRVRkJWRGhDYjI5eU1ITlplRzloTlU5U01WQlhNRlZWVDBweFZVcEdiRngxTURBeVFteHRjSEZvZUU1VVZXOXZjakZWWVVkd1dIZFZZV3hHUjNCR01qSjJORTVVVlRGT1UybHFWVEpTYzJoNVUwWnJWRWhPVFZKRFdGa3lVbk5xV2tjMlRqQmljbTVKTnk5QlNUVTNaa0Z3Umx4MU1EQXlRblZpUmtsamNrbDVURGRxWVU1cllrdzRPSEZMUzA1VVMyaEpNVGxHVjJGRldUbDZWVEUxVjFNM2ExeDFNREF5UW5kb1VYWjJXbkE0YnpCY2RUQXdNa0pWWVVkNFFsZFZZV3hxYlU0NE1ucGlkVWxVVEV4SmVpOUpiVkF4Vm5wUmMxaDVaRTB4TDJKbmVWeDFNREF5UWxndkx6Sm5RVWxCVVVsQlFWUTRRbk5qYWxsMk1FbHBTVkZ0VjB0T2JsTkxPVXRGZUUxVVJYcFpjMk5vZUZFeE5sVjZZalJPTWxKdFlpOUNkV0pFYTFnMlRFeE9hbkZEYXk5NVdEaHRlSFZpUjNoMVZGUnBheTkzUTFSak0wNXFXVEpPYW1NMllrNUhTMFJhVEVSS1prbHpWV3N4TjBSTmRVNTBkSEkzYld0MmQyRk5ObU5xY0hsUGJFdzRTRk5zZW1vM2JtSTRPRE5FTlVwU1JraHJkV1E0YjB3elNHcHpWVXRJUlhKelMweE9TRGxxVWk5bmMzTnpZM1pyTm01NVkwWnJNbXBVWEhVd01ESkNkelZITTA5NU5rOXZZMVJ0WTFrek9HNXRNemhJYlZwbVNEaERXVngxTURBeVFqVjNPSFJJWEhVd01ESkNSamw2YUhOcWJtUjJOemxvT1dsbVJuVk1ZMlJNTDBGTUx6UlFUM1l2UVVrekwwRlBMM05sWXk4MlUwazRWbUpUTVdGMmRETXZRVU5oYmtaYVdFZzJWamRPWkhrdlp6TlBlR28wWlZ4MU1EQXlRamMzUlZreE1qbDRZMjFXZW5Oc1FsTTVNVnByTkdJM2VDOW5ZMVJFTjF4MU1EQXlRak5jZFRBd01rSlBaWGh6VjFaNWMyeExhek5XTUZCcVNEbHZMM2w0WTFVdmQwRkVlak12VTJsRGNHVXpUbTloT1VZNGMzTlFjVzlzYVZNM2FWb3ZMekpuUVVsQlVVVkNRbW80UXpNeWRsRnFSamRxV1hSdVdXVjVWbEpXVlV0bE5ETnJkR3hqZG01aVMxQmpTM001YXpWRlptUlVhbmhsVmtZMWFVcHRhamt3V0VselZtaEpaWHBrWkZReWNVVmtjbUl6WVhoaVMwOXdWM1p1YkdGbVpIVkNXRVZxZGxBd1RsUlZNVGt3ZFdOVE0yRlpZMDlNUmtSNFkzWnBXRXczT1hVelpVNTFiVVV5ZGxScmFtcHBkekI0Wm5wMVZ6bDZlRXhFVmpBNVRYWXhWaTh6YURKYU5TOXBWRVpjZFRBd01rSnVMM3BXWlVRd04xaFZNVTVqT0V0M1VGcHRjMjVjZFRBd01rSlVSVmx6VjB4SGRIUlVRelIzZGpWTE4wdzRiMUJhZDNKRU1VcFFObU5tTjJKVlhIVXdNREpDVlVReVkwMTJSbmhjZFRBd01rSm9aeTlWZURSMGJtSndlSEZ5YTJZeFN5OTNSR3hxWlVKNlNHdFhURVpyVjFKYVJtdFhVbGwwZGxsV1N6ZDFWWFJ4YUVZdlFYUjFXV05OTkZwM05HMDNNWFE1TmpWUVJFVTNWMHhFY2poMFpESXpXbGx0Y0dKemJEVklaRTgwZUhWTldIUkhjVGhWV0ZodlVFdHdiMDVRV21VeU56aElNbnA0VUZGWFN6SXhkRkF4ZDNOYWFHVXhVbGxrU3poRVhIVXdNREpDTTAwNFYyVXphVzFHVVM5VFZXUjVUVkJxUkUxbWFHaGNkVEF3TWtKWmRWZElOSE54Y0Rsb2JtUlliMnBpZDF4MU1EQXlRbmt3TkZkdE1VWTBPRU5rVmxKY2RUQXdNa0pRV1RsNk5HNWtXRlZ5YUZKdmFsb3lkSEZ6YVd0Y2RUQXdNa0p3Y2padGRuSnNkR05JU1ROemNYTmpaRVJoWVdsclJ6SnZaRWxuWVZkR1dWYzVXa1Z1YVd4WllrZExZWHBDVWxRd1hIVXdNREpDVWxKWldUVXZZVTlDTTFkTFRVNURWa1ZsU25BMmJXMDFjRFpIUTA5Sk5FdHNSa3BpY1ZKeFlWSnVVbHAwT0dsWVVYWXdURGxFVVRsdGVHTjJNVTg1TVZwbVR6VkZVRFpzTUdWUFl6bG9jemRzWXpkdVFYVlZaV0ZPY21Ga2NITlhTM3A1TTB4c1hIVXdNREpDY0dSY2RUQXdNa0p3Wkd4NWRWTkpjM2hPTkhaYVYydHNTVGxUY1RsT2VUWk9VRlUzZVRWRGFrVnZWbmh5YVhGRWQzcENUMGRIYjNSNGVXaGtOamMxYmpCaVRtWXlSblpZUVdReFpuUmNkVEF3TWtKb00xWmNkVEF3TWtJeVEyTlFVa2N4Y1hSbFZFdDZVMkpqZUZsd05VOVdZVUpRZWt4TmRHeDRUbVpRVDNWNVZUaGxVMHRHTTNZdlFVWlFjbXhqZFRnMlRYTlJObVpCZERoNmFEVmFabWRwTjBzNWEyOTZkSFl6YkdOSFZXcDNNVXR5UlZGemNtd3ZZMkpOYzFkS1ZrMXZWV1JzWW1aelVtbFRTMUZYVEZwWFNVeGxOVFl3U25Kc1kyc3ZMemx2UVVOQlJVSkJaMFV2U1daWWNHcERVbGxGVDFSbldGbGlVM2xITDIwdmQwUkRWREZIYUc5WldWbFpZWGxGYkdoY2RUQXdNa0ozVVZaeGVFRnZSR1J2U21GRWJYQkpjemhXY1RScVQyNXVZMWRwWmpsVlJrWkhhRzloUjJodldXZGlRMVJYUjBJeFYyZHRjSE15T0dGaWJHbHZWelJ0VDBaVWVXRjZaRTFwV0dReGVsVlRTbEZyTm10a1JqSkpVRGxuZG5CT1JFUTVRbXhjZFRBd01rSnVVazl6V210aU9FTlVjVFV3VURsSkwxWlRiWEZEYldwaVkyeDJaMkZHV0haVlUzaEthazlVUlRKS1QxaGxaakZTYld0dFpVTXdSbEpXZFdSbU9GQXhWVVZIYUc5cUwwRlpaMnRLYVhONmNVcFdXWFZPVWpkMFQzZDBZVEJMZDA0MlkybHBObE5GUzNWWVhIVXdNREpDVjJoeWEyMTBZalZJWEhVd01ESkNaM2hZYzB0elltWnBaVXBjZFRBd01rSnBOWEZrVFhSM2RqWllSWEkyTjJ0bU5FTkpNVko0WjJsVFlXZDVOR1ZwY2k5SVoyTnZZemxUUjBkTmRsTnpWWGRYYkVSRmFtOXBhazluVVcxVVlsbFlXbUV5VFcxWVpYazJaalJUT1VZMlJWVm1OVU40U1hocVIybFJlbEZzZDJveFIzUlRReTlaVUhkSWVWQkRNemRKVmxaSE1uUkxSa3M0ZGxkU1dHOW9ZbEV5VVd0S1UxUTVTbk5vUTBKdloxVm9SRkJaVm5KRFNqbEJNbWxZTUVOVFNFdDVTMlI2V1VWNlJWeDFNREF5UW5oY2RUQXdNa0pMUlVwVWQwbFFWWEp3TlU1NlV6ZHBiV1pDYVhCUFIyTlRORzVTVlZOSmRHZGhZMnBhYkcxNVRGTm5Zak56WkVaR1dHTlhlV0ZsWjNwU1pHaEpjMHh6U205VmNtOVBSbXgyYjJsYVVGWnROSGwyTVhGRFVXVTJRMmR2Y0dWMlVXTnVjR2hrUXpOTU0wWnhZbTFHU213ME5tdzFWRVZoZG1KSk1EQkdSSFZyVW05RVdrcEZPVk5YY0V3eFNXSjVURTFyWWt0TWFWQlhRMUJXZGpGU2FUVkhZVll5YW14cmFrdHpiRVYzVlhCMVZHMUViV3BpYjFCdlpuWTJTVkZTTmxGUlVWRlNObmd3VFU1QmF6QkRXRk
683pjZFRBd01rSkNVM2RjZFRBd01rSTBhR1ZPVG10a1dWUnBSVkl2WTNadmJGWnhXbXRLZFdsTFlqWkRNbEI1V1ZsemFHeHNMek5VTTBWVmJsTlhZalpyU2paT1JXUnVWVlZRVjJoV1ZVdEtUblphUzNSR1JETk9hR2RLVDBad1UxSlBTM1J0UTJWM2EyZE1kek5FY1RaNE5rMDVieTlTWEhVd01ESkNjMFJaUjNkaVNIbGlXSGxLZW10bWRGQllTWFpXUkhWNmJWeDFNREF5UW1WalYwWnRVbm92ZDJGalJsbzFka1l6TUV4RWRqRkhPRXRqVm1wbmNtOTZiMXgxTURBeVFuaFNTMkV5YVRaaFN6QlNhalpGY1hCdmJqRnJlRUZUYlVOb2RWWmtXR1JHYUhaVGJYZGNkVEF3TWtKQ2MxUXdSemxvT1ZKcE9VWmlVazluWjJabGJrWldORngxTURBeVFtbFpNMVJvZEZCVU4wVTNObVkyU2s5WVUxSkZWelo1VGxBeVEzTkVjRzVKTkRkcFUySlBTV0V3WkVOWmFGSmFXbVJoWkVOclZVNVpZazFyWlZBd1MxZGFSbkJaY1ZjMGJsSkVaRk5VZVZOTFluTXlRVEV4V1Z4MU1EQXlRbTloT1VaQ1MwcEZlVmQxVFVaa2RESlJkSFZ4Y1d4bFNFTTVlSFZjZFRBd01rSlVWM0puVWxkc2NHSmtRMHBUY0U5NFdsRXhVM1EyYlVweVhIVXdNREpDUlhSbVVYVnNTM0pyVDJaS1p6Qk9OR0YyVmxWU2EzWnVYSFV3TURKQ1EwOXNWME5oVkRsNFJGQXlVRmxrYjFvMFZVcHZhWEJXYmsxTmFIaFpibEpHV0c5YWExSnliMUl3UjNWM2FqQkhUbkoxTkVkcWRXZFRkMXgxTURBeVFrZEphMnM1Vm5CVU4yczFUa3M1VTBoRlVsTnJSR3BOU1RWV1RsVk9kWFpqWm1kM01sb3ZTRUYwU0VkamRHdERjbkpSVGxWUWVtWnFWV3BWU0ZacVRscDVTMkZ5YXpBMU1GbHJZMFZXYmtkMVJVbDJTbEZ0Ym1kVE9YQldjRGxjZFRBd01rSkNTakpYY21JNFNtVTBOR3RVU2xOaVpsZDZjMXBTZEhaSU1sTnNiRnBwYUVoSFRuSjJVMU5OYms1elNrVXpkMXgxTURBeVFqaDNWWFY1V0hOVFYyWktkbXAxYURkNmIwcFZhWEpHTUdrNFlrbFdObmxMUmtKSFNHdGlVWHBrVFVOVVdGeDFNREF5UW1ORmNXdHlVWGg1WkZCT1NUQktVV2h6VGxWNlFrSkNWRlZyTW5CRU1tOVZTR1V6ZFZCbVpGSXZNV1ozVVVwVVlsZEpabmR0VUUweU4yOXFXWE5wVEhGU01WTndPSFpUUlc1b01XZFdjSEl5U0dwdVpqbEtSaTltWjFJMWJVNVBhM0ZMVEU1R2EyMDFTbVpYYW5CcmFWTkRRVEJQVXpsV2JqQjBPVmRhTTBscmF6Vm1kMVk1U0hKbVptZFlXR3N5TVM4d1pXaFJXak5UTmxJNGEwZGlkVFExTkhKbVExUkxiSHBYU2tvMmRYTnpiR2QwU21kWE5uRlhiMmwxZW1WU04zRkZhMHhMTkM5d1QwNVRhamwzVEZKMGNXdHRhMWxrU210dFRtRk5hM1JLWEhVd01ESkNXRVZ5VEhWU05TOXVVSEI2TDNSSGNXUnJMMmRhVG1SRE9FUmhYSFV3TURKQ2VFVnpjbTgxYURjelRISjFVblV4WjIxbmVVdDBiVEZJVVdzM1NtSjVYSFV3TURKQ1FrcE1SbVJVYWpKSVR6aGtWV3BLVkRoclJtNUlUUzlaYjNWV2VtSmNkVEF3TWtKRFVsWjFUMkZvVDJSVk9ISmNkVEF3TWtKNFV6VmNkVEF3TWtJMWVrMVBiVXhYTTB0bmJsTjVOSEo1Vm0xVVpHVlpZWEl3Wm5ONGVHdE5WM2xzZERoTU9VRXpTblp4V1dsaE5WZHFaa1ZoVVVwcmNHMU1NbTVhWmtwVWN6WjZXRVpDZEdoVlVHTm1kMUZVVEVodmJVeGFaRmcxYTFGWlZYSktkVUozTW5aQ1IxWjZjVE5QV1Vka1R6aHpSbXd2UjJjMWQwVlBhRmxpUzB4WWQybHNTMHBPT0VaWU4wZGlUVGRETUZnd2NpOUNkbGRRUXpreVRIWkxORkk0UTFseGR6UlNPRVpxVEdwU1ZEZFZSbEZ4YnpaY2RUQXdNa0pXVUcxVFMyUkNOalk1VTJ0dVRHSXdZVVpPZVdkTk1XMXNSVkpMU1d4WE1VeHNPREl5T1ZKS2NVbFBhVVUwVjNkdFlYTlhkakpJUzNwemVWcFlTbVprU2tVMU9HdFFRVlowZUZSVGRtZG5ZbVI2YTNGTlZFeFZTWFJrTWxKeFdtRjZWamxGVTNOck9XOUVTVFJUV0dGSmF6TnFjMVV4VlRBMVZVWXdSWFJZU0ZoVlduWk1NVFU1YUV4cmIzRndObXN6Y0RCU1NYRlBaMjh3V1cwd2MyaEpaRk53Vm5SWGJWTlpWbkpyY2xObFUwZG5XbmM0U0dJMlMwSlBUSFIzVFRFM1FWeDFNREF5UWpCSlNtMHhkMlpzYTJKdVVUWXdTbHBYTkRGdFQyZDJkM2xsYW5Wb1NYRjNXVGxxTldOdGQyWk5Wa1l3U1ZkRmJVcFdaek5vUTFWMk5VOW1NemxIZW5kalYwdGpSVzVzVTFRMU5FWmFaR2xDV0Zsa01FOTJVVFIyUkZaQ2FrRXlkSHB6VkV0S1ZEVllNR2hEZUdKdGJHSmFSbGRDVEVGcVZYRlFPV3MxU2tsbU1XbFVMMnBjZFRBd01rSjRObFl6V1c5V1YzVjNhbHBHVkdGVFZWaGFVR1JxVGxCQmFYSldXWFY0YTI1dlFqSmlhV28yYTBaVldFWnNXSE5XVm5ZeloyaE9jRkZVTUZZME9FVkpiMlUyVlhrdmIyRjBVbFZjZFRBd01rSktPVEpNTUZCc0wxWlFVVzE0TW10b00xRnBaREJOYm1OVlpqaEJjMnhYVUZSVVhIVXdNREpDYjJSVFEzWkNWbGx2TUZFMlJXNXpUbUpUV0RCcWNWRjBOMFZYZERGSlFUWnZWMWt6Vms1SWJ6Qk9SWGN5YjNsT1JYQldlRVZxWWxOamRuTXZMekpuUVUxQmQwVkNRV2RGUkVGblFVRkZUM0Y2VW1SblFVeDRZVmhWUzJwVGVEUXlVa05CTTNCalRVTTVSRTlhUVVWc2FHbGFNR1JwUjNadldUZHpWbEpxWlZOMlMyVTBlVUZSTW1NeFFqbE1kRUZQT1hGUlJXMTBTVVJXVDFoSlNVVm1kM3B2ZDJaSVpIcGlZVW8yUWpKc1psUnZNbEV5ZGpaRVozaHRaVmxuYkdwWFJFcDVjR2h0ZWtONFluSlVNRWxJZDNKR1FuUkNVbWRWYTNwaFEwbDZTR3BtZG10bFJuTkdZbEpwWXpSQlkzTTRTVkZWTkVsUlFXWXZNbWRCU1VGUlRVSkJWRGhSZWxWaWVXMWpVVWxYZEdwM2EzWjNTbTVqWlZGM09HYzRlRlJwTTFOR1YzVlNkMnA0Y25GVVJWWnNVVkpzUVRCTmNtcEpjbEZoTDJkV2FYcG1UWGhZTldkU1NXSjRSbXhUVTJKck1WSnhTekZGZWxWMWRrbHZOVlZqUXpCcFpGZG9UVEZIYWxVMU5GeDFNREF5UWt3d1NIaDZiamxOTW1oRk9FUk9VbHgxTURBeVFtODRiMlZTYWpOTVFrUnJhMk5UUmxkWGFYVTBSVGRSV0VodFVFbzJhMkpWVmtvMVlrZDFZME56VWpVNGFWQk5ObUpOY1V4S1kwRnlTVlpCYWprek9EVlRiV0pWTkVZd1pWRnROWGRTTkRjelJHdFpVMjgyYWxCTlNqRnJjRXhpTlRWcmJXdDNabGxTTkhsVE1XWnhVR1pYWkVWeVIyWXZZVUZCWjBKQlowVkNVSGhFVDI1TVpITk5VR3RKVHpCWVNqWnJVRVZwUWs5ak1qZExSbGxMYjFOVFZHdFVVVGxCTkdwS1lVMHZVV3A2U0d0SFdrcEtlVWxMU1RNd1IzSm9RbEZOVFZWSVoxQjNhMkowYjFGNVRWaDNVbk5zWVZSWFZrdHNRamhSTUU5aU1IQXhSMnhqWVhGV01VWlZWVVJXWTBwMGEweG5aRkpqVEhGSlNFazJOVTFUVWtkYVNqbEhVa1p0VjFaWk1sTTNkMU5CZEVGUk5uWnBWVU41TDBaR1NXdE1ibnBGUlVwRFkydHVibXN4VDJoTlVYUldRamx3V2xGc1kyTjFMekZtZDNwRFJrMVVSSGRsW
683kRGRU9HdEZaV2hSWmpoQmJFVnNUMHBjZFRBd01rSlpXbnA2UkdGblVqaHFUMU5CYW5sNU1tOUlTVkIwY1ZKcFkzcHpXRWh4UVdOQmFIRXdPVkJ4UzNVNVFWaFRRek5DVXpOVFExVXhUVFZTTHk5aFFVRm5Ra0ZSU1VKUWVFSlJjVFZIWnpKa1ZFUlJNVlpxV0VKTVUzbHlhWEY2VFVGUmFWZGtRbFJaZEhOdmVGVlViWEZ5TDBGS05HVnNaMjl1WEhVd01ESkNOMjlRY2tsb2FtWnpVbXBqUTJreFVHZHFlWEp1VVcxRVUyOXJVMXB3WlZWV1ozVkpaRU42VEVwdlZrOUNlWHBJV0M5TFZGQTRRVFZWVVU5TmVHZHNNbE5MUVVjNWFFTXliMHhWWkZsb1MzTjVZMDF4YkRoQ0wzZEJNRWh3VVc4M1dsaGFaalUyYVU0NVVsQmhURGd3Y1ZVMFUzVkZTRnBPUzJZMFptOVVMMEZGYVV3NVdVMXdVa1pFUTJSa1lrbHpiM0pHT0d4U2VHTlJTMDVJVXpOUmFrRnNNR3BsUTIxV1oyZFhVVWRUWlVWa2FUWTNaR1JUVDBOeEwwd3ZXWEJSVlVOa1JWZDNjV0Y0WkVaTlZUbHFXa3MwU2xsWVhIVXdNREpDUjJkaFlXbG1OVVJYVjBkSU5sWjJaVm8yYTJjd1RuTkNiRU5rYjFSdFEybFJUSGQ2VlRSVGVUWnZWbUU1TTJkNVNreDNaa0kxU20xMFZ6WnVTWFJOYnpobU5GcEpXRTV0TjBaUE0xUm9iV1JCYnpOVE0zRlRiVk5pTlUxaE1FOTBhM1Z2V1U1dlIzZG1ZMXgxTURBeVFrRjRWbEkxY2toV1VqUkhWMFZ2YkVVNFUxVnhSek42UTBwamRXOXVXa2xwVm5WNk5VZHBhelpTYmxGdmFtTTRkSE5WYm05aWFWbG5kVTVNVDNsM2JVTnZWMnRwUzNKeVpERXZVM1Z5U21oTGJteHhWMDFQY1ZKbFEySmFOa1ZEUTFKeGRFSm1USE5SZEVSek1YWXplVTVpUlRkdFJEaHhabGx1TVdaNlNVdFRkMmhUVGtWdlJtdFRRbmh2WlhCbWNGUkpXbGxUVWtJM1NtRndUamxDTkc5RWExWkhMM2RyTWt0aFNucHNkRngxTURBeVFrSTVURVJhYWxaNWVXVjZPWGxrVFVwb2JWZE9NSEZuWVhGNmExaHlXa0pMVTFNelkwYzJZMDExUzJkVmFXUkdkV3hsZUV4YVprRXhTek5VU21aSk4ydFFjVWRHTTA1TWExVlNWemxzUWtKTFJtZ3hkbkpNUjNwVFYzRnJjWFJDVms1VVpseDFNREF5UWtRNGVrWXdVa1oyVkhST1IxRldPRWxhTURkWFp5OXNVRXBDY0ROY2RUQXdNa0o0UW5Gb1kwSkpibWRvZFdwSVJtaENkVzlhYVZodGVHZGpOM040TlcxSVUybFJWMWRXTUZvM1JGcHdPVlZUVDNGekwwTTVlV2x5ZEdvelN6UmNkVEF3TWtJd1MyRnFVSEZPZFRkelpuVmpaelpFY2t0VVkxeDFNREF5UW1scVpHVjRkR1pCWEhVd01ESkNNSEk1UkZOWGVXTlZReko2V21jd2VEVkRVMUZPZEZ4MU1EQXlRalI0WmpKSFNuSndaa3hMTVVWVlNsVnFjR1IwUm1zMmNrVnpha05KVGpWTFozTnlhWGhaVkZaMVJYUXlTVGxwYzFkWGJUQmlWM0JZVm5OV2VFcE1TbFZLTkVORFYxZFpiMlJUWlZwdFFsY3dkVnBjZFRBd01rSjRNR1pMZDFaYVUyMUpZbTFRV21aQmNsSjNVRU40U0M5RFNqaGxlVngxTURBeVFtZzBTRGt3UjB4dVkxTkxUSFJKYmx4MU1EQXlRa2hCYnpWTFVFRnJSV2hSWTJGcFpGTmNkVEF3TWtKU1kyd3hUM1EyVjFadFMwOU9SVTlLVTBwSWNuRm1NRWR6YW1oTmNtZFlWWFI0Uld4TWRqZHJWRzlIYUhBMldDOXFUUzlKYUdZNE1DOXhSamxFV0RKbVVTOXBTREJMUTBSbmVXeERhM1UzTmtSVFRVbHVRelZhZEZoSmVEaDBOVngxTURBeVFrNW9TVFZMV0ZKTVFVbGFaMlZYYzJsa2JGeDFNREF5UWxOS0wwRkpSMUJVVTFsek9HZGxiM1pEVkdkWVpFcDRUMGRRVDBoMU5rTlBNWFJPUjFWeVYyOWhXak12YjNSbVlYbzVSMXgxTURBeVFubzVSM2xZT1VnNWFVZ3paakJSWEhVd01ESkNOV3BLVURrM05VNVZkWGxGTXpoSlZ6UlRXamwyYnpNd1YydENTMFJUTTJSblMyTTNWM296UTJkd01XUldlV0pxTmtKbmIwWmFjSFJRYjI0eloyUmlRVkl3VG05TVEzQndSbEowY1M5VldXWnFXVkoyV25KdGJuRkZlREJTWVRKdGVtNTVVVngxTURBeVFteFpOSFJCUVhRMVdIVkxiakJMYlZNMVUwZFRkRFZ2V1hKbFVUaHVVa0V6VjAxbk1qYzNUVEpYZUdKWFlqZDFXbTU1Um1ObFFtaGFRV0Z4WlhWQlVVbE9SWGx5VlZKNmRWY3hZMEppZDJrd1QxSldWMjh4YVZrM2FuWlRSUzl6U2sxUlJVdDJkVVpHVm1ObmMzbEZNRzF4Y3poNVNVdHNlbFI2ZW10UmNFcFpOMWR2Vmt0TVlVZENObXRXTUM5dk0yNWtNREkxUldjd1oyd3piSFEyUXpCWE9YaHlTV2hoVURCa1p6WlBlRUZUWm04M1JYQkRUMWc1YmtoMVlVSXllRVpWUTNKclNXeHRSMmxLUlV4R09GVlNUVWhXYVVNMFYyTTVhRU12T0VGdlExZERTR0ZHYUZkbldWeDFNREF5UW1OYVJHTTRRM0l3YVhCSU1FZHNUM2x1WlZKeE9FUjRjR0Z2V1ZOeWQwUm9PRzkxWkcxUlZITjJPRWxoYzNsTlpuZE9NbFJhYjNocmRseDFNREF5UWtOUVdubGNkVEF3TWtKSFNXUnVXR2R6Y1hOMlhIVXdNREpDU0ZsY2RUQXdNa0l3TnpWSWRIZDBVamgwYldscFVseDFNREF5UWxKRlJsWmlNREJ0VUZWMWFVWnZWMnhrVFZWTFZrTTNURGhrZUdGeFJtUjJlVE5GUlRJeWJGcEVhbmRVWlhWRmJVMDFkR1JQUW5kSWRYQjNUa3g1U0VveVpGb3labmRIVUdNMVZUQkdkWGhsY1V4c1RIVnZjMU5FUW1WVmExeDFNREF5UWxjMVVEZFdSVmRWVG5odGFFSm5TVUZVUWxFM04ycHhWM2x2VkRGb1NGUjNjRzlQUm1WSFp6aHdZVGhwVTFWeFptZFBWVXg0ZWxnMGIzYzVhREppYzNFMVpVSXlhM1pUVW1WTEwzSmNkVEF3TWtKVFRFWlBWbHgxTURBeVFqSkhNRlZMVlZaVlVTOTRXV2xYUzJoTVZsRjBjRTFpVkVwMU1VZHZhVnBVWnpoV1puZFBRMEp6UzF4MU1EQXlRa3gxUkV3MlUwTlBSVVJ0TkdGdlRrOWhjRzB6TjFRMlJsSXdPWGxwYjNGd05sWmhVVXRXTmtSVmFrTTNiRXd2U1doa1RWZERSWEZ6U3k5QmVqUkdaMmM0VTBwbE5ISnFjMHRVT0UxRFFVVXlORlJoVVV3NVFYTTRjbmRLZUhOcE4xVnlPRk5LVmxaRWFqWkVUV3h0WjFWcmNVNVFlak5hWkZCY2RUQXdNa0pQVTFwb2JEUldNek5jZFRBd01rSm9VR05XVTFZM2JIbFZlSEY1U1Vvd01razBkbnBtZURGRk1WUkpZV293TVRGa2JGeDFNREF5UWpaR1IxaFJYSFV3TURKQ1ZraDFTbmxQYkZaNmVuTkxlWFphUkdFd1MybGlZMnczVFRFMlpucGtOVnBWVmpGUFoyWmthMDFPU2tSQ1IwMVFiRWR3ZDBST1NGeDFNREF5UW10d1ZFNU9UVzl0Y2tWMFNtaENjbmx1VURSNmMyY3daMUp2VDFwbVozWTJUWGsyV0d4bVMyeEpiRkZyY205bGVFWnlTRlkyU1ZNelVqUklTV1JZUjNKWGNtTlVRbU5XZG5SNmRYbExPRnBEVm1KUmF6UnlkMDk1Ukd3eVdWeDFNREF5UWxVMGEyeGpkblZITUhkU2RseDFNREF5UW5oWFdHWm9aakp1TWxGSVUyUkljMFJUTUVnd1EzbHBZMHBpY1V4ak5uWkJVR05OZEdseFNqbEZkRTVoYWxoWVFVZGtSVWMwWlRaWGRHUldNRlJHUVdoYVprSkNOMVYxT1hnM2EybG9OR05PTlZGeGFFWldNM00wVmpOcmRrVk9jVWcxUkUxVmNYRTRiM1Y2U21GTU9VOXJiRFowVERKTVdXdFBiR05DUzNWSmNHTlFTVEV3UjJSR1F6QjVXVmxZUlVsYWRWeDFNREF5UWpCM1pHdElUR1JUWEhVd01ESkNVMjVSVTNwVlF6UktZVmhWV1VWMWNVZGFUVkpNZG1selRFMUhaREJNTDJoQlMwbE9WbEZXTDNkTFkwZHVNM1J4TlZwVU1FbHBTRXRqZHpkQ1puZEZhRkF5T1ZZeFpGRXplRWRuWXk5SlRqQkRhbFYyT0VFM1lVVk1TV1U1YjIxYU4yZG1hR3B2U3pCTE0yOWxVMEpXWVhCTGRXSnBaa3RvTkZOdE1XMTFUWFZXZWxoWGRTOHlhV2xvWjJacldHdEZlbVZHVERWTVJXVjBWa3hzZUZKRU0wVm5kWFY0Tm1oeFV6Qk9RMkpwVWxBeVZtWlJSa2xoY1c5c01sUkdjR1EyUTIxTWRYSmFWVzk2WEhVd01ESkNVMWc0YmxoM1FYcEVNMWxPWVhaalVVOXZkREI1WWxaa1RYbFRlV3hZVkd0aWNrcGxhbXN5ZW10dldXMU9ZMDVqYVdsdldtRmNkVEF3TWtKVGJHbHlUV1l3VEZNMmJWRmpiMk12ZW5WbFJXdE9jbEZZU2xjM1RGZGxVRmxyT1hwMWFEQlZabXR0WldsY2RUQXdNa0pZUW5kNFdDODRRVUozYzJsd1JYQnlSRmc0VUhWTFVHRTBhbTl2WjBWcGNuSTBTMnhvVGtaMU56ZEtiM0UzVlVONGIxbEpTazAxU1dGcVZGZHhNM2M1UTNGaVFsb3ZZVVJoVVZaaFpGTkhjRzVwTUVoNk9VSkZRVVZ3Y2pkNVkxQXlRbHgxTURBeVFsSlJORWR5TmtKTVdGbHBSblYwVW5kbWFsWnFWbUZMUWx4MU1EQXlRbWxuT0ZKTVZEaHVOVUl5U1ZkdlRtUjNTVkpoUTFwamJ6TnlOMFZxYlVVM09VdEhVVVpsTm1keVNXdFRORzh6WjA5SFdta3hXVzVDUzBRdmFFRXpWemRyZG5OUlNHeG1aRkV5U1hCc09UWkRZMDlUUzFkd1JXeE5iV3hXZVhGdFVWWkNkM2xKWEhVd01ESkNkMk5LV0dabWQzVktjV2hWVEV4cFV6aHZUR3QzTTJaSFQzcEdhbVZ3VVZWRkwycHZXazFuY1dVMlpsVkRjR2hqVFdwVldXWllNbEIzUm1SSFUzYzBVa3AyTjI0NFNUTnpMelJLVDFZd1lUbDRXVUo0VTFSY2RUQXdNa0puU0Vka1duWTRaMVpsYVZaeGFuRlRNMnRqTVRac1kyTXpSR3hDTlcxSWJWVnBjVVJ2UjNGVmRGZEhWMXgxTURBeVFuQlRRV3AwWWs4MFUzVXlWeTlIWjB4TGFuRm9lakZXZDBOVWJWSnZOMlpLU21aQlVtc3dYSFV3TURKQ05uSXdTR05jZFRBd01rSkZSblpqVlZWa01WSnpOVFJtZVV4WFpURldORU5pYldsVU0weEtRazVvV0hnMVIyMHhVMDFWYjNneU1WeDFNREF5UWpCM1Z6QmNkVEF3TWtKNmVWUndkRE5MVVRWY2RUQXdNa0pvY0hCdlpGRnJVbEoyUWx4MU1EQXlRamRJZUhrMlNHWnlOMGw0UjFOMFJGZElaRkJaZDNNeFJXNTRXRE5YYURCclozSTRXRWhoZW1sMFlqUmthWGhDY0VVNFMyVTFMemxyUFNKOU
683xIc2lkR2wwYkdVaU9pSkVhV2RwZEdGc0lFMTFiSFJwYldWMFpYSWdRV05qZFhKaFkza2dSWGh3YkdGcGJtVmtJaXdpZFhKc1UyeDFaeUk2SW1ScFoybDBZV3d0YlhWc2RHbHRaWFJsY2kxaFkyTjFjbUZqZVNJc0ltUmhkR1ZRZFdKc2FYTm9aV1FpT2lJeU1ERXlMVEV3TFRJd1ZEQTVPakExT2pBd0lpd2labVZoZEhWeVpXUkpiV0ZuWlVsRUlqb2lNamhrT1RjMk9UY3RNamhqTlMwMFpERTFMV0ZpTlRVdE5EazNNRGc1WkRrNFltWmlJaXdpWVhWMGFHOXlUbUZ0WlNJNklrSnlhV0Z1SUVodmMydHBibk1pTENKaGRYUm9iM0pRY205bWFXeGxTVzFoWjJWVmNtd2lPaUprWVhSaE9tbHRZV2RsTDJwd1pXYzdZbUZ6WlRZMExDODVhaTgwUVVGUlUydGFTbEpuUVVKQlVVRkJRVkZCUWtGQlJDODNVVU5GVlVkb2RtUkhPWHBoUnpsM1NVUk5kVTFCUVRSUmEyeE9Ra0ZSUVVGQlFVRkJSMmRqUVdsblFWbHJXa05VVlZGM1dWUkJkMDFIUm10UFJFRjRUVVJCZDAxSFdYaE5SRkYzVFVSQmQwNVhVWGRQUkVGM1RVUkNiVnBxUVRSTlJFRjNUVVJKTkUxSFJYZE5SRUYzVDFSQmQxbDZRWGROUkVFeFdXcEZlazFFUVhkTlIxVTBUVlJOZDAxRVFYZFpWRkY0VGtSQmQwMUVRVE5aZWtVeFRVUkJkMDFFYXpGTlYxVjNUVVJCZDBGUUwySkJTVkZCUWxGWlIwTjNaMHhEZDNOTVEzY3dURU4zYzA1RVp6Uk9SRkUwVDBSM01FOUVaelJPUkhoQlVVVkNSVkpGUWtGUlJVRTRWRVZvVFZCRlFrVlVSa0pSVkVWU1RWZEdhRmxVUm1oVlZrWm9hMWRIVWxsWFJXZEZSa0pSVlV0Q2QyOUpRMUZyU1VOM1owdERRWE5MUTJkclNrTm5iMDFEVVc5S1EyZHJUVVJSYzB0RGQzTkxRM2N3VFVOM2MwbERkM05OUkVGM1RrUlJkMDFFVVc5TVEyY3dUVVJSTUUxRmVGRlVSWGhQWXk4NFNVRkZVV2RCZVVGRVNVRjNSV2xCUVVsU1FWRk5Va0ZtTDBWQlMwMUJRVUZGUmtGUlJVSkJRVUZCUVVGQlFVRkJRVUZCUVUxQlFWRkpSVUpSV1VoRFFrRkJRV2RKUTBGQlVVWkJkMDFFUWxGQlFVRkJRVUZCUVVWRFJWRk5VMEpDUVZSSlVWVlZTVVJHYUVsclJsSkpla05TVVc5SWFFWlVTbFJaZGtGU1FVRkpRa0ZuVFVaQ1VXTkVRbEZGUVVGQlFVRkJRVUZDUlZORmVFRm9Ra0pGYVVKU1dXRkZkMDF1UjBKclUwcEJjMk5JYURoUVJVUnJkRVZVU1hwT1ExVnVTVk5CUVVsQ1FYZE5SRUpSUlVKQlVVVkJRVUZCUVVGQlFVSkZVMFY0VVZaR2FHTlpSMUp2VWtONGQyUklkelJUUkhoTlVDOWhRVUYzUkVGUlFVTkJRVTFCUVVGQlFqVnNZa3BLVG1rMlNGUTVXRVl2VDBObGJUUjZUR3hsT1RRM2MydHlkV3hvTm5GV2FFcFBhMnRyY1U5WWNUVnFlSGsyVDJ4U1QwdHJSekJKYzB0dlRHZHBSSEJwZFdsSlQyMWtNbXhJTUVoVGVqRnFObWg1WTI5RloxeDFNREF5UW1kMmRHOW9TME40ZWtaME1qWkJWa2M0Tm5OS1NqQnJiVk54TlRKb1VWUmFPVWhUY1d4b2JrUjFhRXRQYjA4M1EyTmhVVGN3V25kdlZUbHFTR3hFV21FelNVSTJaRzE0V1doTEwxQk9VV2xFYkdKMGFtNXlWMDAwTmxad1ExcEpNRkoxYXpsUmQwVnpObkJ4VmtwNGVtOWhPV2xWWTJoMGQwdFhTbEl5WVRWSlduWlFPRUZhT0ZwUFVGUk1WbWRCZFdaUGR6ZFBSMXBwZUdWS2FXMW9TMEp2ZFhwdFZWcHdUa2RqVlhFNFduZFRSMDB3V2s1WGFHUk1Tbk50WlRWdVRYRXhWVTlpU21KSVNWZzJSVzljZFRBd01rSnRWbFU1V1hKR2FrcHVZVkpKVFRWTWJFcHRWbWxPV0ZCYWVUZFllbTQyYTFsbVlsQnRhMEZUTmtGamJtTjZRMU5aYjIxcE4zRnVZbWxzVlVsWmEyMDFMMjFtVVZCUU0ySXdTbHgxTURBeVFscHNRbHgxTURBeVFteHNlbHBKZVRaS1dWQkxjSFpTV1dWRk9UaHNNMUJPWTBOa1RuaEhOV3BYY214bU1Hb3dUSGRVTVZ4MU1EQXlRbkZtWWtwNlpITlNUbkJ6VjIxc01ITmxZbUZUTmxKMVkxb3lObEpqZEVOVVpGbzFNWEkxUlcxd2F6QnBWMEUxYUhSRGQzbHlZMkkyU2pWNFJtTjZXbk50U1ZCQlJuUlJWRFZaT1RKTVRFVTJVVFJhVG5wMllUVkhjRWRZYjIxVllXeERXV2hYTlZOaVVHRTRTMVJWYjFkb1UycFdNV0ZPTlRJeU5XVmlhRUZVTURodWJVRXdMM0J1UXpoNGRGTm9hbVZ2T0VNM2RERllUbWxNU21wY2RUQXdNa0kyWlVRNWRrZFJUVzlrVGpJNVVqUkxlbmhOU21WdE1pOVBUMjlrWW05Y2RUQXdNa0pZTVc1aE5sQktiM1JNWkhFeU5YbHFiR3QwVmxwT2FXdFBWRzVpWkdGV01EQllOR2t2ZGpoQlR6WTVaVlpCYmtrelFtUk1aRFEwY2xBeVdqRkxZMEpCYzNsVFJXbFJaSEZrWWxKNE1tTnlZM2M0V2psc2ExcHVaakUxWTJ4UWMyRTVRVzVLWEhVd01ESkNhMk0zTUZWc2EwUjJVRlp1VmpCQ1UxUXlMMDlsTlhscGVIZGpiakJFYUhJd1ExcFlVVGczV2tjNFhIVXdNREpDTURaUGExaDViVmh4UlRSeWVUSlliMUZhZEhkMFpqQklUV1JqYmtzemJ6TkNORkJWTkc1bU5UVnhkM0p4ZWpVMU1qbFJkbmxYVEVwUVQwWmNkVEF3TWtKd2EyTTRWblJ1U0djNWQyTTJVbWhHWVUwd1ZqUnNVRmR6VVZsNlNHdDNPSFYyWlVKSmJGTk9Nbk00Y1ZReVdHczRUbTVLWTJJNVZuTmpRbTlXVTJSaWNUUXllbE5NYURSbE0yZ3lVVnBWY1hnM2MxTjVhVkp0Y2xOelUxTnhjUzlHYTBJM1JIWkhTbkZ6VmtWUllrdHNTM051YXpkNFl6SnRUamhOTDI5VVZrUmpTa2gxUVUwdlIxeDFNREF5UW1wWmRUQTRaVTUzTDFSc1dXZzFia3d3Y0VaaWVsSmxiSEZVWldGSE9VWlZWalUwVkhZeFJuVkRiak5UVXpSWFNHVndValJKV0c5VFpDOVFRbHgxTURBeVFtcHdiamcyWWpCYVR5OU9OMFo0V2pWeFZETkdRVzFXY1hCT1NDOHZNbWRCU1VGUlJVRkJVVlZEYjI5VFJrVlhUbWw0VG10TlduYzJiSEpEVkZoeGExTktSRWg2YjI5dmIxZERVakJIV1hWRU1rbGpSa0pEZUhGS2JYZFVXWE5qYjIxTVNrdExiR3d5U1dVemIydFRSMUF4Vm5sM2QwOXRhbGRvTVVwbFYxbHpRVzlIY0ZGdU16bEZhVkY0Y214U1VsSlNVbEp5UjBKcmVuRk5WbmhGZVdKaVRVOUtVVWs1YWtwNGRYTndZMkZ4ZUM5WFVXaHlObHBFUjFBd1ZWVlZWbmx2TVVWb1dtaFVNa280VGtkaGVHTktNbXBEYkRaaFNFRmhSMmxwYUZseVQydFFSakpMUzB0RlMzVldSV1YzTTFwSFVuTlhWMWRpUkd0cVdXeDVWV3RvVkdkaWQxSlBVMjFQUlZSd2FURlljbGhLUTFwYVdscG1jVEZMVDJ0NmNGVmlkMUoyUVdWT1IzTlRhV2xxVlZkT2N6WmlUbVZsY0hGNlZXWnZiMkZTVTAxcmVWVTNSMDVFTjI1VVdtOWtUVFppVHpWR2RteEpWRkpzTkhwSWFXeDFZbTh5VW1OVVdrWnZOMGhaTWtoT2FtMWtVV3hyVkRWWFYySk5jM1p0TlVoMVduQk1TRWhwWlVwbFlXWkJPRkl4YzJOaFN6VmtkVlpzYkRnNVZXRnZZMVpjZFRBd01rSXhOR3hEVlhOS2R6Sm1jSGc0U0hwWVJWZzNabTE2ZWxvMWN6Z3daVnBRUlhWT2JrRTRMMjFOU0VobWNGSTRXWGx2YmpSNmExbGNkVEF3TWtJMU1YWXdYSFV3TURKQ1JEUjZlWGhFYW5OWVZGaHBSMEY0WTFoRVMxTTBiV3A2Y0RVd09EWmxaRkJQYm01cWVucFFVRTB4VGtSVlZWTk5SSGhLV0ZCd2RHNVNZMmxWUjI1VVRHWlFZbVpDWm1KM2RtbE9RMWw0T0RjNVIzQnhZV2xwUzBwNFZXWXhkWFZrVW00NVZXTkxUMjFyWlZnMVQxTk1aMk5DVDNCVFVqQjZjRWRuTkc5dmNqRTFjelozZUZkVVlreHJMM2RDTTIwNFkwazFMMFl4V0cxemJXUjJTakZOYTFZNVptazVaRlIzZVVOc2JYbGpVRUUwZFVWTE5HWk5jekJrVTJscGFXaHZaRVpJWEhVd01ESkNielZDWEhVd01ESkNTbHBDWlV0VVNtVkxWRnB0TkcxWFZtRlhka3h2T0hWcWVUWkpORGxEVFU1YVRIaFhVMlpHT0ZReE0zY3lXalJhTlM5RldscEpOVVpQWVRSSVMzTk5jR05tUld4NE4zVlFSMWt5VXpSY2RUQXdNa0pEU21WSmVIVk1NMWR3VVc5SmJ6RlBhMnBxVFZOU1VESjRXSEpNYVd0cWVscEVUWEJ1TVdOdFQxeDFNREF5UW1OY2RUQXdNa0o0YVd4emRYUkZOamhUUlhScFdFUjVkRmxqYVU5c2EwOXFhMDVVVjNwd2IxZEtSMVJXY0ZwSmN6UnBaRkkxVVd4eFhIVXdNREpDVkRsUVJsUTFORFUyZGtoSWRIRnFWVEZIZVRCU2Iyb3lTRGxTZUdWTVVXeDNhVlZKVVdOcFYxQlZZVzlXYm1OMGJUZFBjRWsyYzNoYWNHczFOMDlOWWtoRGFraEVaRFJqVDFOTVdqbFNVV3RxVmtoelYycGFTRVZaZFhOYVdYQjNlRFZhV1hnMU5IaG1kV05ETkZaTFpFaFdVbU5DT1VsbVVrZ3dNR05pUmxOcWFERk1YSFV3TURKQ2JtaDFYSFV3TURKQ1VscEZZbU5zUlRKUmMybE9hMVJ0YTFwd2IxVndTWFZSTVZwdllVTjBSbmxQTkRVNU5WTmlOVGRPWTNaamFFcDRVRTU1VFdaRmNWRTJXWEZHUWtOTmRrVlZVSFo1YjFwU1dscGFOMnRFVGxoT09IRkxTMHMxV1hNM2FWazFka3A1ZWxwVGJWVmhTRmx6Y0Z4MU1EQXlRbWw0WkhsVFIxeDFNREF5UWxaR1kzRkxUMnBLYm13MVNGSnJVV3BPUjNwTk1EWkxUbEpWWVd4SmIyOHhOVmRvTUZkVlRrWk5NVm8zU0VSNmFtRnlia3BTV25GYWMzcFBOVE5hTjJOdFlrYzFZVVZjZFRBd01rSldibGszT0hJMU4wWXdXVTF6VjNKcFpGZENkbVpNTHk4eVowRkpRVkZOUVVGVU9FSnZiM0l3YzFsNGIyRTFUMUl4VUZjd1ZWVlBTbkZWU2tac1hIVXdNREpDYkcxd2NXaDRUbFJWYjI5eU1WVmhSM0JZZDFWaGJFWkhjRVl5TW5ZMFRsUlZNVTVUYVdwVk1sSnphSGxUUm10VVNFNU5Va05ZV1RKU2MycGFSelpPTUdKeWJrazNMMEZKTlRkbVFYQkdYSFV3TURKQ2RXSkdTV055U1hsTU4ycGhUbXRpVERnNGNVdExUbFJMYUVreE9VWlhZVVZaT1hwVk1UVlhVemRyWEhVd01ESkNkMmhSZG5aYWNEaHZNRngxTURBeVFsVmhSM2hDVjFWaGJHcHRUamd5ZW1KMVNWUk1URWw2TDBsdFVERldlbEZ6V0hsa1RURXZZbWQ1WEhVd01ESkNXQzh2TW1kQlNVRlJTVUZCVkRoQ2MyTnFXWFl3U1dsSlVXMVhTMDV1VTBzNVMwVjRUVlJGZWxselkyaDRVVEUyVlhwaU5FNHlVbTFpTDBKMVlrUnJXRFpNVEU1cWNVTnJMM2xZT0cxNGRXSkhlSFZVVkdsckwzZERWR016VG1wWk1rNXFZelppVGtkTFJGcE1SRXBtU1hOVmF6RTNSRTExVG5SMGNqZHRhM1ozWVUwMlkycHdlVTlzVERoSVUyeDZhamR1WWpnNE0wUTFTbEpHU0d0MVpEaHZURE5JYW5OVlMwaEZjbk5MVEU1SU9XcFNMMmR6YzNOamRtczJibmxqUm1zeWFsUmNkVEF3TWtKM05VY3pUM2syVDI5alZHMWpXVE00Ym0wek9FaHRXbVpJT0VOWlhIVXdNREpDTlhjNGRFaGNkVEF3TWtKR09YcG9jMnB1WkhZM09XZzVhV1pHZFV4alpFd3ZRVXd2TkZCUGRpOUJTVE12UVU4dmMyVmpMelpUU1RoV1lsTXhZWFowTXk5QlEyRnVSbHBZU0RaV04wNWtlUzluTTA5NGFqUmxYSFV3TURKQ056ZEZXVEV5T1hoamJWWjZjMnhDVXpreFdtczBZamQ0TDJkalZFUTNYSFV3TURKQ00xeDFNREF5UWs5bGVITlhWbmx6YkV0ck0xWXdVR3BJT1c4dmVYaGpWUzkzUVVSNk15OVRhVU53WlROT2IyRTVSamh6YzFCeGIyeHBVemRwV2k4dk1tZEJTVUZSUlVKQ2FqaERNekoyVVdwR04ycFpkRzVaWlhsV1VsWlZTMlUwTTJ0MGJHTjJibUpMVUdOTGN6bHJOVVZtWkZScWVHVldSalZwU20xcU9UQllTWE5XYUVsbGVtUmtWREp4UldSeVlqTmhlR0pMVDNCWGRtNXNZV1prZFVKWVJXcDJVREJPVkZVeE9UQjFZMU16WVZsalQweE
683dSSGhqZG1sWVREYzVkVE5sVG5WdFJUSjJWR3RxYW1sM01IaG1lblZYT1hwNFRFUldNRGxOZGpGV0x6Tm9NbG8xTDJsVVJseDFNREF5UW00dmVsWmxSREEzV0ZVeFRtTTRTM2RRV20xemJseDFNREF5UWxSRldYTlhURWQwZEZSRE5IZDJOVXMzVERodlVGcDNja1F4U2xBMlkyWTNZbFZjZFRBd01rSlZSREpqVFhaR2VGeDFNREF5UW1obkwxVjROSFJ1WW5CNGNYSnJaakZMTDNkRWJHcGxRbnBJYTFkTVJtdFhVbHBHYTFkU1dYUjJXVlpMTjNWVmRIRm9SaTlCZEhWWlkwMDBXbmMwYlRjeGREazJOVkJFUlRkWFRFUnlPSFJrTWpOYVdXMXdZbk5zTlVoa1R6UjRkVTFZZEVkeE9GVllXRzlRUzNCdlRsQmFaVEkzT0VneWVuaFFVVmRMTWpGMFVERjNjMXBvWlRGU1dXUkxPRVJjZFRBd01rSXpUVGhYWlROcGJVWlJMMU5WWkhsTlVHcEVUV1pvYUZ4MU1EQXlRbGwxVjBnMGMzRndPV2h1WkZodmFtSjNYSFV3TURKQ2VUQTBWMjB4UmpRNFEyUldVbHgxTURBeVFsQlpPWG8wYm1SWVZYSm9VbTlxV2pKMGNYTnBhMXgxTURBeVFuQnlObTEyY214MFkwaEpNM054YzJOa1JHRmhhV3RITW05a1NXZGhWMFpaVnpsYVJXNXBiRmxpUjB0aGVrSlNWREJjZFRBd01rSlNVbGxaTlM5aFQwSXpWMHROVGtOV1JXVktjRFp0YlRWd05rZERUMGswUzJ4R1NtSnhVbkZoVW01U1duUTRhVmhSZGpCTU9VUlJPVzE0WTNZeFR6a3hXbVpQTlVWUU5td3daVTlqT1doek4yeGpOMjVCZFZWbFlVNXlZV1J3YzFkTGVua3pUR3hjZFRBd01rSndaRngxTURBeVFuQmtiSGwxVTBsemVFNDBkbHBYYTJ4Sk9WTnhPVTU1Tms1UVZUZDVOVU5xUlc5V2VISnBjVVIzZWtKUFIwZHZkSGg1YUdRMk56VnVNR0pPWmpKR2RsaEJaREZtZEZ4MU1EQXlRbWd6Vmx4MU1EQXlRakpEWTFCU1J6RnhkR1ZVUzNwVFltTjRXWEExVDFaaFFsQjZURTEwYkhoT1psQlBkWGxWT0dWVFMwWXpkaTlCUmxCeWJHTjFPRFpOYzFFMlprRjBPSHBvTlZwbVoyazNTemxyYjNwMGRqTnNZMGRWYW5jeFMzSkZVWE55YkM5allrMXpWMHBXVFc5VlpHeGlabk5TYVZOTFVWZE1XbGRKVEdVMU5qQktjbXhqYXk4dk9XOUJRMEZGUWtGblJTOUpabGh3YWtOU1dVVlBWR2RZV1dKVGVVY3ZiUzkzUkVOVU1VZG9iMWxaV1ZsaGVVVnNhRngxTURBeVFuZFJWbkY0UVc5RVpHOUtZVVJ0Y0Vsek9GWnhOR3BQYm01alYybG1PVlZHUmtkb2IyRkhhRzlaWjJKRFZGZEhRakZYWjIxd2N6STRZV0pzYVc5WE5HMVBSbFI1WVhwa1RXbFlaREY2VlZOS1VXczJhMlJHTWtsUU9XZDJjRTVFUkRsQ2JGeDFNREF5UW01U1QzTmFhMkk0UTFSeE5UQlFPVWt2VmxOdGNVTnRhbUpqYkhabllVWllkbFZUZUVwcVQxUkZNa3BQV0dWbU1WSnRhMjFsUXpCR1VsWjFaR1k0VURGVlJVZG9iMm92UVZsbmEwcHBjM3B4U2xaWmRVNVNOM1JQZDNSaE1FdDNUalpqYVdrMlUwVkxkVmhjZFRBd01rSlhhSEpyYlhSaU5VaGNkVEF3TWtKbmVGaHpTM05pWm1sbFNseDFNREF5UW1rMWNXUk5kSGQyTmxoRmNqWTNhMlkwUTBreFVuaG5hVk5oWjNrMFpXbHlMMGhuWTI5ak9WTkhSMDEyVTNOVmQxZHNSRVZxYjJscVQyZFJiVlJpV1ZoYVlUSk5iVmhsZVRabU5GTTVSalpGVldZMVEzaEplR3BIYVZGNlVXeDNhakZIZEZOREwxbFFkMGg1VUVNek4wbFdWa2N5ZEV0R1N6aDJWMUpZYjJoaVVUSlJhMHBUVkRsS2MyaERRbTluVldoRVVGbFdja05LT1VFeWFWZ3dRMU5JUzNsTFpIcFpSWHBGWEhVd01ESkNlRngxTURBeVFrdEZTbFIzU1ZCVmNuQTFUbnBUTjJsdFprSnBjRTlIWTFNMGJsSlZVMGwwWjJGamFscHNiWGxNVTJkaU0zTmtSa1pZWTFkNVlXVm5lbEprYUVselRITktiMVZ5YjA5R2JIWnZhVnBRVm0wMGVYWXhjVU5SWlRaRFoyOXdaWFpSWTI1d2FHUkRNMHd6Um5GaWJVWktiRFEyYkRWVVJXRjJZa2t3TUVaRWRXdFNiMFJhU2tVNVUxZHdUREZKWW5sTVRXdGlTMHhwVUZkRFVGWjJNVkpwTlVkaFZqSnFiR3RxUzNOc1JYZFZjSFZVYlVSdGFtSnZVRzltZGpaSlVWSTJVVkZSVVZJMmVEQk5Ua0ZyTUVOWVVseDFNREF5UWtKVGQxeDFNREF5UWpSb1pVNU9hMlJaVkdsRlVpOWpkbTlzVm5GYWEwcDFhVXRpTmtNeVVIbFpXWE5vYkd3dk0xUXpSVlZ1VTFkaU5tdEtOazVGWkc1VlZWQlhhRlpWUzBwT2RscExkRVpFTTA1b1owcFBSbkJUVWs5TGRHMURaWGRyWjB4M00wUnhObmcyVFRsdkwxSmNkVEF3TWtKelJGbEhkMkpJZVdKWWVVcDZhMlowVUZoSmRsWkVkWHB0WEhVd01ESkNaV05YUm0xU2VpOTNZV05HV2pWMlJqTXdURVIyTVVjNFMyTldhbWR5YjNwdlhIVXdNREpDZUZKTFlUSnBObUZMTUZKcU5rVnhjRzl1TVd0NFFWTnRRMmgxVm1SWVpFWm9kbE50ZDF4MU1EQXlRa0p6VkRCSE9XZzVVbWs1Um1KU1QyZG5abVZ1UmxZMFhIVXdNREpDYVZrelZHaDBVRlEzUlRjMlpqWktUMWhUVWtWWE5ubE9VREpEYzBSd2JrazBOMmxUWWs5SllUQmtRMWxvVWxwYVpHRmtRMnRWVGxsaVRXdGxVREJMVjFwR2NGbHhWelJ1VWtSa1UxUjVVMHRpY3pKQk1URlpYSFV3TURKQ2IyRTVSa0pMU2tWNVYzVk5SbVIwTWxGMGRYRnhiR1ZJUXpsNGRWeDFNREF5UWxSWGNtZFNWMnh3WW1SRFNsTndUM2hhVVRGVGREWnRTbkpjZFRBd01rSkZkR1pSZFd4TGNtdFBaa3BuTUU0MFlYWldWVkpyZG01Y2RUQXdNa0pEVDJ4WFEyRlVPWGhFVURKUVdXUnZXalJWU205cGNGWnVUVTFvZUZsdVVrWlliMXByVW5KdlVqQkhkWGRxTUVkT2NuVTBSMnAxWjFOM1hIVXdNREpDUjBscmF6bFdjRlEzYXpWT1N6bFRTRVZTVTJ0RWFrMUpOVlpPVlU1MWRtTm1aM2N5V2k5SVFYUklSMk4wYTBOeWNsRk9WVkI2Wm1wVmFsVklWbXBPV25sTFlYSnJNRFV3V1d0alJWWnVSM1ZGU1haS1VXMXVaMU01Y0Zad09WeDFNREF5UWtKS01sZHlZamhLWlRRMGExUktVMkptVjNweldsSjBka2d5VTJ4c1dtbG9TRWRPY25aVFUwMXVUbk5LUlROM1hIVXdNREpDT0hkVmRYbFljMU5YWmtwMmFuVm9OM3B2U2xWcGNrWXdhVGhpU1ZZMmVVdEdRa2RJYTJKUmVtUk5RMVJZWEhVd01ESkNZMFZ4YTNKUmV
683IbGtVRTVKTUVwUmFITk9WWHBDUWtKVVZXc3ljRVF5YjFWSVpUTjFVR1prVWk4eFpuZFJTbFJpVjBsbWQyMVFUVEkzYjJwWmMybE1jVkl4VTNBNGRsTkZibWd4WjFad2NqSklhbTVtT1VwR0wyWm5ValZ0VGs5cmNVdE1Ua1pyYlRWS1psZHFjR3RwVTBOQk1FOVRPVlp1TUhRNVYxb3pTV3RyTldaM1ZqbEljbVptWjFoWWF6SXhMekJsYUZGYU0xTTJVamhyUjJKMU5EVTBjbVpEVkV0c2VsZEtTaloxYzNOc1ozUktaMWMyY1ZkdmFYVjZaVkkzY1VWclRFczBMM0JQVGxOcU9YZE1VblJ4YTIxcldXUkthMjFPWVUxcmRFcGNkVEF3TWtKWVJYSk1kVkkxTDI1UWNIb3ZkRWR4WkdzdloxcE9aRU00UkdGY2RUQXdNa0o0UlhOeWJ6Vm9Oek5NY25WU2RURm5iV2Q1UzNSdE1VaFJhemRLWW5sY2RUQXdNa0pDU2t4R1pGUnFNa2hQT0dSVmFrcFVPR3RHYmtoTkwxbHZkVlo2WWx4MU1EQXlRa05TVm5WUFlXaFBaRlU0Y2x4MU1EQXlRbmhUTlZ4MU1EQXlRalY2VFU5dFRGY3pTMmR1VTNrMGNubFdiVlJrWlZsaGNqQm1jM2g0YTAxWGVXeDBPRXc1UVROS2RuRlphV0UxVjJwbVJXRlJTbXR3YlV3eWJscG1TbFJ6Tm5wWVJrSjBhRlZRWTJaM1VWUk1TRzl0VEZwa1dEVnJVVmxWY2twMVFuY3lka0pIVm5weE0wOVpSMlJQT0hOR2JDOUhaelYzUlU5b1dXSkxURmgzYVd4TFNrNDRSbGczUjJKTk4wTXdXREJ5TDBKMlYxQkRPVEpNZGtzMFVqaERXWEYzTkZJNFJtcE1hbEpVTjFWR1VYRnZObHgxTURBeVFsWlFiVk5MWkVJMk5qbFRhMjVNWWpCaFJrNTVaMDB4Yld4RlVrdEpiRmN4VEd3NE1qSTVVa3B4U1U5cFJUUlhkMjFoYzFkMk1raExlbk41V2xoS1ptUktSVFU0YTFCQlZuUjRWRk4yWjJkaVpIcHJjVTFVVEZWSmRHUXlVbkZhWVhwV09VVlRjMnM1YjBSSk5GTllZVWxyTTJwelZURlZNRFZWUmpCRmRGaElXRlZhZGt3eE5UbG9UR3R2Y1hBMmF6TndNRkpKY1U5bmJ6QlpiVEJ6YUVsa1UzQldkRmR0VTFsV2NtdHlVMlZUUjJkYWR6aElZalpMUWs5TWRIZE5NVGRCWEhVd01ESkNNRWxLYlRGM1pteHJZbTVSTmpCS1dsYzBNVzFQWjNaM2VXVnFkV2hKY1hkWk9XbzFZMjEzWmsxV1JqQkpWMFZ0U2xabk0yaERWWFkxVDJZek9VZDZkMk5YUzJORmJteFRWRFUwUmxwa2FVSllXV1F3VDNaUk5IWkVWa0pxUVRKMGVuTlVTMHBVTlZnd2FFTjRZbTFzWWxwR1YwSk1RV3BWY1ZBNWF6VktTV1l4YVZRdmFseDFNREF5UW5nMlZqTlpiMVpYZFhkcVdrWlVZVk5WV0ZwUVpHcE9VRUZwY2xaWmRYaHJibTlDTW1KcGFqWnJSbFZZUm14WWMxWldkak5uYUU1d1VWUXdWalE0UlVsdlpUWlZlUzl2WVhSU1ZWeDFNREF5UWtvNU1rd3dVR3d2VmxCUmJYZ3lhMmd6VVdsa01FMXVZMVZtT0VGemJGZFFWRlJjZFRBd01rSnZaRk5EZGtKV1dXOHdVVFpGYm5OT1lsTllNR3B4VVhRM1JWZDBNVWxCTm05WFdUTldUa2h2TUU1RmR6SnZlVTVGY0ZaNFJXcGlVMk4yY3k4dk1tZEJUVUYzUlVKQlowVkVRV2RCUVVWUGNYcFNaR2RCVEhoaFdGVkxhbE40TkRKU1EwRXpjR05OUXpsRVQxcEJSV3hvYVZvd1pHbEhkbTlaTjNOV1VtcGxVM1pMWlRSNVFWRXlZekZDT1V4MFFVODVjVkZGYlhSSlJGWlBXRWxKUldaM2VtOTNaa2hrZW1KaFNqWkNNbXhtVkc4eVVUSjJOa1JuZUcxbFdXZHNhbGRFU25sd2FHMTZRM2hpY2xRd1NVaDNja1pDZEVKU1oxVnJlbUZEU1hwSWFtWjJhMlZHYzBaaVVtbGpORUZqY3poSlVWVTBTVkZCWmk4eVowRkpRVkZOUWtGVU9GRjZWV0o1YldOUlNWZDBhbmRyZG5kS2JtTmxVWGM0WnpoNFZHa3pVMFpYZFZKM2FuaHljVlJGVm14UlVteEJNRTF5YWtseVVXRXZaMVpwZW1aTmVGZzFaMUpKWW5oR2JGTlRZbXN4VW5GTE1VVjZWWFYyU1c4MVZXTkRNR2xrVjJoTk1VZHFWVFUwWEhVd01ESkNUREJJZUhwdU9VMHlhRVU0UkU1U1hIVXdNREpDYnpodlpWSnFNMHhDUkd0clkxTkdWMWRwZFRSRk4xRllTRzFRU2pacllsVldTalZpUjNWalEzTlNOVGhwVUUwMllrMXhURXBqUVhKSlZrRnFPVE00TlZOdFlsVTBSakJsVVcwMWQxSTBOek5FYTFsVGJ6WnFVRTFLTVd0d1RHSTFOV3R0YTNkbVdWSTBlVk14Wm5GUVpsZGtSWEpIWmk5aFFVRm5Ra0ZuUlVKUWVFUlBia3hrYzAxUWEwbFBNRmhLTm10UVJXbENUMk15TjB0R1dVdHZVMU5VYTFSUk9VRTBha3BoVFM5UmFucElhMGRhU2twNVNVdEpNekJIY21oQ1VVMU5WVWhuVUhkclluUnZVWGxOV0hkU2MyeGhWRmRXUzJ4Q09GRXdUMkl3Y0RGSGJHTmhjVll4UmxWVlJGWmpTblJyVEdka1VtTk1jVWxJU1RZMVRWTlNSMXBLT1VkU1JtMVhWbGt5VXpkM1UwRjBRVkUyZG1sVlEza3ZSa1pKYTB4dWVrVkZTa05qYTI1dWF6RlBhRTFSZEZaQ09YQmFVV3hqWTNVdk1XWjNla05HVFZSRWQyVmtNVVE0YTBWbGFGRm1PRUZzUld4UFNseDFNREF5UWxsYWVucEVZV2RTT0dwUFUwRnFlWGt5YjBoSlVIUnhVbWxqZW5OWVNIRkJZMEZvY1RBNVVIRkxkVGxCV0ZORE0wSlRNMU5EVlRGTk5WSXZMMkZCUVdkQ1FWRkpRbEI0UWxGeE5VZG5NbVJVUkZFeFZtcFlRa3hUZVhKcGNYcE5RVkZwVjJSQ1ZGbDBjMjk0VlZSdGNYSXZRVW8wWld4bmIyNWNkVEF3TWtJM2IxQnlTV2hxWm5OU2FtTkRhVEZRWjJwNWNtNVJiVVJUYjJ0VFduQmxWVlpuZFVsa1EzcE1TbTlXVDBKNWVraFlMMHRVVURoQk5WVlJUMDE0WjJ3eVUwdEJSemxvUXpKdlRGVmtXV2hMYzNsalRYRnNPRUl2ZDBFd1NIQlJiemRhV0ZwbU5UWnBUamxTVUdGTU9EQnhWVFJUZFVWSVdrNUxaalJtYjFRdlFVVnBURGxaVFhCU1JrUkRaR1JpU1hOdmNrWTRiRko0WTFGTFRraFRNMUZxUVd3d2FtVkRiVlpuWjFkUlIxTmxSV1JwTmpka1pGTlBRM0V2VEM5WmNGRlZRMlJGVjNkeFlYaGtSazFWT1dwYVN6UktXVmhjZFRBd01rSkhaMkZoYVdZMVJGZFhSMGcyVm5abFdqWnJaekJPYzBKc1EyUnZWRzFEYVZGTWQzcFZORk41Tm05V1lUa3paM2xLVEhkbVFqVktiWFJYTm01SmRFMXZPR1kwV2tsWVRtMDNSazh6VkdodFpFRnZNMU16Y1ZOdFUySTFUV0V3VDNScmRXOVpUbTlIZDJaalhIVXdNREpDUVhoV1VqVnlTRlpTTkVkWFJXOXNSVGhUVlhGSE0zcERTbU4xYjI1YVNXbFdkWG8xUjJsck5sSnVVVzlxWXpoMGMxVnViMkpwV1dkMVRreFBlWGR0UTI5WGEybExjbkprTVM5VGRYSkthRXR1YkhGWFRVOXhVbVZEWWxvMlJVTkRVbkYwUW1aTWMxRjBSSE14ZGpONVRtSkZOMjFFT0hGbVdXNHhabnBKUzFOM2FGTk9SVzlHYTFOQ2VHOWxjR1p3VkVsYVdWTlNRamRLWVhCT09VSTBiMFJyVmtjdmQyc3lTMkZLZW14MFhIVXdNREpDUWpsTVJGcHFWbmw1WlhvNWVXUk5TbWh0VjA0d2NXZGhjWHByV0hKYVFrdFRVek5qUnpaalRYVkxaMVZwWkVaMWJHVjRURnBtUVRGTE0xUktaa2szYTFCeFIwWXpUa3hyVlZKWE9XeENRa3RHYURGMmNreEhlbE5YY1d0eGRFSldUbFJtWEhVd01ESkNSRGg2UmpCU1JuWlVkRTVIVVZZNFNWb3dOMWRuTDJ4UVNrSndNMXgxTURBeVFuaENjV2hqUWtsdVoyaDFha2hHYUVKMWIxcHBXRzE0WjJNM2MzZzFiVWhUYVZGWFYxWXdXamRFV25BNVZWTlBjWE12UXpsNWFYSjBhak5MTkZ4MU1EQXlRakJMWVdwUWNVNTFOM05tZFdObk5rUnlTMVJqWEhVd01ESkNhV3BrWlhoMFprRmNkVEF3TWtJd2NqbEVVMWQ1WTFWRE1ucGFaekI0TlVOVFVVNTBYSFV3TURKQ05IaG1Na2RLY25CbVRFc3hSVlZLVldwd1pIUkdhelp5UlhOcVEwbE9OVXRuYzNKcGVGbFVWblZGZERKSk9XbHpWMWR0TUdKWGNGaFdjMVo0U2t4S1ZVbzBRME5YVjFsdlpGTmxXbTFDVnpCMVdseDFNREF5UW5nd1prdDNWbHBUYlVsaWJWQmFaa0Z5VW5kUVEzaElMME5LT0dWNVhIVXdNREpDYURSSU9UQkhURzVqVTB0TWRFbHVYSFV3TURKQ1NFRnZOVXRRUVd0RmFGRmpZV2xrVTF4MU1EQXlRbEpqYkRGUGREWlhWbTFMVDA1RlQwcFRTa2h5Y1dZd1IzTnFhRTF5WjFoVmRIaEZiRXgyTjJ0VWIwZG9jRFpZTDJwTkwwbG9aamd3TDNGR09VUllNbVpSTDJsSU1F
683dERSR2Q1YkVOcmRUYzJSRk5OU1c1RE5WcDBXRWw0T0hRMVhIVXdNREpDVG1oSk5VdFlVa3hCU1ZwblpWZHphV1JzWEhVd01ESkNVMG92UVVsSFVGUlRXWE00WjJWdmRrTlVaMWhrU25oUFIxQlBTSFUyUTA4eGRFNUhWWEpYYjJGYU15OXZkR1poZWpsSFhIVXdNREpDZWpsSGVWZzVTRGxwU0RObU1GRmNkVEF3TWtJMWFrcFFPVGMxVGxWMWVVVXpPRWxYTkZOYU9YWnZNekJYYTBKTFJGTXpaR2RMWXpkWGVqTkRaM0F4WkZaNVltbzJRbWR2Umxwd2RGQnZiak5uWkdKQlVqQk9iMHhEY0hCR1VuUnhMMVZaWm1wWlVuWmFjbTF1Y1VWNE1GSmhNbTE2Ym5sUlhIVXdNREpDYkZrMGRFRkJkRFZZZFV0dU1FdHRVelZUUjFOME5XOVpjbVZST0c1U1FUTlhUV2N5TnpkTk1sZDRZbGRpTjNWYWJubEdZMlZDYUZwQllYRmxkVUZSU1U1RmVYSlZVbnAxVnpGalFtSjNhVEJQVWxaWGJ6RnBXVGRxZGxORkwzTktUVkZGUzNaMVJrWldZMmR6ZVVVd2JYRnpPSGxKUzJ4NlZIcDZhMUZ3U2xrM1YyOVdTMHhoUjBJMmExWXdMMjh6Ym1Rd01qVkZaekJuYkROc2REWkRNRmM1ZUhKSmFHRlFNR1JuTms5NFFWTm1iemRGY0VOUFdEbHVTSFZoUWpKNFJsVkRjbXRKYkcxSGFVcEZURVk0VlZKTlNGWnBRelJYWXpsb1F5ODRRVzlEVjBOSVlVWm9WMmRaWEhVd01ESkNZMXBFWXpoRGNqQnBjRWd3UjJ4UGVXNWxVbkU0Ukhod1lXOVpVM0ozUkdnNGIzVmtiVkZVYzNZNFNXRnplVTFtZDA0eVZGcHZlR3QyWEhVd01ESkNRMUJhZVZ4MU1EQXlRa2RKWkc1WVozTnhjM1pjZFRBd01rSklXVngxTURBeVFqQTNOVWgwZDNSU09IUnRhV2xTWEhVd01ESkNVa1ZHVm1Jd01HMVFWWFZwUm05WGJHUk5WVXRXUXpkTU9HUjRZWEZHWkhaNU0wVkZNakpzV2tScWQxUmxkVVZ0VFRWMFpFOUNkMGgxY0hkT1RIbElTakprV2pKbWQwZFFZelZWTUVaMWVHVnhUR3hNZFc5elUwUkNaVlZyWEhVd01ESkNWelZRTjFaRlYxVk9lRzFvUW1kSlFWUkNVVGMzYW5GWGVXOVVNV2hJVkhkd2IwOUdaVWRuT0hCaE9HbFRWWEZtWjA5VlRIaDZXRFJ2ZHpsb01tSnpjVFZsUWpKcmRsTlNaVXN2Y2x4MU1EQXlRbE5NUms5V1hIVXdNREpDTWtjd1ZVdFZWbFZSTDNoWmFWZExhRXhXVVhSd1RXSlVTblV4UjI5cFdsUm5PRlptZDA5RFFuTkxYSFV3TURKQ1RIVkVURFpUUTA5RlJHMDBZVzlPVDJGd2JUTTNWRFpHVWpBNWVXbHZjWEEyVm1GUlMxWTJSRlZxUXpkc1RDOUphR1JOVjBORmNYTkxMMEY2TkVablp6aFRTbVUwY21welMxUTRUVU5CUlRJMFZHRlJURGxCY3poeWQwcDRjMmszVlhJNFUwcFdWa1JxTmtSTmJHMW5WV3R4VGxCNk0xcGtVRngxTURBeVFrOVRXbWhzTkZZek0xeDFNREF5UW1oUVkxWlRWamRzZVZWNGNYbEpTakF5U1RSMmVtWjRNVVV4VkVsaGFqQXhNV1JzWEhVd01ESkNOa1pIV0ZGY2RUQXdNa0pXU0hWS2VVOXNWbnA2YzB0NWRscEVZVEJMYVdKamJEZE5NVFptZW1RMVdsVldNVTluWm1SclRVNUtSRUpIVFZCc1IzQjNSRTVJWEhVd01ESkNhM0JVVGs1TmIyMXlSWFJLYUVKeWVXNVFOSHB6WnpCblVtOVBXbVpuZGpaTmVUWlliR1pMYkVsc1VXdHliMlY0Um5KSVZqWkpVek5TTkVoSlpGaEhjbGR5WTFSQ1kxWjJkSHAxZVVzNFdrTldZbEZyTkhKM1QzbEViREpaWEhVd01ESkNWVFJyYkdOMmRVY3dkMUoyWEhVd01ESkNlRmRZWm1obU1tNHlVVWhUWkVoelJGTXdTREJEZVdsalNtSnhUR00yZGtGUVkwMTBhWEZLT1VWMFRtRnFXRmhCUjJSRlJ6UmxObGQwWkZZd1ZFWkJhRnBtUWtJM1ZYVTVlRGRyYVdnMFkwNDFVWEZvUmxZemN6UldNMnQyUlU1eFNEVkVUVlZ4Y1RodmRYcEtZVXc1VDJ0c05uUk1Na3haYTA5c1kwSkxkVWx3WTFCSk1UQkhaRVpETUhsWldWaEZTVnAxWEhVd01ESkNNSGRrYTBoTVpGTmNkVEF3TWtKVGJsRlRlbFZETkVwaFdGVlpSWFZ4UjFwTlVreDJhWE5NVFVka01Fd3ZhRUZMU1U1V1VWWXZkMHRqUjI0emRIRTFXbFF3U1dsSVMyTjNOMEptZDBWb1VESTVWakZrVVRONFIyZGpMMGxPTUVOcVZYWTRRVGRoUlV4SlpUbHZiVm8zWjJab2FtOUxNRXN6YjJWVFFsWmhjRXQxWW1sbVMyZzBVMjB4YlhWTmRWWjZXRmQxTHpKcGFXaG5abXRZYTBWNlpVWk1OVXhGWlhSV1RHeDRVa1F6UldkMWRYZzJhSEZUTUU1RFltbFNVREpXWmxGR1NXRnhiMnd5VkVad1pEWkRiVXgxY2xwVmIzcGNkVEF3TWtKVFdEaHVXSGRCZWtReldVNWhkbU5SVDI5ME1IbGlWbVJOZVZONWJGaFVhMkp5U21WcWF6SjZhMjlaYlU1alRtTnBhVzlhWVZ4MU1EQXlRbE5zYVhKTlpqQk1Velp0VVdOdll5OTZkV1ZGYTA1eVVWaEtWemRNVjJWUVdXczVlblZvTUZWbWEyMWxhVngxTURBeVFsaENkM2hZTHpoQlFuZHphWEJGY0hKRVdEaFFkVXRRWVRScWIyOW5SV2x5Y2pSTGJHaE9SblUzTjBwdmNUZFZRM2h2V1VsS1RUVkpZV3BVVjNFemR6bERjV0pDV2k5aFJHRlJWbUZrVTBkd2Jta3dTSG81UWtWQlJYQnlOM2xqVURKQ1hIVXdNREpDVWxFMFIzSTJRa3hZV1dsR2RYUlNkMlpxVm1wV1lVdENYSFV3TURKQ2FXYzRVa3hVT0c0MVFqSkpWMjlPWkhkSlVtRkRXbU52TTNJM1JXcHRSVGM1UzBkUlJtVTJaM0pKYTFNMGJ6Tm5UMGRhYVRGWmJrSkxSQzlvUVROWE4ydDJjMUZJYkdaa1VUSkpjR3c1TmtOalQxTkxWM0JGYkUxdGJGWjVjVzFSVmtKM2VVbGNkVEF3TWtKM1kwcFlabVozZFVweGFGVk1UR2xUT0c5TWEzY3paa2RQZWtacVpYQlJWVVV2YW05YVRXZHhaVFptVlVOd2FHTk5hbFZaWmxneVVIZEdaRWRUZHpSU1NuWTNiamhKTTNNdk5FcFBWakJoT1hoWlFuaFRWRngxTURBeVFtZElSMlJhZGpoblZtVnBWbkZxY1ZNemEyTXhObXhqWXpORWJFSTFiVWh0VldseFJHOUhjVlYwVjBkWFhIVXdNREpDY0ZOQmFuUmlUelJUZFRKWEwwZG5URXRxY1doNk1WWjNRMVJ0VW04M1prcEtaa0ZTYXpCY2RUQXdNa0kyY2pCSVkxeDFNREF5UWtWR2RtTlZWV1F4VW5NMU5HWjVURmRsTVZZMFEySnRhVlF6VEVwQ1RtaFllRFZIYlRGVFRWVnZlREl4WEhVd01ESkNNSGRYTUZ4MU1EQXlRbnA1VkhCME0wdFJOVngxTURBeVFtaHdjRzlrVVd0U1VuWkNYSFV3TURKQ04waDRlVFpJWm5JM1NYaEhVM1JFVjBoa1VGbDNjekZGYm5oWU0xZG9NR3RuY2poWVNHRjZhWFJpTkdScGVFSndSVGhMWlRVdk9XczlJbjFkIiwiSzlUZTNMRGJcdTAwMkI2eGZKQy8wUlQwQkdMUU92cFhpUDRLSVNnQWtPekRuc2tBPSI6IklpNHZYMlp5WVcxbGQyOXlheTl5WlhOdmRYSmpaUzFqYjJ4c1pXTjBhVzl1TGtwUFltaE1MbXB6SWc9PSIsIk1pY3Jvc29mdC5Bc3BOZXRDb3JlLkNvbXBvbmVudHMuSW5mcmFzdHJ1Y3R1cmUuUGVyc2lzdGVudFNlcnZpY2VzUmVnaXN0cnkiOiJXM3NpWVhOelpXMWliSGtpT2lKTmFXTnliM052Wm5RdVFYTndUbVYwUTI5eVpTNURiMjF3YjI1bGJuUnpMa1Z1WkhCdmFXNTBjeUlzSW1aMWJHeFVlWEJsVG1GdFpTSTZJazFwWTNKdmMyOW1kQzVCYzNCT1pYUkRiM0psTGtOdmJYQnZibVZ1ZEhNdVVtVnpiM1Z5WTJWRGIyeHNaV04wYVc5dVVISnZkbWxrWlhJaWZTeDdJbUZ6YzJWdFlteDVJam9pVFdsamNtOXpiMlowTGtGemNFNWxkRU52Y21VdVEyOXRjRzl1Wlc1MGN5NVhaV0lpTENKbWRXeHNWSGx3WlU1aGJXVWlPaUpOYVdOeWIzTnZablF1UVhOd1RtVjBRMjl5WlM1RGIyMXdiMjVsYm5SekxrWnZjbTF6TGtGdWRHbG1iM0puWlhKNVUzUmhkR1ZRY205MmFXUmxjaUo5WFE9PSIsIktTenRUODRnQWlWMElPL1VCUlJwT204SzRqcUVmXHUwMDJCMUp6dlZPQ01CbHNpVT0iOiJleUoyWVd4MVpTSTZJa05tUkVvNFJVUkxkbVpHUmxJNGVFWjJiMXBLTTI5eFJuWXdRVGhGUVhRd2NGcElhMUZFVEZwUGVFRkNkM0Z0UTB0WlkyVnVhSGRQV0RCT1NsWjVPRGRoUjI0M2FsWlBXSGMwZEc0d1FXWllTazV6ZEZFd1NsSk9jRVZmTFdwWVdHVmpSVTlTYzFOdFJUZDBWVWhIV1RkYUxVSnpUekJFU0RWS09HcGtkV1ZXZEU1V04wRm9iVUpXTVdodU0ySklSVGR6WVVKcGJWVmxTREJ6SWl3aVptOXliVVpwWld4a1RtRnRaU0k2SWw5ZlVtVnhkV1Z6ZEZabGNtbG1hV05oZEdsdmJsUnZhMlZ1SW4wPSJ9-->

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.