Last active
May 24, 2025 00:36
-
-
Save terasakisatoshi/4140f8d7a56d6f404856421233de967b to your computer and use it in GitHub Desktop.
MonacoEditor CSS JavaScript editor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### A Pluto.jl notebook ### | |
# v0.20.6 | |
using Markdown | |
using InteractiveUtils | |
# This Pluto notebook uses @bind for interactivity. When running this notebook outside of Pluto, the following 'mock version' of @bind gives bound variables a default value (instead of an error). | |
macro bind(def, element) | |
#! format: off | |
return quote | |
local iv = try Base.loaded_modules[Base.PkgId(Base.UUID("6e696c72-6542-2067-7265-42206c756150"), "AbstractPlutoDingetjes")].Bonds.initial_value catch; b -> missing; end | |
local el = $(esc(element)) | |
global $(esc(def)) = Core.applicable(Base.get, el) ? Base.get(el) : iv(el) | |
el | |
end | |
#! format: on | |
end | |
# ╔═╡ bd78df3c-f571-11ef-042f-117e25a0517f | |
begin | |
using PlutoMonacoEditor: MonacoEditor | |
using PlutoUI: LocalResource | |
using HypertextLiteral: @htl | |
end | |
# ╔═╡ 00f86189-7a8a-404f-b350-5f423eca6fe5 | |
md""" | |
# CSS and JavaScript editor on Pluto Notebook with PlutoMonacoEditor | |
""" | |
# ╔═╡ 541a47ab-a233-46c6-8f14-42283591f61f | |
md""" | |
This notebook introduces the PlutoMonacoEditor package. It brings a rich, VS Code–like editor into the Pluto notebook ecosystem. As an example, this notebook allocates dedicated editing areas for CSS and JavaScript, providing users with a playground where they can experiment and modify code. | |
""" | |
# ╔═╡ 9d6bd569-8831-4586-b935-0b1918944693 | |
md""" | |
## CSS editor | |
""" | |
# ╔═╡ 54916b00-7253-4d7f-913e-553e24f8524b | |
begin | |
init_style_css = """ | |
/* Style the heading to appear in green */ | |
#hello { | |
color: green; | |
} | |
""" | |
@bind css_source MonacoEditor("css", init_style_css, height=120) | |
end | |
# ╔═╡ b8ceb231-88dc-4394-b134-19974b5b1fc3 | |
md""" | |
## JavaScript editor | |
""" | |
# ╔═╡ 933f202e-1de2-451e-894a-2dfe54dab84d | |
begin | |
init_javascript_file = """ | |
// Change the heading text to "Hello World from JavaScript!" | |
// update me | |
myTextContent = "Hello World from JavaScript"; | |
document.getElementById("hello") | |
.textContent = myTextContent; | |
""" | |
@bind javascript_source MonacoEditor("javascript", init_javascript_file, height=150) | |
end | |
# ╔═╡ 67169922-bab6-41b3-bc6d-3e8f925ae828 | |
md""" | |
## HTML Output | |
If you replace `color: green` with `color: red`, in the CSS editor, it will output a red-colored text "Hello World from JavaScript". | |
If you update the variable `myTextContent` in the JavaScript editor, the following text will be updated. | |
""" | |
# ╔═╡ bbd3174b-3c3c-49aa-8b2a-a1f7d9489e60 | |
begin | |
mktempdir() do d | |
javascript_path = joinpath(d, "script.js") | |
css_path = joinpath(d, "style.css") | |
html_path = joinpath(d, "index.hhtml") | |
write(javascript_path, javascript_source) | |
write(css_path, css_source) | |
html_source = @htl """ | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<title>Hello World Example</title> | |
<!-- Link the external CSS file --> | |
<link rel="stylesheet" href="$(LocalResource(css_path).src)"> | |
</head> | |
<body> | |
<!-- A heading element to display text --> | |
<h1 id="hello">Hello from HTML</h1> | |
<!-- Reference the external JavaScript file --> | |
<script src="$(LocalResource(javascript_path).src)"></script> | |
</body> | |
</html> | |
""" | |
end | |
end | |
# ╔═╡ 00000000-0000-0000-0000-000000000001 | |
PLUTO_PROJECT_TOML_CONTENTS = """ | |
[deps] | |
HypertextLiteral = "ac1192a8-f4b3-4bfe-ba22-af5b92cd3ab2" | |
PlutoMonacoEditor = "5e943eae-10d2-4eb3-ad1e-58d3f2e9614f" | |
PlutoUI = "7f904dfe-b85e-4ff6-b463-dae2292396a8" | |
[compat] | |
HypertextLiteral = "~0.9.5" | |
PlutoMonacoEditor = "~0.1.6" | |
PlutoUI = "~0.7.62" | |
""" | |
# ╔═╡ 00000000-0000-0000-0000-000000000002 | |
PLUTO_MANIFEST_TOML_CONTENTS = """ | |
# This file is machine-generated - editing it directly is not advised | |
julia_version = "1.11.5" | |
manifest_format = "2.0" | |
project_hash = "4626d8a66188325fa074fba11cd8e1967d972681" | |
[[deps.AbstractPlutoDingetjes]] | |
deps = ["Pkg"] | |
git-tree-sha1 = "6e1d2a35f2f90a4bc7c2ed98079b2ba09c35b83a" | |
uuid = "6e696c72-6542-2067-7265-42206c756150" | |
version = "1.3.2" | |
[[deps.ArgTools]] | |
uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" | |
version = "1.1.2" | |
[[deps.Artifacts]] | |
uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" | |
version = "1.11.0" | |
[[deps.Base64]] | |
uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" | |
version = "1.11.0" | |
[[deps.ColorTypes]] | |
deps = ["FixedPointNumbers", "Random"] | |
git-tree-sha1 = "b10d0b65641d57b8b4d5e234446582de5047050d" | |
uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" | |
version = "0.11.5" | |
[[deps.CompilerSupportLibraries_jll]] | |
deps = ["Artifacts", "Libdl"] | |
uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" | |
version = "1.1.1+0" | |
[[deps.Dates]] | |
deps = ["Printf"] | |
uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" | |
version = "1.11.0" | |
[[deps.Downloads]] | |
deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] | |
uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" | |
version = "1.6.0" | |
[[deps.FileWatching]] | |
uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" | |
version = "1.11.0" | |
[[deps.FixedPointNumbers]] | |
deps = ["Statistics"] | |
git-tree-sha1 = "05882d6995ae5c12bb5f36dd2ed3f61c98cbb172" | |
uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" | |
version = "0.8.5" | |
[[deps.Hyperscript]] | |
deps = ["Test"] | |
git-tree-sha1 = "179267cfa5e712760cd43dcae385d7ea90cc25a4" | |
uuid = "47d2ed2b-36de-50cf-bf87-49c2cf4b8b91" | |
version = "0.0.5" | |
[[deps.HypertextLiteral]] | |
deps = ["Tricks"] | |
git-tree-sha1 = "7134810b1afce04bbc1045ca1985fbe81ce17653" | |
uuid = "ac1192a8-f4b3-4bfe-ba22-af5b92cd3ab2" | |
version = "0.9.5" | |
[[deps.IOCapture]] | |
deps = ["Logging", "Random"] | |
git-tree-sha1 = "b6d6bfdd7ce25b0f9b2f6b3dd56b2673a66c8770" | |
uuid = "b5f81e59-6552-4d32-b1f0-c071b021bf89" | |
version = "0.2.5" | |
[[deps.InteractiveUtils]] | |
deps = ["Markdown"] | |
uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" | |
version = "1.11.0" | |
[[deps.JSON]] | |
deps = ["Dates", "Mmap", "Parsers", "Unicode"] | |
git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" | |
uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" | |
version = "0.21.4" | |
[[deps.LibCURL]] | |
deps = ["LibCURL_jll", "MozillaCACerts_jll"] | |
uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" | |
version = "0.6.4" | |
[[deps.LibCURL_jll]] | |
deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] | |
uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" | |
version = "8.6.0+0" | |
[[deps.LibGit2]] | |
deps = ["Base64", "LibGit2_jll", "NetworkOptions", "Printf", "SHA"] | |
uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" | |
version = "1.11.0" | |
[[deps.LibGit2_jll]] | |
deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll"] | |
uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5" | |
version = "1.7.2+0" | |
[[deps.LibSSH2_jll]] | |
deps = ["Artifacts", "Libdl", "MbedTLS_jll"] | |
uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" | |
version = "1.11.0+1" | |
[[deps.Libdl]] | |
uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" | |
version = "1.11.0" | |
[[deps.LinearAlgebra]] | |
deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] | |
uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" | |
version = "1.11.0" | |
[[deps.Logging]] | |
uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" | |
version = "1.11.0" | |
[[deps.MIMEs]] | |
git-tree-sha1 = "c64d943587f7187e751162b3b84445bbbd79f691" | |
uuid = "6c6e2e6c-3030-632d-7369-2d6c69616d65" | |
version = "1.1.0" | |
[[deps.Markdown]] | |
deps = ["Base64"] | |
uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" | |
version = "1.11.0" | |
[[deps.MbedTLS_jll]] | |
deps = ["Artifacts", "Libdl"] | |
uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" | |
version = "2.28.6+0" | |
[[deps.Mmap]] | |
uuid = "a63ad114-7e13-5084-954f-fe012c677804" | |
version = "1.11.0" | |
[[deps.MozillaCACerts_jll]] | |
uuid = "14a3606d-f60d-562e-9121-12d972cd8159" | |
version = "2023.12.12" | |
[[deps.NetworkOptions]] | |
uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" | |
version = "1.2.0" | |
[[deps.OpenBLAS_jll]] | |
deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] | |
uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" | |
version = "0.3.27+1" | |
[[deps.Parsers]] | |
deps = ["Dates", "PrecompileTools", "UUIDs"] | |
git-tree-sha1 = "7d2f8f21da5db6a806faf7b9b292296da42b2810" | |
uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" | |
version = "2.8.3" | |
[[deps.Pkg]] | |
deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "Random", "SHA", "TOML", "Tar", "UUIDs", "p7zip_jll"] | |
uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" | |
version = "1.11.0" | |
[deps.Pkg.extensions] | |
REPLExt = "REPL" | |
[deps.Pkg.weakdeps] | |
REPL = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" | |
[[deps.PlutoMonacoEditor]] | |
deps = ["Base64", "HypertextLiteral"] | |
git-tree-sha1 = "7aab7243b14ae1cba6aa14307081e754761d19fc" | |
uuid = "5e943eae-10d2-4eb3-ad1e-58d3f2e9614f" | |
version = "0.1.6" | |
[[deps.PlutoUI]] | |
deps = ["AbstractPlutoDingetjes", "Base64", "ColorTypes", "Dates", "FixedPointNumbers", "Hyperscript", "HypertextLiteral", "IOCapture", "InteractiveUtils", "JSON", "Logging", "MIMEs", "Markdown", "Random", "Reexport", "URIs", "UUIDs"] | |
git-tree-sha1 = "d3de2694b52a01ce61a036f18ea9c0f61c4a9230" | |
uuid = "7f904dfe-b85e-4ff6-b463-dae2292396a8" | |
version = "0.7.62" | |
[[deps.PrecompileTools]] | |
deps = ["Preferences"] | |
git-tree-sha1 = "5aa36f7049a63a1528fe8f7c3f2113413ffd4e1f" | |
uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" | |
version = "1.2.1" | |
[[deps.Preferences]] | |
deps = ["TOML"] | |
git-tree-sha1 = "9306f6085165d270f7e3db02af26a400d580f5c6" | |
uuid = "21216c6a-2e73-6563-6e65-726566657250" | |
version = "1.4.3" | |
[[deps.Printf]] | |
deps = ["Unicode"] | |
uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" | |
version = "1.11.0" | |
[[deps.Random]] | |
deps = ["SHA"] | |
uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" | |
version = "1.11.0" | |
[[deps.Reexport]] | |
git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" | |
uuid = "189a3867-3050-52da-a836-e630ba90ab69" | |
version = "1.2.2" | |
[[deps.SHA]] | |
uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" | |
version = "0.7.0" | |
[[deps.Serialization]] | |
uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" | |
version = "1.11.0" | |
[[deps.Statistics]] | |
deps = ["LinearAlgebra"] | |
git-tree-sha1 = "ae3bb1eb3bba077cd276bc5cfc337cc65c3075c0" | |
uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" | |
version = "1.11.1" | |
[deps.Statistics.extensions] | |
SparseArraysExt = ["SparseArrays"] | |
[deps.Statistics.weakdeps] | |
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" | |
[[deps.TOML]] | |
deps = ["Dates"] | |
uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" | |
version = "1.0.3" | |
[[deps.Tar]] | |
deps = ["ArgTools", "SHA"] | |
uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" | |
version = "1.10.0" | |
[[deps.Test]] | |
deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] | |
uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" | |
version = "1.11.0" | |
[[deps.Tricks]] | |
git-tree-sha1 = "6cae795a5a9313bbb4f60683f7263318fc7d1505" | |
uuid = "410a4b4d-49e4-4fbc-ab6d-cb71b17b3775" | |
version = "0.1.10" | |
[[deps.URIs]] | |
git-tree-sha1 = "cbbebadbcc76c5ca1cc4b4f3b0614b3e603b5000" | |
uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" | |
version = "1.5.2" | |
[[deps.UUIDs]] | |
deps = ["Random", "SHA"] | |
uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" | |
version = "1.11.0" | |
[[deps.Unicode]] | |
uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" | |
version = "1.11.0" | |
[[deps.Zlib_jll]] | |
deps = ["Libdl"] | |
uuid = "83775a58-1f1d-513f-b197-d71354ab007a" | |
version = "1.2.13+1" | |
[[deps.libblastrampoline_jll]] | |
deps = ["Artifacts", "Libdl"] | |
uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" | |
version = "5.11.0+0" | |
[[deps.nghttp2_jll]] | |
deps = ["Artifacts", "Libdl"] | |
uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" | |
version = "1.59.0+0" | |
[[deps.p7zip_jll]] | |
deps = ["Artifacts", "Libdl"] | |
uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" | |
version = "17.4.0+2" | |
""" | |
# ╔═╡ Cell order: | |
# ╟─00f86189-7a8a-404f-b350-5f423eca6fe5 | |
# ╟─541a47ab-a233-46c6-8f14-42283591f61f | |
# ╠═bd78df3c-f571-11ef-042f-117e25a0517f | |
# ╟─9d6bd569-8831-4586-b935-0b1918944693 | |
# ╠═54916b00-7253-4d7f-913e-553e24f8524b | |
# ╟─b8ceb231-88dc-4394-b134-19974b5b1fc3 | |
# ╟─933f202e-1de2-451e-894a-2dfe54dab84d | |
# ╟─67169922-bab6-41b3-bc6d-3e8f925ae828 | |
# ╟─bbd3174b-3c3c-49aa-8b2a-a1f7d9489e60 | |
# ╟─00000000-0000-0000-0000-000000000001 | |
# ╟─00000000-0000-0000-0000-000000000002 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html><html lang="en"><head><meta name="viewport" content="width=device-width"><meta charset="utf-8"> | |
<meta name="pluto-insertion-spot-meta"> | |
<meta name="theme-color" media="(prefers-color-scheme: light)" content="white"><meta name="theme-color" media="(prefers-color-scheme: dark)" content="#2a2928"><meta name="color-scheme" content="light dark"><link rel="icon" type="image/png" sizes="16x16" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/favicon-16x16.267aebbe.png"><link rel="icon" type="image/png" sizes="32x32" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/favicon-32x32.1b9d3e70.png"><link rel="icon" type="image/png" sizes="96x96" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/favicon-96x96.26e08763.png"><link rel="pluto-external-source" id="pluto-logo-big" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/logo.49a14041.svg"><link rel="pluto-external-source" id="pluto-logo-small" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/favicon_unsaturated.c11d4d33.svg"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.b5bd8bc8.css"><script type="module" src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/index.e10141f8.js"></script><script type="module" src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.runtime.b146f9f7.js"></script><script defer>console.log("Pluto.jl, by Fons van der Plas (https://github.com/fonsp), Mikołaj Bochenski (https://github.com/malyvsen), Michiel Dral (https://github.com/dralletje) and friends \uD83C\uDF08");</script><script src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/index.65d5caa1.js" defer></script><script src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/index.2db9e182.js" defer></script><script src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.21e3b1fd.js" defer></script><script src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.97d6fa3c.js" defer></script><link rel="pluto-external-source" id="vmsg-wasm" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/vmsg.56bb9389.wasm"><link rel="pluto-external-source" id="arrow_up_circle_icon" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/arrow-up-circle-outline.3f146ffe.svg"><link rel="pluto-external-source" id="document_text_icon" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/document-text-outline.8d1e2333.svg"><link rel="pluto-external-source" id="help_circle_icon" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/help-circle-outline.a023036a.svg"><link rel="pluto-external-source" id="open_icon" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/open-outline.87533923.svg"><script id="iframe-resizer-content-window-script" src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.69996afe.js" crossorigin defer></script><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.0139db4c.css" type="text/css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.bf06bf57.css" type="text/css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.7eb8c2ea.css" type="text/css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.d203a2fe.css" type="text/css"><script data-pluto-file="launch-parameters"> | |
window.pluto_notebook_id = undefined; | |
window.pluto_isolated_cell_ids = undefined; | |
window.pluto_notebookfile = "data:text/julia;charset=utf-8;base64,IyMjIEEgUGx1dG8uamwgbm90ZWJvb2sgIyMjCiMgdjAuMjAuNgoKdXNpbmcgTWFya2Rvd24KdXNpbmcgSW50ZXJhY3RpdmVVdGlscwoKIyBUaGlzIFBsdXRvIG5vdGVib29rIHVzZXMgQGJpbmQgZm9yIGludGVyYWN0aXZpdHkuIFdoZW4gcnVubmluZyB0aGlzIG5vdGVib29rIG91dHNpZGUgb2YgUGx1dG8sIHRoZSBmb2xsb3dpbmcgJ21vY2sgdmVyc2lvbicgb2YgQGJpbmQgZ2l2ZXMgYm91bmQgdmFyaWFibGVzIGEgZGVmYXVsdCB2YWx1ZSAoaW5zdGVhZCBvZiBhbiBlcnJvcikuCm1hY3JvIGJpbmQoZGVmLCBlbGVtZW50KQogICAgIyEgZm9ybWF0OiBvZmYKICAgIHJldHVybiBxdW90ZQogICAgICAgIGxvY2FsIGl2ID0gdHJ5IEJhc2UubG9hZGVkX21vZHVsZXNbQmFzZS5Qa2dJZChCYXNlLlVVSUQoIjZlNjk2YzcyLTY1NDItMjA2Ny03MjY1LTQyMjA2Yzc1NjE1MCIpLCAiQWJzdHJhY3RQbHV0b0RpbmdldGplcyIpXS5Cb25kcy5pbml0aWFsX3ZhbHVlIGNhdGNoOyBiIC0+IG1pc3Npbmc7IGVuZAogICAgICAgIGxvY2FsIGVsID0gJChlc2MoZWxlbWVudCkpCiAgICAgICAgZ2xvYmFsICQoZXNjKGRlZikpID0gQ29yZS5hcHBsaWNhYmxlKEJhc2UuZ2V0LCBlbCkgPyBCYXNlLmdldChlbCkgOiBpdihlbCkKICAgICAgICBlbAogICAgZW5kCiAgICAjISBmb3JtYXQ6IG9uCmVuZAoKIyDilZTilZDilaEgYmQ3OGRmM2MtZjU3MS0xMWVmLTA0MmYtMTE3ZTI1YTA1MTdmCmJlZ2luCgl1c2luZyBQbHV0b01vbmFjb0VkaXRvcjogTW9uYWNvRWRpdG9yCgl1c2luZyBQbHV0b1VJOiBMb2NhbFJlc291cmNlCgl1c2luZyBIeXBlcnRleHRMaXRlcmFsOiBAaHRsCmVuZAoKIyDilZTilZDilaEgMDBmODYxODktN2E4YS00MDRmLWIzNTAtNWY0MjNlY2E2ZmU1Cm1kIiIiCiMgQ1NTIGFuZCBKYXZhU2NyaXB0IGVkaXRvciBvbiBQbHV0byBOb3RlYm9vayB3aXRoIFBsdXRvTW9uYWNvRWRpdG9yCiIiIgoKIyDilZTilZDilaEgNTQxYTQ3YWItYTIzMy00NmM2LThmMTQtNDIyODM1OTFmNjFmCm1kIiIiClRoaXMgbm90ZWJvb2sgaW50cm9kdWNlcyB0aGUgUGx1dG9Nb25hY29FZGl0b3IgcGFja2FnZS4gSXQgYnJpbmdzIGEgcmljaCwgVlMgQ29kZeKAk2xpa2UgZWRpdG9yIGludG8gdGhlIFBsdXRvIG5vdGVib29rIGVjb3N5c3RlbS4gQXMgYW4gZXhhbXBsZSwgdGhpcyBub3RlYm9vayBhbGxvY2F0ZXMgZGVkaWNhdGVkIGVkaXRpbmcgYXJlYXMgZm9yIENTUyBhbmQgSmF2YVNjcmlwdCwgcHJvdmlkaW5nIHVzZXJzIHdpdGggYSBwbGF5Z3JvdW5kIHdoZXJlIHRoZXkgY2FuIGV4cGVyaW1lbnQgYW5kIG1vZGlmeSBjb2RlLgoiIiIKCiMg4pWU4pWQ4pWhIDlkNmJkNTY5LTg4MzEtNDU4Ni1iOTM1LTBiMTkxODk0NDY5MwptZCIiIgojIyBDU1MgZWRpdG9yCiIiIgoKIyDilZTilZDilaEgNTQ5MTZiMDAtNzI1My00ZDdmLTkxM2UtNTUzZTI0Zjg1MjRiCmJlZ2luCglpbml0X3N0eWxlX2NzcyA9ICIiIgovKiBTdHlsZSB0aGUgaGVhZGluZyB0byBhcHBlYXIgaW4gZ3JlZW4gKi8KI2hlbGxvIHsKICBjb2xvcjogZ3JlZW47Cn0KIiIiCglAYmluZCBjc3Nfc291cmNlIE1vbmFjb0VkaXRvcigiY3NzIiwgaW5pdF9zdHlsZV9jc3MsIGhlaWdodD0xMjApCmVuZAoKIyDilZTilZDilaEgYjhjZWIyMzEtODhkYy00Mzk0LWIxMzQtMTk5NzRiNWIxZmMzCm1kIiIiCiMjIEphdmFTY3JpcHQgZWRpdG9yCiIiIgoKIyDilZTilZDilaEgOTMzZjIwMmUtMWRlMi00NTFlLTg5NGEtMmRmZTU0ZGFiODRkCmJlZ2luCglpbml0X2phdmFzY3JpcHRfZmlsZSA9ICIiIgovLyBDaGFuZ2UgdGhlIGhlYWRpbmcgdGV4dCB0byAiSGVsbG8gV29ybGQgZnJvbSBKYXZhU2NyaXB0ISIKCi8vIHVwZGF0ZSBtZQpteVRleHRDb250ZW50ID0gIkhlbGxvIFdvcmxkIGZyb20gSmF2YVNjcmlwdCI7CmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJoZWxsbyIpCgkJLnRleHRDb250ZW50ID0gbXlUZXh0Q29udGVudDsKCiIiIgoJQGJpbmQgamF2YXNjcmlwdF9zb3VyY2UgTW9uYWNvRWRpdG9yKCJqYXZhc2NyaXB0IiwgaW5pdF9qYXZhc2NyaXB0X2ZpbGUsIGhlaWdodD0xNTApCmVuZAoKIyDilZTilZDilaEgNjcxNjk5MjItYmFiNi00MWIzLWJjNmQtM2U4ZjkyNWFlODI4Cm1kIiIiCiMjIEhUTUwgT3V0cHV0CgpJZiB5b3UgcmVwbGFjZSBgY29sb3I6IGdyZWVuYCB3aXRoIGBjb2xvcjogcmVkYCwgaW4gdGhlIENTUyBlZGl0b3IsIGl0IHdpbGwgb3V0cHV0IGEgcmVkLWNvbG9yZWQgdGV4dCAiSGVsbG8gV29ybGQgZnJvbSBKYXZhU2NyaXB0Ii4KCklmIHlvdSB1cGRhdGUgdGhlIHZhcmlhYmxlIGBteVRleHRDb250ZW50YCBpbiB0aGUgSmF2YVNjcmlwdCBlZGl0b3IsIHRoZSBmb2xsb3dpbmcgdGV4dCB3aWxsIGJlIHVwZGF0ZWQuCiIiIgoKIyDilZTilZDilaEgYmJkMzE3NGItM2MzYy00OWFhLThiMmEtYTFmN2Q5NDg5ZTYwCmJlZ2luCglta3RlbXBkaXIoKSBkbyBkCgkJamF2YXNjcmlwdF9wYXRoID0gam9pbnBhdGgoZCwgInNjcmlwdC5qcyIpCgkJY3NzX3BhdGggPSBqb2lucGF0aChkLCAic3R5bGUuY3NzIikKCQlodG1sX3BhdGggPSBqb2lucGF0aChkLCAiaW5kZXguaGh0bWwiKQoJCQoJCXdyaXRlKGphdmFzY3JpcHRfcGF0aCwgamF2YXNjcmlwdF9zb3VyY2UpCgkJd3JpdGUoY3NzX3BhdGgsIGNzc19zb3VyY2UpCgkKCQlodG1sX3NvdXJjZSA9IEBodGwgIiIiCgkJPGh0bWwgbGFuZz0iZW4iPgoJCTxoZWFkPgoJCSAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgoJCSAgPHRpdGxlPkhlbGxvIFdvcmxkIEV4YW1wbGU8L3RpdGxlPgoJCSAgPCEtLSBMaW5rIHRoZSBleHRlcm5hbCBDU1MgZmlsZSAtLT4KCQkgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iJChMb2NhbFJlc291cmNlKGNzc19wYXRoKS5zcmMpIj4KCQk8L2hlYWQ+CgkJPGJvZHk+CgkJICA8IS0tIEEgaGVhZGluZyBlbGVtZW50IHRvIGRpc3BsYXkgdGV4dCAtLT4KCQkgIDxoMSBpZD0iaGVsbG8iPkhlbGxvIGZyb20gSFRNTDwvaDE+CgkJCgkJICA8IS0tIFJlZmVyZW5jZSB0aGUgZXh0ZXJuYWwgSmF2YVNjcmlwdCBmaWxlIC0tPgoJCSA8c2NyaXB0IHNyYz0iJChMb2NhbFJlc291cmNlKGphdmFzY3JpcHRfcGF0aCkuc3JjKSI+PC9zY3JpcHQ+CgkJPC9ib2R5PgoJCTwvaHRtbD4KCSAgICAiIiIKCWVuZAplbmQKCiMg4pWU4pWQ4pWhIDAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMQpQTFVUT19QUk9KRUNUX1RPTUxfQ09OVEVOVFMgPSAiIiIKW2RlcHNdCkh5cGVydGV4dExpdGVyYWwgPSAiYWMxMTkyYTgtZjRiMy00YmZlLWJhMjItYWY1YjkyY2QzYWIyIgpQbHV0b01vbmFjb0VkaXRvciA9ICI1ZTk0M2VhZS0xMGQyLTRlYjMtYWQxZS01OGQzZjJlOTYxNGYiClBsdXRvVUkgPSAiN2Y5MDRkZmUtYjg1ZS00ZmY2LWI0NjMtZGFlMjI5MjM5NmE4IgoKW2NvbXBhdF0KSHlwZXJ0ZXh0TGl0ZXJhbCA9ICJ+MC45LjUiClBsdXRvTW9uYWNvRWRpdG9yID0gIn4wLjEuNiIKUGx1dG9VSSA9ICJ+MC43LjYyIgoiIiIKCiMg4pWU4pWQ4pWhIDAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMgpQTFVUT19NQU5JRkVTVF9UT01MX0NPTlRFTlRTID0gIiIiCiMgVGhpcyBmaWxlIGlzIG1hY2hpbmUtZ2VuZXJhdGVkIC0gZWRpdGluZyBpdCBkaXJlY3RseSBpcyBub3QgYWR2aXNlZAoKanVsaWFfdmVyc2lvbiA9ICIxLjExLjUiCm1hbmlmZXN0X2Zvcm1hdCA9ICIyLjAiCnByb2plY3RfaGFzaCA9ICI0NjI2ZDhhNjYxODgzMjVmYTA3NGZiYTExY2Q4ZTE5NjdkOTcyNjgxIgoKW1tkZXBzLkFic3RyYWN0UGx1dG9EaW5nZXRqZXNdXQpkZXBzID0gWyJQa2ciXQpnaXQtdHJlZS1zaGExID0gIjZlMWQyYTM1ZjJmOTBhNGJjN2MyZWQ5ODA3OWIyYmEwOWMzNWI4M2EiCnV1aWQgPSAiNmU2OTZjNzItNjU0Mi0yMDY3LTcyNjUtNDIyMDZjNzU2MTUwIgp2ZXJzaW9uID0gIjEuMy4yIgoKW1tkZXBzLkFyZ1Rvb2xzXV0KdXVpZCA9ICIwZGFkODRjNS1kMTEyLTQyZTYtOGQyOC1lZjEyZGFiYjc4OWYiCnZlcnNpb24gPSAiMS4xLjIiCgpbW2RlcHMuQXJ0aWZhY3RzXV0KdXVpZCA9ICI1NmYyMmQ3Mi1mZDZkLTk4ZjEtMDJmMC0wOGRkYzA5MDdjMzMiCnZlcnNpb24gPSAiMS4xMS4wIgoKW1tkZXBzLkJhc2U2NF1dCnV1aWQgPSAiMmEwZjQ0ZTMtNmM4My01NWJkLTg3ZTQtYjE5NzhkOThiZDVmIgp2ZXJzaW9uID0gIjEuMTEuMCIKCltbZGVwcy5Db2xvclR5cGVzXV0KZGVwcyA9IFsiRml4ZWRQb2ludE51bWJlcnMiLCAiUmFuZG9tIl0KZ2l0LXRyZWUtc2hhMSA9ICJiMTBkMGI2NTY0MWQ1N2I4YjRkNWUyMzQ0NDY1ODJkZTUwNDcwNTBkIgp1dWlkID0gIjNkYTAwMmY3LTU5ODQtNWE2MC1iOGE2LWNiYjY2YzBiMzMzZiIKdmVyc2lvbiA9ICIwLjExLjUiCgpbW2RlcHMuQ29tcGlsZXJTdXBwb3J0TGlicmFyaWVzX2psbF1dCmRlcHMgPSBbIkFydGlmYWN0cyIsICJMaWJkbCJdCnV1aWQgPSAiZTY2ZTAwNzgtNzAxNS01NDUwLTkyZjctMTVmYmQ5NTdmMmFlIgp2ZXJzaW9uID0gIjEuMS4xKzAiCgpbW2RlcHMuRGF0ZXNdXQpkZXBzID0gWyJQcmludGYiXQp1dWlkID0gImFkZTJjYTcwLTM4OTEtNTk0NS05OGZiLWRjMDk5NDMyZTA2YSIKdmVyc2lvbiA9ICIxLjExLjAiCgpbW2RlcHMuRG93bmxvYWRzXV0KZGVwcyA9IFsiQXJnVG9vbHMiLCAiRmlsZVdhdGNoaW5nIiwgIkxpYkNVUkwiLCAiTmV0d29ya09wdGlvbnMiXQp1dWlkID0gImY0M2EyNDFmLWMyMGEtNGFkNC04NTJjLWY2YjEyNDc4NjFjNiIKdmVyc2lvbiA9ICIxLjYuMCIKCltbZGVwcy5GaWxlV2F0Y2hpbmddXQp1dWlkID0gIjdiMWY2MDc5LTczN2EtNThkYy1iOGJjLTdhMmNhNWMxYjVlZSIKdmVyc2lvbiA9ICIxLjExLjAiCgpbW2RlcHMuRml4ZWRQb2ludE51bWJlcnNdXQpkZXBzID0gWyJTdGF0aXN0aWNzIl0KZ2l0LXRyZWUtc2hhMSA9ICIwNTg4MmQ2OTk1YWU1YzEyYmI1ZjM2ZGQyZWQzZjYxYzk4Y2JiMTcyIgp1dWlkID0gIjUzYzQ4YzE3LTRhN2QtNWNhMi05MGM1LTc5Yjc4OTZlZWE5MyIKdmVyc2lvbiA9ICIwLjguNSIKCltbZGVwcy5IeXBlcnNjcmlwdF1dCmRlcHMgPSBbIlRlc3QiXQpnaXQtdHJlZS1zaGExID0gIjE3OTI2N2NmYTVlNzEyNzYwY2Q0M2RjYWUzODVkN2VhOTBjYzI1YTQiCnV1aWQgPSAiNDdkMmVkMmItMzZkZS01MGNmLWJmODctNDljMmNmNGI4YjkxIgp2ZXJzaW9uID0gIjAuMC41IgoKW1tkZXBzLkh5cGVydGV4dExpdGVyYWxdXQpkZXBzID0gWyJUcmlja3MiXQpnaXQtdHJlZS1zaGExID0gIjcxMzQ4MTBiMWFmY2UwNGJiYzEwNDVjYTE5ODVmYmU4MWNlMTc2NTMiCnV1aWQgPSAiYWMxMTkyYTgtZjRiMy00YmZlLWJhMjItYWY1YjkyY2QzYWIyIgp2ZXJzaW9uID0gIjAuOS41IgoKW1tkZXBzLklPQ2FwdHVyZV1dCmRlcHMgPSBbIkxvZ2dpbmciLCAiUmFuZG9tIl0KZ2l0LXRyZWUtc2hhMSA9ICJiNmQ2YmZkZDdjZTI1YjBmOWIyZjZiM2RkNTZiMjY3M2E2NmM4NzcwIgp1dWlkID0gImI1ZjgxZTU5LTY1NTItNGQzMi1iMWYwLWMwNzFiMDIxYmY4OSIKdmVyc2lvbiA9ICIwLjIuNSIKCltbZGVwcy5JbnRlcmFjdGl2ZVV0aWxzXV0KZGVwcyA9IFsiTWFya2Rvd24iXQp1dWlkID0gImI3N2UwYTRjLWQyOTEtNTdhMC05MGU4LThkYjI1YTI3YTI0MCIKdmVyc2lvbiA9ICIxLjExLjAiCgpbW2RlcHMuSlNPTl1dCmRlcHMgPSBbIkRhdGVzIiwgIk1tYXAiLCAiUGFyc2VycyIsICJVbmljb2RlIl0KZ2l0LXRyZWUtc2hhMSA9ICIzMWU5OTZmMGExNWM3YjI4MGJhOWY3NjYzNmIzZmY5ZTJhZTU4YzlhIgp1dWlkID0gIjY4MmMwNmEwLWRlNmEtNTRhYi1hMTQyLWM4YjFjZjc5Y2RlNiIKdmVyc2lvbiA9ICIwLjIxLjQiCgpbW2RlcHMuTGliQ1VSTF1dCmRlcHMgPSBbIkxpYkNVUkxfamxsIiwgIk1vemlsbGFDQUNlcnRzX2psbCJdCnV1aWQgPSAiYjI3MDMyYzItYTNlNy01MGM4LTgwY2QtMmQzNmRiY2JmZDIxIgp2ZXJzaW9uID0gIjAuNi40IgoKW1tkZXBzLkxpYkNVUkxfamxsXV0KZGVwcyA9IFsiQXJ0aWZhY3RzIiwgIkxpYlNTSDJfamxsIiwgIkxpYmRsIiwgIk1iZWRUTFNfamxsIiwgIlpsaWJfamxsIiwgIm5naHR0cDJfamxsIl0KdXVpZCA9ICJkZWFjOWI0Ny04YmM3LTU5MDYtYTBmZS0zNWFjNTZkYzg0YzAiCnZlcnNpb24gPSAiOC42LjArMCIKCltbZGVwcy5MaWJHaXQyXV0KZGVwcyA9IFsiQmFzZTY0IiwgIkxpYkdpdDJfamxsIiwgIk5ldHdvcmtPcHRpb25zIiwgIlByaW50ZiIsICJTSEEiXQp1dWlkID0gIjc2Zjg1NDUwLTUyMjYtNWI1YS04ZWFhLTUyOWFkMDQ1YjQzMyIKdmVyc2lvbiA9ICIxLjExLjAiCgpbW2RlcHMuTGliR2l0Ml9qbGxdXQpkZXBzID0gWyJBcnRpZmFjdHMiLCAiTGliU1NIMl9qbGwiLCAiTGliZGwiLCAiTWJlZFRMU19qbGwiXQp1dWlkID0gImUzN2RhZjY3LTU4YTQtNTkwYS04ZTk5LWIwMjQ1ZGQyZmZjNSIKdmVyc2lvbiA9ICIxLjcuMiswIgoKW1tkZXBzLkxpYlNTSDJfamxsXV0KZGVwcyA9IFsiQXJ0aWZhY3RzIiwgIkxpYmRsIiwgIk1iZWRUTFNfamxsIl0KdXVpZCA9ICIyOTgxNmI1YS1iOWFiLTU0NmYtOTMzYy1lZGFkMTg4NmRmYTgiCnZlcnNpb24gPSAiMS4xMS4wKzEiCgpbW2RlcHMuTGliZGxdXQp1dWlkID0gIjhmMzk5ZGEzLTM1NTctNTY3NS1iNWZmLWZiODMyYzk3Y2JkYiIKdmVyc2lvbiA9ICIxLjExLjAiCgpbW2RlcHMuTGluZWFyQWxnZWJyYV1dCmRlcHMgPSBbIkxpYmRsIiwgIk9wZW5CTEFTX2psbCIsICJsaWJibGFzdHJhbXBvbGluZV9qbGwiXQp1dWlkID0gIjM3ZTJlNDZkLWY4OWQtNTM5ZC1iNGVlLTgzOGZjY2NjOWM4ZSIKdmVyc2lvbiA9ICIxLjExLjAiCgpbW2RlcHMuTG9nZ2luZ11dCnV1aWQgPSAiNTZkZGIwMTYtODU3Yi01NGUxLWI4M2QtZGI0ZDU4ZGI1NTY4Igp2ZXJzaW9uID0gIjEuMTEuMCIKCltbZGVwcy5NSU1Fc11dCmdpdC10cmVlLXNoYTEgPSAiYzY0ZDk0MzU4N2Y3MTg3ZTc1MTE2MmIzYjg0NDQ1YmJiZDc5ZjY5MSIKdXVpZCA9ICI2YzZlMmU2Yy0zMDMwLTYzMmQtNzM2OS0yZDZjNjk2MTZkNjUiCnZlcnNpb24gPSAiMS4xLjAiCgpbW2RlcHMuTWFya2Rvd25dXQpkZXBzID0gWyJCYXNlNjQiXQp1dWlkID0gImQ2ZjQzNzZlLWFlZjUtNTA1YS05NmMxLTljMDI3Mzk0NjA3YSIKdmVyc2lvbiA9ICIxLjExLjAiCgpbW2RlcHMuTWJlZFRMU19qbGxdXQpkZXBzID0gWyJBcnRpZmFjdHMiLCAiTGliZGwiXQp1dWlkID0gImM4ZmZkOWMzLTMzMGQtNTg0MS1iNzhlLTA4MTdkNzE0NWZhMSIKdmVyc2lvbiA9ICIyLjI4LjYrMCIKCltbZGVwcy5NbWFwXV0KdXVpZCA9ICJhNjNhZDExNC03ZTEzLTUwODQtOTU0Zi1mZTAxMmM2Nzc4MDQiCnZlcnNpb24gPSAiMS4xMS4wIgoKW1tkZXBzLk1vemlsbGFDQUNlcnRzX2psbF1dCnV1aWQgPSAiMTRhMzYwNmQtZjYwZC01NjJlLTkxMjEtMTJkOTcyY2Q4MTU5Igp2ZXJzaW9uID0gIjIwMjMuMTIuMTIiCgpbW2RlcHMuTmV0d29ya09wdGlvbnNdXQp1dWlkID0gImNhNTc1OTMwLWMyZTMtNDNhOS1hY2U0LTFlOTg4YjJjMTkwOCIKdmVyc2lvbiA9ICIxLjIuMCIKCltbZGVwcy5PcGVuQkxBU19qbGxdXQpkZXBzID0gWyJBcnRpZmFjdHMiLCAiQ29tcGlsZXJTdXBwb3J0TGlicmFyaWVzX2psbCIsICJMaWJkbCJdCnV1aWQgPSAiNDUzNjYyOWEtYzUyOC01YjgwLWJkNDYtZjgwZDUxYzViMzYzIgp2ZXJzaW9uID0gIjAuMy4yNysxIgoKW1tkZXBzLlBhcnNlcnNdXQpkZXBzID0gWyJEYXRlcyIsICJQcmVjb21waWxlVG9vbHMiLCAiVVVJRHMiXQpnaXQtdHJlZS1zaGExID0gIjdkMmY4ZjIxZGE1ZGI2YTgwNmZhZjdiOWIyOTIyOTZkYTQyYjI4MTAiCnV1aWQgPSAiNjlkZTBhNjktMWRkZC01MDE3LTkzNTktMmJmMGIwMmRjOWYwIgp2ZXJzaW9uID0gIjIuOC4zIgoKW1tkZXBzLlBrZ11dCmRlcHMgPSBbIkFydGlmYWN0cyIsICJEYXRlcyIsICJEb3dubG9hZHMiLCAiRmlsZVdhdGNoaW5nIiwgIkxpYkdpdDIiLCAiTGliZGwiLCAiTG9nZ2luZyIsICJNYXJrZG93biIsICJQcmludGYiLCAiUmFuZG9tIiwgIlNIQSIsICJUT01MIiwgIlRhciIsICJVVUlEcyIsICJwN3ppcF9qbGwiXQp1dWlkID0gIjQ0Y2ZlOTVhLTFlYjItNTJlYS1iNjcyLWUyYWZkZjY5Yjc4ZiIKdmVyc2lvbiA9ICIxLjExLjAiCgogICAgW2RlcHMuUGtnLmV4dGVuc2lvbnNdCiAgICBSRVBMRXh0ID0gIlJFUEwiCgogICAgW2RlcHMuUGtnLndlYWtkZXBzXQogICAgUkVQTCA9ICIzZmEwY2Q5Ni1lZWYxLTU2NzYtOGE2MS1iM2I4NzU4YmJmZmIiCgpbW2RlcHMuUGx1dG9Nb25hY29FZGl0b3JdXQpkZXBzID0gWyJCYXNlNjQiLCAiSHlwZXJ0ZXh0TGl0ZXJhbCJdCmdpdC10cmVlLXNoYTEgPSAiN2FhYjcyNDNiMTRhZTFjYmE2YWExNDMwNzA4MWU3NTQ3NjFkMTlmYyIKdXVpZCA9ICI1ZTk0M2VhZS0xMGQyLTRlYjMtYWQxZS01OGQzZjJlOTYxNGYiCnZlcnNpb24gPSAiMC4xLjYiCgpbW2RlcHMuUGx1dG9VSV1dCmRlcHMgPSBbIkFic3RyYWN0UGx1dG9EaW5nZXRqZXMiLCAiQmFzZTY0IiwgIkNvbG9yVHlwZXMiLCAiRGF0ZXMiLCAiRml4ZWRQb2ludE51bWJlcnMiLCAiSHlwZXJzY3JpcHQiLCAiSHlwZXJ0ZXh0TGl0ZXJhbCIsICJJT0NhcHR1cmUiLCAiSW50ZXJhY3RpdmVVdGlscyIsICJKU09OIiwgIkxvZ2dpbmciLCAiTUlNRXMiLCAiTWFya2Rvd24iLCAiUmFuZG9tIiwgIlJlZXhwb3J0IiwgIlVSSXMiLCAiVVVJRHMiXQpnaXQtdHJlZS1zaGExID0gImQzZGUyNjk0YjUyYTAxY2U2MWEwMzZmMThlYTljMGY2MWM0YTkyMzAiCnV1aWQgPSAiN2Y5MDRkZmUtYjg1ZS00ZmY2LWI0NjMtZGFlMjI5MjM5NmE4Igp2ZXJzaW9uID0gIjAuNy42MiIKCltbZGVwcy5QcmVjb21waWxlVG9vbHNdXQpkZXBzID0gWyJQcmVmZXJlbmNlcyJdCmdpdC10cmVlLXNoYTEgPSAiNWFhMzZmNzA0OWE2M2ExNTI4ZmU4ZjdjM2YyMTEzNDEzZmZkNGUxZiIKdXVpZCA9ICJhZWE3YmUwMS02YTZhLTQwODMtODg1Ni04YTZlNjcwNGQ4MmEiCnZlcnNpb24gPSAiMS4yLjEiCgpbW2RlcHMuUHJlZmVyZW5jZXNdXQpkZXBzID0gWyJUT01MIl0KZ2l0LXRyZWUtc2hhMSA9ICI5MzA2ZjYwODUxNjVkMjcwZjdlM2RiMDJhZjI2YTQwMGQ1ODBmNWM2Igp1dWlkID0gIjIxMjE2YzZhLTJlNzMtNjU2My02ZTY1LTcyNjU2NjY1NzI1MCIKdmVyc2lvbiA9ICIxLjQuMyIKCltbZGVwcy5QcmludGZdXQpkZXBzID0gWyJVbmljb2RlIl0KdXVpZCA9ICJkZTA4NThkYS02MzAzLTVlNjctODc0NC01MWVkZGVlZWI4ZDciCnZlcnNpb24gPSAiMS4xMS4wIgoKW1tkZXBzLlJhbmRvbV1dCmRlcHMgPSBbIlNIQSJdCnV1aWQgPSAiOWEzZjgyODQtYTJjOS01ZjAyLTlhMTEtODQ1OTgwYTFmZDVjIgp2ZXJzaW9uID0gIjEuMTEuMCIKCltbZGVwcy5SZWV4cG9ydF1dCmdpdC10cmVlLXNoYTEgPSAiNDVlNDI4NDIxNjY2MDczZWFiNmYyZGE1YzlkMzEwZDk5YmIxMmY5YiIKdXVpZCA9ICIxODlhMzg2Ny0zMDUwLTUyZGEtYTgzNi1lNjMwYmE5MGFiNjkiCnZlcnNpb24gPSAiMS4yLjIiCgpbW2RlcHMuU0hBXV0KdXVpZCA9ICJlYThlOTE5Yy0yNDNjLTUxYWYtODgyNS1hYWE2M2NkNzIxY2UiCnZlcnNpb24gPSAiMC43LjAiCgpbW2RlcHMuU2VyaWFsaXphdGlvbl1dCnV1aWQgPSAiOWU4OGI0MmEtZjgyOS01YjBjLWJiZTktOWU5MjMxOTgxNjZiIgp2ZXJzaW9uID0gIjEuMTEuMCIKCltbZGVwcy5TdGF0aXN0aWNzXV0KZGVwcyA9IFsiTGluZWFyQWxnZWJyYSJdCmdpdC10cmVlLXNoYTEgPSAiYWUzYmIxZWIzYmJhMDc3Y2QyNzZiYzVjZmMzMzdjYzY1YzMwNzVjMCIKdXVpZCA9ICIxMDc0NWIxNi03OWNlLTExZTgtMTFmOS03ZDEzYWQzMmEzYjIiCnZlcnNpb24gPSAiMS4xMS4xIgoKICAgIFtkZXBzLlN0YXRpc3RpY3MuZXh0ZW5zaW9uc10KICAgIFNwYXJzZUFycmF5c0V4dCA9IFsiU3BhcnNlQXJyYXlzIl0KCiAgICBbZGVwcy5TdGF0aXN0aWNzLndlYWtkZXBzXQogICAgU3BhcnNlQXJyYXlzID0gIjJmMDExODRlLWUyMmItNWRmNS1hZTYzLWQ5M2ViYWI2OWVhZiIKCltbZGVwcy5UT01MXV0KZGVwcyA9IFsiRGF0ZXMiXQp1dWlkID0gImZhMjY3ZjFmLTYwNDktNGYxNC1hYTU0LTMzYmFmYWUxZWQ3NiIKdmVyc2lvbiA9ICIxLjAuMyIKCltbZGVwcy5UYXJdXQpkZXBzID0gWyJBcmdUb29scyIsICJTSEEiXQp1dWlkID0gImE0ZTU2OWE2LWU4MDQtNGZhNC1iMGYzLWVlZjdhMWQ1YjEzZSIKdmVyc2lvbiA9ICIxLjEwLjAiCgpbW2RlcHMuVGVzdF1dCmRlcHMgPSBbIkludGVyYWN0aXZlVXRpbHMiLCAiTG9nZ2luZyIsICJSYW5kb20iLCAiU2VyaWFsaXphdGlvbiJdCnV1aWQgPSAiOGRmZWQ2MTQtZTIyYy01ZTA4LTg1ZTEtNjVjNTIzNGYwYjQwIgp2ZXJzaW9uID0gIjEuMTEuMCIKCltbZGVwcy5Ucmlja3NdXQpnaXQtdHJlZS1zaGExID0gIjZjYWU3OTVhNWE5MzEzYmJiNGY2MDY4M2Y3MjYzMzE4ZmM3ZDE1MDUiCnV1aWQgPSAiNDEwYTRiNGQtNDllNC00ZmJjLWFiNmQtY2I3MWIxN2IzNzc1Igp2ZXJzaW9uID0gIjAuMS4xMCIKCltbZGVwcy5VUklzXV0KZ2l0LXRyZWUtc2hhMSA9ICJjYmJlYmFkYmNjNzZjNWNhMWNjNGI0ZjNiMDYxNGIzZTYwM2I1MDAwIgp1dWlkID0gIjVjMjc0N2Y4LWI3ZWEtNGZmMi1iYTJlLTU2M2JmZDM2YjFkNCIKdmVyc2lvbiA9ICIxLjUuMiIKCltbZGVwcy5VVUlEc11dCmRlcHMgPSBbIlJhbmRvbSIsICJTSEEiXQp1dWlkID0gImNmNzExOGE3LTY5NzYtNWIxYS05YTM5LTdhZGM3MmY1OTFhNCIKdmVyc2lvbiA9ICIxLjExLjAiCgpbW2RlcHMuVW5pY29kZV1dCnV1aWQgPSAiNGVjMGE4M2UtNDkzZS01MGUyLWI5YWMtOGY3MmFjZjVhOGY1Igp2ZXJzaW9uID0gIjEuMTEuMCIKCltbZGVwcy5abGliX2psbF1dCmRlcHMgPSBbIkxpYmRsIl0KdXVpZCA9ICI4Mzc3NWE1OC0xZjFkLTUxM2YtYjE5Ny1kNzEzNTRhYjAwN2EiCnZlcnNpb24gPSAiMS4yLjEzKzEiCgpbW2RlcHMubGliYmxhc3RyYW1wb2xpbmVfamxsXV0KZGVwcyA9IFsiQXJ0aWZhY3RzIiwgIkxpYmRsIl0KdXVpZCA9ICI4ZTg1MGI5MC04NmRiLTUzNGMtYTBkMy0xNDc4MTc2YzdkOTMiCnZlcnNpb24gPSAiNS4xMS4wKzAiCgpbW2RlcHMubmdodHRwMl9qbGxdXQpkZXBzID0gWyJBcnRpZmFjdHMiLCAiTGliZGwiXQp1dWlkID0gIjhlODUwZWRlLTc2ODgtNTMzOS1hMDdjLTMwMmFjZDJhYWY4ZCIKdmVyc2lvbiA9ICIxLjU5LjArMCIKCltbZGVwcy5wN3ppcF9qbGxdXQpkZXBzID0gWyJBcnRpZmFjdHMiLCAiTGliZGwiXQp1dWlkID0gIjNmMTllOTMzLTMzZDgtNTNiMy1hYWFiLWJkNTExMGMzYjdhMCIKdmVyc2lvbiA9ICIxNy40LjArMiIKIiIiCgojIOKVlOKVkOKVoSBDZWxsIG9yZGVyOgojIOKVn+KUgDAwZjg2MTg5LTdhOGEtNDA0Zi1iMzUwLTVmNDIzZWNhNmZlNQojIOKVn+KUgDU0MWE0N2FiLWEyMzMtNDZjNi04ZjE0LTQyMjgzNTkxZjYxZgojIOKVoOKVkGJkNzhkZjNjLWY1NzEtMTFlZi0wNDJmLTExN2UyNWEwNTE3ZgojIOKVn+KUgDlkNmJkNTY5LTg4MzEtNDU4Ni1iOTM1LTBiMTkxODk0NDY5MwojIOKVoOKVkDU0OTE2YjAwLTcyNTMtNGQ3Zi05MTNlLTU1M2UyNGY4NTI0YgojIOKVn+KUgGI4Y2ViMjMxLTg4ZGMtNDM5NC1iMTM0LTE5OTc0YjViMWZjMwojIOKVn+KUgDkzM2YyMDJlLTFkZTItNDUxZS04OTRhLTJkZmU1NGRhYjg0ZAojIOKVn+KUgDY3MTY5OTIyLWJhYjYtNDFiMy1iYzZkLTNlOGY5MjVhZTgyOAojIOKVn+KUgGJiZDMxNzRiLTNjM2MtNDlhYS04YjJhLWExZjdkOTQ4OWU2MAojIOKVn+KUgDAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMQojIOKVn+KUgDAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMgo="; | |
window.pluto_disable_ui = true; | |
window.pluto_slider_server_url = undefined; | |
window.pluto_binder_url = "https://mybinder.org/v2/gh/fonsp/pluto-on-binder/v0.20.6"; | |
window.pluto_statefile = "data:;base64,3gASpWJvbmRzgrFqYXZhc2NyaXB0X3NvdXJjZYGldmFsdWXZvC8vIENoYW5nZSB0aGUgaGVhZGluZyB0ZXh0IHRvICJIZWxsbyBXb3JsZCBmcm9tIEphdmFTY3JpcHQhIgoKLy8gdXBkYXRlIG1lCm15VGV4dENvbnRlbnQgPSAiSGVsbG8gV29ybGQgZnJvbSBKYXZhU2NyaXB0IjsKZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhlbGxvIikKCQkudGV4dENvbnRlbnQgPSBteVRleHRDb250ZW50OwoKqmNzc19zb3VyY2WBpXZhbHVl2UYvKiBTdHlsZSB0aGUgaGVhZGluZyB0byBhcHBlYXIgaW4gZ3JlZW4gKi8KI2hlbGxvIHsKICBjb2xvcjogZ3JlZW47Cn0KrGNlbGxfcmVzdWx0c4nZJDkzM2YyMDJlLTFkZTItNDUxZS04OTRhLTJkZmU1NGRhYjg0ZIqmcXVldWVkwqRsb2dzkKdydW5uaW5nwqZvdXRwdXSGpGJvZHnaBEE8Ym9uZCBkZWY9ImphdmFzY3JpcHRfc291cmNlIiB1bmlxdWVfaWQ9Ijc3aDI3RTV2SndiSSI+IDxzcGFuPgogPGRpdiBpZD0nbW9uYWNvLWVkaXRvci1jb250YWluZXInIHN0eWxlPSJ3aWR0aDogNzAwcHg7IGhlaWdodDogMTUwcHg7IGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7Ij48L2Rpdj4KCiA8c2NyaXB0PgogICAgIGNvbnN0IG1vbmFjbyA9IGF3YWl0IGltcG9ydCgnaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9tb25hY28tZWRpdG9yQDAuNTIuMC8rZXNtJyk7CiAgICAgY29uc3Qgd3JhcHBlcl9zcGFuID0gY3VycmVudFNjcmlwdC5wYXJlbnRFbGVtZW50CiAgICAgY29uc3QgbW9uRWRpdG9yID0gbW9uYWNvLmVkaXRvci5jcmVhdGUod3JhcHBlcl9zcGFuLnF1ZXJ5U2VsZWN0b3IoJ2RpdiNtb25hY28tZWRpdG9yLWNvbnRhaW5lcicpLCB7CiAgICAgICAgIHZhbHVlOiAiLy8gQ2hhbmdlIHRoZSBoZWFkaW5nIHRleHQgdG8gXCJIZWxsbyBXb3JsZCBmcm9tIEphdmFTY3JpcHQhXCJcblxuLy8gdXBkYXRlIG1lXG5teVRleHRDb250ZW50ID0gXCJIZWxsbyBXb3JsZCBmcm9tIEphdmFTY3JpcHRcIjtcbmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiaGVsbG9cIilcbgkJLnRleHRDb250ZW50ID0gbXlUZXh0Q29udGVudDtcblxuIiwKICAgICAgICAgbGFuZ3VhZ2U6ICJqYXZhc2NyaXB0IiwKICAgICAgICAgdGhlbWU6ICJ2cy1kYXJrIgogICAgIH0pOwoKICAgICBmdW5jdGlvbiB1cGRhdGVfYm9uZCgpIHsKICAgICAgICAgd3JhcHBlcl9zcGFuLnZhbHVlID0gbW9uRWRpdG9yLmdldFZhbHVlKCk7CiAgICAgICAgIHdyYXBwZXJfc3Bhbi5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidXBkYXRlIikpOwogICAgIH0KCiAgICAgY29uc3QgZWRpdG9yQ29udGFpbmVyID0gd3JhcHBlcl9zcGFuLnF1ZXJ5U2VsZWN0b3IoIiNtb25hY28tZWRpdG9yLWNvbnRhaW5lciIpOwogICAgIGVkaXRvckNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsIGU9PnsKICAgICAgICAgdXBkYXRlX2JvbmQoKTsKICAgICB9KQoKICAgICB1cGRhdGVfYm9uZCgpOwogPC9zY3JpcHQ+CiA8L3NwYW4+CjwvYm9uZD6kbWltZal0ZXh0L2h0bWyscm9vdGFzc2lnbmVlwLJsYXN0X3J1bl90aW1lc3RhbXDLQdoMRO+fDEGwcGVyc2lzdF9qc19zdGF0ZcK3aGFzX3BsdXRvX2hvb2tfZmVhdHVyZXPCp2NlbGxfaWTZJDkzM2YyMDJlLTFkZTItNDUxZS04OTRhLTJkZmU1NGRhYjg0ZLlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgAGsD21cHVibGlzaGVkX29iamVjdF9rZXlzkLhkZXBlbmRzX29uX3NraXBwZWRfY2VsbHPCp2Vycm9yZWTC2SQ1NDkxNmIwMC03MjUzLTRkN2YtOTEzZS01NTNlMjRmODUyNGKKpnF1ZXVlZMKkbG9nc5CncnVubmluZ8Kmb3V0cHV0hqRib2R52gO0PGJvbmQgZGVmPSJjc3Nfc291cmNlIiB1bmlxdWVfaWQ9IlZLTW9LRjRxbUE1SyI+IDxzcGFuPgogPGRpdiBpZD0nbW9uYWNvLWVkaXRvci1jb250YWluZXInIHN0eWxlPSJ3aWR0aDogNzAwcHg7IGhlaWdodDogMTIwcHg7IGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7Ij48L2Rpdj4KCiA8c2NyaXB0PgogICAgIGNvbnN0IG1vbmFjbyA9IGF3YWl0IGltcG9ydCgnaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9tb25hY28tZWRpdG9yQDAuNTIuMC8rZXNtJyk7CiAgICAgY29uc3Qgd3JhcHBlcl9zcGFuID0gY3VycmVudFNjcmlwdC5wYXJlbnRFbGVtZW50CiAgICAgY29uc3QgbW9uRWRpdG9yID0gbW9uYWNvLmVkaXRvci5jcmVhdGUod3JhcHBlcl9zcGFuLnF1ZXJ5U2VsZWN0b3IoJ2RpdiNtb25hY28tZWRpdG9yLWNvbnRhaW5lcicpLCB7CiAgICAgICAgIHZhbHVlOiAiLyogU3R5bGUgdGhlIGhlYWRpbmcgdG8gYXBwZWFyIGluIGdyZWVuICovXG4jaGVsbG8ge1xuICBjb2xvcjogZ3JlZW47XG59XG4iLAogICAgICAgICBsYW5ndWFnZTogImNzcyIsCiAgICAgICAgIHRoZW1lOiAidnMtZGFyayIKICAgICB9KTsKCiAgICAgZnVuY3Rpb24gdXBkYXRlX2JvbmQoKSB7CiAgICAgICAgIHdyYXBwZXJfc3Bhbi52YWx1ZSA9IG1vbkVkaXRvci5nZXRWYWx1ZSgpOwogICAgICAgICB3cmFwcGVyX3NwYW4uZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInVwZGF0ZSIpKTsKICAgICB9CgogICAgIGNvbnN0IGVkaXRvckNvbnRhaW5lciA9IHdyYXBwZXJfc3Bhbi5xdWVyeVNlbGVjdG9yKCIjbW9uYWNvLWVkaXRvci1jb250YWluZXIiKTsKICAgICBlZGl0b3JDb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLCBlPT57CiAgICAgICAgIHVwZGF0ZV9ib25kKCk7CiAgICAgfSkKCiAgICAgdXBkYXRlX2JvbmQoKTsKIDwvc2NyaXB0PgogPC9zcGFuPgo8L2JvbmQ+pG1pbWWpdGV4dC9odG1srHJvb3Rhc3NpZ25lZcCybGFzdF9ydW5fdGltZXN0YW1wy0HaDET5KyBTsHBlcnNpc3RfanNfc3RhdGXCt2hhc19wbHV0b19ob29rX2ZlYXR1cmVzwqdjZWxsX2lk2SQ1NDkxNmIwMC03MjUzLTRkN2YtOTEzZS01NTNlMjRmODUyNGK5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc4AHCa0tXB1Ymxpc2hlZF9vYmplY3Rfa2V5c5C4ZGVwZW5kc19vbl9za2lwcGVkX2NlbGxzwqdlcnJvcmVkwtkkOWQ2YmQ1NjktODgzMS00NTg2LWI5MzUtMGIxOTE4OTQ0NjkziqZxdWV1ZWTCpGxvZ3OQp3J1bm5pbmfCpm91dHB1dIakYm9kedkwPGRpdiBjbGFzcz0ibWFya2Rvd24iPjxoMj5DU1MgZWRpdG9yPC9oMj4KPC9kaXY+pG1pbWWpdGV4dC9odG1srHJvb3Rhc3NpZ25lZcCybGFzdF9ydW5fdGltZXN0YW1wy0HaDETu5Bw7sHBlcnNpc3RfanNfc3RhdGXCt2hhc19wbHV0b19ob29rX2ZlYXR1cmVzwqdjZWxsX2lk2SQ5ZDZiZDU2OS04ODMxLTQ1ODYtYjkzNS0wYjE5MTg5NDQ2OTO5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc4AAfQAtXB1Ymxpc2hlZF9vYmplY3Rfa2V5c5C4ZGVwZW5kc19vbl9za2lwcGVkX2NlbGxzwqdlcnJvcmVkwtkkMDBmODYxODktN2E4YS00MDRmLWIzNTAtNWY0MjNlY2E2ZmU1iqZxdWV1ZWTCpGxvZ3OQp3J1bm5pbmfCpm91dHB1dIakYm9kedloPGRpdiBjbGFzcz0ibWFya2Rvd24iPjxoMT5DU1MgYW5kIEphdmFTY3JpcHQgZWRpdG9yIG9uIFBsdXRvIE5vdGVib29rIHdpdGggUGx1dG9Nb25hY29FZGl0b3I8L2gxPgo8L2Rpdj6kbWltZal0ZXh0L2h0bWyscm9vdGFzc2lnbmVlwLJsYXN0X3J1bl90aW1lc3RhbXDLQdoMRO7WS+iwcGVyc2lzdF9qc19zdGF0ZcK3aGFzX3BsdXRvX2hvb2tfZmVhdHVyZXPCp2NlbGxfaWTZJDAwZjg2MTg5LTdhOGEtNDA0Zi1iMzUwLTVmNDIzZWNhNmZlNblkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgAdQHG1cHVibGlzaGVkX29iamVjdF9rZXlzkLhkZXBlbmRzX29uX3NraXBwZWRfY2VsbHPCp2Vycm9yZWTC2SRiYmQzMTc0Yi0zYzNjLTQ5YWEtOGIyYS1hMWY3ZDk0ODllNjCKpnF1ZXVlZMKkbG9nc5CncnVubmluZ8Kmb3V0cHV0hqRib2R52gL9CTxodG1sIGxhbmc9ImVuIj4KCTxoZWFkPgoJICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CgkgIDx0aXRsZT5IZWxsbyBXb3JsZCBFeGFtcGxlPC90aXRsZT4KCSAgPCEtLSBMaW5rIHRoZSBleHRlcm5hbCBDU1MgZmlsZSAtLT4KCSAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJkYXRhOnRleHQvY3NzO2Jhc2U2NCxMeW9nVTNSNWJHVWdkR2hsSUdobFlXUnBibWNnZEc4Z1lYQndaV0Z5SUdsdUlHZHlaV1Z1SUNvdkNpTm9aV3hzYnlCN0NpQWdZMjlzYjNJNklHZHlaV1Z1T3dwOUNnPT0iPgoJPC9oZWFkPgoJPGJvZHk+CgkgIDwhLS0gQSBoZWFkaW5nIGVsZW1lbnQgdG8gZGlzcGxheSB0ZXh0IC0tPgoJICA8aDEgaWQ9ImhlbGxvIj5IZWxsbyBmcm9tIEhUTUw8L2gxPgoJCgkgIDwhLS0gUmVmZXJlbmNlIHRoZSBleHRlcm5hbCBKYXZhU2NyaXB0IGZpbGUgLS0+CgkgPHNjcmlwdCBzcmM9ImRhdGE6dGV4dC9qYXZhc2NyaXB0O2Jhc2U2NCxMeThnUTJoaGJtZGxJSFJvWlNCb1pXRmthVzVuSUhSbGVIUWdkRzhnSWtobGJHeHZJRmR2Y214a0lHWnliMjBnU21GMllWTmpjbWx3ZENFaUNnb3ZMeUIxY0dSaGRHVWdiV1VLYlhsVVpYaDBRMjl1ZEdWdWRDQTlJQ0pJWld4c2J5QlhiM0pzWkNCbWNtOXRJRXBoZG1GVFkzSnBjSFFpT3dwa2IyTjFiV1Z1ZEM1blpYUkZiR1Z0Wlc1MFFubEpaQ2dpYUdWc2JHOGlLUW9KQ1M1MFpYaDBRMjl1ZEdWdWRDQTlJRzE1VkdWNGRFTnZiblJsYm5RN0Nnbz0iPjwvc2NyaXB0PgoJPC9ib2R5PgoJPC9odG1sPgogICAgpG1pbWWpdGV4dC9odG1srHJvb3Rhc3NpZ25lZcCybGFzdF9ydW5fdGltZXN0YW1wy0HaDET5MmvTsHBlcnNpc3RfanNfc3RhdGXDt2hhc19wbHV0b19ob29rX2ZlYXR1cmVzwqdjZWxsX2lk2SRiYmQzMTc0Yi0zYzNjLTQ5YWEtOGIyYS1hMWY3ZDk0ODllNjC5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc4BkLgltXB1Ymxpc2hlZF9vYmplY3Rfa2V5c5C4ZGVwZW5kc19vbl9za2lwcGVkX2NlbGxzwqdlcnJvcmVkwtkkNTQxYTQ3YWItYTIzMy00NmM2LThmMTQtNDIyODM1OTFmNjFmiqZxdWV1ZWTCpGxvZ3OQp3J1bm5pbmfCpm91dHB1dIakYm9kedoBSjxkaXYgY2xhc3M9Im1hcmtkb3duIj48cD5UaGlzIG5vdGVib29rIGludHJvZHVjZXMgdGhlIFBsdXRvTW9uYWNvRWRpdG9yIHBhY2thZ2UuIEl0IGJyaW5ncyBhIHJpY2gsIFZTIENvZGXigJNsaWtlIGVkaXRvciBpbnRvIHRoZSBQbHV0byBub3RlYm9vayBlY29zeXN0ZW0uIEFzIGFuIGV4YW1wbGUsIHRoaXMgbm90ZWJvb2sgYWxsb2NhdGVzIGRlZGljYXRlZCBlZGl0aW5nIGFyZWFzIGZvciBDU1MgYW5kIEphdmFTY3JpcHQsIHByb3ZpZGluZyB1c2VycyB3aXRoIGEgcGxheWdyb3VuZCB3aGVyZSB0aGV5IGNhbiBleHBlcmltZW50IGFuZCBtb2RpZnkgY29kZS48L3A+CjwvZGl2PqRtaW1lqXRleHQvaHRtbKxyb290YXNzaWduZWXAsmxhc3RfcnVuX3RpbWVzdGFtcMtB2gxE7tbUmbBwZXJzaXN0X2pzX3N0YXRlwrdoYXNfcGx1dG9faG9va19mZWF0dXJlc8KnY2VsbF9pZNkkNTQxYTQ3YWItYTIzMy00NmM2LThmMTQtNDIyODM1OTFmNjFmuWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOAAMQWLVwdWJsaXNoZWRfb2JqZWN0X2tleXOQuGRlcGVuZHNfb25fc2tpcHBlZF9jZWxsc8KnZXJyb3JlZMLZJGJkNzhkZjNjLWY1NzEtMTFlZi0wNDJmLTExN2UyNWEwNTE3ZoqmcXVldWVkwqRsb2dzkKdydW5uaW5nwqZvdXRwdXSGpGJvZHmgpG1pbWWqdGV4dC9wbGFpbqxyb290YXNzaWduZWXAsmxhc3RfcnVuX3RpbWVzdGFtcMtB2gxE73TXTbBwZXJzaXN0X2pzX3N0YXRlwrdoYXNfcGx1dG9faG9va19mZWF0dXJlc8KnY2VsbF9pZNkkYmQ3OGRmM2MtZjU3MS0xMWVmLTA0MmYtMTE3ZTI1YTA1MTdmuWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOA+auG7VwdWJsaXNoZWRfb2JqZWN0X2tleXOQuGRlcGVuZHNfb25fc2tpcHBlZF9jZWxsc8KnZXJyb3JlZMLZJGI4Y2ViMjMxLTg4ZGMtNDM5NC1iMTM0LTE5OTc0YjViMWZjM4qmcXVldWVkwqRsb2dzkKdydW5uaW5nwqZvdXRwdXSGpGJvZHnZNzxkaXYgY2xhc3M9Im1hcmtkb3duIj48aDI+SmF2YVNjcmlwdCBlZGl0b3I8L2gyPgo8L2Rpdj6kbWltZal0ZXh0L2h0bWyscm9vdGFzc2lnbmVlwLJsYXN0X3J1bl90aW1lc3RhbXDLQdoMRO7xLf2wcGVyc2lzdF9qc19zdGF0ZcK3aGFzX3BsdXRvX2hvb2tfZmVhdHVyZXPCp2NlbGxfaWTZJGI4Y2ViMjMxLTg4ZGMtNDM5NC1iMTM0LTE5OTc0YjViMWZjM7lkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgACKTi1cHVibGlzaGVkX29iamVjdF9rZXlzkLhkZXBlbmRzX29uX3NraXBwZWRfY2VsbHPCp2Vycm9yZWTC2SQ2NzE2OTkyMi1iYWI2LTQxYjMtYmM2ZC0zZThmOTI1YWU4MjiKpnF1ZXVlZMKkbG9nc5CncnVubmluZ8Kmb3V0cHV0hqRib2R52gFYPGRpdiBjbGFzcz0ibWFya2Rvd24iPjxoMj5IVE1MIE91dHB1dDwvaDI+CjxwPklmIHlvdSByZXBsYWNlIDxjb2RlPmNvbG9yOiBncmVlbjwvY29kZT4gd2l0aCA8Y29kZT5jb2xvcjogcmVkPC9jb2RlPiwgaW4gdGhlIENTUyBlZGl0b3IsIGl0IHdpbGwgb3V0cHV0IGEgcmVkLWNvbG9yZWQgdGV4dCAmcXVvdDtIZWxsbyBXb3JsZCBmcm9tIEphdmFTY3JpcHQmcXVvdDsuPC9wPgo8cD5JZiB5b3UgdXBkYXRlIHRoZSB2YXJpYWJsZSA8Y29kZT5teVRleHRDb250ZW50PC9jb2RlPiBpbiB0aGUgSmF2YVNjcmlwdCBlZGl0b3IsIHRoZSBmb2xsb3dpbmcgdGV4dCB3aWxsIGJlIHVwZGF0ZWQuPC9wPgo8L2Rpdj6kbWltZal0ZXh0L2h0bWyscm9vdGFzc2lnbmVlwLJsYXN0X3J1bl90aW1lc3RhbXDLQdoMRO7yR8uwcGVyc2lzdF9qc19zdGF0ZcK3aGFzX3BsdXRvX2hvb2tfZmVhdHVyZXPCp2NlbGxfaWTZJDY3MTY5OTIyLWJhYjYtNDFiMy1iYzZkLTNlOGY5MjVhZTgyOLlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgADtWK1cHVibGlzaGVkX29iamVjdF9rZXlzkLhkZXBlbmRzX29uX3NraXBwZWRfY2VsbHPCp2Vycm9yZWTCq3N0YXR1c190cmVlhaRuYW1lqG5vdGVib29rqHN1YnRhc2tzhKZzYXZpbmeFpG5hbWWmc2F2aW5nqHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2gxE+SqWT6dzdWNjZXNzw6pzdGFydGVkX2F0y0HaDET5KomcqXdvcmtzcGFjZYWkbmFtZal3b3Jrc3BhY2Woc3VidGFza3OCrGluaXRfcHJvY2Vzc4WkbmFtZaxpbml0X3Byb2Nlc3Ooc3VidGFza3OEoTSFpG5hbWWhNKhzdWJ0YXNrc4CrZmluaXNoZWRfYXTLQdoMRO6gqTenc3VjY2Vzc8Oqc3RhcnRlZF9hdMtB2gxE7pVquqExhaRuYW1loTGoc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HaDETuk2kjp3N1Y2Nlc3PDqnN0YXJ0ZWRfYXTLQdoMRO6OQauhMoWkbmFtZaEyqHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2gxE7pNvk6dzdWNjZXNzw6pzdGFydGVkX2F0y0HaDETuk2k4oTOFpG5hbWWhM6hzdWJ0YXNrc4CrZmluaXNoZWRfYXTLQdoMRO6Vaq2nc3VjY2Vzc8Oqc3RhcnRlZF9hdMtB2gxE7pNvnKtmaW5pc2hlZF9hdMtB2gxE7qCvcadzdWNjZXNzw6pzdGFydGVkX2F0y0HaDETujkGarmNyZWF0ZV9wcm9jZXNzhaRuYW1lrmNyZWF0ZV9wcm9jZXNzqHN1YnRhc2tzgtkhTG9hZGluZyBub3RlYm9vayBib290IGVudmlyb25tZW50haRuYW1l2SFMb2FkaW5nIG5vdGVib29rIGJvb3QgZW52aXJvbm1lbnSoc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HaDETuhqomp3N1Y2Nlc3PDqnN0YXJ0ZWRfYXTLQdoMRO4Ma8awU3RhcnRpbmcgcHJvY2Vzc4WkbmFtZbBTdGFydGluZyBwcm9jZXNzqHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2gxE7gxkUqdzdWNjZXNzw6pzdGFydGVkX2F0y0HaDETt7F2rq2ZpbmlzaGVkX2F0y0HaDETuhqoip3N1Y2Nlc3PDqnN0YXJ0ZWRfYXTLQdoMRO3sXZqrZmluaXNoZWRfYXTLQdoMRO6gr3mnc3VjY2Vzc8Oqc3RhcnRlZF9hdMtB2gxE7exdjaNwa2eFpG5hbWWjcGtnqHN1YnRhc2tzgahhbmFseXNpc4WkbmFtZahhbmFseXNpc6hzdWJ0YXNrc4CrZmluaXNoZWRfYXTLQdoMRPkqPh2nc3VjY2Vzc8Oqc3RhcnRlZF9hdMtB2gxE+SoywqtmaW5pc2hlZF9hdMtB2gxE+So+HadzdWNjZXNzw6pzdGFydGVkX2F0y0HaDET5KjK+o3J1boWkbmFtZaNydW6oc3VidGFza3OCsHJlc29sdmVfdG9wb2xvZ3mFpG5hbWWwcmVzb2x2ZV90b3BvbG9neahzdWJ0YXNrc4CrZmluaXNoZWRfYXTLQdoMRPkwfsinc3VjY2Vzc8Oqc3RhcnRlZF9hdMtB2gxE+TB9fKhldmFsdWF0ZYWkbmFtZahldmFsdWF0ZahzdWJ0YXNrc4GhMYWkbmFtZaExqHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2gxE+TJsFqdzdWNjZXNzw6pzdGFydGVkX2F0y0HaDET5MJirq2ZpbmlzaGVkX2F0y0HaDET5MmxIp3N1Y2Nlc3PDqnN0YXJ0ZWRfYXTLQdoMRPkwfsirZmluaXNoZWRfYXTLQdoMRPkybEinc3VjY2Vzc8Oqc3RhcnRlZF9hdMtB2gxE+TB9dKtmaW5pc2hlZF9hdMCnc3VjY2Vzc8Cqc3RhcnRlZF9hdMtB2gxEAWurqLFjZWxsX2RlcGVuZGVuY2llc4nZJDkzM2YyMDJlLTFkZTItNDUxZS04OTRhLTJkZmU1NGRhYjg0ZIS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJDkzM2YyMDJlLTFkZTItNDUxZS04OTRhLTJkZmU1NGRhYjg0ZLRkb3duc3RyZWFtX2NlbGxzX21hcIK0aW5pdF9qYXZhc2NyaXB0X2ZpbGWQsWphdmFzY3JpcHRfc291cmNlkdkkYmJkMzE3NGItM2MzYy00OWFhLThiMmEtYTFmN2Q5NDg5ZTYwsnVwc3RyZWFtX2NlbGxzX21hcIikQ29yZZCkQmFzZZC3UGx1dG9SdW5uZXIuY3JlYXRlX2JvbmSQq1BsdXRvUnVubmVykK9Db3JlLmFwcGxpY2FibGWQpUBiaW5kkKxNb25hY29FZGl0b3KR2SRiZDc4ZGYzYy1mNTcxLTExZWYtMDQyZi0xMTdlMjVhMDUxN2aoQmFzZS5nZXSQ2SQ1NDkxNmIwMC03MjUzLTRkN2YtOTEzZS01NTNlMjRmODUyNGKEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SQ1NDkxNmIwMC03MjUzLTRkN2YtOTEzZS01NTNlMjRmODUyNGK0ZG93bnN0cmVhbV9jZWxsc19tYXCCrmluaXRfc3R5bGVfY3NzkKpjc3Nfc291cmNlkdkkYmJkMzE3NGItM2MzYy00OWFhLThiMmEtYTFmN2Q5NDg5ZTYwsnVwc3RyZWFtX2NlbGxzX21hcIikQ29yZZCkQmFzZZC3UGx1dG9SdW5uZXIuY3JlYXRlX2JvbmSQq1BsdXRvUnVubmVykK9Db3JlLmFwcGxpY2FibGWQpUBiaW5kkKxNb25hY29FZGl0b3KR2SRiZDc4ZGYzYy1mNTcxLTExZWYtMDQyZi0xMTdlMjVhMDUxN2aoQmFzZS5nZXSQ2SQ5ZDZiZDU2OS04ODMxLTQ1ODYtYjkzNS0wYjE5MTg5NDQ2OTOEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SQ5ZDZiZDU2OS04ODMxLTQ1ODYtYjkzNS0wYjE5MTg5NDQ2OTO0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKnQG1kX3N0cpCoZ2V0aW5kZXiQ2SQwMGY4NjE4OS03YThhLTQwNGYtYjM1MC01ZjQyM2VjYTZmZTWEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SQwMGY4NjE4OS03YThhLTQwNGYtYjM1MC01ZjQyM2VjYTZmZTW0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKnQG1kX3N0cpCoZ2V0aW5kZXiQ2SRiYmQzMTc0Yi0zYzNjLTQ5YWEtOGIyYS1hMWY3ZDk0ODllNjCEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SRiYmQzMTc0Yi0zYzNjLTQ5YWEtOGIyYS1hMWY3ZDk0ODllNjC0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIu3SHlwZXJ0ZXh0TGl0ZXJhbC5CeXBhc3OQrUxvY2FsUmVzb3VyY2WR2SRiZDc4ZGYzYy1mNTcxLTExZWYtMDQyZi0xMTdlMjVhMDUxN2aoam9pbnBhdGiQqW1rdGVtcGRpcpCkQGh0bJHZJGJkNzhkZjNjLWY1NzEtMTFlZi0wNDJmLTExN2UyNWEwNTE3ZtkgSHlwZXJ0ZXh0TGl0ZXJhbC5hdHRyaWJ1dGVfdmFsdWWQpXdyaXRlkLdIeXBlcnRleHRMaXRlcmFsLlJlc3VsdJCwSHlwZXJ0ZXh0TGl0ZXJhbJCqY3NzX3NvdXJjZZHZJDU0OTE2YjAwLTcyNTMtNGQ3Zi05MTNlLTU1M2UyNGY4NTI0YrFqYXZhc2NyaXB0X3NvdXJjZZHZJDkzM2YyMDJlLTFkZTItNDUxZS04OTRhLTJkZmU1NGRhYjg0ZNkkNTQxYTQ3YWItYTIzMy00NmM2LThmMTQtNDIyODM1OTFmNjFmhLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkNTQxYTQ3YWItYTIzMy00NmM2LThmMTQtNDIyODM1OTFmNjFmtGRvd25zdHJlYW1fY2VsbHNfbWFwgLJ1cHN0cmVhbV9jZWxsc19tYXCCp0BtZF9zdHKQqGdldGluZGV4kNkkYmQ3OGRmM2MtZjU3MS0xMWVmLTA0MmYtMTE3ZTI1YTA1MTdmhLRwcmVjZWRlbmNlX2hldXJpc3RpYwenY2VsbF9pZNkkYmQ3OGRmM2MtZjU3MS0xMWVmLTA0MmYtMTE3ZTI1YTA1MTdmtGRvd25zdHJlYW1fY2VsbHNfbWFwg61Mb2NhbFJlc291cmNlkdkkYmJkMzE3NGItM2MzYy00OWFhLThiMmEtYTFmN2Q5NDg5ZTYwrE1vbmFjb0VkaXRvcpLZJDU0OTE2YjAwLTcyNTMtNGQ3Zi05MTNlLTU1M2UyNGY4NTI0YtkkOTMzZjIwMmUtMWRlMi00NTFlLTg5NGEtMmRmZTU0ZGFiODRkpEBodGyR2SRiYmQzMTc0Yi0zYzNjLTQ5YWEtOGIyYS1hMWY3ZDk0ODllNjCydXBzdHJlYW1fY2VsbHNfbWFwgNkkYjhjZWIyMzEtODhkYy00Mzk0LWIxMzQtMTk5NzRiNWIxZmMzhLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkYjhjZWIyMzEtODhkYy00Mzk0LWIxMzQtMTk5NzRiNWIxZmMztGRvd25zdHJlYW1fY2VsbHNfbWFwgLJ1cHN0cmVhbV9jZWxsc19tYXCCp0BtZF9zdHKQqGdldGluZGV4kNkkNjcxNjk5MjItYmFiNi00MWIzLWJjNmQtM2U4ZjkyNWFlODI4hLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkNjcxNjk5MjItYmFiNi00MWIzLWJjNmQtM2U4ZjkyNWFlODI4tGRvd25zdHJlYW1fY2VsbHNfbWFwgLJ1cHN0cmVhbV9jZWxsc19tYXCCp0BtZF9zdHKQqGdldGluZGV4kLRjZWxsX2V4ZWN1dGlvbl9vcmRlcpnZJGJkNzhkZjNjLWY1NzEtMTFlZi0wNDJmLTExN2UyNWEwNTE3ZtkkMDBmODYxODktN2E4YS00MDRmLWIzNTAtNWY0MjNlY2E2ZmU12SQ1NDFhNDdhYi1hMjMzLTQ2YzYtOGYxNC00MjI4MzU5MWY2MWbZJDlkNmJkNTY5LTg4MzEtNDU4Ni1iOTM1LTBiMTkxODk0NDY5M9kkNTQ5MTZiMDAtNzI1My00ZDdmLTkxM2UtNTUzZTI0Zjg1MjRi2SRiOGNlYjIzMS04OGRjLTQzOTQtYjEzNC0xOTk3NGI1YjFmYzPZJDkzM2YyMDJlLTFkZTItNDUxZS04OTRhLTJkZmU1NGRhYjg0ZNkkNjcxNjk5MjItYmFiNi00MWIzLWJjNmQtM2U4ZjkyNWFlODI42SRiYmQzMTc0Yi0zYzNjLTQ5YWEtOGIyYS1hMWY3ZDk0ODllNjC0bGFzdF9ob3RfcmVsb2FkX3RpbWXLAAAAAAAAAACpc2hvcnRwYXRotmh0bWxfY3NzX2phdmFzY3JpcHQuamyucHJvY2Vzc19zdGF0dXOlcmVhZHmkcGF0aNlaL1VzZXJzL2F0ZWxpZXJhcml0aC93b3JrL2F0ZWxpZXJhcml0aC9QbHV0b01vbmFjb0VkaXRvci5qbC9leGFtcGxlcy9odG1sX2Nzc19qYXZhc2NyaXB0LmpsrXBsdXRvX3ZlcnNpb26ndjAuMjAuNq5sYXN0X3NhdmVfdGltZctB2gxE+SqJlKpjZWxsX29yZGVymdkkMDBmODYxODktN2E4YS00MDRmLWIzNTAtNWY0MjNlY2E2ZmU12SQ1NDFhNDdhYi1hMjMzLTQ2YzYtOGYxNC00MjI4MzU5MWY2MWbZJGJkNzhkZjNjLWY1NzEtMTFlZi0wNDJmLTExN2UyNWEwNTE3ZtkkOWQ2YmQ1NjktODgzMS00NTg2LWI5MzUtMGIxOTE4OTQ0Njkz2SQ1NDkxNmIwMC03MjUzLTRkN2YtOTEzZS01NTNlMjRmODUyNGLZJGI4Y2ViMjMxLTg4ZGMtNDM5NC1iMTM0LTE5OTc0YjViMWZjM9kkOTMzZjIwMmUtMWRlMi00NTFlLTg5NGEtMmRmZTU0ZGFiODRk2SQ2NzE2OTkyMi1iYWI2LTQxYjMtYmM2ZC0zZThmOTI1YWU4MjjZJGJiZDMxNzRiLTNjM2MtNDlhYS04YjJhLWExZjdkOTQ4OWU2MLFwdWJsaXNoZWRfb2JqZWN0c4ClbmJwa2eKr2luc3RhbGxfdGltZV9uc8CsaW5zdGFudGlhdGVkw7JpbnN0YWxsZWRfdmVyc2lvbnODp1BsdXRvVUmmMC43LjYysEh5cGVydGV4dExpdGVyYWylMC45LjWxUGx1dG9Nb25hY29FZGl0b3KlMC4xLjawdGVybWluYWxfb3V0cHV0c4SqbmJwa2dfc3luY9oO2wobWzBtG1sxbUFkZGluZyBwYWNrYWdlcy4uLhtbMjJtChtbOTBtPT09G1szOW0KG1szMm0bWzFtICAgUmVzb2x2aW5nG1syMm0bWzM5bSBwYWNrYWdlIHZlcnNpb25zLi4uChtbMzJtG1sxbSAgICBVcGRhdGluZxtbMjJtG1szOW0gYC9wcml2YXRlL3Zhci9mb2xkZXJzL3k5L3hoOTRmdnBkMmhsNTB6czAyNGhoamwxODAwMDBnbi9UL2psX2RlSXRtRC9Qcm9qZWN0LnRvbWxgCiAgG1s5MG1bYWMxMTkyYThdIBtbMzltG1s5Mm0rIEh5cGVydGV4dExpdGVyYWwgdjAuOS41G1szOW0KICAbWzkwbVs1ZTk0M2VhZV0gG1szOW0bWzkybSsgUGx1dG9Nb25hY29FZGl0b3IgdjAuMS42G1szOW0KICAbWzkwbVs3ZjkwNGRmZV0gG1szOW0bWzkybSsgUGx1dG9VSSB2MC43LjYyG1szOW0KG1szMm0bWzFtICAgIFVwZGF0aW5nG1syMm0bWzM5bSBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMveTkveGg5NGZ2cGQyaGw1MHpzMDI0aGhqbDE4MDAwMGduL1QvamxfZGVJdG1EL01hbmlmZXN0LnRvbWxgCiAgG1s5MG1bNmU2OTZjNzJdIBtbMzltG1s5Mm0rIEFic3RyYWN0UGx1dG9EaW5nZXRqZXMgdjEuMy4yG1szOW0KG1szM23ijIUbWzM5bSAbWzkwbVszZGEwMDJmN10gG1szOW0bWzkybSsgQ29sb3JUeXBlcyB2MC4xMS41G1szOW0KICAbWzkwbVs1M2M0OGMxN10gG1szOW0bWzkybSsgRml4ZWRQb2ludE51bWJlcnMgdjAuOC41G1szOW0KICAbWzkwbVs0N2QyZWQyYl0gG1szOW0bWzkybSsgSHlwZXJzY3JpcHQgdjAuMC41G1szOW0KICAbWzkwbVthYzExOTJhOF0gG1szOW0bWzkybSsgSHlwZXJ0ZXh0TGl0ZXJhbCB2MC45LjUbWzM5bQogIBtbOTBtW2I1ZjgxZTU5XSAbWzM5bRtbOTJtKyBJT0NhcHR1cmUgdjAuMi41G1szOW0KICAbWzkwbVs2ODJjMDZhMF0gG1szOW0bWzkybSsgSlNPTiB2MC4yMS40G1szOW0KICAbWzkwbVs2YzZlMmU2Y10gG1szOW0bWzkybSsgTUlNRXMgdjEuMS4wG1szOW0KICAbWzkwbVs2OWRlMGE2OV0gG1szOW0bWzkybSsgUGFyc2VycyB2Mi44LjMbWzM5bQogIBtbOTBtWzVlOTQzZWFlXSAbWzM5bRtbOTJtKyBQbHV0b01vbmFjb0VkaXRvciB2MC4xLjYbWzM5bQogIBtbOTBtWzdmOTA0ZGZlXSAbWzM5bRtbOTJtKyBQbHV0b1VJIHYwLjcuNjIbWzM5bQobWzMzbeKMhRtbMzltIBtbOTBtW2FlYTdiZTAxXSAbWzM5bRtbOTJtKyBQcmVjb21waWxlVG9vbHMgdjEuMi4xG1szOW0KICAbWzkwbVsyMTIxNmM2YV0gG1szOW0bWzkybSsgUHJlZmVyZW5jZXMgdjEuNC4zG1szOW0KICAbWzkwbVsxODlhMzg2N10gG1szOW0bWzkybSsgUmVleHBvcnQgdjEuMi4yG1szOW0KICAbWzkwbVsxMDc0NWIxNl0gG1szOW0bWzkybSsgU3RhdGlzdGljcyB2MS4xMS4xG1szOW0KICAbWzkwbVs0MTBhNGI0ZF0gG1szOW0bWzkybSsgVHJpY2tzIHYwLjEuMTAbWzM5bQogIBtbOTBtWzVjMjc0N2Y4XSAbWzM5bRtbOTJtKyBVUklzIHYxLjUuMhtbMzltCiAgG1s5MG1bMGRhZDg0YzVdIBtbMzltG1s5Mm0rIEFyZ1Rvb2xzIHYxLjEuMhtbMzltCiAgG1s5MG1bNTZmMjJkNzJdIBtbMzltG1s5Mm0rIEFydGlmYWN0cyB2MS4xMS4wG1szOW0KICAbWzkwbVsyYTBmNDRlM10gG1szOW0bWzkybSsgQmFzZTY0IHYxLjExLjAbWzM5bQogIBtbOTBtW2FkZTJjYTcwXSAbWzM5bRtbOTJtKyBEYXRlcyB2MS4xMS4wG1szOW0KICAbWzkwbVtmNDNhMjQxZl0gG1szOW0bWzkybSsgRG93bmxvYWRzIHYxLjYuMBtbMzltCiAgG1s5MG1bN2IxZjYwNzldIBtbMzltG1s5Mm0rIEZpbGVXYXRjaGluZyB2MS4xMS4wG1szOW0KICAbWzkwbVtiNzdlMGE0Y10gG1szOW0bWzkybSsgSW50ZXJhY3RpdmVVdGlscyB2MS4xMS4wG1szOW0KICAbWzkwbVtiMjcwMzJjMl0gG1szOW0bWzkybSsgTGliQ1VSTCB2MC42LjQbWzM5bQogIBtbOTBtWzc2Zjg1NDUwXSAbWzM5bRtbOTJtKyBMaWJHaXQyIHYxLjExLjAbWzM5bQogIBtbOTBtWzhmMzk5ZGEzXSAbWzM5bRtbOTJtKyBMaWJkbCB2MS4xMS4wG1szOW0KICAbWzkwbVszN2UyZTQ2ZF0gG1szOW0bWzkybSsgTGluZWFyQWxnZWJyYSB2MS4xMS4wG1szOW0KICAbWzkwbVs1NmRkYjAxNl0gG1szOW0bWzkybSsgTG9nZ2luZyB2MS4xMS4wG1szOW0KICAbWzkwbVtkNmY0Mzc2ZV0gG1szOW0bWzkybSsgTWFya2Rvd24gdjEuMTEuMBtbMzltCiAgG1s5MG1bYTYzYWQxMTRdIBtbMzltG1s5Mm0rIE1tYXAgdjEuMTEuMBtbMzltCiAgG1s5MG1bY2E1NzU5MzBdIBtbMzltG1s5Mm0rIE5ldHdvcmtPcHRpb25zIHYxLjIuMBtbMzltCiAgG1s5MG1bNDRjZmU5NWFdIBtbMzltG1s5Mm0rIFBrZyB2MS4xMS4wG1szOW0KICAbWzkwbVtkZTA4NThkYV0gG1szOW0bWzkybSsgUHJpbnRmIHYxLjExLjAbWzM5bQogIBtbOTBtWzlhM2Y4Mjg0XSAbWzM5bRtbOTJtKyBSYW5kb20gdjEuMTEuMBtbMzltCiAgG1s5MG1bZWE4ZTkxOWNdIBtbMzltG1s5Mm0rIFNIQSB2MC43LjAbWzM5bQogIBtbOTBtWzllODhiNDJhXSAbWzM5bRtbOTJtKyBTZXJpYWxpemF0aW9uIHYxLjExLjAbWzM5bQogIBtbOTBtW2ZhMjY3ZjFmXSAbWzM5bRtbOTJtKyBUT01MIHYxLjAuMxtbMzltCiAgG1s5MG1bYTRlNTY5YTZdIBtbMzltG1s5Mm0rIFRhciB2MS4xMC4wG1szOW0KICAbWzkwbVs4ZGZlZDYxNF0gG1szOW0bWzkybSsgVGVzdCB2MS4xMS4wG1szOW0KICAbWzkwbVtjZjcxMThhN10gG1szOW0bWzkybSsgVVVJRHMgdjEuMTEuMBtbMzltCiAgG1s5MG1bNGVjMGE4M2VdIBtbMzltG1s5Mm0rIFVuaWNvZGUgdjEuMTEuMBtbMzltCiAgG1s5MG1bZTY2ZTAwNzhdIBtbMzltG1s5Mm0rIENvbXBpbGVyU3VwcG9ydExpYnJhcmllc19qbGwgdjEuMS4xKzAbWzM5bQogIBtbOTBtW2RlYWM5YjQ3XSAbWzM5bRtbOTJtKyBMaWJDVVJMX2psbCB2OC42LjArMBtbMzltCiAgG1s5MG1bZTM3ZGFmNjddIBtbMzltG1s5Mm0rIExpYkdpdDJfamxsIHYxLjcuMiswG1szOW0KICAbWzkwbVsyOTgxNmI1YV0gG1szOW0bWzkybSsgTGliU1NIMl9qbGwgdjEuMTEuMCsxG1szOW0KICAbWzkwbVtjOGZmZDljM10gG1szOW0bWzkybSsgTWJlZFRMU19qbGwgdjIuMjguNiswG1szOW0KICAbWzkwbVsxNGEzNjA2ZF0gG1szOW0bWzkybSsgTW96aWxsYUNBQ2VydHNfamxsIHYyMDIzLjEyLjEyG1szOW0KICAbWzkwbVs0NTM2NjI5YV0gG1szOW0bWzkybSsgT3BlbkJMQVNfamxsIHYwLjMuMjcrMRtbMzltCiAgG1s5MG1bODM3NzVhNThdIBtbMzltG1s5Mm0rIFpsaWJfamxsIHYxLjIuMTMrMRtbMzltCiAgG1s5MG1bOGU4NTBiOTBdIBtbMzltG1s5Mm0rIGxpYmJsYXN0cmFtcG9saW5lX2psbCB2NS4xMS4wKzAbWzM5bQogIBtbOTBtWzhlODUwZWRlXSAbWzM5bRtbOTJtKyBuZ2h0dHAyX2psbCB2MS41OS4wKzAbWzM5bQogIBtbOTBtWzNmMTllOTMzXSAbWzM5bRtbOTJtKyBwN3ppcF9qbGwgdjE3LjQuMCsyG1szOW0KG1szNm0bWzFtICAgICAgICBJbmZvG1syMm0bWzM5bSBQYWNrYWdlcyBtYXJrZWQgd2l0aCAbWzMzbeKMhRtbMzltIGhhdmUgbmV3IHZlcnNpb25zIGF2YWlsYWJsZSBidXQgY29tcGF0aWJpbGl0eSBjb25zdHJhaW50cyByZXN0cmljdCB0aGVtIGZyb20gdXBncmFkaW5nLiBUbyBzZWUgd2h5IHVzZSBgc3RhdHVzIC0tb3V0ZGF0ZWQgLW1gChtbMzJtG1sxbUxvYWRpbmcbWzIybRtbMzltIHBhY2thZ2VzLi4uCgobWzBtG1sxbUluc3RhbnRpYXRpbmcuLi4bWzIybQobWzkwbT09PRtbMzltCgobWzBtG1sxbVByZWNvbXBpbGluZy4uLhtbMjJtChtbOTBtPT09G1szOW0KG1szMm0bWzFtICBBY3RpdmF0aW5nG1syMm0bWzM5bSBwcm9qZWN0IGF0IGAvcHJpdmF0ZS92YXIvZm9sZGVycy95OS94aDk0ZnZwZDJobDUwenMwMjRoaGpsMTgwMDAwZ24vVC9qbF9kZUl0bURgp1BsdXRvVUnaDtsKG1swbRtbMW1BZGRpbmcgcGFja2FnZXMuLi4bWzIybQobWzkwbT09PRtbMzltChtbMzJtG1sxbSAgIFJlc29sdmluZxtbMjJtG1szOW0gcGFja2FnZSB2ZXJzaW9ucy4uLgobWzMybRtbMW0gICAgVXBkYXRpbmcbWzIybRtbMzltIGAvcHJpdmF0ZS92YXIvZm9sZGVycy95OS94aDk0ZnZwZDJobDUwenMwMjRoaGpsMTgwMDAwZ24vVC9qbF9kZUl0bUQvUHJvamVjdC50b21sYAogIBtbOTBtW2FjMTE5MmE4XSAbWzM5bRtbOTJtKyBIeXBlcnRleHRMaXRlcmFsIHYwLjkuNRtbMzltCiAgG1s5MG1bNWU5NDNlYWVdIBtbMzltG1s5Mm0rIFBsdXRvTW9uYWNvRWRpdG9yIHYwLjEuNhtbMzltCiAgG1s5MG1bN2Y5MDRkZmVdIBtbMzltG1s5Mm0rIFBsdXRvVUkgdjAuNy42MhtbMzltChtbMzJtG1sxbSAgICBVcGRhdGluZxtbMjJtG1szOW0gYC9wcml2YXRlL3Zhci9mb2xkZXJzL3k5L3hoOTRmdnBkMmhsNTB6czAyNGhoamwxODAwMDBnbi9UL2psX2RlSXRtRC9NYW5pZmVzdC50b21sYAogIBtbOTBtWzZlNjk2YzcyXSAbWzM5bRtbOTJtKyBBYnN0cmFjdFBsdXRvRGluZ2V0amVzIHYxLjMuMhtbMzltChtbMzNt4oyFG1szOW0gG1s5MG1bM2RhMDAyZjddIBtbMzltG1s5Mm0rIENvbG9yVHlwZXMgdjAuMTEuNRtbMzltCiAgG1s5MG1bNTNjNDhjMTddIBtbMzltG1s5Mm0rIEZpeGVkUG9pbnROdW1iZXJzIHYwLjguNRtbMzltCiAgG1s5MG1bNDdkMmVkMmJdIBtbMzltG1s5Mm0rIEh5cGVyc2NyaXB0IHYwLjAuNRtbMzltCiAgG1s5MG1bYWMxMTkyYThdIBtbMzltG1s5Mm0rIEh5cGVydGV4dExpdGVyYWwgdjAuOS41G1szOW0KICAbWzkwbVtiNWY4MWU1OV0gG1szOW0bWzkybSsgSU9DYXB0dXJlIHYwLjIuNRtbMzltCiAgG1s5MG1bNjgyYzA2YTBdIBtbMzltG1s5Mm0rIEpTT04gdjAuMjEuNBtbMzltCiAgG1s5MG1bNmM2ZTJlNmNdIBtbMzltG1s5Mm0rIE1JTUVzIHYxLjEuMBtbMzltCiAgG1s5MG1bNjlkZTBhNjldIBtbMzltG1s5Mm0rIFBhcnNlcnMgdjIuOC4zG1szOW0KICAbWzkwbVs1ZTk0M2VhZV0gG1szOW0bWzkybSsgUGx1dG9Nb25hY29FZGl0b3IgdjAuMS42G1szOW0KICAbWzkwbVs3ZjkwNGRmZV0gG1szOW0bWzkybSsgUGx1dG9VSSB2MC43LjYyG1szOW0KG1szM23ijIUbWzM5bSAbWzkwbVthZWE3YmUwMV0gG1szOW0bWzkybSsgUHJlY29tcGlsZVRvb2xzIHYxLjIuMRtbMzltCiAgG1s5MG1bMjEyMTZjNmFdIBtbMzltG1s5Mm0rIFByZWZlcmVuY2VzIHYxLjQuMxtbMzltCiAgG1s5MG1bMTg5YTM4NjddIBtbMzltG1s5Mm0rIFJlZXhwb3J0IHYxLjIuMhtbMzltCiAgG1s5MG1bMTA3NDViMTZdIBtbMzltG1s5Mm0rIFN0YXRpc3RpY3MgdjEuMTEuMRtbMzltCiAgG1s5MG1bNDEwYTRiNGRdIBtbMzltG1s5Mm0rIFRyaWNrcyB2MC4xLjEwG1szOW0KICAbWzkwbVs1YzI3NDdmOF0gG1szOW0bWzkybSsgVVJJcyB2MS41LjIbWzM5bQogIBtbOTBtWzBkYWQ4NGM1XSAbWzM5bRtbOTJtKyBBcmdUb29scyB2MS4xLjIbWzM5bQogIBtbOTBtWzU2ZjIyZDcyXSAbWzM5bRtbOTJtKyBBcnRpZmFjdHMgdjEuMTEuMBtbMzltCiAgG1s5MG1bMmEwZjQ0ZTNdIBtbMzltG1s5Mm0rIEJhc2U2NCB2MS4xMS4wG1szOW0KICAbWzkwbVthZGUyY2E3MF0gG1szOW0bWzkybSsgRGF0ZXMgdjEuMTEuMBtbMzltCiAgG1s5MG1bZjQzYTI0MWZdIBtbMzltG1s5Mm0rIERvd25sb2FkcyB2MS42LjAbWzM5bQogIBtbOTBtWzdiMWY2MDc5XSAbWzM5bRtbOTJtKyBGaWxlV2F0Y2hpbmcgdjEuMTEuMBtbMzltCiAgG1s5MG1bYjc3ZTBhNGNdIBtbMzltG1s5Mm0rIEludGVyYWN0aXZlVXRpbHMgdjEuMTEuMBtbMzltCiAgG1s5MG1bYjI3MDMyYzJdIBtbMzltG1s5Mm0rIExpYkNVUkwgdjAuNi40G1szOW0KICAbWzkwbVs3NmY4NTQ1MF0gG1szOW0bWzkybSsgTGliR2l0MiB2MS4xMS4wG1szOW0KICAbWzkwbVs4ZjM5OWRhM10gG1szOW0bWzkybSsgTGliZGwgdjEuMTEuMBtbMzltCiAgG1s5MG1bMzdlMmU0NmRdIBtbMzltG1s5Mm0rIExpbmVhckFsZ2VicmEgdjEuMTEuMBtbMzltCiAgG1s5MG1bNTZkZGIwMTZdIBtbMzltG1s5Mm0rIExvZ2dpbmcgdjEuMTEuMBtbMzltCiAgG1s5MG1bZDZmNDM3NmVdIBtbMzltG1s5Mm0rIE1hcmtkb3duIHYxLjExLjAbWzM5bQogIBtbOTBtW2E2M2FkMTE0XSAbWzM5bRtbOTJtKyBNbWFwIHYxLjExLjAbWzM5bQogIBtbOTBtW2NhNTc1OTMwXSAbWzM5bRtbOTJtKyBOZXR3b3JrT3B0aW9ucyB2MS4yLjAbWzM5bQogIBtbOTBtWzQ0Y2ZlOTVhXSAbWzM5bRtbOTJtKyBQa2cgdjEuMTEuMBtbMzltCiAgG1s5MG1bZGUwODU4ZGFdIBtbMzltG1s5Mm0rIFByaW50ZiB2MS4xMS4wG1szOW0KICAbWzkwbVs5YTNmODI4NF0gG1szOW0bWzkybSsgUmFuZG9tIHYxLjExLjAbWzM5bQogIBtbOTBtW2VhOGU5MTljXSAbWzM5bRtbOTJtKyBTSEEgdjAuNy4wG1szOW0KICAbWzkwbVs5ZTg4YjQyYV0gG1szOW0bWzkybSsgU2VyaWFsaXphdGlvbiB2MS4xMS4wG1szOW0KICAbWzkwbVtmYTI2N2YxZl0gG1szOW0bWzkybSsgVE9NTCB2MS4wLjMbWzM5bQogIBtbOTBtW2E0ZTU2OWE2XSAbWzM5bRtbOTJtKyBUYXIgdjEuMTAuMBtbMzltCiAgG1s5MG1bOGRmZWQ2MTRdIBtbMzltG1s5Mm0rIFRlc3QgdjEuMTEuMBtbMzltCiAgG1s5MG1bY2Y3MTE4YTddIBtbMzltG1s5Mm0rIFVVSURzIHYxLjExLjAbWzM5bQogIBtbOTBtWzRlYzBhODNlXSAbWzM5bRtbOTJtKyBVbmljb2RlIHYxLjExLjAbWzM5bQogIBtbOTBtW2U2NmUwMDc4XSAbWzM5bRtbOTJtKyBDb21waWxlclN1cHBvcnRMaWJyYXJpZXNfamxsIHYxLjEuMSswG1szOW0KICAbWzkwbVtkZWFjOWI0N10gG1szOW0bWzkybSsgTGliQ1VSTF9qbGwgdjguNi4wKzAbWzM5bQogIBtbOTBtW2UzN2RhZjY3XSAbWzM5bRtbOTJtKyBMaWJHaXQyX2psbCB2MS43LjIrMBtbMzltCiAgG1s5MG1bMjk4MTZiNWFdIBtbMzltG1s5Mm0rIExpYlNTSDJfamxsIHYxLjExLjArMRtbMzltCiAgG1s5MG1bYzhmZmQ5YzNdIBtbMzltG1s5Mm0rIE1iZWRUTFNfamxsIHYyLjI4LjYrMBtbMzltCiAgG1s5MG1bMTRhMzYwNmRdIBtbMzltG1s5Mm0rIE1vemlsbGFDQUNlcnRzX2psbCB2MjAyMy4xMi4xMhtbMzltCiAgG1s5MG1bNDUzNjYyOWFdIBtbMzltG1s5Mm0rIE9wZW5CTEFTX2psbCB2MC4zLjI3KzEbWzM5bQogIBtbOTBtWzgzNzc1YTU4XSAbWzM5bRtbOTJtKyBabGliX2psbCB2MS4yLjEzKzEbWzM5bQogIBtbOTBtWzhlODUwYjkwXSAbWzM5bRtbOTJtKyBsaWJibGFzdHJhbXBvbGluZV9qbGwgdjUuMTEuMCswG1szOW0KICAbWzkwbVs4ZTg1MGVkZV0gG1szOW0bWzkybSsgbmdodHRwMl9qbGwgdjEuNTkuMCswG1szOW0KICAbWzkwbVszZjE5ZTkzM10gG1szOW0bWzkybSsgcDd6aXBfamxsIHYxNy40LjArMhtbMzltChtbMzZtG1sxbSAgICAgICAgSW5mbxtbMjJtG1szOW0gUGFja2FnZXMgbWFya2VkIHdpdGggG1szM23ijIUbWzM5bSBoYXZlIG5ldyB2ZXJzaW9ucyBhdmFpbGFibGUgYnV0IGNvbXBhdGliaWxpdHkgY29uc3RyYWludHMgcmVzdHJpY3QgdGhlbSBmcm9tIHVwZ3JhZGluZy4gVG8gc2VlIHdoeSB1c2UgYHN0YXR1cyAtLW91dGRhdGVkIC1tYAobWzMybRtbMW1Mb2FkaW5nG1syMm0bWzM5bSBwYWNrYWdlcy4uLgoKG1swbRtbMW1JbnN0YW50aWF0aW5nLi4uG1syMm0KG1s5MG09PT0bWzM5bQoKG1swbRtbMW1QcmVjb21waWxpbmcuLi4bWzIybQobWzkwbT09PRtbMzltChtbMzJtG1sxbSAgQWN0aXZhdGluZxtbMjJtG1szOW0gcHJvamVjdCBhdCBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMveTkveGg5NGZ2cGQyaGw1MHpzMDI0aGhqbDE4MDAwMGduL1QvamxfZGVJdG1EYLBIeXBlcnRleHRMaXRlcmFs2g7bChtbMG0bWzFtQWRkaW5nIHBhY2thZ2VzLi4uG1syMm0KG1s5MG09PT0bWzM5bQobWzMybRtbMW0gICBSZXNvbHZpbmcbWzIybRtbMzltIHBhY2thZ2UgdmVyc2lvbnMuLi4KG1szMm0bWzFtICAgIFVwZGF0aW5nG1syMm0bWzM5bSBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMveTkveGg5NGZ2cGQyaGw1MHpzMDI0aGhqbDE4MDAwMGduL1QvamxfZGVJdG1EL1Byb2plY3QudG9tbGAKICAbWzkwbVthYzExOTJhOF0gG1szOW0bWzkybSsgSHlwZXJ0ZXh0TGl0ZXJhbCB2MC45LjUbWzM5bQogIBtbOTBtWzVlOTQzZWFlXSAbWzM5bRtbOTJtKyBQbHV0b01vbmFjb0VkaXRvciB2MC4xLjYbWzM5bQogIBtbOTBtWzdmOTA0ZGZlXSAbWzM5bRtbOTJtKyBQbHV0b1VJIHYwLjcuNjIbWzM5bQobWzMybRtbMW0gICAgVXBkYXRpbmcbWzIybRtbMzltIGAvcHJpdmF0ZS92YXIvZm9sZGVycy95OS94aDk0ZnZwZDJobDUwenMwMjRoaGpsMTgwMDAwZ24vVC9qbF9kZUl0bUQvTWFuaWZlc3QudG9tbGAKICAbWzkwbVs2ZTY5NmM3Ml0gG1szOW0bWzkybSsgQWJzdHJhY3RQbHV0b0RpbmdldGplcyB2MS4zLjIbWzM5bQobWzMzbeKMhRtbMzltIBtbOTBtWzNkYTAwMmY3XSAbWzM5bRtbOTJtKyBDb2xvclR5cGVzIHYwLjExLjUbWzM5bQogIBtbOTBtWzUzYzQ4YzE3XSAbWzM5bRtbOTJtKyBGaXhlZFBvaW50TnVtYmVycyB2MC44LjUbWzM5bQogIBtbOTBtWzQ3ZDJlZDJiXSAbWzM5bRtbOTJtKyBIeXBlcnNjcmlwdCB2MC4wLjUbWzM5bQogIBtbOTBtW2FjMTE5MmE4XSAbWzM5bRtbOTJtKyBIeXBlcnRleHRMaXRlcmFsIHYwLjkuNRtbMzltCiAgG1s5MG1bYjVmODFlNTldIBtbMzltG1s5Mm0rIElPQ2FwdHVyZSB2MC4yLjUbWzM5bQogIBtbOTBtWzY4MmMwNmEwXSAbWzM5bRtbOTJtKyBKU09OIHYwLjIxLjQbWzM5bQogIBtbOTBtWzZjNmUyZTZjXSAbWzM5bRtbOTJtKyBNSU1FcyB2MS4xLjAbWzM5bQogIBtbOTBtWzY5ZGUwYTY5XSAbWzM5bRtbOTJtKyBQYXJzZXJzIHYyLjguMxtbMzltCiAgG1s5MG1bNWU5NDNlYWVdIBtbMzltG1s5Mm0rIFBsdXRvTW9uYWNvRWRpdG9yIHYwLjEuNhtbMzltCiAgG1s5MG1bN2Y5MDRkZmVdIBtbMzltG1s5Mm0rIFBsdXRvVUkgdjAuNy42MhtbMzltChtbMzNt4oyFG1szOW0gG1s5MG1bYWVhN2JlMDFdIBtbMzltG1s5Mm0rIFByZWNvbXBpbGVUb29scyB2MS4yLjEbWzM5bQogIBtbOTBtWzIxMjE2YzZhXSAbWzM5bRtbOTJtKyBQcmVmZXJlbmNlcyB2MS40LjMbWzM5bQogIBtbOTBtWzE4OWEzODY3XSAbWzM5bRtbOTJtKyBSZWV4cG9ydCB2MS4yLjIbWzM5bQogIBtbOTBtWzEwNzQ1YjE2XSAbWzM5bRtbOTJtKyBTdGF0aXN0aWNzIHYxLjExLjEbWzM5bQogIBtbOTBtWzQxMGE0YjRkXSAbWzM5bRtbOTJtKyBUcmlja3MgdjAuMS4xMBtbMzltCiAgG1s5MG1bNWMyNzQ3ZjhdIBtbMzltG1s5Mm0rIFVSSXMgdjEuNS4yG1szOW0KICAbWzkwbVswZGFkODRjNV0gG1szOW0bWzkybSsgQXJnVG9vbHMgdjEuMS4yG1szOW0KICAbWzkwbVs1NmYyMmQ3Ml0gG1szOW0bWzkybSsgQXJ0aWZhY3RzIHYxLjExLjAbWzM5bQogIBtbOTBtWzJhMGY0NGUzXSAbWzM5bRtbOTJtKyBCYXNlNjQgdjEuMTEuMBtbMzltCiAgG1s5MG1bYWRlMmNhNzBdIBtbMzltG1s5Mm0rIERhdGVzIHYxLjExLjAbWzM5bQogIBtbOTBtW2Y0M2EyNDFmXSAbWzM5bRtbOTJtKyBEb3dubG9hZHMgdjEuNi4wG1szOW0KICAbWzkwbVs3YjFmNjA3OV0gG1szOW0bWzkybSsgRmlsZVdhdGNoaW5nIHYxLjExLjAbWzM5bQogIBtbOTBtW2I3N2UwYTRjXSAbWzM5bRtbOTJtKyBJbnRlcmFjdGl2ZVV0aWxzIHYxLjExLjAbWzM5bQogIBtbOTBtW2IyNzAzMmMyXSAbWzM5bRtbOTJtKyBMaWJDVVJMIHYwLjYuNBtbMzltCiAgG1s5MG1bNzZmODU0NTBdIBtbMzltG1s5Mm0rIExpYkdpdDIgdjEuMTEuMBtbMzltCiAgG1s5MG1bOGYzOTlkYTNdIBtbMzltG1s5Mm0rIExpYmRsIHYxLjExLjAbWzM5bQogIBtbOTBtWzM3ZTJlNDZkXSAbWzM5bRtbOTJtKyBMaW5lYXJBbGdlYnJhIHYxLjExLjAbWzM5bQogIBtbOTBtWzU2ZGRiMDE2XSAbWzM5bRtbOTJtKyBMb2dnaW5nIHYxLjExLjAbWzM5bQogIBtbOTBtW2Q2ZjQzNzZlXSAbWzM5bRtbOTJtKyBNYXJrZG93biB2MS4xMS4wG1szOW0KICAbWzkwbVthNjNhZDExNF0gG1szOW0bWzkybSsgTW1hcCB2MS4xMS4wG1szOW0KICAbWzkwbVtjYTU3NTkzMF0gG1szOW0bWzkybSsgTmV0d29ya09wdGlvbnMgdjEuMi4wG1szOW0KICAbWzkwbVs0NGNmZTk1YV0gG1szOW0bWzkybSsgUGtnIHYxLjExLjAbWzM5bQogIBtbOTBtW2RlMDg1OGRhXSAbWzM5bRtbOTJtKyBQcmludGYgdjEuMTEuMBtbMzltCiAgG1s5MG1bOWEzZjgyODRdIBtbMzltG1s5Mm0rIFJhbmRvbSB2MS4xMS4wG1szOW0KICAbWzkwbVtlYThlOTE5Y10gG1szOW0bWzkybSsgU0hBIHYwLjcuMBtbMzltCiAgG1s5MG1bOWU4OGI0MmFdIBtbMzltG1s5Mm0rIFNlcmlhbGl6YXRpb24gdjEuMTEuMBtbMzltCiAgG1s5MG1bZmEyNjdmMWZdIBtbMzltG1s5Mm0rIFRPTUwgdjEuMC4zG1szOW0KICAbWzkwbVthNGU1NjlhNl0gG1szOW0bWzkybSsgVGFyIHYxLjEwLjAbWzM5bQogIBtbOTBtWzhkZmVkNjE0XSAbWzM5bRtbOTJtKyBUZXN0IHYxLjExLjAbWzM5bQogIBtbOTBtW2NmNzExOGE3XSAbWzM5bRtbOTJtKyBVVUlEcyB2MS4xMS4wG1szOW0KICAbWzkwbVs0ZWMwYTgzZV0gG1szOW0bWzkybSsgVW5pY29kZSB2MS4xMS4wG1szOW0KICAbWzkwbVtlNjZlMDA3OF0gG1szOW0bWzkybSsgQ29tcGlsZXJTdXBwb3J0TGlicmFyaWVzX2psbCB2MS4xLjErMBtbMzltCiAgG1s5MG1bZGVhYzliNDddIBtbMzltG1s5Mm0rIExpYkNVUkxfamxsIHY4LjYuMCswG1szOW0KICAbWzkwbVtlMzdkYWY2N10gG1szOW0bWzkybSsgTGliR2l0Ml9qbGwgdjEuNy4yKzAbWzM5bQogIBtbOTBtWzI5ODE2YjVhXSAbWzM5bRtbOTJtKyBMaWJTU0gyX2psbCB2MS4xMS4wKzEbWzM5bQogIBtbOTBtW2M4ZmZkOWMzXSAbWzM5bRtbOTJtKyBNYmVkVExTX2psbCB2Mi4yOC42KzAbWzM5bQogIBtbOTBtWzE0YTM2MDZkXSAbWzM5bRtbOTJtKyBNb3ppbGxhQ0FDZXJ0c19qbGwgdjIwMjMuMTIuMTIbWzM5bQogIBtbOTBtWzQ1MzY2MjlhXSAbWzM5bRtbOTJtKyBPcGVuQkxBU19qbGwgdjAuMy4yNysxG1szOW0KICAbWzkwbVs4Mzc3NWE1OF0gG1szOW0bWzkybSsgWmxpYl9qbGwgdjEuMi4xMysxG1szOW0KICAbWzkwbVs4ZTg1MGI5MF0gG1szOW0bWzkybSsgbGliYmxhc3RyYW1wb2xpbmVfamxsIHY1LjExLjArMBtbMzltCiAgG1s5MG1bOGU4NTBlZGVdIBtbMzltG1s5Mm0rIG5naHR0cDJfamxsIHYxLjU5LjArMBtbMzltCiAgG1s5MG1bM2YxOWU5MzNdIBtbMzltG1s5Mm0rIHA3emlwX2psbCB2MTcuNC4wKzIbWzM5bQobWzM2bRtbMW0gICAgICAgIEluZm8bWzIybRtbMzltIFBhY2thZ2VzIG1hcmtlZCB3aXRoIBtbMzNt4oyFG1szOW0gaGF2ZSBuZXcgdmVyc2lvbnMgYXZhaWxhYmxlIGJ1dCBjb21wYXRpYmlsaXR5IGNvbnN0cmFpbnRzIHJlc3RyaWN0IHRoZW0gZnJvbSB1cGdyYWRpbmcuIFRvIHNlZSB3aHkgdXNlIGBzdGF0dXMgLS1vdXRkYXRlZCAtbWAKG1szMm0bWzFtTG9hZGluZxtbMjJtG1szOW0gcGFja2FnZXMuLi4KChtbMG0bWzFtSW5zdGFudGlhdGluZy4uLhtbMjJtChtbOTBtPT09G1szOW0KChtbMG0bWzFtUHJlY29tcGlsaW5nLi4uG1syMm0KG1s5MG09PT0bWzM5bQobWzMybRtbMW0gIEFjdGl2YXRpbmcbWzIybRtbMzltIHByb2plY3QgYXQgYC9wcml2YXRlL3Zhci9mb2xkZXJzL3k5L3hoOTRmdnBkMmhsNTB6czAyNGhoamwxODAwMDBnbi9UL2psX2RlSXRtRGCxUGx1dG9Nb25hY29FZGl0b3LaDtsKG1swbRtbMW1BZGRpbmcgcGFja2FnZXMuLi4bWzIybQobWzkwbT09PRtbMzltChtbMzJtG1sxbSAgIFJlc29sdmluZxtbMjJtG1szOW0gcGFja2FnZSB2ZXJzaW9ucy4uLgobWzMybRtbMW0gICAgVXBkYXRpbmcbWzIybRtbMzltIGAvcHJpdmF0ZS92YXIvZm9sZGVycy95OS94aDk0ZnZwZDJobDUwenMwMjRoaGpsMTgwMDAwZ24vVC9qbF9kZUl0bUQvUHJvamVjdC50b21sYAogIBtbOTBtW2FjMTE5MmE4XSAbWzM5bRtbOTJtKyBIeXBlcnRleHRMaXRlcmFsIHYwLjkuNRtbMzltCiAgG1s5MG1bNWU5NDNlYWVdIBtbMzltG1s5Mm0rIFBsdXRvTW9uYWNvRWRpdG9yIHYwLjEuNhtbMzltCiAgG1s5MG1bN2Y5MDRkZmVdIBtbMzltG1s5Mm0rIFBsdXRvVUkgdjAuNy42MhtbMzltChtbMzJtG1sxbSAgICBVcGRhdGluZxtbMjJtG1szOW0gYC9wcml2YXRlL3Zhci9mb2xkZXJzL3k5L3hoOTRmdnBkMmhsNTB6czAyNGhoamwxODAwMDBnbi9UL2psX2RlSXRtRC9NYW5pZmVzdC50b21sYAogIBtbOTBtWzZlNjk2YzcyXSAbWzM5bRtbOTJtKyBBYnN0cmFjdFBsdXRvRGluZ2V0amVzIHYxLjMuMhtbMzltChtbMzNt4oyFG1szOW0gG1s5MG1bM2RhMDAyZjddIBtbMzltG1s5Mm0rIENvbG9yVHlwZXMgdjAuMTEuNRtbMzltCiAgG1s5MG1bNTNjNDhjMTddIBtbMzltG1s5Mm0rIEZpeGVkUG9pbnROdW1iZXJzIHYwLjguNRtbMzltCiAgG1s5MG1bNDdkMmVkMmJdIBtbMzltG1s5Mm0rIEh5cGVyc2NyaXB0IHYwLjAuNRtbMzltCiAgG1s5MG1bYWMxMTkyYThdIBtbMzltG1s5Mm0rIEh5cGVydGV4dExpdGVyYWwgdjAuOS41G1szOW0KICAbWzkwbVtiNWY4MWU1OV0gG1szOW0bWzkybSsgSU9DYXB0dXJlIHYwLjIuNRtbMzltCiAgG1s5MG1bNjgyYzA2YTBdIBtbMzltG1s5Mm0rIEpTT04gdjAuMjEuNBtbMzltCiAgG1s5MG1bNmM2ZTJlNmNdIBtbMzltG1s5Mm0rIE1JTUVzIHYxLjEuMBtbMzltCiAgG1s5MG1bNjlkZTBhNjldIBtbMzltG1s5Mm0rIFBhcnNlcnMgdjIuOC4zG1szOW0KICAbWzkwbVs1ZTk0M2VhZV0gG1szOW0bWzkybSsgUGx1dG9Nb25hY29FZGl0b3IgdjAuMS42G1szOW0KICAbWzkwbVs3ZjkwNGRmZV0gG1szOW0bWzkybSsgUGx1dG9VSSB2MC43LjYyG1szOW0KG1szM23ijIUbWzM5bSAbWzkwbVthZWE3YmUwMV0gG1szOW0bWzkybSsgUHJlY29tcGlsZVRvb2xzIHYxLjIuMRtbMzltCiAgG1s5MG1bMjEyMTZjNmFdIBtbMzltG1s5Mm0rIFByZWZlcmVuY2VzIHYxLjQuMxtbMzltCiAgG1s5MG1bMTg5YTM4NjddIBtbMzltG1s5Mm0rIFJlZXhwb3J0IHYxLjIuMhtbMzltCiAgG1s5MG1bMTA3NDViMTZdIBtbMzltG1s5Mm0rIFN0YXRpc3RpY3MgdjEuMTEuMRtbMzltCiAgG1s5MG1bNDEwYTRiNGRdIBtbMzltG1s5Mm0rIFRyaWNrcyB2MC4xLjEwG1szOW0KICAbWzkwbVs1YzI3NDdmOF0gG1szOW0bWzkybSsgVVJJcyB2MS41LjIbWzM5bQogIBtbOTBtWzBkYWQ4NGM1XSAbWzM5bRtbOTJtKyBBcmdUb29scyB2MS4xLjIbWzM5bQogIBtbOTBtWzU2ZjIyZDcyXSAbWzM5bRtbOTJtKyBBcnRpZmFjdHMgdjEuMTEuMBtbMzltCiAgG1s5MG1bMmEwZjQ0ZTNdIBtbMzltG1s5Mm0rIEJhc2U2NCB2MS4xMS4wG1szOW0KICAbWzkwbVthZGUyY2E3MF0gG1szOW0bWzkybSsgRGF0ZXMgdjEuMTEuMBtbMzltCiAgG1s5MG1bZjQzYTI0MWZdIBtbMzltG1s5Mm0rIERvd25sb2FkcyB2MS42LjAbWzM5bQogIBtbOTBtWzdiMWY2MDc5XSAbWzM5bRtbOTJtKyBGaWxlV2F0Y2hpbmcgdjEuMTEuMBtbMzltCiAgG1s5MG1bYjc3ZTBhNGNdIBtbMzltG1s5Mm0rIEludGVyYWN0aXZlVXRpbHMgdjEuMTEuMBtbMzltCiAgG1s5MG1bYjI3MDMyYzJdIBtbMzltG1s5Mm0rIExpYkNVUkwgdjAuNi40G1szOW0KICAbWzkwbVs3NmY4NTQ1MF0gG1szOW0bWzkybSsgTGliR2l0MiB2MS4xMS4wG1szOW0KICAbWzkwbVs4ZjM5OWRhM10gG1szOW0bWzkybSsgTGliZGwgdjEuMTEuMBtbMzltCiAgG1s5MG1bMzdlMmU0NmRdIBtbMzltG1s5Mm0rIExpbmVhckFsZ2VicmEgdjEuMTEuMBtbMzltCiAgG1s5MG1bNTZkZGIwMTZdIBtbMzltG1s5Mm0rIExvZ2dpbmcgdjEuMTEuMBtbMzltCiAgG1s5MG1bZDZmNDM3NmVdIBtbMzltG1s5Mm0rIE1hcmtkb3duIHYxLjExLjAbWzM5bQogIBtbOTBtW2E2M2FkMTE0XSAbWzM5bRtbOTJtKyBNbWFwIHYxLjExLjAbWzM5bQogIBtbOTBtW2NhNTc1OTMwXSAbWzM5bRtbOTJtKyBOZXR3b3JrT3B0aW9ucyB2MS4yLjAbWzM5bQogIBtbOTBtWzQ0Y2ZlOTVhXSAbWzM5bRtbOTJtKyBQa2cgdjEuMTEuMBtbMzltCiAgG1s5MG1bZGUwODU4ZGFdIBtbMzltG1s5Mm0rIFByaW50ZiB2MS4xMS4wG1szOW0KICAbWzkwbVs5YTNmODI4NF0gG1szOW0bWzkybSsgUmFuZG9tIHYxLjExLjAbWzM5bQogIBtbOTBtW2VhOGU5MTljXSAbWzM5bRtbOTJtKyBTSEEgdjAuNy4wG1szOW0KICAbWzkwbVs5ZTg4YjQyYV0gG1szOW0bWzkybSsgU2VyaWFsaXphdGlvbiB2MS4xMS4wG1szOW0KICAbWzkwbVtmYTI2N2YxZl0gG1szOW0bWzkybSsgVE9NTCB2MS4wLjMbWzM5bQogIBtbOTBtW2E0ZTU2OWE2XSAbWzM5bRtbOTJtKyBUYXIgdjEuMTAuMBtbMzltCiAgG1s5MG1bOGRmZWQ2MTRdIBtbMzltG1s5Mm0rIFRlc3QgdjEuMTEuMBtbMzltCiAgG1s5MG1bY2Y3MTE4YTddIBtbMzltG1s5Mm0rIFVVSURzIHYxLjExLjAbWzM5bQogIBtbOTBtWzRlYzBhODNlXSAbWzM5bRtbOTJtKyBVbmljb2RlIHYxLjExLjAbWzM5bQogIBtbOTBtW2U2NmUwMDc4XSAbWzM5bRtbOTJtKyBDb21waWxlclN1cHBvcnRMaWJyYXJpZXNfamxsIHYxLjEuMSswG1szOW0KICAbWzkwbVtkZWFjOWI0N10gG1szOW0bWzkybSsgTGliQ1VSTF9qbGwgdjguNi4wKzAbWzM5bQogIBtbOTBtW2UzN2RhZjY3XSAbWzM5bRtbOTJtKyBMaWJHaXQyX2psbCB2MS43LjIrMBtbMzltCiAgG1s5MG1bMjk4MTZiNWFdIBtbMzltG1s5Mm0rIExpYlNTSDJfamxsIHYxLjExLjArMRtbMzltCiAgG1s5MG1bYzhmZmQ5YzNdIBtbMzltG1s5Mm0rIE1iZWRUTFNfamxsIHYyLjI4LjYrMBtbMzltCiAgG1s5MG1bMTRhMzYwNmRdIBtbMzltG1s5Mm0rIE1vemlsbGFDQUNlcnRzX2psbCB2MjAyMy4xMi4xMhtbMzltCiAgG1s5MG1bNDUzNjYyOWFdIBtbMzltG1s5Mm0rIE9wZW5CTEFTX2psbCB2MC4zLjI3KzEbWzM5bQogIBtbOTBtWzgzNzc1YTU4XSAbWzM5bRtbOTJtKyBabGliX2psbCB2MS4yLjEzKzEbWzM5bQogIBtbOTBtWzhlODUwYjkwXSAbWzM5bRtbOTJtKyBsaWJibGFzdHJhbXBvbGluZV9qbGwgdjUuMTEuMCswG1szOW0KICAbWzkwbVs4ZTg1MGVkZV0gG1szOW0bWzkybSsgbmdodHRwMl9qbGwgdjEuNTkuMCswG1szOW0KICAbWzkwbVszZjE5ZTkzM10gG1szOW0bWzkybSsgcDd6aXBfamxsIHYxNy40LjArMhtbMzltChtbMzZtG1sxbSAgICAgICAgSW5mbxtbMjJtG1szOW0gUGFja2FnZXMgbWFya2VkIHdpdGggG1szM23ijIUbWzM5bSBoYXZlIG5ldyB2ZXJzaW9ucyBhdmFpbGFibGUgYnV0IGNvbXBhdGliaWxpdHkgY29uc3RyYWludHMgcmVzdHJpY3QgdGhlbSBmcm9tIHVwZ3JhZGluZy4gVG8gc2VlIHdoeSB1c2UgYHN0YXR1cyAtLW91dGRhdGVkIC1tYAobWzMybRtbMW1Mb2FkaW5nG1syMm0bWzM5bSBwYWNrYWdlcy4uLgoKG1swbRtbMW1JbnN0YW50aWF0aW5nLi4uG1syMm0KG1s5MG09PT0bWzM5bQoKG1swbRtbMW1QcmVjb21waWxpbmcuLi4bWzIybQobWzkwbT09PRtbMzltChtbMzJtG1sxbSAgQWN0aXZhdGluZxtbMjJtG1szOW0gcHJvamVjdCBhdCBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMveTkveGg5NGZ2cGQyaGw1MHpzMDI0aGhqbDE4MDAwMGduL1QvamxfZGVJdG1EYKdlbmFibGVkw7dyZXN0YXJ0X3JlY29tbWVuZGVkX21zZ8C0cmVzdGFydF9yZXF1aXJlZF9tc2fArWJ1c3lfcGFja2FnZXOQtndhaXRpbmdfZm9yX3Blcm1pc3Npb27C2Sx3YWl0aW5nX2Zvcl9wZXJtaXNzaW9uX2J1dF9wcm9iYWJseV9kaXNhYmxlZMKrY2VsbF9pbnB1dHOJ2SQ5MzNmMjAyZS0xZGUyLTQ1MWUtODk0YS0yZGZlNTRkYWI4NGSEp2NlbGxfaWTZJDkzM2YyMDJlLTFkZTItNDUxZS04OTRhLTJkZmU1NGRhYjg0ZKRjb2Rl2gE7YmVnaW4KCWluaXRfamF2YXNjcmlwdF9maWxlID0gIiIiCi8vIENoYW5nZSB0aGUgaGVhZGluZyB0ZXh0IHRvICJIZWxsbyBXb3JsZCBmcm9tIEphdmFTY3JpcHQhIgoKLy8gdXBkYXRlIG1lCm15VGV4dENvbnRlbnQgPSAiSGVsbG8gV29ybGQgZnJvbSBKYXZhU2NyaXB0IjsKZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhlbGxvIikKCQkudGV4dENvbnRlbnQgPSBteVRleHRDb250ZW50OwoKIiIiCglAYmluZCBqYXZhc2NyaXB0X3NvdXJjZSBNb25hY29FZGl0b3IoImphdmFzY3JpcHQiLCBpbml0X2phdmFzY3JpcHRfZmlsZSwgaGVpZ2h0PTE1MCkKZW5kqG1ldGFkYXRhg6lzaG93X2xvZ3PDqGRpc2FibGVkwq5za2lwX2FzX3NjcmlwdMKrY29kZV9mb2xkZWTD2SQ1NDkxNmIwMC03MjUzLTRkN2YtOTEzZS01NTNlMjRmODUyNGKEp2NlbGxfaWTZJDU0OTE2YjAwLTcyNTMtNGQ3Zi05MTNlLTU1M2UyNGY4NTI0YqRjb2Rl2atiZWdpbgoJaW5pdF9zdHlsZV9jc3MgPSAiIiIKLyogU3R5bGUgdGhlIGhlYWRpbmcgdG8gYXBwZWFyIGluIGdyZWVuICovCiNoZWxsbyB7CiAgY29sb3I6IGdyZWVuOwp9CiIiIgoJQGJpbmQgY3NzX3NvdXJjZSBNb25hY29FZGl0b3IoImNzcyIsIGluaXRfc3R5bGVfY3NzLCBoZWlnaHQ9MTIwKQplbmSobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMLZJDlkNmJkNTY5LTg4MzEtNDU4Ni1iOTM1LTBiMTkxODk0NDY5M4SnY2VsbF9pZNkkOWQ2YmQ1NjktODgzMS00NTg2LWI5MzUtMGIxOTE4OTQ0NjkzpGNvZGW3bWQiIiIKIyMgQ1NTIGVkaXRvcgoiIiKobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMPZJDAwZjg2MTg5LTdhOGEtNDA0Zi1iMzUwLTVmNDIzZWNhNmZlNYSnY2VsbF9pZNkkMDBmODYxODktN2E4YS00MDRmLWIzNTAtNWY0MjNlY2E2ZmU1pGNvZGXZTm1kIiIiCiMgQ1NTIGFuZCBKYXZhU2NyaXB0IGVkaXRvciBvbiBQbHV0byBOb3RlYm9vayB3aXRoIFBsdXRvTW9uYWNvRWRpdG9yCiIiIqhtZXRhZGF0YYOpc2hvd19sb2dzw6hkaXNhYmxlZMKuc2tpcF9hc19zY3JpcHTCq2NvZGVfZm9sZGVkw9kkYmJkMzE3NGItM2MzYy00OWFhLThiMmEtYTFmN2Q5NDg5ZTYwhKdjZWxsX2lk2SRiYmQzMTc0Yi0zYzNjLTQ5YWEtOGIyYS1hMWY3ZDk0ODllNjCkY29kZdoCy2JlZ2luCglta3RlbXBkaXIoKSBkbyBkCgkJamF2YXNjcmlwdF9wYXRoID0gam9pbnBhdGgoZCwgInNjcmlwdC5qcyIpCgkJY3NzX3BhdGggPSBqb2lucGF0aChkLCAic3R5bGUuY3NzIikKCQlodG1sX3BhdGggPSBqb2lucGF0aChkLCAiaW5kZXguaGh0bWwiKQoJCQoJCXdyaXRlKGphdmFzY3JpcHRfcGF0aCwgamF2YXNjcmlwdF9zb3VyY2UpCgkJd3JpdGUoY3NzX3BhdGgsIGNzc19zb3VyY2UpCgkKCQlodG1sX3NvdXJjZSA9IEBodGwgIiIiCgkJPGh0bWwgbGFuZz0iZW4iPgoJCTxoZWFkPgoJCSAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgoJCSAgPHRpdGxlPkhlbGxvIFdvcmxkIEV4YW1wbGU8L3RpdGxlPgoJCSAgPCEtLSBMaW5rIHRoZSBleHRlcm5hbCBDU1MgZmlsZSAtLT4KCQkgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iJChMb2NhbFJlc291cmNlKGNzc19wYXRoKS5zcmMpIj4KCQk8L2hlYWQ+CgkJPGJvZHk+CgkJICA8IS0tIEEgaGVhZGluZyBlbGVtZW50IHRvIGRpc3BsYXkgdGV4dCAtLT4KCQkgIDxoMSBpZD0iaGVsbG8iPkhlbGxvIGZyb20gSFRNTDwvaDE+CgkJCgkJICA8IS0tIFJlZmVyZW5jZSB0aGUgZXh0ZXJuYWwgSmF2YVNjcmlwdCBmaWxlIC0tPgoJCSA8c2NyaXB0IHNyYz0iJChMb2NhbFJlc291cmNlKGphdmFzY3JpcHRfcGF0aCkuc3JjKSI+PC9zY3JpcHQ+CgkJPC9ib2R5PgoJCTwvaHRtbD4KCSAgICAiIiIKCWVuZAplbmSobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMPZJDU0MWE0N2FiLWEyMzMtNDZjNi04ZjE0LTQyMjgzNTkxZjYxZoSnY2VsbF9pZNkkNTQxYTQ3YWItYTIzMy00NmM2LThmMTQtNDIyODM1OTFmNjFmpGNvZGXaATBtZCIiIgpUaGlzIG5vdGVib29rIGludHJvZHVjZXMgdGhlIFBsdXRvTW9uYWNvRWRpdG9yIHBhY2thZ2UuIEl0IGJyaW5ncyBhIHJpY2gsIFZTIENvZGXigJNsaWtlIGVkaXRvciBpbnRvIHRoZSBQbHV0byBub3RlYm9vayBlY29zeXN0ZW0uIEFzIGFuIGV4YW1wbGUsIHRoaXMgbm90ZWJvb2sgYWxsb2NhdGVzIGRlZGljYXRlZCBlZGl0aW5nIGFyZWFzIGZvciBDU1MgYW5kIEphdmFTY3JpcHQsIHByb3ZpZGluZyB1c2VycyB3aXRoIGEgcGxheWdyb3VuZCB3aGVyZSB0aGV5IGNhbiBleHBlcmltZW50IGFuZCBtb2RpZnkgY29kZS4KIiIiqG1ldGFkYXRhg6lzaG93X2xvZ3PDqGRpc2FibGVkwq5za2lwX2FzX3NjcmlwdMKrY29kZV9mb2xkZWTD2SRiZDc4ZGYzYy1mNTcxLTExZWYtMDQyZi0xMTdlMjVhMDUxN2aEp2NlbGxfaWTZJGJkNzhkZjNjLWY1NzEtMTFlZi0wNDJmLTExN2UyNWEwNTE3ZqRjb2Rl2WxiZWdpbgoJdXNpbmcgUGx1dG9Nb25hY29FZGl0b3I6IE1vbmFjb0VkaXRvcgoJdXNpbmcgUGx1dG9VSTogTG9jYWxSZXNvdXJjZQoJdXNpbmcgSHlwZXJ0ZXh0TGl0ZXJhbDogQGh0bAplbmSobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMLZJGI4Y2ViMjMxLTg4ZGMtNDM5NC1iMTM0LTE5OTc0YjViMWZjM4SnY2VsbF9pZNkkYjhjZWIyMzEtODhkYy00Mzk0LWIxMzQtMTk5NzRiNWIxZmMzpGNvZGW+bWQiIiIKIyMgSmF2YVNjcmlwdCBlZGl0b3IKIiIiqG1ldGFkYXRhg6lzaG93X2xvZ3PDqGRpc2FibGVkwq5za2lwX2FzX3NjcmlwdMKrY29kZV9mb2xkZWTD2SQ2NzE2OTkyMi1iYWI2LTQxYjMtYmM2ZC0zZThmOTI1YWU4MjiEp2NlbGxfaWTZJDY3MTY5OTIyLWJhYjYtNDFiMy1iYzZkLTNlOGY5MjVhZTgyOKRjb2Rl2gEIbWQiIiIKIyMgSFRNTCBPdXRwdXQKCklmIHlvdSByZXBsYWNlIGBjb2xvcjogZ3JlZW5gIHdpdGggYGNvbG9yOiByZWRgLCBpbiB0aGUgQ1NTIGVkaXRvciwgaXQgd2lsbCBvdXRwdXQgYSByZWQtY29sb3JlZCB0ZXh0ICJIZWxsbyBXb3JsZCBmcm9tIEphdmFTY3JpcHQiLgoKSWYgeW91IHVwZGF0ZSB0aGUgdmFyaWFibGUgYG15VGV4dENvbnRlbnRgIGluIHRoZSBKYXZhU2NyaXB0IGVkaXRvciwgdGhlIGZvbGxvd2luZyB0ZXh0IHdpbGwgYmUgdXBkYXRlZC4KIiIiqG1ldGFkYXRhg6lzaG93X2xvZ3PDqGRpc2FibGVkwq5za2lwX2FzX3NjcmlwdMKrY29kZV9mb2xkZWTDq25vdGVib29rX2lk2SQ2ZWM0YjRmOC0zODM0LTExZjAtMTQ1NC05ZDBjMWNhMDVmNTaraW5fdGVtcF9kaXLCqG1ldGFkYXRhgA=="; | |
window.pluto_preamble_html = undefined; | |
</script> | |
<meta name="pluto-insertion-spot-parameters"> | |
<script src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.0fd8de4e.js" type="module" defer></script><script src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/index.11569726.js"></script><link rel="pluto-external-source" id="MathJax-script" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/tex-svg-full.f72d1ae1.js" type="text/javascript"> | |
<meta name="pluto-insertion-spot-preload"> | |
</head><body class="no-MαθJax"> <div style="min-height:100vh;display:flex"> <pluto-editor class="fullscreen loading"> <progress style="filter:grayscale()" class="delete-me-when-live statefile-fetch-progress" max="100"></progress> </pluto-editor> </div> </body></html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Page: https://htmlview.glitch.me/?https://gist.github.com/terasakisatoshi/4140f8d7a56d6f404856421233de967b#file-monaco_editor_demo-html